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-03-24 | 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]) "aa821d4a-9a93-4951-bc86-1ca39c9866b6"; src -> name.family = evaluate(humanName, family) "f85c1e52-2d5e-41af-8705-cda0c77ed7eb"; } "setFamilyAndGivenName"; } "setName"; src.gender as genderCode then { src -> src.genderIdentity = create('Coding') as givt then { src -> givt.system = 'http://hl7.org/fhir/administrative-gender' "158e25ef-bcac-4d1e-89f8-7831401efedc"; src -> givt.code = genderCode "d1e01564-ff83-4638-8b81-2938239ed7d2"; src -> tgt.sex = translate(givt, 'https://metadata.phase2.scip.synanetics.cloud/fhir/r4/ConceptMap/MODS-FHIRBirthSex-1', 'Coding') "be811ab8-eb0f-4eea-b100-733b00d6ec2a"; } "8e9a5cd3-897c-458a-823d-dccb0fd65be8"; } "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 "ccd3bd86-d59f-4e10-82b3-4716d2d3f798"; src -> nhsNumber.statusIndicator as statusIndicator then { src -> statusIndicator.code = evaluate(nhsNumberTraceStatusExt, valueCodeableConcept.coding[0].code) "f3235a2e-ef0c-4e92-a4cc-17d5700d52ec"; src -> statusIndicator.display = evaluate(nhsNumberTraceStatusExt, valueCodeableConcept.coding[0].display) "e70645af-fedf-466d-9298-b2c8252fcbf4"; } "6551dd2a-8e4e-45bb-9c66-b7299b55b8d4"; } "setNHSNumber"; src -> tgt.dateOfBirth = evaluate(src, birthDate) "setDateOfBirth"; src.address as address -> tgt.homeAddress as addr then { src -> addr.addressEntry1 = evaluate(address, line[0]) "ea927ea0-93e5-421a-9ac4-baebfdc60aa5"; src -> addr.addressEntry2 = evaluate(address, line[1]) "f598ba7d-16cc-4828-b6f6-67763ba00c13"; src -> addr.addressEntry3 = evaluate(address, line[2]) "3ba21f91-72d9-4796-bc72-a85af895a3c4"; src -> addr.addressEntry4 = evaluate(address, line[3]) "ba7f1aec-482b-4d62-b79b-bbab6631e065"; src -> addr.postCode = evaluate(address, postalCode) "7131afd6-19d1-4885-8269-ff9aa797ad29"; 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' "319f4d41-dfd9-4bca-aa41-9170dda9bedf"; src -> country.code = evaluate(countryExt, valueCoding.code) "b4cb57f6-61a5-4aa4-bf0a-6fef30a9d70a"; src -> country.display = evaluate(countryExt, valueCoding.display) "a03430f9-3648-46a4-94e8-29df2ec31351"; } "010a9a1f-aa2b-48cd-a447-0a34ea40d7ef"; }; } "setAddress"; } "e0998579-28eb-48bb-8b61-85f0f325e01b"; }