FHIR CI-Build

This is the Continuous Integration Build of FHIR (will be incorrect/inconsistent at times).
See the Directory of published versions

Example Library/ExampleEventDefinitionLogic (XML)

Responsible Owner: Clinical Decision Support Work GroupStandards Status: InformativeCompartments: No defined compartments

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

Jump past Narrative

Example EventDefinition Logic (id = "ExampleEventDefinitionLogic")

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

<Library xmlns="http://hl7.org/fhir">
  <id value="ExampleEventDefinitionLogic"/> 
  <text> 
    <status value="generated"/> 
    <div xmlns="http://www.w3.org/1999/xhtml">
      <p class="res-header-id">
        <b> Generated Narrative: Library ExampleEventDefinitionLogic</b> 
      </p> 
      <a name="ExampleEventDefinitionLogic"> </a> 
      <a name="hcExampleEventDefinitionLogic"> </a> 
      <h2> Contents</h2> 
      <p> 
        <code> text/cql</code> 
      </p> 
      <pre> 
        <code class="language-sql">library ExampleEventDefinitionLogic

using FHIR

include FHIRHelpers

codesystem &quot;LOINC&quot;: 'http://loinc.org'

code &quot;LA6577-6|http://loinc.org&quot;: 'LA6577-6' from &quot;LOINC&quot;

valueset &quot;Stick Test Codes&quot;: 'http://example.org/ValueSet/stick-test-codes'

context Patient

parameter %context Encounter

define StickTest:
  [Observation: &quot;Stick Test Codes&quot;] O
    where O.status in { 'final', 'amended', 'corrected' }

// These functions are all candidates for [FHIRCommon](https://hl7.org/fhir/uv/cql/Library-FH
          IRCommon.html)
// Or perhaps a FHIRCommonObservation library
define fluent function negative(observations List&lt;Observation&gt;):
  observations O
    where O.interpretation ~ &quot;LA6577-6|http://loinc.org&quot;

define fluent function during(observations List&lt;Observation&gt;, encounter Encounter):
  observations O
    where O.issued during minute of encounter.period

define fluent function within(observations List&lt;Observation&gt;, quantity Quantity):
  observations O
    where (O.issued + quantity) on or after minute of Now()

define fluent function consecutively(observations List&lt;Observation&gt;):
  observations O
    sort by issued

