Skip to main content

Backend and service map — patient mobile

Version: 1.0
Date: 2026-03-31

Maps patient mobile features to module specs, services, Kong routes, and typical mobile screens. Persona: patient only (not clinician desktop).

Gateway: Kong routes /v1/portalpatient-portal-api (kong.yml patient-portal-root); other /v1/* routes per service. Clients MUST NOT call /internal/* (API_PATH_CONVENTIONS.md).


Patient authorization (important)

Several scheduling and provider-directory routes are implemented today with staff-oriented role guards (DOCTOR, NURSE, ADMIN, etc.). Patient JWTs may receive 403 on GET /v1/practitioners, POST /v1/appointments, PUT .../cancel, and related flows until platform work completes. GET /v1/appointments?patientId= must enforce patient binding to the caller (no IDOR). The canonical gap list, security notes, and phased roadmap (P0–P5) are in BACKEND_GAPS_AND_ROADMAP.md. Do not assume “route exists in Kong” means “works for PATIENT” without checking that doc.


1. Core platform

ConcernModule / docService (illustrative)Kong prefix / notes
Portal accounts, /me, demographics requests, portal appointments listingpatient-portal/SPEC.mdapps/services/patient-portal-api/v1/portal
Practitioner searchscheduling / discoveryprovider-directory/v1/practitioners (per patient-portal-requirements-doc §6)
Schedules, slotsschedulingscheduling/v1/schedules, slots
Book/cancel appointmentschedulingscheduling/v1/appointments
Released resultsresultsresults + portal BFF policy/v1/portal/results (when implemented)
Secure messagingdigital-communication, NOTIFICATIONS_PLATFORMdigital-communicationStaff: /v1/digital-communication/messaging/* (API_DOCS); patient portal BFF /v1/portal/messages when licensed (interop API_DOCS §4.4)
Billingbilling / financial modulesTBDWhen FR-PORT-012 enabled

2. Feature to mobile screen (typical)

FeatureModule FRMobile screensAPI surface (patient-intent; verify roles)
Login / sessionFR-PORT-001Auth stack, settingsOIDC; then /v1/portal/me
Home / summaryFR-PORT-003Home tabGET /v1/portal/record/summary
Find providerFR-PP-002..003 (product doc)Search, mapGET /v1/practitioners (staff-guarded today; see BACKEND_GAPS_AND_ROADMAP)
Book visitFR-PORT-004Booking wizardGET /v1/schedules; book via portal request or patient-scoped scheduling (staff POST /v1/appointments today — BACKEND_GAPS_AND_ROADMAP)
ResultsFR-PORT-005Records tab, detailGET /v1/results with PATIENT JWT + patient_id claim (released-only for patients); align with web BFF /api/clinical/results
Demographics updateFR-PORT-006Profile / formsPortal demographics endpoints
MessagesFR-PORT-011Messages tabMessaging module API (when exposed)
Pay / balanceFR-PORT-012Billing / MoreBilling integration
ProxyFR-PORT-008Patient switcherTBD proxy APIs
ExportFR-PORT-010Profile / privacyTBD export endpoints
Telehealth joinFR-PORT-009Schedule / deep linkScheduling + telehealth metadata

3. Traceability and backlog

Several patient-facing flows remain partial or backlog on the server (TRACEABILITY_MATRIX.md). Authorization and booking gaps are tracked in BACKEND_GAPS_AND_ROADMAP.md. Mobile implementation MUST align with both—do not assume APIs exist or are patient-eligible until verified.


4. FHIR (optional direct access)

If the product exposes FHIR to the mobile app through Kong (/fhir/R4/...), treat it as a constrained read surface per FHIR_FIRST_STANDARD.md and SPEC.md §7—same policy gates as REST.