Release 5 Draft Ballot

This page is part of the FHIR Specification (v4.6.0: R5 Draft Ballot). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4

Library-opioidcds-recommendation-04.xml

Clinical Decision Support Work GroupMaturity Level: N/AStandards Status: InformativeCompartments: Not linked to any defined compartments

Raw XML (canonical form + also see XML Format Specification)

Jump past Narrative

Opioid CDS Recommendation 4 Logic (id = "opioidcds-recommendation-04")

<?xml version="1.0" encoding="UTF-8"?>

<Library xmlns="http://hl7.org/fhir">
  <id value="opioidcds-recommendation-04"/> 
  <text> 
    <status value="generated"/> 
    <div xmlns="http://www.w3.org/1999/xhtml">
      <h2> Participants</h2> 
      <table class="grid">
        <tr> 
          <td> Author</td> 
          <td> Kensaku Kawamoto, MD, PhD, MHS</td> 
        </tr> 
        <tr> 
          <td> Author</td> 
          <td> Bryn Rhodes</td> 
        </tr> 
        <tr> 
          <td> Author</td> 
          <td> Floyd Eisenberg, MD, MPH</td> 
        </tr> 
        <tr> 
          <td> Author</td> 
          <td> Robert McClure, MD, MPH</td> 
        </tr> 
      </table> 
      <h2> Related Artifacts</h2> 
      <table class="grid">
        <tr> 
          <td> Documentation</td> 
          <td> CDC guideline for prescribing opioids for chronic pain</td> 
          <td> https://guidelines.gov/summaries/summary/50153/cdc-guideline-for-prescribing-opioids-for-chronic-pai
            n---united-states-2016#420</td> 
        </tr> 
        <tr> 
          <td> Depends On</td> 
          <td/>  
          <td> 
            <code> http://example.org/fhir/Library/opioidcds-common</code> 
          </td> 
        </tr> 
      </table> 
      <h2> Data Requirements</h2> 
      <table class="grid">
        <tr> 
          <td colspan="2">
            <b> Type</b> : 
            <a href="medicationrequest.html">MedicationRequest</a> 
          </td> 
        </tr> 
        <tr style="background-color: #efefef">
          <td> Filter</td> 
          <td> Value</td> 
        </tr> 
        <tr> 
          <td> medicationCodeableConcept</td> 
          <td> In ValueSet 
            <a href="http://example.org/fhir/ValueSet/opioids-abused-in-ambulatory-care">http://example.org/fhir/ValueSet/opioids-abused-in-ambulatory-care</a> 
          </td> 
        </tr> 
      </table> 
      <table class="grid">
        <tr> 
          <td colspan="2">
            <b> Type</b> : 
            <a href="encounter.html">Encounter</a> 
          </td> 
        </tr> 
      </table> 
      <h2> Contents</h2> 
      <p> 
        <code> application/elm+xml</code> 
      </p> 
      <pre> 
        <code class="language-xml">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;library xmlns=&quot;urn:hl7-org:elm:r1&quot; xmlns:t=&quot;urn:hl7-org:elm-types:r1&quot;
           xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xmlns:xsd=&quot;http://www.w3.org/20
          01/XMLSchema&quot; xmlns:fhir=&quot;http://hl7.org/fhir&quot; xmlns:qdm43=&quot;urn:healthit-gov:qdm:
          v4_3&quot; xmlns:qdm53=&quot;urn:healthit-gov:qdm:v5_3&quot; xmlns:a=&quot;urn:hl7-org:cql-annotation
          s:r1&quot;&gt;
   &lt;annotation startLine=&quot;67&quot; startChar=&quot;5&quot; endLine=&quot;67&quot;
           endChar=&quot;68&quot; message=&quot;Could not resolve code path medicationCodeableConcept
           for the type of the retrieve FHIR.MedicationRequest.&quot; errorType=&quot;semantic&quot;
           errorSeverity=&quot;warning&quot; xsi:type=&quot;a:CqlToElmError&quot;/&gt;
   &lt;annotation startLine=&quot;67&quot; startChar=&quot;5&quot; endLine=&quot;67&quot;
           endChar=&quot;68&quot; message=&quot;Could not resolve membership operator for terminology
           target of the retrieve.&quot; errorType=&quot;semantic&quot; errorSeverity=&quot;warning&quot;
           xsi:type=&quot;a:CqlToElmError&quot;/&gt;
   &lt;annotation startLine=&quot;78&quot; startChar=&quot;83&quot; endLine=&quot;78&quot;
           endChar=&quot;126&quot; message=&quot;List-valued expression was demoted to a singleton.&quot;
           errorType=&quot;semantic&quot; errorSeverity=&quot;warning&quot; xsi:type=&quot;a:CqlToElmError&quot
          ;/&gt;
   &lt;identifier id=&quot;OpioidCDS_STU4_REC_04&quot; version=&quot;0.1.0&quot;/&gt;
   &lt;schemaIdentifier id=&quot;urn:hl7-org:elm&quot; version=&quot;r1&quot;/&gt;
   &lt;usings&gt;
      &lt;def localIdentifier=&quot;System&quot; uri=&quot;urn:hl7-org:elm-types:r1&quot;/&gt;
      &lt;def localIdentifier=&quot;FHIR&quot; uri=&quot;http://hl7.org/fhir&quot; version=&quot;3.2
          .0&quot;/&gt;
   &lt;/usings&gt;
   &lt;includes&gt;
      &lt;def localIdentifier=&quot;Common&quot; path=&quot;OpioidCDS_STU4_Common&quot;
           version=&quot;0.1.0&quot;/&gt;
   &lt;/includes&gt;
   &lt;parameters&gt;
      &lt;def name=&quot;ContextPrescriptions&quot; accessLevel=&quot;Public&quot;&gt;
         &lt;parameterTypeSpecifier xsi:type=&quot;ListTypeSpecifier&quot;&gt;
            &lt;elementType name=&quot;fhir:MedicationRequest&quot; xsi:type=&quot;NamedTypeSpecifie
          r&quot;/&gt;
         &lt;/parameterTypeSpecifier&gt;
      &lt;/def&gt;
   &lt;/parameters&gt;
   &lt;statements&gt;
      &lt;def name=&quot;Patient&quot; context=&quot;Patient&quot;&gt;
         &lt;expression xsi:type=&quot;SingletonFrom&quot;&gt;
            &lt;operand dataType=&quot;fhir:Patient&quot; xsi:type=&quot;Retrieve&quot;/&gt;
         &lt;/expression&gt;
      &lt;/def&gt;
      &lt;def name=&quot;Inclusion Period&quot; context=&quot;Patient&quot; accessLevel=&quot;Public
          &quot;&gt;
         &lt;expression lowClosed=&quot;true&quot; highClosed=&quot;true&quot; xsi:type=&quot;Interv
          al&quot;&gt;
            &lt;low xsi:type=&quot;Subtract&quot;&gt;
               &lt;operand xsi:type=&quot;Today&quot;/&gt;
               &lt;operand value=&quot;91&quot; unit=&quot;days&quot; xsi:type=&quot;Quantity&quot;/
          &gt;
            &lt;/low&gt;
            &lt;high xsi:type=&quot;Subtract&quot;&gt;
               &lt;operand xsi:type=&quot;Today&quot;/&gt;
               &lt;operand value=&quot;1&quot; unit=&quot;days&quot; xsi:type=&quot;Quantity&quot;/&
          gt;
            &lt;/high&gt;
         &lt;/expression&gt;
      &lt;/def&gt;
      &lt;def name=&quot;Encounter Period&quot; context=&quot;Patient&quot; accessLevel=&quot;Public
          &quot;&gt;
         &lt;expression lowClosed=&quot;true&quot; highClosed=&quot;true&quot; xsi:type=&quot;Interv
          al&quot;&gt;
            &lt;low xsi:type=&quot;Subtract&quot;&gt;
               &lt;operand xsi:type=&quot;Subtract&quot;&gt;
                  &lt;operand xsi:type=&quot;Today&quot;/&gt;
                  &lt;operand value=&quot;12&quot; unit=&quot;months&quot; xsi:type=&quot;Quantity&q
          uot;/&gt;
               &lt;/operand&gt;
               &lt;operand value=&quot;1&quot; unit=&quot;days&quot; xsi:type=&quot;Quantity&quot;/&
          gt;
            &lt;/low&gt;
            &lt;high xsi:type=&quot;Subtract&quot;&gt;
               &lt;operand xsi:type=&quot;Today&quot;/&gt;
               &lt;operand value=&quot;1&quot; unit=&quot;days&quot; xsi:type=&quot;Quantity&quot;/&
          gt;
            &lt;/high&gt;
         &lt;/expression&gt;
      &lt;/def&gt;
      &lt;def name=&quot;Get Trigger Event Prescriptions&quot; context=&quot;Patient&quot;
           accessLevel=&quot;Public&quot;&gt;
         &lt;expression xsi:type=&quot;Query&quot;&gt;
            &lt;source alias=&quot;triggerScripts&quot;&gt;
               &lt;expression name=&quot;ContextPrescriptions&quot; xsi:type=&quot;ParameterRef&quot
          ;/&gt;
            &lt;/source&gt;
            &lt;let identifier=&quot;rxNormCode&quot;&gt;
               &lt;expression name=&quot;ToCode&quot; libraryName=&quot;Common&quot; xsi:type=&quot;
          FunctionRef&quot;&gt;
                  &lt;operand xsi:type=&quot;Indexer&quot;&gt;
                     &lt;operand path=&quot;coding&quot; xsi:type=&quot;Property&quot;&gt;
                        &lt;source path=&quot;medication&quot; scope=&quot;triggerScripts&quot;
           xsi:type=&quot;Property&quot;/&gt;
                     &lt;/operand&gt;
                     &lt;operand valueType=&quot;t:Integer&quot; value=&quot;0&quot; xsi:type=&quot;
          Literal&quot;/&gt;
                  &lt;/operand&gt;
               &lt;/expression&gt;
            &lt;/let&gt;
            &lt;where xsi:type=&quot;And&quot;&gt;
               &lt;operand name=&quot;IsOpioidWithAmbulatoryAbusePotential&quot; libraryName=&quot;C
          ommon&quot; xsi:type=&quot;FunctionRef&quot;&gt;
                  &lt;operand name=&quot;rxNormCode&quot; xsi:type=&quot;QueryLetRef&quot;/&gt;
               &lt;/operand&gt;
               &lt;operand name=&quot;IsLongActingOpioid&quot; libraryName=&quot;Common&quot;
           xsi:type=&quot;FunctionRef&quot;&gt;
                  &lt;operand name=&quot;rxNormCode&quot; xsi:type=&quot;QueryLetRef&quot;/&gt;
               &lt;/operand&gt;
            &lt;/where&gt;
         &lt;/expression&gt;
      &lt;/def&gt;
      &lt;def name=&quot;Get Trigger Trigger Event Prescription Ids&quot; context=&quot;Patient&quot
          ; accessLevel=&quot;Public&quot;&gt;
         &lt;expression xsi:type=&quot;Query&quot;&gt;
            &lt;source alias=&quot;triggerScripts&quot;&gt;
               &lt;expression name=&quot;Get Trigger Event Prescriptions&quot; xsi:type=&quot;Expres
          sionRef&quot;/&gt;
            &lt;/source&gt;
            &lt;let identifier=&quot;codeString&quot;&gt;
               &lt;expression valueType=&quot;t:String&quot; value=&quot;&quot; xsi:type=&quot;Liter
          al&quot;/&gt;
            &lt;/let&gt;
            &lt;return&gt;
               &lt;expression xsi:type=&quot;Concatenate&quot;&gt;
                  &lt;operand xsi:type=&quot;Concatenate&quot;&gt;
                     &lt;operand name=&quot;codeString&quot; xsi:type=&quot;QueryLetRef&quot;/&gt;
                     &lt;operand path=&quot;value&quot; xsi:type=&quot;Property&quot;&gt;
                        &lt;source path=&quot;id&quot; scope=&quot;triggerScripts&quot;
           xsi:type=&quot;Property&quot;/&gt;
                     &lt;/operand&gt;
                  &lt;/operand&gt;
                  &lt;operand valueType=&quot;t:String&quot; value=&quot; &quot; xsi:type=&quot;Lite
          ral&quot;/&gt;
               &lt;/expression&gt;
            &lt;/return&gt;
         &lt;/expression&gt;
      &lt;/def&gt;
      &lt;def name=&quot;Validate Trigger Event&quot; context=&quot;Patient&quot; accessLevel=&quot;
          Public&quot;&gt;
         &lt;expression xsi:type=&quot;Exists&quot;&gt;
            &lt;operand name=&quot;Get Trigger Event Prescriptions&quot; xsi:type=&quot;ExpressionRe
          f&quot;/&gt;
         &lt;/expression&gt;
      &lt;/def&gt;
      &lt;def name=&quot;Opioid with Ambulatory Care Abuse Potential in Past 90 Days&quot;
           context=&quot;Patient&quot; accessLevel=&quot;Public&quot;&gt;
         &lt;expression xsi:type=&quot;Exists&quot;&gt;
            &lt;operand xsi:type=&quot;Query&quot;&gt;
               &lt;source alias=&quot;orders&quot;&gt;
                  &lt;expression dataType=&quot;fhir:MedicationRequest&quot; codeProperty=&quot;medi
          cationCodeableConcept&quot; xsi:type=&quot;Retrieve&quot;&gt;
                     &lt;codes name=&quot;Ambulatory Abuse Potential Opioids&quot; libraryName=&quot
          ;Common&quot; xsi:type=&quot;ValueSetRef&quot;/&gt;
                  &lt;/expression&gt;
               &lt;/source&gt;
               &lt;where xsi:type=&quot;In&quot;&gt;
                  &lt;operand xsi:type=&quot;DateFrom&quot;&gt;
                     &lt;operand path=&quot;value&quot; xsi:type=&quot;Property&quot;&gt;
                        &lt;source path=&quot;authoredOn&quot; scope=&quot;orders&quot;
           xsi:type=&quot;Property&quot;/&gt;
                     &lt;/operand&gt;
                  &lt;/operand&gt;
                  &lt;operand name=&quot;Inclusion Period&quot; xsi:type=&quot;ExpressionRef&quot;/&
          gt;
               &lt;/where&gt;
            &lt;/operand&gt;
         &lt;/expression&gt;
      &lt;/def&gt;
      &lt;def name=&quot;Inclusion Criteria&quot; context=&quot;Patient&quot; accessLevel=&quot;Publ
          ic&quot;&gt;
         &lt;expression xsi:type=&quot;And&quot;&gt;
            &lt;operand xsi:type=&quot;And&quot;&gt;
               &lt;operand name=&quot;Validate Trigger Event&quot; xsi:type=&quot;ExpressionRef&quot
          ;/&gt;
               &lt;operand xsi:type=&quot;Not&quot;&gt;
                  &lt;operand name=&quot;Opioid with Ambulatory Care Abuse Potential in
           Past 90 Days&quot; xsi:type=&quot;ExpressionRef&quot;/&gt;
               &lt;/operand&gt;
            &lt;/operand&gt;
            &lt;operand xsi:type=&quot;Exists&quot;&gt;
               &lt;operand xsi:type=&quot;Query&quot;&gt;
                  &lt;source alias=&quot;encounters&quot;&gt;
                     &lt;expression dataType=&quot;fhir:Encounter&quot; xsi:type=&quot;Retrieve&quot
          ;/&gt;
                  &lt;/source&gt;
                  &lt;where xsi:type=&quot;In&quot;&gt;
                     &lt;operand xsi:type=&quot;DateFrom&quot;&gt;
                        &lt;operand path=&quot;value&quot; xsi:type=&quot;Property&quot;&gt;
                           &lt;source path=&quot;start&quot; xsi:type=&quot;Property&quot;&gt;
                              &lt;source path=&quot;period&quot; scope=&quot;encounters&quot;
           xsi:type=&quot;Property&quot;/&gt;
                           &lt;/source&gt;
                        &lt;/operand&gt;
                     &lt;/operand&gt;
                     &lt;operand name=&quot;Encounter Period&quot; xsi:type=&quot;ExpressionRef&quot
          ;/&gt;
                  &lt;/where&gt;
               &lt;/operand&gt;
            &lt;/operand&gt;
         &lt;/expression&gt;
      &lt;/def&gt;
      &lt;def name=&quot;Get Indicator&quot; context=&quot;Patient&quot; accessLevel=&quot;Public&qu
          ot;&gt;
         &lt;expression valueType=&quot;t:String&quot; value=&quot;warning&quot; xsi:type=&quot;Lite
          ral&quot;/&gt;
      &lt;/def&gt;
      &lt;def name=&quot;Get Summary&quot; context=&quot;Patient&quot; accessLevel=&quot;Public&quot
          ;&gt;
         &lt;expression valueType=&quot;t:String&quot; value=&quot;Recommend use of immediate-releas
          e opioids instead of extended release/long acting opioids when starting patient on opioids.&quot;
           xsi:type=&quot;Literal&quot;/&gt;
      &lt;/def&gt;
      &lt;def name=&quot;Get Detail&quot; context=&quot;Patient&quot; accessLevel=&quot;Public&quot;
          &gt;
         &lt;expression xsi:type=&quot;Concatenate&quot;&gt;
            &lt;operand valueType=&quot;t:String&quot; value=&quot;The following medication
           requests(s) release rates should be re-evaluated: &quot; xsi:type=&quot;Literal&quot;/&gt;
            &lt;operand xsi:type=&quot;SingletonFrom&quot;&gt;
               &lt;operand name=&quot;Get Trigger Trigger Event Prescription Ids&quot;
           xsi:type=&quot;ExpressionRef&quot;/&gt;
            &lt;/operand&gt;
         &lt;/expression&gt;
      &lt;/def&gt;
   &lt;/statements&gt;
