FHIR Cross-Version Mapping Pack, published by HL7 International / FHIR Infrastructure. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/fhir-cross-version/ and changes regularly. See the Directory of published versions
Official URL: http://hl7.org/fhir/StructureMap/Dosage3to4 | Version: 0.1.0 | |||
Standards status: Draft | Maturity Level: 1 | Computable Name: Dosage3to4 |
DosageTransformsR3toR4
/// url = 'http://hl7.org/fhir/StructureMap/Dosage3to4' /// name = 'Dosage3to4' /// title = 'Dosage Transforms: R3 to R4' /// status = 'active' uses "http://hl7.org/fhir/3.0/Dosage" alias DosageR3 as source uses "http://hl7.org/fhir/4.0/Dosage" alias Dosage as target imports "http://hl7.org/fhir/StructureMap/*3to4" group Dosage(source src : DosageR3, target tgt : Dosage) extends BackboneElement <<type+>> { src.sequence -> tgt.sequence; src.text -> tgt.text; src.additionalInstruction -> tgt.additionalInstruction; src.patientInstruction -> tgt.patientInstruction; src.timing -> tgt.timing; src.asNeeded : boolean as vs -> tgt.asNeeded = create('boolean') as vt then boolean(vs, vt); src.asNeeded : CodeableConcept as vs -> tgt.asNeeded = create('CodeableConcept') as vt then CodeableConcept(vs, vt); src.site -> tgt.site; src.route -> tgt.route; src.method -> tgt.method; src where dose.exists() or rate.exists() -> tgt.doseAndRate as vt0 then doseAndRate(src, vt0) "doserate"; src.maxDosePerPeriod -> tgt.maxDosePerPeriod; src.maxDosePerAdministration -> tgt.maxDosePerAdministration; src.maxDosePerLifetime -> tgt.maxDosePerLifetime; } group doseAndRate(source src, target tgt) { src.dose : Range as vs -> tgt.dose = create('Range') as vt then Range(vs, vt); src.dose : Quantity as vs -> tgt.dose = create('Quantity') as vt then Quantity(vs, vt); src.rate : Ratio as vs -> tgt.rate = create('Ratio') as vt then Ratio(vs, vt); src.rate : Range as vs -> tgt.rate = create('Range') as vt then Range(vs, vt); src.rate : Quantity as vs -> tgt.rate = create('Quantity') as vt then Quantity(vs, vt); }