Quality Measure Implementation Guide

This page is part of the Quality Measure STU2 for FHIR R4 Implementation Guide (v0.1.0: STU 1 Ballot 1) based on FHIR R3. The current version which supercedes this version is 3.0.0. For a full list of available versions, see the Directory of published versions

AdultOutpatientEncounters_FHIR


<Library xmlns="http://hl7.org/fhir">
  <id value="library-adult-outpatient-encounters-FHIR"/>
  <meta>
    <versionId value="3"/>
    <lastUpdated value="2019-03-12T02:14:29.762-06:00"/>
    <profile
             value="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/library-cqfm"/>
  </meta>
  <text>
    <status value="generated"/>
    <div xmlns="http://www.w3.org/1999/xhtml"><table class="grid dict"><tr><th scope="row"><b>Id: </b></th><td style="padding-left: 25px; padding-right: 25px;">Library/library-adult-outpatient-encounters-FHIR</td></tr><tr><th scope="row"><b>Type: </b></th><td style="padding-right: 25px;"><span><span><span style="padding-left: 25px;"><b>system: </b><span>http://hl7.org/fhir/library-type</span><br/></span><span style="padding-left: 25px;"><b>code: </b><span>logic-library</span></span></span></span></td></tr><tr style="vertical-align: top;"><th rowspan="1" scope="row"><b>Identifier: </b></th><td style="padding-left: 25px; padding-right: 25px;"><b>system: </b><span>http://example.org/fhir/cqi/ecqm/Library/Identifier</span><br/><b>value: </b><span>AdultOutpatientEncounters_FHIR</span></td></tr><tr><th scope="row"><b>Version: </b></th><td style="padding-left: 25px; padding-right: 25px;">1.1.000</td></tr><tr><th scope="row"><b>Title: </b></th><td style="padding-left: 25px; padding-right: 25px;">Adult Outpatient Encounters Common Library</td></tr><tr><th scope="row"><b>Status: </b></th><td style="padding-left: 25px; padding-right: 25px;">active</td></tr><tr><th scope="row"><b>Description: </b></th><td style="padding-left: 25px; padding-right: 25px;">This library is used as an example in the FHIR Quality Measure Implementation Guide</td></tr><tr style="vertical-align: top;"><th rowspan="1" scope="row"><b>Related: </b></th><td style="padding-left: 25px; padding-right: 25px;"><p style="margin-bottom: 5px;"><b>type: </b><span>depends-on</span></p><p style="margin-bottom: 5px;"><b>Resource: </b><br/><span><span style="padding-left: 25px;"><b>reference: </b><span>Library/library-fhir-helpers</span></span></span></p></td></tr><tr style="vertical-align: top;"><th rowspan="5" scope="row"><b>Data Requirements: </b></th><td style="padding-left: 25px; padding-right: 25px;"><div xmlns="http://www.w3.org/1999/xhtml"><p style="margin-bottom: 5px;"><b>type: </b><span>Encounter</span></p><p style="margin-bottom: 5px;"><b>code filter:</b><br/><span style="padding-left: 25px;"><b>path: </b><span>type</span></span><br/><span style="padding-left: 25px;"><b>valueset: </b><span>https://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001</span></span></p></div></td></tr><tr style="vertical-align: top;"><td style="padding-left: 25px; padding-right: 25px;"><div xmlns="http://www.w3.org/1999/xhtml"><p style="margin-bottom: 5px;"><b>type: </b><span>Encounter</span></p><p style="margin-bottom: 5px;"><b>code filter:</b><br/><span style="padding-left: 25px;"><b>path: </b><span>type</span></span><br/><span style="padding-left: 25px;"><b>valueset: </b><span>https://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1240</span></span></p></div></td></tr><tr style="vertical-align: top;"><td style="padding-left: 25px; padding-right: 25px;"><div xmlns="http://www.w3.org/1999/xhtml"><p style="margin-bottom: 5px;"><b>type: </b><span>Encounter</span></p><p style="margin-bottom: 5px;"><b>code filter:</b><br/><span style="padding-left: 25px;"><b>path: </b><span>type</span></span><br/><span style="padding-left: 25px;"><b>valueset: </b><span>https://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025</span></span></p></div></td></tr><tr style="vertical-align: top;"><td style="padding-left: 25px; padding-right: 25px;"><div xmlns="http://www.w3.org/1999/xhtml"><p style="margin-bottom: 5px;"><b>type: </b><span>Encounter</span></p><p style="margin-bottom: 5px;"><b>code filter:</b><br/><span style="padding-left: 25px;"><b>path: </b><span>type</span></span><br/><span style="padding-left: 25px;"><b>valueset: </b><span>https://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023</span></span></p></div></td></tr><tr style="vertical-align: top;"><td style="padding-left: 25px; padding-right: 25px;"><div xmlns="http://www.w3.org/1999/xhtml"><p style="margin-bottom: 5px;"><b>type: </b><span>Encounter</span></p><p style="margin-bottom: 5px;"><b>code filter:</b><br/><span style="padding-left: 25px;"><b>path: </b><span>type</span></span><br/><span style="padding-left: 25px;"><b>valueset: </b><span>https://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016</span></span></p></div></td></tr>    <!-- Filter down to human readable content --><tr style="vertical-align: top;"><th scope="row"><b>Content: </b></th><td style="padding-left: 25px; padding-right: 25px;"><b>type: </b><span>text/cql</span></td></tr><tr><td colspan="2" style="padding-left: 25px; padding-right: 25px;"><pre><code class="language-cql">library AdultOutpatientEncounters_FHIR version '1.1.000'

