Personal Health Device Implementation Guide
2.0.1 - STU 2 International flag

Personal Health Device Implementation Guide, published by HL7 International / Devices. This guide is not an authorized publication; it is the continuous build for version 2.0.1 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: PhdStringObservation - Mappings

Page standards status: Trial-use Maturity Level: 2

Mappings for the PhdStringObservation resource profile.

Mappings to Structures in this Implementation Guide

No Mappings Found

Mappings to other Structures

No Mappings Found

Other Mappings

NameMapping for PhdStringObservationWorkflow PatternSNOMED CT Concept Domain BindingHL7 v2 MappingRIM MappingFiveWs Pattern MappingSNOMED CT Attribute Bindingdoco
Observation
ACOM
Event
< 363787002 |Observable entity|
OBX
  • Observation[classCode=OBS
  • moodCode=EVN]
Observation / id
Observation / meta
Observation / meta / id
n/a
Observation / meta / extension
n/a
Observation / meta / versionId
Observation / meta / lastUpdated
Observation / meta / source
Observation / meta / profile
Observation / meta / Slices for security
Observation / meta / Slices for security / security:PhdHtest
Observation / meta / Slices for security / security:PhdHtest / id
n/a
Observation / meta / Slices for security / security:PhdHtest / extension
n/a
Observation / meta / Slices for security / security:PhdHtest / system
C*E.3
./codeSystem
Observation / meta / Slices for security / security:PhdHtest / version
C*E.7
./codeSystemVersion
Observation / meta / Slices for security / security:PhdHtest / code
C*E.1
./code
Observation / meta / Slices for security / security:PhdHtest / display
C*E.2 - but note this is not well followed
CV.displayName
Observation / meta / Slices for security / security:PhdHtest / userSelected
Sometimes implied by being first
CD.codingRationale
Observation / meta / tag
Observation / implicitRules
Observation / language
Observation / text
Act.text?
Observation / contained
N/A
Observation / Slices for extension
Observation / Slices for extension / extension:GatewayDevice
Observation / Slices for extension / extension:GatewayDevice / id
n/a
Observation / Slices for extension / extension:GatewayDevice / extension
Observation / Slices for extension / extension:GatewayDevice / url
N/A
Observation / Slices for extension / extension:GatewayDevice / value[x]
N/A
Observation / Slices for extension / extension:CoincidentTimeStamp
Observation / modifierExtension
N/A
Observation / Slices for identifier
Event.identifier
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.
id
FiveWs.identifier
Observation / Slices for identifier / identifier:conditionalCreate
Event.identifier
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.
id
FiveWs.identifier
Observation / Slices for identifier / identifier:conditionalCreate / id
n/a
Observation / Slices for identifier / identifier:conditionalCreate / extension
n/a
Observation / Slices for identifier / identifier:conditionalCreate / use
N/A
Role.code or implied by context
Observation / Slices for identifier / identifier:conditionalCreate / type
CX.5
Role.code or implied by context
Observation / Slices for identifier / identifier:conditionalCreate / system
CX.4 / EI-2-4
II.root or Role.id.root
Observation / Slices for identifier / identifier:conditionalCreate / value
CX.1 / EI.1
II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
Observation / Slices for identifier / identifier:conditionalCreate / period
CX.7 + CX.8
Role.effectiveTime or implied by context
Observation / Slices for identifier / identifier:conditionalCreate / assigner
  • CX.4 / (CX.4
  • CX.9
  • CX.10)
II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
Observation / basedOn
Event.basedOn
ORC
.inboundRelationship[typeCode=COMP].source[moodCode=EVN]
Observation / partOf
Event.partOf
Varies by domain
.outboundRelationship[typeCode=FLFS].target
Observation / status
Event.status
< 445584004 |Report by finality status|
OBX-11
status Amended & Final are differentiated by whether it is the subject of a ControlAct event with a type of "revise"
FiveWs.status
Observation / Slices for category
  • .outboundRelationship[typeCode="COMP].target[classCode="LIST"
  • moodCode="EVN"].code
FiveWs.class
Observation / Slices for category / category:PHD-Observation
  • .outboundRelationship[typeCode="COMP].target[classCode="LIST"
  • moodCode="EVN"].code
