WHO Immunization Implementation Guide
1.0.0 - release
WHO Immunization Implementation Guide, 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/smart-immunizations/tree/132/merge and changes regularly. See the Directory of published versions
| Draft as of 2026-03-31 |
{
"resourceType" : "Library",
"id" : "IMMZD5DTBCGElements",
"meta" : {
"profile" : [
🔗 "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-shareablelibrary"🔗 ,
"http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-publishablelibrary"🔗 ,
"http://hl7.org/fhir/uv/cql/StructureDefinition/cql-library"🔗 ,
"http://hl7.org/fhir/uv/cql/StructureDefinition/cql-module"
]
},
"text" : {
"status" : "extensions",
"div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n<div>\n <table class=\"grid dict\">\n \n \n <tr>\n <th scope=\"row\"><b>Title: </b></th>\n <td style=\"padding-left: 4px;\">IMMZD5DTBCGElements</td>\n </tr>\n \n\n \n \n <tr>\n <th scope=\"row\"><b>Id: </b></th>\n <td style=\"padding-left: 4px;\">IMMZD5DTBCGElements</td>\n </tr>\n \n\n \n \n <tr>\n <th scope=\"row\"><b>Version: </b></th>\n <td style=\"padding-left: 4px;\">1.0.0</td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Url: </b></th>\n <td style=\"padding-left: 4px;\"><a href=\"Library-IMMZD5DTBCGElements.html\">IMMZD5DTBCGElements</a></td>\n </tr>\n \n\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Status: </b></th>\n <td style=\"padding-left: 4px;\">draft</td>\n </tr>\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Type: </b></th>\n <td style=\"padding-left: 4px;\">\n \n \n \n <p style=\"margin-bottom: 5px;\">\n <b>system: </b> <span><a href=\"http://terminology.hl7.org/7.1.0/CodeSystem-library-type.html\">http://terminology.hl7.org/CodeSystem/library-type</a></span>\n </p>\n \n \n <p style=\"margin-bottom: 5px;\">\n <b>code: </b> <span>logic-library</span>\n </p>\n \n \n \n \n \n </td>\n </tr>\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Date: </b></th>\n <td style=\"padding-left: 4px;\">2026-03-31 13:54:17+0000</td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Publisher: </b></th>\n <td style=\"padding-left: 4px;\">WHO</td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Description: </b></th>\n <td style=\"padding-left: 4px;\"><div><p>This library defines context-independent elements for BCG used throughout the Immunization CPG</p>\n</div></td>\n </tr>\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Related Artifacts: </b></th>\n <td style=\"padding-left: 4px;\">\n \n \n \n <p><b>Dependencies</b></p>\n <ul>\n \n <li><a href=\"Library-WHOConcepts.html\">WHOConcepts</a></li>\n \n <li><a href=\"Library-WHOCommon.html\">WHOCommon</a></li>\n \n <li><a href=\"Library-WHOElements.html\">WHOElements</a></li>\n \n <li><a href=\"Library-IMMZCommon.html\">IMMZCommon</a></li>\n \n <li><a href=\"Library-IMMZConcepts.html\">IMMZConcepts</a></li>\n \n <li><a href=\"Library-IMMZElements.html\">IMMZElements</a></li>\n \n </ul>\n \n \n \n \n \n </td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Parameters: </b></th>\n <td style=\"padding-left: 4px;\">\n <table class=\"grid-dict\">\n <tr><th><b>Name</b></th><th><b>Type</b></th><th><b>Min</b></th><th><b>Max</b></th><th><b>In/Out</b></th></tr>\n \n <tr><th>Patient</th><th>Patient</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Draft Medication Request for BCG dose</th><th>MedicationRequest</th><th>0</th><th>*</th><th>Out</th></tr>\n \n <tr><th>The client is pregnant</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>The client has history of severe allergic reactions</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>The client has immunodeficiency syndromes</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>The client is exposed to immunosuppressive treatment</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Client's age is less than 1 year</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Client's age is more than or equal to 1 year</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n </table>\n </td>\n </tr>\n \n\n \n\n \n \n <tr>\n <td colspan=\"2\">\n <table>\n <tr><th><a id=\"cql-content\"><b>Content: </b></a> text/cql</th></tr>\n <tr><td><pre><code class=\"language-cql\">\n/*\n * Library: IMMZD5DTBCGElements\n */\nlibrary IMMZD5DTBCGElements\n\nusing FHIR version '4.0.1'\ninclude FHIRHelpers version '4.0.1'\n\ninclude WHOConcepts\ninclude WHOCommon called WC\ninclude WHOElements called WE\n\ninclude IMMZCommon called Common\ninclude IMMZConcepts called Concepts\ninclude IMMZElements called Elements\n\ncontext Patient\n\n/*\n@internal: Draft Medication Request for BCG dose\n*/\ndefine "Draft Medication Request for BCG dose":\n Elements."Draft Medication Request for Patient" MR\n where MR.medication in Concepts."BCG vaccines"\n\n/*\n@input: The client is pregnant\n@pseudocode: "Potential contraindications" = "Currently pregnant"\n@code: The client is pregnant-52\n@decision: IMMZ.D5.DT.BCG contraindications\n*/\ndefine "The client is pregnant":\n Elements."The client is pregnant"\n\n/*\n@input: The client has history of severe allergic reactions\n@pseudocode: '"Potential contraindications" = "Severe allergic reactions"\n@code: The client has history of severe allergic reactions-60\n@decision: IMMZ.D5.DT.BCG contraindications\n*/\ndefine "The client has history of severe allergic reactions":\n Elements."The client has history of severe allergic reactions"\n\n/*\n@input: The client has immunodeficiency syndromes\n@pseudocode: "Potential contraindications" = "Immunodeficiency syndromes"\n@code: The client has immunodeficiency syndromes-60\n@decision: IMMZ.D5.DT.BCG contraindications\n*/\ndefine "The client has immunodeficiency syndromes":\n Elements."The client has immunodeficiency syndromes"\n\n/*\n@input: The client is exposed to immunosuppressive treatment\n@pseudocode: "Potential contraindications" = "Exposed to immunosuppressive treatment"\n@code: The client is exposed to immunosuppressive treatment-72\n@decision: IMMZ.D5.DT.BCG contraindications\n*/\ndefine "The client is exposed to immunosuppressive treatment":\n Elements."The client is exposed to immunosuppressive treatment"\n\n/*\n@input: Client's age is less than 1 year\n@pseudocode: "Age" < 1 year\n@code: Client's age is less than 1 year-14\n@decision: IMMZ.D5.DT.BCG contraindications\n*/\ndefine "Client's age is less than 1 year":\n Elements."Current Patient Age In Years" < 1\n\n/*\n@input: Client's age is more than or equal to 1 year\n@pseudocode: "Age" ≥ 1 year\n@code: Client's age is more than or equal to 1 year-14\n@decision: IMMZ.D5.DT.BCG contraindications\n*/\ndefine "Client's age is more than or equal to 1 year":\n Elements."Current Patient Age In Years" >= 1\n</code></pre></td></tr>\n </table>\n </td>\n </tr>\n \n \n \n </table>\n</div>\n</div>"
},
"extension" : [
{
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-knowledgeCapability",
"valueCode" : "computable"
}
],
"url" : "http://smart.who.int/immunizations/Library/IMMZD5DTBCGElements",
"version" : "1.0.0",
"name" : "IMMZD5DTBCGElements",
"title" : "IMMZD5DTBCGElements",
"status" : "draft",
"experimental" : false,
"type" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/library-type",
"code" : "logic-library"
}
]
},
"date" : "2026-03-31T13:54:17+00:00",
"publisher" : "WHO",
"contact" : [
{
"name" : "WHO",
"telecom" : [
{
"system" : "url",
"value" : "http://who.int"
}
]
}
],
"description" : "This library defines context-independent elements for BCG used throughout the Immunization CPG",
"relatedArtifact" : [
{
"type" : "depends-on",
"display" : "Library WHOConcepts",
"resource" : "http://smart.who.int/immunizations/Library/WHOConcepts"
},
{
"type" : "depends-on",
"display" : "Library WC",
"resource" : "http://smart.who.int/immunizations/Library/WHOCommon"
},
{
"type" : "depends-on",
"display" : "Library WE",
"resource" : "http://smart.who.int/immunizations/Library/WHOElements"
},
{
"type" : "depends-on",
"display" : "Library Common",
"resource" : "http://smart.who.int/immunizations/Library/IMMZCommon"
},
{
"type" : "depends-on",
"display" : "Library Concepts",
"resource" : "http://smart.who.int/immunizations/Library/IMMZConcepts"
},
{
"type" : "depends-on",
"display" : "Library Elements",
"resource" : "http://smart.who.int/immunizations/Library/IMMZElements"
}
],
"parameter" : [
{
"name" : "Patient",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "Patient"
},
{
"name" : "Draft Medication Request for BCG dose",
"use" : "out",
"min" : 0,
"max" : "*",
"type" : "MedicationRequest"
},
{
"name" : "The client is pregnant",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "The client has history of severe allergic reactions",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "The client has immunodeficiency syndromes",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "The client is exposed to immunosuppressive treatment",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Client's age is less than 1 year",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Client's age is more than or equal to 1 year",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
}
],
"content" : [
{
"contentType" : "text/cql",
"data" : "Ci8qCiAgKiBMaWJyYXJ5OiBJTU1aRDVEVEJDR0VsZW1lbnRzCiAgKi8KbGlicmFyeSBJTU1aRDVEVEJDR0VsZW1lbnRzCgp1c2luZyBGSElSIHZlcnNpb24gJzQuMC4xJwppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzQuMC4xJwoKaW5jbHVkZSBXSE9Db25jZXB0cwppbmNsdWRlIFdIT0NvbW1vbiBjYWxsZWQgV0MKaW5jbHVkZSBXSE9FbGVtZW50cyBjYWxsZWQgV0UKCmluY2x1ZGUgSU1NWkNvbW1vbiBjYWxsZWQgQ29tbW9uCmluY2x1ZGUgSU1NWkNvbmNlcHRzIGNhbGxlZCBDb25jZXB0cwppbmNsdWRlIElNTVpFbGVtZW50cyBjYWxsZWQgRWxlbWVudHMKCmNvbnRleHQgUGF0aWVudAoKLyoKQGludGVybmFsOiBEcmFmdCBNZWRpY2F0aW9uIFJlcXVlc3QgZm9yIEJDRyBkb3NlCiovCmRlZmluZSAiRHJhZnQgTWVkaWNhdGlvbiBSZXF1ZXN0IGZvciBCQ0cgZG9zZSI6CiAgRWxlbWVudHMuIkRyYWZ0IE1lZGljYXRpb24gUmVxdWVzdCBmb3IgUGF0aWVudCIgTVIKICAgIHdoZXJlIE1SLm1lZGljYXRpb24gaW4gQ29uY2VwdHMuIkJDRyB2YWNjaW5lcyIKCi8qCkBpbnB1dDogVGhlIGNsaWVudCBpcyBwcmVnbmFudApAcHNldWRvY29kZTogIlBvdGVudGlhbCBjb250cmFpbmRpY2F0aW9ucyIgPSAiQ3VycmVudGx5IHByZWduYW50IgpAY29kZTogVGhlIGNsaWVudCBpcyBwcmVnbmFudC01MgpAZGVjaXNpb246IElNTVouRDUuRFQuQkNHIGNvbnRyYWluZGljYXRpb25zCiovCmRlZmluZSAiVGhlIGNsaWVudCBpcyBwcmVnbmFudCI6CiAgRWxlbWVudHMuIlRoZSBjbGllbnQgaXMgcHJlZ25hbnQiCgovKgpAaW5wdXQ6IFRoZSBjbGllbnQgaGFzIGhpc3Rvcnkgb2Ygc2V2ZXJlIGFsbGVyZ2ljIHJlYWN0aW9ucwpAcHNldWRvY29kZTogJyJQb3RlbnRpYWwgY29udHJhaW5kaWNhdGlvbnMiID0gIlNldmVyZSBhbGxlcmdpYyByZWFjdGlvbnMiCkBjb2RlOiBUaGUgY2xpZW50IGhhcyBoaXN0b3J5IG9mIHNldmVyZSBhbGxlcmdpYyByZWFjdGlvbnMtNjAKQGRlY2lzaW9uOiBJTU1aLkQ1LkRULkJDRyBjb250cmFpbmRpY2F0aW9ucwoqLwpkZWZpbmUgIlRoZSBjbGllbnQgaGFzIGhpc3Rvcnkgb2Ygc2V2ZXJlIGFsbGVyZ2ljIHJlYWN0aW9ucyI6CiAgRWxlbWVudHMuIlRoZSBjbGllbnQgaGFzIGhpc3Rvcnkgb2Ygc2V2ZXJlIGFsbGVyZ2ljIHJlYWN0aW9ucyIKCi8qCkBpbnB1dDogVGhlIGNsaWVudCBoYXMgaW1tdW5vZGVmaWNpZW5jeSBzeW5kcm9tZXMKQHBzZXVkb2NvZGU6ICJQb3RlbnRpYWwgY29udHJhaW5kaWNhdGlvbnMiID0gIkltbXVub2RlZmljaWVuY3kgc3luZHJvbWVzIgpAY29kZTogVGhlIGNsaWVudCBoYXMgaW1tdW5vZGVmaWNpZW5jeSBzeW5kcm9tZXMtNjAKQGRlY2lzaW9uOiBJTU1aLkQ1LkRULkJDRyBjb250cmFpbmRpY2F0aW9ucwoqLwpkZWZpbmUgIlRoZSBjbGllbnQgaGFzIGltbXVub2RlZmljaWVuY3kgc3luZHJvbWVzIjoKICBFbGVtZW50cy4iVGhlIGNsaWVudCBoYXMgaW1tdW5vZGVmaWNpZW5jeSBzeW5kcm9tZXMiCgovKgpAaW5wdXQ6IFRoZSBjbGllbnQgaXMgZXhwb3NlZCB0byBpbW11bm9zdXBwcmVzc2l2ZSB0cmVhdG1lbnQKQHBzZXVkb2NvZGU6ICJQb3RlbnRpYWwgY29udHJhaW5kaWNhdGlvbnMiID0gIkV4cG9zZWQgdG8gaW1tdW5vc3VwcHJlc3NpdmUgdHJlYXRtZW50IgpAY29kZTogVGhlIGNsaWVudCBpcyBleHBvc2VkIHRvIGltbXVub3N1cHByZXNzaXZlIHRyZWF0bWVudC03MgpAZGVjaXNpb246IElNTVouRDUuRFQuQkNHIGNvbnRyYWluZGljYXRpb25zCiovCmRlZmluZSAiVGhlIGNsaWVudCBpcyBleHBvc2VkIHRvIGltbXVub3N1cHByZXNzaXZlIHRyZWF0bWVudCI6CiAgRWxlbWVudHMuIlRoZSBjbGllbnQgaXMgZXhwb3NlZCB0byBpbW11bm9zdXBwcmVzc2l2ZSB0cmVhdG1lbnQiCgovKgpAaW5wdXQ6IENsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gMSB5ZWFyCkBwc2V1ZG9jb2RlOiAiQWdlIiA8IDEgeWVhcgpAY29kZTogQ2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiAxIHllYXItMTQKQGRlY2lzaW9uOiBJTU1aLkQ1LkRULkJDRyBjb250cmFpbmRpY2F0aW9ucwoqLwpkZWZpbmUgIkNsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gMSB5ZWFyIjoKICBFbGVtZW50cy4iQ3VycmVudCBQYXRpZW50IEFnZSBJbiBZZWFycyIgPCAxCgovKgpAaW5wdXQ6IENsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gb3IgZXF1YWwgdG8gMSB5ZWFyCkBwc2V1ZG9jb2RlOiAiQWdlIiDiiaUgMSB5ZWFyCkBjb2RlOiBDbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIG9yIGVxdWFsIHRvIDEgeWVhci0xNApAZGVjaXNpb246IElNTVouRDUuRFQuQkNHIGNvbnRyYWluZGljYXRpb25zCiovCmRlZmluZSAiQ2xpZW50J3MgYWdlIGlzIG1vcmUgdGhhbiBvciBlcXVhbCB0byAxIHllYXIiOgogIEVsZW1lbnRzLiJDdXJyZW50IFBhdGllbnQgQWdlIEluIFllYXJzIiA+PSAxCg=="
}
]
}