Release 4 FHIR CI-Build

This page is part of the Continuous Integration Build of FHIR Specification (v4.0.1: R4 - Mixed Normative and STU ) in it's permanent home (it will always (will be available incorrect/inconsistent at this URL). The current version which supercedes this version is 5.0.0 . For a full list of available versions, see times).
See the Directory of published versions icon . Page versions: R5 R4B R4

14.8 14.10 Resource EventDefinition - Content

Responsible Owner: Clinical Decision Support icon Work Group Maturity Level : 0   Trial Use Normative Security Category : Anonymous Compartments : Not linked to any 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:

  • Named event: An event identified by the implementation environment
  • Schedule event: An event occurs on a fixed or periodic schedule
  • Data event: An event that occurs when data is change such as a record being added, updated, or deleted
  • Subscription topic: An event that is defined by referencing a subscription topic

This allows an EventDefinition to be used to reference a SubscriptionTopic, enabling subscriptions to be used in MessageDefinition and PlanDefinition.

Structure

0..1 Intended jurisdiction for Use and/or publishing
Name Flags Card. Type Description & Constraints      Filter: Filters doco
. . EventDefinition I TU 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
. . . url Σ 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
. . . identifier Σ 0..* Identifier Additional identifier for the event definition

. . . version Σ 0..1 string Business version of the event definition
. . name . versionAlgorithm[x] Σ I 0..1 How to compare versions
Binding: Version Algorithm ( Extensible )
. . . . versionAlgorithmString string
. . . . versionAlgorithmCoding Coding
... name Σ C 0..1 string Name for this event definition (computer friendly)
. . . title Σ T 0..1 string Name for this event definition (human friendly)
. . . subtitle 0..1 string Subordinate title of the event definition
. . . status ?! Σ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus ( Required )
. . . experimental Σ 0..1 boolean For testing purposes, not only - never for real usage
. . . subject[x] 0..1 Type of individual the event definition is focused on
Subject type Binding: Participant Resource Types ( Extensible )
. . . . subjectCodeableConcept CodeableConcept
. . . . subjectReference Reference ( Group )
. . . date Σ 0..1 dateTime Date last changed
. . . publisher Σ T 0..1 string Name of the publisher publisher/steward (organization or individual)
. . . contact Σ 0..* ContactDetail Contact details for the publisher

. . . description T 0..1 markdown Natural language description of the event definition
. . . useContext Σ 0..* UsageContext The context that the content is intended to support

. . . jurisdiction Σ 0..* CodeableConcept Jurisdiction of the authority that maintains the event definition (if applicable)
Binding: Jurisdiction ValueSet icon ( Extensible )

. . . purpose T 0..1 markdown Why this event definition is defined
. . . usage 0..1 string markdown Describes the clinical usage of the event definition
. . . copyright T 0..1 markdown Notice about intellectual property ownership, can include restrictions on use
. . . copyrightLabel T 0..1 string Copyright holder and year(s)
. . . approvalDate Σ 0..1 date When the event definition was approved by publisher
. . . lastReviewDate Σ 0..1 date When the event definition was last reviewed by the publisher
. . . effectivePeriod Σ 0..1 Period When the event definition is expected to be used
. . . topic 0..* CodeableConcept E.g. Education, Treatment, Assessment, etc. etc
DefinitionTopic Binding: Definition Topic ( Example )

. . . author 0..* ContactDetail Who authored the content

. . . editor 0..* ContactDetail Who edited the content

. . . reviewer 0..* ContactDetail Who reviewed the content

. . . endorser 0..* ContactDetail Who endorsed the content

. . . relatedArtifact 0..* RelatedArtifact Additional documentation, citations, etc. etc

. . . trigger Σ 1..* TriggerDefinition "when" the event occurs (multiple = 'or')


doco Documentation for this format icon

See the Extensions for this resource

UML Diagram ( Legend )