define fluent function consecutivelyAfter(observations List&lt;Observation&gt;,
           observation Observation):
  observations O
    where O.issued on or after observation.issued
    sort by issued</code> 
      </pre> 
    </div> 
  </text> 
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-wg">
    <valueCode value="cds"/> 
  </extension> 
  <url value="http://hl7.org/fhir/EventDefinition/ExampleEventDefinitionLogic"/> 
  <version value="6.0.0-ballot3"/> 
  <name value="ExampleEventDefinitionLogic"/> 
  <title value="Example EventDefinition Logic"/> 
  <status value="active"/> 
  <experimental value="true"/> 
  <type> 
    <coding> 
      <code value="logic-library"/> 
    </coding> 
  </type> 
  <date value="2016-03-08"/> 
  <publisher value="HL7 International / Clinical Decision Support"/> 
  <contact> 
    <telecom> 
      <system value="url"/> 
      <value value="http://www.hl7.org/Special/committees/dss"/> 
    </telecom> 
  </contact> 
  <description value="Example EventDefinition Logic"/> 
  <content> 
    <contentType value="text/cql"/> 
    <data value="bGlicmFyeSBFeGFtcGxlRXZlbnREZWZpbml0aW9uTG9naWMKCnVzaW5nIEZISVIKCmluY2x1ZGUgRkhJUkhlbHBlcnMKC
    mNvZGVzeXN0ZW0gIkxPSU5DIjogJ2h0dHA6Ly9sb2luYy5vcmcnCgpjb2RlICJMQTY1NzctNnxodHRwOi8vbG9pbmMub3J
    nIjogJ0xBNjU3Ny02JyBmcm9tICJMT0lOQyIKCnZhbHVlc2V0ICJTdGljayBUZXN0IENvZGVzIjogJ2h0dHA6Ly9leGFtc
    GxlLm9yZy9WYWx1ZVNldC9zdGljay10ZXN0LWNvZGVzJwoKY29udGV4dCBQYXRpZW50CgpwYXJhbWV0ZXIgJWNvbnRleHQ
    gRW5jb3VudGVyCgpkZWZpbmUgU3RpY2tUZXN0OgogIFtPYnNlcnZhdGlvbjogIlN0aWNrIFRlc3QgQ29kZXMiXSBPCiAgI
    CB3aGVyZSBPLnN0YXR1cyBpbiB7ICdmaW5hbCcsICdhbWVuZGVkJywgJ2NvcnJlY3RlZCcgfQoKLy8gVGhlc2UgZnVuY3R
    pb25zIGFyZSBhbGwgY2FuZGlkYXRlcyBmb3IgW0ZISVJDb21tb25dKGh0dHBzOi8vaGw3Lm9yZy9maGlyL3V2L2NxbC9Ma
    WJyYXJ5LUZISVJDb21tb24uaHRtbCkKLy8gT3IgcGVyaGFwcyBhIEZISVJDb21tb25PYnNlcnZhdGlvbiBsaWJyYXJ5CmR
    lZmluZSBmbHVlbnQgZnVuY3Rpb24gbmVnYXRpdmUob2JzZXJ2YXRpb25zIExpc3Q8T2JzZXJ2YXRpb24+KToKICBvYnNlc
    nZhdGlvbnMgTwogICAgd2hlcmUgTy5pbnRlcnByZXRhdGlvbiB+ICJMQTY1NzctNnxodHRwOi8vbG9pbmMub3JnIgoKZGV
    maW5lIGZsdWVudCBmdW5jdGlvbiBkdXJpbmcob2JzZXJ2YXRpb25zIExpc3Q8T2JzZXJ2YXRpb24+LCBlbmNvdW50ZXIgR
    W5jb3VudGVyKToKICBvYnNlcnZhdGlvbnMgTwogICAgd2hlcmUgTy5pc3N1ZWQgZHVyaW5nIG1pbnV0ZSBvZiBlbmNvdW5
    0ZXIucGVyaW9kCgpkZWZpbmUgZmx1ZW50IGZ1bmN0aW9uIHdpdGhpbihvYnNlcnZhdGlvbnMgTGlzdDxPYnNlcnZhdGlvb
    j4sIHF1YW50aXR5IFF1YW50aXR5KToKICBvYnNlcnZhdGlvbnMgTwogICAgd2hlcmUgKE8uaXNzdWVkICsgcXVhbnRpdHk
    pIG9uIG9yIGFmdGVyIG1pbnV0ZSBvZiBOb3coKQoKZGVmaW5lIGZsdWVudCBmdW5jdGlvbiBjb25zZWN1dGl2ZWx5KG9ic
    2VydmF0aW9ucyBMaXN0PE9ic2VydmF0aW9uPik6CiAgb2JzZXJ2YXRpb25zIE8KICAgIHNvcnQgYnkgaXNzdWVkCgpkZWZ
    pbmUgZmx1ZW50IGZ1bmN0aW9uIGNvbnNlY3V0aXZlbHlBZnRlcihvYnNlcnZhdGlvbnMgTGlzdDxPYnNlcnZhdGlvbj4sI
    G9ic2VydmF0aW9uIE9ic2VydmF0aW9uKToKICBvYnNlcnZhdGlvbnMgTwogICAgd2hlcmUgTy5pc3N1ZWQgb24gb3IgYWZ
    0ZXIgb2JzZXJ2YXRpb24uaXNzdWVkCiAgICBzb3J0IGJ5IGlzc3VlZA=="/> 
  </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.