FHIR © HL7.org  |  FHIRsmith 4.0.1  |  Server Home  |  XIG Home  |  XIG Stats  | 

FHIR IG analytics

Packagehl7.fhir.us.safr.r4b
Resource TypeLibrary
IdLibrary-HRDMeasureLibrary.json
FHIR VersionR4B

Resources that use this resource

No resources found


Resources that this resource uses

No resources found


Narrative

Note: links and images are rebased to the (stated) source

Title: Library - HRD Measure Example
Id: HRDMeasureLibrary
Version: 1.0.0-ballot
Url: http://example.org/fhir/Library/HRDMeasureLibrary

urn:oid:2.16.840.1.113883.4.642.40.53.28.3

Type:

system: http://terminology.hl7.org/CodeSystem/library-type

code: logic-library

Date: 2025-03-13
Publisher: HL7 International / Public Health
Description:

This library contains CQL logic for evaluating structural measures related to hospital respiratory disease reporting capabilities

Use Context:
code value
focus
Jurisdiction: US
Related Artifacts:

Dependencies

Parameters:
NameTypeMinMaxIn/Out
Measurement PeriodPeriod11In
Data Requirements:
TypeProfileMust SupportCode Filter
Device Device code filter:
path: type
value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1146.1123
Device Device code filter:
path: type
value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.102.12.1012
Device Device code filter:
path: type
value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1146.1124|20240123
Device Device code filter:
path: type
value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1146.1125
Device Device code filter:
path: type
value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.5.1001
Location Location code filter:
path: type
value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.87
Location Location code filter:
path: physicalType.coding.code

system: http://terminology.hl7.org/CodeSystem/location-physical-type

code: bd

DocumentReference DocumentReference code filter:
path: type.coding.code

system: http://loinc.org

code: 11516-2

Communication Communication code filter:
path: category.coding.code

system: http://terminology.hl7.org/CodeSystem/communication-category

code: notification

Content: text/cql
library HRDMeasureStructureLibrary version '1.0.0'

using FHIR version '4.0.1'

include FHIRHelpers version '4.0.1' called FHIRHelpers

// Terminology definitions
codesystem "LOINC": 'http://loinc.org'
codesystem "SNOMED CT": 'http://snomed.info/sct&
codesystem "ICD-10-CM": 'http://hl7.org/fhir/sid/icd-10-cm'

// Value sets
valueset "Respiratory Specimen Collection Devices": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1146.1125'
valueset "COVID-19 Tests": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1146.1123'
valueset "Influenza Tests": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.102.12.1012'
valueset "RSV Tests": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1146.1124'
valueset "ICU Location Types": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.87'
valueset "Ventilator Device Types": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.5.1001'

// Parameter for measurement period
parameter "Measurement Period" Interval<Date>
  default Interval[@2025-03-01, @2025-03-07]

context Patient

// STRUCTURE MEASURE COMPONENTS
// For a structure measure, we assess capabilities, resources and organizational structures

// 1. Test for the presence of respiratory testing capabilities
define "Has COVID-19 Testing Capability":
  exists (
    [Device] Device
      where Device.type.coding in "COVID-19 Tests"
        and Device.status = 'active'
  )

define "Has Influenza Testing Capability":
  exists (
    [Device] Device
      where Device.type.coding in "Influenza Tests"
        and Device.status = 'active'
  )

define "Has RSV Testing Capability":
  exists (
    [Device] Device
      where Device.type.coding in "RSV Tests"
        and Device.status = 'active'
  )

define "Has Specimen Collection Capabilities":
  exists (
    [Device] Device
      where Device.type.coding in "Respiratory Specimen Collection Devices"
        and Device.status = 'active'
  )

define "Has ICU Locations":
  exists (
    [Location] Location
      where Location.type.coding in "ICU Location Types"
        and Location.status = 'active'
  )

define "Has Ventilator Resources":
  exists (
    [Device] Device
      where Device.type.coding in "Ventilator Device Types"
        and Device.status = 'active'
  )

define "Has HRD Reporting Protocol":
  exists (
    [DocumentReference] D
      where D.type.coding.code in {'11516-2'} // LOINC for infection control protocol
        and D.status = 'current'
        and D.description contains 'NHSN'
        and D.description contains 'HRD'
  )

// CONTINUOUS VARIABLE CALCULATIONS

