FHIR Extensions Pack v5.1.0-cibuild (2024-03-27)

FHIR Extensions Pack, published by HL7 International / FHIR Infrastructure. This guide is not an authorized publication; it is the continuous build for version 5.1.0-cibuild built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/fhir-extensions/ and changes regularly. See the Directory of published versions

Pharmacy Work GroupMaturity Level: N/AStandards Status: InformativeSecurity Category: N/A Compartments: N/A

Following are maps for converting between the equivalent R4B data type and this R5 data type.

Maps to Dosage

FML Conversion for Dosage: R5 to R4 (Ready for Use/Trial Use)

/// url = 'http://hl7.org/fhir/StructureMap/Dosage5to4'
/// name = 'Dosage5to4'
/// title = 'FML Conversion for Dosage: R5 to R4'
/// status = 'active'

uses "http://hl7.org/fhir/StructureDefinition/Dosage" alias DosageR5 as source
uses "http://hl7.org/fhir/4.0/StructureDefinition/Dosage" alias DosageR4 as target

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

group Dosage(source src : DosageR5, target tgt : DosageR4) extends Element <<type+>> {
  src.modifierExtension -> tgt.modifierExtension;
  src.sequence -> tgt.sequence;
  src.text -> tgt.text;
  src.additionalInstruction -> tgt.additionalInstruction;
  src.patientInstruction -> tgt.patientInstruction;
  src.timing -> tgt.timing;
  src.asNeeded -> tgt.asNeeded;
  src.asNeededFor -> tgt.asNeeded;
  src.site -> tgt.site;
  src.route -> tgt.route;
  src.method -> tgt.method;
  src.doseAndRate as s -> tgt.doseAndRate as t then DosageDoseAndRate(s, t);
  src.maxDosePerPeriod -> tgt.maxDosePerPeriod;
  src.maxDosePerAdministration -> tgt.maxDosePerAdministration;
  src.maxDosePerLifetime -> tgt.maxDosePerLifetime;
}

group DosageDoseAndRate(source src, target tgt) extends Element {
  src.type -> tgt.type;
  src.dose : Range -> tgt.dose;
  src.dose : Quantity -> tgt.dose;
  src.rate : Ratio -> tgt.rate;
  src.rate : Range -> tgt.rate;
  src.rate : Quantity -> tgt.rate;
}

FML Conversion for Dosage: R5 to R4B (Ready for Use/Trial Use)

/// url = 'http://hl7.org/fhir/StructureMap/Dosage5to4B'
/// name = 'Dosage5to4B'
/// title = 'FML Conversion for Dosage: R5 to R4B'
/// status = 'active'

uses "http://hl7.org/fhir/StructureDefinition/Dosage" alias DosageR5 as source
uses "http://hl7.org/fhir/4.3/StructureDefinition/Dosage" alias DosageR4B as target

imports "http://hl7.org/fhir/StructureMap/*5to4B"

group Dosage(source src : DosageR5, target tgt : DosageR4B) extends Element <<type+>> {
  src.modifierExtension -> tgt.modifierExtension;
  src.sequence -> tgt.sequence;
  src.text -> tgt.text;
  src.additionalInstruction -> tgt.additionalInstruction;
  src.patientInstruction -> tgt.patientInstruction;
  src.timing -> tgt.timing;
  src.asNeeded -> tgt.asNeeded;
  src.asNeededFor -> tgt.asNeeded;
  src.site -> tgt.site;
  src.route -> tgt.route;
  src.method -> tgt.method;
  src.doseAndRate as s -> tgt.doseAndRate as t then DosageDoseAndRate(s, t);
  src.maxDosePerPeriod -> tgt.maxDosePerPeriod;
  src.maxDosePerAdministration -> tgt.maxDosePerAdministration;
  src.maxDosePerLifetime -> tgt.maxDosePerLifetime;
}

