Publish-box (todo)
Orders and Observations Work Group | Maturity Level: N/A | Standards Status: Informative |
Vital signs is 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 profiles set the minimum expectations for the Observation resource to record, search and fetch the vital signs associated with a patient. These include the "primary" vital signs of heart rate, respiratory rate, blood pressure (systolic and diastolic) and body temperature, plus additional measurements such as body height, body weight, BMI and oxygen saturation. 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 observations listed below, the implementation SHALL conform to the vital signs base profile and also the profile for the specific vital sign observation.
[Note: 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.
The Vital Signs Base profile requires that each Observation must have:
Profile Name | "Interoperability Category" (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 included as an additional observation. | /min | Heart Rate Example |
Oxygen saturation | 2708-6 | Oxygen saturation in Arterial blood - This code replaces 59408-5 Oxygen saturation in Arterial blood by Pulse oximetry as the "interoperability category" code (but MAY be used in Observation.code). | % | 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 - The more specific code 8306-3 -Body height - lying (i.e., body length - typically used for infants) MAY also be used in Observation.code. | cm, [in_i] | Body height Example |
Head circumference | 9843-4 | Head Occipital-frontal circumference | cm, [in_i] | Head Circumference Example |
Body weight | 29463-7 | Body weight - The more specific code 8352-7 - Clothing worn during measure and 8361-8 - Body position with respect to gravity MAY also be used in Observation.code. | 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: | |
Observationvitalsignsbase | FHIR Vital Signs Base Profile |
Observationvitalspanel | FHIR Vital Signs Panel Profile |
Observationresprate | FHIR Respiratory Rate Profile |
Observationoxygensat | FHIR Oxygen Saturation Profile |
Observationheartrate | FHIR Heart Rate Profile |
Observationheadcircum | FHIR Head Circumference Profile |
Observationbp | FHIR Blood Pressure Profile |
Observationbodyweight | FHIR Body Weight Profile |
Observationbodytemp | FHIR Body Temperature Profile |
Observationbodyheight | FHIR Body Height Profile |
Observationbmi | FHIR Body Mass Index (BMI) Profile |