WHO Immunization Implementation Guide
0.1.0 - CI Build International flag

WHO Immunization Implementation Guide, published by World Health Organization (WHO). This is not an authorized publication; it is the continuous build for version 0.1.0). This version is based on the current content of https://github.com/WorldHealthOrganization/smart-immunizations and changes regularly. See the Directory of published versions

: IMMZDT01 - XML Representation

Draft as of 2023-08-02

Raw xml | Download



<Library xmlns="http://hl7.org/fhir">
  <id value="IMMZDT01"/>
  <text>
    <status value="generated"/>
    <div xmlns="http://www.w3.org/1999/xhtml"><h2>Contents</h2><p><code>text/cql</code></p><pre><code class="language-sql">/*
 * Library: IMMZDT01 (IMMZ.DT.01.BCG)
 * Rule: If child or person has not been vaccinated, give BCG vaccine as soon as possible after birth 
 * Trigger: Patient has never had BCG vaccination
 */
library IMMZDT01
// Start Skeleton CQL
using FHIR version '4.0.1'
include FHIRHelpers version '4.0.1'
include IMMZCommon called IMMZCom
include IMMZConcepts called IMMZc
include IMMZVaccineLibrary called IMMZvl
include IMMZConfig called IMMZConf
// End Skeleton CQL
context Patient

/*
 * Determine if the patient has risk of occupational exposure in low and high TB incidence areas (e.g. health
 * workers, laboratory workers, medical students, prison workers, other individuals with occupational exposure).
 * 
 * The logic for determine this still needs to be determined.  Defaulting to true until this can be done.
 */
define &quot;Risk of occupational exposure in low and high TB areas&quot;: true


/*
 * Rule: Should vaccinate patient for BCG
 * Annotations:
 * 	 - Provide BCG immunizations – using the &quot;BCG vaccine immunization – NO PREVIOUS&quot; schedule (1 dose scheme)
 * 	 - 
 * 	 - Provide BCG immunizations – using the &quot;BCG vaccine immunization – NO PREVIOUS&quot; schedule (1 dose scheme) if CD4% &gt;25% for children aged &lt;5 years or CD4 count ≥200 if aged &gt;5  years
 * Outputs:
 * 	 - Immunize Patient for BCG - TST-negative
 * 	 - Immunize Patient for BCG - IGRA-negative
 * 	 - Immunize Patient for BCG - No Doses
 * 	 - Immunize Patient for BCG - History Unknown
 * 	 - Immunize Patient for BCG - No Doses and HIV Status Positive and immunicologically stable
 * 	 - 
 * References:
 * 	- WHO recommendations for routine immunization - summary tables: https://www.who.int/teams/immunization-vaccines-and-biologicals/policies/who-recommendations-for-routine-immunization---summary-tables
 * 	- 
 * Logic:
 *	 (((((((&quot;TST Test Result&quot; = &quot;TST-negative&quot;) and (&quot;High incidence of TB and/or high leprosy burden&quot; = true)) or ((&quot;IGRA Test Result&quot; = &quot;IGRA-negative&quot;) and (&quot;High incidence of TB and/or high leprosy burden&quot; = true))) or ((&quot;BCG vaccine immunization history&quot; = &quot;No-doses&quot;) and (&quot;High incidence of TB and/or high leprosy burden&quot; = true))) or ((&quot;BCG vaccine immunization history&quot; = &quot;Unknown&quot;) and (&quot;High incidence of TB and/or high leprosy burden&quot; = true))) or (((((&quot;BCG vaccine immunization history&quot; = &quot;No-doses&quot; = true) and (&quot;HIV Status&quot; = &quot;Positive&quot; = true)) and (&quot;CD4%&quot; &gt;&quot;25%&quot; = true)) and (&quot;Current Patient Age in Years&quot; &lt; 5)) and (&quot;High incidence of TB and/or high leprosy burden&quot; = true))) or (((((&quot;BCG vaccine immunization history&quot; = &quot;No-doses&quot; = true) and (&quot;HIV Status&quot; = &quot;Positive&quot; = true)) and (&quot;CD4 count&quot; ≥ &quot;200&quot; = true)) and (&quot;Current Patient Age in Years&quot; &gt; 5)) and (&quot;High incidence of TB and/or high leprosy burden&quot; = true)))
 * SHARING SCHEDULE LOGIC, KEEPING THIS FOR NOW IN CASE THAT DECISION CHANGES.
define &quot;Should vaccinate patient for BCG&quot;:
	IMMZConf.&quot;High incidence of TB and/or high leprosy burden&quot; = true and (
		Coalesce((IMMZCom.&quot;Most Recent TST Test Result&quot; in IMMZc.&quot;Negative Result&quot;), false) or 
		Coalesce((IMMZCom.&quot;Most Recent IGRA Test Result&quot; in IMMZc.&quot;Negative Result&quot;), false) or 
		(IMMZCom.&quot;No BCG Doses Administered to Patient&quot;) or 
		(
				(IMMZCom.&quot;No BCG Doses Administered to Patient&quot; and IMMZCom.&quot;HIV Status&quot; in IMMZc.&quot;HIV status - HIV positive Choices&quot;) and 
				(
					Coalesce((IMMZCom.&quot;Most Recent CD4%&quot; &gt; 25'%' and IMMZCom.&quot;Current Patient Age In Years&quot; &lt; 5), false) or 
					Coalesce((IMMZCom.&quot;Most Recent CD4 Count&quot; &gt;= 200 and IMMZCom.&quot;Current Patient Age In Years&quot; &gt;= 5), false)
				)
		)
	) 
*/

