Wednesday, July 29, 2026

Why Patients Don’t Get Detailed Audit Logs — And Why We Still Need to Record Them

Healthcare generates an enormous amount of digital exhaust. Every lookup, every exchange, every routing hop, every system‑to‑system handshake leaves behind an audit trail. Yet patients rarely see any of it — and, importantly, U.S. regulations do not require that they do.

This creates a paradox: Audit logs are essential for trust, accountability, and safety, but giving them directly to patients would overwhelm more than empower.

In this article, I’ll unpack the regulatory reality, explain why audit logging still matters, and show how standards like FHIR AuditEvent and IHE Basic Audit Log Patterns (BALP) provide the foundation for meaningful transparency — including future patient‑facing safety tools.

Patients Don’t Get Full Access Logs — And That’s By Design

Let’s start with the misconception: There is no U.S. regulation requiring healthcare organizations to give patients a detailed log of every access, use, or disclosure of their data. (Note that GDPR in the EU is far more actionable, so those in that region can skip to the next section)

HIPAA’s Accounting of Disclosures sounds like it might do this, but it doesn’t. It excludes:

  • Treatment

  • Payment

  • Healthcare operations

  • Most internal access

  • Most external exchange

  • Most analytics

  • Most quality improvement

  • Most care management

  • Most research

  • Anything with patient authorization

In other words, HIPAA’s accounting requirement covers only a narrow slice of activity — mostly only the activity that the patient had to be directly involved in requesting or authorizing (explicit consent). Thus, this report is not all that useful.

TEFCA Changes the Landscape — But Only Slightly

TEFCA introduces something new: QHINs must support patient access to a report of where their data was exchanged through TEFCA.

This is meaningful, but limited:

  • It applies only to TEFCA-governed exchange

  • It reports exchange, not use

  • It does not include internal access

  • It does not include non‑TEFCA exchange

  • It does not include analytics or operational uses

TEFCA is a step toward transparency, but not a full “data use report.”

So Why Record Detailed Audit Logs If Patients Don’t See Them?

Because audit logs serve three critical purposes:

1. Regulatory Compliance (Even If Not Patient-Facing)

HIPAA, HITECH, TEFCA, CMS, and state laws all require organizations to maintain audit trails. Even if patients don’t receive them, regulators may demand them.

2. Security and Abuse Detection

Audit logs are the backbone of:

  • Insider threat detection

  • Account compromise detection

  • Access pattern analysis

  • Breach investigation

  • Forensics

Without detailed logs, organizations cannot detect misuse or prove compliance.

3. Future Patient-Facing Transparency Tools

Even though patients don’t get raw logs, they will benefit from tools built on top of them.

This is where standards matter.

FHIR AuditEvent + IHE BALP: The Foundation for Trustworthy Logging

FHIR AuditEvent provides a structured, interoperable way to record:

  • Who accessed data

  • What they accessed

  • When

  • From where

  • Under what purpose

  • Using what authentication

  • Through what system

  • With what outcome

IHE Basic Audit Log Patterns (BALP) adds:

  • Consistent patterns for common events

  • Reusable structures

  • Cross‑system interoperability

  • Guidance for routing audit logs

  • Patterns for retention and disclosure

Together, they create a uniform audit fabric across systems — something TEFCA participants, QHINs, and EHR vendors can all rely on.

Why Patients Shouldn’t Receive Raw AuditEvent Logs

Even though AuditEvent is structured, it is still machine‑level detail.

A typical AuditEvent entry might include:

  • IP addresses

  • OAuth token identifiers

  • System‑to‑system routing metadata

  • Internal user IDs

  • Service account activity

  • Background processes

  • Automated system checks

  • Batch operations

  • Retry attempts

  • Internal queue processing

Giving this directly to patients would create:

  • Information overload

  • Misinterpretation (“Why did 17 different systems access my record at 2 AM?”)

  • False alarms

  • Support burden

  • Privacy risks (exposing internal system architecture and monkey business)

Patients need meaning, not machine logs.

The Future: Patient Safety Apps That Watch Audit Logs for Them

The real opportunity is not patient access to raw logs — it’s patient access to insights derived from logs.

Imagine an app that:

  • Monitors AuditEvent streams

  • Learns normal access patterns

  • Detects anomalies

  • Flags unusual access

  • Alerts the patient only when something looks wrong

Examples:

  • A provider in another state accessed your record

  • A system account accessed your data outside normal hours

  • A TEFCA participant requested your data for an unusual purpose

  • A pattern suggests credential compromise

  • A sudden spike in access suggests a breach


This is machine learning + audit logs + patient empowerment.

It’s the same principle as fraud detection in banking: You don’t get a list of every transaction routing hop — you get an alert when something looks off.

Conclusion: Logs Matter — Even When Patients Don’t See Them

Patients don’t get detailed access logs today, and regulations don’t require it. But detailed audit logging is still essential — not for patient consumption, but for:

  • Compliance

  • Security

  • Forensics

  • TEFCA reporting

  • Future patient‑facing safety tools

FHIR AuditEvent and IHE BALP give us the technical foundation. TEFCA gives us the regulatory nudge. The next step is building patient‑friendly applications that turn audit logs into actionable safety signals.

That’s how we move from “audit logging as compliance” to audit logging as patient protection.


Thursday, July 16, 2026

Profiling AuditEvent seems to be an emerging need

Watching the report outs for the CMS FHIR Connectathon. Many are mentioning that they see a need to profile AuditEvent for their use-case needs to support data access traceability, privacy tracking, and provenance. I very much agree with this. 

IHE has the starter kit with the Basic Audit Log Patterns (BALP)  Implementation Guide defines the basics and has some profiles for common REST interactions.

I often need to remind people that defining AuditEvent profiles can be supported purely as a Query interface. In this case the system keeps their audit log in their native format, but knows how to convert that into the FHIR Standard AuditEvent when queried.

I would be glad to provide pointed and short-term consulting -- see Moehrke Research LLC 

Wednesday, July 15, 2026

proud owner of an OID root

Now that HL7 is bringing back the OID, as CDA can only handle OIDs and not URL system values. I went and registered with iana for my own OID. It is not important to do this, but it is free. Now all of the test IGs that I have in my personal github can have their own OID root so that I don't need to constantly indicate in the ignorewarnings.txt that it is okay that my test IGs don't have OID assignments.

My assigned OID root: 1.3.6.1.4.1.66281

I have been using the official example OID root: 2.999; which is the equivalent of the DNS example.com, or example.org. I have used this 2.999 OID root with the IG publisher, which I felt was an appropriate defiance. Unfortunately, it just changes the warning.

I have a page that I refer to often on creating and using Unique IDs - UUID - OID

On that article I did add comments that explained the 2.999 OID root. -- https://oid-base.com/get/2.999

I have also noted that USA SSN has reserved those SSN numbers starting with 666. I have not seen an official statement to this, but plenty of confirmations. The concept is that they know they can't issue a 666. number to someone as that someone would see it as the USA government labeling them with the mark of the devil. So when I make test patients, I give them SSN starting with 666-.