This is the Continuous Integration Build of FHIR (will be incorrect/inconsistent at times).
See the Directory of published versions 
Responsible Owner: Clinical Decision Support Work Group | Normative | 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 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: ![]() ![]() |
|---|---|---|---|---|
![]() |
N | 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><!-- 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 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 2 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 support 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 definition 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: ![]() ![]() |
|---|---|---|---|---|
![]() |
N | 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><!-- 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 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 2 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 support 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 definition 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)) | 25 Resources |
| 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)) | 25 Resources |
| context-type | token | A type of use context assigned to the event definition | EventDefinition.useContext.code | 25 Resources |
| 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) |
25 Resources |
| 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) |
25 Resources |
| date | date | The event definition publication date | EventDefinition.date | 26 Resources |
| 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 | 24 Resources |
| effective | date | The time during which the event definition is intended to be in use | EventDefinition.effectivePeriod | 10 Resources |
| experimental | token | Whether the EventDefinition is experimental | EventDefinition.experimental | |
| identifier | token | External identifier for the event definition | EventDefinition.identifier | 30 Resources |
| jurisdiction | token | Jurisdiction of the authority that maintains the the event definition | EventDefinition.jurisdiction | 22 Resources |
| name | string | Computationally friendly name of the event definition | EventDefinition.name | 24 Resources |
| 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 | 26 Resources |
| status | token | The current status of the event definition | EventDefinition.status | 30 Resources |
| 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 | 24 Resources |
| topic | token | Topics associated with the module | EventDefinition.topic | 10 Resources |
| url | uri | The uri that identifies the event definition | EventDefinition.url | 30 Resources |
| version | token | The business version of the event definition | EventDefinition.version | 27 Resources |