&lt;/library&gt;
</code> 
      </pre> 
    </div> 
  </text> 
  <identifier> 
    <use value="official"/> 
    <value value="OpioidCDS_REC_04"/> 
  </identifier> 
  <version value="0.1.0"/> 
  <title value="Opioid CDS Logic for recommendation #4"/> 
  <status value="active"/> 
  <experimental value="false"/> 
  <type> 
    <coding> 
      <system value="http://terminology.hl7.org/CodeSystem/library-type"/> 
      <code value="logic-library"/> 
      <display value="Logic Library"/> 
    </coding> 
  </type> 
  <date value="2018-03-25T13:49:09-06:00"/> 
  <publisher value="Centers for Disease Control and Prevention (CDC)"/> 
  <description value="Opioid decision support logic for prescribing extended-release/long-acting (ER/LA) opioids
   when starting a patient on opioids."/> 
  <useContext> 
    <code> 
      <system value="http://terminology.hl7.org/CodeSystem/usage-context-type"/> 
      <code value="focus"/> 
      <display value="Clinical Focus"/> 
    </code> 
    <valueCodeableConcept> 
      <coding> 
        <system value="http://snomed.info/sct"/> 
        <code value="182888003"/> 
        <display value="Medication requested (situation)"/> 
      </coding> 
    </valueCodeableConcept> 
  </useContext> 
  <useContext> 
    <code> 
      <system value="http://terminology.hl7.org/CodeSystem/usage-context-type"/> 
      <code value="focus"/> 
      <display value="Clinical Focus"/> 
    </code> 
    <valueCodeableConcept> 
      <coding> 
        <system value="http://snomed.info/sct"/> 
        <code value="82423001"/> 
        <display value="Chronic pain (finding)"/> 
      </coding> 
    </valueCodeableConcept> 
  </useContext> 
  <jurisdiction> 
    <coding> 
      <system value="urn:iso:std:iso:3166"/> 
      <code value="US"/> 
      <display value="United States of America"/> 
    </coding> 
  </jurisdiction> 
  <purpose value="The purpose of this library is to determine the appropriateness of extended-release opioids
   with ambulatory abuse potential for the patient."/> 
  <usage value="This library is used to notify the prescriber/user that immediate-release opioids are
   recommended when starting a patient on opioids."/> 
  <copyright value="© CDC 2016+."/> 
  <topic> 
    <text value="Opioid Prescribing"/> 
  </topic> 
  <author> 
    <name value="Kensaku Kawamoto, MD, PhD, MHS"/> 
  </author> 
  <author> 
    <name value="Bryn Rhodes"/> 
  </author> 
  <author> 
    <name value="Floyd Eisenberg, MD, MPH"/> 
  </author> 
  <author> 
    <name value="Robert McClure, MD, MPH"/> 
  </author> 
  <relatedArtifact> 
    <type value="documentation"/> 
    <display value="CDC guideline for prescribing opioids for chronic pain"/> 
    <url value="https://guidelines.gov/summaries/summary/50153/cdc-guideline-for-prescribing-opioids-for-chronic-pai
    n---united-states-2016#420"/> 
  </relatedArtifact> 
  <relatedArtifact> 
    <type value="depends-on"/> 
    <resource value="http://example.org/fhir/Library/opioidcds-common"/> 
  </relatedArtifact> 
  <dataRequirement> 
    <type value="MedicationRequest"/> 
    <codeFilter> 
      <path value="medicationCodeableConcept"/> 
      <valueSet value="http://example.org/fhir/ValueSet/opioids-abused-in-ambulatory-care"/> 
    </codeFilter> 
  </dataRequirement> 
  <dataRequirement> 
    <type value="Encounter"/> 
  </dataRequirement> 
  <content> 
    <contentType value="application/elm+xml"/> 
    <data value="PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIg
    eG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZ
    W1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi
    8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWF
    sdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSI+CiAgIDxhbm5vdGF0aW9u
    IHN0YXJ0TGluZT0iNjciIHN0YXJ0Q2hhcj0iNSIgZW5kTGluZT0iNjciIGVuZENoYXI9IjY4IiBtZXNzYWdlPSJDb3VsZCBub3Qgc
    mVzb2x2ZSBjb2RlIHBhdGggbWVkaWNhdGlvbkNvZGVhYmxlQ29uY2VwdCBmb3IgdGhlIHR5cGUgb2YgdGhlIHJldHJpZXZlIEZISV
    IuTWVkaWNhdGlvblJlcXVlc3QuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0
    iYTpDcWxUb0VsbUVycm9yIi8+CiAgIDxhbm5vdGF0aW9uIHN0YXJ0TGluZT0iNjciIHN0YXJ0Q2hhcj0iNSIgZW5kTGluZT0iNjci
    IGVuZENoYXI9IjY4IiBtZXNzYWdlPSJDb3VsZCBub3QgcmVzb2x2ZSBtZW1iZXJzaGlwIG9wZXJhdG9yIGZvciB0ZXJtaW5vbG9ne
    SB0YXJnZXQgb2YgdGhlIHJldHJpZXZlLiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOn
    R5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPgogICA8YW5ub3RhdGlvbiBzdGFydExpbmU9Ijc4IiBzdGFydENoYXI9IjgzIiBlbmRMaW5
    lPSI3OCIgZW5kQ2hhcj0iMTI2IiBtZXNzYWdlPSJMaXN0LXZhbHVlZCBleHByZXNzaW9uIHdhcyBkZW1vdGVkIHRvIGEgc2luZ2xl
    dG9uLiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvc
    iIvPgogICA8aWRlbnRpZmllciBpZD0iT3Bpb2lkQ0RTX1NUVTRfUkVDXzA0IiB2ZXJzaW9uPSIwLjEuMCIvPgogICA8c2NoZW1hSW
    RlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPgogICA8dXNpbmdzPgogICAgICA8ZGVmIGxvY2FsSWR
    lbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPgogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmll
    cj0iRkhJUiIgdXJpPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB2ZXJzaW9uPSIzLjIuMCIvPgogICA8L3VzaW5ncz4KICAgPGluY2x1Z
    GVzPgogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iQ29tbW9uIiBwYXRoPSJPcGlvaWRDRFNfU1RVNF9Db21tb24iIHZlcnNpb2
    49IjAuMS4wIi8+CiAgIDwvaW5jbHVkZXM+CiAgIDxwYXJhbWV0ZXJzPgogICAgICA8ZGVmIG5hbWU9IkNvbnRleHRQcmVzY3JpcHR
    pb25zIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPHBhcmFtZXRlclR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RU
    eXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlIG5hbWU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIHhzaTp0e
    XBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9wYXJhbWV0ZXJUeXBlU3BlY2lmaWVyPgogICAgICA8L2RlZj4KIC
    AgPC9wYXJhbWV0ZXJzPgogICA8c3RhdGVtZW50cz4KICAgICAgPGRlZiBuYW1lPSJQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50Ij4
    KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPgogICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlw
    ZT0iZmhpcjpQYXRpZW50IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KI
    CAgICAgPGRlZiBuYW1lPSJJbmNsdXNpb24gUGVyaW9kIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KIC
    AgICAgICAgPGV4cHJlc3Npb24gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgo
    gICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJTdWJ0cmFjdCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb2Rh
    eSIvPgogICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iOTEiIHVuaXQ9ImRheXMiIHhzaTp0eXBlPSJRdWFudGl0eSIvPgogI
    CAgICAgICAgICA8L2xvdz4KICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IlN1YnRyYWN0Ij4KICAgICAgICAgICAgICAgPG9wZX
    JhbmQgeHNpOnR5cGU9IlRvZGF5Ii8+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJkYXlzIiB4c2k6dHl
    wZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgPC9oaWdoPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAg
    ICA8ZGVmIG5hbWU9IkVuY291bnRlciBQZXJpb2QiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgI
    CAgICA8ZXhwcmVzc2lvbiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+CiAgIC
    AgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN1YnRyYWN0Ij4KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN1YnRyYWN
    0Ij4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvZGF5Ii8+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5k
    IHZhbHVlPSIxMiIgdW5pdD0ibW9udGhzIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogI
    CAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0iZGF5cyIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+CiAgICAgICAgIC
    AgIDwvbG93PgogICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iU3VidHJhY3QiPgogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k
    6dHlwZT0iVG9kYXkiLz4KICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9ImRheXMiIHhzaTp0eXBlPSJRdWFu
    dGl0eSIvPgogICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgb
    mFtZT0iR2V0IFRyaWdnZXIgRXZlbnQgUHJlc2NyaXB0aW9ucyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYy
    I+CiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9InRyaWdnZXJ
    TY3JpcHRzIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iQ29udGV4dFByZXNjcmlwdGlvbnMiIHhzaTp0eXBlPSJQ
    YXJhbWV0ZXJSZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDxsZXQgaWRlbnRpZmllcj0icnhOb3JtQ29kZ
    SI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlRvQ29kZSIgbGlicmFyeU5hbWU9IkNvbW1vbiIgeHNpOnR5cGU9Ik
    Z1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluZGV4ZXIiPgogICAgICAgICAgICAgICA
    gICAgICA8b3BlcmFuZCBwYXRoPSJjb2RpbmciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxz
    b3VyY2UgcGF0aD0ibWVkaWNhdGlvbiIgc2NvcGU9InRyaWdnZXJTY3JpcHRzIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgI
    CAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlci
    IgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICA
    gPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L2xldD4KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPgogICAgICAg
    ICAgICAgICA8b3BlcmFuZCBuYW1lPSJJc09waW9pZFdpdGhBbWJ1bGF0b3J5QWJ1c2VQb3RlbnRpYWwiIGxpYnJhcnlOYW1lPSJDb
    21tb24iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InJ4Tm9ybUNvZGUiIH
    hzaTp0eXBlPSJRdWVyeUxldFJlZiIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5
    hbWU9IklzTG9uZ0FjdGluZ09waW9pZCIgbGlicmFyeU5hbWU9IkNvbW1vbiIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAg
    ICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icnhOb3JtQ29kZSIgeHNpOnR5cGU9IlF1ZXJ5TGV0UmVmIi8+CiAgICAgICAgICAgI
    CAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgIC
    AgPGRlZiBuYW1lPSJHZXQgVHJpZ2dlciBUcmlnZ2VyIEV2ZW50IFByZXNjcmlwdGlvbiBJZHMiIGNvbnRleHQ9IlBhdGllbnQiIGF
    jY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291
    cmNlIGFsaWFzPSJ0cmlnZ2VyU2NyaXB0cyI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkdldCBUcmlnZ2VyIEV2Z
    W50IFByZXNjcmlwdGlvbnMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgIC
    AgICA8bGV0IGlkZW50aWZpZXI9ImNvZGVTdHJpbmciPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB2YWx1ZVR5cGU9InQ6U3R
    yaW5nIiB2YWx1ZT0iIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICA8L2xldD4KICAgICAgICAgICAgPHJldHVybj4K
    ICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhb
    mQgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iY29kZVN0cmluZyIgeH
    NpOnR5cGU9IlF1ZXJ5TGV0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0
    iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9ImlkIiBzY29wZT0idHJpZ2dlclNjcmlwdHMi
    IHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb
    3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IiAiIHhzaTp0eXBlPS
    JMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgIDwvZXh
    wcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbmFtZT0iVmFsaWRhdGUgVHJpZ2dlciBFdmVudCIgY29udGV4dD0iUGF0
    aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJFeGlzdHMiPgogICAgICAgI
    CAgICA8b3BlcmFuZCBuYW1lPSJHZXQgVHJpZ2dlciBFdmVudCBQcmVzY3JpcHRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZi
    IvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIG5hbWU9Ik9waW9pZCB3aXRoIEFtYnVsYXR
    vcnkgQ2FyZSBBYnVzZSBQb3RlbnRpYWwgaW4gUGFzdCA5MCBEYXlzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVi
    bGljIj4KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkV4aXN0cyI+CiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlP
    SJRdWVyeSI+CiAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Im9yZGVycyI+CiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW
    9uIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiBjb2RlUHJvcGVydHk9Im1lZGljYXRpb25Db2RlYWJsZUNvbmNlcHQ
    iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJBbWJ1bGF0b3J5IEFidXNlIFBv
    dGVudGlhbCBPcGlvaWRzIiBsaWJyYXJ5TmFtZT0iQ29tbW9uIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgI
    CAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPS
    JJbiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJEYXRlRnJvbSI+CiAgICAgICAgICAgICAgICAgICAgIDx
    vcGVyYW5kIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBh
    dGg9ImF1dGhvcmVkT24iIHNjb3BlPSJvcmRlcnMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L
    29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iSW5jbH
    VzaW9uIFBlcmlvZCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICA
    gPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIG5hbWU9IkluY2x1c2lvbiBD
    cml0ZXJpYSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0e
    XBlPSJBbmQiPgogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT
    0iVmFsaWRhdGUgVHJpZ2dlciBFdmVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPG9wZXJhbmQ
    geHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik9waW9pZCB3aXRoIEFtYnVsYXRvcnkgQ2Fy
    ZSBBYnVzZSBQb3RlbnRpYWwgaW4gUGFzdCA5MCBEYXlzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgI
    CA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+Ci
    AgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9ImV
    uY291bnRlcnMiPgogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0
    eXBlPSJSZXRyaWV2ZSIvPgogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0e
    XBlPSJJbiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJEYXRlRnJvbSI+CiAgICAgICAgICAgICAgIC
    AgICAgICAgIDxvcGVyYW5kIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA
    gICA8c291cmNlIHBhdGg9InN0YXJ0IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8
    c291cmNlIHBhdGg9InBlcmlvZCIgc2NvcGU9ImVuY291bnRlcnMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgI
    CAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgIC
    AgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkVuY291bnRlciBQZXJpb2QiIHhzaTp0eXB
    lPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAg
    ICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIG5hbWU9Ikdld
    CBJbmRpY2F0b3IiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiB2YW
    x1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0id2FybmluZyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgPC9kZWY+CiAgICAgIDx
    kZWYgbmFtZT0iR2V0IFN1bW1hcnkiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhw
    cmVzc2lvbiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iUmVjb21tZW5kIHVzZSBvZiBpbW1lZGlhdGUtcmVsZWFzZSBvcGlva
    WRzIGluc3RlYWQgb2YgZXh0ZW5kZWQgcmVsZWFzZS9sb25nIGFjdGluZyBvcGlvaWRzIHdoZW4gc3RhcnRpbmcgcGF0aWVudCBvbi
    BvcGlvaWRzLiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbmFtZT0iR2V0IERldGFpbCIgY29
    udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJDb25jYXRl
    bmF0ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJUaGUgZm9sbG93aW5nIG1lZGljY
    XRpb24gcmVxdWVzdHMocykgcmVsZWFzZSByYXRlcyBzaG91bGQgYmUgcmUtZXZhbHVhdGVkOiAiIHhzaTp0eXBlPSJMaXRlcmFsIi
    8+CiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmF
    tZT0iR2V0IFRyaWdnZXIgVHJpZ2dlciBFdmVudCBQcmVzY3JpcHRpb24gSWRzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgog
    ICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgIDwvc3RhdGVtZW50cz4KP
    C9saWJyYXJ5Pgo="/> 
  </content> 
</Library> 

Usage note: every effort has been made to ensure that the examples are correct and useful, but they are not a normative part of the specification.