Point-of-Care Device Implementation Guide
current - CI Build International flag

Point-of-Care Device Implementation Guide, published by HL7 International - Devices Work Group. This is not an authorized publication; it is the continuous build for version current). This version is based on the current content of https://github.com/HL7/uv-pocd/ and changes regularly. See the Directory of published versions

Mapping from IEEE 11073-10207 SDC to FHIR

Within the context of the ISO/IEEE 11073 Point-of-care medical device communication standards, the ISO/IEEE 11073-10207 Domain Information and Service Model defines the network representation of generic medical devices and consists of the device description and dynamic information about the current device state.

DIM Object Classes

Most object classes in ISO/IEEE 11073 SDC can be mapped to FHIR resources as outlined in the following table.

DIM Object Class FHIR Resource
MDS Device (according to the MDS Device profile) and
Location or Organization (if needed)
VMD Device (according to the VMD Device profile)
Channel Device (according to the Channel Device profile)
Numeric DeviceMetric (according to the Numeric DeviceMetric profile) and
Observation (according to the Numeric Observation profile or Compound Numeric Observation profile)
Enumeration DeviceMetric (according to the Enumeration DeviceMetric profile) and
Observation (according to the Enumeration Observation profile)
ClinicalInfo Observation (according to the Observation profile)
TimeSampleArray
RealTimeSampleArray
DistributionSampleArray
DeviceMetric (according to the Sample Array DeviceMetric profile) and
Observation (according to the Sample Array Observation profile)
Alert
AlertStatus
AlertMonitor
to be completed
PatientDemographics Patient (according to the Patient profile)
OperatorDemographics Practitioner (according to the Practitioner profile)

SDC Object Attributes

Please refer to the Mappings tab of each profile page for mapping ISO/IEEE 11073 SDC object attributes to FHIR resource elements.

Mapping Details

Patient

For each of the measurements Height and Weight is an Observation Resource requiered with mandatory requirements. Observation.subject shall be present and refer to a Patient resource or MDS Device resource.

Summary of the mandatory requirements for the Height:

  • One code in Observation.code which must have
    • a fixed Observation.code.coding.system=’http://loinc.org’
    • a fixed Observation.code.coding.code= ‘8302-2’
    • 8306-3 -Body height - lying (i.e., body length - typically used for infants) MAY be included as an additional observation code - Other additional Codings are allowed in Observation.code- e.g. more specific LOINC Codes, SNOMED CT concepts, system specific codes. All codes SHALL have an system value
  • Either one Observation.valueQuantity or, if there is no value, one code in Observation.DataAbsentReason
    • Each Observation.valueQuantity must have:
      • One numeric value in Observation.valueQuantity.value
      • a fixed Observation.valueQuantity.system=”http://unitsofmeasure.org”
      • a UCUM unit code in Observation.valueQuantity.code = ‘cm’, or ‘[in_i]’

Summary of the mandatory requirements for the Weight:

  • One code in Observation.code which must have
    • a fixed Observation.code.coding.system=’http://loinc.org’
    • a fixed Observation.code.coding.code= ‘29463-7’
    • Other additional Codings are allowed in Observation.code- e.g. more specific LOINC Codes, SNOMED CT concepts, system specific codes. All codes SHALL have an system value
  • Either one Observation.valueQuantity or, if there is no value, one code in Observation.DataAbsentReason
    • Each Observation.valueQuantity must have:
      • One numeric value in Observation.valueQuantity.value
      • a fixed Observation.valueQuantity.system=”http://unitsofmeasure.org”
      • a UCUM unit code in Observation.valueQuantity.code = ‘kg’, ‘g’, or ‘[lb_av]’

Neonatal Patient

Information about the mother should be included in the FHIR Resource RelatedPerson. RelatedPerson.patient should be used for the reference of the patient this RelatedPerson is related to. The relationship can be modeled by using RelatedPerson.relationship with the terminology binding MTH, to express that the RelatedPerson is the mother.

For each of the measurements GestationalAge, BirthLength, BirthWeight and HeadCircumference is an Observation Resource requiered with mandatory requirements. Observation.subject shall be present and refer to a Patient resource or MDS Device resource.

Summary of the mandatory requirements for the HeadCircumference:

  • One code in Observation.code which must have
    • a fixed Observation.code.coding.system=’http ://loinc.org’
    • a fixed Observation.code.coding.code= ‘9843-4’
    • Other additional Codings are allowed in Observation.code- e.g. more specific LOINC Codes, SNOMED CT concepts, system specific codes. All codes SHALL have an system value
  • Either one Observation.valueQuantity or, if there is no value, one code in Observation.DataAbsentReason
    • Each Observation.valueQuantity must have:
      • One numeric value in Observation.valueQuantity.value
      • a fixed Observation.valueQuantity.system=”http://unitsofmeasure.org”
      • a UCUM unit code in Observation.valueQuantity.code = ‘cm’, or ‘[in_i]’

