Open josephhaney opened 5 years ago
Hi Joseph, we've had a few teams internally investigating this for a while now and discussed it with Jason at DevDays.
Essentially, there is not enough information in the current output to create useful ADT messages because there is no Scheduling module in Synthea.
One option we are looking at is to create the module and merge it back into the main branch.
Another is to implement a 'fake' scheduling module based on the output (e.g., random amounts of time backward from encounter, randomly cancel and recreate appointments, etc.). This would read in the existing output and generate the messages from it.
In either case, we have been working to try and define what useful data looks like (e.g., which messages should we focus on creating).
Do you have specific messages or a specific use case?
We would most likely be interested in ADT message types of the following to start:
ADT-A01 – patient admit ADT-A02 – patient transfer ADT-A03 – patient discharge ADT-A04 – patient registration ADT-A05 – patient pre-admission ADT-A08 – patient information update ADT-A11 – cancel patient admit ADT-A12 – cancel patient transfer ADT-A13 – cancel patient discharge ADT-A31 - update person information
Thanks!
[Image result for crisp hie logo] Joe Haney Integrations Team Lead CRISP Health | 7160 Columbia Gateway Drive, Suite 100 Columbia, MD 21046 (p) 443-430-2991 (e) joseph.haney@crisphealth.orgmailto:joseph.haney@crisphealth.org http://www.crisphealth.orghttps://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.crisphealth.org%2F&data=02%7C01%7Cjmilam%40cardinalsolutions.com%7C2139c11ad9ef43f89d3208d4d47195d8%7C414efc3368fe4520802faea4401192d0%7C0%7C0%7C636367031687675548&sdata=Dh9HYtFywTzEkZv9%2BNvwG%2B8qxnWPq%2FyiUtZ3Q7TwEyY%3D&reserved=0
From: Gino Canessa notifications@github.com Sent: Thursday, June 27, 2019 12:43 PM To: synthetichealth/synthea synthea@noreply.github.com Cc: Joseph Haney Joseph.Haney@crisphealth.org; Author author@noreply.github.com Subject: Re: [synthetichealth/synthea] Creating ADT messages from Synthea csv output (#535)
Hi Joseph, we've had a few teams internally investigating this for a while now and discussed it with Jason at DevDays.
Essentially, there is not enough information in the current output to create useful ADT messages because there is no Scheduling module in Synthea.
One option we are looking at is to create the module and merge it back into the main branch.
Another is to implement a 'fake' scheduling module based on the output (e.g., random amounts of time backward from encounter, randomly cancel and recreate appointments, etc.). This would read in the existing output and generate the messages from it.
In either case, we have been working to try and define what useful data looks like (e.g., which messages should we focus on creating).
Do you have specific messages or a specific use case?
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/synthetichealth/synthea/issues/535?email_source=notifications&email_token=AMO6TF3OLVWVKYCGPFYLTIDP4TUYZA5CNFSM4H35WAKKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODYXWPDQ#issuecomment-506423182, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AMO6TF3FNDSEWJNUD7NT2G3P4TUYZANCNFSM4H35WAKA. WARNING: This email originated outside of CRISP. Even if this looks like a CRISP email, it is not. DO NOT CLICK links or attachments unless you are positive the content is safe. ------------ This email originates from outside your organization. Do not click on any links or open attachments unless you recognize the sender and have verified that the contained content is safe.
The contents of this e-mail and any attachments are intended solely for the use of the named addressee(s) and may contain confidential and/or privileged information. Any unauthorized use, copying, disclosure, or distribution of the contents of this e-mail is strictly prohibited. If you are not the intended recipient, please notify the sender immediately and delete this email. Thank you.
FWIW this is not open source, but: I have successfully fed Synthea data into a Smile CDR FHIR repo and then used the standard HL7v2 transforms to get v2.x feeds for various data types out of it for testing.
Gino, We are Maryland’s designated state-wide Health Information Exchange (HIE) and will use this ADT data to test new and existing integrations via Mirth Connect interfaces. With this test data, we can segment our channel/transformation logic testing away from any production systems and use realistic but non-production data for confirmation of any new integrations or any necessary changes to existing integrations. With the expansions of national networks on the horizon, the testing data could become invaluable to meeting designated timelines, etc.
Let me know your thoughts.
[Image result for crisp hie logo] Joe Haney Integrations Team Lead CRISP Health | 7160 Columbia Gateway Drive, Suite 100 Columbia, MD 21046 (p) 443-430-2991 (e) joseph.haney@crisphealth.orgmailto:joseph.haney@crisphealth.org http://www.crisphealth.orghttps://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.crisphealth.org%2F&data=02%7C01%7Cjmilam%40cardinalsolutions.com%7C2139c11ad9ef43f89d3208d4d47195d8%7C414efc3368fe4520802faea4401192d0%7C0%7C0%7C636367031687675548&sdata=Dh9HYtFywTzEkZv9%2BNvwG%2B8qxnWPq%2FyiUtZ3Q7TwEyY%3D&reserved=0
From: Gino Canessa notifications@github.com Sent: Thursday, June 27, 2019 12:43 PM To: synthetichealth/synthea synthea@noreply.github.com Cc: Joseph Haney Joseph.Haney@crisphealth.org; Author author@noreply.github.com Subject: Re: [synthetichealth/synthea] Creating ADT messages from Synthea csv output (#535)
Hi Joseph, we've had a few teams internally investigating this for a while now and discussed it with Jason at DevDays.
Essentially, there is not enough information in the current output to create useful ADT messages because there is no Scheduling module in Synthea.
One option we are looking at is to create the module and merge it back into the main branch.
Another is to implement a 'fake' scheduling module based on the output (e.g., random amounts of time backward from encounter, randomly cancel and recreate appointments, etc.). This would read in the existing output and generate the messages from it.
In either case, we have been working to try and define what useful data looks like (e.g., which messages should we focus on creating).
Do you have specific messages or a specific use case?
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/synthetichealth/synthea/issues/535?email_source=notifications&email_token=AMO6TF3OLVWVKYCGPFYLTIDP4TUYZA5CNFSM4H35WAKKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODYXWPDQ#issuecomment-506423182, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AMO6TF3FNDSEWJNUD7NT2G3P4TUYZANCNFSM4H35WAKA. WARNING: This email originated outside of CRISP. Even if this looks like a CRISP email, it is not. DO NOT CLICK links or attachments unless you are positive the content is safe. ------------ This email originates from outside your organization. Do not click on any links or open attachments unless you recognize the sender and have verified that the contained content is safe.
The contents of this e-mail and any attachments are intended solely for the use of the named addressee(s) and may contain confidential and/or privileged information. Any unauthorized use, copying, disclosure, or distribution of the contents of this e-mail is strictly prohibited. If you are not the intended recipient, please notify the sender immediately and delete this email. Thank you.
Hi Joe, that sounds like a great use case and well defined message requirements. We are sorting out the best approach internally right now - I will update this thread as soon as I have more concrete info from our side.
Did you have a specific timeline you are meeting, or just a general "as soon as possible"?
For what it's worth... We use an external system data in SQL (Query and SSIS Packaging) to make a final txt file in ADT^A31 for new patient creation. So maybe loading the CSV to a SQL table, do the data mapping, and writing the code for it is an option?
Hi Joe, that sounds like a great use case and well defined message requirements. We are sorting out the best approach internally right now - I will update this thread as soon as I have more concrete info from our side.
Did you have a specific timeline you are meeting, or just a general "as soon as possible"?
Any update on this?
Nothing testable - have you tried Jame's process (e.g., loading data into a FHIR server and using the v2 transforms)?
Using Smile CDR just for this doesn't fit our budget unfortunately.
I created a tool for this purpose - https://github.com/mayankthebest/MayaMaker
@mayankthebest I looked at your tool, and tried out the public instance, and it seems to work (although I don't use HL7 v2 enough to comment on the results). Cool!
hi @jawalonoski, we are currently building a HL7v2.5 exporter for synthea and I was looking into this issue and have a question: is there any way to use a module to build a in-house referral chain? If the encouter-type == inpatient then encounter has various stays within the hospital on different wards?
@hannesUlrich There is no "referral" state in the module builder or engine today, there is also no concept to capture ward information. The closest thing you can do is just have a series of inpatient encounters (like the Covid19 module) with different codes (e.g. ICU) or insert a "Procedure" with a code that is a child of the SNOMED referral code (3457005) between the encounters.
Alternatively, you could use the Health Record Editors feature to add additional information to inpatient encounters after they end. You would have to extend the State.Encounter class to hold that extra information. The advantage of this is that it could work on encounters from any module rather than you having to edit each module separately.
Has anyone found a reliable tool to create HL7 ADT messages from the csv output files?