NHS North West Genomics
2.2.5 - ci-build United Kingdom flag

NHS North West Genomics - Local Development build (v2.2.5) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: Diagnostic Report - Mappings

Draft as of 2026-11-05

Mappings for the DiagnosticReport resource profile.

Mappings to Structures in this Implementation Guide

No Mappings Found

Mappings to other Structures

No Mappings Found

Other Mappings

NameWorkflow PatternHL7 v2 MappingRIM MappingFiveWs Pattern Mappingdoco
DiagnosticReport
Event
ORU -> OBR
  • Observation[classCode=OBS
  • moodCode=EVN]
DiagnosticReport / id
DiagnosticReport / meta
DiagnosticReport / implicitRules
DiagnosticReport / language
DiagnosticReport / text
Act.text?
DiagnosticReport / contained
N/A
DiagnosticReport / Slices for extension
DiagnosticReport / Slices for extension / extension:DiagnosticReportCompositionR5
DiagnosticReport / Slices for extension / extension:DiagnosticReportCompositionR5 / id
n/a
DiagnosticReport / Slices for extension / extension:DiagnosticReportCompositionR5 / extension
DiagnosticReport / Slices for extension / extension:DiagnosticReportCompositionR5 / url
N/A
DiagnosticReport / Slices for extension / extension:DiagnosticReportCompositionR5 / value[x]
N/A
DiagnosticReport / Slices for extension / extension:note
DiagnosticReport / Slices for extension / extension:note / id
n/a
DiagnosticReport / Slices for extension / extension:note / extension
DiagnosticReport / Slices for extension / extension:note / url
N/A
DiagnosticReport / Slices for extension / extension:note / value[x]
N/A
DiagnosticReport / Slices for extension / extension:note / value[x] / id
n/a
DiagnosticReport / Slices for extension / extension:note / value[x] / Slices for extension
n/a
DiagnosticReport / Slices for extension / extension:note / value[x] / Slices for extension
DiagnosticReport / Slices for extension / extension:note / value[x] / Slices for extension / extension:annotation-type
DiagnosticReport / Slices for extension / extension:note / value[x] / Slices for extension / extension:annotation-type / id
n/a
DiagnosticReport / Slices for extension / extension:note / value[x] / Slices for extension / extension:annotation-type / extension
DiagnosticReport / Slices for extension / extension:note / value[x] / Slices for extension / extension:annotation-type / url
N/A
DiagnosticReport / Slices for extension / extension:note / value[x] / Slices for extension / extension:annotation-type / value[x]
N/A
DiagnosticReport / Slices for extension / extension:note / value[x] / author[x]
N/A
Act.participant[typeCode=AUT].role
DiagnosticReport / Slices for extension / extension:note / value[x] / time
N/A
Act.effectiveTime
DiagnosticReport / Slices for extension / extension:note / value[x] / text
N/A
Act.text
DiagnosticReport / Slices for extension / extension:studyR5
DiagnosticReport / Slices for extension / extension:supportingInfoR5
DiagnosticReport / modifierExtension
N/A
DiagnosticReport / Slices for identifier
Event.identifier
  • OBR-51/ for globally unique filler ID - OBR-3
  • For non-globally unique filler-id the flller/placer number must be combined with the universal service Id - OBR-2(if present)+OBR-3+OBR-4
id
FiveWs.identifier
DiagnosticReport / Slices for identifier / identifier:ReportIdentifier
Event.identifier
  • OBR-51/ for globally unique filler ID - OBR-3
  • For non-globally unique filler-id the flller/placer number must be combined with the universal service Id - OBR-2(if present)+OBR-3+OBR-4
