Personal Health Device Implementation Guide
1.1.0 - STU 1 International flag

Personal Health Device Implementation Guide, published by HL7 International / Health Care Devices. This guide is not an authorized publication; it is the continuous build for version 1.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/phd/ and changes regularly. See the Directory of published versions

Resource Profile: PhdNumericObservation - Mappings

Draft as of 2017-06-02

Mappings for the PhdNumericObservation resource profile.

Mappings for Workflow Pattern (http://hl7.org/fhir/workflow)

PhdNumericObservation
ObservationEvent
   identifierEvent.identifier
   identifier (conditionalCreate)Event.identifier
   basedOnEvent.basedOn
   partOfEvent.partOf
   statusEvent.status
   codeEvent.code
   subjectEvent.subject
   encounterEvent.context
   effective[x]Event.occurrence[x]
   performerEvent.performer.actor

Mappings for SNOMED CT Concept Domain Binding (http://snomed.info/conceptdomain)

PhdNumericObservation
Observation< 363787002 |Observable entity|
   status< 445584004 |Report by finality status|
   code< 363787002 |Observable entity| OR < 386053000 |Evaluation procedure|
   value[x]< 441742003 |Evaluation finding|
   interpretation< 260245000 |Findings values|
   bodySite< 123037004 |Body structure|
   specimen< 123038009 |Specimen|
   device< 49062001 |Device|
   referenceRange
      type< 260245000 |Findings values| OR < 365860008 |General clinical state finding| OR < 250171008 |Clinical history or observation findings| OR < 415229000 |Racial group| OR < 365400002 |Finding of puberty stage| OR < 443938003 |Procedure carried out on subject|
      appliesTo< 260245000 |Findings values| OR < 365860008 |General clinical state finding| OR < 250171008 |Clinical history or observation findings| OR < 415229000 |Racial group| OR < 365400002 |Finding of puberty stage| OR < 443938003 |Procedure carried out on subject|
   component
      code< 363787002 |Observable entity| OR < 386053000 |Evaluation procedure|
      value[x]363714003 |Interprets| < 441742003 |Evaluation finding|
      interpretation< 260245000 |Findings values|
   component (supplementalTypesComponent)
      code< 363787002 |Observable entity| OR < 386053000 |Evaluation procedure|
      value[x]363714003 |Interprets| < 441742003 |Evaluation finding|
      value[x] (valueCodeableConcept)363714003 |Interprets| < 441742003 |Evaluation finding|
      interpretation< 260245000 |Findings values|
   component (relativeTimeComponent)
      code< 363787002 |Observable entity| OR < 386053000 |Evaluation procedure|
      value[x]363714003 |Interprets| < 441742003 |Evaluation finding|
      value[x] (valueQuantity)363714003 |Interprets| < 441742003 |Evaluation finding|
      interpretation< 260245000 |Findings values|
   component (hiresRelativeTimeComponent)
      code< 363787002 |Observable entity| OR < 386053000 |Evaluation procedure|
      value[x]363714003 |Interprets| < 441742003 |Evaluation finding|
      value[x] (valueQuantity)363714003 |Interprets| < 441742003 |Evaluation finding|
      interpretation< 260245000 |Findings values|
   component (accuracyComponent)
      code< 363787002 |Observable entity| OR < 386053000 |Evaluation procedure|
      value[x]363714003 |Interprets| < 441742003 |Evaluation finding|
      value[x] (valueQuantity)363714003 |Interprets| < 441742003 |Evaluation finding|
      interpretation< 260245000 |Findings values|
   component (alertOpStateComponent)
      code< 363787002 |Observable entity| OR < 386053000 |Evaluation procedure|
      value[x]363714003 |Interprets| < 441742003 |Evaluation finding|
      interpretation< 260245000 |Findings values|
   component (currentLimitsComponent)
      code< 363787002 |Observable entity| OR < 386053000 |Evaluation procedure|
      value[x]363714003 |Interprets| < 441742003 |Evaluation finding|
      interpretation< 260245000 |Findings values|
   component (alertOpTextStringComponent)
      code< 363787002 |Observable entity| OR < 386053000 |Evaluation procedure|
      value[x]363714003 |Interprets| < 441742003 |Evaluation finding|
      value[x] (valueString)363714003 |Interprets| < 441742003 |Evaluation finding|
      interpretation< 260245000 |Findings values|
   component (measurementConfidence95Component)
      code< 363787002 |Observable entity| OR < 386053000 |Evaluation procedure|
      value[x]363714003 |Interprets| < 441742003 |Evaluation finding|
      interpretation< 260245000 |Findings values|
   component (thresholdNotificationTextStringComponent)
      code< 363787002 |Observable entity| OR < 386053000 |Evaluation procedure|
      value[x]363714003 |Interprets| < 441742003 |Evaluation finding|
      value[x] (valueString)363714003 |Interprets| < 441742003 |Evaluation finding|
      interpretation< 260245000 |Findings values|

Mappings for HL7 v2 Mapping (http://hl7.org/v2)

PhdNumericObservation
ObservationOBX
   meta
      security
      security (PhdHtest)
         systemC*E.3
         versionC*E.7
         codeC*E.1
         displayC*E.2 - but note this is not well followed
         userSelectedSometimes implied by being first
   identifierOBX.21 For OBX segments from systems without OBX-21 support a combination of ORC/OBR and OBX must be negotiated between trading partners to uniquely identify the OBX segment. Depending on how V2 has been implemented each of these may be an option: 1) OBR-3 + OBX-3 + OBX-4 or 2) OBR-3 + OBR-4 + OBX-3 + OBX-4 or 2) some other way to uniquely ID the OBR/ORC + OBX-3 + OBX-4.
   identifier (conditionalCreate)OBX.21 For OBX segments from systems without OBX-21 support a combination of ORC/OBR and OBX must be negotiated between trading partners to uniquely identify the OBX segment. Depending on how V2 has been implemented each of these may be an option: 1) OBR-3 + OBX-3 + OBX-4 or 2) OBR-3 + OBR-4 + OBX-3 + OBX-4 or 2) some other way to uniquely ID the OBR/ORC + OBX-3 + OBX-4.
      useN/A
      valueCX.1 / EI.1
      periodCX.7 + CX.8
      assignerCX.4 / (CX.4,CX.9,CX.10)
   basedOnORC
   partOfVaries by domain
   statusOBX-11
   category
   category (PHD-Observation)
      codingC*E.1-8, C*E.10-22
         systemC*E.3
         versionC*E.7
         codeC*E.1
         displayC*E.2 - but note this is not well followed
         userSelectedSometimes implied by being first
      textC*E.9. But note many systems use C*E.2 for this
   category (VSCat)
      codingC*E.1-8, C*E.10-22
         systemC*E.3
         versionC*E.7
         codeC*E.1
         displayC*E.2 - but note this is not well followed
         userSelectedSometimes implied by being first
      textC*E.9. But note many systems use C*E.2 for this
   codeOBX-3
      codingC*E.1-8, C*E.10-22
      coding (MDCType)C*E.1-8, C*E.10-22
         systemC*E.3
         versionC*E.7
         codeC*E.1
         displayC*E.2 - but note this is not well followed
         userSelectedSometimes implied by being first
      coding (LoincCoding)C*E.1-8, C*E.10-22
         systemC*E.3
         versionC*E.7
         codeC*E.1
         displayC*E.2 - but note this is not well followed
         userSelectedSometimes implied by being first
      textC*E.9. But note many systems use C*E.2 for this
   subjectPID-3
   focusOBX-3
   encounterPV1
   effective[x]OBX-14, and/or OBX-19 after v2.4 (depends on who observation made)
   issuedOBR.22 (or MSH.7), or perhaps OBX-19 (depends on who observation made)
   performerOBX.15 / (Practitioner) OBX-16, PRT-5:PRT-4='RO' / (Device) OBX-18 , PRT-10:PRT-4='EQUIP' / (Organization) OBX-23, PRT-8:PRT-4='PO'
   value[x]OBX.2, OBX.5, OBX.6
      valueSN.2 / CQ - N/A
      comparatorSN.1 / CQ.1
      unit(see OBX.6 etc.) / CQ.2
      system(see OBX.6 etc.) / CQ.2
      code(see OBX.6 etc.) / CQ.2
   dataAbsentReasonN/A
      codingC*E.1-8, C*E.10-22
      coding (FhirDefault)C*E.1-8, C*E.10-22
         systemC*E.3
         versionC*E.7
         codeC*E.1
         displayC*E.2 - but note this is not well followed
         userSelectedSometimes implied by being first
      textC*E.9. But note many systems use C*E.2 for this
   interpretationOBX-8
      codingC*E.1-8, C*E.10-22
      coding (MsmtStatusInterpretation)C*E.1-8, C*E.10-22
         systemC*E.3
         versionC*E.7
         codeC*E.1
         displayC*E.2 - but note this is not well followed
         userSelectedSometimes implied by being first
      textC*E.9. But note many systems use C*E.2 for this
   noteNTE.3 (partner NTE to OBX, or sometimes another (child?) OBX)
   bodySiteOBX-20
   methodOBX-17
   specimenSPM segment
   deviceOBX-17 / PRT -10
   referenceRangeOBX.7
      lowOBX-7
      highOBX-7
      typeOBX-10
      appliesToOBX-10
      textOBX-7
   hasMemberRelationships established by OBX-4 usage
   derivedFromRelationships established by OBX-4 usage
   componentcontainment by OBX-4?
      codeOBX-3
      value[x]OBX.2, OBX.5, OBX.6
      dataAbsentReasonN/A
      interpretationOBX-8
      referenceRangeOBX.7
   component (supplementalTypesComponent)containment by OBX-4?
      codeOBX-3
         codingC*E.1-8, C*E.10-22
         coding (MdcType)C*E.1-8, C*E.10-22
            systemC*E.3
            versionC*E.7
            codeC*E.1
            displayC*E.2 - but note this is not well followed
            userSelectedSometimes implied by being first
         textC*E.9. But note many systems use C*E.2 for this
      value[x]OBX.2, OBX.5, OBX.6
      value[x] (valueCodeableConcept)OBX.2, OBX.5, OBX.6
         codingC*E.1-8, C*E.10-22
         coding (MDCType)C*E.1-8, C*E.10-22
            systemC*E.3
            versionC*E.7
            codeC*E.1
            displayC*E.2 - but note this is not well followed
            userSelectedSometimes implied by being first
         textC*E.9. But note many systems use C*E.2 for this
      interpretationOBX-8
      referenceRangeOBX.7
   component (relativeTimeComponent)containment by OBX-4?
      codeOBX-3
         codingC*E.1-8, C*E.10-22
         coding (MdcType)C*E.1-8, C*E.10-22
            systemC*E.3
            versionC*E.7
            codeC*E.1
            displayC*E.2 - but note this is not well followed
            userSelectedSometimes implied by being first
         textC*E.9. But note many systems use C*E.2 for this
      value[x]OBX.2, OBX.5, OBX.6
      value[x] (valueQuantity)OBX.2, OBX.5, OBX.6
         valueSN.2 / CQ - N/A
         comparatorSN.1 / CQ.1
         unit(see OBX.6 etc.) / CQ.2
         system(see OBX.6 etc.) / CQ.2
         code(see OBX.6 etc.) / CQ.2
      interpretationOBX-8
      referenceRangeOBX.7
   component (hiresRelativeTimeComponent)containment by OBX-4?
      codeOBX-3
         codingC*E.1-8, C*E.10-22
         coding (MdcType)C*E.1-8, C*E.10-22
            systemC*E.3
            versionC*E.7
            codeC*E.1
            displayC*E.2 - but note this is not well followed
            userSelectedSometimes implied by being first
         textC*E.9. But note many systems use C*E.2 for this
      value[x]OBX.2, OBX.5, OBX.6
      value[x] (valueQuantity)OBX.2, OBX.5, OBX.6
         valueSN.2 / CQ - N/A
         comparatorSN.1 / CQ.1
         unit(see OBX.6 etc.) / CQ.2
         system(see OBX.6 etc.) / CQ.2
         code(see OBX.6 etc.) / CQ.2
      interpretationOBX-8
      referenceRangeOBX.7
   component (accuracyComponent)containment by OBX-4?
      codeOBX-3
         codingC*E.1-8, C*E.10-22
         coding (MdcType)C*E.1-8, C*E.10-22
            systemC*E.3
            versionC*E.7
            codeC*E.1
            displayC*E.2 - but note this is not well followed
            userSelectedSometimes implied by being first
         textC*E.9. But note many systems use C*E.2 for this
      value[x]OBX.2, OBX.5, OBX.6
      value[x] (valueQuantity)OBX.2, OBX.5, OBX.6
         valueSN.2 / CQ - N/A
         comparatorSN.1 / CQ.1
         unit(see OBX.6 etc.) / CQ.2
         system(see OBX.6 etc.) / CQ.2
         code(see OBX.6 etc.) / CQ.2
      interpretationOBX-8
      referenceRangeOBX.7
   component (alertOpStateComponent)containment by OBX-4?
      codeOBX-3
         codingC*E.1-8, C*E.10-22
            systemC*E.3
            versionC*E.7
            codeC*E.1
            displayC*E.2 - but note this is not well followed
            userSelectedSometimes implied by being first
         textC*E.9. But note many systems use C*E.2 for this
      value[x]OBX.2, OBX.5, OBX.6
         codingC*E.1-8, C*E.10-22
         coding (V2Binary)C*E.1-8, C*E.10-22
            systemC*E.3
            versionC*E.7
            codeC*E.1
            displayC*E.2 - but note this is not well followed
            userSelectedSometimes implied by being first
         textC*E.9. But note many systems use C*E.2 for this
      interpretationOBX-8
      referenceRangeOBX.7
   component (currentLimitsComponent)containment by OBX-4?
      codeOBX-3
         codingC*E.1-8, C*E.10-22
         coding (MdcType)C*E.1-8, C*E.10-22
            systemC*E.3
            versionC*E.7
            codeC*E.1
            displayC*E.2 - but note this is not well followed
            userSelectedSometimes implied by being first
         textC*E.9. But note many systems use C*E.2 for this
      value[x]OBX.2, OBX.5, OBX.6
         lowNR.1
            valueSN.2 / CQ - N/A
            unit(see OBX.6 etc.) / CQ.2
            system(see OBX.6 etc.) / CQ.2
            code(see OBX.6 etc.) / CQ.2
         highNR.2
            valueSN.2 / CQ - N/A
            unit(see OBX.6 etc.) / CQ.2
            system(see OBX.6 etc.) / CQ.2
            code(see OBX.6 etc.) / CQ.2
      interpretationOBX-8
      referenceRangeOBX.7
   component (alertOpTextStringComponent)containment by OBX-4?
      codeOBX-3
         codingC*E.1-8, C*E.10-22
         coding (MdcType)C*E.1-8, C*E.10-22
            systemC*E.3
            versionC*E.7
            codeC*E.1
            displayC*E.2 - but note this is not well followed
            userSelectedSometimes implied by being first
         textC*E.9. But note many systems use C*E.2 for this
      value[x]OBX.2, OBX.5, OBX.6
      value[x] (valueString)OBX.2, OBX.5, OBX.6
      interpretationOBX-8
      referenceRangeOBX.7
   component (measurementConfidence95Component)containment by OBX-4?
      codeOBX-3
         codingC*E.1-8, C*E.10-22
         coding (MdcType)C*E.1-8, C*E.10-22
            systemC*E.3
            versionC*E.7
            codeC*E.1
            displayC*E.2 - but note this is not well followed
            userSelectedSometimes implied by being first
         textC*E.9. But note many systems use C*E.2 for this
      value[x]OBX.2, OBX.5, OBX.6
         lowNR.1
            valueSN.2 / CQ - N/A
            unit(see OBX.6 etc.) / CQ.2
            system(see OBX.6 etc.) / CQ.2
            code(see OBX.6 etc.) / CQ.2
         highNR.2
            valueSN.2 / CQ - N/A
            unit(see OBX.6 etc.) / CQ.2
            system(see OBX.6 etc.) / CQ.2
            code(see OBX.6 etc.) / CQ.2
      interpretationOBX-8
      referenceRangeOBX.7
   component (thresholdNotificationTextStringComponent)containment by OBX-4?
      codeOBX-3
         codingC*E.1-8, C*E.10-22
         coding (MdcType)C*E.1-8, C*E.10-22
            systemC*E.3
            versionC*E.7
            codeC*E.1
            displayC*E.2 - but note this is not well followed
            userSelectedSometimes implied by being first
         textC*E.9. But note many systems use C*E.2 for this
      value[x]OBX.2, OBX.5, OBX.6
      value[x] (valueString)OBX.2, OBX.5, OBX.6
      interpretationOBX-8
      referenceRangeOBX.7