FiveWs.class
Observation / Slices for category / category:PHD-Observation / id
n/a
Observation / Slices for category / category:PHD-Observation / extension
n/a
Observation / Slices for category / category:PHD-Observation / coding
  • C*E.1-8
  • C*E.10-22
  • union(.
  • ./translation)
Observation / Slices for category / category:PHD-Observation / coding / id
n/a
Observation / Slices for category / category:PHD-Observation / coding / extension
n/a
Observation / Slices for category / category:PHD-Observation / coding / system
C*E.3
./codeSystem
Observation / Slices for category / category:PHD-Observation / coding / version
C*E.7
./codeSystemVersion
Observation / Slices for category / category:PHD-Observation / coding / code
C*E.1
./code
Observation / Slices for category / category:PHD-Observation / coding / display
C*E.2 - but note this is not well followed
CV.displayName
Observation / Slices for category / category:PHD-Observation / coding / userSelected
Sometimes implied by being first
CD.codingRationale
Observation / Slices for category / category:PHD-Observation / text
C*E.9. But note many systems use C*E.2 for this
./originalText[mediaType/code="text/plain"]/data
Observation / code
Event.code
< 363787002 |Observable entity| OR < 386053000 |Evaluation procedure|
OBX-3
code
FiveWs.what[x]
116680003 |Is a|
Observation / code / id
n/a
Observation / code / extension
n/a
Observation / code / coding
  • C*E.1-8
  • C*E.10-22
  • union(.
  • ./translation)
Observation / code / coding / id
n/a
Observation / code / coding / extension
n/a
Observation / code / coding / system
C*E.3
./codeSystem
Observation / code / coding / version
C*E.7
./codeSystemVersion
Observation / code / coding / code
C*E.1
./code
Observation / code / coding / display
C*E.2 - but note this is not well followed
CV.displayName
Observation / code / coding / userSelected
Sometimes implied by being first
CD.codingRationale
Observation / code / text
C*E.9. But note many systems use C*E.2 for this
./originalText[mediaType/code="text/plain"]/data
Observation / subject
Event.subject
PID-3
participation[typeCode=RTGT]
FiveWs.subject
Observation / focus
OBX-3
participation[typeCode=SBJ]
FiveWs.subject
Observation / encounter
Event.context
PV1
  • inboundRelationship[typeCode=COMP].source[classCode=ENC
  • moodCode=EVN]
FiveWs.context
Observation / Slices for effective[x]
Event.occurrence[x]
  • OBX-14
  • and/or OBX-19 after v2.4 (depends on who observation made)
effectiveTime
FiveWs.done[x]
Observation / Slices for effective[x] / effective[x]:effectiveDateTime
Event.occurrence[x]
  • OBX-14
  • and/or OBX-19 after v2.4 (depends on who observation made)
effectiveTime
FiveWs.done[x]
Observation / Slices for effective[x] / effective[x]:effectivePeriod
Event.occurrence[x]
  • OBX-14
  • and/or OBX-19 after v2.4 (depends on who observation made)
effectiveTime
FiveWs.done[x]
Observation / Slices for effective[x] / effective[x]:effectivePeriod / id
n/a
Observation / Slices for effective[x] / effective[x]:effectivePeriod / extension
n/a
Observation / Slices for effective[x] / effective[x]:effectivePeriod / start
DR.1
./low
Observation / Slices for effective[x] / effective[x]:effectivePeriod / end
DR.2
./high
Observation / issued
  • OBR.22 (or MSH.7)
  • or perhaps OBX-19 (depends on who observation made)
participation[typeCode=AUT].time
FiveWs.recorded
Observation / performer
Event.performer.actor
  • OBX.15 / (Practitioner) OBX-16
  • PRT-4='RO' / (Device) OBX-18
  • PRT-4='EQUIP' / (Organization) OBX-23
  • PRT-4='PO'
participation[typeCode=PRF]
FiveWs.actor
Observation / value[x]
StringObservation.value
< 441742003 |Evaluation finding|
  • OBX.2
  • OBX.5
  • OBX.6
value
363714003 |Interprets|
Observation / dataAbsentReason
N/A
value.nullFlavor
Observation / dataAbsentReason / id
n/a
Observation / dataAbsentReason / extension
n/a
Observation / dataAbsentReason / coding
  • C*E.1-8
  • C*E.10-22
  • union(.
  • ./translation)
