Search FHIR

FHIR Osiris Implementation Guide
1.1.0 - trial-implementation

This page is part of the OSIRIS FHIR Implementation Guide (v1.1.0: Release) based on FHIR (HL7® FHIR® Standard) R4. This is the current published version. For a full list of available versions, see the Directory of published versions

Resource Profile: Treatment - Mappings

Draft as of 2025-04-03

Mappings for the treatment resource profile.

Mappings for OSIRIS pivot files (Treatment)

Treatment
CarePlanTreatment

Mapping from FHIR-osiris Treatment to osiris Treatment

   extension
   extension (treatment-line)
      value[x] (valueInteger)OSIRIS_pivot_Treatment.Treatment_LineNumber
   categoryOSIRIS_pivot_Treatment.Treatment_Type
   subjectOSIRIS_pivot_Treatment.Patient_Id
   period
      startOSIRIS_pivot_Treatment.Treatment_StartDate
      endOSIRIS_pivot_Treatment.Treatment_EndDate
   supportingInfoOSIRIS_pivot_Treatment.Treatment_ClinicalTrialContext (if Reference exists, Treatment_ClinicalTrialContext is yes
   activity
      detail
         codeOSIRIS_pivot_Treatment.Treatment_ActivityCode
         reasonReferenceOSIRIS_pivot_Treatment.TumorPathologyEvent_Ref
   activity (activity-code)
      detail
         reasonReferenceOSIRIS_pivot_Treatment.TumorPathologyEvent_Ref

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

Treatment
CarePlanRequest
   identifierRequest.identifier
   instantiatesCanonicalRequest.instantiatesCanonical
   instantiatesUriRequest.instantiatesUri
   basedOnRequest.basedOn
   replacesRequest.replaces
   statusRequest.status {uses different ValueSet}
   intentRequest.intent
   subjectRequest.subject
   encounterRequest.context
   periodRequest.occurrence[x]
   createdRequest.authoredOn
   authorRequest.requester
   careTeamRequest.performer {similar but does not entail CareTeam}
   addressesRequest.reasonReference
   supportingInfoRequest.supportingInfo
   activity{no mapping NOTE: This is a list of contained Request-Event tuples!}
      outcomeReference{Event that is outcome of Request in activity.reference}
      reference{Request that resulted in Event in activity.actionResulting}
      detail
         instantiatesCanonicalRequest.instantiatesCanonical
         instantiatesUriRequest.instantiatesUri
         codeRequest.code
         reasonCodeRequest.reasonCode
         reasonReferenceRequest.reasonReference
         statusRequest.status
         statusReasonRequest.statusReason
         doNotPerformRequest.doNotPerform
         scheduled[x]Request.occurrence[x]
         performerRequest.performer
   activity (activity-code){no mapping NOTE: This is a list of contained Request-Event tuples!}
      outcomeReference{Event that is outcome of Request in activity.reference}
      reference{Request that resulted in Event in activity.actionResulting}
      detail
         instantiatesCanonicalRequest.instantiatesCanonical
         instantiatesUriRequest.instantiatesUri
         codeRequest.code
         reasonCodeRequest.reasonCode
         reasonReferenceRequest.reasonReference
         statusRequest.status
         statusReasonRequest.statusReason
         doNotPerformRequest.doNotPerform
         scheduled[x]Request.occurrence[x]
         performerRequest.performer
   noteRequest.note

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

Treatment
CarePlanEntity. Role, or Act, Act[classCode=PCPR, moodCode=INT]
   textAct.text?
   containedN/A
   extension
   extension (treatment-line)
      idn/a
      urlN/A
      value[x]N/A
      value[x] (valueInteger)N/A
   modifierExtensionN/A
   identifier.id
   instantiatesCanonical.outboundRelationship[typeCode=DEFN].target
   instantiatesUri.outboundRelationship[typeCode=DEFN].target
   status.statusCode planned = new active = active completed = completed
   subject.participation[typeCode=PAT].role[classCode=PAT]
   encounter.
   period.effectiveTime
      idn/a
      extensionn/a
      start./low
      end./high
   created.participation[typeCode=AUT].time
   addresses.actRelationship[typeCode=SUBJ].target[classCode=CONC, moodCode=EVN]
   goal.outboundRelationship[typeCode<=OBJ].
   activity.outboundRelationship[typeCode=COMP].target
      idn/a
      extensionn/a
      modifierExtensionN/A
      outcomeReference.inboundRelationship[typeCode=FLFS].source
      progress.inboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN, code="annotation"].value
      reference.outboundRelationship[typeCode=COMP].target
      detail.outboundRelationship[typeCode=COMP, subsetCode=SUMM].target
         idn/a
         extensionn/a
         modifierExtensionN/A
         kind.inboundRelationship[typeCode=COMP].source[classCode=LIST].code
         instantiatesCanonical.outboundRelationship[typeCode=DEFN].target
         instantiatesUri.outboundRelationship[typeCode=DEFN].target
         code.code
         goal.outboundRelationship[typeCode<=OBJ].
         status.statusCode not-started = new scheduled = not-started (and fulfillment relationship to appointent) in-progress = active on-hold = suspended completed = completed cancelled = aborted
         doNotPerformactionNegationInd
         scheduled[x].effectiveTime
         location.participation[typeCode=LOC].role
         performer.participation[typeCode=PFM]
         product[x].participation[typeCode=PRD].role
         dailyAmount.outboundRelationship[typeCode=COMP][classCode=SBADM].doseQuantity
         quantity.outboundRelationship[typeCode=COMP][classCode=SPLY].quantity
         description.text
   activity (activity-code).outboundRelationship[typeCode=COMP].target
      idn/a
      extensionn/a
      modifierExtensionN/A
      outcomeReference.inboundRelationship[typeCode=FLFS].source
      progress.inboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN, code="annotation"].value
      reference.outboundRelationship[typeCode=COMP].target
      detail.outboundRelationship[typeCode=COMP, subsetCode=SUMM].target
         idn/a
         extensionn/a
         modifierExtensionN/A
         kind.inboundRelationship[typeCode=COMP].source[classCode=LIST].code
         instantiatesCanonical.outboundRelationship[typeCode=DEFN].target
         instantiatesUri.outboundRelationship[typeCode=DEFN].target
         code.code
            idn/a
            extensionn/a
            codingunion(., ./translation)
               idn/a
               extensionn/a
               system./codeSystem
               version./codeSystemVersion
               code./code
               displayCV.displayName
               userSelectedCD.codingRationale
            text./originalText[mediaType/code="text/plain"]/data
         goal.outboundRelationship[typeCode<=OBJ].
         status.statusCode not-started = new scheduled = not-started (and fulfillment relationship to appointent) in-progress = active on-hold = suspended completed = completed cancelled = aborted
         doNotPerformactionNegationInd
         scheduled[x].effectiveTime
         location.participation[typeCode=LOC].role
         performer.participation[typeCode=PFM]
         product[x].participation[typeCode=PRD].role
         dailyAmount.outboundRelationship[typeCode=COMP][classCode=SBADM].doseQuantity
         quantity.outboundRelationship[typeCode=COMP][classCode=SPLY].quantity
         description.text
   note.inboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN, code="annotation"].value

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

