How strategic-information-department-cidrz/yathu-platform-api works
Yathu Platform is a REST API for managing TB patient care and its supporting facility, user, and treatment-regimen data. The central workflow is facility staff recording a patient and their baseline assessment, treatment episodes and outcomes, and follow-up visits; administrators maintain reference data and users, while dashboards and reports expose operational data. The README documents a DB → repository → service → controller layering. Several implementations were not sampled, so links below follow that documented architecture without asserting unverified internal calls.
Main entry points: Program.cs REST API · Services Domain services · AccountController.cs Account endpoints · AccountService.cs Account service
Components 21
API and access
- REST API
yathu-platform.Api/Program.cs - Account endpoints
yathu-platform.Api/Controllers/AccountController.cs - Account service
yathu-platform.Application/Services/AccountService.cs - Email delivery
yathu-platform.Application/Interfaces/ServiceInterfaces/IEmailSender.cs
Patient care
- Patient records
yathu-platform.Api/Controllers/PatientsController.cs - Baseline assessment
yathu-platform.Api/Controllers/PatientBaselineController.cs - Treatment episodes
yathu-platform.Api/Controllers/PatientTreatmentController.cs - Follow-up visits
yathu-platform.Api/Controllers/PatientVisitsController.cs
Administration
- User management
yathu-platform.Api/Controllers/UsersController.cs - Facility geography
yathu-platform.Api/Controllers/LocationsController.cs - Regimen catalogue
yathu-platform.Api/Controllers/RegimensController.cs
Reporting and transfers
- Patient transfers
yathu-platform.Api/Controllers/PatientTransfersController.cs - Dashboard
yathu-platform.Api/Controllers/DashboardController.cs - Reports and checks
yathu-platform.Api/Controllers/ReportsController.cs
Application data
- Domain services
yathu-platform.Application/Services - Repository layer
yathu-platform.Application/Interfaces/RepositoryInterfaces - Identity repository
yathu-platform.Infrastructure/Repositories/UserRepository.cs - Platform database
yathu-platform.Infrastructure/Persistence/AppDbContext.cs
Other components
- Facility staff
- Administrators
- Legacy register
Connections 29
- Facility staff → REST API: calls
- Administrators → REST API: calls
- REST API → Account endpoints: routes
- REST API → Patient records: routes
- REST API → Baseline assessment: routes
- REST API → Treatment episodes: routes
- REST API → Follow-up visits: routes
- REST API → Patient transfers: routes
- REST API → User management: routes
- REST API → Facility geography: routes
- REST API → Regimen catalogue: routes
- REST API → Dashboard: routes
- REST API → Reports and checks: routes
- Account endpoints → Account service: calls
- Account service → Email delivery: sends OTP
- Patient records → Domain services: calls
- Baseline assessment → Domain services: calls
- Treatment episodes → Domain services: calls
- Follow-up visits → Domain services: calls
- Patient transfers → Domain services: calls
- User management → Domain services: calls
- Facility geography → Domain services: calls
- Regimen catalogue → Domain services: calls
- Dashboard → Domain services: calls
- Reports and checks → Domain services: calls
- Domain services → Repository layer: uses
- Identity repository → Platform database: reads and writes
- Repository layer → Platform database: persists data
- REST API → Legacy register: ports register