/*
This example is a work in progress and should not be considered a final specification
or recommendation for guidance. This example will help guide and direct the process
of finding conventions and usage patterns that meet the needs of the various stakeholders
in the measure development community.
*/

using FHIR version '3.0.0'

include FHIRHelpers version '3.0.0' called FHIRHelpers

valueset "Office Visit": 'https://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001'
valueset "Annual Wellness Visit": 'https://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1240'
valueset "Preventive Care Services - Established Office Visit, 18 and Up": 'https://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025'
valueset "Preventive Care Services-Initial Office Visit, 18 and Up": 'https://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023'
valueset "Home Healthcare Services": 'https://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016'

context Patient

define function "Qualifying Encounters"(MeasurementPeriod Interval&lt;DateTime&gt;):
  ( [Encounter: "Office Visit"]
    union [Encounter: "Annual Wellness Visit"]
    union [Encounter: "Preventive Care Services - Established Office Visit, 18 and Up"]
    union [Encounter: "Preventive Care Services-Initial Office Visit, 18 and Up"]
    union [Encounter: "Home Healthcare Services"] ) ValidEncounter
    where ValidEncounter.period during day of MeasurementPeriod
      and ValidEncounter.status = 'finished'</code></pre>
                    
                    
                </td>
            </tr>
        
        
            
            
        
    </table>
