| Package | uk.nhsdigital.r4.test |
| Resource Type | StructureMap |
| Id | 4 |
| FHIR Version | R4 |
| Source | https://simplifier.net/resolve?scope=uk.nhsdigital.r4.test@2.17.0-prerelease&canonical=http://fhir.nhs.uk/StructureMap/MedicationStatusReason-Extension-3to4 |
| URL | http://fhir.nhs.uk/StructureMap/MedicationStatusReason-Extension-3to4 |
| Status | draft |
| Name | R3toR4conversionforCareConnectMedicationStatusReasonextension |
No resources found
No resources found
Note: links and images are rebased to the (stated) source
map "http://fhir.nhs.uk/StructureMap/MedicationStatusReason-Extension-3to4" = "R3 to R4 conversion for CareConnect MedicationStatusReason extension"
uses "http://hl7.org/fhir/StructureDefinition/MedicationRequest" alias MedicationRequest as source
uses "http://hl7.org/fhir/StructureDefinition/MedicationRequest" alias MedicationRequest as target
group MedicationRequest(source src : MedicationRequest, target tgt : MedicationRequest) {
src.extension as ext where $this.url = 'https://fhir.nhs.uk/STU3/StructureDefinition/Extension-CareConnect-MedicationStatusReason-1' -> tgt.statusReason as vt then {
ext.extension as vs where $this.url = 'statusReason' -> tgt.statusReason as vt1 then {
vs.value : CodeableConcept as vs1 -> tgt.statusReason as vt2 then CodeableConceptStatusReason(vs1, vt2);
};
};
}
group CodeableConceptStatusReason(source src : CodeableConcept, target tgt : CodeableConcept) {
// src.coding -> tgt.coding; the short form is only woking when you have a <<type>>
src.coding -> tgt.coding;
src.text as text -> tgt.text = text;
}
group Coding(source src : Coding, target tgt : Coding) <<type+>> {
src.system as system -> tgt.system = system;
src.version as version -> tgt.version = version;
src.code as code -> tgt.code = code;
src.display as display -> tgt.display = display;
src.userSelected as userSelected -> tgt.userSelected = userSelected;
}
{
"resourceType": "StructureMap",
"id": "4",
"status": "draft",
"meta": {
"versionId": "1",
"lastUpdated": "2022-01-13T11:23:18.359+00:00"
},
"text": {
"status": "generated",
"div": "<!-- snip (see above) -->"
},
"url": "http://fhir.nhs.uk/StructureMap/MedicationStatusReason-Extension-3to4",
"name": "R3toR4conversionforCareConnectMedicationStatusReasonextension",
"structure": [
{
"url": "http://hl7.org/fhir/StructureDefinition/MedicationRequest",
"mode": "source",
"alias": "MedicationRequestSTU3"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/MedicationRequest",
"mode": "target",
"alias": "MedicationRequestR4"
}
],
"group": [
{
"name": "MedicationRequest",
"typeMode": "none",
"input": [
{
"name": "src",
"type": "MedicationRequestSTU3",
"mode": "source"
},
{
"name": "tgt",
"type": "MedicationRequestR4",
"mode": "target"
}
],
"rule": [
{
"name": "extension",
"source": [
{
"context": "src",
"element": "extension",
"variable": "ext",
"condition": "$this.url = 'https://fhir.nhs.uk/STU3/StructureDefinition/Extension-CareConnect-MedicationStatusReason-1'"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "statusReason",
"variable": "vt"
}
],
"rule": [
{
"name": "extension",
"source": [
{
"context": "ext",
"element": "extension",
"variable": "vs",
"condition": "$this.url = 'statusReason'"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "statusReason",
"variable": "vt1"
}
],
"rule": [
{
"name": "valueCodeableConcept",
"source": [
{
"context": "vs",
"type": "CodeableConcept",
"element": "value",
"variable": "vs1"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "statusReason",
"variable": "vt2"
}
],
"dependent": [
{
"name": "CodeableConceptStatusReason",
"variable": [
"vs1",
"vt2"
]
}
]
}
]
}
]
}
]
},
{
"name": "CodeableConceptStatusReason",
"typeMode": "none",
"input": [
{
"name": "src",
"type": "CodeableConcept",
"mode": "source"
},
{
"name": "tgt",
"type": "CodeableConcept",
"mode": "target"
}
],
"rule": [
{
"name": "coding",
"source": [
{
"context": "src",
"element": "coding",
"variable": "vvv"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "coding",
"variable": "vvv",
"transform": "create"
}
],
"documentation": "src.coding -> tgt.coding; the short form is only woking when you have a <<type>>"
},
{
"name": "text",
"source": [
{
"context": "src",
"element": "text",
"variable": "text"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "text",
"transform": "copy",
"parameter": [
{
"valueId": "text"
}
]
}
]
}
]
},
{
"name": "Coding",
"typeMode": "type-and-types",
"input": [
{
"name": "src",
"type": "Coding",
"mode": "source"
},
{
"name": "tgt",
"type": "Coding",
"mode": "target"
}
],
"rule": [
{
"name": "system",
"source": [
{
"context": "src",
"element": "system",
"variable": "system"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "system",
"transform": "copy",
"parameter": [
{
"valueId": "system"
}
]
}
]
},
{
"name": "version",
"source": [
{
"context": "src",
"element": "version",
"variable": "version"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "version",
"transform": "copy",
"parameter": [
{
"valueId": "version"
}
]
}
]
},
{
"name": "code",
"source": [
{
"context": "src",
"element": "code",
"variable": "code"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "code",
"transform": "copy",
"parameter": [
{
"valueId": "code"
}
]
}
]
},
{
"name": "display",
"source": [
{
"context": "src",
"element": "display",
"variable": "display"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "display",
"transform": "copy",
"parameter": [
{
"valueId": "display"
}
]
}
]
},
{
"name": "userSelected",
"source": [
{
"context": "src",
"element": "userSelected",
"variable": "userSelected"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "userSelected",
"transform": "copy",
"parameter": [
{
"valueId": "userSelected"
}
]
}
]
}
]
}
]
}