Agent skill · Testing & QA

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, r

maziyarpanahigithub.com/maziyarpanahiGitHub ↗
claude-codeApache-2.0
Install
npx skills add maziyarpanahi/openmed --skill extracting-lab-tables --agent claude-code

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

Facts
Files in the skill folder: 1
SKILL.md size: 8 KB
Bundled scripts: none
Version: 1.0
Path: skills/extracting-lab-tables/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

# Extracting lab tables from documents and scans Lab results arrive as **tables**: a column of test names, a value column, units, a reference range, and an abnormal flag (H/L/Crit). To use them downstream you must recover that grid from a PDF, scan, or spreadsheet into clean rows — then code each test to **LOINC**, normalize units with **UCUM**, and flag abnormals. This skill is the **intake** step: it OCRs/parses the table on-device with `openmed.multimodal`, de-identifies any embedded PHI, and emits structured rows. It pairs **before** OpenMed's clinical helpers — the LOINC/UCUM coding and the high/low/critical flag are downstream (see `parsing-lab-values`). ## When to use - You have a lab report as a **scanned image / photo / PDF page** and need the panel as rows, not pixels. - The source is a **CSV/TSV** export and you need columns classified (which is the value, the unit, the range, the flag) and PHI columns redacted. - You need machine-readable rows to feed LOINC mapping and a FHIR `Observation`/`DiagnosticReport`. ## What OpenMed gives you here `openmed.multimodal` ships the intake primitives (no heavy deps at import; the OCR backend loads lazily): - `openmed.multimodal.ocr.

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

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, r

How do I install it?

Run `npx skills add maziyarpanahi/openmed --skill extracting-lab-tables --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