Left: | Basic AuditEvent for a successful Query (https://profiles.ihe.net/ITI/BALP/StructureDefinition/IHE.BasicAudit.Query) |
Right: | Basic AuditEvent for a successful Query (https://profiles.ihe.net/ITI/BALP/StructureDefinition/IHE.BasicAudit.Query) |
Error | StructureDefinition.version | Values for version differ: '1.1.2' vs '1.1.3' |
Information | StructureDefinition.date | Values for date differ: '2023-08-01T08:42:00-05:00' vs '2024-02-14T15:31:49-06:00' |
Information | AuditEvent.outcome | Element minimum cardinalities differ: '0' vs '1' |
Name | Value | Comments | |
---|---|---|---|
abstract | false | ||
baseDefinition | http://hl7.org/fhir/StructureDefinition/AuditEvent | ||
copyright | |||
date | 2023-08-01T08:42:00-05:00 | 2024-02-14T15:31:49-06:00 |
|
description | A basic AuditEvent profile for when a RESTful Query / Search action happens successfully. - Given a RESTful Query is requested - And the request does not have a Patient subject indicated - The requestor logging the event would potentially not know they have requested Patient specific data - The data objects may not be patient specific kind of objects - when the request is Patient specific then [PatientQuery](StructureDefinition-IHE.BasicAudit.PatientQuery.html) is used - And the request is authorized - Authorization failures should follow [FHIR core Access Denied](http://hl7.org/fhir/security.html#AccessDenied) - When successful - Note a failure AuditEvent may follow this pattern, but would not be a successful outcome and should have an OperationOutcome - Note success may result in zero or more results. The number of results and the content of the results are not recorded. - And the results are not Patient specific - when the results are Patient specific then [PatientQuery](StructureDefinition-IHE.BasicAudit.PatientQuery.html) are used - Then the AuditEvent recorded will conform - The raw search request is base64 encoded and placed in the .entity[query].query element. The base64 encoding of the raw search request enables preserving exactly what was requested, including possibly malicious patterns. This enables detection of malicious or malformed requests. - The cleaned search may be recorded (not base64) in the .entity[query].description. The cleaned search request would have removed parameters that were not understood/supported. The cleaned search request in the .description element enables more efficient processing. Note: the pattern defined in DICOM and IHE have the client is identified as the Source Role ID, and the server is identified as the Destination Role ID. This represents the query parameters are flowing from the client to the server. This may not be so obvious, as the data actually flows the opposite direction. This pattern is established and thus followed here. | ||
experimental | |||
fhirVersion | 4.0.1 | ||
jurisdiction | |||
jurisdiction[0] | http://unstats.un.org/unsd/methods/m49/m49.htm#001 | ||
kind | resource | ||
name | Query | ||
publisher | IHE IT Infrastructure Technical Committee | ||
purpose | |||
status | active | ||
title | Basic AuditEvent for a successful Query | ||
type | AuditEvent | ||
url | https://profiles.ihe.net/ITI/BALP/StructureDefinition/IHE.BasicAudit.Query | ||
version | 1.1.2 | 1.1.3 |
|
Name | L Flags | L Card. | L Type | L Description & Constraints | R Flags | R Card. | L Type | L Description & Constraints | Comments | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
AuditEvent | 0..* | AuditEvent | Event record kept for security purposes | 0..* | AuditEvent | Event record kept for security purposes | |||||||||||
id | Σ | 0..1 | id | Logical id of this artifact | Σ | 0..1 | id | Logical id of this artifact | |||||||||
meta | Σ | 0..1 | Meta | Metadata about the resource | Σ | 0..1 | Meta | Metadata about the resource | |||||||||
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | ?!Σ | 0..1 | uri | A set of rules under which this content was created | |||||||||
language | 0..1 | code | Language of the resource content Binding: ?? (preferred): A human language.
| 0..1 | code | Language of the resource content Binding: ?? (preferred): A human language.
| |||||||||||
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | 0..1 | Narrative | Text summary of the resource, for human interpretation | |||||||||||
contained | 0..* | Resource | Contained, inline Resources | 0..* | Resource | Contained, inline Resources | |||||||||||
extension | 0..* | Extension | Additional content defined by implementations | 0..* | Extension | Additional content defined by implementations | |||||||||||
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ?! | 0..* | Extension | Extensions that cannot be ignored | |||||||||
type | Σ | 1..1 | Coding | Type/identifier of event Binding: ?? (extensible): Type of event. Required Pattern: {"system":"http://terminology.hl7.org/CodeSystem/audit-event-type","code":"rest"} | Σ | 1..1 | Coding | Type/identifier of event Binding: ?? (extensible): Type of event. Required Pattern: {"system":"http://terminology.hl7.org/CodeSystem/audit-event-type","code":"rest"} | |||||||||
Slices for subtype | Σ | 1..* | Coding | More specific type/id for the event Slice: Unordered, Open by value:$this Binding: ?? (extensible): Sub-type of event. | Σ | 1..* | Coding | More specific type/id for the event Slice: Unordered, Open by value:$this Binding: ?? (extensible): Sub-type of event. | |||||||||
action | Σ | 0..1 | code | Type of action performed during the event Binding: ?? (required): Indicator for type of action performed during the event that generated the event. Required Pattern: E | Σ | 0..1 | code | Type of action performed during the event Binding: ?? (required): Indicator for type of action performed during the event that generated the event. Required Pattern: E | |||||||||
period | 0..1 | Period | When the activity occurred | 0..1 | Period | When the activity occurred | |||||||||||
recorded | Σ | 1..1 | instant | Time when the event was recorded | Σ | 1..1 | instant | Time when the event was recorded | |||||||||
outcome | Σ | 0..1 | code | Whether the event succeeded or failed Binding: ?? (required): Indicates whether the event succeeded or failed. Required Pattern: 0 | Σ | 1..1 | code | Whether the event succeeded or failed Binding: ?? (required): Indicates whether the event succeeded or failed. Required Pattern: 0 |
| ||||||||
outcomeDesc | Σ | 0..1 | string | Description of the event outcome | Σ | 0..1 | string | Description of the event outcome | |||||||||
purposeOfEvent | Σ | 0..* | CodeableConcept | The purposeOfUse of the event Binding: ?? (extensible): The reason the activity took place. | Σ | 0..* | CodeableConcept | The purposeOfUse of the event Binding: ?? (extensible): The reason the activity took place. | |||||||||
Slices for agent | 2..* | BackboneElement | Actor involved in the event Slice: Unordered, Open by pattern:type | 2..* | BackboneElement | Actor involved in the event Slice: Unordered, Open by pattern:type | |||||||||||
id | 0..1 | string | Unique id for inter-element referencing | 0..1 | string | Unique id for inter-element referencing | |||||||||||
extension | 0..* | Extension | Additional content defined by implementations | 0..* | Extension | Additional content defined by implementations | |||||||||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | |||||||||
type | 0..1 | CodeableConcept | How agent participated Binding: ?? (extensible): The Participation type of the agent to the event. | 0..1 | CodeableConcept | How agent participated Binding: ?? (extensible): The Participation type of the agent to the event. | |||||||||||
role | 0..* | CodeableConcept | Agent role in the event Binding: ?? (example): What security role enabled the agent to participate in the event. | 0..* | CodeableConcept | Agent role in the event Binding: ?? (example): What security role enabled the agent to participate in the event. | |||||||||||
who | Σ | 0..1 | Reference(PractitionerRole | Practitioner | Organization | Device | Patient | RelatedPerson) | Identifier of who | Σ | 0..1 | Reference(PractitionerRole | Practitioner | Organization | Device | Patient | RelatedPerson) | Identifier of who | |||||||||
altId | 0..1 | string | Alternative User identity | 0..1 | string | Alternative User identity | |||||||||||
name | 0..1 | string | Human friendly name for the agent | 0..1 | string | Human friendly name for the agent | |||||||||||
requestor | Σ | 1..1 | boolean | Whether user is initiator | Σ | 1..1 | boolean | Whether user is initiator | |||||||||
location | 0..1 | Reference(Location) | Where | 0..1 | Reference(Location) | Where | |||||||||||
policy | 0..* | uri | Policy that authorized event | 0..* | uri | Policy that authorized event | |||||||||||
media | 0..1 | Coding | Type of media Binding: ?? (extensible): Used when the event is about exporting/importing onto media. | 0..1 | Coding | Type of media Binding: ?? (extensible): Used when the event is about exporting/importing onto media. | |||||||||||
network | 0..1 | BackboneElement | Logical network location for application activity | 0..1 | BackboneElement | Logical network location for application activity | |||||||||||
id | 0..1 | string | Unique id for inter-element referencing | 0..1 | string | Unique id for inter-element referencing | |||||||||||
extension | 0..* | Extension | Additional content defined by implementations | 0..* | Extension | Additional content defined by implementations | |||||||||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | |||||||||
address | 0..1 | string | Identifier for the network access point of the user device | 0..1 | string | Identifier for the network access point of the user device | |||||||||||
type | 0..1 | code | The type of network access point Binding: ?? (required): The type of network access point of this agent in the audit event. | 0..1 | code | The type of network access point Binding: ?? (required): The type of network access point of this agent in the audit event. | |||||||||||
purposeOfUse | 0..* | CodeableConcept | Reason given for this user Binding: ?? (extensible): The reason the activity took place. | 0..* | CodeableConcept | Reason given for this user Binding: ?? (extensible): The reason the activity took place. | |||||||||||
source | S | 1..1 | BackboneElement | Audit Event Reporter | S | 1..1 | BackboneElement | Audit Event Reporter | |||||||||
id | 0..1 | string | Unique id for inter-element referencing | 0..1 | string | Unique id for inter-element referencing | |||||||||||
extension | 0..* | Extension | Additional content defined by implementations | 0..* | Extension | Additional content defined by implementations | |||||||||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | |||||||||
site | 0..1 | string | Logical source location within the enterprise | 0..1 | string | Logical source location within the enterprise | |||||||||||
observer | Σ | 1..1 | Reference(PractitionerRole | Practitioner | Organization | Device | Patient | RelatedPerson) | The identity of source detecting the event | Σ | 1..1 | Reference(PractitionerRole | Practitioner | Organization | Device | Patient | RelatedPerson) | The identity of source detecting the event | |||||||||
type | 0..* | Coding | The type of source where event originated Binding: ?? (extensible): Code specifying the type of system that detected and recorded the event. | 0..* | Coding | The type of source where event originated Binding: ?? (extensible): Code specifying the type of system that detected and recorded the event. | |||||||||||
Slices for entity | C | 1..* | BackboneElement | Data or objects used Slice: Unordered, Open by pattern:type | C | 1..* | BackboneElement | Data or objects used Slice: Unordered, Open by pattern:type | |||||||||
id | 0..1 | string | Unique id for inter-element referencing | 0..1 | string | Unique id for inter-element referencing | |||||||||||
extension | 0..* | Extension | Additional content defined by implementations | 0..* | Extension | Additional content defined by implementations | |||||||||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | |||||||||
what | Σ | 0..1 | Reference(Resource) | Specific instance of resource | Σ | 0..1 | Reference(Resource) | Specific instance of resource | |||||||||
type | 0..1 | Coding | Type of entity involved Binding: ?? (extensible): Code for the entity type involved in the audit event. | 0..1 | Coding | Type of entity involved Binding: ?? (extensible): Code for the entity type involved in the audit event. | |||||||||||
role | 0..1 | Coding | What role the entity played Binding: ?? (extensible): Code representing the role the entity played in the audit event. | 0..1 | Coding | What role the entity played Binding: ?? (extensible): Code representing the role the entity played in the audit event. | |||||||||||
lifecycle | 0..1 | Coding | Life-cycle stage for the entity Binding: ?? (extensible): Identifier for the data life-cycle stage for the entity. | 0..1 | Coding | Life-cycle stage for the entity Binding: ?? (extensible): Identifier for the data life-cycle stage for the entity. | |||||||||||
securityLabel | 0..* | Coding | Security labels on the entity Binding: ?? (extensible): Security Labels from the Healthcare Privacy and Security Classification System. | 0..* | Coding | Security labels on the entity Binding: ?? (extensible): Security Labels from the Healthcare Privacy and Security Classification System. | |||||||||||
name | ΣC | 0..1 | string | Descriptor for entity | ΣC | 0..1 | string | Descriptor for entity | |||||||||
description | 0..1 | string | Descriptive text | 0..1 | string | Descriptive text | |||||||||||
query | ΣC | 0..1 | base64Binary | Query parameters | ΣC | 0..1 | base64Binary | Query parameters | |||||||||
detail | 0..* | BackboneElement | Additional Information about the entity | 0..* | BackboneElement | Additional Information about the entity | |||||||||||
id | 0..1 | string | Unique id for inter-element referencing | 0..1 | string | Unique id for inter-element referencing | |||||||||||
extension | 0..* | Extension | Additional content defined by implementations | 0..* | Extension | Additional content defined by implementations | |||||||||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | |||||||||
type | 1..1 | string | Name of the property | 1..1 | string | Name of the property | |||||||||||
value[x] | 1..1 | string, base64Binary | Property value | 1..1 | string, base64Binary | Property value | |||||||||||
Documentation for this format |