HL7 FHIR Profile: Occupational Data for Health (ODH), Release 1, STU 1.2 (Standard for Trial Use)
1.2.0 - STU 1.2 US

This page is part of the Occupational Data for Health (ODH) FHIR IG (v1.2.0: STU 1.2 on FHIR R4) based on FHIR R4. This is the current published version in its permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions

Resource Profile: UsualWork - Mappings

Active as of 2020-01-04

Mappings for the odh-UsualWork resource profile.

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

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

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

UsualWork
Observation< 363787002 |Observable entity|
   status< 445584004 |Report by finality status|
   code< 363787002 |Observable entity| OR < 386053000 |Evaluation procedure|
   value[x]< 441742003 |Evaluation finding|
   value[x] (valueCodeableConcept)< 441742003 |Evaluation finding|
   component
      code< 363787002 |Observable entity| OR < 386053000 |Evaluation procedure|
      value[x]363714003 |Interprets| < 441742003 |Evaluation finding|
      interpretation< 260245000 |Findings values|
      referenceRange
   component (odh-UsualIndustry)
      code< 363787002 |Observable entity| OR < 386053000 |Evaluation procedure|
      value[x]363714003 |Interprets| < 441742003 |Evaluation finding|
   component (odh-UsualOccupationDuration)
      code< 363787002 |Observable entity| OR < 386053000 |Evaluation procedure|
      value[x]363714003 |Interprets| < 441742003 |Evaluation finding|

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

UsualWork
ObservationOBX
   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.
   basedOnORC
   partOfVaries by domain
   statusOBX-11
   category
      codingC*E.1-8, C*E.10-22
      coding (Fixed_social-history)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
   codeOBX-3
      codingC*E.1-8, C*E.10-22
      coding (Fixed_21843-8)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)
   effective[x] (effectivePeriod)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
   value[x] (valueCodeableConcept)OBX.2, OBX.5, OBX.6
      codingC*E.1-8, C*E.10-22
      coding (occupationCDCCensus2010)C*E.1-8, C*E.10-22
      coding (occupationONETSOCDetailODH)C*E.1-8, C*E.10-22
      coding (occupationCDCCensus2018)C*E.1-8, C*E.10-22
      textC*E.9. But note many systems use C*E.2 for this
   dataAbsentReasonN/A
   noteNTE.3 (partner NTE to OBX, or sometimes another (child?) OBX)
   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 (odh-UsualIndustry)containment by OBX-4?
      codeOBX-3
      value[x]OBX.2, OBX.5, OBX.6
         codingC*E.1-8, C*E.10-22
         coding (industryCDCCensus2010)C*E.1-8, C*E.10-22
         coding (industryONETSOCDetailODH)C*E.1-8, C*E.10-22
         coding (industryCDCCensus2018)C*E.1-8, C*E.10-22
         textC*E.9. But note many systems use C*E.2 for this
      dataAbsentReasonN/A
   component (odh-UsualOccupationDuration)containment by OBX-4?
      codeOBX-3
      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

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

UsualWork
ObservationEntity. Role, or Act, Observation[classCode=OBS, moodCode=EVN]
   textAct.text?
   containedN/A
   extensionN/A
   modifierExtensionN/A
   identifierid
   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
      idn/a
      extensionn/a
      codingunion(., ./translation)
      coding (Fixed_social-history)union(., ./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 (Fixed_21843-8)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]
   focusparticipation[typeCode=SBJ]
   encounterinboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN]
   effective[x]effectiveTime
   effective[x] (effectivePeriod)effectiveTime
   issuedparticipation[typeCode=AUT].time
   performerparticipation[typeCode=PRF]
   value[x]value
   value[x] (valueCodeableConcept)value
      idn/a
      extensionn/a
      codingunion(., ./translation)
      coding (occupationCDCCensus2010)union(., ./translation)
      coding (occupationONETSOCDetailODH)union(., ./translation)
      coding (occupationCDCCensus2018)union(., ./translation)
      text./originalText[mediaType/code="text/plain"]/data
   dataAbsentReasonvalue.nullFlavor
   notesubjectOf.observationEvent[code="annotation"].value
   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 (odh-UsualIndustry)outBoundRelationship[typeCode=COMP]
      idn/a
      extensionn/a
      modifierExtensionN/A
      codecode
      value[x]value
         idn/a
         extensionn/a
         codingunion(., ./translation)
         coding (industryCDCCensus2010)union(., ./translation)
         coding (industryONETSOCDetailODH)union(., ./translation)
         coding (industryCDCCensus2018)union(., ./translation)
         text./originalText[mediaType/code="text/plain"]/data
      dataAbsentReasonvalue.nullFlavor
   component (odh-UsualOccupationDuration)outBoundRelationship[typeCode=COMP]
      idn/a
      extensionn/a
      modifierExtensionN/A
      codecode
      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

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

UsualWork
Observation
   identifierFiveWs.identifier
   statusFiveWs.status
   categoryFiveWs.class
   codeFiveWs.what[x]
   subjectFiveWs.subject[x], FiveWs.subject
   focusFiveWs.subject[x], FiveWs.subject
   encounterFiveWs.context
   effective[x]FiveWs.done[x]
   effective[x] (effectivePeriod)FiveWs.done[x]
   issuedFiveWs.recorded
   performerFiveWs.actor
   component
      codeFiveWs.what[x]
   component (odh-UsualIndustry)
      codeFiveWs.what[x]
   component (odh-UsualOccupationDuration)
      codeFiveWs.what[x]

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

UsualWork
Observation
   code116680003 |Is a|
   value[x]363714003 |Interprets|
   value[x] (valueCodeableConcept)363714003 |Interprets|
   component
      value[x]363714003 |Interprets|
      interpretation363713009 |Has interpretation|
   component (odh-UsualIndustry)
      value[x]363714003 |Interprets|
   component (odh-UsualOccupationDuration)
      value[x]363714003 |Interprets|