Mappings for RIM Mapping (http://hl7.org/v3)

PhdNumericObservation
ObservationEntity. Role, or Act, Observation[classCode=OBS, moodCode=EVN]
   meta
      idn/a
      extensionn/a
      security
      security (PhdHtest)
         idn/a
         extensionn/a
         system./codeSystem
         version./codeSystemVersion
         code./code
         displayCV.displayName
         userSelectedCD.codingRationale
   textAct.text?
   containedN/A
   extension
      idn/a
      urlN/A
      value[x]N/A
   modifierExtensionN/A
   identifierid
   identifier (conditionalCreate)id
      idn/a
      extensionn/a
      useRole.code or implied by context
      valueII.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
      periodRole.effectiveTime or implied by context
      assignerII.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
   basedOn.inboundRelationship[typeCode=COMP].source[moodCode=EVN]
   partOf.outboundRelationship[typeCode=FLFS].target
   statusstatus Amended & Final are differentiated by whether it is the subject of a ControlAct event with a type of "revise"
   category.outboundRelationship[typeCode="COMP].target[classCode="LIST", moodCode="EVN"].code
   category (PHD-Observation).outboundRelationship[typeCode="COMP].target[classCode="LIST", moodCode="EVN"].code
      idn/a
      extensionn/a
      codingunion(., ./translation)
         idn/a
         extensionn/a
         system./codeSystem
         version./codeSystemVersion
         code./code
         displayCV.displayName
         userSelectedCD.codingRationale
      text./originalText[mediaType/code="text/plain"]/data
   category (VSCat).outboundRelationship[typeCode="COMP].target[classCode="LIST", moodCode="EVN"].code
      idn/a
      extensionn/a
      codingunion(., ./translation)
         idn/a
         extensionn/a
         system./codeSystem
         version./codeSystemVersion
         code./code
         displayCV.displayName
         userSelectedCD.codingRationale
      text./originalText[mediaType/code="text/plain"]/data
   codecode
      idn/a
      extensionn/a
      codingunion(., ./translation)
      coding (MDCType)union(., ./translation)
         idn/a
         extensionn/a
         system./codeSystem
         version./codeSystemVersion
         code./code
         displayCV.displayName
         userSelectedCD.codingRationale
      coding (LoincCoding)union(., ./translation)
         idn/a
         extensionn/a
         system./codeSystem
         version./codeSystemVersion
         code./code
         displayCV.displayName
         userSelectedCD.codingRationale
      text./originalText[mediaType/code="text/plain"]/data
   subjectparticipation[typeCode=RTGT]
      idn/a
      extensionn/a
      referenceN/A
      typeN/A
      identifier.identifier
      displayN/A
   focusparticipation[typeCode=SBJ]
   encounterinboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN]
   effective[x]effectiveTime
   issuedparticipation[typeCode=AUT].time
   performerparticipation[typeCode=PRF]
   value[x]value
      idn/a
      extensionn/a
      valuePQ.value, CO.value, MO.value, IVL.high or IVL.low depending on the value
      comparatorIVL properties
      unitPQ.unit
      systemCO.codeSystem, PQ.translation.codeSystem
      codePQ.code, MO.currency, PQ.translation.code
   dataAbsentReasonvalue.nullFlavor
      idn/a
      extensionn/a
      codingunion(., ./translation)
      coding (FhirDefault)union(., ./translation)
         idn/a
         extensionn/a
         system./codeSystem
         version./codeSystemVersion
         code./code
         displayCV.displayName
         userSelectedCD.codingRationale
      text./originalText[mediaType/code="text/plain"]/data
   interpretationinterpretationCode
      idn/a
      extensionn/a
      codingunion(., ./translation)
      coding (MsmtStatusInterpretation)union(., ./translation)
         idn/a
         extensionn/a
         system./codeSystem
         version./codeSystemVersion
         code./code
         displayCV.displayName
         userSelectedCD.codingRationale
      text./originalText[mediaType/code="text/plain"]/data
   notesubjectOf.observationEvent[code="annotation"].value
   bodySitetargetSiteCode
   methodmethodCode
   specimenparticipation[typeCode=SPC].specimen
   deviceparticipation[typeCode=DEV]
      idn/a
      extensionn/a
      referenceN/A
      typeN/A
      identifier.identifier
      displayN/A
   referenceRangeoutboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]
      idn/a
      extensionn/a
      modifierExtensionN/A
      lowvalue:IVL_PQ.low
      highvalue:IVL_PQ.high
      typeinterpretationCode
      appliesTointerpretationCode
      ageoutboundRelationship[typeCode=PRCN].targetObservationCriterion[code="age"].value
      textvalue:ST
   hasMemberoutBoundRelationship
   derivedFrom.targetObservation
   componentoutBoundRelationship[typeCode=COMP]
      idn/a
      extensionn/a
      modifierExtensionN/A
      codecode
      value[x]value
      dataAbsentReasonvalue.nullFlavor
      interpretationinterpretationCode
      referenceRangeoutboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]
   component (supplementalTypesComponent)outBoundRelationship[typeCode=COMP]
      idn/a
      extensionn/a
      modifierExtensionN/A
      codecode
         idn/a
         extensionn/a
         codingunion(., ./translation)
         coding (MdcType)union(., ./translation)
            idn/a
            extensionn/a
            system./codeSystem
            version./codeSystemVersion
            code./code
            displayCV.displayName
            userSelectedCD.codingRationale
         text./originalText[mediaType/code="text/plain"]/data
      value[x]value
      value[x] (valueCodeableConcept)value
         idn/a
         extensionn/a
         codingunion(., ./translation)
         coding (MDCType)union(., ./translation)
            idn/a
            extensionn/a
            system./codeSystem
            version./codeSystemVersion
            code./code
            displayCV.displayName
            userSelectedCD.codingRationale
         text./originalText[mediaType/code="text/plain"]/data
      interpretationinterpretationCode
      referenceRangeoutboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]
   component (relativeTimeComponent)outBoundRelationship[typeCode=COMP]
      idn/a
      extensionn/a
      modifierExtensionN/A
      codecode
         idn/a
         extensionn/a
         codingunion(., ./translation)
         coding (MdcType)union(., ./translation)
            idn/a
            extensionn/a
            system./codeSystem
            version./codeSystemVersion
            code./code
            displayCV.displayName
            userSelectedCD.codingRationale
         text./originalText[mediaType/code="text/plain"]/data
      value[x]value
      value[x] (valueQuantity)value
         idn/a
         extensionn/a
         valuePQ.value, CO.value, MO.value, IVL.high or IVL.low depending on the value
         comparatorIVL properties
         unitPQ.unit
         systemCO.codeSystem, PQ.translation.codeSystem
         codePQ.code, MO.currency, PQ.translation.code
      interpretationinterpretationCode
      referenceRangeoutboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]
   component (hiresRelativeTimeComponent)outBoundRelationship[typeCode=COMP]
      idn/a
      extensionn/a
      modifierExtensionN/A
      codecode
         idn/a
         extensionn/a
         codingunion(., ./translation)
         coding (MdcType)union(., ./translation)
            idn/a
            extensionn/a
            system./codeSystem
            version./codeSystemVersion
            code./code
            displayCV.displayName
            userSelectedCD.codingRationale
         text./originalText[mediaType/code="text/plain"]/data
      value[x]value
      value[x] (valueQuantity)value
         idn/a
         extensionn/a
         valuePQ.value, CO.value, MO.value, IVL.high or IVL.low depending on the value
         comparatorIVL properties
         unitPQ.unit
         systemCO.codeSystem, PQ.translation.codeSystem
         codePQ.code, MO.currency, PQ.translation.code
      interpretationinterpretationCode
      referenceRangeoutboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]
   component (accuracyComponent)outBoundRelationship[typeCode=COMP]
      idn/a
      extensionn/a
      modifierExtensionN/A
      codecode
         idn/a
         extensionn/a
         codingunion(., ./translation)
         coding (MdcType)union(., ./translation)
            idn/a
            extensionn/a
            system./codeSystem
            version./codeSystemVersion
            code./code
            displayCV.displayName
            userSelectedCD.codingRationale
         text./originalText[mediaType/code="text/plain"]/data
      value[x]value
      value[x] (valueQuantity)value
         idn/a
         extensionn/a
         valuePQ.value, CO.value, MO.value, IVL.high or IVL.low depending on the value
         comparatorIVL properties
         unitPQ.unit
         systemCO.codeSystem, PQ.translation.codeSystem
         codePQ.code, MO.currency, PQ.translation.code
      interpretationinterpretationCode
      referenceRangeoutboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]
   component (alertOpStateComponent)outBoundRelationship[typeCode=COMP]
      idn/a
      extensionn/a
      modifierExtensionN/A
      codecode
         idn/a
         extensionn/a
         codingunion(., ./translation)
            idn/a
            extensionn/a
            system./codeSystem
            version./codeSystemVersion
            code./code
            displayCV.displayName
            userSelectedCD.codingRationale
         text./originalText[mediaType/code="text/plain"]/data
      value[x]value
         idn/a
         extensionn/a
         codingunion(., ./translation)
         coding (V2Binary)union(., ./translation)
            idn/a
            extensionn/a
            system./codeSystem
            version./codeSystemVersion
            code./code
            displayCV.displayName
            userSelectedCD.codingRationale
         text./originalText[mediaType/code="text/plain"]/data
      interpretationinterpretationCode
      referenceRangeoutboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]
   component (currentLimitsComponent)outBoundRelationship[typeCode=COMP]
      idn/a
      extensionn/a
      modifierExtensionN/A
      codecode
         idn/a
         extensionn/a
         codingunion(., ./translation)
         coding (MdcType)union(., ./translation)
            idn/a
            extensionn/a
            system./codeSystem
            version./codeSystemVersion
            code./code
            displayCV.displayName
            userSelectedCD.codingRationale
         text./originalText[mediaType/code="text/plain"]/data
      value[x]value
         idn/a
         extensionn/a
         low./low
            idn/a
            extensionn/a
            valuePQ.value, CO.value, MO.value, IVL.high or IVL.low depending on the value
            unitPQ.unit
            systemCO.codeSystem, PQ.translation.codeSystem
            codePQ.code, MO.currency, PQ.translation.code
         high./high
            idn/a
            extensionn/a
            valuePQ.value, CO.value, MO.value, IVL.high or IVL.low depending on the value
            unitPQ.unit
            systemCO.codeSystem, PQ.translation.codeSystem
            codePQ.code, MO.currency, PQ.translation.code
      interpretationinterpretationCode
      referenceRangeoutboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]
   component (alertOpTextStringComponent)outBoundRelationship[typeCode=COMP]
      idn/a
      extensionn/a
      modifierExtensionN/A
      codecode
         idn/a
         extensionn/a
         codingunion(., ./translation)
         coding (MdcType)union(., ./translation)
            idn/a
            extensionn/a
            system./codeSystem
            version./codeSystemVersion
            code./code
            displayCV.displayName
            userSelectedCD.codingRationale
         text./originalText[mediaType/code="text/plain"]/data
      value[x]value
      value[x] (valueString)value
      interpretationinterpretationCode
      referenceRangeoutboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]
   component (measurementConfidence95Component)outBoundRelationship[typeCode=COMP]
      idn/a
      extensionn/a
      modifierExtensionN/A
      codecode
         idn/a
         extensionn/a
         codingunion(., ./translation)
         coding (MdcType)union(., ./translation)
            idn/a
            extensionn/a
            system./codeSystem
            version./codeSystemVersion
            code./code
            displayCV.displayName
            userSelectedCD.codingRationale
         text./originalText[mediaType/code="text/plain"]/data
      value[x]value
         idn/a
         extensionn/a
         low./low
            idn/a
            extensionn/a
            valuePQ.value, CO.value, MO.value, IVL.high or IVL.low depending on the value
            unitPQ.unit
            systemCO.codeSystem, PQ.translation.codeSystem
            codePQ.code, MO.currency, PQ.translation.code
         high./high
            idn/a
            extensionn/a
            valuePQ.value, CO.value, MO.value, IVL.high or IVL.low depending on the value
            unitPQ.unit
            systemCO.codeSystem, PQ.translation.codeSystem
            codePQ.code, MO.currency, PQ.translation.code
      interpretationinterpretationCode
      referenceRangeoutboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]
   component (thresholdNotificationTextStringComponent)outBoundRelationship[typeCode=COMP]
      idn/a
      extensionn/a
      modifierExtensionN/A
      codecode
         idn/a
         extensionn/a
         codingunion(., ./translation)
         coding (MdcType)union(., ./translation)
            idn/a
            extensionn/a
            system./codeSystem
            version./codeSystemVersion
            code./code
            displayCV.displayName
            userSelectedCD.codingRationale
         text./originalText[mediaType/code="text/plain"]/data
      value[x]value
      value[x] (valueString)value
      interpretationinterpretationCode
      referenceRangeoutboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]

