From openmed-skills
Produces structured, citation-anchored summaries of clinical notes (one-liner, hospital course, problem-oriented) where every claim cites a source span to prevent hallucination. Use after de-identifying notes for discharge summaries, handoffs, problem lists, or chart abstraction.
How this skill is triggered — by the user, by Claude, or both
Slash command
/openmed-skills:summarizing-clinical-notesThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
A clinical summary is only useful if it is *faithful*: every statement must
A clinical summary is only useful if it is faithful: every statement must trace back to something the chart actually says. The failure mode for note summarization is the confident hallucination — an invented dose, a fabricated allergy, a discharge diagnosis that was never made. This skill produces summaries where each line cites the source span that supports it, so a clinician can verify in one glance and catch any fabrication.
Not a medical device. OpenMed and this skill assist documentation; they do not diagnose, triage, or make autonomous clinical decisions. Every summary is a draft for clinician review and editing. Surface that disclaimer in any UI that renders these summaries.
De-identify before anything else, extract entities to anchor against, then compose the summary with citations:
import openmed
note = """\
HPI: 68M with HTN, T2DM presents with 3 days of productive cough and fever to
38.9C. CXR shows RLL infiltrate. Started on ceftriaxone and azithromycin.
Hospital course: improved on IV antibiotics, transitioned to PO. Discharged on
amoxicillin-clavulanate. Follow up with PCP in 1 week.
"""
# 1) ALWAYS de-identify before summarizing or sending text anywhere.
deid = openmed.deidentify(note, method="replace", policy="hipaa_safe_harbor")
# 2) Extract entities; their offsets become your citation anchors.
ner = openmed.analyze_text(deid.text, output_format="dict")
spans = {
(e["start"], e["end"]): e["text"]
for e in ner["entities"]
}
# 3) Compose the summary. Every bullet references a (start, end) span so a
# reviewer can click back to the exact evidence.
def cite(start, end):
return f"[{start}:{end}] {deid.text[start:end]!r}"
# Example problem-oriented line, grounded in detected spans:
# "Community-acquired pneumonia (RLL infiltrate) — treated with ceftriaxone +
# azithromycin." with cite(...) anchors for each entity.
analyze_text returns entities as
{"text", "label", "confidence", "start", "end", "metadata"}; the
start/end offsets index the de-identified text, giving you exact,
verifiable citation anchors.
openmed.deidentify. Summaries are often shared or
logged; PHI must be gone before this stage. Keep the mapping
(keep_mapping=True) only if a downstream clinician must re-identify in a
controlled context — never persist the mapping with the summary.openmed.analyze_text (problems, meds,
labs, procedures). These define the allowed evidence set: a summary claim
that cannot point at a span is unsupported.openmed.clinical (negation, temporality, subject)
so "no chest pain" and "father had MI" are not summarized as active patient
problems. See resolving-clinical-context.openmed.deidentify(...) output (de-identified
text + entity spans) and openmed.analyze_text(...) (PredictionResult
dict). Entity start/end offsets are the citation anchors.openmed.analyze_text for a coded problem list, or through openmed.eval
leakage gates to confirm no PHI leaked into the generated summary.analyze_text(..., output_format="html") produces a
span-highlighted view of the source — handy for a click-to-evidence UI.openmed.extract_pii or an
openmed.eval leakage gate before display or storage.npx claudepluginhub maziyarpanahi/openmed --plugin openmed-skillsExtract structured data from clinical notes with span-level provenance and null-safety. For chart abstraction, registry building, or cohort discovery from unstructured text.
Writes clinical reports (case reports, diagnostic reports, clinical trial reports, patient documentation) with templates, regulatory compliance (HIPAA, FDA, ICH-GCP), and validation tools.
Writes clinical reports (case reports per CARE guidelines, diagnostic reports, clinical trial reports per ICH-E3, patient documentation like SOAP/H&P) with templates, regulatory compliance (HIPAA, FDA, ICH-GCP), and validation tools.