CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

etl-to-omop-cdm

Map OpenMed-extracted, terminology-coded conditions, drugs, and measurements into OMOP CDM v5.4 clinical tables (condition_occurrence, drug_exposure, measurement) for OHDSI/ATLAS analytics. Use when the user wants to load NLP-derived facts into an OMOP database, build an OHDSI ETL from clinical notes, populate condition_occurrence or drug_exposure from text, or standardize note-derived findings to OMOP standard concepts. Covers the source-to-standard concept mapping pattern, required vs optional CDM fields, type concepts for NLP-derived rows, and the user-supplied OHDSI vocabulary (CONCEPT/CONCEPT_RELATIONSHIP). Consumes coded OpenMed analyze_text output (after SNOMED/RxNorm/LOINC linking) and produces OMOP-conformant rows.

71

Quality

89%

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

78%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 skill body: lean overview, correct use of a single one-level reference file, a clear sequenced ETL workflow with explicit validation, and strong edge-case coverage (unmapped concepts, domain routing, PHI handling). The main gaps are a not-quite-executable quick-start snippet and the absence of a complete example OMOP row or load code.

Suggestions

Make the Quick start snippet executable: define or comment out the undefined fact_start/fact_end variables (e.g. resolve them from result["entities"][0]["start"]) so the example runs as written.

Add one complete example OMOP row (e.g. a full condition_occurrence INSERT or dict) built from the Quick start fact, so the concrete end-to-end output shape is shown, not just described.

Close the workflow's feedback loop: specify what to do when Achilles/DataQualityDashboard checks fail (which failures block analytics vs. can be logged), mirroring the 'needs review' staging already defined for undated facts.

DimensionReasoningScore

Conciseness

Mostly efficient — the Quick start, field table, and gotchas are dense and non-padded — but the intro explains background ("The OMOP Common Data Model (CDM) is the OHDSI standard for observational health data") and the no-license-vocabulary rule is stated twice (Quick start paragraph and Edge cases). Matches the 4 anchor (minor trimming possible), not the 3 anchor since padding is incidental, not pervasive.

4 / 5

Actionability

Concrete guidance dominates: a realistic fact dict with real concept ids (45533010, 201826), a domain-to-table field matrix, and a per-field reference file. However the Quick start snippet is not fully executable ("char_span": (fact_start, fact_end) references undefined variables) and no complete example OMOP row or load statement is shown. Sits between the 3 anchor (pseudocode, missing key details) and 5 (copy-paste ready); the concrete ids and full field reference keep it at 4.

4 / 5

Workflow Clarity

The 6-step workflow is clearly sequenced and includes an explicit validation step ("Run OHDSI Achilles/DataQualityDashboard on the loaded CDM before analytics") plus a staging route for undated facts, so the batch-operation cap at 3 does not apply. Missing the explicit validate-fix-retry feedback loop of the 5 anchor (e.g. what to do when DQ checks fail).

4 / 5

Progressive Disclosure

The body is a well-organized overview and correctly offloads the bulk per-table field lists to a single, clearly signaled, one-level-deep reference ("See references/omop_cdm_v5_4_fields.md for the full per-table field list" — the file exists and delivers exactly that). No nested references; navigation is easy.

5 / 5

Total

17

/

20

Passed

Description

96%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 description: it states concrete capabilities with named tables and a clear input contract, and provides varied natural trigger phrases for loading NLP-derived data into OMOP. The only weakness is trigger-word overlap with the closely related terminology-linking skills.

DimensionReasoningScore

Specificity

Lists multiple concrete actions with named artifacts: "Map OpenMed-extracted, terminology-coded conditions, drugs, and measurements into OMOP CDM v5.4 clinical tables (condition_occurrence, drug_exposure, measurement)", "Consumes coded OpenMed analyze_text output (after SNOMED/RxNorm/LOINC linking) and produces OMOP-conformant rows". Comprehensive and specific, matching the 5 anchor rather than the minor-gaps 4 anchor.

5 / 5

Completeness

Explicitly answers both what (maps coded OpenMed facts into OMOP CDM v5.4 tables) and when ("Use when the user wants to load NLP-derived facts into an OMOP database, build an OHDSI ETL from clinical notes..."), with concrete trigger phrases matching the 5 anchor.

5 / 5

Trigger Term Quality

Natural trigger phrases with synonym coverage: "load NLP-derived facts into an OMOP database", "build an OHDSI ETL from clinical notes", "populate condition_occurrence or drug_exposure from text", "standardize note-derived findings to OMOP standard concepts". Covers load/build/populate/standardize variations plus concrete table names; not merely good-with-a-few-missing (4).

5 / 5

Distinctiveness Conflict Risk

Clear niche (OMOP CDM loading) with an explicit boundary ("Consumes coded OpenMed analyze_text output (after SNOMED/RxNorm/LOINC linking)"), but SNOMED/RxNorm/LOINC terminology overlaps with the closely related linking skills, so it is not the minimal-conflict 5. It is well above the 3 anchor because the output target (OMOP CDM tables) is unambiguous.

4 / 5

Total

19

/

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/etl-to-omop-cdm/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.