Social Care Interoperability Platform FHIR Implementation Guide
Version: 0.1.0, Status: draft
Social Care Interoperability Platform FHIR Implementation Guide - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
| Official URL: https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureMap/Patient-Trace | Version: 0.1.0 | |||
| Draft as of 2026-06-10 | Computable Name: PatientToTrace | |||
map "https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureMap/Patient-Trace" = "PatientToTrace" uses "https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/MODS-Patient" alias Patient as source uses "https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/MODS-Trace" alias Trace as target group Trace(source src : Patient, target tgt : Trace) { src -> tgt.name as name then { src.name as humanName then { src -> name.given = evaluate(humanName, given[0]) "fcbb409d-21ec-496b-aea5-7358bde14e62"; src -> name.family = evaluate(humanName, family) "99e9a33d-5dc2-4ad5-9bf2-0a669a2500a2"; } "setFamilyAndGivenName"; } "setName"; src.gender as genderCode then { src -> src.genderIdentity = create('Coding') as givt then { src -> givt.system = 'http://hl7.org/fhir/administrative-gender' "98fd9b68-935b-44f5-8d24-4b0d5272f4a3"; src -> givt.code = genderCode "82830d28-4053-45cd-ac5d-f1f5d4e3110a"; src -> tgt.sex = translate(givt, 'https://metadata.phase2.scip.synanetics.cloud/fhir/r4/ConceptMap/MODS-FHIRBirthSex-1', 'Coding') "de9ffcd4-3fa6-4208-8e22-e5fadeef0ab5"; } "f41fbaac-b651-4235-89ff-ddf86260b8d1"; } "setGender"; src -> tgt.nhsNumber as nhsNumber then { src.identifier as nhsNumberIdentifier where $this.system='https://fhir.nhs.uk/Id/nhs-number', nhsNumberIdentifier.value as nhsNumberValue, nhsNumberIdentifier.extension as nhsNumberTraceStatusExt then { src -> nhsNumber.value = nhsNumberValue "10b379ad-ddee-45f1-beec-5ad7e11f2cf8"; src -> nhsNumber.statusIndicator as statusIndicator then { src -> statusIndicator.code = evaluate(nhsNumberTraceStatusExt, valueCodeableConcept.coding[0].code) "f906c0f5-d7ce-46ea-b5e5-9b4ffc57d4dd"; src -> statusIndicator.display = evaluate(nhsNumberTraceStatusExt, valueCodeableConcept.coding[0].display) "00034db1-5bfc-44eb-a092-7a5be2fe18f9"; } "dd9e7695-c4df-4d80-a2ee-7d9a08af0fd1"; } "setNHSNumber"; src -> tgt.dateOfBirth = evaluate(src, birthDate) "setDateOfBirth"; src.address as address -> tgt.homeAddress as addr then { src -> addr.addressEntry1 = evaluate(address, line[0]) "d42d1e07-79a8-43d9-b389-efb86f1d8025"; src -> addr.addressEntry2 = evaluate(address, line[1]) "722cbb0f-b508-42da-b16e-091a41bb913d"; src -> addr.addressEntry3 = evaluate(address, line[2]) "311243b0-203e-4194-b184-2a4dc9278a41"; src -> addr.addressEntry4 = evaluate(address, line[3]) "5fe54941-5b14-45c5-8290-1479c42485ba"; src -> addr.postCode = evaluate(address, postalCode) "cdce6a13-470e-4629-9f11-82995e7aadb4"; address.extension as countryExt where $this.url='https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/Extension-MODS-AddressCountry' then { src -> addr.country as country then { src -> country.system = 'https://data.digitisingsocialcare.co.uk/mods/v1/country' "f4aca984-380c-4ea1-8764-d07245d1f720"; src -> country.code = evaluate(countryExt, valueCoding.code) "c264a30b-0b13-4595-83f5-51dfb52437b7"; src -> country.display = evaluate(countryExt, valueCoding.display) "c3eb1876-0412-403e-bbd0-b3eaa28623d1"; } "2005bb05-be9c-4516-854c-99effd2b6d53"; }; } "setAddress"; } "2f258739-c027-4d1e-84b9-285ec5b4228d"; }