Phd Coded Enumeration Observation Profile

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

idΣ0..1id
id0..1string
extensionI0..*Extension
versionIdΣ0..1id
lastUpdatedΣ0..1instant
phdProfileΣ1..1uriFixed Value
securityΣ0..*CodingBinding
tagΣ0..*Coding
implicitRulesΣ ?!0..1uri
language0..1codeBinding
textI0..1Narrative
contained0..*Resource
extensionI0..*Extension
modifierExtension?! I0..*Extension
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(http://hl7.org/fhir/StructureDefinition/Organization)
basedOnΣ I0..*Reference(http://hl7.org/fhir/StructureDefinition/CarePlan | http://hl7.org/fhir/StructureDefinition/DeviceRequest | http://hl7.org/fhir/StructureDefinition/ImmunizationRecommendation | http://hl7.org/fhir/StructureDefinition/MedicationRequest | http://hl7.org/fhir/StructureDefinition/NutritionOrder | http://hl7.org/fhir/StructureDefinition/ProcedureRequest | http://hl7.org/fhir/StructureDefinition/ReferralRequest)
statusΣ ?!1..1codeBinding
category0..*CodeableConceptBinding
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
id0..1string
extensionI0..*Extension
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
id0..1string
extensionI0..*Extension
referenceΣ I1..1string
identifierΣ0..1Identifier
displayΣ0..1string
contextI0..1Reference(http://hl7.org/fhir/StructureDefinition/Encounter | http://hl7.org/fhir/StructureDefinition/EpisodeOfCare)
id0..1string
extensionI0..*Extension
startΣ I1..1dateTime
endΣ I1..1dateTime
dateTimeEffectiveΣ0..1dateTime
issuedΣ0..1instant
performerΣ I0..*Reference(http://hl7.org/fhir/StructureDefinition/Practitioner | http://hl7.org/fhir/StructureDefinition/Organization | http://hl7.org/fhir/StructureDefinition/Patient | http://hl7.org/fhir/StructureDefinition/RelatedPerson)
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemΣ1..1uri
versionΣ0..1string
codeΣ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
interpretation0..1CodeableConceptBinding
comment0..1string
bodySite0..1CodeableConcept
method0..1CodeableConcept
specimenI0..1Reference(http://hl7.org/fhir/StructureDefinition/Specimen)
id0..1string
extensionI0..*Extension
referenceΣ I1..1string
identifierΣ0..1Identifier
displayΣ0..1string
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
lowI0..1http://hl7.org/fhir/StructureDefinition/SimpleQuantity
highI0..1http://hl7.org/fhir/StructureDefinition/SimpleQuantity
type0..1CodeableConceptBinding
appliesTo0..*CodeableConcept
ageI0..1Range
text0..1string
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
type0..1codeBinding
targetI1..1Reference(http://hl7.org/fhir/StructureDefinition/Observation | http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse | http://hl7.org/fhir/StructureDefinition/Sequence)
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
type0..1codeBinding
id0..1string
extensionI0..*Extension
referenceΣ I1..1string
identifierΣ0..1Identifier
displayΣ0..1string
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
type0..1codeBinding
id0..1string
extensionI0..*Extension
referenceΣ I1..1string
identifierΣ0..1Identifier
displayΣ0..1string
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
codeΣ1..1CodeableConcept
valueQuantityQuantity
valueCodeableConceptCodeableConcept
valueStringstring
valueRangeRange
valueRatioRatio
valueSampledDataSampledData
valueAttachmentAttachment
valueTimetime
valueDateTimedateTime
valuePeriodPeriod
dataAbsentReasonI0..1CodeableConceptBinding
interpretation0..1CodeableConceptBinding
referenceRange0..*see (referenceRange)
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1codeFixed Value
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
dataAbsentReasonI0..0CodeableConceptBinding
interpretation0..1CodeableConceptBinding
referenceRange0..*see (referenceRange)
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1codeFixed Value
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
id0..1string
extensionI0..*Extension
valueΣ1..1decimal
comparatorΣ ?!0..1codeBinding
unitΣ1..1string
systemΣ I1..1uriFixed Value
codeΣ1..1codeFixed Value
dataAbsentReasonI0..0CodeableConceptBinding
interpretation0..1CodeableConceptBinding
referenceRange0..*see (referenceRange)
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1codeFixed Value
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
id0..1string
extensionI0..*Extension
valueΣ1..1decimal
comparatorΣ ?!0..1codeBinding
unitΣ1..1string
systemΣ I1..1uriFixed Value
codeΣ1..1codeFixed Value
dataAbsentReasonI0..0CodeableConceptBinding
interpretation0..1CodeableConceptBinding
referenceRange0..*see (referenceRange)
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemΣ1..1uriFixed Value
versionΣ0..1string
codeΣ1..1code
displayΣ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
dataAbsentReasonI0..0CodeableConceptBinding
interpretation0..1CodeableConceptBinding
referenceRange0..*see (referenceRange)

Mapping Coded Enumerations to FHIR

The following table shows how the coded enumeration attributes are mapped to FHIR.

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

Conditional Create Identifier Generation

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 "Phd Device.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:

  • "device-patient-type-value-reported PHD timestamp-supplemental types"

Additional Enumeration Measurement Information

There are no additional descriptive attributes that are unique to the Enumeration type of measurement.

Phd Coded Enumeration Observation JSON Example

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"
		}
	}]
}