Extensions for Using Data Elements from FHIR R5 in FHIR R4
0.1.0 - STU International flag

Extensions for Using Data Elements from FHIR R5 in FHIR R4 - Downloaded Version null See the Directory of published versions

Extension: ExtensionAuditEvent_Agent - Detailed Descriptions

Page standards status: Trial-use Maturity Level: 0

Definitions for the ext-R5-AuditEvent.agent extension.

Guidance on how to interpret the contents of this table can be foundhere

0. Extension
Definition

R5: AuditEvent.agent


Optional Extension Element - found in all resources.

ShortR5: agentOptional Extensions Element
Comments

Element AuditEvent.agent is mapped to FHIR R4 element AuditEvent.agent as Equivalent. Several agents may be associated (i.e. have some responsibility for an activity) with an event or activity.

For example, an activity may be initiated by one user for other users or involve more than one user. However, only one user may be the initiator/requestor for the activity.

When a network are used in an event being recorded, there should be distinct agent elements for the known actors using the network. The agent with a network detail would be the responsible agent for use of that network.

Control10..*
This element is affected by the following invariants: ele-1
Is Modifierfalse
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
2. Extension.extension
Definition

An Extension


May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

ShortExtensionAdditional content defined by implementations
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Control10..*
TypeExtension
Is Modifierfalse
Summaryfalse
Alternate Namesextensions, user content
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
SlicingThis element introduces a set of slices on Extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
  • value @ url
  • 4. Extension.extension:type
    Slice Nametype
    Definition

    R5: AuditEvent.agent.type

    ShortR5: typeAdditional content defined by implementations
    Comments

    Element AuditEvent.agent.type is mapped to FHIR R4 element AuditEvent.agent.type as Equivalent. For example: assembler, author, prescriber, signer, investigator, etc.

    Control0..1*
    TypeExtension
    Is Modifierfalse
    Summaryfalse
    Requirements

    Functional roles reflect functional aspects of relationships between entities. Functional roles are bound to the realization/performance of acts, where actions might be concatenated to an activity or even to a process. This element will hold the functional role that the agent played in the activity that is the focus of this Provenance. Where an agent played multiple functional roles, they will be listed as multiple .agent elements representing each functional participation. See ISO 21298:2018 - Health Informatics - Functional and structural roles, and ISO 22600-2:2014 - Health Informatics - Privilege Management and Access Control - Part 2: formal models. Element AuditEvent.agent.type is mapped to FHIR R4 element AuditEvent.agent.type as Equivalent.

    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    6. Extension.extension:type.url
    Definition

    Source of the definition for the extension code - a logical name or a URL.

    Shortidentifies the meaning of the extension
    Comments

    The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.

    Control1..1
    Typeuri
    Is Modifierfalse
    XML FormatIn the XML format, this property is represented as an attribute.
    Summaryfalse
    Fixed Valuetype
    8. Extension.extension:type.value[x]
    Definition

    The Functional Role of the user when performing the event.


    Value of extension - must be one of a constrained set of the data types (see Extensibility for a list).

    ShortHow agent participatedValue of extension
    Comments

    For example: assembler, author, prescriber, signer, investigator, etc.

    Control0..1
    BindingThe codes SHOULD be taken from For codes, see ParticipationRoleType
    (preferred to http://hl7.org/fhir/ValueSet/participation-role-type|4.0.1)

    The Participation type of the agent to the event.

    TypeCodeableConcept, date, Meta, Address, Attachment, integer, Count, DataRequirement, Dosage, uuid, Identifier, Coding, SampledData, id, positiveInt, Distance, Period, Duration, canonical, Range, RelatedArtifact, base64Binary, UsageContext, Timing, decimal, ParameterDefinition, dateTime, code, string, Contributor, oid, instant, ContactPoint, HumanName, Money, markdown, Ratio, Age, Reference, TriggerDefinition, Quantity, uri, url, Annotation, ContactDetail, boolean, Expression, Signature, unsignedInt, time
    [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
    Is Modifierfalse
    Summaryfalse
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    10. Extension.extension:role
    Slice Namerole
    Definition

    R5: AuditEvent.agent.role

    ShortR5: roleAdditional content defined by implementations
    Comments

    Element AuditEvent.agent.role is mapped to FHIR R4 element AuditEvent.agent.role as Equivalent. For example: Chief-of-Radiology, Nurse, Physician, Medical-Student, etc.

    Control0..*
    TypeExtension
    Is Modifierfalse
    Summaryfalse
    Requirements

    Structural roles reflect the structural aspects of relationships between entities. Structural roles describe prerequisites, feasibilities, or competences for acts. Functional roles reflect functional aspects of relationships between entities. Functional roles are bound to the realization/performance of acts, where actions might be concatenated to an activity or even to a process. See ISO 21298:2018 - Health Informatics - Functional and structural roles, and ISO 22600-2:2014 - Health Informatics - Privilege Management and Access Control - Part 2: formal models.. Element AuditEvent.agent.role is mapped to FHIR R4 element AuditEvent.agent.role as Equivalent.

    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    12. Extension.extension:role.url
    Definition

    Source of the definition for the extension code - a logical name or a URL.

    Shortidentifies the meaning of the extension
    Comments

    The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.

    Control1..1
    Typeuri
    Is Modifierfalse
    XML FormatIn the XML format, this property is represented as an attribute.
    Summaryfalse
    Fixed Valuerole
    14. Extension.extension:role.value[x]
    Definition

    The structural roles of the agent indicating the agent's competency. The security role enabling the agent with respect to the activity.


    Value of extension - must be one of a constrained set of the data types (see Extensibility for a list).

    ShortAgent role in the eventValue of extension
    Comments

    For example: Chief-of-Radiology, Nurse, Physician, Medical-Student, etc.

    Control0..1
    BindingFor example codes, see For codes, see SecurityRoleType
    (example to http://hl7.org/fhir/ValueSet/security-role-type|4.0.1)

    What security role enabled the agent to participate in the event.

    TypeCodeableConcept, date, Meta, Address, Attachment, integer, Count, DataRequirement, Dosage, uuid, Identifier, Coding, SampledData, id, positiveInt, Distance, Period, Duration, canonical, Range, RelatedArtifact, base64Binary, UsageContext, Timing, decimal, ParameterDefinition, dateTime, code, string, Contributor, oid, instant, ContactPoint, HumanName, Money, markdown, Ratio, Age, Reference, TriggerDefinition, Quantity, uri, url, Annotation, ContactDetail, boolean, Expression, Signature, unsignedInt, time
    [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
    Is Modifierfalse
    Summaryfalse
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    16. Extension.extension:who
    Slice Namewho
    Definition

    R5: AuditEvent.agent.who

    ShortR5: whoAdditional content defined by implementations
    Comments

    Element AuditEvent.agent.who is mapped to FHIR R4 element AuditEvent.agent.who as SourceIsBroaderThanTarget. The standard extension alternate-reference has been mapped as the representation of FHIR R5 element AuditEvent.agent.who with unmapped reference targets: CareTeam. Where a User ID is available it will go into who.identifier. Where a name of the user (human readable) it will go into who.display.

    Control10..1*
    TypeExtension
    Is Modifierfalse
    Summaryfalse
    Requirements

    This field ties an audit event to a specific resource or identifier. Element AuditEvent.agent.who is mapped to FHIR R4 element AuditEvent.agent.who as SourceIsBroaderThanTarget. The standard extension alternate-reference has been mapped as the representation of FHIR R5 element AuditEvent.agent.who with unmapped reference targets: CareTeam.

    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    18. Extension.extension:who.url
    Definition

    Source of the definition for the extension code - a logical name or a URL.

    Shortidentifies the meaning of the extension
    Comments

    The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.

    Control1..1
    Typeuri
    Is Modifierfalse
    XML FormatIn the XML format, this property is represented as an attribute.
    Summaryfalse
    Fixed Valuehttp://hl7.org/fhir/StructureDefinition/alternate-reference
    20. Extension.extension:requestor
    Slice Namerequestor
    Definition

    R5: AuditEvent.agent.requestor

    ShortR5: requestorAdditional content defined by implementations
    Comments

    Element AuditEvent.agent.requestor is mapped to FHIR R4 element AuditEvent.agent.requestor as Equivalent. There can only be one initiator. If the initiator is not clear, then do not choose any one agent as the initiator.

    Control0..1*
    TypeExtension
    Is Modifierfalse
    Summaryfalse
    Requirements

    This value is used to distinguish between requestor-users and recipient-users. For example, one person may initiate a report-output to be sent to another user. Element AuditEvent.agent.requestor is mapped to FHIR R4 element AuditEvent.agent.requestor as Equivalent.

    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    22. Extension.extension:requestor.url
    Definition

    Source of the definition for the extension code - a logical name or a URL.

    Shortidentifies the meaning of the extension
    Comments

    The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.

    Control1..1
    Typeuri
    Is Modifierfalse
    XML FormatIn the XML format, this property is represented as an attribute.
    Summaryfalse
    Fixed Valuerequestor
    24. Extension.extension:requestor.value[x]
    Definition

    Indicator that the user is or is not the requestor, or initiator, for the event being audited.


    Value of extension - must be one of a constrained set of the data types (see Extensibility for a list).

    ShortWhether user is initiatorValue of extension
    Comments

    There can only be one initiator. If the initiator is not clear, then do not choose any one agent as the initiator.

    Control0..1
    Typeboolean, date, Meta, Address, Attachment, integer, Count, DataRequirement, Dosage, uuid, Identifier, Coding, SampledData, id, positiveInt, Distance, Period, Duration, canonical, Range, RelatedArtifact, base64Binary, UsageContext, Timing, decimal, CodeableConcept, ParameterDefinition, dateTime, code, string, Contributor, oid, instant, ContactPoint, HumanName, Money, markdown, Ratio, Age, Reference, TriggerDefinition, Quantity, uri, url, Annotation, ContactDetail, Expression, Signature, unsignedInt, time
    [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
    Is Modifierfalse
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Summaryfalse
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    26. Extension.extension:location
    Slice Namelocation
    Definition

    R5: AuditEvent.agent.location

    ShortR5: The agent location when the event occurredAdditional content defined by implementations
    Comments

    Element AuditEvent.agent.location is mapped to FHIR R4 element AuditEvent.agent.location as Equivalent.

    Control0..1*
    TypeExtension
    Is Modifierfalse
    Summaryfalse
    Requirements

    Element AuditEvent.agent.location is mapped to FHIR R4 element AuditEvent.agent.location as Equivalent.

    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    28. Extension.extension:location.url
    Definition

    Source of the definition for the extension code - a logical name or a URL.

    Shortidentifies the meaning of the extension
    Comments

    The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.

    Control1..1
    Typeuri
    Is Modifierfalse
    XML FormatIn the XML format, this property is represented as an attribute.
    Summaryfalse
    Fixed Valuelocation
    30. Extension.extension:location.value[x]
    Definition

    Where the agent location is known, the agent location when the event occurred.


    Value of extension - must be one of a constrained set of the data types (see Extensibility for a list).

    ShortThe agent location when the event occurredValue of extension
    Control0..1
    TypeReference(Cross-version Profile for R5.Location for use in FHIR R4, Location), date, Meta, Address, Attachment, integer, Count, DataRequirement, Dosage, uuid, Identifier, Coding, SampledData, id, positiveInt, Distance, Period, Duration, canonical, Range, RelatedArtifact, base64Binary, UsageContext, Timing, decimal, CodeableConcept, ParameterDefinition, dateTime, code, string, Contributor, oid, instant, ContactPoint, HumanName, Money, markdown, Ratio, Age, TriggerDefinition, Quantity, uri, url, Annotation, ContactDetail, boolean, Expression, Signature, unsignedInt, time
    [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
    Is Modifierfalse
    Summaryfalse
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    32. Extension.extension:policy
    Slice Namepolicy
    Definition

    R5: AuditEvent.agent.policy

    ShortR5: Policy that authorized the agent participation in the eventAdditional content defined by implementations
    Comments

    Element AuditEvent.agent.policy is mapped to FHIR R4 element AuditEvent.agent.policy as Equivalent. For example: Where an OAuth token authorizes, the unique identifier from the OAuth token is placed into the policy element Where a policy engine (e.g. XACML) holds policy logic, the unique policy identifier is placed into the policy element.

    Control0..*
    TypeExtension
    Is Modifierfalse
    Summaryfalse
    Requirements

    This value is used retrospectively to determine the authorization policies. Element AuditEvent.agent.policy is mapped to FHIR R4 element AuditEvent.agent.policy as Equivalent.

    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    34. Extension.extension:policy.url
    Definition

    Source of the definition for the extension code - a logical name or a URL.

    Shortidentifies the meaning of the extension
    Comments

    The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.

    Control1..1
    Typeuri
    Is Modifierfalse
    XML FormatIn the XML format, this property is represented as an attribute.
    Summaryfalse
    Fixed Valuepolicy
    36. Extension.extension:policy.value[x]
    Definition

    Where the policy(ies) are known that authorized the agent participation in the event. Typically, a single activity may have multiple applicable policies, such as patient consent, guarantor funding, etc. The policy would also indicate the security token used.


    Value of extension - must be one of a constrained set of the data types (see Extensibility for a list).

    ShortPolicy that authorized the agent participation in the eventValue of extension
    Comments

    For example: Where an OAuth token authorizes, the unique identifier from the OAuth token is placed into the policy element Where a policy engine (e.g. XACML) holds policy logic, the unique policy identifier is placed into the policy element.

    Control0..1
    Typeuri, date, Meta, Address, Attachment, integer, Count, DataRequirement, Dosage, uuid, Identifier, Coding, SampledData, id, positiveInt, Distance, Period, Duration, canonical, Range, RelatedArtifact, base64Binary, UsageContext, Timing, decimal, CodeableConcept, ParameterDefinition, dateTime, code, string, Contributor, oid, instant, ContactPoint, HumanName, Money, markdown, Ratio, Age, Reference, TriggerDefinition, Quantity, url, Annotation, ContactDetail, boolean, Expression, Signature, unsignedInt, time
    [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
    Is Modifierfalse
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Summaryfalse
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    38. Extension.extension:network
    Slice Namenetwork
    Definition

    R5: AuditEvent.agent.network[x]

    ShortR5: This agent network location for the activityAdditional content defined by implementations
    Comments

    Element AuditEvent.agent.network[x] is mapped to FHIR R4 element AuditEvent.agent.network as Equivalent. When remote network endpoint is known, another agent representing the remote agent would indicate the remote network endpoint used. Convention is to indicate data flowing from Source to Destination. The convention for Search, given data flows both ways (query parameters vs results), is to have the Source as the initiator of the Search Transaction, and the Destination the responder to the Search transaction.

    Control0..1*
    TypeExtension
    Is Modifierfalse
    Summaryfalse
    Requirements

    When a network protocol is used the endpoint is associated with the agent most directly using the endpoint. This is usually the software agent that has implemented the application level protocol. Preference is to define network in terms of a Reference(Endpoint), or URI; use string only when address or hostname is all that is known. When encoding using string it is best to encode using the formal canonical host name, but if you can't, then you can encode numeric in Literal address form using square brackets '[]' as a v4 string (in dotted notation), or v6 string (in colon notation). Element AuditEvent.agent.network[x] is mapped to FHIR R4 element AuditEvent.agent.network as Equivalent.

    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    40. Extension.extension:network.url
    Definition

    Source of the definition for the extension code - a logical name or a URL.

    Shortidentifies the meaning of the extension
    Comments

    The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.

    Control1..1
    Typeuri
    Is Modifierfalse
    XML FormatIn the XML format, this property is represented as an attribute.
    Summaryfalse
    Fixed Valuenetwork
    42. Extension.extension:network.value[x]
    Definition

    When the event utilizes a network there should be an agent describing the local system, and an agent describing remote system, with the network interface details.


    Value of extension - must be one of a constrained set of the data types (see Extensibility for a list).

    ShortThis agent network location for the activityValue of extension
    Comments

    When remote network endpoint is known, another agent representing the remote agent would indicate the remote network endpoint used. Convention is to indicate data flowing from Source to Destination. The convention for Search, given data flows both ways (query parameters vs results), is to have the Source as the initiator of the Search Transaction, and the Destination the responder to the Search transaction.

    Control0..1
    TypeChoice of: Reference(Cross-version Profile for R5.Endpoint for use in FHIR R4, Endpoint), uri, string, date, Meta, Address, Attachment, integer, Count, DataRequirement, Dosage, uuid, Identifier, Coding, SampledData, id, positiveInt, Distance, Period, Duration, canonical, Range, RelatedArtifact, base64Binary, UsageContext, Timing, decimal, CodeableConcept, ParameterDefinition, dateTime, code, Contributor, oid, instant, ContactPoint, HumanName, Money, markdown, Ratio, Age, TriggerDefinition, Quantity, url, Annotation, ContactDetail, boolean, Expression, Signature, unsignedInt, time
    [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
    Is Modifierfalse
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Summaryfalse
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    44. Extension.extension:authorization
    Slice Nameauthorization
    Definition

    R5: AuditEvent.agent.authorization

    ShortR5: Allowable authorization for this agentAdditional content defined by implementations
    Comments

    Element AuditEvent.agent.authorization is mapped to FHIR R4 element AuditEvent.agent.purposeOfUse as Equivalent. Use AuditEvent.agent.authorization when you know that is specific to the agent, otherwise use AuditEvent.authorization. For example, during a machine-to-machine transfer it might not be obvious to the audit system who caused the event, but it does know why.

    Control0..*
    TypeExtension
    Is Modifierfalse
    Summaryfalse
    Requirements

    Record of any relevant security context, not restricted to purposeOfUse valueSet. May include security compartments, refrain, obligation, or other security tags. Element AuditEvent.agent.authorization is mapped to FHIR R4 element AuditEvent.agent.purposeOfUse as Equivalent.

    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    46. Extension.extension:authorization.url
    Definition

    Source of the definition for the extension code - a logical name or a URL.

    Shortidentifies the meaning of the extension
    Comments

    The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.

    Control1..1
    Typeuri
    Is Modifierfalse
    XML FormatIn the XML format, this property is represented as an attribute.
    Summaryfalse
    Fixed Valueauthorization
    48. Extension.extension:authorization.value[x]
    Definition

    The authorization (e.g., PurposeOfUse) that was used during the event being recorded.


    Value of extension - must be one of a constrained set of the data types (see Extensibility for a list).

    ShortAllowable authorization for this agentValue of extension
    Comments

    Use AuditEvent.agent.authorization when you know that is specific to the agent, otherwise use AuditEvent.authorization. For example, during a machine-to-machine transfer it might not be obvious to the audit system who caused the event, but it does know why.

    Control0..1
    BindingFor example codes, see For codes, see v3.PurposeOfUse (2014-03-26) .
    (example to http://terminology.hl7.org/ValueSet/v3-PurposeOfUse|2014-03-26)

    The reason the activity took place.

    TypeCodeableConcept, date, Meta, Address, Attachment, integer, Count, DataRequirement, Dosage, uuid, Identifier, Coding, SampledData, id, positiveInt, Distance, Period, Duration, canonical, Range, RelatedArtifact, base64Binary, UsageContext, Timing, decimal, ParameterDefinition, dateTime, code, string, Contributor, oid, instant, ContactPoint, HumanName, Money, markdown, Ratio, Age, Reference, TriggerDefinition, Quantity, uri, url, Annotation, ContactDetail, boolean, Expression, Signature, unsignedInt, time
    [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
    Is Modifierfalse
    Summaryfalse
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    50. Extension.url
    Definition

    Source of the definition for the extension code - a logical name or a URL.

    Shortidentifies the meaning of the extension
    Comments

    The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.

    Control1..1
    Typeuri
    Is Modifierfalse
    XML FormatIn the XML format, this property is represented as an attribute.
    Summaryfalse
    Fixed Valuehttp://hl7.org/fhir/5.0/StructureDefinition/extension-AuditEvent.agent
    52. Extension.value[x]
    Definition

    Value of extension - must be one of a constrained set of the data types (see Extensibility for a list).

    ShortValue of extension
    Control0..01
    TypeChoice of: base64Binary, boolean, canonical, code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, url, uuid, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, Reference, SampledData, Signature, Timing, ContactDetail, Contributor, DataRequirement, Expression, ParameterDefinition, RelatedArtifact, TriggerDefinition, UsageContext, Dosage, Meta
    Is Modifierfalse
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Summaryfalse
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))

    Guidance on how to interpret the contents of this table can be foundhere

    0. Extension
    Definition

    R5: AuditEvent.agent

    ShortR5: agent
    Comments

    Element AuditEvent.agent is mapped to FHIR R4 element AuditEvent.agent as Equivalent. Several agents may be associated (i.e. have some responsibility for an activity) with an event or activity.

    For example, an activity may be initiated by one user for other users or involve more than one user. However, only one user may be the initiator/requestor for the activity.

    When a network are used in an event being recorded, there should be distinct agent elements for the known actors using the network. The agent with a network detail would be the responsible agent for use of that network.

    Control1..*
    Is Modifierfalse
    2. Extension.extension
    Control1..*
    SlicingThis element introduces a set of slices on Extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
    • value @ url
    • 4. Extension.extension:type
      Slice Nametype
      Definition

      R5: AuditEvent.agent.type

      ShortR5: type
      Comments

      Element AuditEvent.agent.type is mapped to FHIR R4 element AuditEvent.agent.type as Equivalent. For example: assembler, author, prescriber, signer, investigator, etc.

      Control0..1
      Requirements

      Functional roles reflect functional aspects of relationships between entities. Functional roles are bound to the realization/performance of acts, where actions might be concatenated to an activity or even to a process. This element will hold the functional role that the agent played in the activity that is the focus of this Provenance. Where an agent played multiple functional roles, they will be listed as multiple .agent elements representing each functional participation. See ISO 21298:2018 - Health Informatics - Functional and structural roles, and ISO 22600-2:2014 - Health Informatics - Privilege Management and Access Control - Part 2: formal models. Element AuditEvent.agent.type is mapped to FHIR R4 element AuditEvent.agent.type as Equivalent.

      6. Extension.extension:type.url
      Control1..1
      Fixed Valuetype
      8. Extension.extension:type.value[x]
      Definition

      The Functional Role of the user when performing the event.

      ShortHow agent participated
      Comments

      For example: assembler, author, prescriber, signer, investigator, etc.

      Control0..1
      BindingThe codes SHOULD be taken from ParticipationRoleType
      (preferred to http://hl7.org/fhir/ValueSet/participation-role-type|4.0.1)

      The Participation type of the agent to the event.

      TypeCodeableConcept
      [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
      10. Extension.extension:role
      Slice Namerole
      Definition

      R5: AuditEvent.agent.role

      ShortR5: role
      Comments

      Element AuditEvent.agent.role is mapped to FHIR R4 element AuditEvent.agent.role as Equivalent. For example: Chief-of-Radiology, Nurse, Physician, Medical-Student, etc.

      Control0..*
      Requirements

      Structural roles reflect the structural aspects of relationships between entities. Structural roles describe prerequisites, feasibilities, or competences for acts. Functional roles reflect functional aspects of relationships between entities. Functional roles are bound to the realization/performance of acts, where actions might be concatenated to an activity or even to a process. See ISO 21298:2018 - Health Informatics - Functional and structural roles, and ISO 22600-2:2014 - Health Informatics - Privilege Management and Access Control - Part 2: formal models.. Element AuditEvent.agent.role is mapped to FHIR R4 element AuditEvent.agent.role as Equivalent.

      12. Extension.extension:role.url
      Control1..1
      Fixed Valuerole
      14. Extension.extension:role.value[x]
      Definition

      The structural roles of the agent indicating the agent's competency. The security role enabling the agent with respect to the activity.

      ShortAgent role in the event
      Comments

      For example: Chief-of-Radiology, Nurse, Physician, Medical-Student, etc.

      Control0..1
      BindingFor example codes, see SecurityRoleType
      (example to http://hl7.org/fhir/ValueSet/security-role-type|4.0.1)

      What security role enabled the agent to participate in the event.

      TypeCodeableConcept
      [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
      16. Extension.extension:who
      Slice Namewho
      Definition

      R5: AuditEvent.agent.who

      ShortR5: who
      Comments

      Element AuditEvent.agent.who is mapped to FHIR R4 element AuditEvent.agent.who as SourceIsBroaderThanTarget. The standard extension alternate-reference has been mapped as the representation of FHIR R5 element AuditEvent.agent.who with unmapped reference targets: CareTeam. Where a User ID is available it will go into who.identifier. Where a name of the user (human readable) it will go into who.display.

      Control1..1
      Requirements

      This field ties an audit event to a specific resource or identifier. Element AuditEvent.agent.who is mapped to FHIR R4 element AuditEvent.agent.who as SourceIsBroaderThanTarget. The standard extension alternate-reference has been mapped as the representation of FHIR R5 element AuditEvent.agent.who with unmapped reference targets: CareTeam.

      18. Extension.extension:who.url
      Control1..1
      Fixed Valuehttp://hl7.org/fhir/StructureDefinition/alternate-reference
      20. Extension.extension:requestor
      Slice Namerequestor
      Definition

      R5: AuditEvent.agent.requestor

      ShortR5: requestor
      Comments

      Element AuditEvent.agent.requestor is mapped to FHIR R4 element AuditEvent.agent.requestor as Equivalent. There can only be one initiator. If the initiator is not clear, then do not choose any one agent as the initiator.

      Control0..1
      Requirements

      This value is used to distinguish between requestor-users and recipient-users. For example, one person may initiate a report-output to be sent to another user. Element AuditEvent.agent.requestor is mapped to FHIR R4 element AuditEvent.agent.requestor as Equivalent.

      22. Extension.extension:requestor.url
      Control1..1
      Fixed Valuerequestor
      24. Extension.extension:requestor.value[x]
      Definition

      Indicator that the user is or is not the requestor, or initiator, for the event being audited.

      ShortWhether user is initiator
      Comments

      There can only be one initiator. If the initiator is not clear, then do not choose any one agent as the initiator.

      Control0..1
      Typeboolean
      [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      26. Extension.extension:location
      Slice Namelocation
      Definition

      R5: AuditEvent.agent.location

      ShortR5: The agent location when the event occurred
      Comments

      Element AuditEvent.agent.location is mapped to FHIR R4 element AuditEvent.agent.location as Equivalent.

      Control0..1
      Requirements

      Element AuditEvent.agent.location is mapped to FHIR R4 element AuditEvent.agent.location as Equivalent.

      28. Extension.extension:location.url
      Control1..1
      Fixed Valuelocation
      30. Extension.extension:location.value[x]
      Definition

      Where the agent location is known, the agent location when the event occurred.

      ShortThe agent location when the event occurred
      Control0..1
      TypeReference(Cross-version Profile for R5.Location for use in FHIR R4, Location)
      [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
      32. Extension.extension:policy
      Slice Namepolicy
      Definition

      R5: AuditEvent.agent.policy

      ShortR5: Policy that authorized the agent participation in the event
      Comments

      Element AuditEvent.agent.policy is mapped to FHIR R4 element AuditEvent.agent.policy as Equivalent. For example: Where an OAuth token authorizes, the unique identifier from the OAuth token is placed into the policy element Where a policy engine (e.g. XACML) holds policy logic, the unique policy identifier is placed into the policy element.

      Control0..*
      Requirements

      This value is used retrospectively to determine the authorization policies. Element AuditEvent.agent.policy is mapped to FHIR R4 element AuditEvent.agent.policy as Equivalent.

      34. Extension.extension:policy.url
      Control1..1
      Fixed Valuepolicy
      36. Extension.extension:policy.value[x]
      Definition

      Where the policy(ies) are known that authorized the agent participation in the event. Typically, a single activity may have multiple applicable policies, such as patient consent, guarantor funding, etc. The policy would also indicate the security token used.

      ShortPolicy that authorized the agent participation in the event
      Comments

      For example: Where an OAuth token authorizes, the unique identifier from the OAuth token is placed into the policy element Where a policy engine (e.g. XACML) holds policy logic, the unique policy identifier is placed into the policy element.

      Control0..1
      Typeuri
      [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      38. Extension.extension:network
      Slice Namenetwork
      Definition

      R5: AuditEvent.agent.network[x]

      ShortR5: This agent network location for the activity
      Comments

      Element AuditEvent.agent.network[x] is mapped to FHIR R4 element AuditEvent.agent.network as Equivalent. When remote network endpoint is known, another agent representing the remote agent would indicate the remote network endpoint used. Convention is to indicate data flowing from Source to Destination. The convention for Search, given data flows both ways (query parameters vs results), is to have the Source as the initiator of the Search Transaction, and the Destination the responder to the Search transaction.

      Control0..1
      Requirements

      When a network protocol is used the endpoint is associated with the agent most directly using the endpoint. This is usually the software agent that has implemented the application level protocol. Preference is to define network in terms of a Reference(Endpoint), or URI; use string only when address or hostname is all that is known. When encoding using string it is best to encode using the formal canonical host name, but if you can't, then you can encode numeric in Literal address form using square brackets '[]' as a v4 string (in dotted notation), or v6 string (in colon notation). Element AuditEvent.agent.network[x] is mapped to FHIR R4 element AuditEvent.agent.network as Equivalent.

      40. Extension.extension:network.url
      Control1..1
      Fixed Valuenetwork
      42. Extension.extension:network.value[x]
      Definition

      When the event utilizes a network there should be an agent describing the local system, and an agent describing remote system, with the network interface details.

      ShortThis agent network location for the activity
      Comments

      When remote network endpoint is known, another agent representing the remote agent would indicate the remote network endpoint used. Convention is to indicate data flowing from Source to Destination. The convention for Search, given data flows both ways (query parameters vs results), is to have the Source as the initiator of the Search Transaction, and the Destination the responder to the Search transaction.

      Control0..1
      TypeChoice of: Reference(Cross-version Profile for R5.Endpoint for use in FHIR R4, Endpoint), uri, string
      [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      44. Extension.extension:authorization
      Slice Nameauthorization
      Definition

      R5: AuditEvent.agent.authorization

      ShortR5: Allowable authorization for this agent
      Comments

      Element AuditEvent.agent.authorization is mapped to FHIR R4 element AuditEvent.agent.purposeOfUse as Equivalent. Use AuditEvent.agent.authorization when you know that is specific to the agent, otherwise use AuditEvent.authorization. For example, during a machine-to-machine transfer it might not be obvious to the audit system who caused the event, but it does know why.

      Control0..*
      Requirements

      Record of any relevant security context, not restricted to purposeOfUse valueSet. May include security compartments, refrain, obligation, or other security tags. Element AuditEvent.agent.authorization is mapped to FHIR R4 element AuditEvent.agent.purposeOfUse as Equivalent.

      46. Extension.extension:authorization.url
      Control1..1
      Fixed Valueauthorization
      48. Extension.extension:authorization.value[x]
      Definition

      The authorization (e.g., PurposeOfUse) that was used during the event being recorded.

      ShortAllowable authorization for this agent
      Comments

      Use AuditEvent.agent.authorization when you know that is specific to the agent, otherwise use AuditEvent.authorization. For example, during a machine-to-machine transfer it might not be obvious to the audit system who caused the event, but it does know why.

      Control0..1
      BindingFor example codes, see v3.PurposeOfUse (2014-03-26) .
      (example to http://terminology.hl7.org/ValueSet/v3-PurposeOfUse|2014-03-26)

      The reason the activity took place.

      TypeCodeableConcept
      [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
      50. Extension.url
      Control1..1
      Fixed Valuehttp://hl7.org/fhir/5.0/StructureDefinition/extension-AuditEvent.agent
      52. Extension.value[x]
      Control0..0

      Guidance on how to interpret the contents of this table can be foundhere

      0. Extension
      Definition

      R5: AuditEvent.agent

      ShortR5: agent
      Comments

      Element AuditEvent.agent is mapped to FHIR R4 element AuditEvent.agent as Equivalent. Several agents may be associated (i.e. have some responsibility for an activity) with an event or activity.

      For example, an activity may be initiated by one user for other users or involve more than one user. However, only one user may be the initiator/requestor for the activity.

      When a network are used in an event being recorded, there should be distinct agent elements for the known actors using the network. The agent with a network detail would be the responsible agent for use of that network.

      Control1..*
      This element is affected by the following invariants: ele-1
      Is Modifierfalse
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
      2. Extension.id
      Definition

      Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

      ShortUnique id for inter-element referencing
      Control0..1
      Typestring
      Is Modifierfalse
      XML FormatIn the XML format, this property is represented as an attribute.
      Summaryfalse
      4. Extension.extension
      Definition

      An Extension

      ShortExtension
      Control1..*
      TypeExtension
      Is Modifierfalse
      Summaryfalse
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
      SlicingThis element introduces a set of slices on Extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
      • value @ url
      • 6. Extension.extension:type
        Slice Nametype
        Definition

        R5: AuditEvent.agent.type

        ShortR5: type
        Comments

        Element AuditEvent.agent.type is mapped to FHIR R4 element AuditEvent.agent.type as Equivalent. For example: assembler, author, prescriber, signer, investigator, etc.

        Control0..1
        TypeExtension
        Is Modifierfalse
        Summaryfalse
        Requirements

        Functional roles reflect functional aspects of relationships between entities. Functional roles are bound to the realization/performance of acts, where actions might be concatenated to an activity or even to a process. This element will hold the functional role that the agent played in the activity that is the focus of this Provenance. Where an agent played multiple functional roles, they will be listed as multiple .agent elements representing each functional participation. See ISO 21298:2018 - Health Informatics - Functional and structural roles, and ISO 22600-2:2014 - Health Informatics - Privilege Management and Access Control - Part 2: formal models. Element AuditEvent.agent.type is mapped to FHIR R4 element AuditEvent.agent.type as Equivalent.

        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
        8. Extension.extension:type.id
        Definition

        Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

        ShortUnique id for inter-element referencing
        Control0..1
        Typestring
        Is Modifierfalse
        XML FormatIn the XML format, this property is represented as an attribute.
        Summaryfalse
        10. Extension.extension:type.extension
        Definition

        May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

        ShortAdditional content defined by implementations
        Comments

        There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

        Control0..*
        TypeExtension
        Is Modifierfalse
        Summaryfalse
        Alternate Namesextensions, user content
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
        SlicingThis element introduces a set of slices on Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
        • value @ url
        • 12. Extension.extension:type.url
          Definition

          Source of the definition for the extension code - a logical name or a URL.

          Shortidentifies the meaning of the extension
          Comments

          The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.

          Control1..1
          Typeuri
          Is Modifierfalse
          XML FormatIn the XML format, this property is represented as an attribute.
          Summaryfalse
          Fixed Valuetype
          14. Extension.extension:type.value[x]
          Definition

          The Functional Role of the user when performing the event.

          ShortHow agent participated
          Comments

          For example: assembler, author, prescriber, signer, investigator, etc.

          Control0..1
          BindingThe codes SHOULD be taken from ParticipationRoleType
          (preferred to http://hl7.org/fhir/ValueSet/participation-role-type|4.0.1)

          The Participation type of the agent to the event.

          TypeCodeableConcept
          [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
          Is Modifierfalse
          Summaryfalse
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          16. Extension.extension:role
          Slice Namerole
          Definition

          R5: AuditEvent.agent.role

          ShortR5: role
          Comments

          Element AuditEvent.agent.role is mapped to FHIR R4 element AuditEvent.agent.role as Equivalent. For example: Chief-of-Radiology, Nurse, Physician, Medical-Student, etc.

          Control0..*
          TypeExtension
          Is Modifierfalse
          Summaryfalse
          Requirements

          Structural roles reflect the structural aspects of relationships between entities. Structural roles describe prerequisites, feasibilities, or competences for acts. Functional roles reflect functional aspects of relationships between entities. Functional roles are bound to the realization/performance of acts, where actions might be concatenated to an activity or even to a process. See ISO 21298:2018 - Health Informatics - Functional and structural roles, and ISO 22600-2:2014 - Health Informatics - Privilege Management and Access Control - Part 2: formal models.. Element AuditEvent.agent.role is mapped to FHIR R4 element AuditEvent.agent.role as Equivalent.

          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
          18. Extension.extension:role.id
          Definition

          Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

          ShortUnique id for inter-element referencing
          Control0..1
          Typestring
          Is Modifierfalse
          XML FormatIn the XML format, this property is represented as an attribute.
          Summaryfalse
          20. Extension.extension:role.extension
          Definition

          May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

          ShortAdditional content defined by implementations
          Comments

          There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

          Control0..*
          TypeExtension
          Is Modifierfalse
          Summaryfalse
          Alternate Namesextensions, user content
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
          SlicingThis element introduces a set of slices on Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
          • value @ url
          • 22. Extension.extension:role.url
            Definition

            Source of the definition for the extension code - a logical name or a URL.

            Shortidentifies the meaning of the extension
            Comments

            The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.

            Control1..1
            Typeuri
            Is Modifierfalse
            XML FormatIn the XML format, this property is represented as an attribute.
            Summaryfalse
            Fixed Valuerole
            24. Extension.extension:role.value[x]
            Definition

            The structural roles of the agent indicating the agent's competency. The security role enabling the agent with respect to the activity.

            ShortAgent role in the event
            Comments

            For example: Chief-of-Radiology, Nurse, Physician, Medical-Student, etc.

            Control0..1
            BindingFor example codes, see SecurityRoleType
            (example to http://hl7.org/fhir/ValueSet/security-role-type|4.0.1)

            What security role enabled the agent to participate in the event.

            TypeCodeableConcept
            [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
            Is Modifierfalse
            Summaryfalse
            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            26. Extension.extension:who
            Slice Namewho
            Definition

            R5: AuditEvent.agent.who

            ShortR5: who
            Comments

            Element AuditEvent.agent.who is mapped to FHIR R4 element AuditEvent.agent.who as SourceIsBroaderThanTarget. The standard extension alternate-reference has been mapped as the representation of FHIR R5 element AuditEvent.agent.who with unmapped reference targets: CareTeam. Where a User ID is available it will go into who.identifier. Where a name of the user (human readable) it will go into who.display.

            Control1..1
            TypeExtension
            Is Modifierfalse
            Summaryfalse
            Requirements

            This field ties an audit event to a specific resource or identifier. Element AuditEvent.agent.who is mapped to FHIR R4 element AuditEvent.agent.who as SourceIsBroaderThanTarget. The standard extension alternate-reference has been mapped as the representation of FHIR R5 element AuditEvent.agent.who with unmapped reference targets: CareTeam.

            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
            28. Extension.extension:who.id
            Definition

            Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

            ShortUnique id for inter-element referencing
            Control0..1
            Typestring
            Is Modifierfalse
            XML FormatIn the XML format, this property is represented as an attribute.
            Summaryfalse
            30. Extension.extension:who.extension
            Definition

            May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

            ShortAdditional content defined by implementations
            Comments

            There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

            Control0..*
            TypeExtension
            Is Modifierfalse
            Summaryfalse
            Alternate Namesextensions, user content
            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
            SlicingThis element introduces a set of slices on Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
            • value @ url
            • 32. Extension.extension:who.url
              Definition

              Source of the definition for the extension code - a logical name or a URL.

              Shortidentifies the meaning of the extension
              Comments

              The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.

              Control1..1
              Typeuri
              Is Modifierfalse
              XML FormatIn the XML format, this property is represented as an attribute.
              Summaryfalse
              Fixed Valuehttp://hl7.org/fhir/StructureDefinition/alternate-reference
              34. Extension.extension:who.value[x]
              Definition

              Value of extension - must be one of a constrained set of the data types (see Extensibility for a list).

              ShortValue of extension
              Control0..1
              TypeChoice of: base64Binary, boolean, canonical, code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, url, uuid, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, Reference, SampledData, Signature, Timing, ContactDetail, Contributor, DataRequirement, Expression, ParameterDefinition, RelatedArtifact, TriggerDefinition, UsageContext, Dosage, Meta
              [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
              Is Modifierfalse
              Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
              Summaryfalse
              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
              36. Extension.extension:requestor
              Slice Namerequestor
              Definition

              R5: AuditEvent.agent.requestor

              ShortR5: requestor
              Comments

              Element AuditEvent.agent.requestor is mapped to FHIR R4 element AuditEvent.agent.requestor as Equivalent. There can only be one initiator. If the initiator is not clear, then do not choose any one agent as the initiator.

              Control0..1
              TypeExtension
              Is Modifierfalse
              Summaryfalse
              Requirements

              This value is used to distinguish between requestor-users and recipient-users. For example, one person may initiate a report-output to be sent to another user. Element AuditEvent.agent.requestor is mapped to FHIR R4 element AuditEvent.agent.requestor as Equivalent.

              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
              ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
              38. Extension.extension:requestor.id
              Definition

              Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

              ShortUnique id for inter-element referencing
              Control0..1
              Typestring
              Is Modifierfalse
              XML FormatIn the XML format, this property is represented as an attribute.
              Summaryfalse
              40. Extension.extension:requestor.extension
              Definition

              May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

              ShortAdditional content defined by implementations
              Comments

              There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

              Control0..*
              TypeExtension
              Is Modifierfalse
              Summaryfalse
              Alternate Namesextensions, user content
              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
              ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
              SlicingThis element introduces a set of slices on Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
              • value @ url
              • 42. Extension.extension:requestor.url
                Definition

                Source of the definition for the extension code - a logical name or a URL.

                Shortidentifies the meaning of the extension
                Comments

                The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.

                Control1..1
                Typeuri
                Is Modifierfalse
                XML FormatIn the XML format, this property is represented as an attribute.
                Summaryfalse
                Fixed Valuerequestor
                44. Extension.extension:requestor.value[x]
                Definition

                Indicator that the user is or is not the requestor, or initiator, for the event being audited.

                ShortWhether user is initiator
                Comments

                There can only be one initiator. If the initiator is not clear, then do not choose any one agent as the initiator.

                Control0..1
                Typeboolean
                [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
                Is Modifierfalse
                Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                Summaryfalse
                Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                46. Extension.extension:location
                Slice Namelocation
                Definition

                R5: AuditEvent.agent.location

                ShortR5: The agent location when the event occurred
                Comments

                Element AuditEvent.agent.location is mapped to FHIR R4 element AuditEvent.agent.location as Equivalent.

                Control0..1
                TypeExtension
                Is Modifierfalse
                Summaryfalse
                Requirements

                Element AuditEvent.agent.location is mapped to FHIR R4 element AuditEvent.agent.location as Equivalent.

                Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                48. Extension.extension:location.id
                Definition

                Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

                ShortUnique id for inter-element referencing
                Control0..1
                Typestring
                Is Modifierfalse
                XML FormatIn the XML format, this property is represented as an attribute.
                Summaryfalse
                50. Extension.extension:location.extension
                Definition

                May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

                ShortAdditional content defined by implementations
                Comments

                There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

                Control0..*
                TypeExtension
                Is Modifierfalse
                Summaryfalse
                Alternate Namesextensions, user content
                Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                SlicingThis element introduces a set of slices on Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                • value @ url
                • 52. Extension.extension:location.url
                  Definition

                  Source of the definition for the extension code - a logical name or a URL.

                  Shortidentifies the meaning of the extension
                  Comments

                  The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.

                  Control1..1
                  Typeuri
                  Is Modifierfalse
                  XML FormatIn the XML format, this property is represented as an attribute.
                  Summaryfalse
                  Fixed Valuelocation
                  54. Extension.extension:location.value[x]
                  Definition

                  Where the agent location is known, the agent location when the event occurred.

                  ShortThe agent location when the event occurred
                  Control0..1
                  TypeReference(Cross-version Profile for R5.Location for use in FHIR R4, Location)
                  [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
                  Is Modifierfalse
                  Summaryfalse
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  56. Extension.extension:policy
                  Slice Namepolicy
                  Definition

                  R5: AuditEvent.agent.policy

                  ShortR5: Policy that authorized the agent participation in the event
                  Comments

                  Element AuditEvent.agent.policy is mapped to FHIR R4 element AuditEvent.agent.policy as Equivalent. For example: Where an OAuth token authorizes, the unique identifier from the OAuth token is placed into the policy element Where a policy engine (e.g. XACML) holds policy logic, the unique policy identifier is placed into the policy element.

                  Control0..*
                  TypeExtension
                  Is Modifierfalse
                  Summaryfalse
                  Requirements

                  This value is used retrospectively to determine the authorization policies. Element AuditEvent.agent.policy is mapped to FHIR R4 element AuditEvent.agent.policy as Equivalent.

                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                  58. Extension.extension:policy.id
                  Definition

                  Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

                  ShortUnique id for inter-element referencing
                  Control0..1
                  Typestring
                  Is Modifierfalse
                  XML FormatIn the XML format, this property is represented as an attribute.
                  Summaryfalse
                  60. Extension.extension:policy.extension
                  Definition

                  May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

                  ShortAdditional content defined by implementations
                  Comments

                  There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

                  Control0..*
                  TypeExtension
                  Is Modifierfalse
                  Summaryfalse
                  Alternate Namesextensions, user content
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                  SlicingThis element introduces a set of slices on Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                  • value @ url
                  • 62. Extension.extension:policy.url
                    Definition

                    Source of the definition for the extension code - a logical name or a URL.

                    Shortidentifies the meaning of the extension
                    Comments

                    The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.

                    Control1..1
                    Typeuri
                    Is Modifierfalse
                    XML FormatIn the XML format, this property is represented as an attribute.
                    Summaryfalse
                    Fixed Valuepolicy
                    64. Extension.extension:policy.value[x]
                    Definition

                    Where the policy(ies) are known that authorized the agent participation in the event. Typically, a single activity may have multiple applicable policies, such as patient consent, guarantor funding, etc. The policy would also indicate the security token used.

                    ShortPolicy that authorized the agent participation in the event
                    Comments

                    For example: Where an OAuth token authorizes, the unique identifier from the OAuth token is placed into the policy element Where a policy engine (e.g. XACML) holds policy logic, the unique policy identifier is placed into the policy element.

                    Control0..1
                    Typeuri
                    [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    66. Extension.extension:network
                    Slice Namenetwork
                    Definition

                    R5: AuditEvent.agent.network[x]

                    ShortR5: This agent network location for the activity
                    Comments

                    Element AuditEvent.agent.network[x] is mapped to FHIR R4 element AuditEvent.agent.network as Equivalent. When remote network endpoint is known, another agent representing the remote agent would indicate the remote network endpoint used. Convention is to indicate data flowing from Source to Destination. The convention for Search, given data flows both ways (query parameters vs results), is to have the Source as the initiator of the Search Transaction, and the Destination the responder to the Search transaction.

                    Control0..1
                    TypeExtension
                    Is Modifierfalse
                    Summaryfalse
                    Requirements

                    When a network protocol is used the endpoint is associated with the agent most directly using the endpoint. This is usually the software agent that has implemented the application level protocol. Preference is to define network in terms of a Reference(Endpoint), or URI; use string only when address or hostname is all that is known. When encoding using string it is best to encode using the formal canonical host name, but if you can't, then you can encode numeric in Literal address form using square brackets '[]' as a v4 string (in dotted notation), or v6 string (in colon notation). Element AuditEvent.agent.network[x] is mapped to FHIR R4 element AuditEvent.agent.network as Equivalent.

                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                    68. Extension.extension:network.id
                    Definition

                    Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

                    ShortUnique id for inter-element referencing
                    Control0..1
                    Typestring
                    Is Modifierfalse
                    XML FormatIn the XML format, this property is represented as an attribute.
                    Summaryfalse
                    70. Extension.extension:network.extension
                    Definition

                    May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

                    ShortAdditional content defined by implementations
                    Comments

                    There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

                    Control0..*
                    TypeExtension
                    Is Modifierfalse
                    Summaryfalse
                    Alternate Namesextensions, user content
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                    SlicingThis element introduces a set of slices on Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                    • value @ url
                    • 72. Extension.extension:network.url
                      Definition

                      Source of the definition for the extension code - a logical name or a URL.

                      Shortidentifies the meaning of the extension
                      Comments

                      The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.

                      Control1..1
                      Typeuri
                      Is Modifierfalse
                      XML FormatIn the XML format, this property is represented as an attribute.
                      Summaryfalse
                      Fixed Valuenetwork
                      74. Extension.extension:network.value[x]
                      Definition

                      When the event utilizes a network there should be an agent describing the local system, and an agent describing remote system, with the network interface details.

                      ShortThis agent network location for the activity
                      Comments

                      When remote network endpoint is known, another agent representing the remote agent would indicate the remote network endpoint used. Convention is to indicate data flowing from Source to Destination. The convention for Search, given data flows both ways (query parameters vs results), is to have the Source as the initiator of the Search Transaction, and the Destination the responder to the Search transaction.

                      Control0..1
                      TypeChoice of: Reference(Cross-version Profile for R5.Endpoint for use in FHIR R4, Endpoint), uri, string
                      [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
                      Is Modifierfalse
                      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                      Summaryfalse
                      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                      76. Extension.extension:authorization
                      Slice Nameauthorization
                      Definition

                      R5: AuditEvent.agent.authorization

                      ShortR5: Allowable authorization for this agent
                      Comments

                      Element AuditEvent.agent.authorization is mapped to FHIR R4 element AuditEvent.agent.purposeOfUse as Equivalent. Use AuditEvent.agent.authorization when you know that is specific to the agent, otherwise use AuditEvent.authorization. For example, during a machine-to-machine transfer it might not be obvious to the audit system who caused the event, but it does know why.

                      Control0..*
                      TypeExtension
                      Is Modifierfalse
                      Summaryfalse
                      Requirements

                      Record of any relevant security context, not restricted to purposeOfUse valueSet. May include security compartments, refrain, obligation, or other security tags. Element AuditEvent.agent.authorization is mapped to FHIR R4 element AuditEvent.agent.purposeOfUse as Equivalent.

                      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                      ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                      78. Extension.extension:authorization.id
                      Definition

                      Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

                      ShortUnique id for inter-element referencing
                      Control0..1
                      Typestring
                      Is Modifierfalse
                      XML FormatIn the XML format, this property is represented as an attribute.
                      Summaryfalse
                      80. Extension.extension:authorization.extension
                      Definition

                      May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

                      ShortAdditional content defined by implementations
                      Comments

                      There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

                      Control0..*
                      TypeExtension
                      Is Modifierfalse
                      Summaryfalse
                      Alternate Namesextensions, user content
                      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                      ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                      SlicingThis element introduces a set of slices on Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                      • value @ url
                      • 82. Extension.extension:authorization.url
                        Definition

                        Source of the definition for the extension code - a logical name or a URL.

                        Shortidentifies the meaning of the extension
                        Comments

                        The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.

                        Control1..1
                        Typeuri
                        Is Modifierfalse
                        XML FormatIn the XML format, this property is represented as an attribute.
                        Summaryfalse
                        Fixed Valueauthorization
                        84. Extension.extension:authorization.value[x]
                        Definition

                        The authorization (e.g., PurposeOfUse) that was used during the event being recorded.

                        ShortAllowable authorization for this agent
                        Comments

                        Use AuditEvent.agent.authorization when you know that is specific to the agent, otherwise use AuditEvent.authorization. For example, during a machine-to-machine transfer it might not be obvious to the audit system who caused the event, but it does know why.

                        Control0..1
                        BindingFor example codes, see v3.PurposeOfUse (2014-03-26) .
                        (example to http://terminology.hl7.org/ValueSet/v3-PurposeOfUse|2014-03-26)

                        The reason the activity took place.

                        TypeCodeableConcept
                        [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
                        Is Modifierfalse
                        Summaryfalse
                        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                        86. Extension.url
                        Definition

                        Source of the definition for the extension code - a logical name or a URL.

                        Shortidentifies the meaning of the extension
                        Comments

                        The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.

                        Control1..1
                        Typeuri
                        Is Modifierfalse
                        XML FormatIn the XML format, this property is represented as an attribute.
                        Summaryfalse
                        Fixed Valuehttp://hl7.org/fhir/5.0/StructureDefinition/extension-AuditEvent.agent
                        88. Extension.value[x]
                        Definition

                        Value of extension - must be one of a constrained set of the data types (see Extensibility for a list).

                        ShortValue of extension
                        Control0..0
                        TypeChoice of: base64Binary, boolean, canonical, code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, url, uuid, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, Reference, SampledData, Signature, Timing, ContactDetail, Contributor, DataRequirement, Expression, ParameterDefinition, RelatedArtifact, TriggerDefinition, UsageContext, Dosage, Meta
                        Is Modifierfalse
                        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                        Summaryfalse
                        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))