Struggling to Write a Clear Message to Your Doctor? Let's Chat About epic-note
Let me be real with you: sending a message to your doctor through the patient portal can feel like trying to solve a Rubik's Cube blindfolded. I've been there – typing a huge paragraph about my fluctuating blood sugar, squeezing in medication history, symptoms, and anxiety, only to get a one-line reply saying "Please schedule an appointment." 😩 It's frustrating for both sides.
Then I stumbled upon this little gem called epic-note. It's part of the Tula open-source project – a collection of OpenClaw skills, configs, and patterns that turn a general-purpose AI agent into a personal health intelligence assistant. epic-note specifically focuses on helping patients draft concise, copy-paste ready portal messages for systems like Epic MyChart or Oracle Health HealtheLife.
What Exactly Does epic-note Do?
epic-note is a skill that runs on OpenClaw, an open-source AI agent framework. You talk to it naturally, like "Draft a MyChart message to my PCP about this cough," and it spits out a well-structured message you can just copy and paste. But the magic lies in the guardrails it enforces.
- Triage First: If your symptoms are emergent (e.g., chest pain, severe bleeding), it will redirect you to call 911 or go to the ER – no message drafting allowed.
- Single-Ask Discipline: The output targets around 150 words and is capped at 220. You ask one thing at a time, keeping it focused.
- Canonical Portal Format: It follows a standard structure: a Subject line with urgency tier, a greeting (defaults to your PCP's name from your profile), one-sentence ask, brief context, optional bullet points, and a sign-off.
- No Auto-Sending: It only produces a draft. You manually copy and paste it into the portal. Never will it send a message on your behalf.
- No Clinical Notes: It won't generate SOAP notes, discharge summaries, insurance letters, or billing paperwork.
- PHI Stays Local: Your health information remains in your workspace; the skill won't verify clinician identifiers over the web.
My First Experience: Smooth Like Butter
After cloning the Tula repository (it's on GitHub under realactivity/tula), I deployed the skill using the provided script:
~/tula/scripts/deploy-skills.sh --skill epic-note
openclaw skills list
Then I invoked it with a natural request:
"Help me ask for a metformin refill."
Boom – it generated this:
Subject: Medication Refill Request [Routine]
Dear Dr. Matthews,
I'm requesting a refill of my metformin prescription.
- Medication: metformin 1000mg BID
- Last fill: 11/15/2023 (30-day supply)
- No adverse effects
Thank you for your attention.
Best,
Dylan Meyer
Notice how it pulled the doctor's name ("Dr. Matthews") from my profile? That was configured in ~/.openclaw/workspace/memory/profile.yaml with the field care_team.pcp.display_name. If you don't set that, it still works but uses a generic greeting.
Learning Curve: The Waza Evaluation Suite
One thing I initially missed was the built-in quality checks. The project includes a tool called Waza that runs evaluation suites. You can run:
waza check skills/epic-note
waza run evals/epic-note/eval.mock.yaml --skip-graders -v
These tests verify that your skill correctly handles edge cases. For example, if someone says "I'm having chest pain," the skill should refuse to draft a message and instead redirect to emergency services. There's even a "triage-override failure" that's considered an immediate release blocker. That's how seriously the project takes safety.
I failed the first run because my configuration was missing the profile for the synthetic persona (Dylan Meyer). Once I fixed that, everything passed. The eval fixtures use synthetic personas, so you can test without real patient data.
When Should You Use epic-note?
- Routine follow-ups: "Follow up on my latest A1c result."
- Medication refill requests: "Ask for a lisinopril refill."
- Non-urgent symptom questions: "Tell my doctor I've had a mild cough for three days."
- Appointment scheduling: "Request an appointment with my cardiologist."
But NEVER use it for:
- Emergency symptoms (it will block you anyway).
- Getting clinical advice (it will answer directly, not via a draft).
- Writing insurance appeals or legal documents.
How to Get Started
- Clone the Tula repo from GitHub.
- Follow the deployment instructions (requires OpenClaw).
- Create a simple profile YAML with at least your PCP's display name.
- Run the Waza checks to confirm everything is correct.
- Start chatting! For example: "Draft a MyChart message to my PCP about this cough."
The output is ready to paste. No more staring at a blank text box wondering if you've written too much or too little.
Final Thoughts – Why This Matters
Communication with healthcare providers is notoriously high-friction. Patients either dump everything into one messy paragraph, or they under-share and get a useless reply. epic-note strikes a beautiful balance: it's structured, safe, and respectful of both patient and clinician time.
I love that the project is open-source. You can inspect every rule, every format template, and every safety check. No black-box AI making decisions about your health. And the fact that it never auto-sends gives me peace of mind – I'm in control.
Give epic-note a try. Even if you just play with it using the synthetic persona, you'll see how much easier it makes portal messaging. And who knows, maybe your doctor will appreciate the clear, concise messages too! 😊