Skip to content

About

A pure-Rust shared IHE audit library for the FerroHEALTH family: ATNA (ITI-20) and BALP.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

95 Commits

Folders and files

Repository files navigation

FerroAUDIT

The audit trail of the FerroHEALTH products: who looked at which patient's data, recorded the standard way.

Documentation · Quick start · What ships today · Licensing

Project
Release CI License: BUSL-1.1 Docs

Quality and security
OpenSSF Scorecard CodeQL Signed releases SLSA Build L3

Conformance and compliance
EHDS

What FerroAUDIT does

Patients and regulators have a right to know who looked at a health record. Every access to patient data has to be written down, kept safely and handed to the people who check it. FerroAUDIT does that for every FerroHEALTH product, in the formats hospitals already use, so their audit systems can read the records without a custom connection.

It writes each access as a standard audit record (IHE ATNA, the profile hospitals use for audit trails), sends it to the hospital's audit repository, and keeps it in a local queue until the repository confirms it, so a record is never lost when the network is down. It also records what the European Health Data Space regulation asks of an electronic health record system: which categories of data were read, by whom, and how long the record is kept.

Who it is for

  • Privacy officers and hospital IT, who receive the audit trail of every FerroHEALTH product in their existing audit repository.
  • Developers of health software in Rust, who need ATNA and EHDS logging without writing it again.

Why you can trust what it claims

Every release is signed and carries SLSA build provenance, so you can check that the crate you use is the one built here. The source is public, and every function is in this repository: there is no paid edition with extra features. A record names a patient toward its repository and nowhere else, and a record the queue cannot take is refused at once, so nothing is dropped silently. The IHE and EU texts the crates implement are vendored at the versions docs/VERSIONS.md pins, so you can check each record against its standard.

Part of FerroHEALTH

FerroHEALTH is five servers, each its own product, that reach each other only over published standards: FerroEHR stores the record, FerroBRIDGE translates it to FHIR and the OMOP research model, FerroFED connects records across organisations and borders, FerroPIX matches patient identities, and FerroTERM serves the code systems (the shared lists of medical terms). Work that every server needs lives in three shared libraries: FerroAUTH for sign-in and access control, FerroAUDIT for the audit trail, and FerroUI for the web consoles. FerroEHR, FerroFED and FerroPIX send their audit records through FerroAUDIT, and each keeps its own audit store.

Quick start

Add the crates to a Rust project:

cargo add ihe-atna@=0.3.3 --features balp
cargo add ehds-logging@=0.3.3 --features balp

Pin the versions exactly. The crate documentation on docs.rs is the integration guide, and docs/architecture.md has the design.

What ships today

Published crates (2)
Crate What it does Version Docs Downloads
ihe-atna The IHE audit trail: ATNA (ITI-20) over syslog and TLS, BALP AuditEvents over the FHIR feed, the spool and forwarder, and ITI-81 retrieval crates.io docs.rs downloads
ehds-logging The EHDS logging component: the Annex II 3.2 access record, its categories and retention, written as a BALP AuditEvent crates.io docs.rs downloads

Learn more

Licence

Business Source License 1.1 (LICENSE), with Apache License 2.0 as the Change License four years after each version; the licensing page says when you need a commercial licence from Cadasto B.V.

About

A pure-Rust shared IHE audit library for the FerroHEALTH family: ATNA (ITI-20) and BALP.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages