This page is part of the FHIR Specification (v4.4.0: R5 Preview #2). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3
Orders and Observations Work Group | Maturity Level: 5 | Trial Use | Use Context: Any |
The official URL for this profile is:
http://hl7.org/fhir/StructureDefinition/vitalsigns
FHIR Vital Signs Profile
This profile was published on Fri, Mar 25, 2016 00:00+1100 as a draft by Health Level Seven International (Orders and Observations Workgroup).
Description of Profiles, Differentials, Snapshots, and how the XML and JSON presentations work.
This structure is derived from Observation.
Summary
"#### Complete Summary of the Mandatory Requirements
One status in Observation.status
which has a required binding to:
A category in Observation.category
which must have:
Observation.category.coding.system
="http://terminology.hl7.org/CodeSystem/observation-category"Observation.category.coding.code
= "vital-signs"A code in Observation.code
Observation.code.coding.system
= "http://loinc.org""Observation.code.coding.code
which has an extensible binding to:
One patient in Observation.subject
A date and time in effectiveDateTime
or effectivePeriod
Either one Observation.value[x]
or, if there is no value, one code in Observation.DataAbsentReason
When using a panel code to group component observations (Note: See
the comments regarding blood pressure in the table above), one or
more Observation.component.code
each of which must have:
Observation.component.code.coding.system
=""http://loinc.org""
Observation.code.coding.code
which has an extensible binding to:
Either one Observation.component.valueQuantity
or, if there is
no value, one code in Observation.component.DataAbsentReason
When using a panel code to group observations, one or more reference
to Vitals Signs Observations in Observation.related.target
Observation.related.type
= "has-member""Mandatory: 9 elements (+1 nested mandatory element)
Must-Support: 15 elements
Fixed Value: 2 elements
Slices
This structure defines the following Slices:
This structure is derived from Observation.
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | I | 0..* | Observation | FHIR Vital Signs Profile |
status | S | 1..1 | code | registered | preliminary | final | amended + Binding: ObservationStatus (required) |
category | S | 1..* | (Slice Definition) | Classification of type of observation Slice: Unordered, Open by value:coding.code, value:coding.system |
category:VSCat | S | 1..1 | CodeableConcept | Classification of type of observation |
coding | S | 1..* | Coding | Code defined by a terminology system |
system | S | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category |
code | S | 1..1 | code | Symbol in syntax defined by the system Fixed Value: vital-signs |
code | S | 1..1 | CodeableConcept | Coded Responses from C-CDA Vital Sign Results Binding: Vital Signs (extensible) |
subject | S | 1..1 | Reference(Patient) | Who and/or what the observation is about |
effective[x] | SI | 1..1 | Often just a dateTime for Vital Signs | |
effectiveDateTime | dateTime | |||
effectivePeriod | Period | |||
value[x] | SI | 0..1 | Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period, Attachment | Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. |
dataAbsentReason | SI | 0..1 | CodeableConcept | Why the result is missing |
hasMember | 0..* | Reference(QuestionnaireResponse | MolecularSequence | Vital Signs Profile) | Used when reporting vital signs panel components | |
derivedFrom | 0..* | Reference(DocumentReference | ImagingStudy | QuestionnaireResponse | MolecularSequence | Vital Signs Profile) | Related measurements the observation is made from | |
component | SI | 0..* | BackboneElement | Used when reporting systolic and diastolic blood pressure. |
code | S | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: Vital Signs (extensible) |
value[x] | SI | 0..1 | Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period, Attachment | Vital Sign Value recorded with UCUM Binding: Vital Signs Units (required) |
dataAbsentReason | SI | 0..1 | CodeableConcept | Why the component result is missing |
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | I | 0..* | Observation | FHIR Vital Signs Profile |
id | Σ | 0..1 | id | Logical id of this artifact |
meta | ΣI | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!ΣI | 0..1 | uri | A set of rules under which this content was created |
language | I | 0..1 | code | Language of the resource content Binding: Common Languages (preferred) Max Binding: All Languages |
text | I | 0..1 | Narrative | Text summary of the resource, for human interpretation |
contained | 0..* | Resource | Contained, inline Resources | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!I | 0..* | Extension | Extensions that cannot be ignored |
identifier | ΣI | 0..* | Identifier | Business Identifier for observation |
basedOn | ΣI | 0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) | Fulfills plan, proposal or order |
partOf | ΣI | 0..* | Reference(MedicationAdministration | MedicationDispense | MedicationUsage | Procedure | Immunization | ImagingStudy) | Part of referenced event |
status | ?!SΣI | 1..1 | code | registered | preliminary | final | amended + Binding: ObservationStatus (required) |
category | SI | 1..* | (Slice Definition) | Classification of type of observation Slice: Unordered, Open by value:coding.code, value:coding.system Binding: Observation Category Codes (preferred) |
category:VSCat | SI | 1..1 | CodeableConcept | Classification of type of observation Binding: Observation Category Codes (preferred) |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
coding | SΣI | 1..* | Coding | Code defined by a terminology system |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
system | SΣI | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category |
version | ΣI | 0..1 | string | Version of the system - if relevant |
code | SΣI | 1..1 | code | Symbol in syntax defined by the system Fixed Value: vital-signs |
display | ΣI | 0..1 | string | Representation defined by the system |
userSelected | ΣI | 0..1 | boolean | If this coding was chosen directly by the user |
text | ΣI | 0..1 | string | Plain text representation of the concept |
code | SΣI | 1..1 | CodeableConcept | Coded Responses from C-CDA Vital Sign Results Binding: Vital Signs (extensible) |
subject | SΣI | 1..1 | Reference(Patient) | Who and/or what the observation is about |
focus | ΣI | 0..* | Reference(Resource) | What the observation is about, when it is not about the subject of record |
encounter | ΣI | 0..1 | Reference(Encounter) | Healthcare event during which this observation is made |
effective[x] | SΣI | 1..1 | Often just a dateTime for Vital Signs | |
effectiveDateTime | dateTime | |||
effectivePeriod | Period | |||
issued | ΣI | 0..1 | instant | Date/Time this version was made available |
performer | ΣI | 0..* | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson) | Who is responsible for the observation |
value[x] | SΣI | 0..1 | Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. | |
valueQuantity | Quantity | |||
valueCodeableConcept | CodeableConcept | |||
valueString | string | |||
valueBoolean | boolean | |||
valueInteger | integer | |||
valueRange | Range | |||
valueRatio | Ratio | |||
valueSampledData | SampledData | |||
valueTime | time | |||
valueDateTime | dateTime | |||
valuePeriod | Period | |||
valueAttachment | Attachment | |||
dataAbsentReason | SI | 0..1 | CodeableConcept | Why the result is missing Binding: DataAbsentReason (extensible) |
interpretation | I | 0..* | CodeableConcept | High, low, normal, etc. Binding: Observation Interpretation Codes (extensible) |
note | I | 0..* | Annotation | Comments about the observation |
bodySite | I | 0..1 | CodeableConcept | Observed body part Binding: SNOMED CT Body Structures (example) |
method | I | 0..1 | CodeableConcept | How it was done Binding: Observation Methods (example) |
specimen | I | 0..1 | Reference(Specimen) | Specimen used for this observation |
device | I | 0..1 | Reference(Device | DeviceMetric) | (Measurement) Device |
referenceRange | I | 0..* | BackboneElement | Provides guide for interpretation |
id | 0..1 | id | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
low | I | 0..1 | SimpleQuantity | Low Range, if relevant |
high | I | 0..1 | SimpleQuantity | High Range, if relevant |
type | I | 0..1 | CodeableConcept | Reference range qualifier Binding: Observation Reference Range Meaning Codes (preferred) |
appliesTo | I | 0..* | CodeableConcept | Reference range population Binding: Observation Reference Range Applies To Codes (example) |
age | I | 0..1 | Range | Applicable age range, if relevant |
text | I | 0..1 | string | Text based reference range in an observation |
hasMember | ΣI | 0..* | Reference(QuestionnaireResponse | MolecularSequence | Vital Signs Profile) | Used when reporting vital signs panel components |
derivedFrom | ΣI | 0..* | Reference(DocumentReference | ImagingStudy | QuestionnaireResponse | MolecularSequence | Vital Signs Profile) | Related measurements the observation is made from |
component | SΣI | 0..* | BackboneElement | Used when reporting systolic and diastolic blood pressure. |
id | 0..1 | id | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
code | SΣI | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: Vital Signs (extensible) |
value[x] | SΣI | 0..1 | Vital Sign Value recorded with UCUM Binding: Vital Signs Units (required) | |
valueQuantity | Quantity | |||
valueCodeableConcept | CodeableConcept | |||
valueString | string | |||
valueBoolean | boolean | |||
valueInteger | integer | |||
valueRange | Range | |||
valueRatio | Ratio | |||
valueSampledData | SampledData | |||
valueTime | time | |||
valueDateTime | dateTime | |||
valuePeriod | Period | |||
valueAttachment | Attachment | |||
dataAbsentReason | SI | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible) |
interpretation | I | 0..* | CodeableConcept | High, low, normal, etc. Binding: Observation Interpretation Codes (extensible) |
referenceRange | I | 0..* | Unknown reference to #Observation.referenceRange Provides guide for interpretation of component result | |
Documentation for this format |
<!-- observation-vitalsigns --> <Observation xmlns="http://hl7.org/fhir" > <!-- from Element: extension --> <id value="[id]"/><!-- 0..1 Logical id of this artifact --> <meta><!-- 0..1 Meta Metadata about the resource --></meta> <implicitRules value="[uri]"/><!-- 0..1 A set of rules under which this content was created --> <language value="[code]"/><!-- 0..1 Language of the resource content --> <text><!-- 0..1 Narrative Text summary of the resource, for human interpretation --></text> <contained><!-- 0..* Resource Contained, inline Resources --></contained> <modifierExtension><!-- 0..* Extension Extensions that cannot be ignored --></modifierExtension> <identifier><!-- 0..* Identifier Business Identifier for observation --></identifier> <basedOn><!-- 0..* Reference(CarePlan) Fulfills plan, proposal or order --></basedOn> <partOf><!-- 0..* Reference(MedicationAdministration) Part of referenced event --></partOf> <status value="[code]"/><!-- 1..1 registered | preliminary | final | amended + --> <-- category sliced by value:coding.code, value:coding.system in the specified orderOpen--> <category> 1..1 CodeableConcept <!-- 1..1 Classification of type of observation --> <coding> 1..* Coding <!-- 1..* Code defined by a terminology system --> <system value="[uri]"/><!-- 1..1 Identity of the terminology system --> <version value="[string]"/><!-- 0..1 Version of the system - if relevant --> <code value="[code]"/><!-- 1..1 Symbol in syntax defined by the system --> <display value="[string]"/><!-- 0..1 Representation defined by the system --> <userSelected value="[boolean]"/><!-- 0..1 If this coding was chosen directly by the user --> </coding> <text value="[string]"/><!-- 0..1 Plain text representation of the concept --> </category> <code><!-- 1..1 CodeableConcept Coded Responses from C-CDA Vital Sign Results --></code> <subject><!-- 1..1 Reference(Patient) Who and/or what the observation is about --></subject> <focus><!-- 0..* Reference(Resource) What the observation is about, when it is not about the subject of record --></focus> <encounter><!-- 0..1 Reference(Encounter) Healthcare event during which this observation is made --></encounter> <effective[x]><!-- 1..1 dateTime|Period Often just a dateTime for Vital Signs --></effective[x]> <issued value="[instant]"/><!-- 0..1 Date/Time this version was made available --> <performer><!-- 0..* Reference(Practitioner) Who is responsible for the observation --></performer> <value[x]><!-- 0..1 Quantity|CodeableConcept|string|boolean|integer| Range|Ratio|SampledData|time|dateTime|Period|Attachment Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. --></value[x]> <dataAbsentReason><!-- 0..1 CodeableConcept Why the result is missing --></dataAbsentReason> <interpretation><!-- 0..* CodeableConcept High, low, normal, etc. --></interpretation> <note><!-- 0..* Annotation Comments about the observation --></note> <bodySite><!-- 0..1 CodeableConcept Observed body part --></bodySite> <method><!-- 0..1 CodeableConcept How it was done --></method> <specimen><!-- 0..1 Reference(Specimen) Specimen used for this observation --></specimen> <device><!-- 0..1 Reference(Device) (Measurement) Device --></device> <referenceRange> 0..* BackboneElement <!-- 0..* Provides guide for interpretation --> <modifierExtension><!-- 0..* Extension Extensions that cannot be ignored even if unrecognized --></modifierExtension> <low><!-- 0..1 Quantity Low Range, if relevant --></low> <high><!-- 0..1 Quantity High Range, if relevant --></high> <type><!-- 0..1 CodeableConcept Reference range qualifier --></type> <appliesTo><!-- 0..* CodeableConcept Reference range population --></appliesTo> <age><!-- 0..1 Range Applicable age range, if relevant --></age> <text value="[string]"/><!-- 0..1 Text based reference range in an observation --> </referenceRange> <hasMember><!-- 0..* Reference(QuestionnaireResponse) Used when reporting vital signs panel components --></hasMember> <derivedFrom><!-- 0..* Reference(DocumentReference) Related measurements the observation is made from --></derivedFrom> <component> 0..* BackboneElement <!-- 0..* Used when reporting systolic and diastolic blood pressure. --> <modifierExtension><!-- 0..* Extension Extensions that cannot be ignored even if unrecognized --></modifierExtension> <code><!-- 1..1 CodeableConcept Type of component observation (code / type) --></code> <value[x]><!-- 0..1 Quantity|CodeableConcept|string| boolean|integer|Range|Ratio|SampledData|time|dateTime|Period|Attachment Vital Sign Value recorded with UCUM --></value[x]> <dataAbsentReason><!-- 0..1 CodeableConcept Why the component result is missing --></dataAbsentReason> <interpretation><!-- 0..* CodeableConcept High, low, normal, etc. --></interpretation> <referenceRange><!-- See #Observation.referenceRange Provides guide for interpretation of component result --></referenceRange> </component> </Observation>
{ // observation-vitalsigns // from Element: extension "meta" : { Meta }, // C?Metadata about the resource "implicitRules" : "<uri>", // C?A set of rules under which this content was created "language" : "<code>", // C?Language of the resource content "text" : { Narrative }, // C?Text summary of the resource, for human interpretation "contained" : [{ Resource }], //Contained, inline Resources "modifierExtension" : [{ Extension }], // C?Extensions that cannot be ignored "identifier" : [{ Identifier }], // C?Business Identifier for observation "basedOn" : [{ Reference(CarePlan) }], // C?Fulfills plan, proposal or order "partOf" : [{ Reference(MedicationAdministration) }], // C?Part of referenced event "status" : "<code>", // C? R! registered | preliminary | final | amended + "category" : [ // sliced by value:coding.code, value:coding.system in the specified order, Open { // Classification of type of observation // C? R! // from Element: extension "extension" : [ // sliced by value:url in the specified order, Open ] "coding" : [{ Coding }], // C? R! Code defined by a terminology system "text" : "<string>" // C?Plain text representation of the concept } ], "code" : { CodeableConcept }, // C? R! Coded Responses from C-CDA Vital Sign Results "subject" : { Reference(Patient) }, // C? R! Who and/or what the observation is about "focus" : [{ Reference(Resource) }], // C?What the observation is about, when it is not about the subject of record "encounter" : { Reference(Encounter) }, // C?Healthcare event during which this observation is made // value[x]: Often just a dateTime for Vital Signs. One of these 2: "effectiveDateTime" : "<dateTime>", // C? R! Often just a dateTime for Vital Signs "effectivePeriod" : { Period }, // C? R! Often just a dateTime for Vital Signs "issued" : "<instant>", // C?Date/Time this version was made available "performer" : [{ Reference(Practitioner) }], // C?Who is responsible for the observation // value[x]: Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept.. One of these 12: "valueQuantity" : { Quantity }, // C?Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. "valueCodeableConcept" : { CodeableConcept }, // C?Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. "valueString" : "<string>", // C?Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. "valueBoolean" : <boolean>, // C?Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. "valueInteger" : <integer>, // C?Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. "valueRange" : { Range }, // C?Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. "valueRatio" : { Ratio }, // C?Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. "valueSampledData" : { SampledData }, // C?Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. "valueTime" : "<time>", // C?Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. "valueDateTime" : "<dateTime>", // C?Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. "valuePeriod" : { Period }, // C?Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. "valueAttachment" : { Attachment } // C?Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. "dataAbsentReason" : { CodeableConcept }, // C?Why the result is missing "interpretation" : [{ CodeableConcept }], // C?High, low, normal, etc. "note" : [{ Annotation }], // C?Comments about the observation "bodySite" : { CodeableConcept }, // C?Observed body part "method" : { CodeableConcept }, // C?How it was done "specimen" : { Reference(Specimen) }, // C?Specimen used for this observation "device" : { Reference(Device) }, // C?(Measurement) Device "referenceRange" : [{ BackboneElement }], // C?Provides guide for interpretation "hasMember" : [{ Reference(QuestionnaireResponse) }], // C?Used when reporting vital signs panel components "derivedFrom" : [{ Reference(DocumentReference) }], // C?Related measurements the observation is made from "component" : [{ BackboneElement }], // C?Used when reporting systolic and diastolic blood pressure. }
This structure is derived from Observation.
Summary
"#### Complete Summary of the Mandatory Requirements
One status in Observation.status
which has a required binding to:
A category in Observation.category
which must have:
Observation.category.coding.system
="http://terminology.hl7.org/CodeSystem/observation-category"Observation.category.coding.code
= "vital-signs"A code in Observation.code
Observation.code.coding.system
= "http://loinc.org""Observation.code.coding.code
which has an extensible binding to:
One patient in Observation.subject
A date and time in effectiveDateTime
or effectivePeriod
Either one Observation.value[x]
or, if there is no value, one code in Observation.DataAbsentReason
When using a panel code to group component observations (Note: See
the comments regarding blood pressure in the table above), one or
more Observation.component.code
each of which must have:
Observation.component.code.coding.system
=""http://loinc.org""
Observation.code.coding.code
which has an extensible binding to:
Either one Observation.component.valueQuantity
or, if there is
no value, one code in Observation.component.DataAbsentReason
When using a panel code to group observations, one or more reference
to Vitals Signs Observations in Observation.related.target
Observation.related.type
= "has-member""Mandatory: 9 elements (+1 nested mandatory element)
Must-Support: 15 elements
Fixed Value: 2 elements
Slices
This structure defines the following Slices:
Differential View
This structure is derived from Observation.
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | I | 0..* | Observation | FHIR Vital Signs Profile |
status | S | 1..1 | code | registered | preliminary | final | amended + Binding: ObservationStatus (required) |
category | S | 1..* | (Slice Definition) | Classification of type of observation Slice: Unordered, Open by value:coding.code, value:coding.system |
category:VSCat | S | 1..1 | CodeableConcept | Classification of type of observation |
coding | S | 1..* | Coding | Code defined by a terminology system |
system | S | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category |
code | S | 1..1 | code | Symbol in syntax defined by the system Fixed Value: vital-signs |
code | S | 1..1 | CodeableConcept | Coded Responses from C-CDA Vital Sign Results Binding: Vital Signs (extensible) |
subject | S | 1..1 | Reference(Patient) | Who and/or what the observation is about |
effective[x] | SI | 1..1 | Often just a dateTime for Vital Signs | |
effectiveDateTime | dateTime | |||
effectivePeriod | Period | |||
value[x] | SI | 0..1 | Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period, Attachment | Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. |
dataAbsentReason | SI | 0..1 | CodeableConcept | Why the result is missing |
hasMember | 0..* | Reference(QuestionnaireResponse | MolecularSequence | Vital Signs Profile) | Used when reporting vital signs panel components | |
derivedFrom | 0..* | Reference(DocumentReference | ImagingStudy | QuestionnaireResponse | MolecularSequence | Vital Signs Profile) | Related measurements the observation is made from | |
component | SI | 0..* | BackboneElement | Used when reporting systolic and diastolic blood pressure. |
code | S | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: Vital Signs (extensible) |
value[x] | SI | 0..1 | Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period, Attachment | Vital Sign Value recorded with UCUM Binding: Vital Signs Units (required) |
dataAbsentReason | SI | 0..1 | CodeableConcept | Why the component result is missing |
Documentation for this format |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | I | 0..* | Observation | FHIR Vital Signs Profile |
id | Σ | 0..1 | id | Logical id of this artifact |
meta | ΣI | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!ΣI | 0..1 | uri | A set of rules under which this content was created |
language | I | 0..1 | code | Language of the resource content Binding: Common Languages (preferred) Max Binding: All Languages |
text | I | 0..1 | Narrative | Text summary of the resource, for human interpretation |
contained | 0..* | Resource | Contained, inline Resources | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!I | 0..* | Extension | Extensions that cannot be ignored |
identifier | ΣI | 0..* | Identifier | Business Identifier for observation |
basedOn | ΣI | 0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) | Fulfills plan, proposal or order |
partOf | ΣI | 0..* | Reference(MedicationAdministration | MedicationDispense | MedicationUsage | Procedure | Immunization | ImagingStudy) | Part of referenced event |
status | ?!SΣI | 1..1 | code | registered | preliminary | final | amended + Binding: ObservationStatus (required) |
category | SI | 1..* | (Slice Definition) | Classification of type of observation Slice: Unordered, Open by value:coding.code, value:coding.system Binding: Observation Category Codes (preferred) |
category:VSCat | SI | 1..1 | CodeableConcept | Classification of type of observation Binding: Observation Category Codes (preferred) |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
coding | SΣI | 1..* | Coding | Code defined by a terminology system |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
system | SΣI | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category |
version | ΣI | 0..1 | string | Version of the system - if relevant |
code | SΣI | 1..1 | code | Symbol in syntax defined by the system Fixed Value: vital-signs |
display | ΣI | 0..1 | string | Representation defined by the system |
userSelected | ΣI | 0..1 | boolean | If this coding was chosen directly by the user |
text | ΣI | 0..1 | string | Plain text representation of the concept |
code | SΣI | 1..1 | CodeableConcept | Coded Responses from C-CDA Vital Sign Results Binding: Vital Signs (extensible) |
subject | SΣI | 1..1 | Reference(Patient) | Who and/or what the observation is about |
focus | ΣI | 0..* | Reference(Resource) | What the observation is about, when it is not about the subject of record |
encounter | ΣI | 0..1 | Reference(Encounter) | Healthcare event during which this observation is made |
effective[x] | SΣI | 1..1 | Often just a dateTime for Vital Signs | |
effectiveDateTime | dateTime | |||
effectivePeriod | Period | |||
issued | ΣI | 0..1 | instant | Date/Time this version was made available |
performer | ΣI | 0..* | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson) | Who is responsible for the observation |
value[x] | SΣI | 0..1 | Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. | |
valueQuantity | Quantity | |||
valueCodeableConcept | CodeableConcept | |||
valueString | string | |||
valueBoolean | boolean | |||
valueInteger | integer | |||
valueRange | Range | |||
valueRatio | Ratio | |||
valueSampledData | SampledData | |||
valueTime | time | |||
valueDateTime | dateTime | |||
valuePeriod | Period | |||
valueAttachment | Attachment | |||
dataAbsentReason | SI | 0..1 | CodeableConcept | Why the result is missing Binding: DataAbsentReason (extensible) |
interpretation | I | 0..* | CodeableConcept | High, low, normal, etc. Binding: Observation Interpretation Codes (extensible) |
note | I | 0..* | Annotation | Comments about the observation |
bodySite | I | 0..1 | CodeableConcept | Observed body part Binding: SNOMED CT Body Structures (example) |
method | I | 0..1 | CodeableConcept | How it was done Binding: Observation Methods (example) |
specimen | I | 0..1 | Reference(Specimen) | Specimen used for this observation |
device | I | 0..1 | Reference(Device | DeviceMetric) | (Measurement) Device |
referenceRange | I | 0..* | BackboneElement | Provides guide for interpretation |
id | 0..1 | id | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
low | I | 0..1 | SimpleQuantity | Low Range, if relevant |
high | I | 0..1 | SimpleQuantity | High Range, if relevant |
type | I | 0..1 | CodeableConcept | Reference range qualifier Binding: Observation Reference Range Meaning Codes (preferred) |
appliesTo | I | 0..* | CodeableConcept | Reference range population Binding: Observation Reference Range Applies To Codes (example) |
age | I | 0..1 | Range | Applicable age range, if relevant |
text | I | 0..1 | string | Text based reference range in an observation |
hasMember | ΣI | 0..* | Reference(QuestionnaireResponse | MolecularSequence | Vital Signs Profile) | Used when reporting vital signs panel components |
derivedFrom | ΣI | 0..* | Reference(DocumentReference | ImagingStudy | QuestionnaireResponse | MolecularSequence | Vital Signs Profile) | Related measurements the observation is made from |
component | SΣI | 0..* | BackboneElement | Used when reporting systolic and diastolic blood pressure. |
id | 0..1 | id | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
code | SΣI | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: Vital Signs (extensible) |
value[x] | SΣI | 0..1 | Vital Sign Value recorded with UCUM Binding: Vital Signs Units (required) | |
valueQuantity | Quantity | |||
valueCodeableConcept | CodeableConcept | |||
valueString | string | |||
valueBoolean | boolean | |||
valueInteger | integer | |||
valueRange | Range | |||
valueRatio | Ratio | |||
valueSampledData | SampledData | |||
valueTime | time | |||
valueDateTime | dateTime | |||
valuePeriod | Period | |||
valueAttachment | Attachment | |||
dataAbsentReason | SI | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible) |
interpretation | I | 0..* | CodeableConcept | High, low, normal, etc. Binding: Observation Interpretation Codes (extensible) |
referenceRange | I | 0..* | Unknown reference to #Observation.referenceRange Provides guide for interpretation of component result | |
Documentation for this format |
XML Template
<!-- observation-vitalsigns --> <Observation xmlns="http://hl7.org/fhir" > <!-- from Element: extension --> <id value="[id]"/><!-- 0..1 Logical id of this artifact --> <meta><!-- 0..1 Meta Metadata about the resource --></meta> <implicitRules value="[uri]"/><!-- 0..1 A set of rules under which this content was created --> <language value="[code]"/><!-- 0..1 Language of the resource content --> <text><!-- 0..1 Narrative Text summary of the resource, for human interpretation --></text> <contained><!-- 0..* Resource Contained, inline Resources --></contained> <modifierExtension><!-- 0..* Extension Extensions that cannot be ignored --></modifierExtension> <identifier><!-- 0..* Identifier Business Identifier for observation --></identifier> <basedOn><!-- 0..* Reference(CarePlan) Fulfills plan, proposal or order --></basedOn> <partOf><!-- 0..* Reference(MedicationAdministration) Part of referenced event --></partOf> <status value="[code]"/><!-- 1..1 registered | preliminary | final | amended + --> <-- category sliced by value:coding.code, value:coding.system in the specified orderOpen--> <category> 1..1 CodeableConcept <!-- 1..1 Classification of type of observation --> <coding> 1..* Coding <!-- 1..* Code defined by a terminology system --> <system value="[uri]"/><!-- 1..1 Identity of the terminology system --> <version value="[string]"/><!-- 0..1 Version of the system - if relevant --> <code value="[code]"/><!-- 1..1 Symbol in syntax defined by the system --> <display value="[string]"/><!-- 0..1 Representation defined by the system --> <userSelected value="[boolean]"/><!-- 0..1 If this coding was chosen directly by the user --> </coding> <text value="[string]"/><!-- 0..1 Plain text representation of the concept --> </category> <code><!-- 1..1 CodeableConcept Coded Responses from C-CDA Vital Sign Results --></code> <subject><!-- 1..1 Reference(Patient) Who and/or what the observation is about --></subject> <focus><!-- 0..* Reference(Resource) What the observation is about, when it is not about the subject of record --></focus> <encounter><!-- 0..1 Reference(Encounter) Healthcare event during which this observation is made --></encounter> <effective[x]><!-- 1..1 dateTime|Period Often just a dateTime for Vital Signs --></effective[x]> <issued value="[instant]"/><!-- 0..1 Date/Time this version was made available --> <performer><!-- 0..* Reference(Practitioner) Who is responsible for the observation --></performer> <value[x]><!-- 0..1 Quantity|CodeableConcept|string|boolean|integer| Range|Ratio|SampledData|time|dateTime|Period|Attachment Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. --></value[x]> <dataAbsentReason><!-- 0..1 CodeableConcept Why the result is missing --></dataAbsentReason> <interpretation><!-- 0..* CodeableConcept High, low, normal, etc. --></interpretation> <note><!-- 0..* Annotation Comments about the observation --></note> <bodySite><!-- 0..1 CodeableConcept Observed body part --></bodySite> <method><!-- 0..1 CodeableConcept How it was done --></method> <specimen><!-- 0..1 Reference(Specimen) Specimen used for this observation --></specimen> <device><!-- 0..1 Reference(Device) (Measurement) Device --></device> <referenceRange> 0..* BackboneElement <!-- 0..* Provides guide for interpretation --> <modifierExtension><!-- 0..* Extension Extensions that cannot be ignored even if unrecognized --></modifierExtension> <low><!-- 0..1 Quantity Low Range, if relevant --></low> <high><!-- 0..1 Quantity High Range, if relevant --></high> <type><!-- 0..1 CodeableConcept Reference range qualifier --></type> <appliesTo><!-- 0..* CodeableConcept Reference range population --></appliesTo> <age><!-- 0..1 Range Applicable age range, if relevant --></age> <text value="[string]"/><!-- 0..1 Text based reference range in an observation --> </referenceRange> <hasMember><!-- 0..* Reference(QuestionnaireResponse) Used when reporting vital signs panel components --></hasMember> <derivedFrom><!-- 0..* Reference(DocumentReference) Related measurements the observation is made from --></derivedFrom> <component> 0..* BackboneElement <!-- 0..* Used when reporting systolic and diastolic blood pressure. --> <modifierExtension><!-- 0..* Extension Extensions that cannot be ignored even if unrecognized --></modifierExtension> <code><!-- 1..1 CodeableConcept Type of component observation (code / type) --></code> <value[x]><!-- 0..1 Quantity|CodeableConcept|string| boolean|integer|Range|Ratio|SampledData|time|dateTime|Period|Attachment Vital Sign Value recorded with UCUM --></value[x]> <dataAbsentReason><!-- 0..1 CodeableConcept Why the component result is missing --></dataAbsentReason> <interpretation><!-- 0..* CodeableConcept High, low, normal, etc. --></interpretation> <referenceRange><!-- See #Observation.referenceRange Provides guide for interpretation of component result --></referenceRange> </component> </Observation>
JSON Template
{ // observation-vitalsigns // from Element: extension "meta" : { Meta }, // C?Metadata about the resource "implicitRules" : "<uri>", // C?A set of rules under which this content was created "language" : "<code>", // C?Language of the resource content "text" : { Narrative }, // C?Text summary of the resource, for human interpretation "contained" : [{ Resource }], //Contained, inline Resources "modifierExtension" : [{ Extension }], // C?Extensions that cannot be ignored "identifier" : [{ Identifier }], // C?Business Identifier for observation "basedOn" : [{ Reference(CarePlan) }], // C?Fulfills plan, proposal or order "partOf" : [{ Reference(MedicationAdministration) }], // C?Part of referenced event "status" : "<code>", // C? R! registered | preliminary | final | amended + "category" : [ // sliced by value:coding.code, value:coding.system in the specified order, Open { // Classification of type of observation // C? R! // from Element: extension "extension" : [ // sliced by value:url in the specified order, Open ] "coding" : [{ Coding }], // C? R! Code defined by a terminology system "text" : "<string>" // C?Plain text representation of the concept } ], "code" : { CodeableConcept }, // C? R! Coded Responses from C-CDA Vital Sign Results "subject" : { Reference(Patient) }, // C? R! Who and/or what the observation is about "focus" : [{ Reference(Resource) }], // C?What the observation is about, when it is not about the subject of record "encounter" : { Reference(Encounter) }, // C?Healthcare event during which this observation is made // value[x]: Often just a dateTime for Vital Signs. One of these 2: "effectiveDateTime" : "<dateTime>", // C? R! Often just a dateTime for Vital Signs "effectivePeriod" : { Period }, // C? R! Often just a dateTime for Vital Signs "issued" : "<instant>", // C?Date/Time this version was made available "performer" : [{ Reference(Practitioner) }], // C?Who is responsible for the observation // value[x]: Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept.. One of these 12: "valueQuantity" : { Quantity }, // C?Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. "valueCodeableConcept" : { CodeableConcept }, // C?Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. "valueString" : "<string>", // C?Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. "valueBoolean" : <boolean>, // C?Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. "valueInteger" : <integer>, // C?Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. "valueRange" : { Range }, // C?Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. "valueRatio" : { Ratio }, // C?Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. "valueSampledData" : { SampledData }, // C?Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. "valueTime" : "<time>", // C?Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. "valueDateTime" : "<dateTime>", // C?Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. "valuePeriod" : { Period }, // C?Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. "valueAttachment" : { Attachment } // C?Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. "dataAbsentReason" : { CodeableConcept }, // C?Why the result is missing "interpretation" : [{ CodeableConcept }], // C?High, low, normal, etc. "note" : [{ Annotation }], // C?Comments about the observation "bodySite" : { CodeableConcept }, // C?Observed body part "method" : { CodeableConcept }, // C?How it was done "specimen" : { Reference(Specimen) }, // C?Specimen used for this observation "device" : { Reference(Device) }, // C?(Measurement) Device "referenceRange" : [{ BackboneElement }], // C?Provides guide for interpretation "hasMember" : [{ Reference(QuestionnaireResponse) }], // C?Used when reporting vital signs panel components "derivedFrom" : [{ Reference(DocumentReference) }], // C?Related measurements the observation is made from "component" : [{ BackboneElement }], // C?Used when reporting systolic and diastolic blood pressure. }
Alternate definitions: Master Definition (XML, JSON), Schematron
Path | Name | Conformance | ValueSet |
Observation.language | Common Languages | preferred | Common Languages |
Observation.status | ObservationStatus | required | ObservationStatus |
Observation.category | Observation Category Codes | preferred | Observation Category Codes |
Observation.category | Observation Category Codes | preferred | Observation Category Codes |
Observation.code | Vital Signs | extensible | Vital Signs |
Observation.dataAbsentReason | DataAbsentReason | extensible | DataAbsentReason |
Observation.interpretation | Observation Interpretation Codes | extensible | Observation Interpretation Codes |
Observation.bodySite | SNOMED CT Body Structures | example | SNOMED CT Body Structures |
Observation.method | Observation Methods | example | Observation Methods |
Observation.referenceRange.type | Observation Reference Range Meaning Codes | preferred | Observation Reference Range Meaning Codes |
Observation.referenceRange.appliesTo | Observation Reference Range Applies To Codes | example | Observation Reference Range Applies To Codes |
Observation.component.code | Vital Signs | extensible | Vital Signs |
Observation.component.value[x] | Vital Signs Units | required | Vital Signs Units |
Observation.component.dataAbsentReason | DataAbsentReason | extensible | DataAbsentReason |
Observation.component.interpretation | Observation Interpretation Codes | extensible | Observation Interpretation Codes |