synthetichealth / synthea

Synthetic Patient Population Simulator
https://synthetichealth.github.io/synthea
Apache License 2.0
2.14k stars 644 forks source link

Create module with multimorbidity interaction #847

Open nonieA opened 3 years ago

nonieA commented 3 years ago

Hello

Is it possible to create a module for a disease, e.g. dementia where the likelihood of getting it increases if the patient has another disease e.g heart disease or cancer ?

dehall commented 3 years ago

Yes, this is possible. There are (at least) a few different ways they can be implemented:

  1. Fixed probabilities for the chance of getting the condition based on having and not having the pre-condition. As an example, take a look at the COPD module: https://synthetichealth.github.io/module-builder/#copd Here we have a fixed yearly chance of getting COPD for a smoker, and a fixed yearly chance for a non-smoker (each broken down further by socioeconomic status). We used an attribute "smoker" here, but we could have used any logical check, like an Active Condition, Age, etc)
  2. A Table Transition. https://github.com/synthetichealth/synthea/wiki/Generic-Module-Framework%3A-Transitions#table I'm not sure offhand if we have any clean examples I can link to, but it's the same basic idea as 1 above, just with more flexibility to add a lot more combinations
  3. Another approach we've experimented with is maintaining a counter of risk factors, then setting a % chance of an event based on the risk score. Conceptually this is like the Framingham Risk Score approach (https://en.wikipedia.org/wiki/Framingham_Risk_Score#Scoring), or there are probably a lot of similar risk score calculators. For example, if age >65 add 2 points, if the patient has active condition X add 4 points, etc, and then at the end, you turn the overall score into a % chance of acquiring the new condition. The biggest challenges here are -how to know what weighting to give each risk factor, and -how to know what % chance each total score turns into. Like I said, we've experimented with that approach and it can be powerful but it also involves major challenges to get the numbers to turn out right.