{
  "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 &quot;Annual Wellness Visit&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1240'\nvalueset &quot;Face-to-Face Interaction&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.375'\nvalueset &quot;HIV&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.120.12.1003'\nvalueset &quot;HIV Viral Load Tests&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.377'\nvalueset &quot;Home Healthcare Services&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016'\nvalueset &quot;Office Visit&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001'\nvalueset &quot;Outpatient Consultation&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1008'\nvalueset &quot;Preventive Care Services Established Office Visit, 18 and Up&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025'\nvalueset &quot;Preventive Care Services Initial Office Visit, 18 and Up&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023'\nvalueset &quot;Preventive Care Services, Initial Office Visit, 0 to 17&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1022'\nvalueset &quot;Preventive Care, Established Office Visit, 0 to 17&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1024'\nvalueset &quot;Telephone Visits&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1080'\nvalueset &quot;Preventive Care Services Other&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.11.1150'\n\nparameter &quot;Measurement Period&quot; Interval&lt;DateTime&gt;\n  default Interval[@2026-01-01T00:00:00.000Z, @2027-01-01T00:00:00.000Z)\n\ncontext Patient\n\ndefine &quot;Initial Population&quot;:\n  &quot;Has Active HIV Diagnosis Starts On or Before First 240 Days of Measurement Period&quot;\n    and &quot;Has Qualifying Encounter During First 240 Days of Measurement Period&quot;\n\ndefine &quot;Denominator&quot;:\n  &quot;Initial Population&quot;\n\ndefine &quot;Numerator&quot;:\n  &quot;Has One Encounter With HIV and One Viral Load Test At Least 90 Days Apart&quot;\n    or &quot;Has Two Encounters With HIV At Least 90 Days Apart&quot;\n\ndefine &quot;Encounter During Measurement Period With HIV&quot;:\n  ( ( [&quot;Encounter&quot;: &quot;Office Visit&quot;]\n      union [&quot;Encounter&quot;: &quot;Outpatient Consultation&quot;]\n      union [&quot;Encounter&quot;: &quot;Annual Wellness Visit&quot;]\n      union [&quot;Encounter&quot;: &quot;Face-to-Face Interaction&quot;]\n      union [&quot;Encounter&quot;: &quot;Home Healthcare Services&quot;]\n      union [&quot;Encounter&quot;: &quot;Preventive Care Services Established Office Visit, 18 and Up&quot;]\n      union [&quot;Encounter&quot;: &quot;Preventive Care Services Initial Office Visit, 18 and Up&quot;]\n      union [&quot;Encounter&quot;: &quot;Preventive Care Services, Initial Office Visit, 0 to 17&quot;]\n      union [&quot;Encounter&quot;: &quot;Preventive Care, Established Office Visit, 0 to 17&quot;]\n      union [&quot;Encounter&quot;: &quot;Telephone Visits&quot;]\n      union [&quot;Encounter&quot;: &quot;Preventive Care Services Other&quot;] ) ValidEncounter\n      with (\n        // [E-13] base FHIR.Condition retrieve (defect-tracking/engine-issues.md E-13)\n        // Original:\n        //   ( [&quot;ConditionProblemsHealthConcerns&quot;: &quot;HIV&quot;]\n        //     union [&quot;ConditionEncounterDiagnosis&quot;: &quot;HIV&quot;] )\n        [FHIR.Condition: &quot;HIV&quot;] ) HIVDiagnosis\n        such that ValidEncounter.period during day of &quot;Measurement Period&quot;\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 &quot;Has Active HIV Diagnosis Starts On or Before First 240 Days of Measurement Period&quot;:\n  exists ( (\n      // [E-13] base FHIR.Condition retrieve (defect-tracking/engine-issues.md E-13)\n      // Original:\n      //   ( [&quot;ConditionProblemsHealthConcerns&quot;: &quot;HIV&quot;]\n      //     union [&quot;ConditionEncounterDiagnosis&quot;: &quot;HIV&quot;] )\n      [FHIR.Condition: &quot;HIV&quot;] ) HIVDx\n      where HIVDx.prevalenceInterval ( ) starts on or before day of ( start of &quot;Measurement Period&quot; + 240 days )\n        and HIVDx.isVerified ( )\n  )\n\ndefine &quot;Has One Encounter With HIV and One Viral Load Test At Least 90 Days Apart&quot;:\n  exists ( &quot;Encounter During Measurement Period With HIV&quot; ) EncounterWithHIV\n    with [&quot;LaboratoryResultObservation&quot;: &quot;HIV Viral Load Tests&quot;] ViralLoadTest\n      such that ViralLoadTest.status in { 'final', 'amended', 'corrected' }\n        and ViralLoadTest.effective.toInterval ( ) during day of &quot;Measurement Period&quot;\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 &quot;Has Qualifying Encounter During First 240 Days of Measurement Period&quot;:\n  exists ( [&quot;Encounter&quot;: &quot;Office Visit&quot;]\n    union [&quot;Encounter&quot;: &quot;Outpatient Consultation&quot;]\n    union [&quot;Encounter&quot;: &quot;Annual Wellness Visit&quot;]\n    union [&quot;Encounter&quot;: &quot;Face-to-Face Interaction&quot;]\n    union [&quot;Encounter&quot;: &quot;Home Healthcare Services&quot;]\n    union [&quot;Encounter&quot;: &quot;Preventive Care Services Established Office Visit, 18 and Up&quot;]\n    union [&quot;Encounter&quot;: &quot;Preventive Care Services Initial Office Visit, 18 and Up&quot;]\n    union [&quot;Encounter&quot;: &quot;Preventive Care Services, Initial Office Visit, 0 to 17&quot;]\n    union [&quot;Encounter&quot;: &quot;Preventive Care, Established Office Visit, 0 to 17&quot;]\n    union [&quot;Encounter&quot;: &quot;Telephone Visits&quot;]\n    union [&quot;Encounter&quot;: &quot;Preventive Care Services Other&quot;] ) QualifyingEncounter\n    where QualifyingEncounter.period during day of Interval[start of &quot;Measurement Period&quot;, start of &quot;Measurement Period&quot; + 240 days]\n\ndefine &quot;Has Two Encounters With HIV At Least 90 Days Apart&quot;:\n  exists &quot;Encounter During Measurement Period With HIV&quot; EncounterWithHIV\n    with &quot;Encounter During Measurement Period With HIV&quot; 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&lt;ConditionProblemsHealthConcerns, ConditionEncounterDiagnosis&gt;):\n  condition.verificationStatus is not null implies ( condition.verificationStatus ~ Status.&quot;confirmed&quot;\n      or condition.verificationStatus ~ Status.&quot;unconfirmed&quot;\n      or condition.verificationStatus ~ Status.&quot;provisional&quot;\n      or condition.verificationStatus ~ Status.&quot;differential&quot;\n  )\n\ndefine &quot;SDE Ethnicity&quot;:\n  SDE.&quot;SDE Ethnicity&quot;\n\ndefine &quot;SDE Payer&quot;:\n  SDE.&quot;SDE Payer&quot;\n\ndefine &quot;SDE Race&quot;:\n  SDE.&quot;SDE Race&quot;\n\ndefine &quot;SDE Sex&quot;:\n  SDE.&quot;SDE Sex&quot;</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"
  }]
}