/*
 * Rule: Provision of the BCG dose
 * Create Condition:
 *   - BCG dose should be provided if the patient has not received any BCG doses, and is in a High incidence of TB and/or high leprosy burden, and TST-negative and IGRA-negative
 * 
 * Completion:
 *   - &quot;BCG Dose 1 provided&quot; = TRUE
 *
 * References:
 * 	- WHO recommendations for routine immunization - summary tables: https://www.who.int/teams/immunization-vaccines-and-biologicals/policies/who-recommendations-for-routine-immunization---summary-tables
 * 	 
 */
define &quot;Provision of the BCG dose&quot;:
  IMMZCom.&quot;No BCG Doses Administered to Patient&quot; and
  if IMMZCom.&quot;HIV Status&quot; in IMMZc.&quot;HIV status - HIV positive Choices&quot; 
	then 
		(
			Coalesce((IMMZCom.&quot;Most Recent CD4%&quot; &gt; 25'%' and IMMZCom.&quot;Current Patient Age In Years&quot; &lt; 5), false) or 
			Coalesce((IMMZCom.&quot;Most Recent CD4 Count&quot; &gt;= 200 and IMMZCom.&quot;Current Patient Age In Years&quot; &gt;= 5), false)
		)
	else 
		(
			IMMZConf.&quot;High incidence of TB and/or high leprosy burden&quot; = true or
			(
				&quot;Risk of occupational exposure in low and high TB areas&quot; and (
					Coalesce((IMMZCom.&quot;Most Recent TST Test Result&quot; in IMMZc.&quot;Negative Result&quot;), false) or 
					Coalesce((IMMZCom.&quot;Most Recent IGRA Test Result&quot; in IMMZc.&quot;Negative Result&quot;), false)
				)
			)
		)

define &quot;Schedule Due Date for BCG dose&quot;:
	ToDateTime( Patient.birthDate )

define &quot;Should vaccinate patient for BCG&quot;:
	&quot;Provision of the BCG dose&quot; and (&quot;Schedule Due Date for BCG dose&quot; &lt;= (Now()))
	
