FHIR Release 3 (STU) Current Build
This page is part of FHIR STU 3 (v3.0.1) in it's permanent home (it will always be available at this URL). It has been superceded by R4 . For a full list of available versions, see the Directory of published versions .
FHIR Infrastructure Maturity Level : 1 Informative

Detailed Descriptions for the elements in the event resource. pattern.

To Do Should this be a common code system for all events? Comments [Adjust vocabulary to be appropriate to your domain - generally should reflect what the performer does, not who they are].
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.

Control Cardinality 1..1 0..*
Type Logical
Invariants
Defined on this element
inv-1 : Rule Not Done Reason can only be specified if NotDone status is "true" ( expression 'not-done' : notDone status='not-done' or notDoneReason.exists().not(), xpath: f:notDone/@value=true() notDoneReason.exists().not()
inv-2 Rule reason elements can only be specified if status is NOT 'not-done' status!='not-done' or not(exists(f:notDoneReason))) (reasonCode.exists().not() and reasonReference.exists().not())
Event.identifier
Definition

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

Note This is a business identifer, identifier, not a resource identifier (see discussion )
Control Cardinality 0..*
Type Identifier
Requirements

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

Summary true
Comments

Note: This is a business identifier, 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.definition Event.instantiatesCanonical
Definition

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

Control Cardinality 0..*
Type Reference canonical ( Definition ) [ ActivityDefinition , EventDefinition , EvidenceVariable , Measure , OperationDefinition , PlanDefinition , Questionnaire , Topic ])
Summary true
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}}.

Cardinality 0..*
Type uri
Summary true
Comments

[The allowed reference resources may This might be adjusted as appropriate for the event resource]. 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 event. {{title}}.

Control Cardinality 0..*
Type Reference ( Request ) [ Appointment , AppointmentResponse , CarePlan , Claim , CommunicationRequest , Contract , CoverageEligibilityRequest , DeviceRequest , EnrollmentRequest , ImmunizationRecommendation , MedicationRequest , NutritionOrder , RequestGroup , ServiceRequest , SupplyRequest , VisionPrescription ])
Requirements

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

Alternate Names fulfills
Summary true
Comments

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

Event.partOf
Definition

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

Control Cardinality 0..*
Type Reference ( Event ) [ AuditEvent , ChargeItem , ClaimResponse , ClinicalImpression , Communication , Composition , Condition , Consent , Coverage , CoverageEligibilityResponse , DetectedIssue , DeviceUseStatement , DiagnosticReport , DocumentManifest , DocumentReference , Encounter , EnrollmentResponse , EpisodeOfCare , ExplanationOfBenefit , FamilyMemberHistory , GuidanceResponse , ImagingStudy , Immunization , ImmunizationEvaluation , MedicationAdministration , MedicationDispense , MedicationUsage , NutritionIntake , Observation , PaymentNotice , PaymentReconciliation , Procedure , Provenance , QuestionnaireResponse , RiskAssessment , SupplyDelivery ])
Requirements

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

Alternate Names container
Summary true
Comments

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

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

Event.researchStudy
Definition

Indicates that this {{title}} is relevant to the specified research study(ies).

Cardinality 0..*
Type Reference ( ResearchStudy )
Comments

This relevance might mean that the {{title}} occurred as part of the study protocol, but can also include events that occurred outside the study but still have relevance.

Event.status
Definition

The current state of the event. {{title}}.

Control Cardinality 1..1
Terminology Binding EventStatus ( Required )
Type code
Is Modifier true (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)
Summary true
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.notDone Event.statusReason
Definition

If true, indicates that Captures the described event (combination reason for the current state of code, timing, performer, etc.) did not actually occur. the {{title}}.

Control Cardinality 0..1
Type Terminology Binding boolean EventStatusReason :
Is Modifier Type true Requirements CodeableConcept Creating a {{title}} where notDone is true is intended for situations where there's a need for a specific statement in the record about something not being done. If the need is merely to indicate that a request wasn't fulfilled, that should be handled using Task.
Alternate Names Summary true Suspended Reason; Cancelled Reason
Comments

