<?xml version="1.0" encoding="UTF-8"?>

<Library xmlns="http://hl7.org/fhir">
  <id value="IMMZD18STBEEnceVirLogic"/>
  <meta>
    <profile value="http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-shareablelibrary"/>
    <profile value="http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-publishablelibrary"/>
    <profile value="http://hl7.org/fhir/uv/cql/StructureDefinition/cql-library"/>
    <profile value="http://hl7.org/fhir/uv/cql/StructureDefinition/cql-module"/>
  </meta>
  <text>
    <status value="extensions"/><div xmlns="http://www.w3.org/1999/xhtml">
<div>
    <table class="grid dict">
        
        
        <tr>
            <th scope="row"><b>Title: </b></th>
            <td style="padding-left: 4px;">IMMZD18STBEEnceVirLogic</td>
        </tr>
        

        
        
        <tr>
            <th scope="row"><b>Id: </b></th>
            <td style="padding-left: 4px;">IMMZD18STBEEnceVirLogic</td>
        </tr>
        

        
        
        <tr>
            <th scope="row"><b>Version: </b></th>
            <td style="padding-left: 4px;">1.0.0</td>
        </tr>
        

        
        <tr>
            <th scope="row"><b>Url: </b></th>
            <td style="padding-left: 4px;"><a href="Library-IMMZD18STBEEnceVirLogic.html">IMMZD18STBEEnceVirLogic</a></td>
        </tr>
        

        

        

        
        <tr>
            <th scope="row"><b>Status: </b></th>
            <td style="padding-left: 4px;">draft</td>
        </tr>
        

        

        
        <tr>
            <th scope="row"><b>Type: </b></th>
            <td style="padding-left: 4px;">
                
                    
                        
                        <p style="margin-bottom: 5px;">
                            <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>
                        </p>
                        
                        
                        <p style="margin-bottom: 5px;">
                            <b>code: </b> <span>logic-library</span>
                        </p>
                        
                        
                    
                
                
            </td>
        </tr>
        

        

        
        <tr>
            <th scope="row"><b>Date: </b></th>
            <td style="padding-left: 4px;">2026-03-31 13:54:17+0000</td>
        </tr>
        

        
        <tr>
            <th scope="row"><b>Publisher: </b></th>
            <td style="padding-left: 4px;">WHO</td>
        </tr>
        

        
        <tr>
            <th scope="row"><b>Description: </b></th>
            <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>
</div></td>
        </tr>
        

        

        

        

        

        

        

        

        

        

        

        
        <tr>
            <th scope="row"><b>Related Artifacts: </b></th>
            <td style="padding-left: 4px;">
                
                
                
                <p><b>Dependencies</b></p>
                <ul>
                  
                    <li><a href="Library-WHOCommon.html">WHOCommon</a></li>
                  
                    <li><a href="Library-IMMZCommon.html">IMMZCommon</a></li>
                  
                    <li><a href="Library-IMMZConcepts.html">IMMZConcepts</a></li>
                  
                    <li><a href="Library-IMMZEncounterElements.html">IMMZEncounterElements</a></li>
                  
                    <li><a href="Library-IMMZD2DTTBEEncounterElements.html">IMMZD2DTTBEEncounterElements</a></li>
                  
                </ul>
                
                
                
                
                
            </td>
        </tr>
        

        
        <tr>
          <th scope="row"><b>Parameters: </b></th>
          <td style="padding-left: 4px;">
            <table class="grid-dict">
              <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>
              
                <tr><th>Today</th><th>date</th><th>0</th><th>1</th><th>In</th></tr>
              
                <tr><th>Patient</th><th>Patient</th><th>0</th><th>1</th><th>Out</th></tr>
              
                <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>
              
                <tr><th>Tick-borne encephalitis (TBE) EnceVir dose 1</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
              
                <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>
              
                <tr><th>Tick-borne encephalitis (TBE) EnceVir dose 1 Create</th><th>string</th><th>0</th><th>1</th><th>Out</th></tr>
              
                <tr><th>Tick-borne encephalitis (TBE) EnceVir dose 1 Overdue</th><th>Resource</th><th>0</th><th>1</th><th>Out</th></tr>
              
                <tr><th>Tick-borne encephalitis (TBE) EnceVir dose 1 Expiration</th><th>Resource</th><th>0</th><th>1</th><th>Out</th></tr>
              
                <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>
              
                <tr><th>TBE EnceVir Dose 2</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
              
                <tr><th>TBE EnceVir Dose 2 Due Date</th><th>date</th><th>0</th><th>1</th><th>Out</th></tr>
              
                <tr><th>TBE EnceVir Dose 2 Overdue</th><th>date</th><th>0</th><th>1</th><th>Out</th></tr>
              
                <tr><th>TBE EnceVir Dose 2 Create</th><th>string</th><th>0</th><th>1</th><th>Out</th></tr>
              
                <tr><th>TBE EnceVir Dose 2 Expiration</th><th>Resource</th><th>0</th><th>1</th><th>Out</th></tr>
              
                <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>
              
                <tr><th>TBE EnceVir dose 3</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
              
                <tr><th>TBE EnceVir dose 3 Due Date</th><th>date</th><th>0</th><th>1</th><th>Out</th></tr>
              
                <tr><th>TBE EnceVir dose 3 Create</th><th>string</th><th>0</th><th>1</th><th>Out</th></tr>
              
                <tr><th>TBE EnceVir dose 3 Overdue</th><th>Resource</th><th>0</th><th>1</th><th>Out</th></tr>
              
                <tr><th>TBE EnceVir dose 3 Expiration</th><th>Resource</th><th>0</th><th>1</th><th>Out</th></tr>
              
                <tr><th>TBE EnceVir booster dose</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
              
                <tr><th>TBE EnceVir booster dose Due Date</th><th>date</th><th>0</th><th>1</th><th>Out</th></tr>
              
                <tr><th>TBE EnceVir booster dose Create</th><th>string</th><th>0</th><th>1</th><th>Out</th></tr>
              
                <tr><th>TBE EnceVir booster dose Overdue</th><th>Resource</th><th>0</th><th>1</th><th>Out</th></tr>
              
                <tr><th>TBE EnceVir booster dose Expiration</th><th>Resource</th><th>0</th><th>1</th><th>Out</th></tr>
              
                <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>
              
                <tr><th>Test Validation</th><th>Resource</th><th>0</th><th>1</th><th>Out</th></tr>
              
            </table>
          </td>
        </tr>
        

        

        
        
        <tr>
          <td colspan="2">
            <table>
              <tr><th><a id="cql-content"><b>Content: </b></a> text/cql</th></tr>
              <tr><td><pre><code class="language-cql">/*
 * Library: IMMZD18STBEEnceVirLogic (IMMZ.D18.S.TBE.EnceVir schedule)
 * Schedule Table: EnceVir, 3-dose schedule
 */
