Package | hl7.fhir.uv.xver |
Resource Type | StructureMap |
Id | Dosage3to4 |
FHIR Version | R5 |
Source | http://hl7.org/fhir/extensions/https://build.fhir.org/ig/HL7/fhir-cross-version/StructureMap-Dosage3to4.html |
URL | http://hl7.org/fhir/StructureMap/Dosage3to4 |
Version | 0.1.0 |
Status | active |
Date | 2024-02-22T03:16:50+00:00 |
Name | Dosage3to4 |
Title | Dosage Transforms: R3 to R4 |
Realm | uv |
Authority | hl7 |
Description | DosageTransformsR3toR4 |
No resources found
No resources found
Note: links and images are rebased to the (stated) source
/// url = 'http://hl7.org/fhir/StructureMap/Dosage3to4' /// name = 'Dosage3to4' /// title = 'Dosage Transforms: R3 to R4' /// status = 'active' uses "http://hl7.org/fhir/3.0/Dosage" alias DosageR3 as source uses "http://hl7.org/fhir/4.0/Dosage" alias Dosage as target imports "http://hl7.org/fhir/StructureMap/*3to4" group Dosage(source src : DosageR3, target tgt : Dosage) extends BackboneElement <<type+>> { src.sequence -> tgt.sequence; src.text -> tgt.text; src.additionalInstruction -> tgt.additionalInstruction; src.patientInstruction -> tgt.patientInstruction; src.timing -> tgt.timing; src.asNeeded : boolean as vs -> tgt.asNeeded = create('boolean') as vt then boolean(vs, vt); src.asNeeded : CodeableConcept as vs -> tgt.asNeeded = create('CodeableConcept') as vt then CodeableConcept(vs, vt); src.site -> tgt.site; src.route -> tgt.route; src.method -> tgt.method; src where dose.exists() or rate.exists() -> tgt.doseAndRate as vt0 then doseAndRate(src, vt0) "doserate"; src.maxDosePerPeriod -> tgt.maxDosePerPeriod; src.maxDosePerAdministration -> tgt.maxDosePerAdministration; src.maxDosePerLifetime -> tgt.maxDosePerLifetime; } group doseAndRate(source src, target tgt) { src.dose : Range as vs -> tgt.dose = create('Range') as vt then Range(vs, vt); src.dose : Quantity as vs -> tgt.dose = create('Quantity') as vt then Quantity(vs, vt); src.rate : Ratio as vs -> tgt.rate = create('Ratio') as vt then Ratio(vs, vt); src.rate : Range as vs -> tgt.rate = create('Range') as vt then Range(vs, vt); src.rate : Quantity as vs -> tgt.rate = create('Quantity') as vt then Quantity(vs, vt); }
{ "resourceType": "StructureMap", "id": "Dosage3to4", "text": { "status": "generated", "div": "<!-- snip (see above) -->" }, "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg", "valueCode": "fhir" }, { "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm", "valueInteger": 1, "_valueInteger": { "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom", "valueCanonical": "http://hl7.org/fhir/extensions/ImplementationGuide/hl7.fhir.uv.xver" } ] } }, { "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status", "valueCode": "draft", "_valueCode": { "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom", "valueCanonical": "http://hl7.org/fhir/extensions/ImplementationGuide/hl7.fhir.uv.xver" } ] } } ], "url": "http://hl7.org/fhir/StructureMap/Dosage3to4", "version": "0.1.0", "name": "Dosage3to4", "title": "Dosage Transforms: R3 to R4", "status": "active", "date": "2024-02-22T03:16:50+00:00", "publisher": "HL7 International / FHIR Infrastructure", "contact": [ { "telecom": [ { "system": "url", "value": "http://www.hl7.org/Special/committees/fiwg" } ] } ], "description": "DosageTransformsR3toR4", "jurisdiction": [ { "coding": [ { "system": "http://unstats.un.org/unsd/methods/m49/m49.htm", "code": "001" } ] } ], "structure": [ { "url": "http://hl7.org/fhir/3.0/Dosage", "mode": "source", "alias": "DosageR3" }, { "url": "http://hl7.org/fhir/4.0/Dosage", "mode": "target", "alias": "Dosage" } ], "import": [ "http://hl7.org/fhir/StructureMap/*3to4" ], "group": [ { "name": "Dosage", "extends": "BackboneElement", "typeMode": "type-and-types", "input": [ { "name": "src", "type": "DosageR3", "mode": "source" }, { "name": "tgt", "type": "Dosage", "mode": "target" } ], "rule": [ { "name": "sequence", "source": [ { "context": "src", "element": "sequence", "variable": "vvv" } ], "target": [ { "context": "tgt", "element": "sequence", "variable": "vvv", "transform": "create" } ], "dependent": [ { "name": "DefaultMappingGroupAnonymousAlias", "parameter": [ { "valueId": "vvv" }, { "valueId": "vvv" } ] } ] }, { "name": "text", "source": [ { "context": "src", "element": "text", "variable": "vvv" } ], "target": [ { "context": "tgt", "element": "text", "variable": "vvv", "transform": "create" } ], "dependent": [ { "name": "DefaultMappingGroupAnonymousAlias", "parameter": [ { "valueId": "vvv" }, { "valueId": "vvv" } ] } ] }, { "name": "additionalInstruction", "source": [ { "context": "src", "element": "additionalInstruction", "variable": "vvv" } ], "target": [ { "context": "tgt", "element": "additionalInstruction", "variable": "vvv", "transform": "create" } ], "dependent": [ { "name": "DefaultMappingGroupAnonymousAlias", "parameter": [ { "valueId": "vvv" }, { "valueId": "vvv" } ] } ] }, { "name": "patientInstruction", "source": [ { "context": "src", "element": "patientInstruction", "variable": "vvv" } ], "target": [ { "context": "tgt", "element": "patientInstruction", "variable": "vvv", "transform": "create" } ], "dependent": [ { "name": "DefaultMappingGroupAnonymousAlias", "parameter": [ { "valueId": "vvv" }, { "valueId": "vvv" } ] } ] }, { "name": "timing", "source": [ { "context": "src", "element": "timing", "variable": "vvv" } ], "target": [ { "context": "tgt", "element": "timing", "variable": "vvv", "transform": "create" } ], "dependent": [ { "name": "DefaultMappingGroupAnonymousAlias", "parameter": [ { "valueId": "vvv" }, { "valueId": "vvv" } ] } ] }, { "name": "asNeededBoolean", "source": [ { "context": "src", "type": "boolean", "element": "asNeeded", "variable": "vs" } ], "target": [ { "context": "tgt", "element": "asNeeded", "variable": "vt", "transform": "create", "parameter": [ { "valueString": "boolean" } ] } ], "dependent": [ { "name": "boolean", "parameter": [ { "valueId": "vs" }, { "valueId": "vt" } ] } ] }, { "name": "asNeededCodeableConcept", "source": [ { "context": "src", "type": "CodeableConcept", "element": "asNeeded", "variable": "vs" } ], "target": [ { "context": "tgt", "element": "asNeeded", "variable": "vt", "transform": "create", "parameter": [ { "valueString": "CodeableConcept" } ] } ], "dependent": [ { "name": "CodeableConcept", "parameter": [ { "valueId": "vs" }, { "valueId": "vt" } ] } ] }, { "name": "site", "source": [ { "context": "src", "element": "site", "variable": "vvv" } ], "target": [ { "context": "tgt", "element": "site", "variable": "vvv", "transform": "create" } ], "dependent": [ { "name": "DefaultMappingGroupAnonymousAlias", "parameter": [ { "valueId": "vvv" }, { "valueId": "vvv" } ] } ] }, { "name": "route", "source": [ { "context": "src", "element": "route", "variable": "vvv" } ], "target": [ { "context": "tgt", "element": "route", "variable": "vvv", "transform": "create" } ], "dependent": [ { "name": "DefaultMappingGroupAnonymousAlias", "parameter": [ { "valueId": "vvv" }, { "valueId": "vvv" } ] } ] }, { "name": "method", "source": [ { "context": "src", "element": "method", "variable": "vvv" } ], "target": [ { "context": "tgt", "element": "method", "variable": "vvv", "transform": "create" } ], "dependent": [ { "name": "DefaultMappingGroupAnonymousAlias", "parameter": [ { "valueId": "vvv" }, { "valueId": "vvv" } ] } ] }, { "name": "doserate", "source": [ { "context": "src", "condition": "dose.exists() or rate.exists()" } ], "target": [ { "context": "tgt", "element": "doseAndRate", "variable": "vt0" } ], "dependent": [ { "name": "doseAndRate", "parameter": [ { "valueId": "src" }, { "valueId": "vt0" } ] } ] }, { "name": "maxDosePerPeriod", "source": [ { "context": "src", "element": "maxDosePerPeriod", "variable": "vvv" } ], "target": [ { "context": "tgt", "element": "maxDosePerPeriod", "variable": "vvv", "transform": "create" } ], "dependent": [ { "name": "DefaultMappingGroupAnonymousAlias", "parameter": [ { "valueId": "vvv" }, { "valueId": "vvv" } ] } ] }, { "name": "maxDosePerAdministration", "source": [ { "context": "src", "element": "maxDosePerAdministration", "variable": "vvv" } ], "target": [ { "context": "tgt", "element": "maxDosePerAdministration", "variable": "vvv", "transform": "create" } ], "dependent": [ { "name": "DefaultMappingGroupAnonymousAlias", "parameter": [ { "valueId": "vvv" }, { "valueId": "vvv" } ] } ] }, { "name": "maxDosePerLifetime", "source": [ { "context": "src", "element": "maxDosePerLifetime", "variable": "vvv" } ], "target": [ { "context": "tgt", "element": "maxDosePerLifetime", "variable": "vvv", "transform": "create" } ], "dependent": [ { "name": "DefaultMappingGroupAnonymousAlias", "parameter": [ { "valueId": "vvv" }, { "valueId": "vvv" } ] } ] } ] }, { "name": "doseAndRate", "input": [ { "name": "src", "mode": "source" }, { "name": "tgt", "mode": "target" } ], "rule": [ { "name": "doseRange", "source": [ { "context": "src", "type": "Range", "element": "dose", "variable": "vs" } ], "target": [ { "context": "tgt", "element": "dose", "variable": "vt", "transform": "create", "parameter": [ { "valueString": "Range" } ] } ], "dependent": [ { "name": "Range", "parameter": [ { "valueId": "vs" }, { "valueId": "vt" } ] } ] }, { "name": "doseQuantity", "source": [ { "context": "src", "type": "Quantity", "element": "dose", "variable": "vs" } ], "target": [ { "context": "tgt", "element": "dose", "variable": "vt", "transform": "create", "parameter": [ { "valueString": "Quantity" } ] } ], "dependent": [ { "name": "Quantity", "parameter": [ { "valueId": "vs" }, { "valueId": "vt" } ] } ] }, { "name": "rateRatio", "source": [ { "context": "src", "type": "Ratio", "element": "rate", "variable": "vs" } ], "target": [ { "context": "tgt", "element": "rate", "variable": "vt", "transform": "create", "parameter": [ { "valueString": "Ratio" } ] } ], "dependent": [ { "name": "Ratio", "parameter": [ { "valueId": "vs" }, { "valueId": "vt" } ] } ] }, { "name": "rateRange", "source": [ { "context": "src", "type": "Range", "element": "rate", "variable": "vs" } ], "target": [ { "context": "tgt", "element": "rate", "variable": "vt", "transform": "create", "parameter": [ { "valueString": "Range" } ] } ], "dependent": [ { "name": "Range", "parameter": [ { "valueId": "vs" }, { "valueId": "vt" } ] } ] }, { "name": "rateQuantity", "source": [ { "context": "src", "type": "Quantity", "element": "rate", "variable": "vs" } ], "target": [ { "context": "tgt", "element": "rate", "variable": "vt", "transform": "create", "parameter": [ { "valueString": "Quantity" } ] } ], "dependent": [ { "name": "Quantity", "parameter": [ { "valueId": "vs" }, { "valueId": "vt" } ] } ] } ] } ] }