Mappings for FiveWs Pattern Mapping (http://hl7.org/fhir/fivews)

PhdNumericObservation
Observation
   identifierFiveWs.identifier
   identifier (conditionalCreate)FiveWs.identifier
   statusFiveWs.status
   categoryFiveWs.class
   category (PHD-Observation)FiveWs.class
   category (VSCat)FiveWs.class
   codeFiveWs.what[x]
   subjectFiveWs.subject[x], FiveWs.subject
   focusFiveWs.subject[x], FiveWs.subject
   encounterFiveWs.context
   effective[x]FiveWs.done[x]
   issuedFiveWs.recorded
   performerFiveWs.actor
   component
      codeFiveWs.what[x]
   component (supplementalTypesComponent)
      codeFiveWs.what[x]
   component (relativeTimeComponent)
      codeFiveWs.what[x]
   component (hiresRelativeTimeComponent)
      codeFiveWs.what[x]
   component (accuracyComponent)
      codeFiveWs.what[x]
   component (alertOpStateComponent)
      codeFiveWs.what[x]
   component (currentLimitsComponent)
      codeFiveWs.what[x]
   component (alertOpTextStringComponent)
      codeFiveWs.what[x]
   component (measurementConfidence95Component)
      codeFiveWs.what[x]
   component (thresholdNotificationTextStringComponent)
      codeFiveWs.what[x]

Mappings for SNOMED CT Attribute Binding (http://snomed.org/attributebinding)

PhdNumericObservation
Observation
   code116680003 |Is a|
   value[x]363714003 |Interprets|
   interpretation363713009 |Has interpretation|
   bodySite718497002 |Inherent location|
   specimen704319004 |Inherent in|
   device424226004 |Using device|
   component
      value[x]363714003 |Interprets|
      interpretation363713009 |Has interpretation|
   component (supplementalTypesComponent)
      value[x]363714003 |Interprets|
      value[x] (valueCodeableConcept)363714003 |Interprets|
      interpretation363713009 |Has interpretation|
   component (relativeTimeComponent)
      value[x]363714003 |Interprets|
      value[x] (valueQuantity)363714003 |Interprets|
      interpretation363713009 |Has interpretation|
   component (hiresRelativeTimeComponent)
      value[x]363714003 |Interprets|
      value[x] (valueQuantity)363714003 |Interprets|
      interpretation363713009 |Has interpretation|
   component (accuracyComponent)
      value[x]363714003 |Interprets|
      value[x] (valueQuantity)363714003 |Interprets|
      interpretation363713009 |Has interpretation|
   component (alertOpStateComponent)
      value[x]363714003 |Interprets|
      interpretation363713009 |Has interpretation|
   component (currentLimitsComponent)
      value[x]363714003 |Interprets|
      interpretation363713009 |Has interpretation|
   component (alertOpTextStringComponent)
      value[x]363714003 |Interprets|
      value[x] (valueString)363714003 |Interprets|
      interpretation363713009 |Has interpretation|
   component (measurementConfidence95Component)
      value[x]363714003 |Interprets|
      interpretation363713009 |Has interpretation|
   component (thresholdNotificationTextStringComponent)
      value[x]363714003 |Interprets|
      value[x] (valueString)363714003 |Interprets|
      interpretation363713009 |Has interpretation|