Open Mike2023 opened 2 years ago
You can try to use the https://github.com/coderxio/medication-diversification tool that won the recent ONC PCOR Challenge. I haven't tried it personally, but it looks great. Give it a try and let us know how it worked.
Thank you and will try it.
Per the instructions using MDT (medication diversification Tool), a user have to manually replace "MedicationOrder" with "Callsubmodule" in the json file of each medical module. When Synthea generates a population of patients without specify a medical module, it uses all medical module, right? Just want to confirm it. Thanks
When Synthea generates a population of patients without specify a medical module, it uses all medical module, right?
Yes.
Thanks for response. I made some progresses in MDT but stuck in specifying required RxClass and RxCUI in setting.yaml when building a module. I have over two thousand drug names used in our database. It is complicated and not sure how to do this. Do you have any previous successful example? Appreciate!
Like I said, I haven't tried it. That project does give examples though: https://github.com/coderxio/medication-diversification/tree/main/docs/examples
I don't know what drug codes your database uses, but if you have access to NLM UMLS, you should be able to access mapping files so you don't have to do it manually. https://www.nlm.nih.gov/research/umls/rxnorm/docs/techdoc.html
@Mike2023 - I'm the team lead for the CodeRx MDT project. Does your database have any medication identifiers? NDC? RXCUI? Anything like that? Or is it just a bunch of text string names of drugs? Worst case scenario, you'd need to get from drug name to ingredient RXCUI (RxNorm TTY = IN). You may be able to automate some of that with the Batch functionality of RxMix, which uses RxNorm APIs. https://mor.nlm.nih.gov/RxMix/
@jrlegrand Thank you very much for your comment. Our database has a bunch of text string names of drugs. I downloaded RxNorm files at https://www.nlm.nih.gov/research/umls/rxnorm/docs/rxnormfiles.html. Then uploaded RXNCONSO to our database and got a list (over 2000) of RxCUIs by mapping all drug names in our database. After copy the RxCUIs to setting.yaml, I did build a generic module by command "mdt module -n generic build" and generated generic.json and lookup tables . However, I am having difficulty to replace a MedicationOrder with a MDT submodule (generic module) because we use all medical modules without specifying any specific medical module when generating healthcare datasets with Synthea. However, it seems that MDT is designed for a specific medical module. Any suggestion? Appreciate!
I think the (likely disappointing to you) answer is this: We (CodeRx) did this for one MedicationOrder state (the maintenance inhaler one - not even the rescue inhaler one) within one Synthea module (Asthma) as part of our project. If you wanted the same effect with all medical modules, I think someone (Synthea team? crowdsourcing?) would have to do the same thing (carefully!) with all other MedicationOrder states within all other modules.
You might be able to make a new generic MODULE that just calls your "generic" MDT submodule from Synthea (i.e. Start -> CallSubmodule --> End) to get a list of drugs that somewhat represents the distributions in MEPS, but I doubt that would be very useful to you without all the other clinical info for encounters and labs that comes from the medical Synthea modules... and it also might not be very accurate - not sure if it would assign only one drug per patient and then stop, for instance.
That is what I concern about. Thank you.
Requested Feature
We generated pilot medical datasets by Synthea using a demographic spreadsheet for aviators. Then we compared the generated dataset with our own database. They matched well in gender and age. However, their medications do not match well. Both corpus cosine similarity and Jaccard similarity of medications (150,000 samples each) are very low. Our own database contains over 2000 distinct drug names while the generated dataset has less than 200 distinct drug names. The medicine pool used by Synthea may be much smaller than our real database.
My question is how to make the generated medications mimic those in our real database? Is there a way expand the medicine pool used by Synthea? We used default generic clinic module since we did not specify medical module in the commands. I notice that there are a lot .json files in folder ~\synthea\src\main\resources\modules.
Appreciate your help.
Michael