R4 Ballot #1 (Mixed Normative/Trial use)

This page is part of the FHIR Specification (v3.3.0: R4 Ballot 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 GroupMaturity Level: N/ABallot Status: Informative Compartments: Device, Encounter, Patient, Practitioner, RelatedPerson

R2 : R3 Conversion maps for MedicationAdministration.

Functional status for this map: 3 tests that all 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"

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/StructureDefinition/MedicationAdministration" alias MedicationAdministration as target

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

group for type+types  MedicationAdministration extends DomainResource
  input src : MedicationAdministrationR2 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) 
endgroup

group mAdDosage extends BackboneElement
  input src : MedicationAdministrationR2 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
endgroup

map "http://hl7.org/fhir/StructureMap/MedicationAdministration3to2" = "R3 to R2 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

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

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) 
endgroup

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

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

group mAdDosage extends BackboneElement
  input src : MedicationAdministrationR2 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
endgroup