Kenya Patient Summary FHIR Implementation Guide
0.1.0 - ci-build
KE
Kenya Patient Summary FHIR Implementation Guide - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
Implementers of this guide must consider security at every layer of their implementation. The Kenya Patient Summary (KPS) contains highly sensitive personal health information governed by the Kenya Data Protection Act 2019 and the Digital Health Act 2023. All systems exchanging KPS data must implement appropriate technical and organizational safeguards.
This section provides normative and recommended security guidance for production implementations. Implementers should additionally refer to the HL7 FHIR Security specification and the SMART App Launch Framework.
All KPS FHIR API endpoints SHALL enforce the following transport-level controls:
Strict-Transport-Security header.ECDHE-RSA-AES256-GCM-SHA384).Point-of-Service Systems SHALL use OAuth 2.0 as the authentication framework, following the SMART on FHIR App Launch specification:
| Flow | Use Case | Access Token Lifetime |
|---|---|---|
| Client Credentials | System-to-system (EMR → HIE → SHR) | Maximum 1 hour |
| Authorization Code | User-facing applications requiring patient context | Maximum 1 hour (session); refresh token maximum 24 hours |
Minimum required SMART scopes:
| Actor | Required Scopes |
|---|---|
| EMR submitting summaries | system/Patient.read, system/Bundle.write, system/Encounter.write |
| EMR retrieving summaries | system/Patient.read, system/Bundle.read |
| Emergency access (clinician) | user/Patient.read, user/Bundle.read |
System-to-system integrations between the Kenya HIE and the SHR SHOULD use Mutual TLS in addition to OAuth 2.0 for double authentication assurance.
Access to KPS data SHALL be controlled using role-based access aligned to the Generic Personas defined in this guide:
| Role / Persona | Read Own Patients | Read Other Facility Patients | Write / Update | Emergency Override |
|---|---|---|---|---|
| Clinician (Doctor, Nurse) | Yes | Yes (via HIE with audit) | Yes | Yes (documented) |
| Clerical Staff | Demographics only | No | Demographics only | No |
| Pharmacist | Medication list, allergies | No | Medication dispensing records | No |
| Community Health Promoter | Assigned patients only | No | Community-level observations | No |
| Laboratory Technologist | Ordered tests and results | No | Test results | No |
| System Administrator | Audit logs and system config | Audit logs only | System configuration | No |
| Analytics / M&E Platform | De-identified data only | De-identified data only | No | No |
Emergency override: When a clinician invokes emergency access (e.g., for an unconscious patient), the override event SHALL be logged with the clinician's identity, timestamp, and clinical justification. Emergency overrides must be reviewed by a designated clinical governance officer.
All implementations SHALL comply with the Kenya Data Protection Act 2019 and the Digital Health Act 2023, including:
All KPS FHIR operations SHALL generate audit events conforming to the IHE Audit Trail and Node Authentication (ATNA) profile. Each audit record SHALL include:
Patient/12345, Bundle/abc)Retention: Audit logs SHALL be retained for a minimum of 7 years, per the Kenya Medical Records Act.
Access control: Audit logs SHALL be immutable and accessible only to designated audit personnel and authorized regulators (e.g., DHA, Office of the Data Protection Commissioner).
meta.lastUpdated timestamp.Bundle.identifier within the same facility in the same calendar day.In the event of a suspected data breach involving KPS data:
| Requirement | Conformance Verb |
|---|---|
| All API endpoints served over HTTPS with TLS 1.2+ | SHALL |
| OAuth 2.0 / SMART on FHIR for authentication | SHALL |
| Role-based access control aligned to KPS personas | SHALL |
| IHE ATNA-conformant audit logging for all FHIR operations | SHALL |
| Audit log retention for minimum 7 years | SHALL |
| Compliance with Kenya Data Protection Act 2019 | SHALL |
| DHA breach notification within 24 hours | SHALL |
| Mutual TLS for system-to-system HIE/SHR integration | SHOULD |
| Digital signatures on referral and emergency bundles | SHOULD |
| Multi-factor authentication for external network access | SHALL |