Skip to content

Latest commit

 

History

History
91 lines (74 loc) · 5.22 KB

File metadata and controls

91 lines (74 loc) · 5.22 KB

HIPAA Compliance Matrix

This document maps each TransTrack function and component to the applicable HIPAA regulatory requirements, documenting the current implementation status.

Regulatory Reference

  • HIPAA Security Rule: 45 CFR Part 164, Subpart C
  • HIPAA Privacy Rule: 45 CFR Part 164, Subpart E
  • FDA 21 CFR Part 11: Electronic Records and Signatures

No AATB conformance is claimed; see COMPLIANCE.md for why that claim was withdrawn.


Function-Level Compliance

Function HIPAA Rule Requirement Implementation Status
calculatePriority.ts 164.312(b) Audit Controls HIPAA audit log with WHO/WHAT/WHEN/WHY, SHA-256 hash for immutability
calculatePriority.ts 164.312(a)(1) Access Control User authentication required, UUID validation
calculatePriority.ts 164.312(c)(1) Integrity Controls Input validation for MELD/LAS/PRA scores against medical ranges
calculatePriority.ts 164.312(d) Person Authentication api.auth.me() validates user identity
matchDonor.ts 164.312(b) Audit Controls HIPAA audit log with access justification tracking
matchDonor.ts 164.308(a)(1)(i) Security Management Input validation, HLA format checking, blood type verification
matchDonor.ts 164.312(e)(1) Transmission Security Patient names sanitized in notifications, no PHI in error messages
matchDonor.ts 164.312(c)(1) Integrity Controls Race condition mitigation via patient freshness check
exportToFHIR.ts 164.312(b) Audit Controls Structured logging with request ID tracking
exportToFHIR.ts 164.312(e)(1) Transmission Security Diagnosis text sanitized against XSS/injection
exportToFHIR.ts 164.530(c) Notice of Breach Error logging without PHI exposure
importFHIRData.ts 164.312(b) Audit Controls Import records with structured logging
importFHIRData.ts 164.312(c)(1) Integrity Controls FHIR validation before import
pushToEHR.ts 164.312(e)(1) Transmission Security Auth headers for EHR communication
pushToEHR.ts 164.312(b) Audit Controls Sync logs with detailed tracking
checkNotificationRules.ts 164.312(e)(1) Transmission Security Patient names sanitized in notification messages
exportWaitlist.ts 164.312(b) Audit Controls Export action logged with user context
validateFHIRData.ts 164.312(c)(1) Integrity Controls Configurable validation rules
fhirWebhook.ts 164.312(d) Person Authentication Bearer token authentication

Application-Level Compliance

Component HIPAA Rule Requirement Implementation Status
electron/main.cjs 164.312(a)(1) Access Control License validation with fail-closed behavior
electron/main.cjs 164.312(e)(1) Transmission Security CSP headers, X-Frame-Options, X-Content-Type-Options
electron/main.cjs 164.312(a)(2)(iv) Encryption SQLCipher encrypted database
electron/preload.cjs 164.312(a)(1) Access Control Context isolation, restricted IPC bridge
src/App.jsx 164.312(d) Person Authentication Auth state validation, license enforcement
src/App.jsx 164.312(a)(1) Access Control Fail-closed license checking (no bypass on error)

Error Handling Compliance

Requirement Before After Status
No PHI in error responses error.message exposed ✅ Generic message + request ID
Structured internal logging ❌ Unstructured console.error ✅ JSON-structured with redaction
Error tracking ❌ No correlation ✅ Request ID in response + logs

Audit Trail Requirements (HIPAA 164.312(b))

Requirement Implementation Status
WHO accessed the data user_email, user_role fields
WHAT was accessed/modified entity_type, entity_id, hipaa_action
WHEN was it accessed timestamp (ISO 8601)
WHY was it accessed access_justification field
Outcome of access outcome (SUCCESS/FAILURE)
Data changes data_modified (before/after values)
Immutability verification record_hash (SHA-256)
Access type classification access_type (DIRECT/INCIDENTAL/EMERGENCY/SYSTEM)

Input Validation (164.312(c)(1) Integrity Controls)

Data Type Validation Status
MELD Score Range 6-40, finite number
LAS Score Range 0-100, finite number
PRA Percentage Range 0-100, finite number
cPRA Percentage Range 0-100, finite number
Blood Type Enum validation (8 valid types)
Medical Urgency Enum validation (critical/high/medium/low)
Organ Type Enum validation (6 valid types)
HLA Typing Format regex, length limit, antigen count limit
Patient ID UUID format validation
Diagnosis Text HTML sanitization, length limit
Patient Names HTML sanitization in all notifications

Last updated: 2026-03-21 Document owner: TransTrack Engineering