Medical Record Audit Trail & Legal Compliance
Maintain tamper-evident clinical audit logs, legal hold locks, medical record archiving, and statutory retention compliance.
1. Overview & Business Value#
This comprehensive operational guide details the architecture, business workflows, configuration parameters, and execution steps for Medical Record Audit Trail & Legal Compliance within SmartERP.
Maintain tamper-evident clinical audit logs, legal hold locks, medical record archiving, and statutory retention compliance.
{screenshot:audit-trail-and-medical-record-compliance-overview-dashboard}
2. Prerequisites & Security Access Groups#
- Required Modules:
smarterp_healthcare, smarterp_clinical_core, smarterp_pharmacy - Security Groups:
Healthcare Receptionist(Technical ID:smarterp_healthcare.group_medical_receptionist)Physician / Attending Doctor(Technical ID:smarterp_healthcare.group_medical_doctor)Pharmacy Dispenser(Technical ID:smarterp_healthcare.group_medical_pharmacist)
- Master Data Dependencies: Patient master registry (Medical Record Number - MRN), EFDA drug formulary, Ethiopian Ministry of Health (MoH) HMIS disease codes, and EHIS insurance tariffs.
3. Step-by-Step Configuration & Execution#
Step 1: Navigating to the Module Interface#
- Log into your SmartERP instance at
https://smarterp.et/odoo. - Open the main App Switcher (grid icon in the top-left corner).
- Select the Healthcare app icon.
- From the top navigation bar, open Healthcare → Clinical Dashboard → OPD Triage / Inpatient ADT / EMR / Pharmacy Dispensing.
{screenshot:audit-trail-and-medical-record-compliance-app-switcher-navigation}
Step 2: Creating and Parameterizing Records#
- Click the New button in the top-left control panel.
- Complete the mandatory fields in the record form:
- Medical Record Number (MRN) (Mandatory): Unique national health identifier or generated hospital record code
- Patient Demographics (Mandatory): Full legal name, gender, date of birth, and Kebele residential location
- Encounter Type (Mandatory): Outpatient (OPD), Inpatient (IPD), Emergency, or Triage consultation
- Attending Physician (Mandatory): Licensed healthcare practitioner responsible for clinical encounter
- Configure optional operational parameters and localized tags as required:
- Insurance Provider & Policy (Optional): EHIS CBHI/SHI policy or corporate credit contract
- Triage Vital Signs (Optional): Blood pressure, pulse rate, respiratory rate, temperature, and SpO2
- ICD-11 / HMIS Diagnosis Code (Optional): Standardized diagnosis category for statutory health reporting
- Click the Save icon in the control bar to commit the record.
{screenshot:audit-trail-and-medical-record-compliance-record-creation-form}
Step 3: Validating and Processing Transactions#
- State Transitions: Execute operational state progression (Reception / Triage → Consultation → Lab / Radiology → Prescription → Billing / Discharge).
- Ledger & System Impact: Patient billing registers medical service revenue, debits patient or insurance accounts receivable, and debits pharmaceutical inventory upon prescription dispensing.
- Audit Verification: Automated recording of author ID, timestamp, and immutable revision history.
{screenshot:audit-trail-and-medical-record-compliance-transaction-processing-state}
Statutory Medical Record Retention in Ethiopia#
Under Ethiopian health law and civil liability statutes:
- Adult Medical Records: Retained for a minimum of 10 years following the date of the last clinical encounter.
- Pediatric & Obstetric Records: Retained for 21 years (until the newborn reaches the age of majority plus legal statute of limitations).
- Forensic & Medico-Legal Records: Retained indefinitely under permanent legal hold status.
Cryptographic Audit Logging#
Every access or modification to patient data triggers an immutable audit log entry in medical.audit.log:
timestamp: UTC timestamp synchronized with atomic clock servers.user_id: Authenticated staff account.patient_id&record_id: Target clinical record.action_type:READ,CREATE,UPDATE,PRINT,EXPORT,BREAK_THE_GLASS.previous_valuesandnew_values: JSON delta of modified attributes.client_ip: Terminal network IP and device MAC address.
Audit records are append-only; database constraints strictly prohibit DELETE or UPDATE queries against audit log tables.
Medico-Legal Request & Subpoena Handling#
When formal legal requests or court subpoenas demand medical documentation:
- Navigate to Healthcare > Legal & Compliance > Medico-Legal Requests.
- Record requesting authority (Court Name, Case Docket Number, Investigating Officer).
- Select the patient and specific date range covered by the legal mandate.
- Click Generate Watermarked Medico-Legal Record:
- The system compiles signed physician notes, operative records, and laboratory reports into an encrypted PDF.
- Every page features dynamic watermarks displaying the requesting court docket, generation date, and issuing medical records officer credentials.
4. Advanced Configuration Points#
- Automated Actions & Scheduled Tasks (Crons):
Healthcare: Generate daily MoH HMIS aggregate tally(smarterp_healthcare.ir_cron_hmis_sync): Runs daily at 23:00 to prepare DHIS2 health data summariesPharmacy: Flag expiring EFDA medicine batches(smarterp_healthcare.ir_cron_fefo_expiry): Runs daily at 06:00 to alert dispensers of lots expiring within 60 days
- Custom Print Templates & Reports:
- Official Patient Encounter Summary & Medical Certificate
- Electronic Prescription Order Form (Model 19 Compliant)
- Ethiopian Health Insurance Service (EHIS) Claim Dossier
- Daily MoH Outpatient / Inpatient Morbidity Tally Sheet
- Multi-Company Rules: Record-level security isolation under Company 1 (
Ashewa Technology Solutions S.C.), preventing cross-company ledger leakage across parent and subsidiary legal entities.
5. Comprehensive Troubleshooting Matrix#
| Error Symptom / Exception | Probable Root Cause | Corrective Action / Resolution |
|---|---|---|
Access Block: Confidential clinical diagnosis restricted | User is not listed as the patient's attending physician or authorized consultant. | Request explicit clinical consultation delegation from the department head. |
Credit Ceiling Block: Corporate insurance expired | Patient corporate insurance policy limit exceeded or expired. | Switch billing mode to private cash settlement or upload pre-authorization approval from the insurer. |
FEFO Allocation Error: Expired medicine batch blocked | Dispenser selected medicine lot past statutory EFDA expiry date. | Isolate expired lot to quarantine storage and dispense compliant active lot. |