Data Exchange For Quality Measures Implementation Guide, published by HL7 International / Clinical Quality Information. 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/davinci-deqm/ and changes regularly. See the Directory of published versions
@prefix fhir: <http://hl7.org/fhir/> . @prefix owl: <http://www.w3.org/2002/07/owl#> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . # - resource ------------------------------------------------------------------- a fhir:Bundle ; fhir:nodeRole fhir:treeRoot ; fhir:id [ fhir:v "sde-example-artifact-bundle"] ; # fhir:language [ fhir:v "en"] ; # fhir:type [ fhir:v "transaction"] ; # fhir:entry ( [ fhir:fullUrl [ fhir:v "urn:uuid:31244296-3e84-4e17-94b1-4159d64e41db"^^xsd:anyURI ] ; ( fhir:resource <urn:uuid:31244296-3e84-4e17-94b1-4159d64e41db> ) ; fhir:request [ fhir:method [ fhir:v "PUT" ] ; fhir:url [ fhir:v "Library/FHIRHelpers"^^xsd:anyURI ] ] ] [ fhir:fullUrl [ fhir:v "urn:uuid:aa99c584-12e5-46bb-8b30-ab10cfe26471"^^xsd:anyURI ] ; ( fhir:resource <urn:uuid:aa99c584-12e5-46bb-8b30-ab10cfe26471> ) ; fhir:request [ fhir:method [ fhir:v "PUT" ] ; fhir:url [ fhir:v "Library/FHIRCommon"^^xsd:anyURI ] ] ] [ fhir:fullUrl [ fhir:v "urn:uuid:b3463968-f67d-42ef-8494-cd4ea42e87b9"^^xsd:anyURI ] ; ( fhir:resource <urn:uuid:b3463968-f67d-42ef-8494-cd4ea42e87b9> ) ; fhir:request [ fhir:method [ fhir:v "PUT" ] ; fhir:url [ fhir:v "Library/MATGlobalCommonFunctionsFHIR4"^^xsd:anyURI ] ] ] [ fhir:fullUrl [ fhir:v "urn:uuid:c6098378-cb38-4ae2-a096-3a3cc5c620d5"^^xsd:anyURI ] ; ( fhir:resource <urn:uuid:c6098378-cb38-4ae2-a096-3a3cc5c620d5> ) ; fhir:request [ fhir:method [ fhir:v "PUT" ] ; fhir:url [ fhir:v "Library/SupplementalDataElementsFHIR4"^^xsd:anyURI ] ] ] [ fhir:fullUrl [ fhir:v "urn:uuid:e3b78b9e-96ee-43fb-aeea-22a7681a1538"^^xsd:anyURI ] ; ( fhir:resource <urn:uuid:e3b78b9e-96ee-43fb-aeea-22a7681a1538> ) ; fhir:request [ fhir:method [ fhir:v "PUT" ] ; fhir:url [ fhir:v "Library/NHSNGlycemicControlHypoglycemicInitialPopulation"^^xsd:anyURI ] ] ] [ fhir:fullUrl [ fhir:v "urn:uuid:61d3ae55-c7b7-484f-96df-4f3ef8c080c0"^^xsd:anyURI ] ; ( fhir:resource <urn:uuid:61d3ae55-c7b7-484f-96df-4f3ef8c080c0> ) ; fhir:request [ fhir:method [ fhir:v "PUT" ] ; fhir:url [ fhir:v "Measure/NHSNGlycemicControlHypoglycemicInitialPopulation"^^xsd:anyURI ] ] ] ) . # <urn:uuid:31244296-3e84-4e17-94b1-4159d64e41db> a fhir:Library ; fhir:id [ fhir:v "FHIRHelpers"] ; # fhir:language [ fhir:v "en"] ; # fhir:text [ fhir:status [ fhir:v "extensions" ] ; fhir:div [ fhir:v "<div xmlns=\"http://www.w3.org/1999/xhtml\"><a name=\"Library_FHIRHelpers\"> </a><p><b style=\"color: maroon\">Exception generating Narrative: unable to parse character reference ' quantity.unit.value '' (last text = '\n ' at line 205 column 143</b></p></div>"^^rdf:XMLLiteral ] ] ; # fhir:url [ fhir:v "http://fhir.org/guides/cqf/common/Library/FHIRHelpers"^^xsd:anyURI] ; # fhir:version [ fhir:v "4.0.1"] ; # fhir:name [ fhir:v "FHIRHelpers"] ; # fhir:title [ fhir:v "FHIR Helpers"] ; # fhir:status [ fhir:v "draft"] ; # fhir:experimental [ fhir:v true] ; # fhir:type [ ( fhir:coding [ fhir:system [ fhir:v "http://terminology.hl7.org/CodeSystem/library-type"^^xsd:anyURI ] ; fhir:code [ fhir:v "logic-library" ] ; fhir:display [ fhir:v "Logic Library" ] ] ) ] ; # fhir:content ( [ fhir:contentType [ fhir:v "text/cql" ] ; fhir:data [ fhir:v "LyoNCkBhdXRob3I6IEJyeW4gUmhvZGVzDQpAZGVzY3JpcHRpb246IFRoaXMgbGlicmFyeSBkZWZpbmVzIGZ1bmN0aW9ucyB0byBjb252ZXJ0IGJldHdlZW4gRkhJUg0KIGRhdGEgdHlwZXMgYW5kIENRTCBzeXN0ZW0tZGVmaW5lZCB0eXBlcywgYXMgd2VsbCBhcyBmdW5jdGlvbnMgdG8gc3VwcG9ydA0KIEZISVJQYXRoIGltcGxlbWVudGF0aW9uLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIHRoZSBGSElSSGVscGVycyB3aWtpIHBhZ2U6DQogaHR0cHM6Ly9naXRodWIuY29tL2NxZnJhbWV3b3JrL2NsaW5pY2FsX3F1YWxpdHlfbGFuZ3VhZ2Uvd2lraS9GSElSSGVscGVycw0KQGFsbG93Rmx1ZW50OiB0cnVlDQoqLw0KbGlicmFyeSBGSElSSGVscGVycyB2ZXJzaW9uICc0LjAuMScNCg0KdXNpbmcgRkhJUiB2ZXJzaW9uICc0LjAuMScNCg0KZGVmaW5lIGZ1bmN0aW9uIFRvSW50ZXJ2YWwocGVyaW9kIEZISVIuUGVyaW9kKToNCiAgICBpZiBwZXJpb2QgaXMgbnVsbCB0aGVuDQogICAgICAgIG51bGwNCiAgICBlbHNlDQogICAgICAgIGlmIHBlcmlvZC4ic3RhcnQiIGlzIG51bGwgdGhlbg0KICAgICAgICAgICAgSW50ZXJ2YWwocGVyaW9kLiJzdGFydCIudmFsdWUsIHBlcmlvZC4iZW5kIi52YWx1ZV0NCiAgICAgICAgZWxzZQ0KICAgICAgICAgICAgSW50ZXJ2YWxbcGVyaW9kLiJzdGFydCIudmFsdWUsIHBlcmlvZC4iZW5kIi52YWx1ZV0NCg0KZGVmaW5lIGZ1bmN0aW9uIFRvQ2FsZW5kYXJVbml0KHVuaXQgU3lzdGVtLlN0cmluZyk6DQogICAgY2FzZSB1bml0DQogICAgICAgIHdoZW4gJ21zJyB0aGVuICdtaWxsaXNlY29uZCcNCiAgICAgICAgd2hlbiAncycgdGhlbiAnc2Vjb25kJw0KICAgICAgICB3aGVuICdtaW4nIHRoZW4gJ21pbnV0ZScNCiAgICAgICAgd2hlbiAnaCcgdGhlbiAnaG91cicNCiAgICAgICAgd2hlbiAnZCcgdGhlbiAnZGF5Jw0KICAgICAgICB3aGVuICd3aycgdGhlbiAnd2VlaycNCiAgICAgICAgd2hlbiAnbW8nIHRoZW4gJ21vbnRoJw0KICAgICAgICB3aGVuICdhJyB0aGVuICd5ZWFyJw0KICAgICAgICBlbHNlIHVuaXQNCiAgICBlbmQNCg0KZGVmaW5lIGZ1bmN0aW9uIFRvUXVhbnRpdHkocXVhbnRpdHkgRkhJUi5RdWFudGl0eSk6DQogICAgY2FzZQ0KICAgICAgICB3aGVuIHF1YW50aXR5IGlzIG51bGwgdGhlbiBudWxsDQogICAgICAgIHdoZW4gcXVhbnRpdHkudmFsdWUgaXMgbnVsbCB0aGVuIG51bGwNCiAgICAgICAgd2hlbiBxdWFudGl0eS5jb21wYXJhdG9yIGlzIG5vdCBudWxsIHRoZW4NCiAgICAgICAgICAgIE1lc3NhZ2UobnVsbCwgdHJ1ZSwgJ0ZISVJIZWxwZXJzLlRvUXVhbnRpdHkuQ29tcGFyYXRvclF1YW50aXR5Tm90U3VwcG9ydGVkJywgJ0Vycm9yJywgJ0ZISVIgUXVhbnRpdHkgdmFsdWUgaGFzIGEgY29tcGFyYXRvciBhbmQgY2Fubm90IGJlIGNvbnZlcnRlZCB0byBhIFN5c3RlbS5RdWFudGl0eSB2YWx1ZS4nKQ0KICAgICAgICB3aGVuIHF1YW50aXR5LnN5c3RlbSBpcyBudWxsIG9yIHF1YW50aXR5LnN5c3RlbS52YWx1ZSA9ICdodHRwOi8vdW5pdHNvZm1lYXN1cmUub3JnJw0KICAgICAgICAgICAgICBvciBxdWFudGl0eS5zeXN0ZW0udmFsdWUgPSAnaHR0cDovL2hsNy5vcmcvZmhpcnBhdGgvQ29kZVN5c3RlbS9jYWxlbmRhci11bml0cycgdGhlbg0KICAgICAgICAgICAgU3lzdGVtLlF1YW50aXR5IHsgdmFsdWU6IHF1YW50aXR5LnZhbHVlLnZhbHVlLCB1bml0OiBUb0NhbGVuZGFyVW5pdChDb2FsZXNjZShxdWFudGl0eS5jb2RlLnZhbHVlLCBxdWFudGl0eS51bml0LnZhbHVlLCAnMScpKSB9DQogICAgICAgIGVsc2UNCiAgICAgICAgICAgIE1lc3NhZ2UobnVsbCwgdHJ1ZSwgJ0ZISVJIZWxwZXJzLlRvUXVhbnRpdHkuSW52YWxpZEZISVJRdWFudGl0eScsICdFcnJvcicsICdJbnZhbGlkIEZISVIgUXVhbnRpdHkgY29kZTogJyAmIHF1YW50aXR5LnVuaXQudmFsdWUgJiAnICgnICYgcXVhbnRpdHkuc3lzdGVtLnZhbHVlICYgJ3wnICYgcXVhbnRpdHkuY29kZS52YWx1ZSAmICcpJykNCiAgICBlbmQNCg0KZGVmaW5lIGZ1bmN0aW9uIFRvUXVhbnRpdHlJZ25vcmluZ0NvbXBhcmF0b3IocXVhbnRpdHkgRkhJUi5RdWFudGl0eSk6DQogICAgY2FzZQ0KICAgICAgICB3aGVuIHF1YW50aXR5IGlzIG51bGwgdGhlbiBudWxsDQogICAgICAgIHdoZW4gcXVhbnRpdHkudmFsdWUgaXMgbnVsbCB0aGVuIG51bGwNCiAgICAgICAgd2hlbiBxdWFudGl0eS5zeXN0ZW0gaXMgbnVsbCBvciBxdWFudGl0eS5zeXN0ZW0udmFsdWUgPSAnaHR0cDovL3VuaXRzb2ZtZWFzdXJlLm9yZycNCiAgICAgICAgICAgICAgb3IgcXVhbnRpdHkuc3lzdGVtLnZhbHVlID0gJ2h0dHA6Ly9obDcub3JnL2ZoaXJwYXRoL0NvZGVTeXN0ZW0vY2FsZW5kYXItdW5pdHMnIHRoZW4NCiAgICAgICAgICAgIFN5c3RlbS5RdWFudGl0eSB7IHZhbHVlOiBxdWFudGl0eS52YWx1ZS52YWx1ZSwgdW5pdDogVG9DYWxlbmRhclVuaXQoQ29hbGVzY2UocXVhbnRpdHkuY29kZS52YWx1ZSwgcXVhbnRpdHkudW5pdC52YWx1ZSwgJzEnKSkgfQ0KICAgICAgICBlbHNlDQogICAgICAgICAgICBNZXNzYWdlKG51bGwsIHRydWUsICdGSElSSGVscGVycy5Ub1F1YW50aXR5LkludmFsaWRGSElSUXVhbnRpdHknLCAnRXJyb3InLCAnSW52YWxpZCBGSElSIFF1YW50aXR5IGNvZGU6ICcgJiBxdWFudGl0eS51bml0LnZhbHVlICYgJyAoJyAmIHF1YW50aXR5LnN5c3RlbS52YWx1ZSAmICd8JyAmIHF1YW50aXR5LmNvZGUudmFsdWUgJiAnKScpDQogICAgZW5kDQoNCmRlZmluZSBmdW5jdGlvbiBUb0ludGVydmFsKHF1YW50aXR5IEZISVIuUXVhbnRpdHkpOg0KICAgIGlmIHF1YW50aXR5IGlzIG51bGwgdGhlbiBudWxsIGVsc2UNCiAgICAgICAgY2FzZSBxdWFudGl0eS5jb21wYXJhdG9yLnZhbHVlDQogICAgICAgICAgICB3aGVuICc8JyB0aGVuDQogICAgICAgICAgICAgICAgSW50ZXJ2YWxbDQogICAgICAgICAgICAgICAgICAgIG51bGwsDQogICAgICAgICAgICAgICAgICAgIFRvUXVhbnRpdHlJZ25vcmluZ0NvbXBhcmF0b3IocXVhbnRpdHkpDQogICAgICAgICAgICAgICAgKQ0KICAgICAgICAgICAgd2hlbiAnPD0nIHRoZW4NCiAgICAgICAgICAgICAgICBJbnRlcnZhbFsNCiAgICAgICAgICAgICAgICAgICAgbnVsbCwNCiAgICAgICAgICAgICAgICAgICAgVG9RdWFudGl0eUlnbm9yaW5nQ29tcGFyYXRvcihxdWFudGl0eSkNCiAgICAgICAgICAgICAgICBdDQogICAgICAgICAgICB3aGVuICc+PScgdGhlbg0KICAgICAgICAgICAgICAgIEludGVydmFsWw0KICAgICAgICAgICAgICAgICAgICBUb1F1YW50aXR5SWdub3JpbmdDb21wYXJhdG9yKHF1YW50aXR5KSwNCiAgICAgICAgICAgICAgICAgICAgbnVsbA0KICAgICAgICAgICAgICAgIF0NCiAgICAgICAgICAgIHdoZW4gJz4nIHRoZW4NCiAgICAgICAgICAgICAgICBJbnRlcnZhbCgNCiAgICAgICAgICAgICAgICAgICAgVG9RdWFudGl0eUlnbm9yaW5nQ29tcGFyYXRvcihxdWFudGl0eSksDQogICAgICAgICAgICAgICAgICAgIG51bGwNCiAgICAgICAgICAgICAgICBdDQogICAgICAgICAgICBlbHNlDQogICAgICAgICAgICAgICAgSW50ZXJ2YWxbVG9RdWFudGl0eShxdWFudGl0eSksIFRvUXVhbnRpdHkocXVhbnRpdHkpXQ0KICAgICAgICBlbmQNCg0KZGVmaW5lIGZ1bmN0aW9uIFRvUmF0aW8ocmF0aW8gRkhJUi5SYXRpbyk6DQogICAgaWYgcmF0aW8gaXMgbnVsbCB0aGVuDQogICAgICAgIG51bGwNCiAgICBlbHNlDQogICAgICAgIFN5c3RlbS5SYXRpbyB7IG51bWVyYXRvcjogVG9RdWFudGl0eShyYXRpby5udW1lcmF0b3IpLCBkZW5vbWluYXRvcjogVG9RdWFudGl0eShyYXRpby5kZW5vbWluYXRvcikgfQ0KDQpkZWZpbmUgZnVuY3Rpb24gVG9JbnRlcnZhbChyYW5nZSBGSElSLlJhbmdlKToNCiAgICBpZiByYW5nZSBpcyBudWxsIHRoZW4NCiAgICAgICAgbnVsbA0KICAgIGVsc2UNCiAgICAgICAgSW50ZXJ2YWxbVG9RdWFudGl0eShyYW5nZS5sb3cpLCBUb1F1YW50aXR5KHJhbmdlLmhpZ2gpXQ0KDQpkZWZpbmUgZnVuY3Rpb24gVG9Db2RlKGNvZGluZyBGSElSLkNvZGluZyk6DQogICAgaWYgY29kaW5nIGlzIG51bGwgdGhlbg0KICAgICAgICBudWxsDQogICAgZWxzZQ0KICAgICAgICBTeXN0ZW0uQ29kZSB7DQogICAgICAgICAgY29kZTogY29kaW5nLmNvZGUudmFsdWUsDQogICAgICAgICAgc3lzdGVtOiBjb2Rpbmcuc3lzdGVtLnZhbHVlLA0KICAgICAgICAgIHZlcnNpb246IGNvZGluZy52ZXJzaW9uLnZhbHVlLA0KICAgICAgICAgIGRpc3BsYXk6IGNvZGluZy5kaXNwbGF5LnZhbHVlDQogICAgICAgIH0NCg0KZGVmaW5lIGZ1bmN0aW9uIFRvQ29uY2VwdChjb25jZXB0IEZISVIuQ29kZWFibGVDb25jZXB0KToNCiAgICBpZiBjb25jZXB0IGlzIG51bGwgdGhlbg0KICAgICAgICBudWxsDQogICAgZWxzZQ0KICAgICAgICBTeXN0ZW0uQ29uY2VwdCB7DQogICAgICAgICAgICBjb2RlczogY29uY2VwdC5jb2RpbmcgQyByZXR1cm4gVG9Db2RlKEMpLA0KICAgICAgICAgICAgZGlzcGxheTogY29uY2VwdC50ZXh0LnZhbHVlDQogICAgICAgIH0NCg0KZGVmaW5lIGZ1bmN0aW9uIHJlZmVyZW5jZShyZWZlcmVuY2UgU3RyaW5nKToNCiAgICBpZiByZWZlcmVuY2UgaXMgbnVsbCB0aGVuDQogICAgICAgIG51bGwNCiAgICBlbHNlDQogICAgICAgIFJlZmVyZW5jZSB7IHJlZmVyZW5jZTogc3RyaW5nIHsgdmFsdWU6IHJlZmVyZW5jZSB9IH0NCg0KZGVmaW5lIGZ1bmN0aW9uIHJlc29sdmUocmVmZXJlbmNlIFN0cmluZykgcmV0dXJucyBSZXNvdXJjZTogZXh0ZXJuYWwNCmRlZmluZSBmdW5jdGlvbiByZXNvbHZlKHJlZmVyZW5jZSBSZWZlcmVuY2UpIHJldHVybnMgUmVzb3VyY2U6IGV4dGVybmFsDQpkZWZpbmUgZnVuY3Rpb24gcmVmZXJlbmNlKHJlc291cmNlIFJlc291cmNlKSByZXR1cm5zIFJlZmVyZW5jZTogZXh0ZXJuYWwNCmRlZmluZSBmdW5jdGlvbiBleHRlbnNpb24oZWxlbWVudCBFbGVtZW50LCB1cmwgU3RyaW5nKSByZXR1cm5zIExpc3Q8RWxlbWVudD46IGV4dGVybmFsDQpkZWZpbmUgZnVuY3Rpb24gZXh0ZW5zaW9uKHJlc291cmNlIFJlc291cmNlLCB1cmwgU3RyaW5nKSByZXR1cm5zIExpc3Q8RWxlbWVudD46IGV4dGVybmFsDQpkZWZpbmUgZnVuY3Rpb24gaGFzVmFsdWUoZWxlbWVudCBFbGVtZW50KSByZXR1cm5zIEJvb2xlYW46IGV4dGVybmFsDQpkZWZpbmUgZnVuY3Rpb24gZ2V0VmFsdWUoZWxlbWVudCBFbGVtZW50KSByZXR1cm5zIEFueTogZXh0ZXJuYWwNCmRlZmluZSBmdW5jdGlvbiBvZlR5cGUoaWRlbnRpZmllciBTdHJpbmcpIHJldHVybnMgTGlzdDxBbnk+OiBleHRlcm5hbA0KZGVmaW5lIGZ1bmN0aW9uIGlzKGlkZW50aWZpZXIgU3RyaW5nKSByZXR1cm5zIEJvb2xlYW46IGV4dGVybmFsDQpkZWZpbmUgZnVuY3Rpb24gYXMoaWRlbnRpZmllciBTdHJpbmcpIHJldHVybnMgQW55OiBleHRlcm5hbA0KZGVmaW5lIGZ1bmN0aW9uIGVsZW1lbnREZWZpbml0aW9uKGVsZW1lbnQgRWxlbWVudCkgcmV0dXJucyBFbGVtZW50RGVmaW5pdGlvbjogZXh0ZXJuYWwNCmRlZmluZSBmdW5jdGlvbiBzbGljZShlbGVtZW50IEVsZW1lbnQsIHVybCBTdHJpbmcsIG5hbWUgU3RyaW5nKSByZXR1cm5zIExpc3Q8RWxlbWVudD46IGV4dGVybmFsDQpkZWZpbmUgZnVuY3Rpb24gY2hlY2tNb2RpZmllcnMocmVzb3VyY2UgUmVzb3VyY2UpIHJldHVybnMgUmVzb3VyY2U6IGV4dGVybmFsDQpkZWZpbmUgZnVuY3Rpb24gY2hlY2tNb2RpZmllcnMocmVzb3VyY2UgUmVzb3VyY2UsIG1vZGlmaWVyIFN0cmluZykgcmV0dXJucyBSZXNvdXJjZTogZXh0ZXJuYWwNCmRlZmluZSBmdW5jdGlvbiBjaGVja01vZGlmaWVycyhlbGVtZW50IEVsZW1lbnQpIHJldHVybnMgRWxlbWVudDogZXh0ZXJuYWwNCmRlZmluZSBmdW5jdGlvbiBjaGVja01vZGlmaWVycyhlbGVtZW50IEVsZW1lbnQsIG1vZGlmaWVyIFN0cmluZykgcmV0dXJucyBFbGVtZW50OiBleHRlcm5hbA0KZGVmaW5lIGZ1bmN0aW9uIGNvbmZvcm1zVG8ocmVzb3VyY2UgUmVzb3VyY2UsIHN0cnVjdHVyZSBTdHJpbmcpIHJldHVybnMgQm9vbGVhbjogZXh0ZXJuYWwNCmRlZmluZSBmdW5jdGlvbiBtZW1iZXJPZihjb2RlIGNvZGUsIHZhbHVlU2V0IFN0cmluZykgcmV0dXJucyBCb29sZWFuOiBleHRlcm5hbA0KZGVmaW5lIGZ1bmN0aW9uIG1lbWJlck9mKGNvZGluZyBDb2RpbmcsIHZhbHVlU2V0IFN0cmluZykgcmV0dXJucyBCb29sZWFuOiBleHRlcm5hbA0KZGVmaW5lIGZ1bmN0aW9uIG1lbWJlck9mKGNvbmNlcHQgQ29kZWFibGVDb25jZXB0LCB2YWx1ZVNldCBTdHJpbmcpIHJldHVybnMgQm9vbGVhbjogZXh0ZXJuYWwNCmRlZmluZSBmdW5jdGlvbiBzdWJzdW1lcyhjb2RpbmcgQ29kaW5nLCBzdWJzdW1lZENvZGluZyBDb2RpbmcpIHJldHVybnMgQm9vbGVhbjogZXh0ZXJuYWwNCmRlZmluZSBmdW5jdGlvbiBzdWJzdW1lcyhjb25jZXB0IENvZGVhYmxlQ29uY2VwdCwgc3Vic3VtZWRDb25jZXB0IENvZGVhYmxlQ29uY2VwdCkgcmV0dXJucyBCb29sZWFuOiBleHRlcm5hbA0KZGVmaW5lIGZ1bmN0aW9uIHN1YnN1bWVkQnkoY29kaW5nIENvZGluZywgc3Vic3VtaW5nQ29kaW5nIENvZGluZykgcmV0dXJucyBCb29sZWFuOiBleHRlcm5hbA0KZGVmaW5lIGZ1bmN0aW9uIHN1YnN1bWVkQnkoY29uY2VwdCBDb2RlYWJsZUNvbmNlcHQsIHN1YnN1bWluZ0NvbmNlcHQgQ29kZWFibGVDb25jZXB0KSByZXR1cm5zIEJvb2xlYW46IGV4dGVybmFsDQpkZWZpbmUgZnVuY3Rpb24gaHRtbENoZWNrcyhlbGVtZW50IEVsZW1lbnQpIHJldHVybnMgQm9vbGVhbjogZXh0ZXJuYWwNCg0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEFjY291bnRTdGF0dXMpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEFjdGlvbkNhcmRpbmFsaXR5QmVoYXZpb3IpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEFjdGlvbkNvbmRpdGlvbktpbmQpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEFjdGlvbkdyb3VwaW5nQmVoYXZpb3IpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEFjdGlvblBhcnRpY2lwYW50VHlwZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgQWN0aW9uUHJlY2hlY2tCZWhhdmlvcik6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgQWN0aW9uUmVsYXRpb25zaGlwVHlwZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgQWN0aW9uUmVxdWlyZWRCZWhhdmlvcik6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgQWN0aW9uU2VsZWN0aW9uQmVoYXZpb3IpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEFjdGl2aXR5RGVmaW5pdGlvbktpbmQpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEFjdGl2aXR5UGFydGljaXBhbnRUeXBlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBBZGRyZXNzVHlwZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgQWRkcmVzc1VzZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgQWRtaW5pc3RyYXRpdmVHZW5kZXIpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEFkdmVyc2VFdmVudEFjdHVhbGl0eSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgQWdncmVnYXRpb25Nb2RlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBBbGxlcmd5SW50b2xlcmFuY2VDYXRlZ29yeSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgQWxsZXJneUludG9sZXJhbmNlQ3JpdGljYWxpdHkpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEFsbGVyZ3lJbnRvbGVyYW5jZVNldmVyaXR5KTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBBbGxlcmd5SW50b2xlcmFuY2VUeXBlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBBcHBvaW50bWVudFN0YXR1cyk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgQXNzZXJ0aW9uRGlyZWN0aW9uVHlwZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgQXNzZXJ0aW9uT3BlcmF0b3JUeXBlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBBc3NlcnRpb25SZXNwb25zZVR5cGVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBBdWRpdEV2ZW50QWN0aW9uKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBBdWRpdEV2ZW50QWdlbnROZXR3b3JrVHlwZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgQXVkaXRFdmVudE91dGNvbWUpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEJpbmRpbmdTdHJlbmd0aCk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgQmlvbG9naWNhbGx5RGVyaXZlZFByb2R1Y3RDYXRlZ29yeSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgQmlvbG9naWNhbGx5RGVyaXZlZFByb2R1Y3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEJpb2xvZ2ljYWxseURlcml2ZWRQcm9kdWN0U3RvcmFnZVNjYWxlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBCdW5kbGVUeXBlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBDYXBhYmlsaXR5U3RhdGVtZW50S2luZCk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgQ2FyZVBsYW5BY3Rpdml0eUtpbmQpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIENhcmVQbGFuQWN0aXZpdHlTdGF0dXMpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIENhcmVQbGFuSW50ZW50KTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBDYXJlUGxhblN0YXR1cyk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgQ2FyZVRlYW1TdGF0dXMpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIENhdGFsb2dFbnRyeVJlbGF0aW9uVHlwZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgQ2hhcmdlSXRlbURlZmluaXRpb25QcmljZUNvbXBvbmVudFR5cGUpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIENoYXJnZUl0ZW1TdGF0dXMpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIENsYWltUmVzcG9uc2VTdGF0dXMpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIENsYWltU3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBDbGluaWNhbEltcHJlc3Npb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIENvZGVTZWFyY2hTdXBwb3J0KTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBDb2RlU3lzdGVtQ29udGVudE1vZGUpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIENvZGVTeXN0ZW1IaWVyYXJjaHlNZWFuaW5nKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBDb21tdW5pY2F0aW9uUHJpb3JpdHkpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIENvbW11bmljYXRpb25SZXF1ZXN0U3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBDb21tdW5pY2F0aW9uU3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBDb21wYXJ0bWVudENvZGUpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIENvbXBhcnRtZW50VHlwZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgQ29tcG9zaXRpb25BdHRlc3RhdGlvbk1vZGUpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIENvbXBvc2l0aW9uU3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBDb25jZXB0TWFwRXF1aXZhbGVuY2UpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIENvbmNlcHRNYXBHcm91cFVubWFwcGVkTW9kZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgQ29uZGl0aW9uYWxEZWxldGVTdGF0dXMpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIENvbmRpdGlvbmFsUmVhZFN0YXR1cyk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgQ29uc2VudERhdGFNZWFuaW5nKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBDb25zZW50UHJvdmlzaW9uVHlwZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgQ29uc2VudFN0YXRlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBDb25zdHJhaW50U2V2ZXJpdHkpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIENvbnRhY3RQb2ludFN5c3RlbSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgQ29udGFjdFBvaW50VXNlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBDb250cmFjdFB1YmxpY2F0aW9uU3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBDb250cmFjdFN0YXR1cyk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgQ29udHJpYnV0b3JUeXBlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBDb3ZlcmFnZVN0YXR1cyk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgQ3VycmVuY3lDb2RlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBEYXlPZldlZWspOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIERheXNPZldlZWspOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIERldGVjdGVkSXNzdWVTZXZlcml0eSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRGV0ZWN0ZWRJc3N1ZVN0YXR1cyk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRGV2aWNlTWV0cmljQ2FsaWJyYXRpb25TdGF0ZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRGV2aWNlTWV0cmljQ2FsaWJyYXRpb25UeXBlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBEZXZpY2VNZXRyaWNDYXRlZ29yeSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRGV2aWNlTWV0cmljQ29sb3IpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIERldmljZU1ldHJpY09wZXJhdGlvbmFsU3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBEZXZpY2VOYW1lVHlwZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRGV2aWNlUmVxdWVzdFN0YXR1cyk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRGV2aWNlVXNlU3RhdGVtZW50U3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBEaWFnbm9zdGljUmVwb3J0U3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBEaXNjcmltaW5hdG9yVHlwZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRG9jdW1lbnRDb25maWRlbnRpYWxpdHkpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIERvY3VtZW50TW9kZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRG9jdW1lbnRSZWZlcmVuY2VTdGF0dXMpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIERvY3VtZW50UmVsYXRpb25zaGlwVHlwZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRWxpZ2liaWxpdHlSZXF1ZXN0UHVycG9zZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRWxpZ2liaWxpdHlSZXF1ZXN0U3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBFbGlnaWJpbGl0eVJlc3BvbnNlUHVycG9zZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRWxpZ2liaWxpdHlSZXNwb25zZVN0YXR1cyk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRW5hYmxlV2hlbkJlaGF2aW9yKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBFbmNvdW50ZXJMb2NhdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRW5jb3VudGVyU3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBFbmRwb2ludFN0YXR1cyk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRW5yb2xsbWVudFJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEVucm9sbG1lbnRSZXNwb25zZVN0YXR1cyk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRXBpc29kZU9mQ2FyZVN0YXR1cyk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRXZlbnRDYXBhYmlsaXR5TW9kZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRXZlbnRUaW1pbmcpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEV2aWRlbmNlVmFyaWFibGVUeXBlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBFeGFtcGxlU2NlbmFyaW9BY3RvclR5cGUpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEV4cGxhbmF0aW9uT2ZCZW5lZml0U3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBFeHBvc3VyZVN0YXRlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBFeHRlbnNpb25Db250ZXh0VHlwZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUkFsbFR5cGVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSRGVmaW5lZFR5cGUpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVJEZXZpY2VTdGF0dXMpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVJSZXNvdXJjZVR5cGUpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVJTdWJzdGFuY2VTdGF0dXMpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVJWZXJzaW9uKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGYW1pbHlIaXN0b3J5U3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGaWx0ZXJPcGVyYXRvcik6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRmxhZ1N0YXR1cyk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgR29hbExpZmVjeWNsZVN0YXR1cyk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgR3JhcGhDb21wYXJ0bWVudFJ1bGUpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEdyYXBoQ29tcGFydG1lbnRVc2UpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEdyb3VwTWVhc3VyZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgR3JvdXBUeXBlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBHdWlkYW5jZVJlc3BvbnNlU3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBHdWlkZVBhZ2VHZW5lcmF0aW9uKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBHdWlkZVBhcmFtZXRlckNvZGUpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEhUVFBWZXJiKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBJZGVudGlmaWVyVXNlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBJZGVudGl0eUFzc3VyYW5jZUxldmVsKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBJbWFnaW5nU3R1ZHlTdGF0dXMpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEltbXVuaXphdGlvbkV2YWx1YXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEltbXVuaXphdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgSW52b2ljZVByaWNlQ29tcG9uZW50VHlwZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgSW52b2ljZVN0YXR1cyk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgSXNzdWVTZXZlcml0eSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgSXNzdWVUeXBlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBMaW5rVHlwZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgTGlua2FnZVR5cGUpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIExpc3RNb2RlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBMaXN0U3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBMb2NhdGlvbk1vZGUpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIExvY2F0aW9uU3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBNZWFzdXJlUmVwb3J0U3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBNZWFzdXJlUmVwb3J0VHlwZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgTWVkaWFTdGF0dXMpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIE1lZGljYXRpb25BZG1pbmlzdHJhdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgTWVkaWNhdGlvbkRpc3BlbnNlU3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBNZWRpY2F0aW9uS25vd2xlZGdlU3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBNZWRpY2F0aW9uUmVxdWVzdEludGVudCk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgTWVkaWNhdGlvblJlcXVlc3RQcmlvcml0eSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgTWVkaWNhdGlvblJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIE1lZGljYXRpb25TdGF0ZW1lbnRTdGF0dXMpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIE1lZGljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIE1lc3NhZ2VTaWduaWZpY2FuY2VDYXRlZ29yeSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgTWVzc2FnZWhlYWRlcl9SZXNwb25zZV9SZXF1ZXN0KTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBNaW1lVHlwZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgTmFtZVVzZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgTmFtaW5nU3lzdGVtSWRlbnRpZmllclR5cGUpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIE5hbWluZ1N5c3RlbVR5cGUpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIE5hcnJhdGl2ZVN0YXR1cyk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgTm90ZVR5cGUpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIE51dHJpdGlpb25PcmRlckludGVudCk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgTnV0cml0aW9uT3JkZXJTdGF0dXMpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIE9ic2VydmF0aW9uRGF0YVR5cGUpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIE9ic2VydmF0aW9uUmFuZ2VDYXRlZ29yeSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgT2JzZXJ2YXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIE9wZXJhdGlvbktpbmQpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIE9wZXJhdGlvblBhcmFtZXRlclVzZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgT3JpZW50YXRpb25UeXBlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBQYXJhbWV0ZXJVc2UpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIFBhcnRpY2lwYW50UmVxdWlyZWQpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIFBhcnRpY2lwYW50U3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBQYXJ0aWNpcGF0aW9uU3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBQYXltZW50Tm90aWNlU3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBQYXltZW50UmVjb25jaWxpYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIFByb2NlZHVyZVN0YXR1cyk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgUHJvcGVydHlSZXByZXNlbnRhdGlvbik6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgUHJvcGVydHlUeXBlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBQcm92ZW5hbmNlRW50aXR5Um9sZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgUHVibGljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIFF1YWxpdHlUeXBlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBRdWFudGl0eUNvbXBhcmF0b3IpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIFF1ZXN0aW9ubmFpcmVJdGVtT3BlcmF0b3IpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIFF1ZXN0aW9ubmFpcmVJdGVtVHlwZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgUXVlc3Rpb25uYWlyZVJlc3BvbnNlU3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBSZWZlcmVuY2VIYW5kbGluZ1BvbGljeSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgUmVmZXJlbmNlVmVyc2lvblJ1bGVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBSZWZlcnJlZERvY3VtZW50U3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBSZWxhdGVkQXJ0aWZhY3RUeXBlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBSZW1pdHRhbmNlT3V0Y29tZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgUmVwb3NpdG9yeVR5cGUpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIFJlcXVlc3RJbnRlbnQpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIFJlcXVlc3RQcmlvcml0eSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgUmVxdWVzdFN0YXR1cyk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgUmVzZWFyY2hFbGVtZW50VHlwZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgUmVzZWFyY2hTdHVkeVN0YXR1cyk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgUmVzZWFyY2hTdWJqZWN0U3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBSZXNvdXJjZVR5cGUpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIFJlc291cmNlVmVyc2lvblBvbGljeSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgUmVzcG9uc2VUeXBlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBSZXN0ZnVsQ2FwYWJpbGl0eU1vZGUpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIFJpc2tBc3Nlc3NtZW50U3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBTUERYTGljZW5zZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgU2VhcmNoQ29tcGFyYXRvcik6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgU2VhcmNoRW50cnlNb2RlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBTZWFyY2hNb2RpZmllckNvZGUpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIFNlYXJjaFBhcmFtVHlwZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgU2VjdGlvbk1vZGUpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIFNlcXVlbmNlVHlwZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgU2VydmljZVJlcXVlc3RJbnRlbnQpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIFNlcnZpY2VSZXF1ZXN0UHJpb3JpdHkpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIFNlcnZpY2VSZXF1ZXN0U3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBTbGljaW5nUnVsZXMpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIFNsb3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIFNvcnREaXJlY3Rpb24pOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIFNwZWNpbWVuQ29udGFpbmVkUHJlZmVyZW5jZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgU3BlY2ltZW5TdGF0dXMpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIFN0YXR1cyk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgU3RyYW5kVHlwZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgU3RydWN0dXJlRGVmaW5pdGlvbktpbmQpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIFN0cnVjdHVyZU1hcENvbnRleHRUeXBlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBTdHJ1Y3R1cmVNYXBHcm91cFR5cGVNb2RlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBTdHJ1Y3R1cmVNYXBJbnB1dE1vZGUpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIFN0cnVjdHVyZU1hcE1vZGVsTW9kZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgU3RydWN0dXJlTWFwU291cmNlTGlzdE1vZGUpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIFN0cnVjdHVyZU1hcFRhcmdldExpc3RNb2RlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBTdHJ1Y3R1cmVNYXBUcmFuc2Zvcm0pOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIFN1YnNjcmlwdGlvbkNoYW5uZWxUeXBlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBTdWJzY3JpcHRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIFN1cHBseURlbGl2ZXJ5U3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBTdXBwbHlSZXF1ZXN0U3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBTeXN0ZW1SZXN0ZnVsSW50ZXJhY3Rpb24pOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIFRhc2tJbnRlbnQpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIFRhc2tQcmlvcml0eSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgVGFza1N0YXR1cyk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgVGVzdFJlcG9ydEFjdGlvblJlc3VsdCk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgVGVzdFJlcG9ydFBhcnRpY2lwYW50VHlwZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgVGVzdFJlcG9ydFJlc3VsdCk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgVGVzdFJlcG9ydFN0YXR1cyk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgVGVzdFNjcmlwdFJlcXVlc3RNZXRob2RDb2RlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBUcmlnZ2VyVHlwZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgVHlwZURlcml2YXRpb25SdWxlKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBUeXBlUmVzdGZ1bEludGVyYWN0aW9uKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBVRElFbnRyeVR5cGUpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIFVuaXRzT2ZUaW1lKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBVc2UpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIFZhcmlhYmxlVHlwZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgVmlzaW9uQmFzZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgVmlzaW9uRXllcyk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgVmlzaW9uU3RhdHVzKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBYUGF0aFVzYWdlVHlwZSk6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgYmFzZTY0QmluYXJ5KTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb0Jvb2xlYW4odmFsdWUgYm9vbGVhbik6IHZhbHVlLnZhbHVlDQpkZWZpbmUgZnVuY3Rpb24gVG9EYXRlKHZhbHVlIGRhdGUpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvRGF0ZVRpbWUodmFsdWUgZGF0ZVRpbWUpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvRGVjaW1hbCh2YWx1ZSBkZWNpbWFsKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb0RhdGVUaW1lKHZhbHVlIGluc3RhbnQpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvSW50ZWdlcih2YWx1ZSBpbnRlZ2VyKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBzdHJpbmcpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvVGltZSh2YWx1ZSB0aW1lKTogdmFsdWUudmFsdWUNCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSB1cmkpOiB2YWx1ZS52YWx1ZQ0KZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIHhodG1sKTogdmFsdWUudmFsdWUNCg=="^^xsd:base64Binary ] ] ) . # <urn:uuid:aa99c584-12e5-46bb-8b30-ab10cfe26471> a fhir:Library ; fhir:id [ fhir:v "FHIRCommon"] ; # fhir:language [ fhir:v "en"] ; # fhir:text [ fhir:status [ fhir:v "extensions" ] ; fhir:div [ fhir:v "<div xmlns=\"http://www.w3.org/1999/xhtml\"><a name=\"Library_FHIRCommon\"> </a><p><b style=\"color: maroon\">Exception generating Narrative: Unable to read attribute on <FHIR.dateTime> at line 597 column 56</b></p></div>"^^rdf:XMLLiteral ] ] ; # fhir:url [ fhir:v "http://fhir.org/guides/cqf/Library/FHIRCommon"^^xsd:anyURI] ; # fhir:version [ fhir:v "4.0.1"] ; # fhir:name [ fhir:v "FHIRCommon"] ; # fhir:title [ fhir:v "FHIRCommon"] ; # fhir:status [ fhir:v "draft"] ; # fhir:experimental [ fhir:v true] ; # fhir:type [ ( fhir:coding [ fhir:system [ fhir:v "http://terminology.hl7.org/CodeSystem/library-type"^^xsd:anyURI ] ; fhir:code [ fhir:v "logic-library" ] ; fhir:display [ fhir:v "Logic Library" ] ] ) ] ; # fhir:relatedArtifact ( [ fhir:type [ fhir:v "depends-on" ] ; fhir:display [ fhir:v "Code system LOINC" ] ; fhir:resource [ fhir:v "http://loinc.org"^^xsd:anyURI ; fhir:link <http://loinc.org> ] ] [ fhir:type [ fhir:v "depends-on" ] ; fhir:display [ fhir:v "Code system SNOMEDCT" ] ; fhir:resource [ fhir:v "http://snomed.info/sct"^^xsd:anyURI ; fhir:link <http://snomed.info/sct> ] ] [ fhir:type [ fhir:v "depends-on" ] ; fhir:display [ fhir:v "Code system RoleCode" ] ; fhir:resource [ fhir:v "http://terminology.hl7.org/CodeSystem/v3-RoleCode"^^xsd:anyURI ; fhir:link <http://terminology.hl7.org/CodeSystem/v3-RoleCode> ] ] [ fhir:type [ fhir:v "depends-on" ] ; fhir:display [ fhir:v "Code system Diagnosis Role" ] ; fhir:resource [ fhir:v "http://terminology.hl7.org/CodeSystem/diagnosis-role"^^xsd:anyURI ; fhir:link <http://terminology.hl7.org/CodeSystem/diagnosis-role> ] ] [ fhir:type [ fhir:v "depends-on" ] ; fhir:display [ fhir:v "Code system RequestIntent" ] ; fhir:resource [ fhir:v "http://hl7.org/fhir/request-intent"^^xsd:anyURI ; fhir:link <http://hl7.org/fhir/request-intent> ] ] [ fhir:type [ fhir:v "depends-on" ] ; fhir:display [ fhir:v "Code system MedicationRequestCategory" ] ; fhir:resource [ fhir:v "http://terminology.hl7.org/CodeSystem/medicationrequest-category"^^xsd:anyURI ; fhir:link <http://terminology.hl7.org/CodeSystem/medicationrequest-category> ] ] [ fhir:type [ fhir:v "depends-on" ] ; fhir:display [ fhir:v "Code system ConditionClinicalStatusCodes" ] ; fhir:resource [ fhir:v "http://terminology.hl7.org/CodeSystem/condition-clinical"^^xsd:anyURI ; fhir:link <http://terminology.hl7.org/CodeSystem/condition-clinical> ] ] [ fhir:type [ fhir:v "depends-on" ] ; fhir:display [ fhir:v "Code system ConditionVerificationStatusCodes" ] ; fhir:resource [ fhir:v "http://terminology.hl7.org/CodeSystem/condition-ver-status"^^xsd:anyURI ; fhir:link <http://terminology.hl7.org/CodeSystem/condition-ver-status> ] ] [ fhir:type [ fhir:v "depends-on" ] ; fhir:display [ fhir:v "Code system AllergyIntoleranceClinicalStatusCodes" ] ; fhir:resource [ fhir:v "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical"^^xsd:anyURI ; fhir:link <http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical> ] ] [ fhir:type [ fhir:v "depends-on" ] ; fhir:display [ fhir:v "Code system AllergyIntoleranceVerificationStatusCodes" ] ; fhir:resource [ fhir:v "http://terminology.hl7.org/CodeSystem/allergyintolerance-verification"^^xsd:anyURI ; fhir:link <http://terminology.hl7.org/CodeSystem/allergyintolerance-verification> ] ] ) ; # fhir:parameter ( [ fhir:name [ fhir:v "Patient" ] ; fhir:use [ fhir:v "out" ] ; fhir:min [ fhir:v 0 ] ; fhir:max [ fhir:v "1" ] ; fhir:type [ fhir:v "Patient" ] ] ) ; # fhir:dataRequirement ( [ fhir:type [ fhir:v "Patient" ] ; ( fhir:profile [ fhir:v "http://hl7.org/fhir/StructureDefinition/Patient"^^xsd:anyURI ; fhir:link <http://hl7.org/fhir/StructureDefinition/Patient> ] ) ] ) ; # fhir:content ( [ fhir:contentType [ fhir:v "text/cql" ] ; fhir:data [ fhir:v "LyoNCkBhdXRob3I6IEJyeW4gUmhvZGVzDQpAZGVzY3JpcHRpb246IENvbW1vbiB0ZXJtaW5vbG9naWVzIGFuZCBmdW5jdGlvbnMgdXNlZCBpbiBGSElSLWJhc2VkIENRTCBhcnRpZmFjdHMNCiovDQpsaWJyYXJ5IEZISVJDb21tb24gdmVyc2lvbiAnNC4wLjEnDQoNCnVzaW5nIEZISVIgdmVyc2lvbiAnNC4wLjEnDQoNCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnNC4wLjEnDQoNCmNvZGVzeXN0ZW0gIkxPSU5DIjogJ2h0dHA6Ly9sb2luYy5vcmcnDQpjb2Rlc3lzdGVtICJTTk9NRURDVCI6ICdodHRwOi8vc25vbWVkLmluZm8vc2N0Jw0KY29kZXN5c3RlbSAiUm9sZUNvZGUiOiAnaHR0cDovL3Rlcm1pbm9sb2d5LmhsNy5vcmcvQ29kZVN5c3RlbS92My1Sb2xlQ29kZScNCmNvZGVzeXN0ZW0gIkRpYWdub3NpcyBSb2xlIjogJ2h0dHA6Ly90ZXJtaW5vbG9neS5obDcub3JnL0NvZGVTeXN0ZW0vZGlhZ25vc2lzLXJvbGUnDQpjb2Rlc3lzdGVtICJSZXF1ZXN0SW50ZW50IjogJ2h0dHA6Ly90ZXJtaW5vbG9neS5obDcub3JnL0NvZGVTeXN0ZW0vcmVxdWVzdC1pbnRlbnQnDQpjb2Rlc3lzdGVtICJNZWRpY2F0aW9uUmVxdWVzdENhdGVnb3J5IjogJ2h0dHA6Ly90ZXJtaW5vbG9neS5obDcub3JnL0NvZGVTeXN0ZW0vbWVkaWNhdGlvbnJlcXVlc3QtY2F0ZWdvcnknDQpjb2Rlc3lzdGVtICJDb25kaXRpb25DbGluaWNhbFN0YXR1c0NvZGVzIjogJ2h0dHA6Ly90ZXJtaW5vbG9neS5obDcub3JnL0NvZGVTeXN0ZW0vY29uZGl0aW9uLWNsaW5pY2FsJw0KY29kZXN5c3RlbSAiQ29uZGl0aW9uVmVyaWZpY2F0aW9uU3RhdHVzQ29kZXMiOiAnaHR0cDovL3Rlcm1pbm9sb2d5LmhsNy5vcmcvQ29kZVN5c3RlbS9jb25kaXRpb24tdmVyLXN0YXR1cycNCmNvZGVzeXN0ZW0gIkFsbGVyZ3lJbnRvbGVyYW5jZUNsaW5pY2FsU3RhdHVzQ29kZXMiOiAnaHR0cDovL3Rlcm1pbm9sb2d5LmhsNy5vcmcvQ29kZVN5c3RlbS9hbGxlcmd5aW50b2xlcmFuY2UtY2xpbmljYWwnDQpjb2Rlc3lzdGVtICJBbGxlcmd5SW50b2xlcmFuY2VWZXJpZmljYXRpb25TdGF0dXNDb2RlcyI6ICdodHRwOi8vdGVybWlub2xvZ3kuaGw3Lm9yZy9Db2RlU3lzdGVtL2FsbGVyZ3lpbnRvbGVyYW5jZS12ZXJpZmljYXRpb24nDQoNCnZhbHVlc2V0ICJBY3RpdmUgQ29uZGl0aW9uIjogJ2h0dHA6Ly9maGlyLm9yZy9ndWlkZXMvY3FmL2NvbW1vbi9WYWx1ZVNldC9hY3RpdmUtY29uZGl0aW9uJw0KdmFsdWVzZXQgIkluYWN0aXZlIENvbmRpdGlvbiI6ICdodHRwOi8vZmhpci5vcmcvZ3VpZGVzL2NxZi9jb21tb24vVmFsdWVTZXQvaW5hY3RpdmUtY29uZGl0aW9uJw0KDQpjb2RlICJCaXJ0aGRhdGUiOiAnMjExMTItOCcgZnJvbSAiTE9JTkMiIGRpc3BsYXkgJ0JpcnRoIGRhdGUnDQpjb2RlICJEZWFkIjogJzQxOTA5OTAwOScgZnJvbSAiU05PTUVEQ1QiIGRpc3BsYXkgJ0RlYWQnDQpjb2RlICJFUiI6ICdFUicgZnJvbSAiUm9sZUNvZGUiIGRpc3BsYXkgJ0VtZXJnZW5jeSByb29tJw0KY29kZSAiSUNVIjogJ0lDVScgZnJvbSAiUm9sZUNvZGUiIGRpc3BsYXkgJ0ludGVuc2l2ZSBjYXJlIHVuaXQnDQpjb2RlICJCaWxsaW5nIjogJ2JpbGxpbmcnIGZyb20gIkRpYWdub3NpcyBSb2xlIiBkaXNwbGF5ICdCaWxsaW5nJw0KDQovLyBDb25kaXRpb24gQ2xpbmljYWwgU3RhdHVzIENvZGVzIC0gQ29uc2lkZXIgdmFsdWUgc2V0cyBmb3IgdGhlc2UNCmNvZGUgImFjdGl2ZSI6ICdhY3RpdmUnIGZyb20gIkNvbmRpdGlvbkNsaW5pY2FsU3RhdHVzQ29kZXMiDQpjb2RlICJyZWN1cnJlbmNlIjogJ3JlY3VycmVuY2UnIGZyb20gIkNvbmRpdGlvbkNsaW5pY2FsU3RhdHVzQ29kZXMiDQpjb2RlICJyZWxhcHNlIjogJ3JlbGFwc2UnIGZyb20gIkNvbmRpdGlvbkNsaW5pY2FsU3RhdHVzQ29kZXMiDQpjb2RlICJpbmFjdGl2ZSI6ICdpbmFjdGl2ZScgZnJvbSAiQ29uZGl0aW9uQ2xpbmljYWxTdGF0dXNDb2RlcyINCmNvZGUgInJlbWlzc2lvbiI6ICdyZW1pc3Npb24nIGZyb20gIkNvbmRpdGlvbkNsaW5pY2FsU3RhdHVzQ29kZXMiDQpjb2RlICJyZXNvbHZlZCI6ICdyZXNvbHZlZCcgZnJvbSAiQ29uZGl0aW9uQ2xpbmljYWxTdGF0dXNDb2RlcyINCg0KLy8gQ29uZGl0aW9uIFZlcmlmaWNhdGlvbiBTdGF0dXMgQ29kZXMgLSBDb25zaWRlciB2YWx1ZSBzZXRzIGZvciB0aGVzZQ0KY29kZSAidW5jb25maXJtZWQiOiAndW5jb25maXJtZWQnIGZyb20gQ29uZGl0aW9uVmVyaWZpY2F0aW9uU3RhdHVzQ29kZXMNCmNvZGUgInByb3Zpc2lvbmFsIjogJ3Byb3Zpc2lvbmFsJyBmcm9tIENvbmRpdGlvblZlcmlmaWNhdGlvblN0YXR1c0NvZGVzDQpjb2RlICJkaWZmZXJlbnRpYWwiOiAnZGlmZmVyZW50aWFsJyBmcm9tIENvbmRpdGlvblZlcmlmaWNhdGlvblN0YXR1c0NvZGVzDQpjb2RlICJjb25maXJtZWQiOiAnY29uZmlybWVkJyBmcm9tIENvbmRpdGlvblZlcmlmaWNhdGlvblN0YXR1c0NvZGVzDQpjb2RlICJyZWZ1dGVkIjogJ3JlZnV0ZWQnIGZyb20gQ29uZGl0aW9uVmVyaWZpY2F0aW9uU3RhdHVzQ29kZXMNCmNvZGUgImVudGVyZWQtaW4tZXJyb3IiOiAnZW50ZXJlZC1pbi1lcnJvcicgZnJvbSBDb25kaXRpb25WZXJpZmljYXRpb25TdGF0dXNDb2Rlcw0KDQpjb2RlICJhbGxlcmd5LWFjdGl2ZSI6ICdhY3RpdmUnIGZyb20gIkFsbGVyZ3lJbnRvbGVyYW5jZUNsaW5pY2FsU3RhdHVzQ29kZXMiDQpjb2RlICJhbGxlcmd5LWluYWN0aXZlIjogJ2luYWN0aXZlJyBmcm9tICJBbGxlcmd5SW50b2xlcmFuY2VDbGluaWNhbFN0YXR1c0NvZGVzIg0KY29kZSAiYWxsZXJneS1yZXNvbHZlZCI6ICdyZXNvbHZlZCcgZnJvbSAiQWxsZXJneUludG9sZXJhbmNlQ2xpbmljYWxTdGF0dXNDb2RlcyINCg0KLy8gQWxsZXJneS9JbnRvbGVyYW5jZSBWZXJpZmljYXRpb24gU3RhdHVzIENvZGVzIC0gQ29uc2lkZXIgdmFsdWUgc2V0cyBmb3IgdGhlc2UNCmNvZGUgImFsbGVyZ3ktdW5jb25maXJtZWQiOiAndW5jb25maXJtZWQnIGZyb20gQWxsZXJneUludG9sZXJhbmNlVmVyaWZpY2F0aW9uU3RhdHVzQ29kZXMNCmNvZGUgImFsbGVyZ3ktY29uZmlybWVkIjogJ2NvbmZpcm1lZCcgZnJvbSBBbGxlcmd5SW50b2xlcmFuY2VWZXJpZmljYXRpb25TdGF0dXNDb2Rlcw0KY29kZSAiYWxsZXJneS1yZWZ1dGVkIjogJ3JlZnV0ZWQnIGZyb20gQWxsZXJneUludG9sZXJhbmNlVmVyaWZpY2F0aW9uU3RhdHVzQ29kZXMNCg0KLy8gTWVkaWNhdGlvblJlcXVlc3QgQ2F0ZWdvcnkgQ29kZXMNCmNvZGUgIkNvbW11bml0eSI6ICdjb21tdW5pdHknIGZyb20gIk1lZGljYXRpb25SZXF1ZXN0Q2F0ZWdvcnkiIGRpc3BsYXkgJ0NvbW11bml0eScNCmNvZGUgIkRpc2NoYXJnZSI6ICdkaXNjaGFyZ2UnIGZyb20gIk1lZGljYXRpb25SZXF1ZXN0Q2F0ZWdvcnkiIGRpc3BsYXkgJ0Rpc2NoYXJnZScNCg0KLy8gRGlhZ25vc2lzIFJvbGUgQ29kZXMNCmNvZGUgIkFEIjogJ0FEJyBmcm9tICJEaWFnbm9zaXMgUm9sZSIgZGlzcGxheSAnQWRtaXNzaW9uIGRpYWdub3NpcycNCmNvZGUgIkREIjogJ0REJyBmcm9tICJEaWFnbm9zaXMgUm9sZSIgZGlzcGxheSAnRGlzY2hhcmdlIGRpYWdub3NpcycNCmNvZGUgIkNDIjogJ0NDJyBmcm9tICJEaWFnbm9zaXMgUm9sZSIgZGlzcGxheSAnQ2hpZWYgY29tcGxhaW50Jw0KY29kZSAiQ00iOiAnQ00nIGZyb20gIkRpYWdub3NpcyBSb2xlIiBkaXNwbGF5ICdDb21vcmJpZGl0eSBkaWFnbm9zaXMnDQpjb2RlICJwcmUtb3AiOiAncHJlLW9wJyBmcm9tICJEaWFnbm9zaXMgUm9sZSIgZGlzcGxheSAncHJlLW9wIGRpYWdub3NpcycNCmNvZGUgInBvc3Qtb3AiOiAncG9zdC1vcCcgZnJvbSAiRGlhZ25vc2lzIFJvbGUiIGRpc3BsYXkgJ3Bvc3Qtb3AgZGlhZ25vc2lzJw0KY29kZSAiYmlsbGluZyI6ICdiaWxsaW5nJyBmcm9tICJEaWFnbm9zaXMgUm9sZSIgZGlzcGxheSAnYmlsbGluZyBkaWFnbm9zaXMnDQoNCmNvbnRleHQgUGF0aWVudA0KDQovKg0KQGRlc2NyaXB0aW9uOiBOb3JtYWxpemVzIGEgdmFsdWUgdGhhdCBpcyBhIGNob2ljZSBvZiB0aW1pbmctdmFsdWVkIHR5cGVzIHRvIGFuIGVxdWl2YWxlbnQgaW50ZXJ2YWwNCkBjb21tZW50OiBOb3JtYWxpemVzIGEgY2hvaWNlIHR5cGUgb2YgRkhJUi5kYXRlVGltZSwgRkhJUi5QZXJpb2QsIEZISVIuVGltaW5nLCBGSElSLmluc3RhbmNlLCBGSElSLnN0cmluZywgRkhJUi5BZ2UsIG9yIEZISVIuUmFuZ2UgdHlwZXMNCnRvIGFuIGVxdWl2YWxlbnQgaW50ZXJ2YWwuIFRoaXMgc2VsZWN0aW9uIG9mIGNob2ljZSB0eXBlcyBpcyBhIHN1cGVyc2V0IG9mIHRoZSBtYWpvcml0eSBvZiBjaG9pY2UgdHlwZXMgdGhhdCBhcmUgdXNlZCBhcyBwb3NzaWJsZQ0KcmVwcmVzZW50YXRpb25zIGZvciB0aW1pbmctdmFsdWVkIGVsZW1lbnRzIGluIEZISVIsIGFsbG93aW5nIHRoaXMgZnVuY3Rpb24gdG8gYmUgdXNlZCBhY3Jvc3MgYW55IHJlc291cmNlLiBOT1RFOiBEdWUgdG8gdGhlDQpjb21wbGV4aXR5IG9mIGRldGVybWluaW5nIGEgc2luZ2xlIGludGVydmFsIGZyb20gYSBUaW1pbmcgb3IgU3RyaW5nIHR5cGUsIHRoaXMgZnVuY3Rpb24gd2lsbCB0aHJvdyBhIHJ1bi10aW1lIGV4Y2VwdGlvbiBpZiBpdCBpcyB1c2VkDQp3aXRoIGEgVGltaW5nIG9yIFN0cmluZy4NCiovDQpkZWZpbmUgZnVuY3Rpb24gVG9JbnRlcnZhbChjaG9pY2UgQ2hvaWNlPEZISVIuZGF0ZVRpbWUsIEZISVIuUGVyaW9kLCBGSElSLlRpbWluZywgRkhJUi5pbnN0YW50LCBGSElSLnN0cmluZywgRkhJUi5BZ2UsIEZISVIuUmFuZ2U+KToNCiAgY2FzZQ0KCSAgd2hlbiBjaG9pY2UgaXMgRkhJUi5kYXRlVGltZSB0aGVuDQogICAgCUludGVydmFsW0ZISVJIZWxwZXJzLlRvRGF0ZVRpbWUoY2hvaWNlIGFzIEZISVIuZGF0ZVRpbWUpLCBGSElSSGVscGVycy5Ub0RhdGVUaW1lKGNob2ljZSBhcyBGSElSLmRhdGVUaW1lKV0NCgkJd2hlbiBjaG9pY2UgaXMgRkhJUi5QZXJpb2QgdGhlbg0KICAJCUZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoY2hvaWNlIGFzIEZISVIuUGVyaW9kKQ0KCQl3aGVuIGNob2ljZSBpcyBGSElSLmluc3RhbnQgdGhlbg0KCQkJSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlVGltZShjaG9pY2UgYXMgRkhJUi5pbnN0YW50KSwgRkhJUkhlbHBlcnMuVG9EYXRlVGltZShjaG9pY2UgYXMgRkhJUi5pbnN0YW50KV0NCgkJd2hlbiBjaG9pY2UgaXMgRkhJUi5BZ2UgdGhlbg0KCQkgIEludGVydmFsW0ZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSkgKyBGSElSSGVscGVycy5Ub1F1YW50aXR5KGNob2ljZSBhcyBGSElSLkFnZSksDQoJCQkgIEZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSkgKyBGSElSSGVscGVycy5Ub1F1YW50aXR5KGNob2ljZSBhcyBGSElSLkFnZSkgKyAxIHllYXIpDQoJCXdoZW4gY2hvaWNlIGlzIEZISVIuUmFuZ2UgdGhlbg0KCQkgIEludGVydmFsW0ZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSkgKyBGSElSSGVscGVycy5Ub1F1YW50aXR5KChjaG9pY2UgYXMgRkhJUi5SYW5nZSkubG93KSwNCgkJCSAgRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSArIEZISVJIZWxwZXJzLlRvUXVhbnRpdHkoKGNob2ljZSBhcyBGSElSLlJhbmdlKS5oaWdoKSArIDEgeWVhcikNCgkJd2hlbiBjaG9pY2UgaXMgRkhJUi5UaW1pbmcgdGhlbg0KCQkgIE1lc3NhZ2UobnVsbCBhcyBJbnRlcnZhbDxEYXRlVGltZT4sIHRydWUsICcxJywgJ0Vycm9yJywgJ0Nhbm5vdCBjb21wdXRlIGEgc2luZ2xlIGludGVydmFsIGZyb20gYSBUaW1pbmcgdHlwZScpDQogICAgd2hlbiBjaG9pY2UgaXMgRkhJUi5zdHJpbmcgdGhlbg0KICAgICAgTWVzc2FnZShudWxsIGFzIEludGVydmFsPERhdGVUaW1lPiwgdHJ1ZSwgJzEnLCAnRXJyb3InLCAnQ2Fubm90IGNvbXB1dGUgYW4gaW50ZXJ2YWwgZnJvbSBhIFN0cmluZyB2YWx1ZScpDQoJCWVsc2UNCgkJCW51bGwgYXMgSW50ZXJ2YWw8RGF0ZVRpbWU+DQoJZW5kDQoNCi8qDQpAZGVzY3JpcHRpb246IFJldHVybnMgYW4gaW50ZXJ2YWwgcmVwcmVzZW50aW5nIHRoZSBub3JtYWxpemVkIEFiYXRlbWVudCBvZiBhIGdpdmVuIENvbmRpdGlvbiByZXNvdXJjZS4NCkBjb21tZW50OiBOT1RFOiBEdWUgdG8gdGhlIGNvbXBsZXhpdHkgb2YgZGV0ZXJtaW5pbmcgYW4gaW50ZXJ2YWwgZnJvbSBhIFN0cmluZywgdGhpcyBmdW5jdGlvbiB3aWxsIHRocm93DQphIHJ1bi10aW1lIGV4Y2VwdGlvbiBpZiB1c2VkIHdpdGggYSBDb25kaXRpb24gaW5zdGFuY2UgdGhhdCBoYXMgYSBTdHJpbmcgYXMgdGhlIGFiYXRlbWVudCB2YWx1ZS4NCiovDQpkZWZpbmUgZnVuY3Rpb24gVG9BYmF0ZW1lbnRJbnRlcnZhbChjb25kaXRpb24gQ29uZGl0aW9uKToNCglpZiBjb25kaXRpb24uYWJhdGVtZW50IGlzIEZISVIuZGF0ZVRpbWUgdGhlbg0KCSAgSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlVGltZShjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuZGF0ZVRpbWUpLCBGSElSSGVscGVycy5Ub0RhdGVUaW1lKGNvbmRpdGlvbi5hYmF0ZW1lbnQgYXMgRkhJUi5kYXRlVGltZSldDQoJZWxzZSBpZiBjb25kaXRpb24uYWJhdGVtZW50IGlzIEZISVIuUGVyaW9kIHRoZW4NCgkgIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoY29uZGl0aW9uLmFiYXRlbWVudCBhcyBGSElSLlBlcmlvZCkNCgllbHNlIGlmIGNvbmRpdGlvbi5hYmF0ZW1lbnQgaXMgRkhJUi5zdHJpbmcgdGhlbg0KICAgIE1lc3NhZ2UobnVsbCBhcyBJbnRlcnZhbDxEYXRlVGltZT4sIHRydWUsICcxJywgJ0Vycm9yJywgJ0Nhbm5vdCBjb21wdXRlIGFuIGludGVydmFsIGZyb20gYSBTdHJpbmcgdmFsdWUnKQ0KCWVsc2UgaWYgY29uZGl0aW9uLmFiYXRlbWVudCBpcyBGSElSLkFnZSB0aGVuDQoJCUludGVydmFsW0ZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSkgKyBGSElSSGVscGVycy5Ub1F1YW50aXR5KGNvbmRpdGlvbi5hYmF0ZW1lbnQgYXMgRkhJUi5BZ2UpLA0KCQkJRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSArIEZISVJIZWxwZXJzLlRvUXVhbnRpdHkoY29uZGl0aW9uLmFiYXRlbWVudCBhcyBGSElSLkFnZSkgKyAxIHllYXIpDQoJZWxzZSBpZiBjb25kaXRpb24uYWJhdGVtZW50IGlzIEZISVIuUmFuZ2UgdGhlbg0KCSAgSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSArIEZISVJIZWxwZXJzLlRvUXVhbnRpdHkoKGNvbmRpdGlvbi5hYmF0ZW1lbnQgYXMgRkhJUi5SYW5nZSkubG93KSwNCgkJICBGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpICsgRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgoY29uZGl0aW9uLmFiYXRlbWVudCBhcyBGSElSLlJhbmdlKS5oaWdoKSArIDEgeWVhcikNCgllbHNlIGlmIGNvbmRpdGlvbi5hYmF0ZW1lbnQgaXMgRkhJUi5ib29sZWFuIHRoZW4NCgkgIEludGVydmFsW2VuZCBvZiBUb0ludGVydmFsKGNvbmRpdGlvbi5vbnNldCksIGNvbmRpdGlvbi5yZWNvcmRlZERhdGUpDQoJZWxzZSBudWxsDQoNCi8qDQpAZGVzY3JpcHRpb246IFJldHVybnMgYW4gaW50ZXJ2YWwgcmVwcmVzZW50aW5nIHRoZSBub3JtYWxpemVkIHByZXZhbGVuY2UgcGVyaW9kIG9mIGEgZ2l2ZW4gQ29uZGl0aW9uIHJlc291cmNlLg0KQGNvbW1lbnQ6IFVzZXMgdGhlIFRvSW50ZXJ2YWwgYW5kIFRvQWJhdGVtZW50SW50ZXJ2YWwgZnVuY3Rpb25zIHRvIGRldGVybWluZSB0aGUgd2lkZXN0IHBvdGVudGlhbCBpbnRlcnZhbCBmcm9tDQpvbnNldCB0byBhYmF0ZW1lbnQgYXMgc3BlY2lmaWVkIGluIHRoZSBnaXZlbiBDb25kaXRpb24uDQoqLw0KZGVmaW5lIGZ1bmN0aW9uIFRvUHJldmFsZW5jZUludGVydmFsKGNvbmRpdGlvbiBDb25kaXRpb24pOg0KaWYgY29uZGl0aW9uLmNsaW5pY2FsU3RhdHVzIH4gImFjdGl2ZSINCiAgb3IgY29uZGl0aW9uLmNsaW5pY2FsU3RhdHVzIH4gInJlY3VycmVuY2UiDQogIG9yIGNvbmRpdGlvbi5jbGluaWNhbFN0YXR1cyB+ICJyZWxhcHNlIiB0aGVuDQogIEludGVydmFsW3N0YXJ0IG9mIFRvSW50ZXJ2YWwoY29uZGl0aW9uLm9uc2V0KSwgZW5kIG9mIFRvQWJhdGVtZW50SW50ZXJ2YWwoY29uZGl0aW9uKV0NCmVsc2UNCiAgSW50ZXJ2YWxbc3RhcnQgb2YgVG9JbnRlcnZhbChjb25kaXRpb24ub25zZXQpLCBlbmQgb2YgVG9BYmF0ZW1lbnRJbnRlcnZhbChjb25kaXRpb24pKQ0KDQovKg0KQGRlc2NyaXB0aW9uOiBSZXR1cm5zIGFueSBleHRlbnNpb25zIGRlZmluZWQgb24gdGhlIGdpdmVuIHJlc291cmNlIHdpdGggdGhlIHNwZWNpZmllZCB1cmwuDQpAY29tbWVudDogTk9URTogRXh0ZW5zaW9ucyBhcmUgbm90IHRoZSBwcmVmZXJyZWQgYXBwcm9hY2gsIGJ1dCBhcmUgdXNlZCBhcyBhIHdheSB0byBhY2Nlc3MNCmNvbnRlbnQgdGhhdCBpcyBkZWZpbmVkIGJ5IGV4dGVuc2lvbnMgYnV0IG5vdCB5ZXQgc3VyZmFjZWQgaW4gdGhlDQpDUUwgbW9kZWwgaW5mby4NCiovDQpkZWZpbmUgZnVuY3Rpb24gRXh0ZW5zaW9ucyhkb21haW5SZXNvdXJjZSBEb21haW5SZXNvdXJjZSwgdXJsIFN0cmluZyk6DQogIGRvbWFpblJlc291cmNlLmV4dGVuc2lvbiBFDQoJICB3aGVyZSBFLnVybCA9IHVybA0KCQlyZXR1cm4gRQ0KDQovKg0KQGRlc2NyaXB0aW9uOiBSZXR1cm5zIHRoZSBzaW5nbGUgZXh0ZW5zaW9uIChpZiBwcmVzZW50KSBvbiB0aGUgZ2l2ZW4gcmVzb3VyY2Ugd2l0aCB0aGUgc3BlY2lmaWVkIHVybC4NCkBjb21tZW50OiBUaGlzIGZ1bmN0aW9uIHVzZXMgc2luZ2xldG9uIGZyb20gdG8gZW5zdXJlIHRoYXQgYSBydW4tdGltZSBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZXJlDQppcyBtb3JlIHRoYW4gb25lIGV4dGVuc2lvbiBvbiB0aGUgZ2l2ZW4gcmVzb3VyY2Ugd2l0aCB0aGUgc3BlY2lmaWVkIHVybC4NCiovDQpkZWZpbmUgZnVuY3Rpb24gRXh0ZW5zaW9uKGRvbWFpblJlc291cmNlIERvbWFpblJlc291cmNlLCB1cmwgU3RyaW5nKToNCiAgc2luZ2xldG9uIGZyb20gIkV4dGVuc2lvbnMiKGRvbWFpblJlc291cmNlLCB1cmwpDQoNCi8qDQpAZGVzY3JpcHRpb246IFJldHVybnMgYW55IGV4dGVuc2lvbnMgZGVmaW5lZCBvbiB0aGUgZ2l2ZW4gZWxlbWVudCB3aXRoIHRoZSBzcGVjaWZpZWQgdXJsLg0KQGNvbW1lbnQ6IE5PVEU6IEV4dGVuc2lvbnMgYXJlIG5vdCB0aGUgcHJlZmVycmVkIGFwcHJvYWNoLCBidXQgYXJlIHVzZWQgYXMgYSB3YXkgdG8gYWNjZXNzDQpjb250ZW50IHRoYXQgaXMgZGVmaW5lZCBieSBleHRlbnNpb25zIGJ1dCBub3QgeWV0IHN1cmZhY2VkIGluIHRoZSBDUUwgbW9kZWwgaW5mby4NCiovDQpkZWZpbmUgZnVuY3Rpb24gRXh0ZW5zaW9ucyhlbGVtZW50IEVsZW1lbnQsIHVybCBTdHJpbmcpOg0KICBlbGVtZW50LmV4dGVuc2lvbiBFDQoJICB3aGVyZSBFLnVybCA9IHVybA0KCQlyZXR1cm4gRQ0KDQovKg0KQGRlc2NyaXB0aW9uOiBSZXR1cm5zIHRoZSBzaW5nbGUgZXh0ZW5zaW9uIChpZiBwcmVzZW50KSBvbiB0aGUgZ2l2ZW4gZWxlbWVudCB3aXRoIHRoZSBzcGVjaWZpZWQgdXJsLg0KQGNvbW1lbnQ6IFRoaXMgZnVuY3Rpb24gdXNlcyBzaW5nbGV0b24gZnJvbSB0byBlbnN1cmUgdGhhdCBhIHJ1bi10aW1lIGV4Y2VwdGlvbiBpcyB0aHJvd24gaWYgdGhlcmUNCmlzIG1vcmUgdGhhbiBvbmUgZXh0ZW5zaW9uIG9uIHRoZSBnaXZlbiByZXNvdXJjZSB3aXRoIHRoZSBzcGVjaWZpZWQgdXJsLg0KKi8NCmRlZmluZSBmdW5jdGlvbiBFeHRlbnNpb24oZWxlbWVudCBFbGVtZW50LCB1cmwgU3RyaW5nKToNCiAgc2luZ2xldG9uIGZyb20gRXh0ZW5zaW9ucyhlbGVtZW50LCB1cmwpDQoNCi8qDQpAZGVzY3JpcHRpb246IFJldHVybnMgYW55IG1vZGlmaWVyIGV4dGVuc2lvbnMgZGVmaW5lZCBvbiB0aGUgZ2l2ZW4gcmVzb3VyY2Ugd2l0aCB0aGUgc3BlY2lmaWVkIHVybC4NCkBjb21tZW50OiBOT1RFOiBFeHRlbnNpb25zIGFyZSBub3QgdGhlIHByZWZlcnJlZCBhcHByb2FjaCwgYnV0IGFyZSB1c2VkIGFzIGEgd2F5IHRvIGFjY2Vzcw0KY29udGVudCB0aGF0IGlzIGRlZmluZWQgYnkgZXh0ZW5zaW9ucyBidXQgbm90IHlldCBzdXJmYWNlZCBpbiB0aGUNCkNRTCBtb2RlbCBpbmZvLg0KKi8NCmRlZmluZSBmdW5jdGlvbiBNb2RpZmllckV4dGVuc2lvbnMoZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIHVybCBTdHJpbmcpOg0KICBkb21haW5SZXNvdXJjZS5tb2RpZmllckV4dGVuc2lvbiBFDQoJICB3aGVyZSBFLnVybCA9IHVybA0KCQlyZXR1cm4gRQ0KDQovKg0KQGRlc2NyaXB0aW9uOiBSZXR1cm5zIHRoZSBzaW5nbGUgbW9kaWZpZXIgZXh0ZW5zaW9uIChpZiBwcmVzZW50KSBvbiB0aGUgZ2l2ZW4gcmVzb3VyY2Ugd2l0aCB0aGUgc3BlY2lmaWVkIHVybC4NCkBjb21tZW50OiBUaGlzIGZ1bmN0aW9uIHVzZXMgc2luZ2xldG9uIGZyb20gdG8gZW5zdXJlIHRoYXQgYSBydW4tdGltZSBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZXJlDQppcyBtb3JlIHRoYW4gb25lIGV4dGVuc2lvbiBvbiB0aGUgZ2l2ZW4gcmVzb3VyY2Ugd2l0aCB0aGUgc3BlY2lmaWVkIHVybC4NCiovDQpkZWZpbmUgZnVuY3Rpb24gTW9kaWZpZXJFeHRlbnNpb24oZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIHVybCBTdHJpbmcpOg0KICBzaW5nbGV0b24gZnJvbSBNb2RpZmllckV4dGVuc2lvbnMoZG9tYWluUmVzb3VyY2UsIHVybCkNCg0KLyoNCkBkZXNjcmlwdGlvbjogUmV0dXJucyBhbnkgbW9kaWZpZXIgZXh0ZW5zaW9ucyBkZWZpbmVkIG9uIHRoZSBnaXZlbiBlbGVtZW50IHdpdGggdGhlIHNwZWNpZmllZCB1cmwuDQpAY29tbWVudDogTk9URTogRXh0ZW5zaW9ucyBhcmUgbm90IHRoZSBwcmVmZXJyZWQgYXBwcm9hY2gsIGJ1dCBhcmUgdXNlZCBhcyBhIHdheSB0byBhY2Nlc3MNCmNvbnRlbnQgdGhhdCBpcyBkZWZpbmVkIGJ5IGV4dGVuc2lvbnMgYnV0IG5vdCB5ZXQgc3VyZmFjZWQgaW4gdGhlIENRTCBtb2RlbCBpbmZvLg0KKi8NCmRlZmluZSBmdW5jdGlvbiBNb2RpZmllckV4dGVuc2lvbnMoZWxlbWVudCBCYWNrYm9uZUVsZW1lbnQsIHVybCBTdHJpbmcpOg0KICBlbGVtZW50Lm1vZGlmaWVyRXh0ZW5zaW9uIEUNCgkgIHdoZXJlIEUudXJsID0gdXJsDQoJCXJldHVybiBFDQoNCi8qDQpAZGVzY3JpcHRpb246IFJldHVybnMgdGhlIHNpbmdsZSBtb2RpZmllciBleHRlbnNpb24gKGlmIHByZXNlbnQpIG9uIHRoZSBnaXZlbiBlbGVtZW50IHdpdGggdGhlIHNwZWNpZmllZCB1cmwuDQpAY29tbWVudDogVGhpcyBmdW5jdGlvbiB1c2VzIHNpbmdsZXRvbiBmcm9tIHRvIGVuc3VyZSB0aGF0IGEgcnVuLXRpbWUgZXhjZXB0aW9uIGlzIHRocm93biBpZiB0aGVyZQ0KaXMgbW9yZSB0aGFuIG9uZSBleHRlbnNpb24gb24gdGhlIGdpdmVuIHJlc291cmNlIHdpdGggdGhlIHNwZWNpZmllZCB1cmwuDQoqLw0KZGVmaW5lIGZ1bmN0aW9uIE1vZGlmaWVyRXh0ZW5zaW9uKGVsZW1lbnQgQmFja2JvbmVFbGVtZW50LCB1cmwgU3RyaW5nKToNCiAgc2luZ2xldG9uIGZyb20gTW9kaWZpZXJFeHRlbnNpb25zKGVsZW1lbnQsIHVybCkNCg0KLyoNCkBkZXNjcmlwdGlvbjogUmV0dXJucyBhbnkgYmFzZS1GSElSIGV4dGVuc2lvbnMgZGVmaW5lZCBvbiB0aGUgZ2l2ZW4gcmVzb3VyY2Ugd2l0aCB0aGUgc3BlY2lmaWVkIGlkLg0KQGNvbW1lbnQ6IE5PVEU6IEV4dGVuc2lvbnMgYXJlIG5vdCB0aGUgcHJlZmVycmVkIGFwcHJvYWNoLCBidXQgYXJlIHVzZWQgYXMgYSB3YXkgdG8gYWNjZXNzDQpjb250ZW50IHRoYXQgaXMgZGVmaW5lZCBieSBleHRlbnNpb25zIGJ1dCBub3QgeWV0IHN1cmZhY2VkIGluIHRoZSBDUUwgbW9kZWwgaW5mby4NCiovDQpkZWZpbmUgZnVuY3Rpb24gQmFzZUV4dGVuc2lvbnMoZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIGlkIFN0cmluZyk6DQogIGRvbWFpblJlc291cmNlLmV4dGVuc2lvbiBFDQoJICB3aGVyZSBFLnVybCA9ICgnaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uLycgKyBpZCkNCgkJcmV0dXJuIEUNCg0KLyoNCkBkZXNjcmlwdGlvbjogUmV0dXJucyB0aGUgc2luZ2xlIGJhc2UtRkhJUiBleHRlbnNpb24gKGlmIHByZXNlbnQpIG9uIHRoZSBnaXZlbiByZXNvdXJjZSB3aXRoIHRoZSBzcGVjaWZpZWQgaWQuDQpAY29tbWVudDogVGhpcyBmdW5jdGlvbiB1c2VzIHNpbmdsZXRvbiBmcm9tIHRvIGVuc3VyZSB0aGF0IGEgcnVuLXRpbWUgZXhjZXB0aW9uIGlzIHRocm93biBpZiB0aGVyZQ0KaXMgbW9yZSB0aGFuIG9uZSBleHRlbnNpb24gb24gdGhlIGdpdmVuIHJlc291cmNlIHdpdGggdGhlIHNwZWNpZmllZCB1cmwuDQoqLw0KZGVmaW5lIGZ1bmN0aW9uIEJhc2VFeHRlbnNpb24oZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIGlkIFN0cmluZyk6DQogIHNpbmdsZXRvbiBmcm9tIEJhc2VFeHRlbnNpb25zKGRvbWFpblJlc291cmNlLCBpZCkNCg0KLyoNCkBkZXNjcmlwdGlvbjogUmV0dXJucyBhbnkgYmFzZS1GSElSIGV4dGVuc2lvbnMgZGVmaW5lZCBvbiB0aGUgZ2l2ZW4gZWxlbWVudCB3aXRoIHRoZSBzcGVjaWZpZWQgaWQuDQpAY29tbWVudDogTk9URTogRXh0ZW5zaW9ucyBhcmUgbm90IHRoZSBwcmVmZXJyZWQgYXBwcm9hY2gsIGJ1dCBhcmUgdXNlZCBhcyBhIHdheSB0byBhY2Nlc3MNCmNvbnRlbnQgdGhhdCBpcyBkZWZpbmVkIGJ5IGV4dGVuc2lvbnMgYnV0IG5vdCB5ZXQgc3VyZmFjZWQgaW4gdGhlIENRTCBtb2RlbCBpbmZvLg0KKi8NCmRlZmluZSBmdW5jdGlvbiBCYXNlRXh0ZW5zaW9ucyhlbGVtZW50IEVsZW1lbnQsIGlkIFN0cmluZyk6DQogIGVsZW1lbnQuZXh0ZW5zaW9uIEUNCgkgIHdoZXJlIEUudXJsID0gKCdodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vJyArIGlkKQ0KCQlyZXR1cm4gRQ0KDQovKg0KQGRlc2NyaXB0aW9uOiBSZXR1cm5zIHRoZSBzaW5nbGUgYmFzZS1GSElSIGV4dGVuc2lvbiAoaWYgcHJlc2VudCkgb24gdGhlIGdpdmVuIGVsZW1lbnQgd2l0aCB0aGUgc3BlY2lmaWVkIGlkLg0KQGNvbW1lbnQ6IFRoaXMgZnVuY3Rpb24gdXNlcyBzaW5nbGV0b24gZnJvbSB0byBlbnN1cmUgdGhhdCBhIHJ1bi10aW1lIGV4Y2VwdGlvbiBpcyB0aHJvd24gaWYgdGhlcmUNCmlzIG1vcmUgdGhhbiBvbmUgZXh0ZW5zaW9uIG9uIHRoZSBnaXZlbiByZXNvdXJjZSB3aXRoIHRoZSBzcGVjaWZpZWQgdXJsLg0KKi8NCmRlZmluZSBmdW5jdGlvbiBCYXNlRXh0ZW5zaW9uKGVsZW1lbnQgRWxlbWVudCwgaWQgU3RyaW5nKToNCiAgc2luZ2xldG9uIGZyb20gQmFzZUV4dGVuc2lvbnMoZWxlbWVudCwgaWQpDQoNCi8qDQpAZGVzY3JpcHRpb246IFJldHVybnMgYW55IGJhc2UtRkhJUiBtb2RpZmllciBleHRlbnNpb25zIGRlZmluZWQgb24gdGhlIGdpdmVuIHJlc291cmNlIHdpdGggdGhlIHNwZWNpZmllZCBpZC4NCkBjb21tZW50OiBOT1RFOiBFeHRlbnNpb25zIGFyZSBub3QgdGhlIHByZWZlcnJlZCBhcHByb2FjaCwgYnV0IGFyZSB1c2VkIGFzIGEgd2F5IHRvIGFjY2Vzcw0KY29udGVudCB0aGF0IGlzIGRlZmluZWQgYnkgZXh0ZW5zaW9ucyBidXQgbm90IHlldCBzdXJmYWNlZCBpbiB0aGUgQ1FMIG1vZGVsIGluZm8uDQoqLw0KZGVmaW5lIGZ1bmN0aW9uIEJhc2VNb2RpZmllckV4dGVuc2lvbnMoZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIGlkIFN0cmluZyk6DQogIGRvbWFpblJlc291cmNlLm1vZGlmaWVyRXh0ZW5zaW9uIEUNCgkgIHdoZXJlIEUudXJsID0gKCdodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vJyArIGlkKQ0KCQlyZXR1cm4gRQ0KDQovKg0KQGRlc2NyaXB0aW9uOiBSZXR1cm5zIHRoZSBzaW5nbGUgYmFzZS1GSElSIG1vZGlmaWVyIGV4dGVuc2lvbiAoaWYgcHJlc2VudCkgb24gdGhlIGdpdmVuIHJlc291cmNlIHdpdGggdGhlIHNwZWNpZmllZCBpZC4NCkBjb21tZW50OiBUaGlzIGZ1bmN0aW9uIHVzZXMgc2luZ2xldG9uIGZyb20gdG8gZW5zdXJlIHRoYXQgYSBydW4tdGltZSBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZXJlDQppcyBtb3JlIHRoYW4gb25lIGV4dGVuc2lvbiBvbiB0aGUgZ2l2ZW4gcmVzb3VyY2Ugd2l0aCB0aGUgc3BlY2lmaWVkIHVybC4NCiovDQpkZWZpbmUgZnVuY3Rpb24gQmFzZU1vZGlmaWVyRXh0ZW5zaW9uKGRvbWFpblJlc291cmNlIERvbWFpblJlc291cmNlLCBpZCBTdHJpbmcpOg0KICBzaW5nbGV0b24gZnJvbSBCYXNlTW9kaWZpZXJFeHRlbnNpb25zKGRvbWFpblJlc291cmNlLCBpZCkNCg0KLyoNCkBkZXNjcmlwdGlvbjogUmV0dXJucyBhbnkgYmFzZS1GSElSIG1vZGlmaWVyIGV4dGVuc2lvbnMgZGVmaW5lZCBvbiB0aGUgZ2l2ZW4gZWxlbWVudCB3aXRoIHRoZSBzcGVjaWZpZWQgaWQuDQpAY29tbWVudDogTk9URTogRXh0ZW5zaW9ucyBhcmUgbm90IHRoZSBwcmVmZXJyZWQgYXBwcm9hY2gsIGJ1dCBhcmUgdXNlZCBhcyBhIHdheSB0byBhY2Nlc3MNCmNvbnRlbnQgdGhhdCBpcyBkZWZpbmVkIGJ5IGV4dGVuc2lvbnMgYnV0IG5vdCB5ZXQgc3VyZmFjZWQgaW4gdGhlIENRTCBtb2RlbCBpbmZvLg0KKi8NCmRlZmluZSBmdW5jdGlvbiBCYXNlTW9kaWZpZXJFeHRlbnNpb25zKGVsZW1lbnQgQmFja2JvbmVFbGVtZW50LCBpZCBTdHJpbmcpOg0KICBlbGVtZW50Lm1vZGlmaWVyRXh0ZW5zaW9uIEUNCgkgIHdoZXJlIEUudXJsID0gKCdodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vJyArIGlkKQ0KCQlyZXR1cm4gRQ0KDQovKg0KQGRlc2NyaXB0aW9uOiBSZXR1cm5zIHRoZSBzaW5nbGUgYmFzZS1GSElSIGV4dGVuc2lvbiAoaWYgcHJlc2VudCkgb24gdGhlIGdpdmVuIGVsZW1lbnQgd2l0aCB0aGUgc3BlY2lmaWVkIGlkLg0KQGNvbW1lbnQ6IFRoaXMgZnVuY3Rpb24gdXNlcyBzaW5nbGV0b24gZnJvbSB0byBlbnN1cmUgdGhhdCBhIHJ1bi10aW1lIGV4Y2VwdGlvbiBpcyB0aHJvd24gaWYgdGhlcmUNCmlzIG1vcmUgdGhhbiBvbmUgZXh0ZW5zaW9uIG9uIHRoZSBnaXZlbiByZXNvdXJjZSB3aXRoIHRoZSBzcGVjaWZpZWQgdXJsLg0KKi8NCmRlZmluZSBmdW5jdGlvbiBCYXNlTW9kaWZpZXJFeHRlbnNpb24oZWxlbWVudCBCYWNrYm9uZUVsZW1lbnQsIGlkIFN0cmluZyk6DQogIHNpbmdsZXRvbiBmcm9tIEJhc2VNb2RpZmllckV4dGVuc2lvbnMoZWxlbWVudCwgaWQpDQo="^^xsd:base64Binary ] ] ) . # <urn:uuid:b3463968-f67d-42ef-8494-cd4ea42e87b9> a fhir:Library ; fhir:id [ fhir:v "MATGlobalCommonFunctionsFHIR4"] ; # fhir:language [ fhir:v "en"] ; # fhir:text [ fhir:status [ fhir:v "extensions" ] ; fhir:div [ fhir:v "<div xmlns=\"http://www.w3.org/1999/xhtml\"><a name=\"Library_MATGlobalCommonFunctionsFHIR4\"> </a><p><b style=\"color: maroon\">Exception generating Narrative: Unable to Parse HTML - node 'DateTime' has unexpected content '=' (last text = '#xD;\n default Interval[@2019-01-01T00:00:00.0, @2020-01-01T00:00:00.0)#xD;\n#xD;\ncontext Patient#xD;\n#xD;\ndefine \"Inpatient Encounter\":#xD;\n [Encounter: \"Encounter Inpatient\"] EncounterInpatient#xD;\n where EncounterInpatient.status = 'finished'#xD;\n and \"LengthInDays\"(EncounterInpatient.period) ' at line 848 column 61</b></p></div>"^^rdf:XMLLiteral ] ] ; # fhir:url [ fhir:v "http://fhir.org/guides/cqf/Library/MATGlobalCommonFunctionsFHIR4"^^xsd:anyURI] ; # fhir:version [ fhir:v "6.1.000"] ; # fhir:name [ fhir:v "MATGlobalCommonFunctionsFHIR4"] ; # fhir:title [ fhir:v "MAT Global Common Functions FHIRR4"] ; # fhir:status [ fhir:v "draft"] ; # fhir:experimental [ fhir:v true] ; # fhir:type [ ( fhir:coding [ fhir:system [ fhir:v "http://terminology.hl7.org/CodeSystem/library-type"^^xsd:anyURI ] ; fhir:code [ fhir:v "logic-library" ] ; fhir:display [ fhir:v "Logic Library" ] ] ) ] ; # fhir:relatedArtifact ( [ fhir:type [ fhir:v "depends-on" ] ; fhir:display [ fhir:v "Code system ConditionClinicalStatusCodes" ] ; fhir:resource [ fhir:v "http://terminology.hl7.org/CodeSystem/condition-clinical"^^xsd:anyURI ; fhir:link <http://terminology.hl7.org/CodeSystem/condition-clinical> ] ] [ fhir:type [ fhir:v "depends-on" ] ; fhir:display [ fhir:v "Code system AllergyIntoleranceClinicalStatusCodes" ] ; fhir:resource [ fhir:v "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical"^^xsd:anyURI ; fhir:link <http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical> ] ] [ fhir:type [ fhir:v "depends-on" ] ; fhir:display [ fhir:v "Code system AllergyIntoleranceVerificationStatusCodes" ] ; fhir:resource [ fhir:v "http://terminology.hl7.org/CodeSystem/allergyintolerance-verification"^^xsd:anyURI ; fhir:link <http://terminology.hl7.org/CodeSystem/allergyintolerance-verification> ] ] [ fhir:type [ fhir:v "depends-on" ] ; fhir:display [ fhir:v "Code system Diagnosis Role" ] ; fhir:resource [ fhir:v "http://terminology.hl7.org/CodeSystem/diagnosis-role"^^xsd:anyURI ; fhir:link <http://terminology.hl7.org/CodeSystem/diagnosis-role> ] ] [ fhir:type [ fhir:v "depends-on" ] ; fhir:display [ fhir:v "Code system LOINC" ] ; fhir:resource [ fhir:v "http://loinc.org"^^xsd:anyURI ; fhir:link <http://loinc.org> ] ] [ fhir:type [ fhir:v "depends-on" ] ; fhir:display [ fhir:v "Code system MedicationRequestCategory" ] ; fhir:resource [ fhir:v "http://terminology.hl7.org/CodeSystem/medicationrequest-category"^^xsd:anyURI ; fhir:link <http://terminology.hl7.org/CodeSystem/medicationrequest-category> ] ] [ fhir:type [ fhir:v "depends-on" ] ; fhir:display [ fhir:v "Code system ConditionVerificationStatusCodes" ] ; fhir:resource [ fhir:v "http://terminology.hl7.org/CodeSystem/condition-ver-status"^^xsd:anyURI ; fhir:link <http://terminology.hl7.org/CodeSystem/condition-ver-status> ] ] [ fhir:type [ fhir:v "depends-on" ] ; fhir:display [ fhir:v "Code system SNOMEDCT" ] ; fhir:resource [ fhir:v "http://snomed.info/sct"^^xsd:anyURI ; fhir:link <http://snomed.info/sct> ] ] [ fhir:type [ fhir:v "depends-on" ] ; fhir:display [ fhir:v "Code system RoleCode" ] ; fhir:resource [ fhir:v "http://terminology.hl7.org/CodeSystem/v3-RoleCode"^^xsd:anyURI ; fhir:link <http://terminology.hl7.org/CodeSystem/v3-RoleCode> ] ] [ fhir:type [ fhir:v "depends-on" ] ; fhir:display [ fhir:v "Value set Emergency Department Visit" ] ; fhir:resource [ fhir:v "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292"^^xsd:anyURI ; fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292> ] ] [ fhir:type [ fhir:v "depends-on" ] ; fhir:display [ fhir:v "Value set Encounter Inpatient" ] ; fhir:resource [ fhir:v "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307"^^xsd:anyURI ; fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307> ] ] [ fhir:type [ fhir:v "depends-on" ] ; fhir:display [ fhir:v "Value set Observation Services" ] ; fhir:resource [ fhir:v "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143"^^xsd:anyURI ; fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143> ] ] ) ; # fhir:parameter ( [ fhir:name [ fhir:v "Measurement Period" ] ; fhir:use [ fhir:v "in" ] ; fhir:min [ fhir:v 0 ] ; fhir:max [ fhir:v "1" ] ; fhir:type [ fhir:v "Period" ] ] [ fhir:name [ fhir:v "Patient" ] ; fhir:use [ fhir:v "out" ] ; fhir:min [ fhir:v 0 ] ; fhir:max [ fhir:v "1" ] ; fhir:type [ fhir:v "Patient" ] ] [ fhir:name [ fhir:v "Inpatient Encounter" ] ; fhir:use [ fhir:v "out" ] ; fhir:min [ fhir:v 0 ] ; fhir:max [ fhir:v "*" ] ; fhir:type [ fhir:v "Encounter" ] ] ) ; # fhir:dataRequirement ( [ fhir:type [ fhir:v "Patient" ] ; ( fhir:profile [ fhir:v "http://hl7.org/fhir/StructureDefinition/Patient"^^xsd:anyURI ; fhir:link <http://hl7.org/fhir/StructureDefinition/Patient> ] ) ] [ fhir:type [ fhir:v "Encounter" ] ; ( fhir:profile [ fhir:v "http://hl7.org/fhir/StructureDefinition/Encounter"^^xsd:anyURI ; fhir:link <http://hl7.org/fhir/StructureDefinition/Encounter> ] ) ; ( fhir:mustSupport [ fhir:v "type" ] [ fhir:v "status" ] [ fhir:v "period" ] ) ; ( fhir:codeFilter [ fhir:path [ fhir:v "type" ] ; fhir:valueSet [ fhir:v "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307"^^xsd:anyURI ; fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307> ] ] ) ] [ fhir:type [ fhir:v "Encounter" ] ; ( fhir:profile [ fhir:v "http://hl7.org/fhir/StructureDefinition/Encounter"^^xsd:anyURI ; fhir:link <http://hl7.org/fhir/StructureDefinition/Encounter> ] ) ; ( fhir:mustSupport [ fhir:v "type" ] [ fhir:v "period" ] ) ; ( fhir:codeFilter [ fhir:path [ fhir:v "type" ] ; fhir:valueSet [ fhir:v "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143"^^xsd:anyURI ; fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143> ] ] ) ] [ fhir:type [ fhir:v "Encounter" ] ; ( fhir:profile [ fhir:v "http://hl7.org/fhir/StructureDefinition/Encounter"^^xsd:anyURI ; fhir:link <http://hl7.org/fhir/StructureDefinition/Encounter> ] ) ; ( fhir:mustSupport [ fhir:v "type" ] [ fhir:v "status" ] [ fhir:v "period" ] ) ; ( fhir:codeFilter [ fhir:path [ fhir:v "type" ] ; fhir:valueSet [ fhir:v "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292"^^xsd:anyURI ; fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292> ] ] ) ] [ fhir:type [ fhir:v "Condition" ] ; ( fhir:profile [ fhir:v "http://hl7.org/fhir/StructureDefinition/Condition"^^xsd:anyURI ; fhir:link <http://hl7.org/fhir/StructureDefinition/Condition> ] ) ; ( fhir:mustSupport [ fhir:v "id" ] ) ] [ fhir:type [ fhir:v "Location" ] ; ( fhir:profile [ fhir:v "http://hl7.org/fhir/StructureDefinition/Location"^^xsd:anyURI ; fhir:link <http://hl7.org/fhir/StructureDefinition/Location> ] ) ; ( fhir:mustSupport [ fhir:v "id" ] ) ] [ fhir:type [ fhir:v "Provenance" ] ; ( fhir:profile [ fhir:v "http://hl7.org/fhir/StructureDefinition/Provenance"^^xsd:anyURI ; fhir:link <http://hl7.org/fhir/StructureDefinition/Provenance> ] ) ; ( fhir:mustSupport [ fhir:v "target" ] ) ; ( fhir:codeFilter [ fhir:path [ fhir:v "target" ] ] ) ] ) ; # fhir:content ( [ fhir:contentType [ fhir:v "text/cql" ] ; fhir:data [ fhir:v "bGlicmFyeSBNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNGSElSNCB2ZXJzaW9uICc2LjEuMDAwJw0KDQovKkB1cGRhdGU6IEJUUiAyMDIwLTAzLTMxIC0+DQpJbmNyZW1lbnRlZCB2ZXJzaW9uIHRvIDUuMC4wMDANClVwZGF0ZWQgRkhJUiB2ZXJzaW9uIHRvIDQuMC4xDQpDaGFuZ2VkIHRpbWV6b25lIGtleXdvcmQgdG8gdGltZXpvbmVvZmZzZXQgZm9yIHVzZSB3aXRoIENRTCAxLjQNClJlbW92ZWQgTm9ybWFsaXplIE9uc2V0IGluIGZhdm9yIG9mIG1vcmUgZ2VuZXJhbCBOb3JtYWxpemUgSW50ZXJ2YWwNClVwZGF0ZWQgQ29kZVN5c3RlbXMgZm9yIENvbmRpdGlvblZlcmlmaWNhdGlvblN0YXR1c0NvZGVzIGFuZCBSb2xlQ29kZXMNCg0KQHVwZGF0ZTogQlRSIDIwMjEtMDUtMTMgLT4NCkFkZGVkIEFjdGl2ZUNvbmRpdGlvbiBDb2RlcyBhbmQgSW5hY3RpdmUgQ29uZGl0aW9uIENvZGVzIHZhbHVlIHNldHMNCkFkZGVkIGZ1bmN0aW9uIGRvY3VtZW50YXRpb24gdGhyb3VnaG91dA0KRml4ZWQgRURWaXNpdCBub3QgdXNpbmcgTGFzdA0KVXBkYXRlZCBwcmV2YWxlbmNlIHBlcmlvZCB0byB1c2UgYW4gaW5jbHVzaXZlIGJvdW5kYXJ5IGlmIHRoZSBjb25kaXRpb24gaXMgYWN0aXZlDQpBZGRlZCBIYXNTdGFydCwgSGFzRW5kLCBFYXJsaWVzdCwgYW5kIExhdGVzdCBmdW5jdGlvbnMNClJlbW92ZWQgVG9EYXRlIGFuZCBBZ2UgY2FsY3VsYXRpb24gZnVuY3Rpb25zDQoNCkB1cGRhdGU6IEJUUiAyMDIxLTA2LTI1IC0+DQpBZGRlZCBHZXRCYXNlRXh0ZW5zaW9uIG92ZXJsb2FkcyBmb3IgRWxlbWVudCovDQoNCnVzaW5nIEZISVIgdmVyc2lvbiAnNC4wLjEnDQoNCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnNC4wLjEnIGNhbGxlZCBGSElSSGVscGVycw0KDQpjb2Rlc3lzdGVtICJDb25kaXRpb25DbGluaWNhbFN0YXR1c0NvZGVzIjogJ2h0dHA6Ly90ZXJtaW5vbG9neS5obDcub3JnL0NvZGVTeXN0ZW0vY29uZGl0aW9uLWNsaW5pY2FsJyANCmNvZGVzeXN0ZW0gIkFsbGVyZ3lJbnRvbGVyYW5jZUNsaW5pY2FsU3RhdHVzQ29kZXMiOiAnaHR0cDovL3Rlcm1pbm9sb2d5LmhsNy5vcmcvQ29kZVN5c3RlbS9hbGxlcmd5aW50b2xlcmFuY2UtY2xpbmljYWwnIA0KY29kZXN5c3RlbSAiQWxsZXJneUludG9sZXJhbmNlVmVyaWZpY2F0aW9uU3RhdHVzQ29kZXMiOiAnaHR0cDovL3Rlcm1pbm9sb2d5LmhsNy5vcmcvQ29kZVN5c3RlbS9hbGxlcmd5aW50b2xlcmFuY2UtdmVyaWZpY2F0aW9uJyANCmNvZGVzeXN0ZW0gIkRpYWdub3NpcyBSb2xlIjogJ2h0dHA6Ly90ZXJtaW5vbG9neS5obDcub3JnL0NvZGVTeXN0ZW0vZGlhZ25vc2lzLXJvbGUnIA0KY29kZXN5c3RlbSAiTE9JTkMiOiAnaHR0cDovL2xvaW5jLm9yZycgDQpjb2Rlc3lzdGVtICJNZWRpY2F0aW9uUmVxdWVzdENhdGVnb3J5IjogJ2h0dHA6Ly90ZXJtaW5vbG9neS5obDcub3JnL0NvZGVTeXN0ZW0vbWVkaWNhdGlvbnJlcXVlc3QtY2F0ZWdvcnknIA0KY29kZXN5c3RlbSAiQ29uZGl0aW9uVmVyaWZpY2F0aW9uU3RhdHVzQ29kZXMiOiAnaHR0cDovL3Rlcm1pbm9sb2d5LmhsNy5vcmcvQ29kZVN5c3RlbS9jb25kaXRpb24tdmVyLXN0YXR1cycgDQpjb2Rlc3lzdGVtICJTTk9NRURDVCI6ICdodHRwOi8vc25vbWVkLmluZm8vc2N0JyANCmNvZGVzeXN0ZW0gIlJvbGVDb2RlIjogJ2h0dHA6Ly90ZXJtaW5vbG9neS5obDcub3JnL0NvZGVTeXN0ZW0vdjMtUm9sZUNvZGUnIA0KDQp2YWx1ZXNldCAiRW1lcmdlbmN5IERlcGFydG1lbnQgVmlzaXQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI5MicgDQp2YWx1ZXNldCAiRW5jb3VudGVyIElucGF0aWVudCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy42NjYuNS4zMDcnIA0KdmFsdWVzZXQgIk9ic2VydmF0aW9uIFNlcnZpY2VzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMS4xNDMnIA0KDQpjb2RlICJhY3RpdmUiOiAnYWN0aXZlJyBmcm9tICJDb25kaXRpb25DbGluaWNhbFN0YXR1c0NvZGVzIiBkaXNwbGF5ICdhY3RpdmUnDQpjb2RlICJhbGxlcmd5LWFjdGl2ZSI6ICdhY3RpdmUnIGZyb20gIkFsbGVyZ3lJbnRvbGVyYW5jZUNsaW5pY2FsU3RhdHVzQ29kZXMiIGRpc3BsYXkgJ2FsbGVyZ3ktYWN0aXZlJw0KY29kZSAiYWxsZXJneS1jb25maXJtZWQiOiAnY29uZmlybWVkJyBmcm9tICJBbGxlcmd5SW50b2xlcmFuY2VWZXJpZmljYXRpb25TdGF0dXNDb2RlcyIgZGlzcGxheSAnYWxsZXJneS1jb25maXJtZWQnDQpjb2RlICJhbGxlcmd5LWluYWN0aXZlIjogJ2luYWN0aXZlJyBmcm9tICJBbGxlcmd5SW50b2xlcmFuY2VDbGluaWNhbFN0YXR1c0NvZGVzIiBkaXNwbGF5ICdhbGxlcmd5LWluYWN0aXZlJw0KY29kZSAiYWxsZXJneS1yZWZ1dGVkIjogJ3JlZnV0ZWQnIGZyb20gIkFsbGVyZ3lJbnRvbGVyYW5jZVZlcmlmaWNhdGlvblN0YXR1c0NvZGVzIiBkaXNwbGF5ICdhbGxlcmd5LXJlZnV0ZWQnDQpjb2RlICJhbGxlcmd5LXJlc29sdmVkIjogJ3Jlc29sdmVkJyBmcm9tICJBbGxlcmd5SW50b2xlcmFuY2VDbGluaWNhbFN0YXR1c0NvZGVzIiBkaXNwbGF5ICdhbGxlcmd5LXJlc29sdmVkJw0KY29kZSAiYWxsZXJneS11bmNvbmZpcm1lZCI6ICd1bmNvbmZpcm1lZCcgZnJvbSAiQWxsZXJneUludG9sZXJhbmNlVmVyaWZpY2F0aW9uU3RhdHVzQ29kZXMiIGRpc3BsYXkgJ2FsbGVyZ3ktdW5jb25maXJtZWQnDQpjb2RlICJCaWxsaW5nIjogJ2JpbGxpbmcnIGZyb20gIkRpYWdub3NpcyBSb2xlIiBkaXNwbGF5ICdCaWxsaW5nJw0KY29kZSAiQmlydGhkYXRlIjogJzIxMTEyLTgnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdCaXJ0aCBkYXRlJw0KY29kZSAiQ29tbXVuaXR5IjogJ2NvbW11bml0eScgZnJvbSAiTWVkaWNhdGlvblJlcXVlc3RDYXRlZ29yeSIgZGlzcGxheSAnQ29tbXVuaXR5Jw0KY29kZSAiY29uZmlybWVkIjogJ2NvbmZpcm1lZCcgZnJvbSAiQ29uZGl0aW9uVmVyaWZpY2F0aW9uU3RhdHVzQ29kZXMiIGRpc3BsYXkgJ2NvbmZpcm1lZCcNCmNvZGUgIkRlYWQiOiAnNDE5MDk5MDA5JyBmcm9tICJTTk9NRURDVCIgZGlzcGxheSAnRGVhZCcNCmNvZGUgImRpZmZlcmVudGlhbCI6ICdkaWZmZXJlbnRpYWwnIGZyb20gIkNvbmRpdGlvblZlcmlmaWNhdGlvblN0YXR1c0NvZGVzIiBkaXNwbGF5ICdkaWZmZXJlbnRpYWwnDQpjb2RlICJEaXNjaGFyZ2UiOiAnZGlzY2hhcmdlJyBmcm9tICJNZWRpY2F0aW9uUmVxdWVzdENhdGVnb3J5IiBkaXNwbGF5ICdEaXNjaGFyZ2UnDQpjb2RlICJlbnRlcmVkLWluLWVycm9yIjogJ2VudGVyZWQtaW4tZXJyb3InIGZyb20gIkNvbmRpdGlvblZlcmlmaWNhdGlvblN0YXR1c0NvZGVzIiBkaXNwbGF5ICdlbnRlcmVkLWluLWVycm9yJw0KY29kZSAiRVIiOiAnRVInIGZyb20gIlJvbGVDb2RlIiBkaXNwbGF5ICdFbWVyZ2VuY3kgcm9vbScNCmNvZGUgIklDVSI6ICdJQ1UnIGZyb20gIlJvbGVDb2RlIiBkaXNwbGF5ICdJbnRlbnNpdmUgY2FyZSB1bml0Jw0KY29kZSAiaW5hY3RpdmUiOiAnaW5hY3RpdmUnIGZyb20gIkNvbmRpdGlvbkNsaW5pY2FsU3RhdHVzQ29kZXMiIGRpc3BsYXkgJ2luYWN0aXZlJw0KY29kZSAicHJvdmlzaW9uYWwiOiAncHJvdmlzaW9uYWwnIGZyb20gIkNvbmRpdGlvblZlcmlmaWNhdGlvblN0YXR1c0NvZGVzIiBkaXNwbGF5ICdwcm92aXNpb25hbCcNCmNvZGUgInJlY3VycmVuY2UiOiAncmVjdXJyZW5jZScgZnJvbSAiQ29uZGl0aW9uQ2xpbmljYWxTdGF0dXNDb2RlcyIgZGlzcGxheSAncmVjdXJyZW5jZScNCmNvZGUgInJlZnV0ZWQiOiAncmVmdXRlZCcgZnJvbSAiQ29uZGl0aW9uVmVyaWZpY2F0aW9uU3RhdHVzQ29kZXMiIGRpc3BsYXkgJ3JlZnV0ZWQnDQpjb2RlICJyZWxhcHNlIjogJ3JlbGFwc2UnIGZyb20gIkNvbmRpdGlvbkNsaW5pY2FsU3RhdHVzQ29kZXMiIGRpc3BsYXkgJ3JlbGFwc2UnDQpjb2RlICJyZW1pc3Npb24iOiAncmVtaXNzaW9uJyBmcm9tICJDb25kaXRpb25DbGluaWNhbFN0YXR1c0NvZGVzIiBkaXNwbGF5ICdyZW1pc3Npb24nDQpjb2RlICJyZXNvbHZlZCI6ICdyZXNvbHZlZCcgZnJvbSAiQ29uZGl0aW9uQ2xpbmljYWxTdGF0dXNDb2RlcyIgZGlzcGxheSAncmVzb2x2ZWQnDQpjb2RlICJ1bmNvbmZpcm1lZCI6ICd1bmNvbmZpcm1lZCcgZnJvbSAiQ29uZGl0aW9uVmVyaWZpY2F0aW9uU3RhdHVzQ29kZXMiIGRpc3BsYXkgJ3VuY29uZmlybWVkJw0KDQpwYXJhbWV0ZXIgIk1lYXN1cmVtZW50IFBlcmlvZCIgSW50ZXJ2YWw8RGF0ZVRpbWU+DQogIGRlZmF1bHQgSW50ZXJ2YWxbQDIwMTktMDEtMDFUMDA6MDA6MDAuMCwgQDIwMjAtMDEtMDFUMDA6MDA6MDAuMCkNCg0KY29udGV4dCBQYXRpZW50DQoNCmRlZmluZSAiSW5wYXRpZW50IEVuY291bnRlciI6DQogIFtFbmNvdW50ZXI6ICJFbmNvdW50ZXIgSW5wYXRpZW50Il0gRW5jb3VudGVySW5wYXRpZW50DQogICAgICAJCXdoZXJlIEVuY291bnRlcklucGF0aWVudC5zdGF0dXMgPSAnZmluaXNoZWQnDQogICAgICAJCSAgICBhbmQgIkxlbmd0aEluRGF5cyIoRW5jb3VudGVySW5wYXRpZW50LnBlcmlvZCkgPD0gMTIwDQogICAgICAJCQlhbmQgRW5jb3VudGVySW5wYXRpZW50LnBlcmlvZCBlbmRzIGR1cmluZyAiTWVhc3VyZW1lbnQgUGVyaW9kIg0KDQovKkNhbGN1bGF0ZXMgdGhlIGRpZmZlcmVuY2UgaW4gY2FsZW5kYXIgZGF5cyBiZXR3ZWVuIHRoZSBzdGFydCBhbmQgZW5kIG9mIHRoZSBnaXZlbiBpbnRlcnZhbC4qLw0KZGVmaW5lIGZ1bmN0aW9uICJMZW5ndGhJbkRheXMiKFZhbHVlIEludGVydmFsPERhdGVUaW1lPiApOg0KICBkaWZmZXJlbmNlIGluIGRheXMgYmV0d2VlbiBzdGFydCBvZiBWYWx1ZSBhbmQgZW5kIG9mIFZhbHVlDQoNCi8qUmV0dXJucyB0aGUgbW9zdCByZWNlbnQgZW1lcmdlbmN5IGRlcGFydG1lbnQgdmlzaXQsIGlmIGFueSwgdGhhdCBvY2N1cnMgMSBob3VyIG9yIGxlc3MgcHJpb3IgdG8gdGhlIGdpdmVuIGVuY291bnRlci4qLw0KZGVmaW5lIGZ1bmN0aW9uICJFRCBWaXNpdCIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyICk6DQogIExhc3QoDQogICAgW0VuY291bnRlcjogIkVtZXJnZW5jeSBEZXBhcnRtZW50IFZpc2l0Il0gRURWaXNpdA0KICAgICAgd2hlcmUgRURWaXNpdC5zdGF0dXMgPSAnZmluaXNoZWQnDQogICAgICAgIGFuZCBFRFZpc2l0LnBlcmlvZCBlbmRzIDEgaG91ciBvciBsZXNzIG9uIG9yIGJlZm9yZSBzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFRoZUVuY291bnRlci5wZXJpb2QpDQogICAgICBzb3J0IGJ5IGVuZCBvZiBwZXJpb2QNCiAgICApDQoNCi8qSG9zcGl0YWxpemF0aW9uIHJldHVybnMgdGhlIHRvdGFsIGludGVydmFsIGZvciBhZG1pc3Npb24gdG8gZGlzY2hhcmdlIGZvciB0aGUgZ2l2ZW4gZW5jb3VudGVyLCBvciBmb3IgdGhlIGFkbWlzc2lvbiBvZiBhbnkgaW1tZWRpYXRlbHkgcHJpb3IgZW1lcmdlbmN5IGRlcGFydG1lbnQgdmlzaXQgdG8gdGhlIGRpc2NoYXJnZSBvZiB0aGUgZ2l2ZW4gZW5jb3VudGVyLiovDQpkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsaXphdGlvbiIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyICk6DQogICggIkVEIFZpc2l0IihUaGVFbmNvdW50ZXIpICkgWA0KICAgIHJldHVybg0KICAgICAgICBpZiBYIGlzIG51bGwgdGhlbiBUaGVFbmNvdW50ZXIucGVyaW9kDQogICAgICAgIGVsc2UgSW50ZXJ2YWxbc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChYLnBlcmlvZCksIGVuZCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFRoZUVuY291bnRlci5wZXJpb2QpXQ0KDQovKlJldHVybnMgbGlzdCBvZiBhbGwgbG9jYXRpb25zIHdpdGhpbiBhbiBlbmNvdW50ZXIsIGluY2x1ZGluZyBsb2NhdGlvbnMgZm9yIGltbWVkaWF0ZWx5IHByaW9yIEVEIHZpc2l0LiovDQpkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsaXphdGlvbiBMb2NhdGlvbnMiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlciApOg0KICAoICJFRCBWaXNpdCIoVGhlRW5jb3VudGVyKSApIEVERW5jb3VudGVyDQogICAgcmV0dXJuDQogICAgICAgIGlmIEVERW5jb3VudGVyIGlzIG51bGwgdGhlbiBUaGVFbmNvdW50ZXIubG9jYXRpb24NCiAgICAgICAgZWxzZSBmbGF0dGVuIHsgRURFbmNvdW50ZXIubG9jYXRpb24sIFRoZUVuY291bnRlci5sb2NhdGlvbiB9DQoNCi8qUmV0dXJucyB0aGUgbGVuZ3RoIG9mIHN0YXkgaW4gZGF5cyAoaS5lLiB0aGUgbnVtYmVyIG9mIGRheXMgYmV0d2VlbiBhZG1pc3Npb24gYW5kIGRpc2NoYXJnZSkgZm9yIHRoZSBnaXZlbiBlbmNvdW50ZXIsIG9yIGZyb20gdGhlIGFkbWlzc2lvbiBvZiBhbnkgaW1tZWRpYXRlbHkgcHJpb3IgZW1lcmdlbmN5IGRlcGFydG1lbnQgdmlzaXQgdG8gdGhlIGRpc2NoYXJnZSBvZiB0aGUgZW5jb3VudGVyKi8NCmRlZmluZSBmdW5jdGlvbiAiSG9zcGl0YWxpemF0aW9uIExlbmd0aCBvZiBTdGF5IihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIgKToNCiAgTGVuZ3RoSW5EYXlzKCJIb3NwaXRhbGl6YXRpb24iKFRoZUVuY291bnRlcikpDQoNCi8qUmV0dXJucyBhZG1pc3Npb24gdGltZSBmb3IgYW4gZW5jb3VudGVyIG9yIGZvciBpbW1lZGlhdGVseSBwcmlvciBlbWVyZ2VuY3kgZGVwYXJ0bWVudCB2aXNpdC4qLw0KZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbCBBZG1pc3Npb24gVGltZSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyICk6DQogIHN0YXJ0IG9mICJIb3NwaXRhbGl6YXRpb24iKFRoZUVuY291bnRlcikNCg0KLypIb3NwaXRhbCBEaXNjaGFyZ2UgVGltZSByZXR1cm5zIHRoZSBkaXNjaGFyZ2UgdGltZSBmb3IgYW4gZW5jb3VudGVyKi8NCmRlZmluZSBmdW5jdGlvbiAiSG9zcGl0YWwgRGlzY2hhcmdlIFRpbWUiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlciApOg0KICBlbmQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChUaGVFbmNvdW50ZXIucGVyaW9kKQ0KDQovKlJldHVybnMgZWFybGllc3QgYXJyaXZhbCB0aW1lIGZvciBhbiBlbmNvdW50ZXIgaW5jbHVkaW5nIGFueSBwcmlvciBFRCB2aXNpdC4qLw0KZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbCBBcnJpdmFsIFRpbWUiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlciApOg0KICBzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKEZpcnN0KA0KICAJICAgICggIkhvc3BpdGFsaXphdGlvbiBMb2NhdGlvbnMiKFRoZUVuY291bnRlcikgKSBIb3NwaXRhbExvY2F0aW9uDQogIAkJCXNvcnQgYnkgc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChwZXJpb2QpDQogIAkpLnBlcmlvZCkNCiAgDQogIC8vIFRPRE8gLSBmaXggdGhlc2UgKG11c3QgZmV0Y2ggTG9jYXRpb24gcmVzb3VyY2VzIGFuZCBjb21wYXJlIGlkIHRvIHJlZmVyZW5jZSkNCiAgLypSZXR1cm5zIHRoZSBsYXRlc3QgZGVwYXJ0dXJlIHRpbWUgZm9yIGVuY291bnRlciBpbmNsdWRpbmcgYW55IHByaW9yIEVEIHZpc2l0LiAqLw0KICAvKg0KICBkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsIERlcGFydHVyZSBUaW1lIihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOg0KICAJZW5kIG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoTGFzdCgNCiAgCSAgICAoICJIb3NwaXRhbGl6YXRpb24gTG9jYXRpb25zIihUaGVFbmNvdW50ZXIpICkgSG9zcGl0YWxMb2NhdGlvbg0KICAJCQlzb3J0IGJ5IHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwocGVyaW9kKQ0KICAJKS5wZXJpb2QpDQogIA0KICBkZWZpbmUgZnVuY3Rpb24gIkVtZXJnZW5jeSBEZXBhcnRtZW50IEFycml2YWwgVGltZSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToNCiAgCXN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoKA0KICAJICAgIHNpbmdsZXRvbiBmcm9tICgNCiAgCSAgICAgICAgKCAiSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIoVGhlRW5jb3VudGVyKSApIEhvc3BpdGFsTG9jYXRpb24NCiAgCQkJCXdoZXJlIEhvc3BpdGFsTG9jYXRpb24udHlwZSB+ICJFUiINCiAgCQkpDQogIAkpLnBlcmlvZCkNCiAgDQogIGRlZmluZSBmdW5jdGlvbiAiRmlyc3QgSW5wYXRpZW50IEludGVuc2l2ZSBDYXJlIFVuaXQiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6DQogIAlGaXJzdCgNCiAgCSAgICAoIFRoZUVuY291bnRlci5sb2NhdGlvbiApIEhvc3BpdGFsTG9jYXRpb24NCiAgCQkJd2hlcmUgSG9zcGl0YWxMb2NhdGlvbi50eXBlIH4gIklDVSINCiAgCQkJCWFuZCBIb3NwaXRhbExvY2F0aW9uLnBlcmlvZCBkdXJpbmcgVGhlRW5jb3VudGVyLnBlcmlvZA0KICAJCQlzb3J0IGJ5IHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwocGVyaW9kKQ0KICAJKQ0KICAqLw0KICANCiAgLypIb3NwaXRhbGl6YXRpb24gd2l0aCBPYnNlcnZhdGlvbiBhbmQgT3V0cGF0aWVudCBTdXJnZXJ5IFNlcnZpY2UgcmV0dXJucyB0aGUgdG90YWwgaW50ZXJ2YWwgZnJvbSB0aGUgc3RhcnQgb2YgYW55IGltbWVkaWF0ZWx5IHByaW9yIGVtZXJnZW5jeSBkZXBhcnRtZW50IHZpc2l0LCBvdXRwYXRpZW50IHN1cmdlcnkgdmlzaXQgb3Igb2JzZXJ2YXRpb24gdmlzaXQgdG8gdGhlIGRpc2NoYXJnZSBvZiB0aGUgZ2l2ZW4gZW5jb3VudGVyLiovDQogIC8qIFRPRE86DQogIGRlZmluZSBmdW5jdGlvbiAiSG9zcGl0YWxpemF0aW9uV2l0aE9ic2VydmF0aW9uQW5kT3V0cGF0aWVudFN1cmdlcnlTZXJ2aWNlIihFbmNvdW50ZXIgIkVuY291bnRlciwgUGVyZm9ybWVkIiApOg0KICBFbmNvdW50ZXIgVmlzaXQNCiAgCWxldCBPYnNWaXNpdDogTGFzdChbIkVuY291bnRlciwgUGVyZm9ybWVkIjogIk9ic2VydmF0aW9uIFNlcnZpY2VzIl0gTGFzdE9icw0KICAJCQl3aGVyZSBMYXN0T2JzLnJlbGV2YW50UGVyaW9kIGVuZHMgMSBob3VyIG9yIGxlc3Mgb24gb3IgYmVmb3JlIHN0YXJ0IG9mIFZpc2l0LnJlbGV2YW50UGVyaW9kDQogIAkJCXNvcnQgYnkNCiAgCQkJZW5kIG9mIHJlbGV2YW50UGVyaW9kDQogIAkpLA0KICAJVmlzaXRTdGFydDogQ29hbGVzY2Uoc3RhcnQgb2YgT2JzVmlzaXQucmVsZXZhbnRQZXJpb2QsIHN0YXJ0IG9mIFZpc2l0LnJlbGV2YW50UGVyaW9kKSwNCiAgCUVEVmlzaXQ6IExhc3QoWyJFbmNvdW50ZXIsIFBlcmZvcm1lZCI6ICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCJdIExhc3RFRA0KICAJCQl3aGVyZSBMYXN0RUQucmVsZXZhbnRQZXJpb2QgZW5kcyAxIGhvdXIgb3IgbGVzcyBvbiBvciBiZWZvcmUgVmlzaXRTdGFydA0KICAJCQlzb3J0IGJ5DQogIAkJCWVuZCBvZiByZWxldmFudFBlcmlvZA0KICAJKSwNCiAgCVZpc2l0U3RhcnRXaXRoRUQ6IENvYWxlc2NlKHN0YXJ0IG9mIEVEVmlzaXQucmVsZXZhbnRQZXJpb2QsIFZpc2l0U3RhcnQpLA0KICAJT3V0cGF0aWVudFN1cmdlcnlWaXNpdDogTGFzdChbIkVuY291bnRlciwgUGVyZm9ybWVkIjogIk91dHBhdGllbnQgU3VyZ2VyeSBTZXJ2aWNlIl0gTGFzdFN1cmdlcnlPUA0KICAJCQl3aGVyZSBMYXN0U3VyZ2VyeU9QLnJlbGV2YW50UGVyaW9kIGVuZHMgMSBob3VyIG9yIGxlc3Mgb24gb3IgYmVmb3JlIFZpc2l0U3RhcnRXaXRoRUQNCiAgCQkJc29ydCBieQ0KICAJCQllbmQgb2YgcmVsZXZhbnRQZXJpb2QNCiAgCSkNCiAgCXJldHVybiBJbnRlcnZhbFtDb2FsZXNjZShzdGFydCBvZiBPdXRwYXRpZW50U3VyZ2VyeVZpc2l0LnJlbGV2YW50UGVyaW9kLCBWaXNpdFN0YXJ0V2l0aEVEKSwNCiAgCWVuZCBvZiBWaXNpdC5yZWxldmFudFBlcmlvZF0NCiAgKi8NCg0KLypIb3NwaXRhbGl6YXRpb24gd2l0aCBPYnNlcnZhdGlvbiByZXR1cm5zIHRoZSB0b3RhbCBpbnRlcnZhbCBmcm9tIHRoZSBzdGFydCBvZiBhbnkgaW1tZWRpYXRlbHkgcHJpb3IgZW1lcmdlbmN5IGRlcGFydG1lbnQgdmlzaXQgdGhyb3VnaCB0aGUgb2JzZXJ2YXRpb24gdmlzaXQgdG8gdGhlIGRpc2NoYXJnZSBvZiB0aGUgZ2l2ZW4gZW5jb3VudGVyKi8NCmRlZmluZSBmdW5jdGlvbiAiSG9zcGl0YWxpemF0aW9uV2l0aE9ic2VydmF0aW9uIihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIgKToNCiAgVGhlRW5jb3VudGVyIFZpc2l0DQogIAkJbGV0IE9ic1Zpc2l0OiBMYXN0KFtFbmNvdW50ZXI6ICJPYnNlcnZhdGlvbiBTZXJ2aWNlcyJdIExhc3RPYnMNCiAgCQkJCXdoZXJlIExhc3RPYnMucGVyaW9kIGVuZHMgMSBob3VyIG9yIGxlc3Mgb24gb3IgYmVmb3JlIHN0YXJ0IG9mIFZpc2l0LnBlcmlvZA0KICAJCQkJc29ydCBieSBlbmQgb2YgcGVyaW9kDQogIAkJCSksDQogIAkJCVZpc2l0U3RhcnQ6IENvYWxlc2NlKHN0YXJ0IG9mIE9ic1Zpc2l0LnBlcmlvZCwgc3RhcnQgb2YgVmlzaXQucGVyaW9kKSwNCiAgCQkJRURWaXNpdDogTGFzdChbRW5jb3VudGVyOiAiRW1lcmdlbmN5IERlcGFydG1lbnQgVmlzaXQiXSBMYXN0RUQNCiAgCQkJCXdoZXJlIExhc3RFRC5wZXJpb2QgZW5kcyAxIGhvdXIgb3IgbGVzcyBvbiBvciBiZWZvcmUgVmlzaXRTdGFydA0KICAJCQkJc29ydCBieSBlbmQgb2YgcGVyaW9kDQogIAkJCSkNCiAgCQlyZXR1cm4gSW50ZXJ2YWxbQ29hbGVzY2Uoc3RhcnQgb2YgRURWaXNpdC5wZXJpb2QsIFZpc2l0U3RhcnQpLCBlbmQgb2YgVmlzaXQucGVyaW9kXQ0KDQovKioNCiogTm9ybWFsaXplcyB0aGUgaW5wdXQgYXJndW1lbnQgdG8gYW4gaW50ZXJ2YWwgcmVwcmVzZW50YXRpb24uDQoqIFRoZSBpbnB1dCBjYW4gYmUgcHJvdmlkZWQgYXMgYSBkYXRlVGltZSwgUGVyaW9kLCBUaW1pbmcsIGluc3RhbnQsIHN0cmluZywgQWdlLCBvciBSYW5nZS4NCiogVGhlIGludGVudCBvZiB0aGlzIGZ1bmN0aW9uIGlzIHRvIHByb3ZpZGUgYSBjbGVhciBhbmQgY29uY2lzZSBtZWNoYW5pc20gdG8gdHJlYXQgc2luZ2xlDQoqIGVsZW1lbnRzIHRoYXQgaGF2ZSBtdWx0aXBsZSBwb3NzaWJsZSByZXByZXNlbnRhdGlvbnMgYXMgaW50ZXJ2YWxzIHNvIHRoYXQgbG9naWMgZG9lc24ndCBoYXZlIHRvIGFjY291bnQNCiogZm9yIHRoZSB2YXJpYWJpbGl0eS4gTW9yZSBjb21wbGV4IGNhbGN1bGF0aW9ucyAoc3VjaCBhcyBtZWRpY2F0aW9uIHJlcXVlc3QgcGVyaW9kIG9yIGRpc3BlbnNlIHBlcmlvZA0KKiBjYWxjdWxhdGlvbikgbmVlZCBzcGVjaWZpYyBndWlkYW5jZSBhbmQgY29uc2lkZXJhdGlvbi4gVGhhdCBndWlkYW5jZSBtYXkgbWFrZSB1c2Ugb2YgdGhpcyBmdW5jdGlvbiwgYnV0DQoqIHRoZSBmb2N1cyBvZiB0aGlzIGZ1bmN0aW9uIGlzIG9uIHNpbmdsZSBlbGVtZW50IGNhbGN1bGF0aW9ucyB3aGVyZSB0aGUgc2VtYW50aWNzIGFyZSB1bmFtYmlndW91cy4NCiogSWYgdGhlIGlucHV0IGlzIGEgZGF0ZVRpbWUsIHRoZSByZXN1bHQgYSBEYXRlVGltZSBJbnRlcnZhbCBiZWdpbm5pbmcgYW5kIGVuZGluZyBvbiB0aGF0IGRhdGVUaW1lLg0KKiBJZiB0aGUgaW5wdXQgaXMgYSBQZXJpb2QsIHRoZSByZXN1bHQgaXMgYSBEYXRlVGltZSBJbnRlcnZhbC4NCiogSWYgdGhlIGlucHV0IGlzIGEgVGltaW5nLCBhbiBlcnJvciBpcyByYWlzZWQgaW5kaWNhdGluZyBhIHNpbmdsZSBpbnRlcnZhbCBjYW5ub3QgYmUgY29tcHV0ZWQgZnJvbSBhIFRpbWluZy4NCiogSWYgdGhlIGlucHV0IGlzIGFuIGluc3RhbnQsIHRoZSByZXN1bHQgaXMgYSBEYXRlVGltZSBJbnRlcnZhbCBiZWdpbm5pbmcgYW5kIGVuZGluZyBvbiB0aGF0IGluc3RhbnQuDQoqIElmIHRoZSBpbnB1dCBpcyBhIHN0cmluZywgYW4gZXJyb3IgaXMgcmFpc2VkIGluZGljYXRpbmcgYSBzaW5nbGUgaW50ZXJ2YWwgY2Fubm90IGJlIGNvbXB1dGVkIGZyb20gYSBzdHJpbmcuDQoqIElmIHRoZSBpbnB1dCBpcyBhbiBBZ2UsIHRoZSByZXN1bHQgaXMgYSBEYXRlVGltZSBJbnRlcnZhbCBiZWdpbm5pbmcgd2hlbiB0aGUgcGF0aWVudCB3YXMgdGhlIGdpdmVuIEFnZSwNCmFuZCBlbmRpbmcgaW1tZWRpYXRlbHkgcHJpb3IgdG8gd2hlbiB0aGUgcGF0aWVudCB3YXMgdGhlIGdpdmVuIEFnZSBwbHVzIG9uZSB5ZWFyLg0KKiBJZiB0aGUgaW5wdXQgaXMgYSBSYW5nZSwgdGhlIHJlc3VsdCBpcyBhIERhdGVUaW1lIEludGVydmFsIGJlZ2lubmluZyB3aGVuIHRoZSBwYXRpZW50IHdhcyB0aGUgQWdlIGdpdmVuDQpieSB0aGUgbG93IGVuZCBvZiB0aGUgUmFuZ2UsIGFuZCBlbmRpbmcgaW1tZWRpYXRlbHkgcHJpb3IgdG8gd2hlbiB0aGUgcGF0aWVudCB3YXMgdGhlIEFnZSBnaXZlbiBieSB0aGUNCmhpZ2ggZW5kIG9mIHRoZSBSYW5nZSBwbHVzIG9uZSB5ZWFyLiovDQpkZWZpbmUgZnVuY3Rpb24gIk5vcm1hbGl6ZSBJbnRlcnZhbCIoY2hvaWNlIENob2ljZTxGSElSLmRhdGVUaW1lLCBGSElSLlBlcmlvZCwgRkhJUi5UaW1pbmcsIEZISVIuaW5zdGFudCwgRkhJUi5zdHJpbmcsIEZISVIuQWdlLCBGSElSLlJhbmdlPiApOg0KICBjYXNlDQogIAkgIHdoZW4gY2hvaWNlIGlzIEZISVIuZGF0ZVRpbWUgdGhlbg0KICAJSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlVGltZShjaG9pY2UgYXMgRkhJUi5kYXRlVGltZSksIEZISVJIZWxwZXJzLlRvRGF0ZVRpbWUoY2hvaWNlIGFzIEZISVIuZGF0ZVRpbWUpXQ0KICAJCXdoZW4gY2hvaWNlIGlzIEZISVIuUGVyaW9kIHRoZW4NCiAgCQlGSElSSGVscGVycy5Ub0ludGVydmFsKGNob2ljZSBhcyBGSElSLlBlcmlvZCkNCiAgCQl3aGVuIGNob2ljZSBpcyBGSElSLmluc3RhbnQgdGhlbg0KICAJCQlJbnRlcnZhbFtGSElSSGVscGVycy5Ub0RhdGVUaW1lKGNob2ljZSBhcyBGSElSLmluc3RhbnQpLCBGSElSSGVscGVycy5Ub0RhdGVUaW1lKGNob2ljZSBhcyBGSElSLmluc3RhbnQpXQ0KICAJCXdoZW4gY2hvaWNlIGlzIEZISVIuQWdlIHRoZW4NCiAgCQkgIEludGVydmFsW0ZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSkgKyBGSElSSGVscGVycy5Ub1F1YW50aXR5KGNob2ljZSBhcyBGSElSLkFnZSksDQogIAkJCSAgRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSArIEZISVJIZWxwZXJzLlRvUXVhbnRpdHkoY2hvaWNlIGFzIEZISVIuQWdlKSArIDEgeWVhcikNCiAgCQl3aGVuIGNob2ljZSBpcyBGSElSLlJhbmdlIHRoZW4NCiAgCQkgIEludGVydmFsW0ZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSkgKyBGSElSSGVscGVycy5Ub1F1YW50aXR5KChjaG9pY2UgYXMgRkhJUi5SYW5nZSkubG93KSwNCiAgCQkJICBGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpICsgRkhJUkhlbHBlcnMuVG9RdWFudGl0eSgoY2hvaWNlIGFzIEZISVIuUmFuZ2UpLmhpZ2gpICsgMSB5ZWFyKQ0KICAJCXdoZW4gY2hvaWNlIGlzIEZISVIuVGltaW5nIHRoZW4NCiAgCQkgIE1lc3NhZ2UobnVsbCBhcyBJbnRlcnZhbDxEYXRlVGltZT4sIHRydWUsICcxJywgJ0Vycm9yJywgJ0Nhbm5vdCBjb21wdXRlIGEgc2luZ2xlIGludGVydmFsIGZyb20gYSBUaW1pbmcgdHlwZScpDQogICAgd2hlbiBjaG9pY2UgaXMgRkhJUi5zdHJpbmcgdGhlbg0KICAgICAgTWVzc2FnZShudWxsIGFzIEludGVydmFsPERhdGVUaW1lPiwgdHJ1ZSwgJzEnLCAnRXJyb3InLCAnQ2Fubm90IGNvbXB1dGUgYW4gaW50ZXJ2YWwgZnJvbSBhIFN0cmluZyB2YWx1ZScpDQogIAkJZWxzZQ0KICAJCQludWxsIGFzIEludGVydmFsPERhdGVUaW1lPg0KICAJZW5kDQoNCi8qKg0KKiBSZXR1cm5zIGFuIGludGVydmFsIHJlcHJlc2VudGluZyB0aGUgYWJhdGVtZW50IG9mIHRoZSBnaXZlbiBjb25kaXRpb24sIGlmIGFuDQphYmF0ZW1lbnQgZWxlbWVudCBpcyBwcmVzZW50LCBudWxsIG90aGVyd2lzZS4NClRoaXMgZnVuY3Rpb24gdXNlcyB0aGUgc2VtYW50aWNzIG9mIE5vcm1hbGl6ZSBJbnRlcnZhbCB0byBpbnRlcnByZXQgdGhlIGFiYXRlbWVudA0KZWxlbWVudC4qLw0KZGVmaW5lIGZ1bmN0aW9uICJOb3JtYWxpemUgQWJhdGVtZW50Iihjb25kaXRpb24gQ29uZGl0aW9uICk6DQogIGlmIGNvbmRpdGlvbi5hYmF0ZW1lbnQgaXMgRkhJUi5kYXRlVGltZSB0aGVuDQogIAkgIEludGVydmFsW0ZISVJIZWxwZXJzLlRvRGF0ZVRpbWUoY29uZGl0aW9uLmFiYXRlbWVudCBhcyBGSElSLmRhdGVUaW1lKSwgRkhJUkhlbHBlcnMuVG9EYXRlVGltZShjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuZGF0ZVRpbWUpXQ0KICAJZWxzZSBpZiBjb25kaXRpb24uYWJhdGVtZW50IGlzIEZISVIuUGVyaW9kIHRoZW4NCiAgCSAgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuUGVyaW9kKQ0KICAJZWxzZSBpZiBjb25kaXRpb24uYWJhdGVtZW50IGlzIEZISVIuc3RyaW5nIHRoZW4NCiAgTWVzc2FnZShudWxsIGFzIEludGVydmFsPERhdGVUaW1lPiwgdHJ1ZSwgJzEnLCAnRXJyb3InLCAnQ2Fubm90IGNvbXB1dGUgYW4gaW50ZXJ2YWwgZnJvbSBhIFN0cmluZyB2YWx1ZScpDQogIAllbHNlIGlmIGNvbmRpdGlvbi5hYmF0ZW1lbnQgaXMgRkhJUi5BZ2UgdGhlbg0KICAJCUludGVydmFsW0ZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSkgKyBGSElSSGVscGVycy5Ub1F1YW50aXR5KGNvbmRpdGlvbi5hYmF0ZW1lbnQgYXMgRkhJUi5BZ2UpLA0KICAJCQlGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpICsgRkhJUkhlbHBlcnMuVG9RdWFudGl0eShjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuQWdlKSArIDEgeWVhcikNCiAgCWVsc2UgaWYgY29uZGl0aW9uLmFiYXRlbWVudCBpcyBGSElSLlJhbmdlIHRoZW4NCiAgCSAgSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSArIEZISVJIZWxwZXJzLlRvUXVhbnRpdHkoKGNvbmRpdGlvbi5hYmF0ZW1lbnQgYXMgRkhJUi5SYW5nZSkubG93KSwNCiAgCQkgIEZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSkgKyBGSElSSGVscGVycy5Ub1F1YW50aXR5KChjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuUmFuZ2UpLmhpZ2gpICsgMSB5ZWFyKQ0KICAJZWxzZSBpZiBjb25kaXRpb24uYWJhdGVtZW50IGlzIEZISVIuYm9vbGVhbiB0aGVuDQogIAkgIEludGVydmFsW2VuZCBvZiAiTm9ybWFsaXplIEludGVydmFsIihjb25kaXRpb24ub25zZXQpLCBjb25kaXRpb24ucmVjb3JkZWREYXRlKQ0KICAJZWxzZSBudWxsDQoNCi8qUmV0dXJucyBhbiBpbnRlcnZhbCByZXByZXNlbnRpbmcgdGhlIHBlcmlvZCBkdXJpbmcgd2hpY2ggdGhlIGNvbmRpdGlvbiB3YXMgcHJldmFsZW50IChpLmUuIG9uc2V0IHRvIGFiYXRlbWVudCkNCklmIHRoZSBjb25kaXRpb24gaXMgImFjdGl2ZSIsIHRoZW4gYWJhdGVtZW50IGJlaW5nIHVua25vd24NCndvdWxkIGluZGljYXRlIHRoZSBjb25kaXRpb24gaXMgb25nb2luZywgYW5kIHRoZSBlbmRpbmcgYm91bmRhcnkgb2YgdGhlIHByZXZhbGVuY2UNCnBlcmlvZCBpcyBpbmNsdXNpdmUsIG90aGVyd2lzZSwgdGhlIGFiYXRlbWVudCBpcyBjb25zaWRlcmVkIHVua25vd24gYW5kIHRoZSBlbmRpbmcgYm91bmRhcnkNCm9mIHRoZSBwcmV2YWxlbmNlIHBlcmlvZCBpcyBleGNsdXNpdmUuDQpOb3RlIHRoYXQgd2hlbiB1c2luZyB0aGlzIGZ1bmN0aW9uIGl0IHNob3VsZCBiZSBub3RlZCB0aGF0IG1hbnkgY2xpbmljYWwgc3lzdGVtcw0KZG8gbm90IGFjdHVhbGx5IGNhcHR1cmUgYWJhdGVtZW50LCBzbyBjYXJlIHNob3VsZCBiZSB0YWtlbiB3aGVuIHVzaW5nIHRoaXMgZnVuY3Rpb24NCnRvIG1lZXQgY2xpbmljYWwgaW50ZW50LiovDQpkZWZpbmUgZnVuY3Rpb24gIlByZXZhbGVuY2UgUGVyaW9kIihjb25kaXRpb24gQ29uZGl0aW9uICk6DQogIGlmIGNvbmRpdGlvbi5jbGluaWNhbFN0YXR1cyB+ICJhY3RpdmUiDQogICAgb3IgY29uZGl0aW9uLmNsaW5pY2FsU3RhdHVzIH4gInJlY3VycmVuY2UiDQogICAgb3IgY29uZGl0aW9uLmNsaW5pY2FsU3RhdHVzIH4gInJlbGFwc2UiIHRoZW4NCiAgICBJbnRlcnZhbFtzdGFydCBvZiAiTm9ybWFsaXplIEludGVydmFsIihjb25kaXRpb24ub25zZXQpLCBlbmQgb2YgIk5vcm1hbGl6ZSBBYmF0ZW1lbnQiKGNvbmRpdGlvbildDQogIGVsc2UNCiAgICBJbnRlcnZhbFtzdGFydCBvZiAiTm9ybWFsaXplIEludGVydmFsIihjb25kaXRpb24ub25zZXQpLCBlbmQgb2YgIk5vcm1hbGl6ZSBBYmF0ZW1lbnQiKGNvbmRpdGlvbikpDQoNCi8qUmV0dXJucyB0aGUgdGFpbCBvZiB0aGUgZ2l2ZW4gdXJpIChpLmUuIGV2ZXJ5dGhpbmcgYWZ0ZXIgdGhlIGxhc3Qgc2xhc2ggaW4gdGhlIFVSSSkuKi8NCmRlZmluZSBmdW5jdGlvbiAiR2V0SWQiKHVyaSBTdHJpbmcgKToNCiAgTGFzdChTcGxpdCh1cmksICcvJykpDQoNCi8qUmV0dXJucyB0aGUgQ29uZGl0aW9uIHJlc291cmNlcyByZWZlcmVuY2VkIGJ5IHRoZSBkaWFnbm9zaXMgZWxlbWVudCBvZiB0aGUgRW5jb3VudGVyKi8NCmRlZmluZSBmdW5jdGlvbiAiRW5jb3VudGVyRGlhZ25vc2lzIihFbmNvdW50ZXIgRW5jb3VudGVyICk6DQogIEVuY291bnRlci5kaWFnbm9zaXMgRA0KICAgIHJldHVybiBzaW5nbGV0b24gZnJvbSAoW0NvbmRpdGlvbl0gQyB3aGVyZSBDLmlkID0gIkdldElkIihELmNvbmRpdGlvbi5yZWZlcmVuY2UpKQ0KICANCiAgLy8gUmV0dXJucyB0aGUgY29uZGl0aW9uIHRoYXQgaXMgc3BlY2lmaWVkIGFzIHRoZSBwcmluY2lwYWwgZGlhZ25vc2lzIGZvciB0aGUgZW5jb3VudGVyDQogIC8vIFRPRE86IEJUUiAyMDE5LTA3LTMwOiBTaG91bGRuJ3QgbmVlZCB0aGUgRkhJUkhlbHBlcnMgcmVmZXJlbmNlIGhlcmUsIGludmVzdGlnYXRlDQoNCmRlZmluZSBmdW5jdGlvbiAiUHJpbmNpcGFsRGlhZ25vc2lzIihFbmNvdW50ZXIgRW5jb3VudGVyICk6DQogIChzaW5nbGV0b24gZnJvbSAoRW5jb3VudGVyLmRpYWdub3NpcyBEIHdoZXJlIEZISVJIZWxwZXJzLlRvSW50ZWdlcihELnJhbmspID0gMSkpIFBEDQogIAkJcmV0dXJuIHNpbmdsZXRvbiBmcm9tIChbQ29uZGl0aW9uXSBDIHdoZXJlIEMuaWQgPSAiR2V0SWQiKFBELmNvbmRpdGlvbi5yZWZlcmVuY2UpKQ0KICAvLyBSZXR1cm5zIHRoZSBsb2NhdGlvbiBmb3IgdGhlIGdpdmVuIGxvY2F0aW9uIHJlZmVyZW5jZQ0KDQovKlJldHVybnMgdGhlIExvY2F0aW9uIHJlc291cmNlIHNwZWNpZmllZCBieSB0aGUgZ2l2ZW4gcmVmZXJlbmNlKi8NCmRlZmluZSBmdW5jdGlvbiAiR2V0TG9jYXRpb24iKHJlZmVyZW5jZSBSZWZlcmVuY2UgKToNCiAgc2luZ2xldG9uIGZyb20gKA0KICAgIFtMb2NhdGlvbl0gTCB3aGVyZSBMLmlkID0gR2V0SWQocmVmZXJlbmNlLnJlZmVyZW5jZSkNCiAgKQ0KDQovKk5PVEU6IEV4dGVuc2lvbnMgYXJlIG5vdCB0aGUgcHJlZmVycmVkIGFwcHJvYWNoLCBidXQgYXJlIHVzZWQgYXMgYSB3YXkgdG8gYWNjZXNzDQpjb250ZW50IHRoYXQgaXMgZGVmaW5lZCBieSBleHRlbnNpb25zIGJ1dCBub3QgeWV0IHN1cmZhY2VkIGluIHRoZQ0KQ1FMIG1vZGVsIGluZm8uKi8NCmRlZmluZSBmdW5jdGlvbiAiR2V0RXh0ZW5zaW9ucyIoZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIHVybCBTdHJpbmcgKToNCiAgZG9tYWluUmVzb3VyY2UuZXh0ZW5zaW9uIEUNCiAgCSAgd2hlcmUgRS51cmwgPSAoJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vJyArIHVybCkNCiAgCQlyZXR1cm4gRQ0KDQpkZWZpbmUgZnVuY3Rpb24gIkdldEV4dGVuc2lvbiIoZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIHVybCBTdHJpbmcgKToNCiAgc2luZ2xldG9uIGZyb20gIkdldEV4dGVuc2lvbnMiKGRvbWFpblJlc291cmNlLCB1cmwpDQoNCi8qTk9URTogRXh0ZW5zaW9ucyBhcmUgbm90IHRoZSBwcmVmZXJyZWQgYXBwcm9hY2gsIGJ1dCBhcmUgdXNlZCBhcyBhIHdheSB0byBhY2Nlc3MNCmNvbnRlbnQgdGhhdCBpcyBkZWZpbmVkIGJ5IGV4dGVuc2lvbnMgYnV0IG5vdCB5ZXQgc3VyZmFjZWQgaW4gdGhlDQpDUUwgbW9kZWwgaW5mby4qLw0KZGVmaW5lIGZ1bmN0aW9uICJHZXRFeHRlbnNpb25zIihlbGVtZW50IEVsZW1lbnQsIHVybCBTdHJpbmcgKToNCiAgZWxlbWVudC5leHRlbnNpb24gRQ0KICAJICB3aGVyZSBFLnVybCA9ICh1cmwpDQogIAkJcmV0dXJuIEUNCg0KZGVmaW5lIGZ1bmN0aW9uICJHZXRFeHRlbnNpb24iKGVsZW1lbnQgRWxlbWVudCwgdXJsIFN0cmluZyApOg0KICBzaW5nbGV0b24gZnJvbSAiR2V0RXh0ZW5zaW9ucyIoZWxlbWVudCwgdXJsKQ0KDQovKk5PVEU6IEV4dGVuc2lvbnMgYXJlIG5vdCB0aGUgcHJlZmVycmVkIGFwcHJvYWNoLCBidXQgYXJlIHVzZWQgYXMgYSB3YXkgdG8gYWNjZXNzDQpjb250ZW50IHRoYXQgaXMgZGVmaW5lZCBieSBleHRlbnNpb25zIGJ1dCBub3QgeWV0IHN1cmZhY2VkIGluIHRoZQ0KQ1FMIG1vZGVsIGluZm8uKi8NCmRlZmluZSBmdW5jdGlvbiAiR2V0QmFzZUV4dGVuc2lvbnMiKGRvbWFpblJlc291cmNlIERvbWFpblJlc291cmNlLCB1cmwgU3RyaW5nICk6DQogIGRvbWFpblJlc291cmNlLmV4dGVuc2lvbiBFDQogIAkgIHdoZXJlIEUudXJsID0gKCdodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vJyArIHVybCkNCiAgCQlyZXR1cm4gRQ0KDQpkZWZpbmUgZnVuY3Rpb24gIkdldEJhc2VFeHRlbnNpb24iKGRvbWFpblJlc291cmNlIERvbWFpblJlc291cmNlLCB1cmwgU3RyaW5nICk6DQogIHNpbmdsZXRvbiBmcm9tICJHZXRCYXNlRXh0ZW5zaW9ucyIoZG9tYWluUmVzb3VyY2UsIHVybCkNCg0KLypAZGVzY3JpcHRpb246IFJldHVybnMgYW55IGJhc2UtRkhJUiBleHRlbnNpb25zIGRlZmluZWQgb24gdGhlIGdpdmVuIGVsZW1lbnQgd2l0aCB0aGUgc3BlY2lmaWVkIGlkLg0KQGNvbW1lbnQ6IE5PVEU6IEV4dGVuc2lvbnMgYXJlIG5vdCB0aGUgcHJlZmVycmVkIGFwcHJvYWNoLCBidXQgYXJlIHVzZWQgYXMgYSB3YXkgdG8gYWNjZXNzDQpjb250ZW50IHRoYXQgaXMgZGVmaW5lZCBieSBleHRlbnNpb25zIGJ1dCBub3QgeWV0IHN1cmZhY2VkIGluIHRoZSBDUUwgbW9kZWwgaW5mby4qLw0KZGVmaW5lIGZ1bmN0aW9uICJCYXNlRXh0ZW5zaW9ucyIoZWxlbWVudCBFbGVtZW50LCBpZCBTdHJpbmcgKToNCiAgZWxlbWVudC5leHRlbnNpb24gRQ0KICAJICB3aGVyZSBFLnVybCA9ICgnaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uLycgKyBpZCkNCiAgCQlyZXR1cm4gRQ0KDQovKkBkZXNjcmlwdGlvbjogUmV0dXJucyB0aGUgc2luZ2xlIGJhc2UtRkhJUiBleHRlbnNpb24gKGlmIHByZXNlbnQpIG9uIHRoZSBnaXZlbiBlbGVtZW50IHdpdGggdGhlIHNwZWNpZmllZCBpZC4NCkBjb21tZW50OiBUaGlzIGZ1bmN0aW9uIHVzZXMgc2luZ2xldG9uIGZyb20gdG8gZW5zdXJlIHRoYXQgYSBydW4tdGltZSBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZXJlDQppcyBtb3JlIHRoYW4gb25lIGV4dGVuc2lvbiBvbiB0aGUgZ2l2ZW4gcmVzb3VyY2Ugd2l0aCB0aGUgc3BlY2lmaWVkIHVybC4qLw0KZGVmaW5lIGZ1bmN0aW9uICJCYXNlRXh0ZW5zaW9uIihlbGVtZW50IEVsZW1lbnQsIGlkIFN0cmluZyApOg0KICBzaW5nbGV0b24gZnJvbSBCYXNlRXh0ZW5zaW9ucyhlbGVtZW50LCBpZCkNCg0KLypOT1RFOiBQcm92ZW5hbmNlIGlzIG5vdCB0aGUgcHJlZmVycmVkIGFwcHJvYWNoLCB0aGlzIGlzIHByb3ZpZGVkIG9ubHkgYXMgYW4gaWxsdXN0cmF0aW9uDQpmb3Igd2hhdCB1c2luZyBQcm92ZW5hbmNlIGNvdWxkIGxvb2sgbGlrZSwgYW5kIGlzIG5vdCBhIHRlc3RlZCBwYXR0ZXJuKi8NCmRlZmluZSBmdW5jdGlvbiAiR2V0UHJvdmVuYW5jZSIocmVzb3VyY2UgUmVzb3VyY2UgKToNCiAgc2luZ2xldG9uIGZyb20gKFtQcm92ZW5hbmNlOiB0YXJnZXQgaW4gcmVzb3VyY2UuaWRdKQ0KDQpkZWZpbmUgZnVuY3Rpb24gIkdldE1lZGljYXRpb25Db2RlIihyZXF1ZXN0IE1lZGljYXRpb25SZXF1ZXN0ICk6DQogIGlmIHJlcXVlc3QubWVkaWNhdGlvbiBpcyBDb2RlYWJsZUNvbmNlcHQgdGhlbg0KICAJICByZXF1ZXN0Lm1lZGljYXRpb24gYXMgQ29kZWFibGVDb25jZXB0DQogIAllbHNlDQogIAkgIChzaW5nbGV0b24gZnJvbSAoW01lZGljYXRpb25dIE0gd2hlcmUgTS5pZCA9IEdldElkKChyZXF1ZXN0Lm1lZGljYXRpb24gYXMgUmVmZXJlbmNlKS5yZWZlcmVuY2UpKSkuY29kZQ0KDQovKkdpdmVuIGFuIGludGVydmFsLCByZXR1cm4gdHJ1ZSBpZiB0aGUgaW50ZXJ2YWwgaGFzIGEgc3RhcnRpbmcgYm91bmRhcnkgc3BlY2lmaWVkIChpLmUuIHRoZSBzdGFydCBvZiB0aGUgaW50ZXJ2YWwgaXMgbm90IG51bGwgYW5kIG5vdCB0aGUgbWluaW11bSBEYXRlVGltZSB2YWx1ZSkqLw0KZGVmaW5lIGZ1bmN0aW9uICJIYXNTdGFydCIocGVyaW9kIEludGVydmFsPERhdGVUaW1lPiApOg0KICBub3QgKCBzdGFydCBvZiBwZXJpb2QgaXMgbnVsbA0KICAgICAgb3Igc3RhcnQgb2YgcGVyaW9kID0gbWluaW11bSBEYXRlVGltZQ0KICApDQoNCi8qR2l2ZW4gYW4gaW50ZXJ2YWwsIHJldHVybiB0cnVlIGlmIHRoZSBpbnRlcnZhbCBoYXMgYW4gZW5kaW5nIGJvdW5kYXJ5IHNwZWNpZmllZCAoaS5lLiB0aGUgZW5kIG9mIHRoZSBpbnRlcnZhbCBpcyBub3QgbnVsbCBhbmQgbm90IHRoZSBtYXhpbXVtIERhdGVUaW1lIHZhbHVlKSovDQpkZWZpbmUgZnVuY3Rpb24gIkhhc0VuZCIocGVyaW9kIEludGVydmFsPERhdGVUaW1lPiApOg0KICBub3QgKA0KICAgIGVuZCBvZiBwZXJpb2QgaXMgbnVsbA0KICAgICAgb3INCiAgICAgIGVuZCBvZiBwZXJpb2QgPSBtYXhpbXVtIERhdGVUaW1lDQogICkNCg0KLypHaXZlbiBhbiBpbnRlcnZhbCwgcmV0dXJuIHRoZSBlbmRpbmcgcG9pbnQgaWYgdGhlIGludGVydmFsIGhhcyBhbiBlbmRpbmcgYm91bmRhcnkgc3BlY2lmaWVkLCBvdGhlcndpc2UsIHJldHVybiB0aGUgc3RhcnRpbmcgcG9pbnQqLw0KZGVmaW5lIGZ1bmN0aW9uICJMYXRlc3QiKGNob2ljZSBDaG9pY2U8RkhJUi5kYXRlVGltZSwgRkhJUi5QZXJpb2QsIEZISVIuVGltaW5nLCBGSElSLmluc3RhbnQsIEZISVIuc3RyaW5nLCBGSElSLkFnZSwgRkhJUi5SYW5nZT4gKToNCiAgKCJOb3JtYWxpemUgSW50ZXJ2YWwiKGNob2ljZSkpIHBlcmlvZA0KICAgIHJldHVybg0KICAgICAgaWYgKCBIYXNFbmQocGVyaW9kKSkgdGhlbiBlbmQgb2YgcGVyaW9kDQogICAgICBlbHNlIHN0YXJ0IG9mIHBlcmlvZA0KDQovKkdpdmVuIGFuIGludGVydmFsLCByZXR1cm4gdGhlIHN0YXJ0aW5nIHBvaW50IGlmIHRoZSBpbnRlcnZhbCBoYXMgYSBzdGFydGluZyBib3VuZGFyeSBzcGVjaWZpZWQsIG90aGVyd2lzZSwgcmV0dXJuIHRoZSBlbmRpbmcgcG9pbnQqLw0KZGVmaW5lIGZ1bmN0aW9uICJFYXJsaWVzdCIoY2hvaWNlIENob2ljZTxGSElSLmRhdGVUaW1lLCBGSElSLlBlcmlvZCwgRkhJUi5UaW1pbmcsIEZISVIuaW5zdGFudCwgRkhJUi5zdHJpbmcsIEZISVIuQWdlLCBGSElSLlJhbmdlPiApOg0KICAoIk5vcm1hbGl6ZSBJbnRlcnZhbCIoY2hvaWNlKSkgcGVyaW9kDQogICAgcmV0dXJuDQogICAgICBpZiAoSGFzU3RhcnQocGVyaW9kKSkgdGhlbiBzdGFydCBvZiBwZXJpb2QNCiAgICAgIGVsc2UgZW5kIG9mIHBlcmlvZA0KDQo="^^xsd:base64Binary ] ] ) . # <urn:uuid:c6098378-cb38-4ae2-a096-3a3cc5c620d5> a fhir:Library ; fhir:id [ fhir:v "SupplementalDataElementsFHIR4"] ; # fhir:language [ fhir:v "en"] ; # fhir:text [ fhir:status [ fhir:v "extensions" ] ; fhir:div [ fhir:v "<div xmlns=\"http://www.w3.org/1999/xhtml\"><a name=\"Library_SupplementalDataElementsFHIR4\"> </a>\n <table class=\"narrative-table\">\n <tbody>\n<tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\">Metadata</th>\n\n\n</tr>\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Title</th>\n\n\n\n<td class=\"content-container\">SupplementalDataElementsFHIR4</td>\n\n\n</tr>\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.0.000</td>\n\n\n</tr>\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<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Experimental</th>\n\n\n\n<td class=\"content-container\">true</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<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Type</th>\n\n\n\n<td class=\"content-container\">\n Logic Library\n\n\n</td>\n\n\n</tr>\n\n\n\n<tr>\n \n \n \n \n \n\n<th scope=\"row\" class=\"row-header\">Dependency</th>\n\n\n \n \n <td class=\"content-container\">\n \n <em>Description</em>: Value set Ethnicity\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.114222.4.11.837/expansion\">Ethnicity</a>\n <br/>\n <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837</tt>\n \n \n \n </td>\n</tr>\n\n<tr>\n \n \n \n \n \n\n<th scope=\"row\" class=\"row-header\">Dependency</th>\n\n\n \n \n <td class=\"content-container\">\n \n <em>Description</em>: Value set ONC Administrative Sex\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113762.1.4.1/expansion\">ONC Administrative Sex</a>\n <br/>\n <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1</tt>\n \n \n \n </td>\n</tr>\n\n<tr>\n \n \n \n \n \n\n<th scope=\"row\" class=\"row-header\">Dependency</th>\n\n\n \n \n <td class=\"content-container\">\n \n <em>Description</em>: Value set Payer\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.114222.4.11.3591/expansion\">Payer Type</a>\n <br/>\n <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591</tt>\n \n \n \n </td>\n</tr>\n\n<tr>\n \n \n \n \n \n\n<th scope=\"row\" class=\"row-header\">Dependency</th>\n\n\n \n \n <td class=\"content-container\">\n \n <em>Description</em>: Value set Race\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.114222.4.11.836/expansion\">Race</a>\n <br/>\n <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836</tt>\n \n \n \n </td>\n</tr>\n\n\n\n\n\n\n\n\n<tr>\n <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n <td class=\"content-container\">\n <em>Type</em>: Patient\n <br/>\n \n <em>Profile(s)</em>: \n \n <a href=\"http://hl7.org/fhir/R4/patient.html\">Patient</a>\n <br/> \n \n \n \n <em>Must Support Elements</em>: url, extension, value\n <br/>\n \n \n </td>\n</tr>\n\n<tr>\n <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n <td class=\"content-container\">\n <em>Type</em>: Coverage\n <br/>\n \n <em>Profile(s)</em>: \n \n <a href=\"http://hl7.org/fhir/R4/coverage.html\">Coverage</a>\n <br/> \n \n \n \n <em>Must Support Elements</em>: type, period\n <br/>\n \n \n <em>Code Filter(s)</em>: \n <br/>\n \n \n <span class=\"tab-one\"><em>Path</em>: type</span>\n <br/>\n \n \n \n <span class=\"tab-one\"><em>ValueSet</em>:</span> <a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.114222.4.11.3591/expansion\">Payer Type</a>\n <br/> \n \n \n \n \n </td>\n</tr>\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<tr>\n \n\n<th scope=\"row\" class=\"row-header\"/>\n\n\n <td class=\"content-container\">\n <table>\n <thead>\n <tr>\n <td><em>Name</em></td>\n <td><em>Use</em></td>\n <td><em>Card.</em></td>\n <td><em>Type</em></td>\n <td><em>Documentation</em></td>\n </tr>\n </thead>\n <tbody>\n \n <tr>\n <td>Patient</td>\n <td>Out</td>\n <td>0..1</td>\n <td>Patient</td>\n <td/>\n </tr>\n \n <tr>\n <td>SDE Ethnicity</td>\n <td>Out</td>\n <td>0..*</td>\n <td>Coding</td>\n <td/>\n </tr>\n \n <tr>\n <td>SDE Payer</td>\n <td>Out</td>\n <td>0..*</td>\n <td>Any</td>\n <td/>\n </tr>\n \n <tr>\n <td>SDE Race</td>\n <td>Out</td>\n <td>0..*</td>\n <td>Coding</td>\n <td/>\n </tr>\n \n <tr>\n <td>SDE Sex</td>\n <td>Out</td>\n <td>0..1</td>\n <td>Coding</td>\n <td/>\n </tr>\n \n </tbody>\n </table>\n </td>\n</tr>\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\">library SupplementalDataElementsFHIR4 version '2.0.000'#xD;\n#xD;\n/*@update: @@BTR 2020-03-31 ->#xD;\nIncremented version to 2.0.0#xD;\nUpdated FHIR version to 4.0.1#xD;\n@@@*/#xD;\n#xD;\nusing FHIR version '4.0.1'#xD;\n#xD;\ninclude FHIRHelpers version '4.0.1' called FHIRHelpers#xD;\n#xD;\nvalueset \"Ethnicity\": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837' #xD;\nvalueset \"ONC Administrative Sex\": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1' #xD;\nvalueset \"Payer\": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591' #xD;\nvalueset \"Race\": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836' #xD;\n#xD;\ncontext Patient#xD;\n#xD;\ndefine \"SDE Ethnicity\":#xD;\n (flatten (#xD;\n Patient.extension Extension#xD;\n where Extension.url = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity'#xD;\n return Extension.extension#xD;\n )) E#xD;\n where E.url = 'ombCategory'#xD;\n or E.url = 'detailed'#xD;\n return E.value as Coding#xD;\n#xD;\ndefine \"SDE Payer\":#xD;\n [Coverage: type in \"Payer\"] Payer#xD;\n return {#xD;\n code: Payer.type,#xD;\n period: Payer.period#xD;\n }#xD;\n#xD;\ndefine \"SDE Race\":#xD;\n (flatten (#xD;\n Patient.extension Extension#xD;\n where Extension.url = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-race'#xD;\n return Extension.extension#xD;\n )) E#xD;\n where E.url = 'ombCategory'#xD;\n or E.url = 'detailed'#xD;\n return E.value as Coding#xD;\n#xD;\ndefine \"SDE Sex\":#xD;\n case#xD;\n when Patient.gender = 'male' then Code { code: 'M', system: 'http://hl7.org/fhir/v3/AdministrativeGender', display: 'Male' }#xD;\n when Patient.gender = 'female' then Code { code: 'F', system: 'http://hl7.org/fhir/v3/AdministrativeGender', display: 'Female' }#xD;\n else null#xD;\n end#xD;\n#xD;\n</code></pre>\n </td>\n </tr>\n \n \n\n<tr>\n <th colspan=\"2\" scope=\"row\" class=\"row-header\">Generated using version 0.5.4-cibuild of the sample-content-ig Liquid templates</th>\n</tr>\n\n </tbody>\n </table>\n</div>"^^rdf:XMLLiteral ] ] ; # fhir:url [ fhir:v "http://fhir.org/guides/cqf/Library/SupplementalDataElementsFHIR4"^^xsd:anyURI] ; # fhir:version [ fhir:v "2.0.000"] ; # fhir:name [ fhir:v "SupplementalDataElementsFHIR4"] ; # fhir:title [ fhir:v "SupplementalDataElementsFHIR4"] ; # fhir:status [ fhir:v "draft"] ; # fhir:experimental [ fhir:v true] ; # fhir:type [ ( fhir:coding [ fhir:system [ fhir:v "http://terminology.hl7.org/CodeSystem/library-type"^^xsd:anyURI ] ; fhir:code [ fhir:v "logic-library" ] ; fhir:display [ fhir:v "Logic Library" ] ] ) ] ; # fhir:relatedArtifact ( [ fhir:type [ fhir:v "depends-on" ] ; fhir:display [ fhir:v "Value set Ethnicity" ] ; fhir:resource [ fhir:v "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837"^^xsd:anyURI ; fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837> ] ] [ fhir:type [ fhir:v "depends-on" ] ; fhir:display [ fhir:v "Value set ONC Administrative Sex" ] ; fhir:resource [ fhir:v "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1"^^xsd:anyURI ; fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1> ] ] [ fhir:type [ fhir:v "depends-on" ] ; fhir:display [ fhir:v "Value set Payer" ] ; fhir:resource [ fhir:v "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591"^^xsd:anyURI ; fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591> ] ] [ fhir:type [ fhir:v "depends-on" ] ; fhir:display [ fhir:v "Value set Race" ] ; fhir:resource [ fhir:v "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836"^^xsd:anyURI ; fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836> ] ] ) ; # fhir:parameter ( [ fhir:name [ fhir:v "Patient" ] ; fhir:use [ fhir:v "out" ] ; fhir:min [ fhir:v 0 ] ; fhir:max [ fhir:v "1" ] ; fhir:type [ fhir:v "Patient" ] ] [ fhir:name [ fhir:v "SDE Ethnicity" ] ; fhir:use [ fhir:v "out" ] ; fhir:min [ fhir:v 0 ] ; fhir:max [ fhir:v "*" ] ; fhir:type [ fhir:v "Coding" ] ] [ fhir:name [ fhir:v "SDE Payer" ] ; fhir:use [ fhir:v "out" ] ; fhir:min [ fhir:v 0 ] ; fhir:max [ fhir:v "*" ] ; fhir:type [ fhir:v "Any" ] ] [ fhir:name [ fhir:v "SDE Race" ] ; fhir:use [ fhir:v "out" ] ; fhir:min [ fhir:v 0 ] ; fhir:max [ fhir:v "*" ] ; fhir:type [ fhir:v "Coding" ] ] [ fhir:name [ fhir:v "SDE Sex" ] ; fhir:use [ fhir:v "out" ] ; fhir:min [ fhir:v 0 ] ; fhir:max [ fhir:v "1" ] ; fhir:type [ fhir:v "Coding" ] ] ) ; # fhir:dataRequirement ( [ fhir:type [ fhir:v "Patient" ] ; ( fhir:profile [ fhir:v "http://hl7.org/fhir/StructureDefinition/Patient"^^xsd:anyURI ; fhir:link <http://hl7.org/fhir/StructureDefinition/Patient> ] ) ; ( fhir:mustSupport [ fhir:v "url" ] [ fhir:v "extension" ] [ fhir:v "value" ] ) ] [ fhir:type [ fhir:v "Coverage" ] ; ( fhir:profile [ fhir:v "http://hl7.org/fhir/StructureDefinition/Coverage"^^xsd:anyURI ; fhir:link <http://hl7.org/fhir/StructureDefinition/Coverage> ] ) ; ( fhir:mustSupport [ fhir:v "type" ] [ fhir:v "period" ] ) ; ( fhir:codeFilter [ fhir:path [ fhir:v "type" ] ; fhir:valueSet [ fhir:v "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591"^^xsd:anyURI ; fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591> ] ] ) ] ) ; # fhir:content ( [ fhir:contentType [ fhir:v "text/cql" ] ; fhir:data [ fhir:v "bGlicmFyeSBTdXBwbGVtZW50YWxEYXRhRWxlbWVudHNGSElSNCB2ZXJzaW9uICcyLjAuMDAwJw0KDQovKkB1cGRhdGU6IEBAQlRSIDIwMjAtMDMtMzEgLT4NCkluY3JlbWVudGVkIHZlcnNpb24gdG8gMi4wLjANClVwZGF0ZWQgRkhJUiB2ZXJzaW9uIHRvIDQuMC4xDQpAQEAqLw0KDQp1c2luZyBGSElSIHZlcnNpb24gJzQuMC4xJw0KDQppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzQuMC4xJyBjYWxsZWQgRkhJUkhlbHBlcnMNCg0KdmFsdWVzZXQgIkV0aG5pY2l0eSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzcnIA0KdmFsdWVzZXQgIk9OQyBBZG1pbmlzdHJhdGl2ZSBTZXgiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xJyANCnZhbHVlc2V0ICJQYXllciI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS4zNTkxJyANCnZhbHVlc2V0ICJSYWNlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNicgDQoNCmNvbnRleHQgUGF0aWVudA0KDQpkZWZpbmUgIlNERSBFdGhuaWNpdHkiOg0KICAoZmxhdHRlbiAoDQogICAgICBQYXRpZW50LmV4dGVuc2lvbiBFeHRlbnNpb24NCiAgICAgICAgd2hlcmUgRXh0ZW5zaW9uLnVybCA9ICdodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLWV0aG5pY2l0eScNCiAgICAgICAgICByZXR1cm4gRXh0ZW5zaW9uLmV4dGVuc2lvbg0KICAgICkpIEUNCiAgICAgIHdoZXJlIEUudXJsID0gJ29tYkNhdGVnb3J5Jw0KICAgICAgICBvciBFLnVybCA9ICdkZXRhaWxlZCcNCiAgICAgIHJldHVybiBFLnZhbHVlIGFzIENvZGluZw0KDQpkZWZpbmUgIlNERSBQYXllciI6DQogIFtDb3ZlcmFnZTogdHlwZSBpbiAiUGF5ZXIiXSBQYXllcg0KICAgICAgICByZXR1cm4gew0KICAgICAgICAgIGNvZGU6IFBheWVyLnR5cGUsDQogICAgICAgICAgcGVyaW9kOiBQYXllci5wZXJpb2QNCiAgICAgICAgfQ0KDQpkZWZpbmUgIlNERSBSYWNlIjoNCiAgKGZsYXR0ZW4gKA0KICAgICAgUGF0aWVudC5leHRlbnNpb24gRXh0ZW5zaW9uDQogICAgICAgIHdoZXJlIEV4dGVuc2lvbi51cmwgPSAnaHR0cDovL2hsNy5vcmcvZmhpci91cy9jb3JlL1N0cnVjdHVyZURlZmluaXRpb24vdXMtY29yZS1yYWNlJw0KICAgICAgICAgIHJldHVybiBFeHRlbnNpb24uZXh0ZW5zaW9uDQogICAgKSkgRQ0KICAgICAgd2hlcmUgRS51cmwgPSAnb21iQ2F0ZWdvcnknDQogICAgICAgIG9yIEUudXJsID0gJ2RldGFpbGVkJw0KICAgICAgcmV0dXJuIEUudmFsdWUgYXMgQ29kaW5nDQoNCmRlZmluZSAiU0RFIFNleCI6DQogIGNhc2UNCiAgICAgIHdoZW4gUGF0aWVudC5nZW5kZXIgPSAnbWFsZScgdGhlbiBDb2RlIHsgY29kZTogJ00nLCBzeXN0ZW06ICdodHRwOi8vaGw3Lm9yZy9maGlyL3YzL0FkbWluaXN0cmF0aXZlR2VuZGVyJywgZGlzcGxheTogJ01hbGUnIH0NCiAgICAgIHdoZW4gUGF0aWVudC5nZW5kZXIgPSAnZmVtYWxlJyB0aGVuIENvZGUgeyBjb2RlOiAnRicsIHN5c3RlbTogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdjMvQWRtaW5pc3RyYXRpdmVHZW5kZXInLCBkaXNwbGF5OiAnRmVtYWxlJyB9DQogICAgICBlbHNlIG51bGwNCiAgICBlbmQNCg0K"^^xsd:base64Binary ] ] ) . # <urn:uuid:e3b78b9e-96ee-43fb-aeea-22a7681a1538> a fhir:Library ; fhir:id [ fhir:v "NHSNGlycemicControlHypoglycemicInitialPopulation"] ; # fhir:language [ fhir:v "en"] ; # fhir:text [ fhir:status [ fhir:v "extensions" ] ; fhir:div [ fhir:v "<div xmlns=\"http://www.w3.org/1999/xhtml\"><a name=\"Library_NHSNGlycemicControlHypoglycemicInitialPopulation\"> </a><p><b style=\"color: maroon\">Exception generating Narrative: Unable to read attribute on <FHIR.CodeableConcept> at line 1251 column 71</b></p></div>"^^rdf:XMLLiteral ] ] ; # fhir:url [ fhir:v "http://fhir.org/guides/cqf/Library/NHSNGlycemicControlHypoglycemicInitialPopulation"^^xsd:anyURI] ; # fhir:version [ fhir:v "0.0.002"] ; # fhir:name [ fhir:v "NHSNGlycemicControlHypoglycemicInitialPopulation"] ; # fhir:title [ fhir:v "NHSN Glycemic Control Hypoglycemic Initial Population"] ; # fhir:status [ fhir:v "draft"] ; # fhir:experimental [ fhir:v true] ; # fhir:type [ ( fhir:coding [ fhir:system [ fhir:v "http://terminology.hl7.org/CodeSystem/library-type"^^xsd:anyURI ] ; fhir:code [ fhir:v "logic-library" ] ; fhir:display [ fhir:v "Logic Library" ] ] ) ] ; # fhir:relatedArtifact ( [ fhir:type [ fhir:v "depends-on" ] ; fhir:display [ fhir:v "Library SDE" ] ; fhir:resource [ fhir:v "http://fhir.org/guides/cqf/Library/SupplementalDataElementsFHIR4|2.0.000"^^xsd:anyURI ; fhir:link <http://fhir.org/guides/cqf/Library/SupplementalDataElementsFHIR4|2.0.000> ] ] [ fhir:type [ fhir:v "depends-on" ] ; fhir:display [ fhir:v "Library Global" ] ; fhir:resource [ fhir:v "http://fhir.org/guides/cqf/Library/MATGlobalCommonFunctionsFHIR4|6.1.000"^^xsd:anyURI ; fhir:link <http://fhir.org/guides/cqf/Library/MATGlobalCommonFunctionsFHIR4|6.1.000> ] ] [ fhir:type [ fhir:v "depends-on" ] ; fhir:display [ fhir:v "Code system ActCode" ] ; fhir:resource [ fhir:v "http://terminology.hl7.org/CodeSystem/v3-ActCode"^^xsd:anyURI ; fhir:link <http://terminology.hl7.org/CodeSystem/v3-ActCode> ] ] [ fhir:type [ fhir:v "depends-on" ] ; fhir:display [ fhir:v "Code system Diagnosis Role" ] ; fhir:resource [ fhir:v "http://terminology.hl7.org/CodeSystem/diagnosis-role"^^xsd:anyURI ; fhir:link <http://terminology.hl7.org/CodeSystem/diagnosis-role> ] ] [ fhir:type [ fhir:v "depends-on" ] ; fhir:display [ fhir:v "Code system Specimen Type" ] ; fhir:resource [ fhir:v "http://terminology.hl7.org/CodeSystem/v2-0487"^^xsd:anyURI ; fhir:link <http://terminology.hl7.org/CodeSystem/v2-0487> ] ] [ fhir:type [ fhir:v "depends-on" ] ; fhir:display [ fhir:v "Code system Observation Category" ] ; fhir:resource [ fhir:v "http://terminology.hl7.org/CodeSystem/observation-category"^^xsd:anyURI ; fhir:link <http://terminology.hl7.org/CodeSystem/observation-category> ] ] [ fhir:type [ fhir:v "depends-on" ] ; fhir:display [ fhir:v "Code system Condition Category" ] ; fhir:resource [ fhir:v "http://terminology.hl7.org/CodeSystem/condition-category"^^xsd:anyURI ; fhir:link <http://terminology.hl7.org/CodeSystem/condition-category> ] ] [ fhir:type [ fhir:v "depends-on" ] ; fhir:display [ fhir:v "Value set Blood Glucose Laboratory and Point of Care Tests" ] ; fhir:resource [ fhir:v "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1190.38"^^xsd:anyURI ; fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1190.38> ] ] [ fhir:type [ fhir:v "depends-on" ] ; fhir:display [ fhir:v "Value set Inpatient, Emergency, and Observation Locations" ] ; fhir:resource [ fhir:v "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1046.265"^^xsd:anyURI ; fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1046.265> ] ] [ fhir:type [ fhir:v "depends-on" ] ; fhir:display [ fhir:v "Value set Discharge Disposition" ] ; fhir:resource [ fhir:v "http://terminology.hl7.org/ValueSet/encounter-discharge-disposition"^^xsd:anyURI ; fhir:link <http://terminology.hl7.org/ValueSet/encounter-discharge-disposition> ] ] [ fhir:type [ fhir:v "depends-on" ] ; fhir:display [ fhir:v "Value set Antidiabetic Medications" ] ; fhir:resource [ fhir:v "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1190.58"^^xsd:anyURI ; fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1190.58> ] ] [ fhir:type [ fhir:v "depends-on" ] ; fhir:display [ fhir:v "Value set Emergency Department Visit" ] ; fhir:resource [ fhir:v "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292"^^xsd:anyURI ; fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292> ] ] [ fhir:type [ fhir:v "depends-on" ] ; fhir:display [ fhir:v "Value set Encounter Inpatient" ] ; fhir:resource [ fhir:v "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307"^^xsd:anyURI ; fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307> ] ] [ fhir:type [ fhir:v "depends-on" ] ; fhir:display [ fhir:v "Value set Observation Services" ] ; fhir:resource [ fhir:v "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143"^^xsd:anyURI ; fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143> ] ] [ fhir:type [ fhir:v "depends-on" ] ; fhir:display [ fhir:v "Value set Payer" ] ; fhir:resource [ fhir:v "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591"^^xsd:anyURI ; fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591> ] ] ) ; # fhir:parameter ( [ fhir:name [ fhir:v "Measurement Period" ] ; fhir:use [ fhir:v "in" ] ; fhir:min [ fhir:v 0 ] ; fhir:max [ fhir:v "1" ] ; fhir:type [ fhir:v "Period" ] ] [ fhir:name [ fhir:v "Patient" ] ; fhir:use [ fhir:v "out" ] ; fhir:min [ fhir:v 0 ] ; fhir:max [ fhir:v "1" ] ; fhir:type [ fhir:v "Patient" ] ] [ fhir:name [ fhir:v "Inpatient Encounter" ] ; fhir:use [ fhir:v "out" ] ; fhir:min [ fhir:v 0 ] ; fhir:max [ fhir:v "*" ] ; fhir:type [ fhir:v "Encounter" ] ] [ fhir:name [ fhir:v "Patient Hospital Locations" ] ; fhir:use [ fhir:v "out" ] ; fhir:min [ fhir:v 0 ] ; fhir:max [ fhir:v "*" ] ; fhir:type [ fhir:v "Encounter" ] ] [ fhir:name [ fhir:v "Antidiabetic Drugs Administered or Ordered" ] ; fhir:use [ fhir:v "out" ] ; fhir:min [ fhir:v 0 ] ; fhir:max [ fhir:v "*" ] ; fhir:type [ fhir:v "Any" ] ] [ fhir:name [ fhir:v "Initial Population" ] ; fhir:use [ fhir:v "out" ] ; fhir:min [ fhir:v 0 ] ; fhir:max [ fhir:v "*" ] ; fhir:type [ fhir:v "Encounter" ] ] [ fhir:name [ fhir:v "SDE Chief Complaint" ] ; fhir:use [ fhir:v "out" ] ; fhir:min [ fhir:v 0 ] ; fhir:max [ fhir:v "*" ] ; fhir:type [ fhir:v "Encounter" ] ] [ fhir:name [ fhir:v "SDE Condition" ] ; fhir:use [ fhir:v "out" ] ; fhir:min [ fhir:v 0 ] ; fhir:max [ fhir:v "*" ] ; fhir:type [ fhir:v "Condition" ] ] [ fhir:name [ fhir:v "SDE Condition during Encounter" ] ; fhir:use [ fhir:v "out" ] ; fhir:min [ fhir:v 0 ] ; fhir:max [ fhir:v "*" ] ; fhir:type [ fhir:v "Condition" ] ] [ fhir:name [ fhir:v "SDE Encounter Discharge Dispositions" ] ; fhir:use [ fhir:v "out" ] ; fhir:min [ fhir:v 0 ] ; fhir:max [ fhir:v "*" ] ; fhir:type [ fhir:v "Encounter" ] ] [ fhir:name [ fhir:v "SDE Encounter Locations" ] ; fhir:use [ fhir:v "out" ] ; fhir:min [ fhir:v 0 ] ; fhir:max [ fhir:v "*" ] ; fhir:type [ fhir:v "Encounter" ] ] [ fhir:name [ fhir:v "SDE Medication Administration" ] ; fhir:use [ fhir:v "out" ] ; fhir:min [ fhir:v 0 ] ; fhir:max [ fhir:v "*" ] ; fhir:type [ fhir:v "MedicationAdministration" ] ] [ fhir:name [ fhir:v "SDE Medication Request" ] ; fhir:use [ fhir:v "out" ] ; fhir:min [ fhir:v 0 ] ; fhir:max [ fhir:v "*" ] ; fhir:type [ fhir:v "MedicationRequest" ] ] [ fhir:name [ fhir:v "SDE Blood Glucose Observation" ] ; fhir:use [ fhir:v "out" ] ; fhir:min [ fhir:v 0 ] ; fhir:max [ fhir:v "*" ] ; fhir:type [ fhir:v "Observation" ] ] [ fhir:name [ fhir:v "SDE Payer" ] ; fhir:use [ fhir:v "out" ] ; fhir:min [ fhir:v 0 ] ; fhir:max [ fhir:v "*" ] ; fhir:type [ fhir:v "Any" ] ] [ fhir:name [ fhir:v "SDE Specimen" ] ; fhir:use [ fhir:v "out" ] ; fhir:min [ fhir:v 0 ] ; fhir:max [ fhir:v "*" ] ; fhir:type [ fhir:v "Specimen" ] ] [ fhir:name [ fhir:v "SDE Minimal Patient" ] ; fhir:use [ fhir:v "out" ] ; fhir:min [ fhir:v 0 ] ; fhir:max [ fhir:v "1" ] ; fhir:type [ fhir:v "Patient" ] ] [ fhir:name [ fhir:v "SDE Minimal Medication Requests" ] ; fhir:use [ fhir:v "out" ] ; fhir:min [ fhir:v 0 ] ; fhir:max [ fhir:v "*" ] ; fhir:type [ fhir:v "MedicationRequest" ] ] ) ; # fhir:dataRequirement ( [ fhir:type [ fhir:v "Patient" ] ; ( fhir:profile [ fhir:v "http://hl7.org/fhir/StructureDefinition/Patient"^^xsd:anyURI ; fhir:link <http://hl7.org/fhir/StructureDefinition/Patient> ] ) ] [ fhir:type [ fhir:v "Encounter" ] ; ( fhir:profile [ fhir:v "http://hl7.org/fhir/StructureDefinition/Encounter"^^xsd:anyURI ; fhir:link <http://hl7.org/fhir/StructureDefinition/Encounter> ] ) ; ( fhir:mustSupport [ fhir:v "class" ] ) ; ( fhir:codeFilter [ fhir:path [ fhir:v "class" ] ; ( fhir:code [ fhir:system [ fhir:v "http://terminology.hl7.org/CodeSystem/v3-ActCode"^^xsd:anyURI ] ; fhir:code [ fhir:v "IMP" ] ; fhir:display [ fhir:v "inpatient encounter" ] ] [ fhir:system [ fhir:v "http://terminology.hl7.org/CodeSystem/v3-ActCode"^^xsd:anyURI ] ; fhir:code [ fhir:v "ACUTE" ] ; fhir:display [ fhir:v "inpatient acute" ] ] [ fhir:system [ fhir:v "http://terminology.hl7.org/CodeSystem/v3-ActCode"^^xsd:anyURI ] ; fhir:code [ fhir:v "NONAC" ] ; fhir:display [ fhir:v "inpatient non-acute" ] ] [ fhir:system [ fhir:v "http://terminology.hl7.org/CodeSystem/v3-ActCode"^^xsd:anyURI ] ; fhir:code [ fhir:v "SS" ] ; fhir:display [ fhir:v "short stay" ] ] ) ] ) ] [ fhir:type [ fhir:v "Encounter" ] ; ( fhir:profile [ fhir:v "http://hl7.org/fhir/StructureDefinition/Encounter"^^xsd:anyURI ; fhir:link <http://hl7.org/fhir/StructureDefinition/Encounter> ] ) ; ( fhir:mustSupport [ fhir:v "type" ] [ fhir:v "status" ] [ fhir:v "period" ] ) ; ( fhir:codeFilter [ fhir:path [ fhir:v "type" ] ; fhir:valueSet [ fhir:v "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307"^^xsd:anyURI ; fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307> ] ] ) ] [ fhir:type [ fhir:v "Encounter" ] ; ( fhir:profile [ fhir:v "http://hl7.org/fhir/StructureDefinition/Encounter"^^xsd:anyURI ; fhir:link <http://hl7.org/fhir/StructureDefinition/Encounter> ] ) ; ( fhir:mustSupport [ fhir:v "location" ] [ fhir:v "period" ] ) ] [ fhir:type [ fhir:v "Encounter" ] ; ( fhir:profile [ fhir:v "http://hl7.org/fhir/StructureDefinition/Encounter"^^xsd:anyURI ; fhir:link <http://hl7.org/fhir/StructureDefinition/Encounter> ] ) ; ( fhir:mustSupport [ fhir:v "type" ] [ fhir:v "class" ] [ fhir:v "period" ] ) ; ( fhir:codeFilter [ fhir:path [ fhir:v "type" ] ; fhir:valueSet [ fhir:v "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143"^^xsd:anyURI ; fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143> ] ] ) ] [ fhir:type [ fhir:v "Encounter" ] ; ( fhir:profile [ fhir:v "http://hl7.org/fhir/StructureDefinition/Encounter"^^xsd:anyURI ; fhir:link <http://hl7.org/fhir/StructureDefinition/Encounter> ] ) ; ( fhir:mustSupport [ fhir:v "type" ] [ fhir:v "class" ] [ fhir:v "period" ] ) ; ( fhir:codeFilter [ fhir:path [ fhir:v "type" ] ; fhir:valueSet [ fhir:v "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292"^^xsd:anyURI ; fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292> ] ] ) ] [ fhir:type [ fhir:v "Location" ] ; ( fhir:profile [ fhir:v "http://hl7.org/fhir/StructureDefinition/Location"^^xsd:anyURI ; fhir:link <http://hl7.org/fhir/StructureDefinition/Location> ] ) ; ( fhir:mustSupport [ fhir:v "id" ] ) ] [ fhir:type [ fhir:v "Medication" ] ; ( fhir:profile [ fhir:v "http://hl7.org/fhir/StructureDefinition/Medication"^^xsd:anyURI ; fhir:link <http://hl7.org/fhir/StructureDefinition/Medication> ] ) ; ( fhir:mustSupport [ fhir:v "id" ] ) ] [ fhir:type [ fhir:v "MedicationAdministration" ] ; ( fhir:profile [ fhir:v "http://hl7.org/fhir/StructureDefinition/MedicationAdministration"^^xsd:anyURI ; fhir:link <http://hl7.org/fhir/StructureDefinition/MedicationAdministration> ] ) ; ( fhir:mustSupport [ fhir:v "medication" ] [ fhir:v "status" ] [ fhir:v "effective" ] ) ] [ fhir:type [ fhir:v "MedicationRequest" ] ; ( fhir:profile [ fhir:v "http://hl7.org/fhir/StructureDefinition/MedicationRequest"^^xsd:anyURI ; fhir:link <http://hl7.org/fhir/StructureDefinition/MedicationRequest> ] ) ; ( fhir:mustSupport [ fhir:v "medication" ] [ fhir:v "authoredOn" ] ) ] [ fhir:type [ fhir:v "Specimen" ] ; ( fhir:profile [ fhir:v "http://hl7.org/fhir/StructureDefinition/Specimen"^^xsd:anyURI ; fhir:link <http://hl7.org/fhir/StructureDefinition/Specimen> ] ) ; ( fhir:mustSupport [ fhir:v "id" ] [ fhir:v "collection" ] [ fhir:v "collection.collected" ] ) ] [ fhir:type [ fhir:v "Condition" ] ; ( fhir:profile [ fhir:v "http://hl7.org/fhir/StructureDefinition/Condition"^^xsd:anyURI ; fhir:link <http://hl7.org/fhir/StructureDefinition/Condition> ] ) ; ( fhir:mustSupport [ fhir:v "onset" ] [ fhir:v "category" ] ) ] [ fhir:type [ fhir:v "Observation" ] ; ( fhir:profile [ fhir:v "http://hl7.org/fhir/StructureDefinition/Observation"^^xsd:anyURI ; fhir:link <http://hl7.org/fhir/StructureDefinition/Observation> ] ) ; ( fhir:mustSupport [ fhir:v "code" ] [ fhir:v "effective" ] [ fhir:v "specimen" ] [ fhir:v "specimen.collection" ] [ fhir:v "specimen.collection.collected" ] [ fhir:v "category" ] ) ; ( fhir:codeFilter [ fhir:path [ fhir:v "code" ] ; fhir:valueSet [ fhir:v "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1190.38"^^xsd:anyURI ; fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1190.38> ] ] ) ] [ fhir:type [ fhir:v "Coverage" ] ; ( fhir:profile [ fhir:v "http://hl7.org/fhir/StructureDefinition/Coverage"^^xsd:anyURI ; fhir:link <http://hl7.org/fhir/StructureDefinition/Coverage> ] ) ; ( fhir:mustSupport [ fhir:v "type" ] [ fhir:v "period" ] ) ; ( fhir:codeFilter [ fhir:path [ fhir:v "type" ] ; fhir:valueSet [ fhir:v "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591"^^xsd:anyURI ; fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591> ] ] ) ] ) ; # fhir:content ( [ fhir:contentType [ fhir:v "text/cql" ] ; fhir:data [ fhir:v "bGlicmFyeSBOSFNOR2x5Y2VtaWNDb250cm9sSHlwb2dseWNlbWljSW5pdGlhbFBvcHVsYXRpb24gdmVyc2lvbiAnMC4wLjAwMicKCnVzaW5nIEZISVIgdmVyc2lvbiAnNC4wLjEnCgppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzQuMC4xJyBjYWxsZWQgRkhJUkhlbHBlcnMKaW5jbHVkZSBTdXBwbGVtZW50YWxEYXRhRWxlbWVudHNGSElSNCB2ZXJzaW9uICcyLjAuMDAwJyBjYWxsZWQgU0RFCmluY2x1ZGUgTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zRkhJUjQgdmVyc2lvbiAnNi4xLjAwMCcgY2FsbGVkIEdsb2JhbAoKY29kZXN5c3RlbSAiQWN0Q29kZSI6ICdodHRwOi8vdGVybWlub2xvZ3kuaGw3Lm9yZy9Db2RlU3lzdGVtL3YzLUFjdENvZGUnIApjb2Rlc3lzdGVtICJEaWFnbm9zaXMgUm9sZSI6ICdodHRwOi8vdGVybWlub2xvZ3kuaGw3Lm9yZy9Db2RlU3lzdGVtL2RpYWdub3Npcy1yb2xlJwpjb2Rlc3lzdGVtICJTcGVjaW1lbiBUeXBlIjogJ2h0dHA6Ly90ZXJtaW5vbG9neS5obDcub3JnL0NvZGVTeXN0ZW0vdjItMDQ4NycKY29kZXN5c3RlbSAiT2JzZXJ2YXRpb24gQ2F0ZWdvcnkiOiAnaHR0cDovL3Rlcm1pbm9sb2d5LmhsNy5vcmcvQ29kZVN5c3RlbS9vYnNlcnZhdGlvbi1jYXRlZ29yeScKY29kZXN5c3RlbSAiQ29uZGl0aW9uIENhdGVnb3J5IjogJ2h0dHA6Ly90ZXJtaW5vbG9neS5obDcub3JnL0NvZGVTeXN0ZW0vY29uZGl0aW9uLWNhdGVnb3J5JyAKCnZhbHVlc2V0ICJCbG9vZCBHbHVjb3NlIExhYm9yYXRvcnkgYW5kIFBvaW50IG9mIENhcmUgVGVzdHMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTkwLjM4Jwp2YWx1ZXNldCAiSW5wYXRpZW50LCBFbWVyZ2VuY3ksIGFuZCBPYnNlcnZhdGlvbiBMb2NhdGlvbnMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMDQ2LjI2NScKdmFsdWVzZXQgIkRpc2NoYXJnZSBEaXNwb3NpdGlvbiI6ICdodHRwOi8vdGVybWlub2xvZ3kuaGw3Lm9yZy9WYWx1ZVNldC9lbmNvdW50ZXItZGlzY2hhcmdlLWRpc3Bvc2l0aW9uJwp2YWx1ZXNldCAiQW50aWRpYWJldGljIE1lZGljYXRpb25zIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTE5MC41OCcKdmFsdWVzZXQgIkVtZXJnZW5jeSBEZXBhcnRtZW50IFZpc2l0IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yOTInCnZhbHVlc2V0ICJFbmNvdW50ZXIgSW5wYXRpZW50IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjY2Ni41LjMwNycKdmFsdWVzZXQgIk9ic2VydmF0aW9uIFNlcnZpY2VzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMS4xNDMnCgpjb2RlICJDaGllZiBDb21wbGFpbnQiOiAnQ0MnIGZyb20gIkRpYWdub3NpcyBSb2xlIiBkaXNwbGF5ICdDaGllZiBjb21wbGFpbnQnCmNvZGUgImVtZXJnZW5jeSI6ICdFTUVSJyBmcm9tICJBY3RDb2RlIiBkaXNwbGF5ICdlbWVyZ2VuY3knCmNvZGUgImlucGF0aWVudCBhY3V0ZSI6ICdBQ1VURScgZnJvbSAiQWN0Q29kZSIgZGlzcGxheSAnaW5wYXRpZW50IGFjdXRlJwpjb2RlICJpbnBhdGllbnQgZW5jb3VudGVyIjogJ0lNUCcgZnJvbSAiQWN0Q29kZSIgZGlzcGxheSAnaW5wYXRpZW50IGVuY291bnRlcicKY29kZSAiaW5wYXRpZW50IG5vbi1hY3V0ZSI6ICdOT05BQycgZnJvbSAiQWN0Q29kZSIgZGlzcGxheSAnaW5wYXRpZW50IG5vbi1hY3V0ZScKY29kZSAib2JzZXJ2YXRpb24gZW5jb3VudGVyIjogJ09CU0VOQycgZnJvbSAiQWN0Q29kZSIgZGlzcGxheSAnb2JzZXJ2YXRpb24gZW5jb3VudGVyJwpjb2RlICJzaG9ydCBzdGF5IjogJ1NTJyBmcm9tICJBY3RDb2RlIiBkaXNwbGF5ICdzaG9ydCBzdGF5Jwpjb2RlICJsYWJvcmF0b3J5IjogJ2xhYm9yYXRvcnknIGZyb20gIk9ic2VydmF0aW9uIENhdGVnb3J5IiBkaXNwbGF5ICdMYWJvcmF0b3J5Jwpjb2RlICJlbmNvdW50ZXItZGlhZ25vc2lzIjogJ2VuY291bnRlci1kaWFnbm9zaXMnIGZyb20gIkNvbmRpdGlvbiBDYXRlZ29yeSIgZGlzcGxheSdlbmNvdW50ZXItZGlhZ25vc2lzJwoKcGFyYW1ldGVyICJNZWFzdXJlbWVudCBQZXJpb2QiIEludGVydmFsPERhdGVUaW1lPgogZGVmYXVsdCBJbnRlcnZhbFtAMjAyMi0wMS0wMVQwMDowMDowMC4wLCBAMjAyMi0wMS0zMVQwMDowMDowMC4wKQoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIkluaXRpYWwgUG9wdWxhdGlvbiI6CiAgKCJJbnBhdGllbnQgRW5jb3VudGVyIgogIHVuaW9uICJQYXRpZW50IEhvc3BpdGFsIExvY2F0aW9ucyIpIElucGF0aWVudEVuY291bnRlcnMKICB3aXRoICJBbnRpZGlhYmV0aWMgRHJ1Z3MgQWRtaW5pc3RlcmVkIG9yIE9yZGVyZWQiIEFERAogIHN1Y2ggdGhhdCBDb2FsZXNjZShzdGFydCBvZiBHbG9iYWwuIk5vcm1hbGl6ZSBJbnRlcnZhbCIoQURELmVmZmVjdGl2ZSksIEFERC5hdXRob3JlZE9uKQogICAgICBkdXJpbmcgIkhvc3BpdGFsaXphdGlvbldpdGhPYnNlcnZhdGlvbk9yRW1lcmdlbmN5IihJbnBhdGllbnRFbmNvdW50ZXJzKQogICAgYW5kIENvYWxlc2NlKHN0YXJ0IG9mIEdsb2JhbC4iTm9ybWFsaXplIEludGVydmFsIihBREQuZWZmZWN0aXZlKSwgQURELmF1dGhvcmVkT24pIGR1cmluZyAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKZGVmaW5lICJJbnBhdGllbnQgRW5jb3VudGVyIjoKICBbRW5jb3VudGVyOiBjbGFzcyBpbiB7ImlucGF0aWVudCBlbmNvdW50ZXIiLCAiaW5wYXRpZW50IGFjdXRlIiwgImlucGF0aWVudCBub24tYWN1dGUiLCAic2hvcnQgc3RheSJ9XQogICAgdW5pb24gW0VuY291bnRlcjogIkVuY291bnRlciBJbnBhdGllbnQiXSBFbmNvdW50ZXJzCiAgd2hlcmUgRW5jb3VudGVycy5zdGF0dXMgaW4geydpbi1wcm9ncmVzcycsICdmaW5pc2hlZCd9CiAgICBhbmQgRW5jb3VudGVycy5wZXJpb2Qgb3ZlcmxhcHMgIk1lYXN1cmVtZW50IFBlcmlvZCIKCmRlZmluZSAiUGF0aWVudCBIb3NwaXRhbCBMb2NhdGlvbnMiOgogIFtFbmNvdW50ZXJdIEVuY291bnRlcnMKICB3aGVyZSBleGlzdHMoCiAgICBFbmNvdW50ZXJzLmxvY2F0aW9uIEVuY291bnRlckxvY2F0aW9uCiAgICB3aGVyZSBHbG9iYWwuR2V0TG9jYXRpb24oRW5jb3VudGVyTG9jYXRpb24ubG9jYXRpb24pLnR5cGUgaW4gIklucGF0aWVudCwgRW1lcmdlbmN5LCBhbmQgT2JzZXJ2YXRpb24gTG9jYXRpb25zIgogICAgICBhbmQgRW5jb3VudGVyTG9jYXRpb24ucGVyaW9kIGR1cmluZyBFbmNvdW50ZXJzLnBlcmlvZAogICkKCmRlZmluZSAiQW50aWRpYWJldGljIERydWdzIEFkbWluaXN0ZXJlZCBvciBPcmRlcmVkIjoKICAoW01lZGljYXRpb25BZG1pbmlzdHJhdGlvbl0gQURETWVkQWRtaW4KICAgIHdoZXJlIEdldE1lZGljYXRpb25Db2RlKEFERE1lZEFkbWluLm1lZGljYXRpb24pIGluICJBbnRpZGlhYmV0aWMgTWVkaWNhdGlvbnMiCiAgICAgIGFuZCBBRERNZWRBZG1pbi5zdGF0dXMgfiAnY29tcGxldGVkJykKICB1bmlvbiAoCiAgICBbTWVkaWNhdGlvblJlcXVlc3RdIE1lZGljYXRpb25SZXF1ZXN0cwogICAgICB3aGVyZSBHZXRNZWRpY2F0aW9uQ29kZShNZWRpY2F0aW9uUmVxdWVzdHMubWVkaWNhdGlvbikgaW4gIkFudGlkaWFiZXRpYyBNZWRpY2F0aW9ucyIKICApCgpkZWZpbmUgZnVuY3Rpb24gIkdldE1lZGljYXRpb25Db2RlIihjaG9pY2UgQ2hvaWNlPEZISVIuQ29kZWFibGVDb25jZXB0LCBGSElSLlJlZmVyZW5jZT4pOgogIGNhc2UKICAgIHdoZW4gY2hvaWNlIGlzIEZISVIuQ29kZWFibGVDb25jZXB0IHRoZW4KICAgICAgY2hvaWNlIGFzIEZISVIuQ29kZWFibGVDb25jZXB0CiAgICB3aGVuIGNob2ljZSBpcyBGSElSLlJlZmVyZW5jZSB0aGVuCiAgICAgIEdldE1lZGljYXRpb24oY2hvaWNlIGFzIEZISVIuUmVmZXJlbmNlKS5jb2RlCiAgICBlbHNlCiAgICAgIG51bGwgYXMgRkhJUi5Db2RlYWJsZUNvbmNlcHQKICBlbmQKCmRlZmluZSBmdW5jdGlvbiAiR2V0TWVkaWNhdGlvbiIocmVmZXJlbmNlIFJlZmVyZW5jZSApOgogIHNpbmdsZXRvbiBmcm9tICgKICAgIFtNZWRpY2F0aW9uXSBNIHdoZXJlIE0uaWQgPSBHbG9iYWwuR2V0SWQocmVmZXJlbmNlLnJlZmVyZW5jZSkKICApCgpkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsaXphdGlvbldpdGhPYnNlcnZhdGlvbk9yRW1lcmdlbmN5IihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIgKToKICBUaGVFbmNvdW50ZXIgVmlzaXQKICAgIGxldCBPYnNWaXNpdDogTGFzdChbRW5jb3VudGVyOiAiT2JzZXJ2YXRpb24gU2VydmljZXMiXSBMYXN0T2JzCiAgICAgICAgd2hlcmUgTGFzdE9icy5jbGFzcyB+ICJvYnNlcnZhdGlvbiBlbmNvdW50ZXIiCiAgICAgICAgICBhbmQgTGFzdE9icy5wZXJpb2QgZW5kcyAxIGhvdXIgb3IgbGVzcyBvbiBvciBiZWZvcmUgc3RhcnQgb2YgVmlzaXQucGVyaW9kCiAgCQkJCXNvcnQgYnkgZW5kIG9mIHBlcmlvZAogICAgKSwKICAgIFZpc2l0U3RhcnQ6IENvYWxlc2NlKHN0YXJ0IG9mIE9ic1Zpc2l0LnBlcmlvZCwgc3RhcnQgb2YgVmlzaXQucGVyaW9kKSwKICAgIEVEVmlzaXQ6IExhc3QoW0VuY291bnRlcjogIkVtZXJnZW5jeSBEZXBhcnRtZW50IFZpc2l0Il0gTGFzdEVECiAgICAgICAgd2hlcmUgTGFzdEVELmNsYXNzIH4gImVtZXJnZW5jeSIKICAgICAgICAgIGFuZCBMYXN0RUQucGVyaW9kIGVuZHMgMSBob3VyIG9yIGxlc3Mgb24gb3IgYmVmb3JlIHN0YXJ0IG9mIFZpc2l0LnBlcmlvZAogIAkJCQlzb3J0IGJ5IGVuZCBvZiBwZXJpb2QKICAgICkKICAgIHJldHVybiBJbnRlcnZhbFtDb2FsZXNjZShzdGFydCBvZiBFRFZpc2l0LnBlcmlvZCwgVmlzaXRTdGFydCksIGVuZCBvZiBWaXNpdC5wZXJpb2RdCgpkZWZpbmUgZnVuY3Rpb24gIkdldFNwZWNpbWVuIihyZWZlcmVuY2UgUmVmZXJlbmNlKToKICBzaW5nbGV0b24gZnJvbSAoCiAgICBbU3BlY2ltZW5dIFMgd2hlcmUgUy5pZCA9IEdsb2JhbC5HZXRJZChyZWZlcmVuY2UucmVmZXJlbmNlKQogICkKCmRlZmluZSBmdW5jdGlvbiAiR2V0UGF0aWVudEV4dGVuc2lvbnMiKGRvbWFpblJlc291cmNlIERvbWFpblJlc291cmNlKToKICBkb21haW5SZXNvdXJjZS5leHRlbnNpb24gRQogICAgd2hlcmUgRS51cmwgPSAnaHR0cDovL2hsNy5vcmcvZmhpci91cy9jb3JlL1N0cnVjdHVyZURlZmluaXRpb24vdXMtY29yZS1yYWNlJwogICAgICBvciBFLnVybCA9ICdodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLWV0aG5pY2l0eScKICAgICAgb3IgRS51cmwgPSAnaHR0cDovL2hsNy5vcmcvZmhpci91cy9jb3JlL1N0cnVjdHVyZURlZmluaXRpb24vdXMtY29yZS1iaXJ0aHNleCcKICAgICAgb3IgRS51cmwgPSAnaHR0cHM6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uLXVzLWNvcmUtZ2VuZGVySWRlbnRpdHknCiAgICByZXR1cm4gRQoKZGVmaW5lIGZ1bmN0aW9uICJHZXRQYXRpZW50QWRkcmVzcyIoYWRkcmVzc2VzIExpc3Q8RkhJUi5BZGRyZXNzPik6CiAgYWRkcmVzc2VzIGFkZHJlc3MKICByZXR1cm4gRkhJUi5BZGRyZXNzewogICAgcG9zdGFsQ29kZTogYWRkcmVzcy5wb3N0YWxDb2RlCiAgfQoKZGVmaW5lIGZ1bmN0aW9uICJNZWRpY2F0aW9uUmVxdWVzdFJlc291cmNlIihtZWRpY2F0aW9uUmVxdWVzdCBNZWRpY2F0aW9uUmVxdWVzdCk6CiAgbWVkaWNhdGlvblJlcXVlc3QgbQogIHJldHVybiBNZWRpY2F0aW9uUmVxdWVzdHsKICAgIGlkOiBGSElSLmlkIHt2YWx1ZTogJ25ldy0nICsgbS5pZH0sCiAgICBtZWRpY2F0aW9uOiBHZXRNZWRpY2F0aW9uQ29kZShtLm1lZGljYXRpb24pLAogICAgZG9zYWdlSW5zdHJ1Y3Rpb246IG0uZG9zYWdlSW5zdHJ1Y3Rpb24KICB9CiAgCi8vU3VwcGxlbWVudCBEYXRhIEVsZW1lbnRzCmRlZmluZSAiU0RFIENoaWVmIENvbXBsYWludCI6CiAgIkluaXRpYWwgUG9wdWxhdGlvbiIgSVAKICB3aXRoIElQLmRpYWdub3NpcyBJbml0aWFsUG9wdWxhdGlvbkRpYWdub3NpcwogIHN1Y2ggdGhhdCBJbml0aWFsUG9wdWxhdGlvbkRpYWdub3Npcy51c2UgfiAiQ2hpZWYgQ29tcGxhaW50IgoKZGVmaW5lICJTREUgQ29uZGl0aW9uIjoKICBbQ29uZGl0aW9uXSBDb25kaXRpb25zCiAgd2l0aCAiSW5pdGlhbCBQb3B1bGF0aW9uIiBJbml0aWFsUG9wdWxhdGlvbgogIHN1Y2ggdGhhdCBHbG9iYWwuIk5vcm1hbGl6ZSBJbnRlcnZhbCIoQ29uZGl0aW9ucy5vbnNldCkgb3ZlcmxhcHMgSW5pdGlhbFBvcHVsYXRpb24ucGVyaW9kCiAgCmRlZmluZSAiU0RFIENvbmRpdGlvbiBkdXJpbmcgRW5jb3VudGVyIjoKICBbQ29uZGl0aW9uXSBDb25kaXRpb25FbmNvdW50ZXJEaWFnbm9zaXMKICB3aXRoIENvbmRpdGlvbkVuY291bnRlckRpYWdub3Npcy5jYXRlZ29yeSBDYXRlZ29yeQogIHN1Y2ggdGhhdCBDYXRlZ29yeSB+ICJlbmNvdW50ZXItZGlhZ25vc2lzIgogICAgYW5kIGV4aXN0cygiSW5pdGlhbCBQb3B1bGF0aW9uIikKICAgIApkZWZpbmUgIlNERSBFbmNvdW50ZXIgRGlzY2hhcmdlIERpc3Bvc2l0aW9ucyI6CgkiSW5pdGlhbCBQb3B1bGF0aW9uIiBEaXNjaGFyZ2VEaXNwb3NpdGlvbnMgCiAgd2hlcmUgRGlzY2hhcmdlRGlzcG9zaXRpb25zLmhvc3BpdGFsaXphdGlvbi5kaXNjaGFyZ2VEaXNwb3NpdGlvbiBpbiAiRGlzY2hhcmdlIERpc3Bvc2l0aW9uIgogIApkZWZpbmUgIlNERSBFbmNvdW50ZXIgTG9jYXRpb25zIjoKICAiSW5pdGlhbCBQb3B1bGF0aW9uIiBJbml0aWFsUG9wdWxhdGlvbiAKICB3aGVyZSBleGlzdHMgKCAKICAgIEluaXRpYWxQb3B1bGF0aW9uLmxvY2F0aW9uIEluaXRpYWxQb3B1bGF0aW9uTG9jYXRpb24KICAgIHdoZXJlIChHbG9iYWwuR2V0TG9jYXRpb24oSW5pdGlhbFBvcHVsYXRpb25Mb2NhdGlvbi5sb2NhdGlvbikudHlwZSBpbiAiSW5wYXRpZW50LCBFbWVyZ2VuY3ksIGFuZCBPYnNlcnZhdGlvbiBMb2NhdGlvbnMiICAgCiAgICAgIGFuZCBJbml0aWFsUG9wdWxhdGlvbkxvY2F0aW9uLnBlcmlvZCBkdXJpbmcgSW5pdGlhbFBvcHVsYXRpb24ucGVyaW9kKQogICkKCmRlZmluZSAiU0RFIE1lZGljYXRpb24gQWRtaW5pc3RyYXRpb24iOgoJW01lZGljYXRpb25BZG1pbmlzdHJhdGlvbl0gTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9ucwogIHdpdGggIkluaXRpYWwgUG9wdWxhdGlvbiIgSW5pdGlhbFBvcHVsYXRpb24KICBzdWNoIHRoYXQgc3RhcnQgb2YgR2xvYmFsLiJOb3JtYWxpemUgSW50ZXJ2YWwiKE1lZGljYXRpb25BZG1pbmlzdHJhdGlvbnMuZWZmZWN0aXZlKSBkdXJpbmcgIkhvc3BpdGFsaXphdGlvbldpdGhPYnNlcnZhdGlvbk9yRW1lcmdlbmN5IihJbml0aWFsUG9wdWxhdGlvbikKICAgIGFuZCBzdGFydCBvZiBHbG9iYWwuIk5vcm1hbGl6ZSBJbnRlcnZhbCIoTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9ucy5lZmZlY3RpdmUpIGR1cmluZyAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKZGVmaW5lICJTREUgTWVkaWNhdGlvbiBSZXF1ZXN0IjoKCVtNZWRpY2F0aW9uUmVxdWVzdF0gTWVkaWNhdGlvblJlcXVlc3RzCiAgd2l0aCAiSW5pdGlhbCBQb3B1bGF0aW9uIiBJbml0aWFsUG9wdWxhdGlvbgoJc3VjaCB0aGF0IE1lZGljYXRpb25SZXF1ZXN0cy5hdXRob3JlZE9uIGR1cmluZyAiSG9zcGl0YWxpemF0aW9uV2l0aE9ic2VydmF0aW9uT3JFbWVyZ2VuY3kiKEluaXRpYWxQb3B1bGF0aW9uKQogICAgYW5kIE1lZGljYXRpb25SZXF1ZXN0cy5hdXRob3JlZE9uIGR1cmluZyAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKZGVmaW5lICJTREUgQmxvb2QgR2x1Y29zZSBPYnNlcnZhdGlvbiI6CglbT2JzZXJ2YXRpb246ICJCbG9vZCBHbHVjb3NlIExhYm9yYXRvcnkgYW5kIFBvaW50IG9mIENhcmUgVGVzdHMiXSBPYnNlcnZhdGlvbnMgCiAgd2l0aCAiSW5pdGlhbCBQb3B1bGF0aW9uIiBJbml0aWFsUG9wdWxhdGlvbgogIHN1Y2ggdGhhdCBzdGFydCBvZiBHbG9iYWwuIk5vcm1hbGl6ZSBJbnRlcnZhbCIoT2JzZXJ2YXRpb25zLmVmZmVjdGl2ZSkgZHVyaW5nIEluaXRpYWxQb3B1bGF0aW9uLnBlcmlvZAogICAgb3IgR2xvYmFsLiJOb3JtYWxpemUgSW50ZXJ2YWwiKEdldFNwZWNpbWVuKE9ic2VydmF0aW9ucy5zcGVjaW1lbikuY29sbGVjdGlvbi5jb2xsZWN0ZWQpIGR1cmluZyBJbml0aWFsUG9wdWxhdGlvbi5wZXJpb2QKICB3aXRoIE9ic2VydmF0aW9ucy5jYXRlZ29yeSBjYXRlZ29yeQogIHN1Y2ggdGhhdCBjYXRlZ29yeSB+ICJsYWJvcmF0b3J5IgoKZGVmaW5lICJTREUgUGF5ZXIiOiAKCVNERS4iU0RFIFBheWVyIiBQYXllcgogIHdpdGggIkluaXRpYWwgUG9wdWxhdGlvbiIgSW5pdGlhbFBvcHVsYXRpb24KICBzdWNoIHRoYXQgc3RhcnQgb2YgUGF5ZXIucGVyaW9kIGJlZm9yZSBlbmQgb2YgSW5pdGlhbFBvcHVsYXRpb24ucGVyaW9kCiAgCmRlZmluZSAiU0RFIFNwZWNpbWVuIjoKICBbU3BlY2ltZW5dIFNwZWNpbWVuCiAgd2l0aCAiSW5pdGlhbCBQb3B1bGF0aW9uIiBJbml0aWFsUG9wdWxhdGlvbgogIHN1Y2ggdGhhdCBHbG9iYWwuIk5vcm1hbGl6ZSBJbnRlcnZhbCIoU3BlY2ltZW4uY29sbGVjdGlvbi5jb2xsZWN0ZWQpIGR1cmluZyBJbml0aWFsUG9wdWxhdGlvbi5wZXJpb2QKCi8vQ2hhbmdlIG9uIENRRiBydWxlciBoYXBwZW5lZCBvbiA4LzEyLiBDaGVjayB0byBtYWtlIHN1cmUgQ1FGLVJ1bGVyIHZlcnNpb24gaXMgZGF0ZWQgYXQgb3IgYWZ0ZXIgKHZlcnNpb24gMi4wLjApLiAKLy9XYWl0IDItMyBkYXlzIGJlZm9yZSB0aGUgY2hhbmdlcyBhcmUgYWN0dWFsbHkgYXBwbGllZCB0byB0aGUgQ1FGLVJ1bGVyLgpkZWZpbmUgIlNERSBNaW5pbWFsIFBhdGllbnQiOgogIFBhdGllbnR7CiAgICBpZDogUGF0aWVudC5pZCwKICAgIGV4dGVuc2lvbjogR2V0UGF0aWVudEV4dGVuc2lvbnMoUGF0aWVudCksCiAgICBpZGVudGlmaWVyOiBQYXRpZW50LmlkZW50aWZpZXIsCiAgICBnZW5kZXI6IFBhdGllbnQuZ2VuZGVyLAogICAgYmlydGhEYXRlOiBQYXRpZW50LmJpcnRoRGF0ZSwKICAgIGRlY2Vhc2VkOiBQYXRpZW50LmRlY2Vhc2VkLAogICAgYWRkcmVzczogR2V0UGF0aWVudEFkZHJlc3MoUGF0aWVudC5hZGRyZXNzKQogIH0KICAKZGVmaW5lICJTREUgTWluaW1hbCBNZWRpY2F0aW9uIFJlcXVlc3RzIjoKICBbTWVkaWNhdGlvblJlcXVlc3RdIE1lZGljYXRpb25SZXF1ZXN0cwogIHJldHVybiBNZWRpY2F0aW9uUmVxdWVzdFJlc291cmNlKE1lZGljYXRpb25SZXF1ZXN0cykKCi8qZGVmaW5lICJTREUgUmVzb3VyY2UgQ29uc3RydWN0aW9uIFRlc3QgSW5saWIiOgogIEZISVIuT2JzZXJ2YXRpb24gCiAgewogICAgaWQ6IEZISVIuaWQgeyB2YWx1ZTogJ29ic2VydmF0aW9uLXNkZXRlc3RpbmxpYi0nICsgVG9TdHJpbmcoTm93KCkpIH0sCiAgICBzdGF0dXM6IEZISVIuT2JzZXJ2YXRpb25TdGF0dXMgeyB2YWx1ZTogJ2ZpbmFsJyB9LAogICAgY29kZTogRkhJUi5Db2RlYWJsZUNvbmNlcHQgeyBjb2Rpbmc6IHsgRkhJUi5Db2RpbmcgeyBjb2RlOiBGSElSLmNvZGUgeyB2YWx1ZTogJ2RheXMtc2luY2UtYXBwb2ludG1lbnQnIH0gfSB9IH0sCiAgICBzdWJqZWN0OiBGSElSLlJlZmVyZW5jZSB7IHJlZmVyZW5jZTogRkhJUi5zdHJpbmcgeyB2YWx1ZTogUGF0aWVudC5pZC52YWx1ZSB9fQogICAgLy92YWx1ZTogRkhJUi5pbnRlZ2VyIHsgdmFsdWU6IEFicyhkaWZmZXJlbmNlIGluIGRheXMgYmV0d2VlbiBlbmQgb2YgU0RFLiJMYXN0IEFwcG9pbnRtZW50Ii5wZXJpb2QgYW5kIFRvRGF0ZVRpbWUoVG9kYXkoKSkpIH0KICB9Ki8KCiAgZGVmaW5lICJTREUgRXRobmljaXR5IENvZGluZyI6CiAgICBTREUuIlNERSBFdGhuaWNpdHkiCgogIGRlZmluZSAiU0RFIFJhY2UgQ29kaW5nIjoKICAgIFNERS4iU0RFIFJhY2Ui"^^xsd:base64Binary ] ] ) . # <urn:uuid:61d3ae55-c7b7-484f-96df-4f3ef8c080c0> a fhir:Measure ; fhir:id [ fhir:v "NHSNGlycemicControlHypoglycemicInitialPopulation"] ; # fhir:language [ fhir:v "en"] ; # fhir:text [ fhir:status [ fhir:v "extensions" ] ; fhir:div [ fhir:v "<div xmlns=\"http://www.w3.org/1999/xhtml\"><a name=\"Measure_NHSNGlycemicControlHypoglycemicInitialPopulation\"> </a>\n <table class=\"narrative-table\">\n <tbody>\n<tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\">Metadata</th>\n\n\n</tr>\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Title</th>\n\n\n\n<td class=\"content-container\">NHSN Glycemic Control, Hypoglycemia Initial Population</td>\n\n\n</tr>\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Version</th>\n\n\n\n<td class=\"content-container\">0.000.01</td>\n\n\n</tr>\n\n\n\n\n\n\n\n \n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Identifier</th>\n\n\n\n<td class=\"content-container\">nhsnglycemiccontrolhypoglycemicinitialpopulation</td>\n\n\n</tr>\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<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Experimental</th>\n\n\n\n<td class=\"content-container\">true</td>\n\n\n</tr>\n\n\n\n\n\n\n\n\n\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Steward (Publisher)</th>\n\n\n\n<td class=\"content-container\">NHSN</td>\n\n\n</tr>\n\n\n\n\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Description</th>\n\n\n\n<td class=\"content-container\"><div><p>All inpatient encounters (including ED/Observation visits that end within 1 hour of the start of the inpatient encounter) for patients of all ages where at least one ADD was ordered or administered during the encounter that is during the measurement period.</p>\n</div></td>\n\n\n</tr>\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Purpose</th>\n\n\n\n<td class=\"content-container\"><div><p>The primary purpose of this site is to provide CDC’s NHSN with access to view measure specification content in the dQMs under development by Lantana Consulting Group. Please note, this site is draft and undergoes constant revision and is not intended to serve as an implementation guide.</p>\n</div></td>\n\n\n</tr>\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Copyright</th>\n\n\n\n<td class=\"content-container\"><div><p>This measure and specifications are subject to further revisions. This performance measure is not a clinical guideline, does not establish a standard of medical care and has not been tested for all potential applications. THE MEASURES AND SPECIFICATIONS ARE PROVIDED “AS IS” WITHOUT WARRANTY OF ANY KIND.</p>\n</div></td>\n\n\n</tr>\n\n\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Measure Scoring</th>\n\n\n\n<td class=\"content-container\">\n Cohort\n\n\n</td>\n\n\n</tr>\n\n\n\n\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Measure Type</th>\n\n\n\n<td class=\"content-container\">\n Outcome\n\n\n</td>\n\n\n</tr>\n\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Rationale</th>\n\n\n\n<td class=\"content-container\"><div><p>The NHSN Glycemic Control, Hypoglycemia module provides a mechanism for facilities to report inpatient medication-related hypoglycemia events, and to provide analytic reports based on these data to inform glycemic control quality improvement efforts and patient safety events. The primary objective of the NHSN Glycemic Control, Hypoglycemia module is to facilitate measurement and benchmarking of medication-related hypoglycemia events within a facility. As additional data are collected by NHSN, an additional objective will be to facilitate inter-facility benchmarking and evaluate national-level trends of medication-related hypoglycemia over time. The IP dQM provides the initial population and FHIR line-level data necessary for calculating the module metrics.</p>\n</div></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\">Measure Group (Rate)</th>\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 <tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\">Supplemental Data Elements</th>\n\n\n</tr>\n\n\n<tr>\n \n\n<th scope=\"row\" class=\"row-header\">Supplemental Data Element</th>\n\n\n <td class=\"content-container\">\n \n <em>ID</em>: sde-chief-complaint\n \n \n \n \n <em>Description</em>: No description provided\n \n \n \n <br/>\n \n \n <em>Logic Definition</em>: <a href=\"#nhsnglycemiccontrolhypoglycemicinitialpopulation-sde-chief-complaint\">SDE Chief Complaint</a> \n \n \n \n </td>\n</tr>\n\n<tr>\n \n\n<th scope=\"row\" class=\"row-header\">Supplemental Data Element</th>\n\n\n <td class=\"content-container\">\n \n <em>ID</em>: sde-condition\n \n \n \n \n <em>Description</em>: No description provided\n \n \n \n <br/>\n \n \n <em>Logic Definition</em>: <a href=\"#nhsnglycemiccontrolhypoglycemicinitialpopulation-sde-condition\">SDE Condition</a> \n \n \n \n </td>\n</tr>\n\n<tr>\n \n\n<th scope=\"row\" class=\"row-header\">Supplemental Data Element</th>\n\n\n <td class=\"content-container\">\n \n <em>ID</em>: sde-condition-during-encounter\n \n \n \n \n <em>Description</em>: No description provided\n \n \n \n <br/>\n \n \n <em>Logic Definition</em>: <a href=\"#nhsnglycemiccontrolhypoglycemicinitialpopulation-sde-condition-during-encounter\">SDE Condition during Encounter</a> \n \n \n \n </td>\n</tr>\n\n<tr>\n \n\n<th scope=\"row\" class=\"row-header\">Supplemental Data Element</th>\n\n\n <td class=\"content-container\">\n \n <em>ID</em>: sde-encounter-discharge-dispositions\n \n \n \n \n <em>Description</em>: No description provided\n \n \n \n <br/>\n \n \n <em>Logic Definition</em>: <a href=\"#nhsnglycemiccontrolhypoglycemicinitialpopulation-sde-encounter-discharge-dispositions\">SDE Encounter Discharge Dispositions</a> \n \n \n \n </td>\n</tr>\n\n<tr>\n \n\n<th scope=\"row\" class=\"row-header\">Supplemental Data Element</th>\n\n\n <td class=\"content-container\">\n \n <em>ID</em>: sde-encounter-locations\n \n \n \n \n <em>Description</em>: No description provided\n \n \n \n <br/>\n \n \n <em>Logic Definition</em>: <a href=\"#nhsnglycemiccontrolhypoglycemicinitialpopulation-sde-encounter-locations\">SDE Encounter Locations</a> \n \n \n \n </td>\n</tr>\n\n<tr>\n \n\n<th scope=\"row\" class=\"row-header\">Supplemental Data Element</th>\n\n\n <td class=\"content-container\">\n \n <em>ID</em>: sde-medication-administration\n \n \n \n \n <em>Description</em>: No description provided\n \n \n \n <br/>\n \n \n <em>Logic Definition</em>: <a href=\"#nhsnglycemiccontrolhypoglycemicinitialpopulation-sde-medication-administration\">SDE Medication Administration</a> \n \n \n \n </td>\n</tr>\n\n<tr>\n \n\n<th scope=\"row\" class=\"row-header\">Supplemental Data Element</th>\n\n\n <td class=\"content-container\">\n \n <em>ID</em>: sde-medication-request\n \n \n \n \n <em>Description</em>: No description provided\n \n \n \n <br/>\n \n \n <em>Logic Definition</em>: <a href=\"#nhsnglycemiccontrolhypoglycemicinitialpopulation-sde-medication-request\">SDE Medication Request</a> \n \n \n \n </td>\n</tr>\n\n<tr>\n \n\n<th scope=\"row\" class=\"row-header\">Supplemental Data Element</th>\n\n\n <td class=\"content-container\">\n \n <em>ID</em>: sde-blood-glucose-observation\n \n \n \n \n <em>Description</em>: No description provided\n \n \n \n <br/>\n \n \n <em>Logic Definition</em>: <a href=\"#nhsnglycemiccontrolhypoglycemicinitialpopulation-sde-blood-glucose-observation\">SDE Blood Glucose Observation</a> \n \n \n \n </td>\n</tr>\n\n<tr>\n \n\n<th scope=\"row\" class=\"row-header\">Supplemental Data Element</th>\n\n\n <td class=\"content-container\">\n \n <em>ID</em>: sde-payer\n \n \n \n \n <em>Description</em>: No description provided\n \n \n \n <br/>\n \n \n <em>Logic Definition</em>: <a href=\"#nhsnglycemiccontrolhypoglycemicinitialpopulation-sde-payer\">SDE Payer</a> \n \n \n \n </td>\n</tr>\n\n<tr>\n \n\n<th scope=\"row\" class=\"row-header\">Supplemental Data Element</th>\n\n\n <td class=\"content-container\">\n \n <em>ID</em>: sde-specimen\n \n \n \n \n <em>Description</em>: No description provided\n \n \n \n <br/>\n \n \n <em>Logic Definition</em>: <a href=\"#nhsnglycemiccontrolhypoglycemicinitialpopulation-sde-specimen\">SDE Specimen</a> \n \n \n \n </td>\n</tr>\n\n<tr>\n \n\n<th scope=\"row\" class=\"row-header\">Supplemental Data Element</th>\n\n\n <td class=\"content-container\">\n \n <em>ID</em>: sde-minimal-patient\n \n \n \n \n <em>Description</em>: No description provided\n \n \n \n <br/>\n \n \n <em>Logic Definition</em>: <a href=\"#nhsnglycemiccontrolhypoglycemicinitialpopulation-sde-minimal-patient\">SDE Minimal Patient</a> \n \n \n \n </td>\n</tr>\n\n<tr>\n \n\n<th scope=\"row\" class=\"row-header\">Supplemental Data Element</th>\n\n\n <td class=\"content-container\">\n \n <em>ID</em>: sde-minimal-medication-requests\n \n \n \n \n <em>Description</em>: No description provided\n \n \n \n <br/>\n \n \n <em>Logic Definition</em>: <a href=\"#nhsnglycemiccontrolhypoglycemicinitialpopulation-sde-minimal-medication-requests\">SDE Minimal Medication Requests</a> \n \n \n \n </td>\n</tr>\n\n\n<tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\">Measure Logic</th>\n\n\n</tr>\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Primary Library</th>\n\n\n\n<td class=\"content-container\"><a href=\"Bundle-sde-example-artifact-bundle.html\">NHSN Glycemic Control Hypoglycemic Initial Population</a></td>\n\n\n</tr>\n\n\n\n\n<tr>\n <th scope=\"row\" class=\"row-header\">Contents</th>\n <td class=\"content-container\">\n <em><a href=\"#population-criteria\">Population Criteria</a></em>\n <br/>\n <em><a href=\"#definitions\">Logic Definitions</a></em>\n <br/>\n <em><a href=\"#terminology\">Terminology</a></em>\n <br/>\n <em><a href=\"#dependencies\">Dependencies</a></em>\n <br/>\n <em><a href=\"#data-requirements\">Data Requirements</a></em>\n <br/>\n <em><a href=\"#parameters\">Parameters</a></em>\n <br/>\n </td>\n</tr>\n\n\n <tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\"><a name=\"population-criteria\"> </a>Population Criteria</th>\n\n\n</tr>\n \n \n \n\n \n \n \n <tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\">Measure Group (Rate)</th>\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=\"definitions\"> </a>Logic Definitions</th>\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 \n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> SupplementalDataElementsFHIR4</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"supplementaldataelementsfhir4-sde-payer\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define \"SDE Payer\": [Coverage: type in \"Payer\"] Payer return { code: Payer.type, period: Payer.period }</code></pre>\n </td>\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<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> NHSNGlycemicControlHypoglycemicInitialPopulation</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"nhsnglycemiccontrolhypoglycemicinitialpopulation-inpatient-encounter\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define \"Inpatient Encounter\": [Encounter: class in {\"inpatient encounter\", \"inpatient acute\", \"inpatient non-acute\", \"short stay\"}] Encounters where Encounters.status in {'in-progress', 'finished'} and Encounters.period overlaps \"Measurement Period\"</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> NHSNGlycemicControlHypoglycemicInitialPopulation</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"nhsnglycemiccontrolhypoglycemicinitialpopulation-antidiabetic-drugs-administered-or-ordered\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define \"Antidiabetic Drugs Administered or Ordered\": ([MedicationAdministration] ADDMedAdmin where GetMedicationCode(ADDMedAdmin.medication) in \"Antidiabetic Medications\" and ADDMedAdmin.status ~ 'completed') union ( [MedicationRequest] MedicationRequests where GetMedicationCode(MedicationRequests.medication) in \"Antidiabetic Medications\" )</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> NHSNGlycemicControlHypoglycemicInitialPopulation</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"nhsnglycemiccontrolhypoglycemicinitialpopulation-initial-population\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define \"Initial Population\": \"Inpatient Encounter\" InpatientEncounters with \"Antidiabetic Drugs Administered or Ordered\" ADD such that Coalesce(start of Global.\"Normalize Interval\"(ADD.effective), ADD.authoredOn) during \"HospitalizationWithObservationOrEmergency\"(InpatientEncounters) and Coalesce(start of Global.\"Normalize Interval\"(ADD.effective), ADD.authoredOn) during \"Measurement Period\"</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> NHSNGlycemicControlHypoglycemicInitialPopulation</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"nhsnglycemiccontrolhypoglycemicinitialpopulation-sde-medication-request\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define \"SDE Medication Request\": [MedicationRequest] MedicationRequests with \"Initial Population\" InitialPopulation such that MedicationRequests.authoredOn during \"HospitalizationWithObservationOrEmergency\"(InitialPopulation) and MedicationRequests.authoredOn during \"Measurement Period\"</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> NHSNGlycemicControlHypoglycemicInitialPopulation</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"nhsnglycemiccontrolhypoglycemicinitialpopulation-sde-encounter-locations\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define \"SDE Encounter Locations\": \"Initial Population\" InitialPopulation where exists ( InitialPopulation.location InitialPopulationLocation where (Global.GetLocation(InitialPopulationLocation.location).type in \"Inpatient, Emergency, and Observation Locations\" or Global.GetLocation(InitialPopulationLocation.location).physicalType in \"Inpatient, Emergency, and Observation Locations\") and InitialPopulationLocation.period during InitialPopulation.period )</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> NHSNGlycemicControlHypoglycemicInitialPopulation</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"nhsnglycemiccontrolhypoglycemicinitialpopulation-sde-minimal-medication-requests\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define \"SDE Minimal Medication Requests\": [MedicationRequest] MedicationRequests return MedicationRequest{ id: MedicationRequests.id, medication: GetMedicationCode(MedicationRequests.medication), dosageInstruction: MedicationRequests.dosageInstruction }</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> NHSNGlycemicControlHypoglycemicInitialPopulation</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"nhsnglycemiccontrolhypoglycemicinitialpopulation-sde-condition-during-encounter\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define \"SDE Condition during Encounter\": [Condition] ConditionEncounterDiagnosis with ConditionEncounterDiagnosis.category Category such that Category ~ \"encounter-diagnosis\" and exists(\"Initial Population\")</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> NHSNGlycemicControlHypoglycemicInitialPopulation</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"nhsnglycemiccontrolhypoglycemicinitialpopulation-sde-medication-administration\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define \"SDE Medication Administration\": [MedicationAdministration] MedicationAdministrations with \"Initial Population\" InitialPopulation such that start of Global.\"Normalize Interval\"(MedicationAdministrations.effective) during \"HospitalizationWithObservationOrEmergency\"(InitialPopulation) and start of Global.\"Normalize Interval\"(MedicationAdministrations.effective) during \"Measurement Period\"</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> NHSNGlycemicControlHypoglycemicInitialPopulation</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"nhsnglycemiccontrolhypoglycemicinitialpopulation-sde-blood-glucose-observation\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define \"SDE Blood Glucose Observation\": [Observation: \"Blood Glucose Laboratory and Point of Care Tests\"] Observations with \"Initial Population\" InitialPopulation such that start of Global.\"Normalize Interval\"(Observations.effective) during InitialPopulation.period or Global.\"Normalize Interval\"(GetSpecimen(Observations.specimen).collection.collected) during InitialPopulation.period with Observations.category category such that category ~ \"laboratory\"</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> NHSNGlycemicControlHypoglycemicInitialPopulation</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"nhsnglycemiccontrolhypoglycemicinitialpopulation-sde-condition\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define \"SDE Condition\": [Condition] Conditions with \"Initial Population\" InitialPopulation such that Global.\"Normalize Interval\"(Conditions.onset) overlaps InitialPopulation.period</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> NHSNGlycemicControlHypoglycemicInitialPopulation</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"nhsnglycemiccontrolhypoglycemicinitialpopulation-sde-payer\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define \"SDE Payer\": SDE.\"SDE Payer\" Payer with \"Initial Population\" InitialPopulation such that start of Payer.period before end of InitialPopulation.period</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> NHSNGlycemicControlHypoglycemicInitialPopulation</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"nhsnglycemiccontrolhypoglycemicinitialpopulation-sde-encounter-discharge-dispositions\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define \"SDE Encounter Discharge Dispositions\": \"Initial Population\" DischargeDispositions where DischargeDispositions.hospitalization.dischargeDisposition in \"Discharge Disposition\"</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> NHSNGlycemicControlHypoglycemicInitialPopulation</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"nhsnglycemiccontrolhypoglycemicinitialpopulation-sde-minimal-patient\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">//Change on CQF ruler happened on 8/12. Check to make sure CQF-Ruler version is dated at or after define \"SDE Minimal Patient\": Patient{ id: Patient.id, gender: Patient.gender, birthDate: Patient.birthDate }</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> NHSNGlycemicControlHypoglycemicInitialPopulation</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"nhsnglycemiccontrolhypoglycemicinitialpopulation-sde-specimen\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define \"SDE Specimen\": [Specimen] Specimen with \"Initial Population\" InitialPopulation such that Global.\"Normalize Interval\"(Specimen.collection.collected) during InitialPopulation.period</code></pre>\n </td>\n\n</tr>\n\n\n\n \n\n\n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> NHSNGlycemicControlHypoglycemicInitialPopulation</td>\n\n</tr>\n<tr>\n\n <td>\n \n \n \n \n <a name=\"nhsnglycemiccontrolhypoglycemicinitialpopulation-sde-chief-complaint\"> </a>\n \n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">//Supplement Data Elements define \"SDE Chief Complaint\": \"Initial Population\" InitialPopulation with InitialPopulation.diagnosis InitialPopulationDiagnosis such that InitialPopulationDiagnosis.use ~ \"Chief Complaint\"</code></pre>\n </td>\n\n</tr>\n\n\n\n\n\n \n \n\n\n <tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\"><a name=\"terminology\"> </a>Terminology</th>\n\n\n</tr>\n \n \n \n\n \n\n \n\n \n\n\n<tr>\n \n \n \n\n<th scope=\"row\" class=\"row-header\">Code System</th>\n\n\n \n <td class=\"content-container\">\n \n <em>Description</em>: Code system ActCode\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <a href=\"http://terminology.hl7.org/7.2.0/CodeSystem-v3-ActCode.html\">ActCode</a>\n <br/>\n <em>Canonical URL</em>: <tt>http://terminology.hl7.org/CodeSystem/v3-ActCode</tt>\n \n </td>\n</tr>\n \n\n\n<tr>\n \n \n \n\n<th scope=\"row\" class=\"row-header\">Code System</th>\n\n\n \n <td class=\"content-container\">\n \n <em>Description</em>: Code system Condition Category\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <a href=\"http://terminology.hl7.org/7.2.0/CodeSystem-condition-category.html\">Condition Category Codes</a>\n <br/>\n <em>Canonical URL</em>: <tt>http://terminology.hl7.org/CodeSystem/condition-category</tt>\n \n </td>\n</tr>\n \n\n\n<tr>\n \n \n \n\n<th scope=\"row\" class=\"row-header\">Code System</th>\n\n\n \n <td class=\"content-container\">\n \n <em>Description</em>: Code system Observation Category\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <a href=\"http://terminology.hl7.org/7.2.0/CodeSystem-observation-category.html\">Observation Category Codes</a>\n <br/>\n <em>Canonical URL</em>: <tt>http://terminology.hl7.org/CodeSystem/observation-category</tt>\n \n </td>\n</tr>\n \n\n\n<tr>\n \n \n \n\n<th scope=\"row\" class=\"row-header\">Code System</th>\n\n\n \n <td class=\"content-container\">\n \n <em>Description</em>: Code system Diagnosis Role\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <a href=\"http://terminology.hl7.org/7.2.0/CodeSystem-diagnosis-role.html\">Diagnosis Role</a>\n <br/>\n <em>Canonical URL</em>: <tt>http://terminology.hl7.org/CodeSystem/diagnosis-role</tt>\n \n </td>\n</tr>\n \n\n\n<tr>\n \n \n\n<th scope=\"row\" class=\"row-header\">Value Set</th>\n\n\n \n \n <td class=\"content-container\">\n \n <em>Description</em>: Value set Antidiabetic Medications\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113762.1.4.1190.58/expansion\">Diabetes Medications</a>\n <br/>\n <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1190.58</tt>\n \n </td>\n</tr>\n \n\n\n<tr>\n \n \n\n<th scope=\"row\" class=\"row-header\">Value Set</th>\n\n\n \n \n <td class=\"content-container\">\n \n <em>Description</em>: Value set Inpatient, Emergency, and Observation Locations\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113762.1.4.1046.265/expansion\">Inpatient, Emergency, and Observation Locations</a>\n <br/>\n <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1046.265</tt>\n \n </td>\n</tr>\n \n\n\n<tr>\n \n \n\n<th scope=\"row\" class=\"row-header\">Value Set</th>\n\n\n \n \n <td class=\"content-container\">\n \n <em>Description</em>: Value set Blood Glucose Laboratory and Point of Care Tests\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113762.1.4.1190.38/expansion\">Blood Glucose Laboratory and Point of Care Tests</a>\n <br/>\n <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1190.38</tt>\n \n </td>\n</tr>\n \n\n\n<tr>\n \n \n\n<th scope=\"row\" class=\"row-header\">Value Set</th>\n\n\n \n \n <td class=\"content-container\">\n \n <em>Description</em>: Value set Payer\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.114222.4.11.3591/expansion\">Payer Type</a>\n <br/>\n <em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591</tt>\n \n </td>\n</tr>\n \n\n\n<tr>\n \n \n\n<th scope=\"row\" class=\"row-header\">Value Set</th>\n\n\n \n \n <td class=\"content-container\">\n \n <em>Description</em>: Value set Discharge Disposition\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <a href=\"http://terminology.hl7.org/7.2.0/ValueSet-encounter-discharge-disposition.html\">Discharge disposition</a>\n <br/>\n <em>Canonical URL</em>: <tt>http://terminology.hl7.org/ValueSet/encounter-discharge-disposition</tt>\n \n </td>\n</tr>\n \n\n\n \n <tr>\n <th scope=\"row\" class=\"row-header\">Direct Reference Code</th>\n <td class=\"content-container\">\n \n <em>Display</em>: inpatient encounter\n <br/>\n \n <em>Code</em>: IMP\n <br/>\n <em>System</em>: <tt>http://terminology.hl7.org/CodeSystem/v3-ActCode</tt>\n </td>\n </tr>\n\n <tr>\n <th scope=\"row\" class=\"row-header\">Direct Reference Code</th>\n <td class=\"content-container\">\n \n <em>Display</em>: inpatient acute\n <br/>\n \n <em>Code</em>: ACUTE\n <br/>\n <em>System</em>: <tt>http://terminology.hl7.org/CodeSystem/v3-ActCode</tt>\n </td>\n </tr>\n\n <tr>\n <th scope=\"row\" class=\"row-header\">Direct Reference Code</th>\n <td class=\"content-container\">\n \n <em>Display</em>: inpatient non-acute\n <br/>\n \n <em>Code</em>: NONAC\n <br/>\n <em>System</em>: <tt>http://terminology.hl7.org/CodeSystem/v3-ActCode</tt>\n </td>\n </tr>\n\n <tr>\n <th scope=\"row\" class=\"row-header\">Direct Reference Code</th>\n <td class=\"content-container\">\n \n <em>Display</em>: short stay\n <br/>\n \n <em>Code</em>: SS\n <br/>\n <em>System</em>: <tt>http://terminology.hl7.org/CodeSystem/v3-ActCode</tt>\n </td>\n </tr>\n\n <tr>\n <th scope=\"row\" class=\"row-header\">Direct Reference Code</th>\n <td class=\"content-container\">\n \n <em>Display</em>: observation encounter\n <br/>\n \n <em>Code</em>: OBSENC\n <br/>\n <em>System</em>: <tt>http://terminology.hl7.org/CodeSystem/v3-ActCode</tt>\n </td>\n </tr>\n\n <tr>\n <th scope=\"row\" class=\"row-header\">Direct Reference Code</th>\n <td class=\"content-container\">\n \n <em>Display</em>: emergency\n <br/>\n \n <em>Code</em>: EMER\n <br/>\n <em>System</em>: <tt>http://terminology.hl7.org/CodeSystem/v3-ActCode</tt>\n </td>\n </tr>\n\n <tr>\n <th scope=\"row\" class=\"row-header\">Direct Reference Code</th>\n <td class=\"content-container\">\n \n <em>Display</em>: Encounter Diagnosis\n <br/>\n \n <em>Code</em>: encounter-diagnosis\n <br/>\n <em>System</em>: <tt>http://terminology.hl7.org/CodeSystem/condition-category</tt>\n </td>\n </tr>\n\n <tr>\n <th scope=\"row\" class=\"row-header\">Direct Reference Code</th>\n <td class=\"content-container\">\n \n <em>Display</em>: Laboratory\n <br/>\n \n <em>Code</em>: laboratory\n <br/>\n <em>System</em>: <tt>http://terminology.hl7.org/CodeSystem/observation-category</tt>\n </td>\n </tr>\n\n <tr>\n <th scope=\"row\" class=\"row-header\">Direct Reference Code</th>\n <td class=\"content-container\">\n \n <em>Display</em>: Chief complaint\n <br/>\n \n <em>Code</em>: CC\n <br/>\n <em>System</em>: <tt>http://terminology.hl7.org/CodeSystem/diagnosis-role</tt>\n </td>\n </tr>\n\n \n \n\n\n <tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\"><a name=\"dependencies\"> </a>Dependencies</th>\n\n\n</tr>\n \n \n \n\n\n<tr>\n \n\n<th scope=\"row\" class=\"row-header\">Dependency</th>\n\n\n <td class=\"content-container\">\n \n <em>Description</em>: Library FHIRHelpers\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <a href=\"Bundle-sde-example-artifact-bundle.html\">FHIR Helpers</a> version: 4.0.1\n <br/>\n <em>Canonical URL</em>: <tt>http://fhir.org/guides/cqf/common/Library/FHIRHelpers|4.0.1</tt>\n \n </td>\n</tr>\n \n\n\n<tr>\n \n\n<th scope=\"row\" class=\"row-header\">Dependency</th>\n\n\n <td class=\"content-container\">\n \n <em>Description</em>: Library Global\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <a href=\"Bundle-sde-example-artifact-bundle.html\">MAT Global Common Functions FHIRR4</a> version: 6.1.000\n <br/>\n <em>Canonical URL</em>: <tt>http://fhir.org/guides/cqf/Library/MATGlobalCommonFunctionsFHIR4|6.1.000</tt>\n \n </td>\n</tr>\n \n\n\n<tr>\n \n\n<th scope=\"row\" class=\"row-header\">Dependency</th>\n\n\n <td class=\"content-container\">\n \n <em>Description</em>: Library SDE\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <a href=\"Bundle-sde-example-artifact-bundle.html\">SupplementalDataElementsFHIR4</a> version: 2.0.000\n <br/>\n <em>Canonical URL</em>: <tt>http://fhir.org/guides/cqf/Library/SupplementalDataElementsFHIR4|2.0.000</tt>\n \n </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 \n\n\n\n\n\n\n <tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\"><a name=\"data-requirements\"> </a>Data Requirements</th>\n\n\n</tr>\n \n \n \n<tr>\n <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n <td class=\"content-container\">\n <em>Type</em>: Encounter\n <br/>\n \n <em>Profile(s)</em>: \n \n <a href=\"http://hl7.org/fhir/R4/encounter.html\">Encounter</a>\n <br/> \n \n \n \n <em>Must Support Elements</em>: class, period\n <br/>\n \n \n </td>\n</tr>\n\n<tr>\n <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n <td class=\"content-container\">\n <em>Type</em>: Encounter\n <br/>\n \n <em>Profile(s)</em>: \n \n <a href=\"http://hl7.org/fhir/R4/encounter.html\">Encounter</a>\n <br/> \n \n \n \n <em>Must Support Elements</em>: class, status, period\n <br/>\n \n \n <em>Code Filter(s)</em>: \n <br/>\n \n \n <span class=\"tab-one\"><em>Path</em>: class</span>\n <br/>\n \n \n \n \n <span class=\"tab-one\"><em>Code(s)</em>: \n \n \n <a href=\"http://terminology.hl7.org/7.2.0/CodeSystem-v3-ActCode.html#v3-ActCode-IMP\">ActCode: IMP</a> (inpatient encounter), \n \n \n \n <a href=\"http://terminology.hl7.org/7.2.0/CodeSystem-v3-ActCode.html#v3-ActCode-ACUTE\">ActCode: ACUTE</a> (inpatient acute), \n \n \n \n <a href=\"http://terminology.hl7.org/7.2.0/CodeSystem-v3-ActCode.html#v3-ActCode-NONAC\">ActCode: NONAC</a> (inpatient non-acute), \n \n \n \n <a href=\"http://terminology.hl7.org/7.2.0/CodeSystem-v3-ActCode.html#v3-ActCode-SS\">ActCode: SS</a> (short stay)\n \n \n </span>\n <br/>\n \n \n \n </td>\n</tr>\n\n<tr>\n <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n <td class=\"content-container\">\n <em>Type</em>: Medication\n <br/>\n \n <em>Profile(s)</em>: \n \n <a href=\"http://hl7.org/fhir/R4/medication.html\">Medication</a>\n <br/> \n \n \n \n <em>Must Support Elements</em>: id\n <br/>\n \n \n </td>\n</tr>\n\n<tr>\n <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n <td class=\"content-container\">\n <em>Type</em>: MedicationAdministration\n <br/>\n \n <em>Profile(s)</em>: \n \n <a href=\"http://hl7.org/fhir/R4/medicationadministration.html\">MedicationAdministration</a>\n <br/> \n \n \n \n <em>Must Support Elements</em>: medication, status, effective\n <br/>\n \n \n </td>\n</tr>\n\n<tr>\n <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n <td class=\"content-container\">\n <em>Type</em>: MedicationRequest\n <br/>\n \n <em>Profile(s)</em>: \n \n <a href=\"http://hl7.org/fhir/R4/medicationrequest.html\">MedicationRequest</a>\n <br/> \n \n \n \n <em>Must Support Elements</em>: medication, authoredOn, id, dosageInstruction\n <br/>\n \n \n </td>\n</tr>\n\n<tr>\n <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n <td class=\"content-container\">\n <em>Type</em>: Location\n <br/>\n \n <em>Profile(s)</em>: \n \n <a href=\"http://hl7.org/fhir/R4/location.html\">Location</a>\n <br/> \n \n \n \n <em>Must Support Elements</em>: id\n <br/>\n \n \n </td>\n</tr>\n\n<tr>\n <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n <td class=\"content-container\">\n <em>Type</em>: Condition\n <br/>\n \n <em>Profile(s)</em>: \n \n <a href=\"http://hl7.org/fhir/R4/condition.html\">Condition</a>\n <br/> \n \n \n \n <em>Must Support Elements</em>: category, onset\n <br/>\n \n \n </td>\n</tr>\n\n<tr>\n <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n <td class=\"content-container\">\n <em>Type</em>: Specimen\n <br/>\n \n <em>Profile(s)</em>: \n \n <a href=\"http://hl7.org/fhir/R4/specimen.html\">Specimen</a>\n <br/> \n \n \n \n <em>Must Support Elements</em>: id, collection, collection.collected\n <br/>\n \n \n </td>\n</tr>\n\n<tr>\n <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n <td class=\"content-container\">\n <em>Type</em>: Observation\n <br/>\n \n <em>Profile(s)</em>: \n \n <a href=\"http://hl7.org/fhir/R4/observation.html\">Observation</a>\n <br/> \n \n \n \n <em>Must Support Elements</em>: code, effective, specimen, specimen.collection, specimen.collection.collected, category\n <br/>\n \n \n <em>Code Filter(s)</em>: \n <br/>\n \n \n <span class=\"tab-one\"><em>Path</em>: code</span>\n <br/>\n \n \n \n <span class=\"tab-one\"><em>ValueSet</em>:</span> <a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113762.1.4.1190.38/expansion\">Blood Glucose Laboratory and Point of Care Tests</a>\n <br/> \n \n \n \n \n </td>\n</tr>\n\n<tr>\n <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n <td class=\"content-container\">\n <em>Type</em>: Coverage\n <br/>\n \n <em>Profile(s)</em>: \n \n <a href=\"http://hl7.org/fhir/R4/coverage.html\">Coverage</a>\n <br/> \n \n \n \n <em>Must Support Elements</em>: type, period\n <br/>\n \n \n <em>Code Filter(s)</em>: \n <br/>\n \n \n <span class=\"tab-one\"><em>Path</em>: type</span>\n <br/>\n \n \n \n <span class=\"tab-one\"><em>ValueSet</em>:</span> <a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.114222.4.11.3591/expansion\">Payer Type</a>\n <br/> \n \n \n \n \n </td>\n</tr>\n\n<tr>\n <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n <td class=\"content-container\">\n <em>Type</em>: Patient\n <br/>\n \n <em>Profile(s)</em>: \n \n <a href=\"http://hl7.org/fhir/R4/patient.html\">Patient</a>\n <br/> \n \n \n \n \n </td>\n</tr>\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\"/>\n\n\n <td class=\"content-container\">\n <table>\n <thead>\n <tr>\n <td><em>Name</em></td>\n <td><em>Use</em></td>\n <td><em>Card.</em></td>\n <td><em>Type</em></td>\n <td><em>Documentation</em></td>\n </tr>\n </thead>\n <tbody>\n \n <tr>\n <td>Measurement Period</td>\n <td>In</td>\n <td>0..1</td>\n <td>Period</td>\n <td/>\n </tr>\n \n <tr>\n <td>SDE Medication Request</td>\n <td>Out</td>\n <td>0..*</td>\n <td>MedicationRequest</td>\n <td/>\n </tr>\n \n <tr>\n <td>SDE Encounter Locations</td>\n <td>Out</td>\n <td>0..*</td>\n <td>Encounter</td>\n <td/>\n </tr>\n \n <tr>\n <td>SDE Minimal Medication Requests</td>\n <td>Out</td>\n <td>0..*</td>\n <td>MedicationRequest</td>\n <td/>\n </tr>\n \n <tr>\n <td>SDE Condition during Encounter</td>\n <td>Out</td>\n <td>0..*</td>\n <td>Condition</td>\n <td/>\n </tr>\n \n <tr>\n <td>SDE Medication Administration</td>\n <td>Out</td>\n <td>0..*</td>\n <td>MedicationAdministration</td>\n <td/>\n </tr>\n \n <tr>\n <td>SDE Blood Glucose Observation</td>\n <td>Out</td>\n <td>0..*</td>\n <td>Observation</td>\n <td/>\n </tr>\n \n <tr>\n <td>SDE Condition</td>\n <td>Out</td>\n <td>0..*</td>\n <td>Condition</td>\n <td/>\n </tr>\n \n <tr>\n <td>SDE Payer</td>\n <td>Out</td>\n <td>0..*</td>\n <td>Any</td>\n <td/>\n </tr>\n \n <tr>\n <td>Initial Population</td>\n <td>Out</td>\n <td>0..*</td>\n <td>Encounter</td>\n <td/>\n </tr>\n \n <tr>\n <td>SDE Encounter Discharge Dispositions</td>\n <td>Out</td>\n <td>0..*</td>\n <td>Encounter</td>\n <td/>\n </tr>\n \n <tr>\n <td>SDE Minimal Patient</td>\n <td>Out</td>\n <td>0..1</td>\n <td>Patient</td>\n <td/>\n </tr>\n \n <tr>\n <td>SDE Specimen</td>\n <td>Out</td>\n <td>0..*</td>\n <td>Specimen</td>\n <td/>\n </tr>\n \n <tr>\n <td>SDE Chief Complaint</td>\n <td>Out</td>\n <td>0..*</td>\n <td>Encounter</td>\n <td/>\n </tr>\n \n </tbody>\n </table>\n </td>\n</tr>\n\n \n \n\n<tr>\n <th colspan=\"2\" scope=\"row\" class=\"row-header\">Generated using version 0.5.4-cibuild of the sample-content-ig Liquid templates</th>\n</tr>\n\n </tbody>\n </table>\n</div>"^^rdf:XMLLiteral ] ] ; # fhir:contained ( [ a fhir:Library ; fhir:id [ fhir:v "effective-data-requirements" ] ; ( fhir:extension [ fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode"^^xsd:anyURI ] ; fhir:value [ a fhir:Coding ; fhir:system [ fhir:v "http://terminology.hl7.org/CodeSystem/v3-ActCode"^^xsd:anyURI ] ; fhir:code [ fhir:v "IMP" ] ; fhir:display [ fhir:v "inpatient encounter" ] ] ] [ fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode"^^xsd:anyURI ] ; fhir:value [ a fhir:Coding ; fhir:system [ fhir:v "http://terminology.hl7.org/CodeSystem/v3-ActCode"^^xsd:anyURI ] ; fhir:code [ fhir:v "ACUTE" ] ; fhir:display [ fhir:v "inpatient acute" ] ] ] [ fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode"^^xsd:anyURI ] ; fhir:value [ a fhir:Coding ; fhir:system [ fhir:v "http://terminology.hl7.org/CodeSystem/v3-ActCode"^^xsd:anyURI ] ; fhir:code [ fhir:v "NONAC" ] ; fhir:display [ fhir:v "inpatient non-acute" ] ] ] [ fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode"^^xsd:anyURI ] ; fhir:value [ a fhir:Coding ; fhir:system [ fhir:v "http://terminology.hl7.org/CodeSystem/v3-ActCode"^^xsd:anyURI ] ; fhir:code [ fhir:v "SS" ] ; fhir:display [ fhir:v "short stay" ] ] ] [ fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode"^^xsd:anyURI ] ; fhir:value [ a fhir:Coding ; fhir:system [ fhir:v "http://terminology.hl7.org/CodeSystem/v3-ActCode"^^xsd:anyURI ] ; fhir:code [ fhir:v "OBSENC" ] ; fhir:display [ fhir:v "observation encounter" ] ] ] [ fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode"^^xsd:anyURI ] ; fhir:value [ a fhir:Coding ; fhir:system [ fhir:v "http://terminology.hl7.org/CodeSystem/v3-ActCode"^^xsd:anyURI ] ; fhir:code [ fhir:v "EMER" ] ; fhir:display [ fhir:v "emergency" ] ] ] [ fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode"^^xsd:anyURI ] ; fhir:value [ a fhir:Coding ; fhir:system [ fhir:v "http://terminology.hl7.org/CodeSystem/condition-category"^^xsd:anyURI ] ; fhir:code [ fhir:v "encounter-diagnosis" ] ; fhir:display [ fhir:v "Encounter Diagnosis" ] ] ] [ fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode"^^xsd:anyURI ] ; fhir:value [ a fhir:Coding ; fhir:system [ fhir:v "http://terminology.hl7.org/CodeSystem/observation-category"^^xsd:anyURI ] ; fhir:code [ fhir:v "laboratory" ] ; fhir:display [ fhir:v "Laboratory" ] ] ] [ fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode"^^xsd:anyURI ] ; fhir:value [ a fhir:Coding ; fhir:system [ fhir:v "http://terminology.hl7.org/CodeSystem/diagnosis-role"^^xsd:anyURI ] ; fhir:code [ fhir:v "CC" ] ; fhir:display [ fhir:v "Chief complaint" ] ] ] [ ( fhir:extension [ fhir:url [ fhir:v "libraryName"^^xsd:anyURI ] ; fhir:value [ a fhir:string ; fhir:v "NHSNGlycemicControlHypoglycemicInitialPopulation" ] ] [ fhir:url [ fhir:v "name"^^xsd:anyURI ] ; fhir:value [ a fhir:string ; fhir:v "Inpatient Encounter" ] ] [ fhir:url [ fhir:v "statement"^^xsd:anyURI ] ; fhir:value [ a fhir:string ; fhir:v "define \"Inpatient Encounter\": [Encounter: class in {\"inpatient encounter\", \"inpatient acute\", \"inpatient non-acute\", \"short stay\"}] Encounters where Encounters.status in {'in-progress', 'finished'} and Encounters.period overlaps \"Measurement Period\"" ] ] [ fhir:url [ fhir:v "displaySequence"^^xsd:anyURI ] ; fhir:value [ a fhir:integer ; fhir:v 0 ] ] ) ; fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"^^xsd:anyURI ] ] [ ( fhir:extension [ fhir:url [ fhir:v "libraryName"^^xsd:anyURI ] ; fhir:value [ a fhir:string ; fhir:v "NHSNGlycemicControlHypoglycemicInitialPopulation" ] ] [ fhir:url [ fhir:v "name"^^xsd:anyURI ] ; fhir:value [ a fhir:string ; fhir:v "Antidiabetic Drugs Administered or Ordered" ] ] [ fhir:url [ fhir:v "statement"^^xsd:anyURI ] ; fhir:value [ a fhir:string ; fhir:v "define \"Antidiabetic Drugs Administered or Ordered\": ([MedicationAdministration] ADDMedAdmin where GetMedicationCode(ADDMedAdmin.medication) in \"Antidiabetic Medications\" and ADDMedAdmin.status ~ 'completed') union ( [MedicationRequest] MedicationRequests where GetMedicationCode(MedicationRequests.medication) in \"Antidiabetic Medications\" )" ] ] [ fhir:url [ fhir:v "displaySequence"^^xsd:anyURI ] ; fhir:value [ a fhir:integer ; fhir:v 1 ] ] ) ; fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"^^xsd:anyURI ] ] [ ( fhir:extension [ fhir:url [ fhir:v "libraryName"^^xsd:anyURI ] ; fhir:value [ a fhir:string ; fhir:v "NHSNGlycemicControlHypoglycemicInitialPopulation" ] ] [ fhir:url [ fhir:v "name"^^xsd:anyURI ] ; fhir:value [ a fhir:string ; fhir:v "Initial Population" ] ] [ fhir:url [ fhir:v "statement"^^xsd:anyURI ] ; fhir:value [ a fhir:string ; fhir:v "define \"Initial Population\": \"Inpatient Encounter\" InpatientEncounters with \"Antidiabetic Drugs Administered or Ordered\" ADD such that Coalesce(start of Global.\"Normalize Interval\"(ADD.effective), ADD.authoredOn) during \"HospitalizationWithObservationOrEmergency\"(InpatientEncounters) and Coalesce(start of Global.\"Normalize Interval\"(ADD.effective), ADD.authoredOn) during \"Measurement Period\"" ] ] [ fhir:url [ fhir:v "displaySequence"^^xsd:anyURI ] ; fhir:value [ a fhir:integer ; fhir:v 2 ] ] ) ; fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"^^xsd:anyURI ] ] [ ( fhir:extension [ fhir:url [ fhir:v "libraryName"^^xsd:anyURI ] ; fhir:value [ a fhir:string ; fhir:v "NHSNGlycemicControlHypoglycemicInitialPopulation" ] ] [ fhir:url [ fhir:v "name"^^xsd:anyURI ] ; fhir:value [ a fhir:string ; fhir:v "SDE Medication Request" ] ] [ fhir:url [ fhir:v "statement"^^xsd:anyURI ] ; fhir:value [ a fhir:string ; fhir:v "define \"SDE Medication Request\": [MedicationRequest] MedicationRequests with \"Initial Population\" InitialPopulation such that MedicationRequests.authoredOn during \"HospitalizationWithObservationOrEmergency\"(InitialPopulation) and MedicationRequests.authoredOn during \"Measurement Period\"" ] ] [ fhir:url [ fhir:v "displaySequence"^^xsd:anyURI ] ; fhir:value [ a fhir:integer ; fhir:v 3 ] ] ) ; fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"^^xsd:anyURI ] ] [ ( fhir:extension [ fhir:url [ fhir:v "libraryName"^^xsd:anyURI ] ; fhir:value [ a fhir:string ; fhir:v "NHSNGlycemicControlHypoglycemicInitialPopulation" ] ] [ fhir:url [ fhir:v "name"^^xsd:anyURI ] ; fhir:value [ a fhir:string ; fhir:v "SDE Encounter Locations" ] ] [ fhir:url [ fhir:v "statement"^^xsd:anyURI ] ; fhir:value [ a fhir:string ; fhir:v "define \"SDE Encounter Locations\": \"Initial Population\" InitialPopulation where exists ( InitialPopulation.location InitialPopulationLocation where (Global.GetLocation(InitialPopulationLocation.location).type in \"Inpatient, Emergency, and Observation Locations\" or Global.GetLocation(InitialPopulationLocation.location).physicalType in \"Inpatient, Emergency, and Observation Locations\") and InitialPopulationLocation.period during InitialPopulation.period )" ] ] [ fhir:url [ fhir:v "displaySequence"^^xsd:anyURI ] ; fhir:value [ a fhir:integer ; fhir:v 4 ] ] ) ; fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"^^xsd:anyURI ] ] [ ( fhir:extension [ fhir:url [ fhir:v "libraryName"^^xsd:anyURI ] ; fhir:value [ a fhir:string ; fhir:v "NHSNGlycemicControlHypoglycemicInitialPopulation" ] ] [ fhir:url [ fhir:v "name"^^xsd:anyURI ] ; fhir:value [ a fhir:string ; fhir:v "SDE Minimal Medication Requests" ] ] [ fhir:url [ fhir:v "statement"^^xsd:anyURI ] ; fhir:value [ a fhir:string ; fhir:v "define \"SDE Minimal Medication Requests\": [MedicationRequest] MedicationRequests return MedicationRequest{ id: MedicationRequests.id, medication: GetMedicationCode(MedicationRequests.medication), dosageInstruction: MedicationRequests.dosageInstruction }" ] ] [ fhir:url [ fhir:v "displaySequence"^^xsd:anyURI ] ; fhir:value [ a fhir:integer ; fhir:v 5 ] ] ) ; fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"^^xsd:anyURI ] ] [ ( fhir:extension [ fhir:url [ fhir:v "libraryName"^^xsd:anyURI ] ; fhir:value [ a fhir:string ; fhir:v "NHSNGlycemicControlHypoglycemicInitialPopulation" ] ] [ fhir:url [ fhir:v "name"^^xsd:anyURI ] ; fhir:value [ a fhir:string ; fhir:v "SDE Condition during Encounter" ] ] [ fhir:url [ fhir:v "statement"^^xsd:anyURI ] ; fhir:value [ a fhir:string ; fhir:v "define \"SDE Condition during Encounter\": [Condition] ConditionEncounterDiagnosis with ConditionEncounterDiagnosis.category Category such that Category ~ \"encounter-diagnosis\" and exists(\"Initial Population\")" ] ] [ fhir:url [ fhir:v "displaySequence"^^xsd:anyURI ] ; fhir:value [ a fhir:integer ; fhir:v 6 ] ] ) ; fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"^^xsd:anyURI ] ] [ ( fhir:extension [ fhir:url [ fhir:v "libraryName"^^xsd:anyURI ] ; fhir:value [ a fhir:string ; fhir:v "NHSNGlycemicControlHypoglycemicInitialPopulation" ] ] [ fhir:url [ fhir:v "name"^^xsd:anyURI ] ; fhir:value [ a fhir:string ; fhir:v "SDE Medication Administration" ] ] [ fhir:url [ fhir:v "statement"^^xsd:anyURI ] ; fhir:value [ a fhir:string ; fhir:v "define \"SDE Medication Administration\": [MedicationAdministration] MedicationAdministrations with \"Initial Population\" InitialPopulation such that start of Global.\"Normalize Interval\"(MedicationAdministrations.effective) during \"HospitalizationWithObservationOrEmergency\"(InitialPopulation) and start of Global.\"Normalize Interval\"(MedicationAdministrations.effective) during \"Measurement Period\"" ] ] [ fhir:url [ fhir:v "displaySequence"^^xsd:anyURI ] ; fhir:value [ a fhir:integer ; fhir:v 7 ] ] ) ; fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"^^xsd:anyURI ] ] [ ( fhir:extension [ fhir:url [ fhir:v "libraryName"^^xsd:anyURI ] ; fhir:value [ a fhir:string ; fhir:v "NHSNGlycemicControlHypoglycemicInitialPopulation" ] ] [ fhir:url [ fhir:v "name"^^xsd:anyURI ] ; fhir:value [ a fhir:string ; fhir:v "SDE Blood Glucose Observation" ] ] [ fhir:url [ fhir:v "statement"^^xsd:anyURI ] ; fhir:value [ a fhir:string ; fhir:v "define \"SDE Blood Glucose Observation\": [Observation: \"Blood Glucose Laboratory and Point of Care Tests\"] Observations with \"Initial Population\" InitialPopulation such that start of Global.\"Normalize Interval\"(Observations.effective) during InitialPopulation.period or Global.\"Normalize Interval\"(GetSpecimen(Observations.specimen).collection.collected) during InitialPopulation.period with Observations.category category such that category ~ \"laboratory\"" ] ] [ fhir:url [ fhir:v "displaySequence"^^xsd:anyURI ] ; fhir:value [ a fhir:integer ; fhir:v 8 ] ] ) ; fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"^^xsd:anyURI ] ] [ ( fhir:extension [ fhir:url [ fhir:v "libraryName"^^xsd:anyURI ] ; fhir:value [ a fhir:string ; fhir:v "NHSNGlycemicControlHypoglycemicInitialPopulation" ] ] [ fhir:url [ fhir:v "name"^^xsd:anyURI ] ; fhir:value [ a fhir:string ; fhir:v "SDE Condition" ] ] [ fhir:url [ fhir:v "statement"^^xsd:anyURI ] ; fhir:value [ a fhir:string ; fhir:v "define \"SDE Condition\": [Condition] Conditions with \"Initial Population\" InitialPopulation such that Global.\"Normalize Interval\"(Conditions.onset) overlaps InitialPopulation.period" ] ] [ fhir:url [ fhir:v "displaySequence"^^xsd:anyURI ] ; fhir:value [ a fhir:integer ; fhir:v 9 ] ] ) ; fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"^^xsd:anyURI ] ] [ ( fhir:extension [ fhir:url [ fhir:v "libraryName"^^xsd:anyURI ] ; fhir:value [ a fhir:string ; fhir:v "SupplementalDataElementsFHIR4" ] ] [ fhir:url [ fhir:v "name"^^xsd:anyURI ] ; fhir:value [ a fhir:string ; fhir:v "SDE Payer" ] ] [ fhir:url [ fhir:v "statement"^^xsd:anyURI ] ; fhir:value [ a fhir:string ; fhir:v "define \"SDE Payer\": [Coverage: type in \"Payer\"] Payer return { code: Payer.type, period: Payer.period }" ] ] [ fhir:url [ fhir:v "displaySequence"^^xsd:anyURI ] ; fhir:value [ a fhir:integer ; fhir:v 10 ] ] ) ; fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"^^xsd:anyURI ] ] [ ( fhir:extension [ fhir:url [ fhir:v "libraryName"^^xsd:anyURI ] ; fhir:value [ a fhir:string ; fhir:v "NHSNGlycemicControlHypoglycemicInitialPopulation" ] ] [ fhir:url [ fhir:v "name"^^xsd:anyURI ] ; fhir:value [ a fhir:string ; fhir:v "SDE Payer" ] ] [ fhir:url [ fhir:v "statement"^^xsd:anyURI ] ; fhir:value [ a fhir:string ; fhir:v "define \"SDE Payer\": SDE.\"SDE Payer\" Payer with \"Initial Population\" InitialPopulation such that start of Payer.period before end of InitialPopulation.period" ] ] [ fhir:url [ fhir:v "displaySequence"^^xsd:anyURI ] ; fhir:value [ a fhir:integer ; fhir:v 11 ] ] ) ; fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"^^xsd:anyURI ] ] [ ( fhir:extension [ fhir:url [ fhir:v "libraryName"^^xsd:anyURI ] ; fhir:value [ a fhir:string ; fhir:v "NHSNGlycemicControlHypoglycemicInitialPopulation" ] ] [ fhir:url [ fhir:v "name"^^xsd:anyURI ] ; fhir:value [ a fhir:string ; fhir:v "SDE Encounter Discharge Dispositions" ] ] [ fhir:url [ fhir:v "statement"^^xsd:anyURI ] ; fhir:value [ a fhir:string ; fhir:v "define \"SDE Encounter Discharge Dispositions\": \"Initial Population\" DischargeDispositions where DischargeDispositions.hospitalization.dischargeDisposition in \"Discharge Disposition\"" ] ] [ fhir:url [ fhir:v "displaySequence"^^xsd:anyURI ] ; fhir:value [ a fhir:integer ; fhir:v 12 ] ] ) ; fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"^^xsd:anyURI ] ] [ ( fhir:extension [ fhir:url [ fhir:v "libraryName"^^xsd:anyURI ] ; fhir:value [ a fhir:string ; fhir:v "NHSNGlycemicControlHypoglycemicInitialPopulation" ] ] [ fhir:url [ fhir:v "name"^^xsd:anyURI ] ; fhir:value [ a fhir:string ; fhir:v "SDE Minimal Patient" ] ] [ fhir:url [ fhir:v "statement"^^xsd:anyURI ] ; fhir:value [ a fhir:string ; fhir:v "//Change on CQF ruler happened on 8/12. Check to make sure CQF-Ruler version is dated at or after define \"SDE Minimal Patient\": Patient{ id: Patient.id, gender: Patient.gender, birthDate: Patient.birthDate }" ] ] [ fhir:url [ fhir:v "displaySequence"^^xsd:anyURI ] ; fhir:value [ a fhir:integer ; fhir:v 13 ] ] ) ; fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"^^xsd:anyURI ] ] [ ( fhir:extension [ fhir:url [ fhir:v "libraryName"^^xsd:anyURI ] ; fhir:value [ a fhir:string ; fhir:v "NHSNGlycemicControlHypoglycemicInitialPopulation" ] ] [ fhir:url [ fhir:v "name"^^xsd:anyURI ] ; fhir:value [ a fhir:string ; fhir:v "SDE Specimen" ] ] [ fhir:url [ fhir:v "statement"^^xsd:anyURI ] ; fhir:value [ a fhir:string ; fhir:v "define \"SDE Specimen\": [Specimen] Specimen with \"Initial Population\" InitialPopulation such that Global.\"Normalize Interval\"(Specimen.collection.collected) during InitialPopulation.period" ] ] [ fhir:url [ fhir:v "displaySequence"^^xsd:anyURI ] ; fhir:value [ a fhir:integer ; fhir:v 14 ] ] ) ; fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"^^xsd:anyURI ] ] [ ( fhir:extension [ fhir:url [ fhir:v "libraryName"^^xsd:anyURI ] ; fhir:value [ a fhir:string ; fhir:v "NHSNGlycemicControlHypoglycemicInitialPopulation" ] ] [ fhir:url [ fhir:v "name"^^xsd:anyURI ] ; fhir:value [ a fhir:string ; fhir:v "SDE Chief Complaint" ] ] [ fhir:url [ fhir:v "statement"^^xsd:anyURI ] ; fhir:value [ a fhir:string ; fhir:v "//Supplement Data Elements define \"SDE Chief Complaint\": \"Initial Population\" InitialPopulation with InitialPopulation.diagnosis InitialPopulationDiagnosis such that InitialPopulationDiagnosis.use ~ \"Chief Complaint\"" ] ] [ fhir:url [ fhir:v "displaySequence"^^xsd:anyURI ] ; fhir:value [ a fhir:integer ; fhir:v 15 ] ] ) ; fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"^^xsd:anyURI ] ] ) ; fhir:status [ fhir:v "active" ] ; fhir:type [ ( fhir:coding [ fhir:system [ fhir:v "http://terminology.hl7.org/CodeSystem/library-type"^^xsd:anyURI ] ; fhir:code [ fhir:v "module-definition" ] ] ) ] ; ( fhir:relatedArtifact [ fhir:type [ fhir:v "depends-on" ] ; fhir:display [ fhir:v "Library FHIRHelpers" ] ; fhir:resource [ fhir:v "http://fhir.org/guides/cqf/common/Library/FHIRHelpers|4.0.1"^^xsd:anyURI ; fhir:link <http://fhir.org/guides/cqf/common/Library/FHIRHelpers|4.0.1> ] ] [ fhir:type [ fhir:v "depends-on" ] ; fhir:display [ fhir:v "Library Global" ] ; fhir:resource [ fhir:v "http://fhir.org/guides/cqf/Library/MATGlobalCommonFunctionsFHIR4|6.1.000"^^xsd:anyURI ; fhir:link <http://fhir.org/guides/cqf/Library/MATGlobalCommonFunctionsFHIR4|6.1.000> ] ] [ fhir:type [ fhir:v "depends-on" ] ; fhir:display [ fhir:v "Library SDE" ] ; fhir:resource [ fhir:v "http://fhir.org/guides/cqf/Library/SupplementalDataElementsFHIR4|2.0.000"^^xsd:anyURI ; fhir:link <http://fhir.org/guides/cqf/Library/SupplementalDataElementsFHIR4|2.0.000> ] ] [ fhir:type [ fhir:v "depends-on" ] ; fhir:display [ fhir:v "Code system ActCode" ] ; fhir:resource [ fhir:v "http://terminology.hl7.org/CodeSystem/v3-ActCode"^^xsd:anyURI ; fhir:link <http://terminology.hl7.org/CodeSystem/v3-ActCode> ] ] [ fhir:type [ fhir:v "depends-on" ] ; fhir:display [ fhir:v "Code system Condition Category" ] ; fhir:resource [ fhir:v "http://terminology.hl7.org/CodeSystem/condition-category"^^xsd:anyURI ; fhir:link <http://terminology.hl7.org/CodeSystem/condition-category> ] ] [ fhir:type [ fhir:v "depends-on" ] ; fhir:display [ fhir:v "Code system Observation Category" ] ; fhir:resource [ fhir:v "http://terminology.hl7.org/CodeSystem/observation-category"^^xsd:anyURI ; fhir:link <http://terminology.hl7.org/CodeSystem/observation-category> ] ] [ fhir:type [ fhir:v "depends-on" ] ; fhir:display [ fhir:v "Code system Diagnosis Role" ] ; fhir:resource [ fhir:v "http://terminology.hl7.org/CodeSystem/diagnosis-role"^^xsd:anyURI ; fhir:link <http://terminology.hl7.org/CodeSystem/diagnosis-role> ] ] [ fhir:type [ fhir:v "depends-on" ] ; fhir:display [ fhir:v "Value set Antidiabetic Medications" ] ; fhir:resource [ fhir:v "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1190.58"^^xsd:anyURI ; fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1190.58> ] ] [ fhir:type [ fhir:v "depends-on" ] ; fhir:display [ fhir:v "Value set Inpatient, Emergency, and Observation Locations" ] ; fhir:resource [ fhir:v "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1046.265"^^xsd:anyURI ; fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1046.265> ] ] [ fhir:type [ fhir:v "depends-on" ] ; fhir:display [ fhir:v "Value set Blood Glucose Laboratory and Point of Care Tests" ] ; fhir:resource [ fhir:v "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1190.38"^^xsd:anyURI ; fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1190.38> ] ] [ fhir:type [ fhir:v "depends-on" ] ; fhir:display [ fhir:v "Value set Payer" ] ; fhir:resource [ fhir:v "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591"^^xsd:anyURI ; fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591> ] ] [ fhir:type [ fhir:v "depends-on" ] ; fhir:display [ fhir:v "Value set Discharge Disposition" ] ; fhir:resource [ fhir:v "http://terminology.hl7.org/ValueSet/encounter-discharge-disposition"^^xsd:anyURI ; fhir:link <http://terminology.hl7.org/ValueSet/encounter-discharge-disposition> ] ] ) ; ( fhir:parameter [ fhir:name [ fhir:v "Measurement Period" ] ; fhir:use [ fhir:v "in" ] ; fhir:min [ fhir:v 0 ] ; fhir:max [ fhir:v "1" ] ; fhir:type [ fhir:v "Period" ] ] [ fhir:name [ fhir:v "SDE Medication Request" ] ; fhir:use [ fhir:v "out" ] ; fhir:min [ fhir:v 0 ] ; fhir:max [ fhir:v "*" ] ; fhir:type [ fhir:v "MedicationRequest" ] ] [ fhir:name [ fhir:v "SDE Encounter Locations" ] ; fhir:use [ fhir:v "out" ] ; fhir:min [ fhir:v 0 ] ; fhir:max [ fhir:v "*" ] ; fhir:type [ fhir:v "Encounter" ] ] [ fhir:name [ fhir:v "SDE Minimal Medication Requests" ] ; fhir:use [ fhir:v "out" ] ; fhir:min [ fhir:v 0 ] ; fhir:max [ fhir:v "*" ] ; fhir:type [ fhir:v "MedicationRequest" ] ] [ fhir:name [ fhir:v "SDE Condition during Encounter" ] ; fhir:use [ fhir:v "out" ] ; fhir:min [ fhir:v 0 ] ; fhir:max [ fhir:v "*" ] ; fhir:type [ fhir:v "Condition" ] ] [ fhir:name [ fhir:v "SDE Medication Administration" ] ; fhir:use [ fhir:v "out" ] ; fhir:min [ fhir:v 0 ] ; fhir:max [ fhir:v "*" ] ; fhir:type [ fhir:v "MedicationAdministration" ] ] [ fhir:name [ fhir:v "SDE Blood Glucose Observation" ] ; fhir:use [ fhir:v "out" ] ; fhir:min [ fhir:v 0 ] ; fhir:max [ fhir:v "*" ] ; fhir:type [ fhir:v "Observation" ] ] [ fhir:name [ fhir:v "SDE Condition" ] ; fhir:use [ fhir:v "out" ] ; fhir:min [ fhir:v 0 ] ; fhir:max [ fhir:v "*" ] ; fhir:type [ fhir:v "Condition" ] ] [ fhir:name [ fhir:v "SDE Payer" ] ; fhir:use [ fhir:v "out" ] ; fhir:min [ fhir:v 0 ] ; fhir:max [ fhir:v "*" ] ; fhir:type [ fhir:v "Any" ] ] [ fhir:name [ fhir:v "Initial Population" ] ; fhir:use [ fhir:v "out" ] ; fhir:min [ fhir:v 0 ] ; fhir:max [ fhir:v "*" ] ; fhir:type [ fhir:v "Encounter" ] ] [ fhir:name [ fhir:v "SDE Encounter Discharge Dispositions" ] ; fhir:use [ fhir:v "out" ] ; fhir:min [ fhir:v 0 ] ; fhir:max [ fhir:v "*" ] ; fhir:type [ fhir:v "Encounter" ] ] [ fhir:name [ fhir:v "SDE Minimal Patient" ] ; fhir:use [ fhir:v "out" ] ; fhir:min [ fhir:v 0 ] ; fhir:max [ fhir:v "1" ] ; fhir:type [ fhir:v "Patient" ] ] [ fhir:name [ fhir:v "SDE Specimen" ] ; fhir:use [ fhir:v "out" ] ; fhir:min [ fhir:v 0 ] ; fhir:max [ fhir:v "*" ] ; fhir:type [ fhir:v "Specimen" ] ] [ fhir:name [ fhir:v "SDE Chief Complaint" ] ; fhir:use [ fhir:v "out" ] ; fhir:min [ fhir:v 0 ] ; fhir:max [ fhir:v "*" ] ; fhir:type [ fhir:v "Encounter" ] ] ) ; ( fhir:dataRequirement [ fhir:type [ fhir:v "Encounter" ] ; ( fhir:profile [ fhir:v "http://hl7.org/fhir/StructureDefinition/Encounter"^^xsd:anyURI ; fhir:link <http://hl7.org/fhir/StructureDefinition/Encounter> ] ) ; ( fhir:mustSupport [ fhir:v "class" ] [ fhir:v "status" ] [ fhir:v "period" ] ) ; ( fhir:codeFilter [ fhir:path [ fhir:v "class" ] ; ( fhir:code [ fhir:system [ fhir:v "http://terminology.hl7.org/CodeSystem/v3-ActCode"^^xsd:anyURI ] ; fhir:code [ fhir:v "IMP" ] ; fhir:display [ fhir:v "inpatient encounter" ] ] [ fhir:system [ fhir:v "http://terminology.hl7.org/CodeSystem/v3-ActCode"^^xsd:anyURI ] ; fhir:code [ fhir:v "ACUTE" ] ; fhir:display [ fhir:v "inpatient acute" ] ] [ fhir:system [ fhir:v "http://terminology.hl7.org/CodeSystem/v3-ActCode"^^xsd:anyURI ] ; fhir:code [ fhir:v "NONAC" ] ; fhir:display [ fhir:v "inpatient non-acute" ] ] [ fhir:system [ fhir:v "http://terminology.hl7.org/CodeSystem/v3-ActCode"^^xsd:anyURI ] ; fhir:code [ fhir:v "SS" ] ; fhir:display [ fhir:v "short stay" ] ] ) ] ) ] [ fhir:type [ fhir:v "Encounter" ] ; ( fhir:profile [ fhir:v "http://hl7.org/fhir/StructureDefinition/Encounter"^^xsd:anyURI ; fhir:link <http://hl7.org/fhir/StructureDefinition/Encounter> ] ) ; ( fhir:mustSupport [ fhir:v "class" ] [ fhir:v "period" ] ) ] [ fhir:type [ fhir:v "Encounter" ] ; ( fhir:profile [ fhir:v "http://hl7.org/fhir/StructureDefinition/Encounter"^^xsd:anyURI ; fhir:link <http://hl7.org/fhir/StructureDefinition/Encounter> ] ) ; ( fhir:mustSupport [ fhir:v "class" ] [ fhir:v "status" ] [ fhir:v "period" ] ) ; ( fhir:codeFilter [ fhir:path [ fhir:v "class" ] ; ( fhir:code [ fhir:system [ fhir:v "http://terminology.hl7.org/CodeSystem/v3-ActCode"^^xsd:anyURI ] ; fhir:code [ fhir:v "IMP" ] ; fhir:display [ fhir:v "inpatient encounter" ] ] [ fhir:system [ fhir:v "http://terminology.hl7.org/CodeSystem/v3-ActCode"^^xsd:anyURI ] ; fhir:code [ fhir:v "ACUTE" ] ; fhir:display [ fhir:v "inpatient acute" ] ] [ fhir:system [ fhir:v "http://terminology.hl7.org/CodeSystem/v3-ActCode"^^xsd:anyURI ] ; fhir:code [ fhir:v "NONAC" ] ; fhir:display [ fhir:v "inpatient non-acute" ] ] [ fhir:system [ fhir:v "http://terminology.hl7.org/CodeSystem/v3-ActCode"^^xsd:anyURI ] ; fhir:code [ fhir:v "SS" ] ; fhir:display [ fhir:v "short stay" ] ] ) ] ) ] [ fhir:type [ fhir:v "Medication" ] ; ( fhir:profile [ fhir:v "http://hl7.org/fhir/StructureDefinition/Medication"^^xsd:anyURI ; fhir:link <http://hl7.org/fhir/StructureDefinition/Medication> ] ) ; ( fhir:mustSupport [ fhir:v "id" ] ) ] [ fhir:type [ fhir:v "MedicationAdministration" ] ; ( fhir:profile [ fhir:v "http://hl7.org/fhir/StructureDefinition/MedicationAdministration"^^xsd:anyURI ; fhir:link <http://hl7.org/fhir/StructureDefinition/MedicationAdministration> ] ) ; ( fhir:mustSupport [ fhir:v "medication" ] [ fhir:v "status" ] [ fhir:v "effective" ] ) ] [ fhir:type [ fhir:v "MedicationRequest" ] ; ( fhir:profile [ fhir:v "http://hl7.org/fhir/StructureDefinition/MedicationRequest"^^xsd:anyURI ; fhir:link <http://hl7.org/fhir/StructureDefinition/MedicationRequest> ] ) ; ( fhir:mustSupport [ fhir:v "medication" ] [ fhir:v "authoredOn" ] [ fhir:v "id" ] [ fhir:v "dosageInstruction" ] ) ] [ fhir:type [ fhir:v "Location" ] ; ( fhir:profile [ fhir:v "http://hl7.org/fhir/StructureDefinition/Location"^^xsd:anyURI ; fhir:link <http://hl7.org/fhir/StructureDefinition/Location> ] ) ; ( fhir:mustSupport [ fhir:v "id" ] ) ] [ fhir:type [ fhir:v "Condition" ] ; ( fhir:profile [ fhir:v "http://hl7.org/fhir/StructureDefinition/Condition"^^xsd:anyURI ; fhir:link <http://hl7.org/fhir/StructureDefinition/Condition> ] ) ; ( fhir:mustSupport [ fhir:v "category" ] [ fhir:v "onset" ] ) ] [ fhir:type [ fhir:v "Specimen" ] ; ( fhir:profile [ fhir:v "http://hl7.org/fhir/StructureDefinition/Specimen"^^xsd:anyURI ; fhir:link <http://hl7.org/fhir/StructureDefinition/Specimen> ] ) ; ( fhir:mustSupport [ fhir:v "id" ] [ fhir:v "collection" ] [ fhir:v "collection.collected" ] ) ] [ fhir:type [ fhir:v "Observation" ] ; ( fhir:profile [ fhir:v "http://hl7.org/fhir/StructureDefinition/Observation"^^xsd:anyURI ; fhir:link <http://hl7.org/fhir/StructureDefinition/Observation> ] ) ; ( fhir:mustSupport [ fhir:v "code" ] [ fhir:v "effective" ] [ fhir:v "specimen" ] [ fhir:v "specimen.collection" ] [ fhir:v "specimen.collection.collected" ] [ fhir:v "category" ] ) ; ( fhir:codeFilter [ fhir:path [ fhir:v "code" ] ; fhir:valueSet [ fhir:v "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1190.38"^^xsd:anyURI ; fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1190.38> ] ] ) ] [ fhir:type [ fhir:v "Coverage" ] ; ( fhir:profile [ fhir:v "http://hl7.org/fhir/StructureDefinition/Coverage"^^xsd:anyURI ; fhir:link <http://hl7.org/fhir/StructureDefinition/Coverage> ] ) ; ( fhir:mustSupport [ fhir:v "type" ] [ fhir:v "period" ] ) ; ( fhir:codeFilter [ fhir:path [ fhir:v "type" ] ; fhir:valueSet [ fhir:v "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591"^^xsd:anyURI ; fhir:link <http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591> ] ] ) ] [ fhir:type [ fhir:v "Patient" ] ; ( fhir:profile [ fhir:v "http://hl7.org/fhir/StructureDefinition/Patient"^^xsd:anyURI ; fhir:link <http://hl7.org/fhir/StructureDefinition/Patient> ] ) ] ) ] ) ; # fhir:extension ( [ fhir:id [ fhir:v "effective-data-requirements" ] ; fhir:url [ fhir:v "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-effectiveDataRequirements"^^xsd:anyURI ] ; fhir:value [ a fhir:canonical ; fhir:v "#effective-data-requirements"^^xsd:anyURI ] ] ) ; # fhir:url [ fhir:v "http://nhsnlink.org/fhir/Measure/NHSNGlycemicControlHypoglycemicInitialPopulation"^^xsd:anyURI] ; # fhir:identifier ( [ fhir:system [ fhir:v "https://nhsnlink.org"^^xsd:anyURI ] ; fhir:value [ fhir:v "nhsnglycemiccontrolhypoglycemicinitialpopulation" ] ] ) ; # fhir:version [ fhir:v "0.000.01"] ; # fhir:name [ fhir:v "NHSNGlycemicControlHypoglycemicInitialPopulation"] ; # fhir:title [ fhir:v "NHSN Glycemic Control, Hypoglycemia Initial Population"] ; # fhir:status [ fhir:v "draft"] ; # fhir:experimental [ fhir:v true] ; # fhir:date [ fhir:v "2022-08-29T12:53:08-08:00"^^xsd:dateTime] ; # fhir:publisher [ fhir:v "NHSN"] ; # fhir:description [ fhir:v "All inpatient encounters (including ED/Observation visits that end within 1 hour of the start of the inpatient encounter) for patients of all ages where at least one ADD was ordered or administered during the encounter that is during the measurement period."] ; # fhir:purpose [ fhir:v "The primary purpose of this site is to provide CDC’s NHSN with access to view measure specification content in the dQMs under development by Lantana Consulting Group. Please note, this site is draft and undergoes constant revision and is not intended to serve as an implementation guide."] ; # fhir:copyright [ fhir:v "This measure and specifications are subject to further revisions. This performance measure is not a clinical guideline, does not establish a standard of medical care and has not been tested for all potential applications. THE MEASURES AND SPECIFICATIONS ARE PROVIDED “AS IS” WITHOUT WARRANTY OF ANY KIND."] ; # fhir:library ( [ fhir:v "http://fhir.org/guides/cqf/Library/NHSNGlycemicControlHypoglycemicInitialPopulation"^^xsd:anyURI ; fhir:link <http://fhir.org/guides/cqf/Library/NHSNGlycemicControlHypoglycemicInitialPopulation> ] ) ; # fhir:scoring [ ( fhir:coding [ fhir:system [ fhir:v "http://terminology.hl7.org/CodeSystem/measure-scoring"^^xsd:anyURI ] ; fhir:code [ fhir:v "cohort" ] ; fhir:display [ fhir:v "Cohort" ] ] ) ] ; # fhir:type ( [ ( fhir:coding [ fhir:system [ fhir:v "http://terminology.hl7.org/CodeSystem/measure-type"^^xsd:anyURI ] ; fhir:code [ fhir:v "outcome" ] ; fhir:display [ fhir:v "Outcome" ] ] ) ] ) ; # fhir:rationale [ fhir:v "The NHSN Glycemic Control, Hypoglycemia module provides a mechanism for facilities to report inpatient medication-related hypoglycemia events, and to provide analytic reports based on these data to inform glycemic control quality improvement efforts and patient safety events. The primary objective of the NHSN Glycemic Control, Hypoglycemia module is to facilitate measurement and benchmarking of medication-related hypoglycemia events within a facility. As additional data are collected by NHSN, an additional objective will be to facilitate inter-facility benchmarking and evaluate national-level trends of medication-related hypoglycemia over time. The IP dQM provides the initial population and FHIR line-level data necessary for calculating the module metrics."] ; # fhir:definition ( [ fhir:v "Antidiabetic Drug Days (ADD): Aggregate number of inpatient encounter days within the facility in which at least one injectable or oral ADD was received. All patients who received ADDs during the hospitalization contribute to the initial population regardless of whether the patient experienced a hypoglycemic event."] [ fhir:v "Emergency Department (ED) or Observation (OBS) encounters: ED or observation encounters that ended within an hour of the inpatient admission are included when calculating the start and stop times of the hospitalization. Only Metric 1 includes ED and OBS encounters."] [ fhir:v "Hypoglycemia Day: An inpatient day with at least one documented hypoglycemia event."] [ fhir:v "Hypoglycemia Event includes the following during an inpatient hospitalization: A hypoglycemic blood glucose (BG) result during the encounter and ADD administered within 24 hours prior to the start of the hypoglycemic BG result and no subsequent test for blood glucose with a result ≥80 mg/dL within five minutes of the start of the initial low blood glucose test."] [ fhir:v "Inpatient Encounter: A hospitalization in any inpatient facility that meets the criteria for reporting to the NHSN Glycemic Control Hypoglycemia Module (refer to CDC Locations and Descriptions manual)."] [ fhir:v "Measurement Period: From the first day of each calendar month through the last day of that calendar month. Mild hypoglycemia: Blood glucose 54 mg/dL to 69 mg/dL as identified on central laboratory device (CLD) or prescription point-of-care (POC) device."] [ fhir:v "Moderate hypoglycemia: Blood glucose 40 mg/dL to 53 mg/dL as identified on CLD or prescription POC device."] [ fhir:v "Severe hypoglycemia Blood glucose < 40 mg/dL as identified on CLD or prescription POC device."] ) ; # fhir:group ( [ ( fhir:population [ fhir:id [ fhir:v "initial-population-01" ] ; fhir:code [ ( fhir:coding [ fhir:system [ fhir:v "http://terminology.hl7.org/CodeSystem/measure-population"^^xsd:anyURI ] ; fhir:code [ fhir:v "initial-population" ] ; fhir:display [ fhir:v "Initial Population" ] ] ) ] ; fhir:description [ fhir:v "All inpatient encounters, as well as ED and OBS encounters that end within 1 hour of the start of the inpatient encounter, for patients of all ages where at least one antidiabetic drug (ADD) was ordered or administered during the encounter that is during the measurement period." ] ; fhir:criteria [ fhir:language [ fhir:v "text/cql.identifier" ] ; fhir:expression [ fhir:v "Initial Population" ] ] ] ) ] ) ; # fhir:supplementalData ( [ fhir:id [ fhir:v "sde-chief-complaint" ] ; fhir:criteria [ fhir:language [ fhir:v "text/cql.identifier" ] ; fhir:expression [ fhir:v "SDE Chief Complaint" ] ] ] [ fhir:id [ fhir:v "sde-condition" ] ; fhir:criteria [ fhir:language [ fhir:v "text/cql.identifier" ] ; fhir:expression [ fhir:v "SDE Condition" ] ] ] [ fhir:id [ fhir:v "sde-condition-during-encounter" ] ; fhir:criteria [ fhir:language [ fhir:v "text/cql.identifier" ] ; fhir:expression [ fhir:v "SDE Condition during Encounter" ] ] ] [ fhir:id [ fhir:v "sde-encounter-discharge-dispositions" ] ; fhir:criteria [ fhir:language [ fhir:v "text/cql.identifier" ] ; fhir:expression [ fhir:v "SDE Encounter Discharge Dispositions" ] ] ] [ fhir:id [ fhir:v "sde-encounter-locations" ] ; fhir:criteria [ fhir:language [ fhir:v "text/cql.identifier" ] ; fhir:expression [ fhir:v "SDE Encounter Locations" ] ] ] [ fhir:id [ fhir:v "sde-medication-administration" ] ; fhir:criteria [ fhir:language [ fhir:v "text/cql.identifier" ] ; fhir:expression [ fhir:v "SDE Medication Administration" ] ] ] [ fhir:id [ fhir:v "sde-medication-request" ] ; fhir:criteria [ fhir:language [ fhir:v "text/cql.identifier" ] ; fhir:expression [ fhir:v "SDE Medication Request" ] ] ] [ fhir:id [ fhir:v "sde-blood-glucose-observation" ] ; fhir:criteria [ fhir:language [ fhir:v "text/cql.identifier" ] ; fhir:expression [ fhir:v "SDE Blood Glucose Observation" ] ] ] [ fhir:id [ fhir:v "sde-payer" ] ; fhir:criteria [ fhir:language [ fhir:v "text/cql.identifier" ] ; fhir:expression [ fhir:v "SDE Payer" ] ] ] [ fhir:id [ fhir:v "sde-specimen" ] ; fhir:criteria [ fhir:language [ fhir:v "text/cql.identifier" ] ; fhir:expression [ fhir:v "SDE Specimen" ] ] ] [ fhir:id [ fhir:v "sde-minimal-patient" ] ; fhir:criteria [ fhir:language [ fhir:v "text/cql.identifier" ] ; fhir:expression [ fhir:v "SDE Minimal Patient" ] ] ] [ fhir:id [ fhir:v "sde-minimal-medication-requests" ] ; fhir:criteria [ fhir:language [ fhir:v "text/cql.identifier" ] ; fhir:expression [ fhir:v "SDE Minimal Medication Requests" ] ] ] ) . #
IG © 2020+ HL7 International / Clinical Quality Information.
Package hl7.fhir.uv.deqm#1.0.0-ballot based on FHIR 4.0.1.
Generated
2026-06-23
Links: Table of Contents |
QA Report
| Version History |
|
Propose a change
