Draft dQM CMS Content Implementation Guide
2025.1.0 - CI Build
Draft dQM CMS Content Implementation Guide, published by cqframework. This guide is not an authorized publication; it is the continuous build for version 2025.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/cqframework/dqm-content-cms-2025/ and changes regularly. See the Directory of published versions
| Draft as of 2026-09-19 |
{
"resourceType" : "Library",
"id" : "AlaraCommonFunctions",
"text" : {
"status" : "extensions",
"div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n <table class=\"narrative-table\">\n <tbody>\n<tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\"><a name=\"metadata\"> </a>Metadata</th>\n\n\n</tr>\n\n\n\n\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Version</th>\n\n\n\n<td class=\"content-container\">2.1.000</td>\n\n\n</tr>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Status</th>\n\n\n\n<td class=\"content-container\">Draft</td>\n\n\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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Type</th>\n\n\n\n<td class=\"content-container\">\n <a href=\"http://terminology.hl7.org/7.1.0/CodeSystem-library-type.html\">http://terminology.hl7.org/CodeSystem/library-type</a>#logic-library\n\n\n</td>\n\n\n</tr>\n\n\n\n\n\n\n\n\n\n\n\n\n\n<tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\"><a name=\"parameters\"> </a>Parameters</th>\n\n\n</tr>\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Parameter</th>\n\n\n\n<td class=\"content-container\">None</td>\n\n\n</tr>\n\n\n\n\n\n\n\n\n <tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\">Library Content</th>\n\n\n</tr>\n \n \n <tr>\n <th scope=\"row\" class=\"row-header\">CQL Content</th>\n <td>\n <a name=\"cql-content\"> </a>\n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">/*\nNOTE: For use by March 2026 US Realm Connectathon participants for internal use only. Not for use or distribution in commercial products.\n*/\nlibrary AlaraCommonFunctions version '2.1.000'\n\nusing USQualityCore version '0.1.0-cibuild'\nusing USCore version '6.1.0-derived'\nusing FHIR version '4.0.1'\n\ninclude hl7.fhir.uv.cql.FHIRHelpers version '4.0.1' called FHIRHelpers\ninclude hl7.fhir.uv.cql.FHIRCommon version '2.0.0' called FHIRCommon\n\ncodesystem "LOINC": 'http://loinc.org'\n\ncode "Abdomen and Pelvis High Dose": 'LA31754-7' from "LOINC" display 'Abdomen and Pelvis High Dose'\ncode "Abdomen and Pelvis Low Dose": 'LA31752-1' from "LOINC" display 'Abdomen and Pelvis Low Dose'\ncode "Abdomen and Pelvis Routine Dose": 'LA31753-9' from "LOINC" display 'Abdomen and Pelvis Routine Dose'\ncode "Calculated CT global noise": '96912-1' from "LOINC" display 'Calculated CT global noise'\ncode "Calculated CT size-adjusted dose": '96913-9' from "LOINC" display 'Calculated CT size-adjusted dose'\ncode "Cardiac High Dose or Chest High Dose": 'LA31761-2' from "LOINC" display 'Cardiac High Dose or Chest High Dose'\ncode "Cardiac Low Dose": 'LA31755-4' from "LOINC" display 'Cardiac Low Dose'\ncode "Cardiac Routine Dose": 'LA31756-2' from "LOINC" display 'Cardiac Routine Dose'\ncode "Chest Low Dose": 'LA31758-8' from "LOINC" display 'Chest Low Dose'\ncode "Chest Routine Dose": 'LA31759-6' from "LOINC" display 'Chest Routine Dose'\ncode "Extremity": 'LA31765-3' from "LOINC" display 'Extremity'\ncode "Head High Dose": 'LA31764-6' from "LOINC" display 'Head High Dose'\ncode "Head Low Dose": 'LA31762-0' from "LOINC" display 'Head Low Dose'\ncode "Head Routine Dose": 'LA31763-8' from "LOINC" display 'Head Routine Dose'\ncode "Neck or Cervical Spine": 'LA31766-1' from "LOINC" display 'Neck or Cervical Spine'\ncode "Simultaneous Chest and Abdomen and Pelvis": 'LA31768-7' from "LOINC" display 'Simultaneous Chest and Abdomen and Pelvis'\ncode "Simultaneous Head and Neck High Dose": 'LA31770-3' from "LOINC" display 'Simultaneous Head and Neck High Dose'\ncode "Simultaneous Head and Neck Routine Dose": 'LA31769-5' from "LOINC" display 'Simultaneous Head and Neck Routine Dose'\ncode "Simultaneous Thoracic and Lumbar Spine": 'LA31851-1' from "LOINC" display 'Simultaneous Thoracic and Lumbar Spine'\ncode "Thoracic or Lumbar Spine": 'LA31767-9' from "LOINC" display 'Thoracic or Lumbar Spine'\n\ncontext Patient\n\ndefine function "CT Scan Qualifies"(Result ObservationClinicalResult ):\n Result.qualifies("Abdomen and Pelvis Low Dose", 64, 598)\n or Result.qualifies("Abdomen and Pelvis Routine Dose", 29, 644)\n or Result.qualifies("Abdomen and Pelvis High Dose", 29, 1260)\n or Result.qualifies("Cardiac Low Dose", 55, 93)\n or Result.qualifies("Cardiac Routine Dose", 32, 576)\n or Result.qualifies("Chest Low Dose", 55, 377)\n or Result.qualifies("Chest Routine Dose", 49, 377)\n or Result.qualifies("Cardiac High Dose or Chest High Dose", 49, 1282)\n or Result.qualifies("Head Low Dose", 115, 582)\n or Result.qualifies("Head Routine Dose", 115, 1025)\n or Result.qualifies("Head High Dose", 115, 1832)\n or Result.qualifies("Extremity", 73, 320)\n or Result.qualifies("Neck or Cervical Spine", 25, 1260)\n or Result.qualifies("Thoracic or Lumbar Spine", 25, 1260)\n or Result.qualifies("Simultaneous Chest and Abdomen and Pelvis", 29, 1637)\n or Result.qualifies("Simultaneous Thoracic and Lumbar Spine", 25, 2520)\n or Result.qualifies("Simultaneous Head and Neck Routine Dose", 25, 2285)\n or Result.qualifies("Simultaneous Head and Neck High Dose", 25, 3092)\n\ndefine fluent function "ctScanQualifies"(Result ObservationClinicalResult ):\n Result.qualifies("Abdomen and Pelvis Low Dose", 64, 598)\n or Result.qualifies("Abdomen and Pelvis Routine Dose", 29, 644)\n or Result.qualifies("Abdomen and Pelvis High Dose", 29, 1260)\n or Result.qualifies("Cardiac Low Dose", 55, 93)\n or Result.qualifies("Cardiac Routine Dose", 32, 576)\n or Result.qualifies("Chest Low Dose", 55, 377)\n or Result.qualifies("Chest Routine Dose", 49, 377)\n or Result.qualifies("Cardiac High Dose or Chest High Dose", 49, 1282)\n or Result.qualifies("Head Low Dose", 115, 582)\n or Result.qualifies("Head Routine Dose", 115, 1025)\n or Result.qualifies("Head High Dose", 115, 1832)\n or Result.qualifies("Extremity", 73, 320)\n or Result.qualifies("Neck or Cervical Spine", 25, 1260)\n or Result.qualifies("Thoracic or Lumbar Spine", 25, 1260)\n or Result.qualifies("Simultaneous Chest and Abdomen and Pelvis", 29, 1637)\n or Result.qualifies("Simultaneous Thoracic and Lumbar Spine", 25, 2520)\n or Result.qualifies("Simultaneous Head and Neck Routine Dose", 25, 2285)\n or Result.qualifies("Simultaneous Head and Neck High Dose", 25, 3092)\n \ndefine function "Qualifies"(Result ObservationClinicalResult, code System.Code, noiseThreshold Decimal, sizeDoseThreshold Decimal ):\n (Result.value as FHIR.CodeableConcept) ~ code\n and ( "Global Noise Value"(Result) >= noiseThreshold\n or "Size Adjusted Value"(Result) >= sizeDoseThreshold\n )\n \ndefine fluent function "qualifies"(Result ObservationClinicalResult, code System.Code, noiseThreshold Decimal, sizeDoseThreshold Decimal ):\n (Result.value as FHIR.CodeableConcept) ~ code\n and ( Result.globalNoiseValue() >= noiseThreshold\n or Result.sizeAdjustedValue() >= sizeDoseThreshold\n )\n\n/* Note since the units has a special character in it this must be escaped in the CQL */\ndefine function "Global Noise Value"(Result ObservationClinicalResult ):\n singleton from ( Result.component C\n where Result.status in { 'final', 'amended', 'corrected' }\n and C.code ~ "Calculated CT global noise"\n and ( C.value as Quantity ).unit = '[hnsf\\'U]'\n return (C.value as Quantity).value\n )\n \n/* Note since the units has a special character in it this must be escaped in the CQL */\ndefine fluent function "globalNoiseValue"(Result ObservationClinicalResult ):\n singleton from ( Result.component C\n where Result.status in { 'final', 'amended', 'corrected' }\n and C.code ~ "Calculated CT global noise"\n and ( C.value as Quantity ).unit = '[hnsf\\'U]'\n return (C.value as Quantity).value\n )\n\ndefine function "Size Adjusted Value"(Result ObservationClinicalResult ):\n singleton from ( Result.component C\n where Result.status in { 'final', 'amended', 'corrected' }\n and C.code ~ "Calculated CT size-adjusted dose"\n and ( C.value as Quantity ).unit = 'mGy.cm'\n return (C.value as Quantity).value\n )\n \ndefine fluent function "sizeAdjustedValue"(Result ObservationClinicalResult ):\n singleton from ( Result.component C\n where Result.status in { 'final', 'amended', 'corrected' }\n and C.code ~ "Calculated CT size-adjusted dose"\n and ( C.value as Quantity ).unit = 'mGy.cm'\n return (C.value as Quantity).value\n )</code></pre>\n </td>\n </tr>\n \n \n\n\n\n<tr>\n <th colspan=\"2\" scope=\"row\" class=\"row-header\">Generated using version 0.5.6 of the sample-content-ig Liquid templates</th>\n</tr>\n\n </tbody>\n </table>\n</div>"
},
"extension" : [
{
"url" : "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-softwaresystem",
"valueReference" : {
"reference" : "Device/cqf-tooling"
}
}
],
"url" : "https://madie.cms.gov/Library/AlaraCommonFunctions",
"version" : "2.1.000",
"name" : "AlaraCommonFunctions",
"status" : "draft",
"type" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/library-type",
"code" : "logic-library"
}
]
},
"date" : "2026-09-19T16:31:14+00:00",
"content" : [
{
"contentType" : "text/cql",
"data" : "LyoKTk9URTogRm9yIHVzZSBieSBNYXJjaCAyMDI2IFVTIFJlYWxtIENvbm5lY3RhdGhvbiBwYXJ0aWNpcGFudHMgZm9yIGludGVybmFsIHVzZSBvbmx5LiBOb3QgZm9yIHVzZSBvciBkaXN0cmlidXRpb24gaW4gY29tbWVyY2lhbCBwcm9kdWN0cy4KKi8KbGlicmFyeSBBbGFyYUNvbW1vbkZ1bmN0aW9ucyB2ZXJzaW9uICcyLjEuMDAwJwoKdXNpbmcgVVNRdWFsaXR5Q29yZSB2ZXJzaW9uICcwLjEuMC1jaWJ1aWxkJwp1c2luZyBVU0NvcmUgdmVyc2lvbiAnNi4xLjAtZGVyaXZlZCcKdXNpbmcgRkhJUiB2ZXJzaW9uICc0LjAuMScKCmluY2x1ZGUgaGw3LmZoaXIudXYuY3FsLkZISVJIZWxwZXJzIHZlcnNpb24gJzQuMC4xJyBjYWxsZWQgRkhJUkhlbHBlcnMKaW5jbHVkZSBobDcuZmhpci51di5jcWwuRkhJUkNvbW1vbiB2ZXJzaW9uICcyLjAuMCcgY2FsbGVkIEZISVJDb21tb24KCmNvZGVzeXN0ZW0gIkxPSU5DIjogJ2h0dHA6Ly9sb2luYy5vcmcnCgpjb2RlICJBYmRvbWVuIGFuZCBQZWx2aXMgSGlnaCBEb3NlIjogJ0xBMzE3NTQtNycgZnJvbSAiTE9JTkMiIGRpc3BsYXkgJ0FiZG9tZW4gYW5kIFBlbHZpcyBIaWdoIERvc2UnCmNvZGUgIkFiZG9tZW4gYW5kIFBlbHZpcyBMb3cgRG9zZSI6ICdMQTMxNzUyLTEnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdBYmRvbWVuIGFuZCBQZWx2aXMgTG93IERvc2UnCmNvZGUgIkFiZG9tZW4gYW5kIFBlbHZpcyBSb3V0aW5lIERvc2UiOiAnTEEzMTc1My05JyBmcm9tICJMT0lOQyIgZGlzcGxheSAnQWJkb21lbiBhbmQgUGVsdmlzIFJvdXRpbmUgRG9zZScKY29kZSAiQ2FsY3VsYXRlZCBDVCBnbG9iYWwgbm9pc2UiOiAnOTY5MTItMScgZnJvbSAiTE9JTkMiIGRpc3BsYXkgJ0NhbGN1bGF0ZWQgQ1QgZ2xvYmFsIG5vaXNlJwpjb2RlICJDYWxjdWxhdGVkIENUIHNpemUtYWRqdXN0ZWQgZG9zZSI6ICc5NjkxMy05JyBmcm9tICJMT0lOQyIgZGlzcGxheSAnQ2FsY3VsYXRlZCBDVCBzaXplLWFkanVzdGVkIGRvc2UnCmNvZGUgIkNhcmRpYWMgSGlnaCBEb3NlIG9yIENoZXN0IEhpZ2ggRG9zZSI6ICdMQTMxNzYxLTInIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdDYXJkaWFjIEhpZ2ggRG9zZSBvciBDaGVzdCBIaWdoIERvc2UnCmNvZGUgIkNhcmRpYWMgTG93IERvc2UiOiAnTEEzMTc1NS00JyBmcm9tICJMT0lOQyIgZGlzcGxheSAnQ2FyZGlhYyBMb3cgRG9zZScKY29kZSAiQ2FyZGlhYyBSb3V0aW5lIERvc2UiOiAnTEEzMTc1Ni0yJyBmcm9tICJMT0lOQyIgZGlzcGxheSAnQ2FyZGlhYyBSb3V0aW5lIERvc2UnCmNvZGUgIkNoZXN0IExvdyBEb3NlIjogJ0xBMzE3NTgtOCcgZnJvbSAiTE9JTkMiIGRpc3BsYXkgJ0NoZXN0IExvdyBEb3NlJwpjb2RlICJDaGVzdCBSb3V0aW5lIERvc2UiOiAnTEEzMTc1OS02JyBmcm9tICJMT0lOQyIgZGlzcGxheSAnQ2hlc3QgUm91dGluZSBEb3NlJwpjb2RlICJFeHRyZW1pdHkiOiAnTEEzMTc2NS0zJyBmcm9tICJMT0lOQyIgZGlzcGxheSAnRXh0cmVtaXR5Jwpjb2RlICJIZWFkIEhpZ2ggRG9zZSI6ICdMQTMxNzY0LTYnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdIZWFkIEhpZ2ggRG9zZScKY29kZSAiSGVhZCBMb3cgRG9zZSI6ICdMQTMxNzYyLTAnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdIZWFkIExvdyBEb3NlJwpjb2RlICJIZWFkIFJvdXRpbmUgRG9zZSI6ICdMQTMxNzYzLTgnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdIZWFkIFJvdXRpbmUgRG9zZScKY29kZSAiTmVjayBvciBDZXJ2aWNhbCBTcGluZSI6ICdMQTMxNzY2LTEnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdOZWNrIG9yIENlcnZpY2FsIFNwaW5lJwpjb2RlICJTaW11bHRhbmVvdXMgQ2hlc3QgYW5kIEFiZG9tZW4gYW5kIFBlbHZpcyI6ICdMQTMxNzY4LTcnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdTaW11bHRhbmVvdXMgQ2hlc3QgYW5kIEFiZG9tZW4gYW5kIFBlbHZpcycKY29kZSAiU2ltdWx0YW5lb3VzIEhlYWQgYW5kIE5lY2sgSGlnaCBEb3NlIjogJ0xBMzE3NzAtMycgZnJvbSAiTE9JTkMiIGRpc3BsYXkgJ1NpbXVsdGFuZW91cyBIZWFkIGFuZCBOZWNrIEhpZ2ggRG9zZScKY29kZSAiU2ltdWx0YW5lb3VzIEhlYWQgYW5kIE5lY2sgUm91dGluZSBEb3NlIjogJ0xBMzE3NjktNScgZnJvbSAiTE9JTkMiIGRpc3BsYXkgJ1NpbXVsdGFuZW91cyBIZWFkIGFuZCBOZWNrIFJvdXRpbmUgRG9zZScKY29kZSAiU2ltdWx0YW5lb3VzIFRob3JhY2ljIGFuZCBMdW1iYXIgU3BpbmUiOiAnTEEzMTg1MS0xJyBmcm9tICJMT0lOQyIgZGlzcGxheSAnU2ltdWx0YW5lb3VzIFRob3JhY2ljIGFuZCBMdW1iYXIgU3BpbmUnCmNvZGUgIlRob3JhY2ljIG9yIEx1bWJhciBTcGluZSI6ICdMQTMxNzY3LTknIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdUaG9yYWNpYyBvciBMdW1iYXIgU3BpbmUnCgpjb250ZXh0IFBhdGllbnQKCmRlZmluZSBmdW5jdGlvbiAiQ1QgU2NhbiBRdWFsaWZpZXMiKFJlc3VsdCBPYnNlcnZhdGlvbkNsaW5pY2FsUmVzdWx0ICk6CiAgUmVzdWx0LnF1YWxpZmllcygiQWJkb21lbiBhbmQgUGVsdmlzIExvdyBEb3NlIiwgNjQsIDU5OCkKICAgIG9yIFJlc3VsdC5xdWFsaWZpZXMoIkFiZG9tZW4gYW5kIFBlbHZpcyBSb3V0aW5lIERvc2UiLCAyOSwgNjQ0KQogICAgb3IgUmVzdWx0LnF1YWxpZmllcygiQWJkb21lbiBhbmQgUGVsdmlzIEhpZ2ggRG9zZSIsIDI5LCAxMjYwKQogICAgb3IgUmVzdWx0LnF1YWxpZmllcygiQ2FyZGlhYyBMb3cgRG9zZSIsIDU1LCA5MykKICAgIG9yIFJlc3VsdC5xdWFsaWZpZXMoIkNhcmRpYWMgUm91dGluZSBEb3NlIiwgMzIsIDU3NikKICAgIG9yIFJlc3VsdC5xdWFsaWZpZXMoIkNoZXN0IExvdyBEb3NlIiwgNTUsIDM3NykKICAgIG9yIFJlc3VsdC5xdWFsaWZpZXMoIkNoZXN0IFJvdXRpbmUgRG9zZSIsIDQ5LCAzNzcpCiAgICBvciBSZXN1bHQucXVhbGlmaWVzKCJDYXJkaWFjIEhpZ2ggRG9zZSBvciBDaGVzdCBIaWdoIERvc2UiLCA0OSwgMTI4MikKICAgIG9yIFJlc3VsdC5xdWFsaWZpZXMoIkhlYWQgTG93IERvc2UiLCAxMTUsIDU4MikKICAgIG9yIFJlc3VsdC5xdWFsaWZpZXMoIkhlYWQgUm91dGluZSBEb3NlIiwgMTE1LCAxMDI1KQogICAgb3IgUmVzdWx0LnF1YWxpZmllcygiSGVhZCBIaWdoIERvc2UiLCAxMTUsIDE4MzIpCiAgICBvciBSZXN1bHQucXVhbGlmaWVzKCJFeHRyZW1pdHkiLCA3MywgMzIwKQogICAgb3IgUmVzdWx0LnF1YWxpZmllcygiTmVjayBvciBDZXJ2aWNhbCBTcGluZSIsIDI1LCAxMjYwKQogICAgb3IgUmVzdWx0LnF1YWxpZmllcygiVGhvcmFjaWMgb3IgTHVtYmFyIFNwaW5lIiwgMjUsIDEyNjApCiAgICBvciBSZXN1bHQucXVhbGlmaWVzKCJTaW11bHRhbmVvdXMgQ2hlc3QgYW5kIEFiZG9tZW4gYW5kIFBlbHZpcyIsIDI5LCAxNjM3KQogICAgb3IgUmVzdWx0LnF1YWxpZmllcygiU2ltdWx0YW5lb3VzIFRob3JhY2ljIGFuZCBMdW1iYXIgU3BpbmUiLCAyNSwgMjUyMCkKICAgIG9yIFJlc3VsdC5xdWFsaWZpZXMoIlNpbXVsdGFuZW91cyBIZWFkIGFuZCBOZWNrIFJvdXRpbmUgRG9zZSIsIDI1LCAyMjg1KQogICAgb3IgUmVzdWx0LnF1YWxpZmllcygiU2ltdWx0YW5lb3VzIEhlYWQgYW5kIE5lY2sgSGlnaCBEb3NlIiwgMjUsIDMwOTIpCgpkZWZpbmUgZmx1ZW50IGZ1bmN0aW9uICJjdFNjYW5RdWFsaWZpZXMiKFJlc3VsdCBPYnNlcnZhdGlvbkNsaW5pY2FsUmVzdWx0ICk6CiAgUmVzdWx0LnF1YWxpZmllcygiQWJkb21lbiBhbmQgUGVsdmlzIExvdyBEb3NlIiwgNjQsIDU5OCkKICAgIG9yIFJlc3VsdC5xdWFsaWZpZXMoIkFiZG9tZW4gYW5kIFBlbHZpcyBSb3V0aW5lIERvc2UiLCAyOSwgNjQ0KQogICAgb3IgUmVzdWx0LnF1YWxpZmllcygiQWJkb21lbiBhbmQgUGVsdmlzIEhpZ2ggRG9zZSIsIDI5LCAxMjYwKQogICAgb3IgUmVzdWx0LnF1YWxpZmllcygiQ2FyZGlhYyBMb3cgRG9zZSIsIDU1LCA5MykKICAgIG9yIFJlc3VsdC5xdWFsaWZpZXMoIkNhcmRpYWMgUm91dGluZSBEb3NlIiwgMzIsIDU3NikKICAgIG9yIFJlc3VsdC5xdWFsaWZpZXMoIkNoZXN0IExvdyBEb3NlIiwgNTUsIDM3NykKICAgIG9yIFJlc3VsdC5xdWFsaWZpZXMoIkNoZXN0IFJvdXRpbmUgRG9zZSIsIDQ5LCAzNzcpCiAgICBvciBSZXN1bHQucXVhbGlmaWVzKCJDYXJkaWFjIEhpZ2ggRG9zZSBvciBDaGVzdCBIaWdoIERvc2UiLCA0OSwgMTI4MikKICAgIG9yIFJlc3VsdC5xdWFsaWZpZXMoIkhlYWQgTG93IERvc2UiLCAxMTUsIDU4MikKICAgIG9yIFJlc3VsdC5xdWFsaWZpZXMoIkhlYWQgUm91dGluZSBEb3NlIiwgMTE1LCAxMDI1KQogICAgb3IgUmVzdWx0LnF1YWxpZmllcygiSGVhZCBIaWdoIERvc2UiLCAxMTUsIDE4MzIpCiAgICBvciBSZXN1bHQucXVhbGlmaWVzKCJFeHRyZW1pdHkiLCA3MywgMzIwKQogICAgb3IgUmVzdWx0LnF1YWxpZmllcygiTmVjayBvciBDZXJ2aWNhbCBTcGluZSIsIDI1LCAxMjYwKQogICAgb3IgUmVzdWx0LnF1YWxpZmllcygiVGhvcmFjaWMgb3IgTHVtYmFyIFNwaW5lIiwgMjUsIDEyNjApCiAgICBvciBSZXN1bHQucXVhbGlmaWVzKCJTaW11bHRhbmVvdXMgQ2hlc3QgYW5kIEFiZG9tZW4gYW5kIFBlbHZpcyIsIDI5LCAxNjM3KQogICAgb3IgUmVzdWx0LnF1YWxpZmllcygiU2ltdWx0YW5lb3VzIFRob3JhY2ljIGFuZCBMdW1iYXIgU3BpbmUiLCAyNSwgMjUyMCkKICAgIG9yIFJlc3VsdC5xdWFsaWZpZXMoIlNpbXVsdGFuZW91cyBIZWFkIGFuZCBOZWNrIFJvdXRpbmUgRG9zZSIsIDI1LCAyMjg1KQogICAgb3IgUmVzdWx0LnF1YWxpZmllcygiU2ltdWx0YW5lb3VzIEhlYWQgYW5kIE5lY2sgSGlnaCBEb3NlIiwgMjUsIDMwOTIpCiAgICAKZGVmaW5lIGZ1bmN0aW9uICJRdWFsaWZpZXMiKFJlc3VsdCBPYnNlcnZhdGlvbkNsaW5pY2FsUmVzdWx0LCBjb2RlIFN5c3RlbS5Db2RlLCBub2lzZVRocmVzaG9sZCBEZWNpbWFsLCBzaXplRG9zZVRocmVzaG9sZCBEZWNpbWFsICk6CiAgKFJlc3VsdC52YWx1ZSBhcyBGSElSLkNvZGVhYmxlQ29uY2VwdCkgfiBjb2RlCiAgICBhbmQgKCAiR2xvYmFsIE5vaXNlIFZhbHVlIihSZXN1bHQpID49IG5vaXNlVGhyZXNob2xkCiAgICAgICAgb3IgIlNpemUgQWRqdXN0ZWQgVmFsdWUiKFJlc3VsdCkgPj0gc2l6ZURvc2VUaHJlc2hvbGQKICAgICkKICAgIApkZWZpbmUgZmx1ZW50IGZ1bmN0aW9uICJxdWFsaWZpZXMiKFJlc3VsdCBPYnNlcnZhdGlvbkNsaW5pY2FsUmVzdWx0LCBjb2RlIFN5c3RlbS5Db2RlLCBub2lzZVRocmVzaG9sZCBEZWNpbWFsLCBzaXplRG9zZVRocmVzaG9sZCBEZWNpbWFsICk6CiAgKFJlc3VsdC52YWx1ZSBhcyBGSElSLkNvZGVhYmxlQ29uY2VwdCkgfiBjb2RlCiAgICBhbmQgKCBSZXN1bHQuZ2xvYmFsTm9pc2VWYWx1ZSgpID49IG5vaXNlVGhyZXNob2xkCiAgICAgICAgb3IgUmVzdWx0LnNpemVBZGp1c3RlZFZhbHVlKCkgPj0gc2l6ZURvc2VUaHJlc2hvbGQKICAgICkKCi8qIE5vdGUgc2luY2UgdGhlIHVuaXRzIGhhcyBhIHNwZWNpYWwgY2hhcmFjdGVyIGluIGl0IHRoaXMgbXVzdCBiZSBlc2NhcGVkIGluIHRoZSBDUUwgKi8KZGVmaW5lIGZ1bmN0aW9uICJHbG9iYWwgTm9pc2UgVmFsdWUiKFJlc3VsdCBPYnNlcnZhdGlvbkNsaW5pY2FsUmVzdWx0ICk6CiAgc2luZ2xldG9uIGZyb20gKCBSZXN1bHQuY29tcG9uZW50IEMKICAgICAgd2hlcmUgUmVzdWx0LnN0YXR1cyBpbiB7ICdmaW5hbCcsICdhbWVuZGVkJywgJ2NvcnJlY3RlZCcgfQogICAgICAgIGFuZCBDLmNvZGUgfiAiQ2FsY3VsYXRlZCBDVCBnbG9iYWwgbm9pc2UiCiAgICAgICAgYW5kICggQy52YWx1ZSBhcyBRdWFudGl0eSApLnVuaXQgPSAnW2huc2ZcJ1VdJwogICAgICByZXR1cm4gKEMudmFsdWUgYXMgUXVhbnRpdHkpLnZhbHVlCiAgKQogIAovKiBOb3RlIHNpbmNlIHRoZSB1bml0cyBoYXMgYSBzcGVjaWFsIGNoYXJhY3RlciBpbiBpdCB0aGlzIG11c3QgYmUgZXNjYXBlZCBpbiB0aGUgQ1FMICovCmRlZmluZSBmbHVlbnQgZnVuY3Rpb24gImdsb2JhbE5vaXNlVmFsdWUiKFJlc3VsdCBPYnNlcnZhdGlvbkNsaW5pY2FsUmVzdWx0ICk6CiAgc2luZ2xldG9uIGZyb20gKCBSZXN1bHQuY29tcG9uZW50IEMKICAgICAgd2hlcmUgUmVzdWx0LnN0YXR1cyBpbiB7ICdmaW5hbCcsICdhbWVuZGVkJywgJ2NvcnJlY3RlZCcgfQogICAgICAgIGFuZCBDLmNvZGUgfiAiQ2FsY3VsYXRlZCBDVCBnbG9iYWwgbm9pc2UiCiAgICAgICAgYW5kICggQy52YWx1ZSBhcyBRdWFudGl0eSApLnVuaXQgPSAnW2huc2ZcJ1VdJwogICAgICByZXR1cm4gKEMudmFsdWUgYXMgUXVhbnRpdHkpLnZhbHVlCiAgKQoKZGVmaW5lIGZ1bmN0aW9uICJTaXplIEFkanVzdGVkIFZhbHVlIihSZXN1bHQgT2JzZXJ2YXRpb25DbGluaWNhbFJlc3VsdCApOgogIHNpbmdsZXRvbiBmcm9tICggUmVzdWx0LmNvbXBvbmVudCBDCiAgICAgIHdoZXJlIFJlc3VsdC5zdGF0dXMgaW4geyAnZmluYWwnLCAnYW1lbmRlZCcsICdjb3JyZWN0ZWQnIH0KICAgICAgICBhbmQgQy5jb2RlIH4gIkNhbGN1bGF0ZWQgQ1Qgc2l6ZS1hZGp1c3RlZCBkb3NlIgogICAgICAgIGFuZCAoIEMudmFsdWUgYXMgUXVhbnRpdHkgKS51bml0ID0gJ21HeS5jbScKICAgICAgcmV0dXJuIChDLnZhbHVlIGFzIFF1YW50aXR5KS52YWx1ZQogICkKICAKZGVmaW5lIGZsdWVudCBmdW5jdGlvbiAic2l6ZUFkanVzdGVkVmFsdWUiKFJlc3VsdCBPYnNlcnZhdGlvbkNsaW5pY2FsUmVzdWx0ICk6CiAgc2luZ2xldG9uIGZyb20gKCBSZXN1bHQuY29tcG9uZW50IEMKICAgICAgd2hlcmUgUmVzdWx0LnN0YXR1cyBpbiB7ICdmaW5hbCcsICdhbWVuZGVkJywgJ2NvcnJlY3RlZCcgfQogICAgICAgIGFuZCBDLmNvZGUgfiAiQ2FsY3VsYXRlZCBDVCBzaXplLWFkanVzdGVkIGRvc2UiCiAgICAgICAgYW5kICggQy52YWx1ZSBhcyBRdWFudGl0eSApLnVuaXQgPSAnbUd5LmNtJwogICAgICByZXR1cm4gKEMudmFsdWUgYXMgUXVhbnRpdHkpLnZhbHVlCiAgKQ==",
"url" : "https://madie.cms.gov/Library-AlaraCommonFunctions.cql"
}
]
}