library IMMZD18STBEEnceVirLogic

using FHIR version '4.0.1'
include FHIRHelpers version '4.0.1'

include WHOCommon called WC

include IMMZCommon called Common
include IMMZConcepts called Concepts

include IMMZEncounterElements called IE
include IMMZD2DTTBEEncounterElements called Encounter

parameter Today Date default Today()


context Patient


/*
@output: Tick-borne encephalitis (TBE) EnceVir dose 1
@description: Provision of the TBE EnceVir dose 1
@trigger: Child's birth
@pseudo: 
@triggerDate: &quot;Date of birth&quot;
*/
define &quot;Tick-borne encephalitis (TBE) EnceVir dose 1&quot;:
  Encounter.&quot;No TBE primary series doses were administered&quot;
  and not &quot;First TBE dose from the primary series was administered&quot;


/*
@output: Tick-borne encephalitis (TBE) EnceVir dose 1 Create
@create: The TBE-Moscow vaccine is not licensed for use in children aged under 3 years.
*/
define &quot;Tick-borne encephalitis (TBE) EnceVir dose 1 Create&quot;:
  if &quot;Tick-borne encephalitis (TBE) EnceVir dose 1&quot;
  then 'The TBE-Moscow vaccine is not licensed for use in children aged under 3 years.' + '
Due Date: ' + ToString(&quot;Tick-borne encephalitis (TBE) EnceVir dose 1 Due Date&quot;)
  else ''


/*
@dynamicValue: Tick-borne encephalitis (TBE) EnceVir dose 1 Due Date
@pseudocode: &quot;Date of birth&quot; + 3 years
*/
define &quot;Tick-borne encephalitis (TBE) EnceVir dose 1 Due Date&quot;:
  if &quot;Tick-borne encephalitis (TBE) EnceVir dose 1&quot; then Patient.birthDate + 3 years
  else null


/*
@dynamicValue: Tick-borne encephalitis (TBE) EnceVir dose 1 Overdue
@pseudocode: To be determined by Member States; however, there is no recommended overdue date and individuals are always eligible to be vaccinated.
*/
define &quot;Tick-borne encephalitis (TBE) EnceVir dose 1 Overdue&quot;:
  null


/*
@dynamicValue: Tick-borne encephalitis (TBE) EnceVir dose 1 Expiration
@pseudocode: To be determined by Member States; however, there is no recommended expiration date and individuals are always eligible to be vaccinated.
*/
define &quot;Tick-borne encephalitis (TBE) EnceVir dose 1 Expiration&quot;:
  null

  
/*
@complete: First TBE dose from the primary series was administered
@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
*/
define &quot;First TBE dose from the primary series was administered&quot;:
  Encounter.&quot;One TBE primary series dose was administered&quot;



/*
@output: TBE EnceVir Dose 2
@description: Provision of the TBE EnceVir dose 2
@trigger: First TBE dose from the primary series was administered
@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
@triggerDate: &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;TBE vaccines&quot;)
*/
define &quot;TBE EnceVir Dose 2&quot;:
  &quot;First TBE dose from the primary series was administered&quot;
  and not &quot;Second TBE dose from the primary series was administered&quot;


/*
@output: TBE EnceVir Dose 2 Create
@create: The manufacturer of EnceVir recommends 2 doses given at an interval of 5–7 months.
*/
define &quot;TBE EnceVir Dose 2 Create&quot;:
  if &quot;TBE EnceVir Dose 2&quot;
  then 'The manufacturer of EnceVir recommends 2 doses given at an interval of 5–7 months.' + '
Due Date: ' + ToString(&quot;TBE EnceVir Dose 2 Due Date&quot;) + '
Overdue: ' + ToString(&quot;TBE EnceVir Dose 2 Overdue&quot;)
  else ''


/*
@dynamicValue: TBE EnceVir Dose 2 Due Date
@pseudocode: &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;TBE vaccines&quot;) + 5 months
*/
define &quot;TBE EnceVir Dose 2 Due Date&quot;:
  if &quot;TBE EnceVir Dose 2&quot; then Encounter.&quot;Date of Latest TBE Dose&quot; + 5 months
  else null


/*
@dynamicValue: TBE EnceVir Dose 2 Overdue
@pseudocode: &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;TBE vaccines&quot;) + 7 months
*/
define &quot;TBE EnceVir Dose 2 Overdue&quot;:
  if &quot;TBE EnceVir Dose 2&quot; then Encounter.&quot;Date of Latest TBE Dose&quot; + 7 months
  else null


/*
@dynamicValue: TBE EnceVir Dose 2 Expiration
@pseudocode: To be determined by Member States; however, there is no recommended expiration date and individuals are always eligible to be vaccinated.
*/
define &quot;TBE EnceVir Dose 2 Expiration&quot;:
  null

  
/*
@complete: Second TBE dose from the primary series was administered
@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
*/
define &quot;Second TBE dose from the primary series was administered&quot;:
  Encounter.&quot;Two TBE primary series doses were administered&quot;



/*
@output: TBE EnceVir dose 3
@description: Provision of the TBE EnceVir dose 3
@trigger: Second TBE dose from the primary series was administered
@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
@triggerDate: Latest &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;TBE vaccines&quot;)
*/
define &quot;TBE EnceVir dose 3&quot;:
  &quot;Second TBE dose from the primary series was administered&quot;
  and not &quot;Third TBE dose from the primary series was administered. The primary series has been completed&quot;


/*
@output: TBE EnceVir dose 3 Create
@create: The recommended interval is 12 months between the second and third doses.
*/
define &quot;TBE EnceVir dose 3 Create&quot;:
  if &quot;TBE EnceVir dose 3&quot;
  then 'The recommended interval is 12 months between the second and third doses.' + '
Due Date: ' + ToString(&quot;TBE EnceVir dose 3 Due Date&quot;)
  else ''