Observation / dataAbsentReason / text
C*E.9. But note many systems use C*E.2 for this
./originalText[mediaType/code="text/plain"]/data
Observation / interpretation
< 260245000 |Findings values|
OBX-8
interpretationCode
363713009 |Has interpretation|
Observation / interpretation / id
n/a
Observation / interpretation / extension
n/a
Observation / interpretation / Slices for coding
  • C*E.1-8
  • C*E.10-22
  • union(.
  • ./translation)
Observation / interpretation / Slices for coding / coding:MsmtStatusInterpretation
  • C*E.1-8
  • C*E.10-22
  • union(.
  • ./translation)
Observation / interpretation / Slices for coding / coding:MsmtStatusInterpretation / id
n/a
Observation / interpretation / Slices for coding / coding:MsmtStatusInterpretation / extension
n/a
Observation / interpretation / Slices for coding / coding:MsmtStatusInterpretation / system
C*E.3
./codeSystem
Observation / interpretation / Slices for coding / coding:MsmtStatusInterpretation / version
C*E.7
./codeSystemVersion
Observation / interpretation / Slices for coding / coding:MsmtStatusInterpretation / code
C*E.1
./code
Observation / interpretation / Slices for coding / coding:MsmtStatusInterpretation / display
C*E.2 - but note this is not well followed
CV.displayName
Observation / interpretation / Slices for coding / coding:MsmtStatusInterpretation / userSelected
Sometimes implied by being first
CD.codingRationale
Observation / interpretation / text
C*E.9. But note many systems use C*E.2 for this
./originalText[mediaType/code="text/plain"]/data
Observation / note
  • NTE.3 (partner NTE to OBX
  • or sometimes another (child?) OBX)
subjectOf.observationEvent[code="annotation"].value
Observation / bodySite
< 123037004 |Body structure|
OBX-20
targetSiteCode
718497002 |Inherent location|
Observation / method
OBX-17
methodCode
Observation / specimen
< 123038009 |Specimen|
SPM segment
participation[typeCode=SPC].specimen
704319004 |Inherent in|
Observation / device
< 49062001 |Device|
OBX-17 / PRT -10
participation[typeCode=DEV]
424226004 |Using device|
Observation / device / id
n/a
Observation / device / extension
n/a
Observation / device / reference
N/A
Observation / device / type
N/A
Observation / device / identifier
.identifier
Observation / device / display
N/A
Observation / referenceRange
OBX.7
  • outboundRelationship[typeCode=REFV]/target[classCode=OBS
  • moodCode=EVN]
Observation / referenceRange / id
n/a
Observation / referenceRange / extension
n/a
Observation / referenceRange / modifierExtension
N/A
Observation / referenceRange / low
OBX-7
IVL_PQ.low
Observation / referenceRange / high
OBX-7
IVL_PQ.high
Observation / 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|
OBX-10
interpretationCode
Observation / referenceRange / 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|
OBX-10
interpretationCode
Observation / referenceRange / age
outboundRelationship[typeCode=PRCN].targetObservationCriterion[code="age"].value
Observation / referenceRange / text
OBX-7
ST
Observation / hasMember
Relationships established by OBX-4 usage
outBoundRelationship
Observation / derivedFrom
Relationships established by OBX-4 usage
.targetObservation
Observation / Slices for component
containment by OBX-4?
outBoundRelationship[typeCode=COMP]
Observation / Slices for component / component:All Slices
Observation / Slices for component / component:All Slices / id
n/a
Observation / Slices for component / component:All Slices / extension
n/a
Observation / Slices for component / component:All Slices / modifierExtension
N/A
Observation / Slices for component / component:All Slices / code
< 363787002 |Observable entity| OR < 386053000 |Evaluation procedure|
OBX-3
code
FiveWs.what[x]
Observation / Slices for component / component:All Slices / value[x]
363714003 |Interprets| < 441742003 |Evaluation finding|
  • OBX.2
  • OBX.5
  • OBX.6
