CtrlK
BlogDocsLog inGet started
Tessl Logo

exporting-to-fhir

Convert OpenMed NER output (entities from openmed.analyze_text) into FHIR R4 resources — Condition, MedicationStatement, Observation — using OpenMed's built-in FHIR R4 export helpers in openmed.clinical.exporters. Covers the verified CodeableConcept builder (coding, codeable_concept, system_uri), deterministic fullUrl references, and OperationOutcome reporting. Use after running OpenMed NER when the user wants standards-conformant FHIR JSON, mentions FHIR, Condition/Observation/MedicationStatement, CodeableConcept, RxNorm/LOINC/ICD-10/SNOMED coding, or interoperability with an EHR. Pairs after extracting-clinical-entities; feeds assembling-fhir-bundles and validating-us-core.

74

Quality

93%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

82%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.

Strong, highly actionable content: executable code throughout, a well-sequenced workflow with grounding rules and OperationOutcome error reporting, and good section structure. Remaining gaps are modest — slight redundancy with the frontmatter description, validation delegated rather than stated inline, and resource examples that could be offloaded to reference files.

Suggestions

Trim the "When to use" section so it does not restate the frontmatter description verbatim, and consolidate the repeated "OpenMed leaves clinical judgement to you" explanation into one place (conciseness).

State the validation checkpoint inline in the workflow (e.g., a final step "Validate against US Core; if errors, fix the flagged resources and re-export") rather than only naming the validating-us-core hand-off (workflow_clarity).

Move the full MedicationStatement/Observation/Condition resource-shell examples into a reference file (e.g. references/resource-templates.md) and keep only the cheat-sheet table and one worked example in SKILL.md (progressive_disclosure).

DimensionReasoningScore

Conciseness

The body is efficient — no explaining of concepts Claude already knows, and every code block is concrete — but a few spots could be tightened: the "When to use" section restates the frontmatter description almost verbatim, and the point that OpenMed leaves clinical judgement to the user is made twice ("OpenMed deliberately ships the *purely mechanical* pieces ... leaves clinical judgement to you" and again "That is by design: the resource *type* and *clinical status* are decisions OpenMed will not make for you"). This is the score-4 anchor (efficient, minor trimmable instances) rather than score 5's "every token earns its place".

4 / 5

Actionability

The quick start is fully executable end-to-end (import openmed, analyze_text with a real model_name, codeable_concept/coding calls, a complete copy-paste-ready Condition dict), and complete MedicationStatement and Observation examples cover the common entity kinds, matching the score-5 anchor. It is not below 5 because no example is pseudocode or missing key details.

5 / 5

Workflow Clarity

A clear 7-step numbered sequence (NER → Classify → Ground → Build → Wrap → Reference → Bundle/validate) with a resource-type cheat-sheet checklist, explicit grounding rules ("Never invent codes; if you cannot ground a span, emit a CodeableConcept with only text"), and error feedback via OperationOutcomeIssue. It falls between anchors 4 and 5 rather than clearly at 5 because the validate-and-fix-retry loop is delegated by name to sibling skills ("validate (validating-us-core)") instead of an explicit inline checkpoint with failure-handling steps. The batch-operation cap does not apply since a validation step is present.

4 / 5

Progressive Disclosure

The single self-contained file is well-sectioned (When to use, verified API, Quick start, Workflow, cheat-sheet, per-resource examples, Hand-off, Edge cases, Standards) and all references are one level deep — sibling skill names and external spec URLs, none nested. It sits at anchor 4 rather than 5 because no bundle files exist and portions of the inline material (the three full resource-shell examples) could be split into reference files, a minor organization gap; the under-50-lines exception for a 5 does not apply to this ~230-line body.

4 / 5

Total

17

/

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.

An exemplary description: concrete actions named down to the helper-function level, comprehensive natural trigger terms, explicit what-and-when guidance, and clearly declared boundaries with sibling skills in third-person voice. No weaknesses to flag.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions with function-level detail: "Convert OpenMed NER output (entities from openmed.analyze_text) into FHIR R4 resources — Condition, MedicationStatement, Observation" plus "verified CodeableConcept builder (coding, codeable_concept, system_uri), deterministic fullUrl references, and OperationOutcome reporting". This matches the score-5 anchor of comprehensive, specific concrete actions; it is not score 4 because no capability of the skill is left uncovered.

5 / 5

Completeness

Both questions are answered explicitly: the what ("Convert OpenMed NER output ... into FHIR R4 resources ... using OpenMed's built-in FHIR R4 export helpers") and the when ("Use after running OpenMed NER when the user wants standards-conformant FHIR JSON, mentions FHIR, ... or interoperability with an EHR"). This mirrors the score-5 example pattern exactly, so it is above the score-4 anchor where the when could be more specific.

5 / 5

Trigger Term Quality

Natural user phrasing is comprehensively covered: "standards-conformant FHIR JSON", "mentions FHIR", "Condition/Observation/MedicationStatement", "CodeableConcept", "RxNorm/LOINC/ICD-10/SNOMED coding", and "interoperability with an EHR" — the domain's synonyms and vocabulary names are all present (FHIR artifacts have no file extensions to enumerate). It clearly matches the score-5 anchor rather than the score-4 anchor's "a few natural terms missing".

5 / 5

Distinctiveness Conflict Risk

The skill occupies a clear niche (OpenMed NER output → FHIR R4 resources) and declares its boundaries against siblings ("Pairs after extracting-clinical-entities; feeds assembling-fhir-bundles and validating-us-core"), keeping conflict risk minimal. Voice is third person throughout, so no voice penalty applies.

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
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.