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

: IMMZD18STBEEnceVirLogic - JSON Representation

Draft as of 2026-03-31

Raw json | Download

{
  "resourceType" : "Library",
  "id" : "IMMZD18STBEEnceVirLogic",
  "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;\">IMMZD18STBEEnceVirLogic</td>\n        </tr>\n        \n\n        \n        \n        <tr>\n            <th scope=\"row\"><b>Id: </b></th>\n            <td style=\"padding-left: 4px;\">IMMZD18STBEEnceVirLogic</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-IMMZD18STBEEnceVirLogic.html\">IMMZD18STBEEnceVirLogic</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 decision support logic for the IMMZ.D18.S.TBE.EnceVir schedule table in 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-WHOCommon.html\">WHOCommon</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-IMMZEncounterElements.html\">IMMZEncounterElements</a></li>\n                  \n                    <li><a href=\"Library-IMMZD2DTTBEEncounterElements.html\">IMMZD2DTTBEEncounterElements</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>Today</th><th>date</th><th>0</th><th>1</th><th>In</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>First TBE dose from the primary series was administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Tick-borne encephalitis (TBE) EnceVir dose 1</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Tick-borne encephalitis (TBE) EnceVir dose 1 Due Date</th><th>date</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Tick-borne encephalitis (TBE) EnceVir dose 1 Create</th><th>string</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Tick-borne encephalitis (TBE) EnceVir dose 1 Overdue</th><th>Resource</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Tick-borne encephalitis (TBE) EnceVir dose 1 Expiration</th><th>Resource</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Second TBE dose from the primary series was administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>TBE EnceVir Dose 2</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>TBE EnceVir Dose 2 Due Date</th><th>date</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>TBE EnceVir Dose 2 Overdue</th><th>date</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>TBE EnceVir Dose 2 Create</th><th>string</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>TBE EnceVir Dose 2 Expiration</th><th>Resource</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Third TBE dose from the primary series was administered. The primary series has been completed</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>TBE EnceVir dose 3</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>TBE EnceVir dose 3 Due Date</th><th>date</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>TBE EnceVir dose 3 Create</th><th>string</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>TBE EnceVir dose 3 Overdue</th><th>Resource</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>TBE EnceVir dose 3 Expiration</th><th>Resource</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>TBE EnceVir booster dose</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>TBE EnceVir booster dose Due Date</th><th>date</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>TBE EnceVir booster dose Create</th><th>string</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>TBE EnceVir booster dose Overdue</th><th>Resource</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>TBE EnceVir booster dose Expiration</th><th>Resource</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>TBE booster dose was administered less than 3 years ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Test Validation</th><th>Resource</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 * Library: IMMZD18STBEEnceVirLogic (IMMZ.D18.S.TBE.EnceVir schedule)\n * Schedule Table: EnceVir, 3-dose schedule\n */\nlibrary IMMZD18STBEEnceVirLogic\n\nusing FHIR version '4.0.1'\ninclude FHIRHelpers version '4.0.1'\n\ninclude WHOCommon called WC\n\ninclude IMMZCommon called Common\ninclude IMMZConcepts called Concepts\n\ninclude IMMZEncounterElements called IE\ninclude IMMZD2DTTBEEncounterElements called Encounter\n\nparameter Today Date default Today()\n\n\ncontext Patient\n\n\n/*\n@output: Tick-borne encephalitis (TBE) EnceVir dose 1\n@description: Provision of the TBE EnceVir dose 1\n@trigger: Child's birth\n@pseudo: \n@triggerDate: &quot;Date of birth&quot;\n*/\ndefine &quot;Tick-borne encephalitis (TBE) EnceVir dose 1&quot;:\n  Encounter.&quot;No TBE primary series doses were administered&quot;\n  and not &quot;First TBE dose from the primary series was administered&quot;\n\n\n/*\n@output: Tick-borne encephalitis (TBE) EnceVir dose 1 Create\n@create: The TBE-Moscow vaccine is not licensed for use in children aged under 3 years.\n*/\ndefine &quot;Tick-borne encephalitis (TBE) EnceVir dose 1 Create&quot;:\n  if &quot;Tick-borne encephalitis (TBE) EnceVir dose 1&quot;\n  then 'The TBE-Moscow vaccine is not licensed for use in children aged under 3 years.' + '\nDue Date: ' + ToString(&quot;Tick-borne encephalitis (TBE) EnceVir dose 1 Due Date&quot;)\n  else ''\n\n\n/*\n@dynamicValue: Tick-borne encephalitis (TBE) EnceVir dose 1 Due Date\n@pseudocode: &quot;Date of birth&quot; + 3 years\n*/\ndefine &quot;Tick-borne encephalitis (TBE) EnceVir dose 1 Due Date&quot;:\n  if &quot;Tick-borne encephalitis (TBE) EnceVir dose 1&quot; then Patient.birthDate + 3 years\n  else null\n\n\n/*\n@dynamicValue: Tick-borne encephalitis (TBE) EnceVir dose 1 Overdue\n@pseudocode: To be determined by Member States; however, there is no recommended overdue date and individuals are always eligible to be vaccinated.\n*/\ndefine &quot;Tick-borne encephalitis (TBE) EnceVir dose 1 Overdue&quot;:\n  null\n\n\n/*\n@dynamicValue: Tick-borne encephalitis (TBE) EnceVir dose 1 Expiration\n@pseudocode: To be determined by Member States; however, there is no recommended expiration date and individuals are always eligible to be vaccinated.\n*/\ndefine &quot;Tick-borne encephalitis (TBE) EnceVir dose 1 Expiration&quot;:\n  null\n\n  \n/*\n@complete: First TBE dose from the primary series was administered\n@pseudocode: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;TBE vaccines&quot; and &quot;Type of dose&quot; = &quot;Primary series&quot;) = 1\n*/\ndefine &quot;First TBE dose from the primary series was administered&quot;:\n  Encounter.&quot;One TBE primary series dose was administered&quot;\n\n\n\n/*\n@output: TBE EnceVir Dose 2\n@description: Provision of the TBE EnceVir dose 2\n@trigger: First TBE dose from the primary series was administered\n@pseudo: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;TBE vaccines&quot; and &quot;Type of dose&quot; = &quot;Primary series&quot;) = 1\n@triggerDate: &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;TBE vaccines&quot;)\n*/\ndefine &quot;TBE EnceVir Dose 2&quot;:\n  &quot;First TBE dose from the primary series was administered&quot;\n  and not &quot;Second TBE dose from the primary series was administered&quot;\n\n\n/*\n@output: TBE EnceVir Dose 2 Create\n@create: The manufacturer of EnceVir recommends 2 doses given at an interval of 5–7 months.\n*/\ndefine &quot;TBE EnceVir Dose 2 Create&quot;:\n  if &quot;TBE EnceVir Dose 2&quot;\n  then 'The manufacturer of EnceVir recommends 2 doses given at an interval of 5–7 months.' + '\nDue Date: ' + ToString(&quot;TBE EnceVir Dose 2 Due Date&quot;) + '\nOverdue: ' + ToString(&quot;TBE EnceVir Dose 2 Overdue&quot;)\n  else ''\n\n\n/*\n@dynamicValue: TBE EnceVir Dose 2 Due Date\n@pseudocode: &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;TBE vaccines&quot;) + 5 months\n*/\ndefine &quot;TBE EnceVir Dose 2 Due Date&quot;:\n  if &quot;TBE EnceVir Dose 2&quot; then Encounter.&quot;Date of Latest TBE Dose&quot; + 5 months\n  else null\n\n\n/*\n@dynamicValue: TBE EnceVir Dose 2 Overdue\n@pseudocode: &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;TBE vaccines&quot;) + 7 months\n*/\ndefine &quot;TBE EnceVir Dose 2 Overdue&quot;:\n  if &quot;TBE EnceVir Dose 2&quot; then Encounter.&quot;Date of Latest TBE Dose&quot; + 7 months\n  else null\n\n\n/*\n@dynamicValue: TBE EnceVir Dose 2 Expiration\n@pseudocode: To be determined by Member States; however, there is no recommended expiration date and individuals are always eligible to be vaccinated.\n*/\ndefine &quot;TBE EnceVir Dose 2 Expiration&quot;:\n  null\n\n  \n/*\n@complete: Second TBE dose from the primary series was administered\n@pseudocode: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;TBE vaccines&quot; and &quot;Type of dose&quot; = &quot;Primary series&quot;) = 2\n*/\ndefine &quot;Second TBE dose from the primary series was administered&quot;:\n  Encounter.&quot;Two TBE primary series doses were administered&quot;\n\n\n\n/*\n@output: TBE EnceVir dose 3\n@description: Provision of the TBE EnceVir dose 3\n@trigger: Second TBE dose from the primary series was administered\n@pseudo: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;TBE vaccines&quot; and &quot;Type of dose&quot; = &quot;Primary series&quot;) = 2\n@triggerDate: Latest &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;TBE vaccines&quot;)\n*/\ndefine &quot;TBE EnceVir dose 3&quot;:\n  &quot;Second TBE dose from the primary series was administered&quot;\n  and not &quot;Third TBE dose from the primary series was administered. The primary series has been completed&quot;\n\n\n/*\n@output: TBE EnceVir dose 3 Create\n@create: The recommended interval is 12 months between the second and third doses.\n*/\ndefine &quot;TBE EnceVir dose 3 Create&quot;:\n  if &quot;TBE EnceVir dose 3&quot;\n  then 'The recommended interval is 12 months between the second and third doses.' + '\nDue Date: ' + ToString(&quot;TBE EnceVir dose 3 Due Date&quot;)\n  else ''\n\n\n/*\n@dynamicValue: TBE EnceVir dose 3 Due Date\n@pseudocode: Latest &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;TBE vaccines&quot;) + 12 months\n*/\ndefine &quot;TBE EnceVir dose 3 Due Date&quot;:\n  if &quot;TBE EnceVir dose 3&quot; then Encounter.&quot;Date of Latest TBE Dose&quot; + 12 months\n  else null\n\n\n/*\n@dynamicValue: TBE EnceVir dose 3 Overdue\n@pseudocode: To be determined by Member States; however, there is no recommended overdue date and individuals are always eligible to be vaccinated.\n*/\ndefine &quot;TBE EnceVir dose 3 Overdue&quot;:\n  null\n\n\n/*\n@dynamicValue: TBE EnceVir dose 3 Expiration\n@pseudocode: To be determined by Member States; however, there is no recommended expiration date and individuals are always eligible to be vaccinated.\n*/\ndefine &quot;TBE EnceVir dose 3 Expiration&quot;:\n  null\n\n  \n/*\n@complete: Third TBE dose from the primary series was administered. The primary series has been completed\n@pseudocode: &quot;Completed the primary vaccination series&quot; = TRUE (where &quot;Vaccine type&quot; = &quot;TBE vaccines&quot;)\n*/\ndefine &quot;Third TBE dose from the primary series was administered. The primary series has been completed&quot;:\n  Encounter.&quot;Three TBE primary series doses were administered&quot;\n\n\n\n/*\n@output: TBE EnceVir booster dose\n@description: Provision of the TBE EnceVir booster dose\n@trigger: The primary series has been completed\n@pseudo: &quot;Completed the primary vaccination series&quot; = TRUE (where &quot;Vaccine type&quot; = &quot;TBE vaccines&quot;)\n@triggerDate: Latest &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;TBE vaccines&quot;)\n*/\ndefine &quot;TBE EnceVir booster dose&quot;:\n  &quot;Third TBE dose from the primary series was administered. The primary series has been completed&quot;\n\n\n/*\n@output: TBE EnceVir booster dose Create\n@create: TBE booster dose should be provided every 3 years to the client if the country recognizes TBE as a priority and the client has completed the primary series.\n*/\ndefine &quot;TBE EnceVir booster dose Create&quot;:\n  if &quot;TBE EnceVir booster dose&quot;\n  then 'TBE booster dose should be provided every 3 years to the client if the country recognizes TBE as a priority and the client has completed the primary series.' + '\nDue Date: ' + ToString(&quot;TBE EnceVir booster dose Due Date&quot;)\n  else ''\n\n\n/*\n@dynamicValue: TBE EnceVir booster dose Due Date\n@pseudocode: Latest &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;TBE vaccines&quot;) + 3 years\n*/\ndefine &quot;TBE EnceVir booster dose Due Date&quot;:\n  if &quot;TBE EnceVir booster dose&quot; then Encounter.&quot;Date of Latest TBE Dose&quot; + 3 years\n  else null\n\n\n/*\n@dynamicValue: TBE EnceVir booster dose Overdue\n@pseudocode: To be determined by Member States; however, there is no recommended overdue date and individuals are always eligible to be vaccinated.\n*/\ndefine &quot;TBE EnceVir booster dose Overdue&quot;:\n  null\n\n\n/*\n@dynamicValue: TBE EnceVir booster dose Expiration\n@pseudocode: To be determined by Member States; however, there is no recommended expiration date and individuals are always eligible to be vaccinated.\n*/\ndefine &quot;TBE EnceVir booster dose Expiration&quot;:\n  null\n\n  \n/*\n@complete: TBE booster dose was administered less than 3 years ago\n@pseudocode: Count of vaccines administered (where &quot;Vaccine type&quot; = &quot;TBE vaccines&quot; and &quot;Type of dose&quot; = &quot;Booster dose&quot;) ≥ 1 AND Today's date - Latest &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;TBE vaccines&quot;) &lt; 3 years\n*/\ndefine &quot;TBE booster dose was administered less than 3 years ago&quot;:\n  Encounter.&quot;At least one booster dose was administered&quot;\n  and Encounter.&quot;The latest TBE dose was administered less than 3 years ago&quot;\n\n\n\n/*\n@test: Test expected results based on example patients\n*/\ndefine &quot;Test Validation&quot;:\n  case\n    when Patient.id = 'TBE55.1' then &quot;Tick-borne encephalitis (TBE) EnceVir dose 1&quot;\n    when Patient.id = 'TBE56.2' then &quot;Tick-borne encephalitis (TBE) EnceVir dose 1&quot;\n    when Patient.id = 'TBE57.2' then &quot;TBE EnceVir Dose 2&quot;\n    when Patient.id = 'TBE58.2' then &quot;TBE EnceVir Dose 2&quot;\n    when Patient.id = 'TBE59.2' then &quot;TBE EnceVir dose 3&quot;\n    when Patient.id = 'TBE60.2' then &quot;TBE EnceVir dose 3&quot;\n    when Patient.id = 'TBE61.2' then &quot;TBE EnceVir booster dose&quot;\n    when Patient.id = 'TBE62.2' then &quot;TBE EnceVir booster dose&quot;\n    else 'No test case set'\n  end\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/IMMZD18STBEEnceVirLogic",
  "version" : "1.0.0",
  "name" : "IMMZD18STBEEnceVirLogic",
  "title" : "IMMZD18STBEEnceVirLogic",
  "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 decision support logic for the IMMZ.D18.S.TBE.EnceVir schedule table in the Immunization CPG",
  "relatedArtifact" : [
    {
      "type" : "depends-on",
      "display" : "Library WC",
      "resource" : "http://smart.who.int/immunizations/Library/WHOCommon"
    },
    {
      "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 IE",
      "resource" : "http://smart.who.int/immunizations/Library/IMMZEncounterElements"
    },
    {
      "type" : "depends-on",
      "display" : "Library Encounter",
      "resource" : "http://smart.who.int/immunizations/Library/IMMZD2DTTBEEncounterElements"
    }
  ],
  "parameter" : [
    {
      "name" : "Today",
      "use" : "in",
      "min" : 0,
      "max" : "1",
      "type" : "date"
    },
    {
      "name" : "Patient",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "Patient"
    },
    {
      "name" : "First TBE dose from the primary series was administered",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "Tick-borne encephalitis (TBE) EnceVir dose 1",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "Tick-borne encephalitis (TBE) EnceVir dose 1 Due Date",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "date"
    },
    {
      "name" : "Tick-borne encephalitis (TBE) EnceVir dose 1 Create",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "string"
    },
    {
      "name" : "Tick-borne encephalitis (TBE) EnceVir dose 1 Overdue",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "Resource"
    },
    {
      "name" : "Tick-borne encephalitis (TBE) EnceVir dose 1 Expiration",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "Resource"
    },
    {
      "name" : "Second TBE dose from the primary series was administered",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "TBE EnceVir Dose 2",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "TBE EnceVir Dose 2 Due Date",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "date"
    },
    {
      "name" : "TBE EnceVir Dose 2 Overdue",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "date"
    },
    {
      "name" : "TBE EnceVir Dose 2 Create",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "string"
    },
    {
      "name" : "TBE EnceVir Dose 2 Expiration",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "Resource"
    },
    {
      "name" : "Third TBE dose from the primary series was administered. The primary series has been completed",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "TBE EnceVir dose 3",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "TBE EnceVir dose 3 Due Date",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "date"
    },
    {
      "name" : "TBE EnceVir dose 3 Create",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "string"
    },
    {
      "name" : "TBE EnceVir dose 3 Overdue",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "Resource"
    },
    {
      "name" : "TBE EnceVir dose 3 Expiration",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "Resource"
    },
    {
      "name" : "TBE EnceVir booster dose",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "TBE EnceVir booster dose Due Date",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "date"
    },
    {
      "name" : "TBE EnceVir booster dose Create",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "string"
    },
    {
      "name" : "TBE EnceVir booster dose Overdue",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "Resource"
    },
    {
      "name" : "TBE EnceVir booster dose Expiration",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "Resource"
    },
    {
      "name" : "TBE booster dose was administered less than 3 years ago",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "Test Validation",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "Resource"
    }
  ],
  "content" : [
    {
      "contentType" : "text/cql",
      "data" : "LyoKICogTGlicmFyeTogSU1NWkQxOFNUQkVFbmNlVmlyTG9naWMgKElNTVouRDE4LlMuVEJFLkVuY2VWaXIgc2NoZWR1bGUpCiAqIFNjaGVkdWxlIFRhYmxlOiBFbmNlVmlyLCAzLWRvc2Ugc2NoZWR1bGUKICovCmxpYnJhcnkgSU1NWkQxOFNUQkVFbmNlVmlyTG9naWMKCnVzaW5nIEZISVIgdmVyc2lvbiAnNC4wLjEnCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnNC4wLjEnCgppbmNsdWRlIFdIT0NvbW1vbiBjYWxsZWQgV0MKCmluY2x1ZGUgSU1NWkNvbW1vbiBjYWxsZWQgQ29tbW9uCmluY2x1ZGUgSU1NWkNvbmNlcHRzIGNhbGxlZCBDb25jZXB0cwoKaW5jbHVkZSBJTU1aRW5jb3VudGVyRWxlbWVudHMgY2FsbGVkIElFCmluY2x1ZGUgSU1NWkQyRFRUQkVFbmNvdW50ZXJFbGVtZW50cyBjYWxsZWQgRW5jb3VudGVyCgpwYXJhbWV0ZXIgVG9kYXkgRGF0ZSBkZWZhdWx0IFRvZGF5KCkKCgpjb250ZXh0IFBhdGllbnQKCgovKgpAb3V0cHV0OiBUaWNrLWJvcm5lIGVuY2VwaGFsaXRpcyAoVEJFKSBFbmNlVmlyIGRvc2UgMQpAZGVzY3JpcHRpb246IFByb3Zpc2lvbiBvZiB0aGUgVEJFIEVuY2VWaXIgZG9zZSAxCkB0cmlnZ2VyOiBDaGlsZCdzIGJpcnRoCkBwc2V1ZG86IApAdHJpZ2dlckRhdGU6ICJEYXRlIG9mIGJpcnRoIgoqLwpkZWZpbmUgIlRpY2stYm9ybmUgZW5jZXBoYWxpdGlzIChUQkUpIEVuY2VWaXIgZG9zZSAxIjoKICBFbmNvdW50ZXIuIk5vIFRCRSBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZCIKICBhbmQgbm90ICJGaXJzdCBUQkUgZG9zZSBmcm9tIHRoZSBwcmltYXJ5IHNlcmllcyB3YXMgYWRtaW5pc3RlcmVkIgoKCi8qCkBvdXRwdXQ6IFRpY2stYm9ybmUgZW5jZXBoYWxpdGlzIChUQkUpIEVuY2VWaXIgZG9zZSAxIENyZWF0ZQpAY3JlYXRlOiBUaGUgVEJFLU1vc2NvdyB2YWNjaW5lIGlzIG5vdCBsaWNlbnNlZCBmb3IgdXNlIGluIGNoaWxkcmVuIGFnZWQgdW5kZXIgMyB5ZWFycy4KKi8KZGVmaW5lICJUaWNrLWJvcm5lIGVuY2VwaGFsaXRpcyAoVEJFKSBFbmNlVmlyIGRvc2UgMSBDcmVhdGUiOgogIGlmICJUaWNrLWJvcm5lIGVuY2VwaGFsaXRpcyAoVEJFKSBFbmNlVmlyIGRvc2UgMSIKICB0aGVuICdUaGUgVEJFLU1vc2NvdyB2YWNjaW5lIGlzIG5vdCBsaWNlbnNlZCBmb3IgdXNlIGluIGNoaWxkcmVuIGFnZWQgdW5kZXIgMyB5ZWFycy4nICsgJwpEdWUgRGF0ZTogJyArIFRvU3RyaW5nKCJUaWNrLWJvcm5lIGVuY2VwaGFsaXRpcyAoVEJFKSBFbmNlVmlyIGRvc2UgMSBEdWUgRGF0ZSIpCiAgZWxzZSAnJwoKCi8qCkBkeW5hbWljVmFsdWU6IFRpY2stYm9ybmUgZW5jZXBoYWxpdGlzIChUQkUpIEVuY2VWaXIgZG9zZSAxIER1ZSBEYXRlCkBwc2V1ZG9jb2RlOiAiRGF0ZSBvZiBiaXJ0aCIgKyAzIHllYXJzCiovCmRlZmluZSAiVGljay1ib3JuZSBlbmNlcGhhbGl0aXMgKFRCRSkgRW5jZVZpciBkb3NlIDEgRHVlIERhdGUiOgogIGlmICJUaWNrLWJvcm5lIGVuY2VwaGFsaXRpcyAoVEJFKSBFbmNlVmlyIGRvc2UgMSIgdGhlbiBQYXRpZW50LmJpcnRoRGF0ZSArIDMgeWVhcnMKICBlbHNlIG51bGwKCgovKgpAZHluYW1pY1ZhbHVlOiBUaWNrLWJvcm5lIGVuY2VwaGFsaXRpcyAoVEJFKSBFbmNlVmlyIGRvc2UgMSBPdmVyZHVlCkBwc2V1ZG9jb2RlOiBUbyBiZSBkZXRlcm1pbmVkIGJ5IE1lbWJlciBTdGF0ZXM7IGhvd2V2ZXIsIHRoZXJlIGlzIG5vIHJlY29tbWVuZGVkIG92ZXJkdWUgZGF0ZSBhbmQgaW5kaXZpZHVhbHMgYXJlIGFsd2F5cyBlbGlnaWJsZSB0byBiZSB2YWNjaW5hdGVkLgoqLwpkZWZpbmUgIlRpY2stYm9ybmUgZW5jZXBoYWxpdGlzIChUQkUpIEVuY2VWaXIgZG9zZSAxIE92ZXJkdWUiOgogIG51bGwKCgovKgpAZHluYW1pY1ZhbHVlOiBUaWNrLWJvcm5lIGVuY2VwaGFsaXRpcyAoVEJFKSBFbmNlVmlyIGRvc2UgMSBFeHBpcmF0aW9uCkBwc2V1ZG9jb2RlOiBUbyBiZSBkZXRlcm1pbmVkIGJ5IE1lbWJlciBTdGF0ZXM7IGhvd2V2ZXIsIHRoZXJlIGlzIG5vIHJlY29tbWVuZGVkIGV4cGlyYXRpb24gZGF0ZSBhbmQgaW5kaXZpZHVhbHMgYXJlIGFsd2F5cyBlbGlnaWJsZSB0byBiZSB2YWNjaW5hdGVkLgoqLwpkZWZpbmUgIlRpY2stYm9ybmUgZW5jZXBoYWxpdGlzIChUQkUpIEVuY2VWaXIgZG9zZSAxIEV4cGlyYXRpb24iOgogIG51bGwKCiAgCi8qCkBjb21wbGV0ZTogRmlyc3QgVEJFIGRvc2UgZnJvbSB0aGUgcHJpbWFyeSBzZXJpZXMgd2FzIGFkbWluaXN0ZXJlZApAcHNldWRvY29kZTogQ291bnQgb2YgdmFjY2luZXMgYWRtaW5pc3RlcmVkICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJUQkUgdmFjY2luZXMiIGFuZCAiVHlwZSBvZiBkb3NlIiA9ICJQcmltYXJ5IHNlcmllcyIpID0gMQoqLwpkZWZpbmUgIkZpcnN0IFRCRSBkb3NlIGZyb20gdGhlIHByaW1hcnkgc2VyaWVzIHdhcyBhZG1pbmlzdGVyZWQiOgogIEVuY291bnRlci4iT25lIFRCRSBwcmltYXJ5IHNlcmllcyBkb3NlIHdhcyBhZG1pbmlzdGVyZWQiCgoKCi8qCkBvdXRwdXQ6IFRCRSBFbmNlVmlyIERvc2UgMgpAZGVzY3JpcHRpb246IFByb3Zpc2lvbiBvZiB0aGUgVEJFIEVuY2VWaXIgZG9zZSAyCkB0cmlnZ2VyOiBGaXJzdCBUQkUgZG9zZSBmcm9tIHRoZSBwcmltYXJ5IHNlcmllcyB3YXMgYWRtaW5pc3RlcmVkCkBwc2V1ZG86IENvdW50IG9mIHZhY2NpbmVzIGFkbWluaXN0ZXJlZCAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiVEJFIHZhY2NpbmVzIiBhbmQgIlR5cGUgb2YgZG9zZSIgPSAiUHJpbWFyeSBzZXJpZXMiKSA9IDEKQHRyaWdnZXJEYXRlOiAiRGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiIgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIlRCRSB2YWNjaW5lcyIpCiovCmRlZmluZSAiVEJFIEVuY2VWaXIgRG9zZSAyIjoKICAiRmlyc3QgVEJFIGRvc2UgZnJvbSB0aGUgcHJpbWFyeSBzZXJpZXMgd2FzIGFkbWluaXN0ZXJlZCIKICBhbmQgbm90ICJTZWNvbmQgVEJFIGRvc2UgZnJvbSB0aGUgcHJpbWFyeSBzZXJpZXMgd2FzIGFkbWluaXN0ZXJlZCIKCgovKgpAb3V0cHV0OiBUQkUgRW5jZVZpciBEb3NlIDIgQ3JlYXRlCkBjcmVhdGU6IFRoZSBtYW51ZmFjdHVyZXIgb2YgRW5jZVZpciByZWNvbW1lbmRzIDIgZG9zZXMgZ2l2ZW4gYXQgYW4gaW50ZXJ2YWwgb2YgNeKAkzcgbW9udGhzLgoqLwpkZWZpbmUgIlRCRSBFbmNlVmlyIERvc2UgMiBDcmVhdGUiOgogIGlmICJUQkUgRW5jZVZpciBEb3NlIDIiCiAgdGhlbiAnVGhlIG1hbnVmYWN0dXJlciBvZiBFbmNlVmlyIHJlY29tbWVuZHMgMiBkb3NlcyBnaXZlbiBhdCBhbiBpbnRlcnZhbCBvZiA14oCTNyBtb250aHMuJyArICcKRHVlIERhdGU6ICcgKyBUb1N0cmluZygiVEJFIEVuY2VWaXIgRG9zZSAyIER1ZSBEYXRlIikgKyAnCk92ZXJkdWU6ICcgKyBUb1N0cmluZygiVEJFIEVuY2VWaXIgRG9zZSAyIE92ZXJkdWUiKQogIGVsc2UgJycKCgovKgpAZHluYW1pY1ZhbHVlOiBUQkUgRW5jZVZpciBEb3NlIDIgRHVlIERhdGUKQHBzZXVkb2NvZGU6ICJEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uIiAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiVEJFIHZhY2NpbmVzIikgKyA1IG1vbnRocwoqLwpkZWZpbmUgIlRCRSBFbmNlVmlyIERvc2UgMiBEdWUgRGF0ZSI6CiAgaWYgIlRCRSBFbmNlVmlyIERvc2UgMiIgdGhlbiBFbmNvdW50ZXIuIkRhdGUgb2YgTGF0ZXN0IFRCRSBEb3NlIiArIDUgbW9udGhzCiAgZWxzZSBudWxsCgoKLyoKQGR5bmFtaWNWYWx1ZTogVEJFIEVuY2VWaXIgRG9zZSAyIE92ZXJkdWUKQHBzZXVkb2NvZGU6ICJEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uIiAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiVEJFIHZhY2NpbmVzIikgKyA3IG1vbnRocwoqLwpkZWZpbmUgIlRCRSBFbmNlVmlyIERvc2UgMiBPdmVyZHVlIjoKICBpZiAiVEJFIEVuY2VWaXIgRG9zZSAyIiB0aGVuIEVuY291bnRlci4iRGF0ZSBvZiBMYXRlc3QgVEJFIERvc2UiICsgNyBtb250aHMKICBlbHNlIG51bGwKCgovKgpAZHluYW1pY1ZhbHVlOiBUQkUgRW5jZVZpciBEb3NlIDIgRXhwaXJhdGlvbgpAcHNldWRvY29kZTogVG8gYmUgZGV0ZXJtaW5lZCBieSBNZW1iZXIgU3RhdGVzOyBob3dldmVyLCB0aGVyZSBpcyBubyByZWNvbW1lbmRlZCBleHBpcmF0aW9uIGRhdGUgYW5kIGluZGl2aWR1YWxzIGFyZSBhbHdheXMgZWxpZ2libGUgdG8gYmUgdmFjY2luYXRlZC4KKi8KZGVmaW5lICJUQkUgRW5jZVZpciBEb3NlIDIgRXhwaXJhdGlvbiI6CiAgbnVsbAoKICAKLyoKQGNvbXBsZXRlOiBTZWNvbmQgVEJFIGRvc2UgZnJvbSB0aGUgcHJpbWFyeSBzZXJpZXMgd2FzIGFkbWluaXN0ZXJlZApAcHNldWRvY29kZTogQ291bnQgb2YgdmFjY2luZXMgYWRtaW5pc3RlcmVkICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJUQkUgdmFjY2luZXMiIGFuZCAiVHlwZSBvZiBkb3NlIiA9ICJQcmltYXJ5IHNlcmllcyIpID0gMgoqLwpkZWZpbmUgIlNlY29uZCBUQkUgZG9zZSBmcm9tIHRoZSBwcmltYXJ5IHNlcmllcyB3YXMgYWRtaW5pc3RlcmVkIjoKICBFbmNvdW50ZXIuIlR3byBUQkUgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQiCgoKCi8qCkBvdXRwdXQ6IFRCRSBFbmNlVmlyIGRvc2UgMwpAZGVzY3JpcHRpb246IFByb3Zpc2lvbiBvZiB0aGUgVEJFIEVuY2VWaXIgZG9zZSAzCkB0cmlnZ2VyOiBTZWNvbmQgVEJFIGRvc2UgZnJvbSB0aGUgcHJpbWFyeSBzZXJpZXMgd2FzIGFkbWluaXN0ZXJlZApAcHNldWRvOiBDb3VudCBvZiB2YWNjaW5lcyBhZG1pbmlzdGVyZWQgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIlRCRSB2YWNjaW5lcyIgYW5kICJUeXBlIG9mIGRvc2UiID0gIlByaW1hcnkgc2VyaWVzIikgPSAyCkB0cmlnZ2VyRGF0ZTogTGF0ZXN0ICJEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uIiAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiVEJFIHZhY2NpbmVzIikKKi8KZGVmaW5lICJUQkUgRW5jZVZpciBkb3NlIDMiOgogICJTZWNvbmQgVEJFIGRvc2UgZnJvbSB0aGUgcHJpbWFyeSBzZXJpZXMgd2FzIGFkbWluaXN0ZXJlZCIKICBhbmQgbm90ICJUaGlyZCBUQkUgZG9zZSBmcm9tIHRoZSBwcmltYXJ5IHNlcmllcyB3YXMgYWRtaW5pc3RlcmVkLiBUaGUgcHJpbWFyeSBzZXJpZXMgaGFzIGJlZW4gY29tcGxldGVkIgoKCi8qCkBvdXRwdXQ6IFRCRSBFbmNlVmlyIGRvc2UgMyBDcmVhdGUKQGNyZWF0ZTogVGhlIHJlY29tbWVuZGVkIGludGVydmFsIGlzIDEyIG1vbnRocyBiZXR3ZWVuIHRoZSBzZWNvbmQgYW5kIHRoaXJkIGRvc2VzLgoqLwpkZWZpbmUgIlRCRSBFbmNlVmlyIGRvc2UgMyBDcmVhdGUiOgogIGlmICJUQkUgRW5jZVZpciBkb3NlIDMiCiAgdGhlbiAnVGhlIHJlY29tbWVuZGVkIGludGVydmFsIGlzIDEyIG1vbnRocyBiZXR3ZWVuIHRoZSBzZWNvbmQgYW5kIHRoaXJkIGRvc2VzLicgKyAnCkR1ZSBEYXRlOiAnICsgVG9TdHJpbmcoIlRCRSBFbmNlVmlyIGRvc2UgMyBEdWUgRGF0ZSIpCiAgZWxzZSAnJwoKCi8qCkBkeW5hbWljVmFsdWU6IFRCRSBFbmNlVmlyIGRvc2UgMyBEdWUgRGF0ZQpAcHNldWRvY29kZTogTGF0ZXN0ICJEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uIiAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiVEJFIHZhY2NpbmVzIikgKyAxMiBtb250aHMKKi8KZGVmaW5lICJUQkUgRW5jZVZpciBkb3NlIDMgRHVlIERhdGUiOgogIGlmICJUQkUgRW5jZVZpciBkb3NlIDMiIHRoZW4gRW5jb3VudGVyLiJEYXRlIG9mIExhdGVzdCBUQkUgRG9zZSIgKyAxMiBtb250aHMKICBlbHNlIG51bGwKCgovKgpAZHluYW1pY1ZhbHVlOiBUQkUgRW5jZVZpciBkb3NlIDMgT3ZlcmR1ZQpAcHNldWRvY29kZTogVG8gYmUgZGV0ZXJtaW5lZCBieSBNZW1iZXIgU3RhdGVzOyBob3dldmVyLCB0aGVyZSBpcyBubyByZWNvbW1lbmRlZCBvdmVyZHVlIGRhdGUgYW5kIGluZGl2aWR1YWxzIGFyZSBhbHdheXMgZWxpZ2libGUgdG8gYmUgdmFjY2luYXRlZC4KKi8KZGVmaW5lICJUQkUgRW5jZVZpciBkb3NlIDMgT3ZlcmR1ZSI6CiAgbnVsbAoKCi8qCkBkeW5hbWljVmFsdWU6IFRCRSBFbmNlVmlyIGRvc2UgMyBFeHBpcmF0aW9uCkBwc2V1ZG9jb2RlOiBUbyBiZSBkZXRlcm1pbmVkIGJ5IE1lbWJlciBTdGF0ZXM7IGhvd2V2ZXIsIHRoZXJlIGlzIG5vIHJlY29tbWVuZGVkIGV4cGlyYXRpb24gZGF0ZSBhbmQgaW5kaXZpZHVhbHMgYXJlIGFsd2F5cyBlbGlnaWJsZSB0byBiZSB2YWNjaW5hdGVkLgoqLwpkZWZpbmUgIlRCRSBFbmNlVmlyIGRvc2UgMyBFeHBpcmF0aW9uIjoKICBudWxsCgogIAovKgpAY29tcGxldGU6IFRoaXJkIFRCRSBkb3NlIGZyb20gdGhlIHByaW1hcnkgc2VyaWVzIHdhcyBhZG1pbmlzdGVyZWQuIFRoZSBwcmltYXJ5IHNlcmllcyBoYXMgYmVlbiBjb21wbGV0ZWQKQHBzZXVkb2NvZGU6ICJDb21wbGV0ZWQgdGhlIHByaW1hcnkgdmFjY2luYXRpb24gc2VyaWVzIiA9IFRSVUUgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIlRCRSB2YWNjaW5lcyIpCiovCmRlZmluZSAiVGhpcmQgVEJFIGRvc2UgZnJvbSB0aGUgcHJpbWFyeSBzZXJpZXMgd2FzIGFkbWluaXN0ZXJlZC4gVGhlIHByaW1hcnkgc2VyaWVzIGhhcyBiZWVuIGNvbXBsZXRlZCI6CiAgRW5jb3VudGVyLiJUaHJlZSBUQkUgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQiCgoKCi8qCkBvdXRwdXQ6IFRCRSBFbmNlVmlyIGJvb3N0ZXIgZG9zZQpAZGVzY3JpcHRpb246IFByb3Zpc2lvbiBvZiB0aGUgVEJFIEVuY2VWaXIgYm9vc3RlciBkb3NlCkB0cmlnZ2VyOiBUaGUgcHJpbWFyeSBzZXJpZXMgaGFzIGJlZW4gY29tcGxldGVkCkBwc2V1ZG86ICJDb21wbGV0ZWQgdGhlIHByaW1hcnkgdmFjY2luYXRpb24gc2VyaWVzIiA9IFRSVUUgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIlRCRSB2YWNjaW5lcyIpCkB0cmlnZ2VyRGF0ZTogTGF0ZXN0ICJEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uIiAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiVEJFIHZhY2NpbmVzIikKKi8KZGVmaW5lICJUQkUgRW5jZVZpciBib29zdGVyIGRvc2UiOgogICJUaGlyZCBUQkUgZG9zZSBmcm9tIHRoZSBwcmltYXJ5IHNlcmllcyB3YXMgYWRtaW5pc3RlcmVkLiBUaGUgcHJpbWFyeSBzZXJpZXMgaGFzIGJlZW4gY29tcGxldGVkIgoKCi8qCkBvdXRwdXQ6IFRCRSBFbmNlVmlyIGJvb3N0ZXIgZG9zZSBDcmVhdGUKQGNyZWF0ZTogVEJFIGJvb3N0ZXIgZG9zZSBzaG91bGQgYmUgcHJvdmlkZWQgZXZlcnkgMyB5ZWFycyB0byB0aGUgY2xpZW50IGlmIHRoZSBjb3VudHJ5IHJlY29nbml6ZXMgVEJFIGFzIGEgcHJpb3JpdHkgYW5kIHRoZSBjbGllbnQgaGFzIGNvbXBsZXRlZCB0aGUgcHJpbWFyeSBzZXJpZXMuCiovCmRlZmluZSAiVEJFIEVuY2VWaXIgYm9vc3RlciBkb3NlIENyZWF0ZSI6CiAgaWYgIlRCRSBFbmNlVmlyIGJvb3N0ZXIgZG9zZSIKICB0aGVuICdUQkUgYm9vc3RlciBkb3NlIHNob3VsZCBiZSBwcm92aWRlZCBldmVyeSAzIHllYXJzIHRvIHRoZSBjbGllbnQgaWYgdGhlIGNvdW50cnkgcmVjb2duaXplcyBUQkUgYXMgYSBwcmlvcml0eSBhbmQgdGhlIGNsaWVudCBoYXMgY29tcGxldGVkIHRoZSBwcmltYXJ5IHNlcmllcy4nICsgJwpEdWUgRGF0ZTogJyArIFRvU3RyaW5nKCJUQkUgRW5jZVZpciBib29zdGVyIGRvc2UgRHVlIERhdGUiKQogIGVsc2UgJycKCgovKgpAZHluYW1pY1ZhbHVlOiBUQkUgRW5jZVZpciBib29zdGVyIGRvc2UgRHVlIERhdGUKQHBzZXVkb2NvZGU6IExhdGVzdCAiRGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiIgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIlRCRSB2YWNjaW5lcyIpICsgMyB5ZWFycwoqLwpkZWZpbmUgIlRCRSBFbmNlVmlyIGJvb3N0ZXIgZG9zZSBEdWUgRGF0ZSI6CiAgaWYgIlRCRSBFbmNlVmlyIGJvb3N0ZXIgZG9zZSIgdGhlbiBFbmNvdW50ZXIuIkRhdGUgb2YgTGF0ZXN0IFRCRSBEb3NlIiArIDMgeWVhcnMKICBlbHNlIG51bGwKCgovKgpAZHluYW1pY1ZhbHVlOiBUQkUgRW5jZVZpciBib29zdGVyIGRvc2UgT3ZlcmR1ZQpAcHNldWRvY29kZTogVG8gYmUgZGV0ZXJtaW5lZCBieSBNZW1iZXIgU3RhdGVzOyBob3dldmVyLCB0aGVyZSBpcyBubyByZWNvbW1lbmRlZCBvdmVyZHVlIGRhdGUgYW5kIGluZGl2aWR1YWxzIGFyZSBhbHdheXMgZWxpZ2libGUgdG8gYmUgdmFjY2luYXRlZC4KKi8KZGVmaW5lICJUQkUgRW5jZVZpciBib29zdGVyIGRvc2UgT3ZlcmR1ZSI6CiAgbnVsbAoKCi8qCkBkeW5hbWljVmFsdWU6IFRCRSBFbmNlVmlyIGJvb3N0ZXIgZG9zZSBFeHBpcmF0aW9uCkBwc2V1ZG9jb2RlOiBUbyBiZSBkZXRlcm1pbmVkIGJ5IE1lbWJlciBTdGF0ZXM7IGhvd2V2ZXIsIHRoZXJlIGlzIG5vIHJlY29tbWVuZGVkIGV4cGlyYXRpb24gZGF0ZSBhbmQgaW5kaXZpZHVhbHMgYXJlIGFsd2F5cyBlbGlnaWJsZSB0byBiZSB2YWNjaW5hdGVkLgoqLwpkZWZpbmUgIlRCRSBFbmNlVmlyIGJvb3N0ZXIgZG9zZSBFeHBpcmF0aW9uIjoKICBudWxsCgogIAovKgpAY29tcGxldGU6IFRCRSBib29zdGVyIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gMyB5ZWFycyBhZ28KQHBzZXVkb2NvZGU6IENvdW50IG9mIHZhY2NpbmVzIGFkbWluaXN0ZXJlZCAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiVEJFIHZhY2NpbmVzIiBhbmQgIlR5cGUgb2YgZG9zZSIgPSAiQm9vc3RlciBkb3NlIikg4omlIDEgQU5EIFRvZGF5J3MgZGF0ZSAtIExhdGVzdCAiRGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiIgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIlRCRSB2YWNjaW5lcyIpIDwgMyB5ZWFycwoqLwpkZWZpbmUgIlRCRSBib29zdGVyIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gMyB5ZWFycyBhZ28iOgogIEVuY291bnRlci4iQXQgbGVhc3Qgb25lIGJvb3N0ZXIgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIgogIGFuZCBFbmNvdW50ZXIuIlRoZSBsYXRlc3QgVEJFIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gMyB5ZWFycyBhZ28iCgoKCi8qCkB0ZXN0OiBUZXN0IGV4cGVjdGVkIHJlc3VsdHMgYmFzZWQgb24gZXhhbXBsZSBwYXRpZW50cwoqLwpkZWZpbmUgIlRlc3QgVmFsaWRhdGlvbiI6CiAgY2FzZQogICAgd2hlbiBQYXRpZW50LmlkID0gJ1RCRTU1LjEnIHRoZW4gIlRpY2stYm9ybmUgZW5jZXBoYWxpdGlzIChUQkUpIEVuY2VWaXIgZG9zZSAxIgogICAgd2hlbiBQYXRpZW50LmlkID0gJ1RCRTU2LjInIHRoZW4gIlRpY2stYm9ybmUgZW5jZXBoYWxpdGlzIChUQkUpIEVuY2VWaXIgZG9zZSAxIgogICAgd2hlbiBQYXRpZW50LmlkID0gJ1RCRTU3LjInIHRoZW4gIlRCRSBFbmNlVmlyIERvc2UgMiIKICAgIHdoZW4gUGF0aWVudC5pZCA9ICdUQkU1OC4yJyB0aGVuICJUQkUgRW5jZVZpciBEb3NlIDIiCiAgICB3aGVuIFBhdGllbnQuaWQgPSAnVEJFNTkuMicgdGhlbiAiVEJFIEVuY2VWaXIgZG9zZSAzIgogICAgd2hlbiBQYXRpZW50LmlkID0gJ1RCRTYwLjInIHRoZW4gIlRCRSBFbmNlVmlyIGRvc2UgMyIKICAgIHdoZW4gUGF0aWVudC5pZCA9ICdUQkU2MS4yJyB0aGVuICJUQkUgRW5jZVZpciBib29zdGVyIGRvc2UiCiAgICB3aGVuIFBhdGllbnQuaWQgPSAnVEJFNjIuMicgdGhlbiAiVEJFIEVuY2VWaXIgYm9vc3RlciBkb3NlIgogICAgZWxzZSAnTm8gdGVzdCBjYXNlIHNldCcKICBlbmQK"
    }
  ]
}