Magentus Practice Management FHIR Implementation Guide
1.2.39 - ci-build Australia flag

Magentus Practice Management FHIR Implementation Guide - Local Development build (v1.2.39) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: GSRadiologyReport - Mappings

Draft as of 2025-06-12

Mappings for the gs-radiology-report resource profile.

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

GSRadiologyReport
DiagnosticReportEvent
   contained
   contained (encounter)Event
      identifierEvent.identifier
      statusEvent.status
      typeEvent.code
      serviceTypeEvent.code
      subjectEvent.subject
      episodeOfCareEvent.context
      basedOnEvent.basedOn
      participantEvent.performer
         typeEvent.performer.function
         individualEvent.performer.actor
      appointmentEvent.basedOn
      periodEvent.occurrence[x]
      lengthEvent.occurrence[x]
      reasonCodeEvent.reasonCode
      reasonReferenceEvent.reasonCode
      diagnosis
         conditionEvent.reasonReference
      location
         locationEvent.location
      serviceProviderEvent.performer.actor
      partOfEvent.partOf
   basedOnEvent.basedOn
   statusEvent.status
   codeEvent.code
   subjectEvent.subject
   encounterEvent.encounter
   effective[x]Event.occurrence[x]
   effective[x] (effectiveDateTime)Event.occurrence[x]
   performerEvent.performer.actor
   resultsInterpreterEvent.performer.actor

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

GSRadiologyReport
DiagnosticReportORU -> OBR
   contained
   contained (encounter)
      identifierPV1-19
      statusNo clear equivalent in HL7 v2; active/finished could be inferred from PV1-44, PV1-45, PV2-24; inactive could be inferred from PV2-16
      classPV1-2
      typePV1-4 / PV1-18
      serviceTypePV1-10
      priorityPV2-25
      subjectPID-3
      episodeOfCarePV1-54, PV1-53
      participantROL
         typeROL-3 (or maybe PRT-4)
         periodROL-5, ROL-6 (or maybe PRT-5)
         individualROL-4
      appointmentSCH-1 / SCH-2
      periodPV1-44, PV1-45
      length(PV1-45 less PV1-44) iff ( (PV1-44 not empty) and (PV1-45 not empty) ); units in minutes
      reasonCodeEVN-4 / PV2-3 (note: PV2-3 is nominally constrained to inpatient admissions; HL7 v2 makes no vocabulary suggestions for PV2-3; would not expect PV2 segment or PV2-3 to be in use in all implementations )
      reasonReferenceEVN-4 / PV2-3 (note: PV2-3 is nominally constrained to inpatient admissions; HL7 v2 makes no vocabulary suggestions for PV2-3; would not expect PV2 segment or PV2-3 to be in use in all implementations )
      diagnosis
         conditionResources that would commonly referenced at Encounter.indication would be Condition and/or Procedure. These most closely align with DG1/PRB and PR1 respectively.
      hospitalization
         preAdmissionIdentifierPV1-5
         admitSourcePV1-14
         reAdmissionPV1-13
         dietPreferencePV1-38
         specialCourtesyPV1-16
         specialArrangementPV1-15 / OBR-30 / OBR-43
         destinationPV1-37
         dischargeDispositionPV1-36
      location
         locationPV1-3 / PV1-6 / PV1-11 / PV1-42 / PV1-43
      serviceProviderPL.6 & PL.1
   identifierCX / EI (occasionally, more often EI maps to a resource id or a URL)
   identifier (order-number)CX / EI (occasionally, more often EI maps to a resource id or a URL)
   identifier (report-id)CX / EI (occasionally, more often EI maps to a resource id or a URL)
   identifier (accession-number)CX / EI (occasionally, more often EI maps to a resource id or a URL)
   basedOnORC? OBR-2/3?
   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)
   encounterPV1-19
   effective[x]OBR-7
   effective[x] (effectiveDateTime)OBR-7
   issuedOBR-22
   performerPRT-8 (where this PRT-4-Participation = "PO")
   resultsInterpreterOBR-32, PRT-8 (where this PRT-4-Participation = "PI")
   specimenSPM
   resultOBXs
   mediaOBX?
   conclusionOBX
   conclusionCodeOBX
   presentedFormOBX
      contentTypeED.2+ED.3/RP.2+RP.3. Note conversion may be needed if old style values are being used
      dataED.5
      urlRP.1+RP.2 - if they refer to a URL (see v2.6)

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

