AuditEvent (71)

#NameSourceVerDescription
1Audit Event for a Privacy Disclosure as recorded by a Recipientihe.iti.balp#currentR4Defines constraints on the AuditEvent Resource to record when a Privacy Disclosure is detected at the Recipient of the data. - Import event - shall have source of itself - shall have a source agent - shall have a recipient agent - may have user, app, organization agent(s) - combine with the Security Token pattern - may, if known, have the custodian that released the data - may, if known, have the authorizer that represented the patient (may be the patient) - shall have a patient entity - shall have a set identity entity
2Audit Event for Expand Value Set Transaction by the Terminology Consumer and Repositoryihe.iti.svcm#currentR4Defines constraints on the AuditEvent Resource to record when an Expand Value Set Transaction happens to expand a ValueSet, as recorded by the Terminology Consumer and Registry.
3Audit Event for Find Document Lists Transaction at Document Responderihe.iti.mhd#currentR4Defines constraints on the AuditEvent Resource to record when a Find Document Lists Transaction happens, as recorded by the Document Responder. - Build off of the IHE BasicAudit PatientQuery event - add the ITI-67 as a subtype - client is Document Consumer - server is Document Responder - entity slices for query, and patient are required - entity slice for transaction is available
4Audit Event for Find Document Lists Transaction by the Document Consumerihe.iti.mhd#currentR4Defines constraints on the AuditEvent Resource to record when a Find Document Lists Transaction happens, as recorded by the Document Consumer. - Build off of the IHE BasicAudit PatientQuery event - add the ITI-67 as a subtype - client is Document Consumer - server is Document Responder - entity slices for query, and patient are required - entity slice for transaction is available
5Audit Event for Find Document References Transaction at Document Consumerihe.iti.mhd#currentR4Defines constraints on the AuditEvent Resource to record when a Find Document References Transaction happens, as recorded by the Document Consumer. - Build off of the IHE BasicAudit PatientQuery event - add the ITI-67 as a subtype - client is Document Consumer - server is Document Responder - entity slices for query, and patient are required - entity slice for transaction is available
6Audit Event for Find Document References Transaction at Document Responderihe.iti.mhd#currentR4Defines constraints on the AuditEvent Resource to record when a Find Document References Transaction happens, as recorded by the Document Responder. - Build off of the IHE BasicAudit PatientQuery event - add the ITI-67 as a subtype - client is Document Consumer - server is Document Responder - entity slices for query, and patient are required - entity slice for transaction is available
7Audit Event for Find Matching Care Services Transaction by the Care Services Selective Consumer and Care Services Selective Supplier for Querymedcom.sor.mcsd#currentR4Defines constraints on the AuditEvent Resource to record when a Find Matching Care Services Transaction happens to query a Care Services Resource, as recorded by the Care Services Selective Supplier or Care Services Selective Consumer.
8Audit Event for Find Matching Care Services Transaction by the Care Services Selective Supplier and Care Services Selective Supplier for Readmedcom.sor.mcsd#currentR4Defines constraints on the AuditEvent Resource to record when a Find Matching Care Services Transaction happens to read a Care Services resource, as recorded by the Care Services Selective Supplier or Care Services Selective Supplier.
9Audit Event for Generate Metadata ITI-106 Transaction at Recipientihe.iti.mhd#currentR4Defines constraints on the AuditEvent Resource to record when a Generate Metadata ITI-106 Transaction happens at the Recipient. - Build off of the IHE Basic Audit Patient Create event - add the ITI-106 as a subtype - client is the Document Source - Server is the Document Recipient - may have user, app, organization agent(s) - shall have a patient entity - shall have a documentReference identity entity
10Audit Event for Generate Metadata ITI-106 Transaction at Sourceihe.iti.mhd#currentR4Defines constraints on the AuditEvent Resource to record when a Generate Metadata ITI-106 Transaction happens at the Soure. - Build off of the IHE Basic Audit Create event - add the ITI-106 as a subtype - client is the Document Source - Server is the Document Recipient - may have user, app, organization agent(s) - shall have a document uri - note the Document Source may add a patient if it knows it.
11Audit Event for Lookup Code Transaction by the Terminology Consumer and Repositoryihe.iti.svcm#currentR4Defines constraints on the AuditEvent Resource to record when a Lookup Code Transaction happens to expand a CodeSystem, as recorded by the Terminology Consumer and Registry.
12Audit Event for Mobile Patient Identity Feed by the Supplier and Consumerihe.iti.pmir#currentR4Defines constraints on the AuditEvent Resource to record when a Mobile Patient Identity Feed Transaction happens, as recorded by the Supplier and Consumer.
13Audit Event for Patient Identity Feed by the Manager that Deletes a Patientihe.iti.pixm#currentR4Defines constraints on the AuditEvent Resource to record when a Patient Identity Feed Transaction happens, as recorded by the Patient Identity Cross-reference Manager. - This profile applies to the Patient Identity Cross-reference Manager actor in - [Remove Patient](ITI-104.html#2310443-remove-patient) - Build off of the IHE BasicAudit PatientDelete event - this will result in two .entity elements with the same logical information - add the ITI-104 as a subtype - client is Patient Identifier Source - server is Patient Identifier Cross-reference Manager - entity slices for patient are required - filled with the identifier parameter value from the DELETE - will be an identifier, not a reference - entity slice for the data - filled with the path of the DELETE - will be the Patient resource id presented - entity slice for transaction is available
14Audit Event for Patient Identity Feed by the Source that Creates or Updates a Patientihe.iti.pixm#currentR4Defines constraints on the AuditEvent Resource to record when a Patient Identity Feed Transaction happens, as recorded by the Patient Identity Source. - This profile applies to the Patient Identity Source actor in - [Add or Revise Patient](ITI-104.html#2310441-add-or-revise-patient) - [Resolve Duplicate Patient](ITI-104.html#2310442-resolve-duplicate-patient) - Patient Identity Source records an Update as using a conditional create, so as to support update if exists else create. - Build off of the IHE BasicAudit PatientUpdate event - add the ITI-104 as a subtype - client is Patient Identifier Source - server is Patient Identifier Cross-reference Manager - entity slices for patient are required - filled with the identifier parameter value from the PUT - will be an identifier, not a reference - entity slice for the data - filled with the body of the PUT - will be the Patient resource presented - entity slice for transaction is available
15Audit Event for Patient Identity Feed by the Source that Deletes a Patientihe.iti.pixm#currentR4Defines constraints on the AuditEvent Resource to record when a Patient Identity Feed Transaction happens, as recorded by the Patient Identity Source. - This profile applies to the Patient Identity Source actor in - [Remove Patient](ITI-104.html#2310443-remove-patient) - Build off of the IHE BasicAudit PatientDelete event - this will result in two .entity elements with the same logical information - add the ITI-104 as a subtype - client is Patient Identifier Source - server is Patient Identifier Cross-reference Manager - entity slices for patient are required - filled with the identifier parameter value from the DELETE - will be an identifier, not a reference - entity slice for the data - filled with the path of the DELETE - will be the Patient resource id presented - entity slice for transaction is available
16Audit Event for Patient Identity Feed FHIR by the Manager that Creates a Patientihe.iti.pixm#currentR4Defines constraints on the AuditEvent Resource to record when a Patient Identity Feed FHIR Transaction happens, as recorded by the Patient Identifier Cross-reference Manager. - This profile applies to the Patient Identity Cross-reference Manager actor in - [Add or Revise Patient](ITI-104.html#2310441-add-or-revise-patient) - [Resolve Duplicate Patient](ITI-104.html#2310442-resolve-duplicate-patient) - Patient Identity Cross-reference Manager knows the requested conditional create is a create, so records this as an create. - Build off of the IHE BasicAudit PatientCreate event - A generic FHIR server might not distinguish an ITI-104 - add the ITI-104 as a subtype - server is Patient Identifier Source - server is Patient Identifier Cross-reference Manager - entity slices for patient are required - filled with the identifier parameter value from the PUT - will be an identifier, not a reference - entity slice for the data - filled with the body of the PUT - will be the Patient resource presented - entity slice for transaction is available
17Audit Event for Patient Identity Feed FHIR by the Manager that Updates a Patientihe.iti.pixm#currentR4Defines constraints on the AuditEvent Resource to record when a Patient Identity Feed FHIR Transaction happens, as recorded by the Patient Identifier Cross-reference Manager. - This profile applies to the Patient Identity Cross-reference Manager actor in - [Add or Revise Patient](ITI-104.html#2310441-add-or-revise-patient) - [Resolve Duplicate Patient](ITI-104.html#2310442-resolve-duplicate-patient) - Patient Identity Cross-reference Manager knows the requested conditional create is an update, so records this as an update. - Build off of the IHE BasicAudit PatientUpdate event - A generic FHIR server might not distinguish an ITI-104 - add the ITI-104 as a subtype - server is Patient Identifier Source - server is Patient Identifier Cross-reference Manager - entity slices for patient are required - filled with the identifier parameter value from the PUT - will be an identifier, not a reference - entity slice for the data - filled with the body of the PUT - will be the Patient resource presented - entity slice for transaction is available
18Audit Event for PDQm Query at Consumerihe.iti.pdqm#currentR4Defines constraints on the AuditEvent (AuditMessage) Resource for a Patient Demographics Consumer to record when it performs a Patient Demographics Query [ITI-78](./ITI-78.html). - Build off of the IHE BasicAudit Query event - add the ITI-78 as a subtype - client is Patient Demographics Consumer - server is Patient Demographics Supplier - entity slice for query are required - entity slice for transaction is available - entity for patient should be used when one patient is explicitly identified in the query parameters - source is the client
19Audit Event for PDQm Query at Supplierihe.iti.pdqm#currentR4Defines constraints on the AuditEvent (AuditMessage) Resource when a Patient Demographics Supplier responds to a Patient Demographics Query [ITI-78](./ITI-78.html). - Build off of the IHE BasicAudit Query event - add the ITI-78 as a subtype - client is Patient Demographics Consumer - server is Patient Demographics Supplier - entity slice for query are required - entity slice for transaction is available - entity for patient should be used when one patient is explicitly identified in the query parameters - source is the server
20Audit Event for PIXm Query by the Consumerihe.iti.pixm#currentR4Defines constraints on the AuditEvent (AuditMessage) Resource to record when a PIXm Query Transaction happens, as recorded by the Patient Identifier Cross-reference Consumer. - Build off of the IHE BasicAudit Patient Query event - add the ITI-83 as a subtype - client is Patient Identifier Cross-reference Consumer - server is Patient Identifier Cross-reference Manager - entity slice for query parameters - eitity slice for a source patient identifier - yes both entities likely say the same thing, but one is specifically the patient identifier, and the other is in query parameter format - source is the client
21Audit Event for PIXm Query by the Managerihe.iti.pixm#currentR4Defines constraints on the AuditEvent (AuditMessage) Resource to record when a PIXm Query Transaction happens, as recorded by the Patient Identifier Cross-reference Manager. - Build off of the IHE BasicAudit Patient Query event - add the ITI-83 as a subtype - client is Patient Identifier Cross-reference Consumer - server is Patient Identifier Cross-reference Manager - entity slice for query parameters - eitity slice for a source patient identifier - yes both entities likely say the same thing, but one is specifically the patient identifier, and the other is in query parameter format - source is the server
22Audit Event for Privacy Disclosure at Sourceihe.iti.balp#currentR4Defines constraints on the AuditEvent Resource to record when a Privacy Disclosure happens at the Source. - Import event - shall have source of itself - shall have a source agent - shall have a recipient agent - may have user, app, organization agent(s) - combine with the Security Token pattern - should have the custodian that released the data - should have the authorizer that represented the patient (may be the patient) - shall have a patient entity - shall have the set of data entity(ies)
23Audit Event for Provide Bundle Transaction at Recipientihe.iti.mhd#currentR4Defines constraints on the AuditEvent Resource to record when a Provide Bundle Transaction happens at the Recipient. - Import event - shall have source of itself - shall have a document source agent - shall have a document recipient agent - may have user, app, organization agent(s) - shall have a patient entity - shall have a submission set identity entity
24Audit Event for Provide Bundle Transaction at Sourceihe.iti.mhd#currentR4Defines constraints on the AuditEvent Resource to record when a Provide Bundle Transaction happens at the Source. - Export event - shall have source of itself - shall have a document source agent - shall have a document recipient agent - may have user, app, organization agent(s) - shall have a patient entity - shall have a submission set identity entity
25Audit Event for Query Code System Transaction by the Terminology Consumer and Repository for Queryihe.iti.svcm#currentR4Defines constraints on the AuditEvent Resource to record when a Query Code System Transaction happens to query a CodeSystem, as recorded by the Terminology Consumer and Registry.
26Audit Event for Query Code System Transaction by the Terminology Consumer and Repository for Readihe.iti.svcm#currentR4Defines constraints on the AuditEvent Resource to record when a Query Code System Transaction happens to read a CodeSystem, as recorded by the Terminology Consumer and Registry.
27Audit Event for Query Concept Map Transaction by the Terminology Consumer and Repository for Queryihe.iti.svcm#currentR4Defines constraints on the AuditEvent Resource to record when a Query Concept Map Transaction happens to query a ConceptMap, as recorded by the Terminology Consumer and Registry.
28Audit Event for Query Concept Map Transaction by the Terminology Consumer and Repository for Readihe.iti.svcm#currentR4Defines constraints on the AuditEvent Resource to record when a Query Concept Map Transaction happens to read a ConceptMap, as recorded by the Terminology Consumer and Registry.
29Audit Event for Query Value Set Transaction by the Terminology Consumer and Repository for Queryihe.iti.svcm#currentR4Defines constraints on the AuditEvent Resource to record when a Query Value Set Transaction happens to query a ValueSet, as recorded by the Terminology Consumer and Registry.
30Audit Event for Query Value Set Transaction by the Terminology Consumer and Repository for Readihe.iti.svcm#currentR4Defines constraints on the AuditEvent Resource to record when a Query Value Set Transaction happens to read a ValueSet, as recorded by the Terminology Consumer and Registry.
31Audit Event for Request Care Services Updates Transaction by the Care Services Update Consumer and Care Services Update Suppliermedcom.sor.mcsd#currentR4Defines constraints on the AuditEvent Resource to record when a Request Care Services Updates Transaction happens for a Care Services Resource updates, as recorded by the Care Services Update Supplier or Care Services Update Consumer.
32Audit Event for Retrieve Document Transaction at Document Consumerihe.iti.mhd#currentR4Defines constraints on the Document Consumer AuditEvent Resource to record when a Retrieve Document Transaction happens, as recorded by the Document Consumer. - Build off of the IHE BasicAudit PatientRead event - add the ITI-68 as a subtype - client is Document Consumer - server is Document Responder - entity slices for data, and patient are required - entity slice for transaction is available
33Audit Event for Retrieve Document Transaction at the Document Responderihe.iti.mhd#currentR4Defines constraints on the Document Responder AuditEvent Resource to record when a Retrieve Document Transaction happens, as recorded by the Document Responder. - Build off of the IHE BasicAudit PatientRead event - add the ITI-68 as a subtype - client is Document Consumer - server is Document Responder - entity slices for data, and patient are required - entity slice for transaction is available
34Audit Event for Retrieve File Transaction at File Consumerihe.iti.npfs#currentR4Defines constraints on the File Consumer AuditEvent Resource to record when a Retrieve File Transaction happens, as recorded by the File Consumer. - Build off of the IHE BasicAudit Read event - add the ITI-109 as a subtype - client is File Consumer - server is File Manager - entity slices for data - entity slice for transaction is available
35Audit Event for Retrieve File Transaction at the File Managerihe.iti.npfs#currentR4Defines constraints on the File Manager AuditEvent Resource to record when a Retrieve File Transaction happens, as recorded by the File Manager. - Build off of the IHE BasicAudit Read event - add the ITI-109 as a subtype - client is File Consumer - server is File Manager - entity slices for data - entity slice for transaction is available
36Audit Event for Search File Transaction at File Managerihe.iti.npfs#currentR4Defines constraints on the AuditEvent Resource to record when a Search File Transaction happens, as recorded by the File Manager. - Build off of the IHE BasicAudit Query event - add the ITI-88 as a subtype - client is File Consumer - server is File Manager - entity slices for query - entity slice for transaction is available
37Audit Event for Search File Transaction by the File Consumerihe.iti.npfs#currentR4Defines constraints on the AuditEvent Resource to record when a Search File Transaction happens, as recorded by the File Consumer. - Build off of the IHE BasicAudit Query event - add the ITI-88 as a subtype - client is File Consumer - server is File Manager - entity slices for query - entity slice for transaction is available
38Audit Event for Simplified Publish ITI-105 Transaction at Recipientihe.iti.mhd#currentR4Defines constraints on the AuditEvent Resource to record when a Simplified Publish ITI-105 Transaction happens at the Recipient. - Build off of the IHE Basic Audit Patient Create event - add the ITI-105 as a subtype - client is the Document Source - Server is the Document Recipient - may have user, app, organization agent(s) - shall have a patient entity - shall have a documentReference identity entity
39Audit Event for Simplified Publish ITI-105 Transaction at Sourceihe.iti.mhd#currentR4Defines constraints on the AuditEvent Resource to record when a Simplified Publish ITI-105 Transaction happens at the Soure. - Build off of the IHE Basic Audit Patient Create event - add the ITI-105 as a subtype - client is the Document Source - Server is the Document Recipient - may have user, app, organization agent(s) - shall have a patient entity - shall have a documentReference identity entity
40Audit Event for Submit File Transaction at Managerihe.iti.npfs#currentR4Defines constraints on the AuditEvent Resource to record when a Submit File Transaction happens at the Manager. - Import event - shall have source of itself - shall have a File Source agent - shall have a File Manager agent - may have user, app, organization agent(s) - shall have a DocumentReference identity entity
41Audit Event for Submit File Transaction at Sourceihe.iti.npfs#currentR4Defines constraints on the AuditEvent Resource to record when a Submit File Transaction happens at the Source. - Export event - shall have source of itself - shall have a File Source agent - shall have a File Manager agent - may have user, app, organization agent(s) - shall have a patient entity - shall have a submission set identity entity
42Audit Event for Subscribe to Patient Updates Transaction by the Patient Identity Subscriber and Registry for Createihe.iti.pmir#currentR4Defines constraints on the AuditEvent Resource to record when a Subscribe to Patient Updates Transaction happens to create a new subscription, as recorded by the Patient Identity Subscriber and Registry.
43Audit Event for Subscribe to Patient Updates Transaction by the Patient Identity Subscriber and Registry for Deleteihe.iti.pmir#currentR4Defines constraints on the AuditEvent Resource to record when a Subscribe to Patient Updates Transaction happens to delete a subscription, as recorded by the Patient Identity Subscriber and Registry.
44Audit Event for Subscribe to Patient Updates Transaction by the Patient Identity Subscriber and Registry for Readihe.iti.pmir#currentR4Defines constraints on the AuditEvent Resource to record when a Subscribe to Patient Updates Transaction happens to read a subscription, as recorded by the Patient Identity Subscriber and Registry.
45Audit Event for Subscribe to Patient Updates Transaction by the Patient Identity Subscriber and Registry for Updateihe.iti.pmir#currentR4Defines constraints on the AuditEvent Resource to record when a Subscribe to Patient Updates Transaction happens to update a subscription, as recorded by the Patient Identity Subscriber and Registry.
46Audit Event for Translate Code Transaction by the Terminology Consumer and Repositoryihe.iti.svcm#currentR4Defines constraints on the AuditEvent Resource to record when a Translate Code Transaction happens to translate a code using a ConceptMap, as recorded by the Terminology Consumer and Registry.
47Audit Event for Update DocumentReference Transaction at File Sourceihe.iti.npfs#currentR4Defines constraints on the File Source AuditEvent Resource to record when an Update DocumentReference Transaction happens, as recorded by the File Source. - Build off of the IHE BasicAudit Update event - add the ITI-89 as a subtype - client is File Source - server is File Manager - entity slices for the DocumentReference reference - entity slice for transaction is available
48Audit Event for Update DocumentReference Transaction at the File Managerihe.iti.npfs#currentR4Defines constraints on the File Manager AuditEvent Resource to record when a Update DocumentReference Transaction happens, as recorded by the File Manager. - Build off of the IHE BasicAudit PatientRead event - add the ITI-89 as a subtype - client is File Source - server is File Manager - entity slices for DocumentReference reference - entity slice for transaction is available
49Audit Event for Validate Code Transaction by the Terminology Consumer and Repositoryihe.iti.svcm#currentR4Defines constraints on the AuditEvent Resource to record when a Validate Code Transaction happens to validate a code, as recorded by the Terminology Consumer and Registry.
50AuditEventIEHRfhir.uv.crossborderdataexchange#currentR4
51Basic AuditEvent for a successful Create not related to a Patientihe.iti.balp#currentR4A basic AuditEvent profile for when a RESTful Create action happens successfully. - Given a Resource Create is requested - And that resource does not have a Patient subject or is otherwise associated with a Patient - when the resource is Patient specific then [PatientCreate](StructureDefinition-IHE.BasicAudit.PatientCreate.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 - Then the AuditEvent recorded will conform
52Basic AuditEvent for a successful Create with known Patient subjectihe.iti.balp#currentR4A basic AuditEvent profile for when a RESTful Create action happens successfully, and where there is an identifiable Patient subject associated with the create of the Resource. - Given a Resource Create is requested - And that resource has a Patient subject or is otherwise associated with a Patient - 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 - Then the AuditEvent recorded will conform
53Basic AuditEvent for a successful Deleteihe.iti.balp#currentR4A basic AuditEvent profile for when a RESTful Delete action happens successfully. - Given a Resource Delete is requested - And that resource has does not have a Patient subject or is otherwise associated with a Patient - when the resource is Patient specific then [PatientDelete](StructureDefinition-IHE.BasicAudit.PatientDelete.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 - Then the AuditEvent recorded will conform
54Basic AuditEvent for a successful Delete with Patientihe.iti.balp#currentR4A basic AuditEvent profile for when a RESTful Delete action happens successfully, and where there is an identifiable Patient subject associated with the Resource being deleted. - Given a Resource Delete is requested - And that resource has a Patient subject or is otherwise associated with a Patient - 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 - Then the AuditEvent recorded will conform
55Basic AuditEvent for a successful Operationihe.iti.svcm#currentR4A basic AuditEvent profile for when a RESTful Operation action happens successfully. - Given a RESTful Operation is requested - 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. - Then the AuditEvent recorded will conform - The raw operation parameters is placed in the .contained element. The contained parameters enables preserving exactly what was requested, including possibly malicious patterns. This enables detection of malicious or malformed requests. 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.
56Basic AuditEvent for a successful Queryihe.iti.balp#currentR4A 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.
57Basic AuditEvent for a successful Query with Patientihe.iti.balp#currentR4A basic AuditEvent profile for when a RESTful Query action happens successfully, and where there is an identifiable Patient subject associated with the read Resource(s). - Given a RESTful Query is requested - And the request is for a Patient subject indicated - The requestor includes a Patient id or identifier as a query parameter - The requestor security context is limited to a given Patient identity - 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. - 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. - And When multiple patient results are returned, one AuditEvent is created for every Patient identified in the resulting search set. Note this is true when the search set bundle includes any number of resources that collectively reference multiple Patients. This includes one Resource with multiple subject values, or many Resources with single subject values that are different. Note: the pattern defined in DICOM and IHE have that the client is identified as the Source Role ID, and the server is identified as the Destination Role ID. This may not be so obvious, as the data actually flows the opposite direction. This pattern is established and thus followed here.
58Basic AuditEvent for a successful Readihe.iti.balp#currentR4A basic AuditEvent profile for when a RESTful Read action happens successfully. - Given a Resource Read is requested - And that resource does not have a Patient subject or is otherwise associated with a Patient - when the resource is Patient specific then [PatientRead](StructureDefinition-IHE.BasicAudit.PatientRead.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 - Then the AuditEvent recorded will conform
59Basic AuditEvent for a successful Read with a Patientihe.iti.balp#currentR4A basic AuditEvent profile for when a RESTful Read action happens successfully, and where there is an identifiable Patient subject associated with the read Resource. - Given a Resource Read is requested - And that resource has a Patient subject or is otherwise associated with a Patient - 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 - Then the AuditEvent recorded will conform
60Basic AuditEvent for a successful Updateihe.iti.balp#currentR4A basic AuditEvent profile for when a RESTful Update action happens successfully. - Given a Resource Update is requested - And that resource does not have a Patient subject or is otherwise associated with a Patient - when the resource is Patient specific then [PatientUpdate](StructureDefinition-IHE.BasicAudit.PatientUpdate.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 - Then the AuditEvent recorded will conform - And where the server supports FHIR Versioning the AuditEvent should use the version specific id
61Basic AuditEvent for a successful Update with a Patient subjectihe.iti.balp#currentR4A basic AuditEvent profile for when a RESTful Update action happens successfully, and where there is an identifiable Patient subject associated with the Update of the Resource. - Given a Resource Update is requested - And that resource has a Patient subject or is otherwise associated with a Patient - 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 - Then the AuditEvent recorded will conform - And where the server supports FHIR Versioning the AuditEvent should use the version specific id
62Basic AuditEvent pattern for oAuth Opaqueihe.iti.balp#currentR4Used when access to the oAuth token, but want to log minimal details. - oUser slice holds only the JWT ID
63Basic AuditEvent pattern for oAuth Opaqueihe.iti.balp#currentR4Used when: - only have an opaque oAuth token (e.g. clients). - have access to the oAuth token, but want to log minimal details. - oUser slice holds fragment of the opaque oAuth token - record only the last 32 characters of the oAuth token to limit risk or replay - presume 32 characters is enough to coorelate AuditEvent log entries
64Basic AuditEvent pattern for when an activity was authorized by an IUA access tokenihe.iti.balp#currentR4A basic AuditEvent profile for when an activity was authorized by an IUA access token. This profile is expected to be used with some other detail that explains the activity. This profile only covers the IUA access token. - Given an activity has occured - And OAuth is used to authorize (both app and user) - And the given activity is using http with authorization: bearer mechanism - IUA - [3.72 Incorporate Access Token \[ITI-72\]](https://profiles.ihe.net/ITI/IUA/index.html#372-incorporate-access-token-iti-72) - Bulk Data Access - [11. Presenting an Access Token to FHIR API](https://hl7.org/fhir/uv/bulkdata/authorization/index.html#presenting-an-access-token-to-fhir-api) - SMART-app-launch - [7.1.5 Step 4: App accesses clinical data via FHIR API](http://hl7.org/fhir/smart-app-launch/index.html#step-4-app-accesses-clinical-data-via-fhir-api) - [HL7 Security for Scalable Registration, Authentication, and Authorization (aka UDAP) ](http://hl7.org/fhir/us/udap-security/history.html) when it gets published - When an AuditEvent is recorded for the activity - Then that AuditEvent would follow this profile regarding recording the IUA access token details - note: this profile records minimal information from the IUA access token, which presumes that use of the AuditEvent at a later time will be able to resolve the given information. - client slice holds the application details - This is likely replicated in other slices, but is consistently identified as the Application slice for ease of tracking all events caused by this client - place the client_id into .who.identifier.value (system is not needed, but avaialble if you have a system) - any network identification detail should be placed in .network (may be a IP address, or hostname) - oUser slice holds the user details - user id is recorded in the .who.identifier - user id is also recorded in .name to be more easy searched - if roles or purposeOfUse are known record them here - the JWT ID is recorded in .policy. Expecting that during audit anaysis this ID can be looked up and dereferenced
65Basic AuditEvent pattern for when an activity was authorized by an SAML access token Comprehensiveihe.iti.balp#currentR4A basic AuditEvent profile for when an activity was authorized by an SAML access token. This profile is expected to be used with some other detail that explains the activity. This profile only covers the SAML access token. The following table uses a short-hand for the SAML fields and FHIR AuditEvent elements to keep the table compact. It is presumed the reader can understand the SAML field and the FHIR AuditEvent element given. Note the `~` character represents attributes under the SAML `AttributeStatement`. **Builds upon the Minimal** | SAML field | Comprehensive AuditEvent |------------------------------|-----------------------------------| | ID | agent[user].policy | Issuer | agent[user].who.identifier.system | Subject.NameID | agent[user].who.identifier.value | ~subject:role | agent[user].role | ~subject:purposeofuse | agent[user].purposeOfUse | AuthnContextClassRef | agent[user].extension[assuranceLevel] | ~subject:subject-id | agent[user].extension[otherId][subject-id].value | ~subject:npi | agent[user].extension[otherId][npi].value | ~subject:provider-identifier | agent[user].extension[otherId][provider-id].value | ~subject:organization | agent[userorg].who.display | ~subject:organization-id | agent[userorg].who.identifier.value | ~homeCommunityId | agent[homeCommunityId].who.identifier.value | ~bppc:2007:docid | entity[consent].what.identifier.value | ~xua:2012:acp | entity[consent].detail.valueString | ~resource:resource-id | entity[consent-patient].what.identifier.value
66Basic AuditEvent pattern for when an activity was authorized by an SAML access token Minimalihe.iti.balp#currentR4A basic AuditEvent profile for when an activity was authorized by an SAML access token. This profile is expected to be used with some other detail that explains the activity. This profile only covers the SAML access token. - Given an activity has occurred - And SAML is used to authorize a transaction - And the given activity is using the SAML - XUA - SAML requires ID and Issuer, so this profile of AuditEvent will work with any SAML token. - usually SOAP, but not limited to SOAP - When an AuditEvent is recorded for the activity - Presumes that the consent and server have been identified in agent elements, best case with certificate identities - Then that AuditEvent would follow this profile regarding recording the SAML access token details The following table uses a short-hand for the SAML fields and FHIR AuditEvent elements to keep the table compact. It is presumed the reader can understand the SAML field and the FHIR AuditEvent element given. Note the `~` character represents attributes under the SAML `AttributeStatement`. | SAML field | Minimal AuditEvent |-----------------------|----------------------| | ID | agent[user].policy | Issuer | agent[user].who.identifier.system | Subject.NameID | agent[user].who.identifier.value | ~subject:purposeofuse | agent[user].purposeOfUse note: this profile records minimal information from the SAML access token, which presumes that use of the AuditEvent at a later time will be able to resolve the given information.
67Basic AuditEvent pattern for when an Authorization permit is decidedihe.iti.balp#currentR4An AduitEvent recording a permit authorization decision by a Consent Decision Service, - Given an Authorization Decision resulted in a permit - And based on a Consent resource (C1) - And filed by a patient (P1), - And in response to a request by an organization (Org1) - And for the purpose of treatment (TREAT). - And the given request is authorized - When an AuditEvent is recorded for the activity - Then that AuditEvent would follow this profile regarding recording the authorization decision - Security Alert - Authorization Decison by Consent - Execute action - date/time recorded - outcome - success when Permit - failure when Deny - outcomeDesc would explain why a deny - recorded by the authorization server - Agents - client app - user - user requested purposeOfUse - user organization - authorization service - Entity - patient subject - consent on file for that patient - the token id (JWT ID) issued (if one is issued) should be recorded - other data may be recorded that was used in the decision
68EHRS Functional Model - Record Lifecycle Events - AuditEventhl7.fhir.uv.ehrs-rle#currentR5Defines the elements to be supported within the AuditEvent resource in order to conform with the Electronic Health Record System Functional Model Record Lifecycle Event standard
69General Audit Event Requirementshl7.fhir.uv.saner#currentR4Defines general constraints on the AuditEvent Resource.
70IHE IUA ITI-71 AuditEvent for a successful Get Access Tokenihe.iti.balp#currentR4Defines constraints on the AuditEvent Resource to record when a ITI-71 - Get Access Token succeeds This AuditEvent is recorded by Authorization Client and/or Authorization Server that are grouped with ATNA Secure Node or Secure Application. - User Authenticated event - ITI-71 subtype - 2 or 3 agents - client - - auth-server - user user - 1 entity - the access token request
71Slicing a Sliced Extension Profilejohnmoehrke.slicingslicedextension#currentR4Profile showing problems with slicing a sliced extension - adds an extension *otherId* on .agent - a slice on the *otherId* extension for *npi* and *prn* - adds an extension on the *prn* slice for *otherIdName* - a slice on .agent for for *user* - a slice on .agent for *userorg*
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
AuditEvent
AuditEvent.period C D C
AuditEvent.purposeOfEvent
AuditEvent.outcomeDesc
AuditEvent.subtype S C F (2) S C F (2) S C F (2) S C F (2) S C F (2) S C F (2) S C F (2) S C F (2) S C F (2) S C F (2) S C F (2) F S C F (2) S C F (2) S C F (2) S C F (2) S C F (2) S C F (2) S C F (2) S C F (2) S C F (2) S C F (2) S C F (2) S C F (2) S C F (2) S C F (2) S C F (2) S C F (2) S C F (2) S C F (2) S C F (3) S C F (2) S C F (2) S C F (2) S C F (2) S C F (2) S C F (2) S C F (2) S C F (2) S C F (2) S C F (2) S C F (2) S C F (2) S C F (2) S C F (2) S C F (2) S C F (2) S C F (2) S C F (2) S C F (2) S C F (2) S C F (2) S C F (4) S C F (3) S C F (3) B M C C F
AuditEvent.subtype.system F
AuditEvent.type F F F F F F F F F F F F F F F F
AuditEvent.meta
AuditEvent.implicitRules
AuditEvent.language
AuditEvent.text
AuditEvent.contained
AuditEvent.extension
AuditEvent.modifierExtension C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C
AuditEvent.category
AuditEvent.code B M
AuditEvent.action F F F F F F F F F F F F F F F C F
AuditEvent.severity
AuditEvent.occurred[x]
AuditEvent.recorded
AuditEvent.outcome C C C C C F C C F F F F F F C F
AuditEvent.outcome.extension
AuditEvent.outcome.modifierExtension
AuditEvent.outcome.code
AuditEvent.outcome.detail
AuditEvent.authorization
AuditEvent.basedOn
AuditEvent.patient
AuditEvent.encounter
AuditEvent.agent S C I (5) S I (2) S I (2) S I (2) S I (2) S I (2) S I (2) S C (3) S I (2) S I (2) S I (2) S I (2) S I (2) S I (2) S I (2) S I (2) S I (2) S C I (5) S C I (3) S C I (3) S C (4) S I (2) S I (2) S I (2) S I (2) S I (2) S I (2) S I (2) S I (2) S C I (3) S C I (3) S I (2) S I (2) S C (4) S C (4) S C (4) S C (4) S C (4) S C (4) S C (2) S C (2) S C (3) S C (4) S C (2) S C I (5) S C (4) S C (4) S C (2)
AuditEvent.agent.altId C (3) C (4) C
AuditEvent.agent.purposeOfUse D C (3) C (4)
AuditEvent.agent.name D C (2) C (4) C (3)
AuditEvent.agent.media C (3) C (3) C (3) C (3) C (3) C (3) C (3) C C (2) C (3) C C (4) C (3) C
AuditEvent.agent.network C (2) C (2) C (2) C (2) C (2) C (3) C (2) C (2) C (3) C (3) C (3) C (3) C (3) C (3) C C (2) C (3) C C (4) C (3)
AuditEvent.agent.network.type C (2)
AuditEvent.agent.network.address C (2)
AuditEvent.agent.extension S C (13) S C (5) S C (6)
AuditEvent.agent.extension.value[x]
AuditEvent.agent.extension.value[x].extension S C
AuditEvent.agent.extension.value[x].value C (3)
AuditEvent.agent.extension.value[x].type F (3) F (2)
AuditEvent.agent.modifierExtension
AuditEvent.agent.type C F (4) C F (2) C F (4) C F (2) C F (2) C F (3) C F (2) C F (2) C F B M (3) C F B M (3) C F (3) C F (3) C F (3) C F B M (3) C F C F C F (2) C F (3) C F C F (4) C F (3) C F
AuditEvent.agent.role D C (3) C (4) C B M (3)
AuditEvent.agent.who C (4) C (2) C (4) C (2) C (2) C (3) C (2) C (2) C C (3) C (3) C (3) C (3) C (3) C (3) C D (2) C C C (4) C (3) C (3) C
AuditEvent.agent.who.display C
AuditEvent.agent.who.identifier C (2) C
AuditEvent.agent.who.identifier.system
AuditEvent.agent.who.identifier.value C (2) C (2) C
AuditEvent.agent.requestor F F F F F F F F F F F F (3) F F (3) F (3) F
AuditEvent.agent.location C (2) C (4)
AuditEvent.agent.policy C C D C C (3) C C (4)
AuditEvent.agent.network[x]
AuditEvent.agent.authorization
AuditEvent.source
AuditEvent.source.extension
AuditEvent.source.modifierExtension
AuditEvent.source.site
AuditEvent.source.observer
AuditEvent.source.type
AuditEvent.entity S C (2) S S (2) S (2) S (2) S (2) S S (2) S S C (3) S (2) S (2) S (2) S (2) S (2) S C (2) S C (2) S (2) S (2) S C (2) S C (3) S C (3) S S S S C (3) S (2) S (2) S S S S S (2) S (2) S C (2) S C (2) S C S C S C S C S S S C (3) S C (2) S C (3) S C (2) S C (3) S C (3) S C (2) S C (3) S C (2) S C (3) S C (2) S C (2) S C (4) C S C (3)
AuditEvent.entity.lifecycle C C C
AuditEvent.entity.name F
AuditEvent.entity.type C F C F (2) C F C F F F C F C F (2) C F (2) C F (2) C F C F C F C F C F C F C F (2) C F C F (2) C F C F (2) C F (2) C F C F (2) C F C F (2) C F C F C F (3) F (2)
AuditEvent.entity.extension
AuditEvent.entity.modifierExtension
AuditEvent.entity.what C C (2) C C C C (2) C (2) C C C C C C C C C C C C C C C C C C C (3) C (2)
AuditEvent.entity.what.identifier C C C C C C C C
AuditEvent.entity.what.identifier.value C C C C C C C C
AuditEvent.entity.what.reference C (2) C C (2) C C
AuditEvent.entity.role F F F F F F F F F F (2) F (2) F F F F F F F F F F F F F F F F B M F B M F F F F B M F B M F F C C F (2)
AuditEvent.entity.role.system F
AuditEvent.entity.securityLabel
AuditEvent.entity.query C C C C
AuditEvent.entity.detail C C C S C (3) C
AuditEvent.entity.detail.extension
AuditEvent.entity.detail.modifierExtension
AuditEvent.entity.detail.type F (2)
AuditEvent.entity.detail.value[x] (2)
AuditEvent.entity.agent
S: There is slicing defined in the element(s)
C: There is cardinality erstrictions defined in the element(s)
I: There is invariants defined in the element(s)
F: There is a fixed or pattern value defined in the element(s)
D: There is document provided in the element(s)
B: There is terminology bindings defined in the element(s)
M: At least one of the element(s) has must-support = true
(N): The number of elements if > 1

Produced 08 Sep 2023