Summary of the mandatory requirements for the BirthWeight:

  • One code in Observation.code which must have
    • a fixed Observation.code.coding.system=’http ://loinc.org’
    • a fixed Observation.code.coding.code= ‘29463-7’
    • an additional Observation.code.coding.code= ‘8339-4’ shall be provided, to indicate that the value applies to an infant
    • Other additional Codings are allowed in Observation.code- e.g. more specific LOINC Codes, SNOMED CT concepts, system specific codes. All codes SHALL have an system value
  • Either one Observation.valueQuantity or, if there is no value, one code in Observation.DataAbsentReason
    • Each Observation.valueQuantity must have:
      • One numeric value in Observation.valueQuantity.value
      • a fixed Observation.valueQuantity.system=”http://unitsofmeasure.org”
      • a UCUM unit code in Observation.valueQuantity.code = ‘kg’, ‘g’, or ‘[lb_av]’

Summary of the mandatory requirements for the BirthLength:

  • One code in Observation.code which must have
    • a fixed Observation.code.coding.system=’http ://loinc.org’
    • a fixed Observation.code.coding.code= ‘8302-2’
    • an additional Observation.code.coding.code= ‘89269-5’ shall be provided, to indicate that the value applies to an infant
    • Other additional Codings are allowed in Observation.code- e.g. more specific LOINC Codes, SNOMED CT concepts, system specific codes. All codes SHALL have an system value
  • Either one Observation.valueQuantity or, if there is no value, one code in Observation.DataAbsentReason
    • Each Observation.valueQuantity must have:
      • One numeric value in Observation.valueQuantity.value
      • a fixed Observation.valueQuantity.system=”http://unitsofmeasure.org”
      • a UCUM unit code in Observation.valueQuantity.code = ‘cm’, or ‘[in_i]’

Summary of the mandatory requirements for the GestationalAge:

  • One code in Observation.code which must have
    • a fixed Observation.code.coding.system=’http ://loinc.org’
    • a fixed Observation.code.coding.code= ‘72147-2’
    • Other additional Codings are allowed in Observation.code- e.g. more specific LOINC Codes, SNOMED CT concepts, system specific codes. All codes SHALL have an system value
  • Either one Observation.valueQuantity or, if there is no value, one code in Observation.DataAbsentReason
    • Each Observation.valueQuantity must have:
      • One numeric value in Observation.valueQuantity.value
      • a fixed Observation.valueQuantity.system=”http://unitsofmeasure.org”
      • a UCUM unit code in Observation.valueQuantity.code = ‘d’

Location

For every physicalType of a Location an additional Location Resource needs to be created. If this Location is physically a part of another Location they can only be connected via a Location.partOf Reference to the other Location. It is working in the same way with the managing Organization. Both need to reference the the lowest Location or Organization in the hierarchy because the references point upwards.

IEEE 11073 SDC HL7 FHIR Resources Comment
LocationContextState/Identification/Root Location.identifier.system  
LocationContextState/Identification/Extension Location.identifier.value  
LocationContextState/LocationDetail/Bed Location.physicalType An additional Location Resource with the physicalType bd and references (Location.partOf and/or Location.managingOrganization) to another Location/Organization if the Bed is physically a part of a Location/Organization
LocationContextState/LocationDetail/Room Location.physicalType An additional Location Resource with the physicalType ro and references (Location.partOf and/or Location.managingOrganization) to another Location/Organization if the Room is physically a part of a Location/Organization
LocationContextState/LocationDetail/PoC Organization.type An additional Organization Resource with the Organization type dept and a reference (Organization.partOf) to another Organization if the PoC is part of an Organization
LocationContextState/LocationDetail/Floor Location.physicalType An additional Location Resource with the physicalType lvl and references (Location.partOf and/or Location.managingOrganization) to another Location/Organization if the Floor is physically a part of a Location/Organization
LocationContextState/LocationDetail/Building Location.physicalType An additional Location Resource with the physicalType bu and references (Location.partOf and/or Location.managingOrganization) to another Location/Organization if the Building is physically a part of a Location/Organization
LocationContextState/LocationDetail/Facility Organization.type An Organization Resource with the Organization type prov and a reference (Organization.partOf) to another Organization if the Facility is part of an Organization

ImagingStudy

The WorklflowConextState should only be used if the ContextAssociation is Assoc (=Associated). The ImagingProcedure/RequestedProcedureId can be mapped to the id of the basedOn reference, which exists when the ImagingProcedure is based on a ServiceRequest.

