Inspiration
125,000 Americans die annually from medication errors — many from drug-drug interactions that were knowable and preventable. A busy physician prescribing a 5th medication to an elderly patient cannot realistically hold every possible interaction in memory. We built MedCheck to be that second pair of eyes — always available, always checking.
What it does
MedCheck analyzes a patient's complete medication list and checks every possible drug pair for interactions:
- Major: Requires immediate intervention
- Moderate: Monitor closely, consider alternatives
- Minor: Low risk, document and observe
For each interaction it explains the mechanism, the clinical effect on the patient, and what the clinician should do. Where a Major interaction is found, it suggests safer alternative medications automatically.
Two skills registered:
check_interactionssuggest_alternatives
How we built it
Built as a BYO Agent on Prompt Opinion with A2A protocol enabled. The system prompt was engineered around clinical pharmacology standards — every drug pair in the list is checked combinatorially, not just sequentially. FHIR context extension pulls MedicationRequest resources directly so the agent works from structured data, not free text alone.
Published to Prompt Opinion Marketplace for A2A discovery and cross-agent orchestration.
Challenges we ran into
The combinatorial explosion of drug pairs was the core challenge. A patient on 6 medications has 15 possible pairs to check. Getting the agent to systematically cover every combination — without skipping pairs or duplicating checks — required explicit prompt structure.
The second challenge was calibrating confidence. The agent must never clear a combination as definitively "safe" — only "no known interaction" — to avoid false reassurance in clinical settings.
Accomplishments that we're proud of
The Warfarin + Aspirin + Ibuprofen triple interaction test produced exactly the right output — all three Major interactions correctly identified with accurate mechanisms and actionable management steps. The suggest_alternatives skill successfully recommended Acetaminophen as a safer substitute for Ibuprofen in an anticoagulated patient.
What we learned
Combinatorial reasoning is hard for LLMs without explicit structure. Prompting the agent to "list all pairs first, then check each" produced dramatically more complete results than asking it to find interactions directly. Structured thinking beats free-form reasoning for safety-critical tasks.
What's next for MedCheck — Medication Interaction Checker
- OpenFDA API integration for real-time interaction database
- Dosage-aware severity: factor in actual doses, not just drug names
- Renal/hepatic adjustment flags for compromised patients
- Chain with SOAP Note Generator to auto-check Plan section medications before the note is finalized
- EHR integration via FHIR MedicationRequest resources
Built With
- a2a
- agent
- ai
- analysis
- byo
- clinical
- context
- data
- drug
- extension
- fhir
- healthcare
- interaction
- language
- natural
- opinion
- patient
- pharmacology
- processing
- prompt
- protocol
- r4
- safety
- synthetic
Log in or sign up for Devpost to join the conversation.