MyData Safe Medication CDSSMOHW R&D · 2023-2025
This project ran from February 2023 to December 2025 under the Ministry of Health and Welfare R&D program for MyData technologies. Its strengths are patient-specific polypharmacy analysis and a medication guide tailored to the drugs a patient actually takes. The patient downloads their own diagnosis, prescription, laboratory and health-checkup records from the ‘My Health Record’ app on the Health Information Highway and uploads them to the SMART DUR CDSS at myadr.care. A rule engine computes drug interactions, potentially inappropriate medications for older adults, anticholinergic burden and STOPP criteria risks, and a multi-agent LLM writes the results into a guide the patient can read. A clinician reviews it, the report and safety card go to the patient app ‘Yagirang’, and the patient writes back what happened while taking the drugs. In year 3 we ran the field validation at Chungbuk National University Hospital, Kangbuk Samsung Hospital and NHIS Ilsan Hospital.
30-second demo
The patient journey from consent to report
Outcomes at a glance
What we built

SMART DUR CDSS web app, myadr.care
Uploading the My Health Record FHIR file the patient brings fills in the patient profile, and the clinician works through five tabs: baseline polypharmacy questionnaire, prescribed drugs, comorbidities, adverse drug reactions, and review and send. The prescribed drugs tab organizes the past year of medication by ATC code and shows days of supply next to medication adherence (PDC).

Drug interaction analysis
For every combination of the drugs the patient takes now, the system finds interactions from DrugBank evidence and explains them. The ingredient analysis tab shows each product's approved labeling (dosage, contraindications, adverse reactions) in Korean and in English.

Potentially inappropriate medications and anticholinergic burden
A table lists fall-risk drug classes with their risk level and the drugs whose adherence needs checking. For drugs with a high anticholinergic burden score, the system suggests alternative ingredients by ATC code.

STOPP criteria screening
Working from version 3 of the STOPP/START criteria, we registered 146 rules as diagnosis (ICD-10) and drug (ATC) conditions, so that a patient who meets a condition gets the explanation in patient-facing wording. Clinicians can edit the rules and add their own from the settings screen.

Multi-agent LLM guide generation
A multi-agent LLM turns the analysis into a polypharmacy reconciliation guide the patient can read. You can pick models and compare them on the same input (LLM evaluation), and nothing reaches the patient until a clinician has reviewed and approved it.

Three patient reports
The polypharmacy reconciliation guide (what the current drugs do, drugs needing special care, drugs to keep taking, combinations to watch when taken together, symptoms to look out for, overall recommendations), the Smart Allergy Report (contraindicated, caution and safe to take by drug class, with a Q&A), and personalized medication counseling notes.

Yagirang app
The smartphone app patients use. They receive the reports and the safety card, get reminders and keep a medication log, and write down what they went through after taking a drug (e-PRO) to send back to the study team.
Smart Drug-Allergy Prevention Guide multi-agent LLM
A multi-agent system that takes a patient's own adverse drug reaction history and builds a personalized drug allergy prevention guide automatically. It runs on the OpenAI Agents SDK and is written in Python and Streamlit. Four specialist agents run in a mix of sequence and parallel, with a target of under 3 minutes end to end. Input is a FHIR AllergyIntolerance JSON file or free text, and drug classification refers to a WHO ATC code mapping file.
Clinical skills: cephalosporins, fluoroquinolones, penicillins, macrolides, NSAIDs, antipyretic analgesics (acetaminophen and others), antihistamines (first generation and non-first-generation kept apart), iodinated contrast media · Principles: no guessing - the system uses contraindicated, caution and safe-to-take information only when it is stated explicitly, never the general knowledge of the LLM., When that information is absent, only the culprit drug is marked contraindicated and nothing else is judged., ATC code required - every drug is written as 'Korean name (English name, ATC code)', and when the code is unknown only the drug name is written., Class-level explanation - the text explains drug classes, not individual drugs., No merging of categories - different drug classes are never combined into one., No duplication - when the same class appears under both contraindicated and caution, it is handled in a single combined section., THINK - PLAN - ACT - REFLECT - every agent follows this sequence explicitly., Admit the limits - when ATC mapping fails, the item is marked 'cannot verify' instead of being skipped.
On the CDSS side, we built automated evaluation across LLM models in year 2 and compared models on five metrics: Relevance Precision, Relevance Recall, Accuracy, Completeness and Helpfulness. Alongside that we ran the agents' own self-scoring (Validity, Relevance and Quality, Overall Assessment) and a human in the loop step in which clinicians compared the system output and left feedback. The SDAP repository has unit tests and integration tests for each agent, and it states its performance targets: processing time, an ATC mapping success rate of 90 percent or higher, and 100 percent report completeness. The performance table in the SDAP repository lists target values only; the measured figures are blank. The number of reports actually produced for patients is tracked on the CDSS field-validation side rather than in this repository, and the study enrollment screen in the year 3 review materials is anonymized, so the counts cannot be read.
Timeline
Results and dissemination
- We validated the whole path at 3 hospitals: the patient downloads their own record from the Health Information Highway, brings it to the hospital, and the file goes straight into the CDSS analysis.
- We built a polypharmacy reconciliation CDSS that layers an LLM over a rule-based engine and always routes the result through clinician review. The output is structured JSON, so the reasoning can be traced and checked.
- We delivered three kinds of patient report to real patients. All three use the same grammar: three tiers of contraindicated, caution and safe to take, with explanations at the drug class level.
- We built automated evaluation across LLM models and put commercial models and small open models side by side on five metrics. That led on to an experiment producing the same report with a small local model.
- The patient satisfaction survey was still in progress at the year-3 review.
- Automated analysis of drug ingredients performed well, and clinicians confirmed its reliability while cross-checking the AI answers. Patients also showed little resistance to sharing information between hospitals.
- The limits are just as clear. Electronic medical record specifications differ from hospital to hospital, which restricts integration, and where the EMR cannot be connected the system stays unusable no matter how well the CDSS performs.
- We could not connect to the Health Information Highway server to server, so sharing data cost considerable time and resources. Identity verification at sign-up for the My Health Record app, together with age and limited digital experience, also blocked some patients regardless of how willing they were.