Basic Audit Log Patterns (BALP)
1.1.3 - Trial-Implementation International flag

This page is part of the IHE Basic Audit Log Patterns (BALP) (v1.1.3: Publication) based on FHIR (HL7® FHIR® Standard) R4. This is the current published version. For a full list of available versions, see the Directory of published versions

Resource Profile: Basic AuditEvent pattern for when an activity was authorized by an IUA access token

Official URL: https://profiles.ihe.net/ITI/BALP/StructureDefinition/IHE.BasicAudit.OAUTHaccessTokenUse.Comprehensive Version: 1.1.3
Active as of 2024-02-14 Computable Name: OAUTHaccessTokenUseComprehensive

A basic AuditEvent profile for when an activity was authorized by an IUA access token. This profile is expected to be used with some other detail that explains the activity. This profile only covers the IUA access token.

  • Given an activity has occured
  • And OAuth is used to authorize (both app and user)
  • And the given activity is using http with authorization: bearer mechanism
  • When an AuditEvent is recorded for the activity
  • Then that AuditEvent would follow this profile regarding recording the IUA access token details
  • note: this profile records minimal information from the IUA access token, which presumes that use of the AuditEvent at a later time will be able to resolve the given information.
  • client slice holds the application details
    • This is likely replicated in other slices, but is consistently identified as the Application slice for ease of tracking all events caused by this client
    • place the client_id into .who.identifier.value (system is not needed, but avaialble if you have a system)
    • any network identification detail should be placed in .network (may be a IP address, or hostname)
  • oUser slice holds the user details
    • user id is recorded in the .who.identifier
    • user id is also recorded in .name to be more easy searched
    • if roles or purposeOfUse are known record them here
    • the JWT ID is recorded in .policy. Expecting that during audit anaysis this ID can be looked up and dereferenced

Usage:

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..*AuditEventEvent record kept for security purposes
... Slices for agent 1..*BackboneElementActor involved in the event
Slice: Unordered, Open by pattern:type
.... agent:oClient 1..1BackboneElementActor involved in the event
..... type 1..1CodeableConceptHow agent participated
Required Pattern: At least the following
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://dicom.nema.org/resources/ontology/DCM
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: 110150
..... who 1..1Reference(PractitionerRole | Practitioner | Organization | Device | Patient | RelatedPerson)client identifier
...... identifier 1..1IdentifierLogical reference, when literal reference is not known
....... value 1..1stringToken client ID (client_id)
..... media 0..0
..... network S0..1BackboneElementThe client as known by TCP connection information
.... agent:oUser 0..1BackboneElementActor involved in the event
..... type 1..1CodeableConceptHow agent participated
Required Pattern: At least the following
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ParticipationType
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: IRCP
..... role S0..*CodeableConceptAgent role in the event
..... who 1..1Reference(PractitionerRole | Practitioner | Organization | Device | Patient | RelatedPerson)May be a Resource, but likely just an identifier from the OAuth token
...... identifier 1..1IdentifierLogical reference, when literal reference is not known
....... system S0..1uriToken Issuer (TOKEN_ISSUER)
....... value S0..1stringUser ID (USER_ID)
...... display S0..1stringUser Name (USER_NAME)
..... name S0..1stringUser Name (USER_NAME)
..... requestor 1..1booleanWhether user is initiator
Required Pattern: true
..... policy 1..1urijti (JWT ID)
..... media 0..0
..... network 0..0
..... purposeOfUse S0..*CodeableConceptReason given for this user

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. AuditEvent 0..*AuditEventEvent record kept for security purposes
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... type Σ1..1CodingType/identifier of event
Binding: AuditEventID (extensible): Type of event.

... recorded Σ1..1instantTime when the event was recorded
... Slices for agent 1..*BackboneElementActor involved in the event
Slice: Unordered, Open by pattern:type
.... agent:All Slices Content/Rules for all slices
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... requestor Σ1..1booleanWhether user is initiator
.... agent:oClient 1..1BackboneElementActor involved in the event
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type 1..1CodeableConceptHow agent participated
Binding: ParticipationRoleType (extensible): The Participation type of the agent to the event.


Required Pattern: At least the following
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://dicom.nema.org/resources/ontology/DCM
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: 110150
..... who Σ1..1Reference(PractitionerRole | Practitioner | Organization | Device | Patient | RelatedPerson)client identifier
...... identifier Σ1..1IdentifierLogical reference, when literal reference is not known
....... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

