CtrlK
BlogDocsLog inGet started
Tessl Logo

extracting-lab-tables

Detects and extracts tabular laboratory panels from PDFs, scans, and images into structured rows ready for OpenMed and FHIR. Use when the user has a CBC, CMP, lipid panel, or other lab report as a scanned image / PDF / spreadsheet and needs the test name, value, unit, reference range, and abnormal flag as clean rows. Trigger keywords: lab table extraction, lab panel, OCR labs, table detection, layout analysis, header detection, reference range column, abnormal flag column, LOINC, UCUM, CBC, CMP, structured labs. Pairs before OpenMed: OCR/parse the table on-device (openmed.multimodal.ocr.ocr, read_table), de-identify embedded PHI with openmed.deidentify, then hand structured rows to LOINC/UCUM mapping and openmed.clinical lab flagging. Image/CSV/TSV intake is supported; PDF/DOCX raise UnsupportedDocumentError — render those to images or text first.

74

Quality

91%

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

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.

A well-structured, actionable skill body with executable code for both intake paths, a clear multi-step workflow with validation, and a thorough edge-cases section. It is slightly verbose in places and could add an explicit validate→retry loop for grid reconstruction, but otherwise strong.

Suggestions

Add an explicit validate→fix→retry feedback loop in the Workflow for OCR grid reconstruction (e.g., re-cluster with adjusted tolerance when header/cell alignment fails) to push workflow_clarity to 5.

Tighten the Quick start code comments and the Hand-off section, which restate some description-level content, to improve conciseness toward 5.

Consider extracting the per-engine install details or the LOINC/UCUM hand-off reference into a sibling reference file to formalize progressive disclosure, though the current single-file structure is already well-organized.

DimensionReasoningScore

Conciseness

Mostly lean and assumes Claude's competence (no general OCR or FHIR primers), with only minor padding — e.g. the Quick-start comment narration and the hand-off section restate some description content; could be trimmed slightly, so it sits just below 5.

4 / 5

Actionability

Fully executable copy-paste code covering both the image OCR path and the delimited CSV/TSV path, plus concrete API signatures (OcrWord fields, read_table, classify_columns, redact_table) — matching the 5 anchor's 'fully executable, common cases covered'.

5 / 5

Workflow Clarity

A clear six-step sequence with real validation checkpoints (confidence gating routes low-confidence cells to human review, PHI classification/redaction before rows leave the device), but lacks an explicit validate→fix→retry feedback loop for the OCR grid reconstruction, so it sits at 4 rather than 5.

4 / 5

Progressive Disclosure

Well-organized with clearly signaled sections and one-level-deep sibling-skill pointers (parsing-lab-values, mapping-loinc, exporting-to-fhir); no bundle files exist to externalize, so structure is good with only minor gaps, sitting at 4.

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.

A strong, specific description that clearly defines the capability, gives explicit 'Use when' trigger guidance, lists natural trigger keywords, and draws clear scope boundaries against sibling skills. It is slightly verbose but every clause carries information rather than fluff.

DimensionReasoningScore

Specificity

Names the domain (lab panels) and lists multiple concrete actions — 'Detects and extracts tabular laboratory panels', 'de-identify embedded PHI', 'hand structured rows to LOINC/UCUM mapping' — with comprehensive coverage, matching the 5 anchor.

5 / 5

Completeness

Explicitly answers both: 'what' ('Detects and extracts tabular laboratory panels... into structured rows') and 'when' ('Use when the user has a CBC, CMP, lipid panel...') with concrete trigger phrases, matching the 5 anchor.

5 / 5

Trigger Term Quality

Comprehensive natural terms including synonyms, acronyms, and file formats — 'CBC, CMP, lipid panel', 'scanned image / PDF / spreadsheet', 'lab table extraction', 'OCR labs', 'structured labs' — with full coverage matching the 5 anchor.

5 / 5

Distinctiveness Conflict Risk

Clear niche (lab table extraction) with distinct triggers and an explicit scope boundary ('Pairs before OpenMed', 'PDF/DOCX raise UnsupportedDocumentError') that minimizes conflict with sibling parsing skills.

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.

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