FHIR Extensions Pack v5.1.0-cibuild (2024-04-18)

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

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 SubstanceSourceMaterial

FML Conversion for SubstanceSourceMaterial: R5 to R4 (Draft/Trial Use)

/// url = 'http://hl7.org/fhir/StructureMap/SubstanceSourceMaterial5to4'
/// name = 'SubstanceSourceMaterial5to4'
/// title = 'FML Conversion for SubstanceSourceMaterial: R5 to R4'
/// status = 'draft'

uses "http://hl7.org/fhir/StructureDefinition/SubstanceSourceMaterial" alias SubstanceSourceMaterialR5 as source
uses "http://hl7.org/fhir/4.0/StructureDefinition/SubstanceSourceMaterial" alias SubstanceSourceMaterialR4 as target

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

group SubstanceSourceMaterial(source src : SubstanceSourceMaterialR5, target tgt : SubstanceSourceMaterialR4) extends DomainResource <<type+>> {
  src.sourceMaterialClass -> tgt.sourceMaterialClass;
  src.sourceMaterialType -> tgt.sourceMaterialType;
  src.sourceMaterialState -> tgt.sourceMaterialState;
  src.organismId -> tgt.organismId;
  src.organismName -> tgt.organismName;
  src.parentSubstanceId -> tgt.parentSubstanceId;
  src.parentSubstanceName -> tgt.parentSubstanceName;
  src.countryOfOrigin -> tgt.countryOfOrigin;
  src.geographicalLocation -> tgt.geographicalLocation;
  src.developmentStage -> tgt.developmentStage;
  src.fractionDescription as s -> tgt.fractionDescription as t then SubstanceSourceMaterialFractionDescription(s, t);
  src.organism as s -> tgt.organism as t then SubstanceSourceMaterialOrganism(s, t);
  src.partDescription as s -> tgt.partDescription as t then SubstanceSourceMaterialPartDescription(s, t);
}

group SubstanceSourceMaterialFractionDescription(source src, target tgt) extends BackboneElement {
  src.fraction -> tgt.fraction;
  src.materialType -> tgt.materialType;
}

group SubstanceSourceMaterialOrganism(source src, target tgt) extends BackboneElement {
  src.family -> tgt.family;
  src.genus -> tgt.genus;
  src.species -> tgt.species;
  src.intraspecificType -> tgt.intraspecificType;
  src.intraspecificDescription -> tgt.intraspecificDescription;
  src.author as s -> tgt.author as t then SubstanceSourceMaterialOrganismAuthor(s, t);
  src.hybrid as s -> tgt.hybrid as t then SubstanceSourceMaterialOrganismHybrid(s, t);
  src.organismGeneral as s -> tgt.organismGeneral as t then SubstanceSourceMaterialOrganismOrganismGeneral(s, t);
}

group SubstanceSourceMaterialOrganismAuthor(source src, target tgt) extends BackboneElement {
  src.authorType -> tgt.authorType;
  src.authorDescription -> tgt.authorDescription;
}

group SubstanceSourceMaterialOrganismHybrid(source src, target tgt) extends BackboneElement {
  src.maternalOrganismId -> tgt.maternalOrganismId;
  src.maternalOrganismName -> tgt.maternalOrganismName;
  src.paternalOrganismId -> tgt.paternalOrganismId;
  src.paternalOrganismName -> tgt.paternalOrganismName;
  src.hybridType -> tgt.hybridType;
}

group SubstanceSourceMaterialOrganismOrganismGeneral(source src, target tgt) extends BackboneElement {
  src.kingdom -> tgt.kingdom;
  src.phylum -> tgt.phylum;
  src.class -> tgt.class;
  src.order -> tgt.order;
}

group SubstanceSourceMaterialPartDescription(source src, target tgt) extends BackboneElement {
  src.part -> tgt.part;
  src.partLocation -> tgt.partLocation;
}

Maps from SubstanceSourceMaterial

FML Conversion for SubstanceSourceMaterial: R4 to R5 (Draft/Trial Use)

/// url = 'http://hl7.org/fhir/StructureMap/SubstanceSourceMaterial4to5'
/// name = 'SubstanceSourceMaterial4to5'
/// title = 'FML Conversion for SubstanceSourceMaterial: R4 to R5'
/// status = 'draft'

uses "http://hl7.org/fhir/4.0/StructureDefinition/SubstanceSourceMaterial" alias SubstanceSourceMaterialR4 as source
uses "http://hl7.org/fhir/StructureDefinition/SubstanceSourceMaterial" alias SubstanceSourceMaterialR5 as target

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

group SubstanceSourceMaterial(source src : SubstanceSourceMaterialR4, target tgt : SubstanceSourceMaterialR5) extends DomainResource <<type+>> {
  src.sourceMaterialClass -> tgt.sourceMaterialClass;
  src.sourceMaterialType -> tgt.sourceMaterialType;
  src.sourceMaterialState -> tgt.sourceMaterialState;
  src.organismId -> tgt.organismId;
  src.organismName -> tgt.organismName;
  src.parentSubstanceId -> tgt.parentSubstanceId;
  src.parentSubstanceName -> tgt.parentSubstanceName;
  src.countryOfOrigin -> tgt.countryOfOrigin;
  src.geographicalLocation -> tgt.geographicalLocation;
  src.developmentStage -> tgt.developmentStage;
  src.fractionDescription as s -> tgt.fractionDescription as t then SubstanceSourceMaterialFractionDescription(s, t);
  src.organism as s -> tgt.organism as t then SubstanceSourceMaterialOrganism(s, t);
  src.partDescription as s -> tgt.partDescription as t then SubstanceSourceMaterialPartDescription(s, t);
}

group SubstanceSourceMaterialFractionDescription(source src, target tgt) extends BackboneElement {
  src.fraction -> tgt.fraction;
  src.materialType -> tgt.materialType;
}

group SubstanceSourceMaterialOrganism(source src, target tgt) extends BackboneElement {
  src.family -> tgt.family;
  src.genus -> tgt.genus;
  src.species -> tgt.species;
  src.intraspecificType -> tgt.intraspecificType;
  src.intraspecificDescription -> tgt.intraspecificDescription;
  src.author as s -> tgt.author as t then SubstanceSourceMaterialOrganismAuthor(s, t);
  src.hybrid as s -> tgt.hybrid as t then SubstanceSourceMaterialOrganismHybrid(s, t);
  src.organismGeneral as s -> tgt.organismGeneral as t then SubstanceSourceMaterialOrganismOrganismGeneral(s, t);
}

group SubstanceSourceMaterialOrganismAuthor(source src, target tgt) extends BackboneElement {
  src.authorType -> tgt.authorType;
  src.authorDescription -> tgt.authorDescription;
}

group SubstanceSourceMaterialOrganismHybrid(source src, target tgt) extends BackboneElement {
  src.maternalOrganismId -> tgt.maternalOrganismId;
  src.maternalOrganismName -> tgt.maternalOrganismName;
  src.paternalOrganismId -> tgt.paternalOrganismId;
  src.paternalOrganismName -> tgt.paternalOrganismName;
  src.hybridType -> tgt.hybridType;
}

group SubstanceSourceMaterialOrganismOrganismGeneral(source src, target tgt) extends BackboneElement {
  src.kingdom -> tgt.kingdom;
  src.phylum -> tgt.phylum;
  src.class -> tgt.class;
  src.order -> tgt.order;
}

group SubstanceSourceMaterialPartDescription(source src, target tgt) extends BackboneElement {
  src.part -> tgt.part;
  src.partLocation -> tgt.partLocation;
}