EventDefinition ( DomainResource ) + MetadataResource An absolute URI that is used to identify this event definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this event definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the event definition is stored on different servers url : uri [0..1] A formal identifier that is used to identify this event definition when it is represented in other formats, or referenced in a specification, model, design or an instance identifier : Identifier [0..*] The identifier that is used to identify this version of the event definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the event definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence version : string [0..1] Indicates the mechanism used to compare versions to determine which is more current versionAlgorithm[x] : DataType [0..1] « string | Coding ; null (Strength=Extensible) VersionAlgorithm + » A natural language name identifying the event definition. This name should be usable as an identifier for the module by machine processing applications such as code generation name : string [0..1] « This element has or is affected by some invariants C » A short, descriptive, user-friendly title for the event definition title : string [0..1] An explanatory or alternate title for the event definition giving additional information about its content subtitle : string [0..1] The status of this event definition. Enables tracking the life-cycle of the content (this element modifies the meaning of other elements) status : code [1..1] « The lifecycle status of an artifact. null (Strength=Required) PublicationStatus ! » A Boolean value to indicate that this event definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to no version of this resource will ever be used intended for genuine usage experimental : boolean [0..1] A code or group definition that describes the intended subject of the event definition subject[x] : Type DataType [0..1] « CodeableConcept | Reference ( Group ); The possible types of subjects for an event (E.g. Patient, Practitioner, Organization, Location, etc.). null (Strength=Extensible) SubjectType ParticipantResourceTypes + » The date (and optionally time) when the event definition was published. last significantly changed. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the event definition changes date : dateTime [0..1] The name of the organization or individual that published responsible for the release and ongoing maintenance of the event definition publisher : string [0..1] Contact details to assist a user in finding and communicating with the publisher contact : ContactDetail [0..*] A free text natural language description of the event definition from a consumer's perspective description : markdown [0..1] The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate event definition instances useContext : UsageContext [0..*] A legal or geographic region in which the event definition authority that maintains the resource is intended to be used operating. In general, the jurisdiction is also found in the useContext. The useContext may reference additional jurisdictions because the defining jurisdiction does not necessarily limit the jurisdictions of use jurisdiction : CodeableConcept [0..*] « Countries and regions within which this artifact is targeted for use. null (Strength=Extensible) Jurisdiction ValueSet JurisdictionValueSet + » Explanation of why this event definition is needed and why it has been designed as it has purpose : markdown [0..1] A detailed description of how the event definition is used from a clinical perspective usage : string markdown [0..1] A copyright statement relating to the event definition and/or its contents. Copyright statements are generally legal notices of intellectual property ownership and can include restrictions on the use and publishing of the event definition copyright : markdown [0..1] A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are restricted. (e.g. 'All rights reserved', 'Some rights reserved') copyrightLabel : string [0..1] The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage approvalDate : date [0..1] The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date lastReviewDate : date [0..1] The period during which the event definition content was or is planned to be in active use effectivePeriod : Period [0..1] Descriptive topics related to the module. Topics provide a high-level categorization of the module that can be useful for filtering and searching topic : CodeableConcept [0..*] « High-level categorization of the definition, used for searching, sorting, and filtering. null (Strength=Example) DefinitionTopic ?? » An individiual or organization primarily involved in the creation and maintenance of the content author : ContactDetail [0..*] An individual or organization primarily responsible for internal coherence of the content editor : ContactDetail [0..*] An individual or organization asserted by the publisher to be primarily responsible for review of some aspect of the content reviewer : ContactDetail [0..*] An individual or organization asserted by the publisher to be responsible for officially endorsing the content for use in some setting endorser : ContactDetail [0..*] Related resources such as additional documentation, justification, or bibliographic references relatedArtifact : RelatedArtifact [0..*] The trigger element defines when the event occurs. If more than one trigger condition is specified, the event fires whenever any one of the trigger conditions is met trigger : TriggerDefinition [1..*]

XML Template

<EventDefinition xmlns="http://hl7.org/fhir"> doco
 <!-- 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 -->
 <
 <</subject[x]>
 <
 <

 <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) icon --></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>

 <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>
 <</endorser>
 <</relatedArtifact>

 <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

{doco
  "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) icon

  "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/> .doco


[ a fhir:EventDefinition;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from 
  # from 
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  # . One of these 2
    fhir: ]
    fhir:) ]
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:

  # 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 since R3 from both R4 and R4B

EventDefinition
EventDefinition.versionAlgorithm[x]
  • Added Element
EventDefinition.subject[x]
  • Change value set from http://hl7.org/fhir/ValueSet/subject-type to Participant Resource Types
  • Change code system for extensibly bound codes from "http://hl7.org/fhir/resource-types" to "http://hl7.org/fhir/fhir-types"
EventDefinition.jurisdiction
EventDefinition.usage
  • Type changed from string to markdown
EventDefinition.copyrightLabel
  • Added Element

This resource did not exist in Release 2 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

0..1 Intended jurisdiction for Use and/or publishing
Name Flags Card. Type Description & Constraints      Filter: Filters doco
. . EventDefinition I TU 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
. . . url Σ 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
. . . identifier Σ 0..* Identifier Additional identifier for the event definition

. . . version Σ 0..1 string Business version of the event definition
. . name . versionAlgorithm[x] Σ I 0..1 How to compare versions
Binding: Version Algorithm ( Extensible )
. . . . versionAlgorithmString string
. . . . versionAlgorithmCoding Coding
... name Σ C 0..1 string Name for this event definition (computer friendly)
. . . title Σ T 0..1 string Name for this event definition (human friendly)
. . . subtitle 0..1 string Subordinate title of the event definition
. . . status ?! Σ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus ( Required )
. . . experimental Σ 0..1 boolean For testing purposes, not only - never for real usage
. . . subject[x] 0..1 Type of individual the event definition is focused on
Subject type Binding: Participant Resource Types ( Extensible )
. . . . subjectCodeableConcept CodeableConcept
. . . . subjectReference Reference ( Group )
. . . date Σ 0..1 dateTime Date last changed
. . . publisher Σ T 0..1 string Name of the publisher publisher/steward (organization or individual)
. . . contact Σ 0..* ContactDetail Contact details for the publisher

. . . description T 0..1 markdown Natural language description of the event definition
. . . useContext Σ 0..* UsageContext The context that the content is intended to support

. . . jurisdiction Σ 0..* CodeableConcept Jurisdiction of the authority that maintains the event definition (if applicable)
Binding: Jurisdiction ValueSet icon ( Extensible )

. . . purpose T 0..1 markdown Why this event definition is defined
. . . usage 0..1 string markdown Describes the clinical usage of the event definition
. . . copyright T 0..1 markdown Notice about intellectual property ownership, can include restrictions on use
. . . copyrightLabel T 0..1 string Copyright holder and year(s)
. . . approvalDate Σ 0..1 date When the event definition was approved by publisher
. . . lastReviewDate Σ 0..1 date When the event definition was last reviewed by the publisher
. . . effectivePeriod Σ 0..1 Period When the event definition is expected to be used
. . . topic 0..* CodeableConcept E.g. Education, Treatment, Assessment, etc. etc
DefinitionTopic Binding: Definition Topic ( Example )

. . . author 0..* ContactDetail Who authored the content

. . . editor 0..* ContactDetail Who edited the content

. . . reviewer 0..* ContactDetail Who reviewed the content

. . . endorser 0..* ContactDetail Who endorsed the content

. . . relatedArtifact 0..* RelatedArtifact Additional documentation, citations, etc. etc

. . . trigger Σ 1..* TriggerDefinition "when" the event occurs (multiple = 'or')


doco Documentation for this format icon

See the Extensions for this resource

UML Diagram ( Legend )

EventDefinition ( DomainResource ) + MetadataResource An absolute URI that is used to identify this event definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this event definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the event definition is stored on different servers url : uri [0..1] A formal identifier that is used to identify this event definition when it is represented in other formats, or referenced in a specification, model, design or an instance identifier : Identifier [0..*] The identifier that is used to identify this version of the event definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the event definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence version : string [0..1] Indicates the mechanism used to compare versions to determine which is more current versionAlgorithm[x] : DataType [0..1] « string | Coding ; null (Strength=Extensible) VersionAlgorithm + » A natural language name identifying the event definition. This name should be usable as an identifier for the module by machine processing applications such as code generation name : string [0..1] « This element has or is affected by some invariants C » A short, descriptive, user-friendly title for the event definition title : string [0..1] An explanatory or alternate title for the event definition giving additional information about its content subtitle : string [0..1] The status of this event definition. Enables tracking the life-cycle of the content (this element modifies the meaning of other elements) status : code [1..1] « The lifecycle status of an artifact. null (Strength=Required) PublicationStatus ! » A Boolean value to indicate that this event definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to no version of this resource will ever be used intended for genuine usage experimental : boolean [0..1] A code or group definition that describes the intended subject of the event definition subject[x] : Type DataType [0..1] « CodeableConcept | Reference ( Group ); The possible types of subjects for an event (E.g. Patient, Practitioner, Organization, Location, etc.). null (Strength=Extensible) SubjectType ParticipantResourceTypes + » The date (and optionally time) when the event definition was published. last significantly changed. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the event definition changes date : dateTime [0..1] The name of the organization or individual that published responsible for the release and ongoing maintenance of the event definition publisher : string [0..1] Contact details to assist a user in finding and communicating with the publisher contact : ContactDetail [0..*] A free text natural language description of the event definition from a consumer's perspective description : markdown [0..1] The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate event definition instances useContext : UsageContext [0..*] A legal or geographic region in which the event definition authority that maintains the resource is intended to be used operating. In general, the jurisdiction is also found in the useContext. The useContext may reference additional jurisdictions because the defining jurisdiction does not necessarily limit the jurisdictions of use jurisdiction : CodeableConcept [0..*] « Countries and regions within which this artifact is targeted for use. null (Strength=Extensible) Jurisdiction ValueSet JurisdictionValueSet + » Explanation of why this event definition is needed and why it has been designed as it has purpose : markdown [0..1] A detailed description of how the event definition is used from a clinical perspective usage : string markdown [0..1] A copyright statement relating to the event definition and/or its contents. Copyright statements are generally legal notices of intellectual property ownership and can include restrictions on the use and publishing of the event definition copyright : markdown [0..1] A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are restricted. (e.g. 'All rights reserved', 'Some rights reserved') copyrightLabel : string [0..1] The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage approvalDate : date [0..1] The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date lastReviewDate : date [0..1] The period during which the event definition content was or is planned to be in active use effectivePeriod : Period [0..1] Descriptive topics related to the module. Topics provide a high-level categorization of the module that can be useful for filtering and searching topic : CodeableConcept [0..*] « High-level categorization of the definition, used for searching, sorting, and filtering. null (Strength=Example) DefinitionTopic ?? » An individiual or organization primarily involved in the creation and maintenance of the content author : ContactDetail [0..*] An individual or organization primarily responsible for internal coherence of the content editor : ContactDetail [0..*] An individual or organization asserted by the publisher to be primarily responsible for review of some aspect of the content reviewer : ContactDetail [0..*] An individual or organization asserted by the publisher to be responsible for officially endorsing the content for use in some setting endorser : ContactDetail [0..*] Related resources such as additional documentation, justification, or bibliographic references relatedArtifact : RelatedArtifact [0..*] The trigger element defines when the event occurs. If more than one trigger condition is specified, the event fires whenever any one of the trigger conditions is met trigger : TriggerDefinition [1..*]

