Agent skill · Data & Analytics

ingesting-clinical-documents

Turn scanned faxes, images, and CSV/CDA exports into clean text ready for OpenMed de-identification and NER, fully on-device. Use when the user has clinical documents (image scans, photographed/faxed notes, tabular CSV/TSV exports, C-CDA XML) and needs OCR or structured intake before openmed.deidentify and openmed.analyze_text, asks about openmed.multimodal, OCR engines (Tesseract / PaddleOCR), tabular redaction, or layout and reading order. Covers the verified ocr() and redact_document() entry points and the ExtractedDocument contract. Pairs before deidentifying-clinical-text and extracting-c

maziyarpanahigithub.com/maziyarpanahiGitHub ↗
claude-codeApache-2.0
Install
npx skills add maziyarpanahi/openmed --skill ingesting-clinical-documents --agent claude-code

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

Facts
Files in the skill folder: 2
SKILL.md size: 8 KB
Bundled scripts: none
Version: 1.0
Path: skills/ingesting-clinical-documents/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

# Ingesting Clinical Documents Clinical text often arrives as scanned faxes, photographed notes, CSV exports, or C-CDA XML — not plain text. `openmed.multimodal` converts these into a normalized `ExtractedDocument` (clean text + character-offset → source-location spans) so you can run de-identification and NER. It runs **on-device**: OCR backends are local, no document leaves the machine. ## When to use - You have **images / scanned faxes** of clinical notes and need text out (OCR). - You have **CSV/TSV** patient exports that need column-aware handling. - You have **C-CDA XML** to flatten into text. - You are building the **intake stage** that feeds `openmed.deidentify` and `openmed.analyze_text`. This is the **first** stage. After intake, hand off to `deidentifying-clinical-text` then `extracting-clinical-entities`. ## What is supported today `redact_document` dispatches by file extension. Live handlers: | Input | Extensions | Path | | --- | --- | --- | | Images / scans | `.png .jpg .jpeg .tif .tiff .bmp .gif .webp` | OCR (`ocr()` / image handler) | | Tables | `.csv .tsv` | column-aware tabular redaction | | C-CDA | `.xml` (detected as CDA) | stdlib CDA adapter | **PDF and DOCX ha

What's inside
Steps it walks through
  1. When to use
  2. What is supported today
  3. Install
  4. Quick start: OCR an image, then de-identify
  5. One-step intake + redaction with redactdocument
  6. Tabular CSV/TSV redaction
  7. Preserve layout / reading order and map back to the source
  8. Hand-off to / from OpenMed
  9. Edge cases & gotchas
  10. Standards & references
Ships with 1 file
  • references/multimodal-ingest.md
Commands it runs
pip install "openmed[multimodal]"      # document intake contract + image deps
pip install "openmed[ocr-paddle]"      # add the PaddleOCR engine
Tesseract engine also needs the system binary, e.g.:  brew install tesseract
More from openmed
All skills →
About this skill
What does the ingesting-clinical-documents skill do?

Turn scanned faxes, images, and CSV/CDA exports into clean text ready for OpenMed de-identification and NER, fully on-device. Use when the user has clinical documents (image scans, photographed/faxed notes, tabular CSV/TSV exports, C-CDA XML) and needs OCR or structured intake before openmed.deidentify and openmed.analyze_text, asks about openmed.multimodal, OCR engines (Tesseract / PaddleOCR), tabular redaction, or layout and reading order. Covers the verified ocr() and redact_document() entry points and the ExtractedDocument contract. Pairs before deidentifying-clinical-text and extracting-c

How do I install it?

Run `npx skills add maziyarpanahi/openmed --skill ingesting-clinical-documents --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