....... value Σ1..1stringToken client ID (client_id)
Example General: 123456
..... requestor Σ1..1booleanWhether user is initiator
..... network S0..1BackboneElementThe client as known by TCP connection information
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... agent:oUser 0..1BackboneElementActor involved in the event
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type 1..1CodeableConceptHow agent participated
Binding: ParticipationRoleType (extensible): The Participation type of the agent to the event.


Required Pattern: At least the following
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ParticipationType
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: IRCP
..... role S0..*CodeableConceptAgent role in the event
Binding: SecurityRoleType (example): What security role enabled the agent to participate in the event.


..... who Σ1..1Reference(PractitionerRole | Practitioner | Organization | Device | Patient | RelatedPerson)May be a Resource, but likely just an identifier from the OAuth token
...... identifier Σ1..1IdentifierLogical reference, when literal reference is not known
....... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

....... system SΣ0..1uriToken Issuer (TOKEN_ISSUER)
Example General: http://www.acme.com/identifiers/patient
....... value SΣ0..1stringUser ID (USER_ID)
Example General: 123456
...... display SΣ0..1stringUser Name (USER_NAME)
..... name S0..1stringUser Name (USER_NAME)
..... requestor Σ1..1booleanWhether user is initiator
Required Pattern: true
..... policy 1..1urijti (JWT ID)
..... purposeOfUse S0..*CodeableConceptReason given for this user
Binding: PurposeOfUse (extensible): The reason the activity took place.


... source 1..1BackboneElementAudit Event Reporter
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... observer Σ1..1Reference(PractitionerRole | Practitioner | Organization | Device | Patient | RelatedPerson)The identity of source detecting the event

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
AuditEvent.typeextensibleAuditEventID
http://hl7.org/fhir/ValueSet/audit-event-type
from the FHIR Standard
AuditEvent.agent:oClient.typeextensiblePattern: 110150
http://hl7.org/fhir/ValueSet/participation-role-type
from the FHIR Standard
AuditEvent.agent:oClient.who.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
AuditEvent.agent:oUser.typeextensiblePattern: IRCP
http://hl7.org/fhir/ValueSet/participation-role-type
from the FHIR Standard
AuditEvent.agent:oUser.roleexampleSecurityRoleType
http://hl7.org/fhir/ValueSet/security-role-type
from the FHIR Standard
AuditEvent.agent:oUser.who.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
AuditEvent.agent:oUser.purposeOfUseextensiblePurposeOfUse
http://terminology.hl7.org/ValueSet/v3-PurposeOfUse
NameFlagsCard.TypeDescription & Constraintsdoco
.. AuditEvent 0..*AuditEventEvent record kept for security purposes
... 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
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... 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
... type Σ1..1CodingType/identifier of event
Binding: AuditEventID (extensible): Type of event.

... subtype Σ0..*CodingMore specific type/id for the event
Binding: AuditEventSub-Type (extensible): Sub-type of event.


... action Σ0..1codeType of action performed during the event
Binding: AuditEventAction (required): Indicator for type of action performed during the event that generated the event.

... period 0..1PeriodWhen the activity occurred
... recorded Σ1..1instantTime when the event was recorded
... outcome Σ0..1codeWhether the event succeeded or failed
Binding: AuditEventOutcome (required): Indicates whether the event succeeded or failed.

... outcomeDesc Σ0..1stringDescription of the event outcome
... purposeOfEvent Σ0..*CodeableConceptThe purposeOfUse of the event
Binding: PurposeOfUse (extensible): The reason the activity took place.


... Slices for agent 1..*BackboneElementActor involved in the event
Slice: Unordered, Open by pattern:type
.... agent:All Slices Content/Rules for all slices
..... 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 (extensible): 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 Σ0..1Reference(PractitionerRole | Practitioner | Organization | Device | Patient | RelatedPerson)Identifier of who
..... altId 0..1stringAlternative User identity
..... name 0..1stringHuman friendly name for the agent
..... requestor Σ1..1booleanWhether user is initiator
..... location 0..1Reference(Location)Where
..... policy 0..*uriPolicy that authorized event
..... media 0..1CodingType of media
Binding: MediaTypeCode (extensible): Used when the event is about exporting/importing onto media.

..... network 0..1BackboneElementLogical network location for application activity
...... 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
...... address 0..1stringIdentifier for the network access point of the user device
...... type 0..1codeThe type of network access point
Binding: AuditEventAgentNetworkType (required): The type of network access point of this agent in the audit event.

..... purposeOfUse 0..*CodeableConceptReason given for this user
Binding: PurposeOfUse (extensible): The reason the activity took place.


.... agent:oClient 1..1BackboneElementActor 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 1..1CodeableConceptHow agent participated
Binding: ParticipationRoleType (extensible): The Participation type of the agent to the event.


Required Pattern: At least the following
...... id0..1stringUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... id0..1stringUnique id for inter-element referencing
....... extension0..*ExtensionAdditional content defined by implementations
....... system1..1uriIdentity of the terminology system
Fixed Value: http://dicom.nema.org/resources/ontology/DCM
....... version0..1stringVersion of the system - if relevant
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: 110150
....... display0..1stringRepresentation defined by the system
....... userSelected0..1booleanIf this coding was chosen directly by the user
...... text0..1stringPlain text representation of the concept
..... role 0..*CodeableConceptAgent role in the event
Binding: SecurityRoleType (example): What security role enabled the agent to participate in the event.


..... who Σ1..1Reference(PractitionerRole | Practitioner | Organization | Device | Patient | RelatedPerson)client identifier
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... reference ΣC0..1stringLiteral reference, Relative, internal or absolute URL
...... type Σ0..1uriType the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

...... identifier Σ1..1IdentifierLogical reference, when literal reference is not known
....... id 0..1stringUnique id for inter-element referencing
....... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
....... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

....... type Σ0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

....... system Σ0..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
....... value Σ1..1stringToken client ID (client_id)
Example General: 123456
....... period Σ0..1PeriodTime period when id is/was valid for use
....... assigner Σ0..1Reference(Organization)Organization that issued id (may be just text)
...... display Σ0..1stringText alternative for the resource
..... altId 0..1stringAlternative User identity
..... name 0..1stringHuman friendly name for the agent
..... requestor Σ1..1booleanWhether user is initiator
..... location 0..1Reference(Location)Where
..... policy 0..*uriPolicy that authorized event
..... network S0..1BackboneElementThe client as known by TCP connection information
...... 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
...... address 0..1stringIdentifier for the network access point of the user device
...... type 0..1codeThe type of network access point
Binding: AuditEventAgentNetworkType (required): The type of network access point of this agent in the audit event.

..... purposeOfUse 0..*CodeableConceptReason given for this user
Binding: PurposeOfUse (extensible): The reason the activity took place.


.... agent:oUser 0..1BackboneElementActor 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 1..1CodeableConceptHow agent participated
Binding: ParticipationRoleType (extensible): The Participation type of the agent to the event.


Required Pattern: At least the following
...... id0..1stringUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... id0..1stringUnique id for inter-element referencing
....... extension0..*ExtensionAdditional content defined by implementations
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ParticipationType
....... version0..1stringVersion of the system - if relevant
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: IRCP
....... display0..1stringRepresentation defined by the system
....... userSelected0..1booleanIf this coding was chosen directly by the user
...... text0..1stringPlain text representation of the concept
..... role S0..*CodeableConceptAgent role in the event
Binding: SecurityRoleType (example): What security role enabled the agent to participate in the event.


..... who Σ1..1Reference(PractitionerRole | Practitioner | Organization | Device | Patient | RelatedPerson)May be a Resource, but likely just an identifier from the OAuth token
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... reference ΣC0..1stringLiteral reference, Relative, internal or absolute URL
...... type Σ0..1uriType the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

...... identifier Σ1..1IdentifierLogical reference, when literal reference is not known
....... id 0..1stringUnique id for inter-element referencing
....... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
....... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

....... type Σ0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

....... system SΣ0..1uriToken Issuer (TOKEN_ISSUER)
Example General: http://www.acme.com/identifiers/patient
....... value SΣ0..1stringUser ID (USER_ID)
Example General: 123456
....... period Σ0..1PeriodTime period when id is/was valid for use
....... assigner Σ0..1Reference(Organization)Organization that issued id (may be just text)
...... display SΣ0..1stringUser Name (USER_NAME)
..... altId 0..1stringAlternative User identity
..... name S0..1stringUser Name (USER_NAME)
..... requestor Σ1..1booleanWhether user is initiator
Required Pattern: true
..... location 0..1Reference(Location)Where
..... policy 1..1urijti (JWT ID)
..... purposeOfUse S0..*CodeableConceptReason given for this user
Binding: PurposeOfUse (extensible): The reason the activity took place.