Treatment
CarePlan
   identifierFiveWs.identifier
   statusFiveWs.status
   categoryFiveWs.class
   descriptionFiveWs.what[x]
   subjectFiveWs.subject[x], FiveWs.subject
   encounterFiveWs.context
   periodFiveWs.planned
   createdFiveWs.recorded
   authorFiveWs.author
   careTeamFiveWs.actor
   addressesFiveWs.why[x]

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

Treatment
CarePlan
   identifierPTH-3
   statusPTH-5
   subjectPID-3
   encounterAssociated PV1
   periodGOL-7 / GOL-8
      startDR.1
      endDR.2
   addressesPRB-4
   goalGOL.1
   activity
      progressNTE?
      detail
         codeOBR-4 / RXE-2 / RXO-1 / RXD-2
         statusORC-5?
         scheduled[x]TQ1
         locationOBR-24(???!!)
         performerPRT-5 : ( PRV-4 = (provider participations)); PRT-5 : ( PRV-4 = (non-provider person participations )) ; PRT-5 : ( PRV-4 = (patient non-subject of care) ) ; PRT-8
         product[x]RXE-2 / RXO-1 / RXD-2
         dailyAmountRXO-23 / RXE-19 / RXD-12
         quantityRXO-11 / RXE-10 / RXD-4 / RXG-5 / RXA-6 / TQ1-2.1 *and* RXO-12 / RXE-11 / RXD-5 / RXG-7 / RXA-7 / TQ1-2.2
         descriptionNTE?
   activity (activity-code)
      progressNTE?
      detail
         codeOBR-4 / RXE-2 / RXO-1 / RXD-2
            codingC*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
         statusORC-5?
         scheduled[x]TQ1
         locationOBR-24(???!!)
         performerPRT-5 : ( PRV-4 = (provider participations)); PRT-5 : ( PRV-4 = (non-provider person participations )) ; PRT-5 : ( PRV-4 = (patient non-subject of care) ) ; PRT-8
         product[x]RXE-2 / RXO-1 / RXD-2
         dailyAmountRXO-23 / RXE-19 / RXD-12
         quantityRXO-11 / RXE-10 / RXD-4 / RXG-5 / RXA-6 / TQ1-2.1 *and* RXO-12 / RXE-11 / RXD-5 / RXG-7 / RXA-7 / TQ1-2.2
         descriptionNTE?
   noteNTE?