R4 Ballot #1 #2 (Mixed Normative/Trial use)

This page is part of the FHIR Specification (v3.3.0: (v3.5.0: R4 Ballot 2). #2). The current version which supercedes this version is 5.0.0 . For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3

Pharmacy Work Group Maturity Level : N/A Ballot Status : Informative Compartments : Device , Encounter , Patient , Practitioner , RelatedPerson

R2 : R3 : R4 Conversion maps for MedicationAdministration.

Functional status for this map: 3 14 tests that all of which 14 fail to execute ok. All tests pass round-trip testing and all r3 resources are valid. . ( see documentation)

map "http://hl7.org/fhir/StructureMap/MedicationAdministration2to3" = "R2 to R3 Conversions for MedicationAdministration"

map "http://hl7.org/fhir/StructureMap/MedicationAdministration3to4" = "R3 to R4 Conversions for MedicationAdministration"


uses "http://hl7.org/fhir/DSTU2/StructureDefinition/MedicationAdministration" alias MedicationAdministrationR2 as source
uses "http://hl7.org/fhir/DSTU2/StructureDefinition/MedicationAdministration" alias RatioR2 as source


uses "http://hl7.org/fhir/3.0/StructureDefinition/MedicationAdministration" alias MedicationAdministrationR3 as source

uses "http://hl7.org/fhir/StructureDefinition/MedicationAdministration" alias MedicationAdministration as target

imports "http://hl7.org/fhir/StructureMap/*2to3"

imports "http://hl7.org/fhir/StructureMap/*3to4"


group for type+types  MedicationAdministration extends DomainResource
  input src : MedicationAdministrationR2 as source



group MedicationAdministration extends DomainResource
  input src : MedicationAdministrationR3 as source

  input tgt : MedicationAdministration as target

  "MedicationAdministration-identifier" : for src.identifier make tgt.identifier
  "MedicationAdministration-status" : for src.status make tgt.status
  "MedicationAdministration-patient" : for src.patient make tgt.subject
  "MedicationAdministration-practitioner" : for src.practitioner as v make tgt.performer as vd, vd.actor = v
  "MedicationAdministration-encounter" : for src.encounter make tgt.context
  "MedicationAdministration-prescription" : for src.prescription make tgt.prescription
  "MedicationAdministration-notGiven" : for src.wasNotGiven make tgt.notGiven
  "MedicationAdministration-reasonNotGiven" : for src.reasonNotGiven make tgt.reasonNotGiven
  "MedicationAdministration-effectiveTime" : for src.effectiveTime make tgt.effective 
  "MedicationAdministration-medication" : for src.medication make tgt.medication 
  "MedicationAdministration-device" : for src.device make tgt.device
  "MedicationAdministration-note" : for src.note make tgt.note
  "MedicationAdministration-dosage" : for src.dosage as vs0 make tgt.dosage as vt0 then mAdDosage(vs0, vt0) 

  "MedicationAdministration.identifier": for src.identifier make tgt.identifier
  "MedicationAdministration.instantiates": for src.instantiates make tgt.instantiates
  "MedicationAdministration.partOf": for src.partOf make tgt.partOf
  "MedicationAdministration.status": for src.status make tgt.status
  "MedicationAdministration.category": for src.category make tgt.category
  "MedicationAdministration.medication": for src.medication make tgt.medication
  "MedicationAdministration.subject": for src.subject make tgt.subject
  "MedicationAdministration.context": for src.context make tgt.context
  "MedicationAdministration.supportingInformation": for src.supportingInformation make tgt.supportingInformation
  "MedicationAdministration.effective": for src.effective make tgt.effective
  "MedicationAdministration.performer": for src.performer as s make tgt.performer as t then MedicationAdministrationPerformer(s,t)
  "MedicationAdministration.statusReason": for src.statusReason make tgt.statusReason
  "MedicationAdministration.reasonCode": for src.reasonCode make tgt.reasonCode
  "MedicationAdministration.reasonReference": for src.reasonReference make tgt.reasonReference
  "MedicationAdministration.request": for src.request make tgt.request
  "MedicationAdministration.device": for src.device make tgt.device
  "MedicationAdministration.note": for src.note make tgt.note
  "MedicationAdministration.dosage": for src.dosage as s make tgt.dosage as t then MedicationAdministrationDosage(s,t)
  "MedicationAdministration.eventHistory": for src.eventHistory make tgt.eventHistory

endgroup

group mAdDosage extends BackboneElement
  input src : MedicationAdministrationR2 as source


group MedicationAdministrationPerformer extends BackboneElement
  input src : MedicationAdministrationR3 as source

  input tgt : MedicationAdministration as target

  "MedicationAdministration.dosage-text" : for src.text make tgt.text
  "MedicationAdministration.dosage-site" : for src.site make tgt.site
  "MedicationAdministration.dosage-route" : for src.route make tgt.route
  "MedicationAdministration.dosage-method" : for src.method make tgt.method
  "MedicationAdministration.dosage-dose" : for src.quantity make tgt.dose
  "MedicationAdministration.dosage-rate-Ratio" : for src.rate where $this is Ratio make tgt.rate 
  // Range is not valid; should not use it, and cannot convert to R3

  "MedicationAdministration.performer.function": for src.function make tgt.function
  "MedicationAdministration.performer.actor": for src.actor make tgt.actor

endgroup


group MedicationAdministrationDosage extends BackboneElement
  input src : MedicationAdministrationR3 as source
  input tgt : MedicationAdministration as target

  "MedicationAdministration.dosage.text": for src.text make tgt.text
  "MedicationAdministration.dosage.site": for src.site make tgt.site
  "MedicationAdministration.dosage.route": for src.route make tgt.route
  "MedicationAdministration.dosage.method": for src.method make tgt.method
  "MedicationAdministration.dosage.dose": for src.dose make tgt.dose
  "MedicationAdministration.dosage.rate": for src.rate make tgt.rate
endgroup



map "http://hl7.org/fhir/StructureMap/MedicationAdministration3to2" = "R3 to R2 Conversion for MedicationAdministration"

map "http://hl7.org/fhir/StructureMap/MedicationAdministration4to3" = "R4 to R3 Conversion for MedicationAdministration"



uses "http://hl7.org/fhir/StructureDefinition/MedicationAdministration" alias MedicationAdministration as source
uses "http://hl7.org/fhir/DSTU2/StructureDefinition/MedicationAdministration" alias MedicationAdministrationR2 as target

uses "http://hl7.org/fhir/3.0/StructureDefinition/MedicationAdministration" alias MedicationAdministrationR3 as target


imports "http://hl7.org/fhir/StructureMap/*3to2"

imports "http://hl7.org/fhir/StructureMap/*4to3"


group for type+types  MedicationAdministration extends DomainResource
  input src : MedicationAdministration as source
  input tgt : MedicationAdministrationR2 as target


  "MedicationAdministration-identifier" : for src.identifier make tgt.identifier
  "MedicationAdministration-status" : for src.status make tgt.status
  "MedicationAdministration-patient" : for src.subject make tgt.patient
  "MedicationAdministration-performer" : for src.performer as vs0 then mAdPerformer(vs0, tgt)
  "MedicationAdministration-encounter" : for src.context make tgt.encounter
  "MedicationAdministration-prescription" : for src.prescription make tgt.prescription
  "MedicationAdministration-notGiven" : for src.notGiven make tgt.wasNotGiven
  "MedicationAdministration-reasonNotGiven" : for src.reasonNotGiven make tgt.reasonNotGiven
  "MedicationAdministration-effectiveTime" : for src.effective make tgt.effectiveTime 
  "MedicationAdministration-medication" : for src.medication make tgt.medication 
  "MedicationAdministration-device" : for src.device make tgt.device
  "MedicationAdministration-note" : for src.note only_one make tgt.note
  "MedicationAdministration-dosage" : for src.dosage as vs0 make tgt.dosage as vt0 then mAdDosage(vs0, vt0) 


group MedicationAdministration extends DomainResource
  input src : MedicationAdministrationR3 as source
  input tgt : MedicationAdministration as target

  "MedicationAdministration.identifier": for src.identifier make tgt.identifier
  "MedicationAdministration.instantiates": for src.instantiates make tgt.instantiates
  "MedicationAdministration.partOf": for src.partOf make tgt.partOf
  "MedicationAdministration.status": for src.status make tgt.status
  "MedicationAdministration.category": for src.category make tgt.category
  "MedicationAdministration.medication": for src.medication make tgt.medication
  "MedicationAdministration.subject": for src.subject make tgt.subject
  "MedicationAdministration.context": for src.context make tgt.context
  "MedicationAdministration.supportingInformation": for src.supportingInformation make tgt.supportingInformation
  "MedicationAdministration.effective": for src.effective make tgt.effective
  "MedicationAdministration.performer": for src.performer as s make tgt.performer as t then MedicationAdministrationPerformer(s,t)
  "MedicationAdministration.statusReason": for src.statusReason make tgt.statusReason
  "MedicationAdministration.reasonCode": for src.reasonCode make tgt.reasonCode
  "MedicationAdministration.reasonReference": for src.reasonReference make tgt.reasonReference
  "MedicationAdministration.request": for src.request make tgt.request
  "MedicationAdministration.device": for src.device make tgt.device
  "MedicationAdministration.note": for src.note make tgt.note
  "MedicationAdministration.dosage": for src.dosage as s make tgt.dosage as t then MedicationAdministrationDosage(s,t)
  "MedicationAdministration.eventHistory": for src.eventHistory make tgt.eventHistory

endgroup

group mAdPerformer extends BackboneElement
  input src as source
  input tgt as target

group MedicationAdministrationPerformer extends BackboneElement
  input src : MedicationAdministrationR3 as source
  input tgt : MedicationAdministration as target


  "MedicationAdministration-performer-actor" : for src.actor make tgt.practitioner 

  "MedicationAdministration.performer.function": for src.function make tgt.function
  "MedicationAdministration.performer.actor": for src.actor make tgt.actor

endgroup

group mAdDosage extends BackboneElement
  input src : MedicationAdministrationR2 as source

group MedicationAdministrationDosage extends BackboneElement
  input src : MedicationAdministrationR3 as source

  input tgt : MedicationAdministration as target

  "MedicationAdministration.dosage-text" : for src.text make tgt.text
  "MedicationAdministration.dosage-site" : for src.site make tgt.site
  "MedicationAdministration.dosage-route" : for src.route make tgt.route
  "MedicationAdministration.dosage-method" : for src.method make tgt.method
  "MedicationAdministration.dosage-dose" : for src.dose make tgt.quantity
  "MedicationAdministration.dosage-rate-Ratio" : for src.rate where $this is Ratio make tgt.rate

  "MedicationAdministration.dosage.text": for src.text make tgt.text
  "MedicationAdministration.dosage.site": for src.site make tgt.site
  "MedicationAdministration.dosage.route": for src.route make tgt.route
  "MedicationAdministration.dosage.method": for src.method make tgt.method
  "MedicationAdministration.dosage.dose": for src.dose make tgt.dose
  "MedicationAdministration.dosage.rate": for src.rate make tgt.rate

endgroup