| Package | ch.fhir.ig.cda-fhir-maps |
| Resource Type | StructureMap |
| Id | CdaChEmedToBundle |
| FHIR Version | R4 |
| Source | http://fhir.ch/ig/cda-fhir-maps/http://fhir.ch/ig/cda-fhir-maps/StructureMap-CdaChEmedToBundle.html |
| URL | http://fhir.ch/ig/cda-fhir-maps/StructureMap/CdaChEmedToBundle |
| Version | 0.3.0 |
| Status | draft |
| Date | 2022-02-11T11:14:39+01:00 |
| Name | CdaChEmedToBundle |
| Realm | ch |
| Authority | hl7 |
| Description | Medication Entries 2020-10-30 Oliver Egger, copyright ahdis ag, Apache License CDA-CH-EMED: https://art-decor.org/art-decor/decor-project--cdachemed- FHIR CH-EMED: http://fhir.ch/ig/ch-emed/index.html |
| Copyright | CC-BY-SA-4.0 |
No resources found
No resources found
Note: links and images are rebased to the (stated) source
map "http://fhir.ch/ig/cda-fhir-maps/StructureMap/CdaChEmedToBundle" = "CdaChEmedToBundle"
// Medication Entries
// 2020-10-30 Oliver Egger, copyright ahdis ag, Apache License
// CDA-CH-EMED: https://art-decor.org/art-decor/decor-project--cdachemed-
// FHIR CH-EMED: http://fhir.ch/ig/ch-emed/index.html
uses "http://hl7.org/fhir/cda/StructureDefinition/ClinicalDocument" alias ClinicalDocument as source
uses "http://hl7.org/fhir/cda/StructureDefinition/AssignedAuthor" alias AssignedAuthor as source
uses "http://hl7.org/fhir/cda/StructureDefinition/AssignedEntity" alias AssignedEntity as source
uses "http://hl7.org/fhir/cda/StructureDefinition/Author" alias Author as source
uses "http://hl7.org/fhir/cda/StructureDefinition/CustodianOrganization" alias CustodianOrganization as source
uses "http://hl7.org/fhir/cda/StructureDefinition/IVL_TS" alias IVL_TS as source
uses "http://hl7.org/fhir/cda/StructureDefinition/EIVL_TS" alias EIVL_TS as source
uses "http://hl7.org/fhir/cda/StructureDefinition/Observation" alias Observation as source
uses "http://hl7.org/fhir/cda/StructureDefinition/PatientRole" alias PatientRole as source
uses "http://hl7.org/fhir/cda/StructureDefinition/RecordTarget" alias RecordTarget as source
uses "http://hl7.org/fhir/cda/StructureDefinition/Section" alias Section as source
uses "http://hl7.org/fhir/cda/StructureDefinition/SubstanceAdministration" alias SubstanceAdministration as source
uses "http://hl7.org/fhir/cda/StructureDefinition/SXPR_TS" alias SXPR_TS as source
uses "http://hl7.org/fhir/StructureDefinition/Bundle" alias Bundle as target
uses "http://hl7.org/fhir/StructureDefinition/Composition" alias Composition as produced
uses "http://hl7.org/fhir/StructureDefinition/Patient" alias Patient as produced
uses "http://hl7.org/fhir/StructureDefinition/Practitioner" alias Practitioner as produced
uses "http://hl7.org/fhir/StructureDefinition/Organization" alias Organization as produced
uses "http://hl7.org/fhir/StructureDefinition/MedicationStatement" alias MedicationStatement as produced
uses "http://hl7.org/fhir/StructureDefinition/Dosage" alias Dosage as produced
uses "http://hl7.org/fhir/StructureDefinition/Observation" alias Observation as produced
imports "http://fhir.ch/ig/cda-fhir-maps/StructureMap/CdaToFhirTypes"
imports "http://fhir.ch/ig/cda-fhir-maps/StructureMap/CdaToBundle"
imports "http://fhir.ch/ig/cda-fhir-maps/StructureMap/CdaChToBundle"
// source: https://art-decor.org/art-decor/decor-templates--cdachemed-?section=templates&id=2.16.756.5.30.1.1.10.4.2
// target: Annotation note (e.g. http://build.fhir.org/ig/hl7ch/ch-emed/branches/master/StructureDefinition-ch-emed-medicationstatement.html)
group AnnotationComment(source section : Section, source act : Act, target note : Annotation) {
act.text as text then {
text.data as data -> note.text = data "level3";
text.reference as reference then {
reference.value as value -> note.extension as ext then NarrativeLink(value, ext) "narrativeLink";
};
};
}
// source: https://art-decor.org/art-decor/decor-templates--cdachemed-?section=templates&id=2.16.756.5.30.1.1.10.4.33
// target: http://build.fhir.org/ig/hl7ch/ch-emed/branches/master/StructureDefinition-ch-emed-medicationdispense.html
group ManufacturedMaterialEntryContentModuleDispense(source src : Supply, target medicationDispense : MedicationDispense, target medication : Medication) {
src -> medication.id = 'med', medicationDispense.medication = create('Reference') as vt, vt.reference = '#med' "medication";
// quantity value (number of packages)
src.quantity as quantity -> medicationDispense.quantity as medDispQuantity then {
// IHE-DIS: If the product-element contains package information, the unit attribute is not be present
quantity.value as value -> medDispQuantity.value = value;
// IHE-DIS: If the product-element does not contain package information, the unit attribut is present and the value SHALL be out of the UCUM code system
quantity.unit as unit then {
unit -> medDispQuantity.unit = unit "unit";
unit -> medDispQuantity.system = 'http://unitsofmeasure.org' "ucum";
unit -> medDispQuantity.code = unit "code";
};
};
src.product as product then {
product.manufacturedProduct as manufacturedProduct then {
manufacturedProduct.manufacturedMaterial as manufacturedMaterial then {
manufacturedMaterial.name as name where asContent.exists() = false -> medication.code as fhircode, fhircode.text = (%manufacturedMaterial.name.other) "code";
manufacturedMaterial.asContent as asContent then {
asContent.containerPackagedMedicine as containerPackagedMedicine then {
containerPackagedMedicine.code as code -> medication.code as fhircode share medcode then CECodeableConcept(code, fhircode);
containerPackagedMedicine.name as name -> medication.code as fhircode share medcode then {
name -> fhircode.text = (%name.other) "text";
} "text";
containerPackagedMedicine.formCode as formCode -> medication.form as form then CECodeableConcept(formCode, form);
// Package size
containerPackagedMedicine.capacityQuantity as capacityQuantity -> medication.amount = create('Ratio') as ratio, ratio.denominator = create('Quantity') as denominator, denominator.value = '1', denominator.unit = 'Package', denominator.system = 'http://unitsofmeasure.org', denominator.code = '{Package}', ratio.numerator = create('Quantity') as quantity then EmedPQQuantity(capacityQuantity, quantity);
};
};
manufacturedMaterial.ingredient as ingredient -> medication.ingredient as ing then {
ingredient.quantity as quantity -> ing.strength = create('Ratio') as strength then EmedRTOPQPQRatio(quantity, strength) "strength";
ingredient.ingredient as medingredient then {
medingredient.code as code -> ing.item = create('CodeableConcept') as ingcode, ingcode.text = (%medingredient.name.other) then CECodeableConcept(code, ingcode) "ingredientCode";
};
};
};
};
// dosage for normal dosing, as no sequences are present there
src.entryRelationship as entry then {
entry.substanceAdministration as substanceAdministration then {
substanceAdministration where $this.entryRelationship.sequenceNumber.exists() = false -> medicationDispense.dosageInstruction as dosage then DosageInstructionsStartStopFrequency(substanceAdministration, dosage) "dosage";
};
} "entry";
};
}
group EmedPQQuantity(source src : PQ, target tgt : Quantity) {
src.value as value -> tgt.value = value;
src.unit as unit -> tgt.code = unit;
src.unit as unit -> tgt.system = ('http://fhir.ch/ig/ch-emed/ValueSet/UnitCode'.resolve().compose.include.where(concept.where(code = %unit)).system);
src.unit as unit -> tgt.unit = ('http://fhir.ch/ig/ch-emed/ValueSet/UnitCode'.resolve().compose.include.concept.where(code = %unit).display);
}
group EmedRTOPQPQRatio(source src : RTO_PQ_PQ, target tgt : Ratio) {
src.numerator as numerator -> tgt.numerator as targetNumerator then EmedPQQuantity(numerator, targetNumerator);
src.denominator as denominator -> tgt.denominator as targetDenominator then EmedPQQuantity(denominator, targetDenominator);
}
// source: https://art-decor.org/art-decor/decor-templates--cdachemed-?section=templates&id=2.16.756.5.30.1.1.10.4.33
// target: http://build.fhir.org/ig/hl7ch/ch-emed/branches/master/StructureDefinition-ch-emed-medicationstatement.html
group ManufacturedMaterialEntryContentModuleStatement(source src : SubstanceAdministration, target medicationStatement : MedicationStatement, target medication : Medication) {
src -> medication.id = 'med', medicationStatement.medication = create('Reference') as vt, vt.reference = '#med' "medication";
src.consumable as consumable then {
consumable.manufacturedProduct as manufacturedProduct then {
manufacturedProduct.manufacturedMaterial as manufacturedMaterial then {
manufacturedMaterial.name as name where asContent.exists() = false -> medication.code as fhircode, fhircode.text = (%manufacturedMaterial.name.other) "code";
manufacturedMaterial.asContent as asContent then {
asContent.containerPackagedMedicine as containerPackagedMedicine then {
containerPackagedMedicine.code as code -> medication.code as fhircode share medcode then CECodeableConcept(code, fhircode);
containerPackagedMedicine.name as name -> medication.code as fhircode share medcode then {
name -> fhircode.text = (%name.other) "text";
} "text";
containerPackagedMedicine.formCode as formCode -> medication.form as form then CECodeableConcept(formCode, form);
// Package size
containerPackagedMedicine.capacityQuantity as capacityQuantity -> medication.amount = create('Ratio') as ratio, ratio.denominator = create('Quantity') as denominator, denominator.value = '1', denominator.unit = 'Package', denominator.system = 'http://unitsofmeasure.org', denominator.code = '{Package}', ratio.numerator = create('Quantity') as quantity then EmedPQQuantity(capacityQuantity, quantity);
};
};
manufacturedMaterial.ingredient as ingredient -> medication.ingredient as ing then {
ingredient.quantity as quantity -> ing.strength = create('Ratio') as strength then EmedRTOPQPQRatio(quantity, strength) "strength";
ingredient.ingredient as medingredient then {
medingredient.code as code -> ing.item = create('CodeableConcept') as ingcode, ingcode.text = (%medingredient.name.other) then CECodeableConcept(code, ingcode) "ingredientCode";
};
};
};
};
// dosage for normal dosing, as no sequences are present there
src where $this.entryRelationship.sequenceNumber.exists() = false -> medicationStatement.dosage as dosage then DosageInstructionsStartStopFrequency(src, dosage) "dosage";
};
}
// source: https://art-decor.org/art-decor/decor-templates--cdachemed-?section=templates&id=2.16.756.5.30.1.1.10.4.34
// target: http://build.fhir.org/ig/hl7ch/ch-emed/branches/master/StructureDefinition-ch-emed-medicationstatement.html
group MedicationTreatmentPlanItemEntryContentModule(source section : Section, source src : SubstanceAdministration, source patient : Patient, target medicationStatement : MedicationStatement) {
// src.templateId as template then TemplateID(template, medicationStatement) "templateId";
src.id -> medicationStatement.identifier;
patient -> medicationStatement.subject = create('Reference') as reference, reference.reference = ('urn:uuid:' + %patient.id) "patient";
src -> medicationStatement.status = 'completed' "completed";
src.text as text then {
text.reference as reference then {
reference.value as value -> medicationStatement.extension as ext then NarrativeLink(value, ext) "narrativeLink";
};
};
src -> medicationStatement.contained = create('Medication') as medication then ManufacturedMaterialEntryContentModuleStatement(src, medicationStatement, medication) "medication";
src.entryRelationship as entry where typeCode = 'RSON' then {
entry.observation as observation -> medicationStatement.reasonCode as reasonCode then TreatmentReasonEntryContentModule(section, observation, reasonCode) "reasonCode";
} "41";
src.entryRelationship as entry where ((typeCode = 'COMP') and (substanceAdministration.templateId.root = '2.16.756.5.30.1.1.10.4.52')) -> medicationStatement.dosage as dosage then DosageInstructionsNonStructuredEntryContentModule(section, entry, dosage) "52";
src.entryRelationship as entry where ((typeCode = 'COMP') and (sequenceNumber.value >= 0)) -> medicationStatement.dosage as dosage then DosageInstructionsEntryDosageChange(src, entry, dosage) "36";
src.entryRelationship as entry where ((typeCode = 'REFR') and substanceAdministration.templateId.where(root = '1.3.6.1.4.1.19376.1.9.1.3.10').exists()) -> medicationStatement.extension as ext then MTPReferenceEntryContentModule(entry, ext) "MTPReferenceEntry";
src.entryRelationship as entry where ((typeCode = 'COMP') and act.templateId.where(root = '2.16.756.5.30.1.1.10.4.2').exists()) then {
entry.act as act -> medicationStatement.note as note then AnnotationComment(section, act, note) "annotation";
} "2";
src.entryRelationship as entry where ((typeCode = 'COMP') and act.templateId.where(root = '1.3.6.1.4.1.19376.1.9.1.3.9.1').exists()) then {
entry.act as act -> medicationStatement as medicationStatement then SubstitutionStatement(act, medicationStatement) "substitution";
} "1";
}
// source https://art-decor.org/art-decor/decor-templates--ch-pharm-?id=2.16.756.5.30.1.1.10.4.36
// target: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-dosage-structured-split
// dosage for split dosing, with sequences
group DosageInstructionsEntryDosageChange(source src : substanceAdministration, source entry : entryRelationship, target dosage : Dosage) {
entry.sequenceNumber as sequenceNumber then {
sequenceNumber.value as val -> dosage.sequence = val;
};
src as src -> dosage as dosage then EffectiveTimeStartEnd(src, dosage) "effectiveTimeStartEnd";
entry.substanceAdministration as src -> dosage as dosage then EffectiveTimeWhen(src, dosage) "effectiveTimeWhen";
src.routeCode as routeCode -> dosage.route as route then CECodeableConcept(routeCode, route);
entry.substanceAdministration as src -> dosage as dosage then DoseQuantity(src, dosage) "doseQuantity";
}
// effective time start & end for dosage
group EffectiveTimeStartEnd(source src : substanceAdministration, target dosage : Dosage) {
src.effectiveTime : IVL_TS as effectiveTime -> dosage.timing as timing share sharetiming then {
effectiveTime -> timing.repeat as repeat then {
effectiveTime -> repeat.bounds = create('Period') as period then {
effectiveTime.low as low then {
low.value as lowDate -> period.start = lowDate "lowDate";
};
effectiveTime.high as high then {
high.value as highDate -> period.end = highDate "highDate";
};
} "period";
} "repeat";
} "effectiveTime-IVL-TS";
}
// effective time when for dosage
group EffectiveTimeWhen(source src : substanceAdministration, target dosage : Dosage) {
src.effectiveTime : EIVL_TS as effectiveTime -> dosage.timing as timing share sharetiming then {
effectiveTime -> timing.repeat as repeat then {
effectiveTime.event as event then {
event.code as code -> repeat.when = code;
};
} "repeat";
} "effectiveTime-EIVL-TS";
src.effectiveTime : SXPR_TS as effectiveTime -> dosage.timing as timing share sharetiming then {
effectiveTime -> timing.repeat as repeat then {
effectiveTime.comp as comp then {
comp.event as event then {
event.code as code -> repeat.when = code;
};
};
} "repeat";
} "effectiveTime-SXPR-TS";
}
// source: https://art-decor.org/art-decor/decor-templates--cdachemed-?section=templates&id=2.16.756.5.30.1.1.10.4.41
// target: reasonCode Coding (e.g. http://build.fhir.org/ig/hl7ch/ig/ch-emed/StructureDefinition/ch-emed-medicationstatement)
group TreatmentReasonEntryContentModule(source section : Section, source observation : Observation, target reasonCode : Coding) {
// extraxt text (Bluthochdruck) from id #mtpc.1.reason in section text <td ID="mtpc.1.reason">Bluthochdruck</td>
observation.text as text then {
text.data as data -> reasonCode.text = data "level3";
text.reference as reference then {
reference.value as value -> reasonCode.extension as ext then NarrativeLink(value, ext) "narrativeLink";
};
};
}
// source: https://art-decor.org/art-decor/decor-templates--ch-pharm-?section=templates&id=2.16.756.5.30.1.1.10.4.45
// target: http://build.fhir.org/ig/hl7ch/ch-emed/branches/master/StructureDefinition-ch-emed-ext-treatmentplan.html
group MTPReferenceEntryContentModule(source entryrelationship, target ext : Extension) {
entryrelationship -> ext.url = 'http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-treatmentplan' "url";
entryrelationship.substanceAdministration as substanceAdministration then {
substanceAdministration.id as id -> ext.extension as ext then InnerExtensionId(id, ext) "innerExtensionId";
substanceAdministration.reference as reference then {
reference.externalDocument as externalDocument then {
externalDocument.id as id -> ext.extension as ext then InnerExtensionExternalDocumentId(id, ext) "innerExtensionExternalDocumentId";
};
} "substanceAdministration";
} "id";
}
// source: https://art-decor.org/art-decor/decor-templates--ch-pharm-?section=templates&id=2.16.756.5.30.1.1.10.4.52
// target: http://build.fhir.org/ig/hl7ch/ch-emed/branches/master/StructureDefinition-ch-emed-dosage-nonstructured.html
group DosageInstructionsNonStructuredEntryContentModule(source section : Section, source entry : Element, target dosage : Dosage) {
// see MedicationTreatmentPlanItemEntryContentModule
entry.substanceAdministration as observation then {
observation.text as text then {
text.data as data -> dosage.text = data "level3";
text.reference as reference then {
reference.value as value -> dosage.extension as ext then NarrativeLink(value, ext) "narrativeLink";
};
};
} "observation";
}
// source: Substitution act Contains 1.3.6.1.4.1.19376.1.9.1.3.9.2 IHE Substitution Act Content Module
// target: http://build.fhir.org/ig/hl7ch/ch-emed/StructureDefinition-ch-emed-medicationdispense.html
group SubstitutionDispense(source act : Act, target medicationDispense : MedicationDispense) {
act -> medicationDispense.substitution as substitution then {
act -> substitution.wasSubstituted as wasSubstituted, wasSubstituted.value = 'true' "wasSubstituted";
// act.code as code -> substitution.type as type then CECodeableConcept(code, type) "type";
act.code as actCode -> substitution.type as type, type.coding as coding then {
actCode -> coding.system as systemCC, systemCC.value = 'http://terminology.hl7.org/CodeSystem/v3-substanceAdminSubstitution' "system";
actCode.code as code -> coding.code as codeCC, codeCC.value = code;
actCode.displayName as display -> coding.display as displayCC, displayCC.value = display "display";
} "allowedCC";
} "substitution";
}
// source: https://art-decor.org/art-decor/decor-templates--cdachemed-?section=templates&id=2.16.756.5.30.1.1.10.4.42
// target: http://build.fhir.org/ig/hl7ch/ch-emed/branches/master/StructureDefinition-ch-emed-medicationdispense.html
group DispenseItemEntryContentModule(source section : Section, source src : Supply, source patient : Patient, target medicationDispense : MedicationDispense) {
// src.templateId as template then TemplateID(template, medicationDispense) "templateId";
src.id -> medicationDispense.identifier;
patient -> medicationDispense.subject = create('Reference') as reference, reference.reference = ('urn:uuid:' + %patient.id) "patient";
src -> medicationDispense.status = 'completed' "completed";
src.text as text then {
text.reference as reference then {
reference.value as value -> medicationDispense.extension as ext then NarrativeLink(value, ext) "narrativeLink";
};
};
src -> medicationDispense.contained = create('Medication') as medication then ManufacturedMaterialEntryContentModuleDispense(src, medicationDispense, medication) "medication";
src.entryRelationship as entry where ((typeCode = 'COMP') and (substanceAdministration.templateId.root = '2.16.756.5.30.1.1.10.4.52')) -> medicationDispense.dosageInstruction as dosage then DosageInstructionsNonStructuredEntryContentModule(section, entry, dosage) "52";
src.entryRelationship as entryRelationship then {
entryRelationship.substanceAdministration as substanceAdministration then {
// dosage for split dosing, as sequences are present there
substanceAdministration.entryRelationship as entryRelationship where ((typeCode = 'COMP') and (sequenceNumber.value >= 0)) -> medicationDispense.dosageInstruction as dosage then DosageInstructionsEntryDosageChange(substanceAdministration, entryRelationship, dosage) "36";
};
};
src.entryRelationship as entry where ((typeCode = 'REFR') and substanceAdministration.templateId.where(root = '1.3.6.1.4.1.19376.1.9.1.3.10').exists()) -> medicationDispense.extension as ext then MTPReferenceEntryContentModule(entry, ext) "MTPReferenceEntry";
src.entryRelationship as entry where ((typeCode = 'COMP') and act.templateId.where(root = '2.16.756.5.30.1.1.10.4.2').exists()) then {
entry.act as act -> medicationDispense.note as note then AnnotationComment(section, act, note) "annotation";
} "2";
src.entryRelationship as entry where ((typeCode = 'COMP') and act.templateId.where(root = '1.3.6.1.4.1.19376.1.9.1.3.9.2').exists()) then {
entry.act as act -> medicationDispense as medicationDispense then SubstitutionDispense(act, medicationDispense) "substitution";
} "2";
}
// dose quantity for dosage (application schema)
group DoseQuantity(source src : substanceAdministration, target dosage : Dosage) {
src.doseQuantity as doseQuantity -> dosage.doseAndRate as doseAndRate then {
doseQuantity.value as value -> doseAndRate.dose = create('Quantity') as quantity then {
value -> quantity.value = value "value";
doseQuantity.unit as unit -> quantity.code = unit;
doseQuantity.unit as unit -> quantity.system = ('http://fhir.ch/ig/ch-emed/ValueSet/UnitCode'.resolve().compose.include.where(concept.where(code = %unit)).system);
doseQuantity.unit as unit -> quantity.unit = ('http://fhir.ch/ig/ch-emed/ValueSet/UnitCode'.resolve().compose.include.concept.where(code = %unit).display);
} "quantity";
};
}
// source: Substitution permission Contains 1.3.6.1.4.1.19376.1.9.1.3.9.1 IHE Substitution Permission Content Module (DYNAMIC)
// target: http://build.fhir.org/ig/hl7ch/ch-emed/StructureDefinition-ch-emed-medicationrequest.html
group SubstitutionRequest(source act : Act, target medicationRequest : MedicationRequest) {
act -> medicationRequest.substitution as substitution then {
// act.code as code -> substitution.allowed = create('CodeableConcept') as allowedCC then CECodeableConcept(code, allowedCC) "allowedCC";
act.code as actCode -> substitution.allowed = create('CodeableConcept') as allowedCC, allowedCC.coding as coding then {
actCode -> coding.system as systemCC, systemCC.value = 'http://terminology.hl7.org/CodeSystem/v3-substanceAdminSubstitution' "system";
actCode.code as code -> coding.code as codeCC, codeCC.value = code;
actCode.displayName as display -> coding.display as displayCC, displayCC.value = display "display";
} "allowedCC";
} "substitutionRequest";
}
// source: Substitution permission Contains 1.3.6.1.4.1.19376.1.9.1.3.9.1 IHE Substitution Permission Content Module (DYNAMIC)
// target: http://build.fhir.org/ig/hl7ch/ch-emed/StructureDefinition-ch-emed-medicationstatement.html
group SubstitutionStatement(source act : Act, target medicationStatement : MedicationStatement) {
act -> medicationStatement.extension as ext then {
act -> ext.url = 'http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-substitution' then {
// act.code as code -> ext.value = create('CodeableConcept') as valueCC then CECodeableConcept(code, valueCC) "valueCC";
act.code as actCode -> ext.value = create('CodeableConcept') as valueCC, valueCC.coding as coding then {
actCode -> coding.system as systemCC, systemCC.value = 'http://terminology.hl7.org/CodeSystem/v3-substanceAdminSubstitution' "system";
actCode.code as code -> coding.code as codeCC, codeCC.value = code;
actCode.displayName as display -> coding.display as displayCC, displayCC.value = display "display";
} "valueCC";
} "substitutionExtension";
} "substitutionStatement";
}
// Number of packages
// source: https://art-decor.org/art-decor/decor-templates--cdachemed-?id=2.16.756.5.30.1.1.10.4.38
// target: http://build.fhir.org/ig/hl7ch/ch-emed/branches/master/StructureDefinition-ch-emed-medicationrequest.html
group PrescribedQuantity(source supply : Supply, target medicationRequest : MedicationRequest) {
supply.quantity as quantity -> medicationRequest.dispenseRequest as dispenseRequest, dispenseRequest.quantity as quant then {
// IHE-PRE: If the product-element contains package information, the unit attribute is not be present
quantity.value as value -> quant.value = value;
// IHE-PRE: If the product-element does not contain package information, the unit attribut is present and the value SHALL be out of the UCUM code system
quantity.unit as unit then {
unit -> quant.unit = unit "unit";
unit -> quant.system = 'http://unitsofmeasure.org' "ucum";
unit -> quant.code = unit "code";
};
};
}
// source: https://art-decor.org/art-decor/decor-templates--cdachemed-?section=templates&id=2.16.756.5.30.1.1.10.4.33
// target: http://build.fhir.org/ig/hl7ch/ch-emed/StructureDefinition-ch-emed-medicationrequest.html
group ManufacturedMaterialEntryContentModuleRequest(source src : SubstanceAdministration, target medicationRequest : MedicationRequest, target medication : Medication) {
src -> medication.id = 'med', medicationRequest.medication = create('Reference') as vt, vt.reference = '#med' "medication";
src.consumable as consumable then {
consumable.manufacturedProduct as manufacturedProduct then {
manufacturedProduct.manufacturedMaterial as manufacturedMaterial then {
manufacturedMaterial.name as name where asContent.exists() = false -> medication.code as fhircode, fhircode.text = (%manufacturedMaterial.name.other) "code";
manufacturedMaterial.asContent as asContent then {
asContent.containerPackagedMedicine as containerPackagedMedicine then {
containerPackagedMedicine.code as code -> medication.code as fhircode share medcode then CECodeableConcept(code, fhircode);
containerPackagedMedicine.name as name -> medication.code as fhircode share medcode then {
name -> fhircode.text = (%name.other) "text";
} "text";
containerPackagedMedicine.formCode as formCode -> medication.form as form then CECodeableConcept(formCode, form);
// Package size
containerPackagedMedicine.capacityQuantity as capacityQuantity -> medication.amount = create('Ratio') as ratio, ratio.denominator = create('Quantity') as denominator, denominator.value = '1', denominator.unit = 'Package', denominator.system = 'http://unitsofmeasure.org', denominator.code = '{Package}', ratio.numerator = create('Quantity') as quantity then EmedPQQuantity(capacityQuantity, quantity);
};
};
manufacturedMaterial.ingredient as ingredient -> medication.ingredient as ing then {
ingredient.quantity as quantity -> ing.strength = create('Ratio') as strength then EmedRTOPQPQRatio(quantity, strength) "strength";
ingredient.ingredient as medingredient then {
medingredient.code as code -> ing.item = create('CodeableConcept') as ingcode, ingcode.text = (%medingredient.name.other) then CECodeableConcept(code, ingcode) "ingredientCode";
};
};
};
};
// dosage for normal dosing, as no sequences are present there
src where $this.entryRelationship.sequenceNumber.exists() = false -> medicationRequest.dosageInstruction as dosage then DosageInstructionsStartStopFrequency(src, dosage) "dosage";
};
}
// source: https://art-decor.org/art-decor/decor-templates--cdachemed-?section=templates&id=2.16.756.5.30.1.1.10.4.43
// target: http://build.fhir.org/ig/hl7ch/ch-emed/StructureDefinition-ch-emed-medicationrequest.html
group PrescriptionItemEntryContentModule(source section : Section, source src : SubstanceAdministration, source patient : Patient, target medicationRequest : MedicationRequest) {
src.id -> medicationRequest.identifier;
patient -> medicationRequest.subject = create('Reference') as reference, reference.reference = ('urn:uuid:' + %patient.id) "patient";
src -> medicationRequest.status = 'completed' "completed";
src -> medicationRequest.intent = 'order' "order";
src.text as text then {
text.reference as reference then {
reference.value as value -> medicationRequest.extension as ext then NarrativeLink(value, ext) "narrativeLink";
};
};
src -> medicationRequest.contained = create('Medication') as medication then ManufacturedMaterialEntryContentModuleRequest(src, medicationRequest, medication) "medication";
src.entryRelationship as entry where typeCode = 'RSON' then {
entry.observation as observation -> medicationRequest.reasonCode as reasonCode then TreatmentReasonEntryContentModule(section, observation, reasonCode) "reasonCode";
} "41";
src.entryRelationship as entry where ((typeCode = 'COMP') and (substanceAdministration.templateId.root = '2.16.756.5.30.1.1.10.4.52')) -> medicationRequest.dosageInstruction as dosage then DosageInstructionsNonStructuredEntryContentModule(section, entry, dosage) "52";
// dosage for split dosing, as sequences are present there
src.entryRelationship as entry where ((typeCode = 'COMP') and (sequenceNumber.value >= 0)) -> medicationRequest.dosageInstruction as dosage then DosageInstructionsEntryDosageChange(src, entry, dosage) "36";
src.entryRelationship as entry where ((typeCode = 'REFR') and substanceAdministration.templateId.where(root = '1.3.6.1.4.1.19376.1.9.1.3.10').exists()) -> medicationRequest.extension as ext then MTPReferenceEntryContentModule(entry, ext) "MTPReferenceEntry";
src.entryRelationship as entry where ((typeCode = 'COMP') and act.templateId.where(root = '2.16.756.5.30.1.1.10.4.2').exists()) then {
entry.act as act -> medicationRequest.note as note then AnnotationComment(section, act, note) "annotation";
} "2";
src.repeatNumber as repeatNumber -> medicationRequest.dispenseRequest as dispenseRequest then {
repeatNumber.value as val -> dispenseRequest.numberOfRepeatsAllowed = val "repeatNumber";
} "repeats";
src.entryRelationship as entry where ((typeCode = 'COMP') and supply.templateId.where(root = '1.3.6.1.4.1.19376.1.9.1.3.8').exists()) then {
entry.supply as supply -> medicationRequest as medicationRequest then PrescribedQuantity(supply, medicationRequest) "quantity";
} "8";
src.entryRelationship as entry where ((typeCode = 'COMP') and act.templateId.where(root = '1.3.6.1.4.1.19376.1.9.1.3.9.1').exists()) then {
entry.act as act -> medicationRequest as medicationRequest then SubstitutionRequest(act, medicationRequest) "substitution";
} "1";
}
// source: https://art-decor.org/art-decor/decor-templates--ch-pharm-?id=2.16.756.5.30.1.1.10.4.35
// target: http://build.fhir.org/ig/hl7ch/ch-emed/StructureDefinition/ch-emed-dosage-structured-normal
// dosage for normal dosing, without sequences
group DosageInstructionsStartStopFrequency(source src : SubstanceAdministration, target dosage : Dosage) {
src as src -> dosage as dosage then EffectiveTimeStartEnd(src, dosage) "effectiveTimeStartEnd";
src as src -> dosage as dosage then EffectiveTimeWhen(src, dosage) "effectiveTimeWhen";
src.routeCode as routeCode -> dosage.route as route then CECodeableConcept(routeCode, route);
src as src -> dosage as dosage then DoseQuantity(src, dosage) "doseQuantity";
}
// source: https://art-decor.org/art-decor/decor-templates--cdachemed-?section=templates&id=2.16.756.5.30.1.1.10.4.44
// target: http://build.fhir.org/ig/hl7ch/ch-emed/StructureDefinition-ch-emed-observation.html
group PharmaceuticalAdviceItemEntryContentModule(source section : Section, source src : Observation, source patient : Patient, target observation : Observation, target bundle : Bundle) {
src.id -> observation.identifier;
patient -> observation.subject = create('Reference') as reference, reference.reference = ('urn:uuid:' + %patient.id) "patient";
src -> observation.status = 'final' "final";
src.effectiveTime as effectiveTime -> observation.effective = create('dateTime') as value then TSDateTime(effectiveTime, value) "value";
src.entryRelationship as entry where ((typeCode = 'REFR') and substanceAdministration.templateId.where(root = '1.3.6.1.4.1.19376.1.9.1.3.10').exists()) -> observation.extension as ext then MTPReferenceEntryContentModule(entry, ext) "MTPReferenceEntry";
src.entryRelationship as entry where ((typeCode = 'REFR') and substanceAdministration.templateId.where(root = '1.3.6.1.4.1.19376.1.9.1.3.7').exists()) -> bundle.entry as e, e.id = uuid() as uuid, e.fullUrl = append('urn:uuid:', uuid), e.resource = create('MedicationStatement') as medicationstatement, observation.extension as ext, ext.url = 'http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-medicationstatement-changed', ext.value = create('Reference') as reference, reference.reference = append('urn:uuid:', uuid) then {
entry.substanceAdministration as substanceAdministration then MedicationTreatmentPlanItemEntryContentModule(section, substanceAdministration, patient, medicationstatement);
} "cdaEntry";
src.text as text -> observation.note as note then {
text.data as data -> note.text = data "level3observation";
text where (data.exists() = false) -> note.text = (%section.text.substring(%section.text.indexOf(%src.text.reference.value.substring(1))).substring(%section.text.substring(%section.text.indexOf(%src.text.reference.value.substring(1))).indexOf('>') + 1, %section.text.substring(%section.text.indexOf(%src.text.reference.value.substring(1))).indexOf('<') - %section.text.substring(%section.text.indexOf(%src.text.reference.value.substring(1))).indexOf('>') - 1)) "idRef";
text.reference as reference then {
reference.value as value -> note.extension as ext then NarrativeLink(value, ext) "narrativeLink";
};
} "note";
src.code -> observation.code;
}
// _________________________ Template Type not specified _________________________
// target: http://build.fhir.org/ig/hl7ch/ch-emed/branches/master/StructureDefinition-ch-emed-ext-treatmentplan.html
group InnerExtensionExternalDocumentId(source src, target ext : Extension) {
src -> ext.url = 'externalDocumentId' "url";
src -> ext.value = create('Identifier') as id then II(src, id) "value";
}
// target: http://build.fhir.org/ig/hl7ch/ch-emed/branches/master/StructureDefinition-ch-emed-ext-treatmentplan.html
group InnerExtensionId(source src, target ext : Extension) {
src -> ext.url = 'id' "url";
src -> ext.value = create('Identifier') as id then II(src, id) "value";
}
{
"resourceType": "StructureMap",
"id": "CdaChEmedToBundle",
"text": {
"status": "generated",
"div": "<!-- snip (see above) -->"
},
"url": "http://fhir.ch/ig/cda-fhir-maps/StructureMap/CdaChEmedToBundle",
"version": "0.3.0",
"name": "CdaChEmedToBundle",
"status": "draft",
"date": "2022-02-11T11:14:39+01:00",
"publisher": "ahdis",
"contact": [
{
"name": "ahdis",
"telecom": [
{
"system": "url",
"value": "http://www.ahdis.ch/"
}
]
}
],
"description": "Medication Entries 2020-10-30 Oliver Egger, copyright ahdis ag, Apache License CDA-CH-EMED: https://art-decor.org/art-decor/decor-project--cdachemed- FHIR CH-EMED: http://fhir.ch/ig/ch-emed/index.html",
"copyright": "CC-BY-SA-4.0",
"structure": [
{
"url": "http://hl7.org/fhir/cda/StructureDefinition/ClinicalDocument",
"mode": "source",
"alias": "ClinicalDocument"
},
{
"url": "http://hl7.org/fhir/cda/StructureDefinition/AssignedAuthor",
"mode": "source",
"alias": "AssignedAuthor"
},
{
"url": "http://hl7.org/fhir/cda/StructureDefinition/AssignedEntity",
"mode": "source",
"alias": "AssignedEntity"
},
{
"url": "http://hl7.org/fhir/cda/StructureDefinition/Author",
"mode": "source",
"alias": "Author"
},
{
"url": "http://hl7.org/fhir/cda/StructureDefinition/CustodianOrganization",
"mode": "source",
"alias": "CustodianOrganization"
},
{
"url": "http://hl7.org/fhir/cda/StructureDefinition/IVL_TS",
"mode": "source",
"alias": "IVL_TS"
},
{
"url": "http://hl7.org/fhir/cda/StructureDefinition/EIVL_TS",
"mode": "source",
"alias": "EIVL_TS"
},
{
"url": "http://hl7.org/fhir/cda/StructureDefinition/Observation",
"mode": "source",
"alias": "Observation"
},
{
"url": "http://hl7.org/fhir/cda/StructureDefinition/PatientRole",
"mode": "source",
"alias": "PatientRole"
},
{
"url": "http://hl7.org/fhir/cda/StructureDefinition/RecordTarget",
"mode": "source",
"alias": "RecordTarget"
},
{
"url": "http://hl7.org/fhir/cda/StructureDefinition/Section",
"mode": "source",
"alias": "Section"
},
{
"url": "http://hl7.org/fhir/cda/StructureDefinition/SubstanceAdministration",
"mode": "source",
"alias": "SubstanceAdministration"
},
{
"url": "http://hl7.org/fhir/cda/StructureDefinition/SXPR_TS",
"mode": "source",
"alias": "SXPR_TS"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/Bundle",
"mode": "target",
"alias": "Bundle"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/Composition",
"mode": "produced",
"alias": "Composition"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/Patient",
"mode": "produced",
"alias": "Patient"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/Practitioner",
"mode": "produced",
"alias": "Practitioner"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/Organization",
"mode": "produced",
"alias": "Organization"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/MedicationStatement",
"mode": "produced",
"alias": "MedicationStatement"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/Dosage",
"mode": "produced",
"alias": "Dosage"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/Observation",
"mode": "produced",
"alias": "Observation"
}
],
"import": [
"http://fhir.ch/ig/cda-fhir-maps/StructureMap/CdaToFhirTypes",
"http://fhir.ch/ig/cda-fhir-maps/StructureMap/CdaToBundle",
"http://fhir.ch/ig/cda-fhir-maps/StructureMap/CdaChToBundle"
],
"group": [
{
"name": "AnnotationComment",
"typeMode": "none",
"documentation": "source: https://art-decor.org/art-decor/decor-templates--cdachemed-?section=templates&id=2.16.756.5.30.1.1.10.4.2 target: Annotation note (e.g. http://build.fhir.org/ig/hl7ch/ch-emed/branches/master/StructureDefinition-ch-emed-medicationstatement.html)",
"input": [
{
"name": "section",
"type": "Section",
"mode": "source"
},
{
"name": "act",
"type": "Act",
"mode": "source"
},
{
"name": "note",
"type": "Annotation",
"mode": "target"
}
],
"rule": [
{
"name": "text",
"source": [
{
"context": "act",
"element": "text",
"variable": "text"
}
],
"rule": [
{
"name": "level3",
"source": [
{
"context": "text",
"element": "data",
"variable": "data"
}
],
"target": [
{
"context": "note",
"contextType": "variable",
"element": "text",
"transform": "copy",
"parameter": [
{
"valueId": "data"
}
]
}
]
},
{
"name": "reference",
"source": [
{
"context": "text",
"element": "reference",
"variable": "reference"
}
],
"rule": [
{
"name": "narrativeLink",
"source": [
{
"context": "reference",
"element": "value",
"variable": "value"
}
],
"target": [
{
"context": "note",
"contextType": "variable",
"element": "extension",
"variable": "ext"
}
],
"dependent": [
{
"name": "NarrativeLink",
"variable": [
"value",
"ext"
]
}
]
}
]
}
]
}
]
},
{
"name": "ManufacturedMaterialEntryContentModuleDispense",
"typeMode": "none",
"documentation": "source: https://art-decor.org/art-decor/decor-templates--cdachemed-?section=templates&id=2.16.756.5.30.1.1.10.4.33 target: http://build.fhir.org/ig/hl7ch/ch-emed/branches/master/StructureDefinition-ch-emed-medicationdispense.html",
"input": [
{
"name": "src",
"type": "Supply",
"mode": "source"
},
{
"name": "medicationDispense",
"type": "MedicationDispense",
"mode": "target"
},
{
"name": "medication",
"type": "Medication",
"mode": "target"
}
],
"rule": [
{
"name": "medication",
"source": [
{
"context": "src"
}
],
"target": [
{
"context": "medication",
"contextType": "variable",
"element": "id",
"transform": "copy",
"parameter": [
{
"valueString": "med"
}
]
},
{
"context": "medicationDispense",
"contextType": "variable",
"element": "medication",
"variable": "vt",
"transform": "create",
"parameter": [
{
"valueString": "Reference"
}
]
},
{
"context": "vt",
"contextType": "variable",
"element": "reference",
"transform": "copy",
"parameter": [
{
"valueString": "#med"
}
]
}
]
},
{
"name": "quantity",
"source": [
{
"context": "src",
"element": "quantity",
"variable": "quantity"
}
],
"target": [
{
"context": "medicationDispense",
"contextType": "variable",
"element": "quantity",
"variable": "medDispQuantity"
}
],
"rule": [
{
"name": "value",
"source": [
{
"context": "quantity",
"element": "value",
"variable": "value"
}
],
"target": [
{
"context": "medDispQuantity",
"contextType": "variable",
"element": "value",
"transform": "copy",
"parameter": [
{
"valueId": "value"
}
]
}
],
"documentation": "IHE-DIS: If the product-element contains package information, the unit attribute is not be present"
},
{
"name": "unit",
"source": [
{
"context": "quantity",
"element": "unit",
"variable": "unit"
}
],
"rule": [
{
"name": "unit",
"source": [
{
"context": "unit"
}
],
"target": [
{
"context": "medDispQuantity",
"contextType": "variable",
"element": "unit",
"transform": "copy",
"parameter": [
{
"valueId": "unit"
}
]
}
]
},
{
"name": "ucum",
"source": [
{
"context": "unit"
}
],
"target": [
{
"context": "medDispQuantity",
"contextType": "variable",
"element": "system",
"transform": "copy",
"parameter": [
{
"valueString": "http://unitsofmeasure.org"
}
]
}
]
},
{
"name": "code",
"source": [
{
"context": "unit"
}
],
"target": [
{
"context": "medDispQuantity",
"contextType": "variable",
"element": "code",
"transform": "copy",
"parameter": [
{
"valueId": "unit"
}
]
}
]
}
],
"documentation": "IHE-DIS: If the product-element does not contain package information, the unit attribut is present and the value SHALL be out of the UCUM code system"
}
],
"documentation": "quantity value (number of packages)"
},
{
"name": "product",
"source": [
{
"context": "src",
"element": "product",
"variable": "product"
}
],
"rule": [
{
"name": "manufacturedProduct",
"source": [
{
"context": "product",
"element": "manufacturedProduct",
"variable": "manufacturedProduct"
}
],
"rule": [
{
"name": "manufacturedMaterial",
"source": [
{
"context": "manufacturedProduct",
"element": "manufacturedMaterial",
"variable": "manufacturedMaterial"
}
],
"rule": [
{
"name": "medication.code",
"source": [
{
"context": "manufacturedMaterial",
"element": "name",
"variable": "name",
"condition": "asContent.exists() = false"
}
],
"target": [
{
"context": "medication",
"contextType": "variable",
"element": "code",
"variable": "fhircode"
},
{
"context": "fhircode",
"contextType": "variable",
"element": "text",
"transform": "evaluate",
"parameter": [
{
"valueString": "%manufacturedMaterial.name.other"
}
]
}
]
},
{
"name": "asContent",
"source": [
{
"context": "manufacturedMaterial",
"element": "asContent",
"variable": "asContent"
}
],
"rule": [
{
"name": "containerPackagedMedicine",
"source": [
{
"context": "asContent",
"element": "containerPackagedMedicine",
"variable": "containerPackagedMedicine"
}
],
"rule": [
{
"name": "medication.code",
"source": [
{
"context": "containerPackagedMedicine",
"element": "code",
"variable": "code"
}
],
"target": [
{
"context": "medication",
"contextType": "variable",
"element": "code",
"variable": "fhircode",
"listMode": [
"share"
],
"listRuleId": "medcode"
}
],
"dependent": [
{
"name": "CECodeableConcept",
"variable": [
"code",
"fhircode"
]
}
]
},
{
"name": "code.text",
"source": [
{
"context": "containerPackagedMedicine",
"element": "name",
"variable": "name"
}
],
"target": [
{
"context": "medication",
"contextType": "variable",
"element": "code",
"variable": "fhircode",
"listMode": [
"share"
],
"listRuleId": "medcode"
}
],
"rule": [
{
"name": "medication.code.text",
"source": [
{
"context": "name"
}
],
"target": [
{
"context": "fhircode",
"contextType": "variable",
"element": "text",
"transform": "evaluate",
"parameter": [
{
"valueString": "%name.other"
}
]
}
]
}
]
},
{
"name": "medication.formCode",
"source": [
{
"context": "containerPackagedMedicine",
"element": "formCode",
"variable": "formCode"
}
],
"target": [
{
"context": "medication",
"contextType": "variable",
"element": "form",
"variable": "form"
}
],
"dependent": [
{
"name": "CECodeableConcept",
"variable": [
"formCode",
"form"
]
}
]
},
{
"name": "capacityQuantity",
"source": [
{
"context": "containerPackagedMedicine",
"element": "capacityQuantity",
"variable": "capacityQuantity"
}
],
"target": [
{
"context": "medication",
"contextType": "variable",
"element": "amount",
"variable": "ratio",
"transform": "create",
"parameter": [
{
"valueString": "Ratio"
}
]
},
{
"context": "ratio",
"contextType": "variable",
"element": "denominator",
"variable": "denominator",
"transform": "create",
"parameter": [
{
"valueString": "Quantity"
}
]
},
{
"context": "denominator",
"contextType": "variable",
"element": "value",
"transform": "copy",
"parameter": [
{
"valueString": "1"
}
]
},
{
"context": "denominator",
"contextType": "variable",
"element": "unit",
"transform": "copy",
"parameter": [
{
"valueString": "Package"
}
]
},
{
"context": "denominator",
"contextType": "variable",
"element": "system",
"transform": "copy",
"parameter": [
{
"valueString": "http://unitsofmeasure.org"
}
]
},
{
"context": "denominator",
"contextType": "variable",
"element": "code",
"transform": "copy",
"parameter": [
{
"valueString": "{Package}"
}
]
},
{
"context": "ratio",
"contextType": "variable",
"element": "numerator",
"variable": "quantity",
"transform": "create",
"parameter": [
{
"valueString": "Quantity"
}
]
}
],
"dependent": [
{
"name": "EmedPQQuantity",
"variable": [
"capacityQuantity",
"quantity"
]
}
],
"documentation": "Package size"
}
]
}
]
},
{
"name": "ingredient",
"source": [
{
"context": "manufacturedMaterial",
"element": "ingredient",
"variable": "ingredient"
}
],
"target": [
{
"context": "medication",
"contextType": "variable",
"element": "ingredient",
"variable": "ing"
}
],
"rule": [
{
"name": "strength",
"source": [
{
"context": "ingredient",
"element": "quantity",
"variable": "quantity"
}
],
"target": [
{
"context": "ing",
"contextType": "variable",
"element": "strength",
"variable": "strength",
"transform": "create",
"parameter": [
{
"valueString": "Ratio"
}
]
}
],
"dependent": [
{
"name": "EmedRTOPQPQRatio",
"variable": [
"quantity",
"strength"
]
}
]
},
{
"name": "ingredient.ingredient",
"source": [
{
"context": "ingredient",
"element": "ingredient",
"variable": "medingredient"
}
],
"rule": [
{
"name": "ingredientCode",
"source": [
{
"context": "medingredient",
"element": "code",
"variable": "code"
}
],
"target": [
{
"context": "ing",
"contextType": "variable",
"element": "item",
"variable": "ingcode",
"transform": "create",
"parameter": [
{
"valueString": "CodeableConcept"
}
]
},
{
"context": "ingcode",
"contextType": "variable",
"element": "text",
"transform": "evaluate",
"parameter": [
{
"valueString": "%medingredient.name.other"
}
]
}
],
"dependent": [
{
"name": "CECodeableConcept",
"variable": [
"code",
"ingcode"
]
}
]
}
]
}
]
}
]
}
]
},
{
"name": "entry",
"source": [
{
"context": "src",
"element": "entryRelationship",
"variable": "entry"
}
],
"rule": [
{
"name": "substanceAdministration",
"source": [
{
"context": "entry",
"element": "substanceAdministration",
"variable": "substanceAdministration"
}
],
"rule": [
{
"name": "dosage",
"source": [
{
"context": "substanceAdministration",
"condition": "$this.entryRelationship.sequenceNumber.exists() = false"
}
],
"target": [
{
"context": "medicationDispense",
"contextType": "variable",
"element": "dosageInstruction",
"variable": "dosage"
}
],
"dependent": [
{
"name": "DosageInstructionsStartStopFrequency",
"variable": [
"substanceAdministration",
"dosage"
]
}
]
}
]
}
],
"documentation": "dosage for normal dosing, as no sequences are present there"
}
]
}
]
},
{
"name": "EmedPQQuantity",
"typeMode": "none",
"input": [
{
"name": "src",
"type": "PQ",
"mode": "source"
},
{
"name": "tgt",
"type": "Quantity",
"mode": "target"
}
],
"rule": [
{
"name": "value",
"source": [
{
"context": "src",
"element": "value",
"variable": "value"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "value",
"transform": "copy",
"parameter": [
{
"valueId": "value"
}
]
}
]
},
{
"name": "unit",
"source": [
{
"context": "src",
"element": "unit",
"variable": "unit"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "code",
"transform": "copy",
"parameter": [
{
"valueId": "unit"
}
]
}
]
},
{
"name": "unit",
"source": [
{
"context": "src",
"element": "unit",
"variable": "unit"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "system",
"transform": "evaluate",
"parameter": [
{
"valueString": "'http://fhir.ch/ig/ch-emed/ValueSet/UnitCode'.resolve().compose.include.where(concept.where(code = %unit)).system"
}
]
}
]
},
{
"name": "unit",
"source": [
{
"context": "src",
"element": "unit",
"variable": "unit"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "unit",
"transform": "evaluate",
"parameter": [
{
"valueString": "'http://fhir.ch/ig/ch-emed/ValueSet/UnitCode'.resolve().compose.include.concept.where(code = %unit).display"
}
]
}
]
}
]
},
{
"name": "EmedRTOPQPQRatio",
"typeMode": "none",
"input": [
{
"name": "src",
"type": "RTO_PQ_PQ",
"mode": "source"
},
{
"name": "tgt",
"type": "Ratio",
"mode": "target"
}
],
"rule": [
{
"name": "numerator",
"source": [
{
"context": "src",
"element": "numerator",
"variable": "numerator"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "numerator",
"variable": "targetNumerator"
}
],
"dependent": [
{
"name": "EmedPQQuantity",
"variable": [
"numerator",
"targetNumerator"
]
}
]
},
{
"name": "denominator",
"source": [
{
"context": "src",
"element": "denominator",
"variable": "denominator"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "denominator",
"variable": "targetDenominator"
}
],
"dependent": [
{
"name": "EmedPQQuantity",
"variable": [
"denominator",
"targetDenominator"
]
}
]
}
]
},
{
"name": "ManufacturedMaterialEntryContentModuleStatement",
"typeMode": "none",
"documentation": "source: https://art-decor.org/art-decor/decor-templates--cdachemed-?section=templates&id=2.16.756.5.30.1.1.10.4.33 target: http://build.fhir.org/ig/hl7ch/ch-emed/branches/master/StructureDefinition-ch-emed-medicationstatement.html",
"input": [
{
"name": "src",
"type": "SubstanceAdministration",
"mode": "source"
},
{
"name": "medicationStatement",
"type": "MedicationStatement",
"mode": "target"
},
{
"name": "medication",
"type": "Medication",
"mode": "target"
}
],
"rule": [
{
"name": "medication",
"source": [
{
"context": "src"
}
],
"target": [
{
"context": "medication",
"contextType": "variable",
"element": "id",
"transform": "copy",
"parameter": [
{
"valueString": "med"
}
]
},
{
"context": "medicationStatement",
"contextType": "variable",
"element": "medication",
"variable": "vt",
"transform": "create",
"parameter": [
{
"valueString": "Reference"
}
]
},
{
"context": "vt",
"contextType": "variable",
"element": "reference",
"transform": "copy",
"parameter": [
{
"valueString": "#med"
}
]
}
]
},
{
"name": "consumable",
"source": [
{
"context": "src",
"element": "consumable",
"variable": "consumable"
}
],
"rule": [
{
"name": "manufacturedProduct",
"source": [
{
"context": "consumable",
"element": "manufacturedProduct",
"variable": "manufacturedProduct"
}
],
"rule": [
{
"name": "manufacturedMaterial",
"source": [
{
"context": "manufacturedProduct",
"element": "manufacturedMaterial",
"variable": "manufacturedMaterial"
}
],
"rule": [
{
"name": "medication.code",
"source": [
{
"context": "manufacturedMaterial",
"element": "name",
"variable": "name",
"condition": "asContent.exists() = false"
}
],
"target": [
{
"context": "medication",
"contextType": "variable",
"element": "code",
"variable": "fhircode"
},
{
"context": "fhircode",
"contextType": "variable",
"element": "text",
"transform": "evaluate",
"parameter": [
{
"valueString": "%manufacturedMaterial.name.other"
}
]
}
]
},
{
"name": "asContent",
"source": [
{
"context": "manufacturedMaterial",
"element": "asContent",
"variable": "asContent"
}
],
"rule": [
{
"name": "containerPackagedMedicine",
"source": [
{
"context": "asContent",
"element": "containerPackagedMedicine",
"variable": "containerPackagedMedicine"
}
],
"rule": [
{
"name": "medication.code",
"source": [
{
"context": "containerPackagedMedicine",
"element": "code",
"variable": "code"
}
],
"target": [
{
"context": "medication",
"contextType": "variable",
"element": "code",
"variable": "fhircode",
"listMode": [
"share"
],
"listRuleId": "medcode"
}
],
"dependent": [
{
"name": "CECodeableConcept",
"variable": [
"code",
"fhircode"
]
}
]
},
{
"name": "code.text",
"source": [
{
"context": "containerPackagedMedicine",
"element": "name",
"variable": "name"
}
],
"target": [
{
"context": "medication",
"contextType": "variable",
"element": "code",
"variable": "fhircode",
"listMode": [
"share"
],
"listRuleId": "medcode"
}
],
"rule": [
{
"name": "medication.code.text",
"source": [
{
"context": "name"
}
],
"target": [
{
"context": "fhircode",
"contextType": "variable",
"element": "text",
"transform": "evaluate",
"parameter": [
{
"valueString": "%name.other"
}
]
}
]
}
]
},
{
"name": "medication.formCode",
"source": [
{
"context": "containerPackagedMedicine",
"element": "formCode",
"variable": "formCode"
}
],
"target": [
{
"context": "medication",
"contextType": "variable",
"element": "form",
"variable": "form"
}
],
"dependent": [
{
"name": "CECodeableConcept",
"variable": [
"formCode",
"form"
]
}
]
},
{
"name": "capacityQuantity",
"source": [
{
"context": "containerPackagedMedicine",
"element": "capacityQuantity",
"variable": "capacityQuantity"
}
],
"target": [
{
"context": "medication",
"contextType": "variable",
"element": "amount",
"variable": "ratio",
"transform": "create",
"parameter": [
{
"valueString": "Ratio"
}
]
},
{
"context": "ratio",
"contextType": "variable",
"element": "denominator",
"variable": "denominator",
"transform": "create",
"parameter": [
{
"valueString": "Quantity"
}
]
},
{
"context": "denominator",
"contextType": "variable",
"element": "value",
"transform": "copy",
"parameter": [
{
"valueString": "1"
}
]
},
{
"context": "denominator",
"contextType": "variable",
"element": "unit",
"transform": "copy",
"parameter": [
{
"valueString": "Package"
}
]
},
{
"context": "denominator",
"contextType": "variable",
"element": "system",
"transform": "copy",
"parameter": [
{
"valueString": "http://unitsofmeasure.org"
}
]
},
{
"context": "denominator",
"contextType": "variable",
"element": "code",
"transform": "copy",
"parameter": [
{
"valueString": "{Package}"
}
]
},
{
"context": "ratio",
"contextType": "variable",
"element": "numerator",
"variable": "quantity",
"transform": "create",
"parameter": [
{
"valueString": "Quantity"
}
]
}
],
"dependent": [
{
"name": "EmedPQQuantity",
"variable": [
"capacityQuantity",
"quantity"
]
}
],
"documentation": "Package size"
}
]
}
]
},
{
"name": "ingredient",
"source": [
{
"context": "manufacturedMaterial",
"element": "ingredient",
"variable": "ingredient"
}
],
"target": [
{
"context": "medication",
"contextType": "variable",
"element": "ingredient",
"variable": "ing"
}
],
"rule": [
{
"name": "strength",
"source": [
{
"context": "ingredient",
"element": "quantity",
"variable": "quantity"
}
],
"target": [
{
"context": "ing",
"contextType": "variable",
"element": "strength",
"variable": "strength",
"transform": "create",
"parameter": [
{
"valueString": "Ratio"
}
]
}
],
"dependent": [
{
"name": "EmedRTOPQPQRatio",
"variable": [
"quantity",
"strength"
]
}
]
},
{
"name": "ingredient.ingredient",
"source": [
{
"context": "ingredient",
"element": "ingredient",
"variable": "medingredient"
}
],
"rule": [
{
"name": "ingredientCode",
"source": [
{
"context": "medingredient",
"element": "code",
"variable": "code"
}
],
"target": [
{
"context": "ing",
"contextType": "variable",
"element": "item",
"variable": "ingcode",
"transform": "create",
"parameter": [
{
"valueString": "CodeableConcept"
}
]
},
{
"context": "ingcode",
"contextType": "variable",
"element": "text",
"transform": "evaluate",
"parameter": [
{
"valueString": "%medingredient.name.other"
}
]
}
],
"dependent": [
{
"name": "CECodeableConcept",
"variable": [
"code",
"ingcode"
]
}
]
}
]
}
]
}
]
}
]
},
{
"name": "dosage",
"source": [
{
"context": "src",
"condition": "$this.entryRelationship.sequenceNumber.exists() = false"
}
],
"target": [
{
"context": "medicationStatement",
"contextType": "variable",
"element": "dosage",
"variable": "dosage"
}
],
"dependent": [
{
"name": "DosageInstructionsStartStopFrequency",
"variable": [
"src",
"dosage"
]
}
],
"documentation": "dosage for normal dosing, as no sequences are present there"
}
]
}
]
},
{
"name": "MedicationTreatmentPlanItemEntryContentModule",
"typeMode": "none",
"documentation": "source: https://art-decor.org/art-decor/decor-templates--cdachemed-?section=templates&id=2.16.756.5.30.1.1.10.4.34 target: http://build.fhir.org/ig/hl7ch/ch-emed/branches/master/StructureDefinition-ch-emed-medicationstatement.html",
"input": [
{
"name": "section",
"type": "Section",
"mode": "source"
},
{
"name": "src",
"type": "SubstanceAdministration",
"mode": "source"
},
{
"name": "patient",
"type": "Patient",
"mode": "source"
},
{
"name": "medicationStatement",
"type": "MedicationStatement",
"mode": "target"
}
],
"rule": [
{
"name": "id",
"source": [
{
"context": "src",
"element": "id",
"variable": "vvv"
}
],
"target": [
{
"context": "medicationStatement",
"contextType": "variable",
"element": "identifier",
"variable": "vvv",
"transform": "create"
}
],
"documentation": "src.templateId as template then TemplateID(template, medicationStatement) \"templateId\";"
},
{
"name": "patient",
"source": [
{
"context": "patient"
}
],
"target": [
{
"context": "medicationStatement",
"contextType": "variable",
"element": "subject",
"variable": "reference",
"transform": "create",
"parameter": [
{
"valueString": "Reference"
}
]
},
{
"context": "reference",
"contextType": "variable",
"element": "reference",
"transform": "evaluate",
"parameter": [
{
"valueString": "'urn:uuid:' + %patient.id"
}
]
}
]
},
{
"name": "completed",
"source": [
{
"context": "src"
}
],
"target": [
{
"context": "medicationStatement",
"contextType": "variable",
"element": "status",
"transform": "copy",
"parameter": [
{
"valueString": "completed"
}
]
}
]
},
{
"name": "text",
"source": [
{
"context": "src",
"element": "text",
"variable": "text"
}
],
"rule": [
{
"name": "reference",
"source": [
{
"context": "text",
"element": "reference",
"variable": "reference"
}
],
"rule": [
{
"name": "narrativeLink",
"source": [
{
"context": "reference",
"element": "value",
"variable": "value"
}
],
"target": [
{
"context": "medicationStatement",
"contextType": "variable",
"element": "extension",
"variable": "ext"
}
],
"dependent": [
{
"name": "NarrativeLink",
"variable": [
"value",
"ext"
]
}
]
}
]
}
]
},
{
"name": "medication",
"source": [
{
"context": "src"
}
],
"target": [
{
"context": "medicationStatement",
"contextType": "variable",
"element": "contained",
"variable": "medication",
"transform": "create",
"parameter": [
{
"valueString": "Medication"
}
]
}
],
"dependent": [
{
"name": "ManufacturedMaterialEntryContentModuleStatement",
"variable": [
"src",
"medicationStatement",
"medication"
]
}
]
},
{
"name": "entryRelationShip-2.16.756.5.30.1.1.10.4.41",
"source": [
{
"context": "src",
"element": "entryRelationship",
"variable": "entry",
"condition": "typeCode = 'RSON'"
}
],
"rule": [
{
"name": "reasonCode",
"source": [
{
"context": "entry",
"element": "observation",
"variable": "observation"
}
],
"target": [
{
"context": "medicationStatement",
"contextType": "variable",
"element": "reasonCode",
"variable": "reasonCode"
}
],
"dependent": [
{
"name": "TreatmentReasonEntryContentModule",
"variable": [
"section",
"observation",
"reasonCode"
]
}
]
}
]
},
{
"name": "entryRelationShip-2.16.756.5.30.1.1.10.4.52",
"source": [
{
"context": "src",
"element": "entryRelationship",
"variable": "entry",
"condition": "((typeCode = 'COMP') and (substanceAdministration.templateId.root = '2.16.756.5.30.1.1.10.4.52'))"
}
],
"target": [
{
"context": "medicationStatement",
"contextType": "variable",
"element": "dosage",
"variable": "dosage"
}
],
"dependent": [
{
"name": "DosageInstructionsNonStructuredEntryContentModule",
"variable": [
"section",
"entry",
"dosage"
]
}
]
},
{
"name": "entryRelationShip-2.16.756.5.30.1.1.10.4.36",
"source": [
{
"context": "src",
"element": "entryRelationship",
"variable": "entry",
"condition": "((typeCode = 'COMP') and (sequenceNumber.value >= 0))"
}
],
"target": [
{
"context": "medicationStatement",
"contextType": "variable",
"element": "dosage",
"variable": "dosage"
}
],
"dependent": [
{
"name": "DosageInstructionsEntryDosageChange",
"variable": [
"src",
"entry",
"dosage"
]
}
]
},
{
"name": "MTPReferenceEntry",
"source": [
{
"context": "src",
"element": "entryRelationship",
"variable": "entry",
"condition": "((typeCode = 'REFR') and substanceAdministration.templateId.where(root = '1.3.6.1.4.1.19376.1.9.1.3.10').exists())"
}
],
"target": [
{
"context": "medicationStatement",
"contextType": "variable",
"element": "extension",
"variable": "ext"
}
],
"dependent": [
{
"name": "MTPReferenceEntryContentModule",
"variable": [
"entry",
"ext"
]
}
]
},
{
"name": "entryRelationShip-2.16.756.5.30.1.1.10.4.2",
"source": [
{
"context": "src",
"element": "entryRelationship",
"variable": "entry",
"condition": "((typeCode = 'COMP') and act.templateId.where(root = '2.16.756.5.30.1.1.10.4.2').exists())"
}
],
"rule": [
{
"name": "annotation",
"source": [
{
"context": "entry",
"element": "act",
"variable": "act"
}
],
"target": [
{
"context": "medicationStatement",
"contextType": "variable",
"element": "note",
"variable": "note"
}
],
"dependent": [
{
"name": "AnnotationComment",
"variable": [
"section",
"act",
"note"
]
}
]
}
]
},
{
"name": "entryRelationShip-1.3.6.1.4.1.19376.1.9.1.3.9.1",
"source": [
{
"context": "src",
"element": "entryRelationship",
"variable": "entry",
"condition": "((typeCode = 'COMP') and act.templateId.where(root = '1.3.6.1.4.1.19376.1.9.1.3.9.1').exists())"
}
],
"rule": [
{
"name": "substitution",
"source": [
{
"context": "entry",
"element": "act",
"variable": "act"
}
],
"target": [
{
"contextType": "variable",
"variable": "medicationStatement",
"transform": "copy",
"parameter": [
{
"valueId": "medicationStatement"
}
]
}
],
"dependent": [
{
"name": "SubstitutionStatement",
"variable": [
"act",
"medicationStatement"
]
}
]
}
]
}
]
},
{
"name": "DosageInstructionsEntryDosageChange",
"typeMode": "none",
"documentation": "source https://art-decor.org/art-decor/decor-templates--ch-pharm-?id=2.16.756.5.30.1.1.10.4.36 target: http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-dosage-structured-split dosage for split dosing, with sequences",
"input": [
{
"name": "src",
"type": "substanceAdministration",
"mode": "source"
},
{
"name": "entry",
"type": "entryRelationship",
"mode": "source"
},
{
"name": "dosage",
"type": "Dosage",
"mode": "target"
}
],
"rule": [
{
"name": "sequenceNumber",
"source": [
{
"context": "entry",
"element": "sequenceNumber",
"variable": "sequenceNumber"
}
],
"rule": [
{
"name": "value",
"source": [
{
"context": "sequenceNumber",
"element": "value",
"variable": "val"
}
],
"target": [
{
"context": "dosage",
"contextType": "variable",
"element": "sequence",
"transform": "copy",
"parameter": [
{
"valueId": "val"
}
]
}
]
}
]
},
{
"name": "effectiveTimeStartEnd",
"source": [
{
"context": "src",
"variable": "src"
}
],
"target": [
{
"contextType": "variable",
"variable": "dosage",
"transform": "copy",
"parameter": [
{
"valueId": "dosage"
}
]
}
],
"dependent": [
{
"name": "EffectiveTimeStartEnd",
"variable": [
"src",
"dosage"
]
}
]
},
{
"name": "effectiveTimeWhen",
"source": [
{
"context": "entry",
"element": "substanceAdministration",
"variable": "src"
}
],
"target": [
{
"contextType": "variable",
"variable": "dosage",
"transform": "copy",
"parameter": [
{
"valueId": "dosage"
}
]
}
],
"dependent": [
{
"name": "EffectiveTimeWhen",
"variable": [
"src",
"dosage"
]
}
]
},
{
"name": "routeCode",
"source": [
{
"context": "src",
"element": "routeCode",
"variable": "routeCode"
}
],
"target": [
{
"context": "dosage",
"contextType": "variable",
"element": "route",
"variable": "route"
}
],
"dependent": [
{
"name": "CECodeableConcept",
"variable": [
"routeCode",
"route"
]
}
]
},
{
"name": "doseQuantity",
"source": [
{
"context": "entry",
"element": "substanceAdministration",
"variable": "src"
}
],
"target": [
{
"contextType": "variable",
"variable": "dosage",
"transform": "copy",
"parameter": [
{
"valueId": "dosage"
}
]
}
],
"dependent": [
{
"name": "DoseQuantity",
"variable": [
"src",
"dosage"
]
}
]
}
]
},
{
"name": "EffectiveTimeStartEnd",
"typeMode": "none",
"documentation": "effective time start & end for dosage",
"input": [
{
"name": "src",
"type": "substanceAdministration",
"mode": "source"
},
{
"name": "dosage",
"type": "Dosage",
"mode": "target"
}
],
"rule": [
{
"name": "effectiveTime-IVL-TS",
"source": [
{
"context": "src",
"type": "IVL_TS",
"element": "effectiveTime",
"variable": "effectiveTime"
}
],
"target": [
{
"context": "dosage",
"contextType": "variable",
"element": "timing",
"variable": "timing",
"listMode": [
"share"
],
"listRuleId": "sharetiming"
}
],
"rule": [
{
"name": "repeat",
"source": [
{
"context": "effectiveTime"
}
],
"target": [
{
"context": "timing",
"contextType": "variable",
"element": "repeat",
"variable": "repeat"
}
],
"rule": [
{
"name": "period",
"source": [
{
"context": "effectiveTime"
}
],
"target": [
{
"context": "repeat",
"contextType": "variable",
"element": "bounds",
"variable": "period",
"transform": "create",
"parameter": [
{
"valueString": "Period"
}
]
}
],
"rule": [
{
"name": "low",
"source": [
{
"context": "effectiveTime",
"element": "low",
"variable": "low"
}
],
"rule": [
{
"name": "lowDate",
"source": [
{
"context": "low",
"element": "value",
"variable": "lowDate"
}
],
"target": [
{
"context": "period",
"contextType": "variable",
"element": "start",
"transform": "copy",
"parameter": [
{
"valueId": "lowDate"
}
]
}
]
}
]
},
{
"name": "high",
"source": [
{
"context": "effectiveTime",
"element": "high",
"variable": "high"
}
],
"rule": [
{
"name": "highDate",
"source": [
{
"context": "high",
"element": "value",
"variable": "highDate"
}
],
"target": [
{
"context": "period",
"contextType": "variable",
"element": "end",
"transform": "copy",
"parameter": [
{
"valueId": "highDate"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name": "EffectiveTimeWhen",
"typeMode": "none",
"documentation": "effective time when for dosage",
"input": [
{
"name": "src",
"type": "substanceAdministration",
"mode": "source"
},
{
"name": "dosage",
"type": "Dosage",
"mode": "target"
}
],
"rule": [
{
"name": "effectiveTime-EIVL-TS",
"source": [
{
"context": "src",
"type": "EIVL_TS",
"element": "effectiveTime",
"variable": "effectiveTime"
}
],
"target": [
{
"context": "dosage",
"contextType": "variable",
"element": "timing",
"variable": "timing",
"listMode": [
"share"
],
"listRuleId": "sharetiming"
}
],
"rule": [
{
"name": "repeat",
"source": [
{
"context": "effectiveTime"
}
],
"target": [
{
"context": "timing",
"contextType": "variable",
"element": "repeat",
"variable": "repeat"
}
],
"rule": [
{
"name": "event",
"source": [
{
"context": "effectiveTime",
"element": "event",
"variable": "event"
}
],
"rule": [
{
"name": "code",
"source": [
{
"context": "event",
"element": "code",
"variable": "code"
}
],
"target": [
{
"context": "repeat",
"contextType": "variable",
"element": "when",
"transform": "copy",
"parameter": [
{
"valueId": "code"
}
]
}
]
}
]
}
]
}
]
},
{
"name": "effectiveTime-SXPR-TS",
"source": [
{
"context": "src",
"type": "SXPR_TS",
"element": "effectiveTime",
"variable": "effectiveTime"
}
],
"target": [
{
"context": "dosage",
"contextType": "variable",
"element": "timing",
"variable": "timing",
"listMode": [
"share"
],
"listRuleId": "sharetiming"
}
],
"rule": [
{
"name": "repeat",
"source": [
{
"context": "effectiveTime"
}
],
"target": [
{
"context": "timing",
"contextType": "variable",
"element": "repeat",
"variable": "repeat"
}
],
"rule": [
{
"name": "comp",
"source": [
{
"context": "effectiveTime",
"element": "comp",
"variable": "comp"
}
],
"rule": [
{
"name": "event",
"source": [
{
"context": "comp",
"element": "event",
"variable": "event"
}
],
"rule": [
{
"name": "code",
"source": [
{
"context": "event",
"element": "code",
"variable": "code"
}
],
"target": [
{
"context": "repeat",
"contextType": "variable",
"element": "when",
"transform": "copy",
"parameter": [
{
"valueId": "code"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name": "TreatmentReasonEntryContentModule",
"typeMode": "none",
"documentation": "source: https://art-decor.org/art-decor/decor-templates--cdachemed-?section=templates&id=2.16.756.5.30.1.1.10.4.41 target: reasonCode Coding (e.g. http://build.fhir.org/ig/hl7ch/ig/ch-emed/StructureDefinition/ch-emed-medicationstatement)",
"input": [
{
"name": "section",
"type": "Section",
"mode": "source"
},
{
"name": "observation",
"type": "Observation",
"mode": "source"
},
{
"name": "reasonCode",
"type": "Coding",
"mode": "target"
}
],
"rule": [
{
"name": "text",
"source": [
{
"context": "observation",
"element": "text",
"variable": "text"
}
],
"rule": [
{
"name": "level3",
"source": [
{
"context": "text",
"element": "data",
"variable": "data"
}
],
"target": [
{
"context": "reasonCode",
"contextType": "variable",
"element": "text",
"transform": "copy",
"parameter": [
{
"valueId": "data"
}
]
}
]
},
{
"name": "reference",
"source": [
{
"context": "text",
"element": "reference",
"variable": "reference"
}
],
"rule": [
{
"name": "narrativeLink",
"source": [
{
"context": "reference",
"element": "value",
"variable": "value"
}
],
"target": [
{
"context": "reasonCode",
"contextType": "variable",
"element": "extension",
"variable": "ext"
}
],
"dependent": [
{
"name": "NarrativeLink",
"variable": [
"value",
"ext"
]
}
]
}
]
}
],
"documentation": "extraxt text (Bluthochdruck) from id #mtpc.1.reason in section text <td ID=\"mtpc.1.reason\">Bluthochdruck</td>"
}
]
},
{
"name": "MTPReferenceEntryContentModule",
"typeMode": "none",
"documentation": "source: https://art-decor.org/art-decor/decor-templates--ch-pharm-?section=templates&id=2.16.756.5.30.1.1.10.4.45 target: http://build.fhir.org/ig/hl7ch/ch-emed/branches/master/StructureDefinition-ch-emed-ext-treatmentplan.html",
"input": [
{
"name": "entryrelationship",
"mode": "source"
},
{
"name": "ext",
"type": "Extension",
"mode": "target"
}
],
"rule": [
{
"name": "url",
"source": [
{
"context": "entryrelationship"
}
],
"target": [
{
"context": "ext",
"contextType": "variable",
"element": "url",
"transform": "copy",
"parameter": [
{
"valueString": "http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-treatmentplan"
}
]
}
]
},
{
"name": "id",
"source": [
{
"context": "entryrelationship",
"element": "substanceAdministration",
"variable": "substanceAdministration"
}
],
"rule": [
{
"name": "innerExtensionId",
"source": [
{
"context": "substanceAdministration",
"element": "id",
"variable": "id"
}
],
"target": [
{
"context": "ext",
"contextType": "variable",
"element": "extension",
"variable": "ext"
}
],
"dependent": [
{
"name": "InnerExtensionId",
"variable": [
"id",
"ext"
]
}
]
},
{
"name": "substanceAdministration",
"source": [
{
"context": "substanceAdministration",
"element": "reference",
"variable": "reference"
}
],
"rule": [
{
"name": "externalDocument",
"source": [
{
"context": "reference",
"element": "externalDocument",
"variable": "externalDocument"
}
],
"rule": [
{
"name": "innerExtensionExternalDocumentId",
"source": [
{
"context": "externalDocument",
"element": "id",
"variable": "id"
}
],
"target": [
{
"context": "ext",
"contextType": "variable",
"element": "extension",
"variable": "ext"
}
],
"dependent": [
{
"name": "InnerExtensionExternalDocumentId",
"variable": [
"id",
"ext"
]
}
]
}
]
}
]
}
]
}
]
},
{
"name": "DosageInstructionsNonStructuredEntryContentModule",
"typeMode": "none",
"documentation": "source: https://art-decor.org/art-decor/decor-templates--ch-pharm-?section=templates&id=2.16.756.5.30.1.1.10.4.52 target: http://build.fhir.org/ig/hl7ch/ch-emed/branches/master/StructureDefinition-ch-emed-dosage-nonstructured.html",
"input": [
{
"name": "section",
"type": "Section",
"mode": "source"
},
{
"name": "entry",
"type": "Element",
"mode": "source"
},
{
"name": "dosage",
"type": "Dosage",
"mode": "target"
}
],
"rule": [
{
"name": "observation",
"source": [
{
"context": "entry",
"element": "substanceAdministration",
"variable": "observation"
}
],
"rule": [
{
"name": "text",
"source": [
{
"context": "observation",
"element": "text",
"variable": "text"
}
],
"rule": [
{
"name": "level3",
"source": [
{
"context": "text",
"element": "data",
"variable": "data"
}
],
"target": [
{
"context": "dosage",
"contextType": "variable",
"element": "text",
"transform": "copy",
"parameter": [
{
"valueId": "data"
}
]
}
]
},
{
"name": "reference",
"source": [
{
"context": "text",
"element": "reference",
"variable": "reference"
}
],
"rule": [
{
"name": "narrativeLink",
"source": [
{
"context": "reference",
"element": "value",
"variable": "value"
}
],
"target": [
{
"context": "dosage",
"contextType": "variable",
"element": "extension",
"variable": "ext"
}
],
"dependent": [
{
"name": "NarrativeLink",
"variable": [
"value",
"ext"
]
}
]
}
]
}
]
}
],
"documentation": "see MedicationTreatmentPlanItemEntryContentModule"
}
]
},
{
"name": "SubstitutionDispense",
"typeMode": "none",
"documentation": "source: Substitution act Contains 1.3.6.1.4.1.19376.1.9.1.3.9.2 IHE Substitution Act Content Module target: http://build.fhir.org/ig/hl7ch/ch-emed/StructureDefinition-ch-emed-medicationdispense.html",
"input": [
{
"name": "act",
"type": "Act",
"mode": "source"
},
{
"name": "medicationDispense",
"type": "MedicationDispense",
"mode": "target"
}
],
"rule": [
{
"name": "substitution",
"source": [
{
"context": "act"
}
],
"target": [
{
"context": "medicationDispense",
"contextType": "variable",
"element": "substitution",
"variable": "substitution"
}
],
"rule": [
{
"name": "wasSubstituted",
"source": [
{
"context": "act"
}
],
"target": [
{
"context": "substitution",
"contextType": "variable",
"element": "wasSubstituted",
"variable": "wasSubstituted"
},
{
"context": "wasSubstituted",
"contextType": "variable",
"element": "value",
"transform": "copy",
"parameter": [
{
"valueString": "true"
}
]
}
]
},
{
"name": "allowedCC",
"source": [
{
"context": "act",
"element": "code",
"variable": "actCode"
}
],
"target": [
{
"context": "substitution",
"contextType": "variable",
"element": "type",
"variable": "type"
},
{
"context": "type",
"contextType": "variable",
"element": "coding",
"variable": "coding"
}
],
"rule": [
{
"name": "system",
"source": [
{
"context": "actCode"
}
],
"target": [
{
"context": "coding",
"contextType": "variable",
"element": "system",
"variable": "systemCC"
},
{
"context": "systemCC",
"contextType": "variable",
"element": "value",
"transform": "copy",
"parameter": [
{
"valueString": "http://terminology.hl7.org/CodeSystem/v3-substanceAdminSubstitution"
}
]
}
]
},
{
"name": "code",
"source": [
{
"context": "actCode",
"element": "code",
"variable": "code"
}
],
"target": [
{
"context": "coding",
"contextType": "variable",
"element": "code",
"variable": "codeCC"
},
{
"context": "codeCC",
"contextType": "variable",
"element": "value",
"transform": "copy",
"parameter": [
{
"valueId": "code"
}
]
}
]
},
{
"name": "display",
"source": [
{
"context": "actCode",
"element": "displayName",
"variable": "display"
}
],
"target": [
{
"context": "coding",
"contextType": "variable",
"element": "display",
"variable": "displayCC"
},
{
"context": "displayCC",
"contextType": "variable",
"element": "value",
"transform": "copy",
"parameter": [
{
"valueId": "display"
}
]
}
]
}
],
"documentation": "act.code as code -> substitution.type as type then CECodeableConcept(code, type) \"type\";"
}
]
}
]
},
{
"name": "DispenseItemEntryContentModule",
"typeMode": "none",
"documentation": "source: https://art-decor.org/art-decor/decor-templates--cdachemed-?section=templates&id=2.16.756.5.30.1.1.10.4.42 target: http://build.fhir.org/ig/hl7ch/ch-emed/branches/master/StructureDefinition-ch-emed-medicationdispense.html",
"input": [
{
"name": "section",
"type": "Section",
"mode": "source"
},
{
"name": "src",
"type": "Supply",
"mode": "source"
},
{
"name": "patient",
"type": "Patient",
"mode": "source"
},
{
"name": "medicationDispense",
"type": "MedicationDispense",
"mode": "target"
}
],
"rule": [
{
"name": "id",
"source": [
{
"context": "src",
"element": "id",
"variable": "vvv"
}
],
"target": [
{
"context": "medicationDispense",
"contextType": "variable",
"element": "identifier",
"variable": "vvv",
"transform": "create"
}
],
"documentation": "src.templateId as template then TemplateID(template, medicationDispense) \"templateId\";"
},
{
"name": "patient",
"source": [
{
"context": "patient"
}
],
"target": [
{
"context": "medicationDispense",
"contextType": "variable",
"element": "subject",
"variable": "reference",
"transform": "create",
"parameter": [
{
"valueString": "Reference"
}
]
},
{
"context": "reference",
"contextType": "variable",
"element": "reference",
"transform": "evaluate",
"parameter": [
{
"valueString": "'urn:uuid:' + %patient.id"
}
]
}
]
},
{
"name": "completed",
"source": [
{
"context": "src"
}
],
"target": [
{
"context": "medicationDispense",
"contextType": "variable",
"element": "status",
"transform": "copy",
"parameter": [
{
"valueString": "completed"
}
]
}
]
},
{
"name": "text",
"source": [
{
"context": "src",
"element": "text",
"variable": "text"
}
],
"rule": [
{
"name": "reference",
"source": [
{
"context": "text",
"element": "reference",
"variable": "reference"
}
],
"rule": [
{
"name": "narrativeLink",
"source": [
{
"context": "reference",
"element": "value",
"variable": "value"
}
],
"target": [
{
"context": "medicationDispense",
"contextType": "variable",
"element": "extension",
"variable": "ext"
}
],
"dependent": [
{
"name": "NarrativeLink",
"variable": [
"value",
"ext"
]
}
]
}
]
}
]
},
{
"name": "medication",
"source": [
{
"context": "src"
}
],
"target": [
{
"context": "medicationDispense",
"contextType": "variable",
"element": "contained",
"variable": "medication",
"transform": "create",
"parameter": [
{
"valueString": "Medication"
}
]
}
],
"dependent": [
{
"name": "ManufacturedMaterialEntryContentModuleDispense",
"variable": [
"src",
"medicationDispense",
"medication"
]
}
]
},
{
"name": "entryRelationShip-2.16.756.5.30.1.1.10.4.52",
"source": [
{
"context": "src",
"element": "entryRelationship",
"variable": "entry",
"condition": "((typeCode = 'COMP') and (substanceAdministration.templateId.root = '2.16.756.5.30.1.1.10.4.52'))"
}
],
"target": [
{
"context": "medicationDispense",
"contextType": "variable",
"element": "dosageInstruction",
"variable": "dosage"
}
],
"dependent": [
{
"name": "DosageInstructionsNonStructuredEntryContentModule",
"variable": [
"section",
"entry",
"dosage"
]
}
]
},
{
"name": "entryRelationship",
"source": [
{
"context": "src",
"element": "entryRelationship",
"variable": "entryRelationship"
}
],
"rule": [
{
"name": "substanceAdministration",
"source": [
{
"context": "entryRelationship",
"element": "substanceAdministration",
"variable": "substanceAdministration"
}
],
"rule": [
{
"name": "entryRelationShip-2.16.756.5.30.1.1.10.4.36",
"source": [
{
"context": "substanceAdministration",
"element": "entryRelationship",
"variable": "entryRelationship",
"condition": "((typeCode = 'COMP') and (sequenceNumber.value >= 0))"
}
],
"target": [
{
"context": "medicationDispense",
"contextType": "variable",
"element": "dosageInstruction",
"variable": "dosage"
}
],
"dependent": [
{
"name": "DosageInstructionsEntryDosageChange",
"variable": [
"substanceAdministration",
"entryRelationship",
"dosage"
]
}
],
"documentation": "dosage for split dosing, as sequences are present there"
}
]
}
]
},
{
"name": "MTPReferenceEntry",
"source": [
{
"context": "src",
"element": "entryRelationship",
"variable": "entry",
"condition": "((typeCode = 'REFR') and substanceAdministration.templateId.where(root = '1.3.6.1.4.1.19376.1.9.1.3.10').exists())"
}
],
"target": [
{
"context": "medicationDispense",
"contextType": "variable",
"element": "extension",
"variable": "ext"
}
],
"dependent": [
{
"name": "MTPReferenceEntryContentModule",
"variable": [
"entry",
"ext"
]
}
]
},
{
"name": "entryRelationShip-2.16.756.5.30.1.1.10.4.2",
"source": [
{
"context": "src",
"element": "entryRelationship",
"variable": "entry",
"condition": "((typeCode = 'COMP') and act.templateId.where(root = '2.16.756.5.30.1.1.10.4.2').exists())"
}
],
"rule": [
{
"name": "annotation",
"source": [
{
"context": "entry",
"element": "act",
"variable": "act"
}
],
"target": [
{
"context": "medicationDispense",
"contextType": "variable",
"element": "note",
"variable": "note"
}
],
"dependent": [
{
"name": "AnnotationComment",
"variable": [
"section",
"act",
"note"
]
}
]
}
]
},
{
"name": "entryRelationShip-1.3.6.1.4.1.19376.1.9.1.3.9.2",
"source": [
{
"context": "src",
"element": "entryRelationship",
"variable": "entry",
"condition": "((typeCode = 'COMP') and act.templateId.where(root = '1.3.6.1.4.1.19376.1.9.1.3.9.2').exists())"
}
],
"rule": [
{
"name": "substitution",
"source": [
{
"context": "entry",
"element": "act",
"variable": "act"
}
],
"target": [
{
"contextType": "variable",
"variable": "medicationDispense",
"transform": "copy",
"parameter": [
{
"valueId": "medicationDispense"
}
]
}
],
"dependent": [
{
"name": "SubstitutionDispense",
"variable": [
"act",
"medicationDispense"
]
}
]
}
]
}
]
},
{
"name": "DoseQuantity",
"typeMode": "none",
"documentation": "dose quantity for dosage (application schema)",
"input": [
{
"name": "src",
"type": "substanceAdministration",
"mode": "source"
},
{
"name": "dosage",
"type": "Dosage",
"mode": "target"
}
],
"rule": [
{
"name": "doseQuantity",
"source": [
{
"context": "src",
"element": "doseQuantity",
"variable": "doseQuantity"
}
],
"target": [
{
"context": "dosage",
"contextType": "variable",
"element": "doseAndRate",
"variable": "doseAndRate"
}
],
"rule": [
{
"name": "quantity",
"source": [
{
"context": "doseQuantity",
"element": "value",
"variable": "value"
}
],
"target": [
{
"context": "doseAndRate",
"contextType": "variable",
"element": "dose",
"variable": "quantity",
"transform": "create",
"parameter": [
{
"valueString": "Quantity"
}
]
}
],
"rule": [
{
"name": "value",
"source": [
{
"context": "value"
}
],
"target": [
{
"context": "quantity",
"contextType": "variable",
"element": "value",
"transform": "copy",
"parameter": [
{
"valueId": "value"
}
]
}
]
},
{
"name": "unit",
"source": [
{
"context": "doseQuantity",
"element": "unit",
"variable": "unit"
}
],
"target": [
{
"context": "quantity",
"contextType": "variable",
"element": "code",
"transform": "copy",
"parameter": [
{
"valueId": "unit"
}
]
}
]
},
{
"name": "unit",
"source": [
{
"context": "doseQuantity",
"element": "unit",
"variable": "unit"
}
],
"target": [
{
"context": "quantity",
"contextType": "variable",
"element": "system",
"transform": "evaluate",
"parameter": [
{
"valueString": "'http://fhir.ch/ig/ch-emed/ValueSet/UnitCode'.resolve().compose.include.where(concept.where(code = %unit)).system"
}
]
}
]
},
{
"name": "unit",
"source": [
{
"context": "doseQuantity",
"element": "unit",
"variable": "unit"
}
],
"target": [
{
"context": "quantity",
"contextType": "variable",
"element": "unit",
"transform": "evaluate",
"parameter": [
{
"valueString": "'http://fhir.ch/ig/ch-emed/ValueSet/UnitCode'.resolve().compose.include.concept.where(code = %unit).display"
}
]
}
]
}
]
}
]
}
]
},
{
"name": "SubstitutionRequest",
"typeMode": "none",
"documentation": "source: Substitution permission Contains 1.3.6.1.4.1.19376.1.9.1.3.9.1 IHE Substitution Permission Content Module (DYNAMIC) target: http://build.fhir.org/ig/hl7ch/ch-emed/StructureDefinition-ch-emed-medicationrequest.html",
"input": [
{
"name": "act",
"type": "Act",
"mode": "source"
},
{
"name": "medicationRequest",
"type": "MedicationRequest",
"mode": "target"
}
],
"rule": [
{
"name": "substitutionRequest",
"source": [
{
"context": "act"
}
],
"target": [
{
"context": "medicationRequest",
"contextType": "variable",
"element": "substitution",
"variable": "substitution"
}
],
"rule": [
{
"name": "allowedCC",
"source": [
{
"context": "act",
"element": "code",
"variable": "actCode"
}
],
"target": [
{
"context": "substitution",
"contextType": "variable",
"element": "allowed",
"variable": "allowedCC",
"transform": "create",
"parameter": [
{
"valueString": "CodeableConcept"
}
]
},
{
"context": "allowedCC",
"contextType": "variable",
"element": "coding",
"variable": "coding"
}
],
"rule": [
{
"name": "system",
"source": [
{
"context": "actCode"
}
],
"target": [
{
"context": "coding",
"contextType": "variable",
"element": "system",
"variable": "systemCC"
},
{
"context": "systemCC",
"contextType": "variable",
"element": "value",
"transform": "copy",
"parameter": [
{
"valueString": "http://terminology.hl7.org/CodeSystem/v3-substanceAdminSubstitution"
}
]
}
]
},
{
"name": "code",
"source": [
{
"context": "actCode",
"element": "code",
"variable": "code"
}
],
"target": [
{
"context": "coding",
"contextType": "variable",
"element": "code",
"variable": "codeCC"
},
{
"context": "codeCC",
"contextType": "variable",
"element": "value",
"transform": "copy",
"parameter": [
{
"valueId": "code"
}
]
}
]
},
{
"name": "display",
"source": [
{
"context": "actCode",
"element": "displayName",
"variable": "display"
}
],
"target": [
{
"context": "coding",
"contextType": "variable",
"element": "display",
"variable": "displayCC"
},
{
"context": "displayCC",
"contextType": "variable",
"element": "value",
"transform": "copy",
"parameter": [
{
"valueId": "display"
}
]
}
]
}
],
"documentation": "act.code as code -> substitution.allowed = create('CodeableConcept') as allowedCC then CECodeableConcept(code, allowedCC) \"allowedCC\";"
}
]
}
]
},
{
"name": "SubstitutionStatement",
"typeMode": "none",
"documentation": "source: Substitution permission Contains 1.3.6.1.4.1.19376.1.9.1.3.9.1 IHE Substitution Permission Content Module (DYNAMIC) target: http://build.fhir.org/ig/hl7ch/ch-emed/StructureDefinition-ch-emed-medicationstatement.html",
"input": [
{
"name": "act",
"type": "Act",
"mode": "source"
},
{
"name": "medicationStatement",
"type": "MedicationStatement",
"mode": "target"
}
],
"rule": [
{
"name": "substitutionStatement",
"source": [
{
"context": "act"
}
],
"target": [
{
"context": "medicationStatement",
"contextType": "variable",
"element": "extension",
"variable": "ext"
}
],
"rule": [
{
"name": "substitutionExtension",
"source": [
{
"context": "act"
}
],
"target": [
{
"context": "ext",
"contextType": "variable",
"element": "url",
"transform": "copy",
"parameter": [
{
"valueString": "http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-substitution"
}
]
}
],
"rule": [
{
"name": "valueCC",
"source": [
{
"context": "act",
"element": "code",
"variable": "actCode"
}
],
"target": [
{
"context": "ext",
"contextType": "variable",
"element": "value",
"variable": "valueCC",
"transform": "create",
"parameter": [
{
"valueString": "CodeableConcept"
}
]
},
{
"context": "valueCC",
"contextType": "variable",
"element": "coding",
"variable": "coding"
}
],
"rule": [
{
"name": "system",
"source": [
{
"context": "actCode"
}
],
"target": [
{
"context": "coding",
"contextType": "variable",
"element": "system",
"variable": "systemCC"
},
{
"context": "systemCC",
"contextType": "variable",
"element": "value",
"transform": "copy",
"parameter": [
{
"valueString": "http://terminology.hl7.org/CodeSystem/v3-substanceAdminSubstitution"
}
]
}
]
},
{
"name": "code",
"source": [
{
"context": "actCode",
"element": "code",
"variable": "code"
}
],
"target": [
{
"context": "coding",
"contextType": "variable",
"element": "code",
"variable": "codeCC"
},
{
"context": "codeCC",
"contextType": "variable",
"element": "value",
"transform": "copy",
"parameter": [
{
"valueId": "code"
}
]
}
]
},
{
"name": "display",
"source": [
{
"context": "actCode",
"element": "displayName",
"variable": "display"
}
],
"target": [
{
"context": "coding",
"contextType": "variable",
"element": "display",
"variable": "displayCC"
},
{
"context": "displayCC",
"contextType": "variable",
"element": "value",
"transform": "copy",
"parameter": [
{
"valueId": "display"
}
]
}
]
}
],
"documentation": "act.code as code -> ext.value = create('CodeableConcept') as valueCC then CECodeableConcept(code, valueCC) \"valueCC\";"
}
]
}
]
}
]
},
{
"name": "PrescribedQuantity",
"typeMode": "none",
"documentation": "Number of packages source: https://art-decor.org/art-decor/decor-templates--cdachemed-?id=2.16.756.5.30.1.1.10.4.38 target: http://build.fhir.org/ig/hl7ch/ch-emed/branches/master/StructureDefinition-ch-emed-medicationrequest.html",
"input": [
{
"name": "supply",
"type": "Supply",
"mode": "source"
},
{
"name": "medicationRequest",
"type": "MedicationRequest",
"mode": "target"
}
],
"rule": [
{
"name": "quantity",
"source": [
{
"context": "supply",
"element": "quantity",
"variable": "quantity"
}
],
"target": [
{
"context": "medicationRequest",
"contextType": "variable",
"element": "dispenseRequest",
"variable": "dispenseRequest"
},
{
"context": "dispenseRequest",
"contextType": "variable",
"element": "quantity",
"variable": "quant"
}
],
"rule": [
{
"name": "value",
"source": [
{
"context": "quantity",
"element": "value",
"variable": "value"
}
],
"target": [
{
"context": "quant",
"contextType": "variable",
"element": "value",
"transform": "copy",
"parameter": [
{
"valueId": "value"
}
]
}
],
"documentation": "IHE-PRE: If the product-element contains package information, the unit attribute is not be present"
},
{
"name": "unit",
"source": [
{
"context": "quantity",
"element": "unit",
"variable": "unit"
}
],
"rule": [
{
"name": "unit",
"source": [
{
"context": "unit"
}
],
"target": [
{
"context": "quant",
"contextType": "variable",
"element": "unit",
"transform": "copy",
"parameter": [
{
"valueId": "unit"
}
]
}
]
},
{
"name": "ucum",
"source": [
{
"context": "unit"
}
],
"target": [
{
"context": "quant",
"contextType": "variable",
"element": "system",
"transform": "copy",
"parameter": [
{
"valueString": "http://unitsofmeasure.org"
}
]
}
]
},
{
"name": "code",
"source": [
{
"context": "unit"
}
],
"target": [
{
"context": "quant",
"contextType": "variable",
"element": "code",
"transform": "copy",
"parameter": [
{
"valueId": "unit"
}
]
}
]
}
],
"documentation": "IHE-PRE: If the product-element does not contain package information, the unit attribut is present and the value SHALL be out of the UCUM code system"
}
]
}
]
},
{
"name": "ManufacturedMaterialEntryContentModuleRequest",
"typeMode": "none",
"documentation": "source: https://art-decor.org/art-decor/decor-templates--cdachemed-?section=templates&id=2.16.756.5.30.1.1.10.4.33 target: http://build.fhir.org/ig/hl7ch/ch-emed/StructureDefinition-ch-emed-medicationrequest.html",
"input": [
{
"name": "src",
"type": "SubstanceAdministration",
"mode": "source"
},
{
"name": "medicationRequest",
"type": "MedicationRequest",
"mode": "target"
},
{
"name": "medication",
"type": "Medication",
"mode": "target"
}
],
"rule": [
{
"name": "medication",
"source": [
{
"context": "src"
}
],
"target": [
{
"context": "medication",
"contextType": "variable",
"element": "id",
"transform": "copy",
"parameter": [
{
"valueString": "med"
}
]
},
{
"context": "medicationRequest",
"contextType": "variable",
"element": "medication",
"variable": "vt",
"transform": "create",
"parameter": [
{
"valueString": "Reference"
}
]
},
{
"context": "vt",
"contextType": "variable",
"element": "reference",
"transform": "copy",
"parameter": [
{
"valueString": "#med"
}
]
}
]
},
{
"name": "consumable",
"source": [
{
"context": "src",
"element": "consumable",
"variable": "consumable"
}
],
"rule": [
{
"name": "manufacturedProduct",
"source": [
{
"context": "consumable",
"element": "manufacturedProduct",
"variable": "manufacturedProduct"
}
],
"rule": [
{
"name": "manufacturedMaterial",
"source": [
{
"context": "manufacturedProduct",
"element": "manufacturedMaterial",
"variable": "manufacturedMaterial"
}
],
"rule": [
{
"name": "medication.code",
"source": [
{
"context": "manufacturedMaterial",
"element": "name",
"variable": "name",
"condition": "asContent.exists() = false"
}
],
"target": [
{
"context": "medication",
"contextType": "variable",
"element": "code",
"variable": "fhircode"
},
{
"context": "fhircode",
"contextType": "variable",
"element": "text",
"transform": "evaluate",
"parameter": [
{
"valueString": "%manufacturedMaterial.name.other"
}
]
}
]
},
{
"name": "asContent",
"source": [
{
"context": "manufacturedMaterial",
"element": "asContent",
"variable": "asContent"
}
],
"rule": [
{
"name": "containerPackagedMedicine",
"source": [
{
"context": "asContent",
"element": "containerPackagedMedicine",
"variable": "containerPackagedMedicine"
}
],
"rule": [
{
"name": "medication.code",
"source": [
{
"context": "containerPackagedMedicine",
"element": "code",
"variable": "code"
}
],
"target": [
{
"context": "medication",
"contextType": "variable",
"element": "code",
"variable": "fhircode",
"listMode": [
"share"
],
"listRuleId": "medcode"
}
],
"dependent": [
{
"name": "CECodeableConcept",
"variable": [
"code",
"fhircode"
]
}
]
},
{
"name": "code.text",
"source": [
{
"context": "containerPackagedMedicine",
"element": "name",
"variable": "name"
}
],
"target": [
{
"context": "medication",
"contextType": "variable",
"element": "code",
"variable": "fhircode",
"listMode": [
"share"
],
"listRuleId": "medcode"
}
],
"rule": [
{
"name": "medication.code.text",
"source": [
{
"context": "name"
}
],
"target": [
{
"context": "fhircode",
"contextType": "variable",
"element": "text",
"transform": "evaluate",
"parameter": [
{
"valueString": "%name.other"
}
]
}
]
}
]
},
{
"name": "medication.formCode",
"source": [
{
"context": "containerPackagedMedicine",
"element": "formCode",
"variable": "formCode"
}
],
"target": [
{
"context": "medication",
"contextType": "variable",
"element": "form",
"variable": "form"
}
],
"dependent": [
{
"name": "CECodeableConcept",
"variable": [
"formCode",
"form"
]
}
]
},
{
"name": "capacityQuantity",
"source": [
{
"context": "containerPackagedMedicine",
"element": "capacityQuantity",
"variable": "capacityQuantity"
}
],
"target": [
{
"context": "medication",
"contextType": "variable",
"element": "amount",
"variable": "ratio",
"transform": "create",
"parameter": [
{
"valueString": "Ratio"
}
]
},
{
"context": "ratio",
"contextType": "variable",
"element": "denominator",
"variable": "denominator",
"transform": "create",
"parameter": [
{
"valueString": "Quantity"
}
]
},
{
"context": "denominator",
"contextType": "variable",
"element": "value",
"transform": "copy",
"parameter": [
{
"valueString": "1"
}
]
},
{
"context": "denominator",
"contextType": "variable",
"element": "unit",
"transform": "copy",
"parameter": [
{
"valueString": "Package"
}
]
},
{
"context": "denominator",
"contextType": "variable",
"element": "system",
"transform": "copy",
"parameter": [
{
"valueString": "http://unitsofmeasure.org"
}
]
},
{
"context": "denominator",
"contextType": "variable",
"element": "code",
"transform": "copy",
"parameter": [
{
"valueString": "{Package}"
}
]
},
{
"context": "ratio",
"contextType": "variable",
"element": "numerator",
"variable": "quantity",
"transform": "create",
"parameter": [
{
"valueString": "Quantity"
}
]
}
],
"dependent": [
{
"name": "EmedPQQuantity",
"variable": [
"capacityQuantity",
"quantity"
]
}
],
"documentation": "Package size"
}
]
}
]
},
{
"name": "ingredient",
"source": [
{
"context": "manufacturedMaterial",
"element": "ingredient",
"variable": "ingredient"
}
],
"target": [
{
"context": "medication",
"contextType": "variable",
"element": "ingredient",
"variable": "ing"
}
],
"rule": [
{
"name": "strength",
"source": [
{
"context": "ingredient",
"element": "quantity",
"variable": "quantity"
}
],
"target": [
{
"context": "ing",
"contextType": "variable",
"element": "strength",
"variable": "strength",
"transform": "create",
"parameter": [
{
"valueString": "Ratio"
}
]
}
],
"dependent": [
{
"name": "EmedRTOPQPQRatio",
"variable": [
"quantity",
"strength"
]
}
]
},
{
"name": "ingredient.ingredient",
"source": [
{
"context": "ingredient",
"element": "ingredient",
"variable": "medingredient"
}
],
"rule": [
{
"name": "ingredientCode",
"source": [
{
"context": "medingredient",
"element": "code",
"variable": "code"
}
],
"target": [
{
"context": "ing",
"contextType": "variable",
"element": "item",
"variable": "ingcode",
"transform": "create",
"parameter": [
{
"valueString": "CodeableConcept"
}
]
},
{
"context": "ingcode",
"contextType": "variable",
"element": "text",
"transform": "evaluate",
"parameter": [
{
"valueString": "%medingredient.name.other"
}
]
}
],
"dependent": [
{
"name": "CECodeableConcept",
"variable": [
"code",
"ingcode"
]
}
]
}
]
}
]
}
]
}
]
},
{
"name": "dosage",
"source": [
{
"context": "src",
"condition": "$this.entryRelationship.sequenceNumber.exists() = false"
}
],
"target": [
{
"context": "medicationRequest",
"contextType": "variable",
"element": "dosageInstruction",
"variable": "dosage"
}
],
"dependent": [
{
"name": "DosageInstructionsStartStopFrequency",
"variable": [
"src",
"dosage"
]
}
],
"documentation": "dosage for normal dosing, as no sequences are present there"
}
]
}
]
},
{
"name": "PrescriptionItemEntryContentModule",
"typeMode": "none",
"documentation": "source: https://art-decor.org/art-decor/decor-templates--cdachemed-?section=templates&id=2.16.756.5.30.1.1.10.4.43 target: http://build.fhir.org/ig/hl7ch/ch-emed/StructureDefinition-ch-emed-medicationrequest.html",
"input": [
{
"name": "section",
"type": "Section",
"mode": "source"
},
{
"name": "src",
"type": "SubstanceAdministration",
"mode": "source"
},
{
"name": "patient",
"type": "Patient",
"mode": "source"
},
{
"name": "medicationRequest",
"type": "MedicationRequest",
"mode": "target"
}
],
"rule": [
{
"name": "id",
"source": [
{
"context": "src",
"element": "id",
"variable": "vvv"
}
],
"target": [
{
"context": "medicationRequest",
"contextType": "variable",
"element": "identifier",
"variable": "vvv",
"transform": "create"
}
]
},
{
"name": "patient",
"source": [
{
"context": "patient"
}
],
"target": [
{
"context": "medicationRequest",
"contextType": "variable",
"element": "subject",
"variable": "reference",
"transform": "create",
"parameter": [
{
"valueString": "Reference"
}
]
},
{
"context": "reference",
"contextType": "variable",
"element": "reference",
"transform": "evaluate",
"parameter": [
{
"valueString": "'urn:uuid:' + %patient.id"
}
]
}
]
},
{
"name": "completed",
"source": [
{
"context": "src"
}
],
"target": [
{
"context": "medicationRequest",
"contextType": "variable",
"element": "status",
"transform": "copy",
"parameter": [
{
"valueString": "completed"
}
]
}
]
},
{
"name": "order",
"source": [
{
"context": "src"
}
],
"target": [
{
"context": "medicationRequest",
"contextType": "variable",
"element": "intent",
"transform": "copy",
"parameter": [
{
"valueString": "order"
}
]
}
]
},
{
"name": "text",
"source": [
{
"context": "src",
"element": "text",
"variable": "text"
}
],
"rule": [
{
"name": "reference",
"source": [
{
"context": "text",
"element": "reference",
"variable": "reference"
}
],
"rule": [
{
"name": "narrativeLink",
"source": [
{
"context": "reference",
"element": "value",
"variable": "value"
}
],
"target": [
{
"context": "medicationRequest",
"contextType": "variable",
"element": "extension",
"variable": "ext"
}
],
"dependent": [
{
"name": "NarrativeLink",
"variable": [
"value",
"ext"
]
}
]
}
]
}
]
},
{
"name": "medication",
"source": [
{
"context": "src"
}
],
"target": [
{
"context": "medicationRequest",
"contextType": "variable",
"element": "contained",
"variable": "medication",
"transform": "create",
"parameter": [
{
"valueString": "Medication"
}
]
}
],
"dependent": [
{
"name": "ManufacturedMaterialEntryContentModuleRequest",
"variable": [
"src",
"medicationRequest",
"medication"
]
}
]
},
{
"name": "entryRelationShip-2.16.756.5.30.1.1.10.4.41",
"source": [
{
"context": "src",
"element": "entryRelationship",
"variable": "entry",
"condition": "typeCode = 'RSON'"
}
],
"rule": [
{
"name": "reasonCode",
"source": [
{
"context": "entry",
"element": "observation",
"variable": "observation"
}
],
"target": [
{
"context": "medicationRequest",
"contextType": "variable",
"element": "reasonCode",
"variable": "reasonCode"
}
],
"dependent": [
{
"name": "TreatmentReasonEntryContentModule",
"variable": [
"section",
"observation",
"reasonCode"
]
}
]
}
]
},
{
"name": "entryRelationShip-2.16.756.5.30.1.1.10.4.52",
"source": [
{
"context": "src",
"element": "entryRelationship",
"variable": "entry",
"condition": "((typeCode = 'COMP') and (substanceAdministration.templateId.root = '2.16.756.5.30.1.1.10.4.52'))"
}
],
"target": [
{
"context": "medicationRequest",
"contextType": "variable",
"element": "dosageInstruction",
"variable": "dosage"
}
],
"dependent": [
{
"name": "DosageInstructionsNonStructuredEntryContentModule",
"variable": [
"section",
"entry",
"dosage"
]
}
]
},
{
"name": "entryRelationShip-2.16.756.5.30.1.1.10.4.36",
"source": [
{
"context": "src",
"element": "entryRelationship",
"variable": "entry",
"condition": "((typeCode = 'COMP') and (sequenceNumber.value >= 0))"
}
],
"target": [
{
"context": "medicationRequest",
"contextType": "variable",
"element": "dosageInstruction",
"variable": "dosage"
}
],
"dependent": [
{
"name": "DosageInstructionsEntryDosageChange",
"variable": [
"src",
"entry",
"dosage"
]
}
],
"documentation": "dosage for split dosing, as sequences are present there"
},
{
"name": "MTPReferenceEntry",
"source": [
{
"context": "src",
"element": "entryRelationship",
"variable": "entry",
"condition": "((typeCode = 'REFR') and substanceAdministration.templateId.where(root = '1.3.6.1.4.1.19376.1.9.1.3.10').exists())"
}
],
"target": [
{
"context": "medicationRequest",
"contextType": "variable",
"element": "extension",
"variable": "ext"
}
],
"dependent": [
{
"name": "MTPReferenceEntryContentModule",
"variable": [
"entry",
"ext"
]
}
]
},
{
"name": "entryRelationShip-2.16.756.5.30.1.1.10.4.2",
"source": [
{
"context": "src",
"element": "entryRelationship",
"variable": "entry",
"condition": "((typeCode = 'COMP') and act.templateId.where(root = '2.16.756.5.30.1.1.10.4.2').exists())"
}
],
"rule": [
{
"name": "annotation",
"source": [
{
"context": "entry",
"element": "act",
"variable": "act"
}
],
"target": [
{
"context": "medicationRequest",
"contextType": "variable",
"element": "note",
"variable": "note"
}
],
"dependent": [
{
"name": "AnnotationComment",
"variable": [
"section",
"act",
"note"
]
}
]
}
]
},
{
"name": "repeats",
"source": [
{
"context": "src",
"element": "repeatNumber",
"variable": "repeatNumber"
}
],
"target": [
{
"context": "medicationRequest",
"contextType": "variable",
"element": "dispenseRequest",
"variable": "dispenseRequest"
}
],
"rule": [
{
"name": "repeatNumber",
"source": [
{
"context": "repeatNumber",
"element": "value",
"variable": "val"
}
],
"target": [
{
"context": "dispenseRequest",
"contextType": "variable",
"element": "numberOfRepeatsAllowed",
"transform": "copy",
"parameter": [
{
"valueId": "val"
}
]
}
]
}
]
},
{
"name": "entryRelationShip-1.3.6.1.4.1.19376.1.9.1.3.8",
"source": [
{
"context": "src",
"element": "entryRelationship",
"variable": "entry",
"condition": "((typeCode = 'COMP') and supply.templateId.where(root = '1.3.6.1.4.1.19376.1.9.1.3.8').exists())"
}
],
"rule": [
{
"name": "quantity",
"source": [
{
"context": "entry",
"element": "supply",
"variable": "supply"
}
],
"target": [
{
"contextType": "variable",
"variable": "medicationRequest",
"transform": "copy",
"parameter": [
{
"valueId": "medicationRequest"
}
]
}
],
"dependent": [
{
"name": "PrescribedQuantity",
"variable": [
"supply",
"medicationRequest"
]
}
]
}
]
},
{
"name": "entryRelationShip-1.3.6.1.4.1.19376.1.9.1.3.9.1",
"source": [
{
"context": "src",
"element": "entryRelationship",
"variable": "entry",
"condition": "((typeCode = 'COMP') and act.templateId.where(root = '1.3.6.1.4.1.19376.1.9.1.3.9.1').exists())"
}
],
"rule": [
{
"name": "substitution",
"source": [
{
"context": "entry",
"element": "act",
"variable": "act"
}
],
"target": [
{
"contextType": "variable",
"variable": "medicationRequest",
"transform": "copy",
"parameter": [
{
"valueId": "medicationRequest"
}
]
}
],
"dependent": [
{
"name": "SubstitutionRequest",
"variable": [
"act",
"medicationRequest"
]
}
]
}
]
}
]
},
{
"name": "DosageInstructionsStartStopFrequency",
"typeMode": "none",
"documentation": "source: https://art-decor.org/art-decor/decor-templates--ch-pharm-?id=2.16.756.5.30.1.1.10.4.35 target: http://build.fhir.org/ig/hl7ch/ch-emed/StructureDefinition/ch-emed-dosage-structured-normal dosage for normal dosing, without sequences",
"input": [
{
"name": "src",
"type": "SubstanceAdministration",
"mode": "source"
},
{
"name": "dosage",
"type": "Dosage",
"mode": "target"
}
],
"rule": [
{
"name": "effectiveTimeStartEnd",
"source": [
{
"context": "src",
"variable": "src"
}
],
"target": [
{
"contextType": "variable",
"variable": "dosage",
"transform": "copy",
"parameter": [
{
"valueId": "dosage"
}
]
}
],
"dependent": [
{
"name": "EffectiveTimeStartEnd",
"variable": [
"src",
"dosage"
]
}
]
},
{
"name": "effectiveTimeWhen",
"source": [
{
"context": "src",
"variable": "src"
}
],
"target": [
{
"contextType": "variable",
"variable": "dosage",
"transform": "copy",
"parameter": [
{
"valueId": "dosage"
}
]
}
],
"dependent": [
{
"name": "EffectiveTimeWhen",
"variable": [
"src",
"dosage"
]
}
]
},
{
"name": "routeCode",
"source": [
{
"context": "src",
"element": "routeCode",
"variable": "routeCode"
}
],
"target": [
{
"context": "dosage",
"contextType": "variable",
"element": "route",
"variable": "route"
}
],
"dependent": [
{
"name": "CECodeableConcept",
"variable": [
"routeCode",
"route"
]
}
]
},
{
"name": "doseQuantity",
"source": [
{
"context": "src",
"variable": "src"
}
],
"target": [
{
"contextType": "variable",
"variable": "dosage",
"transform": "copy",
"parameter": [
{
"valueId": "dosage"
}
]
}
],
"dependent": [
{
"name": "DoseQuantity",
"variable": [
"src",
"dosage"
]
}
]
}
]
},
{
"name": "PharmaceuticalAdviceItemEntryContentModule",
"typeMode": "none",
"documentation": "source: https://art-decor.org/art-decor/decor-templates--cdachemed-?section=templates&id=2.16.756.5.30.1.1.10.4.44 target: http://build.fhir.org/ig/hl7ch/ch-emed/StructureDefinition-ch-emed-observation.html",
"input": [
{
"name": "section",
"type": "Section",
"mode": "source"
},
{
"name": "src",
"type": "Observation",
"mode": "source"
},
{
"name": "patient",
"type": "Patient",
"mode": "source"
},
{
"name": "observation",
"type": "Observation",
"mode": "target"
},
{
"name": "bundle",
"type": "Bundle",
"mode": "target"
}
],
"rule": [
{
"name": "id",
"source": [
{
"context": "src",
"element": "id",
"variable": "vvv"
}
],
"target": [
{
"context": "observation",
"contextType": "variable",
"element": "identifier",
"variable": "vvv",
"transform": "create"
}
]
},
{
"name": "patient",
"source": [
{
"context": "patient"
}
],
"target": [
{
"context": "observation",
"contextType": "variable",
"element": "subject",
"variable": "reference",
"transform": "create",
"parameter": [
{
"valueString": "Reference"
}
]
},
{
"context": "reference",
"contextType": "variable",
"element": "reference",
"transform": "evaluate",
"parameter": [
{
"valueString": "'urn:uuid:' + %patient.id"
}
]
}
]
},
{
"name": "final",
"source": [
{
"context": "src"
}
],
"target": [
{
"context": "observation",
"contextType": "variable",
"element": "status",
"transform": "copy",
"parameter": [
{
"valueString": "final"
}
]
}
]
},
{
"name": "value",
"source": [
{
"context": "src",
"element": "effectiveTime",
"variable": "effectiveTime"
}
],
"target": [
{
"context": "observation",
"contextType": "variable",
"element": "effective",
"variable": "value",
"transform": "create",
"parameter": [
{
"valueString": "dateTime"
}
]
}
],
"dependent": [
{
"name": "TSDateTime",
"variable": [
"effectiveTime",
"value"
]
}
]
},
{
"name": "MTPReferenceEntry",
"source": [
{
"context": "src",
"element": "entryRelationship",
"variable": "entry",
"condition": "((typeCode = 'REFR') and substanceAdministration.templateId.where(root = '1.3.6.1.4.1.19376.1.9.1.3.10').exists())"
}
],
"target": [
{
"context": "observation",
"contextType": "variable",
"element": "extension",
"variable": "ext"
}
],
"dependent": [
{
"name": "MTPReferenceEntryContentModule",
"variable": [
"entry",
"ext"
]
}
]
},
{
"name": "cdaEntry",
"source": [
{
"context": "src",
"element": "entryRelationship",
"variable": "entry",
"condition": "((typeCode = 'REFR') and substanceAdministration.templateId.where(root = '1.3.6.1.4.1.19376.1.9.1.3.7').exists())"
}
],
"target": [
{
"context": "bundle",
"contextType": "variable",
"element": "entry",
"variable": "e"
},
{
"context": "e",
"contextType": "variable",
"element": "id",
"variable": "uuid",
"transform": "uuid"
},
{
"context": "e",
"contextType": "variable",
"element": "fullUrl",
"transform": "append",
"parameter": [
{
"valueString": "urn:uuid:"
},
{
"valueId": "uuid"
}
]
},
{
"context": "e",
"contextType": "variable",
"element": "resource",
"variable": "medicationstatement",
"transform": "create",
"parameter": [
{
"valueString": "MedicationStatement"
}
]
},
{
"context": "observation",
"contextType": "variable",
"element": "extension",
"variable": "ext"
},
{
"context": "ext",
"contextType": "variable",
"element": "url",
"transform": "copy",
"parameter": [
{
"valueString": "http://fhir.ch/ig/ch-emed/StructureDefinition/ch-emed-ext-medicationstatement-changed"
}
]
},
{
"context": "ext",
"contextType": "variable",
"element": "value",
"variable": "reference",
"transform": "create",
"parameter": [
{
"valueString": "Reference"
}
]
},
{
"context": "reference",
"contextType": "variable",
"element": "reference",
"transform": "append",
"parameter": [
{
"valueString": "urn:uuid:"
},
{
"valueId": "uuid"
}
]
}
],
"rule": [
{
"name": "substanceAdministration",
"source": [
{
"context": "entry",
"element": "substanceAdministration",
"variable": "substanceAdministration"
}
],
"dependent": [
{
"name": "MedicationTreatmentPlanItemEntryContentModule",
"variable": [
"section",
"substanceAdministration",
"patient",
"medicationstatement"
]
}
]
}
]
},
{
"name": "note",
"source": [
{
"context": "src",
"element": "text",
"variable": "text"
}
],
"target": [
{
"context": "observation",
"contextType": "variable",
"element": "note",
"variable": "note"
}
],
"rule": [
{
"name": "level3observation",
"source": [
{
"context": "text",
"element": "data",
"variable": "data"
}
],
"target": [
{
"context": "note",
"contextType": "variable",
"element": "text",
"transform": "copy",
"parameter": [
{
"valueId": "data"
}
]
}
]
},
{
"name": "idRef",
"source": [
{
"context": "text",
"condition": "(data.exists() = false)"
}
],
"target": [
{
"context": "note",
"contextType": "variable",
"element": "text",
"transform": "evaluate",
"parameter": [
{
"valueString": "%section.text.substring(%section.text.indexOf(%src.text.reference.value.substring(1))).substring(%section.text.substring(%section.text.indexOf(%src.text.reference.value.substring(1))).indexOf('>') + 1, %section.text.substring(%section.text.indexOf(%src.text.reference.value.substring(1))).indexOf('<') - %section.text.substring(%section.text.indexOf(%src.text.reference.value.substring(1))).indexOf('>') - 1)"
}
]
}
]
},
{
"name": "reference",
"source": [
{
"context": "text",
"element": "reference",
"variable": "reference"
}
],
"rule": [
{
"name": "narrativeLink",
"source": [
{
"context": "reference",
"element": "value",
"variable": "value"
}
],
"target": [
{
"context": "note",
"contextType": "variable",
"element": "extension",
"variable": "ext"
}
],
"dependent": [
{
"name": "NarrativeLink",
"variable": [
"value",
"ext"
]
}
]
}
]
}
]
},
{
"name": "code",
"source": [
{
"context": "src",
"element": "code",
"variable": "vvv"
}
],
"target": [
{
"context": "observation",
"contextType": "variable",
"element": "code",
"variable": "vvv",
"transform": "create"
}
]
}
]
},
{
"name": "InnerExtensionExternalDocumentId",
"typeMode": "none",
"documentation": "_________________________ Template Type not specified _________________________ target: http://build.fhir.org/ig/hl7ch/ch-emed/branches/master/StructureDefinition-ch-emed-ext-treatmentplan.html",
"input": [
{
"name": "src",
"mode": "source"
},
{
"name": "ext",
"type": "Extension",
"mode": "target"
}
],
"rule": [
{
"name": "url",
"source": [
{
"context": "src"
}
],
"target": [
{
"context": "ext",
"contextType": "variable",
"element": "url",
"transform": "copy",
"parameter": [
{
"valueString": "externalDocumentId"
}
]
}
]
},
{
"name": "value",
"source": [
{
"context": "src"
}
],
"target": [
{
"context": "ext",
"contextType": "variable",
"element": "value",
"variable": "id",
"transform": "create",
"parameter": [
{
"valueString": "Identifier"
}
]
}
],
"dependent": [
{
"name": "II",
"variable": [
"src",
"id"
]
}
]
}
]
},
{
"name": "InnerExtensionId",
"typeMode": "none",
"documentation": "target: http://build.fhir.org/ig/hl7ch/ch-emed/branches/master/StructureDefinition-ch-emed-ext-treatmentplan.html",
"input": [
{
"name": "src",
"mode": "source"
},
{
"name": "ext",
"type": "Extension",
"mode": "target"
}
],
"rule": [
{
"name": "url",
"source": [
{
"context": "src"
}
],
"target": [
{
"context": "ext",
"contextType": "variable",
"element": "url",
"transform": "copy",
"parameter": [
{
"valueString": "id"
}
]
}
]
},
{
"name": "value",
"source": [
{
"context": "src"
}
],
"target": [
{
"context": "ext",
"contextType": "variable",
"element": "value",
"variable": "id",
"transform": "create",
"parameter": [
{
"valueString": "Identifier"
}
]
}
],
"dependent": [
{
"name": "II",
"variable": [
"src",
"id"
]
}
]
}
]
}
]
}