Skip to main content

ATNA audit configuration

JamBridge writes an IHE ATNA AuditEvent for every transaction. Audit writing is fully asynchronous and never blocks the ACK path.

Dual transport​

JamBridge supports two ATNA transports simultaneously:

1. RFC 5425 TLS syslog​

Industry-standard ATNA transport. Requires syslog-ng with TLS listener.

BridgeConfig.yaml
bridge:
audit:
transport: syslog-tls
syslog-host: auditstore.internal
syslog-port: 6514
syslog-tls:
keystore: classpath:audit-client.p12
keystore-password: ${AUDIT_KEYSTORE_PASSWORD}
truststore: classpath:audit-ca.jks

2. BALP FHIR AuditEvent​

Newer approach — AuditEvents are FHIR resources stored in HAPI FHIR. Queryable by patient, actor, time, and outcome.

BridgeConfig.yaml
bridge:
audit:
transport: fhir-balp
fhir-balp-url: http://hapi:8080/fhir

Both transports​

bridge:
audit:
transport: both

Recommended for production — syslog-ng for non-repudiation, FHIR AuditEvent for patient-facing audit queries.

AuditEvent query​

Query all audit events for a patient:

GET /fhir/AuditEvent?patient=Patient/GOLDEN-00441&date=ge2026-06-01
Host: hapi:8080

Query all consent denials:

GET /fhir/AuditEvent?outcome=8&type=110106