... source 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..1stringLogical source location within the enterprise
.... observer Σ1..1Reference(PractitionerRole | Practitioner | Organization | Device | Patient | RelatedPerson)The identity of source detecting the event
.... type 0..*CodingThe type of source where event originated
Binding: AuditEventSourceType (extensible): Code specifying the type of system that detected and recorded the event.


... entity C0..*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 Σ0..1Reference(Resource)Specific instance of resource
.... type 0..1CodingType of entity involved
Binding: AuditEventEntityType (extensible): Code for the entity type involved in the audit event.

.... role 0..1CodingWhat role the entity played
Binding: AuditEventEntityRole (extensible): Code representing the role the entity played in the audit event.

.... lifecycle 0..1CodingLife-cycle stage for the entity
Binding: ObjectLifecycleEvents (extensible): Identifier for the data life-cycle stage for the entity.

.... securityLabel 0..*CodingSecurity labels on the entity
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.


.... name ΣC0..1stringDescriptor for entity
.... description 0..1stringDescriptive text
.... query ΣC0..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..1stringName of the property
..... value[x] 1..1Property value
...... valueStringstring
...... valueBase64Binarybase64Binary

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
AuditEvent.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
AuditEvent.typeextensibleAuditEventID
http://hl7.org/fhir/ValueSet/audit-event-type
from the FHIR Standard
AuditEvent.subtypeextensibleAuditEventSub-Type
http://hl7.org/fhir/ValueSet/audit-event-sub-type
from the FHIR Standard
AuditEvent.actionrequiredAuditEventAction
http://hl7.org/fhir/ValueSet/audit-event-action|4.0.1
from the FHIR Standard
AuditEvent.outcomerequiredAuditEventOutcome
http://hl7.org/fhir/ValueSet/audit-event-outcome|4.0.1
from the FHIR Standard
AuditEvent.purposeOfEventextensiblePurposeOfUse
http://terminology.hl7.org/ValueSet/v3-PurposeOfUse
AuditEvent.agent.typeextensibleParticipationRoleType
http://hl7.org/fhir/ValueSet/participation-role-type
from the FHIR Standard
AuditEvent.agent.roleexampleSecurityRoleType
http://hl7.org/fhir/ValueSet/security-role-type
from the FHIR Standard
AuditEvent.agent.mediaextensibleMediaTypeCode
http://hl7.org/fhir/ValueSet/dicm-405-mediatype
from the FHIR Standard
AuditEvent.agent.network.typerequiredAuditEventAgentNetworkType
http://hl7.org/fhir/ValueSet/network-type|4.0.1
from the FHIR Standard
AuditEvent.agent.purposeOfUseextensiblePurposeOfUse
http://terminology.hl7.org/ValueSet/v3-PurposeOfUse
AuditEvent.agent:oClient.typeextensiblePattern: 110150
http://hl7.org/fhir/ValueSet/participation-role-type
from the FHIR Standard
AuditEvent.agent:oClient.roleexampleSecurityRoleType
http://hl7.org/fhir/ValueSet/security-role-type
from the FHIR Standard
AuditEvent.agent:oClient.who.typeextensibleResourceType
http://hl7.org/fhir/ValueSet/resource-types
AuditEvent.agent:oClient.who.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
AuditEvent.agent:oClient.who.identifier.typeextensibleIdentifier Type Codes
http://hl7.org/fhir/ValueSet/identifier-type
from the FHIR Standard
AuditEvent.agent:oClient.network.typerequiredAuditEventAgentNetworkType
http://hl7.org/fhir/ValueSet/network-type|4.0.1
from the FHIR Standard
AuditEvent.agent:oClient.purposeOfUseextensiblePurposeOfUse
http://terminology.hl7.org/ValueSet/v3-PurposeOfUse
AuditEvent.agent:oUser.typeextensiblePattern: IRCP
http://hl7.org/fhir/ValueSet/participation-role-type
from the FHIR Standard
AuditEvent.agent:oUser.roleexampleSecurityRoleType
http://hl7.org/fhir/ValueSet/security-role-type
from the FHIR Standard
AuditEvent.agent:oUser.who.typeextensibleResourceType
http://hl7.org/fhir/ValueSet/resource-types
AuditEvent.agent:oUser.who.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
AuditEvent.agent:oUser.who.identifier.typeextensibleIdentifier Type Codes
http://hl7.org/fhir/ValueSet/identifier-type
from the FHIR Standard
AuditEvent.agent:oUser.network.typerequiredAuditEventAgentNetworkType
http://hl7.org/fhir/ValueSet/network-type|4.0.1
from the FHIR Standard
AuditEvent.agent:oUser.purposeOfUseextensiblePurposeOfUse
http://terminology.hl7.org/ValueSet/v3-PurposeOfUse
AuditEvent.source.typeextensibleAuditEventSourceType
http://hl7.org/fhir/ValueSet/audit-source-type
from the FHIR Standard
AuditEvent.entity.typeextensibleAuditEventEntityType
http://hl7.org/fhir/ValueSet/audit-entity-type
from the FHIR Standard
AuditEvent.entity.roleextensibleAuditEventEntityRole
http://hl7.org/fhir/ValueSet/object-role
from the FHIR Standard
AuditEvent.entity.lifecycleextensibleObjectLifecycleEvents
http://hl7.org/fhir/ValueSet/object-lifecycle-events
from the FHIR Standard
AuditEvent.entity.securityLabelextensibleAll Security Labels
http://hl7.org/fhir/ValueSet/security-labels
from the FHIR Standard

