CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

coding-hcc-risk-adjustment

Maps chronic conditions extracted by OpenMed to CMS-HCC V28 risk-adjustment categories and estimates a RAF (Risk Adjustment Factor) score as decision support. Use when the user wants to surface risk-adjustable diagnoses from notes, map ICD-10-CM codes to HCC categories, estimate or reconcile a patient/panel RAF, find suspected-but-undocumented HCCs, or check MEAT documentation support. Trigger keywords: HCC, CMS-HCC, V28, RAF score, risk adjustment, Medicare Advantage, hierarchical condition category, MEAT, recapture, suspect HCC, RADV. Pairs after OpenMed NER + ICD-10 coding: consume Disease/Pathology entities from openmed.analyze_text, code them (see coding-icd10), then roll up to HCCs. CMS-HCC mappings and weights are public from CMS. This is a coding-support aid for human review, never autonomous risk-adjustment coding.

72

Quality

90%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

SKILL.md
Quality
Evals
Security

Quality

Content

75%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A well-structured, domain-dense body that provides real executable Python patterns, a clearly sequenced workflow with a MEAT validation gate, and a genuinely useful gotcha list. The main shortfalls are mild redundancy in framing, illustrative placeholders in the code (empty hierarchy dict, undefined map_to_icd10cm), and the absence of an explicit error-recovery loop.

Suggestions

Trim the rhetorical framing in the intro ('much of that signal lives in the narrative note, exactly what OpenMed reads') and state the decision-support disclaimer once instead of repeating it in the intro, scope paragraph, and Edge cases.

Make the code fully executable: replace the empty illustrative `hierarchy` dict with a loader for the official V28 hierarchy file (parallel to the crosswalk/coefficient loaders), and either import `map_to_icd10cm` from the coding-icd10 skill or show its call signature instead of leaving it as an undefined stand-in.

Add an explicit feedback loop after the MEAT/negation check: e.g., 'if a candidate HCC lacks MEAT support or is negated, re-resolve assertion status and re-check supporting sentences before flagging as unsupported' — converting the one-way validation gate into a fix-and-retry cycle.

DimensionReasoningScore

Conciseness

The body is dense with non-obvious, versioned facts Claude cannot be assumed to know ("V28 dropped ~2,000 codes", hierarchy suppression, segment-specific coefficients, MEAT capture rules) and avoids explaining generic concepts. Minor trimmable padding remains: the rhetorical framing "much of that signal lives in the narrative note, exactly what OpenMed reads" and the decision-support disclaimer stated three times (intro, scope paragraph, Edge cases) push it below anchor 5's "every token earns its place" while staying above anchor 3.

4 / 5

Actionability

Two concrete Python blocks (CSV crosswalk/coefficient loading, `apply_hierarchy`, `estimate_raf`, offset-based MEAT context extraction) give mostly executable guidance. It is not anchor 5 because the `hierarchy` dict is an empty illustrative placeholder ("illustrative; use the official V28 hierarchy file"), `map_to_icd10cm(ent["text"])` is an undefined stand-in ("your coding step"), and the CMS CSVs must be user-supplied — the gaps are explicitly signaled but keep the code from being copy-paste ready.

4 / 5

Workflow Clarity

A clear 7-step sequence (Extract → Code → Map → Apply hierarchy → Sum coefficients → Attach MEAT evidence → Emit) with an explicit validation gate at step 6 ("No MEAT → flag as 'unsupported / needs clinician confirmation,' not a captured HCC") and negation resolution required before mapping. Not anchor 5 because there is no validate→fix→retry feedback loop and no explicit error-recovery path if a step yields unsupported or negated candidates.

4 / 5

Progressive Disclosure

Well-organized single-file structure (When to use, Quick start, Workflow, Hand-off, Edge cases, Standards & references) with no bundle files and no references to nonexistent files — only external CMS URLs and companion skills. It sits at anchor 4 rather than 5 because at ~165 lines the crosswalk-loading detail and the nine-item gotcha list are candidates for one-level-deep reference files, though nothing is misfiled.

4 / 5

Total

16

/

20

Passed

Description

100%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong third-person description that explicitly states what the skill does, enumerates five concrete 'use when' triggers, provides a comprehensive domain keyword list, and cleanly scopes itself against companion skills. The only minor cost is length, but every sentence adds trigger, sequencing, or boundary information rather than padding.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — "Maps chronic conditions... to CMS-HCC V28 risk-adjustment categories", "estimates a RAF (Risk Adjustment Factor) score", "surface risk-adjustable diagnoses", "map ICD-10-CM codes to HCC categories", "estimate or reconcile a patient/panel RAF", "find suspected-but-undocumented HCCs", "check MEAT documentation support" — comprehensively covering the skill's scope, matching the anchor-5 example. It is not a 4 because coverage of actions within the domain is complete rather than having minor gaps.

5 / 5

Completeness

Clearly answers both: what ("Maps chronic conditions... to CMS-HCC V28 risk-adjustment categories and estimates a RAF... score as decision support") and when ("Use when the user wants to surface... map... estimate or reconcile... find... or check MEAT documentation support") with concrete trigger phrases. Matches the anchor-5 example exactly; a 4 would mean the 'when' could be more explicit, but the five enumerated use cases are fully explicit.

5 / 5

Trigger Term Quality

Explicit keyword list "HCC, CMS-HCC, V28, RAF score, risk adjustment, Medicare Advantage, hierarchical condition category, MEAT, recapture, suspect HCC, RADV" comprehensively covers the natural terms a user in this domain would say, including synonyms and expansions (HCC/hierarchical condition category/CMS-HCC, suspect HCC/recapture). Anchor 4 would require natural terms to be missing, which is not the case.

5 / 5

Distinctiveness Conflict Risk

A clear niche (CMS-HCC V28 Medicare Advantage risk adjustment) with distinct triggers, and the pairing statement "Pairs after OpenMed NER + ICD-10 coding: consume Disease/Pathology entities... (see coding-icd10)" clarifies the boundary with the companion coding skill rather than blurring it. Minimal conflict risk, matching anchor 5.

5 / 5

Total

20

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

maziyarpanahi/openmed

Path

skills/coding-hcc-risk-adjustment/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.