Audit Record Repository
Overview
The Founda Health Platform aims to provide first-class event logging and auditing. To do so in a consistent way, it complies with the IHE Audit Trail and Node Authentication (ATNAm) Profile supporting the following actors:
- Audit Record Repository (ARR)
- Secure Node
And supporting the following ITI transactions:
- ITI-20: Record audit event
- ITI-81: Retrieve audit event

As can be seen in the diagram above, the Founda Health Platform in its entirety assumes the role of a Secure Node. All auditable events related to processing, reading and transforming patient data are retrievable in the Founda Audit Record Repository. Next to patient data, activity of users on the platform as well as API gateway interactions can be retrieved as audit records, if the nature of such activities is significant (e.g. a user's permissions are changed).
In addition, as the diagram showcases, Hospitals and Applications acting as Secure Nodes or Secure Applications themselves, can choose to utilize Founda’s ARR to store auditable events taken place in their systems.
This document is a guide on how to interact with Founda’s ARR and it contains a lot of information from the IHE and FHIR specification. However the Request and Response examples should be enough to get you started.
Audit Record Repository
The Audit Record Repository, as described in the IHE ATNA profile specification, receives and persists audit records according to transaction ITI-20. The Audit Record Repository, also, can be used to search and retrieve audit records, according to the ITI-81 transaction.
The Founda Health Gateway has implemented these two transactions according to this supplement. This supplement extends the functionalities of the ATNA Profile by introducing RESTful operations that could be used to submit and retrieve audit records. This allows light weight applications to easily manage the creation of, and the access to audit information. This supplement is based on the FHIR protocol and uses FHIR AuditEvent Resources in order to exchange audit records content.
Note that all audit event records are stored in the repository with a timestamp transformed to UTC+00 time.
Finally all section numbers mentioned from this point on are from the ATNAm supplement.
Record Audit Event (ITI-20)
The Founda Health Gateway supports the following two different interactions that can be used for auditing:
- The “Send Audit Resource Request Message - FHIR Feed Interaction” which is used for auditing a single FHIR AuditEvent Resource using RESTful protocol (see Section 3.20.4.2).
- The “Send Audit Bundle Request Message - FHIR Feed Interaction” which is used for auditing a bundle of FHIR AuditEvent Resources using RESTful protocol (see Section 3.20.4.4).
Send Audit Event Resource
Request
Send a POST request to endpoint https://api.eu.founda.com/1/health/organizations/{organizationId}/fhir/4/AuditEvent in order to create a new audit record to the repository. The payload should be a FHIR4 AuditEvent and it can be in either JSON or XML format.
An example AuditEvent payload showing a user login audit record:
Response
If the operation is successful the response is 201 Created HTTP status code sets the location header to https://api.eu.founda.com/1/health/organizations/{organizationId}/fhir/4/AuditEvent/{id}.
Send Audit Bundle Request Message
Request
Send a POST request to endpoint https://api.eu.founda.com/1/health/organizations/{organizationId}/fhir/4/ in order to create multiple audit records to the repository with one request. The payload should be a FHIR4 Bundle with type batch and it can be in either JSON or XML format. More information about processing FHIR4 Bundles with batch type can be found here.
An example FHIR4 Bundle payload:
Response
The response is again a FHIR4 Bundle that contains a response property for each element of the entry array property, stating the outcome of the processing of each element.
An example response Bundle:
Retrieve Audit Event (ITI-81)
Founda Health Gateway supports the search and retrieval of audit records from Audit Record Repository according to ITI-81 transaction.
This transaction supports the retrieval of ATNA audit records from the Audit Record Repository in accordance with a set of search parameters that determine the retrieved event reports. This transaction enables an Audit Consumer to search audit events that an Audit Record Repository created via the Record Audit Event (ITI-20) transaction.
Request
Send a GET request to https://api.eu.founda.com/1/health/organization/{organizationId}/fhir/4/AuditEvent?date=ge[start-time]&date=le[stop-time]&<query> where:
- Multiple search parameters shall only be combined using "&" (AND) operator.
- <query>, if present, represents a series of encoded name-value pairs representing filters for the search. All query parameters listed in section 3.81.4.1.2.2 are supported.
Each date parameter can have a prefix that controls the nature of the matching. The list of the supported prefixes is:
- gt: greater than
- ge: greater or equal than
- le: less or equal than
- lt: less than
- eq: equal
Response
The response is a FHIR4 Bundle containing any results matching the query.
An example response Bundle:
Secure Node
The Founda Health Platform as a Secure Node meets the following criteria:
- Use the Authenticate Node transaction for all network connections to or from the Founda Health Gateway that may expose private information as specified in ITI TF-2:3.19.
- Provide sufficient authentication methods, based on risk assessment, to ensure that only authorized users access the Founda Health Platform.
- All of the activity-related events for the Founda Health Platform
- All transaction-related events for the Founda Health Gateway