This structure is derived from AuditEvent

Summary

Mandatory: 5 elements (4 nested mandatory elements)
Must-Support: 7 elements
Prohibited: 3 elements

Slices

This structure defines the following Slices:

  • The element AuditEvent.agent is sliced based on the value of pattern:type

Differential View

This structure is derived from AuditEvent

NameFlagsCard.TypeDescription & Constraintsdoco
.. AuditEvent 0..*AuditEventEvent record kept for security purposes
... Slices for agent 1..*BackboneElementActor involved in the event
Slice: Unordered, Open by pattern:type
.... agent:oClient 1..1BackboneElementActor involved in the event
..... type 1..1CodeableConceptHow agent participated
Required Pattern: At least the following
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://dicom.nema.org/resources/ontology/DCM
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: 110150
..... who 1..1Reference(PractitionerRole | Practitioner | Organization | Device | Patient | RelatedPerson)client identifier
...... identifier 1..1IdentifierLogical reference, when literal reference is not known
....... value 1..1stringToken client ID (client_id)
..... media 0..0
..... network S0..1BackboneElementThe client as known by TCP connection information
.... agent:oUser 0..1BackboneElementActor involved in the event
..... type 1..1CodeableConceptHow agent participated
Required Pattern: At least the following
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ParticipationType
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: IRCP
..... role S0..*CodeableConceptAgent role in the event
..... who 1..1Reference(PractitionerRole | Practitioner | Organization | Device | Patient | RelatedPerson)May be a Resource, but likely just an identifier from the OAuth token
...... identifier 1..1IdentifierLogical reference, when literal reference is not known
....... system S0..1uriToken Issuer (TOKEN_ISSUER)
....... value S0..1stringUser ID (USER_ID)
...... display S0..1stringUser Name (USER_NAME)
..... name S0..1stringUser Name (USER_NAME)
..... requestor 1..1booleanWhether user is initiator
Required Pattern: true
..... policy 1..1urijti (JWT ID)
..... media 0..0
..... network 0..0
..... purposeOfUse S0..*CodeableConceptReason given for this user

doco Documentation for this format

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. AuditEvent 0..*AuditEventEvent record kept for security purposes
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... type Σ1..1CodingType/identifier of event
Binding: AuditEventID (extensible): Type of event.

... recorded Σ1..1instantTime when the event was recorded
... Slices for agent 1..*BackboneElementActor involved in the event
Slice: Unordered, Open by pattern:type
.... agent:All Slices Content/Rules for all slices
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... requestor Σ1..1booleanWhether user is initiator
.... agent:oClient 1..1BackboneElementActor involved in the event
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type 1..1CodeableConceptHow agent participated
Binding: ParticipationRoleType (extensible): The Participation type of the agent to the event.


Required Pattern: At least the following
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://dicom.nema.org/resources/ontology/DCM
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: 110150
..... who Σ1..1Reference(PractitionerRole | Practitioner | Organization | Device | Patient | RelatedPerson)client identifier
...... identifier Σ1..1IdentifierLogical reference, when literal reference is not known
....... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

....... value Σ1..1stringToken client ID (client_id)
Example General: 123456
..... requestor Σ1..1booleanWhether user is initiator
..... network S0..1BackboneElementThe client as known by TCP connection information
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... agent:oUser 0..1BackboneElementActor involved in the event
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type 1..1CodeableConceptHow agent participated
Binding: ParticipationRoleType (extensible): The Participation type of the agent to the event.


Required Pattern: At least the following
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ParticipationType
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: IRCP
..... role S0..*CodeableConceptAgent role in the event
Binding: SecurityRoleType (example): What security role enabled the agent to participate in the event.


..... who Σ1..1Reference(PractitionerRole | Practitioner | Organization | Device | Patient | RelatedPerson)May be a Resource, but likely just an identifier from the OAuth token
...... identifier Σ1..1IdentifierLogical reference, when literal reference is not known
....... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

....... system SΣ0..1uriToken Issuer (TOKEN_ISSUER)
Example General: http://www.acme.com/identifiers/patient
....... value SΣ0..1stringUser ID (USER_ID)
Example General: 123456
...... display SΣ0..1stringUser Name (USER_NAME)
..... name S0..1stringUser Name (USER_NAME)
..... requestor Σ1..1booleanWhether user is initiator
Required Pattern: true
..... policy 1..1urijti (JWT ID)
..... purposeOfUse S0..*CodeableConceptReason given for this user
Binding: PurposeOfUse (extensible): The reason the activity took place.


... source 1..1BackboneElementAudit Event Reporter
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... observer Σ1..1Reference(PractitionerRole | Practitioner | Organization | Device | Patient | RelatedPerson)The identity of source detecting the event

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
AuditEvent.typeextensibleAuditEventID
http://hl7.org/fhir/ValueSet/audit-event-type
from the FHIR Standard
AuditEvent.agent:oClient.typeextensiblePattern: 110150
http://hl7.org/fhir/ValueSet/participation-role-type
from the FHIR Standard
AuditEvent.agent:oClient.who.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
AuditEvent.agent:oUser.typeextensiblePattern: IRCP
http://hl7.org/fhir/ValueSet/participation-role-type
from the FHIR Standard
AuditEvent.agent:oUser.roleexampleSecurityRoleType
http://hl7.org/fhir/ValueSet/security-role-type
from the FHIR Standard
AuditEvent.agent:oUser.who.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
AuditEvent.agent:oUser.purposeOfUseextensiblePurposeOfUse
http://terminology.hl7.org/ValueSet/v3-PurposeOfUse

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. AuditEvent 0..*AuditEventEvent record kept for security purposes
... 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
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... 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
... type Σ1..1CodingType/identifier of event
Binding: AuditEventID (extensible): Type of event.

... subtype Σ0..*CodingMore specific type/id for the event
Binding: AuditEventSub-Type (extensible): Sub-type of event.


... action Σ0..1codeType of action performed during the event
Binding: AuditEventAction (required): Indicator for type of action performed during the event that generated the event.

... period 0..1PeriodWhen the activity occurred
... recorded Σ1..1instantTime when the event was recorded
... outcome Σ0..1codeWhether the event succeeded or failed
Binding: AuditEventOutcome (required): Indicates whether the event succeeded or failed.

... outcomeDesc Σ0..1stringDescription of the event outcome
... purposeOfEvent Σ0..*CodeableConceptThe purposeOfUse of the event
Binding: PurposeOfUse (extensible): The reason the activity took place.


... Slices for agent 1..*BackboneElementActor involved in the event
Slice: Unordered, Open by pattern:type
.... agent:All Slices Content/Rules for all slices
..... 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 (extensible): 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 Σ0..1Reference(PractitionerRole | Practitioner | Organization | Device | Patient | RelatedPerson)Identifier of who
..... altId 0..1stringAlternative User identity
..... name 0..1stringHuman friendly name for the agent
..... requestor Σ1..1booleanWhether user is initiator
..... location 0..1Reference(Location)Where
..... policy 0..*uriPolicy that authorized event
..... media 0..1CodingType of media
Binding: MediaTypeCode (extensible): Used when the event is about exporting/importing onto media.

..... network 0..1BackboneElementLogical network location for application activity
...... 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
...... address 0..1stringIdentifier for the network access point of the user device
...... type 0..1codeThe type of network access point
Binding: AuditEventAgentNetworkType (required): The type of network access point of this agent in the audit event.

..... purposeOfUse 0..*CodeableConceptReason given for this user
Binding: PurposeOfUse (extensible): The reason the activity took place.


.... agent:oClient 1..1BackboneElementActor 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 1..1CodeableConceptHow agent participated
Binding: ParticipationRoleType (extensible): The Participation type of the agent to the event.


