This
page
is
part
of
the
FHIR
Specification
v6.0.0-ballot3:
Release
6
Ballot
(3rd
Draft)
(see
Ballot
Notes
).
The
current
version
is
5.0.0
.
For
a
full
list
Continuous
Integration
Build
of
available
versions,
see
FHIR
(will
be
incorrect/inconsistent
at
times).
See
the
Directory
of
published
versions
Responsible
Owner:
Clinical
Decision
Support
Work
Group
|
|
Security Category : Anonymous | Compartments : No defined compartments |
The EventDefinition resource provides a reusable description of when a particular event can occur.
This resource is a definition resource from a FHIR workflow perspective - see Workflow , specifically Definition .
The EventDefinition resource provides a reusable description of an event. The resource supports describing different kinds of events, including named events, periodic events, and data-based events. For each of these, the resource also supports a formal description of the event. For example, a 'monitor-emergency-admissions' event can be a named event, but also provide a formal description of the event as monitoring for encounters that occur in emergency department locations.
The
EventDefinition
resource
is
intended
to
be
used
to
provide
a
reusable
description
of
events
for
use
by
other
resources
that
require
event
definition,
such
as
Subscription.
MessageDefinition.
The
SubscriptionTopic
resource
is
focused
on
supporting
the
definition
of
topics
that
can
be
used
in
Subscriptions.
EventDefinition
is
a
definition
of
an
event
that
could
occur,
whereas
Subscription
is
asking
for
notification
of
events
when
they
occur.
The EventDefinition resource uses the TriggerDefinition data type to represent the description of an event as one of:
This allows an EventDefinition to be used to reference a SubscriptionTopic, enabling subscriptions to be used in MessageDefinition and PlanDefinition.
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
Filter:
|
|---|---|---|---|---|
|
|
DomainResource |
A
description
of
when
an
event
can
occur
+ Warning: Name should be usable as an identifier for the module by machine processing applications such as code generation Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension Interfaces Implemented: MetadataResource |
|
|
Σ C | 0..1 | uri |
Canonical
identifier
for
this
event
definition,
represented
as
a
URI
(globally
unique)
+ Warning: URL should not contain | or # - these characters make processing canonical references problematic |
|
Σ | 0..* | Identifier |
Additional
identifier
for
the
event
definition
|
|
Σ | 0..1 | string |
Business
version
of
the
event
definition
|
|
Σ | 0..1 |
How
to
compare
versions
Binding: Version Algorithm ( Extensible ) |
|
|
string | |||
|
Coding | |||
|
Σ C | 0..1 | string |
Name
for
this
event
definition
(computer
friendly)
|
|
Σ T | 0..1 | string |
Name
for
this
event
definition
(human
friendly)
|
|
0..1 | string |
Subordinate
title
of
the
event
definition
|
|
|
?! Σ | 1..1 | code |
draft
|
active
|
retired
|
unknown
Binding: PublicationStatus ( Required ) |
|
Σ | 0..1 | boolean |
For
testing
only
-
never
for
real
usage
|
|
0..1 |
Type
of
individual
the
event
definition
is
focused
on
Binding: Participant Resource Types ( Extensible ) |
||
|
CodeableConcept | |||
|
Reference ( Group ) | |||
|
Σ | 0..1 | dateTime |
Date
last
changed
|
|
Σ T | 0..1 | string |
Name
of
the
publisher/steward
(organization
or
individual)
|
|
Σ | 0..* | ContactDetail |
Contact
details
for
the
publisher
|
|
T | 0..1 | markdown |
Natural
language
description
of
the
event
definition
|
|
Σ | 0..* | UsageContext |
The
context
that
the
content
is
intended
to
support
|
|
Σ
|
0..* | CodeableConcept |
Jurisdiction
of
the
authority
that
maintains
the
event
definition
(if
applicable)
Binding: Jurisdiction ValueSet
(
Extensible
)
|
|
T | 0..1 | markdown |
Why
this
event
definition
is
defined
|
|
0..1 | markdown |
Describes
the
clinical
usage
of
the
event
definition
|
|
|
T | 0..1 | markdown |
Notice
about
intellectual
property
ownership,
can
include
restrictions
on
use
|
|
T | 0..1 | string |
Copyright
holder
and
year(s)
|
|
Σ | 0..1 | date |
When
the
event
definition
was
approved
by
publisher
|
|
Σ | 0..1 | date |
When
the
event
definition
was
last
reviewed
by
the
publisher
|
|
Σ | 0..1 | Period |
When
the
event
definition
is
expected
to
be
used
|
|
0..* | CodeableConcept |
E.g.
Education,
Treatment,
Assessment,
etc
Binding: Definition Topic ( Example ) |
|
|
0..* | ContactDetail |
Who
authored
the
content
|
|
|
0..* | ContactDetail |
Who
edited
the
content
|
|
|
0..* | ContactDetail |
Who
reviewed
the
content
|
|
|
0..* | ContactDetail |
Who
endorsed
the
content
|
|
|
0..* | RelatedArtifact |
Additional
documentation,
citations,
etc
|
|
|
Σ | 1..* | TriggerDefinition |
"when"
the
event
occurs
(multiple
=
'or')
|
Documentation
for
this
format
|
||||
See the Extensions for this resource
UML Diagram ( Legend )
XML Template
<EventDefinition xmlns="http://hl7.org/fhir"><!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <url value="[uri]"/><!-- 0..1 Canonical identifier for this event definition, represented as a URI (globally unique) --> <identifier><!-- 0..* Identifier Additional identifier for the event definition --></identifier> <version value="[string]"/><!-- 0..1 Business version of the event definition --> <versionAlgorithm[x]><!-- 0..1 string|Coding How to compare versions --></versionAlgorithm[x]> <name value="[string]"/><!-- I 0..1 Name for this event definition (computer friendly) --> <title value="[string]"/><!-- 0..1 Name for this event definition (human friendly) --> <subtitle value="[string]"/><!-- 0..1 Subordinate title of the event definition --> <status value="[code]"/><!-- 1..1 draft | active | retired | unknown --> <experimental value="[boolean]"/><!-- 0..1 For testing only - never for real usage --> <subject[x]><!-- 0..1 CodeableConcept|Reference(Group) Type of individual the event definition is focused on --></subject[x]> <date value="[dateTime]"/><!-- 0..1 Date last changed --> <publisher value="[string]"/><!-- 0..1 Name of the publisher/steward (organization or individual) --> <contact><!-- 0..* ContactDetail Contact details for the publisher --></contact> <description value="[markdown]"/><!-- 0..1 Natural language description of the event definition --> <useContext><!-- 0..* UsageContext The context that the content is intended to support --></useContext>
<</jurisdiction><jurisdiction><!-- 0..* CodeableConcept Jurisdiction of the authority that maintains the event definition (if applicable)--></jurisdiction> <purpose value="[markdown]"/><!-- 0..1 Why this event definition is defined --> <usage value="[markdown]"/><!-- 0..1 Describes the clinical usage of the event definition -->
< <<copyright value="[markdown]"/><!-- 0..1 Notice about intellectual property ownership, can include restrictions on use --> <copyrightLabel value="[string]"/><!-- 0..1 Copyright holder and year(s) --> <approvalDate value="[date]"/><!-- 0..1 When the event definition was approved by publisher --> <lastReviewDate value="[date]"/><!-- 0..1 When the event definition was last reviewed by the publisher --> <effectivePeriod><!-- 0..1 Period When the event definition is expected to be used --></effectivePeriod> <topic><!-- 0..* CodeableConcept E.g. Education, Treatment, Assessment, etc --></topic> <author><!-- 0..* ContactDetail Who authored the content --></author> <editor><!-- 0..* ContactDetail Who edited the content --></editor> <reviewer><!-- 0..* ContactDetail Who reviewed the content --></reviewer> <endorser><!-- 0..* ContactDetail Who endorsed the content --></endorser> <relatedArtifact><!-- 0..* RelatedArtifact Additional documentation, citations, etc --></relatedArtifact> <trigger><!-- 1..* TriggerDefinition "when" the event occurs (multiple = 'or') --></trigger> </EventDefinition>
JSON Template
{
"resourceType" : "EventDefinition",
// from Resource: id, meta, implicitRules, and language
// from DomainResource: text, contained, extension, and modifierExtension
"url" : "<uri>", // Canonical identifier for this event definition, represented as a URI (globally unique)
"identifier" : [{ Identifier }], // Additional identifier for the event definition
"version" : "<string>", // Business version of the event definition
// versionAlgorithm[x]: How to compare versions. One of these 2:
"versionAlgorithmString" : "<string>",
"versionAlgorithmCoding" : { Coding },
"name" : "<string>", // I Name for this event definition (computer friendly)
"title" : "<string>", // Name for this event definition (human friendly)
"subtitle" : "<string>", // Subordinate title of the event definition
"status" : "<code>", // R! draft | active | retired | unknown
"experimental" : <boolean>, // For testing only - never for real usage
// subject[x]: Type of individual the event definition is focused on. One of these 2:
"subjectCodeableConcept" : { CodeableConcept },
"subjectReference" : { Reference(Group) },
"date" : "<dateTime>", // Date last changed
"publisher" : "<string>", // Name of the publisher/steward (organization or individual)
"contact" : [{ ContactDetail }], // Contact details for the publisher
"description" : "<markdown>", // Natural language description of the event definition
"useContext" : [{ UsageContext }], // The context that the content is intended to support
"
"jurisdiction" : [{ CodeableConcept }], // Jurisdiction of the authority that maintains the event definition (if applicable)
"purpose" : "<markdown>", // Why this event definition is defined
"usage" : "<markdown>", // Describes the clinical usage of the event definition
"
"
"copyright" : "<markdown>", // Notice about intellectual property ownership, can include restrictions on use
"copyrightLabel" : "<string>", // Copyright holder and year(s)
"approvalDate" : "<date>", // When the event definition was approved by publisher
"lastReviewDate" : "<date>", // When the event definition was last reviewed by the publisher
"effectivePeriod" : { Period }, // When the event definition is expected to be used
"topic" : [{ CodeableConcept }], // E.g. Education, Treatment, Assessment, etc
"author" : [{ ContactDetail }], // Who authored the content
"editor" : [{ ContactDetail }], // Who edited the content
"reviewer" : [{ ContactDetail }], // Who reviewed the content
"endorser" : [{ ContactDetail }], // Who endorsed the content
"relatedArtifact" : [{ RelatedArtifact }], // Additional documentation, citations, etc
"trigger" : [{ TriggerDefinition }] // R! "when" the event occurs (multiple = 'or')
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> .[ a fhir:EventDefinition; fhir:nodeRole fhir:treeRoot; # if this is the parser root
# from # from# from Resource: fhir:id, fhir:meta, fhir:implicitRules, and fhir:language # from DomainResource: fhir:text, fhir:contained, fhir:extension, and fhir:modifierExtension fhir:url [ uri ] ; # 0..1 Canonical identifier for this event definition, represented as a URI (globally unique) fhir:identifier ( [ Identifier ] ... ) ; # 0..* Additional identifier for the event definition fhir:version [ string ] ; # 0..1 Business version of the event definition # versionAlgorithm[x] : 0..1 How to compare versions. One of these 2fhir: ]fhir:versionAlgorithm [ a fhir:String ; string ] fhir:versionAlgorithm [ a fhir:Coding ; Coding ] fhir:name [ string ] ; # 0..1 I Name for this event definition (computer friendly) fhir:title [ string ] ; # 0..1 Name for this event definition (human friendly) fhir:subtitle [ string ] ; # 0..1 Subordinate title of the event definition fhir:status [ code ] ; # 1..1 draft | active | retired | unknown fhir:experimental [ boolean ] ; # 0..1 For testing only - never for real usage # subject[x] : 0..1 Type of individual the event definition is focused on. One of these 2 fhir:subject [ a fhir:CodeableConcept ; CodeableConcept ] fhir:subject [ a fhir:Reference ; Reference(Group) ] fhir:date [ dateTime ] ; # 0..1 Date last changed fhir:publisher [ string ] ; # 0..1 Name of the publisher/steward (organization or individual) fhir:contact ( [ ContactDetail ] ... ) ; # 0..* Contact details for the publisher fhir:description [ markdown ] ; # 0..1 Natural language description of the event definition fhir:useContext ( [ UsageContext ] ... ) ; # 0..* The context that the content is intended to supportfhir:fhir:jurisdiction ( [ CodeableConcept ] ... ) ; # 0..* Jurisdiction of the authority that maintains the event definition (if applicable) fhir:purpose [ markdown ] ; # 0..1 Why this event definition is defined fhir:usage [ markdown ] ; # 0..1 Describes the clinical usage of the event definitionfhir: fhir:fhir:copyright [ markdown ] ; # 0..1 Notice about intellectual property ownership, can include restrictions on use fhir:copyrightLabel [ string ] ; # 0..1 Copyright holder and year(s) fhir:approvalDate [ date ] ; # 0..1 When the event definition was approved by publisher fhir:lastReviewDate [ date ] ; # 0..1 When the event definition was last reviewed by the publisher fhir:effectivePeriod [ Period ] ; # 0..1 When the event definition is expected to be used fhir:topic ( [ CodeableConcept ] ... ) ; # 0..* E.g. Education, Treatment, Assessment, etc fhir:author ( [ ContactDetail ] ... ) ; # 0..* Who authored the content fhir:editor ( [ ContactDetail ] ... ) ; # 0..* Who edited the content fhir:reviewer ( [ ContactDetail ] ... ) ; # 0..* Who reviewed the content fhir:endorser ( [ ContactDetail ] ... ) ; # 0..* Who endorsed the content fhir:relatedArtifact ( [ RelatedArtifact ] ... ) ; # 0..* Additional documentation, citations, etc fhir:trigger ( [ TriggerDefinition ] ... ) ; # 1..* "when" the event occurs (multiple = 'or') ]
Changes from both R4 and R4B
| EventDefinition | |
| EventDefinition.versionAlgorithm[x] |
|
| EventDefinition.subject[x] |
|
| EventDefinition.jurisdiction |
|
| EventDefinition.usage |
|
| EventDefinition.copyrightLabel |
|
See the Full Difference for further information
This analysis is available for R4 as XML or JSON and for R4B as XML or JSON .
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
Filter:
|
|---|---|---|---|---|
|
|
DomainResource |
A
description
of
when
an
event
can
occur
+ Warning: Name should be usable as an identifier for the module by machine processing applications such as code generation Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension Interfaces Implemented: MetadataResource |
|
|
Σ C | 0..1 | uri |
Canonical
identifier
for
this
event
definition,
represented
as
a
URI
(globally
unique)
+ Warning: URL should not contain | or # - these characters make processing canonical references problematic |
|
Σ | 0..* | Identifier |
Additional
identifier
for
the
event
definition
|
|
Σ | 0..1 | string |
Business
version
of
the
event
definition
|
|
Σ | 0..1 |
How
to
compare
versions
Binding: Version Algorithm ( Extensible ) |
|
|
string | |||
|
Coding | |||
|
Σ C | 0..1 | string |
Name
for
this
event
definition
(computer
friendly)
|
|
Σ T | 0..1 | string |
Name
for
this
event
definition
(human
friendly)
|
|
0..1 | string |
Subordinate
title
of
the
event
definition
|
|
|
?! Σ | 1..1 | code |
draft
|
active
|
retired
|
unknown
Binding: PublicationStatus ( Required ) |
|
Σ | 0..1 | boolean |
For
testing
only
-
never
for
real
usage
|
|
0..1 |
Type
of
individual
the
event
definition
is
focused
on
Binding: Participant Resource Types ( Extensible ) |
||
|
CodeableConcept | |||
|
Reference ( Group ) | |||
|
Σ | 0..1 | dateTime |
Date
last
changed
|
|
Σ T | 0..1 | string |
Name
of
the
publisher/steward
(organization
or
individual)
|
|
Σ | 0..* | ContactDetail |
Contact
details
for
the
publisher
|
|
T | 0..1 | markdown |
Natural
language
description
of
the
event
definition
|
|
Σ | 0..* | UsageContext |
The
context
that
the
content
is
intended
to
support
|
|
Σ
|
0..* | CodeableConcept |
Jurisdiction
of
the
authority
that
maintains
the
event
definition
(if
applicable)
Binding: Jurisdiction ValueSet
(
Extensible
)
|
|
T | 0..1 | markdown |
Why
this
event
definition
is
defined
|
|
0..1 | markdown |
Describes
the
clinical
usage
of
the
event
definition
|
|
|
T | 0..1 | markdown |
Notice
about
intellectual
property
ownership,
can
include
restrictions
on
use
|
|
T | 0..1 | string |
Copyright
holder
and
year(s)
|
|
Σ | 0..1 | date |
When
the
event
definition
was
approved
by
publisher
|
|
Σ | 0..1 | date |
When
the
event
definition
was
last
reviewed
by
the
publisher
|
|
Σ | 0..1 | Period |
When
the
event
definition
is
expected
to
be
used
|
|
0..* | CodeableConcept |
E.g.
Education,
Treatment,
Assessment,
etc
Binding: Definition Topic ( Example ) |
|
|
0..* | ContactDetail |
Who
authored
the
content
|
|
|
0..* | ContactDetail |
Who
edited
the
content
|
|
|
0..* | ContactDetail |
Who
reviewed
the
content
|
|
|
0..* | ContactDetail |
Who
endorsed
the
content
|
|
|
0..* | RelatedArtifact |
Additional
documentation,
citations,
etc
|
|
|
Σ | 1..* | TriggerDefinition |
"when"
the
event
occurs
(multiple
=
'or')
|
Documentation
for
this
format
|
||||
See the Extensions for this resource
XML Template
<EventDefinition xmlns="http://hl7.org/fhir"><!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <url value="[uri]"/><!-- 0..1 Canonical identifier for this event definition, represented as a URI (globally unique) --> <identifier><!-- 0..* Identifier Additional identifier for the event definition --></identifier> <version value="[string]"/><!-- 0..1 Business version of the event definition --> <versionAlgorithm[x]><!-- 0..1 string|Coding How to compare versions --></versionAlgorithm[x]> <name value="[string]"/><!-- I 0..1 Name for this event definition (computer friendly) --> <title value="[string]"/><!-- 0..1 Name for this event definition (human friendly) --> <subtitle value="[string]"/><!-- 0..1 Subordinate title of the event definition --> <status value="[code]"/><!-- 1..1 draft | active | retired | unknown --> <experimental value="[boolean]"/><!-- 0..1 For testing only - never for real usage --> <subject[x]><!-- 0..1 CodeableConcept|Reference(Group) Type of individual the event definition is focused on --></subject[x]> <date value="[dateTime]"/><!-- 0..1 Date last changed --> <publisher value="[string]"/><!-- 0..1 Name of the publisher/steward (organization or individual) --> <contact><!-- 0..* ContactDetail Contact details for the publisher --></contact> <description value="[markdown]"/><!-- 0..1 Natural language description of the event definition --> <useContext><!-- 0..* UsageContext The context that the content is intended to support --></useContext>
<</jurisdiction><jurisdiction><!-- 0..* CodeableConcept Jurisdiction of the authority that maintains the event definition (if applicable)--></jurisdiction> <purpose value="[markdown]"/><!-- 0..1 Why this event definition is defined --> <usage value="[markdown]"/><!-- 0..1 Describes the clinical usage of the event definition -->
< <<copyright value="[markdown]"/><!-- 0..1 Notice about intellectual property ownership, can include restrictions on use --> <copyrightLabel value="[string]"/><!-- 0..1 Copyright holder and year(s) --> <approvalDate value="[date]"/><!-- 0..1 When the event definition was approved by publisher --> <lastReviewDate value="[date]"/><!-- 0..1 When the event definition was last reviewed by the publisher --> <effectivePeriod><!-- 0..1 Period When the event definition is expected to be used --></effectivePeriod> <topic><!-- 0..* CodeableConcept E.g. Education, Treatment, Assessment, etc --></topic> <author><!-- 0..* ContactDetail Who authored the content --></author> <editor><!-- 0..* ContactDetail Who edited the content --></editor> <reviewer><!-- 0..* ContactDetail Who reviewed the content --></reviewer> <endorser><!-- 0..* ContactDetail Who endorsed the content --></endorser> <relatedArtifact><!-- 0..* RelatedArtifact Additional documentation, citations, etc --></relatedArtifact> <trigger><!-- 1..* TriggerDefinition "when" the event occurs (multiple = 'or') --></trigger> </EventDefinition>
JSON Template
{
"resourceType" : "EventDefinition",
// from Resource: id, meta, implicitRules, and language
// from DomainResource: text, contained, extension, and modifierExtension
"url" : "<uri>", // Canonical identifier for this event definition, represented as a URI (globally unique)
"identifier" : [{ Identifier }], // Additional identifier for the event definition
"version" : "<string>", // Business version of the event definition
// versionAlgorithm[x]: How to compare versions. One of these 2:
"versionAlgorithmString" : "<string>",
"versionAlgorithmCoding" : { Coding },
"name" : "<string>", // I Name for this event definition (computer friendly)
"title" : "<string>", // Name for this event definition (human friendly)
"subtitle" : "<string>", // Subordinate title of the event definition
"status" : "<code>", // R! draft | active | retired | unknown
"experimental" : <boolean>, // For testing only - never for real usage
// subject[x]: Type of individual the event definition is focused on. One of these 2:
"subjectCodeableConcept" : { CodeableConcept },
"subjectReference" : { Reference(Group) },
"date" : "<dateTime>", // Date last changed
"publisher" : "<string>", // Name of the publisher/steward (organization or individual)
"contact" : [{ ContactDetail }], // Contact details for the publisher
"description" : "<markdown>", // Natural language description of the event definition
"useContext" : [{ UsageContext }], // The context that the content is intended to support
"
"jurisdiction" : [{ CodeableConcept }], // Jurisdiction of the authority that maintains the event definition (if applicable)
"purpose" : "<markdown>", // Why this event definition is defined
"usage" : "<markdown>", // Describes the clinical usage of the event definition
"
"
"copyright" : "<markdown>", // Notice about intellectual property ownership, can include restrictions on use
"copyrightLabel" : "<string>", // Copyright holder and year(s)
"approvalDate" : "<date>", // When the event definition was approved by publisher
"lastReviewDate" : "<date>", // When the event definition was last reviewed by the publisher
"effectivePeriod" : { Period }, // When the event definition is expected to be used
"topic" : [{ CodeableConcept }], // E.g. Education, Treatment, Assessment, etc
"author" : [{ ContactDetail }], // Who authored the content
"editor" : [{ ContactDetail }], // Who edited the content
"reviewer" : [{ ContactDetail }], // Who reviewed the content
"endorser" : [{ ContactDetail }], // Who endorsed the content
"relatedArtifact" : [{ RelatedArtifact }], // Additional documentation, citations, etc
"trigger" : [{ TriggerDefinition }] // R! "when" the event occurs (multiple = 'or')
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> .[ a fhir:EventDefinition; fhir:nodeRole fhir:treeRoot; # if this is the parser root
# from # from# from Resource: fhir:id, fhir:meta, fhir:implicitRules, and fhir:language # from DomainResource: fhir:text, fhir:contained, fhir:extension, and fhir:modifierExtension fhir:url [ uri ] ; # 0..1 Canonical identifier for this event definition, represented as a URI (globally unique) fhir:identifier ( [ Identifier ] ... ) ; # 0..* Additional identifier for the event definition fhir:version [ string ] ; # 0..1 Business version of the event definition # versionAlgorithm[x] : 0..1 How to compare versions. One of these 2fhir: ]fhir:versionAlgorithm [ a fhir:String ; string ] fhir:versionAlgorithm [ a fhir:Coding ; Coding ] fhir:name [ string ] ; # 0..1 I Name for this event definition (computer friendly) fhir:title [ string ] ; # 0..1 Name for this event definition (human friendly) fhir:subtitle [ string ] ; # 0..1 Subordinate title of the event definition fhir:status [ code ] ; # 1..1 draft | active | retired | unknown fhir:experimental [ boolean ] ; # 0..1 For testing only - never for real usage # subject[x] : 0..1 Type of individual the event definition is focused on. One of these 2 fhir:subject [ a fhir:CodeableConcept ; CodeableConcept ] fhir:subject [ a fhir:Reference ; Reference(Group) ] fhir:date [ dateTime ] ; # 0..1 Date last changed fhir:publisher [ string ] ; # 0..1 Name of the publisher/steward (organization or individual) fhir:contact ( [ ContactDetail ] ... ) ; # 0..* Contact details for the publisher fhir:description [ markdown ] ; # 0..1 Natural language description of the event definition fhir:useContext ( [ UsageContext ] ... ) ; # 0..* The context that the content is intended to supportfhir:fhir:jurisdiction ( [ CodeableConcept ] ... ) ; # 0..* Jurisdiction of the authority that maintains the event definition (if applicable) fhir:purpose [ markdown ] ; # 0..1 Why this event definition is defined fhir:usage [ markdown ] ; # 0..1 Describes the clinical usage of the event definitionfhir: fhir:fhir:copyright [ markdown ] ; # 0..1 Notice about intellectual property ownership, can include restrictions on use fhir:copyrightLabel [ string ] ; # 0..1 Copyright holder and year(s) fhir:approvalDate [ date ] ; # 0..1 When the event definition was approved by publisher fhir:lastReviewDate [ date ] ; # 0..1 When the event definition was last reviewed by the publisher fhir:effectivePeriod [ Period ] ; # 0..1 When the event definition is expected to be used fhir:topic ( [ CodeableConcept ] ... ) ; # 0..* E.g. Education, Treatment, Assessment, etc fhir:author ( [ ContactDetail ] ... ) ; # 0..* Who authored the content fhir:editor ( [ ContactDetail ] ... ) ; # 0..* Who edited the content fhir:reviewer ( [ ContactDetail ] ... ) ; # 0..* Who reviewed the content fhir:endorser ( [ ContactDetail ] ... ) ; # 0..* Who endorsed the content fhir:relatedArtifact ( [ RelatedArtifact ] ... ) ; # 0..* Additional documentation, citations, etc fhir:trigger ( [ TriggerDefinition ] ... ) ; # 1..* "when" the event occurs (multiple = 'or') ]
Changes from both R4 and R4B
| EventDefinition | |
| EventDefinition.versionAlgorithm[x] |
|
| EventDefinition.subject[x] |
|
| EventDefinition.jurisdiction |
|
| EventDefinition.usage |
|
| EventDefinition.copyrightLabel |
|
See the Full Difference for further information
This analysis is available for R4 as XML or JSON and for R4B as XML or JSON .
Additional definitions: Master Definition XML + JSON , XML Schema / Schematron + JSON Schema , ShEx (for Turtle ) , the spreadsheet version & the dependency analysis
| Path | ValueSet | Type | Documentation |
|---|---|---|---|
| EventDefinition.versionAlgorithm[x] | VersionAlgorithm | Extensible |
Indicates the mechanism used to compare versions to determine which is more current. |
| EventDefinition.status | PublicationStatus | Required |
The lifecycle status of an artifact. |
| EventDefinition.subject[x] | ParticipantResourceTypes | Extensible |
All Resource Types that represent participant resources |
| EventDefinition.jurisdiction |
JurisdictionValueSet
|
Extensible |
This value set defines a base set of codes for country, country subdivision and region for indicating where a resource is intended to be used.
Note:
The
codes
for
countries
and
country
subdivisions
are
taken
from
ISO
3166
|
| EventDefinition.topic | DefinitionTopic | Example |
High-level categorization of the definition, used for searching, sorting, and filtering. |
| UniqueKey | Level | Location | Description | Expression |
cnl-0
|
Warning | (base) | Name should be usable as an identifier for the module by machine processing applications such as code generation | name.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$') |
cnl-1
|
Warning | EventDefinition.url | URL should not contain | or # - these characters make processing canonical references problematic | exists() implies matches('^[^|# ]+$') |
The following examples illustrate EventDefinition resources representing the event "3 consecutive negative stick tests" using the different approaches to event representation supported by the resource.
The
named
event
approach
uses
a
name,
or
code
to
identify
the
event.
In
this
approach,
a
unique
code
for
the
event
is
agreed
upon
by
both
sides
of
an
integration.
The
Workflow
and
Task
usage
context
types
are
another
example.
CDS
Hooks
hook
names
are
another
example
of
this
approach.
The
following
example
illustrates
this
approach
for
a
three-consecutive-negative-stick-tests
event:
<trigger>
<type value="named-event"/>
<code>
<coding>
<system value="http://example.org/CodeSystem/events"/>
<code value="three-consecutive-negative-stick-tests"/>
</coding>
</code>
</trigger>
Alternatively, a trigger may be identified as a data event . In this approach, a DataRequirement is used to identify the data change event:
<trigger>
<type value="data-changed"/>
<data>
<type value="Observation"/>
<codeFilter>
<path value="code"/>
<valueSet value="http://example.org/ValueSet/stick-test-codes"/>
</codeFilter>
</data>
<condition>
<language value="text/cql-expression"/>
<expression value="StickTest.consecutivelyFrom(%context).take(3).negative().count() = 3"/>
</condition>
</trigger>
This
example
indicates
that
the
event
should
be
triggered
when
Observations
with
a
code
matching
a
code
in
the
http://example.org/ValueSet/stick-test-codes
value
set
is
created,
updated,
or
deleted.
In
addition,
the
example
has
a
condition
element
providing
an
expression
that
is
evaluated
as
part
of
determining
whether
or
not
the
event
is
triggered.
If
the
expression
evaluates
to
true
,
the
event
is
triggered.
The expression in this case:
StickTest.consecutivelyFrom(%context).take(3).negative().count()
=
3
Relies
on
the
fluent
functions
defined
in
the
ExampleEventDefinitionLogic
library:
define StickTest:
[Observation: "Stick Test Codes"] O
where O.status in { 'final', 'amended', 'corrected' }
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 consecutivelyFrom(observations List<Observation>, observation Observation):
observations O
where O.issued on or after observation.issued
sort by issued
Alternatively, if a profile is available, it can be used to define the data requirement, as well as to provide the starting data element in the expression:
<trigger>
<type value="data-changed"/>
<data>
<type value="Observation"/>
<profile value="http://example.org/StructureDefinition/stick-test-profile"/>
</data>
<condition>
<language value="text/cql-expression"/>
<expression value="[StickTestProfile].consecutivelyFrom(%context).take(3).negative().count() = 3"/>
</condition>
</trigger>
And finally, the periodic approach can be used to indicate the event should occur on a timing:
<trigger>
<type value="periodic"/>
<timingTiming>
<repeat>
<frequency value="1"/>
<period value="3"/>
<periodUnit value="h"/>
</repeat>
</timingTiming>
<condition>
<language value="text/cql-expression"/>
<expression value="StickTest.within(3 hours).consecutively.take(3).negative().count() = 3"/>
</condition>
</trigger>
Search parameters for this resource. See also the full list of search parameters for this resource , and check the Extensions registry for search parameters on extensions related to this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.
| Name | Type | Description | Expression | In Common |
| composed-of | reference | What resource is being referenced |
EventDefinition.relatedArtifact.where(type='composed-of').resource
(Any) |
5 Resources |
| context | token | A use context assigned to the event definition | (EventDefinition.useContext.value.ofType(CodeableConcept)) |
|
| context-quantity | quantity | A quantity- or range-valued use context assigned to the event definition | (EventDefinition.useContext.value.ofType(Quantity)) | (EventDefinition.useContext.value.ofType(Range)) |
|
| context-type | token | A type of use context assigned to the event definition | EventDefinition.useContext.code |
|
| context-type-quantity | composite | A use context type and quantity- or range-based value assigned to the event definition |
On
EventDefinition.useContext:
context-type: code context-quantity: value.ofType(Quantity) | value.ofType(Range) |
|
| context-type-value | composite | A use context type and value assigned to the event definition |
On
EventDefinition.useContext:
context-type: code context: value.ofType(CodeableConcept) |
|
| date | date | The event definition publication date | EventDefinition.date |
|
| depends-on | reference | What resource is being referenced |
EventDefinition.relatedArtifact.where(type='depends-on').resource
(Any) |
5 Resources |
| derived-from | reference | What resource is being referenced |
EventDefinition.relatedArtifact.where(type='derived-from').resource
(Any) |
9 Resources |
| description | string | The description of the event definition | EventDefinition.description |
|
| effective | date | The time during which the event definition is intended to be in use | EventDefinition.effectivePeriod |
|
| experimental | token | Whether the EventDefinition is experimental | EventDefinition.experimental | |
| identifier | token | External identifier for the event definition | EventDefinition.identifier |
|
| jurisdiction | token |
|
EventDefinition.jurisdiction |
|
| name | string | Computationally friendly name of the event definition | EventDefinition.name |
|
| predecessor | reference | What resource is being referenced |
EventDefinition.relatedArtifact.where(type='predecessor').resource
(Any) |
9 Resources |
| publisher | string | Name of the publisher of the event definition | EventDefinition.publisher |
|
| status | token | The current status of the event definition | EventDefinition.status |
|
| successor | reference | What resource is being referenced |
EventDefinition.relatedArtifact.where(type='successor').resource
(Any) |
5 Resources |
| title | string | The human-friendly name of the event definition | EventDefinition.title |
|
| topic | token | Topics associated with the module | EventDefinition.topic | 10 Resources |
| url | uri | The uri that identifies the event definition | EventDefinition.url |
|
| version | token | The business version of the event definition | EventDefinition.version |
|