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 "DDCCtoSHC"] ; # 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 DDCCtoSHC</b></p><a name=\"DDCCtoSHC\"> </a><a name=\"hcDDCCtoSHC\"> </a><a name=\"DDCCtoSHC-en-US\"> </a><pre class=\"fml\">\r\n<b>map</b><span style=\"color: navy\"> "</span>http://smart.who.int/ddcc/StructureMap/DDCCtoSHC<span style=\"color: navy\">" = "</span>DDCCtoSHC<span style=\"color: navy\">"\r\n\r\n</span><b>uses</b><span style=\"color: navy\"> "</span><a href=\"StructureDefinition-DDCCDocument.html\" title=\"DDCC Document\">http://smart.who.int/ddcc/StructureDefinition/DDCCDocument</a><span style=\"color: navy\">" </span><b>alias </b>DDCCDocument <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> "</span><a href=\"StructureDefinition-DDCCPatient.html\" title=\"DDCC Patient\">http://smart.who.int/ddcc/StructureDefinition/DDCCPatient</a><span style=\"color: navy\">" </span><b>alias </b>DDCCPatient <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> "</span><a href=\"StructureDefinition-DDCCComposition.html\" title=\"DDCC Composition\">http://smart.who.int/ddcc/StructureDefinition/DDCCComposition</a><span style=\"color: navy\">" </span><b>alias </b>DDCCComposition <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> "</span><a href=\"StructureDefinition-DDCCOrganization.html\" title=\"DDCC Organization\">http://smart.who.int/ddcc/StructureDefinition/DDCCOrganization</a><span style=\"color: navy\">" </span><b>alias </b>DDCCOrganization <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> "</span>http://smart.who.int/ddcc/StructureDefinition/DDCCCountryOfVaccination<span style=\"color: navy\">" </span><b>alias </b>DDCCCountryOfVaccination <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> "</span>http://smart.who.int/ddcc/StructureDefinition/DDCCVaccineBrand<span style=\"color: navy\">" </span><b>alias </b>DDCCVaccineBrand <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> "</span><a href=\"StructureDefinition-DDCCImmunization.html\" title=\"DDCC Immunization\">http://smart.who.int/ddcc/StructureDefinition/DDCCImmunization</a><span style=\"color: navy\">" </span><b>alias </b>DDCCImmunization <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> "</span>http://hl7.org/fhir/uv/shc-vaccination/StructureDefinition/shc-vaccination-bundle-dm<span style=\"color: navy\">" </span><b>alias </b>SHCVaccinationBundleDM <b>as </b><b>target</b>\r\n<b>uses</b><span style=\"color: navy\"> "</span>http://hl7.org/fhir/uv/shc-vaccination/StructureDefinition/shc-patient-general-dm<span style=\"color: navy\">" </span><b>alias </b>SHCPatientDM <b>as </b><b>target</b>\r\n<b>uses</b><span style=\"color: navy\"> "</span>http://hl7.org/fhir/uv/shc-vaccination/StructureDefinition/shc-vaccination-dm<span style=\"color: navy\">" </span><b>alias </b>SHCImmunizationDM <b>as </b><b>target</b>\r\n\r\n<b>group </b>DDCCtoSHC<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">ddcc</span><span style=\"color: navy\"> : </span>DDCCDocument, <b>target</b> <span style=\"color: maroon\">shc</span><span style=\"color: navy\"> : </span>SHCVaccinationBundleDM<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> ddcc<span style=\"color: navy\"><b> -> </b></span>shc.type = <span style=\"color: blue\">'collection'</span> <i>"set bundle type"</i><span style=\"color: navy\">;</span>\r\n ddcc.entry<b> as </b><span style=\"color: maroon\">entry</span><b> then</b><span style=\"color: navy\"> {\r\n</span> entry.resource<span style=\"color: navy\"> : </span>Patient first<b> as </b><span style=\"color: maroon\">patient</span><b> then</b><span style=\"color: navy\"> {\r\n</span> entry<span style=\"color: navy\"><b> -> </b></span>shc.entry<b> as </b><span style=\"color: maroon\">entrySHC</span><b> then</b><span style=\"color: navy\"> {\r\n</span> entry.fullUrl<span style=\"color: navy\"><b> -> </b></span>entrySHC.fullUrl = <span style=\"color: blue\">'resource:0'</span> <i>"Full URL"</i><span style=\"color: navy\">;</span>\r\n patient<span style=\"color: navy\"><b> -> </b></span>entrySHC.resource = <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\">patientSHC</span><b> then </b>DDCCPatienttoSHC<span style=\"color: navy\">(</span><span style=\"color: maroon\">patient</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">patientSHC</span><span style=\"color: navy\">)</span> <i>"Patient resource"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"Patient entry"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"Is Patient entry"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"map patients"</i><span style=\"color: navy\">;</span>\r\n ddcc.entry<b> as </b><span style=\"color: maroon\">entry</span><b> then</b><span style=\"color: navy\"> {\r\n</span> entry.resource<span style=\"color: navy\"> : </span>Immunization first<b> as </b><span style=\"color: maroon\">immunization</span><b> where </b>status = 'completed'<b> then</b><span style=\"color: navy\"> {\r\n</span> entry<span style=\"color: navy\"><b> -> </b></span>shc.entry<b> as </b><span style=\"color: maroon\">entrySHC</span><b> then</b><span style=\"color: navy\"> {\r\n</span> entry.fullUrl<span style=\"color: navy\"><b> -> </b></span>entrySHC.fullUrl = <span style=\"color: blue\">'resource:1'</span> <i>"Full URL"</i><span style=\"color: navy\">;</span>\r\n immunization<span style=\"color: navy\"><b> -> </b></span>entrySHC.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\">immunizationSHC</span><b> then</b><span style=\"color: navy\"> {\r\n</span> immunization<span style=\"color: navy\"><b> -> </b></span>immunizationSHC<b> then </b>DDCCImmunizationtoSHC<span style=\"color: navy\">(</span><span style=\"color: maroon\">immunization</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">immunizationSHC</span><span style=\"color: navy\">)</span> <i>"Immunization"</i><span style=\"color: navy\">;</span>\r\n ddcc.entry<b> as </b><span style=\"color: maroon\">orgEntry</span><b> then</b><span style=\"color: navy\"> {\r\n</span> orgEntry.resource<span style=\"color: navy\"> : </span>Organization first<b> as </b><span style=\"color: maroon\">organization</span><b> then </b>DDCCOrganizationtoSHCImmunization<span style=\"color: navy\">(</span><span style=\"color: maroon\">organization</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">immunizationSHC</span><span style=\"color: navy\">)</span> <i>"Organization entry"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"map organizations"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"Immunization resource"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"Immunization entry"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"Is Immunization entry"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"map immunizations"</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>DDCCPatienttoSHC<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">patient</span><span style=\"color: navy\"> : </span>DDCCPatient, <b>target</b> <span style=\"color: maroon\">patientSHC</span><span style=\"color: navy\"> : </span>SHCPatientDM<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> patient.name only_one<b> as </b><span style=\"color: maroon\">name</span><span style=\"color: navy\"><b> -> </b></span>patientSHC.name<b> as </b><span style=\"color: maroon\">nameSHC</span><b> then</b><span style=\"color: navy\"> {\r\n</span> name.given<b> as </b><span style=\"color: maroon\">givenname</span><span style=\"color: navy\"><b> -> </b></span>nameSHC.given = <span style=\"color: maroon\">givenname</span> <i>"Given Name"</i><span style=\"color: navy\">;</span>\r\n name.family<b> as </b><span style=\"color: maroon\">familyname</span><span style=\"color: navy\"><b> -> </b></span>nameSHC.family = <span style=\"color: maroon\">familyname</span> <i>"Family Name"</i><span style=\"color: navy\">;</span>\r\n name<b> where </b>name.given.exists().not() and name.family.exists().not()<b> then</b><span style=\"color: navy\"> {\r\n</span> name.text<b> as </b><span style=\"color: maroon\">text</span><span style=\"color: navy\"><b> -> </b></span>nameSHC.text = <span style=\"color: maroon\">text</span> <i>"Text Name"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"vcnameinvariant"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"Name"</i><span style=\"color: navy\">;</span>\r\n patient.birthDate<b> as </b><span style=\"color: maroon\">birthDate</span><span style=\"color: navy\"><b> -> </b></span>patientSHC.birthDate = <span style=\"color: maroon\">birthDate</span> <i>"Birth Date"</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>DDCCImmunizationtoSHC<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">immunization</span><span style=\"color: navy\"> : </span>DDCCImmunization, <b>target</b> <span style=\"color: maroon\">immunizationSHC</span><span style=\"color: navy\"> : </span>SHCImmunizationDM<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> immunization.status<b> as </b><span style=\"color: maroon\">status</span><span style=\"color: navy\"><b> -> </b></span>immunizationSHC.status = <span style=\"color: maroon\">status</span> <i>"Status"</i><span style=\"color: navy\">;</span>\r\n immunization.vaccineCode<b> as </b><span style=\"color: maroon\">vaccineCode</span><span style=\"color: navy\"><b> -> </b></span>immunizationSHC.vaccineCode<b> as </b><span style=\"color: maroon\">vaccineCodeSHC</span><b> then</b><span style=\"color: navy\"> {\r\n</span> vaccineCode.coding first<b> as </b><span style=\"color: maroon\">coding</span><span style=\"color: navy\"><b> -> </b></span>vaccineCodeSHC.coding<b> as </b><span style=\"color: maroon\">codingSHC</span><b> then </b>MinimizeCoding<span style=\"color: navy\">(</span><span style=\"color: maroon\">coding</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">codingSHC</span><span style=\"color: navy\">)</span><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"VaccineCode"</i><span style=\"color: navy\">;</span>\r\n immunization.patient<b> as </b><span style=\"color: maroon\">patient</span><span style=\"color: navy\"><b> -> </b></span> immunizationSHC.patient<b> as </b><span style=\"color: maroon\">patientSHC</span><span style=\"color: navy\">, </span> patientSHC.reference = <span style=\"color: blue\">'resource:0'</span> <i>"Patient"</i><span style=\"color: navy\">;</span>\r\n immunization.occurrence<b> as </b><span style=\"color: maroon\">occurrenceDateTime</span><span style=\"color: navy\"><b> -> </b></span>immunizationSHC.occurrence = <span style=\"color: maroon\">occurrenceDateTime</span> <i>"Occurrence DateTime"</i><span style=\"color: navy\">;</span>\r\n immunization.extension<b> as </b><span style=\"color: maroon\">ext</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ext first<b> as </b><span style=\"color: maroon\">maholder</span><b> where </b>ext.url = 'http://smart.who.int/ddcc/StructureDefinition/DDCCVaccineMarketAuthorization'<b> then</b><span style=\"color: navy\"> {\r\n</span> maholder.valueCoding<b> as </b><span style=\"color: maroon\">coding</span><span style=\"color: navy\"><b> -> </b></span> immunizationSHC.manufacturer<b> as </b><span style=\"color: maroon\">tman</span><span style=\"color: navy\">, </span> tman.identifier<b> as </b><span style=\"color: maroon\">tident</span><b> then</b><span style=\"color: navy\"> {\r\n</span> coding.system<b> as </b><span style=\"color: maroon\">system</span><span style=\"color: navy\"><b> -> </b></span>tident.system = <span style=\"color: maroon\">system</span><span style=\"color: navy\">;</span>\r\n coding.code<b> as </b><span style=\"color: maroon\">code</span><span style=\"color: navy\"><b> -> </b></span>tident.value = <span style=\"color: maroon\">code</span> <i>"value"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"Manufacturer"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"DDCCVaccineMarketAuthorization"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"Extension"</i><span style=\"color: navy\">;</span>\r\n immunization<b> as </b><span style=\"color: maroon\">src</span><b> where </b>extension.where(url = 'http://smart.who.int/ddcc/StructureDefinition/DDCCVaccineMarketAuthorization').first().valueCoding.exists().not()<b> then</b><span style=\"color: navy\"> {\r\n</span> src.manufacturer<b> as </b><span style=\"color: maroon\">manufacturer</span><b> then</b><span style=\"color: navy\"> {\r\n</span> manufacturer.identifier<b> as </b><span style=\"color: maroon\">identifier</span><span style=\"color: navy\"><b> -> </b></span> immunizationSHC.manufacturer<b> as </b><span style=\"color: maroon\">tman</span><span style=\"color: navy\">, </span> tman.identifier<b> as </b><span style=\"color: maroon\">tident</span><b> then</b><span style=\"color: navy\"> {\r\n</span> identifier.system<b> as </b><span style=\"color: maroon\">system</span><span style=\"color: navy\"><b> -> </b></span>tident.system = <span style=\"color: maroon\">system</span><span style=\"color: navy\">;</span>\r\n identifier.value<b> as </b><span style=\"color: maroon\">value</span><span style=\"color: navy\"><b> -> </b></span>tident.value = <span style=\"color: maroon\">value</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> <i>"Manufacturer"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"if maholder code empty"</i><span style=\"color: navy\">;</span>\r\n immunization.lotNumber<b> as </b><span style=\"color: maroon\">lotNumber</span><span style=\"color: navy\"><b> -> </b></span>immunizationSHC.lotNumber = <span style=\"color: maroon\">lotNumber</span> <i>"Lot Number"</i><span style=\"color: navy\">;</span>\r\n immunization.isSubpotent<b> as </b><span style=\"color: maroon\">isSubpotent</span><b> where </b>true<span style=\"color: navy\"><b> -> </b></span>immunizationSHC.isSubpotent = <span style=\"color: maroon\">isSubpotent</span> <i>"Is Subpotent"</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>DDCCOrganizationtoSHCImmunization<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">organization</span><span style=\"color: navy\"> : </span>DDCCOrganization, <b>target</b> <span style=\"color: maroon\">immunizationSHC</span><span style=\"color: navy\"> : </span>SHCImmunizationDM<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> organization.name<b> as </b><span style=\"color: maroon\">name</span><span style=\"color: navy\"><b> -> </b></span> immunizationSHC.performer<b> as </b><span style=\"color: maroon\">performer</span><span style=\"color: navy\">, </span> performer.actor<b> as </b><span style=\"color: maroon\">actor</span><span style=\"color: navy\">, </span> actor.display = <span style=\"color: maroon\">name</span> <i>"Performer Actor Display"</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>MinimizeCoding<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">src</span><span style=\"color: navy\"> : </span>Coding, <b>target</b> <span style=\"color: maroon\">tgt</span><span style=\"color: navy\"> : </span>Coding<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> src.system<b> as </b><span style=\"color: maroon\">system</span><span style=\"color: navy\"><b> -> </b></span>tgt.system = <span style=\"color: maroon\">system</span><span style=\"color: navy\">;</span>\r\n src.code<b> as </b><span style=\"color: maroon\">code</span><span style=\"color: navy\"><b> -> </b></span>tgt.code = <span style=\"color: maroon\">code</span><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/DDCCtoSHC"^^xsd:anyURI] ; # fhir:version [ fhir:v "1.0.0"] ; # fhir:name [ fhir:v "DDCCtoSHC"] ; # 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: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/DDCCDocument"^^xsd:anyURI ; fhir:link <http://smart.who.int/ddcc/StructureDefinition/DDCCDocument> ] ; fhir:mode [ fhir:v "source" ] ; fhir:alias [ fhir:v "DDCCDocument" ] ] [ fhir:url [ fhir:v "http://smart.who.int/ddcc/StructureDefinition/DDCCPatient"^^xsd:anyURI ; fhir:link <http://smart.who.int/ddcc/StructureDefinition/DDCCPatient> ] ; fhir:mode [ fhir:v "source" ] ; fhir:alias [ fhir:v "DDCCPatient" ] ] [ fhir:url [ fhir:v "http://smart.who.int/ddcc/StructureDefinition/DDCCComposition"^^xsd:anyURI ; fhir:link <http://smart.who.int/ddcc/StructureDefinition/DDCCComposition> ] ; fhir:mode [ fhir:v "source" ] ; fhir:alias [ fhir:v "DDCCComposition" ] ] [ fhir:url [ fhir:v "http://smart.who.int/ddcc/StructureDefinition/DDCCOrganization"^^xsd:anyURI ; fhir:link <http://smart.who.int/ddcc/StructureDefinition/DDCCOrganization> ] ; fhir:mode [ fhir:v "source" ] ; fhir:alias [ fhir:v "DDCCOrganization" ] ] [ fhir:url [ fhir:v "http://smart.who.int/ddcc/StructureDefinition/DDCCCountryOfVaccination"^^xsd:anyURI ; fhir:link <http://smart.who.int/ddcc/StructureDefinition/DDCCCountryOfVaccination> ] ; fhir:mode [ fhir:v "source" ] ; fhir:alias [ fhir:v "DDCCCountryOfVaccination" ] ] [ fhir:url [ fhir:v "http://smart.who.int/ddcc/StructureDefinition/DDCCVaccineBrand"^^xsd:anyURI ; fhir:link <http://smart.who.int/ddcc/StructureDefinition/DDCCVaccineBrand> ] ; fhir:mode [ fhir:v "source" ] ; fhir:alias [ fhir:v "DDCCVaccineBrand" ] ] [ fhir:url [ fhir:v "http://smart.who.int/ddcc/StructureDefinition/DDCCImmunization"^^xsd:anyURI ; fhir:link <http://smart.who.int/ddcc/StructureDefinition/DDCCImmunization> ] ; fhir:mode [ fhir:v "source" ] ; fhir:alias [ fhir:v "DDCCImmunization" ] ] [ fhir:url [ fhir:v "http://hl7.org/fhir/uv/shc-vaccination/StructureDefinition/shc-vaccination-bundle-dm"^^xsd:anyURI ; fhir:link <http://hl7.org/fhir/uv/shc-vaccination/StructureDefinition/shc-vaccination-bundle-dm> ] ; fhir:mode [ fhir:v "target" ] ; fhir:alias [ fhir:v "SHCVaccinationBundleDM" ] ] [ fhir:url [ fhir:v "http://hl7.org/fhir/uv/shc-vaccination/StructureDefinition/shc-patient-general-dm"^^xsd:anyURI ; fhir:link <http://hl7.org/fhir/uv/shc-vaccination/StructureDefinition/shc-patient-general-dm> ] ; fhir:mode [ fhir:v "target" ] ; fhir:alias [ fhir:v "SHCPatientDM" ] ] [ fhir:url [ fhir:v "http://hl7.org/fhir/uv/shc-vaccination/StructureDefinition/shc-vaccination-dm"^^xsd:anyURI ; fhir:link <http://hl7.org/fhir/uv/shc-vaccination/StructureDefinition/shc-vaccination-dm> ] ; fhir:mode [ fhir:v "target" ] ; fhir:alias [ fhir:v "SHCImmunizationDM" ] ] ) ; # fhir:group ( [ fhir:name [ fhir:v "DDCCtoSHC" ] ; fhir:typeMode [ fhir:v "none" ] ; ( fhir:input [ fhir:name [ fhir:v "ddcc" ] ; fhir:type [ fhir:v "DDCCDocument" ] ; fhir:mode [ fhir:v "source" ] ] [ fhir:name [ fhir:v "shc" ] ; fhir:type [ fhir:v "SHCVaccinationBundleDM" ] ; fhir:mode [ fhir:v "target" ] ] ) ; ( fhir:rule [ fhir:name [ fhir:v "set bundle type" ] ; ( fhir:source [ fhir:context [ fhir:v "ddcc" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "shc" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "type" ] ; fhir:transform [ fhir:v "copy" ] ; ( fhir:parameter [ fhir:value [ fhir:v "collection" ] ] ) ] ) ] [ fhir:name [ fhir:v "map patients" ] ; ( fhir:source [ fhir:context [ fhir:v "ddcc" ] ; fhir:element [ fhir:v "entry" ] ; fhir:variable [ fhir:v "entry" ] ] ) ; ( fhir:rule [ fhir:name [ fhir:v "Is Patient entry" ] ; ( fhir:source [ fhir:context [ fhir:v "entry" ] ; fhir:type [ fhir:v "Patient" ] ; fhir:element [ fhir:v "resource" ] ; fhir:listMode [ fhir:v "first" ] ; fhir:variable [ fhir:v "patient" ] ] ) ; ( fhir:rule [ fhir:name [ fhir:v "Patient entry" ] ; ( fhir:source [ fhir:context [ fhir:v "entry" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "shc" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "entry" ] ; fhir:variable [ fhir:v "entrySHC" ] ] ) ; ( fhir:rule [ fhir:name [ fhir:v "Full URL" ] ; ( fhir:source [ fhir:context [ fhir:v "entry" ] ; fhir:element [ fhir:v "fullUrl" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "entrySHC" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "fullUrl" ] ; fhir:transform [ fhir:v "copy" ] ; ( fhir:parameter [ fhir:value [ fhir:v "resource:0" ] ] ) ] ) ] [ fhir:name [ fhir:v "Patient resource" ] ; ( fhir:source [ fhir:context [ fhir:v "patient" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "entrySHC" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "resource" ] ; fhir:variable [ fhir:v "patientSHC" ] ; fhir:transform [ fhir:v "create" ] ; ( fhir:parameter [ fhir:value [ fhir:v "Patient" ] ] ) ] ) ; ( fhir:dependent [ fhir:name [ fhir:v "DDCCPatienttoSHC" ] ; ( fhir:variable [ fhir:v "patient" ] [ fhir:v "patientSHC" ] ) ] ) ] ) ] ) ] ) ] [ fhir:name [ fhir:v "map immunizations" ] ; ( fhir:source [ fhir:context [ fhir:v "ddcc" ] ; fhir:element [ fhir:v "entry" ] ; fhir:variable [ fhir:v "entry" ] ] ) ; ( fhir:rule [ fhir:name [ fhir:v "Is Immunization entry" ] ; ( fhir:source [ fhir:context [ fhir:v "entry" ] ; fhir:type [ fhir:v "Immunization" ] ; fhir:element [ fhir:v "resource" ] ; fhir:listMode [ fhir:v "first" ] ; fhir:variable [ fhir:v "immunization" ] ; fhir:condition [ fhir:v "status = 'completed'" ] ] ) ; ( fhir:rule [ fhir:name [ fhir:v "Immunization entry" ] ; ( fhir:source [ fhir:context [ fhir:v "entry" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "shc" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "entry" ] ; fhir:variable [ fhir:v "entrySHC" ] ] ) ; ( fhir:rule [ fhir:name [ fhir:v "Full URL" ] ; ( fhir:source [ fhir:context [ fhir:v "entry" ] ; fhir:element [ fhir:v "fullUrl" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "entrySHC" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "fullUrl" ] ; fhir:transform [ fhir:v "copy" ] ; ( fhir:parameter [ fhir:value [ fhir:v "resource:1" ] ] ) ] ) ] [ fhir:name [ fhir:v "Immunization resource" ] ; ( fhir:source [ fhir:context [ fhir:v "immunization" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "entrySHC" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "resource" ] ; fhir:variable [ fhir:v "immunizationSHC" ] ; fhir:transform [ fhir:v "create" ] ; ( fhir:parameter [ fhir:value [ fhir:v "Immunization" ] ] ) ] ) ; ( fhir:rule [ fhir:name [ fhir:v "Immunization" ] ; ( fhir:source [ fhir:context [ fhir:v "immunization" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "immunizationSHC" ] ; fhir:contextType [ fhir:v "variable" ] ] ) ; ( fhir:dependent [ fhir:name [ fhir:v "DDCCImmunizationtoSHC" ] ; ( fhir:variable [ fhir:v "immunization" ] [ fhir:v "immunizationSHC" ] ) ] ) ] [ fhir:name [ fhir:v "map organizations" ] ; ( fhir:source [ fhir:context [ fhir:v "ddcc" ] ; fhir:element [ fhir:v "entry" ] ; fhir:variable [ fhir:v "orgEntry" ] ] ) ; ( fhir:rule [ fhir:name [ fhir:v "Organization entry" ] ; ( fhir:source [ fhir:context [ fhir:v "orgEntry" ] ; fhir:type [ fhir:v "Organization" ] ; fhir:element [ fhir:v "resource" ] ; fhir:listMode [ fhir:v "first" ] ; fhir:variable [ fhir:v "organization" ] ] ) ; ( fhir:dependent [ fhir:name [ fhir:v "DDCCOrganizationtoSHCImmunization" ] ; ( fhir:variable [ fhir:v "organization" ] [ fhir:v "immunizationSHC" ] ) ] ) ] ) ] ) ] ) ] ) ] ) ] ) ] [ fhir:name [ fhir:v "DDCCPatienttoSHC" ] ; fhir:typeMode [ fhir:v "none" ] ; ( fhir:input [ fhir:name [ fhir:v "patient" ] ; fhir:type [ fhir:v "DDCCPatient" ] ; fhir:mode [ fhir:v "source" ] ] [ fhir:name [ fhir:v "patientSHC" ] ; fhir:type [ fhir:v "SHCPatientDM" ] ; fhir:mode [ fhir:v "target" ] ] ) ; ( fhir:rule [ fhir:name [ fhir:v "Name" ] ; ( fhir:source [ fhir:context [ fhir:v "patient" ] ; fhir:element [ fhir:v "name" ] ; fhir:listMode [ fhir:v "only_one" ] ; fhir:variable [ fhir:v "name" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "patientSHC" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "name" ] ; fhir:variable [ fhir:v "nameSHC" ] ] ) ; ( fhir:rule [ fhir:name [ fhir:v "Given Name" ] ; ( fhir:source [ fhir:context [ fhir:v "name" ] ; fhir:element [ fhir:v "given" ] ; fhir:variable [ fhir:v "givenname" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "nameSHC" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "given" ] ; fhir:transform [ fhir:v "copy" ] ; ( fhir:parameter [ fhir:value [ fhir:v "givenname" ] ] ) ] ) ] [ fhir:name [ fhir:v "Family Name" ] ; ( fhir:source [ fhir:context [ fhir:v "name" ] ; fhir:element [ fhir:v "family" ] ; fhir:variable [ fhir:v "familyname" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "nameSHC" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "family" ] ; fhir:transform [ fhir:v "copy" ] ; ( fhir:parameter [ fhir:value [ fhir:v "familyname" ] ] ) ] ) ] [ fhir:name [ fhir:v "vcnameinvariant" ] ; ( fhir:source [ fhir:context [ fhir:v "name" ] ; fhir:condition [ fhir:v "name.given.exists().not() and name.family.exists().not()" ] ] ) ; ( fhir:rule [ fhir:name [ fhir:v "Text Name" ] ; ( fhir:source [ fhir:context [ fhir:v "name" ] ; fhir:element [ fhir:v "text" ] ; fhir:variable [ fhir:v "text" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "nameSHC" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "text" ] ; fhir:transform [ fhir:v "copy" ] ; ( fhir:parameter [ fhir:value [ fhir:v "text" ] ] ) ] ) ] ) ] ) ] [ fhir:name [ fhir:v "Birth Date" ] ; ( fhir:source [ fhir:context [ fhir:v "patient" ] ; fhir:element [ fhir:v "birthDate" ] ; fhir:variable [ fhir:v "birthDate" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "patientSHC" ] ; 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 "DDCCImmunizationtoSHC" ] ; fhir:typeMode [ fhir:v "none" ] ; ( fhir:input [ fhir:name [ fhir:v "immunization" ] ; fhir:type [ fhir:v "DDCCImmunization" ] ; fhir:mode [ fhir:v "source" ] ] [ fhir:name [ fhir:v "immunizationSHC" ] ; fhir:type [ fhir:v "SHCImmunizationDM" ] ; fhir:mode [ fhir:v "target" ] ] ) ; ( fhir:rule [ fhir:name [ fhir:v "Status" ] ; ( fhir:source [ fhir:context [ fhir:v "immunization" ] ; fhir:element [ fhir:v "status" ] ; fhir:variable [ fhir:v "status" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "immunizationSHC" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "status" ] ; fhir:transform [ fhir:v "copy" ] ; ( fhir:parameter [ fhir:value [ fhir:v "status" ] ] ) ] ) ] [ fhir:name [ fhir:v "VaccineCode" ] ; ( fhir:source [ fhir:context [ fhir:v "immunization" ] ; fhir:element [ fhir:v "vaccineCode" ] ; fhir:variable [ fhir:v "vaccineCode" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "immunizationSHC" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "vaccineCode" ] ; fhir:variable [ fhir:v "vaccineCodeSHC" ] ] ) ; ( fhir:rule [ fhir:name [ fhir:v "coding" ] ; ( fhir:source [ fhir:context [ fhir:v "vaccineCode" ] ; fhir:element [ fhir:v "coding" ] ; fhir:listMode [ fhir:v "first" ] ; fhir:variable [ fhir:v "coding" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "vaccineCodeSHC" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "coding" ] ; fhir:variable [ fhir:v "codingSHC" ] ] ) ; ( fhir:dependent [ fhir:name [ fhir:v "MinimizeCoding" ] ; ( fhir:variable [ fhir:v "coding" ] [ fhir:v "codingSHC" ] ) ] ) ] ) ] [ fhir:name [ fhir:v "Patient" ] ; ( fhir:source [ fhir:context [ fhir:v "immunization" ] ; fhir:element [ fhir:v "patient" ] ; fhir:variable [ fhir:v "patient" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "immunizationSHC" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "patient" ] ; fhir:variable [ fhir:v "patientSHC" ] ] [ fhir:context [ fhir:v "patientSHC" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "reference" ] ; fhir:transform [ fhir:v "copy" ] ; ( fhir:parameter [ fhir:value [ fhir:v "resource:0" ] ] ) ] ) ] [ fhir:name [ fhir:v "Occurrence DateTime" ] ; ( fhir:source [ fhir:context [ fhir:v "immunization" ] ; fhir:element [ fhir:v "occurrence" ] ; fhir:variable [ fhir:v "occurrenceDateTime" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "immunizationSHC" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "occurrence" ] ; fhir:transform [ fhir:v "copy" ] ; ( fhir:parameter [ fhir:value [ fhir:v "occurrenceDateTime" ] ] ) ] ) ] [ fhir:name [ fhir:v "Extension" ] ; ( fhir:source [ fhir:context [ fhir:v "immunization" ] ; fhir:element [ fhir:v "extension" ] ; fhir:variable [ fhir:v "ext" ] ] ) ; ( fhir:rule [ fhir:name [ fhir:v "DDCCVaccineMarketAuthorization" ] ; ( fhir:source [ fhir:context [ fhir:v "ext" ] ; fhir:listMode [ fhir:v "first" ] ; fhir:variable [ fhir:v "maholder" ] ; fhir:condition [ fhir:v "ext.url = 'http://smart.who.int/ddcc/StructureDefinition/DDCCVaccineMarketAuthorization'" ] ] ) ; ( fhir:rule [ fhir:name [ fhir:v "Manufacturer" ] ; ( fhir:source [ fhir:context [ fhir:v "maholder" ] ; fhir:element [ fhir:v "valueCoding" ] ; fhir:variable [ fhir:v "coding" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "immunizationSHC" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "manufacturer" ] ; fhir:variable [ fhir:v "tman" ] ] [ fhir:context [ fhir:v "tman" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "identifier" ] ; fhir:variable [ fhir:v "tident" ] ] ) ; ( fhir:rule [ fhir:name [ fhir:v "system" ] ; ( fhir:source [ fhir:context [ fhir:v "coding" ] ; fhir:element [ fhir:v "system" ] ; fhir:variable [ fhir:v "system" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "tident" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; ( fhir:parameter [ fhir:value [ fhir:v "system" ] ] ) ] ) ] [ fhir:name [ fhir:v "value" ] ; ( fhir:source [ fhir:context [ fhir:v "coding" ] ; fhir:element [ fhir:v "code" ] ; fhir:variable [ fhir:v "code" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "tident" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "value" ] ; fhir:transform [ fhir:v "copy" ] ; ( fhir:parameter [ fhir:value [ fhir:v "code" ] ] ) ] ) ] ) ] ) ] ) ] [ fhir:name [ fhir:v "if maholder code empty" ] ; ( fhir:source [ fhir:context [ fhir:v "immunization" ] ; fhir:variable [ fhir:v "src" ] ; fhir:condition [ fhir:v "extension.where(url = 'http://smart.who.int/ddcc/StructureDefinition/DDCCVaccineMarketAuthorization').first().valueCoding.exists().not()" ] ] ) ; ( fhir:rule [ fhir:name [ fhir:v "Manufacturer" ] ; ( fhir:source [ fhir:context [ fhir:v "src" ] ; fhir:element [ fhir:v "manufacturer" ] ; fhir:variable [ fhir:v "manufacturer" ] ] ) ; ( fhir:rule [ fhir:name [ fhir:v "identifier" ] ; ( fhir:source [ fhir:context [ fhir:v "manufacturer" ] ; fhir:element [ fhir:v "identifier" ] ; fhir:variable [ fhir:v "identifier" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "immunizationSHC" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "manufacturer" ] ; fhir:variable [ fhir:v "tman" ] ] [ fhir:context [ fhir:v "tman" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "identifier" ] ; fhir:variable [ fhir:v "tident" ] ] ) ; ( fhir:rule [ fhir:name [ fhir:v "system" ] ; ( fhir:source [ fhir:context [ fhir:v "identifier" ] ; fhir:element [ fhir:v "system" ] ; fhir:variable [ fhir:v "system" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "tident" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; ( fhir:parameter [ fhir:value [ fhir:v "system" ] ] ) ] ) ] [ fhir:name [ fhir:v "value" ] ; ( fhir:source [ fhir:context [ fhir:v "identifier" ] ; fhir:element [ fhir:v "value" ] ; fhir:variable [ fhir:v "value" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "tident" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "value" ] ; fhir:transform [ fhir:v "copy" ] ; ( fhir:parameter [ fhir:value [ fhir:v "value" ] ] ) ] ) ] ) ] ) ] ) ] [ fhir:name [ fhir:v "Lot Number" ] ; ( fhir:source [ fhir:context [ fhir:v "immunization" ] ; fhir:element [ fhir:v "lotNumber" ] ; fhir:variable [ fhir:v "lotNumber" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "immunizationSHC" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "lotNumber" ] ; fhir:transform [ fhir:v "copy" ] ; ( fhir:parameter [ fhir:value [ fhir:v "lotNumber" ] ] ) ] ) ] [ fhir:name [ fhir:v "Is Subpotent" ] ; ( fhir:source [ fhir:context [ fhir:v "immunization" ] ; fhir:element [ fhir:v "isSubpotent" ] ; fhir:variable [ fhir:v "isSubpotent" ] ; fhir:condition [ fhir:v "true" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "immunizationSHC" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "isSubpotent" ] ; fhir:transform [ fhir:v "copy" ] ; ( fhir:parameter [ fhir:value [ fhir:v "isSubpotent" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "DDCCOrganizationtoSHCImmunization" ] ; fhir:typeMode [ fhir:v "none" ] ; ( fhir:input [ fhir:name [ fhir:v "organization" ] ; fhir:type [ fhir:v "DDCCOrganization" ] ; fhir:mode [ fhir:v "source" ] ] [ fhir:name [ fhir:v "immunizationSHC" ] ; fhir:type [ fhir:v "SHCImmunizationDM" ] ; fhir:mode [ fhir:v "target" ] ] ) ; ( fhir:rule [ fhir:name [ fhir:v "Performer Actor Display" ] ; ( fhir:source [ fhir:context [ fhir:v "organization" ] ; fhir:element [ fhir:v "name" ] ; fhir:variable [ fhir:v "name" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "immunizationSHC" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "performer" ] ; fhir:variable [ fhir:v "performer" ] ] [ fhir:context [ fhir:v "performer" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "actor" ] ; fhir:variable [ fhir:v "actor" ] ] [ fhir:context [ fhir:v "actor" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "display" ] ; fhir:transform [ fhir:v "copy" ] ; ( fhir:parameter [ fhir:value [ fhir:v "name" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "MinimizeCoding" ] ; fhir:typeMode [ fhir:v "none" ] ; ( fhir:input [ fhir:name [ fhir:v "src" ] ; fhir:type [ fhir:v "Coding" ] ; fhir:mode [ fhir:v "source" ] ] [ fhir:name [ fhir:v "tgt" ] ; fhir:type [ fhir:v "Coding" ] ; fhir:mode [ fhir:v "target" ] ] ) ; ( fhir:rule [ fhir:name [ fhir:v "system" ] ; ( fhir:source [ fhir:context [ fhir:v "src" ] ; fhir:element [ fhir:v "system" ] ; fhir:variable [ fhir:v "system" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "tgt" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; ( fhir:parameter [ fhir:value [ fhir:v "system" ] ] ) ] ) ] [ fhir:name [ fhir:v "code" ] ; ( fhir:source [ fhir:context [ fhir:v "src" ] ; fhir:element [ fhir:v "code" ] ; fhir:variable [ fhir:v "code" ] ] ) ; ( fhir:target [ fhir:context [ fhir:v "tgt" ] ; fhir:contextType [ fhir:v "variable" ] ; fhir:element [ fhir:v "code" ] ; fhir:transform [ fhir:v "copy" ] ; ( fhir:parameter [ fhir:value [ fhir:v "code" ] ] ) ] ) ] ) ] ) . #
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