Audit logs for every action.
Every change made in the clinic is written down with the person behind it, the record it touched, and exactly what changed. The log is readable and never rewritten.
- Append only
- Field-level diff
- Filters
- Attributed
What the log remembers
Every change, with the person and the fields behind it.
The change itself
An update stores a structured record of which fields changed and what they changed from, rather than a line saying the record was edited.
Who, and to what
Each entry names the user, the entity it touched and the action taken, which is what makes the log usable rather than merely present.
Where it came from
The entry keeps the IP address, and for the mobile app the client, the device and the app version.
Written once
The API exposes the log for reading and nothing else, so an entry cannot be edited or deleted from the product.
Findable
Filter by entity, by action, by user and by date range before deciding the log is too big to read.
What it does not do
- Exporting the log to a file
- A stated retention period