IHE ATNA Transactions
Security and auditing requirements
Reference: www.ihe.net › uploadedFiles › Documents › ITI › IHE_ITI_TF_Vol1
Standards – ATNA
Audit Trail [ITI-20]
Trigger Events
The following audit events SHALL be recorded by the actors:
| Event | Description |
|---|---|
| Actor-start-stop (ITI-20) | Describes the event of an actor (i.e. Application) startup and shutdown. |
| User Authentication (ITI-20) | Describes the event of a user log-on or log-off and whether it was successful or not. |
| Query Information (ITI-20) | Describes audit events associated with the following ITI-21 trigger events: Q22 - Find Candidates, K22 - Find Candidates response. |
Node Authentication [ITI-19]
- Mutual TLS used to authenticate the 3rd Party node.
- 3rd Party application required to secure access to its own application with login credentials.
Integrator Checklist Requirement
As part of the 3rd Party integration process, integrators must:
Provide proof of required ATNA logging.
IHE ATNA Trigger Event: Query Information
From Health Interoperability Documentation
The Query Information trigger event is used in the following interoperability specifications:
- Patient lookup from HPRS
Patient Demographics Consumer audit message
This audit message describes the event of a query being submitted by a Patient Demographics Consumer actor, say as part of an IHE transaction like ITI-21 Patient Demographics Query. The general guidance is to log the query event with the query parameters which can be used effectively to detect bad behaviour.
Patient Demographics Consumer audit message - A.5.3.10-1. Audit Message for Query
Event
AuditMessage / EventIdentification
| Field Name | Opt | Value Constraints | Example |
|---|---|---|---|
| EventID | M | EV(110112, DCM, "Query") | <EventID code="110112" displayName="Query" codeSystemName="DCM"/> |
| EventActionCode | M | Enumerated Value: E = Execute | <EventIdentification EventActionCode="E" ... > |
| EventDateTime | M | not specialized | <EventIdentification ... EventDateTime="2016-07-20T17:27:32.049+02:00" ... > |
| EventOutcomeIndicator | M | not specialized | <EventIdentification ... EventOutcomeIndicator="0"> |
| EventTypeCode | M | EV("ITI-21", "IHE Transactions", "Patient Demographics Query") | <EventTypeCode code="ITI-21" displayName="Patient Demographics Query" codeSystemName="IHE Transactions"/> |
Source
AuditMessage / ActiveParticipant
| Field Name | Opt | Value Constraints | Example |
|---|---|---|---|
| UserID | M | The identity of the Patient Demographics Consumer Actor facility and sending application from the HL7 message; concatenated together, separated by the ¦ character. | <ActiveParticipant UserID="DOH_STANZA_BOPAPE_II_CLINIC^www.health.gov.za/stanza-bopape-ii-clinic^URI¦CELLNOSTICS^www.csir.co.za/msm/cellnostics^URI" ...> |
| AlternativeUserID | U | The process ID as used within the local operating system in the local system logs formatted as specified in A.5.2.1. | <ActiveParticipant UserID="9582" ... > |
| UserName | U | not specialized | |
| UserIsRequestor | U | not specialized | <ActiveParticipant ... UserIsRequestor="true" ... > |
| RoleIDCode | M | EV(110153, DCM, "Source") | <RoleIDCode code="110153" displayName="Source" codeSystemName="DCM"/> |
| NetworkAccessPointTypeCode | M | "1" for machine (DNS) name, "2" for IP address | <ActiveParticipant ... NetworkAccessPointTypeCode="2"> |
| NetworkAccessPointID | M | The machine name or IP address | <ActiveParticipant ... NetworkAccessPointID="127.0.1.1" ... > |
Human Requestor (if known)
AuditMessage / ActiveParticipant
| Field Name | Opt | Value Constraints | Example |
|---|---|---|---|
| UserID | M | Identity of the human that initiated the transaction. | <ActiveParticipant UserID="MaternalHealthUseCaseTest" ... > |
| AlternativeUserID | U | not specialized | |
| UserName | U | not specialized | |
| UserIsRequestor | U | not specialized | <ActiveParticipant ... UserIsRequestor="false" ... > |
| RoleIDCode | U | Access Control role(s) the user holds that allows this transaction. | |
| NetworkAccessPointTypeCode | NA | ||
| NetworkAccessPointID | NA |
Destination
AuditMessage / ActiveParticipant
| Field Name | Opt | Value Constraints | Example |
|---|---|---|---|
| UserID | M | The identity of the Patient Demographics Source facility and receiving application from the HL7 message; concatenated together, separated by the ¦ character. | <ActiveParticipant UserID="CSIR_MERAKA^www.csir.co.za/meraka^URI¦CSIR_HIE^www.hie-dev.dhcp.meraka.csir.co.za^URI" .../> |
| AlternativeUserID | U | The process ID as used within the local operating system in the local system logs. | |
| UserName | U | not specialized | |
| UserIsRequestor | U | not specialized | <ActiveParticipant ... UserIsRequestor="false" ... > |
| RoleIDCode | M | EV(110152, DCM, "Destination") | <RoleIDCode code="110152" displayName="Destination" codeSystemName="DCM"/> |
| NetworkAccessPointTypeCode | M | "1" for machine (DNS) name, "2" for IP address | <ActiveParticipant ... NetworkAccessPointTypeCode="1"> |
| NetworkAccessPointID | M | The machine name or IP address | <ActiveParticipant ... NetworkAccessPointID="hie.meraka.csir.co.za" ... > |
Audit Source
AuditMessage / AuditSourceIdentification
| Field Name | Opt | Value Constraints | Example |
|---|---|---|---|
| AuditSourceID | U | not specialized | <AuditSourceIdentification AuditSourceID="PatientDemographicsConsumer"/> |
| EventActionCode | U | not specialized | |
| AuditSourceTypeCode | U | not specialized |
Patient
AuditMessage / ParticipantObjectIdentification
| Field Name | Opt | Value Constraints | Example |
|---|---|---|---|
| ParticipantObjectTypeCode | M | "1" (Person) | <ParticipantObjectIdentification... ParticipantObjectTypeCode="1"...> |
| ParticipantObjectTypeCodeRole | M | "1" (Patient) | <ParticipantObjectIdentification... ParticipantObjectTypeCodeRole="1"> |
| ParticipantObjectDataLifeCycle | U | not specialized | |
| ParticipantObjectIDTypeCode | M | not specialized | <RoleIDCode code="2" displayName="Patient Number" codeSystemName="RFC-3881"/> |
| ParticipantObjectSensitivity | U | not specialized | |
| ParticipantObjectID | M | The patient ID in HL7 CX format. | <ParticipantObjectIdentification ParticipantObjectID="9109199019099^^^DHA&www.home-affairs.gov.za&URI" ParticipantObjectTypeCode="1" ParticipantObjectTypeCodeRo... |
| ParticipantObjectName | U | not specialized | |
| ParticipantObjectQuery | U | not specialized | |
| ParticipantObjectDetail | U | not specialized |
Query Parameters
AuditMessage / ParticipantObjectIdentification
| Field Name | Opt | Value Constraints | Example |
|---|---|---|---|
| ParticipantObjectTypeCode | M | "2" (system object) | <ParticipantObjectIdentification... ParticipantObjectTypeCode="2"...> |
| ParticipantObjectTypeCodeRole | M | "24" (query) | <ParticipantObjectIdentification... ParticipantObjectTypeCodeRole="24"...> |
| ParticipantObjectDataLifeCycle | U | not specialized | |
| ParticipantObjectIDTypeCode | M | EV("ITI-21", "IHE Transactions", "Patient Demographics Query") | <RoleIDCode code="ITI-21" displayName="Patient Demographics Query" codeSystemName="IHE Transactions"/> |
| ParticipantObjectSensitivity | U | not specialized | |
| ParticipantObjectID | U | not specialized | |
| ParticipantObjectName | U | not specialized | |
| ParticipantObjectQuery | M | The complete query message (including MSH and QPD segments), base64 encoded. | <ParticipantObjectQuery>TVSIfF5+XCZ8Q0VMTE5PU1RJQ1Ned3d3LmNzaXIuY28uemEvbXNtL2NlbGxub3N0aWNzXlVSSXxET0hfU1RBTlpBX0JPUEFQRV9JSV9DTElOSUNed3d3LmhlYWx0aC5nb3YuemEv... |
| ParticipantObjectDetail | M | Type=MSH-10 (the literal string), Value=the value of MSH-10 (from the message content, base64 encoded) | <ParticipantObjectDetail type="MSH-10" value="MzcxNDEyMTE3NjE1MjA5NTQzNw=="/> |
Patient Demographics Source audit message
This audit message describes the event of a query result being returned by a Patient Demographics Source actor, say as part of an IHE transaction like ITI-21 Patient Demographics Query. The general guidance is to log the query event with the query parameters which can be used effectively to detect bad behaviour.
Patient Demographics Source audit message - A.5.3.10-1. Audit Message for Query
Event
AuditMessage / EventIdentification
| Field Name | Opt | Value Constraints | Example |
|---|---|---|---|
| EventID | M | EV(110112, DCM, "Query") | <EventID code="110112" displayName="Query" codeSystemName="DCM"/> |
| EventActionCode | M | Enumerated Value: E = Execute | <EventIdentification EventActionCode="E" ... > |
| EventDateTime | M | not specialized | |
| EventOutcomeIndicator | M | not specialized | <EventIdentification ... EventOutcomeIndicator="0"> |
| EventTypeCode | M | EV("ITI-21", "IHE Transactions", "Patient Demographics Query") | <EventTypeCode code="ITI-21" displayName="Patient Demographics Query" codeSystemName="IHE Transactions"/> |
Source
AuditMessage / ActiveParticipant
| Field Name | Opt | Value Constraints | Example |
|---|---|---|---|
| UserID | M | The identity of the Patient Demographics Consumer Actor facility and sending application from the HL7 message; concatenated together, separated by the ¦ character. | <ActiveParticipant UserID="DOH_STANZA_BOPAPE_II_CLINIC^www.health.gov.za/stanza-bopape-ii-clinic^URI¦CELLNOSTICS^www.csir.co.za/msm/cellnostics^URI" AlternativeUserID="9582" UserIsRequestor="true" NetworkAccessPointID="127.0.1.1" NetworkAccessPointTypeCode="2"> |
| AlternativeUserID | U | The process ID as used within the local operating system in the local system logs. | |
| UserName | U | not specialized | |
| UserIsRequestor | M | not specialized | |
| RoleIDCode | M | EV(110153, DCM, "Source") | |
| NetworkAccessPointTypeCode | M | "1" for machine (DNS) name, "2" for IP address | |
| NetworkAccessPointID | M | The machine name or IP address |
Destination
AuditMessage / ActiveParticipant
| Field Name | Opt | Value Constraints | Example |
|---|---|---|---|
| UserID | M | The identity of the Patient Demographics Source (alt Patient Demographics Supplier) facility and receiving application from the HL7 message; concatenated together, separated by the ¦ character. | |
| AlternativeUserID | U | The process ID as used within the local operating system in the local system logs. | |
| UserName | U | not specialized | |
| UserIsRequestor | M | not specialized | |
| RoleIDCode | M | EV(110152, DCM, "Destination") | |
| NetworkAccessPointTypeCode | M | "1" for machine (DNS) name, "2" for IP address | |
| NetworkAccessPointID | M | The machine name or IP address |
Audit Source
AuditMessage / AuditSourceIdentification
| Field Name | Opt | Value Constraints | Example |
|---|---|---|---|
| AuditSourceID | U | not specialized | |
| EventActionCode | U | not specialized | |
| AuditSourceTypeCode | U | not specialized |
Patient
AuditMessage / ParticipantObjectIdentification
| Field Name | Opt | Value Constraints | Example |
|---|---|---|---|
| ParticipantObjectTypeCode | M | "1" (Person) | <ParticipantObjectIdentification ParticipantObjectID="9109199019099^^^DHA&www.home-affairs.gov.za&URI" ParticipantObjectTypeCode="1" ParticipantObjectTypeCodeRole="1"> |
| ParticipantObjectTypeCodeRole | M | "1" (Patient) | <ParticipantObjectIDTypeCode code="2" displayName="Patient Number" codeSystemName="RFC-3881"/> |
| ParticipantObjectDataLifeCycle | U | not specialized | |
| ParticipantObjectIDTypeCode | M | not specialized | |
| ParticipantObjectSensitivity | U | not specialized | |
| ParticipantObjectID | M | The patient ID in HL7 CX format. | |
| ParticipantObjectName | U | not specialized | |
| ParticipantObjectQuery | U | not specialized | |
| ParticipantObjectDetail | U | not specialized |
Query Parameters
AuditMessage / ParticipantObjectIdentification
| Field Name | Opt | Value Constraints | Example |
|---|---|---|---|
| ParticipantObjectTypeCode | M | "2" (system object) | <ParticipantObjectIdentification ParticipantObjectID="" ParticipantObjectTypeCode="2" ParticipantObjectTypeCodeRole="24"> |
| ParticipantObjectTypeCodeRole | M | "24" (query) | |
| ParticipantObjectDataLifeCycle | U | not specialized | |
| ParticipantObjectIDTypeCode | M | EV("ITI-21", "IHE Transactions", "Patient Demographics Query") | <ParticipantObjectIDTypeCode code="ITI-21" displayName="Patient Demographics Query" codeSystemName="IHE Transactions"/> |
| ParticipantObjectSensitivity | U | not specialized | |
| ParticipantObjectID | U | not specialized | |
| ParticipantObjectName | U | not specialized | |
| ParticipantObjectQuery | M | The complete query message (including MSH and QPD segments), base64 encoded. | <ParticipantObjectQuery>TVN...Nw=="/> |
| ParticipantObjectDetail | M | Type=MSH-10 (the literal string), Value=the value of MSH-10 (from the message content, base64 encoded) | <ParticipantObjectDetail type="MSH-10" value="Mz...Nw=="/> |

