This application uses the Mindmeld framework to build a conversational agent that inquires and collects information about a patient's medication record. The use case for this application is medication reconciliation, which is the process of creating an accurate record of a patient's current medication regimen.
This agent aims to accomplish the following tasks:
- Collect medication brand, primary ingredients, dosage, and frequency from natural language
- Inquire user for missing information about their medications
- Cross check information with RxNorm, a database of standardized perscription drug information maintained by the US Library of Medicine
This application is currently under development.
The medication
domain is to support the following intents:
add_medication
— Patient reports a series of new medications that are to be added to their record.update_record
— Agent interviews patient about medications on their existing record and updates it as needed.start_over
— Clears information from the current conversation and goes back to the start message.
The general
domain is to support the following intents:
greet
— Begins the interaction. Greet the patient and inform them about the agent's functionality.exit
— Ends the current interaction and say goodbye to the patient.help
— State the agent's functionality and recomend several actions they can take in case the patient gets stuck.unsupported
— Patient has inquired for information outside the scope of the agent's knowledge.
medication_history_examples
— Examples of medication reconciliation dialogue from Vanderbilt University Medical Center's training videos.sds4rx
— Mindmeld applicationdata
— JSON knowledge base of all known medicationsdomains
— Contains annotated example queries for all intents, sorted by domain.entities
— Contains training data for entity resolution.scripts
— custom Python scripts used to generate data in the three folders described previously.rxnorm.py
— Collects data from RxNorm APIkb_generatory.py
— Generates a JSON knowledge base given a list of ingredients using information from RxNorm.entity_generator.py
— Generates entity mapping files given a JSON knowledge base.frequencies_gen.py
— Generates natural language phrases for describing frequencies.
- This application's knowledge base is limited to the 50 most perscribed medications in the US (Fuentes, 2018).
- Representative training data is currently being generated to train the NLP classifiers. (related Mindmeld documentation)
- Include a knowledge base component that directly interfaces with the RxNorm API instead of a locally-stored database.