Agent skill · Workflow & Productivity

reconciling-problem-lists

Deduplicate and reconcile OpenMed-extracted conditions into one clean active problem list with clinical status (active / resolved / historical). Use after NER and context resolution when the user wants a problem list, condition reconciliation, dedup of synonymous diagnosis mentions, or active-vs-resolved status from a note. Covers clustering synonymous mentions into one concept, excluding negated mentions, applying clinical context (historical / hypothetical / recent) to set status, and emitting a USCDI-Problem-shaped list. SNOMED CT concept grounding is user-supplied and out-of-process. Hand-

Maziyar Panahi4,851★ · 1 repos on radarProfile →
claude-codeApache-2.0
Install
npx skills add maziyarpanahi/openmed --skill reconciling-problem-lists --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 1
SKILL.md size: 7 KB
Bundled scripts: none
Version: 1.0
Path: skills/reconciling-problem-lists/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 4,851
Language: Python
Read our review of the source →

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the SKILL.md

# Reconciling problem lists A single note mentions the same condition many ways — "DM2," "type 2 diabetes," "diabetes mellitus" — across PMH, HPI, and A&P, some negated, some historical. A usable **problem list** collapses those mentions into one concept per problem, drops what the patient does not have, and assigns a clinical status (active / resolved / historical). This skill turns OpenMed's per-mention entity stream plus ConText axes into that reconciled, de-duplicated list, shaped for USCDI "Problem" exchange. ## When to use - After `extracting-clinical-entities` and `resolving-clinical-context`, when the user wants a clean problem list, condition reconciliation, or dedup of repeated diagnosis mentions. - You need active-vs-resolved-vs-historical status per problem, not just raw mentions. - You are assembling a FHIR Condition list or a USCDI Problem element and need one entry per concept. ## Quick start ```python import openmed from openmed.clinical import resolve_span_context, NEGATED, HISTORICAL, HYPOTHETICAL note = ("PMH: type 2 diabetes, prior MI 2019 (resolved). " "A&P: poorly controlled DM2; denies chest pain.") ents = openmed.analyze_text(note, model_name="disease_detect

What's inside
Steps it walks through
  1. When to use
  2. Quick start
  3. Workflow
  4. Hand-off to / from OpenMed
  5. Edge cases & gotchas
  6. Standards & references
More from openmed
All skills →
About this skill
What does the reconciling-problem-lists skill do?

Deduplicate and reconcile OpenMed-extracted conditions into one clean active problem list with clinical status (active / resolved / historical). Use after NER and context resolution when the user wants a problem list, condition reconciliation, dedup of synonymous diagnosis mentions, or active-vs-resolved status from a note. Covers clustering synonymous mentions into one concept, excluding negated mentions, applying clinical context (historical / hypothetical / recent) to set status, and emitting a USCDI-Problem-shaped list. SNOMED CT concept grounding is user-supplied and out-of-process. Hand-

How do I install it?

Run `npx skills add maziyarpanahi/openmed --skill reconciling-problem-lists --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From maziyarpanahi/openmed, a repository with 4,851 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going