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" : "CMS1157FHIRHIVRetention",
"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\">1.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 CMS1157FHIRHIVRetention version '1.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\ninclude hl7.fhir.us.cql.USCoreCommon version '2.0.0-ballot' called USCoreCommon\ninclude hl7.fhir.us.cql.USCoreElements version '2.0.0-ballot' called USCoreElements\n\ninclude CQMCommon version '5.1.000' called CQMCommon\ninclude USQualityCoreCommon version '0.1.0-cibuild' called USQualityCoreCommon\ninclude SupplementalDataElements version '6.1.000' called SDE\ninclude Status version '2.1.000' called Status\n\nvalueset "Annual Wellness Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1240'\nvalueset "Face-to-Face Interaction": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.375'\nvalueset "HIV": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.120.12.1003'\nvalueset "HIV Viral Load Tests": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.377'\nvalueset "Home Healthcare Services": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016'\nvalueset "Office Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001'\nvalueset "Outpatient Consultation": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1008'\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'\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'\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'\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'\nvalueset "Telephone Visits": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1080'\nvalueset "Preventive Care Services Other": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.11.1150'\n\nparameter "Measurement Period" Interval<DateTime>\n default Interval[@2026-01-01T00:00:00.000Z, @2027-01-01T00:00:00.000Z)\n\ncontext Patient\n\ndefine "Initial Population":\n "Has Active HIV Diagnosis Starts On or Before First 240 Days of Measurement Period"\n and "Has Qualifying Encounter During First 240 Days of Measurement Period"\n\ndefine "Denominator":\n "Initial Population"\n\ndefine "Numerator":\n "Has One Encounter With HIV and One Viral Load Test At Least 90 Days Apart"\n or "Has Two Encounters With HIV At Least 90 Days Apart"\n\ndefine "Encounter During Measurement Period With HIV":\n ( ( ["Encounter": "Office Visit"]\n union ["Encounter": "Outpatient Consultation"]\n union ["Encounter": "Annual Wellness Visit"]\n union ["Encounter": "Face-to-Face Interaction"]\n union ["Encounter": "Home Healthcare Services"]\n union ["Encounter": "Preventive Care Services Established Office Visit, 18 and Up"]\n union ["Encounter": "Preventive Care Services Initial Office Visit, 18 and Up"]\n union ["Encounter": "Preventive Care Services, Initial Office Visit, 0 to 17"]\n union ["Encounter": "Preventive Care, Established Office Visit, 0 to 17"]\n union ["Encounter": "Telephone Visits"]\n union ["Encounter": "Preventive Care Services Other"] ) ValidEncounter\n with (\n // [E-13] base FHIR.Condition retrieve (defect-tracking/engine-issues.md E-13)\n // Original:\n // ( ["ConditionProblemsHealthConcerns": "HIV"]\n // union ["ConditionEncounterDiagnosis": "HIV"] )\n [FHIR.Condition: "HIV"] ) HIVDiagnosis\n such that ValidEncounter.period during day of "Measurement Period"\n and ValidEncounter.status = 'finished'\n and HIVDiagnosis.prevalenceInterval ( ) starts on or before day of start of ValidEncounter.period\n and HIVDiagnosis.isVerified ( )\n )\n\ndefine "Has Active HIV Diagnosis Starts On or Before First 240 Days of Measurement Period":\n exists ( (\n // [E-13] base FHIR.Condition retrieve (defect-tracking/engine-issues.md E-13)\n // Original:\n // ( ["ConditionProblemsHealthConcerns": "HIV"]\n // union ["ConditionEncounterDiagnosis": "HIV"] )\n [FHIR.Condition: "HIV"] ) HIVDx\n where HIVDx.prevalenceInterval ( ) starts on or before day of ( start of "Measurement Period" + 240 days )\n and HIVDx.isVerified ( )\n )\n\ndefine "Has One Encounter With HIV and One Viral Load Test At Least 90 Days Apart":\n exists ( "Encounter During Measurement Period With HIV" ) EncounterWithHIV\n with ["LaboratoryResultObservation": "HIV Viral Load Tests"] ViralLoadTest\n such that ViralLoadTest.status in { 'final', 'amended', 'corrected' }\n and ViralLoadTest.effective.toInterval ( ) during day of "Measurement Period"\n and ( ( ViralLoadTest.effective.toInterval ( ) starts 90 days or more after day of end of EncounterWithHIV.period )\n or ( EncounterWithHIV.period starts 90 days or more after day of end of ViralLoadTest.effective.toInterval ( ) )\n )\n\ndefine "Has Qualifying Encounter During First 240 Days of Measurement Period":\n exists ( ["Encounter": "Office Visit"]\n union ["Encounter": "Outpatient Consultation"]\n union ["Encounter": "Annual Wellness Visit"]\n union ["Encounter": "Face-to-Face Interaction"]\n union ["Encounter": "Home Healthcare Services"]\n union ["Encounter": "Preventive Care Services Established Office Visit, 18 and Up"]\n union ["Encounter": "Preventive Care Services Initial Office Visit, 18 and Up"]\n union ["Encounter": "Preventive Care Services, Initial Office Visit, 0 to 17"]\n union ["Encounter": "Preventive Care, Established Office Visit, 0 to 17"]\n union ["Encounter": "Telephone Visits"]\n union ["Encounter": "Preventive Care Services Other"] ) QualifyingEncounter\n where QualifyingEncounter.period during day of Interval[start of "Measurement Period", start of "Measurement Period" + 240 days]\n\ndefine "Has Two Encounters With HIV At Least 90 Days Apart":\n exists "Encounter During Measurement Period With HIV" EncounterWithHIV\n with "Encounter During Measurement Period With HIV" AnotherEncounterWithHIV\n such that EncounterWithHIV !~ AnotherEncounterWithHIV\n and AnotherEncounterWithHIV.period starts 90 days or more after day of end of EncounterWithHIV.period\n\ndefine fluent function isVerified(condition Choice<ConditionProblemsHealthConcerns, ConditionEncounterDiagnosis>):\n condition.verificationStatus is not null implies ( condition.verificationStatus ~ Status."confirmed"\n or condition.verificationStatus ~ Status."unconfirmed"\n or condition.verificationStatus ~ Status."provisional"\n or condition.verificationStatus ~ Status."differential"\n )\n\ndefine "SDE Ethnicity":\n SDE."SDE Ethnicity"\n\ndefine "SDE Payer":\n SDE."SDE Payer"\n\ndefine "SDE Race":\n SDE."SDE Race"\n\ndefine "SDE Sex":\n SDE."SDE Sex"</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/CMS1157FHIRHIVRetention",
"version" : "1.1.000",
"name" : "CMS1157FHIRHIVRetention",
"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" : "LyoKTk9URTogRm9yIHVzZSBieSBNYXJjaCAyMDI2IFVTIFJlYWxtIENvbm5lY3RhdGhvbiBwYXJ0aWNpcGFudHMgZm9yIGludGVybmFsIHVzZSBvbmx5LiBOb3QgZm9yIHVzZSBvciBkaXN0cmlidXRpb24gaW4gY29tbWVyY2lhbCBwcm9kdWN0cy4KKi8KbGlicmFyeSBDTVMxMTU3RkhJUkhJVlJldGVudGlvbiB2ZXJzaW9uICcxLjEuMDAwJwoKdXNpbmcgVVNRdWFsaXR5Q29yZSB2ZXJzaW9uICcwLjEuMC1jaWJ1aWxkJwp1c2luZyBVU0NvcmUgdmVyc2lvbiAnNi4xLjAtZGVyaXZlZCcKdXNpbmcgRkhJUiB2ZXJzaW9uICc0LjAuMScKCmluY2x1ZGUgaGw3LmZoaXIudXYuY3FsLkZISVJIZWxwZXJzIHZlcnNpb24gJzQuMC4xJyBjYWxsZWQgRkhJUkhlbHBlcnMKaW5jbHVkZSBobDcuZmhpci51di5jcWwuRkhJUkNvbW1vbiB2ZXJzaW9uICcyLjAuMCcgY2FsbGVkIEZISVJDb21tb24KaW5jbHVkZSBobDcuZmhpci51cy5jcWwuVVNDb3JlQ29tbW9uIHZlcnNpb24gJzIuMC4wLWJhbGxvdCcgY2FsbGVkIFVTQ29yZUNvbW1vbgppbmNsdWRlIGhsNy5maGlyLnVzLmNxbC5VU0NvcmVFbGVtZW50cyB2ZXJzaW9uICcyLjAuMC1iYWxsb3QnIGNhbGxlZCBVU0NvcmVFbGVtZW50cwoKaW5jbHVkZSBDUU1Db21tb24gdmVyc2lvbiAnNS4xLjAwMCcgY2FsbGVkIENRTUNvbW1vbgppbmNsdWRlIFVTUXVhbGl0eUNvcmVDb21tb24gdmVyc2lvbiAnMC4xLjAtY2lidWlsZCcgY2FsbGVkIFVTUXVhbGl0eUNvcmVDb21tb24KaW5jbHVkZSBTdXBwbGVtZW50YWxEYXRhRWxlbWVudHMgdmVyc2lvbiAnNi4xLjAwMCcgY2FsbGVkIFNERQppbmNsdWRlIFN0YXR1cyB2ZXJzaW9uICcyLjEuMDAwJyBjYWxsZWQgU3RhdHVzCgp2YWx1ZXNldCAiQW5udWFsIFdlbGxuZXNzIFZpc2l0IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjUyNi4zLjEyNDAnCnZhbHVlc2V0ICJGYWNlLXRvLUZhY2UgSW50ZXJhY3Rpb24iOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMjQ4LjM3NScKdmFsdWVzZXQgIkhJViI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMjAuMTIuMTAwMycKdmFsdWVzZXQgIkhJViBWaXJhbCBMb2FkIFRlc3RzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTI0OC4zNzcnCnZhbHVlc2V0ICJIb21lIEhlYWx0aGNhcmUgU2VydmljZXMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMTYnCnZhbHVlc2V0ICJPZmZpY2UgVmlzaXQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMDEnCnZhbHVlc2V0ICJPdXRwYXRpZW50IENvbnN1bHRhdGlvbiI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAwOCcKdmFsdWVzZXQgIlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcyBFc3RhYmxpc2hlZCBPZmZpY2UgVmlzaXQsIDE4IGFuZCBVcCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAyNScKdmFsdWVzZXQgIlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcyBJbml0aWFsIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDIzJwp2YWx1ZXNldCAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzLCBJbml0aWFsIE9mZmljZSBWaXNpdCwgMCB0byAxNyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAyMicKdmFsdWVzZXQgIlByZXZlbnRpdmUgQ2FyZSwgRXN0YWJsaXNoZWQgT2ZmaWNlIFZpc2l0LCAwIHRvIDE3IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDI0Jwp2YWx1ZXNldCAiVGVsZXBob25lIFZpc2l0cyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTA4MCcKdmFsdWVzZXQgIlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcyBPdGhlciI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTEuMTE1MCcKCnBhcmFtZXRlciAiTWVhc3VyZW1lbnQgUGVyaW9kIiBJbnRlcnZhbDxEYXRlVGltZT4KICBkZWZhdWx0IEludGVydmFsW0AyMDI2LTAxLTAxVDAwOjAwOjAwLjAwMFosIEAyMDI3LTAxLTAxVDAwOjAwOjAwLjAwMFopCgpjb250ZXh0IFBhdGllbnQKCmRlZmluZSAiSW5pdGlhbCBQb3B1bGF0aW9uIjoKICAiSGFzIEFjdGl2ZSBISVYgRGlhZ25vc2lzIFN0YXJ0cyBPbiBvciBCZWZvcmUgRmlyc3QgMjQwIERheXMgb2YgTWVhc3VyZW1lbnQgUGVyaW9kIgogICAgYW5kICJIYXMgUXVhbGlmeWluZyBFbmNvdW50ZXIgRHVyaW5nIEZpcnN0IDI0MCBEYXlzIG9mIE1lYXN1cmVtZW50IFBlcmlvZCIKCmRlZmluZSAiRGVub21pbmF0b3IiOgogICJJbml0aWFsIFBvcHVsYXRpb24iCgpkZWZpbmUgIk51bWVyYXRvciI6CiAgIkhhcyBPbmUgRW5jb3VudGVyIFdpdGggSElWIGFuZCBPbmUgVmlyYWwgTG9hZCBUZXN0IEF0IExlYXN0IDkwIERheXMgQXBhcnQiCiAgICBvciAiSGFzIFR3byBFbmNvdW50ZXJzIFdpdGggSElWIEF0IExlYXN0IDkwIERheXMgQXBhcnQiCgpkZWZpbmUgIkVuY291bnRlciBEdXJpbmcgTWVhc3VyZW1lbnQgUGVyaW9kIFdpdGggSElWIjoKICAoICggWyJFbmNvdW50ZXIiOiAiT2ZmaWNlIFZpc2l0Il0KICAgICAgdW5pb24gWyJFbmNvdW50ZXIiOiAiT3V0cGF0aWVudCBDb25zdWx0YXRpb24iXQogICAgICB1bmlvbiBbIkVuY291bnRlciI6ICJBbm51YWwgV2VsbG5lc3MgVmlzaXQiXQogICAgICB1bmlvbiBbIkVuY291bnRlciI6ICJGYWNlLXRvLUZhY2UgSW50ZXJhY3Rpb24iXQogICAgICB1bmlvbiBbIkVuY291bnRlciI6ICJIb21lIEhlYWx0aGNhcmUgU2VydmljZXMiXQogICAgICB1bmlvbiBbIkVuY291bnRlciI6ICJQcmV2ZW50aXZlIENhcmUgU2VydmljZXMgRXN0YWJsaXNoZWQgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiXQogICAgICB1bmlvbiBbIkVuY291bnRlciI6ICJQcmV2ZW50aXZlIENhcmUgU2VydmljZXMgSW5pdGlhbCBPZmZpY2UgVmlzaXQsIDE4IGFuZCBVcCJdCiAgICAgIHVuaW9uIFsiRW5jb3VudGVyIjogIlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcywgSW5pdGlhbCBPZmZpY2UgVmlzaXQsIDAgdG8gMTciXQogICAgICB1bmlvbiBbIkVuY291bnRlciI6ICJQcmV2ZW50aXZlIENhcmUsIEVzdGFibGlzaGVkIE9mZmljZSBWaXNpdCwgMCB0byAxNyJdCiAgICAgIHVuaW9uIFsiRW5jb3VudGVyIjogIlRlbGVwaG9uZSBWaXNpdHMiXQogICAgICB1bmlvbiBbIkVuY291bnRlciI6ICJQcmV2ZW50aXZlIENhcmUgU2VydmljZXMgT3RoZXIiXSApIFZhbGlkRW5jb3VudGVyCiAgICAgIHdpdGggKAogICAgICAgIC8vIFtFLTEzXSBiYXNlIEZISVIuQ29uZGl0aW9uIHJldHJpZXZlIChkZWZlY3QtdHJhY2tpbmcvZW5naW5lLWlzc3Vlcy5tZCBFLTEzKQogICAgICAgIC8vIE9yaWdpbmFsOgogICAgICAgIC8vICAgKCBbIkNvbmRpdGlvblByb2JsZW1zSGVhbHRoQ29uY2VybnMiOiAiSElWIl0KICAgICAgICAvLyAgICAgdW5pb24gWyJDb25kaXRpb25FbmNvdW50ZXJEaWFnbm9zaXMiOiAiSElWIl0gKQogICAgICAgIFtGSElSLkNvbmRpdGlvbjogIkhJViJdICkgSElWRGlhZ25vc2lzCiAgICAgICAgc3VjaCB0aGF0IFZhbGlkRW5jb3VudGVyLnBlcmlvZCBkdXJpbmcgZGF5IG9mICJNZWFzdXJlbWVudCBQZXJpb2QiCiAgICAgICAgICBhbmQgVmFsaWRFbmNvdW50ZXIuc3RhdHVzID0gJ2ZpbmlzaGVkJwogICAgICAgICAgYW5kIEhJVkRpYWdub3Npcy5wcmV2YWxlbmNlSW50ZXJ2YWwgKCApIHN0YXJ0cyBvbiBvciBiZWZvcmUgZGF5IG9mIHN0YXJ0IG9mIFZhbGlkRW5jb3VudGVyLnBlcmlvZAogICAgICAgICAgYW5kIEhJVkRpYWdub3Npcy5pc1ZlcmlmaWVkICggKQogICkKCmRlZmluZSAiSGFzIEFjdGl2ZSBISVYgRGlhZ25vc2lzIFN0YXJ0cyBPbiBvciBCZWZvcmUgRmlyc3QgMjQwIERheXMgb2YgTWVhc3VyZW1lbnQgUGVyaW9kIjoKICBleGlzdHMgKCAoCiAgICAgIC8vIFtFLTEzXSBiYXNlIEZISVIuQ29uZGl0aW9uIHJldHJpZXZlIChkZWZlY3QtdHJhY2tpbmcvZW5naW5lLWlzc3Vlcy5tZCBFLTEzKQogICAgICAvLyBPcmlnaW5hbDoKICAgICAgLy8gICAoIFsiQ29uZGl0aW9uUHJvYmxlbXNIZWFsdGhDb25jZXJucyI6ICJISVYiXQogICAgICAvLyAgICAgdW5pb24gWyJDb25kaXRpb25FbmNvdW50ZXJEaWFnbm9zaXMiOiAiSElWIl0gKQogICAgICBbRkhJUi5Db25kaXRpb246ICJISVYiXSApIEhJVkR4CiAgICAgIHdoZXJlIEhJVkR4LnByZXZhbGVuY2VJbnRlcnZhbCAoICkgc3RhcnRzIG9uIG9yIGJlZm9yZSBkYXkgb2YgKCBzdGFydCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIiArIDI0MCBkYXlzICkKICAgICAgICBhbmQgSElWRHguaXNWZXJpZmllZCAoICkKICApCgpkZWZpbmUgIkhhcyBPbmUgRW5jb3VudGVyIFdpdGggSElWIGFuZCBPbmUgVmlyYWwgTG9hZCBUZXN0IEF0IExlYXN0IDkwIERheXMgQXBhcnQiOgogIGV4aXN0cyAoICJFbmNvdW50ZXIgRHVyaW5nIE1lYXN1cmVtZW50IFBlcmlvZCBXaXRoIEhJViIgKSBFbmNvdW50ZXJXaXRoSElWCiAgICB3aXRoIFsiTGFib3JhdG9yeVJlc3VsdE9ic2VydmF0aW9uIjogIkhJViBWaXJhbCBMb2FkIFRlc3RzIl0gVmlyYWxMb2FkVGVzdAogICAgICBzdWNoIHRoYXQgVmlyYWxMb2FkVGVzdC5zdGF0dXMgaW4geyAnZmluYWwnLCAnYW1lbmRlZCcsICdjb3JyZWN0ZWQnIH0KICAgICAgICBhbmQgVmlyYWxMb2FkVGVzdC5lZmZlY3RpdmUudG9JbnRlcnZhbCAoICkgZHVyaW5nIGRheSBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgogICAgICAgIGFuZCAoICggVmlyYWxMb2FkVGVzdC5lZmZlY3RpdmUudG9JbnRlcnZhbCAoICkgc3RhcnRzIDkwIGRheXMgb3IgbW9yZSBhZnRlciBkYXkgb2YgZW5kIG9mIEVuY291bnRlcldpdGhISVYucGVyaW9kICkKICAgICAgICAgICAgb3IgKCBFbmNvdW50ZXJXaXRoSElWLnBlcmlvZCBzdGFydHMgOTAgZGF5cyBvciBtb3JlIGFmdGVyIGRheSBvZiBlbmQgb2YgVmlyYWxMb2FkVGVzdC5lZmZlY3RpdmUudG9JbnRlcnZhbCAoICkgKQogICAgICAgICkKCmRlZmluZSAiSGFzIFF1YWxpZnlpbmcgRW5jb3VudGVyIER1cmluZyBGaXJzdCAyNDAgRGF5cyBvZiBNZWFzdXJlbWVudCBQZXJpb2QiOgogIGV4aXN0cyAoIFsiRW5jb3VudGVyIjogIk9mZmljZSBWaXNpdCJdCiAgICB1bmlvbiBbIkVuY291bnRlciI6ICJPdXRwYXRpZW50IENvbnN1bHRhdGlvbiJdCiAgICB1bmlvbiBbIkVuY291bnRlciI6ICJBbm51YWwgV2VsbG5lc3MgVmlzaXQiXQogICAgdW5pb24gWyJFbmNvdW50ZXIiOiAiRmFjZS10by1GYWNlIEludGVyYWN0aW9uIl0KICAgIHVuaW9uIFsiRW5jb3VudGVyIjogIkhvbWUgSGVhbHRoY2FyZSBTZXJ2aWNlcyJdCiAgICB1bmlvbiBbIkVuY291bnRlciI6ICJQcmV2ZW50aXZlIENhcmUgU2VydmljZXMgRXN0YWJsaXNoZWQgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiXQogICAgdW5pb24gWyJFbmNvdW50ZXIiOiAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzIEluaXRpYWwgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiXQogICAgdW5pb24gWyJFbmNvdW50ZXIiOiAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzLCBJbml0aWFsIE9mZmljZSBWaXNpdCwgMCB0byAxNyJdCiAgICB1bmlvbiBbIkVuY291bnRlciI6ICJQcmV2ZW50aXZlIENhcmUsIEVzdGFibGlzaGVkIE9mZmljZSBWaXNpdCwgMCB0byAxNyJdCiAgICB1bmlvbiBbIkVuY291bnRlciI6ICJUZWxlcGhvbmUgVmlzaXRzIl0KICAgIHVuaW9uIFsiRW5jb3VudGVyIjogIlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcyBPdGhlciJdICkgUXVhbGlmeWluZ0VuY291bnRlcgogICAgd2hlcmUgUXVhbGlmeWluZ0VuY291bnRlci5wZXJpb2QgZHVyaW5nIGRheSBvZiBJbnRlcnZhbFtzdGFydCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIiwgc3RhcnQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIgKyAyNDAgZGF5c10KCmRlZmluZSAiSGFzIFR3byBFbmNvdW50ZXJzIFdpdGggSElWIEF0IExlYXN0IDkwIERheXMgQXBhcnQiOgogIGV4aXN0cyAiRW5jb3VudGVyIER1cmluZyBNZWFzdXJlbWVudCBQZXJpb2QgV2l0aCBISVYiIEVuY291bnRlcldpdGhISVYKICAgIHdpdGggIkVuY291bnRlciBEdXJpbmcgTWVhc3VyZW1lbnQgUGVyaW9kIFdpdGggSElWIiBBbm90aGVyRW5jb3VudGVyV2l0aEhJVgogICAgICBzdWNoIHRoYXQgRW5jb3VudGVyV2l0aEhJViAhfiBBbm90aGVyRW5jb3VudGVyV2l0aEhJVgogICAgICAgIGFuZCBBbm90aGVyRW5jb3VudGVyV2l0aEhJVi5wZXJpb2Qgc3RhcnRzIDkwIGRheXMgb3IgbW9yZSBhZnRlciBkYXkgb2YgZW5kIG9mIEVuY291bnRlcldpdGhISVYucGVyaW9kCgpkZWZpbmUgZmx1ZW50IGZ1bmN0aW9uIGlzVmVyaWZpZWQoY29uZGl0aW9uIENob2ljZTxDb25kaXRpb25Qcm9ibGVtc0hlYWx0aENvbmNlcm5zLCBDb25kaXRpb25FbmNvdW50ZXJEaWFnbm9zaXM+KToKICBjb25kaXRpb24udmVyaWZpY2F0aW9uU3RhdHVzIGlzIG5vdCBudWxsIGltcGxpZXMgKCBjb25kaXRpb24udmVyaWZpY2F0aW9uU3RhdHVzIH4gU3RhdHVzLiJjb25maXJtZWQiCiAgICAgIG9yIGNvbmRpdGlvbi52ZXJpZmljYXRpb25TdGF0dXMgfiBTdGF0dXMuInVuY29uZmlybWVkIgogICAgICBvciBjb25kaXRpb24udmVyaWZpY2F0aW9uU3RhdHVzIH4gU3RhdHVzLiJwcm92aXNpb25hbCIKICAgICAgb3IgY29uZGl0aW9uLnZlcmlmaWNhdGlvblN0YXR1cyB+IFN0YXR1cy4iZGlmZmVyZW50aWFsIgogICkKCmRlZmluZSAiU0RFIEV0aG5pY2l0eSI6CiAgU0RFLiJTREUgRXRobmljaXR5IgoKZGVmaW5lICJTREUgUGF5ZXIiOgogIFNERS4iU0RFIFBheWVyIgoKZGVmaW5lICJTREUgUmFjZSI6CiAgU0RFLiJTREUgUmFjZSIKCmRlZmluZSAiU0RFIFNleCI6CiAgU0RFLiJTREUgU2V4Ig==",
"url" : "https://madie.cms.gov/Library-CMS1157FHIRHIVRetention.cql"
}
]
}