GSRadiologyReport
DiagnosticReportEntity. Role, or Act, Observation[classCode=OBS, moodCode=EVN]
   textAct.text?
   containedN/A
   contained (encounter)Entity. Role, or Act, Encounter[@moodCode='EVN']
      textAct.text?
      containedN/A
      modifierExtensionN/A
      identifier.id
      status.statusCode
      statusHistoryn/a
         idn/a
         extensionn/a
         modifierExtensionN/A
         statusn/a
         periodn/a
      class.inboundRelationship[typeCode=SUBJ].source[classCode=LIST].code
      classHistoryn/a
         idn/a
         extensionn/a
         modifierExtensionN/A
         classn/a
         periodn/a
      type.code
      serviceTypen/a
      priority.priorityCode
      subject.participation[typeCode=SBJ]/role[classCode=PAT]
         idn/a
         extensionn/a
         referenceN/A
         typeN/A
         identifier.identifier
         displayN/A
      episodeOfCaren/a
      basedOn.reason.ClinicalDocument
      participant.participation[typeCode=PFM]
         idn/a
         extensionn/a
         modifierExtensionN/A
         type.functionCode
         period.time
         individual.role
      appointment.outboundRelationship[typeCode=FLFS].target[classCode=ENC, moodCode=APT]
      period.effectiveTime (low & high)
      length.lengthOfStayQuantity
      reasonCode.reasonCode
      reasonReference.reasonCode
      diagnosis.outboundRelationship[typeCode=RSON]
         idn/a
         extensionn/a
         modifierExtensionN/A
         condition.outboundRelationship[typeCode=RSON].target
         usen/a
         rank.outboundRelationship[typeCode=RSON].priority
      account.pertains.A_Account
      hospitalization.outboundRelationship[typeCode=COMP].target[classCode=ENC, moodCode=EVN]
         idn/a
         extensionn/a
         modifierExtensionN/A
         preAdmissionIdentifier.id
         origin.participation[typeCode=ORG].role
         admitSource.admissionReferralSourceCode
         reAdmissionn/a
         dietPreference.outboundRelationship[typeCode=COMP].target[classCode=SBADM, moodCode=EVN, code="diet"]
         specialCourtesy.specialCourtesiesCode
         specialArrangement.specialArrangementCode
         destination.participation[typeCode=DST]
         dischargeDisposition.dischargeDispositionCode
      location.participation[typeCode=LOC]
         idn/a
         extensionn/a
         modifierExtensionN/A
         location.role
         status.role.statusCode
         period.time
      serviceProvider.particiaption[typeCode=PFM].role
      partOf.inboundRelationship[typeCode=COMP].source[classCode=COMP, moodCode=EVN]
   extensionN/A
   modifierExtensionN/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]
   identifier (order-number)n/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]
   identifier (report-id)n/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]
   identifier (accession-number)n/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]
   basedOnoutboundRelationship[typeCode=FLFS].target
      idn/a
      extensionn/a
      referenceN/A
      typeN/A
      identifier.identifier
      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
      identifier.identifier
      displayN/A
   encounterinboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN]
      idn/a
      extensionn/a
      referenceN/A
      typeN/A
      identifier.identifier
      displayN/A
   effective[x]effectiveTime
   effective[x] (effectiveDateTime)effectiveTime
   issuedparticipation[typeCode=VRF or AUT].time
   performer.participation[typeCode=PRF]
      idn/a
      extensionn/a
      referenceN/A
      typeN/A
      identifier.identifier
      displayN/A
   resultsInterpreter.participation[typeCode=PRF]
   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)
      idn/a
      extensionn/a
      contentType./mediaType, ./charset
      language./language
      data./data
      url./reference/literal
      sizeN/A (needs data type R3 proposal)
      hash.integrityCheck[parent::ED/integrityCheckAlgorithm="SHA-1"]
      title./title/data
      creationN/A (needs data type R3 proposal)

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

GSRadiologyReport
DiagnosticReport
   contained
   contained (encounter)
      identifierFiveWs.identifier
      statusFiveWs.status
      classFiveWs.class
      typeFiveWs.class
      priorityFiveWs.grade
      subjectFiveWs.subject[x], FiveWs.subject
      episodeOfCareFiveWs.context
      participant
         individualFiveWs.who
      periodFiveWs.done[x]
      reasonCodeFiveWs.why[x]
      reasonReferenceFiveWs.why[x]
      diagnosis
         conditionFiveWs.why[x]
      location
         locationFiveWs.where[x]
   statusFiveWs.status
   categoryFiveWs.class
   codeFiveWs.what[x]
   subjectFiveWs.subject[x], FiveWs.subject
   encounterFiveWs.context
   effective[x]FiveWs.done[x]
   effective[x] (effectiveDateTime)FiveWs.done[x]
   issuedFiveWs.recorded
   performerFiveWs.actor
   resultsInterpreterFiveWs.actor