synthetichealth / synthea

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

Unable to generate encounters in multiple facilities #413

Open isc-gtontche opened 6 years ago

isc-gtontche commented 6 years ago

Background: Expected to find multiple facilities referenced in a single CCDA

Simple case: Pre-op visit, inpatient stay, post-op rehab : these are three different facilities.

Issue: Currently CCDAs "hard-coded" to include only preferred providers.

Expected Ability to generate CCDAs that span multiple facilities. See attached example

isc-gtontche commented 6 years ago

muti-facility-encounters.zip

dehall commented 6 years ago

Copying from our email discussion for posterity:

I see a couple things in the samples that we don't currently do in Synthea: 1) The performers / attending clinicians in the documentationOf secion -- Sam Farrell and James Moore. 2) The organizations referred to in various entries throughout the record -- HC6 and CGH

I think adding 1 could be fairly quick - that could fit into just the top-level CCDA template (https://github.com/synthetichealth/synthea/blob/master/src/main/resources/templates/ccda/ccda.ftl). 2 could potentially involve updating all of the templates and would be a bigger task, or alternatively just update the encounters template for starters. (https://github.com/synthetichealth/synthea/blob/master/src/main/resources/templates/ccda/encounters.ftl)

isc-gtontche commented 6 years ago

what configuration would ensure that a patient is seen at multiple facilities? Currently the default setup sends every patient to a single hospital.

dehall commented 6 years ago

So in the engine we do have the ability for patients to see multiple providers, no configuration changes needed. The real issue is that the CCDA exporter and templates don't export those other providers. (If for example you enabled both the CCDA and text exporters, you could compare the CCDA and text versions of the same patient and you'll see that the text version references the provider for each encounter.) So it wouldn't be a huge change, but because we're not CCDA experts it's not trivial for us to add. If you'd like to take a crack at making a change, we'd welcome a pull request. I'd suggest taking a look at the encounters template first -- https://github.com/synthetichealth/synthea/blob/master/src/main/resources/templates/ccda/encounters.ftl. Alternatively we could take a look at implementing something but I can't promise a timeline.

isc-gtontche commented 6 years ago

Hi Dylan

I’m trying to generate a large number of CCDAs for diabetic patients. I need to force the generator to output larger set of diabetic patients with Hemoglobin A1c values >8. Which files do I need to modify to increase the probability that Hb A1c values will be high? I tried synthea/src/main/resources/metabolic_syndrome_care.json but still getting mostly normal distribution of labs.

From: Dylan Hall notifications@github.com Reply-To: synthetichealth/synthea reply@reply.github.com Date: Monday, August 27, 2018 at 8:05 PM To: synthetichealth/synthea synthea@noreply.github.com Cc: Gramen Tontchev Gramen.Tontchev@intersystems.com, Author author@noreply.github.com Subject: Re: [synthetichealth/synthea] Unable to generate encounters in multiple facilities (#413)

So in the engine we do have the ability for patients to see multiple providers, no configuration changes needed. The real issue is that the CCDA exporter and templates don't export those other providers. (If for example you enabled both the CCDA and text exporters, you could compare the CCDA and text versions of the same patient and you'll see that the text version references the provider for each encounter.) So it wouldn't be a huge change, but because we're not CCDA experts it's not trivial for us to add. If you'd like to take a crack at making a change, we'd welcome a pull request. I'd suggest taking a look at the encounters template first -- https://github.com/synthetichealth/synthea/blob/master/src/main/resources/templates/ccda/encounters.ftl. Alternatively we could take a look at implementing something but I can't promise a timeline.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/synthetichealth/synthea/issues/413#issuecomment-416407778, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ARnUeF8lMLffLchZLYSnVL72Tw89PHd6ks5uVIlCgaJpZM4WOTwB.

jawalonoski commented 6 years ago

HA1C values are tied to BMI and which medications a patient is using.

See the function estimateHbA1c here: https://github.com/synthetichealth/synthea/blob/1b36657e84cd0b73abf9a4b754c1b1239eede5ea/src/main/java/org/mitre/synthea/modules/LifecycleModule.java#L675

And see the impact of medications in the function createDrugImpactsMap here: https://github.com/synthetichealth/synthea/blob/1b36657e84cd0b73abf9a4b754c1b1239eede5ea/src/main/java/org/mitre/synthea/modules/LifecycleModule.java#L472