XML Template

<EventDefinition xmlns="http://hl7.org/fhir"> doco
 <!-- 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 -->
 <
 <</subject[x]>
 <
 <

 <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) icon --></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>

 <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>
 <</endorser>
 <</relatedArtifact>

 <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

{doco
  "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) icon

  "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/> .doco


[ a fhir:EventDefinition;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from 
  # from 
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  # . One of these 2
    fhir: ]
    fhir:) ]
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:

  # 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 since Release 3 from both R4 and R4B

EventDefinition
EventDefinition.versionAlgorithm[x]
  • Added Element
EventDefinition.subject[x]
  • Change value set from http://hl7.org/fhir/ValueSet/subject-type to Participant Resource Types
  • Change code system for extensibly bound codes from "http://hl7.org/fhir/resource-types" to "http://hl7.org/fhir/fhir-types"
EventDefinition.jurisdiction
EventDefinition.usage
  • Type changed from string to markdown
EventDefinition.copyrightLabel
  • Added Element

This resource did not exist in Release 2 See the Full Difference for further information

This analysis is available for R4 as XML or JSON and for R4B as XML or JSON .

 

See the Profiles & Extensions and the alternate Additional definitions: Master Definition XML + JSON , XML Schema / Schematron + JSON Schema , ShEx (for Turtle ) + see , the extensions spreadsheet version & the dependency analysis

EventDefinition.status
Path Definition ValueSet Type Reference Documentation
EventDefinition.versionAlgorithm[x] The lifecycle status of an artifact. VersionAlgorithm Required Extensible

Indicates the mechanism used to compare versions to determine which is more current.

EventDefinition.status PublicationStatus EventDefinition.subject[x] Required

The possible types lifecycle status of subjects for an event (E.g. Patient, Practitioner, Organization, Location, etc.). artifact.

EventDefinition.subject[x] ParticipantResourceTypes Extensible SubjectType

All Resource Types that represent participant resources

EventDefinition.jurisdiction Countries and regions within which this artifact is targeted for use. JurisdictionValueSet icon Extensible Jurisdiction ValueSet

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 icon while the codes for "supra-national" regions are from UN Standard country or area codes for statistical use (M49) icon.

EventDefinition.topic DefinitionTopic Example

High-level categorization of the definition, used for searching, sorting, and filtering. Example DefinitionTopic

id UniqueKey Level Location Description Expression
evd-0 img  cnl-0 Warning (base) Name should be usable as an identifier for the module by machine processing applications such as code generation name.matches('[A-Z]([A-Za-z0-9_]){0,254}') name.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$')
img  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 icon and Task icon 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 as CodeableConcept) (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 as Quantity) (EventDefinition.useContext.value.ofType(Quantity)) | (EventDefinition.useContext.value as Range) (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.as(Quantity) value.ofType(Quantity) | value.as(Range) 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.as(CodeableConcept) 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 Intended jurisdiction for 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