Ethiopia FHIR Implementation Guide - HIV Treatment & Care Services
1.0.0 - STU1 Ethiopia flag

Ethiopia FHIR Implementation Guide - HIV Treatment & Care Services, published by Jembi Health Systems. This guide is not an authorized publication; it is the continuous build for version 1.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/jembi/ethiopia-hiv/ and changes regularly. See the Directory of published versions

StructureMap: Map Estimated Delivery Date Question to an Observation

Official URL: http://moh.gov.et/fhir/hiv/StructureMap/EstimatedDeliveryDateToObservation Version: 1.0.0
Active as of 2024-09-10 Computable Name: EstimatedDeliveryDateToObservation

Generated Narrative: StructureMap EstimatedDeliveryDateToObservation

map "http://moh.gov.et/fhir/hiv/StructureMap/EstimatedDeliveryDateToObservation" = "EstimatedDeliveryDateToObservation"

uses "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse" as source
uses "http://moh.gov.et/fhir/hiv/StructureDefinition/estimated-delivery-date-observation" as target

group EstimatedDeliveryDateToObservation(source src : QuestionnaireResponse, target tgt : Observation) {
  src -> tgt.id = uuid() "SetObservationId";
  src -> tgt.status = 'final' "SetStatusCodeValue";
  src -> tgt.code = cc('http://loinc.org', '11778-8') "SetCodeCodeableConcept";
  src.authored as authored -> tgt.effective = create('dateTime') as observationDate then {
    authored as authoredDate -> observationDate = authoredDate "SetObservationDate";
  } "ProcessObservationDate";
  src -> tgt.category = cc('http://hl7.org/fhir/observation-category', 'exam') "SetCategoryCodeableConcept";
  src.subject as patient -> tgt.subject = create('Reference') as subject then {
    patient as pat -> subject.reference = pat "SetPatientReference";
  } "ProcessPatientReference";
  src.author as author -> tgt.performer = create('Reference') as performer then {
    author as auth -> performer.reference = auth "SetAuthorReference";
  } "ProcessAuthorReference";
  src.encounter as QREncounter -> tgt.encounter = create('Reference') as ObsEncounter then {
    QREncounter as enc -> ObsEncounter.reference = enc "SetEncounterReference";
  } "ProcessAuthorReference";
  src.item as item where (linkId = 'edd') then {
    item.answer first as ans then {
      ans.value as edd -> tgt.value = create('dateTime') as eddValue then {
        edd as obsDate -> eddValue = obsDate "SetObservationDate";
      };
    };
  };
}