eCQM QICore Content Implementation Guide
2025.0.0 - CI Build

eCQM QICore Content Implementation Guide, published by cqframework. This guide is not an authorized publication; it is the continuous build for version 2025.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/cqframework/ecqm-content-qicore-2025/ and changes regularly. See the Directory of published versions

: CMS190VTEProphylaxisICUFHIR - XML Representation

Active as of 2025-06-23

Raw xml | Download


<Library xmlns="http://hl7.org/fhir">
  <id value="CMS190VTEProphylaxisICUFHIR"/>
  <meta>
    <profile
             value="http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-shareablelibrary"/>
    <profile
             value="http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-computablelibrary"/>
    <profile
             value="http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-publishablelibrary"/>
    <profile
             value="http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-executablelibrary"/>
    <profile
             value="http://hl7.org/fhir/uv/cql/StructureDefinition/cql-library"/>
    <profile
             value="http://hl7.org/fhir/uv/cql/StructureDefinition/elm-json-library"/>
    <profile
             value="http://hl7.org/fhir/uv/cql/StructureDefinition/elm-xml-library"/>
  </meta>
  <language value="en"/>
  <text>
    <status value="extensions"/>
    <div xmlns="http://www.w3.org/1999/xhtml" class="col-12">
  <table class="narrative-table">
    <tbody>
<tr>

<th colspan="2" scope="row" class="row-header">Knowledge Artifact Metadata</th>

</tr>

<tr>

<th scope="row" class="row-header">Name (machine-readable)</th>

<td class="content-container">CMS190VTEProphylaxisICUFHIR</td>
</tr>


<tr>

<th scope="row" class="row-header">Title (human-readable)</th>

<td class="content-container">CMS190VTEProphylaxisICUFHIR</td>
</tr>



<tr>

<th scope="row" class="row-header">Status</th>

<td class="content-container">active</td>
</tr>


<tr>

<th scope="row" class="row-header">Experimental</th>

<td class="content-container">false</td>
</tr>


<tr>

<th scope="row" class="row-header">Description</th>

<td class="content-container">CMS190VTEProphylaxisICUFHIR</td>
</tr>














<tr>

<th scope="row" class="row-header">Library Steward</th>

<td class="content-container">The Joint Commission</td>
</tr>








<tr>
  
  
  
  
  
<th scope="row" class="row-header">Dependency</th>

  
  <td class="content-container">
    
    <em>Description</em>: Library SDE
    
    <br/>
    
    
    
    
    
    
    <em>Resource</em>: https://madie.cms.gov/Library/SupplementalDataElements|5.1.000
    <br/>
    <em>Canonical URL</em>: <tt>https://madie.cms.gov/Library/SupplementalDataElements|5.1.000</tt>
    
  </td>
</tr>

<tr>
  
  
  
  
  
<th scope="row" class="row-header">Dependency</th>

  
  <td class="content-container">
    
    <em>Description</em>: Library VTE
    
    <br/>
    
    
    
    
    
    
    <em>Resource</em>: https://madie.cms.gov/Library/VTE|8.18.000
    <br/>
    <em>Canonical URL</em>: <tt>https://madie.cms.gov/Library/VTE|8.18.000</tt>
    
  </td>
</tr>

<tr>
  
  
  
  
  
<th scope="row" class="row-header">Dependency</th>

  
  <td class="content-container">
    
    <em>Description</em>: Library CQMCommon
    
    <br/>
    
    
    
    
    
    
    <em>Resource</em>: https://madie.cms.gov/Library/CQMCommon|4.1.000
    <br/>
    <em>Canonical URL</em>: <tt>https://madie.cms.gov/Library/CQMCommon|4.1.000</tt>
    
  </td>
</tr>

<tr>
  
  
  
  
  
<th scope="row" class="row-header">Dependency</th>

  
  <td class="content-container">
    
    <em>Description</em>: Library FHIRHelpers
    
    <br/>
    
    
    
    
    
    
    <em>Resource</em>: https://madie.cms.gov/Library/FHIRHelpers|4.4.000
    <br/>
    <em>Canonical URL</em>: <tt>https://madie.cms.gov/Library/FHIRHelpers|4.4.000</tt>
    
  </td>
</tr>

<tr>
  
  
  
  
  
<th scope="row" class="row-header">Dependency</th>

  
  <td class="content-container">
    
    <em>Description</em>: Library TJC
    
    <br/>
    
    
    
    
    
    
    <em>Resource</em>: https://madie.cms.gov/Library/TJCOverall|8.23.000
    <br/>
    <em>Canonical URL</em>: <tt>https://madie.cms.gov/Library/TJCOverall|8.23.000</tt>
    
  </td>
</tr>

<tr>
  
  
  
  
  
<th scope="row" class="row-header">Dependency</th>

  
  <td class="content-container">
    
    <em>Description</em>: Code system LOINC
    
    <br/>
    
    
    
    
    
    
    <em>Resource</em>: http://loinc.org
    <br/>
    <em>Canonical URL</em>: <tt>http://loinc.org</tt>
    
  </td>
</tr>

<tr>
  
  
  
  
  
<th scope="row" class="row-header">Dependency</th>

  
  <td class="content-container">
    
    <em>Description</em>: Value set Intensive Care Unit
    
    <br/>
    
    
    
    
    
    
    <em>Resource</em>: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1029.206
    <br/>
    <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1029.206</tt>
    
  </td>
</tr>

<tr>
  
  
  
  
  
<th scope="row" class="row-header">Dependency</th>

  
  <td class="content-container">
    
    <em>Description</em>: Value set Low Dose Unfractionated Heparin for VTE Prophylaxis
    
    <br/>
    
    
    
    
    
    
    <em>Resource</em>: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.39
    <br/>
    <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.39</tt>
    
  </td>
</tr>

<tr>
  
  
  
  
  
<th scope="row" class="row-header">Dependency</th>

  
  <td class="content-container">
    
    <em>Description</em>: Value set Subcutaneous route
    
    <br/>
    
    
    
    
    
    
    <em>Resource</em>: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.223
    <br/>
    <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.223</tt>
    
  </td>
</tr>

<tr>
  
  
  
  
  
<th scope="row" class="row-header">Dependency</th>

  
  <td class="content-container">
    
    <em>Description</em>: Value set Low Molecular Weight Heparin for VTE Prophylaxis
    
    <br/>
    
    
    
    
    
    
    <em>Resource</em>: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.219
    <br/>
    <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.219</tt>
    
  </td>
</tr>

<tr>
  
  
  
  
  
<th scope="row" class="row-header">Dependency</th>

  
  <td class="content-container">
    
    <em>Description</em>: Value set Injectable Factor Xa Inhibitor for VTE Prophylaxis
    
    <br/>
    
    
    
    
    
    
    <em>Resource</em>: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.211
    <br/>
    <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.211</tt>
    
  </td>
</tr>

<tr>
  
  
  
  
  
<th scope="row" class="row-header">Dependency</th>

  
  <td class="content-container">
    
    <em>Description</em>: Value set Warfarin
    
    <br/>
    
    
    
    
    
    
    <em>Resource</em>: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.232
    <br/>
    <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.232</tt>
    
  </td>
</tr>

<tr>
  
  
  
  
  
<th scope="row" class="row-header">Dependency</th>

  
  <td class="content-container">
    
    <em>Description</em>: Value set Rivaroxaban for VTE Prophylaxis
    
    <br/>
    
    
    
    
    
    
    <em>Resource</em>: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.50
    <br/>
    <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.50</tt>
    
  </td>
</tr>

<tr>
  
  
  
  
  
<th scope="row" class="row-header">Dependency</th>

  
  <td class="content-container">
    
    <em>Description</em>: Value set Application of Intermittent Pneumatic Compression Devices
    
    <br/>
    
    
    
    
    
    
    <em>Resource</em>: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.65
    <br/>
    <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.65</tt>
    
  </td>
</tr>

<tr>
  
  
  
  
  
<th scope="row" class="row-header">Dependency</th>

  
  <td class="content-container">
    
    <em>Description</em>: Value set Application of Venous Foot Pumps
    
    <br/>
    
    
    
    
    
    
    <em>Resource</em>: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.64
    <br/>
    <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.64</tt>
    
  </td>
</tr>

<tr>
  
  
  
  
  
<th scope="row" class="row-header">Dependency</th>

  
  <td class="content-container">
    
    <em>Description</em>: Value set Application of Graduated Compression Stockings
    
    <br/>
    
    
    
    
    
    
    <em>Resource</em>: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.66
    <br/>
    <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.66</tt>
    
  </td>
</tr>

<tr>
  
  
  
  
  
<th scope="row" class="row-header">Dependency</th>

  
  <td class="content-container">
    
    <em>Description</em>: Value set General or Neuraxial Anesthesia
    
    <br/>
    
    
    
    
    
    
    <em>Resource</em>: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743
    <br/>
    <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743</tt>
    
  </td>
</tr>

<tr>
  
  
  
  
  
<th scope="row" class="row-header">Dependency</th>

  
  <td class="content-container">
    
    <em>Description</em>: Value set Oral Factor Xa Inhibitor for VTE Prophylaxis or VTE Treatment
    
    <br/>
    
    
    
    
    
    
    <em>Resource</em>: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.134
    <br/>
    <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.134</tt>
    
  </td>
</tr>

<tr>
  
  
  
  
  
<th scope="row" class="row-header">Dependency</th>

  
  <td class="content-container">
    
    <em>Description</em>: Value set Atrial Fibrillation or Flutter
    
    <br/>
    
    
    
    
    
    
    <em>Resource</em>: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.202
    <br/>
    <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.202</tt>
    
  </td>
</tr>

<tr>
  
  
  
  
  
<th scope="row" class="row-header">Dependency</th>

  
  <td class="content-container">
    
    <em>Description</em>: Value set Venous Thromboembolism
    
    <br/>
    
    
    
    
    
    
    <em>Resource</em>: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.279
    <br/>
    <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.279</tt>
    
  </td>
</tr>

<tr>
  
  
  
  
  
<th scope="row" class="row-header">Dependency</th>

  
  <td class="content-container">
    
    <em>Description</em>: Value set Hip Replacement Surgery
    
    <br/>
    
    
    
    
    
    
    <em>Resource</em>: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.259
    <br/>
    <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.259</tt>
    
  </td>
</tr>

<tr>
  
  
  
  
  
<th scope="row" class="row-header">Dependency</th>

  
  <td class="content-container">
    
    <em>Description</em>: Value set Knee Replacement Surgery
    
    <br/>
    
    
    
    
    
    
    <em>Resource</em>: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.261
    <br/>
    <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.261</tt>
    
  </td>
</tr>

<tr>
  
  
  
  
  
<th scope="row" class="row-header">Dependency</th>

  
  <td class="content-container">
    
    <em>Description</em>: Value set Low Risk
    
    <br/>
    
    
    
    
    
    
    <em>Resource</em>: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.400
    <br/>
    <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.400</tt>
    
  </td>
</tr>

<tr>
  
  
  
  
  
<th scope="row" class="row-header">Dependency</th>

  
  <td class="content-container">
    
    <em>Description</em>: Value set INR
    
    <br/>
    
    
    
    
    
    
    <em>Resource</em>: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.213
    <br/>
    <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.213</tt>
    
  </td>
</tr>

<tr>
  
  
  
  
  
<th scope="row" class="row-header">Dependency</th>

  
  <td class="content-container">
    
    <em>Description</em>: Value set Unfractionated Heparin
    
    <br/>
    
    
    
    
    
    
    <em>Resource</em>: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.218
    <br/>
    <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.218</tt>
    
  </td>
</tr>

<tr>
  
  
  
  
  
<th scope="row" class="row-header">Dependency</th>

  
  <td class="content-container">
    
    <em>Description</em>: Value set Intravenous route
    
    <br/>
    
    
    
    
    
    
    <em>Resource</em>: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.222
    <br/>
    <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.222</tt>
    
  </td>
</tr>

<tr>
  
  
  
  
  
<th scope="row" class="row-header">Dependency</th>

  
  <td class="content-container">
    
    <em>Description</em>: Value set Direct Thrombin Inhibitor
    
    <br/>
    
    
    
    
    
    
    <em>Resource</em>: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.205
    <br/>
    <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.205</tt>
    
  </td>
</tr>

<tr>
  
  
  
  
  
<th scope="row" class="row-header">Dependency</th>

  
  <td class="content-container">
    
    <em>Description</em>: Value set Glycoprotein IIb IIIa Inhibitors
    
    <br/>
    
    
    
    
    
    
    <em>Resource</em>: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.41
    <br/>
    <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.41</tt>
    
  </td>
</tr>

<tr>
  
  
  
  
  
<th scope="row" class="row-header">Dependency</th>

  
  <td class="content-container">
    
    <em>Description</em>: Value set Medical Reason For Not Providing Treatment
    
    <br/>
    
    
    
    
    
    
    <em>Resource</em>: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.473
    <br/>
    <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.473</tt>
    
  </td>
</tr>

<tr>
  
  
  
  
  
<th scope="row" class="row-header">Dependency</th>

  
  <td class="content-container">
    
    <em>Description</em>: Value set Venous foot pumps
    
    <br/>
    
    
    
    
    
    
    <em>Resource</em>: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.230
    <br/>
    <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.230</tt>
    
  </td>
</tr>

<tr>
  
  
  
  
  
<th scope="row" class="row-header">Dependency</th>

  
  <td class="content-container">
    
    <em>Description</em>: Value set Intermittent pneumatic compression devices
    
    <br/>
    
    
    
    
    
    
    <em>Resource</em>: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.214
    <br/>
    <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.214</tt>
    
  </td>
</tr>

<tr>
  
  
  
  
  
<th scope="row" class="row-header">Dependency</th>

  
  <td class="content-container">
    
    <em>Description</em>: Value set Graduated compression stockings
    
    <br/>
    
    
    
    
    
    
    <em>Resource</em>: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.256
    <br/>
    <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.256</tt>
    
  </td>
</tr>

<tr>
  
  
  
  
  
<th scope="row" class="row-header">Dependency</th>

  
  <td class="content-container">
    
    <em>Description</em>: Value set Patient Refusal
    
    <br/>
    
    
    
    
    
    
    <em>Resource</em>: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.93
    <br/>
    <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.93</tt>
    
  </td>
</tr>

<tr>
  
  
  
  
  
<th scope="row" class="row-header">Dependency</th>

  
  <td class="content-container">
    
    <em>Description</em>: Value set General Surgery
    
    <br/>
    
    
    
    
    
    
    <em>Resource</em>: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.255
    <br/>
    <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.255</tt>
    
  </td>
</tr>

<tr>
  
  
  
  
  
<th scope="row" class="row-header">Dependency</th>

  
  <td class="content-container">
    
    <em>Description</em>: Value set Gynecological Surgery
    
    <br/>
    
    
    
    
    
    
    <em>Resource</em>: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.257
    <br/>
    <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.257</tt>
    
  </td>
</tr>

<tr>
  
  
  
  
  
<th scope="row" class="row-header">Dependency</th>

  
  <td class="content-container">
    
    <em>Description</em>: Value set Hip Fracture Surgery
    
    <br/>
    
    
    
    
    
    
    <em>Resource</em>: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.258
    <br/>
    <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.258</tt>
    
  </td>
</tr>

<tr>
  
  
  
  
  
<th scope="row" class="row-header">Dependency</th>

  
  <td class="content-container">
    
    <em>Description</em>: Value set Intracranial Neurosurgery
    
    <br/>
    
    
    
    
    
    
    <em>Resource</em>: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.260
    <br/>
    <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.260</tt>
    
  </td>
</tr>

<tr>
  
  
  
  
  
<th scope="row" class="row-header">Dependency</th>

  
  <td class="content-container">
    
    <em>Description</em>: Value set Urological Surgery
    
    <br/>
    
    
    
    
    
    
    <em>Resource</em>: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.272
    <br/>
    <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.272</tt>
    
  </td>
</tr>

<tr>
  
  
  
  
  
<th scope="row" class="row-header">Dependency</th>

  
  <td class="content-container">
    
    <em>Description</em>: Value set Comfort Measures
    
    <br/>
    
    
    
    
    
    
    <em>Resource</em>: http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45
    <br/>
    <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45</tt>
    
  </td>
</tr>










<tr>

<th colspan="2" scope="row" class="row-header">Library Metadata</th>

</tr>

<tr>

<th scope="row" class="row-header">Identifier</th>

<td class="content-container">org.hl7.fhir.r5.model.Identifier@141be1fb</td>
</tr>


<tr>

<th scope="row" class="row-header">Version Number</th>

<td class="content-container">0.3.001</td>
</tr>


<tr>

<th scope="row" class="row-header">Library Type</th>

