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

StructureMap: WishToObservationWish

Official URL: https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureMap/Wish-Observation-Wish Version: 0.1.0
Draft as of 2026-03-24 Computable Name: WishToObservationWish

map "https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureMap/Wish-Observation-Wish" = "WishToObservationWish"

uses "https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/MODS-Wish" alias Wish as source
uses "https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/MODS-WishObservation" alias WishObservation as target

group WishObservation(source src : Wish, target tgt : WishObservation) {
  src -> tgt.id = evaluate(src, id) "c7394a62-ec80-45e3-bdb7-d52f0fa57610";
  src ->  tgt.meta as meta,  meta.tag as tag then {
    src -> tag.system = 'https://metadata.phase2.scip.synanetics.cloud/fhir/r4/CodeSystem/MODS-FhirStructureMapCatalog-1' "7bf10b0e-f461-4e41-890d-e9523ccf23db";
    src -> tag.code = 'https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureMap/Observation-Wish-Wish' "4c7cb84b-9ec4-41a6-a7df-9792328d2f1b";
  } "setMetaTag";
  src.careWorker as careWorker then {
    src ->  src.extension as participantExt,  participantExt.url = 'https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/Extension-MODS-ParticipantCareActor' then {
      careWorker -> participantExt.extension as participantRoleExt then {
        careWorker -> participantRoleExt.url = 'participantRole' "a2ba2f01-bafa-478c-9e3d-ace44a7e8f33";
        careWorker -> participantRoleExt.valueCode = 'performer' "6c2dbf5b-1f4a-4558-a9dd-9c1ff9610d63";
      } "82096b36-c7bd-44d7-8a22-28a65193f8fa";
      careWorker -> participantExt.extension as participantRefExt then {
        careWorker -> participantRefExt.url = 'participantReference' "dd21516a-ba21-4fd2-aedb-82d25900ff6f";
        careWorker -> participantRefExt.valueReference as participantReference then {
          careWorker -> participantReference.reference = evaluate(careWorker, 'Practitioner/'+id) "8ab5c059-a092-40a2-8fcd-c9a7f6e68615";
          careWorker -> participantReference.display = evaluate(careWorker, display) "2bbaa73e-4397-40c7-bf52-570379952de5";
        } "a3ba1a5e-5c7a-4e92-8fac-df0338ef7e35";
      } "d029331a-c1c2-40e9-a21b-4892eef5adda";
      participantExt -> tgt.extension "b27f0127-47b4-4749-bb3d-8c0e3c6c5509";
    } "29738288-f933-425e-974c-d221ca13a856";
  } "setObservationPerformer";
  src -> tgt.status = 'final' "setObservationStatus";
  src.subjectOfCare as subjectOfCare then {
    src -> tgt.subject as subject then {
      src -> subject.reference = evaluate(subjectOfCare, 'Patient/'+id) "77ae244a-e8b7-41be-b8bc-ded7ad1639cb";
      src -> subject.display = evaluate(subjectOfCare, display) "98662e83-e320-4a50-aaf5-a3f83d225ada";
    } "78404285-5450-4ebf-a560-72b784ab2d6c";
  } "setObservationSubject";
  src -> tgt.category = cc('https://metadata.phase2.synanetics.cloud/fhir/r4/CodeSystem/MODS-ObservationCategory-1', '3', 'Observations') "setObservationCategory";
  src -> tgt.code = cc('https://metadata.phase2.synanetics.cloud/fhir/r4/CodeSystem/MODS-ObservationCode-1', '5', 'Wish') "setObservationCode";
  src -> tgt.effectiveDateTime = evaluate(src, datetime) "setObservationEffectDateTime";
  src.coding as wishCoding then {
    src -> tgt.component as coded then {
      src -> coded.code = cc('https://metadata.phase2.scip.synanetics.cloud/fhir/r4/CodeSystem/MODS-ObservationComponentCode-1', 'coded', 'Coded') "e1e35118-5472-44d3-9850-e645b7c3c163";
      src -> coded.valueCodeableConcept = cc('http://snomed.info/sct', '', '') as vcc then {
        vcc.coding as coding then {
          vcc -> coding.code = evaluate(wishCoding, code) "90e45f40-a669-4526-9cc3-d2e6926e107d";
          vcc -> coding.display = evaluate(wishCoding, display) "d5b38a8c-1401-4842-a032-ec0f0b30c124";
        };
      } "83c7b0ad-18a5-41b3-8bbf-3c2cad5e8d0c";
    } "00676d5f-96cf-472d-a842-6ec3c3662c75";
  } "setObservationWishCategoryComponent";
  src.text as text then {
    src -> tgt.component as freeText then {
      src -> freeText.code = cc('https://metadata.phase2.scip.synanetics.cloud/fhir/r4/CodeSystem/MODS-ObservationComponentCode-1', 'text', 'Free-text') "dad0e7f0-9f86-4eec-a1d6-4ffe2dba0199";
      src -> freeText.valueString = evaluate(src, text) "a85c0f70-3111-4a60-a7da-48f1bd857728";
    } "setObservationWishTextComponent";
  };
}