DOCUMENTATION.md
View Model
1. Overview of the Model
This document describes the WHO - MSD - Psychosis model, which is a botech implementation of the Spectrum Psychosis Model.
The primary purpose of this model is to simulate the progression of psychosis within a population and to understand the potential impact of various interventions. It helps to model how an individual's health status regarding psychosis can change over time, moving between states such as being healthy, having a psychosis episode, receiving treatment, or recovering.
By simulating these processes, the model can assist decision-makers in understanding the potential effects of different health programs and interventions aimed at addressing psychosis. This can help in planning and allocating resources more effectively. The model runs from the year 2025 to 2050.
2. The Model's Building Blocks: Population Groups and How They Connect
The model is constructed from various components that represent different population segments, health states, and influential factors. These are connected to show how the population's health can change.
a. Population Groups and Key Factors (Nodes):
The model uses "states" or "groups" (called nodes) to represent different segments of the population or important factors that influence health.
Key population groups (STATE nodes) in this model include:
- DsFreeSus: This group represents the healthy population, susceptible to developing psychosis but currently free of the disease.
- PsychosisEpsd: This group represents individuals who are currently experiencing a psychosis episode.
- Deceased-DsFreeSus: This represents individuals from the "DsFreeSus" group who have passed away due to general mortality.
- Deceased-PsychosisEpsd: This represents individuals from the "PsychosisEpsd" group who have passed away.
- Healthy Years Lived: This is a special state that accumulates the healthy years lived by the population, considering the impact of disability.
Other important nodes represent fixed numbers, rates, or intermediate calculations:
-
CONSTANT nodes: These are fixed values or rates used as inputs. Examples include:
Psychosis_Disability_Weight: A fixed value representing the disability associated with a psychosis episode.Healthy_Disability_Weight: A fixed value representing the disability for the healthy population (typically zero).PsychosisEpsd_Incidence_Rate: The baseline rate at which new cases of psychosis appear in the healthy population, based on data for the specified country and condition.PsychosisEpsd_Remission: The baseline rate at which individuals with a psychosis episode recover, based on data for the specified country and condition.PsychosisEpsd_CFR: The Case Fatality Rate for psychosis episodes.AntiPsychoticBasicPsychMild_Disability_Impact: The reduction in disability due to the "Basic psychosocial support and anti-psychotic medication" intervention. A similar node (AntiPsychoticBasicPsychModerate_Disability_Impact) exists for the "Intensive psychosocial support and anti-psychotic medication" intervention.AntiPsychoticBasicPsychMild_Coverage: The proportion of the eligible population reached by the "Basic psychosocial support and anti-psychotic medication" intervention. This can change over time. A similar node (AntiPsychoticBasicPsychModerate_Coverage) exists for the intensive intervention.- Adherence parameters (e.g.,
AntiPsychoticBasicPsychMild-Adherence).
-
SURROGATE nodes: These are temporary holding places for calculations that help the model progress. For example:
PsychosisEpsd Incidence: A temporary store for the number of new psychosis cases calculated in a time step before they are added to the "PsychosisEpsd" group.PsychosisEpsd Remission: A temporary store for the number of people recovering from psychosis in a time step.PsychosisEpsd Mortality: A temporary store for calculations related to deaths from psychosis episodes.DsFreeSus HYL: A temporary calculation for the healthy years lived by the "DsFreeSus" group.
-
FUNCTION nodes: These nodes perform calculations based on their inputs. Examples include:
Combined_HYL: Calculates the overall health-adjusted life years, considering disability weights and intervention effects.Disability_Effect_Transform: Calculates the combined effect of interventions on reducing disability.Births: Stores the number of births occurring in the population during a time step.
b. Connections and Movements (Links):
"Links" show how people move between population groups or how factors influence each other.
Key connections in the model include:
-
Population Dynamics:
DsFreeSus -> BirthsandPsychosisEpsd -> Births: These links calculate the number of births from individuals in the "DsFreeSus" (healthy) and "PsychosisEpsd" groups, respectively. This is based on fertility rates from the specified country. The total births are stored in the "Births" node.Births -> DsFreeSus: New male and female births are added to the "DsFreeSus" (healthy) population group. This uses sex ratio data for the specified country.Migration - DsFreeSusandMigration - PsychosisEpsd: These links adjust the number of people in the "DsFreeSus" and "PsychosisEpsd" groups to account for people moving into or out of the area, based on national migration data.BackgroundMortality DsFreeSus(DsFreeSus -> Deceased-DsFreeSus) andBackground Mortality PsychosisEpsd(PsychosisEpsd -> Deceased-PsychosisEpsd): These links move individuals from the "DsFreeSus" and "PsychosisEpsd" groups to their respective "Deceased" states. This movement is based on general death rates obtained for the specified country. People are removed from the source group.
-
Psychosis Progression and Recovery:
Prevalence DsFreeSus -> PsychosisEpsd: This link represents the initial allocation of the population into the "PsychosisEpsd" state based on existing prevalence data for the specified country and condition. People are moved out of "DsFreeSus".PsychosisEpsd_Incidence_RateinfluencesPsychosisEpsd Incidence -> PsychosisEpsd: New cases of psychosis arise from the "DsFreeSus" group and move to the "PsychosisEpsd" group. The rate is determined byPsychosisEpsd_Incidence_Rate. (Note: Source file linksPsychosisEpsd IncidencetoAsthmaEpsd, assumed to bePsychosisEpsd).PsychosisEpsd_Remissionrate influencesPsychosisEpsd Remission -> DsFreeSus: Individuals in the "PsychosisEpsd" group can recover and move back to the "DsFreeSus" group. The base rate is determined byPsychosisEpsd_Remission. (Note: Source file linksPsychosisEpsd RemissiontoAsthmaEpsd, assumed to beDsFreeSus).PsychosisEpsd_CFRinfluencesCase Fatality PsychosisEpsd(PsychosisEpsd -> Deceased-PsychosisEpsd): This pathway represents deaths due to psychosis, using the Case Fatality Rate via thePsychosisEpsd Mortalitysurrogate.
-
Intervention Effects on Disability: The model includes interventions such as "Basic psychosocial support and anti-psychotic medication" (
AntiPsychoticBasicPsychMild) and "Intensive psychosocial support and anti-psychotic medication" (AntiPsychoticBasicPsychModerate).- Links like
AntiPsychoticBasicPsychMild_Disability_Impact -> AntiPsychoticBasicPsychMild_Disability_Effect: The inherent disability reduction efficacy of an intervention is combined with its coverage (e.g.,AntiPsychoticBasicPsychMild_Calculated_Coverage) and population in need (AntiPsychoticBasicPsychMild_PIN) to determine the overallAntiPsychoticBasicPsychMild_Disability_Effect. This effect then influences theCombined_DW(Combined Disability Weight). Adherence (e.g.,AntiPsychoticBasicPsychMild-Adherence -> AntiPsychoticBasicPsychMild_Disability_Impact) also modifies the intervention's impact. - These effects are aggregated in the
Disability_Effect_Transformnode.
- Links like
-
Calculating Health Outcomes (DALYs, HYL):
Psychosis_Disability_WeightandHealthy_Disability_Weightare used in HYL calculations.DsFreeSus HYLandPsychosisEpsd HYL(potentiallyModified_HYLafter intervention effects) contribute to the "Healthy Years Lived" state.- Years of Life Lost (YLLs) are calculated when individuals move to
Deceased-DsFreeSus(recorded asYLL-DsFreeSus) orDeceased-PsychosisEpsd(recorded asYLL-PsychosisEpsd). - Years Lived with Disability (YLDs) are calculated for
PsychosisEpsd(recorded asYLD-PsychosisEpsd, based onCombined_DW). - DALYs (Disability-Adjusted Life Years) are then calculated by summing the relevant YLL and YLD components into a "DALYs" node.
-
Resource Utilization:
- Links like
PopulationReached-AntiPsychoticBasicPsychMild -> [Resource Node]: When individuals receive an intervention (represented by "PopulationReached" nodes likeTh8rib7eor7jR6zfXt), this triggers resource use. The model calculates demand for personnel time, medicines, and visits, which are then translated into costs.
- Links like
This structure allows the model to simulate how the population moves between health states, how interventions affect these transitions and outcomes, and what resources are consumed.
3. How the Model Simulates Changes Over Time (Subroutines)
The model simulates changes year by year (or for other defined time periods) by following a sequence of steps, called "subroutines." Here's what happens in each main step:
- Flush unneeded values: This step resets or clears out temporary values from the previous time period to prepare for new calculations.
- Generate the population: This step sets up the initial numbers of people in the main healthy population group ("DsFreeSus") at the beginning of a time period.
- Allocate prevalence: This step distributes the initial population into the "PsychosisEpsd" state based on existing disease prevalence at the start of the simulation (for the first year) or adjusts based on incidence in subsequent years.
- Generate the base values of the surrogate nodes: Calculates starting values for temporary holding places used in calculations.
- Generate the base values of the function nodes for constants: Sets up initial values for nodes that perform calculations based on other inputs.
- Generate the values of the constants: Loads or calculates fixed input values like disability weights, baseline incidence/remission rates, CFR, and intervention characteristics.
- Multiply impact (efficacy) by the adherence: Adjusts the effectiveness of interventions based on how well people adhere to treatment.
- Calculate the Incidence Surrogate: Computes the number of new psychosis cases based on the incidence rate.
- Calculate the remission surrogate: Computes the number of people recovering from psychosis based on the remission rate.
- Calculate Coverage: Determines the actual coverage levels for each intervention, considering baseline, target, and scale-up parameters.
- Calculate Disability Effects: Computes the impact of interventions on reducing the disability associated with psychosis.
- Remove Disability Effects from 1.0: This step calculates a factor representing the remaining disability after accounting for intervention effects.
- Calculate Healthy and Psychosis HYL: Calculates Health-Adjusted Life Years for healthy individuals and those with psychosis, considering their respective disability weights.
- Calculated Combined HYL: Aggregates HYL contributions, potentially modified by intervention effects on disability.
- Calculate Combined DW: Calculates the overall disability weight experienced by those with psychosis, considering intervention effects.
- Modify Combined DW with intervention effects: Adjusts the disability weight based on the effectiveness of interventions in reducing disability.
- Calculated Modified HYL: Calculates the final Health-Adjusted Life Years for those with psychosis after accounting for intervention-modified disability.
- Calculate DsFreeSus Disability Surrogate: Calculates HYL for the healthy, susceptible population.
- Calculated Psychosis HYL Surrogate: Calculates HYL for the population with psychosis episodes, considering modified disability.
- Calculate Mortality Surrogate (Add CFR to Surrogate): Incorporates the base case fatality rate into the calculation of disease-specific deaths.
- Record Births to Birth Node: The model calculates the number of births occurring in the population and stores this total.
- Main Routine (Synchronous transfer): In this core step, the model applies rates and proportions to simulate people moving between groups (e.g., from healthy to having psychosis, from psychosis to recovered, or to a deceased state). This also includes background mortality and applying migration effects.
- Push PsychosisEpsd to Population Reached: Determines the number of individuals with psychosis who are eligible for and could potentially receive each intervention.
- Modify Population Reached by PIN and Coverage: Calculates the actual number of people reached by each intervention by applying the population in need (PIN) proportions and the calculated coverage rates.
- Record HYL: The model updates the total "Healthy Years Lived" by summing contributions from different population groups.
- Add prevalence to YLD nodes: Calculates the number of people living with disability in each state for YLD calculations.
- Multiply YLDs by Disability Weights: Applies the relevant disability weights to the populations in each state to quantify YLDs.
- Migration of Populations: Adjusts population numbers in states to account for net migration.
- Age the populations: This step simulates the entire population in each state getting older by one time unit (e.g., one year).
- Women give birth: New births (calculated earlier) are added to the healthy population group, distributed by sex.
- Add values to DALYs: This step aggregates YLDs and YLLs to calculate the total DALYs.
- Calculate resource requirements and costs: Based on the number of people receiving interventions, this step calculates the demand for various resources (personnel time, medicines, visits) and their associated costs.
- Record Metrics: This step records important results and numbers from the model for the current time period, such as population sizes in different states, DALYs, HYL, and resource utilization.
This sequence is repeated for each year of the simulation, allowing the model to project changes in population health and intervention impact over time.
4. Resource Requirement Assumptions
The model incorporates specific assumptions about the resources needed for each intervention. These are detailed below for each intervention type:
Intervention 1: Basic psychosocial support and anti-psychotic medication
Target Population Node in Model: Th8rib7e (PopulationReached-AntiPsychoticBasicPsychMild)
Drugs and Supplies per Client:
- Haloperidol, 5 mg tab: 30% use, 1 unit/day, 365 days
- Chlorpromazine, 100 mg: 20% use, 3 units/day, 365 days
- Flupenthixol decanoate, 20 mg/ml: 30% use, 1 unit per administration, 12 administrations/year
- Risperidone, 2 mg tab: 20% use, 2.5 units/day, 365 days
- Orphenadrine, 50 mg: 10% use, 1 unit/day, 365 days
Personnel Time per Case:
- Generalist/Primary care doctor (Medication monitoring): 100% require three 10-minute visits.
- Psychiatric nurse (Medication monitoring): 100% require three 10-minute visits.
- Professional Nurse (PN nurse) (Psychosocial support, supervised by DHMTs): 100% require four 20-minute visits.
Visits or Inpatient Time per Case:
- Outpatient visits (Medication monitoring): 100% require 6 visits.
- Outpatient visits (Psychosocial support): 100% require 4 visits.
- Acute inpatient care: 15% require 28 days.
- Long-term inpatient care: 10% require 90 days.
Intervention 2: Intensive psychosocial support and anti-psychotic medication
Target Population Node in Model: 7jR6zfXt (PopulationReached-AntiPsychoticBasicPsychModerate)
Drugs and Supplies per Client:
- Haloperidol, 5 mg tab: 15% use, 1 unit/day, 365 days
- Chlorpromazine, 100 mg: 10% use, 3 units/day, 365 days
- Flupenthixol decanoate, 20 mg/ml: 15% use, 1 unit per administration, 12 administrations/year
- Risperidone, 2 mg tab: 15% use, 2.5 units/day, 365 days
- Orphenadrine 50mg: 10% use, 1 unit, 3 times per day, for 14 days
- Zuclopenthixol, 200mg: 15% use, 1 unit per administration, 12 administrations/year
- Clozapine, 100mg: 12% use, 1 unit, 3 times per day, 365 days
- Olanzapine, 10mg: 15% use, 2 units/day, 365 days
Personnel Time per Case:
- Generalist/Primary care doctor (Medication monitoring): 100% require two 10-minute visits.
- Psychiatric nurse (Medication monitoring, supervised by DHMTs): 100% require four 10-minute visits.
- Occupational therapist (Individual therapy): 90% get 8 sessions of 50 minutes each.
- Occupational therapist (Individual therapy): 10% get 2 sessions of 50 minutes each.
- Occupational therapist (Group therapy, 5 participants/group): 10% (the same 10% receiving fewer individual sessions) get 8 sessions of 50 minutes each.
Visits or Inpatient Time per Case:
- Outpatient visits (Medication monitoring): 100% get 6 visits.
- Outpatient visits (Individual therapy): 90% get 8 visits.
- Outpatient visits (Group therapy path): 10% get 10 visits (2 individual + 8 group).
- Acute inpatient care: 15% of patients require 28 days.
- Long-term inpatient care: 10% of patients require 90 days.
5. Coverage Assumptions for Scenarios
The model can be run under different scenarios, each with specific assumptions about intervention coverage levels and how they change over the simulation period (2025-2050). Scale-up is generally from 2025 (Year 0 / Index 0) to 2030 (Year 5 / Index 5).
Scenario: Default Scenario
Description: Where default coverage rates stay the same. All relevant parameters are exposed for editing.
- Intervention: Basic psychosocial support and (newer) anti-psychotic medication (Intervention 1)
- Baseline Coverage: 20.0% (0.2)
- Target Coverage: 20.0% (0.2)
- Scale-up Period: from 2025 to 2030 (coverage remains constant at baseline)
- Intervention: Psychological treatment and (newer) anti-psychotic medication (Intervention 2 - Intensive)
- Baseline Coverage: 5.0% (0.05)
- Target Coverage: 5.0% (0.05)
- Scale-up Period: from 2025 to 2030 (coverage remains constant at baseline)
Scenario: All-On Scenario
Description: Where all interventions are scaled up to their target coverage.
- Intervention: Basic psychosocial support and (newer) anti-psychotic medication (Intervention 1)
- Baseline Coverage: 20.0% (0.2)
- Target Coverage: 50.0% (0.5)
- Scale-up Period: from 2025 to 2030 (Scale-up Start Index 0, End Index 5)
- Intervention: Psychological treatment and (newer) anti-psychotic medication (Intervention 2 - Intensive)
- Baseline Coverage: 5.0% (0.05)
- Target Coverage: 20.0% (0.2)
- Scale-up Period: from 2025 to 2030 (Scale-up Start Index 0, End Index 5)
Scenario: Basic psychosocial support and (newer) anti-psychotic medication
Description: Scaling up only Intervention 1 to target coverage.
- Intervention: Basic psychosocial support and (newer) anti-psychotic medication (Intervention 1)
- Baseline Coverage: 20.0% (0.2)
- Target Coverage: 50.0% (0.5)
- Scale-up Period: from 2025 to 2030 (Scale-up Start Index 0, End Index 5) (Intervention 2 remains at its default/baseline level of 5.0% as per the "Default Scenario").
Scenario: Psychological treatment and (newer) anti-psychotic medication
Description: Scaling up only Intervention 2 (Intensive) to target coverage.
- Intervention: Psychological treatment and (newer) anti-psychotic medication (Intervention 2 - Intensive)
- Baseline Coverage: 5.0% (0.05)
- Target Coverage: 20.0% (0.2)
- Scale-up Period: from 2025 to 2030 (Scale-up Start Index 0, End Index 5) (Intervention 1 remains at its default/baseline level of 20.0% as per the "Default Scenario").
Issues for Authors
- Node Name Mismatches in Links (Section 2.b):
- The source document mentions
PsychosisEpsd Incidence -> AsthmaEpsd. It is assumedAsthmaEpsdhere is a placeholder and should refer toPsychosisEpsd. - Similarly,
PsychosisEpsd Remission -> AsthmaEpsdis mentioned. It is assumedAsthmaEpsdhere should refer toDsFreeSus. These assumptions have been incorporated into the reformatted text but should be verified.
- The source document mentions
- Intervention Naming Consistency: The scenario titles use "(newer) anti-psychotic medication" which is not explicitly part of the intervention names in Section 4. For clarity, Section 4 has been kept simpler ("Basic psychosocial support and anti-psychotic medication" and "Intensive psychosocial support and anti-psychotic medication"). The "newer" aspect is assumed to be covered by the drug list provided for each. The more intensive intervention is also sometimes referred to as "Psychological treatment and..." in scenarios and "Intensive psychosocial support and..." in resource details; these have been aligned where possible.
- Scale-Up Index vs. Year: The Psychosis documentation uses "Scale-up Start/End Index" (0 and 5). This has been interpreted as Year 1 (2025) and Year 6 (2030) of the simulation respectively, implying a 5-year scale-up period to reach the target by the start of the 6th year. This interpretation should be confirmed.
- Implicit PIN in Subroutines: Step 24 in Section 3 ("Modify Population Reached by PIN and Coverage") implies Population In Need (PIN) is used. While PIN is mentioned for other models, it's not explicitly defined as a CONSTANT node or detailed in the intervention efficacy calculations (Section 2.b) for Psychosis in the same way as for Anxiety/Depression. It's assumed to be an implicit part of how
PopulationReachedis determined fromPsychosisEpsd. - Target Population Node IDs: The "Target Population Node ID in Model" (e.g.,
Th8rib7e,7jR6zfXt) are specific technical IDs. For consistency with other documents, more descriptive names (e.g.,PopulationReached-AntiPsychoticBasicPsychMild) have been added in parentheses. The original IDs are retained. - "Mild" vs. "Moderate" Suffixes for PopulationReached Nodes: The descriptive names used parenthetically for
Th8rib7e(asPopulationReached-AntiPsychoticBasicPsychMild) and7jR6zfXt(asPopulationReached-AntiPsychoticBasicPsychModerate) are based on common patterns in other models. These suffixes ("Mild", "Moderate") are not explicitly in the Psychosis intervention names themselves but help differentiate the target population nodes for the basic and intensive interventions respectively. This convention should be reviewed for appropriateness.