id
FiveWs.identifier
DiagnosticReport / Slices for basedOn
Event.basedOn
ORC? OBR-2/3?
outboundRelationship[typeCode=FLFS].target
DiagnosticReport / Slices for basedOn / basedOn:All Slices
DiagnosticReport / Slices for basedOn / basedOn:All Slices / id
n/a
DiagnosticReport / Slices for basedOn / basedOn:All Slices / Slices for extension
n/a
DiagnosticReport / Slices for basedOn / basedOn:All Slices / Slices for extension / extension:concept
DiagnosticReport / Slices for basedOn / basedOn:All Slices / reference
N/A
DiagnosticReport / Slices for basedOn / basedOn:All Slices / type
N/A
DiagnosticReport / Slices for basedOn / basedOn:All Slices / identifier
.identifier
DiagnosticReport / Slices for basedOn / basedOn:All Slices / display
N/A
DiagnosticReport / Slices for basedOn / basedOn:OrderIdentifier
Event.basedOn
ORC? OBR-2/3?
outboundRelationship[typeCode=FLFS].target
DiagnosticReport / Slices for basedOn / basedOn:OrderIdentifier / id
n/a
DiagnosticReport / Slices for basedOn / basedOn:OrderIdentifier / extension
n/a
DiagnosticReport / Slices for basedOn / basedOn:OrderIdentifier / reference
N/A
DiagnosticReport / Slices for basedOn / basedOn:OrderIdentifier / type
N/A
DiagnosticReport / Slices for basedOn / basedOn:OrderIdentifier / identifier
.identifier
DiagnosticReport / Slices for basedOn / basedOn:OrderIdentifier / display
N/A
DiagnosticReport / status
Event.status
1 mapping)
final and amended are distinguished by whether observation is the subject of a ControlAct event of type "revise"
FiveWs.status
DiagnosticReport / Slices for category
OBR-24
  • inboundRelationship[typeCode=COMP].source[classCode=LIST
  • moodCode=EVN
  • code < LabService].code
FiveWs.class
DiagnosticReport / Slices for category / category:Genetics
OBR-24
  • inboundRelationship[typeCode=COMP].source[classCode=LIST
  • moodCode=EVN
  • code < LabService].code
FiveWs.class
DiagnosticReport / Slices for category / category:Genetics / id
n/a
DiagnosticReport / Slices for category / category:Genetics / extension
n/a
DiagnosticReport / Slices for category / category:Genetics / coding
  • C*E.1-8
  • C*E.10-22
  • union(.
  • ./translation)
