Id:
Library/mmi-suiciderisk-orderset-logic
Identifier:
value: SuicideRiskLogic

Version:
1.0.0

Title:
Suicide Risk Order Set Logic

Type:
code: logic-library

Status:
draft

Description:
Logic for Suicide Risk Order Sets

Topic:
text: Suicide Risk Order Set Logic

Related:

type: depends-on

Resource:
reference: Library/library-fhir-model-definition

Related:

type: depends-on

Resource:
reference: Library/library-fhir-helpers
display: FHIRHelpers

Related:

type: depends-on

Resource:
reference: http://nucc.org/provider-taxonomy

Related:

type: depends-on

Resource:
reference: ValueSet/1.2.3.4.5
display: Suicide Risk Assessment

Parameter:
name: Patient
use: in
minimum cardinality: 1
maximum cardinality: 1
type: Patient

Parameter:
name: Encounter
use: in
minimum cardinality: 1
maximum cardinality: 1
type: Encounter

Parameter:
name: Practitioner
use: in
minimum cardinality: 1
maximum cardinality: 1
type: Practitioner

Data Requirements:

type: RiskAssessment

code filter:
path: code
valueset: Suicide Risk Assessment

Content:

type: text/cql

url: library-mmi-suiciderisk-orderset-logic-content.cql

