R4 Ballot #1 (Mixed Normative/Trial use)

This page is part of the FHIR Specification (v3.3.0: R4 Ballot 2). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3

FHIR Infrastructure Maturity Level: 1Informative

Detailed Descriptions for the elements in the event pattern.

Event
Definition

A pattern to be followed by resources that represent the performance of some activity, possibly in accordance with a request or service definition.

Control1..1
InvariantsDefined on this element
inv-1: Not Done Reason can only be specified if status is 'not-done' (expression : status='not-done' or notDoneReason.exists().not(), xpath: f:status/@value='not-done' or not(exists(f:notDoneReason)))
inv-2: reason elements can only be specified if status is NOT 'not-done' (expression : status!='not-done' or (reasonCode.exists().not() and reasonReference.exists().not()), xpath: not(f:status/@value='not-done') or not(exists(f:reasonCode) or exists(f:reasonReference)))
Event.identifier
Definition

Business identifiers assigned to this {{title}} by the performer or other systems which remain constant as the resource is updated and propagates from server to server.

NoteThis is a business identifer, not a resource identifier (see discussion)
Control0..*
TypeIdentifier
Requirements

Allows identification of the {{title}} as it is known by various participating systems and in a way that remains consistent across servers.

Summarytrue
Comments

Note: This is a business identifer, not a resource identifier (see discussion). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number.

Event.instantiatesCanonical
Definition

The URL pointing to a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this {{title}}.

Control0..*
Typecanonical(Definition)
Summarytrue
Event.instantiatesUri
Definition

The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this {{title}}.

Control0..*
Typeuri
Summarytrue
Comments

This might be an HTML page, PDF, etc. or could just be a non-resolvable URI identifier.

Event.basedOn
Definition

A plan, proposal or order that is fulfilled in whole or in part by this {{title}}.

Control0..*
TypeReference(Request)
Requirements

Allows tracing of authorization for the {{title}} and tracking whether proposals/recommendations were acted upon.

Alternate Namesfulfills
Summarytrue
Comments

[The allowed reference resources may be adjusted as appropriate for the event resource].

Event.partOf
Definition

A larger event of which this particular {{title}} is a component or step.

Control0..*
TypeReference(Event)
Requirements

[E.g. Drug administration as part of a procedure, procedure as part of observation, etc.].

Alternate Namescontainer
Summarytrue
Comments

Not to be used to link an {{title}} to an Encounter - use 'context' for that.

[The allowed reference resources may be adjusted as appropriate for the event resource].

Event.status
Definition

The current state of the {{title}}.

Control1..1
Terminology BindingEventStatus (Required)
Typecode
Is Modifiertrue (Reason: This element is labelled as a modifier because it is a status element that contains status entered-in-error which means that the resource should not be treated as valid)
Summarytrue
Comments

A nominal state-transition diagram can be found in the [[event.html#statemachine | Event pattern]] documentation

Unknown does not represent "other" - one of the defined statuses must apply. Unknown is used when the authoring system is not sure what the current status is.

Event.statusReason
Definition

Captures the reason for the current state of the {{title}}.

Control0..1
Terminology BindingEventStatusReason:
TypeCodeableConcept
Alternate NamesSuspended Reason; Cancelled Reason
Comments

This is generally only used for "exception" statuses such as "not-done", "suspended" or "cancelled". The reason for performing the event at all is captured in reasonCode, not here.

[distinct reason codes for different statuses can be enforced using invariants if they are universal bindings].

Event.code
Definition

A code that identifies the specific service or action that was or is being performed.

Control0..1
Terminology BindingEventCode:
TypeCodeableConcept
Alternate Namestype
Summarytrue
Event.subject
Definition

The individual or set of individuals the action is being or was performed on.

Control1..1
TypeReference(Patient | Group)
Requirements

Links the {{title}} to the Patient context.

Alternate Namespatient
Summarytrue
Comments

[For resources that aren't patient-specific, the set of allowed resources may be extended to include other things. Group should generally be retained unless there's certainty this resource won't be used for veterinary, research or public health settings where Group may be necessary (e.g. this cage of rats/crate of chickens, group of people in a 5 mile radious of the incident, etc.)].

To DoFor mapping, is it better if we make this Any and then constrain it down?
Event.context
Definition

The encounter or episode of care that establishes the context for this {{title}}.

Control0..1
TypeReference(Encounter | EpisodeOfCare)
Requirements

Links the {{title}} to the Encounter context.

Alternate Namesencounter
Summarytrue
Comments

This will typically be the encounter the {{title}} occurred within, but some {{title}}s may be initiated prior to or after the official completion of an encounter or episode but still be tied to the context of the encounter or episode (e.g. pre-admission lab tests).

Event.occurrence[x]
Definition

The date, period or timing when the {{title}} did occur or is occurring.

Control0..1
TypedateTime|Period|Timing
[x] NoteSee Choice of Data Types for further information about how to use [x]
Alternate Namestiming
Summarytrue
Comments

This indicates when the activity actually occurred or is occurring, not when it was asked/requested/ordered to occur. For the latter, look at the occurence element of the Request this {{event}} is "basedOn". The status code allows differentiation of whether the timing reflects a historic event or an ongoing event. Ongoing events should not include an upper bound in the Period or Timing.bounds.

[The list of types may be constrained as appropriate for the type of event. The use of 'Timing' in type is generally only appropriate for Events that are typically used to represent summary information.].

Event.performer
Definition

Indicates who or what performed the {{title}} and how they were involved.

Control0..*
Summarytrue
Comments

[Resources may choose to replace this with just a single performer or repeating where there's no need to distinguish the function performed].

Event.performer.function
Definition

Distinguishes the type of involvement of the performer in the {{title}}. [Consider adding examples].

Control0..1
Terminology BindingEventPerformerFunction:
TypeCodeableConcept
Requirements

Allows disambiguation of the types of involvement of different performers.

Summarytrue
Event.performer.actor
Definition

Indicates who or what performed the {{title}}.

Control1..1
TypeReference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | Device | RelatedPerson)
Summarytrue
Event.location
Definition

The principal physical location where the {{title}} was performed.

Control0..1
TypeReference(Location)
Requirements

Ties the event to where the records are likely kept and provides context around the event occurrence (e.g. if it occurred inside or outside a dedicated healthcare setting).

Summarytrue
Event.reasonCode
Definition

Describes why the {{title}} occurred in coded or textual form.

Control0..*
Terminology BindingEventReason:
TypeCodeableConcept
Summarytrue
Comments

Textual reasons can be captured using reasonCode.text.

Event.reasonReference
Definition

Indicates another resource whose existence justifies this {{title}}.

Control0..*
TypeReference(Condition | Observation | Media | DiagnosticReport | DocumentReference)
Summarytrue
Comments

[Additional resources may be added as appropriate].

Event.note
Definition

Comments made about the {{title}} by the performer, subject or other participants.

Control0..*
TypeAnnotation