// Hospital capacity metrics
define "Total Bed Capacity":
  Sum(
    [Location] Location
      where Location.status = 'active'
        and Location.physicalType.coding.code = 'bd'
      return (
        Location.extension E
          where E.url = 'http://hl7.org/fhir/StructureDefinition/location-bed-count'
          return E.valueInteger
      ).valueInteger
  )

define "ICU Bed Capacity":
  Sum(
    [Location] Location
      where Location.status = 'active'
        and Location.type.coding in "ICU Location Types"
        and Location.physicalType.coding.code = 'bd'
      return (
        Location.extension E
          where E.url = 'http://hl7.org/fhir/StructureDefinition/location-bed-count'
          return E.valueInteger
      ).valueInteger
  )

define "Ventilator Count":
  Count(
    [Device] Device
      where Device.type.coding in "Ventilator Device Types"
        and Device.status = 'active'
  )

// Weekly reporting compliance and metrics
define "Reporting Weeks in Measurement Period":
  Count(
    expand{2025-03-01, @2025-03-07, week}
  )

define "HRD Reports Submitted During Period":
  Count(
    [Communication] C
      where C.category.coding.code in {'notification'}
        and C.topic.text contains 'NHSN'
        and C.topic.text contains 'HRD'
        and C.sent during "Measurement Period"
  )

define "Weekly Reporting Compliance":
  "HRD Reports Submitted During Period" / "Reporting Weeks in Measurement Period"

// Structural readiness scores
define "Has All Testing Capabilities":
  if ("Has COVID-19 Testing Capability" and "Has Influenza Testing Capability" and "Has RSV Testing Capability")
    then 1
    else 0

define "Has Required Reporting Structure":
  if ("Has HRD Reporting Protocol") 
    then 1
    else 0

// Continuous variable for structural measure assessment
define "Structural Readiness Score":
  ("Has COVID-19 Testing Capability" as Integer +
   "Has Influenza Testing Capability" as Integer +
   "Has RSV Testing Capability" as Integer +
   "Has Specimen Collection Capabilities" as Integer +
   "Has ICU Locations" as Integer +
   "Has Ventilator Resources" as Integer +
    "Has HRD Reporting Protocol" as Integer) / 7.0 * 100.0

// Main measure calculation - now focusing on structural components and their ratings
define "Measure Population":
  true

define "Measure Observation":
  "Structural Readiness Score"

Source1

