Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Payment Sources #68

Open
NickKramer87 opened this issue Oct 19, 2023 · 6 comments
Open

Payment Sources #68

NickKramer87 opened this issue Oct 19, 2023 · 6 comments
Assignees

Comments

@NickKramer87
Copy link

As a data analyst, I want the synthetic databases to contain information on the source of payment so that I can analyze any differences in treatment based on payment type.

Proposed Subtasks:

  1. Determine if payment source can be generated through Synthea or must be created through some other means.
  2. If the answer to subtask 1 is "no" then find an alternate method of obtaining these payment sources.
  3. Add "Expected Source of Payment" fields - Payer Category, Type of Coverage, and Plan Code Number
  4. Confirm that the summary statistics of payment source matches the real world summary statistics using the results of subtasks 30 and 36.

Acceptance Criteria:

  1. A brief plan for adding payment data to database.
  2. Database generation that includes the three relevant payment fields.
  3. A summary report that exceeds the critical acceptance threshold from subtask 36.
@TravisHaussler
Copy link
Contributor

TravisHaussler commented Oct 31, 2023

We have some data available to us, but its hard for me to understand if it is enough:

  • PAYER CATEGORY -
    Here is the default CSV of insurance companies ( reference: https://github.com/synthetichealth/synthea/wiki/Payer-Data)
    Image
    The result is we really only ever get values 01,02,03,06,08 from our current settings (i.e. no 04="Workers' Compensation" or 05="County Indigent Programs"
    This is implemented currently

  • Type of Coverage -
    The options are 1="Managed Care – Knox-Keene or Medi-Cal County Organized Health System", 2="Managed Care", 3="Traditional Coverage"
    I just don't know how to identify a payer/plan as one or the other. We have in the /cpcds/CPCDS_Coverages.csv output a field for "Coverage type" and the values seem to be HMO, POS, PPO, or EPO. I don't have a full understanding of this area, but my feeling is this is not a 1-1 map with managed vs traditional coverage.

  • Plan Code Number -
    This is specific to Knox-Keene stuff (coverage type 1). 0000 for coverage type 2 or 3

@rileeki
Copy link
Contributor

rileeki commented Nov 1, 2023

TIL: Knox-Keene is shorthand for the "Knox-Keene Healthcare Service Plan Act of 1975."

It requires California managed care plans to obtain a license from the DMHC. The act requires licenses for "full service health plans," which are entities that arrange for the provision of health care services to enrollees in return for a prepaid or periodic charge.

Given that, I think we mostly expect Type of Service = 1. And in that case, it sounds like we'd have to dig in quite a bit ourselves to get the Plan Code Numbers. The list of California plan codes and insurance plans is quite detailed and definitely won't come from Synthea's default CSV.

For realistic data, we probably also want some resource that can give us an idea of which plans work with which hospitals.

@kurtisr
Copy link

kurtisr commented Nov 23, 2023

I think the most relevant file is the list of insurance plans

Each plan would need to be tagged with the category, code number, and type of coverage. After that, we would be able to pin each Claim to a payment source.

Getting a match to real world statistics is far more trouble. As you can see from the list of plans, synthea only has a couple of plans per payer, heavily biased toward ACA, so we would have to also increase the fidelity of plans and providers.

@TravisHaussler
Copy link
Contributor

TravisHaussler commented Mar 29, 2024

I've implemented a draft version of this that assigns Type of Coverage based on HMO/PPO/EPO/POS and assigns the plan codes for these payers:

def hmo_plan_codes(col):
dic = {
'Humana': '0476',
'Blue Cross Blue Shield': '0043',
'UnitedHealthcare': '0126',
'Aetna': '0176',
'Cigna Health': '0152',
'Anthem': '0303',
'Kaiser': '0055',

@beckyphan
Copy link

beckyphan commented Jun 15, 2024

[Katlyn] In CA, 54% of births are covered by private insurance and 40% by Medical (page 9 of this). In our data, we see 0% Medical (payer_cat ‘02’) but 40% “other government” (payer cat ‘06’). We also see the payer field missing about 6% of the time in our data. Is it possible to make the payer category distribution more closely align to the statewide data shared above?

[Riley] Generally, there is a larger goal to add a program to the synthetic_discharges repository that queries a larger generated dataset to extract sample data that aligns with publicly available distributions (eg hospital volume, DRGs, payer mix). As Becky stated, that is a longer term goal that we do not have a plan for right now.
Could we get the payer category distribution to show 40% MediCal (payer_cat '02') instead of 40% Other Government (payer_cat '06')? That's a much easier change. Katlyn Bauman, am I correct that this change would satisfy your current ask? If so, I believe that Travis Haussler could handle it as part of the next update without much effort.

@beckyphan
Copy link

June 18 - [Travis]: Synthea natively has no concept of medical which is why we do not see that payer catagory in the data. I'll try to figure out if it can be hard coded in the formatting somehow or if it can be added to the synthea input files in some way

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants