EHR and PHR System Functional Models - Record Lifecycle Events Implementation Guide
1.1.0-ballot - Informative Release 1 International flag

This page is part of the EHRS Functional Model - Record Lifecycle Events Implementation Guide (v1.1.0-ballot: Informative Release 1 Ballot 2) based on FHIR v5.0.0. . For a full list of available versions, see the Directory of published versions

Resource Profile: EHRS Functional Model - Record Lifecycle Events - AuditEvent

Official URL: http://hl7.org/fhir/uv/ehrs-rle/StructureDefinition/ehrsrle-auditevent Version: 1.1.0-ballot
Standards status: Informative Maturity Level: 1 Computable Name: EHRSFunctionalModelRecordLifecycleEventsAuditEvent

Defines the elements to be supported within the AuditEvent resource in order to conform with the Electronic Health Record System Functional Model Record Lifecycle Event standard

Usage:

  • This Resource Profile is not used by any profiles in this Implementation Guide

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

This structure is derived from AuditEvent

NameFlagsCard.TypeDescription & Constraintsdoco
.. AuditEvent 0..*AuditEventRecord of an event
... category S0..*CodeableConceptType/identifier of event
... code S1..1CodeableConceptSpecific type of event
... action S0..1codeType of action performed during the event
... authorization S0..*CodeableConceptAuthorization related to the event
... agent S1..*BackboneElementActor involved in the event
.... who S1..1Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | Device | RelatedPerson)Identifier of who
.... requestor S0..1booleanWhether user is initiator
.... location S0..1Reference(Location)The agent location when the event occurred
.... network S0..1Reference(Endpoint), uri, stringThis agent network location for the activity
.... authorization S0..*CodeableConceptAllowable authorization for this agent
... source S1..1BackboneElementAudit Event Reporter
... entity S0..*BackboneElementData or objects used
.... what S0..1Reference(Resource)Specific instance of resource

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. AuditEvent 0..*AuditEventRecord of an event
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... contained 0..*ResourceContained, inline Resources
... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
... code SΣ1..1CodeableConceptSpecific type of event
Binding: AuditEventSubType (example): Specific type of event.

... action SΣ0..1codeType of action performed during the event
Binding: AuditEventAction (required): DICOM Audit Event Action

... recorded SΣ1..1instantTime when the event was recorded
... authorization SΣ0..*CodeableConceptAuthorization related to the event
Binding: PurposeOfUse (example): The authorized purposeOfUse for the activity.


... agent SΣ1..*BackboneElementActor involved in the event
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... who SΣ1..1Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | Device | RelatedPerson)Identifier of who
.... requestor SΣ0..1booleanWhether user is initiator
.... location S0..1Reference(Location)The agent location when the event occurred
.... network[x] S0..1This agent network location for the activity
Slice: Unordered, Open by type:$this
..... networkReferenceReference(Endpoint)
..... networkUriuri
..... networkStringstring
.... authorization S0..*CodeableConceptAllowable authorization for this agent
Binding: PurposeOfUse (example): The reason the activity took place.


... source SΣ1..1BackboneElementAudit Event Reporter
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... observer Σ1..1Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | Device | RelatedPerson)The identity of source detecting the event
... entity SΣ0..*BackboneElementData or objects used
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... what SΣ0..1Reference(Resource)Specific instance of resource

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
AuditEvent.categoryexampleAuditEventID
AuditEvent.codeexampleAuditEventSubType
AuditEvent.actionrequiredAuditEventAction
AuditEvent.authorizationexamplePurposeOfUse
AuditEvent.agent.authorizationexamplePurposeOfUse

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorAuditEventIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorAuditEventIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorAuditEventIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorAuditEventIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceAuditEventA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. AuditEvent 0..*AuditEventRecord of an event
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
... category SΣ0..*CodeableConceptType/identifier of event
Binding: AuditEventID (example): Type of event.


... code SΣ1..1CodeableConceptSpecific type of event
Binding: AuditEventSubType (example): Specific type of event.

... action SΣ0..1codeType of action performed during the event
Binding: AuditEventAction (required): DICOM Audit Event Action

... severity Σ0..1codeemergency | alert | critical | error | warning | notice | informational | debug
Binding: AuditEventSeverity (required): This is in the SysLog header, PRI. http://tools.ietf.org/html/rfc5424#appendix-A.3