DiagnosticReport / Slices for category / category:Genetics / text
C*E.9. But note many systems use C*E.2 for this
./originalText[mediaType/code="text/plain"]/data
DiagnosticReport / code
Event.code
OBR-4 (HL7 v2 doesn't provide an easy way to indicate both the ordered test and the performed panel)
code
FiveWs.what[x]
DiagnosticReport / code / id
n/a
DiagnosticReport / code / extension
n/a
DiagnosticReport / code / Slices for coding
  • C*E.1-8
  • C*E.10-22
  • union(.
  • ./translation)
DiagnosticReport / code / Slices for coding / coding:ProcedureCodeGenomicTestDirectory
  • C*E.1-8
  • C*E.10-22
  • union(.
  • ./translation)
DiagnosticReport / code / Slices for coding / coding:ProcedureCodeGenomicTestDirectory / id
n/a
DiagnosticReport / code / Slices for coding / coding:ProcedureCodeGenomicTestDirectory / extension
n/a
DiagnosticReport / code / Slices for coding / coding:ProcedureCodeGenomicTestDirectory / system
C*E.3
./codeSystem
DiagnosticReport / code / Slices for coding / coding:ProcedureCodeGenomicTestDirectory / version
C*E.7
./codeSystemVersion
DiagnosticReport / code / Slices for coding / coding:ProcedureCodeGenomicTestDirectory / code
C*E.1
./code
DiagnosticReport / code / Slices for coding / coding:ProcedureCodeGenomicTestDirectory / display
C*E.2 - but note this is not well followed
CV.displayName
DiagnosticReport / code / Slices for coding / coding:ProcedureCodeGenomicTestDirectory / userSelected
Sometimes implied by being first
CD.codingRationale
DiagnosticReport / code / Slices for coding / coding:UKCoreReportCode
  • C*E.1-8
  • C*E.10-22
  • union(.
  • ./translation)
DiagnosticReport / code / Slices for coding / coding:UKCoreReportCode / id
n/a
DiagnosticReport / code / Slices for coding / coding:UKCoreReportCode / extension
n/a
DiagnosticReport / code / Slices for coding / coding:UKCoreReportCode / system
C*E.3
./codeSystem
DiagnosticReport / code / Slices for coding / coding:UKCoreReportCode / version
C*E.7
./codeSystemVersion
DiagnosticReport / code / Slices for coding / coding:UKCoreReportCode / code
C*E.1
./code
DiagnosticReport / code / Slices for coding / coding:UKCoreReportCode / display
C*E.2 - but note this is not well followed
CV.displayName
DiagnosticReport / code / Slices for coding / coding:UKCoreReportCode / userSelected
Sometimes implied by being first
CD.codingRationale
DiagnosticReport / code / text
C*E.9. But note many systems use C*E.2 for this
./originalText[mediaType/code="text/plain"]/data
DiagnosticReport / subject
Event.subject
PID-3 (no HL7 v2 mapping for Group or Device)
participation[typeCode=SBJ]
FiveWs.subject
DiagnosticReport / subject / id
n/a
DiagnosticReport / subject / extension
n/a
DiagnosticReport / subject / reference
N/A
DiagnosticReport / subject / type
N/A
DiagnosticReport / subject / identifier
.identifier
DiagnosticReport / subject / display
N/A
DiagnosticReport / encounter
Event.encounter
PV1-19
  • inboundRelationship[typeCode=COMP].source[classCode=ENC
  • moodCode=EVN]
FiveWs.context
DiagnosticReport / encounter / id
n/a
DiagnosticReport / encounter / extension
n/a
DiagnosticReport / encounter / reference
N/A
DiagnosticReport / encounter / type
N/A
DiagnosticReport / encounter / identifier
.identifier
DiagnosticReport / encounter / display
N/A
DiagnosticReport / Slices for effective[x]
Event.occurrence[x]
OBR-7
effectiveTime
FiveWs.done[x]
DiagnosticReport / Slices for effective[x] / effective[x]:effectiveDateTime
Event.occurrence[x]
OBR-7
effectiveTime
FiveWs.done[x]
DiagnosticReport / Slices for effective[x] / effective[x]:effectivePeriod
Event.occurrence[x]
OBR-7
effectiveTime
FiveWs.done[x]
DiagnosticReport / issued
OBR-22
participation[typeCode=VRF or AUT].time
FiveWs.recorded
DiagnosticReport / Slices for performer
Event.performer.actor
PRT-8 (where this PRT-4-Participation = "PO")
.participation[typeCode=PRF]
FiveWs.actor
DiagnosticReport / Slices for performer / performer:All Slices
DiagnosticReport / Slices for performer / performer:All Slices / id
n/a
DiagnosticReport / Slices for performer / performer:All Slices / Slices for extension
n/a
DiagnosticReport / Slices for performer / performer:All Slices / Slices for extension / extension:performerFunction
Event.performer.function
DiagnosticReport / Slices for performer / performer:All Slices / reference
N/A
DiagnosticReport / Slices for performer / performer:All Slices / type
N/A
DiagnosticReport / Slices for performer / performer:All Slices / identifier
.identifier
DiagnosticReport / Slices for performer / performer:All Slices / identifier / id
n/a
DiagnosticReport / Slices for performer / performer:All Slices / identifier / extension
n/a
DiagnosticReport / Slices for performer / performer:All Slices / identifier / use
N/A
Role.code or implied by context
DiagnosticReport / Slices for performer / performer:All Slices / identifier / type
CX.5
Role.code or implied by context
DiagnosticReport / Slices for performer / performer:All Slices / identifier / system
CX.4 / EI-2-4
II.root or Role.id.root
DiagnosticReport / Slices for performer / performer:All Slices / identifier / value
CX.1 / EI.1
II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
DiagnosticReport / Slices for performer / performer:All Slices / identifier / period
CX.7 + CX.8
Role.effectiveTime or implied by context
DiagnosticReport / Slices for performer / performer:All Slices / identifier / 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
DiagnosticReport / Slices for performer / performer:All Slices / display
N/A
DiagnosticReport / Slices for performer / performer:organization
Event.performer.actor
PRT-8 (where this PRT-4-Participation = "PO")
.participation[typeCode=PRF]
FiveWs.actor
DiagnosticReport / Slices for performer / performer:organization / id
n/a
DiagnosticReport / Slices for performer / performer:organization / Slices for extension
n/a
DiagnosticReport / Slices for performer / performer:organization / Slices for extension
DiagnosticReport / Slices for performer / performer:organization / Slices for extension / extension:performerFunction
Event.performer.function
DiagnosticReport / Slices for performer / performer:organization / reference
N/A
DiagnosticReport / Slices for performer / performer:organization / type
N/A
DiagnosticReport / Slices for performer / performer:organization / identifier
.identifier
DiagnosticReport / Slices for performer / performer:organization / display
N/A
DiagnosticReport / Slices for resultsInterpreter
Event.performer.actor
  • OBR-32
  • PRT-8 (where this PRT-4-Participation = "PI")
.participation[typeCode=PRF]
FiveWs.actor
DiagnosticReport / Slices for resultsInterpreter / resultsInterpreter:All Slices
DiagnosticReport / Slices for resultsInterpreter / resultsInterpreter:All Slices / id
n/a
DiagnosticReport / Slices for resultsInterpreter / resultsInterpreter:All Slices / extension
n/a
DiagnosticReport / Slices for resultsInterpreter / resultsInterpreter:All Slices / reference
N/A
DiagnosticReport / Slices for resultsInterpreter / resultsInterpreter:All Slices / type
N/A
DiagnosticReport / Slices for resultsInterpreter / resultsInterpreter:All Slices / identifier
.identifier
DiagnosticReport / Slices for resultsInterpreter / resultsInterpreter:All Slices / identifier / id
n/a
DiagnosticReport / Slices for resultsInterpreter / resultsInterpreter:All Slices / identifier / extension
n/a
DiagnosticReport / Slices for resultsInterpreter / resultsInterpreter:All Slices / identifier / use
N/A
Role.code or implied by context
DiagnosticReport / Slices for resultsInterpreter / resultsInterpreter:All Slices / identifier / type
CX.5
Role.code or implied by context
DiagnosticReport / Slices for resultsInterpreter / resultsInterpreter:All Slices / identifier / system
CX.4 / EI-2-4
II.root or Role.id.root
DiagnosticReport / Slices for resultsInterpreter / resultsInterpreter:All Slices / identifier / value
CX.1 / EI.1
II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
DiagnosticReport / Slices for resultsInterpreter / resultsInterpreter:All Slices / identifier / period
CX.7 + CX.8
Role.effectiveTime or implied by context
DiagnosticReport / Slices for resultsInterpreter / resultsInterpreter:All Slices / identifier / 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
DiagnosticReport / Slices for resultsInterpreter / resultsInterpreter:All Slices / display
N/A
DiagnosticReport / Slices for resultsInterpreter / resultsInterpreter:author
Event.performer.actor
  • OBR-32
  • PRT-8 (where this PRT-4-Participation = "PI")
.participation[typeCode=PRF]
FiveWs.actor
DiagnosticReport / Slices for resultsInterpreter / resultsInterpreter:author / id
n/a
DiagnosticReport / Slices for resultsInterpreter / resultsInterpreter:author / extension
n/a
DiagnosticReport / Slices for resultsInterpreter / resultsInterpreter:author / reference
N/A
DiagnosticReport / Slices for resultsInterpreter / resultsInterpreter:author / type
N/A
DiagnosticReport / Slices for resultsInterpreter / resultsInterpreter:author / identifier
.identifier
DiagnosticReport / Slices for resultsInterpreter / resultsInterpreter:author / display
N/A
DiagnosticReport / specimen
SPM
participation[typeCode=SBJ]
DiagnosticReport / result
OBXs
outboundRelationship[typeCode=COMP].target
DiagnosticReport / imagingStudy
  • outboundRelationship[typeCode=COMP].target[classsCode=DGIMG
  • moodCode=EVN]
DiagnosticReport / media
OBX?
outboundRelationship[typeCode=COMP].target
DiagnosticReport / media / id
n/a
DiagnosticReport / media / extension
n/a
DiagnosticReport / media / modifierExtension
N/A
DiagnosticReport / media / comment
  • .inboundRelationship[typeCode=COMP].source[classCode=OBS
  • moodCode=EVN
  • code="annotation"].value
DiagnosticReport / media / link
.value.reference
DiagnosticReport / conclusion
OBX
  • inboundRelationship[typeCode="SPRT"].source[classCode=OBS
  • moodCode=EVN
  • 48767-8].value (type=ST)
DiagnosticReport / conclusionCode
OBX
  • inboundRelationship[typeCode=SPRT].source[classCode=OBS
  • moodCode=EVN
  • 54531-9].value (type=CD)
DiagnosticReport / conclusionCode / id
n/a
DiagnosticReport / conclusionCode / extension
n/a
DiagnosticReport / conclusionCode / Slices for coding
  • C*E.1-8
  • C*E.10-22
  • union(.
  • ./translation)
DiagnosticReport / conclusionCode / Slices for coding / coding:GenomicTestOutcomeCode
  • C*E.1-8
  • C*E.10-22
  • union(.
  • ./translation)
DiagnosticReport / conclusionCode / text
C*E.9. But note many systems use C*E.2 for this
./originalText[mediaType/code="text/plain"]/data
DiagnosticReport / presentedForm
OBX
text (type=ED)

doco Documentation for this format