{
  "resourceType" : "Library",
  "id" : "IMMZD2DTHibElements",
  "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;\">IMMZD2DTHibElements</td>\n        </tr>\n        \n\n        \n        \n        <tr>\n            <th scope=\"row\"><b>Id: </b></th>\n            <td style=\"padding-left: 4px;\">IMMZD2DTHibElements</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-IMMZD2DTHibElements.html\">IMMZD2DTHibElements</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 Hib 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>Hib Doses Administered to Patient</th><th>Immunization</th><th>0</th><th>*</th><th>Out</th></tr>\n              \n                <tr><th>Hib Primary Series Doses Administered to Patient</th><th>Immunization</th><th>0</th><th>*</th><th>Out</th></tr>\n              \n                <tr><th>Number of Hib Primary Series Doses Administered</th><th>integer</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Client's age is less than 6 weeks</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>No Hib primary series doses were administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Client's age is between 6 weeks and 5 years</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>One Hib primary series dose was administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Client's age is at least 6 weeks and not more than 5 years</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Date of First Hib Dose</th><th>date</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Client's age was less than 1 year when first Hib dose was administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Date of Latest Hib Dose</th><th>date</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The latest Hib dose was administered less than 4 weeks ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The latest Hib dose was administered more than 4 weeks ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Client's age was more than 1 year when first Hib dose was administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Two Hib primary series doses were administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Client's age is between 6 weeks and not more than 5 years</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Three Hib primary series doses were administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Client's age is more than 5 years</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Hib Booster Series Doses Administered to Patient</th><th>Immunization</th><th>0</th><th>*</th><th>Out</th></tr>\n              \n                <tr><th>Number of Hib Booster Series Doses Administered</th><th>integer</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>No Hib booster doses were administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The latest Hib dose was administered less than 6 months ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The latest Hib dose was administered more than 6 months ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>One Hib booster dose was administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>One Hib primary series doses was administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The latest Hib dose was administered less than 8 weeks ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>The latest Hib dose was administered more than 8 weeks ago</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: IMMZD2DTHibElements\n  */\nlibrary IMMZD2DTHibElements\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\n\ncontext Patient\n\n/*\n@internal: Hib containing Doses Administered to Patient\n*/\ndefine &quot;Hib Doses Administered to Patient&quot;:\n  Elements.&quot;Doses Administered to Patient&quot; I\n  where\n    I.vaccineCode in Concepts.&quot;Hib-containing vaccines&quot;\n\n/*\n@internal: Hib containing Doses Administered to Patient that are in the Primary series\n*/\ndefine &quot;Hib Primary Series Doses Administered to Patient&quot;:\n  &quot;Hib Doses Administered to Patient&quot;.seriesPrimary()\n\n/*\n@internal: Number of Hib Primary Series doses\n*/\ndefine &quot;Number of Hib Primary Series Doses Administered&quot;:\n  Count(&quot;Hib Primary Series Doses Administered to Patient&quot;)\n\n/*\n@input: Client's age is less than 6 weeks\n@pseudocode: Today's date − &quot;Date of birth&quot; &lt; 6 weeks\n@code: Client's age is less than 6 weeks-40\n@decision: IMMZ.D2.DT.Hib.3 doses: 3 primary doses without a booster dose (3p)\n@decision: IMMZ.D2.DT.Hib.3 doses with booster dose: 3 primary doses with a booster dose (3p+1)\n@decision: IMMZ.D2.DT.Hib.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)\n*/\ndefine &quot;Client's age is less than 6 weeks&quot;:\n  Elements.&quot;Current Patient Age In Weeks&quot; &lt; 6\n\n/*\n@input: No Hib primary series doses were administered\n@pseudocode: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;Hib-containing vaccines&quot; and &quot;Type of dose&quot; = &quot;Primary series&quot;) = 0\n@code: No Hib primary series doses were administered-123\n@decision: IMMZ.D2.DT.Hib.3 doses: 3 primary doses without a booster dose (3p)\n@decision: IMMZ.D2.DT.Hib.3 doses with booster dose: 3 primary doses with a booster dose (3p+1)\n@decision: IMMZ.D2.DT.Hib.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)\n*/\ndefine &quot;No Hib primary series doses were administered&quot;:\n  &quot;Number of Hib Primary Series Doses Administered&quot; = 0\n\n/*\n@input: Client's age is between 6 weeks and 5 years\n@pseudocode: 6 weeks ≤ Today's date − &quot;Date of birth&quot; ≤ 5 years\n@code: Client's age is between 6 weeks and 5 years-50\n@decision: IMMZ.D2.DT.Hib.3 doses: 3 primary doses without a booster dose (3p)\n@decision: IMMZ.D2.DT.Hib.3 doses with booster dose: 3 primary doses with a booster dose (3p+1)\n@decision: IMMZ.D2.DT.Hib.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)\n*/\ndefine &quot;Client's age is between 6 weeks and 5 years&quot;:\n  6 &lt;= Elements.&quot;Current Patient Age In Weeks&quot;\n  and Elements.&quot;Current Patient Age In Years&quot; &lt;= 5\n\n/*\n@input: One Hib primary series dose was administered\n@pseudocode: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;Hib-containing vaccines&quot; and &quot;Type of dose&quot;= &quot;Primary series&quot;) = 1\n@code: One Hib primary series dose was administered-122\n@decision: IMMZ.D2.DT.Hib.3 doses: 3 primary doses without a booster dose (3p)\n@decision: IMMZ.D2.DT.Hib.3 doses with booster dose: 3 primary doses with a booster dose (3p+1)\n*/\ndefine &quot;One Hib primary series dose was administered&quot;:\n  &quot;Number of Hib Primary Series Doses Administered&quot; = 1\n\n/*\n@input: Client's age is at least 6 weeks and not more than 5 years\n@pseudocode: 6 weeks ≤ Today's date − &quot;Date of birth&quot; ≤ 5 years\n@code: Client's age is at least 6 weeks and not more than 5 years-50\n@decision: IMMZ.D2.DT.Hib.3 doses: 3 primary doses without a booster dose (3p)\n@decision: IMMZ.D2.DT.Hib.3 doses with booster dose: 3 primary doses with a booster dose (3p+1)\n@decision: IMMZ.D2.DT.Hib.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)\n*/\ndefine &quot;Client's age is at least 6 weeks and not more than 5 years&quot;:\n  &quot;Client's age is between 6 weeks and 5 years&quot;\n\n/*\n@input: Client's age was less than 1 year when first Hib dose was administered\n@pseudocode: &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot;= &quot;Hib-containing vaccines&quot; and &quot;Dose number&quot; = 1) − &quot;Date of birth&quot; &lt; 1 year\n@code: Client's age was less than 1 year when first Hib dose was administered-129\n@decision: IMMZ.D2.DT.Hib.3 doses: 3 primary doses without a booster dose (3p)\n@decision: IMMZ.D2.DT.Hib.3 doses with booster dose: 3 primary doses with a booster dose (3p+1)\n@decision: IMMZ.D2.DT.Hib.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)\n*/\ndefine &quot;Client's age was less than 1 year when first Hib dose was administered&quot;:\n  AgeInYearsAt(&quot;Date of First Hib Dose&quot;) &lt; 1\n\n/*\n@input: The latest Hib dose was administered less than 4 weeks ago\n@pseudocode: Today's date − latest &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;Hib-containing vaccines&quot;) &lt; 4 weeks\n@code: The latest Hib dose was administered less than 4 weeks ago-113\n@decision: IMMZ.D2.DT.Hib.3 doses: 3 primary doses without a booster dose (3p)\n@decision: IMMZ.D2.DT.Hib.3 doses with booster dose: 3 primary doses with a booster dose (3p+1)\n*/\ndefine &quot;The latest Hib dose was administered less than 4 weeks ago&quot;:\n  &quot;Date of Latest Hib Dose&quot; is not null\n    and duration in weeks between &quot;Date of Latest Hib Dose&quot; and Now() &lt; 4\n\n/*\n@input: The latest Hib dose was administered more than 4 weeks ago\n@pseudocode: Today's date − latest &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;Hib-containing vaccines&quot;) ≥ 4 weeks\n@code: The latest Hib dose was administered more than 4 weeks ago-113\n@decision: IMMZ.D2.DT.Hib.3 doses: 3 primary doses without a booster dose (3p)\n@decision: IMMZ.D2.DT.Hib.3 doses with booster dose: 3 primary doses with a booster dose (3p+1)\n*/\ndefine &quot;The latest Hib dose was administered more than 4 weeks ago&quot;:\n  not(&quot;The latest Hib dose was administered less than 4 weeks ago&quot;)\n\n/*\n@input: Client's age was more than 1 year when first Hib dose was administered\n@pseudocode: &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot;= &quot;Hib-containing vaccines&quot; and &quot;Dose number&quot; = 1) − &quot;Date of birth&quot; ≥ 1 year\n@code: Client's age was more than 1 year when first Hib dose was administered-129\n@decision: IMMZ.D2.DT.Hib.3 doses: 3 primary doses without a booster dose (3p)\n@decision: IMMZ.D2.DT.Hib.3 doses with booster dose: 3 primary doses with a booster dose (3p+1)\n@decision: IMMZ.D2.DT.Hib.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)\n*/\ndefine &quot;Client's age was more than 1 year when first Hib dose was administered&quot;:\n  AgeInYearsAt(&quot;Date of First Hib Dose&quot;) &gt;= 1\n\n/*\n@input: Two Hib primary series doses were administered\n@pseudocode: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;Hib-containing vaccines&quot; and &quot;Type of dose&quot; = &quot;Primary series&quot; ) = 2\n@code: Two Hib primary series doses were administered-124\n@decision: IMMZ.D2.DT.Hib.3 doses: 3 primary doses without a booster dose (3p)\n@decision: IMMZ.D2.DT.Hib.3 doses with booster dose: 3 primary doses with a booster dose (3p+1)\n@decision: IMMZ.D2.DT.Hib.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)\n*/\ndefine &quot;Two Hib primary series doses were administered&quot;:\n  &quot;Number of Hib Primary Series Doses Administered&quot; = 2\n\n/*\n@input: Client's age is between 6 weeks and not more than 5 years\n@pseudocode: 6 weeks ≤ Today's date − &quot;Date of birth&quot; ≤ 5 years\n@code: Client's age is between 6 weeks and not more than 5 years-50\n@decision: IMMZ.D2.DT.Hib.3 doses: 3 primary doses without a booster dose (3p)\n@decision: IMMZ.D2.DT.Hib.3 doses with booster dose: 3 primary doses with a booster dose (3p+1)\n*/\ndefine &quot;Client's age is between 6 weeks and not more than 5 years&quot;:\n  &quot;Client's age is between 6 weeks and 5 years&quot;\n\n/*\n@input: Three Hib primary series doses were administered\n@pseudocode: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;Hib-containing vaccines&quot; and &quot;Type of dose&quot;= &quot;Primary series&quot;) = 3\n@code: Three Hib primary series doses were administered-122\n@decision: IMMZ.D2.DT.Hib.3 doses: 3 primary doses without a booster dose (3p)\n@decision: IMMZ.D2.DT.Hib.3 doses with booster dose: 3 primary doses with a booster dose (3p+1)\n*/\ndefine &quot;Three Hib primary series doses were administered&quot;:\n  &quot;Number of Hib Primary Series Doses Administered&quot; = 3\n\n/*\n@input: Client's age is more than 5 years\n@pseudocode: Today's date − &quot;Date of birth&quot; &gt; 5 years\n@code: Client's age is more than 5 years-40\n@decision: IMMZ.D2.DT.Hib.3 doses: 3 primary doses without a booster dose (3p)\n@decision: IMMZ.D2.DT.Hib.3 doses with booster dose: 3 primary doses with a booster dose (3p+1)\n@decision: IMMZ.D2.DT.Hib.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)\n*/\ndefine &quot;Client's age is more than 5 years&quot;:\n  Elements.&quot;Current Patient Age In Years&quot; &gt; 5\n\n/*\n@input: No Hib booster doses were administered\n@pseudocode: Count of vaccines administered where &quot;Vaccine type&quot; = &quot;Hib-containing vaccines&quot; and &quot;Type of dose&quot;&quot; = &quot;Booster dose&quot;) = 0\n@code: No Hib booster doses were administered-121\n@decision: IMMZ.D2.DT.Hib.3 doses with booster dose: 3 primary doses with a booster dose (3p+1)\n@decision: IMMZ.D2.DT.Hib.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)\n*/\ndefine &quot;No Hib booster doses were administered&quot;:\n  &quot;Number of Hib Booster Series Doses Administered&quot; = 0\n\n/*\n@input: The latest Hib dose was administered less than 6 months ago\n@pseudocode: Today's date − latest &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;Hib-containing vaccines&quot;) &lt; 6 months\n@code: The latest Hib dose was administered less than 6 months ago-114\n@decision: IMMZ.D2.DT.Hib.3 doses with booster dose: 3 primary doses with a booster dose (3p+1)\n@decision: IMMZ.D2.DT.Hib.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)\n*/\ndefine &quot;The latest Hib dose was administered less than 6 months ago&quot;:\n  &quot;Date of Latest Hib Dose&quot; is not null\n    and duration in months between &quot;Date of Latest Hib Dose&quot; and Now() &lt; 6\n\n/*\n@input: The latest Hib dose was administered more than 6 months ago\n@pseudocode: Today's date − latest &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;Hib-containing vaccines&quot;) ≥ 6 months\n@code: The latest Hib dose was administered more than 6 months ago-114\n@decision: IMMZ.D2.DT.Hib.3 doses with booster dose: 3 primary doses with a booster dose (3p+1)\n@decision: IMMZ.D2.DT.Hib.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)\n*/\ndefine &quot;The latest Hib dose was administered more than 6 months ago&quot;:\n  not(&quot;The latest Hib dose was administered less than 6 months ago&quot;)\n\n/*\n@input: One Hib booster dose was administered\n@pseudocode: Count of vaccines administered where &quot;Vaccine type&quot; = &quot;Hib-containing vaccines&quot; and &quot;Type of dose&quot; = &quot;Booster dose&quot;) = 1\n@code: One Hib booster dose was administered-120\n@decision: IMMZ.D2.DT.Hib.3 doses with booster dose: 3 primary doses with a booster dose (3p+1)\n@decision: IMMZ.D2.DT.Hib.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)\n*/\ndefine &quot;One Hib booster dose was administered&quot;:\n  &quot;Number of Hib Booster Series Doses Administered&quot; = 1\n\n/*\n@input: One Hib primary series doses was administered\n@pseudocode: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;Hib-containing vaccines&quot; and &quot;Type of dose&quot;= &quot;Primary series&quot;) = 1\n@code: One Hib primary series doses was administered-122\n@decision: IMMZ.D2.DT.Hib.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)\n*/\ndefine &quot;One Hib primary series doses was administered&quot;:\n  &quot;One Hib primary series dose was administered&quot;\n\n/*\n@input: The latest Hib dose was administered less than 8 weeks ago\n@pseudocode: Today's date − latest &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;Hib-containing vaccines&quot;) &lt; 8 weeks\n@code: The latest Hib dose was administered less than 8 weeks ago-113\n@decision: IMMZ.D2.DT.Hib.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)\n*/\ndefine &quot;The latest Hib dose was administered less than 8 weeks ago&quot;:\n  &quot;Date of Latest Hib Dose&quot; is not null\n    and duration in weeks between &quot;Date of Latest Hib Dose&quot; and Now() &lt; 8\n\n/*\n@input: The latest Hib dose was administered more than 8 weeks ago\n@pseudocode: Today's date − latest &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;Hib-containing vaccines&quot;) ≥ 8 weeks\n@code: The latest Hib dose was administered more than 8 weeks ago-113\n@decision: IMMZ.D2.DT.Hib.2 doses with booster dose: 2 primary doses with a booster dose (2p+1)\n*/\ndefine &quot;The latest Hib dose was administered more than 8 weeks ago&quot;:\n  &quot;The latest Hib dose was administered less than 8 weeks ago&quot;\n\n/*\n@internal: Hib Booster Series Doses Administered to Patient\n*/\ndefine &quot;Hib Booster Series Doses Administered to Patient&quot;:\n  &quot;Hib Doses Administered to Patient&quot;.seriesBooster()\n\n/*\n@internal: Number of Hib Booster Series Doses Administered\n*/\ndefine &quot;Number of Hib Booster Series Doses Administered&quot;:\n  Count(&quot;Hib Booster Series Doses Administered to Patient&quot;)\n\n/*\n@internal: Date of First Hib Dose\n*/\ndefine &quot;Date of First Hib Dose&quot;:\n  date from start of &quot;Hib Doses Administered to Patient&quot;.earliest().occurrence.toInterval()\n\n/*\n@internal: Date of Latest Hib Dose\n*/\ndefine &quot;Date of Latest Hib Dose&quot;:\n  date from start of &quot;Hib Doses Administered to Patient&quot;.mostRecent().occurrence.toInterval()\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/IMMZD2DTHibElements",
  "version" : "1.0.0",
  "name" : "IMMZD2DTHibElements",
  "title" : "IMMZD2DTHibElements",
  "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 Hib 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" : "Hib Doses Administered to Patient",
    "use" : "out",
    "min" : 0,
    "max" : "*",
    "type" : "Immunization"
  },
  {
    "name" : "Hib Primary Series Doses Administered to Patient",
    "use" : "out",
    "min" : 0,
    "max" : "*",
    "type" : "Immunization"
  },
  {
    "name" : "Number of Hib Primary Series Doses Administered",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "integer"
  },
  {
    "name" : "Client's age is less than 6 weeks",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "boolean"
  },
  {
    "name" : "No Hib primary series doses were administered",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "boolean"
  },
  {
    "name" : "Client's age is between 6 weeks and 5 years",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "boolean"
  },
  {
    "name" : "One Hib primary series dose was administered",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "boolean"
  },
  {
    "name" : "Client's age is at least 6 weeks and not more than 5 years",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "boolean"
  },
  {
    "name" : "Date of First Hib Dose",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "date"
  },
  {
    "name" : "Client's age was less than 1 year when first Hib dose was administered",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "boolean"
  },
  {
    "name" : "Date of Latest Hib Dose",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "date"
  },
  {
    "name" : "The latest Hib dose was administered less than 4 weeks ago",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "boolean"
  },
  {
    "name" : "The latest Hib dose was administered more than 4 weeks ago",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "boolean"
  },
  {
    "name" : "Client's age was more than 1 year when first Hib dose was administered",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "boolean"
  },
  {
    "name" : "Two Hib primary series doses were administered",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "boolean"
  },
  {
    "name" : "Client's age is between 6 weeks and not more than 5 years",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "boolean"
  },
  {
    "name" : "Three Hib primary series doses were administered",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "boolean"
  },
  {
    "name" : "Client's age is more than 5 years",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "boolean"
  },
  {
    "name" : "Hib Booster Series Doses Administered to Patient",
    "use" : "out",
    "min" : 0,
    "max" : "*",
    "type" : "Immunization"
  },
  {
    "name" : "Number of Hib Booster Series Doses Administered",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "integer"
  },
  {
    "name" : "No Hib booster doses were administered",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "boolean"
  },
  {
    "name" : "The latest Hib dose was administered less than 6 months ago",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "boolean"
  },
  {
    "name" : "The latest Hib dose was administered more than 6 months ago",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "boolean"
  },
  {
    "name" : "One Hib booster dose was administered",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "boolean"
  },
  {
    "name" : "One Hib primary series doses was administered",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "boolean"
  },
  {
    "name" : "The latest Hib dose was administered less than 8 weeks ago",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "boolean"
  },
  {
    "name" : "The latest Hib dose was administered more than 8 weeks ago",
    "use" : "out",
    "min" : 0,
    "max" : "1",
    "type" : "boolean"
  }],
  "content" : [{
    "contentType" : "text/cql",
    "data" : "Ci8qCiAgKiBMaWJyYXJ5OiBJTU1aRDJEVEhpYkVsZW1lbnRzCiAgKi8KbGlicmFyeSBJTU1aRDJEVEhpYkVsZW1lbnRzCgp1c2luZyBGSElSIHZlcnNpb24gJzQuMC4xJwppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzQuMC4xJwoKaW5jbHVkZSBXSE9Db25jZXB0cwppbmNsdWRlIFdIT0NvbW1vbiBjYWxsZWQgV0MKaW5jbHVkZSBXSE9FbGVtZW50cyBjYWxsZWQgV0UKCmluY2x1ZGUgSU1NWkNvbW1vbiBjYWxsZWQgQ29tbW9uCmluY2x1ZGUgSU1NWkNvbmNlcHRzIGNhbGxlZCBDb25jZXB0cwppbmNsdWRlIElNTVpFbGVtZW50cyBjYWxsZWQgRWxlbWVudHMKCgpjb250ZXh0IFBhdGllbnQKCi8qCkBpbnRlcm5hbDogSGliIGNvbnRhaW5pbmcgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQKKi8KZGVmaW5lICJIaWIgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiOgogIEVsZW1lbnRzLiJEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIgSQogIHdoZXJlCiAgICBJLnZhY2NpbmVDb2RlIGluIENvbmNlcHRzLiJIaWItY29udGFpbmluZyB2YWNjaW5lcyIKCi8qCkBpbnRlcm5hbDogSGliIGNvbnRhaW5pbmcgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQgdGhhdCBhcmUgaW4gdGhlIFByaW1hcnkgc2VyaWVzCiovCmRlZmluZSAiSGliIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IjoKICAiSGliIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50Ii5zZXJpZXNQcmltYXJ5KCkKCi8qCkBpbnRlcm5hbDogTnVtYmVyIG9mIEhpYiBQcmltYXJ5IFNlcmllcyBkb3NlcwoqLwpkZWZpbmUgIk51bWJlciBvZiBIaWIgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIjoKICBDb3VudCgiSGliIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IikKCi8qCkBpbnB1dDogQ2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiA2IHdlZWtzCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSICJEYXRlIG9mIGJpcnRoIiA8IDYgd2Vla3MKQGNvZGU6IENsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gNiB3ZWVrcy00MApAZGVjaXNpb246IElNTVouRDIuRFQuSGliLjMgZG9zZXM6IDMgcHJpbWFyeSBkb3NlcyB3aXRob3V0IGEgYm9vc3RlciBkb3NlICgzcCkKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkhpYi4zIGRvc2VzIHdpdGggYm9vc3RlciBkb3NlOiAzIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoM3ArMSkKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkhpYi4yIGRvc2VzIHdpdGggYm9vc3RlciBkb3NlOiAyIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoMnArMSkKKi8KZGVmaW5lICJDbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDYgd2Vla3MiOgogIEVsZW1lbnRzLiJDdXJyZW50IFBhdGllbnQgQWdlIEluIFdlZWtzIiA8IDYKCi8qCkBpbnB1dDogTm8gSGliIHByaW1hcnkgc2VyaWVzIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkCkBwc2V1ZG9jb2RlOiBDb3VudCBvZiB2YWNjaW5lcyBhZG1pbmlzdGVyZWQgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIkhpYi1jb250YWluaW5nIHZhY2NpbmVzIiBhbmQgIlR5cGUgb2YgZG9zZSIgPSAiUHJpbWFyeSBzZXJpZXMiKSA9IDAKQGNvZGU6IE5vIEhpYiBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZC0xMjMKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkhpYi4zIGRvc2VzOiAzIHByaW1hcnkgZG9zZXMgd2l0aG91dCBhIGJvb3N0ZXIgZG9zZSAoM3ApCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5IaWIuMyBkb3NlcyB3aXRoIGJvb3N0ZXIgZG9zZTogMyBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDNwKzEpCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5IaWIuMiBkb3NlcyB3aXRoIGJvb3N0ZXIgZG9zZTogMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpCiovCmRlZmluZSAiTm8gSGliIHByaW1hcnkgc2VyaWVzIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkIjoKICAiTnVtYmVyIG9mIEhpYiBQcmltYXJ5IFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQiID0gMAoKLyoKQGlucHV0OiBDbGllbnQncyBhZ2UgaXMgYmV0d2VlbiA2IHdlZWtzIGFuZCA1IHllYXJzCkBwc2V1ZG9jb2RlOiA2IHdlZWtzIOKJpCBUb2RheSdzIGRhdGUg4oiSICJEYXRlIG9mIGJpcnRoIiDiiaQgNSB5ZWFycwpAY29kZTogQ2xpZW50J3MgYWdlIGlzIGJldHdlZW4gNiB3ZWVrcyBhbmQgNSB5ZWFycy01MApAZGVjaXNpb246IElNTVouRDIuRFQuSGliLjMgZG9zZXM6IDMgcHJpbWFyeSBkb3NlcyB3aXRob3V0IGEgYm9vc3RlciBkb3NlICgzcCkKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkhpYi4zIGRvc2VzIHdpdGggYm9vc3RlciBkb3NlOiAzIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoM3ArMSkKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkhpYi4yIGRvc2VzIHdpdGggYm9vc3RlciBkb3NlOiAyIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoMnArMSkKKi8KZGVmaW5lICJDbGllbnQncyBhZ2UgaXMgYmV0d2VlbiA2IHdlZWtzIGFuZCA1IHllYXJzIjoKICA2IDw9IEVsZW1lbnRzLiJDdXJyZW50IFBhdGllbnQgQWdlIEluIFdlZWtzIgogIGFuZCBFbGVtZW50cy4iQ3VycmVudCBQYXRpZW50IEFnZSBJbiBZZWFycyIgPD0gNQoKLyoKQGlucHV0OiBPbmUgSGliIHByaW1hcnkgc2VyaWVzIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZApAcHNldWRvY29kZTogQ291bnQgb2YgdmFjY2luZXMgYWRtaW5pc3RlcmVkICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJIaWItY29udGFpbmluZyB2YWNjaW5lcyIgYW5kICJUeXBlIG9mIGRvc2UiPSAiUHJpbWFyeSBzZXJpZXMiKSA9IDEKQGNvZGU6IE9uZSBIaWIgcHJpbWFyeSBzZXJpZXMgZG9zZSB3YXMgYWRtaW5pc3RlcmVkLTEyMgpAZGVjaXNpb246IElNTVouRDIuRFQuSGliLjMgZG9zZXM6IDMgcHJpbWFyeSBkb3NlcyB3aXRob3V0IGEgYm9vc3RlciBkb3NlICgzcCkKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkhpYi4zIGRvc2VzIHdpdGggYm9vc3RlciBkb3NlOiAzIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoM3ArMSkKKi8KZGVmaW5lICJPbmUgSGliIHByaW1hcnkgc2VyaWVzIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCI6CiAgIk51bWJlciBvZiBIaWIgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIiA9IDEKCi8qCkBpbnB1dDogQ2xpZW50J3MgYWdlIGlzIGF0IGxlYXN0IDYgd2Vla3MgYW5kIG5vdCBtb3JlIHRoYW4gNSB5ZWFycwpAcHNldWRvY29kZTogNiB3ZWVrcyDiiaQgVG9kYXkncyBkYXRlIOKIkiAiRGF0ZSBvZiBiaXJ0aCIg4omkIDUgeWVhcnMKQGNvZGU6IENsaWVudCdzIGFnZSBpcyBhdCBsZWFzdCA2IHdlZWtzIGFuZCBub3QgbW9yZSB0aGFuIDUgeWVhcnMtNTAKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkhpYi4zIGRvc2VzOiAzIHByaW1hcnkgZG9zZXMgd2l0aG91dCBhIGJvb3N0ZXIgZG9zZSAoM3ApCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5IaWIuMyBkb3NlcyB3aXRoIGJvb3N0ZXIgZG9zZTogMyBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDNwKzEpCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5IaWIuMiBkb3NlcyB3aXRoIGJvb3N0ZXIgZG9zZTogMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpCiovCmRlZmluZSAiQ2xpZW50J3MgYWdlIGlzIGF0IGxlYXN0IDYgd2Vla3MgYW5kIG5vdCBtb3JlIHRoYW4gNSB5ZWFycyI6CiAgIkNsaWVudCdzIGFnZSBpcyBiZXR3ZWVuIDYgd2Vla3MgYW5kIDUgeWVhcnMiCgovKgpAaW5wdXQ6IENsaWVudCdzIGFnZSB3YXMgbGVzcyB0aGFuIDEgeWVhciB3aGVuIGZpcnN0IEhpYiBkb3NlIHdhcyBhZG1pbmlzdGVyZWQKQHBzZXVkb2NvZGU6ICJEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uIiAod2hlcmUgIlZhY2NpbmUgdHlwZSI9ICJIaWItY29udGFpbmluZyB2YWNjaW5lcyIgYW5kICJEb3NlIG51bWJlciIgPSAxKSDiiJIgIkRhdGUgb2YgYmlydGgiIDwgMSB5ZWFyCkBjb2RlOiBDbGllbnQncyBhZ2Ugd2FzIGxlc3MgdGhhbiAxIHllYXIgd2hlbiBmaXJzdCBIaWIgZG9zZSB3YXMgYWRtaW5pc3RlcmVkLTEyOQpAZGVjaXNpb246IElNTVouRDIuRFQuSGliLjMgZG9zZXM6IDMgcHJpbWFyeSBkb3NlcyB3aXRob3V0IGEgYm9vc3RlciBkb3NlICgzcCkKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkhpYi4zIGRvc2VzIHdpdGggYm9vc3RlciBkb3NlOiAzIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoM3ArMSkKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkhpYi4yIGRvc2VzIHdpdGggYm9vc3RlciBkb3NlOiAyIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoMnArMSkKKi8KZGVmaW5lICJDbGllbnQncyBhZ2Ugd2FzIGxlc3MgdGhhbiAxIHllYXIgd2hlbiBmaXJzdCBIaWIgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIjoKICBBZ2VJblllYXJzQXQoIkRhdGUgb2YgRmlyc3QgSGliIERvc2UiKSA8IDEKCi8qCkBpbnB1dDogVGhlIGxhdGVzdCBIaWIgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiA0IHdlZWtzIGFnbwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiBsYXRlc3QgIkRhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24iICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJIaWItY29udGFpbmluZyB2YWNjaW5lcyIpIDwgNCB3ZWVrcwpAY29kZTogVGhlIGxhdGVzdCBIaWIgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiA0IHdlZWtzIGFnby0xMTMKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkhpYi4zIGRvc2VzOiAzIHByaW1hcnkgZG9zZXMgd2l0aG91dCBhIGJvb3N0ZXIgZG9zZSAoM3ApCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5IaWIuMyBkb3NlcyB3aXRoIGJvb3N0ZXIgZG9zZTogMyBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDNwKzEpCiovCmRlZmluZSAiVGhlIGxhdGVzdCBIaWIgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiA0IHdlZWtzIGFnbyI6CiAgIkRhdGUgb2YgTGF0ZXN0IEhpYiBEb3NlIiBpcyBub3QgbnVsbAogICAgYW5kIGR1cmF0aW9uIGluIHdlZWtzIGJldHdlZW4gIkRhdGUgb2YgTGF0ZXN0IEhpYiBEb3NlIiBhbmQgTm93KCkgPCA0CgovKgpAaW5wdXQ6IFRoZSBsYXRlc3QgSGliIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gNCB3ZWVrcyBhZ28KQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgbGF0ZXN0ICJEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uIiAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiSGliLWNvbnRhaW5pbmcgdmFjY2luZXMiKSDiiaUgNCB3ZWVrcwpAY29kZTogVGhlIGxhdGVzdCBIaWIgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiA0IHdlZWtzIGFnby0xMTMKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkhpYi4zIGRvc2VzOiAzIHByaW1hcnkgZG9zZXMgd2l0aG91dCBhIGJvb3N0ZXIgZG9zZSAoM3ApCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5IaWIuMyBkb3NlcyB3aXRoIGJvb3N0ZXIgZG9zZTogMyBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDNwKzEpCiovCmRlZmluZSAiVGhlIGxhdGVzdCBIaWIgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiA0IHdlZWtzIGFnbyI6CiAgbm90KCJUaGUgbGF0ZXN0IEhpYiBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDQgd2Vla3MgYWdvIikKCi8qCkBpbnB1dDogQ2xpZW50J3MgYWdlIHdhcyBtb3JlIHRoYW4gMSB5ZWFyIHdoZW4gZmlyc3QgSGliIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZApAcHNldWRvY29kZTogIkRhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24iICh3aGVyZSAiVmFjY2luZSB0eXBlIj0gIkhpYi1jb250YWluaW5nIHZhY2NpbmVzIiBhbmQgIkRvc2UgbnVtYmVyIiA9IDEpIOKIkiAiRGF0ZSBvZiBiaXJ0aCIg4omlIDEgeWVhcgpAY29kZTogQ2xpZW50J3MgYWdlIHdhcyBtb3JlIHRoYW4gMSB5ZWFyIHdoZW4gZmlyc3QgSGliIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZC0xMjkKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkhpYi4zIGRvc2VzOiAzIHByaW1hcnkgZG9zZXMgd2l0aG91dCBhIGJvb3N0ZXIgZG9zZSAoM3ApCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5IaWIuMyBkb3NlcyB3aXRoIGJvb3N0ZXIgZG9zZTogMyBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDNwKzEpCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5IaWIuMiBkb3NlcyB3aXRoIGJvb3N0ZXIgZG9zZTogMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpCiovCmRlZmluZSAiQ2xpZW50J3MgYWdlIHdhcyBtb3JlIHRoYW4gMSB5ZWFyIHdoZW4gZmlyc3QgSGliIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCI6CiAgQWdlSW5ZZWFyc0F0KCJEYXRlIG9mIEZpcnN0IEhpYiBEb3NlIikgPj0gMQoKLyoKQGlucHV0OiBUd28gSGliIHByaW1hcnkgc2VyaWVzIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkCkBwc2V1ZG9jb2RlOiBDb3VudCBvZiB2YWNjaW5lcyBhZG1pbmlzdGVyZWQgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIkhpYi1jb250YWluaW5nIHZhY2NpbmVzIiBhbmQgIlR5cGUgb2YgZG9zZSIgPSAiUHJpbWFyeSBzZXJpZXMiICkgPSAyCkBjb2RlOiBUd28gSGliIHByaW1hcnkgc2VyaWVzIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkLTEyNApAZGVjaXNpb246IElNTVouRDIuRFQuSGliLjMgZG9zZXM6IDMgcHJpbWFyeSBkb3NlcyB3aXRob3V0IGEgYm9vc3RlciBkb3NlICgzcCkKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkhpYi4zIGRvc2VzIHdpdGggYm9vc3RlciBkb3NlOiAzIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoM3ArMSkKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkhpYi4yIGRvc2VzIHdpdGggYm9vc3RlciBkb3NlOiAyIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoMnArMSkKKi8KZGVmaW5lICJUd28gSGliIHByaW1hcnkgc2VyaWVzIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkIjoKICAiTnVtYmVyIG9mIEhpYiBQcmltYXJ5IFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQiID0gMgoKLyoKQGlucHV0OiBDbGllbnQncyBhZ2UgaXMgYmV0d2VlbiA2IHdlZWtzIGFuZCBub3QgbW9yZSB0aGFuIDUgeWVhcnMKQHBzZXVkb2NvZGU6IDYgd2Vla3Mg4omkIFRvZGF5J3MgZGF0ZSDiiJIgIkRhdGUgb2YgYmlydGgiIOKJpCA1IHllYXJzCkBjb2RlOiBDbGllbnQncyBhZ2UgaXMgYmV0d2VlbiA2IHdlZWtzIGFuZCBub3QgbW9yZSB0aGFuIDUgeWVhcnMtNTAKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkhpYi4zIGRvc2VzOiAzIHByaW1hcnkgZG9zZXMgd2l0aG91dCBhIGJvb3N0ZXIgZG9zZSAoM3ApCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5IaWIuMyBkb3NlcyB3aXRoIGJvb3N0ZXIgZG9zZTogMyBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDNwKzEpCiovCmRlZmluZSAiQ2xpZW50J3MgYWdlIGlzIGJldHdlZW4gNiB3ZWVrcyBhbmQgbm90IG1vcmUgdGhhbiA1IHllYXJzIjoKICAiQ2xpZW50J3MgYWdlIGlzIGJldHdlZW4gNiB3ZWVrcyBhbmQgNSB5ZWFycyIKCi8qCkBpbnB1dDogVGhyZWUgSGliIHByaW1hcnkgc2VyaWVzIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkCkBwc2V1ZG9jb2RlOiBDb3VudCBvZiB2YWNjaW5lcyBhZG1pbmlzdGVyZWQgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIkhpYi1jb250YWluaW5nIHZhY2NpbmVzIiBhbmQgIlR5cGUgb2YgZG9zZSI9ICJQcmltYXJ5IHNlcmllcyIpID0gMwpAY29kZTogVGhyZWUgSGliIHByaW1hcnkgc2VyaWVzIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkLTEyMgpAZGVjaXNpb246IElNTVouRDIuRFQuSGliLjMgZG9zZXM6IDMgcHJpbWFyeSBkb3NlcyB3aXRob3V0IGEgYm9vc3RlciBkb3NlICgzcCkKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkhpYi4zIGRvc2VzIHdpdGggYm9vc3RlciBkb3NlOiAzIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoM3ArMSkKKi8KZGVmaW5lICJUaHJlZSBIaWIgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQiOgogICJOdW1iZXIgb2YgSGliIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCIgPSAzCgovKgpAaW5wdXQ6IENsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gNSB5ZWFycwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiAiRGF0ZSBvZiBiaXJ0aCIgPiA1IHllYXJzCkBjb2RlOiBDbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIDUgeWVhcnMtNDAKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkhpYi4zIGRvc2VzOiAzIHByaW1hcnkgZG9zZXMgd2l0aG91dCBhIGJvb3N0ZXIgZG9zZSAoM3ApCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5IaWIuMyBkb3NlcyB3aXRoIGJvb3N0ZXIgZG9zZTogMyBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDNwKzEpCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5IaWIuMiBkb3NlcyB3aXRoIGJvb3N0ZXIgZG9zZTogMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpCiovCmRlZmluZSAiQ2xpZW50J3MgYWdlIGlzIG1vcmUgdGhhbiA1IHllYXJzIjoKICBFbGVtZW50cy4iQ3VycmVudCBQYXRpZW50IEFnZSBJbiBZZWFycyIgPiA1CgovKgpAaW5wdXQ6IE5vIEhpYiBib29zdGVyIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkCkBwc2V1ZG9jb2RlOiBDb3VudCBvZiB2YWNjaW5lcyBhZG1pbmlzdGVyZWQgd2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiSGliLWNvbnRhaW5pbmcgdmFjY2luZXMiIGFuZCAiVHlwZSBvZiBkb3NlIiIgPSAiQm9vc3RlciBkb3NlIikgPSAwCkBjb2RlOiBObyBIaWIgYm9vc3RlciBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZC0xMjEKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkhpYi4zIGRvc2VzIHdpdGggYm9vc3RlciBkb3NlOiAzIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoM3ArMSkKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkhpYi4yIGRvc2VzIHdpdGggYm9vc3RlciBkb3NlOiAyIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoMnArMSkKKi8KZGVmaW5lICJObyBIaWIgYm9vc3RlciBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZCI6CiAgIk51bWJlciBvZiBIaWIgQm9vc3RlciBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIiA9IDAKCi8qCkBpbnB1dDogVGhlIGxhdGVzdCBIaWIgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiA2IG1vbnRocyBhZ28KQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgbGF0ZXN0ICJEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uIiAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiSGliLWNvbnRhaW5pbmcgdmFjY2luZXMiKSA8IDYgbW9udGhzCkBjb2RlOiBUaGUgbGF0ZXN0IEhpYiBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDYgbW9udGhzIGFnby0xMTQKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkhpYi4zIGRvc2VzIHdpdGggYm9vc3RlciBkb3NlOiAzIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoM3ArMSkKQGRlY2lzaW9uOiBJTU1aLkQyLkRULkhpYi4yIGRvc2VzIHdpdGggYm9vc3RlciBkb3NlOiAyIHByaW1hcnkgZG9zZXMgd2l0aCBhIGJvb3N0ZXIgZG9zZSAoMnArMSkKKi8KZGVmaW5lICJUaGUgbGF0ZXN0IEhpYiBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDYgbW9udGhzIGFnbyI6CiAgIkRhdGUgb2YgTGF0ZXN0IEhpYiBEb3NlIiBpcyBub3QgbnVsbAogICAgYW5kIGR1cmF0aW9uIGluIG1vbnRocyBiZXR3ZWVuICJEYXRlIG9mIExhdGVzdCBIaWIgRG9zZSIgYW5kIE5vdygpIDwgNgoKLyoKQGlucHV0OiBUaGUgbGF0ZXN0IEhpYiBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDYgbW9udGhzIGFnbwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiBsYXRlc3QgIkRhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24iICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJIaWItY29udGFpbmluZyB2YWNjaW5lcyIpIOKJpSA2IG1vbnRocwpAY29kZTogVGhlIGxhdGVzdCBIaWIgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiA2IG1vbnRocyBhZ28tMTE0CkBkZWNpc2lvbjogSU1NWi5EMi5EVC5IaWIuMyBkb3NlcyB3aXRoIGJvb3N0ZXIgZG9zZTogMyBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDNwKzEpCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5IaWIuMiBkb3NlcyB3aXRoIGJvb3N0ZXIgZG9zZTogMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpCiovCmRlZmluZSAiVGhlIGxhdGVzdCBIaWIgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiA2IG1vbnRocyBhZ28iOgogIG5vdCgiVGhlIGxhdGVzdCBIaWIgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiA2IG1vbnRocyBhZ28iKQoKLyoKQGlucHV0OiBPbmUgSGliIGJvb3N0ZXIgZG9zZSB3YXMgYWRtaW5pc3RlcmVkCkBwc2V1ZG9jb2RlOiBDb3VudCBvZiB2YWNjaW5lcyBhZG1pbmlzdGVyZWQgd2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiSGliLWNvbnRhaW5pbmcgdmFjY2luZXMiIGFuZCAiVHlwZSBvZiBkb3NlIiA9ICJCb29zdGVyIGRvc2UiKSA9IDEKQGNvZGU6IE9uZSBIaWIgYm9vc3RlciBkb3NlIHdhcyBhZG1pbmlzdGVyZWQtMTIwCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5IaWIuMyBkb3NlcyB3aXRoIGJvb3N0ZXIgZG9zZTogMyBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDNwKzEpCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5IaWIuMiBkb3NlcyB3aXRoIGJvb3N0ZXIgZG9zZTogMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpCiovCmRlZmluZSAiT25lIEhpYiBib29zdGVyIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCI6CiAgIk51bWJlciBvZiBIaWIgQm9vc3RlciBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIiA9IDEKCi8qCkBpbnB1dDogT25lIEhpYiBwcmltYXJ5IHNlcmllcyBkb3NlcyB3YXMgYWRtaW5pc3RlcmVkCkBwc2V1ZG9jb2RlOiBDb3VudCBvZiB2YWNjaW5lcyBhZG1pbmlzdGVyZWQgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIkhpYi1jb250YWluaW5nIHZhY2NpbmVzIiBhbmQgIlR5cGUgb2YgZG9zZSI9ICJQcmltYXJ5IHNlcmllcyIpID0gMQpAY29kZTogT25lIEhpYiBwcmltYXJ5IHNlcmllcyBkb3NlcyB3YXMgYWRtaW5pc3RlcmVkLTEyMgpAZGVjaXNpb246IElNTVouRDIuRFQuSGliLjIgZG9zZXMgd2l0aCBib29zdGVyIGRvc2U6IDIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKQoqLwpkZWZpbmUgIk9uZSBIaWIgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2FzIGFkbWluaXN0ZXJlZCI6CiAgIk9uZSBIaWIgcHJpbWFyeSBzZXJpZXMgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIgoKLyoKQGlucHV0OiBUaGUgbGF0ZXN0IEhpYiBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDggd2Vla3MgYWdvCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSIGxhdGVzdCAiRGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiIgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIkhpYi1jb250YWluaW5nIHZhY2NpbmVzIikgPCA4IHdlZWtzCkBjb2RlOiBUaGUgbGF0ZXN0IEhpYiBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDggd2Vla3MgYWdvLTExMwpAZGVjaXNpb246IElNTVouRDIuRFQuSGliLjIgZG9zZXMgd2l0aCBib29zdGVyIGRvc2U6IDIgcHJpbWFyeSBkb3NlcyB3aXRoIGEgYm9vc3RlciBkb3NlICgycCsxKQoqLwpkZWZpbmUgIlRoZSBsYXRlc3QgSGliIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gOCB3ZWVrcyBhZ28iOgogICJEYXRlIG9mIExhdGVzdCBIaWIgRG9zZSIgaXMgbm90IG51bGwKICAgIGFuZCBkdXJhdGlvbiBpbiB3ZWVrcyBiZXR3ZWVuICJEYXRlIG9mIExhdGVzdCBIaWIgRG9zZSIgYW5kIE5vdygpIDwgOAoKLyoKQGlucHV0OiBUaGUgbGF0ZXN0IEhpYiBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDggd2Vla3MgYWdvCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSIGxhdGVzdCAiRGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiIgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIkhpYi1jb250YWluaW5nIHZhY2NpbmVzIikg4omlIDggd2Vla3MKQGNvZGU6IFRoZSBsYXRlc3QgSGliIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gOCB3ZWVrcyBhZ28tMTEzCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5IaWIuMiBkb3NlcyB3aXRoIGJvb3N0ZXIgZG9zZTogMiBwcmltYXJ5IGRvc2VzIHdpdGggYSBib29zdGVyIGRvc2UgKDJwKzEpCiovCmRlZmluZSAiVGhlIGxhdGVzdCBIaWIgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiA4IHdlZWtzIGFnbyI6CiAgIlRoZSBsYXRlc3QgSGliIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gOCB3ZWVrcyBhZ28iCgovKgpAaW50ZXJuYWw6IEhpYiBCb29zdGVyIFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudAoqLwpkZWZpbmUgIkhpYiBCb29zdGVyIFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCI6CiAgIkhpYiBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIuc2VyaWVzQm9vc3RlcigpCgovKgpAaW50ZXJuYWw6IE51bWJlciBvZiBIaWIgQm9vc3RlciBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkCiovCmRlZmluZSAiTnVtYmVyIG9mIEhpYiBCb29zdGVyIFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQiOgogIENvdW50KCJIaWIgQm9vc3RlciBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiKQoKLyoKQGludGVybmFsOiBEYXRlIG9mIEZpcnN0IEhpYiBEb3NlCiovCmRlZmluZSAiRGF0ZSBvZiBGaXJzdCBIaWIgRG9zZSI6CiAgZGF0ZSBmcm9tIHN0YXJ0IG9mICJIaWIgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiLmVhcmxpZXN0KCkub2NjdXJyZW5jZS50b0ludGVydmFsKCkKCi8qCkBpbnRlcm5hbDogRGF0ZSBvZiBMYXRlc3QgSGliIERvc2UKKi8KZGVmaW5lICJEYXRlIG9mIExhdGVzdCBIaWIgRG9zZSI6CiAgZGF0ZSBmcm9tIHN0YXJ0IG9mICJIaWIgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiLm1vc3RSZWNlbnQoKS5vY2N1cnJlbmNlLnRvSW50ZXJ2YWwoKQo="
  }]
}