... occurred[x] 0..1When the activity occurred
.... occurredPeriodPeriod
.... occurredDateTimedateTime
... recorded SΣ1..1instantTime when the event was recorded
... outcome Σ0..1BackboneElementWhether the event succeeded or failed
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... code Σ1..1CodingWhether the event succeeded or failed
Binding: AuditEventOutcome (preferred): DICOM Audit Event Outcome

.... detail Σ0..*CodeableConceptAdditional outcome detail
Binding: AuditEventOutcomeDetail (example): A code that provides details as the exact issue.


... authorization SΣ0..*CodeableConceptAuthorization related to the event
Binding: PurposeOfUse (example): The authorized purposeOfUse for the activity.


... basedOn 0..*Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest | Task)Workflow authorization within which this event occurred
... patient TU0..1Reference(Patient)The patient is the subject of the data used/created/updated/deleted during the activity
... encounter 0..1Reference(Encounter)Encounter within which this event occurred or which the event is tightly associated
... agent SΣ1..*BackboneElementActor involved in the event
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... type 0..1CodeableConceptHow agent participated
Binding: ParticipationRoleType (preferred): The Participation type of the agent to the event.

.... role 0..*CodeableConceptAgent role in the event
Binding: SecurityRoleType (example): What security role enabled the agent to participate in the event.


.... who SΣ1..1Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | Device | RelatedPerson)Identifier of who
.... requestor SΣ0..1booleanWhether user is initiator
.... location S0..1Reference(Location)The agent location when the event occurred
.... policy 0..*uriPolicy that authorized the agent participation in the event
.... network[x] S0..1This agent network location for the activity
Slice: Unordered, Open by type:$this
..... networkReferenceReference(Endpoint)
..... networkUriuri
..... networkStringstring
.... authorization S0..*CodeableConceptAllowable authorization for this agent
Binding: PurposeOfUse (example): The reason the activity took place.


... source SΣ1..1BackboneElementAudit Event Reporter
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... site 0..1Reference(Location)Logical source location within the enterprise
.... observer Σ1..1Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | Device | RelatedPerson)The identity of source detecting the event
.... type 0..*CodeableConceptThe type of source where event originated
Binding: AuditEventSourceType (preferred): Code specifying the type of system that detected and recorded the event. Use of these codes is not required but is encouraged to maintain translation with DICOM AuditMessage schema.


... entity SΣ0..*BackboneElementData or objects used
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... what SΣ0..1Reference(Resource)Specific instance of resource
.... role 0..1CodeableConceptWhat role the entity played
Binding: AuditEventEntityRole (example): DICOM Audit Event Entity Role

.... securityLabel 0..*CodeableConceptSecurity labels on the entity
Binding: SecurityLabelExamples (example): Example Security Labels from the Healthcare Privacy and Security Classification System.


.... query Σ0..1base64BinaryQuery parameters
.... detail 0..*BackboneElementAdditional Information about the entity
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type 1..1CodeableConceptName of the property
Binding: AuditEventID (example): Additional detail about an entity used in an event.

..... value[x] 1..1Property value
...... valueQuantityQuantity
...... valueCodeableConceptCodeableConcept
...... valueStringstring
...... valueBooleanboolean
...... valueIntegerinteger
...... valueRangeRange
...... valueRatioRatio
...... valueTimetime
...... valueDateTimedateTime
...... valuePeriodPeriod
...... valueBase64Binarybase64Binary
.... agent 0..*See agent (AuditEvent)Entity is attributed to this agent

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
AuditEvent.languagerequiredAllLanguages
AuditEvent.categoryexampleAuditEventID
AuditEvent.codeexampleAuditEventSubType
AuditEvent.actionrequiredAuditEventAction
AuditEvent.severityrequiredAuditEventSeverity
AuditEvent.outcome.codepreferredAuditEventOutcome
AuditEvent.outcome.detailexampleAuditEventOutcomeDetail
AuditEvent.authorizationexamplePurposeOfUse
AuditEvent.agent.typepreferredParticipationRoleType
AuditEvent.agent.roleexampleSecurityRoleType
AuditEvent.agent.authorizationexamplePurposeOfUse
AuditEvent.source.typepreferredAuditEventSourceType
AuditEvent.entity.roleexampleAuditEventEntityRole
AuditEvent.entity.securityLabelexampleSecurityLabelExamples
AuditEvent.entity.detail.typeexampleAuditEventID