value
363714003 |Interprets|
Observation / Slices for component / component:All Slices / dataAbsentReason
N/A
value.nullFlavor
Observation / Slices for component / component:All Slices / interpretation
< 260245000 |Findings values|
OBX-8
interpretationCode
363713009 |Has interpretation|
Observation / Slices for component / component:All Slices / referenceRange
OBX.7
  • outboundRelationship[typeCode=REFV]/target[classCode=OBS
  • moodCode=EVN]
Observation / Slices for component / component:supplementalTypesComponent
containment by OBX-4?
outBoundRelationship[typeCode=COMP]
Observation / Slices for component / component:supplementalTypesComponent / id
n/a
Observation / Slices for component / component:supplementalTypesComponent / extension
n/a
Observation / Slices for component / component:supplementalTypesComponent / modifierExtension
N/A
Observation / Slices for component / component:supplementalTypesComponent / code
< 363787002 |Observable entity| OR < 386053000 |Evaluation procedure|
OBX-3
code
FiveWs.what[x]
Observation / Slices for component / component:supplementalTypesComponent / code / id
n/a
Observation / Slices for component / component:supplementalTypesComponent / code / extension
n/a
Observation / Slices for component / component:supplementalTypesComponent / code / coding
  • C*E.1-8
  • C*E.10-22
  • union(.
  • ./translation)
Observation / Slices for component / component:supplementalTypesComponent / code / coding / id
n/a
Observation / Slices for component / component:supplementalTypesComponent / code / coding / extension
n/a
Observation / Slices for component / component:supplementalTypesComponent / code / coding / system
C*E.3
./codeSystem
Observation / Slices for component / component:supplementalTypesComponent / code / coding / version
C*E.7
./codeSystemVersion
Observation / Slices for component / component:supplementalTypesComponent / code / coding / code
C*E.1
./code
Observation / Slices for component / component:supplementalTypesComponent / code / coding / display
C*E.2 - but note this is not well followed
CV.displayName
Observation / Slices for component / component:supplementalTypesComponent / code / coding / userSelected
Sometimes implied by being first
CD.codingRationale
Observation / Slices for component / component:supplementalTypesComponent / code / text
C*E.9. But note many systems use C*E.2 for this
./originalText[mediaType/code="text/plain"]/data
Observation / Slices for component / component:supplementalTypesComponent / value[x]
363714003 |Interprets| < 441742003 |Evaluation finding|
  • OBX.2
  • OBX.5
  • OBX.6
value
363714003 |Interprets|
Observation / Slices for component / component:supplementalTypesComponent / value[x] / id
n/a
Observation / Slices for component / component:supplementalTypesComponent / value[x] / extension
n/a
Observation / Slices for component / component:supplementalTypesComponent / value[x] / coding
  • C*E.1-8
  • C*E.10-22
  • union(.
  • ./translation)
Observation / Slices for component / component:supplementalTypesComponent / value[x] / coding / id
n/a
Observation / Slices for component / component:supplementalTypesComponent / value[x] / coding / extension
n/a
Observation / Slices for component / component:supplementalTypesComponent / value[x] / coding / system
C*E.3
./codeSystem
Observation / Slices for component / component:supplementalTypesComponent / value[x] / coding / version
C*E.7
./codeSystemVersion
Observation / Slices for component / component:supplementalTypesComponent / value[x] / coding / code
C*E.1
./code
Observation / Slices for component / component:supplementalTypesComponent / value[x] / coding / display
C*E.2 - but note this is not well followed
CV.displayName
Observation / Slices for component / component:supplementalTypesComponent / value[x] / coding / userSelected
Sometimes implied by being first
CD.codingRationale
Observation / Slices for component / component:supplementalTypesComponent / value[x] / text
C*E.9. But note many systems use C*E.2 for this
./originalText[mediaType/code="text/plain"]/data
Observation / Slices for component / component:supplementalTypesComponent / dataAbsentReason
N/A
value.nullFlavor
Observation / Slices for component / component:supplementalTypesComponent / interpretation
< 260245000 |Findings values|
OBX-8
interpretationCode
363713009 |Has interpretation|
Observation / Slices for component / component:supplementalTypesComponent / referenceRange
OBX.7
  • outboundRelationship[typeCode=REFV]/target[classCode=OBS
  • moodCode=EVN]

doco Documentation for this format