FHIR Extensions Pack v5.1.0 (2024-04-27)

This page is part of the FHIR Core Extensions Registry (v5.1.0: Release 5.1) based on FHIR (HL7® FHIR® Standard) v5.0.0. This is the current published version. For a full list of available versions, see the Directory of published versions

Biomedical Research and Regulation Work GroupMaturity Level: N/AStandards Status: InformativeSecurity Category: N/A Compartments: N/A

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

Maps to AdministrableProductDefinition

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

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

conceptmap "PublicationStatus" {
  prefix s = "http://hl7.org/fhir/publication-status"
  prefix t = "http://hl7.org/fhir/4.3/publication-status"

  s:draft - t:draft
  s:active - t:active
  s:retired - t:retired
  s:unknown - t:unknown
}

uses "http://hl7.org/fhir/StructureDefinition/AdministrableProductDefinition" alias AdministrableProductDefinitionR5 as source
uses "http://hl7.org/fhir/4.3/StructureDefinition/AdministrableProductDefinition" alias AdministrableProductDefinitionR4B as target

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

group AdministrableProductDefinition(source src : AdministrableProductDefinitionR5, target tgt : AdministrableProductDefinitionR4B) extends DomainResource <<type+>> {
  src.identifier -> tgt.identifier;
  src.status as v -> tgt.status = translate(v, '#PublicationStatus', 'code');
  src.formOf -> tgt.formOf;
  src.administrableDoseForm -> tgt.administrableDoseForm;
  src.unitOfPresentation -> tgt.unitOfPresentation;
  src.producedFrom -> tgt.producedFrom;
  src.ingredient -> tgt.ingredient;
  src.device -> tgt.device;
  src.property as s -> tgt.property as t then AdministrableProductDefinitionProperty(s, t); // src.description -> tgt.description;
  src.routeOfAdministration as s -> tgt.routeOfAdministration as t then AdministrableProductDefinitionRouteOfAdministration(s, t);
}

group AdministrableProductDefinitionProperty(source src, target tgt) extends BackboneElement {
  src.type -> tgt.type;
  src.value : CodeableConcept -> tgt.value;
  src.value : Quantity -> tgt.value;
  src.value : date -> tgt.value;
  src.value : boolean -> tgt.value;
  src.value : Attachment -> tgt.value; // src.value : markdown -> tgt.value;
  src.status as v -> tgt.status = translate(v, '#PublicationStatus', 'code'); // src.value : Reference -> tgt.value;
}

group AdministrableProductDefinitionRouteOfAdministration(source src, target tgt) extends BackboneElement {
  src.code -> tgt.code;
  src.firstDose -> tgt.firstDose;
  src.maxSingleDose -> tgt.maxSingleDose;
  src.maxDosePerDay -> tgt.maxDosePerDay;
  src.maxDosePerTreatmentPeriod -> tgt.maxDosePerTreatmentPeriod;
  src.maxTreatmentPeriod -> tgt.maxTreatmentPeriod;
  src.targetSpecies as s -> tgt.targetSpecies as t then AdministrableProductDefinitionRouteOfAdministrationTargetSpecies(s, t);
}

group AdministrableProductDefinitionRouteOfAdministrationTargetSpecies(source src, target tgt) extends BackboneElement {
  src.code -> tgt.code;
  src.withdrawalPeriod as s -> tgt.withdrawalPeriod as t then RouteOfAdministrationTargetSpeciesWithdrawalPeriod(s, t);
}

group RouteOfAdministrationTargetSpeciesWithdrawalPeriod(source src, target tgt) extends BackboneElement {
  src.tissue -> tgt.tissue;
  src.value -> tgt.value;
  src.supportingInformation -> tgt.supportingInformation;
}

Maps from AdministrableProductDefinition

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

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

conceptmap "PublicationStatus" {
  prefix s = "http://hl7.org/fhir/4.3/publication-status"
  prefix t = "http://hl7.org/fhir/publication-status"

  s:draft - t:draft
  s:active - t:active
  s:retired - t:retired
  s:unknown - t:unknown
}

uses "http://hl7.org/fhir/4.3/StructureDefinition/AdministrableProductDefinition" alias AdministrableProductDefinitionR4B as source
uses "http://hl7.org/fhir/StructureDefinition/AdministrableProductDefinition" alias AdministrableProductDefinitionR5 as target

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

group AdministrableProductDefinition(source src : AdministrableProductDefinitionR4B, target tgt : AdministrableProductDefinitionR5) extends DomainResource <<type+>> {
  src.identifier -> tgt.identifier;
  src.status as v -> tgt.status = translate(v, '#PublicationStatus', 'code');
  src.formOf -> tgt.formOf;
  src.administrableDoseForm -> tgt.administrableDoseForm;
  src.unitOfPresentation -> tgt.unitOfPresentation;
  src.producedFrom -> tgt.producedFrom;
  src.ingredient -> tgt.ingredient;
  src.device -> tgt.device;
  src.property as s -> tgt.property as t then AdministrableProductDefinitionProperty(s, t); // src.description -> tgt.description;
  src.routeOfAdministration as s -> tgt.routeOfAdministration as t then AdministrableProductDefinitionRouteOfAdministration(s, t);
}

group AdministrableProductDefinitionProperty(source src, target tgt) extends BackboneElement {
  src.type -> tgt.type;
  src.value : CodeableConcept -> tgt.value;
  src.value : Quantity -> tgt.value;
  src.value : date -> tgt.value;
  src.value : boolean -> tgt.value;
  src.value : Attachment -> tgt.value; // src.value : markdown -> tgt.value;
  src.status as v -> tgt.status = translate(v, '#PublicationStatus', 'code'); // src.value : Reference -> tgt.value;
}

group AdministrableProductDefinitionRouteOfAdministration(source src, target tgt) extends BackboneElement {
  src.code -> tgt.code;
  src.firstDose -> tgt.firstDose;
  src.maxSingleDose -> tgt.maxSingleDose;
  src.maxDosePerDay -> tgt.maxDosePerDay;
  src.maxDosePerTreatmentPeriod -> tgt.maxDosePerTreatmentPeriod;
  src.maxTreatmentPeriod -> tgt.maxTreatmentPeriod;
  src.targetSpecies as s -> tgt.targetSpecies as t then AdministrableProductDefinitionRouteOfAdministrationTargetSpecies(s, t);
}

group AdministrableProductDefinitionRouteOfAdministrationTargetSpecies(source src, target tgt) extends BackboneElement {
  src.code -> tgt.code;
  src.withdrawalPeriod as s -> tgt.withdrawalPeriod as t then RouteOfAdministrationTargetSpeciesWithdrawalPeriod(s, t);
}

group RouteOfAdministrationTargetSpeciesWithdrawalPeriod(source src, target tgt) extends BackboneElement {
  src.tissue -> tgt.tissue;
  src.value -> tgt.value;
  src.supportingInformation -> tgt.supportingInformation;
}