<status value="active"/> <experimental value="true"/> <type> <coding> <code value="logic-library"/> </coding> </type> <date value="2015-07-22"/> <publisher value="Motive Medical Intelligence"/> <contact> <telecom> <system value="phone"/> <value value="415-362-4007"/> <use value="work"/> </telecom> <telecom> <system value="email"/> <value value="info@motivemi.com"/> <use value="work"/> </telecom> </contact> <description value="Logic for Suicide Risk Order Sets"/> <useContext> <code> <system value="http://terminology.hl7.org/CodeSystem/usage-context-type"/> <code value="age"/> </code> <valueCodeableConcept> <coding> <system value="https://meshb.nlm.nih.gov"/> <code value="D000328"/> <display value="Adult"/> </coding> </valueCodeableConcept> </useContext> <useContext> <code> <system value="http://terminology.hl7.org/CodeSystem/usage-context-type"/> <code value="focus"/> </code> <valueCodeableConcept> <coding> <system value="http://snomed.info/sct"/> <code value="87512008"/> <display value="Mild major depression"/> </coding> </valueCodeableConcept> </useContext> <useContext> <code> <system value="http://terminology.hl7.org/CodeSystem/usage-context-type"/> <code value="focus"/> </code> <valueCodeableConcept> <coding> <system value="http://snomed.info/sct"/> <code value="40379007"/> <display value="Major depression, recurrent, mild"/> </coding> </valueCodeableConcept> </useContext> <useContext> <code> <system value="http://terminology.hl7.org/CodeSystem/usage-context-type"/> <code value="focus"/> </code> <valueCodeableConcept> <coding> <system value="http://snomed.info/sct"/> <code value="225444004"/> <display value="At risk for suicide (finding)"/> </coding> </valueCodeableConcept> </useContext> <useContext> <code> <system value="http://terminology.hl7.org/CodeSystem/usage-context-type"/> <code value="user"/> </code> <valueCodeableConcept> <coding> <system value="http://snomed.info/sct"/> <code value="309343006"/> <display value="Physician"/> </coding> </valueCodeableConcept> </useContext> <useContext> <code> <system value="http://terminology.hl7.org/CodeSystem/usage-context-type"/> <code value="venue"/> </code> <valueCodeableConcept> <coding> <system value="http://snomed.info/sct"/> <code value="440655000"/> <display value="Outpatient environment"/> </coding> </valueCodeableConcept> </useContext> <jurisdiction> <coding> <system value="urn:iso:std:iso:3166"/> <code value="US"/> </coding> </jurisdiction> <purpose value="Defines a referral to a mental-health integrated care program for use in suicide risk order sets. The definition is independent of the order set in which it appears to allow reuse of the general definition of the referrral."/> <usage value="This activity definition is used as the definition of a referral request within various suicide risk order sets. Elements that apply universally are defined here, while elements that apply to the specific setting of a referral within a particular order set are defined in the order set."/> <copyright value="© Copyright 2016 Motive Medical Intelligence. All rights reserved."/> <approvalDate value="2016-03-12"/> <lastReviewDate value="2016-08-15"/> <effectivePeriod> <start value="2016-01-01"/> <end value="2017-12-31"/> </effectivePeriod> <topic> <text value="Suicide Risk Order Set Logic"/> </topic> <author> <name value="Motive Medical Intelligence"/> <telecom> <system value="phone"/> <value value="415-362-4007"/> <use value="work"/> </telecom> <telecom> <system value="email"/> <value value="info@motivemi.com"/> <use value="work"/> </telecom> </author> <relatedArtifact> <type value="citation"/> <display value="Practice Guideline for the Treatment of Patients with Major Depressive Disorder"/> <document> <url value="http://psychiatryonline.org/pb/assets/raw/sitewide/practice_guidelines/guidelines/mdd.pdf"/> </document> </relatedArtifact> <relatedArtifact> <type value="depends-on"/> <resource value="http://hl7.org/fhir/Library/library-fhir-model-definition"/> </relatedArtifact> <relatedArtifact> <type value="depends-on"/> <resource value="http://hl7.org/fhir/Library/library-fhir-helpers"/> </relatedArtifact> <relatedArtifact> <type value="depends-on"/> <resource value="http://nucc.org/provider-taxonomy"/> </relatedArtifact> <relatedArtifact> <type value="depends-on"/> <resource value="http://hl7.org/fhir/ValueSet/1.2.3.4.5"/> </relatedArtifact> <parameter> <name value="Patient"/> <use value="in"/> <min value="1"/> <max value="1"/> <type value="Patient"/> </parameter> <parameter> <name value="Encounter"/> <use value="in"/> <min value="1"/> <max value="1"/> <type value="Encounter"/> </parameter> <parameter> <name value="Practitioner"/> <use value="in"/> <min value="1"/> <max value="1"/> <type value="Practitioner"/> </parameter> <dataRequirement> <type value="RiskAssessment"/> <codeFilter> <path value="code"/> <valueSet value="http://example.org/valueset/1.2.3.4.5"/> <!-- Suicide Risk Assessment --> </codeFilter> </dataRequirement> <content> <contentType value="text/cql"/> <data value="bGlicmFyeSAiemlrYS12aXJ1cy1pbnRlcnZlbnRpb24tbG9naWMiIHZlcnNpb24gJzEuMC4wJwoKdXNpbmcgRkhJUiB2ZXJzaW9uICcxLjgnCgppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzEuOCcgY2FsbGVkIEZISVJIZWxwZXJzCgpjb2Rlc3lzdGVtICJFeGFtcGxlIFF1ZXN0aW9ubmFpcmVzIjogJ2h0dHA6Ly9leGFtcGxlLm9yZy9xdWVzdGlvbm5haXJlcycKCnZhbHVlc2V0ICJQcmVnbmFuY3kiOiAndXJuOm9pZDpYLlkuWicKdmFsdWVzZXQgIlppa2EgQWZmZWN0ZWQgQXJlYXMiOiAndXJuOm9pZDoyLjE2Ljg0MC4xLjExNDIyMi40LjExLjc0NTcnIC8vIFZhbHVlIHNldCBoYXMgYmVlbiBjcmVhdGVkIGJhc2VkIHVwb24gSmFuIDI2dGgsIDIwMTYgdHJhdmVsIG5vdGljZSBmcm9tIENEQyBaaWthIHZpcnVzIGRpc2Vhc2Ugd2Vic2l0ZQlodHRwczovL3BoaW52YWRzLmNkYy5nb3YvdmFkcy9WaWV3VmFsdWVTZXQuYWN0aW9uP29pZD0yLjE2Ljg0MC4xLjExNDIyMi40LjExLjc0NTcKdmFsdWVzZXQgIlppa2EgVmlydXMgU2lnbnMgYW5kIFN5bXB0b21zIjoJJ3VybjpvaWQ6Mi4xNi44NDAuMS4xMTQyMjIuNC4xMS43NDU5JyAvLyBodHRwczovL3BoaW52YWRzLmNkYy5nb3YvdmFkcy9WaWV3VmFsdWVTZXQuYWN0aW9uP29pZD0yLjE2Ljg0MC4xLjExNDIyMi40LjExLjc0NTkKdmFsdWVzZXQgIkdlbmVyYWwgQXJib3ZpcnVzIFNpZ25zIGFuZCBTeW1wdG9tcyI6ICd1cm46b2lkOjIuMTYuODQwLjEuMTE0MjIyLjQuMTEuNzQ2MCcgLy8gU2lnbnMgYW5kIFN5bXB0b21zIG9mIEFyYm92aXJhbCBkaXNlYXNlcy4gVGhpcyB2YWx1ZSBzZXQgd291bGQgYmUgdXNlZCBmb3IgcHVibGljIGhlYWx0aCBjYXNlIG5vdGlmaWNhdGlvbiBhbmQgaW5jbHVkZXMgc2lnbnMgYW5kIHN5bXB0b21zIG9mIERlbmd1ZSwgQ2hpa3VuZ3VueWEgYW5kIFppa2EuCWh0dHBzOi8vcGhpbnZhZHMuY2RjLmdvdi92YWRzL1ZpZXdWYWx1ZVNldC5hY3Rpb24/b2lkPTIuMTYuODQwLjEuMTE0MjIyLjQuMTEuNzQ2MAp2YWx1ZXNldCAiWmlrYSBWaXJ1cyBUZXN0cyI6ICd1cm46b2lkOjIuMTYuODQwLjEuMTE0MjIyLjQuMTEuNzQ4MCcJLy8gaHR0cHM6Ly9waGludmFkcy5jZGMuZ292L3ZhZHMvVmlld1ZhbHVlU2V0LmFjdGlvbj9vaWQ9Mi4xNi44NDAuMS4xMTQyMjIuNC4xMS43NDgwCnZhbHVlc2V0ICJBcmJvdmlydXMgVGVzdHMiOiAndXJuOm9pZDoyLjE2Ljg0MC4xLjExNDIyMi40LjExLjQxMjAnIC8vIGh0dHBzOi8vcGhpbnZhZHMuY2RjLmdvdi92YWRzL1ZpZXdWYWx1ZVNldC5hY3Rpb24/b2lkPTIuMTYuODQwLjEuMTE0MjIyLjQuMTEuNDEyMAp2YWx1ZXNldCAiQ2hpa3VuZ3VueWEgVGVzdHMiOiAndXJuOm9pZDoyLjE2Ljg0MC4xLjExNDIyMi40LjExLjczMzknIC8vIGh0dHBzOi8vcGhpbnZhZHMuY2RjLmdvdi92YWRzL1ZpZXdWYWx1ZVNldC5hY3Rpb24/b2lkPTIuMTYuODQwLjEuMTE0MjIyLjQuMTEuNzMzOQp2YWx1ZXNldCAiRGVuZ3VlIFRlc3RzIjogJ3VybjpvaWQ6Mi4xNi44NDAuMS4xMTQyMjIuNC4xMS40MTQxJyAvLwlodHRwczovL3BoaW52YWRzLmNkYy5nb3YvdmFkcy9WaWV3VmFsdWVTZXQuYWN0aW9uP29pZD0yLjE2Ljg0MC4xLjExNDIyMi40LjExLjQxNDEKdmFsdWVzZXQgIlppa2EgVmlydXMgSWdNIEVMSVNBIFJlc3VsdHMiOiAndXJuOm9pZDoyLjE2Ljg0MC4xLjExNDIyMi40LjExLjc0NzYnIC8vIFRoaXMgdmFsdWUgc2V0IGlzIGludGVuZGVkIGZvciB1c2UgaW4gZWxlY3Ryb25pYyBsYWJvcmF0b3J5IHJlcG9ydGluZyBiYXNlZCBvbiB0aGUgcmVzdWx0cyByZWNlaXZlZCBmcm9tIHRoZSBsYWJvcmF0b3J5LiAgVGhlIGxhYm9yYXRvcnkgbWF5IGFsc28gcmVwb3J0IGEgcXVhbnRpdGF0aXZlIHRpdGVyIGlmIGFwcGxpY2FibGUuCWh0dHBzOi8vcGhpbnZhZHMuY2RjLmdvdi92YWRzL1ZpZXdWYWx1ZVNldC5hY3Rpb24/b2lkPTIuMTYuODQwLjEuMTE0MjIyLjQuMTEuNzQ3Ngp2YWx1ZXNldCAiWmlrYSBWaXJ1cyBOZXV0cmFsaXppbmcgQW50aWJvZHkgUmVzdWx0cyI6ICd1cm46b2lkOjIuMTYuODQwLjEuMTE0MjIyLjQuMTEuNzQ3NycgLy8gVGhpcyB2YWx1ZSBzZXQgaXMgaW50ZW5kZWQgZm9yIHVzZSBpbiBlbGVjdHJvbmljIGxhYm9yYXRvcnkgcmVwb3J0aW5nIGJhc2VkIG9uIHRoZSByZXN1bHRzIHJlY2VpdmVkIGZyb20gdGhlIGxhYm9yYXRvcnkuICBUaGUgbGFib3JhdG9yeSBtYXkgYWxzbyByZXBvcnQgYSBxdWFudGl0YXRpdmUgdGl0ZXIgaWYgYXBwbGljYWJsZS4JaHR0cHM6Ly9waGludmFkcy5jZGMuZ292L3ZhZHMvVmlld1ZhbHVlU2V0LmFjdGlvbj9vaWQ9Mi4xNi44NDAuMS4xMTQyMjIuNC4xMS43NDc3CnZhbHVlc2V0ICJBcmJvdmlydXMgVGVzdCBSZXN1bHRzIjogJ3VybjpvaWQ6Mi4xNi44NDAuMS4xMTQyMjIuNC4xMS40MDAzJyAvLwlodHRwczovL3BoaW52YWRzLmNkYy5nb3YvdmFkcy9WaWV3VmFsdWVTZXQuYWN0aW9uP29pZD0yLjE2Ljg0MC4xLjExNDIyMi40LjExLjQwMDMKdmFsdWVzZXQgIkNoaWt1bmd1bnlhIFRlc3QgUmVzdWx0cyI6ICd1cm46b2lkOjIuMTYuODQwLjEuMTE0MjIyLjQuMTEuNzM0MycgLy8gVGhpcyB2YWx1ZSBzZXQgaXMgaW50ZW5kZWQgZm9yIHVzZSBpbiBlbGVjdHJvbmljIGxhYm9yYXRvcnkgcmVwb3J0aW5nIGJhc2VkIG9uIHRoZSByZXN1bHRzIHJlY2VpdmVkIGZyb20gdGhlIGxhYm9yYXRvcnkuICBUaGUgbGFib3JhdG9yeSBtYXkgYWxzbyByZXBvcnQgYSBxdWFudGl0YXRpdmUgdGl0ZXIgaWYgYXBwbGljYWJsZS4JaHR0cHM6Ly9waGludmFkcy5jZGMuZ292L3ZhZHMvVmlld1ZhbHVlU2V0LmFjdGlvbj9vaWQ9Mi4xNi44NDAuMS4xMTQyMjIuNC4xMS43MzQzCnZhbHVlc2V0ICJEZW5ndWUgVGVzdCBSZXN1bHRzIjogJ3VybjpvaWQ6Mi4xNi44NDAuMS4xMTQyMjIuNC4xMS40MDI1JyAvLyBUaGlzIHZhbHVlIHNldCBpcyBpbnRlbmRlZCBmb3IgdXNlIGluIGVsZWN0cm9uaWMgbGFib3JhdG9yeSByZXBvcnRpbmcgYmFzZWQgb24gdGhlIHJlc3VsdHMgcmVjZWl2ZWQgZnJvbSB0aGUgbGFib3JhdG9yeS4gIFRoZSBsYWJvcmF0b3J5IG1heSBhbHNvIHJlcG9ydCBhIHF1YW50aXRhdGl2ZSB0aXRlciBpZiBhcHBsaWNhYmxlLglodHRwczovL3BoaW52YWRzLmNkYy5nb3YvdmFkcy9WaWV3VmFsdWVTZXQuYWN0aW9uP29pZD0yLjE2Ljg0MC4xLjExNDIyMi40LjExLjQwMjUKCmNvZGUgIkNERTogUmVzaWRlbnQgb2Ygb3IgRnJlcXVlbnQgVHJhdmVsZXIgdG8gWmlrYSBBcmVhIjogJ0NERTogUmVzaWRlbnQgb2Ygb3IgRnJlcXVlbnQgVHJhdmVsZXIgdG8gWmlrYSBBcmVhJyBmcm9tICJFeGFtcGxlIFF1ZXN0aW9ubmFpcmVzIgpjb2RlICJDREU6IFJlY2VudCBUcmF2ZWwgdG8gWmlrYSBBcmVhIjogJ0NERTogUmVjZW50IFRyYXZlbCB0byBaaWthIEFyZWEnIGZyb20gIkV4YW1wbGUgUXVlc3Rpb25uYWlyZXMiCmNvZGUgIkNERTogVGltZSBTaW5jZSBSZXR1cm5lZCBGcm9tIFRyYXZlbCI6ICdDREU6IFRpbWUgU2luY2UgUmV0dXJuZWQgRnJvbSBUcmF2ZWwnIGZyb20gIkV4YW1wbGUgUXVlc3Rpb25uYWlyZXMiCmNvZGUgIkNERTogUmVjZW50IFNleHVhbCBFbmNvdW50ZXIgV2l0aCBUcmF2ZWxlciB0byBaaWthIEFyZWEiOiAnQ0RFOiBSZWNlbnQgU2V4dWFsIEVuY291bnRlciBXaXRoIFRyYXZlbGVyIHRvIFppa2EgQXJlYScgZnJvbSAiRXhhbXBsZSBRdWVzdGlvbm5haXJlcyIKY29kZSAiQ0RFOiBUaW1lIFNpbmNlIFNleHVhbCBFbmNvdW50ZXIiOiAnQ0RFOiBUaW1lIFNpbmNlIFNleHVhbCBFbmNvdW50ZXInIGZyb20gIkV4YW1wbGUgUXVlc3Rpb25uYWlyZXMiCmNvZGUgIkNERTogUGxhbm5lZCBUcmF2ZWwgdG8gWmlrYSBBcmVhIjogJ0NERTogUGxhbm5lZCBUcmF2ZWwgdG8gWmlrYSBBcmVhJyBmcm9tICJFeGFtcGxlIFF1ZXN0aW9ubmFpcmVzIgoKcGFyYW1ldGVyICJDdXJyZW50IEVuY291bnRlciIgRW5jb3VudGVyCgpjb250ZXh0IFBhdGllbnQKCmRlZmluZSAiUHJlZ25hbmN5IENvbmRpdGlvbnMiOgogIFtDb25kaXRpb246ICJQcmVnbmFuY3kiXSBDCiAgICB3aGVyZSBDLmNsaW5pY2FsU3RhdHVzID0gJ2FjdGl2ZScKICAgICAgYW5kIEMudmVyaWZpY2F0aW9uU3RhdHVzID0gJ2NvbmZpcm1lZCcKICAgICAgLy8gd2VsbCwgdGhpcyBpcyB1Z2x5Li4uLgogICAgICBhbmQgSW50ZXJ2YWxbQy5vbnNldCBhcyBkYXRlVGltZSwgQy5hYmF0ZW1lbnQgYXMgZGF0ZVRpbWVdIGluY2x1ZGVzIFRvZGF5KCkKCmRlZmluZSAiSXMgUGF0aWVudCBQcmVnbmFudCI6CiAgUGF0aWVudC5nZW5kZXIgPSAnZmVtYWxlJwogICAgYW5kIGV4aXN0cyAoIlByZWduYW5jeSBDb25kaXRpb25zIikKCmRlZmluZSAiWmlrYSBFeHBvc3VyZSBBc3Nlc3NtZW50IjoKICBDb2RlICdaaWthIFZpcnVzIEV4cG9zdXJlIEFzc2Vzc21lbnQnIGZyb20gIkV4YW1wbGUgUXVlc3Rpb25uYWlyZXMiCgpkZWZpbmUgIlppa2EgRXhwb3N1cmUgQXNzZXNzbWVudCBSZXN1bHQiOgogIEZpcnN0KAogICAgW09ic2VydmF0aW9uOiAiWmlrYSBFeHBvc3VyZSBBc3Nlc3NtZW50Il0gTwogICAgICB3aGVyZSBPLnN0YXR1cyA9ICdmaW5hbCcKICAgICAgICBhbmQgTy5lbmNvdW50ZXIucmVmZXJlbmNlID0gIkN1cnJlbnQgRW5jb3VudGVyIi5pZCAvLyBUT0RPOiBmaXgKICAgICAgc29ydCBieSAoTy5lZmZlY3RpdmUpIGRlc2MKICApCgpkZWZpbmUgIkhhcyBaaWthIEV4cG9zdXJlIEFzc2Vzc21lbnQiOgogICJaaWthIEV4cG9zdXJlIEFzc2Vzc21lbnQgUmVzdWx0IiBpcyBub3QgbnVsbAoKZGVmaW5lICJaaWthIFN5bXB0b21zIjoKICBbQ29uZGl0aW9uOiAiWmlrYSBWaXJ1cyBTaWducyBhbmQgU3ltcHRvbXMiXSBDCiAgICB3aGVyZSBDLmNsaW5pY2FsU3RhdHVzID0gJ2FjdGl2ZScKICAgICAgYW5kIEMudmVyaWZpY2F0aW9uU3RhdHVzID0gJ2NvbmZpcm1lZCcKICAgICAgYW5kIEMuImNvbnRleHQiLnJlZmVyZW5jZSA9ICJDdXJyZW50IEVuY291bnRlciIuaWQgLy8gVE9ETzogZml4CgpkZWZpbmUgIkhhcyBaaWthIFN5bXB0b21zIjoKICBleGlzdHMgIlppa2EgU3ltcHRvbXMiCgpkZWZpbmUgIk5vIFppa2EgU3ltcHRvbXMiOgogIG5vdCAiSGFzIFppa2EgU3ltcHRvbXMiCgpkZWZpbmUgIlllcyI6IHsgJ1llcycgfQoKZGVmaW5lICJSZXNpZGVudCBvZiBvciBGcmVxdWVudCBUcmF2ZWxlciB0byBaaWthIEFyZWEiOgogIGV4aXN0cyAoCiAgICAiWmlrYSBFeHBvc3VyZSBBc3Nlc3NtZW50IFJlc3VsdCIuY29tcG9uZW50IEMKICAgICAgLy8gVE9ETzogTmVlZCB0byBzdHJlYW1saW5lLCB0aGlzIG91Z2h0IHRvIGhhdmUgd29ya2VkLCBub3Qgc3VyZSB3aHkgaXQgZGlkbid0ICh3aXRob3V0IHRoZSBjb2RpbmdbMF0gYWNjZXNzKQogICAgICB3aGVyZSBDLmNvZGUuY29kaW5nWzBdID0gIkNERTogUmVzaWRlbnQgb2Ygb3IgRnJlcXVlbnQgVHJhdmVsZXIgdG8gWmlrYSBBcmVhIgogICAgICAgIGFuZCBDLnZhbHVlIGluICJZZXMiCiAgKQoKZGVmaW5lICJSZWNlbnQgVHJhdmVsIHRvIFppa2EgQXJlYSI6CiAgZXhpc3RzICgKICAgICJaaWthIEV4cG9zdXJlIEFzc2Vzc21lbnQgUmVzdWx0Ii5jb21wb25lbnQgQwogICAgICB3aGVyZSBDLmNvZGUuY29kaW5nWzBdID0gIkNERTogUmVjZW50IFRyYXZlbCB0byBaaWthIEFyZWEiCiAgICAgICAgYW5kIEMudmFsdWUgaW4gIlllcyIKICApCgpkZWZpbmUgIlRpbWUgU2luY2UgUmV0dXJuZWQgRnJvbSBUcmF2ZWwiOgogIHNpbmdsZXRvbiBmcm9tICgKICAgICJaaWthIEV4cG9zdXJlIEFzc2Vzc21lbnQgUmVzdWx0Ii5jb21wb25lbnQgQwogICAgICB3aGVyZSBDLmNvZGUuY29kaW5nWzBdID0gIkNERTogVGltZSBTaW5jZSBSZXR1cm5lZCBGcm9tIFRyYXZlbCIKICAgICAgcmV0dXJuIEMudmFsdWUgYXMgUXVhbnRpdHkKICApCgpkZWZpbmUgIlJlY2VudCBTZXh1YWwgRW5jb3VudGVyIFdpdGggVHJhdmVsZXIgdG8gWmlrYSBBcmVhIjoKICBleGlzdHMgKAogICAgIlppa2EgRXhwb3N1cmUgQXNzZXNzbWVudCBSZXN1bHQiLmNvbXBvbmVudCBDCiAgICAgIHdoZXJlIEMuY29kZS5jb2RpbmdbMF0gPSAiQ0RFOiBSZWNlbnQgU2V4dWFsIEVuY291bnRlciBXaXRoIFRyYXZlbGVyIHRvIFppa2EgQXJlYSIKICAgICAgICBhbmQgQy52YWx1ZSBpbiAiWWVzIgogICkKCmRlZmluZSAiVGltZSBTaW5jZSBTZXh1YWwgRW5jb3VudGVyIjoKICBzaW5nbGV0b24gZnJvbSAoCiAgICAiWmlrYSBFeHBvc3VyZSBBc3Nlc3NtZW50IFJlc3VsdCIuY29tcG9uZW50IEMKICAgICAgd2hlcmUgQy5jb2RlLmNvZGluZ1swXSA9ICJDREU6IFRpbWUgU2luY2UgU2V4dWFsIEVuY291bnRlciIKICAgICAgcmV0dXJuIEMudmFsdWUgYXMgUXVhbnRpdHkKICApCgpkZWZpbmUgIlRpbWUgU2luY2UgUG9zc2libGUgRXhwb3N1cmUiOgogIENvYWxlc2NlKCJUaW1lIFNpbmNlIFJldHVybmVkIEZyb20gVHJhdmVsIiwgIlRpbWUgU2luY2UgU2V4dWFsIEVuY291bnRlciIpCgpkZWZpbmUgIlBsYW5uZWQgVHJhdmVsIHRvIFppa2EgQXJlYSI6CiAgZXhpc3RzICgKICAgICJaaWthIEV4cG9zdXJlIEFzc2Vzc21lbnQgUmVzdWx0Ii5jb21wb25lbnQgQwogICAgICB3aGVyZSBDLmNvZGUuY29kaW5nWzBdID0gIkNERTogUGxhbm5lZCBUcmF2ZWwgdG8gWmlrYSBBcmVhIgogICAgICAgIGFuZCBDLnZhbHVlIGluICJZZXMiCiAgKQoKZGVmaW5lICJIYXMgUG9zc2libGUgWmlrYSBFeHBvc3VyZSI6CiAgIlJlc2lkZW50IG9mIG9yIEZyZXF1ZW50IFRyYXZlbGVyIHRvIFppa2EgQXJlYSIKICAgIG9yICJSZWNlbnQgVHJhdmVsIHRvIFppa2EgQXJlYSIKICAgIG9yICJSZWNlbnQgU2V4dWFsIEVuY291bnRlciBXaXRoIFRyYXZlbGVyIHRvIFppa2EgQXJlYSIKCmRlZmluZSAiWmlrYSBTeW1wdG9tIE9uc2V0IjoKICBGaXJzdCgKICAgICJaaWthIFN5bXB0b21zIiBTCiAgICAgIHNvcnQgYnkgKFMub25zZXQgYXMgZGF0ZVRpbWUpCiAgKS5vbnNldAoKZGVmaW5lICJUaW1lIFNpbmNlIFN5bXB0b20gT25zZXQiOgogIFN5c3RlbS5RdWFudGl0eSB7IHZhbHVlOiB3ZWVrcyBiZXR3ZWVuICJaaWthIFN5bXB0b20gT25zZXQiIGFuZCBUb2RheSgpLCB1bml0OiAnd2snIH0KCmRlZmluZSAiU2hvdWxkIEFkbWluaXN0ZXIgWmlrYSBFeHBvc3VyZSBBc3Nlc3NtZW50IjoKICBub3QgKCJIYXMgWmlrYSBFeHBvc3VyZSBBc3Nlc3NtZW50IikKCmRlZmluZSAiU2hvdWxkIE9yZGVyIFNlcnVtICsgVXJpbmUgclJULVBDUiBUZXN0IjoKICAoIkhhcyBQb3NzaWJsZSBaaWthIEV4cG9zdXJlIiBhbmQgIkhhcyBaaWthIFN5bXB0b21zIiBhbmQgIlRpbWUgU2luY2UgU3ltcHRvbSBPbnNldCIgPCAyIHdlZWtzKQogICAgb3IgKCJObyBaaWthIFN5bXB0b21zIiBhbmQgIlRpbWUgU2luY2UgUG9zc2libGUgRXhwb3N1cmUiIDwgMiB3ZWVrcykKCmRlZmluZSAiU2hvdWxkIE9yZGVyIFNlcnVtIFppa2EgVmlydXMgSWdNICsgRGVuZ3VlIFZpcnVzIElnTSI6CiAgKCJIYXMgUG9zc2libGUgWmlrYSBFeHBvc3VyZSIgYW5kICJIYXMgWmlrYSBTeW1wdG9tcyIgYW5kICJUaW1lIFNpbmNlIFN5bXB0b20gT25zZXQiIGluIEludGVydmFsWzIgd2Vla3MsIDEyIHdlZWtzKSkKICAgIG9yICgiUmVzaWRlbnQgb2Ygb3IgRnJlcXVlbnQgVHJhdmVsZXIgdG8gWmlrYSBBcmVhIiBhbmQgIk5vIFppa2EgU3ltcHRvbXMiKQogICAgb3IgKCJObyBaaWthIFN5bXB0b21zIiBhbmQgIlRpbWUgU2luY2UgUG9zc2libGUgRXhwb3N1cmUiIGluIEludGVydmFsWzIgd2Vla3MsIDEyIHdlZWtzKSkKCmRlZmluZSAiU2hvdWxkIENvbnNpZGVyIElnTSBBbnRpYm9keSBUZXN0aW5nIjoKICAoIkhhcyBQb3NzaWJsZSBaaWthIEV4cG9zdXJlIiBhbmQgIkhhcyBaaWthIFN5bXB0b21zIiBhbmQgIlRpbWUgU2luY2UgU3ltcHRvbSBPbnNldCIgPj0gMTIgd2Vla3MpCiAgICBvciAoIk5vIFppa2EgU3ltcHRvbXMiIGFuZCAiVGltZSBTaW5jZSBQb3NzaWJsZSBFeHBvc3VyZSIgPj0gMTIgd2Vla3MpCgpkZWZpbmUgIlNob3VsZCBQcm92aWRlIE1vc3F1aXRvIFByZXZlbnRpb24gYW5kIENvbnRyYWNlcHRpb24gQWR2aWNlIjoKICAiUGxhbm5lZCBUcmF2ZWwgdG8gWmlrYSBBcmVhIgo="/> </content> </Library>