WHO Digital Documentation of COVID-19 Certificates (DDCC), published by WHO. This guide is not an authorized publication; it is the continuous build for version 1.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/WorldHealthOrganization/ddcc/ and changes regularly. See the Directory of published versions
Draft as of 2024-10-17 |
@prefix fhir: <http://hl7.org/fhir/> . @prefix owl: <http://www.w3.org/2002/07/owl#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . # - resource ------------------------------------------------------------------- a fhir:StructureMap ; fhir:nodeRole fhir:treeRoot ; fhir:id [ fhir:v "CertICAOtoCoreDataSet"] ; # fhir:text [ fhir:status [ fhir:v "generated" ] ; fhir:div "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p class=\"res-header-id\"><b>Generated Narrative: StructureMap CertICAOtoCoreDataSet</b></p><a name=\"CertICAOtoCoreDataSet\"> </a><a name=\"hcCertICAOtoCoreDataSet\"> </a><a name=\"CertICAOtoCoreDataSet-en-US\"> </a><pre class=\"fml\">\r\n<b>map</b><span style=\"color: navy\"> "</span>http://smart.who.int/ddcc/StructureMap/CertICAOtoCoreDataSet<span style=\"color: navy\">" = "</span>CertICAOtoCoreDataSet<span style=\"color: navy\">"\r\n\r\n</span><span style=\"color: navy\">// </span><span style=\"color: green\">Structure map transforming CertICAO logical model to bundle of Core Data Set logical model</span>\r\n\r\n<b>uses</b><span style=\"color: navy\"> "</span>http://smart.who.int/ddcc/StructureDefinition/CertICAOVDS<span style=\"color: navy\">" </span><b>alias </b>VDS <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>DDCCBundle <b>as </b><b>target</b>\r\n<b>uses</b><span style=\"color: navy\"> "</span><a href=\"StructureDefinition-DDCCCoreDataSet.html\" title=\"DDCC Core Data Set Logical Model\">http://smart.who.int/ddcc/StructureDefinition/DDCCCoreDataSet</a><span style=\"color: navy\">" </span><b>alias </b>DDCC <b>as </b><b>target</b>\r\n<b>uses</b><span style=\"color: navy\"> "</span><a href=\"StructureDefinition-DDCCCoreDataSetVS.html\" title=\"DDCC Core Data Set Logical Model for Vaccination Status\">http://smart.who.int/ddcc/StructureDefinition/DDCCCoreDataSetVS</a><span style=\"color: navy\">" </span><b>alias </b>DDCCVS <b>as </b><b>target</b>\r\n<b>uses</b><span style=\"color: navy\"> "</span><a href=\"StructureDefinition-DDCCCoreDataSetTR.html\" title=\"DDCC Core Data Set Logical Model for Test Result\">http://smart.who.int/ddcc/StructureDefinition/DDCCCoreDataSetTR</a><span style=\"color: navy\">" </span><b>alias </b>DDCCTR <b>as </b><b>target</b>\r\n\r\n<b>group </b>CertICAOtoCoreDataSet<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">src</span><span style=\"color: navy\"> : </span>VDS, <b>target</b> <span style=\"color: maroon\">ddccBundle</span><span style=\"color: navy\"> : </span>DDCCBundle<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> src.data<b> as </b><span style=\"color: maroon\">data</span><b> then</b><span style=\"color: navy\"> {\r\n</span> data.msg<b> as </b><span style=\"color: maroon\">msg</span><b> then</b><span style=\"color: navy\"> {\r\n</span> msg.ve<b> as </b><span style=\"color: maroon\">ve</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ve.vd<b> as </b><span style=\"color: maroon\">vd</span><span style=\"color: navy\"><b> -> </b></span> ddccBundle.entry<b> as </b><span style=\"color: maroon\">outentry</span><span style=\"color: navy\">, </span> <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'http://smart.who.int/ddcc/StructureDefinition/DDCCCoreDataSetVS'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">ddcc</span><b> then</b><span style=\"color: navy\"> {\r\n</span> data.hdr<b> as </b><span style=\"color: maroon\">hdr</span><span style=\"color: navy\"><b> -> </b></span>ddcc.certificate<b> as </b><span style=\"color: maroon\">certificate</span><b> then </b>VDStoCoreDataSetCertificate<span style=\"color: navy\">(</span><span style=\"color: maroon\">hdr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">msg</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">certificate</span><span style=\"color: navy\">)</span> <i>"set certificate"</i><span style=\"color: navy\">;</span>\r\n msg.pid<b> as </b><span style=\"color: maroon\">pid</span><b> then </b>ExtractPatient<span style=\"color: navy\">(</span><span style=\"color: maroon\">pid</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">ddcc</span><span style=\"color: navy\">)</span> <i>"set patient"</i><span style=\"color: navy\">;</span>\r\n vd<span style=\"color: navy\"><b> -> </b></span>ddcc.vaccination<b> as </b><span style=\"color: maroon\">vaccination</span><b> then </b>ExtractVaccine<span style=\"color: navy\">(</span><span style=\"color: maroon\">ve</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">vd</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">vaccination</span><span style=\"color: navy\">)</span> <i>"set vaccination"</i><span style=\"color: navy\">;</span>\r\n vd<span style=\"color: navy\"><b> -> </b></span>outentry.resource = <span style=\"color: maroon\">ddcc</span> <i>"set outentry"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n msg.tr<b> as </b><span style=\"color: maroon\">tr</span><span style=\"color: navy\"><b> -> </b></span> ddccBundle.entry<b> as </b><span style=\"color: maroon\">outentry</span><span style=\"color: navy\">, </span> <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'http://smart.who.int/ddcc/StructureDefinition/DDCCCoreDataSetTR'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">ddcc</span><b> then</b><span style=\"color: navy\"> {\r\n</span> data.hdr<b> as </b><span style=\"color: maroon\">hdr</span><span style=\"color: navy\"><b> -> </b></span>ddcc.certificate<b> as </b><span style=\"color: maroon\">certificate</span><b> then </b>VDStoCoreDataSetCertificate<span style=\"color: navy\">(</span><span style=\"color: maroon\">hdr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">msg</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">certificate</span><span style=\"color: navy\">)</span> <i>"set certificate"</i><span style=\"color: navy\">;</span>\r\n msg.pid<b> as </b><span style=\"color: maroon\">pid</span><b> then </b>ExtractPatient<span style=\"color: navy\">(</span><span style=\"color: maroon\">pid</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">ddcc</span><span style=\"color: navy\">)</span> <i>"set patient"</i><span style=\"color: navy\">;</span>\r\n msg.sp<b> as </b><span style=\"color: maroon\">sp</span><b> then</b><span style=\"color: navy\"> {\r\n</span> msg.dat<b> as </b><span style=\"color: maroon\">dat</span><span style=\"color: navy\"><b> -> </b></span>ddcc.test<b> as </b><span style=\"color: maroon\">test</span><b> then </b>ExtractTest<span style=\"color: navy\">(</span><span style=\"color: maroon\">sp</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">dat</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">tr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">test</span><span style=\"color: navy\">)</span> <i>"set test"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n tr<span style=\"color: navy\"><b> -> </b></span>outentry.resource = <span style=\"color: maroon\">ddcc</span> <i>"set outentry"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>VDStoCoreDataSetCertificate<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">hdr</span>, <b>source</b> <span style=\"color: maroon\">msg</span>, <b>target</b> <span style=\"color: maroon\">certificate</span><span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> hdr.v<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -> </b></span>certificate.version = <span style=\"color: maroon\">v</span> <i>"set version"</i><span style=\"color: navy\">;</span>\r\n msg.uvci<b> as </b><span style=\"color: maroon\">uvci</span><span style=\"color: navy\"><b> -> </b></span> certificate.hcid<b> as </b><span style=\"color: maroon\">hcid</span><span style=\"color: navy\">, </span> hcid.value = <span style=\"color: maroon\">uvci</span> <i>"set hcid from uvci"</i><span style=\"color: navy\">;</span>\r\n msg.utci<b> as </b><span style=\"color: maroon\">utci</span><span style=\"color: navy\"><b> -> </b></span> certificate.hcid<b> as </b><span style=\"color: maroon\">hcid</span><span style=\"color: navy\">, </span> hcid.value = <span style=\"color: maroon\">utci</span> <i>"set hcid from utci"</i><span style=\"color: navy\">;</span>\r\n hdr.is<b> as </b><span style=\"color: maroon\">is</span><span style=\"color: navy\"><b> -> </b></span> certificate.issuer = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Reference'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">issuer</span><span style=\"color: navy\">, </span> issuer.display = <span style=\"color: maroon\">is</span> <i>"set issuer"</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>ExtractPatient<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">pid</span>, <b>target</b> <span style=\"color: maroon\">ddcc</span><span style=\"color: navy\"> : </span>DDCC<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> pid.n<b> as </b><span style=\"color: maroon\">name</span><span style=\"color: navy\"><b> -> </b></span>ddcc.name = <span style=\"color: maroon\">name</span> <i>"set name"</i><span style=\"color: navy\">;</span>\r\n pid.dob<b> as </b><span style=\"color: maroon\">birthDate</span><span style=\"color: navy\"><b> -> </b></span>ddcc.birthDate = <span style=\"color: maroon\">birthDate</span> <i>"set birthDate"</i><span style=\"color: navy\">;</span>\r\n pid.i<b> as </b><span style=\"color: maroon\">priorityIdentifier</span><span style=\"color: navy\"><b> -> </b></span> ddcc.identifier<b> as </b><span style=\"color: maroon\">identifier</span><span style=\"color: navy\">, </span> identifier.value = <span style=\"color: maroon\">priorityIdentifier</span> <i>"set priorityIdentifier"</i><span style=\"color: navy\">;</span>\r\n pid.dn<span style=\"color: navy\"><b> -> </b></span>ddcc.identifier<b> as </b><span style=\"color: maroon\">identifier</span><b> then </b>ExtractDocumentTypeNumber<span style=\"color: navy\">(</span><span style=\"color: maroon\">pid</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">identifier</span><span style=\"color: navy\">)</span> <i>"set Document Type Number"</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>ExtractDocumentTypeNumber<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">src</span>, <b>target</b> <span style=\"color: maroon\">identif</span><span style=\"color: navy\"> : </span>Identifier<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> src.dn<b> as </b><span style=\"color: maroon\">docNumber</span><span style=\"color: navy\"><b> -> </b></span>identif.value = <span style=\"color: maroon\">docNumber</span> <i>"set doc number"</i><span style=\"color: navy\">;</span>\r\n src.dt<b> as </b><span style=\"color: maroon\">docType</span><b> where </b>(docType = 'P')<span style=\"color: navy\"><b> -> </b></span>identif.system = <span style=\"color: blue\">'PPN'</span> <i>"set doc number P"</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">P – Passport (Doc 9303-4)</span>\r\n src.dt<b> as </b><span style=\"color: maroon\">docType</span><b> where </b>(docType = 'A')<span style=\"color: navy\"><b> -> </b></span>identif.system = <span style=\"color: blue\">'DL'</span> <i>"set doc number A"</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">A – ID Card (Doc 9303-5)</span>\r\n src.dt<b> as </b><span style=\"color: maroon\">docType</span><b> where </b>(docType = 'C')<span style=\"color: navy\"><b> -> </b></span>identif.system = <span style=\"color: blue\">'DL'</span> <i>"set doc number C"</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">C – ID Card (Doc 9303-5)</span>\r\n src.dt<b> as </b><span style=\"color: maroon\">docType</span><b> where </b>(docType = 'I')<span style=\"color: navy\"><b> -> </b></span>identif.system = <span style=\"color: blue\">'DL'</span> <i>"set doc number I"</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">I – ID Card Doc 9303-5)</span>\r\n src.dt<b> as </b><span style=\"color: maroon\">docType</span><b> where </b>(docType = 'AC')<span style=\"color: navy\"><b> -> </b></span>identif.system = <span style=\"color: blue\">'EN'</span> <i>"set doc number AC"</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">AC - Crew Member Certificate (Doc 9303-5)</span>\r\n src.dt<b> as </b><span style=\"color: maroon\">docType</span><b> where </b>(docType = 'V')<span style=\"color: navy\"><b> -> </b></span>identif.system = <span style=\"color: blue\">'ACSN'</span> <i>"set doc number V"</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">V – Visa (Doc 9303-7)</span>\r\n src.dt<b> as </b><span style=\"color: maroon\">docType</span><b> where </b>(docType = 'D')<span style=\"color: navy\"><b> -> </b></span>identif.system = <span style=\"color: blue\">'DL'</span> <i>"set doc number D"</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">D – Driving License (ISO18013-1)</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>ExtractVaccine<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">ve</span>, <b>source</b> <span style=\"color: maroon\">vd</span>, <b>target</b> <span style=\"color: maroon\">vaccination</span><span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> ve.des<b> as </b><span style=\"color: maroon\">des</span><span style=\"color: navy\"><b> -> </b></span> vaccination.vaccine<b> as </b><span style=\"color: maroon\">coding</span><span style=\"color: navy\">, </span> coding.system = <span style=\"color: blue\">'http://id.who.int/icd11/mms'</span><span style=\"color: navy\">, </span> coding.code = <span style=\"color: maroon\">des</span> <i>"set vaccine"</i><span style=\"color: navy\">;</span>\r\n ve.nam<b> as </b><span style=\"color: maroon\">nam</span><span style=\"color: navy\"><b> -> </b></span> vaccination.brand<b> as </b><span style=\"color: maroon\">coding</span><span style=\"color: navy\">, </span> coding.code = <span style=\"color: maroon\">nam</span> <i>"set brand"</i><span style=\"color: navy\">;</span>\r\n ve.dis<b> as </b><span style=\"color: maroon\">dis</span><span style=\"color: navy\"><b> -> </b></span> vaccination.disease<b> as </b><span style=\"color: maroon\">coding</span><span style=\"color: navy\">, </span> coding.system = <span style=\"color: blue\">'http://id.who.int/icd11/mms'</span><span style=\"color: navy\">, </span> coding.code = <span style=\"color: maroon\">dis</span> <i>"set target disease"</i><span style=\"color: navy\">;</span>\r\n vd.dvc<b> as </b><span style=\"color: maroon\">dvc</span><span style=\"color: navy\"><b> -> </b></span>vaccination.date = <span style=\"color: maroon\">dvc</span> <i>"set date"</i><span style=\"color: navy\">;</span>\r\n vd.seq<b> as </b><span style=\"color: maroon\">seq</span><span style=\"color: navy\"><b> -> </b></span>vaccination.dose = <span style=\"color: maroon\">seq</span> <i>"set dose"</i><span style=\"color: navy\">;</span>\r\n vd.dvn<b> as </b><span style=\"color: maroon\">dvn</span><span style=\"color: navy\"><b> -> </b></span>vaccination.nextDose = <span style=\"color: maroon\">dvn</span> <i>"set nextDose"</i><span style=\"color: navy\">;</span>\r\n vd.ctr<b> as </b><span style=\"color: maroon\">ctr</span><span style=\"color: navy\"><b> -> </b></span>vaccination.country<b> as </b><span style=\"color: maroon\">coding</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ctr<b> then </b>ExtractCountry<span style=\"color: navy\">(</span><span style=\"color: maroon\">ctr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">coding</span><span style=\"color: navy\">)</span> <i>"set country"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n vd.adm<b> as </b><span style=\"color: maroon\">adm</span><span style=\"color: navy\"><b> -> </b></span>vaccination.centre = <span style=\"color: maroon\">adm</span> <i>"set centre"</i><span style=\"color: navy\">;</span>\r\n vd.lot<b> as </b><span style=\"color: maroon\">lot</span><span style=\"color: navy\"><b> -> </b></span>vaccination.lot = <span style=\"color: maroon\">lot</span> <i>"set lot"</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>ExtractTest<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">sp</span>, <b>source</b> <span style=\"color: maroon\">dat</span>, <b>source</b> <span style=\"color: maroon\">tr</span>, <b>target</b> <span style=\"color: maroon\">test</span><span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> tr<span style=\"color: navy\"><b> -> </b></span> test.pathogen<b> as </b><span style=\"color: maroon\">coding</span><span style=\"color: navy\">, </span> coding.system = <span style=\"color: blue\">'http://id.who.int/icd11/mms'</span><span style=\"color: navy\">, </span> coding.code = <span style=\"color: blue\">'XN109'</span> <i>"set pathogen"</i><span style=\"color: navy\">;</span>\r\n tr.tc<b> as </b><span style=\"color: maroon\">tc</span><b> then</b><span style=\"color: navy\"> {\r\n</span> tc<span style=\"color: navy\"><b> -> </b></span> test.type<b> as </b><span style=\"color: maroon\">coding</span><span style=\"color: navy\">, </span> coding.code = <span style=\"color: maroon\">tc</span> <i>"set default type"</i><span style=\"color: navy\">;</span>\r\n tc<span style=\"color: navy\"><b> -> </b></span><b>c</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'http://smart.who.int/ddcc/CodeSystem/lab-test-type-icao'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">tc</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">coded</span><b> then</b><span style=\"color: navy\"> {\r\n</span> tc<b> where </b>coded.memberOf('http://smart.who.int/ddcc/ValueSet/lab-test-type-icao')<span style=\"color: navy\"><b> -> </b></span>test.type = <b>translate</b><span style=\"color: navy\">(</span><span style=\"color: maroon\">coded</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'http://smart.who.int/ddcc/ConceptMap/lab-test-type-icao-to-icd11'</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'Coding'</span><span style=\"color: navy\">)</span> <i>"translate ICAO type"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"coding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n tr.m<b> as </b><span style=\"color: maroon\">m</span><b> then</b><span style=\"color: navy\"> {\r\n</span> m<span style=\"color: navy\"><b> -> </b></span> test.origin<b> as </b><span style=\"color: maroon\">coding</span><span style=\"color: navy\">, </span> coding.code = <span style=\"color: maroon\">m</span> <i>"set default origin"</i><span style=\"color: navy\">;</span>\r\n m<span style=\"color: navy\"><b> -> </b></span><b>c</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'http://smart.who.int/ddcc/CodeSystem/lab-test-sample-origin-icao'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">m</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">coded</span><b> then</b><span style=\"color: navy\"> {\r\n</span> m<b> where </b>coded.memberOf('http://smart.who.int/ddcc/ValueSet/lab-test-sample-origin-icao')<span style=\"color: navy\"><b> -> </b></span>test.origin = <b>translate</b><span style=\"color: navy\">(</span><span style=\"color: maroon\">coded</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'http://smart.who.int/ddcc/ConceptMap/lab-test-sample-origin-icao-to-icd11'</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'Coding'</span><span style=\"color: navy\">)</span> <i>"translate ICAO origin"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"coding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n dat.sc<b> as </b><span style=\"color: maroon\">date</span><span style=\"color: navy\"><b> -> </b></span>test.date = <span style=\"color: maroon\">date</span> <i>"set date"</i><span style=\"color: navy\">;</span>\r\n tr.r<b> as </b><span style=\"color: maroon\">r</span><b> then</b><span style=\"color: navy\"> {\r\n</span> r<span style=\"color: navy\"><b> -> </b></span> test.result<b> as </b><span style=\"color: maroon\">coding</span><span style=\"color: navy\">, </span> coding.code = <span style=\"color: maroon\">r</span> <i>"set default result"</i><span style=\"color: navy\">;</span>\r\n r<span style=\"color: navy\"><b> -> </b></span><b>c</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'http://smart.who.int/ddcc/CodeSystem/lab-test-qual-result-icao'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">r</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">coded</span><b> then</b><span style=\"color: navy\"> {\r\n</span> r<b> where </b>coded.memberOf('http://smart.who.int/ddcc/ValueSet/lab-test-qual-result-icao')<span style=\"color: navy\"><b> -> </b></span>test.result = <b>translate</b><span style=\"color: navy\">(</span><span style=\"color: maroon\">coded</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'http://smart.who.int/ddcc/ConceptMap/lab-test-qual-result-icao-to-icd11'</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'Coding'</span><span style=\"color: navy\">)</span> <i>"translate ICAO result"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"coding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n sp.spn<b> as </b><span style=\"color: maroon\">spn</span><span style=\"color: navy\"><b> -> </b></span> test.centre<b> as </b><span style=\"color: maroon\">coding</span><span style=\"color: navy\">, </span> coding.code = <span style=\"color: maroon\">spn</span> <i>"set centre"</i><span style=\"color: navy\">;</span>\r\n sp.ctr<b> as </b><span style=\"color: maroon\">ctr</span><span style=\"color: navy\"><b> -> </b></span>test.country<b> as </b><span style=\"color: maroon\">coding</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ctr<b> then </b>ExtractCountry<span style=\"color: navy\">(</span><span style=\"color: maroon\">ctr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">coding</span><span style=\"color: navy\">)</span> <i>"set country"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>ExtractCountry<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">country</span>, <b>target</b> <span style=\"color: maroon\">coding</span><span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> <span style=\"color: navy\">// </span><span style=\"color: green\">ICAO Doc 9303-1 country codes are a superset of ISO 3166 3 letter codes</span>\r\n country<span style=\"color: navy\"><b> -> </b></span>coding.code = <span style=\"color: maroon\">country</span> <i>"set default country"</i><span style=\"color: navy\">;</span>\r\n country<span style=\"color: navy\"><b> -> </b></span><b>c</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'urn:iso:std:iso:3166'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">country</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">coded</span><b> then</b><span style=\"color: navy\"> {\r\n</span> country<b> where </b>coded.memberOf('http://hl7.org/fhir/ValueSet/iso3166-1-3')<span style=\"color: navy\"><b> -> </b></span> coding.code = <span style=\"color: maroon\">country</span><span style=\"color: navy\">, </span> coding.system = <span style=\"color: blue\">'urn:iso:std:iso:3166'</span> <i>"set country with system"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"coded"</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span></pre></div>" ] ; # fhir:url [ fhir:v "http://smart.who.int/ddcc/StructureMap/CertICAOtoCoreDataSet"^^xsd:anyURI] ; # fhir:version [ fhir:v "1.0.0"] ; # fhir:name [ fhir:v "CertICAOtoCoreDataSet"] ; # fhir:status [ fhir:v "draft"] ; # fhir:date [ fhir:v "2024-10-17T05:03:04+00:00"^^xsd:dateTime] ; # fhir:publisher [ fhir:v "WHO"] ; # fhir:contact ( [ fhir:name [ fhir:v "WHO" ] ; ( fhir:telecom [ fhir:system [ fhir:v "url" ] ; fhir:value [ fhir:v "http://who.int" ] ] ) ] ) ; # fhir:description [ fhir:v "Structure map transforming CertICAO logical model to bundle of Core Data Set logical model"] ; # fhir:jurisdiction ( [ ( fhir:coding [ fhir:system [ fhir:v "http://unstats.un.org/unsd/methods/m49/m49.htm"^^xsd:anyURI ] ; fhir:code [ fhir:v "001" ] ] ) ] ) ; # fhir:structure ( [ fhir:url [ fhir:v "http://smart.who.int/ddcc/StructureDefinition/CertICAOVDS"^^xsd:anyURI ; fhir:link <http://smart.who.int/ddcc/StructureDefinition/CertICAOVDS> ] ; fhir:mode [ fhir:v "source" ] ; fhir:alias [ fhir:v "VDS" ] ] [ fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/Bundle"^^xsd:anyURI ; fhir:link <http://hl7.org/fhir/StructureDefinition/Bundle> ] ; fhir:mode [ fhir:v "target" ] ; fhir:alias [ fhir:v "DDCCBundle" ] ] [ fhir:url [ fhir:v "http://smart.who.int/ddcc/StructureDefinition/DDCCCoreDataSet"^^xsd:anyURI ; fhir:link <http://smart.who.int/ddcc/StructureDefinition/DDCCCoreDataSet> ] ; fhir:mode [ fhir:v "target" ] ; fhir:alias [ fhir:v "DDCC" ] ] [ fhir:url [ fhir:v "http://smart.who.int/ddcc/StructureDefinition/DDCCCoreDataSetVS"^^xsd:anyURI ; fhir:link <http://smart.who.int/ddcc/StructureDefinition/DDCCCoreDataSetVS> ] ; fhir:mode [ fhir:v "target" ] ; fhir:alias [ fhir:v "DDCCVS" ] ] [ fhir:url [ fhir:v "http://smart.who.int/ddcc/StructureDefinition/DDCCCoreDataSetTR"^^xsd:anyURI ; fhir:link <http://smart.who.int/ddcc/StructureDefinition/DDCCCoreDataSetTR> ] ; fhir:mode [ fhir:v "target" ] ; fhir:alias [ fhir:v "DDCCTR" ] ] ) ; # fhir:group ( [ fhir:name [ fhir:v "CertICAOtoCoreDataSet" ] ; fhir:typeMode [ fhir:v "none" ] ; ( fhir:input [ fhir:name [ fhir:v "src" ] ; fhir:type [ fhir:v "VDS" ] ; fhir:mode [ fhir:v "source" ] ] [ fhir:name [ fhir:v "ddccBundle" ] ; fhir:type [ fhir:v "DDCCBundle" ] ; fhir:mode [ fhir:v "target" ] ] ) ; ( fhir:rule [ fhir:name [ fhir:v "data" ] ; ( fhir:source [ fhir:context [ fhir:v "src" ] ; fhir:element [ fhir:v "data" ] ; fhir:variable [ fhir:v "data" ] ] ) ; ( fhir:rule [ fhir:name [ fhir:v "msg" ] ; ( fhir:source [ fhir:context [ fhir:v "data" ] ; fhir:element [ fhir:v "msg" ] ; fhir:variable [ fhir:v "msg" ] ] ) ; ( fhir:rule [ fhir:name [ fhir:v "ve" ] ; ( fhir:source [ fhir:context [ fhir:v "msg" ] ; fhir:element [ fhir:v "ve" ] ; fhir:variable [ fhir:v "ve" ] ] ) ; ( fhir:rule [ fhir:name [ fhir:v "vd" ] ; ( fhir:source [ fhir:context [ fhir:v "ve" ] ; fhir:element [ fhir:v "vd" ] ; fhir:variable [ fhir:v "vd" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "ddccBundle" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "entry" ] ; fhir:variable [ fhir:v "outentry" ] ] [ fhir:contextType [ fhir:v "variable" ] ; fhir:variable [ fhir:v "ddcc" ] ; fhir:transform [ fhir:v "create" ] ; ( fhir:parameter [ fhir:value [ fhir:v "http://smart.who.int/ddcc/StructureDefinition/DDCCCoreDataSetVS" ] ] ) ] ) ; ( fhir:rule [ fhir:name [ fhir:v "set certificate" ] ; ( fhir:source [ fhir:context [ fhir:v "data" ] ; fhir:element [ fhir:v "hdr" ] ; fhir:variable [ fhir:v "hdr" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "ddcc" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "certificate" ] ; fhir:variable [ fhir:v "certificate" ] ] ) ; ( fhir:dependent [ fhir:name [ fhir:v "VDStoCoreDataSetCertificate" ] ; ( fhir:variable [ fhir:v "hdr" ] [ fhir:v "msg" ] [ fhir:v "certificate" ] ) ] ) ] [ fhir:name [ fhir:v "set patient" ] ; ( fhir:source [ fhir:context [ fhir:v "msg" ] ; fhir:element [ fhir:v "pid" ] ; fhir:variable [ fhir:v "pid" ] ] ) ; ( fhir:dependent [ fhir:name [ fhir:v "ExtractPatient" ] ; ( fhir:variable [ fhir:v "pid" ] [ fhir:v "ddcc" ] ) ] ) ] [ fhir:name [ fhir:v "set vaccination" ] ; ( fhir:source [ fhir:context [ fhir:v "vd" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "ddcc" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "vaccination" ] ; fhir:variable [ fhir:v "vaccination" ] ] ) ; ( fhir:dependent [ fhir:name [ fhir:v "ExtractVaccine" ] ; ( fhir:variable [ fhir:v "ve" ] [ fhir:v "vd" ] [ fhir:v "vaccination" ] ) ] ) ] [ fhir:name [ fhir:v "set outentry" ] ; ( fhir:source [ fhir:context [ fhir:v "vd" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "outentry" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "resource" ] ; fhir:transform [ fhir:v "copy" ] ; ( fhir:parameter [ fhir:value [ fhir:v "ddcc" ] ] ) ] ) ] ) ] ) ] [ fhir:name [ fhir:v "tr" ] ; ( fhir:source [ fhir:context [ fhir:v "msg" ] ; fhir:element [ fhir:v "tr" ] ; fhir:variable [ fhir:v "tr" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "ddccBundle" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "entry" ] ; fhir:variable [ fhir:v "outentry" ] ] [ fhir:contextType [ fhir:v "variable" ] ; fhir:variable [ fhir:v "ddcc" ] ; fhir:transform [ fhir:v "create" ] ; ( fhir:parameter [ fhir:value [ fhir:v "http://smart.who.int/ddcc/StructureDefinition/DDCCCoreDataSetTR" ] ] ) ] ) ; ( fhir:rule [ fhir:name [ fhir:v "set certificate" ] ; ( fhir:source [ fhir:context [ fhir:v "data" ] ; fhir:element [ fhir:v "hdr" ] ; fhir:variable [ fhir:v "hdr" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "ddcc" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "certificate" ] ; fhir:variable [ fhir:v "certificate" ] ] ) ; ( fhir:dependent [ fhir:name [ fhir:v "VDStoCoreDataSetCertificate" ] ; ( fhir:variable [ fhir:v "hdr" ] [ fhir:v "msg" ] [ fhir:v "certificate" ] ) ] ) ] [ fhir:name [ fhir:v "set patient" ] ; ( fhir:source [ fhir:context [ fhir:v "msg" ] ; fhir:element [ fhir:v "pid" ] ; fhir:variable [ fhir:v "pid" ] ] ) ; ( fhir:dependent [ fhir:name [ fhir:v "ExtractPatient" ] ; ( fhir:variable [ fhir:v "pid" ] [ fhir:v "ddcc" ] ) ] ) ] [ fhir:name [ fhir:v "sp" ] ; ( fhir:source [ fhir:context [ fhir:v "msg" ] ; fhir:element [ fhir:v "sp" ] ; fhir:variable [ fhir:v "sp" ] ] ) ; ( fhir:rule [ fhir:name [ fhir:v "set test" ] ; ( fhir:source [ fhir:context [ fhir:v "msg" ] ; fhir:element [ fhir:v "dat" ] ; fhir:variable [ fhir:v "dat" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "ddcc" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "test" ] ; fhir:variable [ fhir:v "test" ] ] ) ; ( fhir:dependent [ fhir:name [ fhir:v "ExtractTest" ] ; ( fhir:variable [ fhir:v "sp" ] [ fhir:v "dat" ] [ fhir:v "tr" ] [ fhir:v "test" ] ) ] ) ] ) ] [ fhir:name [ fhir:v "set outentry" ] ; ( fhir:source [ fhir:context [ fhir:v "tr" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "outentry" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "resource" ] ; fhir:transform [ fhir:v "copy" ] ; ( fhir:parameter [ fhir:value [ fhir:v "ddcc" ] ] ) ] ) ] ) ] ) ] ) ] ) ] [ fhir:name [ fhir:v "VDStoCoreDataSetCertificate" ] ; fhir:typeMode [ fhir:v "none" ] ; ( fhir:input [ fhir:name [ fhir:v "hdr" ] ; fhir:mode [ fhir:v "source" ] ] [ fhir:name [ fhir:v "msg" ] ; fhir:mode [ fhir:v "source" ] ] [ fhir:name [ fhir:v "certificate" ] ; fhir:mode [ fhir:v "target" ] ] ) ; ( fhir:rule [ fhir:name [ fhir:v "set version" ] ; ( fhir:source [ fhir:context [ fhir:v "hdr" ] ; fhir:element [ fhir:v "v" ] ; fhir:variable [ fhir:v "v" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "certificate" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "version" ] ; fhir:transform [ fhir:v "copy" ] ; ( fhir:parameter [ fhir:value [ fhir:v "v" ] ] ) ] ) ] [ fhir:name [ fhir:v "set hcid from uvci" ] ; ( fhir:source [ fhir:context [ fhir:v "msg" ] ; fhir:element [ fhir:v "uvci" ] ; fhir:variable [ fhir:v "uvci" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "certificate" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "hcid" ] ; fhir:variable [ fhir:v "hcid" ] ] [ fhir:context [ fhir:v "hcid" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "value" ] ; fhir:transform [ fhir:v "copy" ] ; ( fhir:parameter [ fhir:value [ fhir:v "uvci" ] ] ) ] ) ] [ fhir:name [ fhir:v "set hcid from utci" ] ; ( fhir:source [ fhir:context [ fhir:v "msg" ] ; fhir:element [ fhir:v "utci" ] ; fhir:variable [ fhir:v "utci" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "certificate" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "hcid" ] ; fhir:variable [ fhir:v "hcid" ] ] [ fhir:context [ fhir:v "hcid" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "value" ] ; fhir:transform [ fhir:v "copy" ] ; ( fhir:parameter [ fhir:value [ fhir:v "utci" ] ] ) ] ) ] [ fhir:name [ fhir:v "set issuer" ] ; ( fhir:source [ fhir:context [ fhir:v "hdr" ] ; fhir:element [ fhir:v "is" ] ; fhir:variable [ fhir:v "is" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "certificate" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "issuer" ] ; fhir:variable [ fhir:v "issuer" ] ; fhir:transform [ fhir:v "create" ] ; ( fhir:parameter [ fhir:value [ fhir:v "Reference" ] ] ) ] [ fhir:context [ fhir:v "issuer" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "display" ] ; fhir:transform [ fhir:v "copy" ] ; ( fhir:parameter [ fhir:value [ fhir:v "is" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "ExtractPatient" ] ; fhir:typeMode [ fhir:v "none" ] ; ( fhir:input [ fhir:name [ fhir:v "pid" ] ; fhir:mode [ fhir:v "source" ] ] [ fhir:name [ fhir:v "ddcc" ] ; fhir:type [ fhir:v "DDCC" ] ; fhir:mode [ fhir:v "target" ] ] ) ; ( fhir:rule [ fhir:name [ fhir:v "set name" ] ; ( fhir:source [ fhir:context [ fhir:v "pid" ] ; fhir:element [ fhir:v "n" ] ; fhir:variable [ fhir:v "name" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "ddcc" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "name" ] ; fhir:transform [ fhir:v "copy" ] ; ( fhir:parameter [ fhir:value [ fhir:v "name" ] ] ) ] ) ] [ fhir:name [ fhir:v "set birthDate" ] ; ( fhir:source [ fhir:context [ fhir:v "pid" ] ; fhir:element [ fhir:v "dob" ] ; fhir:variable [ fhir:v "birthDate" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "ddcc" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "birthDate" ] ; fhir:transform [ fhir:v "copy" ] ; ( fhir:parameter [ fhir:value [ fhir:v "birthDate" ] ] ) ] ) ] [ fhir:name [ fhir:v "set priorityIdentifier" ] ; ( fhir:source [ fhir:context [ fhir:v "pid" ] ; fhir:element [ fhir:v "i" ] ; fhir:variable [ fhir:v "priorityIdentifier" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "ddcc" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "identifier" ] ; fhir:variable [ fhir:v "identifier" ] ] [ fhir:context [ fhir:v "identifier" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "value" ] ; fhir:transform [ fhir:v "copy" ] ; ( fhir:parameter [ fhir:value [ fhir:v "priorityIdentifier" ] ] ) ] ) ] [ fhir:name [ fhir:v "set Document Type Number" ] ; ( fhir:source [ fhir:context [ fhir:v "pid" ] ; fhir:element [ fhir:v "dn" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "ddcc" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "identifier" ] ; fhir:variable [ fhir:v "identifier" ] ] ) ; ( fhir:dependent [ fhir:name [ fhir:v "ExtractDocumentTypeNumber" ] ; ( fhir:variable [ fhir:v "pid" ] [ fhir:v "identifier" ] ) ] ) ] ) ] [ fhir:name [ fhir:v "ExtractDocumentTypeNumber" ] ; fhir:typeMode [ fhir:v "none" ] ; ( fhir:input [ fhir:name [ fhir:v "src" ] ; fhir:mode [ fhir:v "source" ] ] [ fhir:name [ fhir:v "identif" ] ; fhir:type [ fhir:v "Identifier" ] ; fhir:mode [ fhir:v "target" ] ] ) ; ( fhir:rule [ fhir:name [ fhir:v "set doc number" ] ; ( fhir:source [ fhir:context [ fhir:v "src" ] ; fhir:element [ fhir:v "dn" ] ; fhir:variable [ fhir:v "docNumber" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "identif" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "value" ] ; fhir:transform [ fhir:v "copy" ] ; ( fhir:parameter [ fhir:value [ fhir:v "docNumber" ] ] ) ] ) ] [ fhir:name [ fhir:v "set doc number P" ] ; ( fhir:source [ fhir:context [ fhir:v "src" ] ; fhir:element [ fhir:v "dt" ] ; fhir:variable [ fhir:v "docType" ] ; fhir:condition [ fhir:v "(docType = 'P')" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "identif" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; ( fhir:parameter [ fhir:value [ fhir:v "PPN" ] ] ) ] ) ; fhir:documentation [ fhir:v "P – Passport (Doc 9303-4)" ] ] [ fhir:name [ fhir:v "set doc number A" ] ; ( fhir:source [ fhir:context [ fhir:v "src" ] ; fhir:element [ fhir:v "dt" ] ; fhir:variable [ fhir:v "docType" ] ; fhir:condition [ fhir:v "(docType = 'A')" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "identif" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; ( fhir:parameter [ fhir:value [ fhir:v "DL" ] ] ) ] ) ; fhir:documentation [ fhir:v "A – ID Card (Doc 9303-5)" ] ] [ fhir:name [ fhir:v "set doc number C" ] ; ( fhir:source [ fhir:context [ fhir:v "src" ] ; fhir:element [ fhir:v "dt" ] ; fhir:variable [ fhir:v "docType" ] ; fhir:condition [ fhir:v "(docType = 'C')" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "identif" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; ( fhir:parameter [ fhir:value [ fhir:v "DL" ] ] ) ] ) ; fhir:documentation [ fhir:v "C – ID Card (Doc 9303-5)" ] ] [ fhir:name [ fhir:v "set doc number I" ] ; ( fhir:source [ fhir:context [ fhir:v "src" ] ; fhir:element [ fhir:v "dt" ] ; fhir:variable [ fhir:v "docType" ] ; fhir:condition [ fhir:v "(docType = 'I')" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "identif" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; ( fhir:parameter [ fhir:value [ fhir:v "DL" ] ] ) ] ) ; fhir:documentation [ fhir:v "I – ID Card Doc 9303-5)" ] ] [ fhir:name [ fhir:v "set doc number AC" ] ; ( fhir:source [ fhir:context [ fhir:v "src" ] ; fhir:element [ fhir:v "dt" ] ; fhir:variable [ fhir:v "docType" ] ; fhir:condition [ fhir:v "(docType = 'AC')" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "identif" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; ( fhir:parameter [ fhir:value [ fhir:v "EN" ] ] ) ] ) ; fhir:documentation [ fhir:v "AC - Crew Member Certificate (Doc 9303-5)" ] ] [ fhir:name [ fhir:v "set doc number V" ] ; ( fhir:source [ fhir:context [ fhir:v "src" ] ; fhir:element [ fhir:v "dt" ] ; fhir:variable [ fhir:v "docType" ] ; fhir:condition [ fhir:v "(docType = 'V')" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "identif" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; ( fhir:parameter [ fhir:value [ fhir:v "ACSN" ] ] ) ] ) ; fhir:documentation [ fhir:v "V – Visa (Doc 9303-7)" ] ] [ fhir:name [ fhir:v "set doc number D" ] ; ( fhir:source [ fhir:context [ fhir:v "src" ] ; fhir:element [ fhir:v "dt" ] ; fhir:variable [ fhir:v "docType" ] ; fhir:condition [ fhir:v "(docType = 'D')" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "identif" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; ( fhir:parameter [ fhir:value [ fhir:v "DL" ] ] ) ] ) ; fhir:documentation [ fhir:v "D – Driving License (ISO18013-1)" ] ] ) ] [ fhir:name [ fhir:v "ExtractVaccine" ] ; fhir:typeMode [ fhir:v "none" ] ; ( fhir:input [ fhir:name [ fhir:v "ve" ] ; fhir:mode [ fhir:v "source" ] ] [ fhir:name [ fhir:v "vd" ] ; fhir:mode [ fhir:v "source" ] ] [ fhir:name [ fhir:v "vaccination" ] ; fhir:mode [ fhir:v "target" ] ] ) ; ( fhir:rule [ fhir:name [ fhir:v "set vaccine" ] ; ( fhir:source [ fhir:context [ fhir:v "ve" ] ; fhir:element [ fhir:v "des" ] ; fhir:variable [ fhir:v "des" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "vaccination" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "vaccine" ] ; fhir:variable [ fhir:v "coding" ] ] [ fhir:context [ fhir:v "coding" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; ( fhir:parameter [ fhir:value [ fhir:v "http://id.who.int/icd11/mms" ] ] ) ] [ fhir:context [ fhir:v "coding" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "code" ] ; fhir:transform [ fhir:v "copy" ] ; ( fhir:parameter [ fhir:value [ fhir:v "des" ] ] ) ] ) ] [ fhir:name [ fhir:v "set brand" ] ; ( fhir:source [ fhir:context [ fhir:v "ve" ] ; fhir:element [ fhir:v "nam" ] ; fhir:variable [ fhir:v "nam" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "vaccination" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "brand" ] ; fhir:variable [ fhir:v "coding" ] ] [ fhir:context [ fhir:v "coding" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "code" ] ; fhir:transform [ fhir:v "copy" ] ; ( fhir:parameter [ fhir:value [ fhir:v "nam" ] ] ) ] ) ] [ fhir:name [ fhir:v "set target disease" ] ; ( fhir:source [ fhir:context [ fhir:v "ve" ] ; fhir:element [ fhir:v "dis" ] ; fhir:variable [ fhir:v "dis" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "vaccination" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "disease" ] ; fhir:variable [ fhir:v "coding" ] ] [ fhir:context [ fhir:v "coding" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; ( fhir:parameter [ fhir:value [ fhir:v "http://id.who.int/icd11/mms" ] ] ) ] [ fhir:context [ fhir:v "coding" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "code" ] ; fhir:transform [ fhir:v "copy" ] ; ( fhir:parameter [ fhir:value [ fhir:v "dis" ] ] ) ] ) ] [ fhir:name [ fhir:v "set date" ] ; ( fhir:source [ fhir:context [ fhir:v "vd" ] ; fhir:element [ fhir:v "dvc" ] ; fhir:variable [ fhir:v "dvc" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "vaccination" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "date" ] ; fhir:transform [ fhir:v "copy" ] ; ( fhir:parameter [ fhir:value [ fhir:v "dvc" ] ] ) ] ) ] [ fhir:name [ fhir:v "set dose" ] ; ( fhir:source [ fhir:context [ fhir:v "vd" ] ; fhir:element [ fhir:v "seq" ] ; fhir:variable [ fhir:v "seq" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "vaccination" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "dose" ] ; fhir:transform [ fhir:v "copy" ] ; ( fhir:parameter [ fhir:value [ fhir:v "seq" ] ] ) ] ) ] [ fhir:name [ fhir:v "set nextDose" ] ; ( fhir:source [ fhir:context [ fhir:v "vd" ] ; fhir:element [ fhir:v "dvn" ] ; fhir:variable [ fhir:v "dvn" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "vaccination" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "nextDose" ] ; fhir:transform [ fhir:v "copy" ] ; ( fhir:parameter [ fhir:value [ fhir:v "dvn" ] ] ) ] ) ] [ fhir:name [ fhir:v "ctr" ] ; ( fhir:source [ fhir:context [ fhir:v "vd" ] ; fhir:element [ fhir:v "ctr" ] ; fhir:variable [ fhir:v "ctr" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "vaccination" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "country" ] ; fhir:variable [ fhir:v "coding" ] ] ) ; ( fhir:rule [ fhir:name [ fhir:v "set country" ] ; ( fhir:source [ fhir:context [ fhir:v "ctr" ] ] ) ; ( fhir:dependent [ fhir:name [ fhir:v "ExtractCountry" ] ; ( fhir:variable [ fhir:v "ctr" ] [ fhir:v "coding" ] ) ] ) ] ) ] [ fhir:name [ fhir:v "set centre" ] ; ( fhir:source [ fhir:context [ fhir:v "vd" ] ; fhir:element [ fhir:v "adm" ] ; fhir:variable [ fhir:v "adm" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "vaccination" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "centre" ] ; fhir:transform [ fhir:v "copy" ] ; ( fhir:parameter [ fhir:value [ fhir:v "adm" ] ] ) ] ) ] [ fhir:name [ fhir:v "set lot" ] ; ( fhir:source [ fhir:context [ fhir:v "vd" ] ; fhir:element [ fhir:v "lot" ] ; fhir:variable [ fhir:v "lot" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "vaccination" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "lot" ] ; fhir:transform [ fhir:v "copy" ] ; ( fhir:parameter [ fhir:value [ fhir:v "lot" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "ExtractTest" ] ; fhir:typeMode [ fhir:v "none" ] ; ( fhir:input [ fhir:name [ fhir:v "sp" ] ; fhir:mode [ fhir:v "source" ] ] [ fhir:name [ fhir:v "dat" ] ; fhir:mode [ fhir:v "source" ] ] [ fhir:name [ fhir:v "tr" ] ; fhir:mode [ fhir:v "source" ] ] [ fhir:name [ fhir:v "test" ] ; fhir:mode [ fhir:v "target" ] ] ) ; ( fhir:rule [ fhir:name [ fhir:v "set pathogen" ] ; ( fhir:source [ fhir:context [ fhir:v "tr" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "test" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "pathogen" ] ; fhir:variable [ fhir:v "coding" ] ] [ fhir:context [ fhir:v "coding" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; ( fhir:parameter [ fhir:value [ fhir:v "http://id.who.int/icd11/mms" ] ] ) ] [ fhir:context [ fhir:v "coding" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "code" ] ; fhir:transform [ fhir:v "copy" ] ; ( fhir:parameter [ fhir:value [ fhir:v "XN109" ] ] ) ] ) ] [ fhir:name [ fhir:v "tc" ] ; ( fhir:source [ fhir:context [ fhir:v "tr" ] ; fhir:element [ fhir:v "tc" ] ; fhir:variable [ fhir:v "tc" ] ] ) ; ( fhir:rule [ fhir:name [ fhir:v "set default type" ] ; ( fhir:source [ fhir:context [ fhir:v "tc" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "test" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "type" ] ; fhir:variable [ fhir:v "coding" ] ] [ fhir:context [ fhir:v "coding" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "code" ] ; fhir:transform [ fhir:v "copy" ] ; ( fhir:parameter [ fhir:value [ fhir:v "tc" ] ] ) ] ) ] [ fhir:name [ fhir:v "coding" ] ; ( fhir:source [ fhir:context [ fhir:v "tc" ] ] ) ; ( fhir:target [ fhir:contextType [ fhir:v "variable" ] ; fhir:variable [ fhir:v "coded" ] ; fhir:transform [ fhir:v "c" ] ; ( fhir:parameter [ fhir:value [ fhir:v "http://smart.who.int/ddcc/CodeSystem/lab-test-type-icao" ] ] [ fhir:value [ fhir:v "tc" ] ] ) ] ) ; ( fhir:rule [ fhir:name [ fhir:v "translate ICAO type" ] ; ( fhir:source [ fhir:context [ fhir:v "tc" ] ; fhir:condition [ fhir:v "coded.memberOf('http://smart.who.int/ddcc/ValueSet/lab-test-type-icao')" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "test" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "type" ] ; fhir:transform [ fhir:v "translate" ] ; ( fhir:parameter [ fhir:value [ fhir:v "coded" ] ] [ fhir:value [ fhir:v "http://smart.who.int/ddcc/ConceptMap/lab-test-type-icao-to-icd11" ] ] [ fhir:value [ fhir:v "Coding" ] ] ) ] ) ] ) ] ) ] [ fhir:name [ fhir:v "m" ] ; ( fhir:source [ fhir:context [ fhir:v "tr" ] ; fhir:element [ fhir:v "m" ] ; fhir:variable [ fhir:v "m" ] ] ) ; ( fhir:rule [ fhir:name [ fhir:v "set default origin" ] ; ( fhir:source [ fhir:context [ fhir:v "m" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "test" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "origin" ] ; fhir:variable [ fhir:v "coding" ] ] [ fhir:context [ fhir:v "coding" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "code" ] ; fhir:transform [ fhir:v "copy" ] ; ( fhir:parameter [ fhir:value [ fhir:v "m" ] ] ) ] ) ] [ fhir:name [ fhir:v "coding" ] ; ( fhir:source [ fhir:context [ fhir:v "m" ] ] ) ; ( fhir:target [ fhir:contextType [ fhir:v "variable" ] ; fhir:variable [ fhir:v "coded" ] ; fhir:transform [ fhir:v "c" ] ; ( fhir:parameter [ fhir:value [ fhir:v "http://smart.who.int/ddcc/CodeSystem/lab-test-sample-origin-icao" ] ] [ fhir:value [ fhir:v "m" ] ] ) ] ) ; ( fhir:rule [ fhir:name [ fhir:v "translate ICAO origin" ] ; ( fhir:source [ fhir:context [ fhir:v "m" ] ; fhir:condition [ fhir:v "coded.memberOf('http://smart.who.int/ddcc/ValueSet/lab-test-sample-origin-icao')" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "test" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "origin" ] ; fhir:transform [ fhir:v "translate" ] ; ( fhir:parameter [ fhir:value [ fhir:v "coded" ] ] [ fhir:value [ fhir:v "http://smart.who.int/ddcc/ConceptMap/lab-test-sample-origin-icao-to-icd11" ] ] [ fhir:value [ fhir:v "Coding" ] ] ) ] ) ] ) ] ) ] [ fhir:name [ fhir:v "set date" ] ; ( fhir:source [ fhir:context [ fhir:v "dat" ] ; fhir:element [ fhir:v "sc" ] ; fhir:variable [ fhir:v "date" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "test" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "date" ] ; fhir:transform [ fhir:v "copy" ] ; ( fhir:parameter [ fhir:value [ fhir:v "date" ] ] ) ] ) ] [ fhir:name [ fhir:v "r" ] ; ( fhir:source [ fhir:context [ fhir:v "tr" ] ; fhir:element [ fhir:v "r" ] ; fhir:variable [ fhir:v "r" ] ] ) ; ( fhir:rule [ fhir:name [ fhir:v "set default result" ] ; ( fhir:source [ fhir:context [ fhir:v "r" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "test" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "result" ] ; fhir:variable [ fhir:v "coding" ] ] [ fhir:context [ fhir:v "coding" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "code" ] ; fhir:transform [ fhir:v "copy" ] ; ( fhir:parameter [ fhir:value [ fhir:v "r" ] ] ) ] ) ] [ fhir:name [ fhir:v "coding" ] ; ( fhir:source [ fhir:context [ fhir:v "r" ] ] ) ; ( fhir:target [ fhir:contextType [ fhir:v "variable" ] ; fhir:variable [ fhir:v "coded" ] ; fhir:transform [ fhir:v "c" ] ; ( fhir:parameter [ fhir:value [ fhir:v "http://smart.who.int/ddcc/CodeSystem/lab-test-qual-result-icao" ] ] [ fhir:value [ fhir:v "r" ] ] ) ] ) ; ( fhir:rule [ fhir:name [ fhir:v "translate ICAO result" ] ; ( fhir:source [ fhir:context [ fhir:v "r" ] ; fhir:condition [ fhir:v "coded.memberOf('http://smart.who.int/ddcc/ValueSet/lab-test-qual-result-icao')" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "test" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "result" ] ; fhir:transform [ fhir:v "translate" ] ; ( fhir:parameter [ fhir:value [ fhir:v "coded" ] ] [ fhir:value [ fhir:v "http://smart.who.int/ddcc/ConceptMap/lab-test-qual-result-icao-to-icd11" ] ] [ fhir:value [ fhir:v "Coding" ] ] ) ] ) ] ) ] ) ] [ fhir:name [ fhir:v "set centre" ] ; ( fhir:source [ fhir:context [ fhir:v "sp" ] ; fhir:element [ fhir:v "spn" ] ; fhir:variable [ fhir:v "spn" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "test" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "centre" ] ; fhir:variable [ fhir:v "coding" ] ] [ fhir:context [ fhir:v "coding" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "code" ] ; fhir:transform [ fhir:v "copy" ] ; ( fhir:parameter [ fhir:value [ fhir:v "spn" ] ] ) ] ) ] [ fhir:name [ fhir:v "ctr" ] ; ( fhir:source [ fhir:context [ fhir:v "sp" ] ; fhir:element [ fhir:v "ctr" ] ; fhir:variable [ fhir:v "ctr" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "test" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "country" ] ; fhir:variable [ fhir:v "coding" ] ] ) ; ( fhir:rule [ fhir:name [ fhir:v "set country" ] ; ( fhir:source [ fhir:context [ fhir:v "ctr" ] ] ) ; ( fhir:dependent [ fhir:name [ fhir:v "ExtractCountry" ] ; ( fhir:variable [ fhir:v "ctr" ] [ fhir:v "coding" ] ) ] ) ] ) ] ) ] [ fhir:name [ fhir:v "ExtractCountry" ] ; fhir:typeMode [ fhir:v "none" ] ; ( fhir:input [ fhir:name [ fhir:v "country" ] ; fhir:mode [ fhir:v "source" ] ] [ fhir:name [ fhir:v "coding" ] ; fhir:mode [ fhir:v "target" ] ] ) ; ( fhir:rule [ fhir:name [ fhir:v "set default country" ] ; ( fhir:source [ fhir:context [ fhir:v "country" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "coding" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "code" ] ; fhir:transform [ fhir:v "copy" ] ; ( fhir:parameter [ fhir:value [ fhir:v "country" ] ] ) ] ) ] [ fhir:name [ fhir:v "coded" ] ; ( fhir:source [ fhir:context [ fhir:v "country" ] ] ) ; ( fhir:target [ fhir:contextType [ fhir:v "variable" ] ; fhir:variable [ fhir:v "coded" ] ; fhir:transform [ fhir:v "c" ] ; ( fhir:parameter [ fhir:value [ fhir:v "urn:iso:std:iso:3166" ] ] [ fhir:value [ fhir:v "country" ] ] ) ] ) ; ( fhir:rule [ fhir:name [ fhir:v "set country with system" ] ; ( fhir:source [ fhir:context [ fhir:v "country" ] ; fhir:condition [ fhir:v "coded.memberOf('http://hl7.org/fhir/ValueSet/iso3166-1-3')" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "coding" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "code" ] ; fhir:transform [ fhir:v "copy" ] ; ( fhir:parameter [ fhir:value [ fhir:v "country" ] ] ) ] [ fhir:context [ fhir:v "coding" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; ( fhir:parameter [ fhir:value [ fhir:v "urn:iso:std:iso:3166" ] ] ) ] ) ] ) ] ) ] ) . #
IG © 2021+ WHO. Package who.ddcc#1.0.0 based on FHIR 4.0.1. Generated 2024-10-17
Links: Table of Contents |
QA Report
| Issues
| Version History | License