Constraints

IdGradePath(s)DetailsRequirements
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from AuditEvent

Summary

Must-Support: 14 elements

Maturity: 1

Differential View

This structure is derived from AuditEvent

NameFlagsCard.TypeDescription & Constraintsdoco
.. AuditEvent 0..*AuditEventRecord of an event
... category S0..*CodeableConceptType/identifier of event
... code S1..1CodeableConceptSpecific type of event
... action S0..1codeType of action performed during the event
... authorization S0..*CodeableConceptAuthorization related to the event
... agent S1..*BackboneElementActor involved in the event
.... who S1..1Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | Device | RelatedPerson)Identifier of who
.... requestor S0..1booleanWhether user is initiator
.... location S0..1Reference(Location)The agent location when the event occurred
.... network S0..1Reference(Endpoint), uri, stringThis agent network location for the activity
.... authorization S0..*CodeableConceptAllowable authorization for this agent
... source S1..1BackboneElementAudit Event Reporter
... entity S0..*BackboneElementData or objects used
.... what S0..1Reference(Resource)Specific instance of resource

doco Documentation for this format

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. AuditEvent 0..*AuditEventRecord of an event
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... contained 0..*ResourceContained, inline Resources
... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
... code SΣ1..1CodeableConceptSpecific type of event
Binding: AuditEventSubType (example): Specific type of event.

... action SΣ0..1codeType of action performed during the event
Binding: AuditEventAction (required): DICOM Audit Event Action

... recorded SΣ1..1instantTime when the event was recorded
... authorization SΣ0..*CodeableConceptAuthorization related to the event
Binding: PurposeOfUse (example): The authorized purposeOfUse for the activity.


... agent SΣ1..*BackboneElementActor involved in the event
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... who SΣ1..1Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | Device | RelatedPerson)Identifier of who
.... requestor SΣ0..1booleanWhether user is initiator
.... location S0..1Reference(Location)The agent location when the event occurred
.... network[x] S0..1This agent network location for the activity
Slice: Unordered, Open by type:$this
..... networkReferenceReference(Endpoint)
..... networkUriuri
..... networkStringstring
.... authorization S0..*CodeableConceptAllowable authorization for this agent
Binding: PurposeOfUse (example): The reason the activity took place.


... source SΣ1..1BackboneElementAudit Event Reporter
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... observer Σ1..1Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | Device | RelatedPerson)The identity of source detecting the event
... entity SΣ0..*BackboneElementData or objects used
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... what SΣ0..1Reference(Resource)Specific instance of resource

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
AuditEvent.categoryexampleAuditEventID
AuditEvent.codeexampleAuditEventSubType
AuditEvent.actionrequiredAuditEventAction
AuditEvent.authorizationexamplePurposeOfUse
AuditEvent.agent.authorizationexamplePurposeOfUse

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorAuditEventIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorAuditEventIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorAuditEventIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorAuditEventIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceAuditEventA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. AuditEvent 0..*AuditEventRecord of an event
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
... category SΣ0..*CodeableConceptType/identifier of event
Binding: AuditEventID (example): Type of event.


... code SΣ1..1CodeableConceptSpecific type of event
Binding: AuditEventSubType (example): Specific type of event.

... action SΣ0..1codeType of action performed during the event
Binding: AuditEventAction (required): DICOM Audit Event Action

... severity Σ0..1codeemergency | alert | critical | error | warning | notice | informational | debug
Binding: AuditEventSeverity (required): This is in the SysLog header, PRI. http://tools.ietf.org/html/rfc5424#appendix-A.3

... occurred[x] 0..1When the activity occurred
.... occurredPeriodPeriod
.... occurredDateTimedateTime
... recorded SΣ1..1instantTime when the event was recorded
... outcome Σ0..1BackboneElementWhether the event succeeded or failed
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... code Σ1..1CodingWhether the event succeeded or failed
Binding: AuditEventOutcome (preferred): DICOM Audit Event Outcome

