Consolidated CDA (C-CDA)
4.0.0-ballot - STU4 Ballot United States of America flag

Consolidated CDA (C-CDA), published by Health Level Seven. This guide is not an authorized publication; it is the continuous build for version 4.0.0-ballot built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/CDA-ccda/ and changes regularly. See the Directory of published versions

Logical Model: VitalSignObservation - Detailed Descriptions

Draft as of 2024-12-19

Definitions for the VitalSignObservation logical model.

Guidance on how to interpret the contents of this table can be found here

0. Observation
Logical ContainerClinicalDocument (CDA Class)
ValidationInstance of this type are validated by templateId
XML FormatIn the XML format, this property has the namespace urn:hl7-org:v3.
Invariantsshould-text-ref-value: SHOULD contain text/reference/@value (text.reference.value.exists())
should-code: SHOULD contain code (code.exists())
should-author: SHOULD contain author (author.exists())
should-percent: Percentage codes (PulseOx, O2 Concentration, Percentiles) should be represented with % ((code.code in ('2708-6' | '3150-0' | '59408-5' | '8289-1' | '59575-1' | '59576-9')) implies value.unit = '%')
should-cm: Height & Head Circumference should be represented in cm ((code.code in ('8287-5' | '8302-2' | '8306-3' | '9843-4')) implies value.unit = 'cm')
should-kg: Weight should be represented in kg ((code.code = '29463-7') implies value.unit = 'kg')
should-cel: Temperature should be represented in Celcius (Cel) ((code.code = '8310-5') implies value.unit = 'Cel')
should-bp: Blood pressure should be represented in mm[Hg] ((code.code in ('8480-6' | '8462-4' | '8478-0' | '96608-5' | '96609-3')) implies value.unit = 'mm[Hg]')
should-rates: Rates should be represented in /min ((code.code in ('8867-4' | '9279-1')) implies value.unit = '/min')
should-bmi: BMI should be represented in kg/m2 ((code.code = '39156-5') implies value.unit = 'kg/m2')
should-bsa: BSA should be represented in m2 ((code.code = '3140-1') implies value.unit = 'm2')
2. Observation.templateId
Control1..?
SlicingThis element introduces a set of slices on Observation.templateId. The slices areUnordered and Open, and can be differentiated using the following discriminators:
  • value @ root
  • value @ extension
  • 4. Observation.templateId:vital-sign-obs
    Slice Namevital-sign-obs
    Control1..1
    6. Observation.templateId:vital-sign-obs.root
    Control1..?
    Pattern Value2.16.840.1.113883.10.20.22.4.27
    8. Observation.templateId:vital-sign-obs.extension
    Control1..?
    Pattern Value2014-06-09
    10. Observation.classCode
    Comments

    SHALL contain exactly one [1..1] @classCode="OBS" Observation (CodeSystem: HL7ActClass urn:oid:2.16.840.1.113883.5.6 STATIC) (CONF:1098-7297).

    Fixed ValueOBS
    12. Observation.moodCode
    Comments

    SHALL contain exactly one [1..1] @moodCode="EVN" Event (CodeSystem: HL7ActMood urn:oid:2.16.840.1.113883.5.1001 STATIC) (CONF:1098-7298).

    Fixed ValueEVN
    14. Observation.id
    Comments

    SHALL contain at least one [1..*] id (CONF:1098-7300).

    Control1..?
    16. Observation.code
    Comments

    SHALL contain exactly one [1..1] code (CONF:1098-7301).

    18. Observation.code.code
    Comments

    This code SHOULD contain zero or one [0..1] @code, which SHOULD be selected from ValueSet Vital Sign Result Type urn:oid:2.16.840.1.113883.3.88.12.80.62 DYNAMIC (CONF:1098-32934).

    BindingThe codes SHOULD be taken from Vital Sign Result Type .
    (preferred to http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.88.12.80.62)
    20. Observation.text
    ShortSHOULD reference the portion of section narrative text corresponding to this entry
    22. Observation.text.reference
    Invariantsvalue-starts-octothorpe: If reference/@value is present, it SHALL begin with a '#' and SHALL point to its corresponding narrative (value.exists() implies value.startsWith('#'))
    24. Observation.statusCode
    Comments

    SHALL contain exactly one [1..1] statusCode (CONF:1098-7303).

    Control1..?
    26. Observation.statusCode.code
    Comments

    This statusCode SHALL contain exactly one [1..1] @code="completed" Completed (CodeSystem: HL7ActStatus urn:oid:2.16.840.1.113883.5.14 STATIC) (CONF:1098-19119).

    Control1..?
    Fixed Valuecompleted
    28. Observation.effectiveTime
    Comments

    SHALL contain exactly one [1..1] effectiveTime (CONF:1098-7304).

    Control1..?
    30. Observation.value
    Comments

    SHALL contain exactly one [1..1] value with @xsi:type="PQ" (CONF:1098-7305).

    Control1..1
    Typehttp://hl7.org/cda/stds/core/StructureDefinition/PQ, http://hl7.org/cda/stds/core/StructureDefinition/EIVL-TS, http://hl7.org/cda/stds/core/StructureDefinition/CO, http://hl7.org/cda/stds/core/StructureDefinition/TEL, http://hl7.org/cda/stds/core/StructureDefinition/EN, http://hl7.org/cda/stds/core/StructureDefinition/BL, http://hl7.org/cda/stds/core/StructureDefinition/AD, http://hl7.org/cda/stds/core/StructureDefinition/PIVL-TS, http://hl7.org/cda/stds/core/StructureDefinition/RTO-PQ-PQ, http://hl7.org/cda/stds/core/StructureDefinition/SXPR-TS, http://hl7.org/cda/stds/core/StructureDefinition/ED, http://hl7.org/cda/stds/core/StructureDefinition/TS, http://hl7.org/cda/stds/core/StructureDefinition/II, http://hl7.org/cda/stds/core/StructureDefinition/ST, http://hl7.org/cda/stds/core/StructureDefinition/CD, http://hl7.org/cda/stds/core/StructureDefinition/IVL-PQ, http://hl7.org/cda/stds/core/StructureDefinition/CE, http://hl7.org/cda/stds/core/StructureDefinition/MO, http://hl7.org/cda/stds/core/StructureDefinition/IVL-TS, http://hl7.org/cda/stds/core/StructureDefinition/ANY, http://hl7.org/cda/stds/core/StructureDefinition/INT, http://hl7.org/cda/stds/core/StructureDefinition/REAL, http://hl7.org/cda/stds/core/StructureDefinition/CV, http://hl7.org/cda/stds/core/StructureDefinition/SC
    32. Observation.value.unit
    ShortNOTE: The base CDA R2.0 standard requires @unit to be drawn from UCUM, and best practice is to use case sensitive UCUM units
    Comments

    This value SHALL contain exactly one [1..1] @unit, which SHALL be selected from ValueSet UnitsOfMeasureCaseSensitive urn:oid:2.16.840.1.113883.1.11.12839 DYNAMIC (CONF:1098-31579). Use a default of 1 for @unit when @nullFlavor is present.

    Control1..?
    BindingThe codes SHALL be taken from UnitsOfMeasureCaseSensitive
    (required to http://terminology.hl7.org/ValueSet/v3-UnitsOfMeasureCaseSensitive)
    34. Observation.interpretationCode
    Comments

    MAY contain zero or one [0..1] interpretationCode (CONF:1098-7307).

    Control0..1
    36. Observation.methodCode
    Comments

    MAY contain zero or one [0..1] methodCode (CONF:1098-7308).

    Control0..1
    38. Observation.targetSiteCode
    Comments

    MAY contain zero or one [0..1] targetSiteCode (CONF:1098-7309).

    Control0..1
    40. Observation.author
    Comments

    SHOULD contain zero or more [0..*] Author Participation (identifier: urn:oid:2.16.840.1.113883.10.20.22.4.119) (CONF:1098-7310).

    Typehttp://hl7.org/cda/stds/core/StructureDefinition/Author(Author Participation)