Measurements and simple assertions
Retrieving a patient’s vital signs
The logical ID (of the patient to retrieve) is passed as part of the URL. The logical ID is found as the result of a search.
GET https://tw171.open.allscripts.com/FHIR/Patient/id/Observation?category=vital-signs
GET https://tw171.open.allscripts.comFHIR/Patient/id/Observation?category=vital-signs&date=eq2016-01-01
Name | Required? | Type | Description |
---|---|---|---|
id | yes | URL | The logical ID of the patient. This is retrieved using the search function. |
date | no | string | A string representing a date to include in the search. See below for more information. |
A DAF Observation is returned.
Name | Type | Cardinality | Description |
---|---|---|---|
identifier | 0..* | Unique identifier for the simple observation instance. Allows observations to be distinguished and referenced. | |
status | code | 1..1 | Status of the vital sign result value. The status of individual results needs to be tracked. Some results are finalized before the whole report is finalized. The conformance on this value set is required. Values include: Registered, Preliminary, Final, Amended, Cancelled, Entered in Error, and Unknown. For more information on this value set, see: http://hl7.org/fhir/ValueSet/observation-status. |
category | CodeableConcept | 0..1 | Classification of type of observation. Clinical observations measure the body’s basic functions such as such as blood pressure, heart rate, respiratory rate, height, weight, body mass index, head circumference, pulse oximetry, temperature, and body surface area. For more information on this value set, see: http://hl7.org/fhir/ValueSet/observation-category. |
code | CodeableConcept | 1..1 | Vital sign result type. Coded responses are from C-CDA Vital Sign Results. 1. Shall contain exactly one [1..1] code, where the @code should be selected from ValueSet HITSP Vital Sign Result Type. This value set indicates the allowed vital sign result types. The vocabulary selected for this value set aligns with requirements in the Meaningful Use (MU) Stage 2. Note the concept Blood pressure systolic and diastolic (55284-4) is used to group the related observations Systolic blood pressure (8480-6) and Diastolic blood pressure (8462-4). It shall not be used alone, but both 8480-6 and 8462-2 shall also be valued. The codes shall be taken from C-CDA Vital Sign Result; other codes may be used where these codes are not suitable. For more information on this value set, see: http://hl7.org/fhir/ValueSet/observation-codes. |
subject | Reference(Patient, Group, Device, Location) | 0..1 | Who and/or what this vital is for. The patient, or group of patients, location, or device whose characteristics (direct or indirect) are described by the observation and into whose record the observation is placed. Indirect characteristics may be those of a specimen, fetus, donor, other observer (for example a relative or EMT), or any observation made about the subject. Observations have no value if you don’t know who or what they’re about. Note: One would expect this element to be a cardinality of 1..1. The only circumstance in which the subject can be missing is when the observation is made by a device that does not know the patient. In this case, the observation shall be matched to a patient through some context/channel matching technique, and at this point, the observation should be updated. |
encounter | Reference(Encounter) | 0..1 | The healthcare event (for example, a patient and healthcare provider interaction) during which this vital was obtained. For some observations it may be important to know the link between the vital sign and a particular encounter. |
effectiveDateTime | dateTime | 0..1 | Clinically relevant time/time-period for observation. Often just a dateTime for Vital Signs. Knowing when an observation was deemed true is important to its relevance as well as determining trends. At least a date should be present unless this observation is a historical report. |
effectivePeriod | Period | 0..1 | Clinically relevant time/time-period for observation. Often a dateTime for Vital Signs is preferred but if it is a historical instance, then a time period is sufficient. |
issued | Hl7.Fhir.Model.Instant | 0..1 | Date/Time this was made available. |
performer | Reference(Practitioner, Organization, Patient, RelatedPerson) | 0..* | Who is responsible for the observation or obtaining the vital sign. May give a degree of confidence in the observation and also indicates where follow-up questions should be directed. |
valueQuantity | Quantity | 0..1 | Vital Sign Value recorded with UCUM. Common UCUM units for recording Vital Signs. The codes shall be taken from Common UCUM units as defined in http://unitsofmeasure.org Examples include % (percent), cm (centimeter), kg (kilogram), mm(Hg) (millimeter of mercury), /min (per minute) and kg/m2 (kilogram). Note: Normally, an observation will have either a value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. This element has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueString, valueRange, valueRatio, valueSampledData, valueAttachment, valueTime, valueDateTime, or valuePeriod. (The name format is “‘value’ + the type name” with a capital on the first letter of the type). |
valueQuantity.value | http://www.hl7.org/fhir/daf/daf-vitalsigns-definitions.html#daf-vitalsigns.Observation.valueQuantity.value | 0..1 | The value of the measured amount. The value includes an implicit precision in the presentation of the value. Precision is handled implicitly in almost all cases of measurement. The implicit precision in the value should always be honored. Monetary values have their own rules for handling precision (refer to standard accounting text books). |
valueQuantity.unit | http://www.hl7.org/fhir/daf/daf-vitalsigns-definitions.html#daf-vitalsigns.Observation.valueQuantity.unit | 0..1 | A human-readable form of the unit. There are many representations for units of measure and in many contexts, particular representations are fixed and required. For example, mcg for micrograms. |
valueQuantity.system | http://www.hl7.org/fhir/daf/daf-vitalsigns-definitions.html#daf-vitalsigns.Observation.valueQuantity.system | 0..1 | The identification of the system that provides the coded form of the unit. Need to know the system that defines the coded form of the unit. Fixed value http://unitsofmeasure.org. |
valueQuantity.code | http://www.hl7.org/fhir/daf/daf-vitalsigns-definitions.html#daf-vitalsigns.Observation.valueQuantity.code | 0..1 | Coded responses from the common UCUM units for vital signs value set. Need a computable form of the unit that is fixed across all forms. UCUM provides this for quantities, but SNOMED CT provides many units of interest. The preferred system is UCUM, but SNOMED CT can also be used (for customary units) or ISO 4217 for currency. The context of use may additionally require a code from a particular system. |
dataAbsentReason | CodeableConcept | 0..1 | Provides a reason why the expected value in the element Observation.value[x] is missing. Codes specifying why the result (Observation.value[x]) is missing. The codes shall be taken from Observation Value Absent Reason value set, however other codes may be used where these codes are not suitable. This value set contains 9 concepts. For more information on this value set, see http://hl7.org/fhir/ValueSet/observation-valueabsentreason. |
interpretation | CodeableConcept | 0..1 | This value set defines the set of codes that can be used to indicate the meaning/use of a reference range. The value set is extensible and contains 33 concepts. Examples include A (Abnormal), H (High), L (Low), and N (Normal). For more information on this value set, see http://hl7.org/fhir/ValueSet/observation-interpretation. |
referenceRange | BackboneElement http://www.hl7.org/fhir/daf/daf-vitalsigns-definitions.html#daf-vitalsigns.Observation.referenceRange | 0..* | Guidance on how to interpret the value by comparison to a normal or recommended range. Knowing what values are considered “normal” can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts. Most observations only have one generic reference range. Systems may choose to restrict to only supplying the relevant reference range based on knowledge about the patient (for example, specific to the patient’s age, gender, weight, and other factors), but this may not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them should be provided in the reference range and/or age properties. |
— referenceRange.Low | SimpleQuantity http://www.hl7.org/fhir/daf/daf-vitalsigns-definitions.html#daf-vitalsigns.Observation.referenceRange.low | 0..1 | Indication that the vital result is lower than the defined reference range. Binding is common UCUM units for recording Vital Signs. |
— referenceRange.High | SimpleQuantity http://www.hl7.org/fhir/daf/daf-vitalsigns-definitions.html#daf-vitalsigns.Observation.referenceRange.high | 0..1 | Indication that the vital result is higher than the defined reference range. Binding is common UCUM units for recording Vital Signs. |
Respiratory rate | http://argonautwiki.hl7.org/index.php?title=Vital_Signs_Respiratory_Rate_Example | 0..1 | Recorded under LOINC Code 9279-1 using UOM of (breaths)/min. |
Heart rate | http://argonautwiki.hl7.org/index.php?title=Vital_Signs_Heart_Rate_Example | 0..1 | Recorded under LOINC Code 8867-4 using UOM of (beats)/min. |
Oxygen saturation | http://argonautwiki.hl7.org/index.php?title=Vital_Signs_Oxygen_Saturation_Example | 0..1 | Recorded under LOINC Code 59408-5 using UOM of % Oxygen saturation in Arterial blood by Pulse oximetry. |
Body temperature | http://argonautwiki.hl7.org/index.php?title=Vital_Signs_Body_Temperature_Example | 0..1 | Recorded under LOINC Code 8310-5 using UOM of Cel or [degF]. |
Body height | http://argonautwiki.hl7.org/index.php?title=Vital_Signs_Body_height_Example | 0..1 | Recorded under LOINC Code 8302-2 using UOM cm or [in]. |
Body weight | http://argonautwiki.hl7.org/index.php?title=Vital_Signs_Body_Weight_Example | 0..1 | Recorded under LOINC Code 29463-7 using UOM g, kg or lb. |
Body mass index | http://argonautwiki.hl7.org/index.php?title=Vital_Body_Mass_Example | 0..1 | Recorded under LOINC Code 39156-5 using UOM kg/m2. |
Blood pressure systolic and diastolic | http://argonautwiki.hl7.org/index.php?title=Vital_Signs_Blood_Pressure_Example | 1..1 | Recorded under LOINC Code 55284-4 using UOM mm[Hg]. |
Systolic blood pressure | http://argonautwiki.hl7.org/index.php?title=Vital_Signs_Blood_Pressure_Example | 1..1 | Recorded under LOINC Code 8480-6 using UOM mm[Hg]. When recording a blood pressure using systolic and diastolic as separate entities, both must be recorded in order for the blood pressure to be valid. |
Diastolic blood pressure | http://argonautwiki.hl7.org/index.php?title=Vital_Signs_Blood_Pressure_Example | 1..1 | Recorded under LOINC Code 8462-4 using UOM mm[Hg]. When recording a blood pressure using systolic and diastolic as separate entities, both must be recorded in order for the blood pressure to be valid. |
related | code http://www.hl7.org/fhir/daf/daf-vitalsigns-definitions.html#daf-vitalsigns.Observation.related.type | 1..1 | Codes specifying how two observations are related. This is used when reporting systolic and diastolic blood pressure. The codes shall be taken from the ObservationRelationshipType value set. For more information on this value set, see http://www.hl7.org/fhir/valueset-observation-relationshiptypes.html. |
Searching by date
Dates are passed as query paramters on the URL. Since the URL parameters cannot handle comparators (for example, >, <=) these are passed in as part of the date.
date=eq2016-01-01
date=gt2016-01-01
The following comparators are supported:
Comparator | Description |
---|---|
eq | equal |
gt | greater than |
ge | greater than or equal |
lt | less than |
le | less than or equal |
To search for a date range, pass in the date twice.
e.g. date=ge2010-01-01&date=le2010-12-31
This search would include every day in the year 2010.