Required Pattern: At least the following
...... id0..1stringUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... id0..1stringUnique id for inter-element referencing
....... extension0..*ExtensionAdditional content defined by implementations
....... system1..1uriIdentity of the terminology system
Fixed Value: http://dicom.nema.org/resources/ontology/DCM
....... version0..1stringVersion of the system - if relevant
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: 110150
....... display0..1stringRepresentation defined by the system
....... userSelected0..1booleanIf this coding was chosen directly by the user
...... text0..1stringPlain text representation of the concept
..... role 0..*CodeableConceptAgent role in the event
Binding: SecurityRoleType (example): What security role enabled the agent to participate in the event.


..... who Σ1..1Reference(PractitionerRole | Practitioner | Organization | Device | Patient | RelatedPerson)client identifier
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... reference ΣC0..1stringLiteral reference, Relative, internal or absolute URL
...... type Σ0..1uriType the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

...... identifier Σ1..1IdentifierLogical reference, when literal reference is not known
....... id 0..1stringUnique id for inter-element referencing
....... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
....... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

....... type Σ0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

....... system Σ0..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
....... value Σ1..1stringToken client ID (client_id)
Example General: 123456
....... period Σ0..1PeriodTime period when id is/was valid for use
....... assigner Σ0..1Reference(Organization)Organization that issued id (may be just text)
...... display Σ0..1stringText alternative for the resource
..... altId 0..1stringAlternative User identity
..... name 0..1stringHuman friendly name for the agent
..... requestor Σ1..1booleanWhether user is initiator
..... location 0..1Reference(Location)Where
..... policy 0..*uriPolicy that authorized event
..... network S0..1BackboneElementThe client as known by TCP connection information
...... 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
...... address 0..1stringIdentifier for the network access point of the user device
...... type 0..1codeThe type of network access point
Binding: AuditEventAgentNetworkType (required): The type of network access point of this agent in the audit event.

..... purposeOfUse 0..*CodeableConceptReason given for this user
Binding: PurposeOfUse (extensible): The reason the activity took place.


.... agent:oUser 0..1BackboneElementActor 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 1..1CodeableConceptHow agent participated
Binding: ParticipationRoleType (extensible): The Participation type of the agent to the event.


Required Pattern: At least the following
...... id0..1stringUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
....... id0..1stringUnique id for inter-element referencing
....... extension0..*ExtensionAdditional content defined by implementations
....... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/v3-ParticipationType
....... version0..1stringVersion of the system - if relevant
....... code1..1codeSymbol in syntax defined by the system
Fixed Value: IRCP
....... display0..1stringRepresentation defined by the system
....... userSelected0..1booleanIf this coding was chosen directly by the user
...... text0..1stringPlain text representation of the concept
..... role S0..*CodeableConceptAgent role in the event
Binding: SecurityRoleType (example): What security role enabled the agent to participate in the event.


..... who Σ1..1Reference(PractitionerRole | Practitioner | Organization | Device | Patient | RelatedPerson)May be a Resource, but likely just an identifier from the OAuth token
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... reference ΣC0..1stringLiteral reference, Relative, internal or absolute URL
...... type Σ0..1uriType the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

...... identifier Σ1..1IdentifierLogical reference, when literal reference is not known
....... id 0..1stringUnique id for inter-element referencing
....... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
....... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

....... type Σ0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

....... system SΣ0..1uriToken Issuer (TOKEN_ISSUER)
Example General: http://www.acme.com/identifiers/patient
....... value SΣ0..1stringUser ID (USER_ID)
Example General: 123456
....... period Σ0..1PeriodTime period when id is/was valid for use
....... assigner Σ0..1Reference(Organization)Organization that issued id (may be just text)
...... display SΣ0..1stringUser Name (USER_NAME)
..... altId 0..1stringAlternative User identity
..... name S0..1stringUser Name (USER_NAME)
..... requestor Σ1..1booleanWhether user is initiator
Required Pattern: true
..... location 0..1Reference(Location)Where
..... policy 1..1urijti (JWT ID)
..... purposeOfUse S0..*CodeableConceptReason given for this user
Binding: PurposeOfUse (extensible): The reason the activity took place.


... source 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..1stringLogical source location within the enterprise
.... observer Σ1..1Reference(PractitionerRole | Practitioner | Organization | Device | Patient | RelatedPerson)The identity of source detecting the event
.... type 0..*CodingThe type of source where event originated
Binding: AuditEventSourceType (extensible): Code specifying the type of system that detected and recorded the event.


