Package | uk.nhsdigital.r4.test |
Resource Type | StructureMap |
Id | 3 |
FHIR Version | R4 |
Source | https://simplifier.net/resolve?scope=uk.nhsdigital.r4.test@2.17.0-prerelease&canonical=http://fhir.nhs.uk/StructureMap/MedicationRepeatInformation-Extension-3to4 |
URL | http://fhir.nhs.uk/StructureMap/MedicationRepeatInformation-Extension-3to4 |
Status | draft |
Name | R3toR4conversionforCareConnectMedicationRepeatInformationextension |
No resources found
No resources found
Note: links and images are rebased to the (stated) source
map "http://fhir.nhs.uk/StructureMap/MedicationRepeatInformation-Extension-3to4" = "R3 to R4 conversion for CareConnect MedicationRepeatInformation 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-MedicationRepeatInformation-1' -> tgt.extension as tgtext, tgtext.url = 'https://fhir.nhs.uk/StructureDefinition/Extension-UKCore-MedicationRepeatInformation' then { ext.extension as vs where $this.url = 'numberOfRepeatPrescriptionsIssued' -> tgtext.extension = create('Extension') as vt, vt.url = 'numberOfRepeatPrescriptionsIssued' then ExtensionUnsignedIntValue(vs, vt); ext.extension as vs where $this.url = 'authorisationExpiryDate' -> tgtext.extension = create('Extension') as vt, vt.url = 'authorisationExpiryDate' then ExtensionDateTimeValue(vs, vt); }; src.extension as ext where $this.url = 'https://fhir.nhs.uk/STU3/StructureDefinition/Extension-CareConnect-MedicationRepeatInformation-1' -> tgt.extension as tgtext then { ext.extension as vs where $this.url = 'numberOfRepeatPrescriptionsAllowed' -> tgt.dispenseRequest as vt then DispenseRequest(vs, vt); }; } group ExtensionUnsignedIntValue(source src, target tgt) { src.value as vs -> tgt.value = create('unsignedInt') as vt, vt.value = vs; } group ExtensionDateTimeValue(source src, target tgt) { src.value as vs -> tgt.value = create('dateTime') as vt, vt.value = vs; } group DispenseRequest(source src, target tgt) { src.value as vs -> tgt.numberOfRepeatsAllowed = create('unsignedInt') as vt, vt.value = vs; }
{ "resourceType": "StructureMap", "id": "3", "status": "draft", "meta": { "versionId": "1", "lastUpdated": "2022-01-13T11:14:54.242+00:00" }, "text": { "status": "generated", "div": "<!-- snip (see above) -->" }, "url": "http://fhir.nhs.uk/StructureMap/MedicationRepeatInformation-Extension-3to4", "name": "R3toR4conversionforCareConnectMedicationRepeatInformationextension", "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-MedicationRepeatInformation-1'" } ], "target": [ { "context": "tgt", "contextType": "variable", "element": "extension", "variable": "tgtext" }, { "context": "tgtext", "contextType": "variable", "element": "url", "transform": "copy", "parameter": [ { "valueString": "https://fhir.nhs.uk/StructureDefinition/Extension-UKCore-MedicationRepeatInformation" } ] } ], "rule": [ { "name": "extension", "source": [ { "context": "ext", "element": "extension", "variable": "vs", "condition": "$this.url = 'numberOfRepeatPrescriptionsIssued'" } ], "target": [ { "context": "tgtext", "contextType": "variable", "element": "extension", "variable": "vt", "transform": "create", "parameter": [ { "valueString": "Extension" } ] }, { "context": "vt", "contextType": "variable", "element": "url", "transform": "copy", "parameter": [ { "valueString": "numberOfRepeatPrescriptionsIssued" } ] } ], "dependent": [ { "name": "ExtensionUnsignedIntValue", "variable": [ "vs", "vt" ] } ] }, { "name": "extension", "source": [ { "context": "ext", "element": "extension", "variable": "vs", "condition": "$this.url = 'authorisationExpiryDate'" } ], "target": [ { "context": "tgtext", "contextType": "variable", "element": "extension", "variable": "vt", "transform": "create", "parameter": [ { "valueString": "Extension" } ] }, { "context": "vt", "contextType": "variable", "element": "url", "transform": "copy", "parameter": [ { "valueString": "authorisationExpiryDate" } ] } ], "dependent": [ { "name": "ExtensionDateTimeValue", "variable": [ "vs", "vt" ] } ] } ] }, { "name": "extension", "source": [ { "context": "src", "element": "extension", "variable": "ext", "condition": "$this.url = 'https://fhir.nhs.uk/STU3/StructureDefinition/Extension-CareConnect-MedicationRepeatInformation-1'" } ], "target": [ { "context": "tgt", "contextType": "variable", "element": "extension", "variable": "tgtext" } ], "rule": [ { "name": "extension", "source": [ { "context": "ext", "element": "extension", "variable": "vs", "condition": "$this.url = 'numberOfRepeatPrescriptionsAllowed'" } ], "target": [ { "context": "tgt", "contextType": "variable", "element": "dispenseRequest", "variable": "vt" } ], "dependent": [ { "name": "DispenseRequest", "variable": [ "vs", "vt" ] } ] } ] } ] }, { "name": "ExtensionUnsignedIntValue", "typeMode": "none", "input": [ { "name": "src", "type": "Extension", "mode": "source" }, { "name": "tgt", "type": "Extension", "mode": "target" } ], "rule": [ { "name": "value", "source": [ { "context": "src", "element": "value", "variable": "vs" } ], "target": [ { "context": "tgt", "contextType": "variable", "element": "value", "variable": "vt", "transform": "create", "parameter": [ { "valueString": "unsignedInt" } ] }, { "context": "vt", "contextType": "variable", "element": "value", "transform": "copy", "parameter": [ { "valueId": "vs" } ] } ] } ] }, { "name": "ExtensionDateTimeValue", "typeMode": "none", "input": [ { "name": "src", "type": "Extension", "mode": "source" }, { "name": "tgt", "type": "Extension", "mode": "target" } ], "rule": [ { "name": "value", "source": [ { "context": "src", "element": "value", "variable": "vs" } ], "target": [ { "context": "tgt", "contextType": "variable", "element": "value", "variable": "vt", "transform": "create", "parameter": [ { "valueString": "dateTime" } ] }, { "context": "vt", "contextType": "variable", "element": "value", "transform": "copy", "parameter": [ { "valueId": "vs" } ] } ] } ] }, { "name": "DispenseRequest", "typeMode": "none", "input": [ { "name": "src", "type": "Extension", "mode": "source" }, { "name": "tgt", "type": "BackboneElement", "mode": "target" } ], "rule": [ { "name": "value", "source": [ { "context": "src", "element": "value", "variable": "vs" } ], "target": [ { "context": "tgt", "contextType": "variable", "element": "numberOfRepeatsAllowed", "variable": "vt", "transform": "create", "parameter": [ { "valueString": "unsignedInt" } ] }, { "context": "vt", "contextType": "variable", "element": "value", "transform": "copy", "parameter": [ { "valueId": "vs" } ] } ] } ] } ] }