| 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"
}
]
}
]
}
]
}
]
}