group DosageDoseAndRate(source src, target tgt) extends Element {
  src.type -> tgt.type;
  src.dose : Range -> tgt.dose;
  src.dose : Quantity -> tgt.dose;
  src.rate : Ratio -> tgt.rate;
  src.rate : Range -> tgt.rate;
  src.rate : Quantity -> tgt.rate;
}

Maps from Dosage

FML Conversion for Dosage: R4B to R5 (Ready for Use/Trial Use)

/// url = 'http://hl7.org/fhir/StructureMap/Dosage4Bto5'
/// name = 'Dosage4Bto5'
/// title = 'FML Conversion for Dosage: R4B to R5'
/// status = 'active'

uses "http://hl7.org/fhir/4.3/StructureDefinition/Dosage" alias DosageR4B as source
uses "http://hl7.org/fhir/StructureDefinition/Dosage" alias DosageR5 as target

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

group Dosage(source src : DosageR4B, target tgt : DosageR5) extends Element <<type+>> {
  src.modifierExtension -> tgt.modifierExtension;
  src.sequence -> tgt.sequence;
  src.text -> tgt.text;
  src.additionalInstruction -> tgt.additionalInstruction;
  src.patientInstruction -> tgt.patientInstruction;
  src.timing -> tgt.timing;
  src.asNeeded : boolean -> tgt.asNeeded;
  src.asNeeded : CodeableConcept -> tgt.asNeededFor;
  src.site -> tgt.site;
  src.route -> tgt.route;
  src.method -> tgt.method;
  src.doseAndRate as s -> tgt.doseAndRate as t then DosageDoseAndRate(s, t);
  src.maxDosePerPeriod -> tgt.maxDosePerPeriod;
  src.maxDosePerAdministration -> tgt.maxDosePerAdministration;
  src.maxDosePerLifetime -> tgt.maxDosePerLifetime;
}

group DosageDoseAndRate(source src, target tgt) extends Element {
  src.type -> tgt.type;
  src.dose : Range -> tgt.dose;
  src.dose : Quantity -> tgt.dose;
  src.rate : Ratio -> tgt.rate;
  src.rate : Range -> tgt.rate;
  src.rate : Quantity -> tgt.rate;
}

FML Conversion for Dosage: R4 to R5 (Ready for Use/Trial Use)

/// url = 'http://hl7.org/fhir/StructureMap/Dosage4to5'
/// name = 'Dosage4to5'
/// title = 'FML Conversion for Dosage: R4 to R5'
/// status = 'active'

uses "http://hl7.org/fhir/4.0/StructureDefinition/Dosage" alias DosageR4 as source
uses "http://hl7.org/fhir/StructureDefinition/Dosage" alias DosageR5 as target

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

group Dosage(source src : DosageR4, target tgt : DosageR5) extends Element <<type+>> {
  src.modifierExtension -> tgt.modifierExtension;
  src.sequence -> tgt.sequence;
  src.text -> tgt.text;
  src.additionalInstruction -> tgt.additionalInstruction;
  src.patientInstruction -> tgt.patientInstruction;
  src.timing -> tgt.timing;
  src.asNeeded : boolean -> tgt.asNeeded;
  src.asNeeded : CodeableConcept -> tgt.asNeededFor;
  src.site -> tgt.site;
  src.route -> tgt.route;
  src.method -> tgt.method;
  src.doseAndRate as s -> tgt.doseAndRate as t then DosageDoseAndRate(s, t);
  src.maxDosePerPeriod -> tgt.maxDosePerPeriod;
  src.maxDosePerAdministration -> tgt.maxDosePerAdministration;
  src.maxDosePerLifetime -> tgt.maxDosePerLifetime;
}

group DosageDoseAndRate(source src, target tgt) extends Element {
  src.type -> tgt.type;
  src.dose : Range -> tgt.dose;
  src.dose : Quantity -> tgt.dose;
  src.rate : Ratio -> tgt.rate;
  src.rate : Range -> tgt.rate;
  src.rate : Quantity -> tgt.rate;
}