... entity C0..*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 Σ0..1Reference(Resource)Specific instance of resource
.... type 0..1CodingType of entity involved
Binding: AuditEventEntityType (extensible): Code for the entity type involved in the audit event.

.... role 0..1CodingWhat role the entity played
Binding: AuditEventEntityRole (extensible): Code representing the role the entity played in the audit event.

.... lifecycle 0..1CodingLife-cycle stage for the entity
Binding: ObjectLifecycleEvents (extensible): Identifier for the data life-cycle stage for the entity.

.... securityLabel 0..*CodingSecurity labels on the entity
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.


.... name ΣC0..1stringDescriptor for entity
.... description 0..1stringDescriptive text
.... query ΣC0..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..1stringName of the property
..... value[x] 1..1Property value
...... valueStringstring
...... valueBase64Binarybase64Binary

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
AuditEvent.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
AuditEvent.typeextensibleAuditEventID
http://hl7.org/fhir/ValueSet/audit-event-type
from the FHIR Standard
AuditEvent.subtypeextensibleAuditEventSub-Type
http://hl7.org/fhir/ValueSet/audit-event-sub-type
from the FHIR Standard
AuditEvent.actionrequiredAuditEventAction
http://hl7.org/fhir/ValueSet/audit-event-action|4.0.1
from the FHIR Standard
AuditEvent.outcomerequiredAuditEventOutcome
http://hl7.org/fhir/ValueSet/audit-event-outcome|4.0.1
from the FHIR Standard
AuditEvent.purposeOfEventextensiblePurposeOfUse
http://terminology.hl7.org/ValueSet/v3-PurposeOfUse
AuditEvent.agent.typeextensibleParticipationRoleType
http://hl7.org/fhir/ValueSet/participation-role-type
from the FHIR Standard
AuditEvent.agent.roleexampleSecurityRoleType
http://hl7.org/fhir/ValueSet/security-role-type
from the FHIR Standard
AuditEvent.agent.mediaextensibleMediaTypeCode
http://hl7.org/fhir/ValueSet/dicm-405-mediatype
from the FHIR Standard
AuditEvent.agent.network.typerequiredAuditEventAgentNetworkType
http://hl7.org/fhir/ValueSet/network-type|4.0.1
from the FHIR Standard
AuditEvent.agent.purposeOfUseextensiblePurposeOfUse
http://terminology.hl7.org/ValueSet/v3-PurposeOfUse
AuditEvent.agent:oClient.typeextensiblePattern: 110150
http://hl7.org/fhir/ValueSet/participation-role-type
from the FHIR Standard
AuditEvent.agent:oClient.roleexampleSecurityRoleType
http://hl7.org/fhir/ValueSet/security-role-type
from the FHIR Standard
AuditEvent.agent:oClient.who.typeextensibleResourceType
http://hl7.org/fhir/ValueSet/resource-types
AuditEvent.agent:oClient.who.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
AuditEvent.agent:oClient.who.identifier.typeextensibleIdentifier Type Codes
http://hl7.org/fhir/ValueSet/identifier-type
from the FHIR Standard
AuditEvent.agent:oClient.network.typerequiredAuditEventAgentNetworkType
http://hl7.org/fhir/ValueSet/network-type|4.0.1
from the FHIR Standard
AuditEvent.agent:oClient.purposeOfUseextensiblePurposeOfUse
http://terminology.hl7.org/ValueSet/v3-PurposeOfUse
AuditEvent.agent:oUser.typeextensiblePattern: IRCP
http://hl7.org/fhir/ValueSet/participation-role-type
from the FHIR Standard
AuditEvent.agent:oUser.roleexampleSecurityRoleType
http://hl7.org/fhir/ValueSet/security-role-type
from the FHIR Standard
AuditEvent.agent:oUser.who.typeextensibleResourceType
http://hl7.org/fhir/ValueSet/resource-types
AuditEvent.agent:oUser.who.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
AuditEvent.agent:oUser.who.identifier.typeextensibleIdentifier Type Codes
http://hl7.org/fhir/ValueSet/identifier-type
from the FHIR Standard
AuditEvent.agent:oUser.network.typerequiredAuditEventAgentNetworkType
http://hl7.org/fhir/ValueSet/network-type|4.0.1
from the FHIR Standard
AuditEvent.agent:oUser.purposeOfUseextensiblePurposeOfUse
http://terminology.hl7.org/ValueSet/v3-PurposeOfUse
AuditEvent.source.typeextensibleAuditEventSourceType
http://hl7.org/fhir/ValueSet/audit-source-type