This page is part of the FHIR Specification (v3.3.0: R4 Ballot 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 R4 R3
(No assigned work group) | Maturity Level: N/A | Ballot Status: Informative |
STU Note: The Orders and Observations workgroups wants to make the balloter aware that there are several approved change requests for this profile, but they have not been applied in time for this ballot.
Vital signs will be one of the first areas where there is a need for a single, global vocabulary to allow for ubiquitous access and re-use. Particularly with the use of wearables by patients where they want to/need to share information from those devices. To meet this need there must be a consistent vocabulary and a common syntax to achieve semantic interoperability. The FHIR Vital Signs profile sets minimum expectations for the Observation resource to record, search and fetch the vital signs associated with a patient that include the primary vital signs plus additional measurements such as height, weight and BMI. Support for basic mandatory searching of resources is defined below in the Quick Start section. When a FHIR implementation supports any of the vital signs listed below, the implementation SHALL conform to this profile for the vital sign observation.
These requirements were originally developed, balloted, and published in FHIR DSTU2 as part of the ONC sponsored Data Access Framework (DAF) project and were subsequently updated to define the minimum mandatory conformance requirements needed for accessing patient data as defined by the Argonaut pilot implementations.
Example Usage Scenarios:
The following are example usage scenarios for this profile:
The following data-elements are mandatory (i.e. data SHALL be present). These are presented below in a simple human-readable explanation. Profile-specific guidance and valid examples are provided as well. Note that many of the examples capture more than the minimum required. The links to the Profile Definitions provide the formal views of the profile content, descriptions, mappings and the StructureDefinitions in JSON and XML.
Each Observation must have:
Vital Signs Profile : Link to the formal definition views for the vital signs listed in this table.
Profile Name | "Magic Value" (LOINC) | LOINC Name and Comments | UCUM Unit Code | Examples |
---|---|---|---|---|
Vital Signs Panel | 85353-1 | Vital signs, weight, height, head circumference, oxygen saturation and BMI panel - It represent a panel of vital signs listed in this table. All members of the panel are optional and note that querying for the panel may miss individual results that are not part of the actual panel. When used, Observation.valueQuantity is not present; instead, related links (with type=has-member) reference the vital signs observations (e.g. respiratory rate, heart rate, BP, etc.). This code replaces the deprecated code 8716-3 - Vital signs which is used in the Argonaut Data Query Implementation Guide. | - | Vital Signs Panel Example |
Respiratory Rate | 9279-1 | Respiratory Rate | /min | Respiratory Rate Example |
Heart rate | 8867-4 | Heart rate - To supplement this vital sign observation, 8887-2 - Heart rate device type MAY be used as an additional observation. | /min | Heart Rate Example |
Oxygen saturation | 59408-5 | Oxygen saturation in Arterial blood by Pulse oximetry - This code replaces the deprecated code 2710-2 - Deprecated Oxygen saturation in Capillary blood by Oximetry which had been listed in C-CDA. | % | Oxygen Saturation Example |
Body temperature | 8310-5 | Body temperature - To supplement this vital sign observation, 8327-9 - Body temperature measurement site (oral, forehead, rectal, etc.) and 8326-1 -Type of body temperature device MAY be used as additional observations | Cel, [degF] | Body Temperature Example |
Body height | 8302-2 | Body height | cm, [in_i] | Body height Example |
Body length | 8306-3 | Body height --lying - Like height, but lying down, typically this is used for infants | cm, [in_i] | Body Length Example |
Head circumference | 8287-5 | Head Occipital-frontal circumference by Tape measure | cm, [in_i] | Head Circumference Example |
Body weight | 29463-7 | Body weight - To supplement this vital sign observation, 8352-7 - Clothing worn during measure and 8361-8 - Body position with respect to gravity MAY be used as additional observations. | g, kg,[lb_av] | Body Weight Example |
Body mass index | 39156-5 | Body mass index (BMI) [Ratio] | kg/m2 | Body Mass Example |
Blood pressure systolic and diastolic | 85354-9 | Blood pressure panel with all children optional - This is a component observation. It has no value in Observation.valueQuantity and contains at least one component (systolic and/or diastolic). To supplement this vital sign observation, 8478-0 - Mean blood pressure, 8357-6 - Blood pressure method, 41904-4 - Blood pressure measurement site, 8358-4 - Blood pressure device cuff size, 41901-0 - Type of blood pressure device MAY be used as additional observations. | - | Blood Pressure Example, Blood Pressure Example with missing Diastolic measurement |
Systolic blood pressure | 8480-6 | Systolic blood pressure - Observation.component code for a blood pressure Observation | mm[Hg] | Blood Pressure Example |
Diastolic blood pressure | 8462-4 | Diastolic blood pressure - Observation.component code for a blood pressure Observation | mm[Hg] | Blood Pressure Example |
Below is an overview of required search and read operations
Clients
GET [base]/Observation?patient=[id]&category=vital-signs
.GET [base]/Observation?patient=[id]&category=vital-signs&date=[date]{&date=[date]}
.GET [base]/Observation?patient=[id]&code[vital sign LOINC{,LOINC2,LOINC3,...}]
.GET [base]/Observation?patient=[id]&code=[LOINC{,LOINC2...}]vital-signs&date=[date]{&date=[date]}
.Servers
GET [base]/Observation?patient=[id]&category=vital-signs
.GET [base]/Observation?patient=[id]&category=vital-signs&date=[date]{&date=[date]}
.GET [base]/Observation?patient=[id]&code[vital sign LOINC{,LOINC2,LOINC3,...}]
.GET [base]/Observation?patient=[id]&code=[LOINC{,LOINC2...}]vital-signs&date=[date]{&date=[date]}
.Example: Search for all Vital Signs measurements for a patient
GET [base]/Observation?patient=1186747&category=vital-signs
Support: Mandatory to support search by category code.
Implementation Notes: Search based on vital sign category code. This search fetches a bundle of all Observation resources with category 'vital-signs' for the specified patient (how to search by reference) and (how to search by token). The table above is the minimum set, additional vital signs are allowed.
Response Class:
Example: Search for all heart rate observations for a patient:
GET [base]/Observation?patient=1186747&code=8867-4
Example: Search for all heart rate, respiratory rate and blood pressure observations for a patient:
GET [base]/Observation?patient=1186747&code=8867-4,9279-1,85354-9
Support: Mandatory to support search by vital sign LOINC(s) listed above.
Implementation Notes: 1)Search based on vital sign LOINC code(s). This fetches a bundle of all Observation resources for specific vital sign(s) listed in the table above for the specified patient (how to search by reference) and [how to search by token)]. 2) The "code" parameter searches only Observation.code
. For example when fetching blood pressures the resource will be only be returned when the search is based on 85354-9(Systolic and Diastolic BP). Using the component codes 8480-6(Systolic BP) or 8462-4 (Diastolic BP) will not return the resource . In order to search both Observation.code
and Observation.component.code
in a single query, use the "combo-code" search parameter.
Response Class:
Example: Find all the blood pressures after 2015-01-14
GET [base]/Observation?patient=555580&code=85354-9&date=ge2015-01-14
Support: Mandatory to support search by category code and date
Implementation Notes: Search based on vital sign category code and date. This fetches a bundle of all Observation resources with category 'vital-signs' for the specified patient for a specified time period (how to search by reference) and (how to search by token).
Response Class:
Profiles: | |
VitalSigns | FHIR Vital Signs Profile |
BodyWeight | FHIR Body Weight Profile |
RespRate | FHIR Respiratory Rate Profile |
HeartRate | FHIR Heart Rate Profile |
BodyTemp | FHIR Body Temperature Profile |
BodyHeight | FHIR Body Height Profile |
BodyLength | FHIR Body Length Profile |
HeadCircum | FHIR Head Circumference Profile |
OxygenSat | FHIR Oxygen Saturation Profile |
BMI | FHIR Body Mass Index (BMI) Profile |
BP | FHIR Blood Pressure Profile |
VitalsPanel | FHIR Vital Signs Panel Profile |