</code></pre></div>
  </text>
  <extension
             url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem">
    <valueReference>
      <reference value="Device/cqf-tooling"/>
    </valueReference>
  </extension>
  <url
       value="http://fhir.org/guides/who/smart-immunization/Library/IMMZDT01"/>
  <version value="0.1.0"/>
  <name value="IMMZDT01"/>
  <status value="draft"/>
  <date value="2023-08-02T04:40:13+00:00"/>
  <publisher value="World Health Organization (WHO)"/>
  <jurisdiction>
    <coding>
      <system value="http://unstats.un.org/unsd/methods/m49/m49.htm"/>
      <code value="001"/>
    </coding>
  </jurisdiction>
  <content>
    <contentType value="text/cql"/>
    <data
          value="LyoKICogTGlicmFyeTogSU1NWkRUMDEgKElNTVouRFQuMDEuQkNHKQogKiBSdWxlOiBJZiBjaGlsZCBvciBwZXJzb24gaGFzIG5vdCBiZWVuIHZhY2NpbmF0ZWQsIGdpdmUgQkNHIHZhY2NpbmUgYXMgc29vbiBhcyBwb3NzaWJsZSBhZnRlciBiaXJ0aCAKICogVHJpZ2dlcjogUGF0aWVudCBoYXMgbmV2ZXIgaGFkIEJDRyB2YWNjaW5hdGlvbgogKi8KbGlicmFyeSBJTU1aRFQwMQovLyBTdGFydCBTa2VsZXRvbiBDUUwKdXNpbmcgRkhJUiB2ZXJzaW9uICc0LjAuMScKaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICc0LjAuMScKaW5jbHVkZSBJTU1aQ29tbW9uIGNhbGxlZCBJTU1aQ29tCmluY2x1ZGUgSU1NWkNvbmNlcHRzIGNhbGxlZCBJTU1aYwppbmNsdWRlIElNTVpWYWNjaW5lTGlicmFyeSBjYWxsZWQgSU1NWnZsCmluY2x1ZGUgSU1NWkNvbmZpZyBjYWxsZWQgSU1NWkNvbmYKLy8gRW5kIFNrZWxldG9uIENRTApjb250ZXh0IFBhdGllbnQKCi8qCiAqIERldGVybWluZSBpZiB0aGUgcGF0aWVudCBoYXMgcmlzayBvZiBvY2N1cGF0aW9uYWwgZXhwb3N1cmUgaW4gbG93IGFuZCBoaWdoIFRCIGluY2lkZW5jZSBhcmVhcyAoZS5nLiBoZWFsdGgKICogd29ya2VycywgbGFib3JhdG9yeSB3b3JrZXJzLCBtZWRpY2FsIHN0dWRlbnRzLCBwcmlzb24gd29ya2Vycywgb3RoZXIgaW5kaXZpZHVhbHMgd2l0aCBvY2N1cGF0aW9uYWwgZXhwb3N1cmUpLgogKiAKICogVGhlIGxvZ2ljIGZvciBkZXRlcm1pbmUgdGhpcyBzdGlsbCBuZWVkcyB0byBiZSBkZXRlcm1pbmVkLiAgRGVmYXVsdGluZyB0byB0cnVlIHVudGlsIHRoaXMgY2FuIGJlIGRvbmUuCiAqLwpkZWZpbmUgIlJpc2sgb2Ygb2NjdXBhdGlvbmFsIGV4cG9zdXJlIGluIGxvdyBhbmQgaGlnaCBUQiBhcmVhcyI6IHRydWUKCgovKgogKiBSdWxlOiBTaG91bGQgdmFjY2luYXRlIHBhdGllbnQgZm9yIEJDRwogKiBBbm5vdGF0aW9uczoKICogCSAtIFByb3ZpZGUgQkNHIGltbXVuaXphdGlvbnMg4oCTIHVzaW5nIHRoZSAiQkNHIHZhY2NpbmUgaW1tdW5pemF0aW9uIOKAkyBOTyBQUkVWSU9VUyIgc2NoZWR1bGUgKDEgZG9zZSBzY2hlbWUpCiAqIAkgLSAKICogCSAtIFByb3ZpZGUgQkNHIGltbXVuaXphdGlvbnMg4oCTIHVzaW5nIHRoZSAiQkNHIHZhY2NpbmUgaW1tdW5pemF0aW9uIOKAkyBOTyBQUkVWSU9VUyIgc2NoZWR1bGUgKDEgZG9zZSBzY2hlbWUpIGlmIENENCUgPjI1JSBmb3IgY2hpbGRyZW4gYWdlZCA8NSB5ZWFycyBvciBDRDQgY291bnQg4omlMjAwIGlmIGFnZWQgPjUgIHllYXJzCiAqIE91dHB1dHM6CiAqIAkgLSBJbW11bml6ZSBQYXRpZW50IGZvciBCQ0cgLSBUU1QtbmVnYXRpdmUKICogCSAtIEltbXVuaXplIFBhdGllbnQgZm9yIEJDRyAtIElHUkEtbmVnYXRpdmUKICogCSAtIEltbXVuaXplIFBhdGllbnQgZm9yIEJDRyAtIE5vIERvc2VzCiAqIAkgLSBJbW11bml6ZSBQYXRpZW50IGZvciBCQ0cgLSBIaXN0b3J5IFVua25vd24KICogCSAtIEltbXVuaXplIFBhdGllbnQgZm9yIEJDRyAtIE5vIERvc2VzIGFuZCBISVYgU3RhdHVzIFBvc2l0aXZlIGFuZCBpbW11bmljb2xvZ2ljYWxseSBzdGFibGUKICogCSAtIAogKiBSZWZlcmVuY2VzOgogKiAJLSBXSE8gcmVjb21tZW5kYXRpb25zIGZvciByb3V0aW5lIGltbXVuaXphdGlvbiAtIHN1bW1hcnkgdGFibGVzOiBodHRwczovL3d3dy53aG8uaW50L3RlYW1zL2ltbXVuaXphdGlvbi12YWNjaW5lcy1hbmQtYmlvbG9naWNhbHMvcG9saWNpZXMvd2hvLXJlY29tbWVuZGF0aW9ucy1mb3Itcm91dGluZS1pbW11bml6YXRpb24tLS1zdW1tYXJ5LXRhYmxlcwogKiAJLSAKICogTG9naWM6CiAqCSAoKCgoKCgoIlRTVCBUZXN0IFJlc3VsdCIgPSAiVFNULW5lZ2F0aXZlIikgYW5kICgiSGlnaCBpbmNpZGVuY2Ugb2YgVEIgYW5kL29yIGhpZ2ggbGVwcm9zeSBidXJkZW4iID0gdHJ1ZSkpIG9yICgoIklHUkEgVGVzdCBSZXN1bHQiID0gIklHUkEtbmVnYXRpdmUiKSBhbmQgKCJIaWdoIGluY2lkZW5jZSBvZiBUQiBhbmQvb3IgaGlnaCBsZXByb3N5IGJ1cmRlbiIgPSB0cnVlKSkpIG9yICgoIkJDRyB2YWNjaW5lIGltbXVuaXphdGlvbiBoaXN0b3J5IiA9ICJOby1kb3NlcyIpIGFuZCAoIkhpZ2ggaW5jaWRlbmNlIG9mIFRCIGFuZC9vciBoaWdoIGxlcHJvc3kgYnVyZGVuIiA9IHRydWUpKSkgb3IgKCgiQkNHIHZhY2NpbmUgaW1tdW5pemF0aW9uIGhpc3RvcnkiID0gIlVua25vd24iKSBhbmQgKCJIaWdoIGluY2lkZW5jZSBvZiBUQiBhbmQvb3IgaGlnaCBsZXByb3N5IGJ1cmRlbiIgPSB0cnVlKSkpIG9yICgoKCgoIkJDRyB2YWNjaW5lIGltbXVuaXphdGlvbiBoaXN0b3J5IiA9ICJOby1kb3NlcyIgPSB0cnVlKSBhbmQgKCJISVYgU3RhdHVzIiA9ICJQb3NpdGl2ZSIgPSB0cnVlKSkgYW5kICgiQ0Q0JSIgPiIyNSUiID0gdHJ1ZSkpIGFuZCAoIkN1cnJlbnQgUGF0aWVudCBBZ2UgaW4gWWVhcnMiIDwgNSkpIGFuZCAoIkhpZ2ggaW5jaWRlbmNlIG9mIFRCIGFuZC9vciBoaWdoIGxlcHJvc3kgYnVyZGVuIiA9IHRydWUpKSkgb3IgKCgoKCgiQkNHIHZhY2NpbmUgaW1tdW5pemF0aW9uIGhpc3RvcnkiID0gIk5vLWRvc2VzIiA9IHRydWUpIGFuZCAoIkhJViBTdGF0dXMiID0gIlBvc2l0aXZlIiA9IHRydWUpKSBhbmQgKCJDRDQgY291bnQiIOKJpSAiMjAwIiA9IHRydWUpKSBhbmQgKCJDdXJyZW50IFBhdGllbnQgQWdlIGluIFllYXJzIiA+IDUpKSBhbmQgKCJIaWdoIGluY2lkZW5jZSBvZiBUQiBhbmQvb3IgaGlnaCBsZXByb3N5IGJ1cmRlbiIgPSB0cnVlKSkpCiAqIFNIQVJJTkcgU0NIRURVTEUgTE9HSUMsIEtFRVBJTkcgVEhJUyBGT1IgTk9XIElOIENBU0UgVEhBVCBERUNJU0lPTiBDSEFOR0VTLgpkZWZpbmUgIlNob3VsZCB2YWNjaW5hdGUgcGF0aWVudCBmb3IgQkNHIjoKCUlNTVpDb25mLiJIaWdoIGluY2lkZW5jZSBvZiBUQiBhbmQvb3IgaGlnaCBsZXByb3N5IGJ1cmRlbiIgPSB0cnVlIGFuZCAoCgkJQ29hbGVzY2UoKElNTVpDb20uIk1vc3QgUmVjZW50IFRTVCBUZXN0IFJlc3VsdCIgaW4gSU1NWmMuIk5lZ2F0aXZlIFJlc3VsdCIpLCBmYWxzZSkgb3IgCgkJQ29hbGVzY2UoKElNTVpDb20uIk1vc3QgUmVjZW50IElHUkEgVGVzdCBSZXN1bHQiIGluIElNTVpjLiJOZWdhdGl2ZSBSZXN1bHQiKSwgZmFsc2UpIG9yIAoJCShJTU1aQ29tLiJObyBCQ0cgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiKSBvciAKCQkoCgkJCQkoSU1NWkNvbS4iTm8gQkNHIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiBhbmQgSU1NWkNvbS4iSElWIFN0YXR1cyIgaW4gSU1NWmMuIkhJViBzdGF0dXMgLSBISVYgcG9zaXRpdmUgQ2hvaWNlcyIpIGFuZCAKCQkJCSgKCQkJCQlDb2FsZXNjZSgoSU1NWkNvbS4iTW9zdCBSZWNlbnQgQ0Q0JSIgPiAyNSclJyBhbmQgSU1NWkNvbS4iQ3VycmVudCBQYXRpZW50IEFnZSBJbiBZZWFycyIgPCA1KSwgZmFsc2UpIG9yIAoJCQkJCUNvYWxlc2NlKChJTU1aQ29tLiJNb3N0IFJlY2VudCBDRDQgQ291bnQiID49IDIwMCBhbmQgSU1NWkNvbS4iQ3VycmVudCBQYXRpZW50IEFnZSBJbiBZZWFycyIgPj0gNSksIGZhbHNlKQoJCQkJKQoJCSkKCSkgCiovCgovKgogKiBSdWxlOiBQcm92aXNpb24gb2YgdGhlIEJDRyBkb3NlCiAqIENyZWF0ZSBDb25kaXRpb246CiAqICAgLSBCQ0cgZG9zZSBzaG91bGQgYmUgcHJvdmlkZWQgaWYgdGhlIHBhdGllbnQgaGFzIG5vdCByZWNlaXZlZCBhbnkgQkNHIGRvc2VzLCBhbmQgaXMgaW4gYSBIaWdoIGluY2lkZW5jZSBvZiBUQiBhbmQvb3IgaGlnaCBsZXByb3N5IGJ1cmRlbiwgYW5kIFRTVC1uZWdhdGl2ZSBhbmQgSUdSQS1uZWdhdGl2ZQogKiAKICogQ29tcGxldGlvbjoKICogICAtICJCQ0cgRG9zZSAxIHByb3ZpZGVkIiA9IFRSVUUKICoKICogUmVmZXJlbmNlczoKICogCS0gV0hPIHJlY29tbWVuZGF0aW9ucyBmb3Igcm91dGluZSBpbW11bml6YXRpb24gLSBzdW1tYXJ5IHRhYmxlczogaHR0cHM6Ly93d3cud2hvLmludC90ZWFtcy9pbW11bml6YXRpb24tdmFjY2luZXMtYW5kLWJpb2xvZ2ljYWxzL3BvbGljaWVzL3doby1yZWNvbW1lbmRhdGlvbnMtZm9yLXJvdXRpbmUtaW1tdW5pemF0aW9uLS0tc3VtbWFyeS10YWJsZXMKICogCSAKICovCmRlZmluZSAiUHJvdmlzaW9uIG9mIHRoZSBCQ0cgZG9zZSI6CiAgSU1NWkNvbS4iTm8gQkNHIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiBhbmQKICBpZiBJTU1aQ29tLiJISVYgU3RhdHVzIiBpbiBJTU1aYy4iSElWIHN0YXR1cyAtIEhJViBwb3NpdGl2ZSBDaG9pY2VzIiAKCXRoZW4gCgkJKAoJCQlDb2FsZXNjZSgoSU1NWkNvbS4iTW9zdCBSZWNlbnQgQ0Q0JSIgPiAyNSclJyBhbmQgSU1NWkNvbS4iQ3VycmVudCBQYXRpZW50IEFnZSBJbiBZZWFycyIgPCA1KSwgZmFsc2UpIG9yIAoJCQlDb2FsZXNjZSgoSU1NWkNvbS4iTW9zdCBSZWNlbnQgQ0Q0IENvdW50IiA+PSAyMDAgYW5kIElNTVpDb20uIkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gWWVhcnMiID49IDUpLCBmYWxzZSkKCQkpCgllbHNlIAoJCSgKCQkJSU1NWkNvbmYuIkhpZ2ggaW5jaWRlbmNlIG9mIFRCIGFuZC9vciBoaWdoIGxlcHJvc3kgYnVyZGVuIiA9IHRydWUgb3IKCQkJKAoJCQkJIlJpc2sgb2Ygb2NjdXBhdGlvbmFsIGV4cG9zdXJlIGluIGxvdyBhbmQgaGlnaCBUQiBhcmVhcyIgYW5kICgKCQkJCQlDb2FsZXNjZSgoSU1NWkNvbS4iTW9zdCBSZWNlbnQgVFNUIFRlc3QgUmVzdWx0IiBpbiBJTU1aYy4iTmVnYXRpdmUgUmVzdWx0IiksIGZhbHNlKSBvciAKCQkJCQlDb2FsZXNjZSgoSU1NWkNvbS4iTW9zdCBSZWNlbnQgSUdSQSBUZXN0IFJlc3VsdCIgaW4gSU1NWmMuIk5lZ2F0aXZlIFJlc3VsdCIpLCBmYWxzZSkKCQkJCSkKCQkJKQoJCSkKCmRlZmluZSAiU2NoZWR1bGUgRHVlIERhdGUgZm9yIEJDRyBkb3NlIjoKCVRvRGF0ZVRpbWUoIFBhdGllbnQuYmlydGhEYXRlICkKCmRlZmluZSAiU2hvdWxkIHZhY2NpbmF0ZSBwYXRpZW50IGZvciBCQ0ciOgoJIlByb3Zpc2lvbiBvZiB0aGUgQkNHIGRvc2UiIGFuZCAoIlNjaGVkdWxlIER1ZSBEYXRlIGZvciBCQ0cgZG9zZSIgPD0gKE5vdygpKSkKCQo="/>
  </content>
</Library>