Radiology (Sandbox)
0.0.1-current - ci-build International flag

Requirement Specification

This is for collaboration and discussion purposes and is subject to change.

This is not an Implementation Guide

Radiology (Sandbox) - Local Development build (v0.0.1-current) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: ImagingReport - Mappings

Draft as of 2024-10-24

Mappings for the ImagingReport resource profile.

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

ImagingReport
DiagnosticReportEvent
   identifierEvent.identifier
   basedOnEvent.basedOn
   basedOn (accessionNumber)Event.basedOn
   statusEvent.status
   codeEvent.code
   subjectEvent.subject
   encounterEvent.encounter
   effective[x]Event.occurrence[x]
   performerEvent.performer.actor
      extension (performerFunction)Event.performer.function
   performer (organisation)Event.performer.actor
      extension (performerFunction)Event.performer.function
   performer (operator)Event.performer.actor
      extension (performerFunction)Event.performer.function
   resultsInterpreterEvent.performer.actor
      extension (performerFunction)Event.performer.function
   resultsInterpreter (primaryReporter)Event.performer.actor
      extension (performerFunction)Event.performer.function
   resultsInterpreter (secondaryReporter)Event.performer.actor
      extension (performerFunction)Event.performer.function

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

ImagingReport
DiagnosticReportORU -> OBR
   identifierOBR-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
   basedOnORC? OBR-2/3?
   basedOn (accessionNumber)ORC? OBR-2/3?
      identifierCX / EI (occasionally, more often EI maps to a resource id or a URL)
   statusOBR-25 (not 1:1 mapping)
   categoryOBR-24
   codeOBR-4 (HL7 v2 doesn't provide an easy way to indicate both the ordered test and the performed panel)
   subjectPID-3 (no HL7 v2 mapping for Group or Device)
      identifierCX / EI (occasionally, more often EI maps to a resource id or a URL)
   encounterPV1-19
   effective[x]OBR-7
   issuedOBR-22
   performerPRT-8 (where this PRT-4-Participation = "PO")
      extension
      extension (performerFunction)
      identifier
         useN/A
         typeCX.5
         systemCX.4 / EI-2-4
         valueCX.1 / EI.1
         periodCX.7 + CX.8
         assignerCX.4 / (CX.4,CX.9,CX.10)
   performer (organisation)PRT-8 (where this PRT-4-Participation = "PO")
      extension
      extension (performerFunction)
      identifierCX / EI (occasionally, more often EI maps to a resource id or a URL)
   performer (operator)PRT-8 (where this PRT-4-Participation = "PO")
      extension
      extension (performerFunction)
         value[x]
            codingC*E.1-8, C*E.10-22
            textC*E.9. But note many systems use C*E.2 for this
      identifierCX / EI (occasionally, more often EI maps to a resource id or a URL)
   resultsInterpreterOBR-32, PRT-8 (where this PRT-4-Participation = "PI")
      extension
      extension (performerFunction)
      identifier
         useN/A
         typeCX.5
         systemCX.4 / EI-2-4
         valueCX.1 / EI.1
         periodCX.7 + CX.8
         assignerCX.4 / (CX.4,CX.9,CX.10)
   resultsInterpreter (primaryReporter)OBR-32, PRT-8 (where this PRT-4-Participation = "PI")
      extension
      extension (performerFunction)
         value[x]
            codingC*E.1-8, C*E.10-22
            textC*E.9. But note many systems use C*E.2 for this
      identifierCX / EI (occasionally, more often EI maps to a resource id or a URL)
   resultsInterpreter (secondaryReporter)OBR-32, PRT-8 (where this PRT-4-Participation = "PI")
      extension
      extension (performerFunction)
         value[x]
            codingC*E.1-8, C*E.10-22
            textC*E.9. But note many systems use C*E.2 for this
      identifierCX / EI (occasionally, more often EI maps to a resource id or a URL)
   specimenSPM
   resultOBXs
   mediaOBX?
   conclusionOBX
   conclusionCodeOBX
   presentedFormOBX

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

ImagingReport
DiagnosticReportEntity. Role, or Act, Observation[classCode=OBS, moodCode=EVN]
   textAct.text?
   containedN/A
   extensionN/A
   modifierExtensionN/A
   identifierid
   basedOnoutboundRelationship[typeCode=FLFS].target
   basedOn (accessionNumber)outboundRelationship[typeCode=FLFS].target
      idn/a
      extensionn/a
      referenceN/A
      typeN/A
      identifiern/a, II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]
      displayN/A
   statusstatusCode Note: final and amended are distinguished by whether observation is the subject of a ControlAct event of type "revise"
   categoryinboundRelationship[typeCode=COMP].source[classCode=LIST, moodCode=EVN, code < LabService].code
   codecode
   subjectparticipation[typeCode=SBJ]
      idn/a
      extensionn/a
      referenceN/A
      typeN/A
      identifiern/a, II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]
      displayN/A
   encounterinboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN]
   effective[x]effectiveTime
   issuedparticipation[typeCode=VRF or AUT].time
   performer.participation[typeCode=PRF]
      idn/a
      extensionn/a
      extension (performerFunction)
      referenceN/A
      typeN/A
      identifier.identifier
         idn/a
         extensionn/a
         useRole.code or implied by context
         typeRole.code or implied by context
         systemII.root or Role.id.root
         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
      displayN/A
   performer (organisation).participation[typeCode=PRF]
      idn/a
      extensionn/a
      extension (performerFunction)
      referenceN/A
      typeN/A
      identifiern/a, II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]
      displayN/A
   performer (operator).participation[typeCode=PRF]
      idn/a
      extensionn/a
      extension (performerFunction)
         idn/a
         urlN/A
         value[x]N/A
            idn/a
            extensionn/a
            codingunion(., ./translation)
            text./originalText[mediaType/code="text/plain"]/data
      referenceN/A
      typeN/A
      identifiern/a, II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]
      displayN/A
   resultsInterpreter.participation[typeCode=PRF]
      idn/a
      extensionn/a
      extension (performerFunction)
      referenceN/A
      typeN/A
      identifier.identifier
         idn/a
         extensionn/a
         useRole.code or implied by context
         typeRole.code or implied by context
         systemII.root or Role.id.root
         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
      displayN/A
   resultsInterpreter (primaryReporter).participation[typeCode=PRF]
      idn/a
      extensionn/a
      extension (performerFunction)
         idn/a
         urlN/A
         value[x]N/A
            idn/a
            extensionn/a
            codingunion(., ./translation)
            text./originalText[mediaType/code="text/plain"]/data
      referenceN/A
      typeN/A
      identifiern/a, II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]
      displayN/A
   resultsInterpreter (secondaryReporter).participation[typeCode=PRF]
      idn/a
      extensionn/a
      extension (performerFunction)
         idn/a
         urlN/A
         value[x]N/A
            idn/a
            extensionn/a
            codingunion(., ./translation)
            text./originalText[mediaType/code="text/plain"]/data
      referenceN/A
      typeN/A
      identifiern/a, II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]
      displayN/A
   specimenparticipation[typeCode=SBJ]
   resultoutboundRelationship[typeCode=COMP].target
   imagingStudyoutboundRelationship[typeCode=COMP].target[classsCode=DGIMG, moodCode=EVN]
   mediaoutboundRelationship[typeCode=COMP].target
      idn/a
      extensionn/a
      modifierExtensionN/A
      comment.inboundRelationship[typeCode=COMP].source[classCode=OBS, moodCode=EVN, code="annotation"].value
      link.value.reference
   conclusioninboundRelationship[typeCode="SPRT"].source[classCode=OBS, moodCode=EVN, code=LOINC:48767-8].value (type=ST)
   conclusionCodeinboundRelationship[typeCode=SPRT].source[classCode=OBS, moodCode=EVN, code=LOINC:54531-9].value (type=CD)
   presentedFormtext (type=ED)

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

ImagingReport
DiagnosticReport
   identifierFiveWs.identifier
   statusFiveWs.status
   categoryFiveWs.class
   codeFiveWs.what[x]
   subjectFiveWs.subject[x], FiveWs.subject
   encounterFiveWs.context
   effective[x]FiveWs.done[x]
   issuedFiveWs.recorded
   performerFiveWs.actor
   performer (organisation)FiveWs.actor
   performer (operator)FiveWs.actor
   resultsInterpreterFiveWs.actor
   resultsInterpreter (primaryReporter)FiveWs.actor
   resultsInterpreter (secondaryReporter)FiveWs.actor