/*
@dynamicValue: TBE EnceVir dose 3 Due Date
@pseudocode: Latest &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;TBE vaccines&quot;) + 12 months
*/
define &quot;TBE EnceVir dose 3 Due Date&quot;:
  if &quot;TBE EnceVir dose 3&quot; then Encounter.&quot;Date of Latest TBE Dose&quot; + 12 months
  else null


/*
@dynamicValue: TBE EnceVir dose 3 Overdue
@pseudocode: To be determined by Member States; however, there is no recommended overdue date and individuals are always eligible to be vaccinated.
*/
define &quot;TBE EnceVir dose 3 Overdue&quot;:
  null


/*
@dynamicValue: TBE EnceVir dose 3 Expiration
@pseudocode: To be determined by Member States; however, there is no recommended expiration date and individuals are always eligible to be vaccinated.
*/
define &quot;TBE EnceVir dose 3 Expiration&quot;:
  null

  
/*
@complete: Third TBE dose from the primary series was administered. The primary series has been completed
@pseudocode: &quot;Completed the primary vaccination series&quot; = TRUE (where &quot;Vaccine type&quot; = &quot;TBE vaccines&quot;)
*/
define &quot;Third TBE dose from the primary series was administered. The primary series has been completed&quot;:
  Encounter.&quot;Three TBE primary series doses were administered&quot;



/*
@output: TBE EnceVir booster dose
@description: Provision of the TBE EnceVir booster dose
@trigger: The primary series has been completed
@pseudo: &quot;Completed the primary vaccination series&quot; = TRUE (where &quot;Vaccine type&quot; = &quot;TBE vaccines&quot;)
@triggerDate: Latest &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;TBE vaccines&quot;)
*/
define &quot;TBE EnceVir booster dose&quot;:
  &quot;Third TBE dose from the primary series was administered. The primary series has been completed&quot;


/*
@output: TBE EnceVir booster dose Create
@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.
*/
define &quot;TBE EnceVir booster dose Create&quot;:
  if &quot;TBE EnceVir booster dose&quot;
  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.' + '
Due Date: ' + ToString(&quot;TBE EnceVir booster dose Due Date&quot;)
  else ''


/*
@dynamicValue: TBE EnceVir booster dose Due Date
@pseudocode: Latest &quot;Date and time of vaccination&quot; (where &quot;Vaccine type&quot; = &quot;TBE vaccines&quot;) + 3 years
*/
define &quot;TBE EnceVir booster dose Due Date&quot;:
  if &quot;TBE EnceVir booster dose&quot; then Encounter.&quot;Date of Latest TBE Dose&quot; + 3 years
  else null


/*
@dynamicValue: TBE EnceVir booster dose Overdue
@pseudocode: To be determined by Member States; however, there is no recommended overdue date and individuals are always eligible to be vaccinated.
*/
define &quot;TBE EnceVir booster dose Overdue&quot;:
  null


/*
@dynamicValue: TBE EnceVir booster dose Expiration
@pseudocode: To be determined by Member States; however, there is no recommended expiration date and individuals are always eligible to be vaccinated.
*/
define &quot;TBE EnceVir booster dose Expiration&quot;:
  null

  
/*
@complete: TBE booster dose was administered less than 3 years ago
@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
*/
define &quot;TBE booster dose was administered less than 3 years ago&quot;:
  Encounter.&quot;At least one booster dose was administered&quot;
  and Encounter.&quot;The latest TBE dose was administered less than 3 years ago&quot;



/*
@test: Test expected results based on example patients
*/
define &quot;Test Validation&quot;:
  case
    when Patient.id = 'TBE55.1' then &quot;Tick-borne encephalitis (TBE) EnceVir dose 1&quot;
    when Patient.id = 'TBE56.2' then &quot;Tick-borne encephalitis (TBE) EnceVir dose 1&quot;
    when Patient.id = 'TBE57.2' then &quot;TBE EnceVir Dose 2&quot;
    when Patient.id = 'TBE58.2' then &quot;TBE EnceVir Dose 2&quot;
    when Patient.id = 'TBE59.2' then &quot;TBE EnceVir dose 3&quot;
    when Patient.id = 'TBE60.2' then &quot;TBE EnceVir dose 3&quot;
    when Patient.id = 'TBE61.2' then &quot;TBE EnceVir booster dose&quot;
    when Patient.id = 'TBE62.2' then &quot;TBE EnceVir booster dose&quot;
    else 'No test case set'
  end
</code></pre></td></tr>
            </table>
          </td>
        </tr>
        
        
        
    </table>
