WHO SMART Guideline: Surveillance and Outbreak Toolkit
0.2.1 - CI Build
WHO SMART Guideline: Surveillance and Outbreak Toolkit, published by WHO. This is not an authorized publication; it is the continuous build for version 0.2.1. This version is based on the current content of https://github.com/WorldHealthOrganization/smart-ot and changes regularly. See the Directory of published versions
| Draft as of 2023-11-07 |
{
"resourceType" : "StructureMap",
"id" : "AFROMRCIFLogicalModelToResources",
"text" : {
"status" : "generated",
"div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><pre class=\"fml\">\r\n<b>map</b><span style=\"color: navy\"> "</span>http://worldhealthorganization.github.io/smart-ot/StructureMap/AFROMRCIFLogicalModelToResources<span style=\"color: navy\">" = "</span>AFROMRCIFLogicalModelToResources<span style=\"color: navy\">"\r\n\r\n</span><b>uses</b><span style=\"color: navy\"> "</span><a href=\"StructureDefinition-AFROMRCIF.html\" title=\"Surveillance & Outbreak Toolkit - AFRO MRCIF\">http://worldhealthorganization.github.io/smart-ot/StructureDefinition/AFROMRCIF</a><span style=\"color: navy\">" </span><b>alias </b>MeaslesLogicalModel <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> "</span><a href=\"http://hl7.org/fhir/R4/bundle.html\" title=\"Bundle\">http://hl7.org/fhir/StructureDefinition/Bundle</a><span style=\"color: navy\">" </span><b>alias </b>MeaslesCIFBundle <b>as </b><b>target</b>\r\n<b>uses</b><span style=\"color: navy\"> "</span><a href=\"StructureDefinition-MeaslesCIFComposition.html\" title=\"Measles Case Investigation Form Composition\">http://worldhealthorganization.github.io/smart-ot/StructureDefinition/MeaslesCIFComposition</a><span style=\"color: navy\">" </span><b>alias </b>MeaslesCIFComposition <b>as </b><b>target</b>\r\n\r\n<b>imports</b><span style=\"color: navy\"> "</span><a href=\"StructureMap-MetaDataTypesHelper.html\" title=\"MetaDataTypesHelper\">http://worldhealthorganization.github.io/smart-ot/StructureMap/MetaDataTypesHelper</a><span style=\"color: navy\">"\r\n</span>\r\n<b>group </b>MRCIFLogicalModelToResources<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">lm</span><span style=\"color: navy\"> : </span>AFROMRCIF, <b>target</b> <span style=\"color: maroon\">bundle</span><span style=\"color: navy\"> : </span>Bundle<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> lm<span style=\"color: navy\"><b> -> </b></span>bundle.type = <span style=\"color: blue\">'document'</span> <i>"set bundle type"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: #b36b00\" title=\"This element was not defined prior to R5\">// lm.ReportingSource as reportingSource then { reportingSource.DateReportedNational as date -> bundle.timestamp = date "set date"; } "set timestamp";</span>\r\n lm<span style=\"color: navy\"><b> -> </b></span> <b>uuid</b><span style=\"color: navy\">(</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">bid</span><span style=\"color: navy\">, </span> bundle.id = <span style=\"color: maroon\">bid</span> <i>"set id"</i><span style=\"color: navy\">;</span>\r\n lm<span style=\"color: navy\"><b> -> </b></span> <b>uuid</b><span style=\"color: navy\">(</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">cid</span><span style=\"color: navy\">, </span> <b>uuid</b><span style=\"color: navy\">(</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">pid</span><span style=\"color: navy\">, </span> <b>uuid</b><span style=\"color: navy\">(</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">prid</span><span style=\"color: navy\">, </span> <b>uuid</b><span style=\"color: navy\">(</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">oid</span><span style=\"color: navy\">, </span> <b>uuid</b><span style=\"color: navy\">(</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">eid</span><b> then</b><span style=\"color: navy\"> {\r\n</span> lm<span style=\"color: navy\"><b> -> </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">entry</span><span style=\"color: navy\">, </span> entry.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Composition'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">composition</span><span style=\"color: navy\">, </span> entry.fullUrl = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'urn:uuid:'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">cid</span><span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> lm<span style=\"color: navy\"><b> -> </b></span><span style=\"color: maroon\">lm</span><b> then </b>LmToComposition<span style=\"color: navy\">(</span><span style=\"color: maroon\">lm</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">composition</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">cid</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">pid</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">prid</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">oid</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eid</span><span style=\"color: navy\">)</span> <i>"set"</i><span style=\"color: navy\">;</span>\r\n lm<span style=\"color: navy\"><b> -> </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">entry</span><span style=\"color: navy\">, </span> entry.fullUrl = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'urn:uuid:'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">pid</span><span style=\"color: navy\">)</span><span style=\"color: navy\">, </span> <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Patient'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">patient</span><b> then</b><span style=\"color: navy\"> {\r\n</span> lm.Demographics<b> as </b><span style=\"color: maroon\">demographics</span><span style=\"color: navy\"><b> -> </b></span><span style=\"color: maroon\">demographics</span><b> then </b>DemographicsToPatient<span style=\"color: navy\">(</span><span style=\"color: maroon\">demographics</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">patient</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">pid</span><span style=\"color: navy\">)</span> <i>"create patient"</i><span style=\"color: navy\">;</span>\r\n lm<span style=\"color: navy\"><b> -> </b></span>entry.resource = <span style=\"color: maroon\">patient</span> <i>"set patient as entry"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"map patient resource"</i><span style=\"color: navy\">;</span>\r\n lm<span style=\"color: navy\"><b> -> </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">entry</span><span style=\"color: navy\">, </span> entry.fullUrl = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'urn:uuid:'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">prid</span><span style=\"color: navy\">)</span><span style=\"color: navy\">, </span> <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Practitioner'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">practitioner</span><b> then</b><span style=\"color: navy\"> {\r\n</span> lm.Classification<b> as </b><span style=\"color: maroon\">classification</span><span style=\"color: navy\"><b> -> </b></span><span style=\"color: maroon\">classification</span><b> then </b>classificationToPractitioner<span style=\"color: navy\">(</span><span style=\"color: maroon\">classification</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">practitioner</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">prid</span><span style=\"color: navy\">)</span> <i>"create practitioner"</i><span style=\"color: navy\">;</span>\r\n lm<span style=\"color: navy\"><b> -> </b></span>entry.resource = <span style=\"color: maroon\">practitioner</span> <i>"set practitioner as entry"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"map practitioner resource"</i><span style=\"color: navy\">;</span>\r\n lm<span style=\"color: navy\"><b> -> </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">entry</span><span style=\"color: navy\">, </span> entry.fullUrl = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'urn:uuid:'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">oid</span><span style=\"color: navy\">)</span><span style=\"color: navy\">, </span> <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Organization'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">organization</span><b> then</b><span style=\"color: navy\"> {\r\n</span> lm.ReportingSource<b> as </b><span style=\"color: maroon\">reportingSource</span><span style=\"color: navy\"><b> -> </b></span><span style=\"color: maroon\">reportingSource</span><b> then </b>ReportingSourceToOrganization<span style=\"color: navy\">(</span><span style=\"color: maroon\">reportingSource</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">organization</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">oid</span><span style=\"color: navy\">)</span> <i>"create organization"</i><span style=\"color: navy\">;</span>\r\n lm<span style=\"color: navy\"><b> -> </b></span>entry.resource = <span style=\"color: maroon\">organization</span> <i>"set organization as entry"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"map organization resource"</i><span style=\"color: navy\">;</span>\r\n lm<span style=\"color: navy\"><b> -> </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">entry</span><span style=\"color: navy\">, </span> entry.fullUrl = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'urn:uuid:'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eid</span><span style=\"color: navy\">)</span><span style=\"color: navy\">, </span> <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Encounter'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">encounter</span><b> then</b><span style=\"color: navy\"> {\r\n</span> lm.lmCaseInvestigation<b> as </b><span style=\"color: maroon\">var</span><b> then</b><span style=\"color: navy\"> {\r\n</span> var.DateOfConsultation<b> as </b><span style=\"color: maroon\">date</span><b> then</b><span style=\"color: navy\"> {\r\n</span> date<span style=\"color: navy\"><b> -> </b></span> <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Coding'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">type</span><span style=\"color: navy\">, </span> type.code = <span style=\"color: blue\">'AMB'</span><span style=\"color: navy\">, </span> type.system = <span style=\"color: blue\">'http://terminology.hl7.org/CodeSystem/v3-ActCode'</span><span style=\"color: navy\">, </span> type.display = <span style=\"color: blue\">'ambulatory'</span><b> then </b>createCompositionEncounterResource<span style=\"color: navy\">(</span><span style=\"color: maroon\">date</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">pid</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">type</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eid</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">encounter</span><span style=\"color: navy\">)</span> <i>"create encounter"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"set encounter"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"set encounter"</i><span style=\"color: navy\">;</span>\r\n lm<span style=\"color: navy\"><b> -> </b></span>entry.resource = <span style=\"color: maroon\">encounter</span> <i>"set encounter as entry"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"map encounter resource"</i><span style=\"color: navy\">;</span>\r\n lm<span style=\"color: navy\"><b> -> </b></span><span style=\"color: maroon\">lm</span><b> then </b>mapClinicalToObservations<span style=\"color: navy\">(</span><span style=\"color: maroon\">lm</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">bundle</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">composition</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">pid</span><span style=\"color: navy\">)</span> <i>"set clinical data"</i><span style=\"color: navy\">;</span>\r\n lm<span style=\"color: navy\"><b> -> </b></span><span style=\"color: maroon\">lm</span><b> then </b>mapLabsToDiagnosticReport<span style=\"color: navy\">(</span><span style=\"color: maroon\">lm</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">bundle</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">composition</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">pid</span><span style=\"color: navy\">)</span> <i>"set labs data"</i><span style=\"color: navy\">;</span>\r\n lm<span style=\"color: navy\"><b> -> </b></span><span style=\"color: maroon\">lm</span><b> then </b>mapVaccinationStatusToImmunization<span style=\"color: navy\">(</span><span style=\"color: maroon\">lm</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">bundle</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">composition</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">pid</span><span style=\"color: navy\">)</span> <i>"set immunization data"</i><span style=\"color: navy\">;</span>\r\n lm<span style=\"color: navy\"><b> -> </b></span><span style=\"color: maroon\">lm</span><b> then </b>mapClassificationToConditions<span style=\"color: navy\">(</span><span style=\"color: maroon\">lm</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">bundle</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">composition</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">pid</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eid</span><span style=\"color: navy\">)</span> <i>"set classification"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"map composition resource"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"set entries"</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>mapClassificationToConditions<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">lm</span><span style=\"color: navy\"> : </span>MeaslesLogicalModel, <b>target</b> <span style=\"color: maroon\">bundle</span><span style=\"color: navy\"> : </span>Bundle, <b>target</b> <span style=\"color: maroon\">composition</span><span style=\"color: navy\"> : </span>MeaslesCIFComposition, <b>source</b> <span style=\"color: maroon\">pid</span>, <b>source</b> <span style=\"color: maroon\">eid</span><span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> lm<span style=\"color: navy\"><b> -> </b></span> composition.section<b> as </b><span style=\"color: maroon\">section</span><span style=\"color: navy\">, </span> section.title = <span style=\"color: blue\">'Classification'</span><b> then</b><span style=\"color: navy\"> {\r\n</span> lm.Classification<b> as </b><span style=\"color: maroon\">classification</span><span style=\"color: navy\"><b> -> </b></span> <b>uuid</b><span style=\"color: navy\">(</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">id</span><span style=\"color: navy\">, </span> bundle.entry<b> as </b><span style=\"color: maroon\">entry</span><span style=\"color: navy\">, </span> entry.fullUrl = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'urn:uuid:'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">id</span><span style=\"color: navy\">)</span><span style=\"color: navy\">, </span> section.entry<b> as </b><span style=\"color: maroon\">sectionEntry</span><span style=\"color: navy\">, </span> sectionEntry.reference = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Condition/'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">id</span><span style=\"color: navy\">)</span><span style=\"color: navy\">, </span> entry.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Condition'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">condition</span><b> then</b><span style=\"color: navy\"> {\r\n</span> classification<span style=\"color: navy\"><b> -> </b></span>condition.id = <span style=\"color: maroon\">id</span> <i>"set id"</i><span style=\"color: navy\">;</span>\r\n classification<span style=\"color: navy\"><b> -> </b></span> condition.verificationStatus<b> as </b><span style=\"color: maroon\">tgtStatus</span><span style=\"color: navy\">, </span> <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Coding'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">status</span><span style=\"color: navy\">, </span> status.code = <span style=\"color: blue\">'confirmed'</span><span style=\"color: navy\">, </span> status.system = <span style=\"color: blue\">'http://terminology.hl7.org/CodeSystem/condition-ver-status'</span><span style=\"color: navy\">, </span> status.display = <span style=\"color: blue\">'Confirmed'</span><b> then </b>mapCodingtoCodeableConcept<span style=\"color: navy\">(</span><span style=\"color: maroon\">status</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">tgtStatus</span><span style=\"color: navy\">)</span> <i>"set"</i><span style=\"color: navy\">;</span>\r\n classification<span style=\"color: navy\"><b> -> </b></span> condition.subject<b> as </b><span style=\"color: maroon\">subject</span><span style=\"color: navy\">, </span> subject.reference = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Patient/'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">pid</span><span style=\"color: navy\">)</span> <i>"set subject"</i><span style=\"color: navy\">;</span>\r\n classification.FinalClassification<b> as </b><span style=\"color: maroon\">coding</span><span style=\"color: navy\"><b> -> </b></span>condition.code<b> as </b><span style=\"color: maroon\">code</span><b> then </b>mapCodingtoCodeableConcept<span style=\"color: navy\">(</span><span style=\"color: maroon\">coding</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">code</span><span style=\"color: navy\">)</span> <i>"set code"</i><span style=\"color: navy\">;</span>\r\n classification<span style=\"color: navy\"><b> -> </b></span> condition.encounter<b> as </b><span style=\"color: maroon\">encounter</span><span style=\"color: navy\">, </span> encounter.reference = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Encounter/'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eid</span><span style=\"color: navy\">)</span> <i>"set subject"</i><span style=\"color: navy\">;</span>\r\n classification<span style=\"color: navy\"><b> -> </b></span> condition.category<b> as </b><span style=\"color: maroon\">tgt</span><span style=\"color: navy\">, </span> <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Coding'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">status</span><span style=\"color: navy\">, </span> status.code = <span style=\"color: blue\">'encounter-diagnosis'</span><span style=\"color: navy\">, </span> status.system = <span style=\"color: blue\">'http://terminology.hl7.org/CodeSystem/condition-category'</span><span style=\"color: navy\">, </span> status.display = <span style=\"color: blue\">'Encounter Diagnosis'</span><b> then </b>mapCodingtoCodeableConcept<span style=\"color: navy\">(</span><span style=\"color: maroon\">status</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">tgt</span><span style=\"color: navy\">)</span> <i>"set"</i><span style=\"color: navy\">;</span>\r\n classification.ClassificationDate<b> as </b><span style=\"color: maroon\">date</span><span style=\"color: navy\"><b> -> </b></span>condition.recordedDate = <span style=\"color: maroon\">date</span> <i>"set"</i><span style=\"color: navy\">;</span>\r\n classification.ClassifiedBy<b> as </b><span style=\"color: maroon\">person</span><span style=\"color: navy\"><b> -> </b></span> <b>uuid</b><span style=\"color: navy\">(</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">rpid</span><span style=\"color: navy\">, </span> bundle.entry<b> as </b><span style=\"color: maroon\">entry</span><span style=\"color: navy\">, </span> entry.fullUrl = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'urn:uuid:'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">rpid</span><span style=\"color: navy\">)</span><span style=\"color: navy\">, </span> section.entry<b> as </b><span style=\"color: maroon\">sectionEntry</span><span style=\"color: navy\">, </span> sectionEntry.reference = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'RelatedPerson/'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">rpid</span><span style=\"color: navy\">)</span><span style=\"color: navy\">, </span> entry.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'RelatedPerson'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">recorder</span><b> then</b><span style=\"color: navy\"> {\r\n</span> person<span style=\"color: navy\"><b> -> </b></span>recorder.id = <span style=\"color: maroon\">rpid</span> <i>"set id"</i><span style=\"color: navy\">;</span>\r\n person<span style=\"color: navy\"><b> -> </b></span> recorder.name<b> as </b><span style=\"color: maroon\">targetName</span><span style=\"color: navy\">, </span> <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'HumanName'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">name</span><span style=\"color: navy\">, </span> name.text = <span style=\"color: maroon\">person</span><b> then </b>humanNameToHumanName<span style=\"color: navy\">(</span><span style=\"color: maroon\">name</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">targetName</span><span style=\"color: navy\">)</span> <i>"set"</i><span style=\"color: navy\">;</span>\r\n person<span style=\"color: navy\"><b> -> </b></span> recorder.patient<b> as </b><span style=\"color: maroon\">patient</span><span style=\"color: navy\">, </span> patient.reference = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Patient/'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">pid</span><span style=\"color: navy\">)</span> <i>"set patient"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"set person"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"Set classification"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"set section"</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>mapContactTracing<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">lm</span><span style=\"color: navy\"> : </span>MeaslesLogicalModel, <b>target</b> <span style=\"color: maroon\">bundle</span><span style=\"color: navy\"> : </span>Bundle, <b>target</b> <span style=\"color: maroon\">composition</span><span style=\"color: navy\"> : </span>MeaslesCIFComposition, <b>source</b> <span style=\"color: maroon\">pid</span><span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> lm<span style=\"color: navy\"><b> -> </b></span> composition.section<b> as </b><span style=\"color: maroon\">section</span><span style=\"color: navy\">, </span> section.title = <span style=\"color: blue\">'Contact Tracing'</span> <i>"set"</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>mapClinicalToObservations<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">lm</span><span style=\"color: navy\"> : </span>AFROMRCIF, <b>target</b> <span style=\"color: maroon\">bundle</span><span style=\"color: navy\"> : </span>Bundle, <b>target</b> <span style=\"color: maroon\">composition</span><span style=\"color: navy\"> : </span>Composition, <b>source</b> <span style=\"color: maroon\">pid</span><span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> lm<span style=\"color: navy\"><b> -> </b></span> composition.section<b> as </b><span style=\"color: maroon\">section</span><span style=\"color: navy\">, </span> section.title = <span style=\"color: blue\">'Clinical Data, Follow up and Treatment'</span><b> then</b><span style=\"color: navy\"> {\r\n</span> lm.Clinical<b> as </b><span style=\"color: maroon\">clinical</span><span style=\"color: navy\"><b> -> </b></span><span style=\"color: maroon\">clinical</span><b> then</b><span style=\"color: navy\"> {\r\n</span> clinical.Fever<b> as </b><span style=\"color: maroon\">fever</span><span style=\"color: navy\"><b> -> </b></span> <b>uuid</b><span style=\"color: navy\">(</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">obsid</span><span style=\"color: navy\">, </span> bundle.entry<b> as </b><span style=\"color: maroon\">entry</span><span style=\"color: navy\">, </span> entry.fullUrl = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'urn:uuid:'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obsid</span><span style=\"color: navy\">)</span><span style=\"color: navy\">, </span> section.entry<b> as </b><span style=\"color: maroon\">sectionEntry</span><span style=\"color: navy\">, </span> sectionEntry.reference = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Observation/'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obsid</span><span style=\"color: navy\">)</span><span style=\"color: navy\">, </span> entry.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Observation'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">observation</span><b> then</b><span style=\"color: navy\"> {\r\n</span> fever<span style=\"color: navy\"><b> -> </b></span>observation.id = <span style=\"color: maroon\">obsid</span> <i>"set obsid"</i><span style=\"color: navy\">;</span>\r\n fever<span style=\"color: navy\"><b> -> </b></span> <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Coding'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">coding</span><span style=\"color: navy\">, </span> coding.code = <span style=\"color: blue\">'DE31'</span><span style=\"color: navy\">, </span> coding.system = <span style=\"color: blue\">'http://worldhealthorganization.github.io/smart-ot/AFROMRCIF'</span><span style=\"color: navy\">, </span> coding.display = <span style=\"color: blue\">'Fever'</span><b> then</b><span style=\"color: navy\"> {\r\n</span> fever<span style=\"color: navy\"><b> -> </b></span><span style=\"color: maroon\">fever</span><b> then </b>createObservationResource<span style=\"color: navy\">(</span><span style=\"color: maroon\">fever</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">coding</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">observation</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">pid</span><span style=\"color: navy\">)</span> <i>"set obs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"set obs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"set fever"</i><span style=\"color: navy\">;</span>\r\n clinical.Rash<b> as </b><span style=\"color: maroon\">rash</span><span style=\"color: navy\"><b> -> </b></span> <b>uuid</b><span style=\"color: navy\">(</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">obsid</span><span style=\"color: navy\">, </span> bundle.entry<b> as </b><span style=\"color: maroon\">entry</span><span style=\"color: navy\">, </span> entry.fullUrl = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'urn:uuid:'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obsid</span><span style=\"color: navy\">)</span><span style=\"color: navy\">, </span> section.entry<b> as </b><span style=\"color: maroon\">sectionEntry</span><span style=\"color: navy\">, </span> sectionEntry.reference = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Observation/'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obsid</span><span style=\"color: navy\">)</span><span style=\"color: navy\">, </span> entry.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Observation'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">observation</span><b> then</b><span style=\"color: navy\"> {\r\n</span> rash<span style=\"color: navy\"><b> -> </b></span>observation.id = <span style=\"color: maroon\">obsid</span> <i>"set obsid"</i><span style=\"color: navy\">;</span>\r\n rash<span style=\"color: navy\"><b> -> </b></span> <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Coding'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">coding</span><span style=\"color: navy\">, </span> coding.code = <span style=\"color: blue\">'DE35'</span><span style=\"color: navy\">, </span> coding.system = <span style=\"color: blue\">'http://worldhealthorganization.github.io/smart-ot/AFROMRCIF'</span><span style=\"color: navy\">, </span> coding.display = <span style=\"color: blue\">'Rash'</span><b> then</b><span style=\"color: navy\"> {\r\n</span> rash<span style=\"color: navy\"><b> -> </b></span><span style=\"color: maroon\">rash</span><b> then </b>createObservationResource<span style=\"color: navy\">(</span><span style=\"color: maroon\">rash</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">coding</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">observation</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">pid</span><span style=\"color: navy\">)</span> <i>"set obs"</i><span style=\"color: navy\">;</span>\r\n lm.lmCaseInvestigation<b> as </b><span style=\"color: maroon\">var</span><b> then</b><span style=\"color: navy\"> {\r\n</span> var.RashOnsetDate<b> as </b><span style=\"color: maroon\">onsetDate</span><span style=\"color: navy\"><b> -> </b></span> <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Period'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">period</span><span style=\"color: navy\">, </span> period.start = <span style=\"color: maroon\">onsetDate</span><span style=\"color: navy\">, </span> observation.effective = <span style=\"color: maroon\">period</span> <i>"set start date"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"set"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"set obs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"set Rash"</i><span style=\"color: navy\">;</span>\r\n clinical.Cough<b> as </b><span style=\"color: maroon\">cough</span><span style=\"color: navy\"><b> -> </b></span> <b>uuid</b><span style=\"color: navy\">(</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">obsid</span><span style=\"color: navy\">, </span> bundle.entry<b> as </b><span style=\"color: maroon\">entry</span><span style=\"color: navy\">, </span> entry.fullUrl = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'urn:uuid:'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obsid</span><span style=\"color: navy\">)</span><span style=\"color: navy\">, </span> section.entry<b> as </b><span style=\"color: maroon\">sectionEntry</span><span style=\"color: navy\">, </span> sectionEntry.reference = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Observation/'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obsid</span><span style=\"color: navy\">)</span><span style=\"color: navy\">, </span> entry.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Observation'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">observation</span><b> then</b><span style=\"color: navy\"> {\r\n</span> cough<span style=\"color: navy\"><b> -> </b></span>observation.id = <span style=\"color: maroon\">obsid</span> <i>"set obsid"</i><span style=\"color: navy\">;</span>\r\n cough<span style=\"color: navy\"><b> -> </b></span> <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Coding'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">coding</span><span style=\"color: navy\">, </span> coding.code = <span style=\"color: blue\">'DE39'</span><span style=\"color: navy\">, </span> coding.system = <span style=\"color: blue\">'http://worldhealthorganization.github.io/smart-ot/AFROMRCIF'</span><span style=\"color: navy\">, </span> coding.display = <span style=\"color: blue\">'Cough'</span><b> then</b><span style=\"color: navy\"> {\r\n</span> cough<span style=\"color: navy\"><b> -> </b></span><span style=\"color: maroon\">cough</span><b> then </b>createObservationResource<span style=\"color: navy\">(</span><span style=\"color: maroon\">cough</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">coding</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">observation</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">pid</span><span style=\"color: navy\">)</span> <i>"set obs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"set obs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"set cough"</i><span style=\"color: navy\">;</span>\r\n clinical.Conjunctivitis<b> as </b><span style=\"color: maroon\">conjunctivitis</span><span style=\"color: navy\"><b> -> </b></span> <b>uuid</b><span style=\"color: navy\">(</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">obsid</span><span style=\"color: navy\">, </span> bundle.entry<b> as </b><span style=\"color: maroon\">entry</span><span style=\"color: navy\">, </span> entry.fullUrl = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'urn:uuid:'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obsid</span><span style=\"color: navy\">)</span><span style=\"color: navy\">, </span> section.entry<b> as </b><span style=\"color: maroon\">sectionEntry</span><span style=\"color: navy\">, </span> sectionEntry.reference = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Observation/'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obsid</span><span style=\"color: navy\">)</span><span style=\"color: navy\">, </span> entry.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Observation'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">observation</span><b> then</b><span style=\"color: navy\"> {\r\n</span> conjunctivitis<span style=\"color: navy\"><b> -> </b></span>observation.id = <span style=\"color: maroon\">obsid</span> <i>"set obsid"</i><span style=\"color: navy\">;</span>\r\n conjunctivitis<span style=\"color: navy\"><b> -> </b></span> <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Coding'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">coding</span><span style=\"color: navy\">, </span> coding.code = <span style=\"color: blue\">'DE43'</span><span style=\"color: navy\">, </span> coding.system = <span style=\"color: blue\">'http://worldhealthorganization.github.io/smart-ot/AFROMRCIF'</span><span style=\"color: navy\">, </span> coding.display = <span style=\"color: blue\">'Conjunctivitis'</span><b> then</b><span style=\"color: navy\"> {\r\n</span> conjunctivitis<span style=\"color: navy\"><b> -> </b></span><span style=\"color: maroon\">conjunctivitis</span><b> then </b>createObservationResource<span style=\"color: navy\">(</span><span style=\"color: maroon\">conjunctivitis</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">coding</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">observation</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">pid</span><span style=\"color: navy\">)</span> <i>"set obs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"set obs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"set conjunctivitis"</i><span style=\"color: navy\">;</span>\r\n clinical.Coryza<b> as </b><span style=\"color: maroon\">coryza</span><span style=\"color: navy\"><b> -> </b></span> <b>uuid</b><span style=\"color: navy\">(</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">obsid</span><span style=\"color: navy\">, </span> bundle.entry<b> as </b><span style=\"color: maroon\">entry</span><span style=\"color: navy\">, </span> entry.fullUrl = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'urn:uuid:'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obsid</span><span style=\"color: navy\">)</span><span style=\"color: navy\">, </span> section.entry<b> as </b><span style=\"color: maroon\">sectionEntry</span><span style=\"color: navy\">, </span> sectionEntry.reference = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Observation/'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obsid</span><span style=\"color: navy\">)</span><span style=\"color: navy\">, </span> entry.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Observation'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">observation</span><b> then</b><span style=\"color: navy\"> {\r\n</span> coryza<span style=\"color: navy\"><b> -> </b></span>observation.id = <span style=\"color: maroon\">obsid</span> <i>"set obsid"</i><span style=\"color: navy\">;</span>\r\n coryza<span style=\"color: navy\"><b> -> </b></span> <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Coding'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">coding</span><span style=\"color: navy\">, </span> coding.code = <span style=\"color: blue\">'DE47'</span><span style=\"color: navy\">, </span> coding.system = <span style=\"color: blue\">'http://worldhealthorganization.github.io/smart-ot/AFROMRCIF'</span><span style=\"color: navy\">, </span> coding.display = <span style=\"color: blue\">'Coryza'</span><b> then</b><span style=\"color: navy\"> {\r\n</span> coryza<span style=\"color: navy\"><b> -> </b></span><span style=\"color: maroon\">coryza</span><b> then </b>createObservationResource<span style=\"color: navy\">(</span><span style=\"color: maroon\">coryza</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">coding</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">observation</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">pid</span><span style=\"color: navy\">)</span> <i>"set obs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"set obs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"set coryza"</i><span style=\"color: navy\">;</span>\r\n clinical.Lymphadenopathy<b> as </b><span style=\"color: maroon\">lymphadenopathy</span><span style=\"color: navy\"><b> -> </b></span> <b>uuid</b><span style=\"color: navy\">(</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">obsid</span><span style=\"color: navy\">, </span> bundle.entry<b> as </b><span style=\"color: maroon\">entry</span><span style=\"color: navy\">, </span> entry.fullUrl = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'urn:uuid:'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obsid</span><span style=\"color: navy\">)</span><span style=\"color: navy\">, </span> section.entry<b> as </b><span style=\"color: maroon\">sectionEntry</span><span style=\"color: navy\">, </span> sectionEntry.reference = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Observation/'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obsid</span><span style=\"color: navy\">)</span><span style=\"color: navy\">, </span> entry.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Observation'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">observation</span><b> then</b><span style=\"color: navy\"> {\r\n</span> lymphadenopathy<span style=\"color: navy\"><b> -> </b></span>observation.id = <span style=\"color: maroon\">obsid</span> <i>"set obsid"</i><span style=\"color: navy\">;</span>\r\n lymphadenopathy<span style=\"color: navy\"><b> -> </b></span> <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Coding'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">coding</span><span style=\"color: navy\">, </span> coding.code = <span style=\"color: blue\">'DE51'</span><span style=\"color: navy\">, </span> coding.system = <span style=\"color: blue\">'http://worldhealthorganization.github.io/smart-ot/AFROMRCIF'</span><span style=\"color: navy\">, </span> coding.display = <span style=\"color: blue\">'Lymphadenopathy'</span><b> then</b><span style=\"color: navy\"> {\r\n</span> lymphadenopathy<span style=\"color: navy\"><b> -> </b></span><span style=\"color: maroon\">lymphadenopathy</span><b> then </b>createObservationResource<span style=\"color: navy\">(</span><span style=\"color: maroon\">lymphadenopathy</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">coding</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">observation</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">pid</span><span style=\"color: navy\">)</span> <i>"set obs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"set obs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"set lymphadenopathy"</i><span style=\"color: navy\">;</span>\r\n clinical.JointPain<b> as </b><span style=\"color: maroon\">jointPain</span><span style=\"color: navy\"><b> -> </b></span> <b>uuid</b><span style=\"color: navy\">(</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">obsid</span><span style=\"color: navy\">, </span> bundle.entry<b> as </b><span style=\"color: maroon\">entry</span><span style=\"color: navy\">, </span> entry.fullUrl = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'urn:uuid:'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obsid</span><span style=\"color: navy\">)</span><span style=\"color: navy\">, </span> section.entry<b> as </b><span style=\"color: maroon\">sectionEntry</span><span style=\"color: navy\">, </span> sectionEntry.reference = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Observation/'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obsid</span><span style=\"color: navy\">)</span><span style=\"color: navy\">, </span> entry.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Observation'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">observation</span><b> then</b><span style=\"color: navy\"> {\r\n</span> jointPain<span style=\"color: navy\"><b> -> </b></span>observation.id = <span style=\"color: maroon\">obsid</span> <i>"set obsid"</i><span style=\"color: navy\">;</span>\r\n jointPain<span style=\"color: navy\"><b> -> </b></span> <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Coding'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">coding</span><span style=\"color: navy\">, </span> coding.code = <span style=\"color: blue\">'DE55'</span><span style=\"color: navy\">, </span> coding.system = <span style=\"color: blue\">'http://worldhealthorganization.github.io/smart-ot/AFROMRCIF'</span><span style=\"color: navy\">, </span> coding.display = <span style=\"color: blue\">'Joint Pain'</span><b> then</b><span style=\"color: navy\"> {\r\n</span> jointPain<span style=\"color: navy\"><b> -> </b></span><span style=\"color: maroon\">jointPain</span><b> then </b>createObservationResource<span style=\"color: navy\">(</span><span style=\"color: maroon\">jointPain</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">coding</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">observation</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">pid</span><span style=\"color: navy\">)</span> <i>"set obs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"set obs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"set jointPain"</i><span style=\"color: navy\">;</span>\r\n clinical.Outcome<b> as </b><span style=\"color: maroon\">outcome</span><span style=\"color: navy\"><b> -> </b></span> <b>uuid</b><span style=\"color: navy\">(</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">obsid</span><span style=\"color: navy\">, </span> bundle.entry<b> as </b><span style=\"color: maroon\">entry</span><span style=\"color: navy\">, </span> entry.fullUrl = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'urn:uuid:'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obsid</span><span style=\"color: navy\">)</span><span style=\"color: navy\">, </span> section.entry<b> as </b><span style=\"color: maroon\">sectionEntry</span><span style=\"color: navy\">, </span> sectionEntry.reference = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Observation/'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obsid</span><span style=\"color: navy\">)</span><span style=\"color: navy\">, </span> entry.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Observation'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">observation</span><b> then</b><span style=\"color: navy\"> {\r\n</span> outcome<span style=\"color: navy\"><b> -> </b></span>observation.id = <span style=\"color: maroon\">obsid</span> <i>"set obsid"</i><span style=\"color: navy\">;</span>\r\n outcome<span style=\"color: navy\"><b> -> </b></span> <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Coding'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">coding</span><span style=\"color: navy\">, </span> coding.code = <span style=\"color: blue\">'DE63'</span><span style=\"color: navy\">, </span> coding.system = <span style=\"color: blue\">'http://worldhealthorganization.github.io/smart-ot/AFROMRCIF'</span><span style=\"color: navy\">, </span> coding.display = <span style=\"color: blue\">'Outcome'</span><b> then</b><span style=\"color: navy\"> {\r\n</span> outcome<span style=\"color: navy\"><b> -> </b></span><span style=\"color: maroon\">outcome</span><b> then </b>createObservationResource<span style=\"color: navy\">(</span><span style=\"color: maroon\">outcome</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">coding</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">observation</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">pid</span><span style=\"color: navy\">)</span> <i>"set obs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"set obs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"set outcome"</i><span style=\"color: navy\">;</span>\r\n clinical.travelledOutside<b> as </b><span style=\"color: maroon\">travel</span><span style=\"color: navy\"><b> -> </b></span> <b>uuid</b><span style=\"color: navy\">(</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">obsid</span><span style=\"color: navy\">, </span> bundle.entry<b> as </b><span style=\"color: maroon\">entry</span><span style=\"color: navy\">, </span> entry.fullUrl = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'urn:uuid:'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obsid</span><span style=\"color: navy\">)</span><span style=\"color: navy\">, </span> section.entry<b> as </b><span style=\"color: maroon\">sectionEntry</span><span style=\"color: navy\">, </span> sectionEntry.reference = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Observation/'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obsid</span><span style=\"color: navy\">)</span><span style=\"color: navy\">, </span> entry.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Observation'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">observation</span><b> then</b><span style=\"color: navy\"> {\r\n</span> travel<span style=\"color: navy\"><b> -> </b></span>observation.id = <span style=\"color: maroon\">obsid</span> <i>"set obsid"</i><span style=\"color: navy\">;</span>\r\n travel<span style=\"color: navy\"><b> -> </b></span> <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Coding'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">coding</span><span style=\"color: navy\">, </span> coding.code = <span style=\"color: blue\">'DE67'</span><span style=\"color: navy\">, </span> coding.system = <span style=\"color: blue\">'http://worldhealthorganization.github.io/smart-ot/AFROMRCIF'</span><span style=\"color: navy\">, </span> coding.display = <span style=\"color: blue\">'Outcome'</span><b> then</b><span style=\"color: navy\"> {\r\n</span> travel<span style=\"color: navy\"><b> -> </b></span><span style=\"color: maroon\">travel</span><b> then </b>createObservationResource<span style=\"color: navy\">(</span><span style=\"color: maroon\">travel</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">coding</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">observation</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">pid</span><span style=\"color: navy\">)</span> <i>"set obs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"set obs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"set travel"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">clinical.specifyInfectionSetting as infection -> uuid() as obsid, bundle.entry as entry, entry.fullUrl = append('urn:uuid:', obsid), section.entry as sectionEntry, sectionEntry.reference = append('Observation/', obsid), entry.resource = create('Observation') as observation then { infection -> observation.id = obsid "set obsid"; infection -> create('Coding') as coding, coding.code = "DE71", coding.system = "http://worldhealthorganization.github.io/smart-ot/AFROMRCIF", coding.display = "Outcome" then { infection -> infection then createObservationResource(infection, coding, observation, pid) "set obs"; } "set obs"; } "set infection";</span>\r\n clinical.HistoryOfHospitalization<b> as </b><span style=\"color: maroon\">admitted</span><span style=\"color: navy\"><b> -> </b></span> <b>uuid</b><span style=\"color: navy\">(</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">obsid</span><span style=\"color: navy\">, </span> bundle.entry<b> as </b><span style=\"color: maroon\">entry</span><span style=\"color: navy\">, </span> entry.fullUrl = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'urn:uuid:'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obsid</span><span style=\"color: navy\">)</span><span style=\"color: navy\">, </span> section.entry<b> as </b><span style=\"color: maroon\">sectionEntry</span><span style=\"color: navy\">, </span> sectionEntry.reference = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Observation/'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obsid</span><span style=\"color: navy\">)</span><span style=\"color: navy\">, </span> entry.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Observation'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">observation</span><b> then</b><span style=\"color: navy\"> {\r\n</span> admitted<span style=\"color: navy\"><b> -> </b></span>observation.id = <span style=\"color: maroon\">obsid</span> <i>"set obsid"</i><span style=\"color: navy\">;</span>\r\n admitted<span style=\"color: navy\"><b> -> </b></span> <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Coding'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">coding</span><span style=\"color: navy\">, </span> coding.code = <span style=\"color: blue\">'DE59'</span><span style=\"color: navy\">, </span> coding.system = <span style=\"color: blue\">'http://worldhealthorganization.github.io/smart-ot/AFROMRCIF'</span><span style=\"color: navy\">, </span> coding.display = <span style=\"color: blue\">'Outcome'</span><b> then</b><span style=\"color: navy\"> {\r\n</span> admitted<span style=\"color: navy\"><b> -> </b></span><span style=\"color: maroon\">admitted</span><b> then </b>createObservationResource<span style=\"color: navy\">(</span><span style=\"color: maroon\">admitted</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">coding</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">observation</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">pid</span><span style=\"color: navy\">)</span> <i>"set obs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"set obs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"set infection"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"set clinical"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"set section"</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>createObservationResource<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">src</span>, <b>source</b> <span style=\"color: maroon\">coding</span><span style=\"color: navy\"> : </span>Coding, <b>target</b> <span style=\"color: maroon\">observation</span><span style=\"color: navy\"> : </span>Observation, <b>source</b> <span style=\"color: maroon\">pid</span><span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> src<span style=\"color: navy\"><b> -> </b></span> <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'CodeableConcept'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">code</span><span style=\"color: navy\">, </span> code.coding = <span style=\"color: maroon\">coding</span><span style=\"color: navy\">, </span> observation.code = <span style=\"color: maroon\">code</span> <i>"set code"</i><span style=\"color: navy\">;</span>\r\n src<span style=\"color: navy\"><b> -> </b></span> <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'CodeableConcept'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">value</span><span style=\"color: navy\">, </span> value.coding = <span style=\"color: maroon\">src</span><span style=\"color: navy\">, </span> observation.value = <span style=\"color: maroon\">value</span> <i>"set value"</i><span style=\"color: navy\">;</span>\r\n src<span style=\"color: navy\"><b> -> </b></span>observation.status = <span style=\"color: blue\">'registered'</span> <i>"set status"</i><span style=\"color: navy\">;</span>\r\n src<span style=\"color: navy\"><b> -> </b></span>observation.subject<b> as </b><span style=\"color: maroon\">subject</span><b> then</b><span style=\"color: navy\"> {\r\n</span> src<span style=\"color: navy\"><b> -> </b></span>subject.reference = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Patient/'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">pid</span><span style=\"color: navy\">)</span> <i>"set subject"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"set subject"</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>mapLabsToDiagnosticReport<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">lm</span><span style=\"color: navy\"> : </span>MeaslesLogicalModel, <b>target</b> <span style=\"color: maroon\">bundle</span><span style=\"color: navy\"> : </span>Bundle, <b>target</b> <span style=\"color: maroon\">composition</span><span style=\"color: navy\"> : </span>MeaslesCIFComposition, <b>source</b> <span style=\"color: maroon\">pid</span><span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> lm<span style=\"color: navy\"><b> -> </b></span> composition.section<b> as </b><span style=\"color: maroon\">section</span><span style=\"color: navy\">, </span> section.title = <span style=\"color: blue\">'Specimens & Laboratory Testing'</span><b> then</b><span style=\"color: navy\"> {\r\n</span> lm.LaboratoryResults<b> as </b><span style=\"color: maroon\">labs</span><span style=\"color: navy\"><b> -> </b></span> <b>uuid</b><span style=\"color: navy\">(</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">id</span><span style=\"color: navy\">, </span> bundle.entry<b> as </b><span style=\"color: maroon\">entry</span><span style=\"color: navy\">, </span> entry.fullUrl = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'urn:uuid:'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">id</span><span style=\"color: navy\">)</span><span style=\"color: navy\">, </span> section.entry<b> as </b><span style=\"color: maroon\">sectionEntry</span><span style=\"color: navy\">, </span> sectionEntry.reference = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'DiagnosticReport/'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">id</span><span style=\"color: navy\">)</span><span style=\"color: navy\">, </span> entry.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'DiagnosticReport'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">diagnosticReport</span><b> then</b><span style=\"color: navy\"> {\r\n</span> labs<span style=\"color: navy\"><b> -> </b></span>diagnosticReport.id = <span style=\"color: maroon\">id</span> <i>"set id"</i><span style=\"color: navy\">;</span>\r\n labs<span style=\"color: navy\"><b> -> </b></span>diagnosticReport.status = <span style=\"color: blue\">'registered'</span> <i>"set status"</i><span style=\"color: navy\">;</span>\r\n labs<span style=\"color: navy\"><b> -> </b></span> diagnosticReport.subject<b> as </b><span style=\"color: maroon\">subject</span><span style=\"color: navy\">, </span> subject.reference = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Patient/'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">pid</span><span style=\"color: navy\">)</span> <i>"set subject"</i><span style=\"color: navy\">;</span>\r\n labs.Antigen<b> as </b><span style=\"color: maroon\">antigen</span><span style=\"color: navy\"><b> -> </b></span>diagnosticReport.code<b> as </b><span style=\"color: maroon\">code</span><b> then </b>mapCodingtoCodeableConcept<span style=\"color: navy\">(</span><span style=\"color: maroon\">antigen</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">code</span><span style=\"color: navy\">)</span> <i>"set code"</i><span style=\"color: navy\">;</span>\r\n labs<span style=\"color: navy\"><b> -> </b></span> <b>uuid</b><span style=\"color: navy\">(</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">id</span><span style=\"color: navy\">, </span> bundle.entry<b> as </b><span style=\"color: maroon\">entry</span><span style=\"color: navy\">, </span> entry.fullUrl = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'urn:uuid:'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">id</span><span style=\"color: navy\">)</span><span style=\"color: navy\">, </span> diagnosticReport.specimen<b> as </b><span style=\"color: maroon\">refSpecimen</span><span style=\"color: navy\">, </span> refSpecimen.reference = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Specimen/'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">id</span><span style=\"color: navy\">)</span><span style=\"color: navy\">, </span> entry.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Specimen'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">specimen</span><b> then</b><span style=\"color: navy\"> {\r\n</span> labs<span style=\"color: navy\"><b> -> </b></span>specimen.id = <span style=\"color: maroon\">id</span> <i>"Set idn"</i><span style=\"color: navy\">;</span>\r\n labs.SpecimenCollectionDate<b> as </b><span style=\"color: maroon\">collectDate</span><span style=\"color: navy\"><b> -> </b></span> specimen.collection<b> as </b><span style=\"color: maroon\">collection</span><span style=\"color: navy\">, </span> collection.collected = <span style=\"color: maroon\">collectDate</span> <i>"set date"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">labs.SpecimenSentDate as sentDate -></span>\r\n labs.SpecimenRecdDate<b> as </b><span style=\"color: maroon\">recdDate</span><span style=\"color: navy\"><b> -> </b></span>specimen.receivedTime = <span style=\"color: maroon\">recdDate</span> <i>"set date"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">labs.SampleId as sampleId -> specimen.identifier as identifier, identifier.value = sampleId "set identifier";</span>\r\n labs.SampleType<b> as </b><span style=\"color: maroon\">sampleType</span><span style=\"color: navy\"><b> -> </b></span>specimen.type = <span style=\"color: maroon\">sampleType</span> <i>"set type"</i><span style=\"color: navy\">;</span>\r\n labs.SpecimenNumber<b> as </b><span style=\"color: maroon\">number</span><b> then</b><span style=\"color: navy\"> {\r\n</span> number.display<b> as </b><span style=\"color: maroon\">text</span><span style=\"color: navy\"><b> -> </b></span> specimen.note<b> as </b><span style=\"color: maroon\">note</span><span style=\"color: navy\">, </span> note.text = <span style=\"color: maroon\">text</span> <i>"set note"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"set note"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"set specimen"</i><span style=\"color: navy\">;</span>\r\n labs<span style=\"color: navy\"><b> -> </b></span> <b>uuid</b><span style=\"color: navy\">(</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">id</span><span style=\"color: navy\">, </span> bundle.entry<b> as </b><span style=\"color: maroon\">entry</span><span style=\"color: navy\">, </span> entry.fullUrl = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'urn:uuid:'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">id</span><span style=\"color: navy\">)</span><span style=\"color: navy\">, </span> diagnosticReport.performer<b> as </b><span style=\"color: maroon\">performer</span><span style=\"color: navy\">, </span> performer.reference = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Organization/'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">id</span><span style=\"color: navy\">)</span><span style=\"color: navy\">, </span> entry.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Organization'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">perfOrg</span><b> then</b><span style=\"color: navy\"> {\r\n</span> labs.LabName<b> as </b><span style=\"color: maroon\">labName</span><span style=\"color: navy\"><b> -> </b></span>perfOrg.name = <span style=\"color: maroon\">labName</span> <i>"set name"</i><span style=\"color: navy\">;</span>\r\n labs<span style=\"color: navy\"><b> -> </b></span>perfOrg.id = <span style=\"color: maroon\">id</span> <i>"set id"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"set performer"</i><span style=\"color: navy\">;</span>\r\n labs<span style=\"color: navy\"><b> -> </b></span> <b>uuid</b><span style=\"color: navy\">(</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">obsid</span><span style=\"color: navy\">, </span> bundle.entry<b> as </b><span style=\"color: maroon\">entry</span><span style=\"color: navy\">, </span> entry.fullUrl = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'urn:uuid:'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obsid</span><span style=\"color: navy\">)</span><span style=\"color: navy\">, </span> diagnosticReport.result<b> as </b><span style=\"color: maroon\">result</span><span style=\"color: navy\">, </span> result.reference = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Observation/'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obsid</span><span style=\"color: navy\">)</span><span style=\"color: navy\">, </span> entry.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Observation'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">observation</span><b> then</b><span style=\"color: navy\"> {\r\n</span> labs<span style=\"color: navy\"><b> -> </b></span>observation.id = <span style=\"color: maroon\">obsid</span> <i>"set obsid"</i><span style=\"color: navy\">;</span>\r\n labs.TypeOfTest<b> as </b><span style=\"color: maroon\">testType</span><span style=\"color: navy\"><b> -> </b></span><span style=\"color: maroon\">testType</span><b> then</b><span style=\"color: navy\"> {\r\n</span> labs.Results<b> as </b><span style=\"color: maroon\">result</span><span style=\"color: navy\"><b> -> </b></span><span style=\"color: maroon\">result</span><b> then </b>createObservationResource<span style=\"color: navy\">(</span><span style=\"color: maroon\">result</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">testType</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">observation</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">pid</span><span style=\"color: navy\">)</span> <i>"set obs"</i><span style=\"color: navy\">;</span>\r\n labs.LabResultsDate<b> as </b><span style=\"color: maroon\">resultDate</span><span style=\"color: navy\"><b> -> </b></span>observation.effective = <span style=\"color: maroon\">resultDate</span> <i>"set start date"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"set testType"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"set results"</i><span style=\"color: navy\">;</span>\r\n labs.TypeOfTest<b> as </b><span style=\"color: maroon\">testType</span><span style=\"color: navy\"><b> -> </b></span>diagnosticReport.code = <span style=\"color: maroon\">testType</span> <i>"set code"</i><span style=\"color: navy\">;</span>\r\n labs.LabResultsDate<b> as </b><span style=\"color: maroon\">resultDate</span><span style=\"color: navy\"><b> -> </b></span>diagnosticReport.effective = <span style=\"color: maroon\">resultDate</span> <i>"set date"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"set diagnosticReport"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"set section"</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>createImmunizationResource<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">vax</span><span style=\"color: navy\"> : </span>AFROMRCIFVaccinationStatus, <b>target</b> <span style=\"color: maroon\">bundle</span><span style=\"color: navy\"> : </span>Bundle, <b>target</b> <span style=\"color: maroon\">section</span><span style=\"color: navy\"> : </span>Element, <b>source</b> <span style=\"color: maroon\">pid</span><span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> vax<span style=\"color: navy\"><b> -> </b></span> <b>uuid</b><span style=\"color: navy\">(</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">id</span><span style=\"color: navy\">, </span> bundle.entry<b> as </b><span style=\"color: maroon\">entry</span><span style=\"color: navy\">, </span> entry.fullUrl = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'urn:uuid:'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">id</span><span style=\"color: navy\">)</span><span style=\"color: navy\">, </span> section.entry<b> as </b><span style=\"color: maroon\">sectionEntry</span><span style=\"color: navy\">, </span> sectionEntry.reference = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Immunization/'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">id</span><span style=\"color: navy\">)</span><span style=\"color: navy\">, </span> entry.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Immunization'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">immunization</span><b> then</b><span style=\"color: navy\"> {\r\n</span> vax<span style=\"color: navy\"><b> -> </b></span>immunization.id = <span style=\"color: maroon\">id</span> <i>"set id"</i><span style=\"color: navy\">;</span>\r\n vax<span style=\"color: navy\"><b> -> </b></span>immunization.status = <span style=\"color: blue\">'completed'</span> <i>"set status"</i><span style=\"color: navy\">;</span>\r\n vax<span style=\"color: navy\"><b> -> </b></span>immunization.vaccineCode<b> as </b><span style=\"color: maroon\">code</span><b> then</b><span style=\"color: navy\"> {\r\n</span> vax.VaccineType<b> as </b><span style=\"color: maroon\">vaccineType</span><span style=\"color: navy\"><b> -> </b></span><span style=\"color: maroon\">vaccineType</span><b> then </b>mapCodingtoCodeableConcept<span style=\"color: navy\">(</span><span style=\"color: maroon\">vaccineType</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">code</span><span style=\"color: navy\">)</span> <i>"set code"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"set"</i><span style=\"color: navy\">;</span>\r\n vax.Source<b> as </b><span style=\"color: maroon\">source</span><span style=\"color: navy\"><b> -> </b></span>immunization.reportOrigin<b> as </b><span style=\"color: maroon\">origin</span><b> then</b><span style=\"color: navy\"> {\r\n</span> source<span style=\"color: navy\"><b> -> </b></span><span style=\"color: maroon\">source</span><b> then </b>mapCodingtoCodeableConcept<span style=\"color: navy\">(</span><span style=\"color: maroon\">source</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">origin</span><span style=\"color: navy\">)</span> <i>"set report origin"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"set"</i><span style=\"color: navy\">;</span>\r\n vax.LastDoseDate<b> as </b><span style=\"color: maroon\">date</span><span style=\"color: navy\"><b> -> </b></span>immunization.occurrence = <span style=\"color: maroon\">date</span> <i>"set date"</i><span style=\"color: navy\">;</span>\r\n vax.NumberOfDoses<b> as </b><span style=\"color: maroon\">doses</span><b> then</b><span style=\"color: navy\"> {\r\n</span> doses.display<b> as </b><span style=\"color: maroon\">seriesDose</span><span style=\"color: navy\"><b> -> </b></span> immunization.protocolApplied<b> as </b><span style=\"color: maroon\">protocol</span><span style=\"color: navy\">, </span> protocol.series = <span style=\"color: maroon\">seriesDose</span> <i>"set"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"set dosenumber"</i><span style=\"color: navy\">;</span>\r\n vax<span style=\"color: navy\"><b> -> </b></span> immunization.patient<b> as </b><span style=\"color: maroon\">subject</span><span style=\"color: navy\">, </span> subject.reference = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Patient/'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">pid</span><span style=\"color: navy\">)</span> <i>"set subject"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"ad"</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>mapVaccinationStatusToImmunization<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">lm</span><span style=\"color: navy\"> : </span>MeaslesLogicalModel, <b>target</b> <span style=\"color: maroon\">bundle</span><span style=\"color: navy\"> : </span>Bundle, <b>target</b> <span style=\"color: maroon\">composition</span><span style=\"color: navy\"> : </span>MeaslesCIFComposition, <b>source</b> <span style=\"color: maroon\">pid</span><span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> lm<span style=\"color: navy\"><b> -> </b></span> composition.section<b> as </b><span style=\"color: maroon\">section</span><span style=\"color: navy\">, </span> section.title = <span style=\"color: blue\">'Vaccination History'</span><b> then</b><span style=\"color: navy\"> {\r\n</span> lm.VaccinationStatus<b> as </b><span style=\"color: maroon\">vax</span><b> then</b><span style=\"color: navy\"> {\r\n</span> vax.NumberOfDoses<b> as </b><span style=\"color: maroon\">doses</span><b> where </b>code = '99'<span style=\"color: navy\"><b> -> </b></span><span style=\"color: maroon\">doses</span><b> then </b>createImmunizationResource<span style=\"color: navy\">(</span><span style=\"color: maroon\">vax</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">bundle</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">section</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">pid</span><span style=\"color: navy\">)</span> <i>"do"</i><span style=\"color: navy\">;</span>\r\n vax.NumberOfDoses<b> as </b><span style=\"color: maroon\">doses</span><b> where </b>code = '1'<span style=\"color: navy\"><b> -> </b></span><span style=\"color: maroon\">doses</span><b> then</b><span style=\"color: navy\"> {\r\n</span> vax.LastDoseDate<b> as </b><span style=\"color: maroon\">date</span><span style=\"color: navy\"><b> -> </b></span><span style=\"color: maroon\">date</span><b> then </b>createImmunizationResource<span style=\"color: navy\">(</span><span style=\"color: maroon\">vax</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">bundle</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">section</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">pid</span><span style=\"color: navy\">)</span> <i>"do1"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"set"</i><span style=\"color: navy\">;</span>\r\n vax.NumberOfDoses<b> as </b><span style=\"color: maroon\">doses</span><b> where </b>code = '2'<b> then</b><span style=\"color: navy\"> {\r\n</span> doses<span style=\"color: navy\"><b> -> </b></span><span style=\"color: maroon\">doses</span><b> then </b>createImmunizationResource<span style=\"color: navy\">(</span><span style=\"color: maroon\">vax</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">bundle</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">section</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">pid</span><span style=\"color: navy\">)</span> <i>"do2"</i><span style=\"color: navy\">;</span>\r\n vax.LastDoseDate<b> as </b><span style=\"color: maroon\">date</span><span style=\"color: navy\"><b> -> </b></span><span style=\"color: maroon\">date</span><b> then </b>createImmunizationResource<span style=\"color: navy\">(</span><span style=\"color: maroon\">vax</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">bundle</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">section</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">pid</span><span style=\"color: navy\">)</span> <i>"do"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"set doses"</i><span style=\"color: navy\">;</span>\r\n vax.NumberOfDoses<b> as </b><span style=\"color: maroon\">doses</span><b> where </b>code = '3'<b> then</b><span style=\"color: navy\"> {\r\n</span> vax<span style=\"color: navy\"><b> -> </b></span><span style=\"color: maroon\">doses</span><b> then </b>createImmunizationResource<span style=\"color: navy\">(</span><span style=\"color: maroon\">vax</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">bundle</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">section</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">pid</span><span style=\"color: navy\">)</span> <i>"do"</i><span style=\"color: navy\">;</span>\r\n vax<span style=\"color: navy\"><b> -> </b></span><span style=\"color: maroon\">doses</span><b> then </b>createImmunizationResource<span style=\"color: navy\">(</span><span style=\"color: maroon\">vax</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">bundle</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">section</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">pid</span><span style=\"color: navy\">)</span> <i>"do"</i><span style=\"color: navy\">;</span>\r\n vax.LastDoseDate<b> as </b><span style=\"color: maroon\">date</span><span style=\"color: navy\"><b> -> </b></span><span style=\"color: maroon\">date</span><b> then </b>createImmunizationResource<span style=\"color: navy\">(</span><span style=\"color: maroon\">vax</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">bundle</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">section</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">pid</span><span style=\"color: navy\">)</span> <i>"do"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"set doses"</i><span style=\"color: navy\">;</span>\r\n vax.NumberOfDoses<b> as </b><span style=\"color: maroon\">doses</span><b> where </b>code = '4'<b> then</b><span style=\"color: navy\"> {\r\n</span> vax<span style=\"color: navy\"><b> -> </b></span><span style=\"color: maroon\">doses</span><b> then </b>createImmunizationResource<span style=\"color: navy\">(</span><span style=\"color: maroon\">vax</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">bundle</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">section</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">pid</span><span style=\"color: navy\">)</span> <i>"do"</i><span style=\"color: navy\">;</span>\r\n vax<span style=\"color: navy\"><b> -> </b></span><span style=\"color: maroon\">doses</span><b> then </b>createImmunizationResource<span style=\"color: navy\">(</span><span style=\"color: maroon\">vax</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">bundle</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">section</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">pid</span><span style=\"color: navy\">)</span> <i>"do"</i><span style=\"color: navy\">;</span>\r\n vax<span style=\"color: navy\"><b> -> </b></span><span style=\"color: maroon\">doses</span><b> then </b>createImmunizationResource<span style=\"color: navy\">(</span><span style=\"color: maroon\">vax</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">bundle</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">section</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">pid</span><span style=\"color: navy\">)</span> <i>"do"</i><span style=\"color: navy\">;</span>\r\n vax.LastDoseDate<b> as </b><span style=\"color: maroon\">date</span><span style=\"color: navy\"><b> -> </b></span><span style=\"color: maroon\">date</span><b> then </b>createImmunizationResource<span style=\"color: navy\">(</span><span style=\"color: maroon\">vax</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">bundle</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">section</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">pid</span><span style=\"color: navy\">)</span> <i>"do"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"set doses"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"set status"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"set section"</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>LmToComposition<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">lm</span><span style=\"color: navy\"> : </span>AFROMRCIF, <b>target</b> <span style=\"color: maroon\">composition</span><span style=\"color: navy\"> : </span>Composition, <b>source</b> <span style=\"color: maroon\">cid</span>, <b>source</b> <span style=\"color: maroon\">pid</span>, <b>source</b> <span style=\"color: maroon\">prid</span>, <b>source</b> <span style=\"color: maroon\">oid</span>, <b>source</b> <span style=\"color: maroon\">eid</span><span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> cid<span style=\"color: navy\"><b> -> </b></span>composition.id = <span style=\"color: maroon\">cid</span> <i>"set id"</i><span style=\"color: navy\">;</span>\r\n lm<span style=\"color: navy\"><b> -> </b></span>composition.status = <span style=\"color: blue\">'final'</span> <i>"set status"</i><span style=\"color: navy\">;</span>\r\n lm.ReportingSource<b> as </b><span style=\"color: maroon\">src</span><b> then</b><span style=\"color: navy\"> {\r\n</span> src.UniqueId<b> as </b><span style=\"color: maroon\">EPIDno</span><span style=\"color: navy\"><b> -> </b></span> composition.identifier<b> as </b><span style=\"color: maroon\">identifier</span><span style=\"color: navy\">, </span> identifier.value = <span style=\"color: maroon\">EPIDno</span> <i>"set identifier"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"set"</i><span style=\"color: navy\">;</span>\r\n lm<span style=\"color: navy\"><b> -> </b></span>composition.title = <span style=\"color: blue\">'PAHO Measles Case Investigation Form'</span> <i>"set title"</i><span style=\"color: navy\">;</span>\r\n lm<span style=\"color: navy\"><b> -> </b></span> <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Coding'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">coding</span><span style=\"color: navy\">, </span> coding.code = <span style=\"color: blue\">'55751-2'</span><span style=\"color: navy\">, </span> coding.system = <span style=\"color: blue\">'http://loinc.org'</span><span style=\"color: navy\">, </span> coding.display = <span style=\"color: blue\">'Public health Case report'</span><span style=\"color: navy\">, </span> <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'CodeableConcept'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">code</span><span style=\"color: navy\">, </span> code.coding = <span style=\"color: maroon\">coding</span><span style=\"color: navy\">, </span> composition.type = <span style=\"color: maroon\">code</span> <i>"set type"</i><span style=\"color: navy\">;</span>\r\n lm.CaseInvestigation<b> as </b><span style=\"color: maroon\">var</span><span style=\"color: navy\"><b> -> </b></span><span style=\"color: maroon\">var</span><b> then</b><span style=\"color: navy\"> {\r\n</span> var.DateReportedLocal<b> as </b><span style=\"color: maroon\">date</span><span style=\"color: navy\"><b> -> </b></span>composition.date = <span style=\"color: maroon\">date</span> <i>"set date"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"set date reported local"</i><span style=\"color: navy\">;</span>\r\n lm<span style=\"color: navy\"><b> -> </b></span>composition.subject<b> as </b><span style=\"color: maroon\">subject</span><b> then</b><span style=\"color: navy\"> {\r\n</span> lm<span style=\"color: navy\"><b> -> </b></span>subject.reference = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Patient/'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">pid</span><span style=\"color: navy\">)</span> <i>"set subject"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"set subject"</i><span style=\"color: navy\">;</span>\r\n lm<span style=\"color: navy\"><b> -> </b></span>composition.author<b> as </b><span style=\"color: maroon\">practitioner</span><b> then</b><span style=\"color: navy\"> {\r\n</span> lm<span style=\"color: navy\"><b> -> </b></span>practitioner.reference = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Practitioner/'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">prid</span><span style=\"color: navy\">)</span> <i>"set author practitioner"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"set author practitioner"</i><span style=\"color: navy\">;</span>\r\n lm<span style=\"color: navy\"><b> -> </b></span>composition.author<b> as </b><span style=\"color: maroon\">institution</span><b> then</b><span style=\"color: navy\"> {\r\n</span> lm<span style=\"color: navy\"><b> -> </b></span>institution.reference = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Organization/'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">oid</span><span style=\"color: navy\">)</span> <i>"set author institution"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"set author org"</i><span style=\"color: navy\">;</span>\r\n lm<span style=\"color: navy\"><b> -> </b></span>composition.encounter<b> as </b><span style=\"color: maroon\">encounter</span><b> then</b><span style=\"color: navy\"> {\r\n</span> lm<span style=\"color: navy\"><b> -> </b></span>encounter.reference = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Encounter/'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eid</span><span style=\"color: navy\">)</span> <i>"set encounter"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"set encounter"</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>DemographicsToPatient<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">demographics</span><span style=\"color: navy\"> : </span>DemographicsLogicalModel, <b>target</b> <span style=\"color: maroon\">patient</span><span style=\"color: navy\"> : </span>MeaslesPatient, <b>source</b> <span style=\"color: maroon\">pid</span><span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> pid<span style=\"color: navy\"><b> -> </b></span>patient.id = <span style=\"color: maroon\">pid</span> <i>"set patient id"</i><span style=\"color: navy\">;</span>\r\n demographics.Name<b> as </b><span style=\"color: maroon\">sourceName</span><span style=\"color: navy\"><b> -> </b></span>patient.name<b> as </b><span style=\"color: maroon\">targetName</span><b> then</b><span style=\"color: navy\"> {\r\n</span> sourceName<span style=\"color: navy\"><b> -> </b></span><span style=\"color: maroon\">sourceName</span><b> then </b>humanNameToHumanName<span style=\"color: navy\">(</span><span style=\"color: maroon\">sourceName</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">targetName</span><span style=\"color: navy\">)</span> <i>"Copy name"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"Set name"</i><span style=\"color: navy\">;</span>\r\n demographics.DateOfBirth<b> as </b><span style=\"color: maroon\">dob</span><span style=\"color: navy\"><b> -> </b></span>patient.birthDate = <span style=\"color: maroon\">dob</span> <i>"set date of birth"</i><span style=\"color: navy\">;</span>\r\n demographics.Sex<b> as </b><span style=\"color: maroon\">sex</span><span style=\"color: navy\"><b> -> </b></span>patient.gender = <span style=\"color: maroon\">sex</span> <i>"set sex"</i><span style=\"color: navy\">;</span>\r\n demographics.PlaceOfResidence<b> as </b><span style=\"color: maroon\">sourceAddress</span><span style=\"color: navy\"><b> -> </b></span>patient.address<b> as </b><span style=\"color: maroon\">targetAddress</span><b> then</b><span style=\"color: navy\"> {\r\n</span> sourceAddress<span style=\"color: navy\"><b> -> </b></span><span style=\"color: maroon\">sourceAddress</span><b> then </b>addressToAddress<span style=\"color: navy\">(</span><span style=\"color: maroon\">sourceAddress</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">targetAddress</span><span style=\"color: navy\">)</span> <i>"Copy Address"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"set address"</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>classificationToPractitioner<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">var</span><span style=\"color: navy\"> : </span>AFROMRCIFClassification, <b>target</b> <span style=\"color: maroon\">practitioner</span><span style=\"color: navy\"> : </span>Practitioner, <b>source</b> <span style=\"color: maroon\">prid</span><span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> prid<span style=\"color: navy\"><b> -> </b></span>practitioner.id = <span style=\"color: maroon\">prid</span> <i>"set id"</i><span style=\"color: navy\">;</span>\r\n var.ReportedBy<b> as </b><span style=\"color: maroon\">name</span><span style=\"color: navy\"><b> -> </b></span> practitioner.name<b> as </b><span style=\"color: maroon\">humanName</span><span style=\"color: navy\">, </span> humanName.text = <span style=\"color: maroon\">name</span> <i>"set name"</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>ReportingSourceToOrganization<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">reportingSource</span><span style=\"color: navy\"> : </span>ReportingSourceLogicalModel, <b>target</b> <span style=\"color: maroon\">organization</span><span style=\"color: navy\"> : </span>Organization, <b>source</b> <span style=\"color: maroon\">oid</span><span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> oid<span style=\"color: navy\"><b> -> </b></span>organization.id = <span style=\"color: maroon\">oid</span> <i>"set id"</i><span style=\"color: navy\">;</span>\r\n reportingSource.HealthServiceName<b> as </b><span style=\"color: maroon\">name</span><span style=\"color: navy\"><b> -> </b></span>organization.name = <span style=\"color: maroon\">name</span> <i>"set name"</i><span style=\"color: navy\">;</span>\r\n reportingSource.HealthServiceTelephone<b> as </b><span style=\"color: maroon\">phoneSource</span><span style=\"color: navy\"><b> -> </b></span> organization.contact<b> as </b><span style=\"color: maroon\">contactDetails</span><span style=\"color: navy\">, </span> contactDetails.telecom<b> as </b><span style=\"color: maroon\">phoneTarget</span><b> then</b><span style=\"color: navy\"> {\r\n</span> phoneSource<span style=\"color: navy\"><b> -> </b></span><span style=\"color: maroon\">phoneSource</span><b> then </b>contactPointToContactPoint<span style=\"color: navy\">(</span><span style=\"color: maroon\">phoneSource</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">phoneTarget</span><span style=\"color: navy\">)</span> <i>"set org contact"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"set phone"</i><span style=\"color: navy\">;</span>\r\n reportingSource.PlaceOfReporting<b> as </b><span style=\"color: maroon\">locationSource</span><span style=\"color: navy\"><b> -> </b></span> organization.contact<b> as </b><span style=\"color: maroon\">contactDetails</span><span style=\"color: navy\">, </span> contactDetails.address<b> as </b><span style=\"color: maroon\">locationTarget</span><b> then</b><span style=\"color: navy\"> {\r\n</span> locationSource<span style=\"color: navy\"><b> -> </b></span><span style=\"color: maroon\">locationSource</span><b> then </b>contactPointToContactPoint<span style=\"color: navy\">(</span><span style=\"color: maroon\">locationSource</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">locationTarget</span><span style=\"color: navy\">)</span> <i>"set org address"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"set address"</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>createCompositionEncounterResource<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">date</span>, <b>source</b> <span style=\"color: maroon\">pid</span>, <b>source</b> <span style=\"color: maroon\">type</span><span style=\"color: navy\"> : </span>Coding, <b>source</b> <span style=\"color: maroon\">eid</span>, <b>target</b> <span style=\"color: maroon\">encounter</span><span style=\"color: navy\"> : </span>Encounter<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> date<span style=\"color: navy\"><b> -> </b></span>encounter.id = <span style=\"color: maroon\">eid</span> <i>"set id"</i><span style=\"color: navy\">;</span>\r\n date<span style=\"color: navy\"><b> -> </b></span>encounter.status = <span style=\"color: blue\">'finished'</span> <i>"set status"</i><span style=\"color: navy\">;</span>\r\n pid<span style=\"color: navy\"><b> -> </b></span> encounter.subject<b> as </b><span style=\"color: maroon\">subject</span><span style=\"color: navy\">, </span> subject.reference = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Patient/'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">pid</span><span style=\"color: navy\">)</span> <i>"set subject"</i><span style=\"color: navy\">;</span>\r\n date<span style=\"color: navy\"><b> -> </b></span> encounter.period<b> as </b><span style=\"color: maroon\">period</span><span style=\"color: navy\">, </span> period.start = <span style=\"color: maroon\">date</span> <i>"set date"</i><span style=\"color: navy\">;</span>\r\n type<span style=\"color: navy\"><b> -> </b></span>encounter.class = <span style=\"color: maroon\">type</span> <i>"set type"</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span></pre></div>"
},
"url" : "http://worldhealthorganization.github.io/smart-ot/StructureMap/AFROMRCIFLogicalModelToResources",
"version" : "0.2.1",
"name" : "AFROMRCIFLogicalModelToResources",
"status" : "draft",
"date" : "2023-11-07T05:59:29+00:00",
"publisher" : "WHO",
"contact" : [
{
"name" : "WHO",
"telecom" : [
{
"system" : "url",
"value" : "http://who.int"
}
]
}
],
"jurisdiction" : [
{
"coding" : [
{
"system" : "http://unstats.un.org/unsd/methods/m49/m49.htm",
"code" : "001"
}
]
}
],
"structure" : [
{
"url" : "http://worldhealthorganization.github.io/smart-ot/StructureDefinition/AFROMRCIF",
"mode" : "source",
"alias" : "MeaslesLogicalModel"
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/Bundle",
"mode" : "target",
"alias" : "MeaslesCIFBundle"
},
{
"url" : "http://worldhealthorganization.github.io/smart-ot/StructureDefinition/MeaslesCIFComposition",
"mode" : "target",
"alias" : "MeaslesCIFComposition"
}
],
"import" : [
"http://worldhealthorganization.github.io/smart-ot/StructureMap/MetaDataTypesHelper"
],
"group" : [
{
"name" : "MRCIFLogicalModelToResources",
"typeMode" : "none",
"input" : [
{
"name" : "lm",
"type" : "AFROMRCIF",
"mode" : "source"
},
{
"name" : "bundle",
"type" : "Bundle",
"mode" : "target"
}
],
"rule" : [
{
"name" : "set bundle type",
"source" : [
{
"context" : "lm"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "type",
"transform" : "copy",
"parameter" : [
{
"valueString" : "document"
}
]
}
]
},
{
"name" : "set id",
"source" : [
{
"context" : "lm"
}
],
"target" : [
{
"contextType" : "variable",
"variable" : "bid",
"transform" : "uuid"
},
{
"context" : "bundle",
"contextType" : "variable",
"element" : "id",
"transform" : "copy",
"parameter" : [
{
"valueId" : "bid"
}
]
}
]
},
{
"name" : "set entries",
"source" : [
{
"context" : "lm"
}
],
"target" : [
{
"contextType" : "variable",
"variable" : "cid",
"transform" : "uuid"
},
{
"contextType" : "variable",
"variable" : "pid",
"transform" : "uuid"
},
{
"contextType" : "variable",
"variable" : "prid",
"transform" : "uuid"
},
{
"contextType" : "variable",
"variable" : "oid",
"transform" : "uuid"
},
{
"contextType" : "variable",
"variable" : "eid",
"transform" : "uuid"
}
],
"rule" : [
{
"name" : "map composition resource",
"source" : [
{
"context" : "lm"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "entry"
},
{
"context" : "entry",
"contextType" : "variable",
"element" : "resource",
"variable" : "composition",
"transform" : "create",
"parameter" : [
{
"valueString" : "Composition"
}
]
},
{
"context" : "entry",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "cid"
}
]
}
],
"rule" : [
{
"name" : "set",
"source" : [
{
"context" : "lm"
}
],
"target" : [
{
"contextType" : "variable",
"transform" : "copy",
"parameter" : [
{
"valueId" : "lm"
}
]
}
],
"dependent" : [
{
"name" : "LmToComposition",
"variable" : [
"lm",
"composition",
"cid",
"pid",
"prid",
"oid",
"eid"
]
}
]
},
{
"name" : "map patient resource",
"source" : [
{
"context" : "lm"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "entry"
},
{
"context" : "entry",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "pid"
}
]
},
{
"contextType" : "variable",
"variable" : "patient",
"transform" : "create",
"parameter" : [
{
"valueString" : "Patient"
}
]
}
],
"rule" : [
{
"name" : "create patient",
"source" : [
{
"context" : "lm",
"element" : "Demographics",
"variable" : "demographics"
}
],
"target" : [
{
"contextType" : "variable",
"transform" : "copy",
"parameter" : [
{
"valueId" : "demographics"
}
]
}
],
"dependent" : [
{
"name" : "DemographicsToPatient",
"variable" : [
"demographics",
"patient",
"pid"
]
}
]
},
{
"name" : "set patient as entry",
"source" : [
{
"context" : "lm"
}
],
"target" : [
{
"context" : "entry",
"contextType" : "variable",
"element" : "resource",
"transform" : "copy",
"parameter" : [
{
"valueId" : "patient"
}
]
}
]
}
]
},
{
"name" : "map practitioner resource",
"source" : [
{
"context" : "lm"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "entry"
},
{
"context" : "entry",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "prid"
}
]
},
{
"contextType" : "variable",
"variable" : "practitioner",
"transform" : "create",
"parameter" : [
{
"valueString" : "Practitioner"
}
]
}
],
"rule" : [
{
"name" : "create practitioner",
"source" : [
{
"context" : "lm",
"element" : "Classification",
"variable" : "classification"
}
],
"target" : [
{
"contextType" : "variable",
"transform" : "copy",
"parameter" : [
{
"valueId" : "classification"
}
]
}
],
"dependent" : [
{
"name" : "classificationToPractitioner",
"variable" : [
"classification",
"practitioner",
"prid"
]
}
]
},
{
"name" : "set practitioner as entry",
"source" : [
{
"context" : "lm"
}
],
"target" : [
{
"context" : "entry",
"contextType" : "variable",
"element" : "resource",
"transform" : "copy",
"parameter" : [
{
"valueId" : "practitioner"
}
]
}
]
}
]
},
{
"name" : "map organization resource",
"source" : [
{
"context" : "lm"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "entry"
},
{
"context" : "entry",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "oid"
}
]
},
{
"contextType" : "variable",
"variable" : "organization",
"transform" : "create",
"parameter" : [
{
"valueString" : "Organization"
}
]
}
],
"rule" : [
{
"name" : "create organization",
"source" : [
{
"context" : "lm",
"element" : "ReportingSource",
"variable" : "reportingSource"
}
],
"target" : [
{
"contextType" : "variable",
"transform" : "copy",
"parameter" : [
{
"valueId" : "reportingSource"
}
]
}
],
"dependent" : [
{
"name" : "ReportingSourceToOrganization",
"variable" : [
"reportingSource",
"organization",
"oid"
]
}
]
},
{
"name" : "set organization as entry",
"source" : [
{
"context" : "lm"
}
],
"target" : [
{
"context" : "entry",
"contextType" : "variable",
"element" : "resource",
"transform" : "copy",
"parameter" : [
{
"valueId" : "organization"
}
]
}
]
}
]
},
{
"name" : "map encounter resource",
"source" : [
{
"context" : "lm"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "entry"
},
{
"context" : "entry",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "eid"
}
]
},
{
"contextType" : "variable",
"variable" : "encounter",
"transform" : "create",
"parameter" : [
{
"valueString" : "Encounter"
}
]
}
],
"rule" : [
{
"name" : "set encounter",
"source" : [
{
"context" : "lm",
"element" : "lmCaseInvestigation",
"variable" : "var"
}
],
"rule" : [
{
"name" : "set encounter",
"source" : [
{
"context" : "var",
"element" : "DateOfConsultation",
"variable" : "date"
}
],
"rule" : [
{
"name" : "create encounter",
"source" : [
{
"context" : "date"
}
],
"target" : [
{
"contextType" : "variable",
"variable" : "type",
"transform" : "create",
"parameter" : [
{
"valueString" : "Coding"
}
]
},
{
"context" : "type",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "AMB"
}
]
},
{
"context" : "type",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://terminology.hl7.org/CodeSystem/v3-ActCode"
}
]
},
{
"context" : "type",
"contextType" : "variable",
"element" : "display",
"transform" : "copy",
"parameter" : [
{
"valueString" : "ambulatory"
}
]
}
],
"dependent" : [
{
"name" : "createCompositionEncounterResource",
"variable" : [
"date",
"pid",
"type",
"eid",
"encounter"
]
}
]
}
]
}
]
},
{
"name" : "set encounter as entry",
"source" : [
{
"context" : "lm"
}
],
"target" : [
{
"context" : "entry",
"contextType" : "variable",
"element" : "resource",
"transform" : "copy",
"parameter" : [
{
"valueId" : "encounter"
}
]
}
]
}
]
},
{
"name" : "set clinical data",
"source" : [
{
"context" : "lm"
}
],
"target" : [
{
"contextType" : "variable",
"transform" : "copy",
"parameter" : [
{
"valueId" : "lm"
}
]
}
],
"dependent" : [
{
"name" : "mapClinicalToObservations",
"variable" : [
"lm",
"bundle",
"composition",
"pid"
]
}
]
},
{
"name" : "set labs data",
"source" : [
{
"context" : "lm"
}
],
"target" : [
{
"contextType" : "variable",
"transform" : "copy",
"parameter" : [
{
"valueId" : "lm"
}
]
}
],
"dependent" : [
{
"name" : "mapLabsToDiagnosticReport",
"variable" : [
"lm",
"bundle",
"composition",
"pid"
]
}
]
},
{
"name" : "set immunization data",
"source" : [
{
"context" : "lm"
}
],
"target" : [
{
"contextType" : "variable",
"transform" : "copy",
"parameter" : [
{
"valueId" : "lm"
}
]
}
],
"dependent" : [
{
"name" : "mapVaccinationStatusToImmunization",
"variable" : [
"lm",
"bundle",
"composition",
"pid"
]
}
]
},
{
"name" : "set classification",
"source" : [
{
"context" : "lm"
}
],
"target" : [
{
"contextType" : "variable",
"transform" : "copy",
"parameter" : [
{
"valueId" : "lm"
}
]
}
],
"dependent" : [
{
"name" : "mapClassificationToConditions",
"variable" : [
"lm",
"bundle",
"composition",
"pid",
"eid"
]
}
]
}
]
}
]
}
]
},
{
"name" : "mapClassificationToConditions",
"typeMode" : "none",
"input" : [
{
"name" : "lm",
"type" : "MeaslesLogicalModel",
"mode" : "source"
},
{
"name" : "bundle",
"type" : "Bundle",
"mode" : "target"
},
{
"name" : "composition",
"type" : "MeaslesCIFComposition",
"mode" : "target"
},
{
"name" : "pid",
"mode" : "source"
},
{
"name" : "eid",
"mode" : "source"
}
],
"rule" : [
{
"name" : "set section",
"source" : [
{
"context" : "lm"
}
],
"target" : [
{
"context" : "composition",
"contextType" : "variable",
"element" : "section",
"variable" : "section"
},
{
"context" : "section",
"contextType" : "variable",
"element" : "title",
"transform" : "copy",
"parameter" : [
{
"valueString" : "Classification"
}
]
}
],
"rule" : [
{
"name" : "Set classification",
"source" : [
{
"context" : "lm",
"element" : "Classification",
"variable" : "classification"
}
],
"target" : [
{
"contextType" : "variable",
"variable" : "id",
"transform" : "uuid"
},
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "entry"
},
{
"context" : "entry",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "id"
}
]
},
{
"context" : "section",
"contextType" : "variable",
"element" : "entry",
"variable" : "sectionEntry"
},
{
"context" : "sectionEntry",
"contextType" : "variable",
"element" : "reference",
"transform" : "append",
"parameter" : [
{
"valueString" : "Condition/"
},
{
"valueId" : "id"
}
]
},
{
"context" : "entry",
"contextType" : "variable",
"element" : "resource",
"variable" : "condition",
"transform" : "create",
"parameter" : [
{
"valueString" : "Condition"
}
]
}
],
"rule" : [
{
"name" : "set id",
"source" : [
{
"context" : "classification"
}
],
"target" : [
{
"context" : "condition",
"contextType" : "variable",
"element" : "id",
"transform" : "copy",
"parameter" : [
{
"valueId" : "id"
}
]
}
]
},
{
"name" : "set",
"source" : [
{
"context" : "classification"
}
],
"target" : [
{
"context" : "condition",
"contextType" : "variable",
"element" : "verificationStatus",
"variable" : "tgtStatus"
},
{
"contextType" : "variable",
"variable" : "status",
"transform" : "create",
"parameter" : [
{
"valueString" : "Coding"
}
]
},
{
"context" : "status",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "confirmed"
}
]
},
{
"context" : "status",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://terminology.hl7.org/CodeSystem/condition-ver-status"
}
]
},
{
"context" : "status",
"contextType" : "variable",
"element" : "display",
"transform" : "copy",
"parameter" : [
{
"valueString" : "Confirmed"
}
]
}
],
"dependent" : [
{
"name" : "mapCodingtoCodeableConcept",
"variable" : [
"status",
"tgtStatus"
]
}
]
},
{
"name" : "set subject",
"source" : [
{
"context" : "classification"
}
],
"target" : [
{
"context" : "condition",
"contextType" : "variable",
"element" : "subject",
"variable" : "subject"
},
{
"context" : "subject",
"contextType" : "variable",
"element" : "reference",
"transform" : "append",
"parameter" : [
{
"valueString" : "Patient/"
},
{
"valueId" : "pid"
}
]
}
]
},
{
"name" : "set code",
"source" : [
{
"context" : "classification",
"element" : "FinalClassification",
"variable" : "coding"
}
],
"target" : [
{
"context" : "condition",
"contextType" : "variable",
"element" : "code",
"variable" : "code"
}
],
"dependent" : [
{
"name" : "mapCodingtoCodeableConcept",
"variable" : [
"coding",
"code"
]
}
]
},
{
"name" : "set subject",
"source" : [
{
"context" : "classification"
}
],
"target" : [
{
"context" : "condition",
"contextType" : "variable",
"element" : "encounter",
"variable" : "encounter"
},
{
"context" : "encounter",
"contextType" : "variable",
"element" : "reference",
"transform" : "append",
"parameter" : [
{
"valueString" : "Encounter/"
},
{
"valueId" : "eid"
}
]
}
]
},
{
"name" : "set",
"source" : [
{
"context" : "classification"
}
],
"target" : [
{
"context" : "condition",
"contextType" : "variable",
"element" : "category",
"variable" : "tgt"
},
{
"contextType" : "variable",
"variable" : "status",
"transform" : "create",
"parameter" : [
{
"valueString" : "Coding"
}
]
},
{
"context" : "status",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "encounter-diagnosis"
}
]
},
{
"context" : "status",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://terminology.hl7.org/CodeSystem/condition-category"
}
]
},
{
"context" : "status",
"contextType" : "variable",
"element" : "display",
"transform" : "copy",
"parameter" : [
{
"valueString" : "Encounter Diagnosis"
}
]
}
],
"dependent" : [
{
"name" : "mapCodingtoCodeableConcept",
"variable" : [
"status",
"tgt"
]
}
]
},
{
"name" : "set",
"source" : [
{
"context" : "classification",
"element" : "ClassificationDate",
"variable" : "date"
}
],
"target" : [
{
"context" : "condition",
"contextType" : "variable",
"element" : "recordedDate",
"transform" : "copy",
"parameter" : [
{
"valueId" : "date"
}
]
}
]
},
{
"name" : "set person",
"source" : [
{
"context" : "classification",
"element" : "ClassifiedBy",
"variable" : "person"
}
],
"target" : [
{
"contextType" : "variable",
"variable" : "rpid",
"transform" : "uuid"
},
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "entry"
},
{
"context" : "entry",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "rpid"
}
]
},
{
"context" : "section",
"contextType" : "variable",
"element" : "entry",
"variable" : "sectionEntry"
},
{
"context" : "sectionEntry",
"contextType" : "variable",
"element" : "reference",
"transform" : "append",
"parameter" : [
{
"valueString" : "RelatedPerson/"
},
{
"valueId" : "rpid"
}
]
},
{
"context" : "entry",
"contextType" : "variable",
"element" : "resource",
"variable" : "recorder",
"transform" : "create",
"parameter" : [
{
"valueString" : "RelatedPerson"
}
]
}
],
"rule" : [
{
"name" : "set id",
"source" : [
{
"context" : "person"
}
],
"target" : [
{
"context" : "recorder",
"contextType" : "variable",
"element" : "id",
"transform" : "copy",
"parameter" : [
{
"valueId" : "rpid"
}
]
}
]
},
{
"name" : "set",
"source" : [
{
"context" : "person"
}
],
"target" : [
{
"context" : "recorder",
"contextType" : "variable",
"element" : "name",
"variable" : "targetName"
},
{
"contextType" : "variable",
"variable" : "name",
"transform" : "create",
"parameter" : [
{
"valueString" : "HumanName"
}
]
},
{
"context" : "name",
"contextType" : "variable",
"element" : "text",
"transform" : "copy",
"parameter" : [
{
"valueId" : "person"
}
]
}
],
"dependent" : [
{
"name" : "humanNameToHumanName",
"variable" : [
"name",
"targetName"
]
}
]
},
{
"name" : "set patient",
"source" : [
{
"context" : "person"
}
],
"target" : [
{
"context" : "recorder",
"contextType" : "variable",
"element" : "patient",
"variable" : "patient"
},
{
"context" : "patient",
"contextType" : "variable",
"element" : "reference",
"transform" : "append",
"parameter" : [
{
"valueString" : "Patient/"
},
{
"valueId" : "pid"
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "mapContactTracing",
"typeMode" : "none",
"input" : [
{
"name" : "lm",
"type" : "MeaslesLogicalModel",
"mode" : "source"
},
{
"name" : "bundle",
"type" : "Bundle",
"mode" : "target"
},
{
"name" : "composition",
"type" : "MeaslesCIFComposition",
"mode" : "target"
},
{
"name" : "pid",
"mode" : "source"
}
],
"rule" : [
{
"name" : "set",
"source" : [
{
"context" : "lm"
}
],
"target" : [
{
"context" : "composition",
"contextType" : "variable",
"element" : "section",
"variable" : "section"
},
{
"context" : "section",
"contextType" : "variable",
"element" : "title",
"transform" : "copy",
"parameter" : [
{
"valueString" : "Contact Tracing"
}
]
}
]
}
]
},
{
"name" : "mapClinicalToObservations",
"typeMode" : "none",
"input" : [
{
"name" : "lm",
"type" : "AFROMRCIF",
"mode" : "source"
},
{
"name" : "bundle",
"type" : "Bundle",
"mode" : "target"
},
{
"name" : "composition",
"type" : "Composition",
"mode" : "target"
},
{
"name" : "pid",
"mode" : "source"
}
],
"rule" : [
{
"name" : "set section",
"source" : [
{
"context" : "lm"
}
],
"target" : [
{
"context" : "composition",
"contextType" : "variable",
"element" : "section",
"variable" : "section"
},
{
"context" : "section",
"contextType" : "variable",
"element" : "title",
"transform" : "copy",
"parameter" : [
{
"valueString" : "Clinical Data, Follow up and Treatment"
}
]
}
],
"rule" : [
{
"name" : "set clinical",
"source" : [
{
"context" : "lm",
"element" : "Clinical",
"variable" : "clinical"
}
],
"target" : [
{
"contextType" : "variable",
"transform" : "copy",
"parameter" : [
{
"valueId" : "clinical"
}
]
}
],
"rule" : [
{
"name" : "set fever",
"source" : [
{
"context" : "clinical",
"element" : "Fever",
"variable" : "fever"
}
],
"target" : [
{
"contextType" : "variable",
"variable" : "obsid",
"transform" : "uuid"
},
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "entry"
},
{
"context" : "entry",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "obsid"
}
]
},
{
"context" : "section",
"contextType" : "variable",
"element" : "entry",
"variable" : "sectionEntry"
},
{
"context" : "sectionEntry",
"contextType" : "variable",
"element" : "reference",
"transform" : "append",
"parameter" : [
{
"valueString" : "Observation/"
},
{
"valueId" : "obsid"
}
]
},
{
"context" : "entry",
"contextType" : "variable",
"element" : "resource",
"variable" : "observation",
"transform" : "create",
"parameter" : [
{
"valueString" : "Observation"
}
]
}
],
"rule" : [
{
"name" : "set obsid",
"source" : [
{
"context" : "fever"
}
],
"target" : [
{
"context" : "observation",
"contextType" : "variable",
"element" : "id",
"transform" : "copy",
"parameter" : [
{
"valueId" : "obsid"
}
]
}
]
},
{
"name" : "set obs",
"source" : [
{
"context" : "fever"
}
],
"target" : [
{
"contextType" : "variable",
"variable" : "coding",
"transform" : "create",
"parameter" : [
{
"valueString" : "Coding"
}
]
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "DE31"
}
]
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://worldhealthorganization.github.io/smart-ot/AFROMRCIF"
}
]
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "display",
"transform" : "copy",
"parameter" : [
{
"valueString" : "Fever"
}
]
}
],
"rule" : [
{
"name" : "set obs",
"source" : [
{
"context" : "fever"
}
],
"target" : [
{
"contextType" : "variable",
"transform" : "copy",
"parameter" : [
{
"valueId" : "fever"
}
]
}
],
"dependent" : [
{
"name" : "createObservationResource",
"variable" : [
"fever",
"coding",
"observation",
"pid"
]
}
]
}
]
}
]
},
{
"name" : "set Rash",
"source" : [
{
"context" : "clinical",
"element" : "Rash",
"variable" : "rash"
}
],
"target" : [
{
"contextType" : "variable",
"variable" : "obsid",
"transform" : "uuid"
},
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "entry"
},
{
"context" : "entry",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "obsid"
}
]
},
{
"context" : "section",
"contextType" : "variable",
"element" : "entry",
"variable" : "sectionEntry"
},
{
"context" : "sectionEntry",
"contextType" : "variable",
"element" : "reference",
"transform" : "append",
"parameter" : [
{
"valueString" : "Observation/"
},
{
"valueId" : "obsid"
}
]
},
{
"context" : "entry",
"contextType" : "variable",
"element" : "resource",
"variable" : "observation",
"transform" : "create",
"parameter" : [
{
"valueString" : "Observation"
}
]
}
],
"rule" : [
{
"name" : "set obsid",
"source" : [
{
"context" : "rash"
}
],
"target" : [
{
"context" : "observation",
"contextType" : "variable",
"element" : "id",
"transform" : "copy",
"parameter" : [
{
"valueId" : "obsid"
}
]
}
]
},
{
"name" : "set obs",
"source" : [
{
"context" : "rash"
}
],
"target" : [
{
"contextType" : "variable",
"variable" : "coding",
"transform" : "create",
"parameter" : [
{
"valueString" : "Coding"
}
]
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "DE35"
}
]
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://worldhealthorganization.github.io/smart-ot/AFROMRCIF"
}
]
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "display",
"transform" : "copy",
"parameter" : [
{
"valueString" : "Rash"
}
]
}
],
"rule" : [
{
"name" : "set obs",
"source" : [
{
"context" : "rash"
}
],
"target" : [
{
"contextType" : "variable",
"transform" : "copy",
"parameter" : [
{
"valueId" : "rash"
}
]
}
],
"dependent" : [
{
"name" : "createObservationResource",
"variable" : [
"rash",
"coding",
"observation",
"pid"
]
}
]
},
{
"name" : "set",
"source" : [
{
"context" : "lm",
"element" : "lmCaseInvestigation",
"variable" : "var"
}
],
"rule" : [
{
"name" : "set start date",
"source" : [
{
"context" : "var",
"element" : "RashOnsetDate",
"variable" : "onsetDate"
}
],
"target" : [
{
"contextType" : "variable",
"variable" : "period",
"transform" : "create",
"parameter" : [
{
"valueString" : "Period"
}
]
},
{
"context" : "period",
"contextType" : "variable",
"element" : "start",
"transform" : "copy",
"parameter" : [
{
"valueId" : "onsetDate"
}
]
},
{
"context" : "observation",
"contextType" : "variable",
"element" : "effective",
"transform" : "copy",
"parameter" : [
{
"valueId" : "period"
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "set cough",
"source" : [
{
"context" : "clinical",
"element" : "Cough",
"variable" : "cough"
}
],
"target" : [
{
"contextType" : "variable",
"variable" : "obsid",
"transform" : "uuid"
},
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "entry"
},
{
"context" : "entry",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "obsid"
}
]
},
{
"context" : "section",
"contextType" : "variable",
"element" : "entry",
"variable" : "sectionEntry"
},
{
"context" : "sectionEntry",
"contextType" : "variable",
"element" : "reference",
"transform" : "append",
"parameter" : [
{
"valueString" : "Observation/"
},
{
"valueId" : "obsid"
}
]
},
{
"context" : "entry",
"contextType" : "variable",
"element" : "resource",
"variable" : "observation",
"transform" : "create",
"parameter" : [
{
"valueString" : "Observation"
}
]
}
],
"rule" : [
{
"name" : "set obsid",
"source" : [
{
"context" : "cough"
}
],
"target" : [
{
"context" : "observation",
"contextType" : "variable",
"element" : "id",
"transform" : "copy",
"parameter" : [
{
"valueId" : "obsid"
}
]
}
]
},
{
"name" : "set obs",
"source" : [
{
"context" : "cough"
}
],
"target" : [
{
"contextType" : "variable",
"variable" : "coding",
"transform" : "create",
"parameter" : [
{
"valueString" : "Coding"
}
]
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "DE39"
}
]
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://worldhealthorganization.github.io/smart-ot/AFROMRCIF"
}
]
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "display",
"transform" : "copy",
"parameter" : [
{
"valueString" : "Cough"
}
]
}
],
"rule" : [
{
"name" : "set obs",
"source" : [
{
"context" : "cough"
}
],
"target" : [
{
"contextType" : "variable",
"transform" : "copy",
"parameter" : [
{
"valueId" : "cough"
}
]
}
],
"dependent" : [
{
"name" : "createObservationResource",
"variable" : [
"cough",
"coding",
"observation",
"pid"
]
}
]
}
]
}
]
},
{
"name" : "set conjunctivitis",
"source" : [
{
"context" : "clinical",
"element" : "Conjunctivitis",
"variable" : "conjunctivitis"
}
],
"target" : [
{
"contextType" : "variable",
"variable" : "obsid",
"transform" : "uuid"
},
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "entry"
},
{
"context" : "entry",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "obsid"
}
]
},
{
"context" : "section",
"contextType" : "variable",
"element" : "entry",
"variable" : "sectionEntry"
},
{
"context" : "sectionEntry",
"contextType" : "variable",
"element" : "reference",
"transform" : "append",
"parameter" : [
{
"valueString" : "Observation/"
},
{
"valueId" : "obsid"
}
]
},
{
"context" : "entry",
"contextType" : "variable",
"element" : "resource",
"variable" : "observation",
"transform" : "create",
"parameter" : [
{
"valueString" : "Observation"
}
]
}
],
"rule" : [
{
"name" : "set obsid",
"source" : [
{
"context" : "conjunctivitis"
}
],
"target" : [
{
"context" : "observation",
"contextType" : "variable",
"element" : "id",
"transform" : "copy",
"parameter" : [
{
"valueId" : "obsid"
}
]
}
]
},
{
"name" : "set obs",
"source" : [
{
"context" : "conjunctivitis"
}
],
"target" : [
{
"contextType" : "variable",
"variable" : "coding",
"transform" : "create",
"parameter" : [
{
"valueString" : "Coding"
}
]
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "DE43"
}
]
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://worldhealthorganization.github.io/smart-ot/AFROMRCIF"
}
]
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "display",
"transform" : "copy",
"parameter" : [
{
"valueString" : "Conjunctivitis"
}
]
}
],
"rule" : [
{
"name" : "set obs",
"source" : [
{
"context" : "conjunctivitis"
}
],
"target" : [
{
"contextType" : "variable",
"transform" : "copy",
"parameter" : [
{
"valueId" : "conjunctivitis"
}
]
}
],
"dependent" : [
{
"name" : "createObservationResource",
"variable" : [
"conjunctivitis",
"coding",
"observation",
"pid"
]
}
]
}
]
}
]
},
{
"name" : "set coryza",
"source" : [
{
"context" : "clinical",
"element" : "Coryza",
"variable" : "coryza"
}
],
"target" : [
{
"contextType" : "variable",
"variable" : "obsid",
"transform" : "uuid"
},
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "entry"
},
{
"context" : "entry",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "obsid"
}
]
},
{
"context" : "section",
"contextType" : "variable",
"element" : "entry",
"variable" : "sectionEntry"
},
{
"context" : "sectionEntry",
"contextType" : "variable",
"element" : "reference",
"transform" : "append",
"parameter" : [
{
"valueString" : "Observation/"
},
{
"valueId" : "obsid"
}
]
},
{
"context" : "entry",
"contextType" : "variable",
"element" : "resource",
"variable" : "observation",
"transform" : "create",
"parameter" : [
{
"valueString" : "Observation"
}
]
}
],
"rule" : [
{
"name" : "set obsid",
"source" : [
{
"context" : "coryza"
}
],
"target" : [
{
"context" : "observation",
"contextType" : "variable",
"element" : "id",
"transform" : "copy",
"parameter" : [
{
"valueId" : "obsid"
}
]
}
]
},
{
"name" : "set obs",
"source" : [
{
"context" : "coryza"
}
],
"target" : [
{
"contextType" : "variable",
"variable" : "coding",
"transform" : "create",
"parameter" : [
{
"valueString" : "Coding"
}
]
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "DE47"
}
]
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://worldhealthorganization.github.io/smart-ot/AFROMRCIF"
}
]
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "display",
"transform" : "copy",
"parameter" : [
{
"valueString" : "Coryza"
}
]
}
],
"rule" : [
{
"name" : "set obs",
"source" : [
{
"context" : "coryza"
}
],
"target" : [
{
"contextType" : "variable",
"transform" : "copy",
"parameter" : [
{
"valueId" : "coryza"
}
]
}
],
"dependent" : [
{
"name" : "createObservationResource",
"variable" : [
"coryza",
"coding",
"observation",
"pid"
]
}
]
}
]
}
]
},
{
"name" : "set lymphadenopathy",
"source" : [
{
"context" : "clinical",
"element" : "Lymphadenopathy",
"variable" : "lymphadenopathy"
}
],
"target" : [
{
"contextType" : "variable",
"variable" : "obsid",
"transform" : "uuid"
},
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "entry"
},
{
"context" : "entry",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "obsid"
}
]
},
{
"context" : "section",
"contextType" : "variable",
"element" : "entry",
"variable" : "sectionEntry"
},
{
"context" : "sectionEntry",
"contextType" : "variable",
"element" : "reference",
"transform" : "append",
"parameter" : [
{
"valueString" : "Observation/"
},
{
"valueId" : "obsid"
}
]
},
{
"context" : "entry",
"contextType" : "variable",
"element" : "resource",
"variable" : "observation",
"transform" : "create",
"parameter" : [
{
"valueString" : "Observation"
}
]
}
],
"rule" : [
{
"name" : "set obsid",
"source" : [
{
"context" : "lymphadenopathy"
}
],
"target" : [
{
"context" : "observation",
"contextType" : "variable",
"element" : "id",
"transform" : "copy",
"parameter" : [
{
"valueId" : "obsid"
}
]
}
]
},
{
"name" : "set obs",
"source" : [
{
"context" : "lymphadenopathy"
}
],
"target" : [
{
"contextType" : "variable",
"variable" : "coding",
"transform" : "create",
"parameter" : [
{
"valueString" : "Coding"
}
]
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "DE51"
}
]
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://worldhealthorganization.github.io/smart-ot/AFROMRCIF"
}
]
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "display",
"transform" : "copy",
"parameter" : [
{
"valueString" : "Lymphadenopathy"
}
]
}
],
"rule" : [
{
"name" : "set obs",
"source" : [
{
"context" : "lymphadenopathy"
}
],
"target" : [
{
"contextType" : "variable",
"transform" : "copy",
"parameter" : [
{
"valueId" : "lymphadenopathy"
}
]
}
],
"dependent" : [
{
"name" : "createObservationResource",
"variable" : [
"lymphadenopathy",
"coding",
"observation",
"pid"
]
}
]
}
]
}
]
},
{
"name" : "set jointPain",
"source" : [
{
"context" : "clinical",
"element" : "JointPain",
"variable" : "jointPain"
}
],
"target" : [
{
"contextType" : "variable",
"variable" : "obsid",
"transform" : "uuid"
},
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "entry"
},
{
"context" : "entry",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "obsid"
}
]
},
{
"context" : "section",
"contextType" : "variable",
"element" : "entry",
"variable" : "sectionEntry"
},
{
"context" : "sectionEntry",
"contextType" : "variable",
"element" : "reference",
"transform" : "append",
"parameter" : [
{
"valueString" : "Observation/"
},
{
"valueId" : "obsid"
}
]
},
{
"context" : "entry",
"contextType" : "variable",
"element" : "resource",
"variable" : "observation",
"transform" : "create",
"parameter" : [
{
"valueString" : "Observation"
}
]
}
],
"rule" : [
{
"name" : "set obsid",
"source" : [
{
"context" : "jointPain"
}
],
"target" : [
{
"context" : "observation",
"contextType" : "variable",
"element" : "id",
"transform" : "copy",
"parameter" : [
{
"valueId" : "obsid"
}
]
}
]
},
{
"name" : "set obs",
"source" : [
{
"context" : "jointPain"
}
],
"target" : [
{
"contextType" : "variable",
"variable" : "coding",
"transform" : "create",
"parameter" : [
{
"valueString" : "Coding"
}
]
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "DE55"
}
]
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://worldhealthorganization.github.io/smart-ot/AFROMRCIF"
}
]
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "display",
"transform" : "copy",
"parameter" : [
{
"valueString" : "Joint Pain"
}
]
}
],
"rule" : [
{
"name" : "set obs",
"source" : [
{
"context" : "jointPain"
}
],
"target" : [
{
"contextType" : "variable",
"transform" : "copy",
"parameter" : [
{
"valueId" : "jointPain"
}
]
}
],
"dependent" : [
{
"name" : "createObservationResource",
"variable" : [
"jointPain",
"coding",
"observation",
"pid"
]
}
]
}
]
}
]
},
{
"name" : "set outcome",
"source" : [
{
"context" : "clinical",
"element" : "Outcome",
"variable" : "outcome"
}
],
"target" : [
{
"contextType" : "variable",
"variable" : "obsid",
"transform" : "uuid"
},
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "entry"
},
{
"context" : "entry",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "obsid"
}
]
},
{
"context" : "section",
"contextType" : "variable",
"element" : "entry",
"variable" : "sectionEntry"
},
{
"context" : "sectionEntry",
"contextType" : "variable",
"element" : "reference",
"transform" : "append",
"parameter" : [
{
"valueString" : "Observation/"
},
{
"valueId" : "obsid"
}
]
},
{
"context" : "entry",
"contextType" : "variable",
"element" : "resource",
"variable" : "observation",
"transform" : "create",
"parameter" : [
{
"valueString" : "Observation"
}
]
}
],
"rule" : [
{
"name" : "set obsid",
"source" : [
{
"context" : "outcome"
}
],
"target" : [
{
"context" : "observation",
"contextType" : "variable",
"element" : "id",
"transform" : "copy",
"parameter" : [
{
"valueId" : "obsid"
}
]
}
]
},
{
"name" : "set obs",
"source" : [
{
"context" : "outcome"
}
],
"target" : [
{
"contextType" : "variable",
"variable" : "coding",
"transform" : "create",
"parameter" : [
{
"valueString" : "Coding"
}
]
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "DE63"
}
]
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://worldhealthorganization.github.io/smart-ot/AFROMRCIF"
}
]
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "display",
"transform" : "copy",
"parameter" : [
{
"valueString" : "Outcome"
}
]
}
],
"rule" : [
{
"name" : "set obs",
"source" : [
{
"context" : "outcome"
}
],
"target" : [
{
"contextType" : "variable",
"transform" : "copy",
"parameter" : [
{
"valueId" : "outcome"
}
]
}
],
"dependent" : [
{
"name" : "createObservationResource",
"variable" : [
"outcome",
"coding",
"observation",
"pid"
]
}
]
}
]
}
]
},
{
"name" : "set travel",
"source" : [
{
"context" : "clinical",
"element" : "travelledOutside",
"variable" : "travel"
}
],
"target" : [
{
"contextType" : "variable",
"variable" : "obsid",
"transform" : "uuid"
},
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "entry"
},
{
"context" : "entry",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "obsid"
}
]
},
{
"context" : "section",
"contextType" : "variable",
"element" : "entry",
"variable" : "sectionEntry"
},
{
"context" : "sectionEntry",
"contextType" : "variable",
"element" : "reference",
"transform" : "append",
"parameter" : [
{
"valueString" : "Observation/"
},
{
"valueId" : "obsid"
}
]
},
{
"context" : "entry",
"contextType" : "variable",
"element" : "resource",
"variable" : "observation",
"transform" : "create",
"parameter" : [
{
"valueString" : "Observation"
}
]
}
],
"rule" : [
{
"name" : "set obsid",
"source" : [
{
"context" : "travel"
}
],
"target" : [
{
"context" : "observation",
"contextType" : "variable",
"element" : "id",
"transform" : "copy",
"parameter" : [
{
"valueId" : "obsid"
}
]
}
]
},
{
"name" : "set obs",
"source" : [
{
"context" : "travel"
}
],
"target" : [
{
"contextType" : "variable",
"variable" : "coding",
"transform" : "create",
"parameter" : [
{
"valueString" : "Coding"
}
]
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "DE67"
}
]
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://worldhealthorganization.github.io/smart-ot/AFROMRCIF"
}
]
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "display",
"transform" : "copy",
"parameter" : [
{
"valueString" : "Outcome"
}
]
}
],
"rule" : [
{
"name" : "set obs",
"source" : [
{
"context" : "travel"
}
],
"target" : [
{
"contextType" : "variable",
"transform" : "copy",
"parameter" : [
{
"valueId" : "travel"
}
]
}
],
"dependent" : [
{
"name" : "createObservationResource",
"variable" : [
"travel",
"coding",
"observation",
"pid"
]
}
]
}
]
}
]
},
{
"name" : "set infection",
"source" : [
{
"context" : "clinical",
"element" : "HistoryOfHospitalization",
"variable" : "admitted"
}
],
"target" : [
{
"contextType" : "variable",
"variable" : "obsid",
"transform" : "uuid"
},
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "entry"
},
{
"context" : "entry",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "obsid"
}
]
},
{
"context" : "section",
"contextType" : "variable",
"element" : "entry",
"variable" : "sectionEntry"
},
{
"context" : "sectionEntry",
"contextType" : "variable",
"element" : "reference",
"transform" : "append",
"parameter" : [
{
"valueString" : "Observation/"
},
{
"valueId" : "obsid"
}
]
},
{
"context" : "entry",
"contextType" : "variable",
"element" : "resource",
"variable" : "observation",
"transform" : "create",
"parameter" : [
{
"valueString" : "Observation"
}
]
}
],
"rule" : [
{
"name" : "set obsid",
"source" : [
{
"context" : "admitted"
}
],
"target" : [
{
"context" : "observation",
"contextType" : "variable",
"element" : "id",
"transform" : "copy",
"parameter" : [
{
"valueId" : "obsid"
}
]
}
]
},
{
"name" : "set obs",
"source" : [
{
"context" : "admitted"
}
],
"target" : [
{
"contextType" : "variable",
"variable" : "coding",
"transform" : "create",
"parameter" : [
{
"valueString" : "Coding"
}
]
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "DE59"
}
]
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://worldhealthorganization.github.io/smart-ot/AFROMRCIF"
}
]
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "display",
"transform" : "copy",
"parameter" : [
{
"valueString" : "Outcome"
}
]
}
],
"rule" : [
{
"name" : "set obs",
"source" : [
{
"context" : "admitted"
}
],
"target" : [
{
"contextType" : "variable",
"transform" : "copy",
"parameter" : [
{
"valueId" : "admitted"
}
]
}
],
"dependent" : [
{
"name" : "createObservationResource",
"variable" : [
"admitted",
"coding",
"observation",
"pid"
]
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "createObservationResource",
"typeMode" : "none",
"input" : [
{
"name" : "src",
"mode" : "source"
},
{
"name" : "coding",
"type" : "Coding",
"mode" : "source"
},
{
"name" : "observation",
"type" : "Observation",
"mode" : "target"
},
{
"name" : "pid",
"mode" : "source"
}
],
"rule" : [
{
"name" : "set code",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"contextType" : "variable",
"variable" : "code",
"transform" : "create",
"parameter" : [
{
"valueString" : "CodeableConcept"
}
]
},
{
"context" : "code",
"contextType" : "variable",
"element" : "coding",
"transform" : "copy",
"parameter" : [
{
"valueId" : "coding"
}
]
},
{
"context" : "observation",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueId" : "code"
}
]
}
]
},
{
"name" : "set value",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"contextType" : "variable",
"variable" : "value",
"transform" : "create",
"parameter" : [
{
"valueString" : "CodeableConcept"
}
]
},
{
"context" : "value",
"contextType" : "variable",
"element" : "coding",
"transform" : "copy",
"parameter" : [
{
"valueId" : "src"
}
]
},
{
"context" : "observation",
"contextType" : "variable",
"element" : "value",
"transform" : "copy",
"parameter" : [
{
"valueId" : "value"
}
]
}
]
},
{
"name" : "set status",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "observation",
"contextType" : "variable",
"element" : "status",
"transform" : "copy",
"parameter" : [
{
"valueString" : "registered"
}
]
}
]
},
{
"name" : "set subject",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "observation",
"contextType" : "variable",
"element" : "subject",
"variable" : "subject"
}
],
"rule" : [
{
"name" : "set subject",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "subject",
"contextType" : "variable",
"element" : "reference",
"transform" : "append",
"parameter" : [
{
"valueString" : "Patient/"
},
{
"valueId" : "pid"
}
]
}
]
}
]
}
]
},
{
"name" : "mapLabsToDiagnosticReport",
"typeMode" : "none",
"input" : [
{
"name" : "lm",
"type" : "MeaslesLogicalModel",
"mode" : "source"
},
{
"name" : "bundle",
"type" : "Bundle",
"mode" : "target"
},
{
"name" : "composition",
"type" : "MeaslesCIFComposition",
"mode" : "target"
},
{
"name" : "pid",
"mode" : "source"
}
],
"rule" : [
{
"name" : "set section",
"source" : [
{
"context" : "lm"
}
],
"target" : [
{
"context" : "composition",
"contextType" : "variable",
"element" : "section",
"variable" : "section"
},
{
"context" : "section",
"contextType" : "variable",
"element" : "title",
"transform" : "copy",
"parameter" : [
{
"valueString" : "Specimens & Laboratory Testing"
}
]
}
],
"rule" : [
{
"name" : "set diagnosticReport",
"source" : [
{
"context" : "lm",
"element" : "LaboratoryResults",
"variable" : "labs"
}
],
"target" : [
{
"contextType" : "variable",
"variable" : "id",
"transform" : "uuid"
},
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "entry"
},
{
"context" : "entry",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "id"
}
]
},
{
"context" : "section",
"contextType" : "variable",
"element" : "entry",
"variable" : "sectionEntry"
},
{
"context" : "sectionEntry",
"contextType" : "variable",
"element" : "reference",
"transform" : "append",
"parameter" : [
{
"valueString" : "DiagnosticReport/"
},
{
"valueId" : "id"
}
]
},
{
"context" : "entry",
"contextType" : "variable",
"element" : "resource",
"variable" : "diagnosticReport",
"transform" : "create",
"parameter" : [
{
"valueString" : "DiagnosticReport"
}
]
}
],
"rule" : [
{
"name" : "set id",
"source" : [
{
"context" : "labs"
}
],
"target" : [
{
"context" : "diagnosticReport",
"contextType" : "variable",
"element" : "id",
"transform" : "copy",
"parameter" : [
{
"valueId" : "id"
}
]
}
]
},
{
"name" : "set status",
"source" : [
{
"context" : "labs"
}
],
"target" : [
{
"context" : "diagnosticReport",
"contextType" : "variable",
"element" : "status",
"transform" : "copy",
"parameter" : [
{
"valueString" : "registered"
}
]
}
]
},
{
"name" : "set subject",
"source" : [
{
"context" : "labs"
}
],
"target" : [
{
"context" : "diagnosticReport",
"contextType" : "variable",
"element" : "subject",
"variable" : "subject"
},
{
"context" : "subject",
"contextType" : "variable",
"element" : "reference",
"transform" : "append",
"parameter" : [
{
"valueString" : "Patient/"
},
{
"valueId" : "pid"
}
]
}
]
},
{
"name" : "set code",
"source" : [
{
"context" : "labs",
"element" : "Antigen",
"variable" : "antigen"
}
],
"target" : [
{
"context" : "diagnosticReport",
"contextType" : "variable",
"element" : "code",
"variable" : "code"
}
],
"dependent" : [
{
"name" : "mapCodingtoCodeableConcept",
"variable" : [
"antigen",
"code"
]
}
]
},
{
"name" : "set specimen",
"source" : [
{
"context" : "labs"
}
],
"target" : [
{
"contextType" : "variable",
"variable" : "id",
"transform" : "uuid"
},
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "entry"
},
{
"context" : "entry",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "id"
}
]
},
{
"context" : "diagnosticReport",
"contextType" : "variable",
"element" : "specimen",
"variable" : "refSpecimen"
},
{
"context" : "refSpecimen",
"contextType" : "variable",
"element" : "reference",
"transform" : "append",
"parameter" : [
{
"valueString" : "Specimen/"
},
{
"valueId" : "id"
}
]
},
{
"context" : "entry",
"contextType" : "variable",
"element" : "resource",
"variable" : "specimen",
"transform" : "create",
"parameter" : [
{
"valueString" : "Specimen"
}
]
}
],
"rule" : [
{
"name" : "Set idn",
"source" : [
{
"context" : "labs"
}
],
"target" : [
{
"context" : "specimen",
"contextType" : "variable",
"element" : "id",
"transform" : "copy",
"parameter" : [
{
"valueId" : "id"
}
]
}
]
},
{
"name" : "set date",
"source" : [
{
"context" : "labs",
"element" : "SpecimenCollectionDate",
"variable" : "collectDate"
}
],
"target" : [
{
"context" : "specimen",
"contextType" : "variable",
"element" : "collection",
"variable" : "collection"
},
{
"context" : "collection",
"contextType" : "variable",
"element" : "collected",
"transform" : "copy",
"parameter" : [
{
"valueId" : "collectDate"
}
]
}
]
},
{
"name" : "set date",
"source" : [
{
"context" : "labs",
"element" : "SpecimenRecdDate",
"variable" : "recdDate"
}
],
"target" : [
{
"context" : "specimen",
"contextType" : "variable",
"element" : "receivedTime",
"transform" : "copy",
"parameter" : [
{
"valueId" : "recdDate"
}
]
}
]
},
{
"name" : "set type",
"source" : [
{
"context" : "labs",
"element" : "SampleType",
"variable" : "sampleType"
}
],
"target" : [
{
"context" : "specimen",
"contextType" : "variable",
"element" : "type",
"transform" : "copy",
"parameter" : [
{
"valueId" : "sampleType"
}
]
}
]
},
{
"name" : "set note",
"source" : [
{
"context" : "labs",
"element" : "SpecimenNumber",
"variable" : "number"
}
],
"rule" : [
{
"name" : "set note",
"source" : [
{
"context" : "number",
"element" : "display",
"variable" : "text"
}
],
"target" : [
{
"context" : "specimen",
"contextType" : "variable",
"element" : "note",
"variable" : "note"
},
{
"context" : "note",
"contextType" : "variable",
"element" : "text",
"transform" : "copy",
"parameter" : [
{
"valueId" : "text"
}
]
}
]
}
]
}
]
},
{
"name" : "set performer",
"source" : [
{
"context" : "labs"
}
],
"target" : [
{
"contextType" : "variable",
"variable" : "id",
"transform" : "uuid"
},
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "entry"
},
{
"context" : "entry",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "id"
}
]
},
{
"context" : "diagnosticReport",
"contextType" : "variable",
"element" : "performer",
"variable" : "performer"
},
{
"context" : "performer",
"contextType" : "variable",
"element" : "reference",
"transform" : "append",
"parameter" : [
{
"valueString" : "Organization/"
},
{
"valueId" : "id"
}
]
},
{
"context" : "entry",
"contextType" : "variable",
"element" : "resource",
"variable" : "perfOrg",
"transform" : "create",
"parameter" : [
{
"valueString" : "Organization"
}
]
}
],
"rule" : [
{
"name" : "set name",
"source" : [
{
"context" : "labs",
"element" : "LabName",
"variable" : "labName"
}
],
"target" : [
{
"context" : "perfOrg",
"contextType" : "variable",
"element" : "name",
"transform" : "copy",
"parameter" : [
{
"valueId" : "labName"
}
]
}
]
},
{
"name" : "set id",
"source" : [
{
"context" : "labs"
}
],
"target" : [
{
"context" : "perfOrg",
"contextType" : "variable",
"element" : "id",
"transform" : "copy",
"parameter" : [
{
"valueId" : "id"
}
]
}
]
}
]
},
{
"name" : "set results",
"source" : [
{
"context" : "labs"
}
],
"target" : [
{
"contextType" : "variable",
"variable" : "obsid",
"transform" : "uuid"
},
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "entry"
},
{
"context" : "entry",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "obsid"
}
]
},
{
"context" : "diagnosticReport",
"contextType" : "variable",
"element" : "result",
"variable" : "result"
},
{
"context" : "result",
"contextType" : "variable",
"element" : "reference",
"transform" : "append",
"parameter" : [
{
"valueString" : "Observation/"
},
{
"valueId" : "obsid"
}
]
},
{
"context" : "entry",
"contextType" : "variable",
"element" : "resource",
"variable" : "observation",
"transform" : "create",
"parameter" : [
{
"valueString" : "Observation"
}
]
}
],
"rule" : [
{
"name" : "set obsid",
"source" : [
{
"context" : "labs"
}
],
"target" : [
{
"context" : "observation",
"contextType" : "variable",
"element" : "id",
"transform" : "copy",
"parameter" : [
{
"valueId" : "obsid"
}
]
}
]
},
{
"name" : "set testType",
"source" : [
{
"context" : "labs",
"element" : "TypeOfTest",
"variable" : "testType"
}
],
"target" : [
{
"contextType" : "variable",
"transform" : "copy",
"parameter" : [
{
"valueId" : "testType"
}
]
}
],
"rule" : [
{
"name" : "set obs",
"source" : [
{
"context" : "labs",
"element" : "Results",
"variable" : "result"
}
],
"target" : [
{
"contextType" : "variable",
"transform" : "copy",
"parameter" : [
{
"valueId" : "result"
}
]
}
],
"dependent" : [
{
"name" : "createObservationResource",
"variable" : [
"result",
"testType",
"observation",
"pid"
]
}
]
},
{
"name" : "set start date",
"source" : [
{
"context" : "labs",
"element" : "LabResultsDate",
"variable" : "resultDate"
}
],
"target" : [
{
"context" : "observation",
"contextType" : "variable",
"element" : "effective",
"transform" : "copy",
"parameter" : [
{
"valueId" : "resultDate"
}
]
}
]
}
]
}
]
},
{
"name" : "set code",
"source" : [
{
"context" : "labs",
"element" : "TypeOfTest",
"variable" : "testType"
}
],
"target" : [
{
"context" : "diagnosticReport",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueId" : "testType"
}
]
}
]
},
{
"name" : "set date",
"source" : [
{
"context" : "labs",
"element" : "LabResultsDate",
"variable" : "resultDate"
}
],
"target" : [
{
"context" : "diagnosticReport",
"contextType" : "variable",
"element" : "effective",
"transform" : "copy",
"parameter" : [
{
"valueId" : "resultDate"
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "createImmunizationResource",
"typeMode" : "none",
"input" : [
{
"name" : "vax",
"type" : "AFROMRCIFVaccinationStatus",
"mode" : "source"
},
{
"name" : "bundle",
"type" : "Bundle",
"mode" : "target"
},
{
"name" : "section",
"type" : "Element",
"mode" : "target"
},
{
"name" : "pid",
"mode" : "source"
}
],
"rule" : [
{
"name" : "ad",
"source" : [
{
"context" : "vax"
}
],
"target" : [
{
"contextType" : "variable",
"variable" : "id",
"transform" : "uuid"
},
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "entry"
},
{
"context" : "entry",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "id"
}
]
},
{
"context" : "section",
"contextType" : "variable",
"element" : "entry",
"variable" : "sectionEntry"
},
{
"context" : "sectionEntry",
"contextType" : "variable",
"element" : "reference",
"transform" : "append",
"parameter" : [
{
"valueString" : "Immunization/"
},
{
"valueId" : "id"
}
]
},
{
"context" : "entry",
"contextType" : "variable",
"element" : "resource",
"variable" : "immunization",
"transform" : "create",
"parameter" : [
{
"valueString" : "Immunization"
}
]
}
],
"rule" : [
{
"name" : "set id",
"source" : [
{
"context" : "vax"
}
],
"target" : [
{
"context" : "immunization",
"contextType" : "variable",
"element" : "id",
"transform" : "copy",
"parameter" : [
{
"valueId" : "id"
}
]
}
]
},
{
"name" : "set status",
"source" : [
{
"context" : "vax"
}
],
"target" : [
{
"context" : "immunization",
"contextType" : "variable",
"element" : "status",
"transform" : "copy",
"parameter" : [
{
"valueString" : "completed"
}
]
}
]
},
{
"name" : "set",
"source" : [
{
"context" : "vax"
}
],
"target" : [
{
"context" : "immunization",
"contextType" : "variable",
"element" : "vaccineCode",
"variable" : "code"
}
],
"rule" : [
{
"name" : "set code",
"source" : [
{
"context" : "vax",
"element" : "VaccineType",
"variable" : "vaccineType"
}
],
"target" : [
{
"contextType" : "variable",
"transform" : "copy",
"parameter" : [
{
"valueId" : "vaccineType"
}
]
}
],
"dependent" : [
{
"name" : "mapCodingtoCodeableConcept",
"variable" : [
"vaccineType",
"code"
]
}
]
}
]
},
{
"name" : "set",
"source" : [
{
"context" : "vax",
"element" : "Source",
"variable" : "source"
}
],
"target" : [
{
"context" : "immunization",
"contextType" : "variable",
"element" : "reportOrigin",
"variable" : "origin"
}
],
"rule" : [
{
"name" : "set report origin",
"source" : [
{
"context" : "source"
}
],
"target" : [
{
"contextType" : "variable",
"transform" : "copy",
"parameter" : [
{
"valueId" : "source"
}
]
}
],
"dependent" : [
{
"name" : "mapCodingtoCodeableConcept",
"variable" : [
"source",
"origin"
]
}
]
}
]
},
{
"name" : "set date",
"source" : [
{
"context" : "vax",
"element" : "LastDoseDate",
"variable" : "date"
}
],
"target" : [
{
"context" : "immunization",
"contextType" : "variable",
"element" : "occurrence",
"transform" : "copy",
"parameter" : [
{
"valueId" : "date"
}
]
}
]
},
{
"name" : "set dosenumber",
"source" : [
{
"context" : "vax",
"element" : "NumberOfDoses",
"variable" : "doses"
}
],
"rule" : [
{
"name" : "set",
"source" : [
{
"context" : "doses",
"element" : "display",
"variable" : "seriesDose"
}
],
"target" : [
{
"context" : "immunization",
"contextType" : "variable",
"element" : "protocolApplied",
"variable" : "protocol"
},
{
"context" : "protocol",
"contextType" : "variable",
"element" : "series",
"transform" : "copy",
"parameter" : [
{
"valueId" : "seriesDose"
}
]
}
]
}
]
},
{
"name" : "set subject",
"source" : [
{
"context" : "vax"
}
],
"target" : [
{
"context" : "immunization",
"contextType" : "variable",
"element" : "patient",
"variable" : "subject"
},
{
"context" : "subject",
"contextType" : "variable",
"element" : "reference",
"transform" : "append",
"parameter" : [
{
"valueString" : "Patient/"
},
{
"valueId" : "pid"
}
]
}
]
}
]
}
]
},
{
"name" : "mapVaccinationStatusToImmunization",
"typeMode" : "none",
"input" : [
{
"name" : "lm",
"type" : "MeaslesLogicalModel",
"mode" : "source"
},
{
"name" : "bundle",
"type" : "Bundle",
"mode" : "target"
},
{
"name" : "composition",
"type" : "MeaslesCIFComposition",
"mode" : "target"
},
{
"name" : "pid",
"mode" : "source"
}
],
"rule" : [
{
"name" : "set section",
"source" : [
{
"context" : "lm"
}
],
"target" : [
{
"context" : "composition",
"contextType" : "variable",
"element" : "section",
"variable" : "section"
},
{
"context" : "section",
"contextType" : "variable",
"element" : "title",
"transform" : "copy",
"parameter" : [
{
"valueString" : "Vaccination History"
}
]
}
],
"rule" : [
{
"name" : "set status",
"source" : [
{
"context" : "lm",
"element" : "VaccinationStatus",
"variable" : "vax"
}
],
"rule" : [
{
"name" : "do",
"source" : [
{
"context" : "vax",
"element" : "NumberOfDoses",
"variable" : "doses",
"condition" : "code = '99'"
}
],
"target" : [
{
"contextType" : "variable",
"transform" : "copy",
"parameter" : [
{
"valueId" : "doses"
}
]
}
],
"dependent" : [
{
"name" : "createImmunizationResource",
"variable" : [
"vax",
"bundle",
"section",
"pid"
]
}
]
},
{
"name" : "set",
"source" : [
{
"context" : "vax",
"element" : "NumberOfDoses",
"variable" : "doses",
"condition" : "code = '1'"
}
],
"target" : [
{
"contextType" : "variable",
"transform" : "copy",
"parameter" : [
{
"valueId" : "doses"
}
]
}
],
"rule" : [
{
"name" : "do1",
"source" : [
{
"context" : "vax",
"element" : "LastDoseDate",
"variable" : "date"
}
],
"target" : [
{
"contextType" : "variable",
"transform" : "copy",
"parameter" : [
{
"valueId" : "date"
}
]
}
],
"dependent" : [
{
"name" : "createImmunizationResource",
"variable" : [
"vax",
"bundle",
"section",
"pid"
]
}
]
}
]
},
{
"name" : "set doses",
"source" : [
{
"context" : "vax",
"element" : "NumberOfDoses",
"variable" : "doses",
"condition" : "code = '2'"
}
],
"rule" : [
{
"name" : "do2",
"source" : [
{
"context" : "doses"
}
],
"target" : [
{
"contextType" : "variable",
"transform" : "copy",
"parameter" : [
{
"valueId" : "doses"
}
]
}
],
"dependent" : [
{
"name" : "createImmunizationResource",
"variable" : [
"vax",
"bundle",
"section",
"pid"
]
}
]
},
{
"name" : "do",
"source" : [
{
"context" : "vax",
"element" : "LastDoseDate",
"variable" : "date"
}
],
"target" : [
{
"contextType" : "variable",
"transform" : "copy",
"parameter" : [
{
"valueId" : "date"
}
]
}
],
"dependent" : [
{
"name" : "createImmunizationResource",
"variable" : [
"vax",
"bundle",
"section",
"pid"
]
}
]
}
]
},
{
"name" : "set doses",
"source" : [
{
"context" : "vax",
"element" : "NumberOfDoses",
"variable" : "doses",
"condition" : "code = '3'"
}
],
"rule" : [
{
"name" : "do",
"source" : [
{
"context" : "vax"
}
],
"target" : [
{
"contextType" : "variable",
"transform" : "copy",
"parameter" : [
{
"valueId" : "doses"
}
]
}
],
"dependent" : [
{
"name" : "createImmunizationResource",
"variable" : [
"vax",
"bundle",
"section",
"pid"
]
}
]
},
{
"name" : "do",
"source" : [
{
"context" : "vax"
}
],
"target" : [
{
"contextType" : "variable",
"transform" : "copy",
"parameter" : [
{
"valueId" : "doses"
}
]
}
],
"dependent" : [
{
"name" : "createImmunizationResource",
"variable" : [
"vax",
"bundle",
"section",
"pid"
]
}
]
},
{
"name" : "do",
"source" : [
{
"context" : "vax",
"element" : "LastDoseDate",
"variable" : "date"
}
],
"target" : [
{
"contextType" : "variable",
"transform" : "copy",
"parameter" : [
{
"valueId" : "date"
}
]
}
],
"dependent" : [
{
"name" : "createImmunizationResource",
"variable" : [
"vax",
"bundle",
"section",
"pid"
]
}
]
}
]
},
{
"name" : "set doses",
"source" : [
{
"context" : "vax",
"element" : "NumberOfDoses",
"variable" : "doses",
"condition" : "code = '4'"
}
],
"rule" : [
{
"name" : "do",
"source" : [
{
"context" : "vax"
}
],
"target" : [
{
"contextType" : "variable",
"transform" : "copy",
"parameter" : [
{
"valueId" : "doses"
}
]
}
],
"dependent" : [
{
"name" : "createImmunizationResource",
"variable" : [
"vax",
"bundle",
"section",
"pid"
]
}
]
},
{
"name" : "do",
"source" : [
{
"context" : "vax"
}
],
"target" : [
{
"contextType" : "variable",
"transform" : "copy",
"parameter" : [
{
"valueId" : "doses"
}
]
}
],
"dependent" : [
{
"name" : "createImmunizationResource",
"variable" : [
"vax",
"bundle",
"section",
"pid"
]
}
]
},
{
"name" : "do",
"source" : [
{
"context" : "vax"
}
],
"target" : [
{
"contextType" : "variable",
"transform" : "copy",
"parameter" : [
{
"valueId" : "doses"
}
]
}
],
"dependent" : [
{
"name" : "createImmunizationResource",
"variable" : [
"vax",
"bundle",
"section",
"pid"
]
}
]
},
{
"name" : "do",
"source" : [
{
"context" : "vax",
"element" : "LastDoseDate",
"variable" : "date"
}
],
"target" : [
{
"contextType" : "variable",
"transform" : "copy",
"parameter" : [
{
"valueId" : "date"
}
]
}
],
"dependent" : [
{
"name" : "createImmunizationResource",
"variable" : [
"vax",
"bundle",
"section",
"pid"
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "LmToComposition",
"typeMode" : "none",
"input" : [
{
"name" : "lm",
"type" : "AFROMRCIF",
"mode" : "source"
},
{
"name" : "composition",
"type" : "Composition",
"mode" : "target"
},
{
"name" : "cid",
"mode" : "source"
},
{
"name" : "pid",
"mode" : "source"
},
{
"name" : "prid",
"mode" : "source"
},
{
"name" : "oid",
"mode" : "source"
},
{
"name" : "eid",
"mode" : "source"
}
],
"rule" : [
{
"name" : "set id",
"source" : [
{
"context" : "cid"
}
],
"target" : [
{
"context" : "composition",
"contextType" : "variable",
"element" : "id",
"transform" : "copy",
"parameter" : [
{
"valueId" : "cid"
}
]
}
]
},
{
"name" : "set status",
"source" : [
{
"context" : "lm"
}
],
"target" : [
{
"context" : "composition",
"contextType" : "variable",
"element" : "status",
"transform" : "copy",
"parameter" : [
{
"valueString" : "final"
}
]
}
]
},
{
"name" : "set",
"source" : [
{
"context" : "lm",
"element" : "ReportingSource",
"variable" : "src"
}
],
"rule" : [
{
"name" : "set identifier",
"source" : [
{
"context" : "src",
"element" : "UniqueId",
"variable" : "EPIDno"
}
],
"target" : [
{
"context" : "composition",
"contextType" : "variable",
"element" : "identifier",
"variable" : "identifier"
},
{
"context" : "identifier",
"contextType" : "variable",
"element" : "value",
"transform" : "copy",
"parameter" : [
{
"valueId" : "EPIDno"
}
]
}
]
}
]
},
{
"name" : "set title",
"source" : [
{
"context" : "lm"
}
],
"target" : [
{
"context" : "composition",
"contextType" : "variable",
"element" : "title",
"transform" : "copy",
"parameter" : [
{
"valueString" : "PAHO Measles Case Investigation Form"
}
]
}
]
},
{
"name" : "set type",
"source" : [
{
"context" : "lm"
}
],
"target" : [
{
"contextType" : "variable",
"variable" : "coding",
"transform" : "create",
"parameter" : [
{
"valueString" : "Coding"
}
]
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "55751-2"
}
]
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://loinc.org"
}
]
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "display",
"transform" : "copy",
"parameter" : [
{
"valueString" : "Public health Case report"
}
]
},
{
"contextType" : "variable",
"variable" : "code",
"transform" : "create",
"parameter" : [
{
"valueString" : "CodeableConcept"
}
]
},
{
"context" : "code",
"contextType" : "variable",
"element" : "coding",
"transform" : "copy",
"parameter" : [
{
"valueId" : "coding"
}
]
},
{
"context" : "composition",
"contextType" : "variable",
"element" : "type",
"transform" : "copy",
"parameter" : [
{
"valueId" : "code"
}
]
}
]
},
{
"name" : "set date reported local",
"source" : [
{
"context" : "lm",
"element" : "CaseInvestigation",
"variable" : "var"
}
],
"target" : [
{
"contextType" : "variable",
"transform" : "copy",
"parameter" : [
{
"valueId" : "var"
}
]
}
],
"rule" : [
{
"name" : "set date",
"source" : [
{
"context" : "var",
"element" : "DateReportedLocal",
"variable" : "date"
}
],
"target" : [
{
"context" : "composition",
"contextType" : "variable",
"element" : "date",
"transform" : "copy",
"parameter" : [
{
"valueId" : "date"
}
]
}
]
}
]
},
{
"name" : "set subject",
"source" : [
{
"context" : "lm"
}
],
"target" : [
{
"context" : "composition",
"contextType" : "variable",
"element" : "subject",
"variable" : "subject"
}
],
"rule" : [
{
"name" : "set subject",
"source" : [
{
"context" : "lm"
}
],
"target" : [
{
"context" : "subject",
"contextType" : "variable",
"element" : "reference",
"transform" : "append",
"parameter" : [
{
"valueString" : "Patient/"
},
{
"valueId" : "pid"
}
]
}
]
}
]
},
{
"name" : "set author practitioner",
"source" : [
{
"context" : "lm"
}
],
"target" : [
{
"context" : "composition",
"contextType" : "variable",
"element" : "author",
"variable" : "practitioner"
}
],
"rule" : [
{
"name" : "set author practitioner",
"source" : [
{
"context" : "lm"
}
],
"target" : [
{
"context" : "practitioner",
"contextType" : "variable",
"element" : "reference",
"transform" : "append",
"parameter" : [
{
"valueString" : "Practitioner/"
},
{
"valueId" : "prid"
}
]
}
]
}
]
},
{
"name" : "set author org",
"source" : [
{
"context" : "lm"
}
],
"target" : [
{
"context" : "composition",
"contextType" : "variable",
"element" : "author",
"variable" : "institution"
}
],
"rule" : [
{
"name" : "set author institution",
"source" : [
{
"context" : "lm"
}
],
"target" : [
{
"context" : "institution",
"contextType" : "variable",
"element" : "reference",
"transform" : "append",
"parameter" : [
{
"valueString" : "Organization/"
},
{
"valueId" : "oid"
}
]
}
]
}
]
},
{
"name" : "set encounter",
"source" : [
{
"context" : "lm"
}
],
"target" : [
{
"context" : "composition",
"contextType" : "variable",
"element" : "encounter",
"variable" : "encounter"
}
],
"rule" : [
{
"name" : "set encounter",
"source" : [
{
"context" : "lm"
}
],
"target" : [
{
"context" : "encounter",
"contextType" : "variable",
"element" : "reference",
"transform" : "append",
"parameter" : [
{
"valueString" : "Encounter/"
},
{
"valueId" : "eid"
}
]
}
]
}
]
}
]
},
{
"name" : "DemographicsToPatient",
"typeMode" : "none",
"input" : [
{
"name" : "demographics",
"type" : "DemographicsLogicalModel",
"mode" : "source"
},
{
"name" : "patient",
"type" : "MeaslesPatient",
"mode" : "target"
},
{
"name" : "pid",
"mode" : "source"
}
],
"rule" : [
{
"name" : "set patient id",
"source" : [
{
"context" : "pid"
}
],
"target" : [
{
"context" : "patient",
"contextType" : "variable",
"element" : "id",
"transform" : "copy",
"parameter" : [
{
"valueId" : "pid"
}
]
}
]
},
{
"name" : "Set name",
"source" : [
{
"context" : "demographics",
"element" : "Name",
"variable" : "sourceName"
}
],
"target" : [
{
"context" : "patient",
"contextType" : "variable",
"element" : "name",
"variable" : "targetName"
}
],
"rule" : [
{
"name" : "Copy name",
"source" : [
{
"context" : "sourceName"
}
],
"target" : [
{
"contextType" : "variable",
"transform" : "copy",
"parameter" : [
{
"valueId" : "sourceName"
}
]
}
],
"dependent" : [
{
"name" : "humanNameToHumanName",
"variable" : [
"sourceName",
"targetName"
]
}
]
}
]
},
{
"name" : "set date of birth",
"source" : [
{
"context" : "demographics",
"element" : "DateOfBirth",
"variable" : "dob"
}
],
"target" : [
{
"context" : "patient",
"contextType" : "variable",
"element" : "birthDate",
"transform" : "copy",
"parameter" : [
{
"valueId" : "dob"
}
]
}
]
},
{
"name" : "set sex",
"source" : [
{
"context" : "demographics",
"element" : "Sex",
"variable" : "sex"
}
],
"target" : [
{
"context" : "patient",
"contextType" : "variable",
"element" : "gender",
"transform" : "copy",
"parameter" : [
{
"valueId" : "sex"
}
]
}
]
},
{
"name" : "set address",
"source" : [
{
"context" : "demographics",
"element" : "PlaceOfResidence",
"variable" : "sourceAddress"
}
],
"target" : [
{
"context" : "patient",
"contextType" : "variable",
"element" : "address",
"variable" : "targetAddress"
}
],
"rule" : [
{
"name" : "Copy Address",
"source" : [
{
"context" : "sourceAddress"
}
],
"target" : [
{
"contextType" : "variable",
"transform" : "copy",
"parameter" : [
{
"valueId" : "sourceAddress"
}
]
}
],
"dependent" : [
{
"name" : "addressToAddress",
"variable" : [
"sourceAddress",
"targetAddress"
]
}
]
}
]
}
]
},
{
"name" : "classificationToPractitioner",
"typeMode" : "none",
"input" : [
{
"name" : "var",
"type" : "AFROMRCIFClassification",
"mode" : "source"
},
{
"name" : "practitioner",
"type" : "Practitioner",
"mode" : "target"
},
{
"name" : "prid",
"mode" : "source"
}
],
"rule" : [
{
"name" : "set id",
"source" : [
{
"context" : "prid"
}
],
"target" : [
{
"context" : "practitioner",
"contextType" : "variable",
"element" : "id",
"transform" : "copy",
"parameter" : [
{
"valueId" : "prid"
}
]
}
]
},
{
"name" : "set name",
"source" : [
{
"context" : "var",
"element" : "ReportedBy",
"variable" : "name"
}
],
"target" : [
{
"context" : "practitioner",
"contextType" : "variable",
"element" : "name",
"variable" : "humanName"
},
{
"context" : "humanName",
"contextType" : "variable",
"element" : "text",
"transform" : "copy",
"parameter" : [
{
"valueId" : "name"
}
]
}
]
}
]
},
{
"name" : "ReportingSourceToOrganization",
"typeMode" : "none",
"input" : [
{
"name" : "reportingSource",
"type" : "ReportingSourceLogicalModel",
"mode" : "source"
},
{
"name" : "organization",
"type" : "Organization",
"mode" : "target"
},
{
"name" : "oid",
"mode" : "source"
}
],
"rule" : [
{
"name" : "set id",
"source" : [
{
"context" : "oid"
}
],
"target" : [
{
"context" : "organization",
"contextType" : "variable",
"element" : "id",
"transform" : "copy",
"parameter" : [
{
"valueId" : "oid"
}
]
}
]
},
{
"name" : "set name",
"source" : [
{
"context" : "reportingSource",
"element" : "HealthServiceName",
"variable" : "name"
}
],
"target" : [
{
"context" : "organization",
"contextType" : "variable",
"element" : "name",
"transform" : "copy",
"parameter" : [
{
"valueId" : "name"
}
]
}
]
},
{
"name" : "set phone",
"source" : [
{
"context" : "reportingSource",
"element" : "HealthServiceTelephone",
"variable" : "phoneSource"
}
],
"target" : [
{
"context" : "organization",
"contextType" : "variable",
"element" : "contact",
"variable" : "contactDetails"
},
{
"context" : "contactDetails",
"contextType" : "variable",
"element" : "telecom",
"variable" : "phoneTarget"
}
],
"rule" : [
{
"name" : "set org contact",
"source" : [
{
"context" : "phoneSource"
}
],
"target" : [
{
"contextType" : "variable",
"transform" : "copy",
"parameter" : [
{
"valueId" : "phoneSource"
}
]
}
],
"dependent" : [
{
"name" : "contactPointToContactPoint",
"variable" : [
"phoneSource",
"phoneTarget"
]
}
]
}
]
},
{
"name" : "set address",
"source" : [
{
"context" : "reportingSource",
"element" : "PlaceOfReporting",
"variable" : "locationSource"
}
],
"target" : [
{
"context" : "organization",
"contextType" : "variable",
"element" : "contact",
"variable" : "contactDetails"
},
{
"context" : "contactDetails",
"contextType" : "variable",
"element" : "address",
"variable" : "locationTarget"
}
],
"rule" : [
{
"name" : "set org address",
"source" : [
{
"context" : "locationSource"
}
],
"target" : [
{
"contextType" : "variable",
"transform" : "copy",
"parameter" : [
{
"valueId" : "locationSource"
}
]
}
],
"dependent" : [
{
"name" : "contactPointToContactPoint",
"variable" : [
"locationSource",
"locationTarget"
]
}
]
}
]
}
]
},
{
"name" : "createCompositionEncounterResource",
"typeMode" : "none",
"input" : [
{
"name" : "date",
"mode" : "source"
},
{
"name" : "pid",
"mode" : "source"
},
{
"name" : "type",
"type" : "Coding",
"mode" : "source"
},
{
"name" : "eid",
"mode" : "source"
},
{
"name" : "encounter",
"type" : "Encounter",
"mode" : "target"
}
],
"rule" : [
{
"name" : "set id",
"source" : [
{
"context" : "date"
}
],
"target" : [
{
"context" : "encounter",
"contextType" : "variable",
"element" : "id",
"transform" : "copy",
"parameter" : [
{
"valueId" : "eid"
}
]
}
]
},
{
"name" : "set status",
"source" : [
{
"context" : "date"
}
],
"target" : [
{
"context" : "encounter",
"contextType" : "variable",
"element" : "status",
"transform" : "copy",
"parameter" : [
{
"valueString" : "finished"
}
]
}
]
},
{
"name" : "set subject",
"source" : [
{
"context" : "pid"
}
],
"target" : [
{
"context" : "encounter",
"contextType" : "variable",
"element" : "subject",
"variable" : "subject"
},
{
"context" : "subject",
"contextType" : "variable",
"element" : "reference",
"transform" : "append",
"parameter" : [
{
"valueString" : "Patient/"
},
{
"valueId" : "pid"
}
]
}
]
},
{
"name" : "set date",
"source" : [
{
"context" : "date"
}
],
"target" : [
{
"context" : "encounter",
"contextType" : "variable",
"element" : "period",
"variable" : "period"
},
{
"context" : "period",
"contextType" : "variable",
"element" : "start",
"transform" : "copy",
"parameter" : [
{
"valueId" : "date"
}
]
}
]
},
{
"name" : "set type",
"source" : [
{
"context" : "type"
}
],
"target" : [
{
"context" : "encounter",
"contextType" : "variable",
"element" : "class",
"transform" : "copy",
"parameter" : [
{
"valueId" : "type"
}
]
}
]
}
]
}
]
}
IG © 2021+ WHO. Package fhir.worldhealthorganization.smart-ot#0.2.1 based on FHIR 4.0.1. Generated 2023-11-07
Links: Table of Contents |
QA Report
| Issues
| Version History | License