This is the Continuous Integration Build of FHIR (will be incorrect/inconsistent at times).
See the Directory of published versions
Example Library/ExampleEventDefinitionLogic (XML)
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 "LOINC": 'http://loinc.org'
code "LA6577-6|http://loinc.org": 'LA6577-6' from "LOINC"
valueset "Stick Test Codes": 'http://example.org/ValueSet/stick-test-codes'
context Patient
parameter %context Encounter
define StickTest:
[Observation: "Stick Test Codes"] 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<Observation>):
observations O
where O.interpretation ~ "LA6577-6|http://loinc.org"
define fluent function during(observations List<Observation>, encounter Encounter):
observations O
where O.issued during minute of encounter.period
define fluent function within(observations List<Observation>, quantity Quantity):
observations O
where (O.issued + quantity) on or after minute of Now()
define fluent function consecutively(observations List<Observation>):
observations O
sort by issued
define fluent function consecutivelyAfter(observations List<Observation>,
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.