How amira-nasfi/wiqayati works
Wiqayati is a Tunisian diabetes-screening and care platform, with web portals for health workers and administrators and a citizen mobile app. The principal care workflow is patient identification and screening, risk scoring, priority routing, and personalized care-plan review; citizens can also follow recommendations and self-assess. Ministry analytics, audit, authentication, and FHIR interoperability are supporting capabilities. The README documents these product stages; sampled source confirms the web routing, API clients, and care-plan generation, but not detailed endpoint wiring, so uncertain links are omitted.
Main entry points: urls.py Django API · App.tsx Web portals · screening Patient screening · care_plan Care plans
Components 22
User applications
- Web portals
frontend/src/App.tsx - Web API client
frontend/src/api/client.ts - Citizen mobile
mobile/src/app - Mobile API client
mobile/src/api/client.ts
Screening and care
- Django API
backend/wiqayati/urls.py - Patient screening
backend/apps/screening - Risk assessment
backend/apps/risk_engine - Priority queue
backend/apps/nutritionist_queue - Care plans
backend/apps/care_plan - Plan generator
backend/apps/care_plan/services.py
Identity and oversight
- Authentication and roles
backend/apps/accounts - Audit trail
backend/apps/audit - Ministry analytics
backend/apps/screening - PostgreSQL
FHIR integration
- FHIR bridge
backend/apps/fhir_bridge - Async task runner
backend/wiqayati/celery.py - Redis broker
- HAPI FHIR server
Other components
- Citizen
- Health worker
- Nutritionist
- Ministry staff
Connections 28
- Citizen → Web portals: uses portal
- Health worker → Web portals: uses portal
- Nutritionist → Web portals: uses portal
- Ministry staff → Web portals: uses portal
- Citizen → Citizen mobile: uses app
- Web portals → Web API client: requests data
- Citizen mobile → Mobile API client: requests data
- Web API client → Django API: calls API
- Mobile API client → Django API: calls API
- Django API → Authentication and roles: authenticates
- Django API → Patient screening: dispatches screening
- Patient screening → Risk assessment: requests scoring
- Django API → Priority queue: dispatches queue
- Django API → Care plans: dispatches plans
- Care plans → Plan generator: generates recommendations
- Django API → Ministry analytics: dispatches analytics
- Django API → Audit trail: records access
- Patient screening → PostgreSQL: reads and writes
- Risk assessment → PostgreSQL: stores assessments
- Priority queue → PostgreSQL: reads and writes
- Care plans → PostgreSQL: reads and writes
- Authentication and roles → PostgreSQL: reads and writes
- Audit trail → PostgreSQL: stores events
- Ministry analytics → PostgreSQL: reads records
- FHIR bridge → Async task runner: schedules tasks
- Async task runner → Redis broker: uses broker
- Async task runner → FHIR bridge: runs tasks
- FHIR bridge → HAPI FHIR server: exchanges FHIR