This page is part of the Personal Health Device FHIR IG (v0.1.0: STU 1 Draft) based on FHIR R3. The current version which supercedes this version is 1.0.0. For a full list of available versions, see the Directory of published versions
The Coded Enumeration Observation Profile is used when the PHD metric measurement contains one of the following attributes:
Attribute | Value | Additional Information |
---|---|---|
Enum-Observed-Value-Simple-OID | 16-bit term code | The partition is obtained from the Type attribute or the Enum-Observed-Value-Partition attribute |
Enum-Observed-Value | 16-bit term code when an OID | The partition is obtained from the Type attribute or the Enum-Observed-Value-Partition attribute |
The Enum-Observed-Value-Simple-OID attribute is used when the measurement is itself an MDC code. This type of measurement is most common when reporting the context of another measurement, for example the meal context of a glucose measurement and/or the current state of health. Enumeration measurements are used when there is a finite set of fixed possibilities for the measurement to take. The attribute contains only the 16-bit term code. The partition typcially comes from the Type attribute or, in special cases, the Enum-Observed-Value-Partition attribute.
The Enum-Observed-Value attribute is a complex attribute and can be any one of the three possible enumeration measurements. There is an element in the structure which indicates which type of enumeration it is. If it is an 'OID' type it has an MDC term code. The attribute also has its own metric-id value telling what it is and status value. The metric-id value replaces the term code given by the Type attribute for the type of measurement (not the measurement!) and the status value replaces the Measurement-Status attribute.
The structure definition for this profile is
Name | Flags | Card. | Type | |
---|---|---|---|---|
Observation | Observation | Definition: The PhdCodedEnumerationObservation reports PHD measurements that contain a Enum-Observed-Value-Simple-OID attribute. This type of measurement is used when the Personal Health Device reports a measurement as an IEEE 11073 10101 code. An example would be the most recent meal context associated with a glucose measurement such as 'breakfast', 'fasting', 'snack', etc. The list of codes for these meal options is finite. | ||
meta | 1.. | |||
profile | 1.. | Sliced: Unordered, Open, by PhdCodedEnumerationObservation(Value) | ||
phdProfile | 1..1 | Fixed Value | Fixed Value: PhdCodedEnumerationObservation | |
identifier | Sliced: Ordered, Open, by value(Value) | |||
conditionalCreateIdentifier | ..1 | Short description: Unique identifier of this measurment for a given patient and device Definition:An identifier created from a combination of the measurement parameters like sensor time stamp, type code, enumeration OID code, patient and device identifiers, and selected elements of any facet component elements. Allows observations to be distinguished in a selective enough manner to prevent resource duplication. This value is used in the conditional create to prevent data duplication. PHDs will often re-send already sent data for a variety of reasons. This element is required unless the metric measurement contains no time stamp or is a measurement containing a time stamp that is real time. By real time the time stamp reported by the PHD must be later than the current time reported by the PHD before any measurements are received. Temporarily stored data from IEEE 11073 20601 devices, which are required to delete the data after sending, can also be considered real time. Temporarily stored data from Bluetooth Low Energy Health devices may be resent so these cannot be considered as real time. | ||
value | 1.. | |||
status | Comments: The value shall be set to 'final' unless a Measurement-Status attribute or Enum-Observed-Value attribute, representing an OID, status field indicates that the measurement is preliminary. In that case this field shall be set to 'preliminary' | |||
code | Comments: For Enumeration OID measurements, none will fall into the category of vital signs so a LOINC encoding is never necessary in this profile. | |||
11073Type | Comments: For 11073-20601 metric enumeration measurements, this code is obtained from one or more of the Type, Metric-Id, Enum-Observed-Value.metric, and Metric-Id-Partition attributes. The algorithm to get the 16-bit partition and 16-bit term code is as follows:
It is this value that is placed in the code.coding.code element for this 11073Type slice | |||
valueCodeableConcept | 1.. | CodeableConcept | Definition: The information determined as a result of making the observation, if the information is a code. | |
coding | 1.. | Sliced: Ordered, Open, by system(Value) | ||
11073Value | 1..1 | |||
system | 1.. | Fixed Value | Fixed Value: urn:iso:std:iso:11073:10101 | |
code | 1.. | |||
dataAbsentReason | Definition: Provides a reason why the expected value in the element Observation.valueCodeableConcept is missing. This would be an error condition indicated by the Measurement-Status attribute. The current values in the http://hl7.org/fhir/data-absent-reason system do not provide the same detailed set of options reported in the Measurement-Status. In those cases one uses the generic 'error' code if the error is 'fatal'. The measurementStatusComponent can be used to report more specific information. | |||
coding | ||||
system | 1.. | |||
code | 1.. |
The following table shows how the numeric attributes are mapped to FHIR. Since the FHIR Quantity also contains the units the Unit-Code attribute value is required to complete the picture.
Attribute | FHIR coding |
---|---|
Enum-Observed-Value-Simple-OID.value | Observation.valueCodeableConcept.coding.code |
Enum-Observed-Value.value Enum-Observed-Value.metric-id Enum-Observed-Value.status |
Observation.valueCodeableConcept.coding.code effects Observation.code see Obtaining the Observation.code see Measurement Status in Phd Base Observation Profile |
For a general description of the PHD Profile Identifier see the "PHD Profile Identifier" section in Phd Base Profile. The table below lists the items that make up the identifier.
Entry | value | Additional information |
---|---|---|
device | "PhdParentDeviceComponent.identifier.value" | This value is the PHD IEEE EUI-64 system identifier |
patient | "Patient.identifier.value-Patient.identifier.system" or provided logical id |
The dashes are part of the identifier. When the service provider gives the PHG a pre-determined patient logical id the PHG creates no Patient resource and has no patient information. In that special case the provided logical id is used |
type | "Observation.code.coding.code" | See Obtaining the Observation.code |
value | "Observation.valueCodeableConcept.coding.code" or "Observation.dataAbsentReason.coding.code" |
The enumeration 32-bit MDC code of the measurement or the data absent reason code if there is no value |
reported PHD timestamp | "timestamp" | See Generating the PHD Reported Time Stamp |
supplemental types | "Supplemental-Types.N-" | A sequence of 32-bit MDC codes separated by a dash |
The final identifier is made by concatenating the entries above as follows:
There are no additional descriptive attributes that are unique to the Enumeration type of measurement.
The following JSON example is from a Glucose Monitor. The context measurement is in regard to the meal status at the time of the measurement. The measurement itself is an MDC code. In the future this measurement will contain a second related element due to a Source-Handle-Reference attribute pointing to the Glucose Concentration measurement. It has been added by hand below. In a real case the logical id of the Observation would be known.
{ "resourceType": "Observation", "meta": { "profile": ["http://pchalliance.org/phdfhir/StructureDefinition/PhdCodedEnumerationObservation"] }, "identifier": [{ "value": "sisansarahId-urn:oid:1.2.3.4.5.6.7.8.10-01040302f4000000-8417864-20171214103752-8417868" }], "status": "final", "code": { "coding": [{ "system": "urn:iso:std:iso:11073:10101", "code": "8417864", "display": "MDC_CTXT_GLU_MEAL" }] }, "subject": { "reference": "Patient/PatientId-sisansarahId" }, "effectiveDateTime": "2017-12-14T10:37:50-05:00", "performer": [{ "reference": "Patient/PatientId-sisansarahId" }], "valueCodeableConcept": { "coding": [{ "system": "urn:iso:std:iso:11073:10101", "code": "8417868", "display": "MDC_CTXT_GLU_MEAL_PREPRANDIAL" }] }, "device": { "reference": "DeviceComponent/SysId-01040302f4000000" }, "related": [{ "id": "coincidentTimeStampRelated", "type": "qualified-by", "target": { "reference": "urn:oid:3.14159.20171214103753" }, { "id": "SourceHandleReferenceRelated", "type": "qualified-by", "target": { "reference": "Observation/logical-id of Glucose concentration measurement" } }] }