<td class="content-container">[http://terminology.hl7.org/CodeSystem/library-type#logic-library]</td>
</tr>




<tr>
  <th scope="row" class="row-header">Data Requirement</th>
  <td class="content-container">
    <em>Type</em>: MedicationAdministration
    <br/>
  
    <em>Profile(s)</em>: 
  
    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationadministration
    <br/>        
  
   
   
    <em>Must Support Elements</em>: medication, status, status.value, dosage, dosage.route, id, id.value, effective
    <br/>
   
  
    <em>Code Filter(s)</em>: 
    <br/>
  
  
    <span class="tab-one"><em>Path</em>: medication</span>
    <br/>
  
  
  
    <span class="tab-one"><em>ValueSet</em>:</span> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.39
    <br/> 
  
  
  
   
  </td>
</tr>

<tr>
  <th scope="row" class="row-header">Data Requirement</th>
  <td class="content-container">
    <em>Type</em>: MedicationAdministration
    <br/>
  
    <em>Profile(s)</em>: 
  
    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationadministration
    <br/>        
  
   
   
    <em>Must Support Elements</em>: medication, status, status.value, id, id.value, effective
    <br/>
   
  
    <em>Code Filter(s)</em>: 
    <br/>
  
  
    <span class="tab-one"><em>Path</em>: medication</span>
    <br/>
  
  
  
    <span class="tab-one"><em>ValueSet</em>:</span> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.219
    <br/> 
  
  
  
   
  </td>
</tr>

<tr>
  <th scope="row" class="row-header">Data Requirement</th>
  <td class="content-container">
    <em>Type</em>: MedicationAdministration
    <br/>
  
    <em>Profile(s)</em>: 
  
    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationadministration
    <br/>        
  
   
   
    <em>Must Support Elements</em>: medication, status, status.value, id, id.value, effective
    <br/>
   
  
    <em>Code Filter(s)</em>: 
    <br/>
  
  
    <span class="tab-one"><em>Path</em>: medication</span>
    <br/>
  
  
  
    <span class="tab-one"><em>ValueSet</em>:</span> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.211
    <br/> 
  
  
  
   
  </td>
</tr>

<tr>
  <th scope="row" class="row-header">Data Requirement</th>
  <td class="content-container">
    <em>Type</em>: MedicationAdministration
    <br/>
  
    <em>Profile(s)</em>: 
  
    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationadministration
    <br/>        
  
   
   
    <em>Must Support Elements</em>: medication, status, status.value, id, id.value, effective
    <br/>
   
  
    <em>Code Filter(s)</em>: 
    <br/>
  
  
    <span class="tab-one"><em>Path</em>: medication</span>
    <br/>
  
  
  
    <span class="tab-one"><em>ValueSet</em>:</span> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.232
    <br/> 
  
  
  
   
  </td>
</tr>

<tr>
  <th scope="row" class="row-header">Data Requirement</th>
  <td class="content-container">
    <em>Type</em>: MedicationAdministration
    <br/>
  
    <em>Profile(s)</em>: 
  
    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationadministration
    <br/>        
  
   
   
    <em>Must Support Elements</em>: medication, status, status.value, id, id.value, effective
    <br/>
   
  
    <em>Code Filter(s)</em>: 
    <br/>
  
  
    <span class="tab-one"><em>Path</em>: medication</span>
    <br/>
  
  
  
    <span class="tab-one"><em>ValueSet</em>:</span> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.50
    <br/> 
  
  
  
   
  </td>
</tr>

<tr>
  <th scope="row" class="row-header">Data Requirement</th>
  <td class="content-container">
    <em>Type</em>: MedicationAdministration
    <br/>
  
    <em>Profile(s)</em>: 
  
    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationadministration
    <br/>        
  
   
   
    <em>Must Support Elements</em>: medication, status, status.value, effective, id, id.value
    <br/>
   
  
    <em>Code Filter(s)</em>: 
    <br/>
  
  
    <span class="tab-one"><em>Path</em>: medication</span>
    <br/>
  
  
  
    <span class="tab-one"><em>ValueSet</em>:</span> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.134
    <br/> 
  
  
  
   
  </td>
</tr>

<tr>
  <th scope="row" class="row-header">Data Requirement</th>
  <td class="content-container">
    <em>Type</em>: MedicationAdministration
    <br/>
  
    <em>Profile(s)</em>: 
  
    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationadministration
    <br/>        
  
   
   
    <em>Must Support Elements</em>: medication, dosage, dosage.route, status, status.value, id, id.value, effective
    <br/>
   
  
    <em>Code Filter(s)</em>: 
    <br/>
  
  
    <span class="tab-one"><em>Path</em>: medication</span>
    <br/>
  
  
  
    <span class="tab-one"><em>ValueSet</em>:</span> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.218
    <br/> 
  
  
  
   
  </td>
</tr>

<tr>
  <th scope="row" class="row-header">Data Requirement</th>
  <td class="content-container">
    <em>Type</em>: MedicationAdministration
    <br/>
  
    <em>Profile(s)</em>: 
  
    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationadministration
    <br/>        
  
   
   
    <em>Must Support Elements</em>: medication, status, status.value, id, id.value, effective
    <br/>
   
  
    <em>Code Filter(s)</em>: 
    <br/>
  
  
    <span class="tab-one"><em>Path</em>: medication</span>
    <br/>
  
  
  
    <span class="tab-one"><em>ValueSet</em>:</span> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.205
    <br/> 
  
  
  
   
  </td>
</tr>

<tr>
  <th scope="row" class="row-header">Data Requirement</th>
  <td class="content-container">
    <em>Type</em>: MedicationAdministration
    <br/>
  
    <em>Profile(s)</em>: 
  
    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationadministration
    <br/>        
  
   
   
    <em>Must Support Elements</em>: medication, status, status.value, id, id.value, effective
    <br/>
   
  
    <em>Code Filter(s)</em>: 
    <br/>
  
  
    <span class="tab-one"><em>Path</em>: medication</span>
    <br/>
  
  
  
    <span class="tab-one"><em>ValueSet</em>:</span> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.41
    <br/> 
  
  
  
   
  </td>
</tr>

<tr>
  <th scope="row" class="row-header">Data Requirement</th>
  <td class="content-container">
    <em>Type</em>: Procedure
    <br/>
  
    <em>Profile(s)</em>: 
  
    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure
    <br/>        
  
   
   
    <em>Must Support Elements</em>: code, status, status.value
    <br/>
   
  
    <em>Code Filter(s)</em>: 
    <br/>
  
  
    <span class="tab-one"><em>Path</em>: code</span>
    <br/>
  
  
  
    <span class="tab-one"><em>ValueSet</em>:</span> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.65
    <br/> 
  
  
  
   
  </td>
</tr>

<tr>
  <th scope="row" class="row-header">Data Requirement</th>
  <td class="content-container">
    <em>Type</em>: Procedure
    <br/>
  
    <em>Profile(s)</em>: 
  
    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure
    <br/>        
  
   
   
    <em>Must Support Elements</em>: code, status, status.value
    <br/>
   
  
    <em>Code Filter(s)</em>: 
    <br/>
  
  
    <span class="tab-one"><em>Path</em>: code</span>
    <br/>
  
  
  
    <span class="tab-one"><em>ValueSet</em>:</span> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.64
    <br/> 
  
  
  
   
  </td>
</tr>

<tr>
  <th scope="row" class="row-header">Data Requirement</th>
  <td class="content-container">
    <em>Type</em>: Procedure
    <br/>
  
    <em>Profile(s)</em>: 
  
    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure
    <br/>        
  
   
   
    <em>Must Support Elements</em>: code, status, status.value
    <br/>
   
  
    <em>Code Filter(s)</em>: 
    <br/>
  
  
    <span class="tab-one"><em>Path</em>: code</span>
    <br/>
  
  
  
    <span class="tab-one"><em>ValueSet</em>:</span> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.66
    <br/> 
  
  
  
   
  </td>
</tr>

<tr>
  <th scope="row" class="row-header">Data Requirement</th>
  <td class="content-container">
    <em>Type</em>: Procedure
    <br/>
  
    <em>Profile(s)</em>: 
  
    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure
    <br/>        
  
   
   
    <em>Must Support Elements</em>: code, status, status.value, performed
    <br/>
   
  
    <em>Code Filter(s)</em>: 
    <br/>
  
  
    <span class="tab-one"><em>Path</em>: code</span>
    <br/>
  
  
  
    <span class="tab-one"><em>ValueSet</em>:</span> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743
    <br/> 
  
  
  
   
  </td>
</tr>

<tr>
  <th scope="row" class="row-header">Data Requirement</th>
  <td class="content-container">
    <em>Type</em>: Procedure
    <br/>
  
    <em>Profile(s)</em>: 
  
    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure
    <br/>        
  
   
   
    <em>Must Support Elements</em>: code, status, status.value
    <br/>
   
  
    <em>Code Filter(s)</em>: 
    <br/>
  
  
    <span class="tab-one"><em>Path</em>: code</span>
    <br/>
  
  
  
    <span class="tab-one"><em>ValueSet</em>:</span> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.259
    <br/> 
  
  
  
   
  </td>
</tr>

<tr>
  <th scope="row" class="row-header">Data Requirement</th>
  <td class="content-container">
    <em>Type</em>: Procedure
    <br/>
  
    <em>Profile(s)</em>: 
  
    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure
    <br/>        
  
   
   
    <em>Must Support Elements</em>: code, status, status.value
    <br/>
   
  
    <em>Code Filter(s)</em>: 
    <br/>
  
  
    <span class="tab-one"><em>Path</em>: code</span>
    <br/>
  
  
  
    <span class="tab-one"><em>ValueSet</em>:</span> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.261
    <br/> 
  
  
  
   
  </td>
</tr>

<tr>
  <th scope="row" class="row-header">Data Requirement</th>
  <td class="content-container">
    <em>Type</em>: Procedure
    <br/>
  
    <em>Profile(s)</em>: 
  
    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure
    <br/>        
  
   
   
    <em>Must Support Elements</em>: code, status, status.value
    <br/>
   
  
    <em>Code Filter(s)</em>: 
    <br/>
  
  
    <span class="tab-one"><em>Path</em>: code</span>
    <br/>
  
  
  
    <span class="tab-one"><em>ValueSet</em>:</span> http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45
    <br/> 
  
  
  
   
  </td>
</tr>

<tr>
  <th scope="row" class="row-header">Data Requirement</th>
  <td class="content-container">
    <em>Type</em>: Condition
    <br/>
  
    <em>Profile(s)</em>: 
  
    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition-problems-health-concerns
    <br/>        
  
   
   
    <em>Must Support Elements</em>: code, verificationStatus, onset
    <br/>
   
  
    <em>Code Filter(s)</em>: 
    <br/>
  
  
    <span class="tab-one"><em>Path</em>: code</span>
    <br/>
  
  
  
    <span class="tab-one"><em>ValueSet</em>:</span> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.202
    <br/> 
  
  
  
   
  </td>
</tr>

<tr>
  <th scope="row" class="row-header">Data Requirement</th>
  <td class="content-container">
    <em>Type</em>: Condition
    <br/>
  
    <em>Profile(s)</em>: 
  
    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition-problems-health-concerns
    <br/>        
  
   
   
    <em>Must Support Elements</em>: code, clinicalStatus, verificationStatus, onset
    <br/>
   
  
    <em>Code Filter(s)</em>: 
    <br/>
  
  
    <span class="tab-one"><em>Path</em>: code</span>
    <br/>
  
  
  
    <span class="tab-one"><em>ValueSet</em>:</span> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.279
    <br/> 
  
  
  
   
  </td>
</tr>

<tr>
  <th scope="row" class="row-header">Data Requirement</th>
  <td class="content-container">
    <em>Type</em>: Observation
    <br/>
  
    <em>Profile(s)</em>: 
  
    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-simple-observation
    <br/>        
  
   
   
    <em>Must Support Elements</em>: code, value, status, status.value, id, id.value, effective
    <br/>
   
  
    <em>Code Filter(s)</em>: 
    <br/>
  
  
    <span class="tab-one"><em>Path</em>: code</span>
    <br/>
  
  
  
  
    <span class="tab-one"><em>Code(s)</em>: 
    
      
      http://loinc.org#72136-5: 'Risk for venous thromboembolism'
      
    
    </span>
    <br/>
  
  
   
  </td>
</tr>

<tr>
  <th scope="row" class="row-header">Data Requirement</th>
  <td class="content-container">
    <em>Type</em>: Observation
    <br/>
  
    <em>Profile(s)</em>: 
  
    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation-lab
    <br/>        
  
   
   
    <em>Must Support Elements</em>: code, value, status, status.value, id, id.value, issued, issued.value
    <br/>
   
  
    <em>Code Filter(s)</em>: 
    <br/>
  
  
    <span class="tab-one"><em>Path</em>: code</span>
    <br/>
  
  
  
    <span class="tab-one"><em>ValueSet</em>:</span> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.213
    <br/> 
  
  
  
   
  </td>
</tr>

<tr>
  <th scope="row" class="row-header">Data Requirement</th>
  <td class="content-container">
    <em>Type</em>: MedicationAdministration
    <br/>
  
    <em>Profile(s)</em>: 
  
    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationadministrationnotdone
    <br/>        
  
   
   
    <em>Must Support Elements</em>: medication, id, id.value, statusReason, extension
    <br/>
   
  
    <em>Code Filter(s)</em>: 
    <br/>
  
  
    <span class="tab-one"><em>Path</em>: medication</span>
    <br/>
  
  
  
    <span class="tab-one"><em>ValueSet</em>:</span> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.39
    <br/> 
  
  
  
   
  </td>
</tr>

<tr>
  <th scope="row" class="row-header">Data Requirement</th>
  <td class="content-container">
    <em>Type</em>: MedicationAdministration
    <br/>
  
    <em>Profile(s)</em>: 
  
    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationadministrationnotdone
    <br/>        
  
   
   
    <em>Must Support Elements</em>: medication, id, id.value, statusReason, extension
    <br/>
   
  
    <em>Code Filter(s)</em>: 
    <br/>
  
  
    <span class="tab-one"><em>Path</em>: medication</span>
    <br/>
  
  
  
    <span class="tab-one"><em>ValueSet</em>:</span> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.219
    <br/> 
  
  
  
   
  </td>
</tr>

<tr>
  <th scope="row" class="row-header">Data Requirement</th>
  <td class="content-container">
    <em>Type</em>: MedicationAdministration
    <br/>
  
    <em>Profile(s)</em>: 
  
    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationadministrationnotdone
    <br/>        
  
   
   
    <em>Must Support Elements</em>: medication, id, id.value, statusReason, extension
    <br/>
   
  
    <em>Code Filter(s)</em>: 
    <br/>
  
  
    <span class="tab-one"><em>Path</em>: medication</span>
    <br/>
  
  
  
    <span class="tab-one"><em>ValueSet</em>:</span> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.211
    <br/> 
  
  
  
   
  </td>
</tr>

<tr>
  <th scope="row" class="row-header">Data Requirement</th>
  <td class="content-container">
    <em>Type</em>: MedicationAdministration
    <br/>
  
    <em>Profile(s)</em>: 
  
    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationadministrationnotdone
    <br/>        
  
   
   
    <em>Must Support Elements</em>: medication, id, id.value, statusReason, extension
    <br/>
   
  
    <em>Code Filter(s)</em>: 
    <br/>
  
  
    <span class="tab-one"><em>Path</em>: medication</span>
    <br/>
  
  
  
    <span class="tab-one"><em>ValueSet</em>:</span> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.232
    <br/> 
  
  
  
   
  </td>
</tr>

<tr>
  <th scope="row" class="row-header">Data Requirement</th>
  <td class="content-container">
    <em>Type</em>: MedicationAdministration
    <br/>
  
    <em>Profile(s)</em>: 
  
    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationadministrationnotdone
    <br/>        
  
   
   
    <em>Must Support Elements</em>: medication, id, id.value, statusReason, extension
    <br/>
   
  
    <em>Code Filter(s)</em>: 
    <br/>
  
  
    <span class="tab-one"><em>Path</em>: medication</span>
    <br/>
  
  
  
    <span class="tab-one"><em>ValueSet</em>:</span> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.50
    <br/> 
  
  
  
   
  </td>
</tr>

<tr>
  <th scope="row" class="row-header">Data Requirement</th>
  <td class="content-container">
    <em>Type</em>: MedicationRequest
    <br/>
  
    <em>Profile(s)</em>: 
  
    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationnotrequested
    <br/>        
  
   
   
    <em>Must Support Elements</em>: medication, intent, intent.value, id, id.value, reasonCode, authoredOn, authoredOn.value
    <br/>
   
  
    <em>Code Filter(s)</em>: 
    <br/>
  
  
    <span class="tab-one"><em>Path</em>: medication</span>
    <br/>
  
  
  
    <span class="tab-one"><em>ValueSet</em>:</span> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.39
    <br/> 
  
  
  
   
  </td>
</tr>

<tr>
  <th scope="row" class="row-header">Data Requirement</th>
  <td class="content-container">
    <em>Type</em>: MedicationRequest
    <br/>
  
    <em>Profile(s)</em>: 
  
    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationnotrequested
    <br/>        
  
   
   
    <em>Must Support Elements</em>: medication, intent, intent.value, id, id.value, reasonCode, authoredOn, authoredOn.value
    <br/>
   
  
    <em>Code Filter(s)</em>: 
    <br/>
  
  
    <span class="tab-one"><em>Path</em>: medication</span>
    <br/>
  
  
  
    <span class="tab-one"><em>ValueSet</em>:</span> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.219
    <br/> 
  
  
  
   
  </td>
</tr>

<tr>
  <th scope="row" class="row-header">Data Requirement</th>
  <td class="content-container">
    <em>Type</em>: MedicationRequest
    <br/>
  
    <em>Profile(s)</em>: 
  
    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationnotrequested
    <br/>        
  
   
   
    <em>Must Support Elements</em>: medication, intent, intent.value, id, id.value, reasonCode, authoredOn, authoredOn.value
    <br/>
   
  
    <em>Code Filter(s)</em>: 
    <br/>
  
  
    <span class="tab-one"><em>Path</em>: medication</span>
    <br/>
  
  
  
    <span class="tab-one"><em>ValueSet</em>:</span> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.211
    <br/> 
  
  
  
   
  </td>
</tr>

<tr>
  <th scope="row" class="row-header">Data Requirement</th>
  <td class="content-container">
    <em>Type</em>: MedicationRequest
    <br/>
  
    <em>Profile(s)</em>: 
  
    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationnotrequested
    <br/>        
  
   
   
    <em>Must Support Elements</em>: medication, intent, intent.value, id, id.value, reasonCode, authoredOn, authoredOn.value
    <br/>
   
  
    <em>Code Filter(s)</em>: 
    <br/>
  
  
    <span class="tab-one"><em>Path</em>: medication</span>
    <br/>
  
  
  
    <span class="tab-one"><em>ValueSet</em>:</span> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.232
    <br/> 
  
  
  
   
  </td>
</tr>

<tr>
  <th scope="row" class="row-header">Data Requirement</th>
  <td class="content-container">
    <em>Type</em>: MedicationRequest
    <br/>
  
    <em>Profile(s)</em>: 
  
    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationnotrequested
    <br/>        
  
   
   
    <em>Must Support Elements</em>: medication, intent, intent.value, id, id.value, reasonCode, authoredOn, authoredOn.value
    <br/>
   
  
    <em>Code Filter(s)</em>: 
    <br/>
  
  
    <span class="tab-one"><em>Path</em>: medication</span>
    <br/>
  
  
  
    <span class="tab-one"><em>ValueSet</em>:</span> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.50
    <br/> 
  
  
  
   
  </td>
</tr>

<tr>
  <th scope="row" class="row-header">Data Requirement</th>
  <td class="content-container">
    <em>Type</em>: MedicationRequest
    <br/>
  
    <em>Profile(s)</em>: 
  
    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationrequest
    <br/>        
  
   
   
    <em>Must Support Elements</em>: medication, status, status.value, id, id.value, authoredOn, authoredOn.value
    <br/>
   
  
    <em>Code Filter(s)</em>: 
    <br/>
  
  
    <span class="tab-one"><em>Path</em>: medication</span>
    <br/>
  
  
  
    <span class="tab-one"><em>ValueSet</em>:</span> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.39
    <br/> 
  
  
  
   
  </td>
</tr>

<tr>
  <th scope="row" class="row-header">Data Requirement</th>
  <td class="content-container">
    <em>Type</em>: MedicationRequest
    <br/>
  
    <em>Profile(s)</em>: 
  
    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationrequest
    <br/>        
  
   
   
    <em>Must Support Elements</em>: medication, status, status.value, id, id.value, authoredOn, authoredOn.value
    <br/>
   
  
    <em>Code Filter(s)</em>: 
    <br/>
  
  
    <span class="tab-one"><em>Path</em>: medication</span>
    <br/>
  
  
  
    <span class="tab-one"><em>ValueSet</em>:</span> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.219
    <br/> 
  
  
  
   
  </td>
</tr>

<tr>
  <th scope="row" class="row-header">Data Requirement</th>
  <td class="content-container">
    <em>Type</em>: MedicationRequest
    <br/>
  
    <em>Profile(s)</em>: 
  
    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationrequest
    <br/>        
  
   
   
    <em>Must Support Elements</em>: medication, status, status.value, id, id.value, authoredOn, authoredOn.value
    <br/>
   
  
    <em>Code Filter(s)</em>: 
    <br/>
  
  
    <span class="tab-one"><em>Path</em>: medication</span>
    <br/>
  
  
  
    <span class="tab-one"><em>ValueSet</em>:</span> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.211
    <br/> 
  
  
  
   
  </td>
</tr>

<tr>
  <th scope="row" class="row-header">Data Requirement</th>
  <td class="content-container">
    <em>Type</em>: MedicationRequest
    <br/>
  
    <em>Profile(s)</em>: 
  
    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationrequest
    <br/>        
  
   
   
    <em>Must Support Elements</em>: medication, status, status.value, id, id.value, authoredOn, authoredOn.value
    <br/>
   
  
    <em>Code Filter(s)</em>: 
    <br/>
  
  
    <span class="tab-one"><em>Path</em>: medication</span>
    <br/>
  
  
  
    <span class="tab-one"><em>ValueSet</em>:</span> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.232
    <br/> 
  
  
  
   
  </td>
</tr>

<tr>
  <th scope="row" class="row-header">Data Requirement</th>
  <td class="content-container">
    <em>Type</em>: MedicationRequest
    <br/>
  
    <em>Profile(s)</em>: 
  
    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationrequest
    <br/>        
  
   
   
    <em>Must Support Elements</em>: medication, status, status.value, id, id.value, authoredOn, authoredOn.value
    <br/>
   
  
    <em>Code Filter(s)</em>: 
    <br/>
  
  
    <span class="tab-one"><em>Path</em>: medication</span>
    <br/>
  
  
  
    <span class="tab-one"><em>ValueSet</em>:</span> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.50
    <br/> 
  
  
  
   
  </td>
</tr>

<tr>
  <th scope="row" class="row-header">Data Requirement</th>
  <td class="content-container">
    <em>Type</em>: MedicationRequest
    <br/>
  
    <em>Profile(s)</em>: 
  
    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationrequest
    <br/>        
  
   
   
    <em>Must Support Elements</em>: medication.reference.value, status, status.value, id, id.value, authoredOn, authoredOn.value
    <br/>
   
   
  </td>
</tr>

<tr>
  <th scope="row" class="row-header">Data Requirement</th>
  <td class="content-container">
    <em>Type</em>: Medication
    <br/>
  
    <em>Profile(s)</em>: 
  
    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medication
    <br/>        
  
   
   
    <em>Must Support Elements</em>: id.value, code
    <br/>
   
   
  </td>
</tr>

<tr>
  <th scope="row" class="row-header">Data Requirement</th>
  <td class="content-container">
    <em>Type</em>: Task
    <br/>
  
    <em>Profile(s)</em>: 
  
    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-taskrejected
    <br/>        
  
   
   
    <em>Must Support Elements</em>: focus, code, statusReason
    <br/>
   
   
  </td>
</tr>

<tr>
  <th scope="row" class="row-header">Data Requirement</th>
  <td class="content-container">
    <em>Type</em>: ServiceRequest
    <br/>
  
    <em>Profile(s)</em>: 
  
    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-servicenotrequested
    <br/>        
  
   
   
    <em>Must Support Elements</em>: code, intent, intent.value, id, id.value, extension, authoredOn, authoredOn.value
    <br/>
   
  
    <em>Code Filter(s)</em>: 
    <br/>
  
  
    <span class="tab-one"><em>Path</em>: code</span>
    <br/>
  
  
  
    <span class="tab-one"><em>ValueSet</em>:</span> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.230
    <br/> 
  
  
  
   
  </td>
</tr>

<tr>
  <th scope="row" class="row-header">Data Requirement</th>
  <td class="content-container">
    <em>Type</em>: ServiceRequest
    <br/>
  
    <em>Profile(s)</em>: 
  
    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-servicenotrequested
    <br/>        
  
   
   
    <em>Must Support Elements</em>: code, intent, intent.value, id, id.value, extension, authoredOn, authoredOn.value
    <br/>
   
  
    <em>Code Filter(s)</em>: 
    <br/>
  
  
    <span class="tab-one"><em>Path</em>: code</span>
    <br/>
  
  
  
    <span class="tab-one"><em>ValueSet</em>:</span> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.214
    <br/> 
  
  
  
   
  </td>
</tr>

<tr>
  <th scope="row" class="row-header">Data Requirement</th>
  <td class="content-container">
    <em>Type</em>: ServiceRequest
    <br/>
  
    <em>Profile(s)</em>: 
  
    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-servicenotrequested
    <br/>        
  
   
   
    <em>Must Support Elements</em>: code, intent, intent.value, id, id.value, extension, authoredOn, authoredOn.value
    <br/>
   
  
    <em>Code Filter(s)</em>: 
    <br/>
  
  
    <span class="tab-one"><em>Path</em>: code</span>
    <br/>
  
  
  
    <span class="tab-one"><em>ValueSet</em>:</span> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.256
    <br/> 
  
  
  
   
  </td>
</tr>

<tr>
  <th scope="row" class="row-header">Data Requirement</th>
  <td class="content-container">
    <em>Type</em>: ServiceRequest
    <br/>
  
    <em>Profile(s)</em>: 
  
    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-servicerequest
    <br/>        
  
   
   
    <em>Must Support Elements</em>: code, intent, intent.value, status, status.value, id, id.value, authoredOn, authoredOn.value
    <br/>
   
  
    <em>Code Filter(s)</em>: 
    <br/>
  
  
    <span class="tab-one"><em>Path</em>: code</span>
    <br/>
  
  
  
    <span class="tab-one"><em>ValueSet</em>:</span> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.230
    <br/> 
  
  
  
   
  </td>
</tr>

<tr>
  <th scope="row" class="row-header">Data Requirement</th>
  <td class="content-container">
    <em>Type</em>: ServiceRequest
    <br/>
  
    <em>Profile(s)</em>: 
  
    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-servicerequest
    <br/>        
  
   
   
    <em>Must Support Elements</em>: code, intent, intent.value, status, status.value, id, id.value, authoredOn, authoredOn.value
    <br/>
   
  
    <em>Code Filter(s)</em>: 
    <br/>
  
  
    <span class="tab-one"><em>Path</em>: code</span>
    <br/>
  
  
  
    <span class="tab-one"><em>ValueSet</em>:</span> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.214
    <br/> 
  
  
  
   
  </td>
</tr>

<tr>
  <th scope="row" class="row-header">Data Requirement</th>
  <td class="content-container">
    <em>Type</em>: ServiceRequest
    <br/>
  
    <em>Profile(s)</em>: 
  
    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-servicerequest
    <br/>        
  
   
   
    <em>Must Support Elements</em>: code, intent, intent.value, status, status.value, id, id.value, authoredOn, authoredOn.value
    <br/>
   
  
    <em>Code Filter(s)</em>: 
    <br/>
  
  
    <span class="tab-one"><em>Path</em>: code</span>
    <br/>
  
  
  
    <span class="tab-one"><em>ValueSet</em>:</span> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.256
    <br/> 
  
  
  
   
  </td>
</tr>

<tr>
  <th scope="row" class="row-header">Data Requirement</th>
  <td class="content-container">
    <em>Type</em>: ServiceRequest
    <br/>
  
    <em>Profile(s)</em>: 
  
    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-servicerequest
    <br/>        
  
   
   
    <em>Must Support Elements</em>: code, intent, intent.value, status, status.value, id, id.value, authoredOn, authoredOn.value
    <br/>
   
  
    <em>Code Filter(s)</em>: 
    <br/>
  
  
    <span class="tab-one"><em>Path</em>: code</span>
    <br/>
  
  
  
    <span class="tab-one"><em>ValueSet</em>:</span> http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45
    <br/> 
  
  
  
   
  </td>
</tr>

<tr>
  <th scope="row" class="row-header">Data Requirement</th>
  <td class="content-container">
    <em>Type</em>: Procedure
    <br/>
  
    <em>Profile(s)</em>: 
  
    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedurenotdone
    <br/>        
  
   
   
    <em>Must Support Elements</em>: code, extension, id, id.value, statusReason
    <br/>
   
  
    <em>Code Filter(s)</em>: 
    <br/>
  
  
    <span class="tab-one"><em>Path</em>: code</span>
    <br/>
  
  
  
    <span class="tab-one"><em>ValueSet</em>:</span> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.65
    <br/> 
  
  
  
   
  </td>
</tr>

<tr>
  <th scope="row" class="row-header">Data Requirement</th>
  <td class="content-container">
    <em>Type</em>: Procedure
    <br/>
  
    <em>Profile(s)</em>: 
  
    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedurenotdone
    <br/>        
  
   
   
    <em>Must Support Elements</em>: code, extension, id, id.value, statusReason
    <br/>
   
  
    <em>Code Filter(s)</em>: 
    <br/>
  
  
    <span class="tab-one"><em>Path</em>: code</span>
    <br/>
  
  
  
    <span class="tab-one"><em>ValueSet</em>:</span> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.64
    <br/> 
  
  
  
   
  </td>
</tr>

<tr>
  <th scope="row" class="row-header">Data Requirement</th>
  <td class="content-container">
    <em>Type</em>: Procedure
    <br/>
  
    <em>Profile(s)</em>: 
  
    http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedurenotdone
    <br/>        
  
   
   
    <em>Must Support Elements</em>: code, extension, id, id.value, statusReason
    <br/>
   
  
    <em>Code Filter(s)</em>: 
    <br/>
  
  
    <span class="tab-one"><em>Path</em>: code</span>
    <br/>
  
  
  
    <span class="tab-one"><em>ValueSet</em>:</span> http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.66
    <br/> 
  
  
  
   
  </td>
</tr>



  <tr>

<th colspan="2" scope="row" class="row-header">Library Content</th>

</tr>
  
    
    <tr>
      <th scope="row" class="row-header">CQL Content</th>
      <td>
        <pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">library CMS190VTEProphylaxisICUFHIR version '0.3.001'

using QICore version '6.0.0'

include CQMCommon version '4.1.000' called CQMCommon
include QICoreCommon version '4.0.000' called QICoreCommon
include FHIRHelpers version '4.4.000' called FHIRHelpers
include SupplementalDataElements version '5.1.000' called SDE
include TJCOverall version '8.23.000' called TJC
include VTE version '8.18.000' called VTE

codesystem &quot;LOINC&quot;: 'http://loinc.org'

code &quot;Risk for venous thromboembolism&quot;: '72136-5' from &quot;LOINC&quot; display 'Risk for venous thromboembolism'

valueset &quot;Application of Graduated Compression Stockings&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.66'
valueset &quot;Application of Intermittent Pneumatic Compression Devices&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.65'
valueset &quot;Application of Venous Foot Pumps&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.64'
valueset &quot;Atrial Fibrillation or Flutter&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.202'
valueset &quot;Comfort Measures&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45'
valueset &quot;Direct Thrombin Inhibitor&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.205'
valueset &quot;General or Neuraxial Anesthesia&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743'
valueset &quot;General Surgery&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.255'
valueset &quot;Glycoprotein IIb IIIa Inhibitors&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.41'
valueset &quot;Graduated compression stockings&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.256'
valueset &quot;Gynecological Surgery&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.257'
valueset &quot;Hip Fracture Surgery&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.258'
valueset &quot;Hip Replacement Surgery&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.259'
valueset &quot;Injectable Factor Xa Inhibitor for VTE Prophylaxis&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.211'
valueset &quot;INR&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.213'
valueset &quot;Intensive Care Unit&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1029.206'
valueset &quot;Intermittent pneumatic compression devices&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.214'
valueset &quot;Intracranial Neurosurgery&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.260'
valueset &quot;Intravenous route&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.222'
valueset &quot;Knee Replacement Surgery&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.261'
valueset &quot;Low Dose Unfractionated Heparin for VTE Prophylaxis&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.39'
valueset &quot;Low Molecular Weight Heparin for VTE Prophylaxis&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.219'
valueset &quot;Low Risk&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.400'
valueset &quot;Medical Reason For Not Providing Treatment&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.473'
valueset &quot;Oral Factor Xa Inhibitor for VTE Prophylaxis or VTE Treatment&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.134'
valueset &quot;Patient Refusal&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.93'
valueset &quot;Rivaroxaban for VTE Prophylaxis&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.50'
valueset &quot;Subcutaneous route&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.223'
valueset &quot;Unfractionated Heparin&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.218'
valueset &quot;Urological Surgery&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.272'
valueset &quot;Venous foot pumps&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.230'
valueset &quot;Venous Thromboembolism&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.279'
valueset &quot;Warfarin&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.232'

parameter &quot;Measurement Period&quot; Interval&lt;DateTime&gt;

context Patient

define &quot;SDE Ethnicity&quot;:
  SDE.&quot;SDE Ethnicity&quot;

define &quot;SDE Payer&quot;:
  SDE.&quot;SDE Payer&quot;

define &quot;SDE Race&quot;:
  SDE.&quot;SDE Race&quot;

define &quot;SDE Sex&quot;:
  SDE.&quot;SDE Sex&quot;

define &quot;Initial Population&quot;:
  VTE.&quot;Encounter With Age Range And Without VTE Diagnosis Or Obstetrical Conditions&quot;

define &quot;Denominator&quot;:
  &quot;Encounter With ICU Location&quot;

define &quot;Encounter With ICU Location&quot;:
  VTE.&quot;Encounter With Age Range And Without VTE Diagnosis Or Obstetrical Conditions&quot; QualifyingEncounter
    where exists ( QualifyingEncounter.location Location
        where Location.location.getLocation ( ).type in &quot;Intensive Care Unit&quot;
          and Location.period during QualifyingEncounter.period
    )

define &quot;Denominator Exclusions&quot;:
  &quot;Encounter With ICU Location And Encounter Less Than 2 Days&quot;
    union &quot;Encounter With First ICU Stay With Principal Procedure Of Selected Surgery&quot;
    union &quot;Encounter With Intervention Comfort Measures From Day Of Start Of Hospitalization To Day After First ICU Stay&quot;
    union &quot;Encounter With Intervention Comfort Measures On Day Of Or Day After Procedure&quot;

define &quot;Encounter With ICU Location And Encounter Less Than 2 Days&quot;:
  &quot;Encounter With ICU Location&quot; QualifyingEncounterICU
    where QualifyingEncounterICU.period.lengthInDays ( ) &lt; 2

define &quot;Encounter With First ICU Stay With Principal Procedure Of Selected Surgery&quot;:
  &quot;Encounter With ICU Location&quot; QualifyingEncounterICU
    where QualifyingEncounterICU.hasPrincipalProcedureOf ( &quot;General Surgery&quot; )
      or QualifyingEncounterICU.hasPrincipalProcedureOf ( &quot;Gynecological Surgery&quot; )
      or QualifyingEncounterICU.hasPrincipalProcedureOf ( &quot;Hip Fracture Surgery&quot; )
      or QualifyingEncounterICU.hasPrincipalProcedureOf ( &quot;Hip Replacement Surgery&quot; )
      or QualifyingEncounterICU.hasPrincipalProcedureOf ( &quot;Intracranial Neurosurgery&quot; )
      or QualifyingEncounterICU.hasPrincipalProcedureOf ( &quot;Knee Replacement Surgery&quot; )
      or QualifyingEncounterICU.hasPrincipalProcedureOf ( &quot;Urological Surgery&quot; )

define &quot;Encounter With Intervention Comfort Measures From Day Of Start Of Hospitalization To Day After First ICU Stay&quot;:
  &quot;Encounter With ICU Location&quot; QualifyingEncounterICU
    with &quot;Intervention Comfort Measures&quot; ComfortMeasure
      such that Coalesce(start of ComfortMeasure.performed.toInterval(), ComfortMeasure.authoredOn) during day of QualifyingEncounterICU.fromDayOfStartOfHospitalizationToDayAfterFirstICU ( )

define &quot;Intervention Comfort Measures&quot;:
  ( [&quot;ServiceRequest&quot;: &quot;Comfort Measures&quot;] InterventionRequest
      where InterventionRequest.intent in { 'order', 'original-order', 'reflex-order', 'filler-order', 'instance-order' }
        and InterventionRequest.status in { 'active', 'on-hold', 'completed' }
  )
    union ( [&quot;Procedure&quot;: &quot;Comfort Measures&quot;] InterventionPerformed
        where InterventionPerformed.status in { 'completed', 'in-progress' }
    )

define &quot;Encounter With Intervention Comfort Measures On Day Of Or Day After Procedure&quot;:
  from
    &quot;Encounter With ICU Location&quot; QualifyingEncounterICU,
    [&quot;Procedure&quot;: &quot;General or Neuraxial Anesthesia&quot;] AnesthesiaProcedure,
    &quot;Intervention Comfort Measures&quot; ComfortMeasure
    where AnesthesiaProcedure.status = 'completed'
      and AnesthesiaProcedure.performed.toInterval ( ) ends 1 day after day of QualifyingEncounterICU.startOfFirstICU ( )
      and Coalesce(start of ComfortMeasure.performed.toInterval(), ComfortMeasure.authoredOn) during day of ( end of AnesthesiaProcedure.performed.toInterval ( ) ).CalendarDayOfOrDayAfter ( )
    return QualifyingEncounterICU

define &quot;Numerator&quot;:
  &quot;Encounter With VTE Prophylaxis Received On Day Of Or Day After First ICU Stay Or Procedure&quot;
    union ( &quot;Encounter With Medication Oral Factor Xa Inhibitor Administered On Day Of Or Day After First ICU Stay Or Procedure&quot;
        intersect ( &quot;Encounter With Prior Or Present Diagnosis Of Atrial Fibrillation Or Prior Diagnosis Of VTE&quot;
            union &quot;Encounter With Prior Or Present Procedure Of Hip Or Knee Replacement Surgery&quot;
        )
    )
    union &quot;Encounter With Low Risk For VTE Or Anticoagulant Administered&quot;
    union &quot;Encounter With No VTE Prophylaxis Due To Medical Reason&quot;
    union &quot;Encounter With No VTE Prophylaxis Due To Patient Refusal&quot;

define &quot;Pharmacological Or Mechanical VTE Prophylaxis Received&quot;:
  ( [&quot;MedicationAdministration&quot;: medication in &quot;Low Dose Unfractionated Heparin for VTE Prophylaxis&quot;] VTEMedication
      where VTEMedication.status = 'completed'
        and VTEMedication.dosage.route in &quot;Subcutaneous route&quot;
  )
    union ( [&quot;MedicationAdministration&quot;: medication in &quot;Low Molecular Weight Heparin for VTE Prophylaxis&quot;] LMWH
        where LMWH.status = 'completed'
    )
    union ( [&quot;MedicationAdministration&quot;: medication in &quot;Injectable Factor Xa Inhibitor for VTE Prophylaxis&quot;] FactorXa
        where FactorXa.status = 'completed'
    )
    union ( [&quot;MedicationAdministration&quot;: medication in &quot;Warfarin&quot;] WarfarinAdm
        where WarfarinAdm.status = 'completed'
    )
    union ( [&quot;MedicationAdministration&quot;: medication in &quot;Rivaroxaban for VTE Prophylaxis&quot;] Rivaroxaban
        where Rivaroxaban.status = 'completed'
    )
    union ( ( [&quot;Procedure&quot;: &quot;Application of Intermittent Pneumatic Compression Devices&quot;]
        union [&quot;Procedure&quot;: &quot;Application of Venous Foot Pumps&quot;]
        union [&quot;Procedure&quot;: &quot;Application of Graduated Compression Stockings&quot;] ) DeviceApplied
        where DeviceApplied.status = 'completed'
    )

define &quot;Encounter With VTE Prophylaxis Received On Day Of Or Day After First ICU Stay Or Procedure&quot;:
  ( &quot;Encounter With ICU Location&quot; QualifyingEncounterICU
      with &quot;Pharmacological Or Mechanical VTE Prophylaxis Received&quot; VTEProphylaxis
        such that start of Coalesce(VTEProphylaxis.effective.toInterval(), VTEProphylaxis.performed.toInterval()) during day of QualifyingEncounterICU.startOfFirstICU ( ).CalendarDayOfOrDayAfter ( )
  )
    union ( from
        &quot;Encounter With ICU Location&quot; QualifyingEncounterICU,
        [&quot;Procedure&quot;: &quot;General or Neuraxial Anesthesia&quot;] AnesthesiaProcedure,
        &quot;Pharmacological Or Mechanical VTE Prophylaxis Received&quot; VTEProphylaxis
        where AnesthesiaProcedure.status = 'completed'
          and AnesthesiaProcedure.performed.toInterval ( ) ends 1 day after day of QualifyingEncounterICU.startOfFirstICU ( )
          and start of Coalesce(VTEProphylaxis.effective.toInterval(), VTEProphylaxis.performed.toInterval()) during day of ( end of AnesthesiaProcedure.performed.toInterval ( ) ).CalendarDayOfOrDayAfter ( )
        return QualifyingEncounterICU
    )

define &quot;Encounter With Medication Oral Factor Xa Inhibitor Administered On Day Of Or Day After First ICU Stay Or Procedure&quot;:
  ( &quot;Encounter With ICU Location&quot; QualifyingEncounterICU
      with [&quot;MedicationAdministration&quot;: medication in &quot;Oral Factor Xa Inhibitor for VTE Prophylaxis or VTE Treatment&quot;] FactorXaMedication
        such that FactorXaMedication.status = 'completed'
          and FactorXaMedication.effective.toInterval ( ) starts during day of QualifyingEncounterICU.startOfFirstICU ( ).CalendarDayOfOrDayAfter ( )
  )
    union ( from
        &quot;Encounter With ICU Location&quot; QualifyingEncounterICU,
        [&quot;Procedure&quot;: &quot;General or Neuraxial Anesthesia&quot;] AnesthesiaProcedure,
        [&quot;MedicationAdministration&quot;: medication in &quot;Oral Factor Xa Inhibitor for VTE Prophylaxis or VTE Treatment&quot;] FactorXaMedication
        where FactorXaMedication.status = 'completed'
          and AnesthesiaProcedure.status = 'completed'
          and AnesthesiaProcedure.performed.toInterval ( ) ends 1 day after day of QualifyingEncounterICU.startOfFirstICU ( )
          and FactorXaMedication.effective.toInterval ( ) starts during day of ( end of AnesthesiaProcedure.performed.toInterval ( ) ).CalendarDayOfOrDayAfter ( )
        return QualifyingEncounterICU
    )

define &quot;Encounter With Prior Or Present Diagnosis Of Atrial Fibrillation Or Prior Diagnosis Of VTE&quot;:
  ( &quot;Encounter With ICU Location&quot; QualifyingEncounterICU
      with [&quot;ConditionProblemsHealthConcerns&quot;: &quot;Atrial Fibrillation or Flutter&quot;] AtrialFibrillation
        such that  // CQMCOmmon new function isVerified() will be used to replace the following verificationStatus logic
        AtrialFibrillation.verificationStatus is not null implies ( AtrialFibrillation.verificationStatus !~ QICoreCommon.&quot;refuted&quot;
            and AtrialFibrillation.verificationStatus !~ QICoreCommon.&quot;entered-in-error&quot;
        )
          and AtrialFibrillation.onset.toInterval ( ) starts on or before end of QualifyingEncounterICU.period
  )
    union ( &quot;Encounter With ICU Location&quot; QualifyingEncounterICU
        where QualifyingEncounterICU.hasEncDiagnosisOf ( &quot;Atrial Fibrillation or Flutter&quot; )
    )
    union ( &quot;Encounter With ICU Location&quot; QualifyingEncounterICU
        with [&quot;ConditionProblemsHealthConcerns&quot;: &quot;Venous Thromboembolism&quot;] VTEDiagnosis
          such that ( VTEDiagnosis.clinicalStatus ~ QICoreCommon.&quot;inactive&quot;
              or VTEDiagnosis.clinicalStatus ~ QICoreCommon.&quot;remission&quot;
              or VTEDiagnosis.clinicalStatus ~ QICoreCommon.&quot;resolved&quot;
          ) // CQMCOmmon new function isVerified() will be used to replace the following verificationStatus logic
            
            and VTEDiagnosis.verificationStatus is not null implies ( VTEDiagnosis.verificationStatus !~ QICoreCommon.&quot;refuted&quot;
              and VTEDiagnosis.verificationStatus !~ QICoreCommon.&quot;entered-in-error&quot;
          )
            and VTEDiagnosis.onset.toInterval ( ) before start of QualifyingEncounterICU.period
    )

define &quot;Encounter With Prior Or Present Procedure Of Hip Or Knee Replacement Surgery&quot;:
  &quot;Encounter With ICU Location&quot; QualifyingEncounterICU
    with ( [&quot;Procedure&quot;: &quot;Hip Replacement Surgery&quot;]
      union [&quot;Procedure&quot;: &quot;Knee Replacement Surgery&quot;] ) HipKneeProcedure
      such that HipKneeProcedure.status = 'completed'
        and HipKneeProcedure.performed.toInterval ( ) starts on or before end of QualifyingEncounterICU.period

define &quot;Encounter With Low Risk For VTE Or Anticoagulant Administered&quot;:
  &quot;Low Risk For VTE Or Anticoagulant Administered From Day Of Start Of Hospitalization To Day After First ICU Stay&quot;
    union &quot;Low Risk For VTE Or Anticoagulant Administered On Day Of Or Day After Procedure&quot;

define &quot;Low Risk Indicator For VTE&quot;:
  ( [&quot;SimpleObservation&quot;: &quot;Risk for venous thromboembolism&quot;] VTERiskAssessment
      where VTERiskAssessment.value as Concept in &quot;Low Risk&quot;
        and VTERiskAssessment.status in { 'final', 'amended', 'corrected' }
      return {
        id: VTERiskAssessment.id,
        LowRiskDatetime: VTERiskAssessment.effective.earliest ( )
      }
  )
    union ( [&quot;LaboratoryResultObservation&quot;: &quot;INR&quot;] INRLabTest
        where INRLabTest.value as Quantity &gt; 3.0
          and INRLabTest.status in { 'final', 'amended', 'corrected' }
        return {
          id: INRLabTest.id,
          LowRiskDatetime: INRLabTest.issued
        }
    )
    union ( ( ( [&quot;MedicationAdministration&quot;: medication in &quot;Unfractionated Heparin&quot;] UnfractionatedHeparin
          where UnfractionatedHeparin.dosage.route in &quot;Intravenous route&quot;
      )
        union [&quot;MedicationAdministration&quot;: medication in &quot;Direct Thrombin Inhibitor&quot;]
        union [&quot;MedicationAdministration&quot;: medication in &quot;Glycoprotein IIb IIIa Inhibitors&quot;] ) AnticoagulantMedication
        where AnticoagulantMedication.status = 'completed'
        return {
          id: AnticoagulantMedication.id,
          LowRiskDatetime: start of AnticoagulantMedication.effective.toInterval ( )
        }
    )

define &quot;Low Risk For VTE Or Anticoagulant Administered From Day Of Start Of Hospitalization To Day After First ICU Stay&quot;:
  &quot;Encounter With ICU Location&quot; QualifyingEncounterICU
    with &quot;Low Risk Indicator For VTE&quot; LowRiskForVTE
      such that LowRiskForVTE.LowRiskDatetime during day of QualifyingEncounterICU.fromDayOfStartOfHospitalizationToDayAfterFirstICU ( )

define &quot;Low Risk For VTE Or Anticoagulant Administered On Day Of Or Day After Procedure&quot;:
  from
    &quot;Encounter With ICU Location&quot; QualifyingEncounterICU,
    [&quot;Procedure&quot;: &quot;General or Neuraxial Anesthesia&quot;] AnesthesiaProcedure,
    &quot;Low Risk Indicator For VTE&quot; LowRiskForVTE
    where AnesthesiaProcedure.status = 'completed'
      and AnesthesiaProcedure.performed.toInterval ( ) ends 1 day after day of QualifyingEncounterICU.startOfFirstICU ( )
      and LowRiskForVTE.LowRiskDatetime during day of ( end of AnesthesiaProcedure.performed.toInterval ( ) ).CalendarDayOfOrDayAfter ( )
    return QualifyingEncounterICU

define &quot;Encounter With No VTE Prophylaxis Due To Medical Reason&quot;:
  ( &quot;No VTE Prophylaxis Medication Due To Medical Reason From Day Of Start Of Hospitalization To Day After First ICU Stay&quot;
      intersect &quot;No Mechanical VTE Prophylaxis Due To Medical Reason From Day Of Start Of Hospitalization To Day After First ICU Stay&quot;
  )
    union ( &quot;No VTE Prophylaxis Medication Due To Medical Reason On Day Of Or Day After Procedure&quot;
        intersect &quot;No Mechanical VTE Prophylaxis Due To Medical Reason On Day Of Or Day After Procedure&quot;
    )

define &quot;No VTE Prophylaxis Medication Due To Medical Reason From Day Of Start Of Hospitalization To Day After First ICU Stay&quot;:
  &quot;Encounter With ICU Location&quot; QualifyingEncounterICU
    with &quot;No VTE Prophylaxis Medication Administered Or Ordered&quot; NoVTEMedication
      such that NoVTEMedication.medicationStatusReason in &quot;Medical Reason For Not Providing Treatment&quot;
        and NoVTEMedication.authoredOn during day of QualifyingEncounterICU.fromDayOfStartOfHospitalizationToDayAfterFirstICU ( )

define &quot;No VTE Prophylaxis Medication Administered Or Ordered&quot;:
  ( ( [MedicationAdministrationNotDone: &quot;Low Dose Unfractionated Heparin for VTE Prophylaxis&quot;]
      union [MedicationAdministrationNotDone: &quot;Low Molecular Weight Heparin for VTE Prophylaxis&quot;]
      union [MedicationAdministrationNotDone: &quot;Injectable Factor Xa Inhibitor for VTE Prophylaxis&quot;]
      union [MedicationAdministrationNotDone: &quot;Warfarin&quot;]
      union [MedicationAdministrationNotDone: &quot;Rivaroxaban for VTE Prophylaxis&quot;] ) NoMedicationAdm
      return {
        id: NoMedicationAdm.id,
        medicationStatusReason: NoMedicationAdm.statusReason,
        authoredOn: NoMedicationAdm.recorded
      }
  )
    union ( ( [&quot;MedicationNotRequested&quot;: &quot;Low Dose Unfractionated Heparin for VTE Prophylaxis&quot;]
        union [&quot;MedicationNotRequested&quot;: &quot;Low Molecular Weight Heparin for VTE Prophylaxis&quot;]
        union [&quot;MedicationNotRequested&quot;: &quot;Injectable Factor Xa Inhibitor for VTE Prophylaxis&quot;]
        union [&quot;MedicationNotRequested&quot;: &quot;Warfarin&quot;]
        union [&quot;MedicationNotRequested&quot;: &quot;Rivaroxaban for VTE Prophylaxis&quot;] ) NoMedicationOrder
        where NoMedicationOrder.intent in { 'order', 'original-order', 'reflex-order', 'filler-order', 'instance-order' }
        return {
          id: NoMedicationOrder.id,
          medicationStatusReason: NoMedicationOrder.reasonCode,
          authoredOn: NoMedicationOrder.authoredOn
        }
    )
    union ( from
        ( [&quot;MedicationRequest&quot;: &quot;Low Dose Unfractionated Heparin for VTE Prophylaxis&quot;]
          union [&quot;MedicationRequest&quot;: &quot;Low Molecular Weight Heparin for VTE Prophylaxis&quot;]
          union [&quot;MedicationRequest&quot;: &quot;Injectable Factor Xa Inhibitor for VTE Prophylaxis&quot;]
          union [&quot;MedicationRequest&quot;: &quot;Warfarin&quot;]
          union [&quot;MedicationRequest&quot;: &quot;Rivaroxaban for VTE Prophylaxis&quot;] ) MedicationOrderReject,
        [TaskRejected] T
        where T.focus.references ( MedicationOrderReject )
          and T.code ~ QICoreCommon.&quot;Fulfill&quot;
          and MedicationOrderReject.status = 'active'
        return {
          id: MedicationOrderReject.id,
          medicationStatusReason: { T.statusReason },
          authoredOn: MedicationOrderReject.authoredOn
        }
    )

define &quot;No Mechanical VTE Prophylaxis Due To Medical Reason From Day Of Start Of Hospitalization To Day After First ICU Stay&quot;:
  &quot;Encounter With ICU Location&quot; QualifyingEncounterICU
    with &quot;No Mechanical VTE Prophylaxis Performed Or Ordered&quot; NoVTEDevice
      such that NoVTEDevice.requestStatusReason in &quot;Medical Reason For Not Providing Treatment&quot;
        and NoVTEDevice.authoredOn during day of QualifyingEncounterICU.fromDayOfStartOfHospitalizationToDayAfterFirstICU ( )

define &quot;No Mechanical VTE Prophylaxis Performed Or Ordered&quot;:
  ( ( [ServiceNotRequested: &quot;Venous foot pumps&quot;]
      union [ServiceNotRequested: &quot;Intermittent pneumatic compression devices&quot;]
      union [ServiceNotRequested: &quot;Graduated compression stockings&quot;] ) DeviceNotOrder
      where DeviceNotOrder.intent in { 'order', 'original-order', 'reflex-order', 'filler-order', 'instance-order' }
      return {
        id: DeviceNotOrder.id,
        requestStatusReason: DeviceNotOrder.reasonRefused,
        authoredOn: DeviceNotOrder.authoredOn
      }
  )
    union ( from
        ( [ServiceRequest: &quot;Venous foot pumps&quot;]
          union [ServiceRequest: &quot;Intermittent pneumatic compression devices&quot;]
          union [ServiceRequest: &quot;Graduated compression stockings&quot;] ) DeviceOrderReject,
        [TaskRejected] T
        where DeviceOrderReject.intent in { 'order', 'original-order', 'reflex-order', 'filler-order', 'instance-order' }
          and DeviceOrderReject.status = 'active'
          and T.focus.references ( DeviceOrderReject )
          and T.code ~ QICoreCommon.&quot;Fulfill&quot;
        return {
          id: DeviceOrderReject.id,
          requestStatusReason: T.statusReason,
          authoredOn: DeviceOrderReject.authoredOn
        }
    )
    union ( ( [ProcedureNotDone: &quot;Application of Intermittent Pneumatic Compression Devices&quot;]
        union [ProcedureNotDone: &quot;Application of Venous Foot Pumps&quot;]
        union [ProcedureNotDone: &quot;Application of Graduated Compression Stockings&quot;] ) DeviceNotApplied
        let DeviceNotDoneTiming: DeviceNotApplied.recorded
        return {
          id: DeviceNotApplied.id,
          requestStatusReason: DeviceNotApplied.statusReason,
          authoredOn: DeviceNotDoneTiming
        }
    )

define &quot;No VTE Prophylaxis Medication Due To Medical Reason On Day Of Or Day After Procedure&quot;:
  from
    &quot;Encounter With ICU Location&quot; QualifyingEncounterICU,
    [&quot;Procedure&quot;: &quot;General or Neuraxial Anesthesia&quot;] AnesthesiaProcedure,
    &quot;No VTE Prophylaxis Medication Administered Or Ordered&quot; NoVTEMedication
    where NoVTEMedication.medicationStatusReason in &quot;Medical Reason For Not Providing Treatment&quot;
      and AnesthesiaProcedure.status = 'completed'
      and AnesthesiaProcedure.performed.toInterval ( ) ends 1 day after day of QualifyingEncounterICU.startOfFirstICU ( )
      and NoVTEMedication.authoredOn during day of ( end of AnesthesiaProcedure.performed.toInterval ( ) ).CalendarDayOfOrDayAfter ( )
    return QualifyingEncounterICU

define &quot;No Mechanical VTE Prophylaxis Due To Medical Reason On Day Of Or Day After Procedure&quot;:
  from
    &quot;Encounter With ICU Location&quot; QualifyingEncounterICU,
    [&quot;Procedure&quot;: &quot;General or Neuraxial Anesthesia&quot;] AnesthesiaProcedure,
    &quot;No Mechanical VTE Prophylaxis Performed Or Ordered&quot; NoVTEDevice
    where NoVTEDevice.requestStatusReason in &quot;Medical Reason For Not Providing Treatment&quot;
      and AnesthesiaProcedure.status = 'completed'
      and AnesthesiaProcedure.performed.toInterval ( ) ends 1 day after day of QualifyingEncounterICU.startOfFirstICU ( )
      and NoVTEDevice.authoredOn during day of ( end of AnesthesiaProcedure.performed.toInterval ( ) ).CalendarDayOfOrDayAfter ( )
    return QualifyingEncounterICU

define &quot;Encounter With No VTE Prophylaxis Due To Patient Refusal&quot;:
  &quot;No VTE Prophylaxis Due To Patient Refusal From Day Of Start Of Hospitalization To Day After First ICU Stay&quot;
    union &quot;No VTE Prophylaxis Due To Patient Refusal On Day Of Or Day After Procedure&quot;

define &quot;No VTE Prophylaxis Due To Patient Refusal From Day Of Start Of Hospitalization To Day After First ICU Stay&quot;:
  &quot;Encounter With ICU Location&quot; QualifyingEncounterICU
    with &quot;No Mechanical or Pharmacological VTE Prophylaxis Due To Patient Refusal&quot; PatientRefusal
      such that PatientRefusal.authoredOn during day of QualifyingEncounterICU.fromDayOfStartOfHospitalizationToDayAfterFirstICU ( )

define &quot;No VTE Prophylaxis Due To Patient Refusal On Day Of Or Day After Procedure&quot;:
  from
    &quot;Encounter With ICU Location&quot; QualifyingEncounterICU,
    [&quot;Procedure&quot;: &quot;General or Neuraxial Anesthesia&quot;] AnesthesiaProcedure,
    &quot;No Mechanical or Pharmacological VTE Prophylaxis Due To Patient Refusal&quot; PatientRefusal
    where AnesthesiaProcedure.status = 'completed'
      and AnesthesiaProcedure.performed.toInterval ( ) ends 1 day after day of QualifyingEncounterICU.startOfFirstICU ( )
      and PatientRefusal.authoredOn during day of ( end of AnesthesiaProcedure.performed.toInterval ( ) ).CalendarDayOfOrDayAfter ( )
    return QualifyingEncounterICU

define &quot;No Mechanical or Pharmacological VTE Prophylaxis Due To Patient Refusal&quot;:
  ( &quot;No VTE Prophylaxis Medication Administered Or Ordered&quot; NoVTEMedication
      where NoVTEMedication.medicationStatusReason in &quot;Patient Refusal&quot;
  )
    union ( &quot;No Mechanical VTE Prophylaxis Performed Or Ordered&quot; NoVTEDevice
        where NoVTEDevice.requestStatusReason in &quot;Patient Refusal&quot;
    )

define &quot;Denominator Exceptions&quot;:
  &quot;Encounter With First ICU Location Stay Less Than 1 day&quot;

define &quot;Encounter With First ICU Location Stay Less Than 1 day&quot;:
  &quot;Encounter With ICU Location&quot; QualifyingEncounterICU
    where QualifyingEncounterICU.firstInpatientIntensiveCareUnit ( ).period.lengthInDays ( ) &lt; 1

define fluent function &quot;startOfFirstICU&quot;(Encounter Encounter):
  start of Encounter.firstInpatientIntensiveCareUnit ( ).period

define fluent function &quot;fromDayOfStartOfHospitalizationToDayAfterFirstICU&quot;(Encounter Encounter):
  Interval[date from ( start of Encounter.hospitalizationWithObservation ( ) ), date from ( Encounter.startOfFirstICU ( ) ) + 1 day]</code></pre>
      </td>
    </tr>
    
    
    
  

<tr>
  <th colspan="2" scope="row" class="row-header">Generated using version 0.4.7 of the sample-content-ig Liquid templates</th>
</tr>

    </tbody>
  </table>
</div>
  </text>
  <contained>
    <Parameters>
      <id value="options"/>
      <parameter>
        <name value="translatorVersion"/>
        <valueString value="3.25.0"/>
      </parameter>
      <parameter>
        <name value="option"/>
        <valueString value="EnableAnnotations"/>
      </parameter>
      <parameter>
        <name value="option"/>
        <valueString value="EnableLocators"/>
      </parameter>
      <parameter>
        <name value="option"/>
        <valueString value="DisableListDemotion"/>
      </parameter>
      <parameter>
        <name value="option"/>
        <valueString value="DisableListPromotion"/>
      </parameter>
      <parameter>
        <name value="format"/>
        <valueString value="JSON"/>
      </parameter>
      <parameter>
        <name value="format"/>
        <valueString value="XML"/>
      </parameter>
      <parameter>
        <name value="analyzeDataRequirements"/>
        <valueBoolean value="false"/>
      </parameter>
      <parameter>
        <name value="collapseDataRequirements"/>
        <valueBoolean value="false"/>
      </parameter>
      <parameter>
        <name value="compatibilityLevel"/>
        <valueString value="1.5"/>
      </parameter>
      <parameter>
        <name value="enableCqlOnly"/>
        <valueBoolean value="false"/>
      </parameter>
      <parameter>
        <name value="errorLevel"/>
        <valueString value="Info"/>
      </parameter>
      <parameter>
        <name value="signatureLevel"/>
        <valueString value="Overloads"/>
      </parameter>
      <parameter>
        <name value="validateUnits"/>
        <valueBoolean value="true"/>
      </parameter>
      <parameter>
        <name value="verifyOnly"/>
        <valueBoolean value="false"/>
      </parameter>
    </Parameters>
  </contained>
  <extension
             url="http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode">
    <valueCoding>
      <system value="http://loinc.org"/>
      <code value="72136-5"/>
      <display value="Risk for venous thromboembolism"/>
    </valueCoding>
  </extension>
  <extension url="http://hl7.org/fhir/StructureDefinition/cqf-cqlOptions">
    <valueReference>
      <reference value="#options"/>
    </valueReference>
  </extension>
  <url value="https://madie.cms.gov/Library/CMS190VTEProphylaxisICUFHIR"/>
  <identifier>
    <use value="official"/>
    <system value="https://madie.cms.gov/login"/>
    <value value="CMS190VTEProphylaxisICUFHIR"/>
  </identifier>
  <version value="0.3.001"/>
  <name value="CMS190VTEProphylaxisICUFHIR"/>
  <title value="CMS190VTEProphylaxisICUFHIR"/>
  <status value="active"/>
  <experimental value="false"/>
  <type>
    <coding>
      <system value="http://terminology.hl7.org/CodeSystem/library-type"/>
      <code value="logic-library"/>
    </coding>
  </type>
  <date value="2025-06-23T15:36:05+00:00"/>
  <publisher value="The Joint Commission"/>
  <description value="CMS190VTEProphylaxisICUFHIR"/>
  <content>
    <contentType value="text/cql"/>
    <data
          value="bGlicmFyeSBDTVMxOTBWVEVQcm9waHlsYXhpc0lDVUZISVIgdmVyc2lvbiAnMC4zLjAwMScNCg0KdXNpbmcgUUlDb3JlIHZlcnNpb24gJzYuMC4wJw0KDQppbmNsdWRlIENRTUNvbW1vbiB2ZXJzaW9uICc0LjEuMDAwJyBjYWxsZWQgQ1FNQ29tbW9uDQppbmNsdWRlIFFJQ29yZUNvbW1vbiB2ZXJzaW9uICc0LjAuMDAwJyBjYWxsZWQgUUlDb3JlQ29tbW9uDQppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzQuNC4wMDAnIGNhbGxlZCBGSElSSGVscGVycw0KaW5jbHVkZSBTdXBwbGVtZW50YWxEYXRhRWxlbWVudHMgdmVyc2lvbiAnNS4xLjAwMCcgY2FsbGVkIFNERQ0KaW5jbHVkZSBUSkNPdmVyYWxsIHZlcnNpb24gJzguMjMuMDAwJyBjYWxsZWQgVEpDDQppbmNsdWRlIFZURSB2ZXJzaW9uICc4LjE4LjAwMCcgY2FsbGVkIFZURQ0KDQpjb2Rlc3lzdGVtICJMT0lOQyI6ICdodHRwOi8vbG9pbmMub3JnJw0KDQpjb2RlICJSaXNrIGZvciB2ZW5vdXMgdGhyb21ib2VtYm9saXNtIjogJzcyMTM2LTUnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdSaXNrIGZvciB2ZW5vdXMgdGhyb21ib2VtYm9saXNtJw0KDQp2YWx1ZXNldCAiQXBwbGljYXRpb24gb2YgR3JhZHVhdGVkIENvbXByZXNzaW9uIFN0b2NraW5ncyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMTAuNjYnDQp2YWx1ZXNldCAiQXBwbGljYXRpb24gb2YgSW50ZXJtaXR0ZW50IFBuZXVtYXRpYyBDb21wcmVzc2lvbiBEZXZpY2VzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMC42NScNCnZhbHVlc2V0ICJBcHBsaWNhdGlvbiBvZiBWZW5vdXMgRm9vdCBQdW1wcyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMTAuNjQnDQp2YWx1ZXNldCAiQXRyaWFsIEZpYnJpbGxhdGlvbiBvciBGbHV0dGVyIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMDInDQp2YWx1ZXNldCAiQ29tZm9ydCBNZWFzdXJlcyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMS4zLjYuMS40LjEuMzM4OTUuMS4zLjAuNDUnDQp2YWx1ZXNldCAiRGlyZWN0IFRocm9tYmluIEluaGliaXRvciI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjA1Jw0KdmFsdWVzZXQgIkdlbmVyYWwgb3IgTmV1cmF4aWFsIEFuZXN0aGVzaWEiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNjY2LjUuMTc0MycNCnZhbHVlc2V0ICJHZW5lcmFsIFN1cmdlcnkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI1NScNCnZhbHVlc2V0ICJHbHljb3Byb3RlaW4gSUliIElJSWEgSW5oaWJpdG9ycyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEwNDUuNDEnDQp2YWx1ZXNldCAiR3JhZHVhdGVkIGNvbXByZXNzaW9uIHN0b2NraW5ncyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjU2Jw0KdmFsdWVzZXQgIkd5bmVjb2xvZ2ljYWwgU3VyZ2VyeSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjU3Jw0KdmFsdWVzZXQgIkhpcCBGcmFjdHVyZSBTdXJnZXJ5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yNTgnDQp2YWx1ZXNldCAiSGlwIFJlcGxhY2VtZW50IFN1cmdlcnkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI1OScNCnZhbHVlc2V0ICJJbmplY3RhYmxlIEZhY3RvciBYYSBJbmhpYml0b3IgZm9yIFZURSBQcm9waHlsYXhpcyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjExJw0KdmFsdWVzZXQgIklOUiI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjEzJw0KdmFsdWVzZXQgIkludGVuc2l2ZSBDYXJlIFVuaXQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMDI5LjIwNicNCnZhbHVlc2V0ICJJbnRlcm1pdHRlbnQgcG5ldW1hdGljIGNvbXByZXNzaW9uIGRldmljZXMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIxNCcNCnZhbHVlc2V0ICJJbnRyYWNyYW5pYWwgTmV1cm9zdXJnZXJ5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yNjAnDQp2YWx1ZXNldCAiSW50cmF2ZW5vdXMgcm91dGUiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIyMicNCnZhbHVlc2V0ICJLbmVlIFJlcGxhY2VtZW50IFN1cmdlcnkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI2MScNCnZhbHVlc2V0ICJMb3cgRG9zZSBVbmZyYWN0aW9uYXRlZCBIZXBhcmluIGZvciBWVEUgUHJvcGh5bGF4aXMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMDQ1LjM5Jw0KdmFsdWVzZXQgIkxvdyBNb2xlY3VsYXIgV2VpZ2h0IEhlcGFyaW4gZm9yIFZURSBQcm9waHlsYXhpcyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjE5Jw0KdmFsdWVzZXQgIkxvdyBSaXNrIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS40MDAnDQp2YWx1ZXNldCAiTWVkaWNhbCBSZWFzb24gRm9yIE5vdCBQcm92aWRpbmcgVHJlYXRtZW50IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS40NzMnDQp2YWx1ZXNldCAiT3JhbCBGYWN0b3IgWGEgSW5oaWJpdG9yIGZvciBWVEUgUHJvcGh5bGF4aXMgb3IgVlRFIFRyZWF0bWVudCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMTM0Jw0KdmFsdWVzZXQgIlBhdGllbnQgUmVmdXNhbCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuOTMnDQp2YWx1ZXNldCAiUml2YXJveGFiYW4gZm9yIFZURSBQcm9waHlsYXhpcyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMTAuNTAnDQp2YWx1ZXNldCAiU3ViY3V0YW5lb3VzIHJvdXRlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMjMnDQp2YWx1ZXNldCAiVW5mcmFjdGlvbmF0ZWQgSGVwYXJpbiI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjE4Jw0KdmFsdWVzZXQgIlVyb2xvZ2ljYWwgU3VyZ2VyeSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjcyJw0KdmFsdWVzZXQgIlZlbm91cyBmb290IHB1bXBzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMzAnDQp2YWx1ZXNldCAiVmVub3VzIFRocm9tYm9lbWJvbGlzbSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjc5Jw0KdmFsdWVzZXQgIldhcmZhcmluIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMzInDQoNCnBhcmFtZXRlciAiTWVhc3VyZW1lbnQgUGVyaW9kIiBJbnRlcnZhbDxEYXRlVGltZT4NCg0KY29udGV4dCBQYXRpZW50DQoNCmRlZmluZSAiU0RFIEV0aG5pY2l0eSI6DQogIFNERS4iU0RFIEV0aG5pY2l0eSINCg0KZGVmaW5lICJTREUgUGF5ZXIiOg0KICBTREUuIlNERSBQYXllciINCg0KZGVmaW5lICJTREUgUmFjZSI6DQogIFNERS4iU0RFIFJhY2UiDQoNCmRlZmluZSAiU0RFIFNleCI6DQogIFNERS4iU0RFIFNleCINCg0KZGVmaW5lICJJbml0aWFsIFBvcHVsYXRpb24iOg0KICBWVEUuIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBBbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIE9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiDQoNCmRlZmluZSAiRGVub21pbmF0b3IiOg0KICAiRW5jb3VudGVyIFdpdGggSUNVIExvY2F0aW9uIg0KDQpkZWZpbmUgIkVuY291bnRlciBXaXRoIElDVSBMb2NhdGlvbiI6DQogIFZURS4iRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIEFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgT3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlcg0KICAgIHdoZXJlIGV4aXN0cyAoIFF1YWxpZnlpbmdFbmNvdW50ZXIubG9jYXRpb24gTG9jYXRpb24NCiAgICAgICAgd2hlcmUgTG9jYXRpb24ubG9jYXRpb24uZ2V0TG9jYXRpb24gKCApLnR5cGUgaW4gIkludGVuc2l2ZSBDYXJlIFVuaXQiDQogICAgICAgICAgYW5kIExvY2F0aW9uLnBlcmlvZCBkdXJpbmcgUXVhbGlmeWluZ0VuY291bnRlci5wZXJpb2QNCiAgICApDQoNCmRlZmluZSAiRGVub21pbmF0b3IgRXhjbHVzaW9ucyI6DQogICJFbmNvdW50ZXIgV2l0aCBJQ1UgTG9jYXRpb24gQW5kIEVuY291bnRlciBMZXNzIFRoYW4gMiBEYXlzIg0KICAgIHVuaW9uICJFbmNvdW50ZXIgV2l0aCBGaXJzdCBJQ1UgU3RheSBXaXRoIFByaW5jaXBhbCBQcm9jZWR1cmUgT2YgU2VsZWN0ZWQgU3VyZ2VyeSINCiAgICB1bmlvbiAiRW5jb3VudGVyIFdpdGggSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMgRnJvbSBEYXkgT2YgU3RhcnQgT2YgSG9zcGl0YWxpemF0aW9uIFRvIERheSBBZnRlciBGaXJzdCBJQ1UgU3RheSINCiAgICB1bmlvbiAiRW5jb3VudGVyIFdpdGggSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMgT24gRGF5IE9mIE9yIERheSBBZnRlciBQcm9jZWR1cmUiDQoNCmRlZmluZSAiRW5jb3VudGVyIFdpdGggSUNVIExvY2F0aW9uIEFuZCBFbmNvdW50ZXIgTGVzcyBUaGFuIDIgRGF5cyI6DQogICJFbmNvdW50ZXIgV2l0aCBJQ1UgTG9jYXRpb24iIFF1YWxpZnlpbmdFbmNvdW50ZXJJQ1UNCiAgICB3aGVyZSBRdWFsaWZ5aW5nRW5jb3VudGVySUNVLnBlcmlvZC5sZW5ndGhJbkRheXMgKCApIDwgMg0KDQpkZWZpbmUgIkVuY291bnRlciBXaXRoIEZpcnN0IElDVSBTdGF5IFdpdGggUHJpbmNpcGFsIFByb2NlZHVyZSBPZiBTZWxlY3RlZCBTdXJnZXJ5IjoNCiAgIkVuY291bnRlciBXaXRoIElDVSBMb2NhdGlvbiIgUXVhbGlmeWluZ0VuY291bnRlcklDVQ0KICAgIHdoZXJlIFF1YWxpZnlpbmdFbmNvdW50ZXJJQ1UuaGFzUHJpbmNpcGFsUHJvY2VkdXJlT2YgKCAiR2VuZXJhbCBTdXJnZXJ5IiApDQogICAgICBvciBRdWFsaWZ5aW5nRW5jb3VudGVySUNVLmhhc1ByaW5jaXBhbFByb2NlZHVyZU9mICggIkd5bmVjb2xvZ2ljYWwgU3VyZ2VyeSIgKQ0KICAgICAgb3IgUXVhbGlmeWluZ0VuY291bnRlcklDVS5oYXNQcmluY2lwYWxQcm9jZWR1cmVPZiAoICJIaXAgRnJhY3R1cmUgU3VyZ2VyeSIgKQ0KICAgICAgb3IgUXVhbGlmeWluZ0VuY291bnRlcklDVS5oYXNQcmluY2lwYWxQcm9jZWR1cmVPZiAoICJIaXAgUmVwbGFjZW1lbnQgU3VyZ2VyeSIgKQ0KICAgICAgb3IgUXVhbGlmeWluZ0VuY291bnRlcklDVS5oYXNQcmluY2lwYWxQcm9jZWR1cmVPZiAoICJJbnRyYWNyYW5pYWwgTmV1cm9zdXJnZXJ5IiApDQogICAgICBvciBRdWFsaWZ5aW5nRW5jb3VudGVySUNVLmhhc1ByaW5jaXBhbFByb2NlZHVyZU9mICggIktuZWUgUmVwbGFjZW1lbnQgU3VyZ2VyeSIgKQ0KICAgICAgb3IgUXVhbGlmeWluZ0VuY291bnRlcklDVS5oYXNQcmluY2lwYWxQcm9jZWR1cmVPZiAoICJVcm9sb2dpY2FsIFN1cmdlcnkiICkNCg0KZGVmaW5lICJFbmNvdW50ZXIgV2l0aCBJbnRlcnZlbnRpb24gQ29tZm9ydCBNZWFzdXJlcyBGcm9tIERheSBPZiBTdGFydCBPZiBIb3NwaXRhbGl6YXRpb24gVG8gRGF5IEFmdGVyIEZpcnN0IElDVSBTdGF5IjoNCiAgIkVuY291bnRlciBXaXRoIElDVSBMb2NhdGlvbiIgUXVhbGlmeWluZ0VuY291bnRlcklDVQ0KICAgIHdpdGggIkludGVydmVudGlvbiBDb21mb3J0IE1lYXN1cmVzIiBDb21mb3J0TWVhc3VyZQ0KICAgICAgc3VjaCB0aGF0IENvYWxlc2NlKHN0YXJ0IG9mIENvbWZvcnRNZWFzdXJlLnBlcmZvcm1lZC50b0ludGVydmFsKCksIENvbWZvcnRNZWFzdXJlLmF1dGhvcmVkT24pIGR1cmluZyBkYXkgb2YgUXVhbGlmeWluZ0VuY291bnRlcklDVS5mcm9tRGF5T2ZTdGFydE9mSG9zcGl0YWxpemF0aW9uVG9EYXlBZnRlckZpcnN0SUNVICggKQ0KDQpkZWZpbmUgIkludGVydmVudGlvbiBDb21mb3J0IE1lYXN1cmVzIjoNCiAgKCBbIlNlcnZpY2VSZXF1ZXN0IjogIkNvbWZvcnQgTWVhc3VyZXMiXSBJbnRlcnZlbnRpb25SZXF1ZXN0DQogICAgICB3aGVyZSBJbnRlcnZlbnRpb25SZXF1ZXN0LmludGVudCBpbiB7ICdvcmRlcicsICdvcmlnaW5hbC1vcmRlcicsICdyZWZsZXgtb3JkZXInLCAnZmlsbGVyLW9yZGVyJywgJ2luc3RhbmNlLW9yZGVyJyB9DQogICAgICAgIGFuZCBJbnRlcnZlbnRpb25SZXF1ZXN0LnN0YXR1cyBpbiB7ICdhY3RpdmUnLCAnb24taG9sZCcsICdjb21wbGV0ZWQnIH0NCiAgKQ0KICAgIHVuaW9uICggWyJQcm9jZWR1cmUiOiAiQ29tZm9ydCBNZWFzdXJlcyJdIEludGVydmVudGlvblBlcmZvcm1lZA0KICAgICAgICB3aGVyZSBJbnRlcnZlbnRpb25QZXJmb3JtZWQuc3RhdHVzIGluIHsgJ2NvbXBsZXRlZCcsICdpbi1wcm9ncmVzcycgfQ0KICAgICkNCg0KZGVmaW5lICJFbmNvdW50ZXIgV2l0aCBJbnRlcnZlbnRpb24gQ29tZm9ydCBNZWFzdXJlcyBPbiBEYXkgT2YgT3IgRGF5IEFmdGVyIFByb2NlZHVyZSI6DQogIGZyb20NCiAgICAiRW5jb3VudGVyIFdpdGggSUNVIExvY2F0aW9uIiBRdWFsaWZ5aW5nRW5jb3VudGVySUNVLA0KICAgIFsiUHJvY2VkdXJlIjogIkdlbmVyYWwgb3IgTmV1cmF4aWFsIEFuZXN0aGVzaWEiXSBBbmVzdGhlc2lhUHJvY2VkdXJlLA0KICAgICJJbnRlcnZlbnRpb24gQ29tZm9ydCBNZWFzdXJlcyIgQ29tZm9ydE1lYXN1cmUNCiAgICB3aGVyZSBBbmVzdGhlc2lhUHJvY2VkdXJlLnN0YXR1cyA9ICdjb21wbGV0ZWQnDQogICAgICBhbmQgQW5lc3RoZXNpYVByb2NlZHVyZS5wZXJmb3JtZWQudG9JbnRlcnZhbCAoICkgZW5kcyAxIGRheSBhZnRlciBkYXkgb2YgUXVhbGlmeWluZ0VuY291bnRlcklDVS5zdGFydE9mRmlyc3RJQ1UgKCApDQogICAgICBhbmQgQ29hbGVzY2Uoc3RhcnQgb2YgQ29tZm9ydE1lYXN1cmUucGVyZm9ybWVkLnRvSW50ZXJ2YWwoKSwgQ29tZm9ydE1lYXN1cmUuYXV0aG9yZWRPbikgZHVyaW5nIGRheSBvZiAoIGVuZCBvZiBBbmVzdGhlc2lhUHJvY2VkdXJlLnBlcmZvcm1lZC50b0ludGVydmFsICggKSApLkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyICggKQ0KICAgIHJldHVybiBRdWFsaWZ5aW5nRW5jb3VudGVySUNVDQoNCmRlZmluZSAiTnVtZXJhdG9yIjoNCiAgIkVuY291bnRlciBXaXRoIFZURSBQcm9waHlsYXhpcyBSZWNlaXZlZCBPbiBEYXkgT2YgT3IgRGF5IEFmdGVyIEZpcnN0IElDVSBTdGF5IE9yIFByb2NlZHVyZSINCiAgICB1bmlvbiAoICJFbmNvdW50ZXIgV2l0aCBNZWRpY2F0aW9uIE9yYWwgRmFjdG9yIFhhIEluaGliaXRvciBBZG1pbmlzdGVyZWQgT24gRGF5IE9mIE9yIERheSBBZnRlciBGaXJzdCBJQ1UgU3RheSBPciBQcm9jZWR1cmUiDQogICAgICAgIGludGVyc2VjdCAoICJFbmNvdW50ZXIgV2l0aCBQcmlvciBPciBQcmVzZW50IERpYWdub3NpcyBPZiBBdHJpYWwgRmlicmlsbGF0aW9uIE9yIFByaW9yIERpYWdub3NpcyBPZiBWVEUiDQogICAgICAgICAgICB1bmlvbiAiRW5jb3VudGVyIFdpdGggUHJpb3IgT3IgUHJlc2VudCBQcm9jZWR1cmUgT2YgSGlwIE9yIEtuZWUgUmVwbGFjZW1lbnQgU3VyZ2VyeSINCiAgICAgICAgKQ0KICAgICkNCiAgICB1bmlvbiAiRW5jb3VudGVyIFdpdGggTG93IFJpc2sgRm9yIFZURSBPciBBbnRpY29hZ3VsYW50IEFkbWluaXN0ZXJlZCINCiAgICB1bmlvbiAiRW5jb3VudGVyIFdpdGggTm8gVlRFIFByb3BoeWxheGlzIER1ZSBUbyBNZWRpY2FsIFJlYXNvbiINCiAgICB1bmlvbiAiRW5jb3VudGVyIFdpdGggTm8gVlRFIFByb3BoeWxheGlzIER1ZSBUbyBQYXRpZW50IFJlZnVzYWwiDQoNCmRlZmluZSAiUGhhcm1hY29sb2dpY2FsIE9yIE1lY2hhbmljYWwgVlRFIFByb3BoeWxheGlzIFJlY2VpdmVkIjoNCiAgKCBbIk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiI6IG1lZGljYXRpb24gaW4gIkxvdyBEb3NlIFVuZnJhY3Rpb25hdGVkIEhlcGFyaW4gZm9yIFZURSBQcm9waHlsYXhpcyJdIFZURU1lZGljYXRpb24NCiAgICAgIHdoZXJlIFZURU1lZGljYXRpb24uc3RhdHVzID0gJ2NvbXBsZXRlZCcNCiAgICAgICAgYW5kIFZURU1lZGljYXRpb24uZG9zYWdlLnJvdXRlIGluICJTdWJjdXRhbmVvdXMgcm91dGUiDQogICkNCiAgICB1bmlvbiAoIFsiTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIjogbWVkaWNhdGlvbiBpbiAiTG93IE1vbGVjdWxhciBXZWlnaHQgSGVwYXJpbiBmb3IgVlRFIFByb3BoeWxheGlzIl0gTE1XSA0KICAgICAgICB3aGVyZSBMTVdILnN0YXR1cyA9ICdjb21wbGV0ZWQnDQogICAgKQ0KICAgIHVuaW9uICggWyJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iOiBtZWRpY2F0aW9uIGluICJJbmplY3RhYmxlIEZhY3RvciBYYSBJbmhpYml0b3IgZm9yIFZURSBQcm9waHlsYXhpcyJdIEZhY3RvclhhDQogICAgICAgIHdoZXJlIEZhY3RvclhhLnN0YXR1cyA9ICdjb21wbGV0ZWQnDQogICAgKQ0KICAgIHVuaW9uICggWyJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iOiBtZWRpY2F0aW9uIGluICJXYXJmYXJpbiJdIFdhcmZhcmluQWRtDQogICAgICAgIHdoZXJlIFdhcmZhcmluQWRtLnN0YXR1cyA9ICdjb21wbGV0ZWQnDQogICAgKQ0KICAgIHVuaW9uICggWyJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iOiBtZWRpY2F0aW9uIGluICJSaXZhcm94YWJhbiBmb3IgVlRFIFByb3BoeWxheGlzIl0gUml2YXJveGFiYW4NCiAgICAgICAgd2hlcmUgUml2YXJveGFiYW4uc3RhdHVzID0gJ2NvbXBsZXRlZCcNCiAgICApDQogICAgdW5pb24gKCAoIFsiUHJvY2VkdXJlIjogIkFwcGxpY2F0aW9uIG9mIEludGVybWl0dGVudCBQbmV1bWF0aWMgQ29tcHJlc3Npb24gRGV2aWNlcyJdDQogICAgICAgIHVuaW9uIFsiUHJvY2VkdXJlIjogIkFwcGxpY2F0aW9uIG9mIFZlbm91cyBGb290IFB1bXBzIl0NCiAgICAgICAgdW5pb24gWyJQcm9jZWR1cmUiOiAiQXBwbGljYXRpb24gb2YgR3JhZHVhdGVkIENvbXByZXNzaW9uIFN0b2NraW5ncyJdICkgRGV2aWNlQXBwbGllZA0KICAgICAgICB3aGVyZSBEZXZpY2VBcHBsaWVkLnN0YXR1cyA9ICdjb21wbGV0ZWQnDQogICAgKQ0KDQpkZWZpbmUgIkVuY291bnRlciBXaXRoIFZURSBQcm9waHlsYXhpcyBSZWNlaXZlZCBPbiBEYXkgT2YgT3IgRGF5IEFmdGVyIEZpcnN0IElDVSBTdGF5IE9yIFByb2NlZHVyZSI6DQogICggIkVuY291bnRlciBXaXRoIElDVSBMb2NhdGlvbiIgUXVhbGlmeWluZ0VuY291bnRlcklDVQ0KICAgICAgd2l0aCAiUGhhcm1hY29sb2dpY2FsIE9yIE1lY2hhbmljYWwgVlRFIFByb3BoeWxheGlzIFJlY2VpdmVkIiBWVEVQcm9waHlsYXhpcw0KICAgICAgICBzdWNoIHRoYXQgc3RhcnQgb2YgQ29hbGVzY2UoVlRFUHJvcGh5bGF4aXMuZWZmZWN0aXZlLnRvSW50ZXJ2YWwoKSwgVlRFUHJvcGh5bGF4aXMucGVyZm9ybWVkLnRvSW50ZXJ2YWwoKSkgZHVyaW5nIGRheSBvZiBRdWFsaWZ5aW5nRW5jb3VudGVySUNVLnN0YXJ0T2ZGaXJzdElDVSAoICkuQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIgKCApDQogICkNCiAgICB1bmlvbiAoIGZyb20NCiAgICAgICAgIkVuY291bnRlciBXaXRoIElDVSBMb2NhdGlvbiIgUXVhbGlmeWluZ0VuY291bnRlcklDVSwNCiAgICAgICAgWyJQcm9jZWR1cmUiOiAiR2VuZXJhbCBvciBOZXVyYXhpYWwgQW5lc3RoZXNpYSJdIEFuZXN0aGVzaWFQcm9jZWR1cmUsDQogICAgICAgICJQaGFybWFjb2xvZ2ljYWwgT3IgTWVjaGFuaWNhbCBWVEUgUHJvcGh5bGF4aXMgUmVjZWl2ZWQiIFZURVByb3BoeWxheGlzDQogICAgICAgIHdoZXJlIEFuZXN0aGVzaWFQcm9jZWR1cmUuc3RhdHVzID0gJ2NvbXBsZXRlZCcNCiAgICAgICAgICBhbmQgQW5lc3RoZXNpYVByb2NlZHVyZS5wZXJmb3JtZWQudG9JbnRlcnZhbCAoICkgZW5kcyAxIGRheSBhZnRlciBkYXkgb2YgUXVhbGlmeWluZ0VuY291bnRlcklDVS5zdGFydE9mRmlyc3RJQ1UgKCApDQogICAgICAgICAgYW5kIHN0YXJ0IG9mIENvYWxlc2NlKFZURVByb3BoeWxheGlzLmVmZmVjdGl2ZS50b0ludGVydmFsKCksIFZURVByb3BoeWxheGlzLnBlcmZvcm1lZC50b0ludGVydmFsKCkpIGR1cmluZyBkYXkgb2YgKCBlbmQgb2YgQW5lc3RoZXNpYVByb2NlZHVyZS5wZXJmb3JtZWQudG9JbnRlcnZhbCAoICkgKS5DYWxlbmRhckRheU9mT3JEYXlBZnRlciAoICkNCiAgICAgICAgcmV0dXJuIFF1YWxpZnlpbmdFbmNvdW50ZXJJQ1UNCiAgICApDQoNCmRlZmluZSAiRW5jb3VudGVyIFdpdGggTWVkaWNhdGlvbiBPcmFsIEZhY3RvciBYYSBJbmhpYml0b3IgQWRtaW5pc3RlcmVkIE9uIERheSBPZiBPciBEYXkgQWZ0ZXIgRmlyc3QgSUNVIFN0YXkgT3IgUHJvY2VkdXJlIjoNCiAgKCAiRW5jb3VudGVyIFdpdGggSUNVIExvY2F0aW9uIiBRdWFsaWZ5aW5nRW5jb3VudGVySUNVDQogICAgICB3aXRoIFsiTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIjogbWVkaWNhdGlvbiBpbiAiT3JhbCBGYWN0b3IgWGEgSW5oaWJpdG9yIGZvciBWVEUgUHJvcGh5bGF4aXMgb3IgVlRFIFRyZWF0bWVudCJdIEZhY3RvclhhTWVkaWNhdGlvbg0KICAgICAgICBzdWNoIHRoYXQgRmFjdG9yWGFNZWRpY2F0aW9uLnN0YXR1cyA9ICdjb21wbGV0ZWQnDQogICAgICAgICAgYW5kIEZhY3RvclhhTWVkaWNhdGlvbi5lZmZlY3RpdmUudG9JbnRlcnZhbCAoICkgc3RhcnRzIGR1cmluZyBkYXkgb2YgUXVhbGlmeWluZ0VuY291bnRlcklDVS5zdGFydE9mRmlyc3RJQ1UgKCApLkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyICggKQ0KICApDQogICAgdW5pb24gKCBmcm9tDQogICAgICAgICJFbmNvdW50ZXIgV2l0aCBJQ1UgTG9jYXRpb24iIFF1YWxpZnlpbmdFbmNvdW50ZXJJQ1UsDQogICAgICAgIFsiUHJvY2VkdXJlIjogIkdlbmVyYWwgb3IgTmV1cmF4aWFsIEFuZXN0aGVzaWEiXSBBbmVzdGhlc2lhUHJvY2VkdXJlLA0KICAgICAgICBbIk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiI6IG1lZGljYXRpb24gaW4gIk9yYWwgRmFjdG9yIFhhIEluaGliaXRvciBmb3IgVlRFIFByb3BoeWxheGlzIG9yIFZURSBUcmVhdG1lbnQiXSBGYWN0b3JYYU1lZGljYXRpb24NCiAgICAgICAgd2hlcmUgRmFjdG9yWGFNZWRpY2F0aW9uLnN0YXR1cyA9ICdjb21wbGV0ZWQnDQogICAgICAgICAgYW5kIEFuZXN0aGVzaWFQcm9jZWR1cmUuc3RhdHVzID0gJ2NvbXBsZXRlZCcNCiAgICAgICAgICBhbmQgQW5lc3RoZXNpYVByb2NlZHVyZS5wZXJmb3JtZWQudG9JbnRlcnZhbCAoICkgZW5kcyAxIGRheSBhZnRlciBkYXkgb2YgUXVhbGlmeWluZ0VuY291bnRlcklDVS5zdGFydE9mRmlyc3RJQ1UgKCApDQogICAgICAgICAgYW5kIEZhY3RvclhhTWVkaWNhdGlvbi5lZmZlY3RpdmUudG9JbnRlcnZhbCAoICkgc3RhcnRzIGR1cmluZyBkYXkgb2YgKCBlbmQgb2YgQW5lc3RoZXNpYVByb2NlZHVyZS5wZXJmb3JtZWQudG9JbnRlcnZhbCAoICkgKS5DYWxlbmRhckRheU9mT3JEYXlBZnRlciAoICkNCiAgICAgICAgcmV0dXJuIFF1YWxpZnlpbmdFbmNvdW50ZXJJQ1UNCiAgICApDQoNCmRlZmluZSAiRW5jb3VudGVyIFdpdGggUHJpb3IgT3IgUHJlc2VudCBEaWFnbm9zaXMgT2YgQXRyaWFsIEZpYnJpbGxhdGlvbiBPciBQcmlvciBEaWFnbm9zaXMgT2YgVlRFIjoNCiAgKCAiRW5jb3VudGVyIFdpdGggSUNVIExvY2F0aW9uIiBRdWFsaWZ5aW5nRW5jb3VudGVySUNVDQogICAgICB3aXRoIFsiQ29uZGl0aW9uUHJvYmxlbXNIZWFsdGhDb25jZXJucyI6ICJBdHJpYWwgRmlicmlsbGF0aW9uIG9yIEZsdXR0ZXIiXSBBdHJpYWxGaWJyaWxsYXRpb24NCiAgICAgICAgc3VjaCB0aGF0ICAvLyBDUU1DT21tb24gbmV3IGZ1bmN0aW9uIGlzVmVyaWZpZWQoKSB3aWxsIGJlIHVzZWQgdG8gcmVwbGFjZSB0aGUgZm9sbG93aW5nIHZlcmlmaWNhdGlvblN0YXR1cyBsb2dpYw0KICAgICAgICBBdHJpYWxGaWJyaWxsYXRpb24udmVyaWZpY2F0aW9uU3RhdHVzIGlzIG5vdCBudWxsIGltcGxpZXMgKCBBdHJpYWxGaWJyaWxsYXRpb24udmVyaWZpY2F0aW9uU3RhdHVzICF+IFFJQ29yZUNvbW1vbi4icmVmdXRlZCINCiAgICAgICAgICAgIGFuZCBBdHJpYWxGaWJyaWxsYXRpb24udmVyaWZpY2F0aW9uU3RhdHVzICF+IFFJQ29yZUNvbW1vbi4iZW50ZXJlZC1pbi1lcnJvciINCiAgICAgICAgKQ0KICAgICAgICAgIGFuZCBBdHJpYWxGaWJyaWxsYXRpb24ub25zZXQudG9JbnRlcnZhbCAoICkgc3RhcnRzIG9uIG9yIGJlZm9yZSBlbmQgb2YgUXVhbGlmeWluZ0VuY291bnRlcklDVS5wZXJpb2QNCiAgKQ0KICAgIHVuaW9uICggIkVuY291bnRlciBXaXRoIElDVSBMb2NhdGlvbiIgUXVhbGlmeWluZ0VuY291bnRlcklDVQ0KICAgICAgICB3aGVyZSBRdWFsaWZ5aW5nRW5jb3VudGVySUNVLmhhc0VuY0RpYWdub3Npc09mICggIkF0cmlhbCBGaWJyaWxsYXRpb24gb3IgRmx1dHRlciIgKQ0KICAgICkNCiAgICB1bmlvbiAoICJFbmNvdW50ZXIgV2l0aCBJQ1UgTG9jYXRpb24iIFF1YWxpZnlpbmdFbmNvdW50ZXJJQ1UNCiAgICAgICAgd2l0aCBbIkNvbmRpdGlvblByb2JsZW1zSGVhbHRoQ29uY2VybnMiOiAiVmVub3VzIFRocm9tYm9lbWJvbGlzbSJdIFZURURpYWdub3Npcw0KICAgICAgICAgIHN1Y2ggdGhhdCAoIFZURURpYWdub3Npcy5jbGluaWNhbFN0YXR1cyB+IFFJQ29yZUNvbW1vbi4iaW5hY3RpdmUiDQogICAgICAgICAgICAgIG9yIFZURURpYWdub3Npcy5jbGluaWNhbFN0YXR1cyB+IFFJQ29yZUNvbW1vbi4icmVtaXNzaW9uIg0KICAgICAgICAgICAgICBvciBWVEVEaWFnbm9zaXMuY2xpbmljYWxTdGF0dXMgfiBRSUNvcmVDb21tb24uInJlc29sdmVkIg0KICAgICAgICAgICkgLy8gQ1FNQ09tbW9uIG5ldyBmdW5jdGlvbiBpc1ZlcmlmaWVkKCkgd2lsbCBiZSB1c2VkIHRvIHJlcGxhY2UgdGhlIGZvbGxvd2luZyB2ZXJpZmljYXRpb25TdGF0dXMgbG9naWMNCiAgICAgICAgICAgIA0KICAgICAgICAgICAgYW5kIFZURURpYWdub3Npcy52ZXJpZmljYXRpb25TdGF0dXMgaXMgbm90IG51bGwgaW1wbGllcyAoIFZURURpYWdub3Npcy52ZXJpZmljYXRpb25TdGF0dXMgIX4gUUlDb3JlQ29tbW9uLiJyZWZ1dGVkIg0KICAgICAgICAgICAgICBhbmQgVlRFRGlhZ25vc2lzLnZlcmlmaWNhdGlvblN0YXR1cyAhfiBRSUNvcmVDb21tb24uImVudGVyZWQtaW4tZXJyb3IiDQogICAgICAgICAgKQ0KICAgICAgICAgICAgYW5kIFZURURpYWdub3Npcy5vbnNldC50b0ludGVydmFsICggKSBiZWZvcmUgc3RhcnQgb2YgUXVhbGlmeWluZ0VuY291bnRlcklDVS5wZXJpb2QNCiAgICApDQoNCmRlZmluZSAiRW5jb3VudGVyIFdpdGggUHJpb3IgT3IgUHJlc2VudCBQcm9jZWR1cmUgT2YgSGlwIE9yIEtuZWUgUmVwbGFjZW1lbnQgU3VyZ2VyeSI6DQogICJFbmNvdW50ZXIgV2l0aCBJQ1UgTG9jYXRpb24iIFF1YWxpZnlpbmdFbmNvdW50ZXJJQ1UNCiAgICB3aXRoICggWyJQcm9jZWR1cmUiOiAiSGlwIFJlcGxhY2VtZW50IFN1cmdlcnkiXQ0KICAgICAgdW5pb24gWyJQcm9jZWR1cmUiOiAiS25lZSBSZXBsYWNlbWVudCBTdXJnZXJ5Il0gKSBIaXBLbmVlUHJvY2VkdXJlDQogICAgICBzdWNoIHRoYXQgSGlwS25lZVByb2NlZHVyZS5zdGF0dXMgPSAnY29tcGxldGVkJw0KICAgICAgICBhbmQgSGlwS25lZVByb2NlZHVyZS5wZXJmb3JtZWQudG9JbnRlcnZhbCAoICkgc3RhcnRzIG9uIG9yIGJlZm9yZSBlbmQgb2YgUXVhbGlmeWluZ0VuY291bnRlcklDVS5wZXJpb2QNCg0KZGVmaW5lICJFbmNvdW50ZXIgV2l0aCBMb3cgUmlzayBGb3IgVlRFIE9yIEFudGljb2FndWxhbnQgQWRtaW5pc3RlcmVkIjoNCiAgIkxvdyBSaXNrIEZvciBWVEUgT3IgQW50aWNvYWd1bGFudCBBZG1pbmlzdGVyZWQgRnJvbSBEYXkgT2YgU3RhcnQgT2YgSG9zcGl0YWxpemF0aW9uIFRvIERheSBBZnRlciBGaXJzdCBJQ1UgU3RheSINCiAgICB1bmlvbiAiTG93IFJpc2sgRm9yIFZURSBPciBBbnRpY29hZ3VsYW50IEFkbWluaXN0ZXJlZCBPbiBEYXkgT2YgT3IgRGF5IEFmdGVyIFByb2NlZHVyZSINCg0KZGVmaW5lICJMb3cgUmlzayBJbmRpY2F0b3IgRm9yIFZURSI6DQogICggWyJTaW1wbGVPYnNlcnZhdGlvbiI6ICJSaXNrIGZvciB2ZW5vdXMgdGhyb21ib2VtYm9saXNtIl0gVlRFUmlza0Fzc2Vzc21lbnQNCiAgICAgIHdoZXJlIFZURVJpc2tBc3Nlc3NtZW50LnZhbHVlIGFzIENvbmNlcHQgaW4gIkxvdyBSaXNrIg0KICAgICAgICBhbmQgVlRFUmlza0Fzc2Vzc21lbnQuc3RhdHVzIGluIHsgJ2ZpbmFsJywgJ2FtZW5kZWQnLCAnY29ycmVjdGVkJyB9DQogICAgICByZXR1cm4gew0KICAgICAgICBpZDogVlRFUmlza0Fzc2Vzc21lbnQuaWQsDQogICAgICAgIExvd1Jpc2tEYXRldGltZTogVlRFUmlza0Fzc2Vzc21lbnQuZWZmZWN0aXZlLmVhcmxpZXN0ICggKQ0KICAgICAgfQ0KICApDQogICAgdW5pb24gKCBbIkxhYm9yYXRvcnlSZXN1bHRPYnNlcnZhdGlvbiI6ICJJTlIiXSBJTlJMYWJUZXN0DQogICAgICAgIHdoZXJlIElOUkxhYlRlc3QudmFsdWUgYXMgUXVhbnRpdHkgPiAzLjANCiAgICAgICAgICBhbmQgSU5STGFiVGVzdC5zdGF0dXMgaW4geyAnZmluYWwnLCAnYW1lbmRlZCcsICdjb3JyZWN0ZWQnIH0NCiAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICBpZDogSU5STGFiVGVzdC5pZCwNCiAgICAgICAgICBMb3dSaXNrRGF0ZXRpbWU6IElOUkxhYlRlc3QuaXNzdWVkDQogICAgICAgIH0NCiAgICApDQogICAgdW5pb24gKCAoICggWyJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iOiBtZWRpY2F0aW9uIGluICJVbmZyYWN0aW9uYXRlZCBIZXBhcmluIl0gVW5mcmFjdGlvbmF0ZWRIZXBhcmluDQogICAgICAgICAgd2hlcmUgVW5mcmFjdGlvbmF0ZWRIZXBhcmluLmRvc2FnZS5yb3V0ZSBpbiAiSW50cmF2ZW5vdXMgcm91dGUiDQogICAgICApDQogICAgICAgIHVuaW9uIFsiTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIjogbWVkaWNhdGlvbiBpbiAiRGlyZWN0IFRocm9tYmluIEluaGliaXRvciJdDQogICAgICAgIHVuaW9uIFsiTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIjogbWVkaWNhdGlvbiBpbiAiR2x5Y29wcm90ZWluIElJYiBJSUlhIEluaGliaXRvcnMiXSApIEFudGljb2FndWxhbnRNZWRpY2F0aW9uDQogICAgICAgIHdoZXJlIEFudGljb2FndWxhbnRNZWRpY2F0aW9uLnN0YXR1cyA9ICdjb21wbGV0ZWQnDQogICAgICAgIHJldHVybiB7DQogICAgICAgICAgaWQ6IEFudGljb2FndWxhbnRNZWRpY2F0aW9uLmlkLA0KICAgICAgICAgIExvd1Jpc2tEYXRldGltZTogc3RhcnQgb2YgQW50aWNvYWd1bGFudE1lZGljYXRpb24uZWZmZWN0aXZlLnRvSW50ZXJ2YWwgKCApDQogICAgICAgIH0NCiAgICApDQoNCmRlZmluZSAiTG93IFJpc2sgRm9yIFZURSBPciBBbnRpY29hZ3VsYW50IEFkbWluaXN0ZXJlZCBGcm9tIERheSBPZiBTdGFydCBPZiBIb3NwaXRhbGl6YXRpb24gVG8gRGF5IEFmdGVyIEZpcnN0IElDVSBTdGF5IjoNCiAgIkVuY291bnRlciBXaXRoIElDVSBMb2NhdGlvbiIgUXVhbGlmeWluZ0VuY291bnRlcklDVQ0KICAgIHdpdGggIkxvdyBSaXNrIEluZGljYXRvciBGb3IgVlRFIiBMb3dSaXNrRm9yVlRFDQogICAgICBzdWNoIHRoYXQgTG93Umlza0ZvclZURS5Mb3dSaXNrRGF0ZXRpbWUgZHVyaW5nIGRheSBvZiBRdWFsaWZ5aW5nRW5jb3VudGVySUNVLmZyb21EYXlPZlN0YXJ0T2ZIb3NwaXRhbGl6YXRpb25Ub0RheUFmdGVyRmlyc3RJQ1UgKCApDQoNCmRlZmluZSAiTG93IFJpc2sgRm9yIFZURSBPciBBbnRpY29hZ3VsYW50IEFkbWluaXN0ZXJlZCBPbiBEYXkgT2YgT3IgRGF5IEFmdGVyIFByb2NlZHVyZSI6DQogIGZyb20NCiAgICAiRW5jb3VudGVyIFdpdGggSUNVIExvY2F0aW9uIiBRdWFsaWZ5aW5nRW5jb3VudGVySUNVLA0KICAgIFsiUHJvY2VkdXJlIjogIkdlbmVyYWwgb3IgTmV1cmF4aWFsIEFuZXN0aGVzaWEiXSBBbmVzdGhlc2lhUHJvY2VkdXJlLA0KICAgICJMb3cgUmlzayBJbmRpY2F0b3IgRm9yIFZURSIgTG93Umlza0ZvclZURQ0KICAgIHdoZXJlIEFuZXN0aGVzaWFQcm9jZWR1cmUuc3RhdHVzID0gJ2NvbXBsZXRlZCcNCiAgICAgIGFuZCBBbmVzdGhlc2lhUHJvY2VkdXJlLnBlcmZvcm1lZC50b0ludGVydmFsICggKSBlbmRzIDEgZGF5IGFmdGVyIGRheSBvZiBRdWFsaWZ5aW5nRW5jb3VudGVySUNVLnN0YXJ0T2ZGaXJzdElDVSAoICkNCiAgICAgIGFuZCBMb3dSaXNrRm9yVlRFLkxvd1Jpc2tEYXRldGltZSBkdXJpbmcgZGF5IG9mICggZW5kIG9mIEFuZXN0aGVzaWFQcm9jZWR1cmUucGVyZm9ybWVkLnRvSW50ZXJ2YWwgKCApICkuQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIgKCApDQogICAgcmV0dXJuIFF1YWxpZnlpbmdFbmNvdW50ZXJJQ1UNCg0KZGVmaW5lICJFbmNvdW50ZXIgV2l0aCBObyBWVEUgUHJvcGh5bGF4aXMgRHVlIFRvIE1lZGljYWwgUmVhc29uIjoNCiAgKCAiTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gRHVlIFRvIE1lZGljYWwgUmVhc29uIEZyb20gRGF5IE9mIFN0YXJ0IE9mIEhvc3BpdGFsaXphdGlvbiBUbyBEYXkgQWZ0ZXIgRmlyc3QgSUNVIFN0YXkiDQogICAgICBpbnRlcnNlY3QgIk5vIE1lY2hhbmljYWwgVlRFIFByb3BoeWxheGlzIER1ZSBUbyBNZWRpY2FsIFJlYXNvbiBGcm9tIERheSBPZiBTdGFydCBPZiBIb3NwaXRhbGl6YXRpb24gVG8gRGF5IEFmdGVyIEZpcnN0IElDVSBTdGF5Ig0KICApDQogICAgdW5pb24gKCAiTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gRHVlIFRvIE1lZGljYWwgUmVhc29uIE9uIERheSBPZiBPciBEYXkgQWZ0ZXIgUHJvY2VkdXJlIg0KICAgICAgICBpbnRlcnNlY3QgIk5vIE1lY2hhbmljYWwgVlRFIFByb3BoeWxheGlzIER1ZSBUbyBNZWRpY2FsIFJlYXNvbiBPbiBEYXkgT2YgT3IgRGF5IEFmdGVyIFByb2NlZHVyZSINCiAgICApDQoNCmRlZmluZSAiTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gRHVlIFRvIE1lZGljYWwgUmVhc29uIEZyb20gRGF5IE9mIFN0YXJ0IE9mIEhvc3BpdGFsaXphdGlvbiBUbyBEYXkgQWZ0ZXIgRmlyc3QgSUNVIFN0YXkiOg0KICAiRW5jb3VudGVyIFdpdGggSUNVIExvY2F0aW9uIiBRdWFsaWZ5aW5nRW5jb3VudGVySUNVDQogICAgd2l0aCAiTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gQWRtaW5pc3RlcmVkIE9yIE9yZGVyZWQiIE5vVlRFTWVkaWNhdGlvbg0KICAgICAgc3VjaCB0aGF0IE5vVlRFTWVkaWNhdGlvbi5tZWRpY2F0aW9uU3RhdHVzUmVhc29uIGluICJNZWRpY2FsIFJlYXNvbiBGb3IgTm90IFByb3ZpZGluZyBUcmVhdG1lbnQiDQogICAgICAgIGFuZCBOb1ZURU1lZGljYXRpb24uYXV0aG9yZWRPbiBkdXJpbmcgZGF5IG9mIFF1YWxpZnlpbmdFbmNvdW50ZXJJQ1UuZnJvbURheU9mU3RhcnRPZkhvc3BpdGFsaXphdGlvblRvRGF5QWZ0ZXJGaXJzdElDVSAoICkNCg0KZGVmaW5lICJObyBWVEUgUHJvcGh5bGF4aXMgTWVkaWNhdGlvbiBBZG1pbmlzdGVyZWQgT3IgT3JkZXJlZCI6DQogICggKCBbTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uTm90RG9uZTogIkxvdyBEb3NlIFVuZnJhY3Rpb25hdGVkIEhlcGFyaW4gZm9yIFZURSBQcm9waHlsYXhpcyJdDQogICAgICB1bmlvbiBbTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uTm90RG9uZTogIkxvdyBNb2xlY3VsYXIgV2VpZ2h0IEhlcGFyaW4gZm9yIFZURSBQcm9waHlsYXhpcyJdDQogICAgICB1bmlvbiBbTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uTm90RG9uZTogIkluamVjdGFibGUgRmFjdG9yIFhhIEluaGliaXRvciBmb3IgVlRFIFByb3BoeWxheGlzIl0NCiAgICAgIHVuaW9uIFtNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25Ob3REb25lOiAiV2FyZmFyaW4iXQ0KICAgICAgdW5pb24gW01lZGljYXRpb25BZG1pbmlzdHJhdGlvbk5vdERvbmU6ICJSaXZhcm94YWJhbiBmb3IgVlRFIFByb3BoeWxheGlzIl0gKSBOb01lZGljYXRpb25BZG0NCiAgICAgIHJldHVybiB7DQogICAgICAgIGlkOiBOb01lZGljYXRpb25BZG0uaWQsDQogICAgICAgIG1lZGljYXRpb25TdGF0dXNSZWFzb246IE5vTWVkaWNhdGlvbkFkbS5zdGF0dXNSZWFzb24sDQogICAgICAgIGF1dGhvcmVkT246IE5vTWVkaWNhdGlvbkFkbS5yZWNvcmRlZA0KICAgICAgfQ0KICApDQogICAgdW5pb24gKCAoIFsiTWVkaWNhdGlvbk5vdFJlcXVlc3RlZCI6ICJMb3cgRG9zZSBVbmZyYWN0aW9uYXRlZCBIZXBhcmluIGZvciBWVEUgUHJvcGh5bGF4aXMiXQ0KICAgICAgICB1bmlvbiBbIk1lZGljYXRpb25Ob3RSZXF1ZXN0ZWQiOiAiTG93IE1vbGVjdWxhciBXZWlnaHQgSGVwYXJpbiBmb3IgVlRFIFByb3BoeWxheGlzIl0NCiAgICAgICAgdW5pb24gWyJNZWRpY2F0aW9uTm90UmVxdWVzdGVkIjogIkluamVjdGFibGUgRmFjdG9yIFhhIEluaGliaXRvciBmb3IgVlRFIFByb3BoeWxheGlzIl0NCiAgICAgICAgdW5pb24gWyJNZWRpY2F0aW9uTm90UmVxdWVzdGVkIjogIldhcmZhcmluIl0NCiAgICAgICAgdW5pb24gWyJNZWRpY2F0aW9uTm90UmVxdWVzdGVkIjogIlJpdmFyb3hhYmFuIGZvciBWVEUgUHJvcGh5bGF4aXMiXSApIE5vTWVkaWNhdGlvbk9yZGVyDQogICAgICAgIHdoZXJlIE5vTWVkaWNhdGlvbk9yZGVyLmludGVudCBpbiB7ICdvcmRlcicsICdvcmlnaW5hbC1vcmRlcicsICdyZWZsZXgtb3JkZXInLCAnZmlsbGVyLW9yZGVyJywgJ2luc3RhbmNlLW9yZGVyJyB9DQogICAgICAgIHJldHVybiB7DQogICAgICAgICAgaWQ6IE5vTWVkaWNhdGlvbk9yZGVyLmlkLA0KICAgICAgICAgIG1lZGljYXRpb25TdGF0dXNSZWFzb246IE5vTWVkaWNhdGlvbk9yZGVyLnJlYXNvbkNvZGUsDQogICAgICAgICAgYXV0aG9yZWRPbjogTm9NZWRpY2F0aW9uT3JkZXIuYXV0aG9yZWRPbg0KICAgICAgICB9DQogICAgKQ0KICAgIHVuaW9uICggZnJvbQ0KICAgICAgICAoIFsiTWVkaWNhdGlvblJlcXVlc3QiOiAiTG93IERvc2UgVW5mcmFjdGlvbmF0ZWQgSGVwYXJpbiBmb3IgVlRFIFByb3BoeWxheGlzIl0NCiAgICAgICAgICB1bmlvbiBbIk1lZGljYXRpb25SZXF1ZXN0IjogIkxvdyBNb2xlY3VsYXIgV2VpZ2h0IEhlcGFyaW4gZm9yIFZURSBQcm9waHlsYXhpcyJdDQogICAgICAgICAgdW5pb24gWyJNZWRpY2F0aW9uUmVxdWVzdCI6ICJJbmplY3RhYmxlIEZhY3RvciBYYSBJbmhpYml0b3IgZm9yIFZURSBQcm9waHlsYXhpcyJdDQogICAgICAgICAgdW5pb24gWyJNZWRpY2F0aW9uUmVxdWVzdCI6ICJXYXJmYXJpbiJdDQogICAgICAgICAgdW5pb24gWyJNZWRpY2F0aW9uUmVxdWVzdCI6ICJSaXZhcm94YWJhbiBmb3IgVlRFIFByb3BoeWxheGlzIl0gKSBNZWRpY2F0aW9uT3JkZXJSZWplY3QsDQogICAgICAgIFtUYXNrUmVqZWN0ZWRdIFQNCiAgICAgICAgd2hlcmUgVC5mb2N1cy5yZWZlcmVuY2VzICggTWVkaWNhdGlvbk9yZGVyUmVqZWN0ICkNCiAgICAgICAgICBhbmQgVC5jb2RlIH4gUUlDb3JlQ29tbW9uLiJGdWxmaWxsIg0KICAgICAgICAgIGFuZCBNZWRpY2F0aW9uT3JkZXJSZWplY3Quc3RhdHVzID0gJ2FjdGl2ZScNCiAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICBpZDogTWVkaWNhdGlvbk9yZGVyUmVqZWN0LmlkLA0KICAgICAgICAgIG1lZGljYXRpb25TdGF0dXNSZWFzb246IHsgVC5zdGF0dXNSZWFzb24gfSwNCiAgICAgICAgICBhdXRob3JlZE9uOiBNZWRpY2F0aW9uT3JkZXJSZWplY3QuYXV0aG9yZWRPbg0KICAgICAgICB9DQogICAgKQ0KDQpkZWZpbmUgIk5vIE1lY2hhbmljYWwgVlRFIFByb3BoeWxheGlzIER1ZSBUbyBNZWRpY2FsIFJlYXNvbiBGcm9tIERheSBPZiBTdGFydCBPZiBIb3NwaXRhbGl6YXRpb24gVG8gRGF5IEFmdGVyIEZpcnN0IElDVSBTdGF5IjoNCiAgIkVuY291bnRlciBXaXRoIElDVSBMb2NhdGlvbiIgUXVhbGlmeWluZ0VuY291bnRlcklDVQ0KICAgIHdpdGggIk5vIE1lY2hhbmljYWwgVlRFIFByb3BoeWxheGlzIFBlcmZvcm1lZCBPciBPcmRlcmVkIiBOb1ZURURldmljZQ0KICAgICAgc3VjaCB0aGF0IE5vVlRFRGV2aWNlLnJlcXVlc3RTdGF0dXNSZWFzb24gaW4gIk1lZGljYWwgUmVhc29uIEZvciBOb3QgUHJvdmlkaW5nIFRyZWF0bWVudCINCiAgICAgICAgYW5kIE5vVlRFRGV2aWNlLmF1dGhvcmVkT24gZHVyaW5nIGRheSBvZiBRdWFsaWZ5aW5nRW5jb3VudGVySUNVLmZyb21EYXlPZlN0YXJ0T2ZIb3NwaXRhbGl6YXRpb25Ub0RheUFmdGVyRmlyc3RJQ1UgKCApDQoNCmRlZmluZSAiTm8gTWVjaGFuaWNhbCBWVEUgUHJvcGh5bGF4aXMgUGVyZm9ybWVkIE9yIE9yZGVyZWQiOg0KICAoICggW1NlcnZpY2VOb3RSZXF1ZXN0ZWQ6ICJWZW5vdXMgZm9vdCBwdW1wcyJdDQogICAgICB1bmlvbiBbU2VydmljZU5vdFJlcXVlc3RlZDogIkludGVybWl0dGVudCBwbmV1bWF0aWMgY29tcHJlc3Npb24gZGV2aWNlcyJdDQogICAgICB1bmlvbiBbU2VydmljZU5vdFJlcXVlc3RlZDogIkdyYWR1YXRlZCBjb21wcmVzc2lvbiBzdG9ja2luZ3MiXSApIERldmljZU5vdE9yZGVyDQogICAgICB3aGVyZSBEZXZpY2VOb3RPcmRlci5pbnRlbnQgaW4geyAnb3JkZXInLCAnb3JpZ2luYWwtb3JkZXInLCAncmVmbGV4LW9yZGVyJywgJ2ZpbGxlci1vcmRlcicsICdpbnN0YW5jZS1vcmRlcicgfQ0KICAgICAgcmV0dXJuIHsNCiAgICAgICAgaWQ6IERldmljZU5vdE9yZGVyLmlkLA0KICAgICAgICByZXF1ZXN0U3RhdHVzUmVhc29uOiBEZXZpY2VOb3RPcmRlci5yZWFzb25SZWZ1c2VkLA0KICAgICAgICBhdXRob3JlZE9uOiBEZXZpY2VOb3RPcmRlci5hdXRob3JlZE9uDQogICAgICB9DQogICkNCiAgICB1bmlvbiAoIGZyb20NCiAgICAgICAgKCBbU2VydmljZVJlcXVlc3Q6ICJWZW5vdXMgZm9vdCBwdW1wcyJdDQogICAgICAgICAgdW5pb24gW1NlcnZpY2VSZXF1ZXN0OiAiSW50ZXJtaXR0ZW50IHBuZXVtYXRpYyBjb21wcmVzc2lvbiBkZXZpY2VzIl0NCiAgICAgICAgICB1bmlvbiBbU2VydmljZVJlcXVlc3Q6ICJHcmFkdWF0ZWQgY29tcHJlc3Npb24gc3RvY2tpbmdzIl0gKSBEZXZpY2VPcmRlclJlamVjdCwNCiAgICAgICAgW1Rhc2tSZWplY3RlZF0gVA0KICAgICAgICB3aGVyZSBEZXZpY2VPcmRlclJlamVjdC5pbnRlbnQgaW4geyAnb3JkZXInLCAnb3JpZ2luYWwtb3JkZXInLCAncmVmbGV4LW9yZGVyJywgJ2ZpbGxlci1vcmRlcicsICdpbnN0YW5jZS1vcmRlcicgfQ0KICAgICAgICAgIGFuZCBEZXZpY2VPcmRlclJlamVjdC5zdGF0dXMgPSAnYWN0aXZlJw0KICAgICAgICAgIGFuZCBULmZvY3VzLnJlZmVyZW5jZXMgKCBEZXZpY2VPcmRlclJlamVjdCApDQogICAgICAgICAgYW5kIFQuY29kZSB+IFFJQ29yZUNvbW1vbi4iRnVsZmlsbCINCiAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICBpZDogRGV2aWNlT3JkZXJSZWplY3QuaWQsDQogICAgICAgICAgcmVxdWVzdFN0YXR1c1JlYXNvbjogVC5zdGF0dXNSZWFzb24sDQogICAgICAgICAgYXV0aG9yZWRPbjogRGV2aWNlT3JkZXJSZWplY3QuYXV0aG9yZWRPbg0KICAgICAgICB9DQogICAgKQ0KICAgIHVuaW9uICggKCBbUHJvY2VkdXJlTm90RG9uZTogIkFwcGxpY2F0aW9uIG9mIEludGVybWl0dGVudCBQbmV1bWF0aWMgQ29tcHJlc3Npb24gRGV2aWNlcyJdDQogICAgICAgIHVuaW9uIFtQcm9jZWR1cmVOb3REb25lOiAiQXBwbGljYXRpb24gb2YgVmVub3VzIEZvb3QgUHVtcHMiXQ0KICAgICAgICB1bmlvbiBbUHJvY2VkdXJlTm90RG9uZTogIkFwcGxpY2F0aW9uIG9mIEdyYWR1YXRlZCBDb21wcmVzc2lvbiBTdG9ja2luZ3MiXSApIERldmljZU5vdEFwcGxpZWQNCiAgICAgICAgbGV0IERldmljZU5vdERvbmVUaW1pbmc6IERldmljZU5vdEFwcGxpZWQucmVjb3JkZWQNCiAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICBpZDogRGV2aWNlTm90QXBwbGllZC5pZCwNCiAgICAgICAgICByZXF1ZXN0U3RhdHVzUmVhc29uOiBEZXZpY2VOb3RBcHBsaWVkLnN0YXR1c1JlYXNvbiwNCiAgICAgICAgICBhdXRob3JlZE9uOiBEZXZpY2VOb3REb25lVGltaW5nDQogICAgICAgIH0NCiAgICApDQoNCmRlZmluZSAiTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gRHVlIFRvIE1lZGljYWwgUmVhc29uIE9uIERheSBPZiBPciBEYXkgQWZ0ZXIgUHJvY2VkdXJlIjoNCiAgZnJvbQ0KICAgICJFbmNvdW50ZXIgV2l0aCBJQ1UgTG9jYXRpb24iIFF1YWxpZnlpbmdFbmNvdW50ZXJJQ1UsDQogICAgWyJQcm9jZWR1cmUiOiAiR2VuZXJhbCBvciBOZXVyYXhpYWwgQW5lc3RoZXNpYSJdIEFuZXN0aGVzaWFQcm9jZWR1cmUsDQogICAgIk5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIEFkbWluaXN0ZXJlZCBPciBPcmRlcmVkIiBOb1ZURU1lZGljYXRpb24NCiAgICB3aGVyZSBOb1ZURU1lZGljYXRpb24ubWVkaWNhdGlvblN0YXR1c1JlYXNvbiBpbiAiTWVkaWNhbCBSZWFzb24gRm9yIE5vdCBQcm92aWRpbmcgVHJlYXRtZW50Ig0KICAgICAgYW5kIEFuZXN0aGVzaWFQcm9jZWR1cmUuc3RhdHVzID0gJ2NvbXBsZXRlZCcNCiAgICAgIGFuZCBBbmVzdGhlc2lhUHJvY2VkdXJlLnBlcmZvcm1lZC50b0ludGVydmFsICggKSBlbmRzIDEgZGF5IGFmdGVyIGRheSBvZiBRdWFsaWZ5aW5nRW5jb3VudGVySUNVLnN0YXJ0T2ZGaXJzdElDVSAoICkNCiAgICAgIGFuZCBOb1ZURU1lZGljYXRpb24uYXV0aG9yZWRPbiBkdXJpbmcgZGF5IG9mICggZW5kIG9mIEFuZXN0aGVzaWFQcm9jZWR1cmUucGVyZm9ybWVkLnRvSW50ZXJ2YWwgKCApICkuQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIgKCApDQogICAgcmV0dXJuIFF1YWxpZnlpbmdFbmNvdW50ZXJJQ1UNCg0KZGVmaW5lICJObyBNZWNoYW5pY2FsIFZURSBQcm9waHlsYXhpcyBEdWUgVG8gTWVkaWNhbCBSZWFzb24gT24gRGF5IE9mIE9yIERheSBBZnRlciBQcm9jZWR1cmUiOg0KICBmcm9tDQogICAgIkVuY291bnRlciBXaXRoIElDVSBMb2NhdGlvbiIgUXVhbGlmeWluZ0VuY291bnRlcklDVSwNCiAgICBbIlByb2NlZHVyZSI6ICJHZW5lcmFsIG9yIE5ldXJheGlhbCBBbmVzdGhlc2lhIl0gQW5lc3RoZXNpYVByb2NlZHVyZSwNCiAgICAiTm8gTWVjaGFuaWNhbCBWVEUgUHJvcGh5bGF4aXMgUGVyZm9ybWVkIE9yIE9yZGVyZWQiIE5vVlRFRGV2aWNlDQogICAgd2hlcmUgTm9WVEVEZXZpY2UucmVxdWVzdFN0YXR1c1JlYXNvbiBpbiAiTWVkaWNhbCBSZWFzb24gRm9yIE5vdCBQcm92aWRpbmcgVHJlYXRtZW50Ig0KICAgICAgYW5kIEFuZXN0aGVzaWFQcm9jZWR1cmUuc3RhdHVzID0gJ2NvbXBsZXRlZCcNCiAgICAgIGFuZCBBbmVzdGhlc2lhUHJvY2VkdXJlLnBlcmZvcm1lZC50b0ludGVydmFsICggKSBlbmRzIDEgZGF5IGFmdGVyIGRheSBvZiBRdWFsaWZ5aW5nRW5jb3VudGVySUNVLnN0YXJ0T2ZGaXJzdElDVSAoICkNCiAgICAgIGFuZCBOb1ZURURldmljZS5hdXRob3JlZE9uIGR1cmluZyBkYXkgb2YgKCBlbmQgb2YgQW5lc3RoZXNpYVByb2NlZHVyZS5wZXJmb3JtZWQudG9JbnRlcnZhbCAoICkgKS5DYWxlbmRhckRheU9mT3JEYXlBZnRlciAoICkNCiAgICByZXR1cm4gUXVhbGlmeWluZ0VuY291bnRlcklDVQ0KDQpkZWZpbmUgIkVuY291bnRlciBXaXRoIE5vIFZURSBQcm9waHlsYXhpcyBEdWUgVG8gUGF0aWVudCBSZWZ1c2FsIjoNCiAgIk5vIFZURSBQcm9waHlsYXhpcyBEdWUgVG8gUGF0aWVudCBSZWZ1c2FsIEZyb20gRGF5IE9mIFN0YXJ0IE9mIEhvc3BpdGFsaXphdGlvbiBUbyBEYXkgQWZ0ZXIgRmlyc3QgSUNVIFN0YXkiDQogICAgdW5pb24gIk5vIFZURSBQcm9waHlsYXhpcyBEdWUgVG8gUGF0aWVudCBSZWZ1c2FsIE9uIERheSBPZiBPciBEYXkgQWZ0ZXIgUHJvY2VkdXJlIg0KDQpkZWZpbmUgIk5vIFZURSBQcm9waHlsYXhpcyBEdWUgVG8gUGF0aWVudCBSZWZ1c2FsIEZyb20gRGF5IE9mIFN0YXJ0IE9mIEhvc3BpdGFsaXphdGlvbiBUbyBEYXkgQWZ0ZXIgRmlyc3QgSUNVIFN0YXkiOg0KICAiRW5jb3VudGVyIFdpdGggSUNVIExvY2F0aW9uIiBRdWFsaWZ5aW5nRW5jb3VudGVySUNVDQogICAgd2l0aCAiTm8gTWVjaGFuaWNhbCBvciBQaGFybWFjb2xvZ2ljYWwgVlRFIFByb3BoeWxheGlzIER1ZSBUbyBQYXRpZW50IFJlZnVzYWwiIFBhdGllbnRSZWZ1c2FsDQogICAgICBzdWNoIHRoYXQgUGF0aWVudFJlZnVzYWwuYXV0aG9yZWRPbiBkdXJpbmcgZGF5IG9mIFF1YWxpZnlpbmdFbmNvdW50ZXJJQ1UuZnJvbURheU9mU3RhcnRPZkhvc3BpdGFsaXphdGlvblRvRGF5QWZ0ZXJGaXJzdElDVSAoICkNCg0KZGVmaW5lICJObyBWVEUgUHJvcGh5bGF4aXMgRHVlIFRvIFBhdGllbnQgUmVmdXNhbCBPbiBEYXkgT2YgT3IgRGF5IEFmdGVyIFByb2NlZHVyZSI6DQogIGZyb20NCiAgICAiRW5jb3VudGVyIFdpdGggSUNVIExvY2F0aW9uIiBRdWFsaWZ5aW5nRW5jb3VudGVySUNVLA0KICAgIFsiUHJvY2VkdXJlIjogIkdlbmVyYWwgb3IgTmV1cmF4aWFsIEFuZXN0aGVzaWEiXSBBbmVzdGhlc2lhUHJvY2VkdXJlLA0KICAgICJObyBNZWNoYW5pY2FsIG9yIFBoYXJtYWNvbG9naWNhbCBWVEUgUHJvcGh5bGF4aXMgRHVlIFRvIFBhdGllbnQgUmVmdXNhbCIgUGF0aWVudFJlZnVzYWwNCiAgICB3aGVyZSBBbmVzdGhlc2lhUHJvY2VkdXJlLnN0YXR1cyA9ICdjb21wbGV0ZWQnDQogICAgICBhbmQgQW5lc3RoZXNpYVByb2NlZHVyZS5wZXJmb3JtZWQudG9JbnRlcnZhbCAoICkgZW5kcyAxIGRheSBhZnRlciBkYXkgb2YgUXVhbGlmeWluZ0VuY291bnRlcklDVS5zdGFydE9mRmlyc3RJQ1UgKCApDQogICAgICBhbmQgUGF0aWVudFJlZnVzYWwuYXV0aG9yZWRPbiBkdXJpbmcgZGF5IG9mICggZW5kIG9mIEFuZXN0aGVzaWFQcm9jZWR1cmUucGVyZm9ybWVkLnRvSW50ZXJ2YWwgKCApICkuQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIgKCApDQogICAgcmV0dXJuIFF1YWxpZnlpbmdFbmNvdW50ZXJJQ1UNCg0KZGVmaW5lICJObyBNZWNoYW5pY2FsIG9yIFBoYXJtYWNvbG9naWNhbCBWVEUgUHJvcGh5bGF4aXMgRHVlIFRvIFBhdGllbnQgUmVmdXNhbCI6DQogICggIk5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIEFkbWluaXN0ZXJlZCBPciBPcmRlcmVkIiBOb1ZURU1lZGljYXRpb24NCiAgICAgIHdoZXJlIE5vVlRFTWVkaWNhdGlvbi5tZWRpY2F0aW9uU3RhdHVzUmVhc29uIGluICJQYXRpZW50IFJlZnVzYWwiDQogICkNCiAgICB1bmlvbiAoICJObyBNZWNoYW5pY2FsIFZURSBQcm9waHlsYXhpcyBQZXJmb3JtZWQgT3IgT3JkZXJlZCIgTm9WVEVEZXZpY2UNCiAgICAgICAgd2hlcmUgTm9WVEVEZXZpY2UucmVxdWVzdFN0YXR1c1JlYXNvbiBpbiAiUGF0aWVudCBSZWZ1c2FsIg0KICAgICkNCg0KZGVmaW5lICJEZW5vbWluYXRvciBFeGNlcHRpb25zIjoNCiAgIkVuY291bnRlciBXaXRoIEZpcnN0IElDVSBMb2NhdGlvbiBTdGF5IExlc3MgVGhhbiAxIGRheSINCg0KZGVmaW5lICJFbmNvdW50ZXIgV2l0aCBGaXJzdCBJQ1UgTG9jYXRpb24gU3RheSBMZXNzIFRoYW4gMSBkYXkiOg0KICAiRW5jb3VudGVyIFdpdGggSUNVIExvY2F0aW9uIiBRdWFsaWZ5aW5nRW5jb3VudGVySUNVDQogICAgd2hlcmUgUXVhbGlmeWluZ0VuY291bnRlcklDVS5maXJzdElucGF0aWVudEludGVuc2l2ZUNhcmVVbml0ICggKS5wZXJpb2QubGVuZ3RoSW5EYXlzICggKSA8IDENCg0KZGVmaW5lIGZsdWVudCBmdW5jdGlvbiAic3RhcnRPZkZpcnN0SUNVIihFbmNvdW50ZXIgRW5jb3VudGVyKToNCiAgc3RhcnQgb2YgRW5jb3VudGVyLmZpcnN0SW5wYXRpZW50SW50ZW5zaXZlQ2FyZVVuaXQgKCApLnBlcmlvZA0KDQpkZWZpbmUgZmx1ZW50IGZ1bmN0aW9uICJmcm9tRGF5T2ZTdGFydE9mSG9zcGl0YWxpemF0aW9uVG9EYXlBZnRlckZpcnN0SUNVIihFbmNvdW50ZXIgRW5jb3VudGVyKToNCiAgSW50ZXJ2YWxbZGF0ZSBmcm9tICggc3RhcnQgb2YgRW5jb3VudGVyLmhvc3BpdGFsaXphdGlvbldpdGhPYnNlcnZhdGlvbiAoICkgKSwgZGF0ZSBmcm9tICggRW5jb3VudGVyLnN0YXJ0T2ZGaXJzdElDVSAoICkgKSArIDEgZGF5XQ=="/>
  </content>
</Library>