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
Active as of 2025-04-15 |
{
"resourceType" : "Library",
"id" : "CMS146FHIRAppropriateTestingforPharyngitis",
"meta" : {
"profile" : [
🔗 "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-shareablelibrary"🔗 ,
"http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-computablelibrary"🔗 ,
"http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-publishablelibrary"🔗 ,
"http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-executablelibrary"🔗 ,
"http://hl7.org/fhir/uv/cql/StructureDefinition/cql-library"🔗 ,
"http://hl7.org/fhir/uv/cql/StructureDefinition/elm-json-library"🔗 ,
"http://hl7.org/fhir/uv/cql/StructureDefinition/elm-xml-library"
]
},
"language" : "en",
"text" : {
"status" : "extensions",
"div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n <table class=\"grid dict\">\n \n \n <tr>\n <th scope=\"row\"><b>Title: </b></th>\n <td style=\"padding-left: 4px;\">CMS146FHIRAppropriateTestingforPharyngitis</td>\n </tr>\n \n\n \n \n <tr>\n <th scope=\"row\"><b>Id: </b></th>\n <td style=\"padding-left: 4px;\">CMS146FHIRAppropriateTestingforPharyngitis</td>\n </tr>\n \n\n \n \n <tr>\n <th scope=\"row\"><b>Version: </b></th>\n <td style=\"padding-left: 4px;\">0.3.000</td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Url: </b></th>\n <td style=\"padding-left: 4px;\">https://madie.cms.gov/Library/CMS146FHIRAppropriateTestingforPharyngitis</td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\">\n <b>\n \n official\n \n </b>\n </th>\n <td style=\"padding-left: 4px;\">\n \n <p style=\"margin-bottom: 5px;\">\n <span>CMS146FHIRAppropriateTestingforPharyngitis</span>\n </p>\n \n </td>\n </tr>\n \n\n \n\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Type: </b></th>\n <td style=\"padding-left: 4px;\">\n \n \n \n <p style=\"margin-bottom: 5px;\">\n <b>system: </b> <span>http://terminology.hl7.org/CodeSystem/library-type</span>\n </p>\n \n \n <p style=\"margin-bottom: 5px;\">\n <b>code: </b> <span>logic-library</span>\n </p>\n \n \n \n \n \n </td>\n </tr>\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Date: </b></th>\n <td style=\"padding-left: 4px;\">2025-04-15T20:44:03+00:00</td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Publisher: </b></th>\n <td style=\"padding-left: 4px;\">National Committee for Quality Assurance</td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Description: </b></th>\n <td style=\"padding-left: 4px;\">CMS146FHIRAppropriateTestingforPharyngitis</td>\n </tr>\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Related Artifacts: </b></th>\n <td style=\"padding-left: 4px;\">\n \n \n \n <p><b>Dependencies</b></p>\n <ul>\n \n <li>https://madie.cms.gov/Library/SupplementalDataElements|5.1.000</li>\n \n <li>https://madie.cms.gov/Library/Status|1.13.000</li>\n \n <li>https://madie.cms.gov/Library/FHIRHelpers|4.4.000</li>\n \n <li>https://madie.cms.gov/Library/QICoreCommon|4.0.000</li>\n \n <li>https://madie.cms.gov/Library/Hospice|6.15.000</li>\n \n <li>https://madie.cms.gov/Library/Antibiotic|1.9.000</li>\n \n <li>http://www.ama-assn.org/go/cpt</li>\n \n <li>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1012</li>\n \n <li>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1010</li>\n \n <li>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016</li>\n \n <li>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1073</li>\n \n <li>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001</li>\n \n <li>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1080</li>\n \n <li>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1089</li>\n \n <li>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1008</li>\n \n <li>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025</li>\n \n <li>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1027</li>\n \n <li>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1022</li>\n \n <li>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1026</li>\n \n <li>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023</li>\n \n <li>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1024</li>\n \n <li>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1001</li>\n \n <li>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.102.12.1011</li>\n \n <li>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.102.12.1012</li>\n \n <li>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.102.12.1025</li>\n \n <li>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.102.12.1017</li>\n \n </ul>\n \n \n \n \n \n </td>\n </tr>\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Data Requirements:</b></th>\n <td style=\"padding-left: 4px;\">\n <table class=\"grid-dict\">\n <tr><th><b>Type</b></th><th><b>Profile</b></th><th><b>MS</b></th><th><b>Code Filter</b></th></tr>\n \n <tr>\n <th>Patient</th>\n <th>http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-patient</th>\n <th>;;</th>\n <th>\n \n </th>\n </tr>\n \n <tr>\n <th>Encounter</th>\n <th>http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter</th>\n <th>;;</th>\n <th>\n \n <b>code filter: </b>\n \n <br/>\n \n \n <span style=\"padding-left: 4px;\">\n <b>path: </b><span>type</span>\n </span>\n \n <br/>\n \n \n \n <span style=\"padding-left: 4px;\">\n <b>value set: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1010</span>\n </span>\n \n \n \n </th>\n </tr>\n \n <tr>\n <th>Encounter</th>\n <th>http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter</th>\n <th>;;</th>\n <th>\n \n <b>code filter: </b>\n \n <br/>\n \n \n <span style=\"padding-left: 4px;\">\n <b>path: </b><span>type</span>\n </span>\n \n <br/>\n \n \n \n <span style=\"padding-left: 4px;\">\n <b>value set: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016</span>\n </span>\n \n \n \n </th>\n </tr>\n \n <tr>\n <th>Encounter</th>\n <th>http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter</th>\n <th>;;</th>\n <th>\n \n <b>code filter: </b>\n \n <br/>\n \n \n <span style=\"padding-left: 4px;\">\n <b>path: </b><span>type</span>\n </span>\n \n <br/>\n \n \n \n <span style=\"padding-left: 4px;\">\n <b>value set: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1073</span>\n </span>\n \n \n \n </th>\n </tr>\n \n <tr>\n <th>Encounter</th>\n <th>http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter</th>\n <th>;;</th>\n <th>\n \n <b>code filter: </b>\n \n <br/>\n \n \n <span style=\"padding-left: 4px;\">\n <b>path: </b><span>type</span>\n </span>\n \n <br/>\n \n \n \n <span style=\"padding-left: 4px;\">\n <b>value set: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001</span>\n </span>\n \n \n \n </th>\n </tr>\n \n <tr>\n <th>Encounter</th>\n <th>http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter</th>\n <th>;;</th>\n <th>\n \n <b>code filter: </b>\n \n <br/>\n \n \n <span style=\"padding-left: 4px;\">\n <b>path: </b><span>type</span>\n </span>\n \n <br/>\n \n \n \n <span style=\"padding-left: 4px;\">\n <b>value set: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1080</span>\n </span>\n \n \n \n </th>\n </tr>\n \n <tr>\n <th>Encounter</th>\n <th>http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter</th>\n <th>;;</th>\n <th>\n \n <b>code filter: </b>\n \n <br/>\n \n \n <span style=\"padding-left: 4px;\">\n <b>path: </b><span>type</span>\n </span>\n \n <br/>\n \n \n \n <span style=\"padding-left: 4px;\">\n <b>value set: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1089</span>\n </span>\n \n \n \n </th>\n </tr>\n \n <tr>\n <th>Encounter</th>\n <th>http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter</th>\n <th>;;</th>\n <th>\n \n <b>code filter: </b>\n \n <br/>\n \n \n <span style=\"padding-left: 4px;\">\n <b>path: </b><span>type</span>\n </span>\n \n <br/>\n \n \n \n <span style=\"padding-left: 4px;\">\n <b>value set: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1008</span>\n </span>\n \n \n \n </th>\n </tr>\n \n <tr>\n <th>Encounter</th>\n <th>http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter</th>\n <th>;;</th>\n <th>\n \n <b>code filter: </b>\n \n <br/>\n \n \n <span style=\"padding-left: 4px;\">\n <b>path: </b><span>type</span>\n </span>\n \n <br/>\n \n \n \n <span style=\"padding-left: 4px;\">\n <b>value set: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025</span>\n </span>\n \n \n \n </th>\n </tr>\n \n <tr>\n <th>Encounter</th>\n <th>http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter</th>\n <th>;;</th>\n <th>\n \n <b>code filter: </b>\n \n <br/>\n \n \n <span style=\"padding-left: 4px;\">\n <b>path: </b><span>type</span>\n </span>\n \n <br/>\n \n \n \n <span style=\"padding-left: 4px;\">\n <b>value set: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1027</span>\n </span>\n \n \n \n </th>\n </tr>\n \n <tr>\n <th>Encounter</th>\n <th>http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter</th>\n <th>;;</th>\n <th>\n \n </th>\n </tr>\n \n <tr>\n <th>Encounter</th>\n <th>http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter</th>\n <th>;;</th>\n <th>\n \n <b>code filter: </b>\n \n <br/>\n \n \n <span style=\"padding-left: 4px;\">\n <b>path: </b><span>type</span>\n </span>\n \n <br/>\n \n \n \n <span style=\"padding-left: 4px;\">\n <b>value set: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1022</span>\n </span>\n \n \n \n </th>\n </tr>\n \n <tr>\n <th>Encounter</th>\n <th>http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter</th>\n <th>;;</th>\n <th>\n \n <b>code filter: </b>\n \n <br/>\n \n \n <span style=\"padding-left: 4px;\">\n <b>path: </b><span>type</span>\n </span>\n \n <br/>\n \n \n \n <span style=\"padding-left: 4px;\">\n <b>value set: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1026</span>\n </span>\n \n \n \n </th>\n </tr>\n \n <tr>\n <th>Encounter</th>\n <th>http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter</th>\n <th>;;</th>\n <th>\n \n <b>code filter: </b>\n \n <br/>\n \n \n <span style=\"padding-left: 4px;\">\n <b>path: </b><span>type</span>\n </span>\n \n <br/>\n \n \n \n <span style=\"padding-left: 4px;\">\n <b>value set: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023</span>\n </span>\n \n \n \n </th>\n </tr>\n \n <tr>\n <th>Encounter</th>\n <th>http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter</th>\n <th>;;</th>\n <th>\n \n <b>code filter: </b>\n \n <br/>\n \n \n <span style=\"padding-left: 4px;\">\n <b>path: </b><span>type</span>\n </span>\n \n <br/>\n \n \n \n <span style=\"padding-left: 4px;\">\n <b>value set: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1024</span>\n </span>\n \n \n \n </th>\n </tr>\n \n <tr>\n <th>Encounter</th>\n <th>http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter</th>\n <th>;;;;</th>\n <th>\n \n <b>code filter: </b>\n \n <br/>\n \n \n <span style=\"padding-left: 4px;\">\n <b>path: </b><span>type</span>\n </span>\n \n <br/>\n \n \n \n <span style=\"padding-left: 4px;\">\n <b>value set: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307</span>\n </span>\n \n \n \n </th>\n </tr>\n \n <tr>\n <th>Encounter</th>\n <th>http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter</th>\n <th>;;</th>\n <th>\n \n <b>code filter: </b>\n \n <br/>\n \n \n <span style=\"padding-left: 4px;\">\n <b>path: </b><span>type</span>\n </span>\n \n <br/>\n \n \n \n <span style=\"padding-left: 4px;\">\n <b>value set: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1003</span>\n </span>\n \n \n \n </th>\n </tr>\n \n <tr>\n <th>MedicationRequest</th>\n <th>http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationrequest</th>\n <th>;</th>\n <th>\n \n <b>code filter: </b>\n \n <br/>\n \n \n <span style=\"padding-left: 4px;\">\n <b>path: </b><span>medication</span>\n </span>\n \n <br/>\n \n \n \n <span style=\"padding-left: 4px;\">\n <b>value set: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1001</span>\n </span>\n \n \n \n </th>\n </tr>\n \n <tr>\n <th>MedicationRequest</th>\n <th>http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationrequest</th>\n <th>;</th>\n <th>\n \n </th>\n </tr>\n \n <tr>\n <th>Medication</th>\n <th>http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medication</th>\n <th>;;</th>\n <th>\n \n </th>\n </tr>\n \n <tr>\n <th>Condition</th>\n <th>http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition-encounter-diagnosis</th>\n <th>;</th>\n <th>\n \n <b>code filter: </b>\n \n <br/>\n \n \n <span style=\"padding-left: 4px;\">\n <b>path: </b><span>code</span>\n </span>\n \n <br/>\n \n \n \n <span style=\"padding-left: 4px;\">\n <b>value set: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.102.12.1011</span>\n </span>\n \n \n \n </th>\n </tr>\n \n <tr>\n <th>Condition</th>\n <th>http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition-encounter-diagnosis</th>\n <th>;</th>\n <th>\n \n <b>code filter: </b>\n \n <br/>\n \n \n <span style=\"padding-left: 4px;\">\n <b>path: </b><span>code</span>\n </span>\n \n <br/>\n \n \n \n <span style=\"padding-left: 4px;\">\n <b>value set: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.102.12.1012</span>\n </span>\n \n \n \n </th>\n </tr>\n \n <tr>\n <th>Condition</th>\n <th>http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition-encounter-diagnosis</th>\n <th>;</th>\n <th>\n \n <b>code filter: </b>\n \n <br/>\n \n \n <span style=\"padding-left: 4px;\">\n <b>path: </b><span>code</span>\n </span>\n \n <br/>\n \n \n \n <span style=\"padding-left: 4px;\">\n <b>value set: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1165</span>\n </span>\n \n \n \n </th>\n </tr>\n \n <tr>\n <th>Condition</th>\n <th>http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition-encounter-diagnosis</th>\n <th>;</th>\n <th>\n \n <b>code filter: </b>\n \n <br/>\n \n \n <span style=\"padding-left: 4px;\">\n <b>path: </b><span>code</span>\n </span>\n \n <br/>\n \n \n \n <span style=\"padding-left: 4px;\">\n <b>value set: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.102.12.1025</span>\n </span>\n \n \n \n </th>\n </tr>\n \n <tr>\n <th>Condition</th>\n <th>http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition-encounter-diagnosis</th>\n <th>;</th>\n <th>\n \n <b>code filter: </b>\n \n <br/>\n \n \n <span style=\"padding-left: 4px;\">\n <b>path: </b><span>code</span>\n </span>\n \n <br/>\n \n \n \n <span style=\"padding-left: 4px;\">\n <b>value set: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.102.12.1017</span>\n </span>\n \n \n \n </th>\n </tr>\n \n <tr>\n <th>Observation</th>\n <th>http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation-lab</th>\n <th>;;;</th>\n <th>\n \n <b>code filter: </b>\n \n <br/>\n \n \n <span style=\"padding-left: 4px;\">\n <b>path: </b><span>code</span>\n </span>\n \n <br/>\n \n \n \n <span style=\"padding-left: 4px;\">\n <b>value set: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1012</span>\n </span>\n \n \n \n </th>\n </tr>\n \n <tr>\n <th>Coverage</th>\n <th>http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-coverage</th>\n <th>;;</th>\n <th>\n \n <b>code filter: </b>\n \n <br/>\n \n \n <span style=\"padding-left: 4px;\">\n <b>path: </b><span>type</span>\n </span>\n \n <br/>\n \n \n \n <span style=\"padding-left: 4px;\">\n <b>value set: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591</span>\n </span>\n \n \n \n </th>\n </tr>\n \n <tr>\n <th>Observation</th>\n <th>http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation-screening-assessment</th>\n <th>;;;</th>\n <th>\n \n <b>code filter: </b>\n \n <br/>\n \n \n <span style=\"padding-left: 4px;\">\n <b>path: </b><span>code</span>\n </span>\n \n <br/>\n \n \n \n \n \n <p style=\"margin-bottom: 5px;\">\n <b>system: </b> <span>http://loinc.org</span>\n </p>\n \n \n <p style=\"margin-bottom: 5px;\">\n <b>code: </b> <span>45755-6</span>\n </p>\n \n \n <p style=\"margin-bottom: 5px;\">\n <b>display: </b> <span>Hospice care [Minimum Data Set]</span>\n </p>\n \n \n \n </th>\n </tr>\n \n <tr>\n <th>ServiceRequest</th>\n <th>http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-servicerequest</th>\n <th>;;;</th>\n <th>\n \n <b>code filter: </b>\n \n <br/>\n \n \n <span style=\"padding-left: 4px;\">\n <b>path: </b><span>code</span>\n </span>\n \n <br/>\n \n \n \n <span style=\"padding-left: 4px;\">\n <b>value set: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1584</span>\n </span>\n \n \n \n </th>\n </tr>\n \n <tr>\n <th>Procedure</th>\n <th>http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure</th>\n <th>;;</th>\n <th>\n \n <b>code filter: </b>\n \n <br/>\n \n \n <span style=\"padding-left: 4px;\">\n <b>path: </b><span>code</span>\n </span>\n \n <br/>\n \n \n \n <span style=\"padding-left: 4px;\">\n <b>value set: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1584</span>\n </span>\n \n \n \n </th>\n </tr>\n \n <tr>\n <th>Condition</th>\n <th>http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition-problems-health-concerns</th>\n <th>;</th>\n <th>\n \n <b>code filter: </b>\n \n <br/>\n \n \n <span style=\"padding-left: 4px;\">\n <b>path: </b><span>code</span>\n </span>\n \n <br/>\n \n \n \n <span style=\"padding-left: 4px;\">\n <b>value set: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1165</span>\n </span>\n \n \n \n </th>\n </tr>\n \n </table>\n </td>\n </tr>\n \n\n \n \n <tr>\n <td colspan=\"2\">\n <table>\n <tr><th><a id=\"cql-content\"><b>Content: </b></a> text/cql</th></tr>\n <tr><td><pre><code class=\"language-cql\">library CMS146FHIRAppropriateTestingforPharyngitis version '0.3.000'\r\n\r\nusing QICore version '6.0.0'\r\n\r\ninclude FHIRHelpers version '4.4.000' called FHIRHelpers\r\ninclude SupplementalDataElements version '5.1.000' called SDE\r\ninclude Hospice version '6.15.000' called Hospice\r\ninclude Antibiotic version '1.9.000' called Antibiotic\r\ninclude Status version '1.13.000' called Status\r\ninclude QICoreCommon version '4.0.000' called QICoreCommon\r\n\r\ncodesystem "CPT": 'http://www.ama-assn.org/go/cpt'\r\n\r\nvalueset "Acute Pharyngitis": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.102.12.1011'\r\nvalueset "Acute Tonsillitis": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.102.12.1012'\r\nvalueset "Antibiotic Medications for Pharyngitis": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1001'\r\nvalueset "Comorbid Conditions for Respiratory Conditions": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.102.12.1025'\r\nvalueset "Competing Conditions for Respiratory Conditions": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.102.12.1017'\r\nvalueset "Emergency Department Evaluation and Management Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1010'\r\nvalueset "Group A Streptococcus Test": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1012'\r\nvalueset "Home Healthcare Services": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016'\r\nvalueset "Medical Disability Exam": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1073'\r\nvalueset "Office Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001'\r\nvalueset "Outpatient Consultation": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1008'\r\nvalueset "Preventive Care Services Established Office Visit, 18 and Up": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025'\r\nvalueset "Preventive Care Services Group Counseling": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1027'\r\nvalueset "Preventive Care Services Individual Counseling": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1026'\r\nvalueset "Preventive Care Services Initial Office Visit, 18 and Up": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023'\r\nvalueset "Preventive Care Services, Initial Office Visit, 0 to 17": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1022'\r\nvalueset "Preventive Care, Established Office Visit, 0 to 17": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1024'\r\nvalueset "Telephone Visits": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1080'\r\nvalueset "Virtual Encounter": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1089'\r\n\r\ncode "Unlisted preventive medicine service": '99429' from "CPT" display 'Unlisted preventive medicine service'\r\n\r\nparameter "Measurement Period" Interval<DateTime>\r\n\r\ncontext Patient\r\n\r\ndefine "SDE Ethnicity":\r\n SDE."SDE Ethnicity"\r\n\r\ndefine "SDE Payer":\r\n SDE."SDE Payer"\r\n\r\ndefine "SDE Race":\r\n SDE."SDE Race"\r\n\r\ndefine "SDE Sex":\r\n SDE."SDE Sex"\r\n\r\ndefine "Initial Population":\r\n "Encounter With Pharyngitis or Tonsillitis With Antibiotic" EncounterWithPharyngitis\r\n where AgeInYearsAt(date from start of "Measurement Period") >= 3\r\n return EncounterWithPharyngitis\r\n\r\ndefine "Encounter With Pharyngitis or Tonsillitis With Antibiotic":\r\n from\r\n "Encounter With Antibiotic Ordered Within Three Days" VisitWithAntibiotic,\r\n "Pharyngitis or Tonsillitis" AcutePharyngitisTonsillitis\r\n where AcutePharyngitisTonsillitis.prevalenceInterval ( ) starts during day of VisitWithAntibiotic.period.toInterval ( )\r\n return VisitWithAntibiotic\r\n\r\ndefine "Pharyngitis or Tonsillitis":\r\n ( [ConditionEncounterDiagnosis: "Acute Pharyngitis"]\r\n union [ConditionEncounterDiagnosis: "Acute Tonsillitis"]\r\n )\r\n\r\ndefine "Denominator":\r\n "Initial Population"\r\n\r\ndefine "Denominator Exclusions":\r\n "Encounters and Assessments with Hospice Patient"\r\n union Antibiotic."Has Comorbid Condition History" ( "Encounter With Pharyngitis or Tonsillitis With Antibiotic", ( [ConditionEncounterDiagnosis: "Comorbid Conditions for Respiratory Conditions"] ) )\r\n union Antibiotic."Has Antibiotic Medication History" ( "Encounter With Pharyngitis or Tonsillitis With Antibiotic", ( [MedicationRequest: "Antibiotic Medications for Pharyngitis"] ).isMedicationActive ( ) )\r\n union Antibiotic."Has Competing Diagnosis History" ( "Encounter With Pharyngitis or Tonsillitis With Antibiotic", ( [ConditionEncounterDiagnosis: "Competing Conditions for Respiratory Conditions"] ) )\r\n\r\ndefine "Encounter With Antibiotic Ordered Within Three Days":\r\n "Qualifying Encounters" EDOrAmbulatoryVisit\r\n with ( ( [MedicationRequest: "Antibiotic Medications for Pharyngitis"] ).isMedicationOrder ( ) ) AntibioticOrdered\r\n such that EDOrAmbulatoryVisit.period.toInterval ( ) starts 3 days or less on or before day of AntibioticOrdered.authoredOn\r\n\r\ndefine "Encounters and Assessments with Hospice Patient":\r\n "Initial Population" EligibleEncounters\r\n where Hospice."Has Hospice Services"\r\n\r\ndefine "Qualifying Encounters":\r\n ( ( [Encounter: "Emergency Department Evaluation and Management Visit"]\r\n union [Encounter: "Home Healthcare Services"]\r\n union [Encounter: "Medical Disability Exam"]\r\n union [Encounter: "Office Visit"]\r\n union [Encounter: "Telephone Visits"]\r\n union [Encounter: "Virtual Encounter"]\r\n union [Encounter: "Outpatient Consultation"]\r\n union [Encounter: "Preventive Care Services Established Office Visit, 18 and Up"]\r\n union [Encounter: "Preventive Care Services Group Counseling"]\r\n union ( [Encounter] E\r\n where exists ( ( E.type ) T\r\n where T ~ "Unlisted preventive medicine service"\r\n )\r\n )\r\n union [Encounter: "Preventive Care Services, Initial Office Visit, 0 to 17"]\r\n union [Encounter: "Preventive Care Services Individual Counseling"]\r\n union [Encounter: "Preventive Care Services Initial Office Visit, 18 and Up"]\r\n union [Encounter: "Preventive Care, Established Office Visit, 0 to 17"]\r\n ).isEncounterPerformed ( ) ) ValidEncounter\r\n where ValidEncounter.period.toInterval ( ) ends during day of Interval[( start of "Measurement Period" ), ( end of "Measurement Period" ) - 3 days]\r\n\r\ndefine "Numerator":\r\n from\r\n "Group A Streptococcus Lab Test With Result" GroupAStreptococcusTest,\r\n "Encounter With Pharyngitis or Tonsillitis With Antibiotic" EncounterWithPharyngitis\r\n where GroupAStreptococcusTest.effective.toInterval ( ) starts during day of Interval[( end of EncounterWithPharyngitis.period ) - 3 days, ( end of EncounterWithPharyngitis.period ) + 3 days]\r\n return EncounterWithPharyngitis\r\n\r\ndefine "Group A Streptococcus Lab Test With Result":\r\n ( ( [LaboratoryResultObservation: "Group A Streptococcus Test"] ).isLaboratoryTestPerformed ( ) ) GroupAStreptococcusTest\r\n where GroupAStreptococcusTest.value is not null\r\n\r\ndefine "Stratification 1":\r\n "Encounter With Pharyngitis or Tonsillitis With Antibiotic" EncounterWithPharyngitis\r\n where AgeInYearsAt(date from start of "Measurement Period") in Interval[3, 17]\r\n return EncounterWithPharyngitis\r\n\r\ndefine "Stratification 2":\r\n "Encounter With Pharyngitis or Tonsillitis With Antibiotic" EncounterWithPharyngitis\r\n where AgeInYearsAt(date from start of "Measurement Period") in Interval[18, 64]\r\n return EncounterWithPharyngitis\r\n\r\ndefine "Stratification 3":\r\n "Encounter With Pharyngitis or Tonsillitis With Antibiotic" EncounterWithPharyngitis\r\n where AgeInYearsAt(date from start of "Measurement Period") >= 65\r\n return EncounterWithPharyngitis</code></pre></td></tr>\n </table>\n </td>\n </tr>\n \n \n \n </table>\n</div>"
},
"contained" : [
{
"resourceType" : "Parameters",
"id" : "options",
"parameter" : [
{
"name" : "translatorVersion",
"valueString" : "3.25.0"
},
{
"name" : "option",
"valueString" : "EnableAnnotations"
},
{
"name" : "option",
"valueString" : "EnableLocators"
},
{
"name" : "option",
"valueString" : "DisableListDemotion"
},
{
"name" : "option",
"valueString" : "DisableListPromotion"
},
{
"name" : "format",
"valueString" : "JSON"
},
{
"name" : "format",
"valueString" : "XML"
},
{
"name" : "analyzeDataRequirements",
"valueBoolean" : false
},
{
"name" : "collapseDataRequirements",
"valueBoolean" : false
},
{
"name" : "compatibilityLevel",
"valueString" : "1.5"
},
{
"name" : "enableCqlOnly",
"valueBoolean" : false
},
{
"name" : "errorLevel",
"valueString" : "Info"
},
{
"name" : "signatureLevel",
"valueString" : "Overloads"
},
{
"name" : "validateUnits",
"valueBoolean" : true
},
{
"name" : "verifyOnly",
"valueBoolean" : false
}
]
}
],
"extension" : [
{
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
"valueCoding" : {
"system" : "http://www.ama-assn.org/go/cpt",
"code" : "99429",
"display" : "Unlisted preventive medicine service"
}
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-cqlOptions",
"valueReference" : {
"reference" : "#options"
}
}
],
"url" : "https://madie.cms.gov/Library/CMS146FHIRAppropriateTestingforPharyngitis",
"identifier" : [
{
"use" : "official",
"system" : "https://madie.cms.gov/login",
"value" : "CMS146FHIRAppropriateTestingforPharyngitis"
}
],
"version" : "0.3.000",
"name" : "CMS146FHIRAppropriateTestingforPharyngitis",
"title" : "CMS146FHIRAppropriateTestingforPharyngitis",
"status" : "active",
"experimental" : false,
"type" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/library-type",
"code" : "logic-library"
}
]
},
"date" : "2025-04-15T20:44:03+00:00",
"publisher" : "National Committee for Quality Assurance",
"description" : "CMS146FHIRAppropriateTestingforPharyngitis",
"content" : [
{
"contentType" : "text/cql",
"data" : "bGlicmFyeSBDTVMxNDZGSElSQXBwcm9wcmlhdGVUZXN0aW5nZm9yUGhhcnluZ2l0aXMgdmVyc2lvbiAnMC4zLjAwMCcNCg0KdXNpbmcgUUlDb3JlIHZlcnNpb24gJzYuMC4wJw0KDQppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzQuNC4wMDAnIGNhbGxlZCBGSElSSGVscGVycw0KaW5jbHVkZSBTdXBwbGVtZW50YWxEYXRhRWxlbWVudHMgdmVyc2lvbiAnNS4xLjAwMCcgY2FsbGVkIFNERQ0KaW5jbHVkZSBIb3NwaWNlIHZlcnNpb24gJzYuMTUuMDAwJyBjYWxsZWQgSG9zcGljZQ0KaW5jbHVkZSBBbnRpYmlvdGljIHZlcnNpb24gJzEuOS4wMDAnIGNhbGxlZCBBbnRpYmlvdGljDQppbmNsdWRlIFN0YXR1cyB2ZXJzaW9uICcxLjEzLjAwMCcgY2FsbGVkIFN0YXR1cw0KaW5jbHVkZSBRSUNvcmVDb21tb24gdmVyc2lvbiAnNC4wLjAwMCcgY2FsbGVkIFFJQ29yZUNvbW1vbg0KDQpjb2Rlc3lzdGVtICJDUFQiOiAnaHR0cDovL3d3dy5hbWEtYXNzbi5vcmcvZ28vY3B0Jw0KDQp2YWx1ZXNldCAiQWN1dGUgUGhhcnluZ2l0aXMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAyLjEyLjEwMTEnDQp2YWx1ZXNldCAiQWN1dGUgVG9uc2lsbGl0aXMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAyLjEyLjEwMTInDQp2YWx1ZXNldCAiQW50aWJpb3RpYyBNZWRpY2F0aW9ucyBmb3IgUGhhcnluZ2l0aXMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTk2LjEyLjEwMDEnDQp2YWx1ZXNldCAiQ29tb3JiaWQgQ29uZGl0aW9ucyBmb3IgUmVzcGlyYXRvcnkgQ29uZGl0aW9ucyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDIuMTIuMTAyNScNCnZhbHVlc2V0ICJDb21wZXRpbmcgQ29uZGl0aW9ucyBmb3IgUmVzcGlyYXRvcnkgQ29uZGl0aW9ucyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDIuMTIuMTAxNycNCnZhbHVlc2V0ICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBFdmFsdWF0aW9uIGFuZCBNYW5hZ2VtZW50IFZpc2l0IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDEwJw0KdmFsdWVzZXQgIkdyb3VwIEEgU3RyZXB0b2NvY2N1cyBUZXN0IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5OC4xMi4xMDEyJw0KdmFsdWVzZXQgIkhvbWUgSGVhbHRoY2FyZSBTZXJ2aWNlcyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAxNicNCnZhbHVlc2V0ICJNZWRpY2FsIERpc2FiaWxpdHkgRXhhbSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTA3MycNCnZhbHVlc2V0ICJPZmZpY2UgVmlzaXQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMDEnDQp2YWx1ZXNldCAiT3V0cGF0aWVudCBDb25zdWx0YXRpb24iOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMDgnDQp2YWx1ZXNldCAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzIEVzdGFibGlzaGVkIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDI1Jw0KdmFsdWVzZXQgIlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcyBHcm91cCBDb3Vuc2VsaW5nIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDI3Jw0KdmFsdWVzZXQgIlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcyBJbmRpdmlkdWFsIENvdW5zZWxpbmciOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMjYnDQp2YWx1ZXNldCAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzIEluaXRpYWwgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMjMnDQp2YWx1ZXNldCAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzLCBJbml0aWFsIE9mZmljZSBWaXNpdCwgMCB0byAxNyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAyMicNCnZhbHVlc2V0ICJQcmV2ZW50aXZlIENhcmUsIEVzdGFibGlzaGVkIE9mZmljZSBWaXNpdCwgMCB0byAxNyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAyNCcNCnZhbHVlc2V0ICJUZWxlcGhvbmUgVmlzaXRzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDgwJw0KdmFsdWVzZXQgIlZpcnR1YWwgRW5jb3VudGVyIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDg5Jw0KDQpjb2RlICJVbmxpc3RlZCBwcmV2ZW50aXZlIG1lZGljaW5lIHNlcnZpY2UiOiAnOTk0MjknIGZyb20gIkNQVCIgZGlzcGxheSAnVW5saXN0ZWQgcHJldmVudGl2ZSBtZWRpY2luZSBzZXJ2aWNlJw0KDQpwYXJhbWV0ZXIgIk1lYXN1cmVtZW50IFBlcmlvZCIgSW50ZXJ2YWw8RGF0ZVRpbWU+DQoNCmNvbnRleHQgUGF0aWVudA0KDQpkZWZpbmUgIlNERSBFdGhuaWNpdHkiOg0KICBTREUuIlNERSBFdGhuaWNpdHkiDQoNCmRlZmluZSAiU0RFIFBheWVyIjoNCiAgU0RFLiJTREUgUGF5ZXIiDQoNCmRlZmluZSAiU0RFIFJhY2UiOg0KICBTREUuIlNERSBSYWNlIg0KDQpkZWZpbmUgIlNERSBTZXgiOg0KICBTREUuIlNERSBTZXgiDQoNCmRlZmluZSAiSW5pdGlhbCBQb3B1bGF0aW9uIjoNCiAgIkVuY291bnRlciBXaXRoIFBoYXJ5bmdpdGlzIG9yIFRvbnNpbGxpdGlzIFdpdGggQW50aWJpb3RpYyIgRW5jb3VudGVyV2l0aFBoYXJ5bmdpdGlzDQogICAgd2hlcmUgQWdlSW5ZZWFyc0F0KGRhdGUgZnJvbSBzdGFydCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIikgPj0gMw0KICAgIHJldHVybiBFbmNvdW50ZXJXaXRoUGhhcnluZ2l0aXMNCg0KZGVmaW5lICJFbmNvdW50ZXIgV2l0aCBQaGFyeW5naXRpcyBvciBUb25zaWxsaXRpcyBXaXRoIEFudGliaW90aWMiOg0KICBmcm9tDQogICAgIkVuY291bnRlciBXaXRoIEFudGliaW90aWMgT3JkZXJlZCBXaXRoaW4gVGhyZWUgRGF5cyIgVmlzaXRXaXRoQW50aWJpb3RpYywNCiAgICAiUGhhcnluZ2l0aXMgb3IgVG9uc2lsbGl0aXMiIEFjdXRlUGhhcnluZ2l0aXNUb25zaWxsaXRpcw0KICAgIHdoZXJlIEFjdXRlUGhhcnluZ2l0aXNUb25zaWxsaXRpcy5wcmV2YWxlbmNlSW50ZXJ2YWwgKCApIHN0YXJ0cyBkdXJpbmcgZGF5IG9mIFZpc2l0V2l0aEFudGliaW90aWMucGVyaW9kLnRvSW50ZXJ2YWwgKCApDQogICAgcmV0dXJuIFZpc2l0V2l0aEFudGliaW90aWMNCg0KZGVmaW5lICJQaGFyeW5naXRpcyBvciBUb25zaWxsaXRpcyI6DQogICggW0NvbmRpdGlvbkVuY291bnRlckRpYWdub3NpczogIkFjdXRlIFBoYXJ5bmdpdGlzIl0NCiAgICAgIHVuaW9uIFtDb25kaXRpb25FbmNvdW50ZXJEaWFnbm9zaXM6ICJBY3V0ZSBUb25zaWxsaXRpcyJdDQogICkNCg0KZGVmaW5lICJEZW5vbWluYXRvciI6DQogICJJbml0aWFsIFBvcHVsYXRpb24iDQoNCmRlZmluZSAiRGVub21pbmF0b3IgRXhjbHVzaW9ucyI6DQogICJFbmNvdW50ZXJzIGFuZCBBc3Nlc3NtZW50cyB3aXRoIEhvc3BpY2UgUGF0aWVudCINCiAgICB1bmlvbiBBbnRpYmlvdGljLiJIYXMgQ29tb3JiaWQgQ29uZGl0aW9uIEhpc3RvcnkiICggIkVuY291bnRlciBXaXRoIFBoYXJ5bmdpdGlzIG9yIFRvbnNpbGxpdGlzIFdpdGggQW50aWJpb3RpYyIsICggW0NvbmRpdGlvbkVuY291bnRlckRpYWdub3NpczogIkNvbW9yYmlkIENvbmRpdGlvbnMgZm9yIFJlc3BpcmF0b3J5IENvbmRpdGlvbnMiXSApICkNCiAgICB1bmlvbiBBbnRpYmlvdGljLiJIYXMgQW50aWJpb3RpYyBNZWRpY2F0aW9uIEhpc3RvcnkiICggIkVuY291bnRlciBXaXRoIFBoYXJ5bmdpdGlzIG9yIFRvbnNpbGxpdGlzIFdpdGggQW50aWJpb3RpYyIsICggW01lZGljYXRpb25SZXF1ZXN0OiAiQW50aWJpb3RpYyBNZWRpY2F0aW9ucyBmb3IgUGhhcnluZ2l0aXMiXSApLmlzTWVkaWNhdGlvbkFjdGl2ZSAoICkgKQ0KICAgIHVuaW9uIEFudGliaW90aWMuIkhhcyBDb21wZXRpbmcgRGlhZ25vc2lzIEhpc3RvcnkiICggIkVuY291bnRlciBXaXRoIFBoYXJ5bmdpdGlzIG9yIFRvbnNpbGxpdGlzIFdpdGggQW50aWJpb3RpYyIsICggW0NvbmRpdGlvbkVuY291bnRlckRpYWdub3NpczogIkNvbXBldGluZyBDb25kaXRpb25zIGZvciBSZXNwaXJhdG9yeSBDb25kaXRpb25zIl0gKSApDQoNCmRlZmluZSAiRW5jb3VudGVyIFdpdGggQW50aWJpb3RpYyBPcmRlcmVkIFdpdGhpbiBUaHJlZSBEYXlzIjoNCiAgIlF1YWxpZnlpbmcgRW5jb3VudGVycyIgRURPckFtYnVsYXRvcnlWaXNpdA0KICAgIHdpdGggKCAoIFtNZWRpY2F0aW9uUmVxdWVzdDogIkFudGliaW90aWMgTWVkaWNhdGlvbnMgZm9yIFBoYXJ5bmdpdGlzIl0gKS5pc01lZGljYXRpb25PcmRlciAoICkgKSBBbnRpYmlvdGljT3JkZXJlZA0KICAgICAgc3VjaCB0aGF0IEVET3JBbWJ1bGF0b3J5VmlzaXQucGVyaW9kLnRvSW50ZXJ2YWwgKCApIHN0YXJ0cyAzIGRheXMgb3IgbGVzcyBvbiBvciBiZWZvcmUgZGF5IG9mIEFudGliaW90aWNPcmRlcmVkLmF1dGhvcmVkT24NCg0KZGVmaW5lICJFbmNvdW50ZXJzIGFuZCBBc3Nlc3NtZW50cyB3aXRoIEhvc3BpY2UgUGF0aWVudCI6DQogICJJbml0aWFsIFBvcHVsYXRpb24iIEVsaWdpYmxlRW5jb3VudGVycw0KICAgIHdoZXJlIEhvc3BpY2UuIkhhcyBIb3NwaWNlIFNlcnZpY2VzIg0KDQpkZWZpbmUgIlF1YWxpZnlpbmcgRW5jb3VudGVycyI6DQogICggKCBbRW5jb3VudGVyOiAiRW1lcmdlbmN5IERlcGFydG1lbnQgRXZhbHVhdGlvbiBhbmQgTWFuYWdlbWVudCBWaXNpdCJdDQogICAgICB1bmlvbiBbRW5jb3VudGVyOiAiSG9tZSBIZWFsdGhjYXJlIFNlcnZpY2VzIl0NCiAgICAgIHVuaW9uIFtFbmNvdW50ZXI6ICJNZWRpY2FsIERpc2FiaWxpdHkgRXhhbSJdDQogICAgICB1bmlvbiBbRW5jb3VudGVyOiAiT2ZmaWNlIFZpc2l0Il0NCiAgICAgIHVuaW9uIFtFbmNvdW50ZXI6ICJUZWxlcGhvbmUgVmlzaXRzIl0NCiAgICAgIHVuaW9uIFtFbmNvdW50ZXI6ICJWaXJ0dWFsIEVuY291bnRlciJdDQogICAgICB1bmlvbiBbRW5jb3VudGVyOiAiT3V0cGF0aWVudCBDb25zdWx0YXRpb24iXQ0KICAgICAgdW5pb24gW0VuY291bnRlcjogIlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcyBFc3RhYmxpc2hlZCBPZmZpY2UgVmlzaXQsIDE4IGFuZCBVcCJdDQogICAgICB1bmlvbiBbRW5jb3VudGVyOiAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzIEdyb3VwIENvdW5zZWxpbmciXQ0KICAgICAgdW5pb24gKCBbRW5jb3VudGVyXSBFDQogICAgICAgICAgd2hlcmUgZXhpc3RzICggKCBFLnR5cGUgKSBUDQogICAgICAgICAgICAgIHdoZXJlIFQgfiAiVW5saXN0ZWQgcHJldmVudGl2ZSBtZWRpY2luZSBzZXJ2aWNlIg0KICAgICAgICAgICkNCiAgICAgICkNCiAgICAgIHVuaW9uIFtFbmNvdW50ZXI6ICJQcmV2ZW50aXZlIENhcmUgU2VydmljZXMsIEluaXRpYWwgT2ZmaWNlIFZpc2l0LCAwIHRvIDE3Il0NCiAgICAgIHVuaW9uIFtFbmNvdW50ZXI6ICJQcmV2ZW50aXZlIENhcmUgU2VydmljZXMgSW5kaXZpZHVhbCBDb3Vuc2VsaW5nIl0NCiAgICAgIHVuaW9uIFtFbmNvdW50ZXI6ICJQcmV2ZW50aXZlIENhcmUgU2VydmljZXMgSW5pdGlhbCBPZmZpY2UgVmlzaXQsIDE4IGFuZCBVcCJdDQogICAgICB1bmlvbiBbRW5jb3VudGVyOiAiUHJldmVudGl2ZSBDYXJlLCBFc3RhYmxpc2hlZCBPZmZpY2UgVmlzaXQsIDAgdG8gMTciXQ0KICApLmlzRW5jb3VudGVyUGVyZm9ybWVkICggKSApIFZhbGlkRW5jb3VudGVyDQogICAgd2hlcmUgVmFsaWRFbmNvdW50ZXIucGVyaW9kLnRvSW50ZXJ2YWwgKCApIGVuZHMgZHVyaW5nIGRheSBvZiBJbnRlcnZhbFsoIHN0YXJ0IG9mICJNZWFzdXJlbWVudCBQZXJpb2QiICksICggZW5kIG9mICJNZWFzdXJlbWVudCBQZXJpb2QiICkgLSAzIGRheXNdDQoNCmRlZmluZSAiTnVtZXJhdG9yIjoNCiAgZnJvbQ0KICAgICJHcm91cCBBIFN0cmVwdG9jb2NjdXMgTGFiIFRlc3QgV2l0aCBSZXN1bHQiIEdyb3VwQVN0cmVwdG9jb2NjdXNUZXN0LA0KICAgICJFbmNvdW50ZXIgV2l0aCBQaGFyeW5naXRpcyBvciBUb25zaWxsaXRpcyBXaXRoIEFudGliaW90aWMiIEVuY291bnRlcldpdGhQaGFyeW5naXRpcw0KICAgIHdoZXJlIEdyb3VwQVN0cmVwdG9jb2NjdXNUZXN0LmVmZmVjdGl2ZS50b0ludGVydmFsICggKSBzdGFydHMgZHVyaW5nIGRheSBvZiBJbnRlcnZhbFsoIGVuZCBvZiBFbmNvdW50ZXJXaXRoUGhhcnluZ2l0aXMucGVyaW9kICkgLSAzIGRheXMsICggZW5kIG9mIEVuY291bnRlcldpdGhQaGFyeW5naXRpcy5wZXJpb2QgKSArIDMgZGF5c10NCiAgICByZXR1cm4gRW5jb3VudGVyV2l0aFBoYXJ5bmdpdGlzDQoNCmRlZmluZSAiR3JvdXAgQSBTdHJlcHRvY29jY3VzIExhYiBUZXN0IFdpdGggUmVzdWx0IjoNCiAgKCAoIFtMYWJvcmF0b3J5UmVzdWx0T2JzZXJ2YXRpb246ICJHcm91cCBBIFN0cmVwdG9jb2NjdXMgVGVzdCJdICkuaXNMYWJvcmF0b3J5VGVzdFBlcmZvcm1lZCAoICkgKSBHcm91cEFTdHJlcHRvY29jY3VzVGVzdA0KICAgIHdoZXJlIEdyb3VwQVN0cmVwdG9jb2NjdXNUZXN0LnZhbHVlIGlzIG5vdCBudWxsDQoNCmRlZmluZSAiU3RyYXRpZmljYXRpb24gMSI6DQogICJFbmNvdW50ZXIgV2l0aCBQaGFyeW5naXRpcyBvciBUb25zaWxsaXRpcyBXaXRoIEFudGliaW90aWMiIEVuY291bnRlcldpdGhQaGFyeW5naXRpcw0KICAgIHdoZXJlIEFnZUluWWVhcnNBdChkYXRlIGZyb20gc3RhcnQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIpIGluIEludGVydmFsWzMsIDE3XQ0KICAgIHJldHVybiBFbmNvdW50ZXJXaXRoUGhhcnluZ2l0aXMNCg0KZGVmaW5lICJTdHJhdGlmaWNhdGlvbiAyIjoNCiAgIkVuY291bnRlciBXaXRoIFBoYXJ5bmdpdGlzIG9yIFRvbnNpbGxpdGlzIFdpdGggQW50aWJpb3RpYyIgRW5jb3VudGVyV2l0aFBoYXJ5bmdpdGlzDQogICAgd2hlcmUgQWdlSW5ZZWFyc0F0KGRhdGUgZnJvbSBzdGFydCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIikgaW4gSW50ZXJ2YWxbMTgsIDY0XQ0KICAgIHJldHVybiBFbmNvdW50ZXJXaXRoUGhhcnluZ2l0aXMNCg0KZGVmaW5lICJTdHJhdGlmaWNhdGlvbiAzIjoNCiAgIkVuY291bnRlciBXaXRoIFBoYXJ5bmdpdGlzIG9yIFRvbnNpbGxpdGlzIFdpdGggQW50aWJpb3RpYyIgRW5jb3VudGVyV2l0aFBoYXJ5bmdpdGlzDQogICAgd2hlcmUgQWdlSW5ZZWFyc0F0KGRhdGUgZnJvbSBzdGFydCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIikgPj0gNjUNCiAgICByZXR1cm4gRW5jb3VudGVyV2l0aFBoYXJ5bmdpdGlz"
}
]
}