Audit Logging

SkillDatabases & data

Work on HFS audit logging. Use for FHIR AuditEvent, IHE BALP profiles, audit sinks (database/file/CloudWatch), path exclusions, and HFS_AUDIT_* configuration.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Audit Logging skill

What this skill tells your AI

The instructions your AI receives, as published by heliossoftware/hfs in .agents/skills/work-with-audit/SKILL.md and read by ahel’s review.

Use this when working in helios-audit. The crate emits FHIR AuditEvent records (IHE BALP profiles) for HFS interactions. It is consumed by helios-rest, helios-hfs, and helios-persistence; middleware records request/response activity and writes to a configured sink.

Behavior

  • Off by default (HFS_AUDIT_BACKEND=none). Choose a backend to enable auditing.
  • BALP AuditEvents use the R4-family AuditEvent model. R5/R6 builds alias to R4B as the BALP baseline (R5/R6 restructured AuditEvent).
  • Paths can be excluded (e.g. /health, /metadata) via HFS_AUDIT_EXCLUDE_PATHS.
  • AuditEvent.source.observer defaults to Device/hfs (HFS_AUDIT_SOURCE_OBSERVER).

Backends (HFS_AUDIT_BACKEND)

ValueSink
none (default)disabled (NullSink)
fileNDJSON to HFS_AUDIT_FILE_PATH
database / dbDatabaseSinkHFS_AUDIT_DATABASE_URL (SQL); MongoDB via HFS_AUDIT_MONGODB_DATABASE
cloudwatch / cloudwatch-logs / cwlCloudWatch Logs — requires --features cloudwatch

Environment

VariableDefaultDescription
HFS_AUDIT_BACKENDnoneSink selection (see table)
HFS_AUDIT_FILE_PATHnoneFile sink output path
HFS_AUDIT_DATABASE_URLnoneDatabase sink connection
HFS_AUDIT_MONGODB_DATABASEnoneMongoDB database name for the database sink
HFS_AUDIT_EXCLUDE_PATHSnoneComma-separated paths to skip
HFS_AUDIT_SOURCE_OBSERVERDevice/hfsAuditEvent.source.observer reference
HFS_AUDIT_CLOUDWATCH_LOG_GROUP / _LOG_STREAM / _REGIONnoneCloudWatch Logs target
HFS_AUDIT_S3_BUCKET / _PREFIX / _REGION / _VALIDATE_BUCKETSnoneS3-related sink fields

Features

default = ["R4"]; R4/R4B/R5/R6 select the FHIR AuditEvent model (R5/R6 pull the R4B baseline). cloudwatch enables the CloudWatch Logs sink.

Key API

AuditConfig / AuditBackend, AuditEventBuilder, AuditMiddlewareState / AuditAgent / AuditResponseContext, AuditSink (DatabaseSink, FileSink, CloudWatchLogsSink, NullSink), ExclusionFilter, AuditCorrelation / BundleAuditEntry, AuditAction.

Code map / tests

config.rs, middleware.rs, balp.rs, builder.rs, sinks/ (database, file, cloudwatch, null), exclusion.rs, correlation.rs, lifecycle.rs, patient.rs. CI: .github/workflows/audit-events.yml. Unit tests inline in src/; integration tests under crates/audit/tests/ where present.

Signals

GitHub stars
51
Forks
19
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
work-with-audit
Source
github.com/heliossoftware/hfs