synthetichealth / synthea

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

Economic issues #616

Open jawalonoski opened 4 years ago

jawalonoski commented 4 years ago

@rlieberthal posted Issue 255 on the Module Builder Repo:

Economic issues

Add annual wellness visit (AWV) price and utilization to reflect the overall cost of visits

nblake989 commented 4 years ago

I really like this from the concept of preventative encounters and adding the probability of utilization by various groups based on benefit type and demographics. I’ll try to find some of the published private insurance utilization rates. Is the accepted practice in this scenario to use a basic state in the module to act as a coverage/insurance_plan guard?

jawalonoski commented 4 years ago

Is the accepted practice in this scenario to use a basic state in the module to act as a coverage/insurance_plan guard?

@nblake989 I'm not entirely sure what you are asking.

If you are asking how to determine if there is coverage or not... then you probably want to guard (e.g. wait until some condition is met) with the Guard State: https://github.com/synthetichealth/synthea/wiki/Generic-Module-Framework%3A-States#guard

Unfortunately, currently there is no patient attribute accessible in the modules that identifies insurance coverage (there used to be, but that was dropped when the insurance coverage was recently refactored and updated. That is probably something that needs to be fixed). At the moment, the data currently resides in the org.mitre.synthea.world.agents.Person.payerHistory field.

If you are asking about how wellness encounters are scheduled and performed, then look at the wellness encounters module: https://synthetichealth.github.io/module-builder/#wellness_encounters. The scheduling is here: https://github.com/synthetichealth/synthea/blob/master/src/main/java/org/mitre/synthea/modules/EncounterModule.java

jawalonoski commented 1 year ago

There is a patient attribute called insurance_status with legal values currently being PRIVATE, GOVERNMENT, or NO_INSURANCE. This attribute can be used within modules if desired.