</div>
</div>
  </text>
  <extension url="http://hl7.org/fhir/StructureDefinition/cqf-knowledgeCapability">
    <valueCode value="computable"/>
  </extension>
  <url value="http://smart.who.int/immunizations/Library/IMMZD18STBEEnceVirLogic"/>
  <version value="1.0.0"/>
  <name value="IMMZD18STBEEnceVirLogic"/>
  <title value="IMMZD18STBEEnceVirLogic"/>
  <status value="draft"/>
  <experimental value="false"/>
  <type>
    <coding>
      <system value="http://terminology.hl7.org/CodeSystem/library-type"/>
      <code value="logic-library"/>
    </coding>
  </type>
  <date value="2026-03-31T13:54:17+00:00"/>
  <publisher value="WHO"/>
  <contact>
    <name value="WHO"/>
    <telecom>
      <system value="url"/>
      <value value="http://who.int"/>
    </telecom>
  </contact>
  <description value="This library defines decision support logic for the IMMZ.D18.S.TBE.EnceVir schedule table in the Immunization CPG"/>
  <relatedArtifact>
    <type value="depends-on"/>
    <display value="Library WC"/>
    <resource value="http://smart.who.int/immunizations/Library/WHOCommon"/>
  </relatedArtifact>
  <relatedArtifact>
    <type value="depends-on"/>
    <display value="Library Common"/>
    <resource value="http://smart.who.int/immunizations/Library/IMMZCommon"/>
  </relatedArtifact>
  <relatedArtifact>
    <type value="depends-on"/>
    <display value="Library Concepts"/>
    <resource value="http://smart.who.int/immunizations/Library/IMMZConcepts"/>
  </relatedArtifact>
  <relatedArtifact>
    <type value="depends-on"/>
    <display value="Library IE"/>
    <resource value="http://smart.who.int/immunizations/Library/IMMZEncounterElements"/>
  </relatedArtifact>
  <relatedArtifact>
    <type value="depends-on"/>
    <display value="Library Encounter"/>
    <resource value="http://smart.who.int/immunizations/Library/IMMZD2DTTBEEncounterElements"/>
  </relatedArtifact>
  <parameter>
    <name value="Today"/>
    <use value="in"/>
    <min value="0"/>
    <max value="1"/>
    <type value="date"/>
  </parameter>
  <parameter>
    <name value="Patient"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="Patient"/>
  </parameter>
  <parameter>
    <name value="First TBE dose from the primary series was administered"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="boolean"/>
  </parameter>
  <parameter>
    <name value="Tick-borne encephalitis (TBE) EnceVir dose 1"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="boolean"/>
  </parameter>
  <parameter>
    <name value="Tick-borne encephalitis (TBE) EnceVir dose 1 Due Date"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="date"/>
  </parameter>
  <parameter>
    <name value="Tick-borne encephalitis (TBE) EnceVir dose 1 Create"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="string"/>
  </parameter>
  <parameter>
    <name value="Tick-borne encephalitis (TBE) EnceVir dose 1 Overdue"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="Resource"/>
  </parameter>
  <parameter>
    <name value="Tick-borne encephalitis (TBE) EnceVir dose 1 Expiration"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="Resource"/>
  </parameter>
  <parameter>
    <name value="Second TBE dose from the primary series was administered"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="boolean"/>
  </parameter>
  <parameter>
    <name value="TBE EnceVir Dose 2"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="boolean"/>
  </parameter>
  <parameter>
    <name value="TBE EnceVir Dose 2 Due Date"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="date"/>
  </parameter>
  <parameter>
    <name value="TBE EnceVir Dose 2 Overdue"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="date"/>
  </parameter>
  <parameter>
    <name value="TBE EnceVir Dose 2 Create"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="string"/>
  </parameter>
  <parameter>
    <name value="TBE EnceVir Dose 2 Expiration"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="Resource"/>
  </parameter>
  <parameter>
    <name value="Third TBE dose from the primary series was administered. The primary series has been completed"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="boolean"/>
  </parameter>
  <parameter>
    <name value="TBE EnceVir dose 3"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="boolean"/>
  </parameter>
  <parameter>
    <name value="TBE EnceVir dose 3 Due Date"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="date"/>
  </parameter>
  <parameter>
    <name value="TBE EnceVir dose 3 Create"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="string"/>
  </parameter>
  <parameter>
    <name value="TBE EnceVir dose 3 Overdue"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="Resource"/>
  </parameter>
  <parameter>
    <name value="TBE EnceVir dose 3 Expiration"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="Resource"/>
  </parameter>
  <parameter>
    <name value="TBE EnceVir booster dose"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="boolean"/>
  </parameter>
  <parameter>
    <name value="TBE EnceVir booster dose Due Date"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="date"/>
  </parameter>
  <parameter>
    <name value="TBE EnceVir booster dose Create"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="string"/>
  </parameter>
  <parameter>
    <name value="TBE EnceVir booster dose Overdue"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="Resource"/>
  </parameter>
  <parameter>
    <name value="TBE EnceVir booster dose Expiration"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="Resource"/>
  </parameter>
  <parameter>
    <name value="TBE booster dose was administered less than 3 years ago"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="boolean"/>
  </parameter>
  <parameter>
    <name value="Test Validation"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="Resource"/>
  </parameter>
  <content>
    <contentType value="text/cql"/>
    <data value="LyoKICogTGlicmFyeTogSU1NWkQxOFNUQkVFbmNlVmlyTG9naWMgKElNTVouRDE4LlMuVEJFLkVuY2VWaXIgc2NoZWR1bGUpCiAqIFNjaGVkdWxlIFRhYmxlOiBFbmNlVmlyLCAzLWRvc2Ugc2NoZWR1bGUKICovCmxpYnJhcnkgSU1NWkQxOFNUQkVFbmNlVmlyTG9naWMKCnVzaW5nIEZISVIgdmVyc2lvbiAnNC4wLjEnCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnNC4wLjEnCgppbmNsdWRlIFdIT0NvbW1vbiBjYWxsZWQgV0MKCmluY2x1ZGUgSU1NWkNvbW1vbiBjYWxsZWQgQ29tbW9uCmluY2x1ZGUgSU1NWkNvbmNlcHRzIGNhbGxlZCBDb25jZXB0cwoKaW5jbHVkZSBJTU1aRW5jb3VudGVyRWxlbWVudHMgY2FsbGVkIElFCmluY2x1ZGUgSU1NWkQyRFRUQkVFbmNvdW50ZXJFbGVtZW50cyBjYWxsZWQgRW5jb3VudGVyCgpwYXJhbWV0ZXIgVG9kYXkgRGF0ZSBkZWZhdWx0IFRvZGF5KCkKCgpjb250ZXh0IFBhdGllbnQKCgovKgpAb3V0cHV0OiBUaWNrLWJvcm5lIGVuY2VwaGFsaXRpcyAoVEJFKSBFbmNlVmlyIGRvc2UgMQpAZGVzY3JpcHRpb246IFByb3Zpc2lvbiBvZiB0aGUgVEJFIEVuY2VWaXIgZG9zZSAxCkB0cmlnZ2VyOiBDaGlsZCdzIGJpcnRoCkBwc2V1ZG86IApAdHJpZ2dlckRhdGU6ICJEYXRlIG9mIGJpcnRoIgoqLwpkZWZpbmUgIlRpY2stYm9ybmUgZW5jZXBoYWxpdGlzIChUQkUpIEVuY2VWaXIgZG9zZSAxIjoKICBFbmNvdW50ZXIuIk5vIFRCRSBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZCIKICBhbmQgbm90ICJGaXJzdCBUQkUgZG9zZSBmcm9tIHRoZSBwcmltYXJ5IHNlcmllcyB3YXMgYWRtaW5pc3RlcmVkIgoKCi8qCkBvdXRwdXQ6IFRpY2stYm9ybmUgZW5jZXBoYWxpdGlzIChUQkUpIEVuY2VWaXIgZG9zZSAxIENyZWF0ZQpAY3JlYXRlOiBUaGUgVEJFLU1vc2NvdyB2YWNjaW5lIGlzIG5vdCBsaWNlbnNlZCBmb3IgdXNlIGluIGNoaWxkcmVuIGFnZWQgdW5kZXIgMyB5ZWFycy4KKi8KZGVmaW5lICJUaWNrLWJvcm5lIGVuY2VwaGFsaXRpcyAoVEJFKSBFbmNlVmlyIGRvc2UgMSBDcmVhdGUiOgogIGlmICJUaWNrLWJvcm5lIGVuY2VwaGFsaXRpcyAoVEJFKSBFbmNlVmlyIGRvc2UgMSIKICB0aGVuICdUaGUgVEJFLU1vc2NvdyB2YWNjaW5lIGlzIG5vdCBsaWNlbnNlZCBmb3IgdXNlIGluIGNoaWxkcmVuIGFnZWQgdW5kZXIgMyB5ZWFycy4nICsgJwpEdWUgRGF0ZTogJyArIFRvU3RyaW5nKCJUaWNrLWJvcm5lIGVuY2VwaGFsaXRpcyAoVEJFKSBFbmNlVmlyIGRvc2UgMSBEdWUgRGF0ZSIpCiAgZWxzZSAnJwoKCi8qCkBkeW5hbWljVmFsdWU6IFRpY2stYm9ybmUgZW5jZXBoYWxpdGlzIChUQkUpIEVuY2VWaXIgZG9zZSAxIER1ZSBEYXRlCkBwc2V1ZG9jb2RlOiAiRGF0ZSBvZiBiaXJ0aCIgKyAzIHllYXJzCiovCmRlZmluZSAiVGljay1ib3JuZSBlbmNlcGhhbGl0aXMgKFRCRSkgRW5jZVZpciBkb3NlIDEgRHVlIERhdGUiOgogIGlmICJUaWNrLWJvcm5lIGVuY2VwaGFsaXRpcyAoVEJFKSBFbmNlVmlyIGRvc2UgMSIgdGhlbiBQYXRpZW50LmJpcnRoRGF0ZSArIDMgeWVhcnMKICBlbHNlIG51bGwKCgovKgpAZHluYW1pY1ZhbHVlOiBUaWNrLWJvcm5lIGVuY2VwaGFsaXRpcyAoVEJFKSBFbmNlVmlyIGRvc2UgMSBPdmVyZHVlCkBwc2V1ZG9jb2RlOiBUbyBiZSBkZXRlcm1pbmVkIGJ5IE1lbWJlciBTdGF0ZXM7IGhvd2V2ZXIsIHRoZXJlIGlzIG5vIHJlY29tbWVuZGVkIG92ZXJkdWUgZGF0ZSBhbmQgaW5kaXZpZHVhbHMgYXJlIGFsd2F5cyBlbGlnaWJsZSB0byBiZSB2YWNjaW5hdGVkLgoqLwpkZWZpbmUgIlRpY2stYm9ybmUgZW5jZXBoYWxpdGlzIChUQkUpIEVuY2VWaXIgZG9zZSAxIE92ZXJkdWUiOgogIG51bGwKCgovKgpAZHluYW1pY1ZhbHVlOiBUaWNrLWJvcm5lIGVuY2VwaGFsaXRpcyAoVEJFKSBFbmNlVmlyIGRvc2UgMSBFeHBpcmF0aW9uCkBwc2V1ZG9jb2RlOiBUbyBiZSBkZXRlcm1pbmVkIGJ5IE1lbWJlciBTdGF0ZXM7IGhvd2V2ZXIsIHRoZXJlIGlzIG5vIHJlY29tbWVuZGVkIGV4cGlyYXRpb24gZGF0ZSBhbmQgaW5kaXZpZHVhbHMgYXJlIGFsd2F5cyBlbGlnaWJsZSB0byBiZSB2YWNjaW5hdGVkLgoqLwpkZWZpbmUgIlRpY2stYm9ybmUgZW5jZXBoYWxpdGlzIChUQkUpIEVuY2VWaXIgZG9zZSAxIEV4cGlyYXRpb24iOgogIG51bGwKCiAgCi8qCkBjb21wbGV0ZTogRmlyc3QgVEJFIGRvc2UgZnJvbSB0aGUgcHJpbWFyeSBzZXJpZXMgd2FzIGFkbWluaXN0ZXJlZApAcHNldWRvY29kZTogQ291bnQgb2YgdmFjY2luZXMgYWRtaW5pc3RlcmVkICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJUQkUgdmFjY2luZXMiIGFuZCAiVHlwZSBvZiBkb3NlIiA9ICJQcmltYXJ5IHNlcmllcyIpID0gMQoqLwpkZWZpbmUgIkZpcnN0IFRCRSBkb3NlIGZyb20gdGhlIHByaW1hcnkgc2VyaWVzIHdhcyBhZG1pbmlzdGVyZWQiOgogIEVuY291bnRlci4iT25lIFRCRSBwcmltYXJ5IHNlcmllcyBkb3NlIHdhcyBhZG1pbmlzdGVyZWQiCgoKCi8qCkBvdXRwdXQ6IFRCRSBFbmNlVmlyIERvc2UgMgpAZGVzY3JpcHRpb246IFByb3Zpc2lvbiBvZiB0aGUgVEJFIEVuY2VWaXIgZG9zZSAyCkB0cmlnZ2VyOiBGaXJzdCBUQkUgZG9zZSBmcm9tIHRoZSBwcmltYXJ5IHNlcmllcyB3YXMgYWRtaW5pc3RlcmVkCkBwc2V1ZG86IENvdW50IG9mIHZhY2NpbmVzIGFkbWluaXN0ZXJlZCAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiVEJFIHZhY2NpbmVzIiBhbmQgIlR5cGUgb2YgZG9zZSIgPSAiUHJpbWFyeSBzZXJpZXMiKSA9IDEKQHRyaWdnZXJEYXRlOiAiRGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiIgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIlRCRSB2YWNjaW5lcyIpCiovCmRlZmluZSAiVEJFIEVuY2VWaXIgRG9zZSAyIjoKICAiRmlyc3QgVEJFIGRvc2UgZnJvbSB0aGUgcHJpbWFyeSBzZXJpZXMgd2FzIGFkbWluaXN0ZXJlZCIKICBhbmQgbm90ICJTZWNvbmQgVEJFIGRvc2UgZnJvbSB0aGUgcHJpbWFyeSBzZXJpZXMgd2FzIGFkbWluaXN0ZXJlZCIKCgovKgpAb3V0cHV0OiBUQkUgRW5jZVZpciBEb3NlIDIgQ3JlYXRlCkBjcmVhdGU6IFRoZSBtYW51ZmFjdHVyZXIgb2YgRW5jZVZpciByZWNvbW1lbmRzIDIgZG9zZXMgZ2l2ZW4gYXQgYW4gaW50ZXJ2YWwgb2YgNeKAkzcgbW9udGhzLgoqLwpkZWZpbmUgIlRCRSBFbmNlVmlyIERvc2UgMiBDcmVhdGUiOgogIGlmICJUQkUgRW5jZVZpciBEb3NlIDIiCiAgdGhlbiAnVGhlIG1hbnVmYWN0dXJlciBvZiBFbmNlVmlyIHJlY29tbWVuZHMgMiBkb3NlcyBnaXZlbiBhdCBhbiBpbnRlcnZhbCBvZiA14oCTNyBtb250aHMuJyArICcKRHVlIERhdGU6ICcgKyBUb1N0cmluZygiVEJFIEVuY2VWaXIgRG9zZSAyIER1ZSBEYXRlIikgKyAnCk92ZXJkdWU6ICcgKyBUb1N0cmluZygiVEJFIEVuY2VWaXIgRG9zZSAyIE92ZXJkdWUiKQogIGVsc2UgJycKCgovKgpAZHluYW1pY1ZhbHVlOiBUQkUgRW5jZVZpciBEb3NlIDIgRHVlIERhdGUKQHBzZXVkb2NvZGU6ICJEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uIiAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiVEJFIHZhY2NpbmVzIikgKyA1IG1vbnRocwoqLwpkZWZpbmUgIlRCRSBFbmNlVmlyIERvc2UgMiBEdWUgRGF0ZSI6CiAgaWYgIlRCRSBFbmNlVmlyIERvc2UgMiIgdGhlbiBFbmNvdW50ZXIuIkRhdGUgb2YgTGF0ZXN0IFRCRSBEb3NlIiArIDUgbW9udGhzCiAgZWxzZSBudWxsCgoKLyoKQGR5bmFtaWNWYWx1ZTogVEJFIEVuY2VWaXIgRG9zZSAyIE92ZXJkdWUKQHBzZXVkb2NvZGU6ICJEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uIiAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiVEJFIHZhY2NpbmVzIikgKyA3IG1vbnRocwoqLwpkZWZpbmUgIlRCRSBFbmNlVmlyIERvc2UgMiBPdmVyZHVlIjoKICBpZiAiVEJFIEVuY2VWaXIgRG9zZSAyIiB0aGVuIEVuY291bnRlci4iRGF0ZSBvZiBMYXRlc3QgVEJFIERvc2UiICsgNyBtb250aHMKICBlbHNlIG51bGwKCgovKgpAZHluYW1pY1ZhbHVlOiBUQkUgRW5jZVZpciBEb3NlIDIgRXhwaXJhdGlvbgpAcHNldWRvY29kZTogVG8gYmUgZGV0ZXJtaW5lZCBieSBNZW1iZXIgU3RhdGVzOyBob3dldmVyLCB0aGVyZSBpcyBubyByZWNvbW1lbmRlZCBleHBpcmF0aW9uIGRhdGUgYW5kIGluZGl2aWR1YWxzIGFyZSBhbHdheXMgZWxpZ2libGUgdG8gYmUgdmFjY2luYXRlZC4KKi8KZGVmaW5lICJUQkUgRW5jZVZpciBEb3NlIDIgRXhwaXJhdGlvbiI6CiAgbnVsbAoKICAKLyoKQGNvbXBsZXRlOiBTZWNvbmQgVEJFIGRvc2UgZnJvbSB0aGUgcHJpbWFyeSBzZXJpZXMgd2FzIGFkbWluaXN0ZXJlZApAcHNldWRvY29kZTogQ291bnQgb2YgdmFjY2luZXMgYWRtaW5pc3RlcmVkICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJUQkUgdmFjY2luZXMiIGFuZCAiVHlwZSBvZiBkb3NlIiA9ICJQcmltYXJ5IHNlcmllcyIpID0gMgoqLwpkZWZpbmUgIlNlY29uZCBUQkUgZG9zZSBmcm9tIHRoZSBwcmltYXJ5IHNlcmllcyB3YXMgYWRtaW5pc3RlcmVkIjoKICBFbmNvdW50ZXIuIlR3byBUQkUgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQiCgoKCi8qCkBvdXRwdXQ6IFRCRSBFbmNlVmlyIGRvc2UgMwpAZGVzY3JpcHRpb246IFByb3Zpc2lvbiBvZiB0aGUgVEJFIEVuY2VWaXIgZG9zZSAzCkB0cmlnZ2VyOiBTZWNvbmQgVEJFIGRvc2UgZnJvbSB0aGUgcHJpbWFyeSBzZXJpZXMgd2FzIGFkbWluaXN0ZXJlZApAcHNldWRvOiBDb3VudCBvZiB2YWNjaW5lcyBhZG1pbmlzdGVyZWQgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIlRCRSB2YWNjaW5lcyIgYW5kICJUeXBlIG9mIGRvc2UiID0gIlByaW1hcnkgc2VyaWVzIikgPSAyCkB0cmlnZ2VyRGF0ZTogTGF0ZXN0ICJEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uIiAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiVEJFIHZhY2NpbmVzIikKKi8KZGVmaW5lICJUQkUgRW5jZVZpciBkb3NlIDMiOgogICJTZWNvbmQgVEJFIGRvc2UgZnJvbSB0aGUgcHJpbWFyeSBzZXJpZXMgd2FzIGFkbWluaXN0ZXJlZCIKICBhbmQgbm90ICJUaGlyZCBUQkUgZG9zZSBmcm9tIHRoZSBwcmltYXJ5IHNlcmllcyB3YXMgYWRtaW5pc3RlcmVkLiBUaGUgcHJpbWFyeSBzZXJpZXMgaGFzIGJlZW4gY29tcGxldGVkIgoKCi8qCkBvdXRwdXQ6IFRCRSBFbmNlVmlyIGRvc2UgMyBDcmVhdGUKQGNyZWF0ZTogVGhlIHJlY29tbWVuZGVkIGludGVydmFsIGlzIDEyIG1vbnRocyBiZXR3ZWVuIHRoZSBzZWNvbmQgYW5kIHRoaXJkIGRvc2VzLgoqLwpkZWZpbmUgIlRCRSBFbmNlVmlyIGRvc2UgMyBDcmVhdGUiOgogIGlmICJUQkUgRW5jZVZpciBkb3NlIDMiCiAgdGhlbiAnVGhlIHJlY29tbWVuZGVkIGludGVydmFsIGlzIDEyIG1vbnRocyBiZXR3ZWVuIHRoZSBzZWNvbmQgYW5kIHRoaXJkIGRvc2VzLicgKyAnCkR1ZSBEYXRlOiAnICsgVG9TdHJpbmcoIlRCRSBFbmNlVmlyIGRvc2UgMyBEdWUgRGF0ZSIpCiAgZWxzZSAnJwoKCi8qCkBkeW5hbWljVmFsdWU6IFRCRSBFbmNlVmlyIGRvc2UgMyBEdWUgRGF0ZQpAcHNldWRvY29kZTogTGF0ZXN0ICJEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uIiAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiVEJFIHZhY2NpbmVzIikgKyAxMiBtb250aHMKKi8KZGVmaW5lICJUQkUgRW5jZVZpciBkb3NlIDMgRHVlIERhdGUiOgogIGlmICJUQkUgRW5jZVZpciBkb3NlIDMiIHRoZW4gRW5jb3VudGVyLiJEYXRlIG9mIExhdGVzdCBUQkUgRG9zZSIgKyAxMiBtb250aHMKICBlbHNlIG51bGwKCgovKgpAZHluYW1pY1ZhbHVlOiBUQkUgRW5jZVZpciBkb3NlIDMgT3ZlcmR1ZQpAcHNldWRvY29kZTogVG8gYmUgZGV0ZXJtaW5lZCBieSBNZW1iZXIgU3RhdGVzOyBob3dldmVyLCB0aGVyZSBpcyBubyByZWNvbW1lbmRlZCBvdmVyZHVlIGRhdGUgYW5kIGluZGl2aWR1YWxzIGFyZSBhbHdheXMgZWxpZ2libGUgdG8gYmUgdmFjY2luYXRlZC4KKi8KZGVmaW5lICJUQkUgRW5jZVZpciBkb3NlIDMgT3ZlcmR1ZSI6CiAgbnVsbAoKCi8qCkBkeW5hbWljVmFsdWU6IFRCRSBFbmNlVmlyIGRvc2UgMyBFeHBpcmF0aW9uCkBwc2V1ZG9jb2RlOiBUbyBiZSBkZXRlcm1pbmVkIGJ5IE1lbWJlciBTdGF0ZXM7IGhvd2V2ZXIsIHRoZXJlIGlzIG5vIHJlY29tbWVuZGVkIGV4cGlyYXRpb24gZGF0ZSBhbmQgaW5kaXZpZHVhbHMgYXJlIGFsd2F5cyBlbGlnaWJsZSB0byBiZSB2YWNjaW5hdGVkLgoqLwpkZWZpbmUgIlRCRSBFbmNlVmlyIGRvc2UgMyBFeHBpcmF0aW9uIjoKICBudWxsCgogIAovKgpAY29tcGxldGU6IFRoaXJkIFRCRSBkb3NlIGZyb20gdGhlIHByaW1hcnkgc2VyaWVzIHdhcyBhZG1pbmlzdGVyZWQuIFRoZSBwcmltYXJ5IHNlcmllcyBoYXMgYmVlbiBjb21wbGV0ZWQKQHBzZXVkb2NvZGU6ICJDb21wbGV0ZWQgdGhlIHByaW1hcnkgdmFjY2luYXRpb24gc2VyaWVzIiA9IFRSVUUgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIlRCRSB2YWNjaW5lcyIpCiovCmRlZmluZSAiVGhpcmQgVEJFIGRvc2UgZnJvbSB0aGUgcHJpbWFyeSBzZXJpZXMgd2FzIGFkbWluaXN0ZXJlZC4gVGhlIHByaW1hcnkgc2VyaWVzIGhhcyBiZWVuIGNvbXBsZXRlZCI6CiAgRW5jb3VudGVyLiJUaHJlZSBUQkUgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQiCgoKCi8qCkBvdXRwdXQ6IFRCRSBFbmNlVmlyIGJvb3N0ZXIgZG9zZQpAZGVzY3JpcHRpb246IFByb3Zpc2lvbiBvZiB0aGUgVEJFIEVuY2VWaXIgYm9vc3RlciBkb3NlCkB0cmlnZ2VyOiBUaGUgcHJpbWFyeSBzZXJpZXMgaGFzIGJlZW4gY29tcGxldGVkCkBwc2V1ZG86ICJDb21wbGV0ZWQgdGhlIHByaW1hcnkgdmFjY2luYXRpb24gc2VyaWVzIiA9IFRSVUUgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIlRCRSB2YWNjaW5lcyIpCkB0cmlnZ2VyRGF0ZTogTGF0ZXN0ICJEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uIiAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiVEJFIHZhY2NpbmVzIikKKi8KZGVmaW5lICJUQkUgRW5jZVZpciBib29zdGVyIGRvc2UiOgogICJUaGlyZCBUQkUgZG9zZSBmcm9tIHRoZSBwcmltYXJ5IHNlcmllcyB3YXMgYWRtaW5pc3RlcmVkLiBUaGUgcHJpbWFyeSBzZXJpZXMgaGFzIGJlZW4gY29tcGxldGVkIgoKCi8qCkBvdXRwdXQ6IFRCRSBFbmNlVmlyIGJvb3N0ZXIgZG9zZSBDcmVhdGUKQGNyZWF0ZTogVEJFIGJvb3N0ZXIgZG9zZSBzaG91bGQgYmUgcHJvdmlkZWQgZXZlcnkgMyB5ZWFycyB0byB0aGUgY2xpZW50IGlmIHRoZSBjb3VudHJ5IHJlY29nbml6ZXMgVEJFIGFzIGEgcHJpb3JpdHkgYW5kIHRoZSBjbGllbnQgaGFzIGNvbXBsZXRlZCB0aGUgcHJpbWFyeSBzZXJpZXMuCiovCmRlZmluZSAiVEJFIEVuY2VWaXIgYm9vc3RlciBkb3NlIENyZWF0ZSI6CiAgaWYgIlRCRSBFbmNlVmlyIGJvb3N0ZXIgZG9zZSIKICB0aGVuICdUQkUgYm9vc3RlciBkb3NlIHNob3VsZCBiZSBwcm92aWRlZCBldmVyeSAzIHllYXJzIHRvIHRoZSBjbGllbnQgaWYgdGhlIGNvdW50cnkgcmVjb2duaXplcyBUQkUgYXMgYSBwcmlvcml0eSBhbmQgdGhlIGNsaWVudCBoYXMgY29tcGxldGVkIHRoZSBwcmltYXJ5IHNlcmllcy4nICsgJwpEdWUgRGF0ZTogJyArIFRvU3RyaW5nKCJUQkUgRW5jZVZpciBib29zdGVyIGRvc2UgRHVlIERhdGUiKQogIGVsc2UgJycKCgovKgpAZHluYW1pY1ZhbHVlOiBUQkUgRW5jZVZpciBib29zdGVyIGRvc2UgRHVlIERhdGUKQHBzZXVkb2NvZGU6IExhdGVzdCAiRGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiIgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIlRCRSB2YWNjaW5lcyIpICsgMyB5ZWFycwoqLwpkZWZpbmUgIlRCRSBFbmNlVmlyIGJvb3N0ZXIgZG9zZSBEdWUgRGF0ZSI6CiAgaWYgIlRCRSBFbmNlVmlyIGJvb3N0ZXIgZG9zZSIgdGhlbiBFbmNvdW50ZXIuIkRhdGUgb2YgTGF0ZXN0IFRCRSBEb3NlIiArIDMgeWVhcnMKICBlbHNlIG51bGwKCgovKgpAZHluYW1pY1ZhbHVlOiBUQkUgRW5jZVZpciBib29zdGVyIGRvc2UgT3ZlcmR1ZQpAcHNldWRvY29kZTogVG8gYmUgZGV0ZXJtaW5lZCBieSBNZW1iZXIgU3RhdGVzOyBob3dldmVyLCB0aGVyZSBpcyBubyByZWNvbW1lbmRlZCBvdmVyZHVlIGRhdGUgYW5kIGluZGl2aWR1YWxzIGFyZSBhbHdheXMgZWxpZ2libGUgdG8gYmUgdmFjY2luYXRlZC4KKi8KZGVmaW5lICJUQkUgRW5jZVZpciBib29zdGVyIGRvc2UgT3ZlcmR1ZSI6CiAgbnVsbAoKCi8qCkBkeW5hbWljVmFsdWU6IFRCRSBFbmNlVmlyIGJvb3N0ZXIgZG9zZSBFeHBpcmF0aW9uCkBwc2V1ZG9jb2RlOiBUbyBiZSBkZXRlcm1pbmVkIGJ5IE1lbWJlciBTdGF0ZXM7IGhvd2V2ZXIsIHRoZXJlIGlzIG5vIHJlY29tbWVuZGVkIGV4cGlyYXRpb24gZGF0ZSBhbmQgaW5kaXZpZHVhbHMgYXJlIGFsd2F5cyBlbGlnaWJsZSB0byBiZSB2YWNjaW5hdGVkLgoqLwpkZWZpbmUgIlRCRSBFbmNlVmlyIGJvb3N0ZXIgZG9zZSBFeHBpcmF0aW9uIjoKICBudWxsCgogIAovKgpAY29tcGxldGU6IFRCRSBib29zdGVyIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gMyB5ZWFycyBhZ28KQHBzZXVkb2NvZGU6IENvdW50IG9mIHZhY2NpbmVzIGFkbWluaXN0ZXJlZCAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiVEJFIHZhY2NpbmVzIiBhbmQgIlR5cGUgb2YgZG9zZSIgPSAiQm9vc3RlciBkb3NlIikg4omlIDEgQU5EIFRvZGF5J3MgZGF0ZSAtIExhdGVzdCAiRGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiIgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIlRCRSB2YWNjaW5lcyIpIDwgMyB5ZWFycwoqLwpkZWZpbmUgIlRCRSBib29zdGVyIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gMyB5ZWFycyBhZ28iOgogIEVuY291bnRlci4iQXQgbGVhc3Qgb25lIGJvb3N0ZXIgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIgogIGFuZCBFbmNvdW50ZXIuIlRoZSBsYXRlc3QgVEJFIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gMyB5ZWFycyBhZ28iCgoKCi8qCkB0ZXN0OiBUZXN0IGV4cGVjdGVkIHJlc3VsdHMgYmFzZWQgb24gZXhhbXBsZSBwYXRpZW50cwoqLwpkZWZpbmUgIlRlc3QgVmFsaWRhdGlvbiI6CiAgY2FzZQogICAgd2hlbiBQYXRpZW50LmlkID0gJ1RCRTU1LjEnIHRoZW4gIlRpY2stYm9ybmUgZW5jZXBoYWxpdGlzIChUQkUpIEVuY2VWaXIgZG9zZSAxIgogICAgd2hlbiBQYXRpZW50LmlkID0gJ1RCRTU2LjInIHRoZW4gIlRpY2stYm9ybmUgZW5jZXBoYWxpdGlzIChUQkUpIEVuY2VWaXIgZG9zZSAxIgogICAgd2hlbiBQYXRpZW50LmlkID0gJ1RCRTU3LjInIHRoZW4gIlRCRSBFbmNlVmlyIERvc2UgMiIKICAgIHdoZW4gUGF0aWVudC5pZCA9ICdUQkU1OC4yJyB0aGVuICJUQkUgRW5jZVZpciBEb3NlIDIiCiAgICB3aGVuIFBhdGllbnQuaWQgPSAnVEJFNTkuMicgdGhlbiAiVEJFIEVuY2VWaXIgZG9zZSAzIgogICAgd2hlbiBQYXRpZW50LmlkID0gJ1RCRTYwLjInIHRoZW4gIlRCRSBFbmNlVmlyIGRvc2UgMyIKICAgIHdoZW4gUGF0aWVudC5pZCA9ICdUQkU2MS4yJyB0aGVuICJUQkUgRW5jZVZpciBib29zdGVyIGRvc2UiCiAgICB3aGVuIFBhdGllbnQuaWQgPSAnVEJFNjIuMicgdGhlbiAiVEJFIEVuY2VWaXIgYm9vc3RlciBkb3NlIgogICAgZWxzZSAnTm8gdGVzdCBjYXNlIHNldCcKICBlbmQK"/>
  </content>
</Library>