.... detail Σ0..*CodeableConceptAdditional outcome detail
Binding: AuditEventOutcomeDetail (example): A code that provides details as the exact issue.


... authorization SΣ0..*CodeableConceptAuthorization related to the event
Binding: PurposeOfUse (example): The authorized purposeOfUse for the activity.


... basedOn 0..*Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest | Task)Workflow authorization within which this event occurred
... patient TU0..1Reference(Patient)The patient is the subject of the data used/created/updated/deleted during the activity
... encounter 0..1Reference(Encounter)Encounter within which this event occurred or which the event is tightly associated
... agent SΣ1..*BackboneElementActor involved in the event
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... type 0..1CodeableConceptHow agent participated
Binding: ParticipationRoleType (preferred): The Participation type of the agent to the event.

.... role 0..*CodeableConceptAgent role in the event
Binding: SecurityRoleType (example): What security role enabled the agent to participate in the event.


.... who SΣ1..1Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | Device | RelatedPerson)Identifier of who
.... requestor SΣ0..1booleanWhether user is initiator
.... location S0..1Reference(Location)The agent location when the event occurred
.... policy 0..*uriPolicy that authorized the agent participation in the event
.... network[x] S0..1This agent network location for the activity
Slice: Unordered, Open by type:$this
..... networkReferenceReference(Endpoint)
..... networkUriuri
..... networkStringstring
.... authorization S0..*CodeableConceptAllowable authorization for this agent
Binding: PurposeOfUse (example): The reason the activity took place.


... source SΣ1..1BackboneElementAudit Event Reporter
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... site 0..1Reference(Location)Logical source location within the enterprise
.... observer Σ1..1Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | Device | RelatedPerson)The identity of source detecting the event
.... type 0..*CodeableConceptThe type of source where event originated
Binding: AuditEventSourceType (preferred): Code specifying the type of system that detected and recorded the event. Use of these codes is not required but is encouraged to maintain translation with DICOM AuditMessage schema.


... entity SΣ0..*BackboneElementData or objects used
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... what SΣ0..1Reference(Resource)Specific instance of resource
.... role 0..1CodeableConceptWhat role the entity played
Binding: AuditEventEntityRole (example): DICOM Audit Event Entity Role

.... securityLabel 0..*CodeableConceptSecurity labels on the entity
Binding: SecurityLabelExamples (example): Example Security Labels from the Healthcare Privacy and Security Classification System.


.... query Σ0..1base64BinaryQuery parameters
.... detail 0..*BackboneElementAdditional Information about the entity
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type 1..1CodeableConceptName of the property
Binding: AuditEventID (example): Additional detail about an entity used in an event.

..... value[x] 1..1Property value
...... valueQuantityQuantity
...... valueCodeableConceptCodeableConcept
...... valueStringstring
...... valueBooleanboolean
...... valueIntegerinteger
...... valueRangeRange
...... valueRatioRatio
...... valueTimetime
...... valueDateTimedateTime
...... valuePeriodPeriod
...... valueBase64Binarybase64Binary
.... agent 0..*See agent (AuditEvent)Entity is attributed to this agent

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
AuditEvent.languagerequiredAllLanguages
AuditEvent.categoryexampleAuditEventID
AuditEvent.codeexampleAuditEventSubType
AuditEvent.actionrequiredAuditEventAction
AuditEvent.severityrequiredAuditEventSeverity
AuditEvent.outcome.codepreferredAuditEventOutcome
AuditEvent.outcome.detailexampleAuditEventOutcomeDetail
AuditEvent.authorizationexamplePurposeOfUse
AuditEvent.agent.typepreferredParticipationRoleType
AuditEvent.agent.roleexampleSecurityRoleType
AuditEvent.agent.authorizationexamplePurposeOfUse
AuditEvent.source.typepreferredAuditEventSourceType
AuditEvent.entity.roleexampleAuditEventEntityRole
AuditEvent.entity.securityLabelexampleSecurityLabelExamples
AuditEvent.entity.detail.typeexampleAuditEventID

Constraints

IdGradePath(s)DetailsRequirements
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from AuditEvent

Summary

Must-Support: 14 elements

Maturity: 1

 

Other representations of profile: CSV, Excel, Schematron