Untitled

Virtual Hospitals Africa consists of 6 cloud-based services all backed by an extended FHIR (https://fhir.org) Postgres database:

  1. virtual-hospitals-africa: the primary web application providing a web interface for health professionals to manage patient cases (Deno/Fresh/Google OAuth/Google Calendar)
  2. vha-medplum-server: a Medplum (https://medplum.com) backed API to create FHIR resources. This server (along with all others) uses the same Postgres database, so any insertions and updates made by it can be used by the primary web application (https://github.com/medplum/medplum/tree/main/packages/server)
  3. vha-medplum-superadmin: a Medplum client used by superadministrators to manage facilities, practitioners, and other system level information such as medications, device definitions, etc. (https://github.com/medplum/medplum/tree/main/packages/app)
  4. vha-pharmacist-chatbot: responds to incoming Whatsapp messages from pharmacists. Patients are given an alphanumeric code to redeem medications which they provide to the pharmacist. The pharmacist then receives a secure prescription via the chatbot. Once medications are dispensed, that same code can then not be used again at another location to redeem the same medications, ensuring safe exactly-once delivery (WhatsApp Cloud API)
  5. vha-specialist-chatbot: enables specialists and laboratories to receive orders from doctors and submit lab results or other pertinent medical data via a WhatsApp interface (WhatsApp Cloud API)
  6. vha-patient-chatbot: provides patients access to their medical records and enables them to schedule video appointments (WhatsApp Cloud API)

In the future, to provide better offline support, we may experiment with wrapping the web application in an Electron (https://electronjs.org/) shell as a desktop/tablet application. With that, health workers can perform all data entry functions in offline mode, writing to a local database which syncs with the cloud when the network has healed.