This is generally only used for "exception" statuses such as "not-done", "suspended" or "cancelled". The more attributes are populated, the more constrained the negated statement is. For example if timeframe and performer are specified, that means reason for performing the event wasn't done by that performer in that time-period, but could well have been done by someone else or by that performer at all is captured in a different time period. Event.notDoneReason Definition Describes why the event did reasonCode, not occur in coded and/or textual form. here.

Control 0..1 Type CodeableConcept Requirements

This is a separate element to allow it to have a distinct binding from reasonCode. Summary true Invariants Affect this element inv-1 : Not Done Reason [distinct reason codes for different statuses can only be specified enforced using invariants if NotDone is "true" ( expression : notDone or notDoneReason.exists().not(), xpath: f:notDone/@value=true() or not(exists(f:notDoneReason))) they are universal bindings].

Event.code
Definition

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

Control Cardinality 0..1
Terminology Binding EventCode :
Type CodeableConcept
Alternate Names type
Summary true
Event.subject
Definition

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

Control Cardinality 1..1
Type Reference ( Patient | Group )
Requirements

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

Alternate Names patient
Summary true
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 Do For mapping, is it better if we make this Any and then constrain it down?
Event.context Event.encounter
Definition

The encounter Encounter during which this {{title}} was created or episode of care that establishes to which the context for creation of this event. record is tightly associated.

Control Cardinality 0..1
Type Reference ( Encounter | EpisodeOfCare )
Requirements

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

Alternate Names encounter context
Summary true
Comments

This will typically be the encounter the event occurred within, {{title}} was created during, but some events {{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 date, period or time(s) timing when the activity occurred. {{title}} did occur or is occurring.

Control Cardinality 0..1
Type dateTime | Period | Timing
[x] Note See Choice of Data Types for further information about how to use [x]
Alternate Names timing
Summary true
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]. event. The use of 'Timing' in type is generally only appropriate for Events that are typically used to represent summary information.].

Event.recorded
Definition

The date the occurrence of the {{title}} was first captured in the record - potentially significantly after the occurrence of the event.

Cardinality 0..1
Type dateTime
Summary true
Event.reported[x]
Definition

Indicates if this record was captured as a secondary 'reported' record rather than as an original primary source-of-truth record. It may also indicate the source of the report.

Cardinality 0..1
Type boolean | Reference ( Patient | RelatedPerson | Practitioner | PractitionerRole | Organization )
[x] Note See Choice of Data Types for further information about how to use [x]
Requirements

Reported data may have different rules on editing and may be visually distinguished from primary data.

Alternate Names informer
Summary true
Event.performer
Definition

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

Control Cardinality 0..*
Summary true
Comments

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

Event.performer.role Event.performer.function
Definition

Describes Distinguishes the type of performance (e.g. primary surgeon, anaesthesiologiest, etc.). involvement of the performer in the {{title}}. [Consider adding examples].

Control Cardinality 0..1
Terminology Binding Procedure Performer Role Codes ( Example ) EventPerformerFunction :
Type CodeableConcept
Requirements

Allows disambiguation of the types of involvement of different performers.

Summary true
Event.performer.actor
Definition

The device, practitioner, etc. Indicates who or what performed the action. {{title}}.

Control Cardinality 1..1
Type Reference ( Practitioner | PractitionerRole | Organization | CareTeam | Patient | Device | RelatedPerson )
Summary true
Event.performer.onBehalfOf Event.location
Definition

The organization principal physical location where the device or practitioner {{title}} was acting on behalf of. performed.

Control Cardinality 0..1
Type Reference ( Organization Location )
Requirements

Practitioners Ties the event to where the records are likely kept and Devices can be associated with multiple organizations. This element indicates which organization they were acting on behalf of when performing provides context around the action. event occurrence (e.g. if it occurred inside or outside a dedicated healthcare setting).

Summary true
Event.reasonCode
Definition

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

Control Cardinality 0..*
Terminology Binding EventReason :
Type CodeableConcept
Summary true
Comments

Textual reasons can be captured using reasonCode.text.

Event.reasonReference
Definition

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

Control Cardinality 0..*
Type Reference ( Condition | Observation | DiagnosticReport | DocumentReference )
Summary true
Comments

[Additional resources may be added as appropriate].

Event.note
Definition

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

Control Cardinality 0..*
Type Annotation