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-06-10 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) "8b1c0469-825c-4723-ac28-64be6cdb7d64";
  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' "d4287edf-6366-4d60-a71e-3a99bccafa22";
    src -> tag.code = 'https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureMap/Observation-Wish-Wish' "67aade5b-bfec-4e22-9a16-93c33d6fd05c";
  } "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' "5f089a35-e79e-44ea-a3a8-2db555ace26a";
        careWorker -> participantRoleExt.valueCode = 'performer' "9eb2ba06-973a-47e5-be99-7af9c5650a13";
      } "ea8a5405-61db-4ea7-8b96-3d1e28f76e35";
      careWorker -> participantExt.extension as participantRefExt then {
        careWorker -> participantRefExt.url = 'participantReference' "f6256da9-b0d1-4e20-b37d-0378693e1ac3";
        careWorker -> participantRefExt.valueReference as participantReference then {
          careWorker -> participantReference.reference = evaluate(careWorker, 'Practitioner/'+id) "e6860a80-3273-44bd-8b09-7a9cc3fa5963";
          careWorker -> participantReference.display = evaluate(careWorker, display) "19fba576-e605-44aa-bae6-16c674539960";
        } "bc733a8d-1b22-428f-b963-c79ffe30957e";
      } "8b394f6f-8e3d-489b-945f-d47b50d4244b";
      participantExt -> tgt.extension "583b575e-fceb-4aab-907c-ff11f1ce7939";
    } "58f91519-7a72-4403-9b97-2adb4f8e4f44";
  } "setObservationPerformer";
  src -> tgt.status = 'final' "setObservationStatus";
  src.subjectOfCare as subjectOfCare then {
    src -> tgt.subject as subject then {
      src -> subject.reference = evaluate(subjectOfCare, 'Patient/'+id) "67d90ab2-d551-44af-9ea3-8102860c8b09";
      src -> subject.display = evaluate(subjectOfCare, display) "c0e39572-20cc-4752-874c-ad379ae786ca";
    } "43769139-a62c-401b-a2ee-41b9ae5c0536";
  } "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') "61f873f7-8928-4759-814d-6b6ef3f373e9";
      src -> coded.valueCodeableConcept = cc('http://snomed.info/sct', '', '') as vcc then {
        vcc.coding as coding then {
          vcc -> coding.code = evaluate(wishCoding, code) "fff8ad8d-df5b-4114-906b-55d5b41d952b";
          vcc -> coding.display = evaluate(wishCoding, display) "0a8fb623-e928-4066-ae15-6fd43fde196c";
        };
      } "92773126-68d0-4093-9711-674cecc50bfb";
    } "f475d482-5b07-415c-b165-1328b50a51a9";
  } "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') "f4eaf47f-ce71-454e-9402-2ac26f6bed30";
      src -> freeText.valueString = evaluate(src, text) "07d7b588-2eac-465b-8c75-d8bbd06f9540";
    } "setObservationWishTextComponent";
  };
}