{
  "resourceType": "Library",
  "id": "HRDMeasureLibrary",
  "meta": {
    "profile": [
      "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-computablelibrary|1.0.0"
    ]
  },
  "text": {
    "status": "extensions",
    "div": "<!-- snip (see above) -->"
  },
  "url": "http://example.org/fhir/Library/HRDMeasureLibrary",
  "identifier": [
    {
      "system": "urn:ietf:rfc:3986",
      "value": "urn:oid:2.16.840.1.113883.4.642.40.53.28.3"
    }
  ],
  "version": "1.0.0-ballot",
  "name": "HRDMeasureLibrary",
  "title": "Library - HRD Measure Example",
  "status": "active",
  "experimental": false,
  "type": {
    "coding": [
      {
        "system": "http://terminology.hl7.org/CodeSystem/library-type",
        "code": "logic-library"
      }
    ]
  },
  "date": "2025-03-13",
  "publisher": "HL7 International / Public Health",
  "contact": [
    {
      "name": "HL7 International / Public Health",
      "telecom": [
        {
          "system": "url",
          "value": "http://www.hl7.org/Special/committees/pher"
        }
      ]
    }
  ],
  "description": "This library contains CQL logic for evaluating structural measures related to hospital respiratory disease reporting capabilities",
  "useContext": [
    {
      "code": {
        "system": "http://terminology.hl7.org/CodeSystem/usage-context-type",
        "code": "focus"
      },
      "valueCodeableConcept": {
        "coding": [
          {
            "system": "http://snomed.info/sct",
            "code": "64572001",
            "display": "Disease"
          }
        ]
      }
    }
  ],
  "jurisdiction": [
    {
      "coding": [
        {
          "system": "urn:iso:std:iso:3166",
          "code": "US",
          "display": "United States of America"
        }
      ]
    }
  ],
  "relatedArtifact": [
    {
      "type": "depends-on",
      "display": "FHIR Helpers",
      "resource": "http://fhir.org/guides/cqf/common/Library/FHIRHelpers"
    },
    {
      "type": "depends-on",
      "display": "COVID-19 Tests ValueSet",
      "resource": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1146.1123"
    },
    {
      "type": "depends-on",
      "display": "Influenza Tests ValueSet",
      "resource": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.102.12.1012"
    },
    {
      "type": "depends-on",
      "display": "RSV Tests ValueSet",
      "resource": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1146.1124|20240123"
    },
    {
      "type": "depends-on",
      "display": "Respiratory Specimen Collection Devices ValueSet",
      "resource": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1146.1125"
    },
    {
      "type": "depends-on",
      "display": "ICU Location Types ValueSet",
      "resource": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.87"
    },
    {
      "type": "depends-on",
      "display": "Ventilator Device Types ValueSet",
      "resource": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.5.1001"
    },
    {
      "type": "depends-on",
      "display": "DocumentReference Type ValueSet",
      "resource": "http://loinc.org|11516-2"
    },
    {
      "type": "depends-on",
      "display": "Notification Communication Category",
      "resource": "http://hl7.org/fhir/ValueSet/communication-category"
    }
  ],
  "parameter": [
    {
      "name": "Measurement Period",
      "use": "in",
      "min": 1,
      "max": "1",
      "type": "Period"
    }
  ],
  "dataRequirement": [
    {
      "type": "Device",
      "profile": [
        "http://hl7.org/fhir/StructureDefinition/Device"
      ],
      "codeFilter": [
        {
          "path": "type",
          "valueSet": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1146.1123"
        }
      ]
    },
    {
      "type": "Device",
      "profile": [
        "http://hl7.org/fhir/StructureDefinition/Device"
      ],
      "codeFilter": [
        {
          "path": "type",
          "valueSet": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.102.12.1012"
        }
      ]
    },
    {
      "type": "Device",
      "profile": [
        "http://hl7.org/fhir/StructureDefinition/Device"
      ],
      "codeFilter": [
        {
          "path": "type",
          "valueSet": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1146.1124|20240123"
        }
      ]
    },
    {
      "type": "Device",
      "profile": [
        "http://hl7.org/fhir/StructureDefinition/Device"
      ],
      "codeFilter": [
        {
          "path": "type",
          "valueSet": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1146.1125"
        }
      ]
    },
    {
      "type": "Device",
      "profile": [
        "http://hl7.org/fhir/StructureDefinition/Device"
      ],
      "codeFilter": [
        {
          "path": "type",
          "valueSet": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.5.1001"
        }
      ]
    },
    {
      "type": "Location",
      "profile": [
        "http://hl7.org/fhir/StructureDefinition/Location"
      ],
      "codeFilter": [
        {
          "path": "type",
          "valueSet": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.87"
        }
      ]
    },
    {
      "type": "Location",
      "profile": [
        "http://hl7.org/fhir/StructureDefinition/Location"
      ],
      "codeFilter": [
        {
          "path": "physicalType.coding.code",
          "code": [
            {
              "system": "http://terminology.hl7.org/CodeSystem/location-physical-type",
              "version": "2.0.1",
              "code": "bd"
            }
          ]
        }
      ]
    },
    {
      "type": "DocumentReference",
      "profile": [
        "http://hl7.org/fhir/StructureDefinition/DocumentReference"
      ],
      "codeFilter": [
        {
          "path": "type.coding.code",
          "code": [
            {
              "system": "http://loinc.org",
              "code": "11516-2"
            }
          ]
        }
      ]
    },
    {
      "type": "Communication",
      "profile": [
        "http://hl7.org/fhir/StructureDefinition/Communication"
      ],
      "codeFilter": [
        {
          "path": "category.coding.code",
          "code": [
            {
              "system": "http://terminology.hl7.org/CodeSystem/communication-category",
              "code": "notification"
            }
          ]
        }
      ],
      "dateFilter": [
        {
          "searchParam": "date"
        }
      ]
    }
  ],
  "content": [
    {
      "contentType": "text/cql",
      "data": "bGlicmFyeSBIUkRNZWFzdXJlU3RydWN0dXJlTGlicmFyeSB2ZXJzaW9uICcxLjAuMCcKCnVzaW5nIEZISVIgdmVyc2lvbiAnNC4wLjEnCgppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzQuMC4xJyBjYWxsZWQgRkhJUkhlbHBlcnMKCi8vIFRlcm1pbm9sb2d5IGRlZmluaXRpb25zCmNvZGVzeXN0ZW0gIkxPSU5DIjogJ2h0dHA6Ly9sb2luYy5vcmcnCmNvZGVzeXN0ZW0gIlNOT01FRCBDVCI6ICdodHRwOi8vc25vbWVkLmluZm8vc2N0Jgpjb2Rlc3lzdGVtICJJQ0QtMTAtQ00iOiAnaHR0cDovL2hsNy5vcmcvZmhpci9zaWQvaWNkLTEwLWNtJwoKLy8gVmFsdWUgc2V0cwp2YWx1ZXNldCAiUmVzcGlyYXRvcnkgU3BlY2ltZW4gQ29sbGVjdGlvbiBEZXZpY2VzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTE0Ni4xMTI1Jwp2YWx1ZXNldCAiQ09WSUQtMTkgVGVzdHMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTQ2LjExMjMnCnZhbHVlc2V0ICJJbmZsdWVuemEgVGVzdHMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAyLjEyLjEwMTInCnZhbHVlc2V0ICJSU1YgVGVzdHMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTQ2LjExMjQnCnZhbHVlc2V0ICJJQ1UgTG9jYXRpb24gVHlwZXMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjg3Jwp2YWx1ZXNldCAiVmVudGlsYXRvciBEZXZpY2UgVHlwZXMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNS4xMDAxJwoKLy8gUGFyYW1ldGVyIGZvciBtZWFzdXJlbWVudCBwZXJpb2QKcGFyYW1ldGVyICJNZWFzdXJlbWVudCBQZXJpb2QiIEludGVydmFsPERhdGU+CiAgZGVmYXVsdCBJbnRlcnZhbFtAMjAyNS0wMy0wMSwgQDIwMjUtMDMtMDddCgpjb250ZXh0IFBhdGllbnQKCi8vIFNUUlVDVFVSRSBNRUFTVVJFIENPTVBPTkVOVFMKLy8gRm9yIGEgc3RydWN0dXJlIG1lYXN1cmUsIHdlIGFzc2VzcyBjYXBhYmlsaXRpZXMsIHJlc291cmNlcyBhbmQgb3JnYW5pemF0aW9uYWwgc3RydWN0dXJlcwoKLy8gMS4gVGVzdCBmb3IgdGhlIHByZXNlbmNlIG9mIHJlc3BpcmF0b3J5IHRlc3RpbmcgY2FwYWJpbGl0aWVzCmRlZmluZSAiSGFzIENPVklELTE5IFRlc3RpbmcgQ2FwYWJpbGl0eSI6CiAgZXhpc3RzICgKICAgIFtEZXZpY2VdIERldmljZQogICAgICB3aGVyZSBEZXZpY2UudHlwZS5jb2RpbmcgaW4gIkNPVklELTE5IFRlc3RzIgogICAgICAgIGFuZCBEZXZpY2Uuc3RhdHVzID0gJ2FjdGl2ZScKICApCgpkZWZpbmUgIkhhcyBJbmZsdWVuemEgVGVzdGluZyBDYXBhYmlsaXR5IjoKICBleGlzdHMgKAogICAgW0RldmljZV0gRGV2aWNlCiAgICAgIHdoZXJlIERldmljZS50eXBlLmNvZGluZyBpbiAiSW5mbHVlbnphIFRlc3RzIgogICAgICAgIGFuZCBEZXZpY2Uuc3RhdHVzID0gJ2FjdGl2ZScKICApCgpkZWZpbmUgIkhhcyBSU1YgVGVzdGluZyBDYXBhYmlsaXR5IjoKICBleGlzdHMgKAogICAgW0RldmljZV0gRGV2aWNlCiAgICAgIHdoZXJlIERldmljZS50eXBlLmNvZGluZyBpbiAiUlNWIFRlc3RzIgogICAgICAgIGFuZCBEZXZpY2Uuc3RhdHVzID0gJ2FjdGl2ZScKICApCgpkZWZpbmUgIkhhcyBTcGVjaW1lbiBDb2xsZWN0aW9uIENhcGFiaWxpdGllcyI6CiAgZXhpc3RzICgKICAgIFtEZXZpY2VdIERldmljZQogICAgICB3aGVyZSBEZXZpY2UudHlwZS5jb2RpbmcgaW4gIlJlc3BpcmF0b3J5IFNwZWNpbWVuIENvbGxlY3Rpb24gRGV2aWNlcyIKICAgICAgICBhbmQgRGV2aWNlLnN0YXR1cyA9ICdhY3RpdmUnCiAgKQoKZGVmaW5lICJIYXMgSUNVIExvY2F0aW9ucyI6CiAgZXhpc3RzICgKICAgIFtMb2NhdGlvbl0gTG9jYXRpb24KICAgICAgd2hlcmUgTG9jYXRpb24udHlwZS5jb2RpbmcgaW4gIklDVSBMb2NhdGlvbiBUeXBlcyIKICAgICAgICBhbmQgTG9jYXRpb24uc3RhdHVzID0gJ2FjdGl2ZScKICApCgpkZWZpbmUgIkhhcyBWZW50aWxhdG9yIFJlc291cmNlcyI6CiAgZXhpc3RzICgKICAgIFtEZXZpY2VdIERldmljZQogICAgICB3aGVyZSBEZXZpY2UudHlwZS5jb2RpbmcgaW4gIlZlbnRpbGF0b3IgRGV2aWNlIFR5cGVzIgogICAgICAgIGFuZCBEZXZpY2Uuc3RhdHVzID0gJ2FjdGl2ZScKICApCgpkZWZpbmUgIkhhcyBIUkQgUmVwb3J0aW5nIFByb3RvY29sIjoKICBleGlzdHMgKAogICAgW0RvY3VtZW50UmVmZXJlbmNlXSBECiAgICAgIHdoZXJlIEQudHlwZS5jb2RpbmcuY29kZSBpbiB7JzExNTE2LTInfSAvLyBMT0lOQyBmb3IgaW5mZWN0aW9uIGNvbnRyb2wgcHJvdG9jb2wKICAgICAgICBhbmQgRC5zdGF0dXMgPSAnY3VycmVudCcKICAgICAgICBhbmQgRC5kZXNjcmlwdGlvbiBjb250YWlucyAnTkhTTicKICAgICAgICBhbmQgRC5kZXNjcmlwdGlvbiBjb250YWlucyAnSFJEJwogICkKCi8vIENPTlRJTlVPVVMgVkFSSUFCTEUgQ0FMQ1VMQVRJT05TCgovLyBIb3NwaXRhbCBjYXBhY2l0eSBtZXRyaWNzCmRlZmluZSAiVG90YWwgQmVkIENhcGFjaXR5IjoKICBTdW0oCiAgICBbTG9jYXRpb25dIExvY2F0aW9uCiAgICAgIHdoZXJlIExvY2F0aW9uLnN0YXR1cyA9ICdhY3RpdmUnCiAgICAgICAgYW5kIExvY2F0aW9uLnBoeXNpY2FsVHlwZS5jb2RpbmcuY29kZSA9ICdiZCcKICAgICAgcmV0dXJuICgKICAgICAgICBMb2NhdGlvbi5leHRlbnNpb24gRQogICAgICAgICAgd2hlcmUgRS51cmwgPSAnaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL2xvY2F0aW9uLWJlZC1jb3VudCcKICAgICAgICAgIHJldHVybiBFLnZhbHVlSW50ZWdlcgogICAgICApLnZhbHVlSW50ZWdlcgogICkKCmRlZmluZSAiSUNVIEJlZCBDYXBhY2l0eSI6CiAgU3VtKAogICAgW0xvY2F0aW9uXSBMb2NhdGlvbgogICAgICB3aGVyZSBMb2NhdGlvbi5zdGF0dXMgPSAnYWN0aXZlJwogICAgICAgIGFuZCBMb2NhdGlvbi50eXBlLmNvZGluZyBpbiAiSUNVIExvY2F0aW9uIFR5cGVzIgogICAgICAgIGFuZCBMb2NhdGlvbi5waHlzaWNhbFR5cGUuY29kaW5nLmNvZGUgPSAnYmQnCiAgICAgIHJldHVybiAoCiAgICAgICAgTG9jYXRpb24uZXh0ZW5zaW9uIEUKICAgICAgICAgIHdoZXJlIEUudXJsID0gJ2h0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9sb2NhdGlvbi1iZWQtY291bnQnCiAgICAgICAgICByZXR1cm4gRS52YWx1ZUludGVnZXIKICAgICAgKS52YWx1ZUludGVnZXIKICApCgpkZWZpbmUgIlZlbnRpbGF0b3IgQ291bnQiOgogIENvdW50KAogICAgW0RldmljZV0gRGV2aWNlCiAgICAgIHdoZXJlIERldmljZS50eXBlLmNvZGluZyBpbiAiVmVudGlsYXRvciBEZXZpY2UgVHlwZXMiCiAgICAgICAgYW5kIERldmljZS5zdGF0dXMgPSAnYWN0aXZlJwogICkKCi8vIFdlZWtseSByZXBvcnRpbmcgY29tcGxpYW5jZSBhbmQgbWV0cmljcwpkZWZpbmUgIlJlcG9ydGluZyBXZWVrcyBpbiBNZWFzdXJlbWVudCBQZXJpb2QiOgogIENvdW50KAogICAgZXhwYW5kezIwMjUtMDMtMDEsIEAyMDI1LTAzLTA3LCB3ZWVrfQogICkKCmRlZmluZSAiSFJEIFJlcG9ydHMgU3VibWl0dGVkIER1cmluZyBQZXJpb2QiOgogIENvdW50KAogICAgW0NvbW11bmljYXRpb25dIEMKICAgICAgd2hlcmUgQy5jYXRlZ29yeS5jb2RpbmcuY29kZSBpbiB7J25vdGlmaWNhdGlvbid9CiAgICAgICAgYW5kIEMudG9waWMudGV4dCBjb250YWlucyAnTkhTTicKICAgICAgICBhbmQgQy50b3BpYy50ZXh0IGNvbnRhaW5zICdIUkQnCiAgICAgICAgYW5kIEMuc2VudCBkdXJpbmcgIk1lYXN1cmVtZW50IFBlcmlvZCIKICApCgpkZWZpbmUgIldlZWtseSBSZXBvcnRpbmcgQ29tcGxpYW5jZSI6CiAgIkhSRCBSZXBvcnRzIFN1Ym1pdHRlZCBEdXJpbmcgUGVyaW9kIiAvICJSZXBvcnRpbmcgV2Vla3MgaW4gTWVhc3VyZW1lbnQgUGVyaW9kIgoKLy8gU3RydWN0dXJhbCByZWFkaW5lc3Mgc2NvcmVzCmRlZmluZSAiSGFzIEFsbCBUZXN0aW5nIENhcGFiaWxpdGllcyI6CiAgaWYgKCJIYXMgQ09WSUQtMTkgVGVzdGluZyBDYXBhYmlsaXR5IiBhbmQgIkhhcyBJbmZsdWVuemEgVGVzdGluZyBDYXBhYmlsaXR5IiBhbmQgIkhhcyBSU1YgVGVzdGluZyBDYXBhYmlsaXR5IikKICAgIHRoZW4gMQogICAgZWxzZSAwCgpkZWZpbmUgIkhhcyBSZXF1aXJlZCBSZXBvcnRpbmcgU3RydWN0dXJlIjoKICBpZiAoIkhhcyBIUkQgUmVwb3J0aW5nIFByb3RvY29sIikgCiAgICB0aGVuIDEKICAgIGVsc2UgMAoKLy8gQ29udGludW91cyB2YXJpYWJsZSBmb3Igc3RydWN0dXJhbCBtZWFzdXJlIGFzc2Vzc21lbnQKZGVmaW5lICJTdHJ1Y3R1cmFsIFJlYWRpbmVzcyBTY29yZSI6CiAgKCJIYXMgQ09WSUQtMTkgVGVzdGluZyBDYXBhYmlsaXR5IiBhcyBJbnRlZ2VyICsKICAgIkhhcyBJbmZsdWVuemEgVGVzdGluZyBDYXBhYmlsaXR5IiBhcyBJbnRlZ2VyICsKICAgIkhhcyBSU1YgVGVzdGluZyBDYXBhYmlsaXR5IiBhcyBJbnRlZ2VyICsKICAgIkhhcyBTcGVjaW1lbiBDb2xsZWN0aW9uIENhcGFiaWxpdGllcyIgYXMgSW50ZWdlciArCiAgICJIYXMgSUNVIExvY2F0aW9ucyIgYXMgSW50ZWdlciArCiAgICJIYXMgVmVudGlsYXRvciBSZXNvdXJjZXMiIGFzIEludGVnZXIgKwogICAgIkhhcyBIUkQgUmVwb3J0aW5nIFByb3RvY29sIiBhcyBJbnRlZ2VyKSAvIDcuMCAqIDEwMC4wCgovLyBNYWluIG1lYXN1cmUgY2FsY3VsYXRpb24gLSBub3cgZm9jdXNpbmcgb24gc3RydWN0dXJhbCBjb21wb25lbnRzIGFuZCB0aGVpciByYXRpbmdzCmRlZmluZSAiTWVhc3VyZSBQb3B1bGF0aW9uIjoKICB0cnVlCgpkZWZpbmUgIk1lYXN1cmUgT2JzZXJ2YXRpb24iOgogICJTdHJ1Y3R1cmFsIFJlYWRpbmVzcyBTY29yZSI="
    }
  ]
}