</div>
  </text>
  <url
       value="http://hl7.org/fhir/us/cqfmeasures/Library/library-adult-outpatient-encounters-FHIR"/>
  <identifier>
    <use value="official"/>
    <system value="http://example.org/fhir/cqi/ecqm/Library/Identifier"/>
    <value value="AdultOutpatientEncounters_FHIR"/>
  </identifier>
  <version value="1.1.000"/>
  <name value="AdultOutpatientEncounters_FHIR"/>
  <title value="Adult Outpatient Encounters Common Library"/>
  <status value="active"/>
  <experimental value="true"/>
  <type>
    <coding>
      <system value="http://hl7.org/fhir/library-type"/>
      <code value="logic-library"/>
    </coding>
  </type>
  <date value="2019-09-03"/>
  <publisher
             value="Health Level 7 International - Clinical Quality Information Work Group"/>
  <description
               value="This library is used as an example in the FHIR Quality Measure Implementation Guide"/>
  <approvalDate value="2019-08-03"/>
  <lastReviewDate value="2019-08-03"/>
  <contact>
    <telecom>
      <system value="url"/>
      <value value="http://www.hl7.org/Special/committees/cqi/index.cfm"/>
    </telecom>
  </contact>
  <relatedArtifact>
    <type value="depends-on"/>
    <resource>
      <reference value="Library/library-fhir-model-definition"/>
    </resource>
  </relatedArtifact>
  <relatedArtifact>
    <type value="depends-on"/>
    <resource>
      <reference value="Library/library-fhir-helpers"/>
    </resource>
  </relatedArtifact>
  <dataRequirement>
    <type value="Encounter"/>
    <codeFilter>
      <path value="type"/>
      <valueSetString
                      value="https://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001"/>
    </codeFilter>
  </dataRequirement>
  <dataRequirement>
    <type value="Encounter"/>
    <codeFilter>
      <path value="type"/>
      <valueSetString
                      value="https://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1240"/>
    </codeFilter>
  </dataRequirement>
  <dataRequirement>
    <type value="Encounter"/>
    <codeFilter>
      <path value="type"/>
      <valueSetString
                      value="https://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025"/>
    </codeFilter>
  </dataRequirement>
  <dataRequirement>
    <type value="Encounter"/>
    <codeFilter>
      <path value="type"/>
      <valueSetString
                      value="https://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023"/>
    </codeFilter>
  </dataRequirement>
  <dataRequirement>
    <type value="Encounter"/>
    <codeFilter>
      <path value="type"/>
      <valueSetString
                      value="https://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016"/>
    </codeFilter>
  </dataRequirement>
  <content>
    <contentType value="text/cql"/>
    <data
          value="bGlicmFyeSBBZHVsdE91dHBhdGllbnRFbmNvdW50ZXJzX0ZISVIgdmVyc2lvbiAnMS4xLjAwMCcNCg0KLyoNClRoaXMgZXhhbXBsZSBpcyBhIHdvcmsgaW4gcHJvZ3Jlc3MgYW5kIHNob3VsZCBub3QgYmUgY29uc2lkZXJlZCBhIGZpbmFsIHNwZWNpZmljYXRpb24NCm9yIHJlY29tbWVuZGF0aW9uIGZvciBndWlkYW5jZS4gVGhpcyBleGFtcGxlIHdpbGwgaGVscCBndWlkZSBhbmQgZGlyZWN0IHRoZSBwcm9jZXNzDQpvZiBmaW5kaW5nIGNvbnZlbnRpb25zIGFuZCB1c2FnZSBwYXR0ZXJucyB0aGF0IG1lZXQgdGhlIG5lZWRzIG9mIHRoZSB2YXJpb3VzIHN0YWtlaG9sZGVycw0KaW4gdGhlIG1lYXN1cmUgZGV2ZWxvcG1lbnQgY29tbXVuaXR5Lg0KKi8NCg0KdXNpbmcgRkhJUiB2ZXJzaW9uICczLjAuMCcNCg0KaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcgY2FsbGVkIEZISVJIZWxwZXJzDQoNCnZhbHVlc2V0ICJPZmZpY2UgVmlzaXQiOiAnaHR0cHM6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDAxJw0KdmFsdWVzZXQgIkFubnVhbCBXZWxsbmVzcyBWaXNpdCI6ICdodHRwczovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNTI2LjMuMTI0MCcNCnZhbHVlc2V0ICJQcmV2ZW50aXZlIENhcmUgU2VydmljZXMgLSBFc3RhYmxpc2hlZCBPZmZpY2UgVmlzaXQsIDE4IGFuZCBVcCI6ICdodHRwczovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMjUnDQp2YWx1ZXNldCAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzLUluaXRpYWwgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiOiAnaHR0cHM6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDIzJw0KdmFsdWVzZXQgIkhvbWUgSGVhbHRoY2FyZSBTZXJ2aWNlcyI6ICdodHRwczovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMTYnDQoNCmNvbnRleHQgUGF0aWVudA0KDQpkZWZpbmUgZnVuY3Rpb24gIlF1YWxpZnlpbmcgRW5jb3VudGVycyIoTWVhc3VyZW1lbnRQZXJpb2QgSW50ZXJ2YWw8RGF0ZVRpbWU+KToNCiAgKCBbRW5jb3VudGVyOiAiT2ZmaWNlIFZpc2l0Il0NCiAgICB1bmlvbiBbRW5jb3VudGVyOiAiQW5udWFsIFdlbGxuZXNzIFZpc2l0Il0NCiAgICB1bmlvbiBbRW5jb3VudGVyOiAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzIC0gRXN0YWJsaXNoZWQgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiXQ0KICAgIHVuaW9uIFtFbmNvdW50ZXI6ICJQcmV2ZW50aXZlIENhcmUgU2VydmljZXMtSW5pdGlhbCBPZmZpY2UgVmlzaXQsIDE4IGFuZCBVcCJdDQogICAgdW5pb24gW0VuY291bnRlcjogIkhvbWUgSGVhbHRoY2FyZSBTZXJ2aWNlcyJdICkgVmFsaWRFbmNvdW50ZXINCiAgICB3aGVyZSBWYWxpZEVuY291bnRlci5wZXJpb2QgZHVyaW5nIGRheSBvZiBNZWFzdXJlbWVudFBlcmlvZA0KICAgICAgYW5kIFZhbGlkRW5jb3VudGVyLnN0YXR1cyA9ICdmaW5pc2hlZCc="/>
  </content>
  <content>
    <contentType value="application/elm+xml"/>
    <data
          value="PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IkFkdWx0T3V0cGF0aWVudEVuY291bnRlcnNfRkhJUiIgdmVyc2lvbj0iMS4xLjAwMCIvPg0KICAgPHNjaGVtYUlkZW50aWZpZXIgaWQ9InVybjpobDctb3JnOmVsbSIgdmVyc2lvbj0icjEiLz4NCiAgIDx1c2luZ3M+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPg0KICAgICAgPGRlZiBsb2NhbElkPSIxIiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgIDwvdXNpbmdzPg0KICAgPGluY2x1ZGVzPg0KICAgICAgPGRlZiBsb2NhbElkPSIyIiBsb2NhbElkZW50aWZpZXI9IkZISVJIZWxwZXJzIiBwYXRoPSJGSElSSGVscGVycyIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgIDwvaW5jbHVkZXM+DQogICA8dmFsdWVTZXRzPg0KICAgICAgPGRlZiBsb2NhbElkPSIzIiBuYW1lPSJPZmZpY2UgVmlzaXQiIGlkPSJodHRwczovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMDEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbG9jYWxJZD0iNCIgbmFtZT0iQW5udWFsIFdlbGxuZXNzIFZpc2l0IiBpZD0iaHR0cHM6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjUyNi4zLjEyNDAiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbG9jYWxJZD0iNSIgbmFtZT0iUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzIC0gRXN0YWJsaXNoZWQgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiIGlkPSJodHRwczovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMjUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbG9jYWxJZD0iNiIgbmFtZT0iUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzLUluaXRpYWwgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiIGlkPSJodHRwczovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMjMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbG9jYWxJZD0iNyIgbmFtZT0iSG9tZSBIZWFsdGhjYXJlIFNlcnZpY2VzIiBpZD0iaHR0cHM6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDE2IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICA8L3ZhbHVlU2V0cz4NCiAgIDxzdGF0ZW1lbnRzPg0KICAgICAgPGRlZiBuYW1lPSJQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50Ij4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOlBhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIGxvY2FsSWQ9IjMwIiBuYW1lPSJRdWFsaWZ5aW5nIEVuY291bnRlcnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4NCiAgICAgICAgICAgIDxhOnMgcj0iMzAiPg0KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gJnF1b3Q7UXVhbGlmeWluZyBFbmNvdW50ZXJzJnF1b3Q7KE1lYXN1cmVtZW50UGVyaW9kIDwvYTpzPg0KICAgICAgICAgICAgICAgPGE6cyByPSI5Ij4NCiAgICAgICAgICAgICAgICAgIDxhOnM+SW50ZXJ2YWwmbHQ7PC9hOnM+DQogICAgICAgICAgICAgICAgICA8YTpzIHI9IjgiPg0KICAgICAgICAgICAgICAgICAgICAgPGE6cz5EYXRlVGltZTwvYTpzPg0KICAgICAgICAgICAgICAgICAgPC9hOnM+DQogICAgICAgICAgICAgICAgICA8YTpzPj48L2E6cz4NCiAgICAgICAgICAgICAgIDwvYTpzPg0KICAgICAgICAgICAgICAgPGE6cz4pOiYjeGQ7CiAgPC9hOnM+DQogICAgICAgICAgICAgICA8YTpzIHI9IjI5Ij4NCiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjkiPg0KICAgICAgICAgICAgICAgICAgICAgPGE6cz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiggPC9hOnM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTAiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5bRW5jb3VudGVyOiA8L2E6cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O09mZmljZSBWaXNpdCZxdW90OzwvYTpzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPl08L2E6cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mI3hkOwogICAgdW5pb24gPC9hOnM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+W0VuY291bnRlcjogPC9hOnM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtBbm51YWwgV2VsbG5lc3MgVmlzaXQmcXVvdDs8L2E6cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5dPC9hOnM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mI3hkOwogICAgdW5pb24gPC9hOnM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+W0VuY291bnRlcjogPC9hOnM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtQcmV2ZW50aXZlIENhcmUgU2VydmljZXMgLSBFc3RhYmxpc2hlZCBPZmZpY2UgVmlzaXQsIDE4IGFuZCBVcCZxdW90OzwvYTpzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPl08L2E6cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiYjeGQ7CiAgICB1bmlvbiA8L2E6cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5bRW5jb3VudGVyOiA8L2E6cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1ByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcy1Jbml0aWFsIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwJnF1b3Q7PC9hOnM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+XTwvYTpzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JiN4ZDsKICAgIHVuaW9uIDwvYTpzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPltFbmNvdW50ZXI6IDwvYTpzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7SG9tZSBIZWFsdGhjYXJlIFNlcnZpY2VzJnF1b3Q7PC9hOnM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+XTwvYTpzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ICk8L2E6cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gVmFsaWRFbmNvdW50ZXI8L2E6cz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPg0KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+DQogICAgICAgICAgICAgICAgICAgICA8YTpzPiYjeGQ7CiAgICA8L2E6cz4NCiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjgiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjgiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjAiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5WYWxpZEVuY291bnRlcjwvYTpzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjEiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5wZXJpb2Q8L2E6cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzIj4gZHVyaW5nIGRheSBvZiA8L2E6cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5NZWFzdXJlbWVudFBlcmlvZDwvYTpzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JiN4ZDsKICAgICAgYW5kIDwvYTpzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5WYWxpZEVuY291bnRlcjwvYTpzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5zdGF0dXM8L2E6cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA9IDwvYTpzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidmaW5pc2hlZCc8L2E6cz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4NCiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPg0KICAgICAgICAgICAgICAgICAgPC9hOnM+DQogICAgICAgICAgICAgICA8L2E6cz4NCiAgICAgICAgICAgIDwvYTpzPg0KICAgICAgICAgPC9hbm5vdGF0aW9uPg0KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjkiIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjE5IiBhbGlhcz0iVmFsaWRFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTgiIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNiIgeHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEyIiB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTAiIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9Ik9mZmljZSBWaXNpdCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMSIgZGF0YVR5cGU9ImZoaXI6RW5jb3VudGVyIiBjb2RlUHJvcGVydHk9InR5cGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iQW5udWFsIFdlbGxuZXNzIFZpc2l0IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMyIgZGF0YVR5cGU9ImZoaXI6RW5jb3VudGVyIiBjb2RlUHJvcGVydHk9InR5cGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzIC0gRXN0YWJsaXNoZWQgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTUiIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcy1Jbml0aWFsIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE3IiBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJIb21lIEhlYWx0aGNhcmUgU2VydmljZXMiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgbG9jYWxJZD0iMjgiIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjMiIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjEiIHBhdGg9InBlcmlvZCIgc2NvcGU9IlZhbGlkRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIyIiBuYW1lPSJNZWFzdXJlbWVudFBlcmlvZCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI3IiB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI1IiBwYXRoPSJzdGF0dXMiIHNjb3BlPSJWYWxpZEVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNiIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImZpbmlzaGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50UGVyaW9kIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI5IiB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbG9jYWxJZD0iOCIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgPC9zdGF0ZW1lbnRzPg0KPC9saWJyYXJ5Pg0K"/>
  </content>
</Library>