IEEE 11073 SDC HL7 FHIR Resources  
WorkflowContextState/WorkflowDetail/RequestedOrderDetail/ImagingProcedure/AccessionIdentifier/Root WorkflowContextState/WorkflowDetail/RequestedOrderDetail/ImagingProcedure/StudyInstanceUid/Root ImagingStudy.identifier.system  
WorkflowContextState/WorkflowDetail/RequestedOrderDetail/ImagingProcedure/AccessionIdentifier/Extension WorkflowContextState/WorkflowDetail/RequestedOrderDetail/ImagingProcedure/StudyInstanceUid/Extension ImagingStudy.identifier.value  
WorkflowContextState/WorkflowDetail/RequestedOrderDetail/ImagingProcedure/Modality/Code ImagingStudy.modality.code  
WorkflowContextState/WorkflowDetail/RequestedOrderDetail/ImagingProcedure/Modality/CodingSystem ImagingStudy.modality.system  
WorkflowContextState/WorkflowDetail/RequestedOrderDetail/ImagingProcedure/Modality/CodingSystemVersion ImagingStudy.modality.version  
WorkflowContextState/WorkflowDetail/RequestedOrderDetail/ImagingProcedure/ProtocolCode/Code ImagingStudy.procedureCode.coding.code  
WorkflowContextState/WorkflowDetail/RequestedOrderDetail/ImagingProcedure/ProtocolCode/CodingSystem ImagingStudy.procedureCode.coding.system  
WorkflowContextState/WorkflowDetail/RequestedOrderDetail/ImagingProcedure/ProtocolCode/CodingSystemVersion ImagingStudy.procedureCode.coding.version  

ServiceRequest

The WorklflowConextState should only be used if the ContextAssociation is Assoc (=Associated). The resource ServiceRequest may be used to share relevant information required to support a referral or a transfer of care request from one practitioner or organization to another.

IEEE 11073 SDC Status HL7 FHIR Comment
WorkflowContextState/WorkflowDetail/AssignedLocation ServiceRequest.locationReference  
WorkflowContextState/WorkflowDetail/RelevantClinicalInfo ServiceRequest.supportingInfo  
WorkflowContextState/WorkflowDetail/RequestedOrderDetail/Performer ServiceRequest.performer  
WorkflowContextState/WorkflowDetail/RequestedOrderDetail/ReferringPhysician WorkflowContextState/WorkflowDetail/RequestedOrderDetail/RequestingPhysician ServiceRequest.requester The resource ServiceRequest may be used to share relevant information required to support a referral or a transfer of care request from one practitioner or organization to another. Therefore, both the RequestingPhysician and the ReferringPhysician are mapped to the ServiceRequest.requester. If both are existing, there should be a reference (ServiceRequest.basedOn) from the RequestingPhysician to the ReferringPhysician.
WorkflowContextState/WorkflowDetail/PerformedOrderDetail/ResultingClinicalInfo DiagnosticReport.result  

Valuesets

Valuesets for AbstractDeviceComponentState/ActivationState:
IEEE 11073 SDC Status HL7 FHIR Device.statusReason Comment
On online  
NotRdy not-ready  
StndBy standby  
Off off  
Shtdn not-ready  
Fail not-ready  
Valuesets for AbstractMetricState/ActivationState:
IEEE 11073 SDC Status HL7 FHIR DeviceMetric.operationalStatus Comment
On on  
NotRdy off  
StndBy standby  
Off off  
Shtdn off  
Fail off  
Valuesets for MetricCategory:
IEEE 11073 SDC MetricCategory HL7 FHIR DeviceMetric.category Comment
Unspec unspecified  
Mrsmt measurement  
Clc calculation  
Set setting  
Preset unspecified  
Rcmm unspecified  
Valuesets for calibration state:
IEEE 11073 SDC ComponentCalibrationState HL7 FHIR DeviceMetric.calibration.state Comment
No not-calibrated  
Req calibration-required  
Run not-calibrated  
Cal calibrated  
Oth unspecified  
Valuesets for calibration type:
IEEE 11073 SDC ComponentCalibrationType HL7 FHIR DeviceMetric.calibration.type Comment
Offset offset  
Gain gain  
TP two-point  
Unspec unspecified  
Measurement Validity

Observed values in ISO/IEEE 11073 SDC include a field that indicates measurement validity. FHIR Observations do not have a single element for this purpose. Instead there is security metadata, dataAbsentReason for missing values, and interpretation to report significance of a result.
Measurement validity information is mapped to Resource.meta.security, Observation.dataAbsentReason or Observation.component.dataAbsentReason, and Observation.interpretation or Observation.component.interpretation elements. The interpretation value set binding is extended to add relevant codes from the Measurement status codes defined in this implementation guide.

MeasurementValidity meta.security dataAbsentReason interpretation
Vld REALIABLE    
Vldated HRELIABLE   validated-data
Ong   temp-unknown msmt-ongoing
Qst UNCERTREL   questionable
Calib UNCERTREL   calibration-ongoing
Inv UNRELIABLE error  
Oflw     >
Uflw     <
NA   not-performed  

Note that dataAbsentReason and interpretation are mutually exclusive: dataAbsentReason shall only be present if there is no observation value, whereas interpretation adds relevant information about an existing observation value.