Common CQL Artifacts for FHIR (US-Based)
1.0.0-ballot - STU 1 Ballot United States of America flag

Common CQL Artifacts for FHIR (US-Based), published by HL7 International / Clinical Decision Support. This guide is not an authorized publication; it is the continuous build for version 1.0.0-ballot built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/us-cql-ig/ and changes regularly. See the Directory of published versions

: Expression Library for the Genetic/Molecular testing preauthorization Example - JSON Representation

Page standards status: Informative Maturity Level: 3

Raw json | Download

{
  "resourceType" : "Library",
  "id" : "GMTPInitialExpressions",
  "text" : {
    "status" : "extensions",
    "div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n<div>\n    <table class=\"grid dict\">\n        \n        \n        <tr>\n            <th scope=\"row\"><b>Title: </b></th>\n            <td style=\"padding-left: 4px;\">Expression Library for the Genetic/Molecular testing preauthorization Example</td>\n        </tr>\n        \n\n        \n        \n        <tr>\n            <th scope=\"row\"><b>Id: </b></th>\n            <td style=\"padding-left: 4px;\">GMTPInitialExpressions</td>\n        </tr>\n        \n\n        \n        \n        <tr>\n            <th scope=\"row\"><b>Version: </b></th>\n            <td style=\"padding-left: 4px;\">1.0.0-ballot</td>\n        </tr>\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Url: </b></th>\n            <td style=\"padding-left: 4px;\"><a href=\"Library-GMTPInitialExpressions.html\">Expression Library for the Genetic/Molecular testing preauthorization Example</a></td>\n        </tr>\n        \n\n        \n\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Status: </b></th>\n            <td style=\"padding-left: 4px;\">draft</td>\n        </tr>\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Experimental: </b></th>\n            <td style=\"padding-left: 4px;\">true</td>\n        </tr>\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><a href=\"http://terminology.hl7.org/6.5.0/CodeSystem-library-type.html\">http://terminology.hl7.org/CodeSystem/library-type</a></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-09-10 20:00:05+0000</td>\n        </tr>\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Publisher: </b></th>\n            <td style=\"padding-left: 4px;\">HL7 International / Clinical Decision Support</td>\n        </tr>\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Description: </b></th>\n            <td style=\"padding-left: 4px;\"><div><p>Initial expressions for use in populating answers to questions in the Genetic/Molecular testing preauthorization example questionnaire.</p>\n</div></td>\n        </tr>\n        \n\n        \n\n        \n\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Jurisdiction: </b></th>\n            <td style=\"padding-left: 4px;\">US</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        <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 GMTPInitialExpressions\n\nusing USCore version '7.0.0'\nusing FHIR version '4.0.1'\n\ninclude hl7.fhir.uv.cql.FHIRHelpers version '4.0.1' called FHIRHelpers\ninclude USCoreCommon called UC\ninclude USCoreElements called UCE\n\ncodesystem &quot;LOINC&quot;: 'http://loinc.org'\ncodesystem &quot;Identifier Type&quot;: 'http://terminology.hl7.org/CodeSystem/v2-0203'\ncode &quot;Member Number&quot;: 'MB' from &quot;Identifier Type&quot;\n\nparameter &quot;Coverage&quot; FHIR.Coverage\nparameter &quot;ServiceRequest&quot; FHIR.ServiceRequest\n\ncontext Patient\n\ndefine &quot;All Problem List Items&quot;:\n  UCE.&quot;All Problem List Items&quot;\n\n/*\n@question: Patient history (including age at diagnosis):\nTODO: Determine whether we should be considering encounter diagnoses and/or health concerns\nTODO: Determine whether age at onset is actually relevant, or if we would, in an automated context, just return the Condition resource\nTODO: Does &quot;age at diagnosis&quot; mean &quot;age at onset&quot; or is it really asking for when the diagnosis was recorded?\nTODO: Is there a version of patient history that is reusable here?\n*/\ndefine &quot;Patient history&quot;:\n  UCE.&quot;All Problem List Items&quot; C\n    let prevalence: C.prevalenceInterval()\n    where C.isConfirmed()\n    return {\n      diagnosis: C.code.display,\n      ageAtOnset: ToString(AgeInYearsAt(start of prevalence)),\n      onset: ToString(start of prevalence),\n      abatement: ToString(if prevalence.hasEnd() then end of prevalence else null)\n    }\n\n/*\n@linkId: history|patient-history\n*/\ndefine &quot;Patient history including age at diagnosis&quot;:\n  &quot;Patient history&quot; H\n    return H.diagnosis &amp; (', ' + H.ageAtOnset + ' yrs') &amp; (', abated ' + H.abatement)\n\ndefine &quot;Billing Provider Name&quot;:\n  &quot;Billing Provider&quot;.name\n\ndefine &quot;Billing Provider Phone&quot;:\n  UC.Mobile(&quot;Billing Provider&quot;.telecom).value\n\ndefine &quot;Billing Provider Address&quot;:\n  { 'TODO: remove hard-coded address' }\n\ndefine &quot;Retrieve Member Coverage test parameter&quot;:\n  // When executing CQL with the VSCode extension retrieve the resource specific for the test case\n  //   the list of resource ids match the resources from the test case folders\n  singleton from ([FHIR.Coverage] CV where CV.id in {\n    'Coverage-example-GMTP', // testcase: GMTP-example-patient-2\n    'coverage-GMTP-1'        // testcase: USCorePatient-GMTP-1\n  })\n\ndefine &quot;Member Coverage&quot;:\n  Coalesce(\n    Coverage,\n    &quot;Retrieve Member Coverage test parameter&quot;\n  )\n\ndefine &quot;Retrieve Service Request test parameter&quot;:\n  // When executing CQL with the VSCode extension retrieve the resource specific for the test case\n  //   the list of resource ids match the resources from the test case folders\n  singleton from ([FHIR.ServiceRequest] SR where SR.id in {\n    'ServiceRequest-example-1-GMTP',       // testcase: GMTP-example-patient-2\n    'service-request-USCorePatient-GMTP-1' // testcase: USCorePatient-GMTP-1\n  })\n\ndefine &quot;Most Recent ServiceRequest&quot;:\n  Coalesce(\n    ServiceRequest,\n    &quot;Retrieve Service Request test parameter&quot;\n  )\n\ndefine &quot;Billing Provider&quot;:\n  UCE.BillingProvider(&quot;Member Coverage&quot;)\n\ndefine &quot;Billing Provider NPI&quot;:\n  &quot;Billing Provider&quot;.identifier I \n  where I.system = 'http://hl7.org/fhir/sid/us-npi'\n  return I.value\n\ndefine &quot;Billing Provider Fax&quot;:\n  &quot;Billing Provider&quot;.telecom T\n  where T.system = 'fax'\n  return T.value\n\ndefine &quot;Date of Service&quot;:\n  &quot;Most Recent ServiceRequest&quot;.occurrence.value\n\ndefine &quot;Requested Test&quot;:\n  &quot;Most Recent ServiceRequest&quot;.code\n\ndefine &quot;Test ID&quot;:\n  Combine(&quot;Requested Test&quot;.coding.code.value, ', ') \n\ndefine &quot;Test name&quot;:\n   Combine(&quot;Requested Test&quot;.coding.display.value, ', ')\n\ndefine &quot;ALL ICD and CPT Test Codes&quot;:\n   &quot;Test ICD Codes&quot; union &quot;Test CPT Codes&quot;\n\ndefine &quot;Test ICD Codes&quot;:\n &quot;Requested Test&quot;.coding C\n  where C.system.value = 'http://hl7.org/fhir/sid/icd-10-cm'\n  return C.code.value\n  \ndefine &quot;Test CPT Codes&quot;:\n  &quot;Requested Test&quot;.coding C\n  where C.system.value =  'http://www.ama-assn.org/go/cpt'\n  return C.code.value\n\ndefine &quot;Test Related Condition&quot;:\n  UCE.RelatedCondition(&quot;Most Recent ServiceRequest&quot;)\n  //.reasonReference changed to .reason in FHIR R5\n\ndefine &quot;Diagnosis Descriptions&quot;:\n  &quot;Test Related Condition&quot;.code.coding.display.value\n\ndefine &quot;Billing Provider different from Servicing Provider&quot;:\n  if &quot;Billing Provider&quot;.id != First(UCE.ServicingProvider(&quot;Most Recent ServiceRequest&quot;).id) then\n  'Yes'\n  else \n  'No'\n\ndefine &quot;Clinical Trial Organization&quot;:\n  First(UCE.&quot;Clinical Trial Organization&quot; O \n    with &quot;Clinical Trial&quot;  T such that EndsWith(T.sponsor.reference, O.id))  \n //in FHIR R5 T.associatedParty instead of T.sponsor \n\ndefine &quot;BillingProvider is Clinical Trial Organization&quot;:\n  &quot;Billing Provider&quot; = &quot;Clinical Trial Organization&quot;\n\n//TODO does not get populated properly\ndefine &quot;Part of clinical trial&quot;:\n if &quot;Is Research Subject&quot; and &quot;BillingProvider is Clinical Trial Organization&quot; then\n 'Yes'\n else\n 'No'\n\ndefine &quot;Is Research Subject&quot;:\n  exists(&quot;Research Subject&quot;)\n\ndefine &quot;Research Subject&quot;:\n  UCE.&quot;Research Subject&quot;\n     //ResearchSubject.individual is from FHIR version v4.0.1 and has been replaced by R.subject in FHIR R5\n\ndefine &quot;Clinical Trial&quot;:\n  UCE.&quot;All Clinical Trials&quot; R \n    with &quot;Research Subject&quot; S such that EndsWith(S.study.reference, R.id)\n    with  &quot;Test Related Condition&quot; C such that C.code in R.condition\n\ndefine &quot;Clinical Trial ID&quot;:\n  &quot;Clinical Trial&quot;.identifier C\n  where C.system = 'https://clinicaltrials.gov'\n  return C.value.value\n\ndefine &quot;Previous genetic testing for condition&quot;:\n  from \n    UCE.&quot;All ServiceRequests&quot; S,\n    ServiceRequest SR\n  where S.occurrence before SR.occurrence\n    and S.id != SR.id\n    and S.reasonReference = SR.reasonReference\n  return S.id.value\n\n//define &quot;Family history of genetic testing&quot;\n//too general to prefill?</code></pre></td></tr>\n            </table>\n          </td>\n        </tr>\n        \n        \n        \n        \n        \n        <tr>\n          <td colspan=\"2\">\n            <table>\n              <tr><th><b>Content: </b> application/elm+xml</th></tr>\n              <tr><td><pre><code/></pre></td></tr>\n            </table>\n          </td>\n        </tr>\n        \n        \n    </table>\n</div>\n</div>"
  },
  "extension" : [
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
      "valueInteger" : 3
    },
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
      "valueCode" : "cds"
    },
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status",
      "valueCode" : "informative"
    }
  ],
  "url" : "http://hl7.org/fhir/us/cql/Library/GMTPInitialExpressions",
  "version" : "1.0.0-ballot",
  "name" : "GMTPInitialExpressions",
  "title" : "Expression Library for the Genetic/Molecular testing preauthorization Example",
  "status" : "draft",
  "experimental" : true,
  "type" : {
    "coding" : [
      {
        "system" : "http://terminology.hl7.org/CodeSystem/library-type",
        "code" : "logic-library"
      }
    ]
  },
  "date" : "2025-09-10T20:00:05+00:00",
  "publisher" : "HL7 International / Clinical Decision Support",
  "contact" : [
    {
      "telecom" : [
        {
          "system" : "url",
          "value" : "http://www.hl7.org/Special/committees/dss"
        }
      ]
    }
  ],
  "description" : "Initial expressions for use in populating answers to questions in the Genetic/Molecular testing preauthorization example questionnaire.",
  "jurisdiction" : [
    {
      "coding" : [
        {
          "system" : "urn:iso:std:iso:3166",
          "code" : "US",
          "display" : "United States of America"
        }
      ]
    }
  ],
  "content" : [
    {
      "contentType" : "text/cql",
      "data" : "bGlicmFyeSBHTVRQSW5pdGlhbEV4cHJlc3Npb25zCgp1c2luZyBVU0NvcmUgdmVyc2lvbiAnNy4wLjAnCnVzaW5nIEZISVIgdmVyc2lvbiAnNC4wLjEnCgppbmNsdWRlIGhsNy5maGlyLnV2LmNxbC5GSElSSGVscGVycyB2ZXJzaW9uICc0LjAuMScgY2FsbGVkIEZISVJIZWxwZXJzCmluY2x1ZGUgVVNDb3JlQ29tbW9uIGNhbGxlZCBVQwppbmNsdWRlIFVTQ29yZUVsZW1lbnRzIGNhbGxlZCBVQ0UKCmNvZGVzeXN0ZW0gIkxPSU5DIjogJ2h0dHA6Ly9sb2luYy5vcmcnCmNvZGVzeXN0ZW0gIklkZW50aWZpZXIgVHlwZSI6ICdodHRwOi8vdGVybWlub2xvZ3kuaGw3Lm9yZy9Db2RlU3lzdGVtL3YyLTAyMDMnCmNvZGUgIk1lbWJlciBOdW1iZXIiOiAnTUInIGZyb20gIklkZW50aWZpZXIgVHlwZSIKCnBhcmFtZXRlciAiQ292ZXJhZ2UiIEZISVIuQ292ZXJhZ2UKcGFyYW1ldGVyICJTZXJ2aWNlUmVxdWVzdCIgRkhJUi5TZXJ2aWNlUmVxdWVzdAoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIkFsbCBQcm9ibGVtIExpc3QgSXRlbXMiOgogIFVDRS4iQWxsIFByb2JsZW0gTGlzdCBJdGVtcyIKCi8qCkBxdWVzdGlvbjogUGF0aWVudCBoaXN0b3J5IChpbmNsdWRpbmcgYWdlIGF0IGRpYWdub3Npcyk6ClRPRE86IERldGVybWluZSB3aGV0aGVyIHdlIHNob3VsZCBiZSBjb25zaWRlcmluZyBlbmNvdW50ZXIgZGlhZ25vc2VzIGFuZC9vciBoZWFsdGggY29uY2VybnMKVE9ETzogRGV0ZXJtaW5lIHdoZXRoZXIgYWdlIGF0IG9uc2V0IGlzIGFjdHVhbGx5IHJlbGV2YW50LCBvciBpZiB3ZSB3b3VsZCwgaW4gYW4gYXV0b21hdGVkIGNvbnRleHQsIGp1c3QgcmV0dXJuIHRoZSBDb25kaXRpb24gcmVzb3VyY2UKVE9ETzogRG9lcyAiYWdlIGF0IGRpYWdub3NpcyIgbWVhbiAiYWdlIGF0IG9uc2V0IiBvciBpcyBpdCByZWFsbHkgYXNraW5nIGZvciB3aGVuIHRoZSBkaWFnbm9zaXMgd2FzIHJlY29yZGVkPwpUT0RPOiBJcyB0aGVyZSBhIHZlcnNpb24gb2YgcGF0aWVudCBoaXN0b3J5IHRoYXQgaXMgcmV1c2FibGUgaGVyZT8KKi8KZGVmaW5lICJQYXRpZW50IGhpc3RvcnkiOgogIFVDRS4iQWxsIFByb2JsZW0gTGlzdCBJdGVtcyIgQwogICAgbGV0IHByZXZhbGVuY2U6IEMucHJldmFsZW5jZUludGVydmFsKCkKICAgIHdoZXJlIEMuaXNDb25maXJtZWQoKQogICAgcmV0dXJuIHsKICAgICAgZGlhZ25vc2lzOiBDLmNvZGUuZGlzcGxheSwKICAgICAgYWdlQXRPbnNldDogVG9TdHJpbmcoQWdlSW5ZZWFyc0F0KHN0YXJ0IG9mIHByZXZhbGVuY2UpKSwKICAgICAgb25zZXQ6IFRvU3RyaW5nKHN0YXJ0IG9mIHByZXZhbGVuY2UpLAogICAgICBhYmF0ZW1lbnQ6IFRvU3RyaW5nKGlmIHByZXZhbGVuY2UuaGFzRW5kKCkgdGhlbiBlbmQgb2YgcHJldmFsZW5jZSBlbHNlIG51bGwpCiAgICB9CgovKgpAbGlua0lkOiBoaXN0b3J5fHBhdGllbnQtaGlzdG9yeQoqLwpkZWZpbmUgIlBhdGllbnQgaGlzdG9yeSBpbmNsdWRpbmcgYWdlIGF0IGRpYWdub3NpcyI6CiAgIlBhdGllbnQgaGlzdG9yeSIgSAogICAgcmV0dXJuIEguZGlhZ25vc2lzICYgKCcsICcgKyBILmFnZUF0T25zZXQgKyAnIHlycycpICYgKCcsIGFiYXRlZCAnICsgSC5hYmF0ZW1lbnQpCgpkZWZpbmUgIkJpbGxpbmcgUHJvdmlkZXIgTmFtZSI6CiAgIkJpbGxpbmcgUHJvdmlkZXIiLm5hbWUKCmRlZmluZSAiQmlsbGluZyBQcm92aWRlciBQaG9uZSI6CiAgVUMuTW9iaWxlKCJCaWxsaW5nIFByb3ZpZGVyIi50ZWxlY29tKS52YWx1ZQoKZGVmaW5lICJCaWxsaW5nIFByb3ZpZGVyIEFkZHJlc3MiOgogIHsgJ1RPRE86IHJlbW92ZSBoYXJkLWNvZGVkIGFkZHJlc3MnIH0KCmRlZmluZSAiUmV0cmlldmUgTWVtYmVyIENvdmVyYWdlIHRlc3QgcGFyYW1ldGVyIjoKICAvLyBXaGVuIGV4ZWN1dGluZyBDUUwgd2l0aCB0aGUgVlNDb2RlIGV4dGVuc2lvbiByZXRyaWV2ZSB0aGUgcmVzb3VyY2Ugc3BlY2lmaWMgZm9yIHRoZSB0ZXN0IGNhc2UKICAvLyAgIHRoZSBsaXN0IG9mIHJlc291cmNlIGlkcyBtYXRjaCB0aGUgcmVzb3VyY2VzIGZyb20gdGhlIHRlc3QgY2FzZSBmb2xkZXJzCiAgc2luZ2xldG9uIGZyb20gKFtGSElSLkNvdmVyYWdlXSBDViB3aGVyZSBDVi5pZCBpbiB7CiAgICAnQ292ZXJhZ2UtZXhhbXBsZS1HTVRQJywgLy8gdGVzdGNhc2U6IEdNVFAtZXhhbXBsZS1wYXRpZW50LTIKICAgICdjb3ZlcmFnZS1HTVRQLTEnICAgICAgICAvLyB0ZXN0Y2FzZTogVVNDb3JlUGF0aWVudC1HTVRQLTEKICB9KQoKZGVmaW5lICJNZW1iZXIgQ292ZXJhZ2UiOgogIENvYWxlc2NlKAogICAgQ292ZXJhZ2UsCiAgICAiUmV0cmlldmUgTWVtYmVyIENvdmVyYWdlIHRlc3QgcGFyYW1ldGVyIgogICkKCmRlZmluZSAiUmV0cmlldmUgU2VydmljZSBSZXF1ZXN0IHRlc3QgcGFyYW1ldGVyIjoKICAvLyBXaGVuIGV4ZWN1dGluZyBDUUwgd2l0aCB0aGUgVlNDb2RlIGV4dGVuc2lvbiByZXRyaWV2ZSB0aGUgcmVzb3VyY2Ugc3BlY2lmaWMgZm9yIHRoZSB0ZXN0IGNhc2UKICAvLyAgIHRoZSBsaXN0IG9mIHJlc291cmNlIGlkcyBtYXRjaCB0aGUgcmVzb3VyY2VzIGZyb20gdGhlIHRlc3QgY2FzZSBmb2xkZXJzCiAgc2luZ2xldG9uIGZyb20gKFtGSElSLlNlcnZpY2VSZXF1ZXN0XSBTUiB3aGVyZSBTUi5pZCBpbiB7CiAgICAnU2VydmljZVJlcXVlc3QtZXhhbXBsZS0xLUdNVFAnLCAgICAgICAvLyB0ZXN0Y2FzZTogR01UUC1leGFtcGxlLXBhdGllbnQtMgogICAgJ3NlcnZpY2UtcmVxdWVzdC1VU0NvcmVQYXRpZW50LUdNVFAtMScgLy8gdGVzdGNhc2U6IFVTQ29yZVBhdGllbnQtR01UUC0xCiAgfSkKCmRlZmluZSAiTW9zdCBSZWNlbnQgU2VydmljZVJlcXVlc3QiOgogIENvYWxlc2NlKAogICAgU2VydmljZVJlcXVlc3QsCiAgICAiUmV0cmlldmUgU2VydmljZSBSZXF1ZXN0IHRlc3QgcGFyYW1ldGVyIgogICkKCmRlZmluZSAiQmlsbGluZyBQcm92aWRlciI6CiAgVUNFLkJpbGxpbmdQcm92aWRlcigiTWVtYmVyIENvdmVyYWdlIikKCmRlZmluZSAiQmlsbGluZyBQcm92aWRlciBOUEkiOgogICJCaWxsaW5nIFByb3ZpZGVyIi5pZGVudGlmaWVyIEkgCiAgd2hlcmUgSS5zeXN0ZW0gPSAnaHR0cDovL2hsNy5vcmcvZmhpci9zaWQvdXMtbnBpJwogIHJldHVybiBJLnZhbHVlCgpkZWZpbmUgIkJpbGxpbmcgUHJvdmlkZXIgRmF4IjoKICAiQmlsbGluZyBQcm92aWRlciIudGVsZWNvbSBUCiAgd2hlcmUgVC5zeXN0ZW0gPSAnZmF4JwogIHJldHVybiBULnZhbHVlCgpkZWZpbmUgIkRhdGUgb2YgU2VydmljZSI6CiAgIk1vc3QgUmVjZW50IFNlcnZpY2VSZXF1ZXN0Ii5vY2N1cnJlbmNlLnZhbHVlCgpkZWZpbmUgIlJlcXVlc3RlZCBUZXN0IjoKICAiTW9zdCBSZWNlbnQgU2VydmljZVJlcXVlc3QiLmNvZGUKCmRlZmluZSAiVGVzdCBJRCI6CiAgQ29tYmluZSgiUmVxdWVzdGVkIFRlc3QiLmNvZGluZy5jb2RlLnZhbHVlLCAnLCAnKSAKCmRlZmluZSAiVGVzdCBuYW1lIjoKICAgQ29tYmluZSgiUmVxdWVzdGVkIFRlc3QiLmNvZGluZy5kaXNwbGF5LnZhbHVlLCAnLCAnKQoKZGVmaW5lICJBTEwgSUNEIGFuZCBDUFQgVGVzdCBDb2RlcyI6CiAgICJUZXN0IElDRCBDb2RlcyIgdW5pb24gIlRlc3QgQ1BUIENvZGVzIgoKZGVmaW5lICJUZXN0IElDRCBDb2RlcyI6CiAiUmVxdWVzdGVkIFRlc3QiLmNvZGluZyBDCiAgd2hlcmUgQy5zeXN0ZW0udmFsdWUgPSAnaHR0cDovL2hsNy5vcmcvZmhpci9zaWQvaWNkLTEwLWNtJwogIHJldHVybiBDLmNvZGUudmFsdWUKICAKZGVmaW5lICJUZXN0IENQVCBDb2RlcyI6CiAgIlJlcXVlc3RlZCBUZXN0Ii5jb2RpbmcgQwogIHdoZXJlIEMuc3lzdGVtLnZhbHVlID0gICdodHRwOi8vd3d3LmFtYS1hc3NuLm9yZy9nby9jcHQnCiAgcmV0dXJuIEMuY29kZS52YWx1ZQoKZGVmaW5lICJUZXN0IFJlbGF0ZWQgQ29uZGl0aW9uIjoKICBVQ0UuUmVsYXRlZENvbmRpdGlvbigiTW9zdCBSZWNlbnQgU2VydmljZVJlcXVlc3QiKQogIC8vLnJlYXNvblJlZmVyZW5jZSBjaGFuZ2VkIHRvIC5yZWFzb24gaW4gRkhJUiBSNQoKZGVmaW5lICJEaWFnbm9zaXMgRGVzY3JpcHRpb25zIjoKICAiVGVzdCBSZWxhdGVkIENvbmRpdGlvbiIuY29kZS5jb2RpbmcuZGlzcGxheS52YWx1ZQoKZGVmaW5lICJCaWxsaW5nIFByb3ZpZGVyIGRpZmZlcmVudCBmcm9tIFNlcnZpY2luZyBQcm92aWRlciI6CiAgaWYgIkJpbGxpbmcgUHJvdmlkZXIiLmlkICE9IEZpcnN0KFVDRS5TZXJ2aWNpbmdQcm92aWRlcigiTW9zdCBSZWNlbnQgU2VydmljZVJlcXVlc3QiKS5pZCkgdGhlbgogICdZZXMnCiAgZWxzZSAKICAnTm8nCgpkZWZpbmUgIkNsaW5pY2FsIFRyaWFsIE9yZ2FuaXphdGlvbiI6CiAgRmlyc3QoVUNFLiJDbGluaWNhbCBUcmlhbCBPcmdhbml6YXRpb24iIE8gCiAgICB3aXRoICJDbGluaWNhbCBUcmlhbCIgIFQgc3VjaCB0aGF0IEVuZHNXaXRoKFQuc3BvbnNvci5yZWZlcmVuY2UsIE8uaWQpKSAgCiAvL2luIEZISVIgUjUgVC5hc3NvY2lhdGVkUGFydHkgaW5zdGVhZCBvZiBULnNwb25zb3IgCgpkZWZpbmUgIkJpbGxpbmdQcm92aWRlciBpcyBDbGluaWNhbCBUcmlhbCBPcmdhbml6YXRpb24iOgogICJCaWxsaW5nIFByb3ZpZGVyIiA9ICJDbGluaWNhbCBUcmlhbCBPcmdhbml6YXRpb24iCgovL1RPRE8gZG9lcyBub3QgZ2V0IHBvcHVsYXRlZCBwcm9wZXJseQpkZWZpbmUgIlBhcnQgb2YgY2xpbmljYWwgdHJpYWwiOgogaWYgIklzIFJlc2VhcmNoIFN1YmplY3QiIGFuZCAiQmlsbGluZ1Byb3ZpZGVyIGlzIENsaW5pY2FsIFRyaWFsIE9yZ2FuaXphdGlvbiIgdGhlbgogJ1llcycKIGVsc2UKICdObycKCmRlZmluZSAiSXMgUmVzZWFyY2ggU3ViamVjdCI6CiAgZXhpc3RzKCJSZXNlYXJjaCBTdWJqZWN0IikKCmRlZmluZSAiUmVzZWFyY2ggU3ViamVjdCI6CiAgVUNFLiJSZXNlYXJjaCBTdWJqZWN0IgogICAgIC8vUmVzZWFyY2hTdWJqZWN0LmluZGl2aWR1YWwgaXMgZnJvbSBGSElSIHZlcnNpb24gdjQuMC4xIGFuZCBoYXMgYmVlbiByZXBsYWNlZCBieSBSLnN1YmplY3QgaW4gRkhJUiBSNQoKZGVmaW5lICJDbGluaWNhbCBUcmlhbCI6CiAgVUNFLiJBbGwgQ2xpbmljYWwgVHJpYWxzIiBSIAogICAgd2l0aCAiUmVzZWFyY2ggU3ViamVjdCIgUyBzdWNoIHRoYXQgRW5kc1dpdGgoUy5zdHVkeS5yZWZlcmVuY2UsIFIuaWQpCiAgICB3aXRoICAiVGVzdCBSZWxhdGVkIENvbmRpdGlvbiIgQyBzdWNoIHRoYXQgQy5jb2RlIGluIFIuY29uZGl0aW9uCgpkZWZpbmUgIkNsaW5pY2FsIFRyaWFsIElEIjoKICAiQ2xpbmljYWwgVHJpYWwiLmlkZW50aWZpZXIgQwogIHdoZXJlIEMuc3lzdGVtID0gJ2h0dHBzOi8vY2xpbmljYWx0cmlhbHMuZ292JwogIHJldHVybiBDLnZhbHVlLnZhbHVlCgpkZWZpbmUgIlByZXZpb3VzIGdlbmV0aWMgdGVzdGluZyBmb3IgY29uZGl0aW9uIjoKICBmcm9tIAogICAgVUNFLiJBbGwgU2VydmljZVJlcXVlc3RzIiBTLAogICAgU2VydmljZVJlcXVlc3QgU1IKICB3aGVyZSBTLm9jY3VycmVuY2UgYmVmb3JlIFNSLm9jY3VycmVuY2UKICAgIGFuZCBTLmlkICE9IFNSLmlkCiAgICBhbmQgUy5yZWFzb25SZWZlcmVuY2UgPSBTUi5yZWFzb25SZWZlcmVuY2UKICByZXR1cm4gUy5pZC52YWx1ZQoKLy9kZWZpbmUgIkZhbWlseSBoaXN0b3J5IG9mIGdlbmV0aWMgdGVzdGluZyIKLy90b28gZ2VuZXJhbCB0byBwcmVmaWxsPw=="
    },
    {
      "contentType" : "application/elm+xml"
    }
  ]
}