Skip to content

Access requests and retention

Answer PHIPA access requests with a EDFlow visit-record export, place and lift legal holds, and understand the retention schedule, care records and de-identification after the operational window.

Access requests

When a patient asks for their information under PHIPA:

  1. Find the visit: from the visit's Activity tab, or Legal holds → Care records by the EHR visit number (hashed in memory, never stored as typed).
  2. Export the visit record: timeline, care-team names, tests and their steps, requests, tasks, the going-home summary, family-link activity, the access log and care records.
  3. A second privacy officer approves the export. It's audited.

EDFlow holds far less than the EHR: never results, diagnoses or notes. The EHR remains the official record.

A hold stops retention from deleting a visit.

  • Manual: from the visit's Activity tab or Legal holds (reason required).
  • Automatic: visits with an urgent request, a death, a return within 72 hours, a patient-relations complaint recorded by staff, and incident subjects.
  • Lift needs privacy.legal_hold and a fresh sign-in check. Every hold and lift is audited.

Retention schedule

SettingDefaultAllowed valuesWhat it does
retention.operationalWindowDays307–90 daysDays PHI is kept before de-identification (F-21.2). (Reduces privacy)
retention.auditDays730730–3650 daysAudit log retention. (Reduces privacy)
retention.analyticsDays730365–2555 daysDe-identified analytics retention. (Reduces privacy)
retention.safetyRecordYears102–30 yearsRetention of care records (D-36). (Reduces privacy)
DataKeptThen
Printable card code15 minDeleted
Staff-assist codes5 minDeleted
Push tokens, patient and family phone numbersUntil the session, access or link endsDeleted
Card, visit-code, family and summary token hashesUntil access endsDeleted
Patient and family sessionsAccess end + 7 daysDeleted (the audit log keeps the history)
Identifiable visit data (display name, match key, locations, care-team links, orders, low and normal requests, inbox, estimates, stages, family links)The operational window after departure (default 30 days)De-identified
Care records: urgent and high requests with their lifecycle, check-ins that raised a request, published summaries, task instructions shown, delay notices, call-backs, updates pausesThe safety-record period (default 10 years)Deleted unless on hold
EHR event ledger, idempotency keys, dead letters30 daysDeleted
OutboxBodies 30 days, rows 90 daysCleared, then deleted
Audit log2 years (range 2 to 10)Deleted with its digests
De-identified analytics2 years (range 1 to 7)Deleted
AI conversationsSession end + retention days (default 7)Deleted

De-identification

At the end of the operational window, the nightly job:

  1. confirms the visit's de-identified analytics row exists;
  2. copies care records;
  3. converts remaining requests to de-identified request facts;
  4. unlinks feedback;
  5. deletes orders, tasks, inbox, estimates, family links, stages, care-team links and locations;
  6. keeps a stub with the visit-number hashes only while care records exist.

Visits on legal hold are skipped. Each run is audited with counts.

Last updated on

Was this page helpful?

On this page