R5 Final QA

This page is part of the FHIR Specification (v5.0.0-draft-final: Final QA Preview for R5 - see ballot notes). 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 iconMaturity 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.

Short DisplayEvent Pattern
Cardinality0..*
TypeLogical
Invariants
Defined on this element
inv-1Rule Not Done Reason can only be specified if status is 'not-done'status='not-done' or notDoneReason.exists().not()
inv-2Rule reason elements can only be specified if status is NOT 'not-done'status!='not-done' or (reasonCode.exists().not() and reasonReference.exists().not())
Event.identifier
Definition

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

Short DisplayBusiness Identifier for {{title}}
NoteThis is a business identifier, not a resource identifier (see discussion)
Cardinality0..*
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 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.basedOn
Definition

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

Short DisplayFulfills plan, proposal or order
Cardinality0..*
TypeReference(Request[Appointment, AppointmentResponse, CarePlan, Claim, CommunicationRequest, CoverageEligibilityRequest, DeviceRequest, EnrollmentRequest, ImmunizationRecommendation, MedicationRequest, NutritionOrder, RequestOrchestration, ServiceRequest, SupplyRequest, Task, Transport, VisionPrescription])
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.

Short DisplayPart of referenced event
Cardinality0..*
TypeReference(Event[AdverseEvent, AuditEvent, ChargeItem, ClaimResponse, ClinicalImpression, Communication, Composition, Consent, Contract, Coverage, CoverageEligibilityResponse, DetectedIssue, DeviceDispense, DeviceUsage, DiagnosticReport, DocumentReference, Encounter, EnrollmentResponse, EpisodeOfCare, ExplanationOfBenefit, FamilyMemberHistory, GenomicStudy, GuidanceResponse, ImagingSelection, ImagingStudy, Immunization, ImmunizationEvaluation, InventoryReport, Invoice, MedicationAdministration, MedicationDispense, MedicationStatement, MessageHeader, NutritionIntake, Observation, PaymentNotice, PaymentReconciliation, Procedure, Provenance, QuestionnaireResponse, RiskAssessment, SupplyDelivery, Transport])
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.researchStudy
Definition

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

Short DisplayAssociated research study
Cardinality0..*
TypeReference(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 {{title}}.

Short Displaypreparation | in-progress | not-done | suspended | aborted | completed | entered-in-error | unknown
Cardinality1..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}}.

Short DisplayReason for current status
Cardinality0..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.category
Definition

Partitions the {{title}} into one or more categories that can be used to filter searching, to govern access control and/or to guide system behavior.

Short DisplayHigh level categorization of {{title}}
Cardinality0..*
TypeCodeableConcept
Summarytrue
Comments

Categorization might be done automatically (inferred by code) or manually by user assertion. The absence of a category may limit the ability to determine when the element should be handled, so strong consideration should be given to how systems will be able to determine category values for legacy data and how data that cannot be categorized will be handled. As well, some categories might not be mutually exclusive, so systems should prepare for multiple declared categories - even within a single category 'axis'. In general, there should not be a 'strong' binding ('required' or 'extensible') on the category element overall. Instead, the element can be sliced and bindings can be asserted that apply to particular repetitions.

Event.code
Definition

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

Short DisplayWhat service was done
Cardinality0..1
Terminology BindingEventCode:
TypeCodeableConcept
Alternate Namestype
Summarytrue
Comments

[In some cases, the service type is implicit based on the scope of the resource and only a product element will be present].

Event.product
Definition

Indicates the product supplied or manipulated by this {{title}}.

Short DisplayProduct used/provided
Cardinality0..1
TypeCodeableReference(BiologicallyDerivedProduct | Device | DeviceDefinition | Medication | NutritionProduct | Substance)
Summarytrue
Event.subject
Definition

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

Short DisplayIndividual service was done for/to
Cardinality1..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.encounter
Definition

The Encounter during which this {{title}} was created or to which the creation of this record is tightly associated.

Short DisplayEncounter the {{title}} is part of
Cardinality0..1
TypeReference(Encounter)
Requirements

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

Alternate Namescontext
Summarytrue
Comments

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

Event.occurrence[x]
Definition

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

Short DisplayWhen {{title}} occurred/is occurring
Cardinality0..1
TypedateTime|Period|Timing
[x] NoteSee Choice of Datatypes 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.recorded
Definition

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

Short DisplayWhen {{title}} was first captured in the subject's record
Cardinality0..1
TypedateTime
Summarytrue
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.

Short DisplayReported rather than primary record
Cardinality0..1
Typeboolean|Reference(Patient | RelatedPerson | Practitioner | PractitionerRole | Organization)
[x] NoteSee Choice of Datatypes 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 Namesinformer
Summarytrue
Event.performer
Definition

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

Short DisplayWho performed {{title}} and what they did
Cardinality0..*
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].

Short DisplayType of performance
Cardinality0..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}}.

Short DisplayWho performed {{title}}
Cardinality1..1
TypeReference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | Device | RelatedPerson)
Summarytrue
Event.location
Definition

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

Short DisplayWhere {{title}} occurred
Cardinality0..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.reason
Definition

Describes why the {{title}} occurred in coded or textual form or Indicates another resource whose existence justifies this {{title}}.

Short DisplayWhy was {{title}} performed?
Cardinality0..*
Terminology BindingEventReason:
TypeCodeableReference(Condition | Observation | DiagnosticReport | DocumentReference)
Summarytrue
Comments

Textual reasons can be captured using reasonCode.text.

Event.note
Definition

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

Short DisplayComments made about the event
Cardinality0..*
TypeAnnotation
Event.relevantHistory
Definition

Links to Provenance records for past versions of this resource or component resources that identify key state transitions or updates that are likely to be relevant to a user looking at the current version of the resource.

Short DisplayKey events in history of {{title}}
Cardinality0..*
TypeReference(Provenance)
Alternate NameseventHistory
Comments

This element does not point to the Provenance associated with the current version of the resource - as it would be created after this version existed. The Provenance for the current version can be retrieved with a _revinclude. Referenced provenances should adhere to the provenance-relevant-history profile.

See additional guidance here.