This page is part of the FHIR Core Extensions Registry (v1.0.0: Releases) based on FHIR v5.0.0. This is the current published version in its permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions
Biomedical Research and Regulation Work Group | Maturity Level: N/A | Standards Status: Informative | Security Category: N/A | Compartments: N/A |
Following are maps for converting between the equivalent R4B resource and this R5 resource.
/// url = 'http://hl7.org/fhir/StructureMap/SubstancePolymer5to4' /// name = 'SubstancePolymer5to4' /// title = 'FML Conversion for SubstancePolymer: R5 to R4' /// status = 'active' uses "http://hl7.org/fhir/StructureDefinition/SubstancePolymer" alias SubstancePolymerR5 as source uses "http://hl7.org/fhir/4.0/StructureDefinition/SubstancePolymer" alias SubstancePolymerR4 as target imports "http://hl7.org/fhir/StructureMap/*5to4" group SubstancePolymer(source src : SubstancePolymerR5, target tgt : SubstancePolymerR4) extends DomainResource <<type+>> { src.class -> tgt.class; // src.identifier -> tgt.identifier; src.geometry -> tgt.geometry; src.copolymerConnectivity -> tgt.copolymerConnectivity; src.modification -> tgt.modification; src.monomerSet as s -> tgt.monomerSet as t then SubstancePolymerMonomerSet(s, t); src.repeat as s -> tgt.repeat as t then SubstancePolymerRepeat(s, t); } group SubstancePolymerMonomerSet(source src, target tgt) extends BackboneElement { src.ratioType -> tgt.ratioType; src.startingMaterial as s -> tgt.startingMaterial as t then SubstancePolymerMonomerSetStartingMaterial(s, t); } group SubstancePolymerMonomerSetStartingMaterial(source src, target tgt) extends BackboneElement { src.code -> tgt.material; src.category -> tgt.type; src.isDefining -> tgt.isDefining; src.amount as s -> tgt.amount = s.amount; } group SubstancePolymerRepeat(source src, target tgt) extends BackboneElement { src.averageMolecularFormula -> tgt.averageMolecularFormula; src.repeatUnitAmountType -> tgt.repeatUnitAmountType; src.repeatUnit as s -> tgt.repeatUnit as t then SubstancePolymerRepeatRepeatUnit(s, t); } group SubstancePolymerRepeatRepeatUnit(source src, target tgt) extends BackboneElement { src.unit -> tgt.repeatUnit; src.orientation -> tgt.orientationOfPolymerisation; src.degreeOfPolymerisation as s -> tgt.degreeOfPolymerisation as t then SubstancePolymerRepeatRepeatUnitDegreeOfPolymerisation(s, t); // src.amount -> tgt.amount; src.structuralRepresentation as s -> tgt.structuralRepresentation as t then SubstancePolymerRepeatRepeatUnitStructuralRepresentation(s, t); } group SubstancePolymerRepeatRepeatUnitDegreeOfPolymerisation(source src, target tgt) extends BackboneElement { src.type -> tgt.degree; src.average as s -> tgt.amount as t, t.amount = create('Quantity') as ta, ta.value = s; src.low as s -> tgt.amount as t, t.referenceRange as tr, tr.lowLimit = create('Quantity') as ts, ts.value = s; src.high as s -> tgt.amount as t, t.referenceRange as tr, tr.highLimit = create('Quantity') as ts, ts.value = s; } group SubstancePolymerRepeatRepeatUnitStructuralRepresentation(source src, target tgt) extends BackboneElement { src.type -> tgt.type; src.representation -> tgt.representation; src.attachment -> tgt.attachment; // src.format -> tgt.format; }
/// url = 'http://hl7.org/fhir/StructureMap/SubstancePolymer4to5' /// name = 'SubstancePolymer4to5' /// title = 'FML Conversion for SubstancePolymer: R4 to R5' /// status = 'active' uses "http://hl7.org/fhir/4.0/StructureDefinition/SubstancePolymer" alias SubstancePolymerR4 as source uses "http://hl7.org/fhir/StructureDefinition/SubstancePolymer" alias SubstancePolymerR5 as target imports "http://hl7.org/fhir/StructureMap/*4to5" group SubstancePolymer(source src : SubstancePolymerR4, target tgt : SubstancePolymerR5) extends DomainResource <<type+>> { src.class -> tgt.class; // src.identifier -> tgt.identifier; src.geometry -> tgt.geometry; src.copolymerConnectivity -> tgt.copolymerConnectivity; src.modification -> tgt.modification; src.monomerSet as s -> tgt.monomerSet as t then SubstancePolymerMonomerSet(s, t); src.repeat as s -> tgt.repeat as t then SubstancePolymerRepeat(s, t); } group SubstancePolymerMonomerSet(source src, target tgt) extends BackboneElement { src.ratioType -> tgt.ratioType; src.startingMaterial as s -> tgt.startingMaterial as t then SubstancePolymerMonomerSetStartingMaterial(s, t); } group SubstancePolymerMonomerSetStartingMaterial(source src, target tgt) extends BackboneElement { src.material -> tgt.code; src.type -> tgt.category; src.isDefining -> tgt.isDefining; src.amount as s -> tgt.amount as t, t = s.amount; } group SubstancePolymerRepeat(source src, target tgt) extends BackboneElement { src.averageMolecularFormula -> tgt.averageMolecularFormula; src.repeatUnitAmountType -> tgt.repeatUnitAmountType; src.repeatUnit as s -> tgt.repeatUnit as t then SubstancePolymerRepeatRepeatUnit(s, t); } group SubstancePolymerRepeatRepeatUnit(source src, target tgt) extends BackboneElement { src.repeatUnit -> tgt.unit; src.orientationOfPolymerisation -> tgt.orientation; src.degreeOfPolymerisation as s -> tgt.degreeOfPolymerisation as t then SubstancePolymerRepeatRepeatUnitDegreeOfPolymerisation(s, t); // src.amount -> tgt.amount; src.structuralRepresentation as s -> tgt.structuralRepresentation as t then SubstancePolymerRepeatRepeatUnitStructuralRepresentation(s, t); } group SubstancePolymerRepeatRepeatUnitDegreeOfPolymerisation(source src, target tgt) extends BackboneElement { src.degree -> tgt.type; src.amount as s -> tgt then { s.amount : Quantity as v -> tgt.average = v.value; s.referenceRange as sr -> tgt then { sr.lowLimit as vl -> tgt.low = vl.value; sr.highLimit as vh -> tgt.high = vh.value; }; }; } group SubstancePolymerRepeatRepeatUnitStructuralRepresentation(source src, target tgt) extends BackboneElement { src.type -> tgt.type; src.representation -> tgt.representation; src.attachment -> tgt.attachment; // src.format -> tgt.format; }