How bahmni/bahmni-connect works
Bahmni Connect is an AngularJS front end for patient registration and clinical care, with offline operation. A typical user signs in, searches for a patient, opens a clinical record, and reviews or records consultation and treatment information. The tree also shows registration and visit workflows, dashboards, observation forms, orders, and offline synchronization as major capabilities. Edges below are limited to calls and routing documented in the supplied excerpts; many services and subsystem integrations are unsampled, so their connections are omitted.
Main entry points: loginController.js Sign in · app.js Clinical routing · initSyncController.js Initialize sync · patientsListController.js Find patient
Components 21
Access and registration
- Sign in
ui/app/home/controllers/loginController.js - Home dashboard
ui/app/home/controllers/dashboardController.js - Find patient
ui/app/common/patient-search/controllers/patientsListController.js - Registration search
ui/app/registration/controllers/searchPatientController.js - Register visit
ui/app/registration/controllers/visitController.js
Clinical care
- Clinical routing
ui/app/clinical/app.js - Visit context
ui/app/clinical/common/controllers/visitController.js - Consultation
ui/app/clinical/consultation/controllers/consultationController.js - Add treatment
ui/app/clinical/consultation/controllers/addTreatmentController.js - Patient dashboard
ui/app/clinical/dashboard/controllers/patientDashboardController.js - Disease templates
ui/app/clinical/dashboard/services/diseaseTemplateService.js
Shared clinical data
- Concept-set forms
ui/app/common/concept-set/models/observationForm.js - Observation services
ui/app/common/domain/services/observationsService.js - Patient services
ui/app/common/patient/services/patientService.js - Order services
ui/app/common/orders/services/orderSetService.js
Offline operation
- Offline sign-in
ui/app/offline/app.js - Initialize sync
ui/app/offline/controllers/initSyncController.js - Offline pull
ui/app/common/offline/offlinePull.js - Sync service
ui/app/common/offline/services/offlineSyncService.js - Offline database
ui/app/common/offline/dbservices/dao/offlineDbService.js
Other components
- Care user
Connections 18
- Care user → Sign in: signs in
ui/app/home/controllers/loginController.js - Sign in → Home dashboard: redirects
ui/app/home/controllers/loginController.js - Sign in → Sync service: saves preferences
ui/app/home/controllers/loginController.js - Care user → Find patient: searches
ui/app/common/patient-search/controllers/patientsListController.js - Find patient → Patient services: finds patients
ui/app/common/patient-search/controllers/patientsListController.js - Care user → Registration search: searches
ui/app/registration/controllers/searchPatientController.js - Registration search → Patient services: searches patients
ui/app/registration/controllers/searchPatientController.js - Care user → Clinical routing: opens care
- Clinical routing → Visit context: routes visit
ui/app/clinical/app.js - Clinical routing → Patient dashboard: loads dashboard
ui/app/clinical/app.js - Patient dashboard → Disease templates: loads templates
ui/app/clinical/dashboard/controllers/patientDashboardController.js - Care user → Consultation: records care
- Add treatment → Order services: calculates dose
ui/app/clinical/consultation/controllers/addTreatmentController.js - Care user → Concept-set forms: enters observations
- Offline sign-in → Initialize sync: starts setup
- Initialize sync → Offline pull: initializes pull
ui/app/offline/controllers/initSyncController.js - Care user → Initialize sync: requests sync
ui/app/offline/controllers/initSyncController.js - Sync service → Offline database: uses database