Skip to content

Clinics implementation in TLO

Sangeeta Bhatia edited this page Dec 4, 2025 · 3 revisions

We can now add clinics to the TLO model, allowing a user-defined proportion of a facility’s cadre capabilities to be ring-fenced for specific services. This page explains how the feature works and how to configure it.

Overview

Clinics are defined per facility–cadre pair. Each clinic represents a share of that pair’s capabilities and handles a user-specified set of TREATMENT_IDs. These are configured through two resource files that must share the same :

  1. resources/healthsystem/human_resources/clinics/ResourceFile_ClinicConfigurations/<name>.csv

  2. resources/healthsystem/human_resources/clinics/ResourceFile_ClinicMappings/<name>.csv

The <name> is passed to the HealthSystem module though the resources/healthsystem/ResourceFile_HealthSystem_parameters.csv file. For example,

clinic_configuration_name,Default

sets the name to Default. HealthSystem module will now read in files called Default.csv in ResourceFile_ClinicConfigurations and ResourceFile_ClinicMappings.

Clinic configurations

The resource file in ResourceFile_ClinicConfigurationsspecifies the allocation of capability shares across clinics for each (Facility_ID, Officer_Type_Code) pair. Example:

Facility_ID,Officer_Type_Code,GenericClinic,Clinic1,Clinic2,Clinic3
0,DCSA,0.1,0.3,0.3,0.3

This creates three clinics: Clinic1, Clinic2, and Clinic3—and allocates 30% of the DCSA capability at facility 0 to each.

GenericClinic acts as a catch-all clinic for any treatment not explicitly mapped elsewhere. Users may choose any split; future versions may derive these from TLM data.

Treatment to clinic mapping

The resource file in ResourceFile_ClinicMappings file assigns treatment IDs to clinics:

Treatment,Clinic
Diarrhoea_Treatment_Inpatient,Clinic1
Hiv_PalliativeCare,Clinic2
Malaria_Test,Clinic3

NOTE: We assume that a treatment id is mapped to a unique clinic, and return the first mapping even if several are listed in the resource file.

Validation

We perform the following checks on the resource files:

  1. For each facility–cadre row, the clinic capability shares must sum to 1.
  2. Treatment to clinic mapping does not contain any clinic name not defined in the Clinic Configurations resource file.

Backward compatibility

If a facility–cadre pair is not listed in the configuration file, all its capabilities default to GenericClinic. Any TREATMENT_ID not explicitly mapped also defaults to GenericClinic. The default resource files therefore contain only headers, and the clinic-related changes should be transparent to the users of HealthSystem module. Incidentally, this also means that the resource files can list only the combinations for which a split across clinics is needed.

Clone this wiki locally