Package | hl7.fhir.uv.xver |
Resource Type | StructureMap |
Id | MedicationStatement4to3 |
FHIR Version | R5 |
Source | http://hl7.org/fhir/extensions/https://build.fhir.org/ig/HL7/fhir-cross-version/StructureMap-MedicationStatement4to3.html |
URL | http://hl7.org/fhir/StructureMap/MedicationStatement4to3 |
Version | 0.1.0 |
Status | active |
Date | 2024-02-22T03:16:50+00:00 |
Name | MedicationStatement4to3 |
Title | MedicationStatement Transforms: R4 to R3 |
Realm | uv |
Authority | hl7 |
Description | MedicationStatementTransformsR4toR3 |
No resources found
No resources found
Note: links and images are rebased to the (stated) source
/// url = 'http://hl7.org/fhir/StructureMap/MedicationStatement4to3' /// name = 'MedicationStatement4to3' /// title = 'MedicationStatement Transforms: R4 to R3' /// status = 'active' uses "http://hl7.org/fhir/4.0/MedicationStatement" alias MedicationStatement as source uses "http://hl7.org/fhir/3.0/MedicationStatement" alias MedicationStatementR3 as target imports "http://hl7.org/fhir/StructureMap/*4to3" group MedicationStatement(source src : MedicationStatement, target tgt : MedicationStatementR3) extends DomainResource <<type+>> { src.identifier -> tgt.identifier; src.basedOn -> tgt.basedOn; src.partOf -> tgt.partOf; src.context -> tgt.context; src where src.extension.where(url = 'http://hl7.org/fhir/3.0/StructureDefinition/extension-MedicationStatement.status').exists() then statusR3(src, tgt) "status1"; src where src.extension.where(url = 'http://hl7.org/fhir/3.0/StructureDefinition/extension-MedicationStatement.status').empty() then statusNR3(src, tgt) "status2"; src.category -> tgt.category; src.medication : CodeableConcept as vs -> tgt.medication = create('CodeableConcept') as vt then CodeableConcept(vs, vt); src.medication : Reference as vs -> tgt.medication = create('Reference') as vt then Reference(vs, vt); src.effective : dateTime as vs -> tgt.effective = create('dateTime') as vt then dateTime(vs, vt); src.effective : Period as vs -> tgt.effective = create('Period') as vt then Period(vs, vt); src.dateAsserted -> tgt.dateAsserted; src.informationSource -> tgt.informationSource; src.subject -> tgt.subject; src.derivedFrom -> tgt.derivedFrom; src.reasonCode where src.status = 'not-taken' -> tgt.reasonNotTaken; src.reasonCode where src.status != 'not-taken' -> tgt.reasonCode; src.reasonReference -> tgt.reasonReference; src.note -> tgt.note; src.dosage -> tgt.dosage; } group statusR3(source src, target tgt) { src.extension as e where url = 'http://hl7.org/fhir/3.0/StructureDefinition/extension-MedicationStatement.taken' then { e.value -> tgt.taken; }; src.extension as e where url = 'http://hl7.org/fhir/3.0/StructureDefinition/extension-MedicationStatement.status' then { e.value -> tgt.status; }; } group statusNR3(source src, target tgt) { src.status where (value in ('not-taken' | 'unknown')).not() -> tgt.status; src.status where value = 'not-taken' -> tgt.status = 'completed', tgt.taken = 'n'; src.status where value = 'unknown' -> tgt.status = 'completed', tgt.taken = 'unk'; }
{ "resourceType": "StructureMap", "id": "MedicationStatement4to3", "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/MedicationStatement4to3", "version": "0.1.0", "name": "MedicationStatement4to3", "title": "MedicationStatement Transforms: R4 to R3", "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": "MedicationStatementTransformsR4toR3", "jurisdiction": [ { "coding": [ { "system": "http://unstats.un.org/unsd/methods/m49/m49.htm", "code": "001" } ] } ], "structure": [ { "url": "http://hl7.org/fhir/4.0/MedicationStatement", "mode": "source", "alias": "MedicationStatement" }, { "url": "http://hl7.org/fhir/3.0/MedicationStatement", "mode": "target", "alias": "MedicationStatementR3" } ], "import": [ "http://hl7.org/fhir/StructureMap/*4to3" ], "group": [ { "name": "MedicationStatement", "extends": "DomainResource", "typeMode": "type-and-types", "input": [ { "name": "src", "type": "MedicationStatement", "mode": "source" }, { "name": "tgt", "type": "MedicationStatementR3", "mode": "target" } ], "rule": [ { "name": "identifier", "source": [ { "context": "src", "element": "identifier", "variable": "vvv" } ], "target": [ { "context": "tgt", "element": "identifier", "variable": "vvv", "transform": "create" } ], "dependent": [ { "name": "DefaultMappingGroupAnonymousAlias", "parameter": [ { "valueId": "vvv" }, { "valueId": "vvv" } ] } ] }, { "name": "basedOn", "source": [ { "context": "src", "element": "basedOn", "variable": "vvv" } ], "target": [ { "context": "tgt", "element": "basedOn", "variable": "vvv", "transform": "create" } ], "dependent": [ { "name": "DefaultMappingGroupAnonymousAlias", "parameter": [ { "valueId": "vvv" }, { "valueId": "vvv" } ] } ] }, { "name": "partOf", "source": [ { "context": "src", "element": "partOf", "variable": "vvv" } ], "target": [ { "context": "tgt", "element": "partOf", "variable": "vvv", "transform": "create" } ], "dependent": [ { "name": "DefaultMappingGroupAnonymousAlias", "parameter": [ { "valueId": "vvv" }, { "valueId": "vvv" } ] } ] }, { "name": "context", "source": [ { "context": "src", "element": "context", "variable": "vvv" } ], "target": [ { "context": "tgt", "element": "context", "variable": "vvv", "transform": "create" } ], "dependent": [ { "name": "DefaultMappingGroupAnonymousAlias", "parameter": [ { "valueId": "vvv" }, { "valueId": "vvv" } ] } ] }, { "name": "status1", "source": [ { "context": "src", "condition": "src.extension.where(url = 'http://hl7.org/fhir/3.0/StructureDefinition/extension-MedicationStatement.status').exists()" } ], "dependent": [ { "name": "statusR3", "parameter": [ { "valueId": "src" }, { "valueId": "tgt" } ] } ] }, { "name": "status2", "source": [ { "context": "src", "condition": "src.extension.where(url = 'http://hl7.org/fhir/3.0/StructureDefinition/extension-MedicationStatement.status').empty()" } ], "dependent": [ { "name": "statusNR3", "parameter": [ { "valueId": "src" }, { "valueId": "tgt" } ] } ] }, { "name": "category", "source": [ { "context": "src", "element": "category", "variable": "vvv" } ], "target": [ { "context": "tgt", "element": "category", "variable": "vvv", "transform": "create" } ], "dependent": [ { "name": "DefaultMappingGroupAnonymousAlias", "parameter": [ { "valueId": "vvv" }, { "valueId": "vvv" } ] } ] }, { "name": "medicationCodeableConcept", "source": [ { "context": "src", "type": "CodeableConcept", "element": "medication", "variable": "vs" } ], "target": [ { "context": "tgt", "element": "medication", "variable": "vt", "transform": "create", "parameter": [ { "valueString": "CodeableConcept" } ] } ], "dependent": [ { "name": "CodeableConcept", "parameter": [ { "valueId": "vs" }, { "valueId": "vt" } ] } ] }, { "name": "medicationReference", "source": [ { "context": "src", "type": "Reference", "element": "medication", "variable": "vs" } ], "target": [ { "context": "tgt", "element": "medication", "variable": "vt", "transform": "create", "parameter": [ { "valueString": "Reference" } ] } ], "dependent": [ { "name": "Reference", "parameter": [ { "valueId": "vs" }, { "valueId": "vt" } ] } ] }, { "name": "effectiveDateTime", "source": [ { "context": "src", "type": "dateTime", "element": "effective", "variable": "vs" } ], "target": [ { "context": "tgt", "element": "effective", "variable": "vt", "transform": "create", "parameter": [ { "valueString": "dateTime" } ] } ], "dependent": [ { "name": "dateTime", "parameter": [ { "valueId": "vs" }, { "valueId": "vt" } ] } ] }, { "name": "effectivePeriod", "source": [ { "context": "src", "type": "Period", "element": "effective", "variable": "vs" } ], "target": [ { "context": "tgt", "element": "effective", "variable": "vt", "transform": "create", "parameter": [ { "valueString": "Period" } ] } ], "dependent": [ { "name": "Period", "parameter": [ { "valueId": "vs" }, { "valueId": "vt" } ] } ] }, { "name": "dateAsserted", "source": [ { "context": "src", "element": "dateAsserted", "variable": "vvv" } ], "target": [ { "context": "tgt", "element": "dateAsserted", "variable": "vvv", "transform": "create" } ], "dependent": [ { "name": "DefaultMappingGroupAnonymousAlias", "parameter": [ { "valueId": "vvv" }, { "valueId": "vvv" } ] } ] }, { "name": "informationSource", "source": [ { "context": "src", "element": "informationSource", "variable": "vvv" } ], "target": [ { "context": "tgt", "element": "informationSource", "variable": "vvv", "transform": "create" } ], "dependent": [ { "name": "DefaultMappingGroupAnonymousAlias", "parameter": [ { "valueId": "vvv" }, { "valueId": "vvv" } ] } ] }, { "name": "subject", "source": [ { "context": "src", "element": "subject", "variable": "vvv" } ], "target": [ { "context": "tgt", "element": "subject", "variable": "vvv", "transform": "create" } ], "dependent": [ { "name": "DefaultMappingGroupAnonymousAlias", "parameter": [ { "valueId": "vvv" }, { "valueId": "vvv" } ] } ] }, { "name": "derivedFrom", "source": [ { "context": "src", "element": "derivedFrom", "variable": "vvv" } ], "target": [ { "context": "tgt", "element": "derivedFrom", "variable": "vvv", "transform": "create" } ], "dependent": [ { "name": "DefaultMappingGroupAnonymousAlias", "parameter": [ { "valueId": "vvv" }, { "valueId": "vvv" } ] } ] }, { "name": "reasonCode", "source": [ { "context": "src", "element": "reasonCode", "variable": "vvv", "condition": "src.status = 'not-taken'" } ], "target": [ { "context": "tgt", "element": "reasonNotTaken", "variable": "vvv", "transform": "create" } ], "dependent": [ { "name": "DefaultMappingGroupAnonymousAlias", "parameter": [ { "valueId": "vvv" }, { "valueId": "vvv" } ] } ] }, { "name": "reasonCode", "source": [ { "context": "src", "element": "reasonCode", "variable": "vvv", "condition": "src.status != 'not-taken'" } ], "target": [ { "context": "tgt", "element": "reasonCode", "variable": "vvv", "transform": "create" } ], "dependent": [ { "name": "DefaultMappingGroupAnonymousAlias", "parameter": [ { "valueId": "vvv" }, { "valueId": "vvv" } ] } ] }, { "name": "reasonReference", "source": [ { "context": "src", "element": "reasonReference", "variable": "vvv" } ], "target": [ { "context": "tgt", "element": "reasonReference", "variable": "vvv", "transform": "create" } ], "dependent": [ { "name": "DefaultMappingGroupAnonymousAlias", "parameter": [ { "valueId": "vvv" }, { "valueId": "vvv" } ] } ] }, { "name": "note", "source": [ { "context": "src", "element": "note", "variable": "vvv" } ], "target": [ { "context": "tgt", "element": "note", "variable": "vvv", "transform": "create" } ], "dependent": [ { "name": "DefaultMappingGroupAnonymousAlias", "parameter": [ { "valueId": "vvv" }, { "valueId": "vvv" } ] } ] }, { "name": "dosage", "source": [ { "context": "src", "element": "dosage", "variable": "vvv" } ], "target": [ { "context": "tgt", "element": "dosage", "variable": "vvv", "transform": "create" } ], "dependent": [ { "name": "DefaultMappingGroupAnonymousAlias", "parameter": [ { "valueId": "vvv" }, { "valueId": "vvv" } ] } ] } ] }, { "name": "statusR3", "input": [ { "name": "src", "mode": "source" }, { "name": "tgt", "mode": "target" } ], "rule": [ { "name": "extension", "source": [ { "context": "src", "element": "extension", "variable": "e", "condition": "url = 'http://hl7.org/fhir/3.0/StructureDefinition/extension-MedicationStatement.taken'" } ], "rule": [ { "name": "value", "source": [ { "context": "e", "element": "value", "variable": "vvv" } ], "target": [ { "context": "tgt", "element": "taken", "variable": "vvv", "transform": "create" } ], "dependent": [ { "name": "DefaultMappingGroupAnonymousAlias", "parameter": [ { "valueId": "vvv" }, { "valueId": "vvv" } ] } ] } ] }, { "name": "extension", "source": [ { "context": "src", "element": "extension", "variable": "e", "condition": "url = 'http://hl7.org/fhir/3.0/StructureDefinition/extension-MedicationStatement.status'" } ], "rule": [ { "name": "value", "source": [ { "context": "e", "element": "value", "variable": "vvv" } ], "target": [ { "context": "tgt", "element": "status", "variable": "vvv", "transform": "create" } ], "dependent": [ { "name": "DefaultMappingGroupAnonymousAlias", "parameter": [ { "valueId": "vvv" }, { "valueId": "vvv" } ] } ] } ] } ] }, { "name": "statusNR3", "input": [ { "name": "src", "mode": "source" }, { "name": "tgt", "mode": "target" } ], "rule": [ { "name": "status", "source": [ { "context": "src", "element": "status", "variable": "vvv", "condition": "(value in ('not-taken' | 'unknown')).not()" } ], "target": [ { "context": "tgt", "element": "status", "variable": "vvv", "transform": "create" } ], "dependent": [ { "name": "DefaultMappingGroupAnonymousAlias", "parameter": [ { "valueId": "vvv" }, { "valueId": "vvv" } ] } ] }, { "name": "status", "source": [ { "context": "src", "element": "status", "condition": "value = 'not-taken'" } ], "target": [ { "context": "tgt", "element": "status", "transform": "copy", "parameter": [ { "valueString": "completed" } ] }, { "context": "tgt", "element": "taken", "transform": "copy", "parameter": [ { "valueString": "n" } ] } ] }, { "name": "status", "source": [ { "context": "src", "element": "status", "condition": "value = 'unknown'" } ], "target": [ { "context": "tgt", "element": "status", "transform": "copy", "parameter": [ { "valueString": "completed" } ] }, { "context": "tgt", "element": "taken", "transform": "copy", "parameter": [ { "valueString": "unk" } ] } ] } ] } ] }