cathlab-schedule-ocr
Handle cathlab surgery schedule input (images, Word docs, or mixed multi-file).
Skill by gricn
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/gricn-cathlab-schedule-ocr
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: documents, spreadsheets
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/cathlab-schedule-ocr
What's inside
- Skill name
cathlab-schedule-ocr- Description
- Handle cathlab surgery schedule input (images, Word docs, or mixed multi-file). Run OCR, field extraction, surgery filtering, surgeon and vendor rule judgment, sorting and consistency checks. Default writes to Google Sheet via gsheet-append-dedup; outputs strict 10-column TSV only when user explicitly asks. Used for "schedule screenshot/doc to structured table" and "schedule change reconciliation" scenarios.
- License
- MIT
- Instructions
- 129 lines in SKILL.md · view on GitHub
Files (4)
- SKILL.md
- decision-rules.md · references/
- .gitkeep · scripts/
- README.md · scripts/
SKILL.md (first lines)
# Cathlab Schedule OCR
## Overview
Convert cathlab schedule input into table-ready data. Input may be image, Word, or both. Run full OCR + structuring first, then unified validation / filtering / sorting, then route by mode:
- **Default**: write to Google Sheet under `gsheet-append-dedup` rules and return a summary.
- **User explicitly asks for TSV**: emit strict 10-column TSV (cuts off at the remarks column); do not generate Excel.
- **User supplies actual post-op results later**: rewrite already-written records by the stated semantics; `surgery_category` may be rewritten, `remarks` is append-only.
- **Cancellation / hold / reschedule on the same day**: the canonical write surface is still Google Sheet — do not silently patch the local cache or temp JSON.
## Trigger Conditions
Trigger this skill in any of:
- User asks to handle "cathlab surgery schedule / 排台 / 台账".
- User gives a vague instruction ("analyze today's data") and uploads schedule-shaped files.
- User uploads 1+ schedule images.
- User uploads 1+ schedule Word docs (`.doc` / `.docx`).
- User uploads both Word and images and asks to merge.
- User asks to emit TSV (strict 10 columns up to remarks) or write to the cathlab summary sheet.
- User uploads files only — no text instruction — but file content is recognizably a cathlab schedule.
Do NOT trigger:
- Uploaded content is not a schedule and no surgery records can be extracted (e.g. a generic notice with no patient info).
- The user's task is unrelated to schedule OCR / structuring.
## Workflow
Run in this exact order, no skipping:
1. Check run mode.
2. Validate input files (image / Word / mixed) as a schedule.
3. Run OCR / text extraction on all inputs and produce an internal record list (do NOT emit results mid-recognition).
4. Field normalization and inheritance (date, cath room, patient ID, ocr_order).
5. Consistency and plausibility checks (date, patient ID, surgeon).
6. Surgery filtering and type / category mapping.
7. Sort (date → cath room → ocr_order).
8. Primary-key and 7-day reminder check.
9. Mode-driven output (writeback summary, or TSV + notes).
Detailed business rules: load [references/decision-rules.md](references/decision-rules.md).
## Mode Split
First determine whether the target Google Sheet is read/write accessible.
- **Has write access, user did not request TSV**: run writeback. Final summary:
`Done: added X, updated Y, skipped Z (overrode N existing cells).`
- **User explicitly requested TSV**: do not write; emit strict 10-column TSV.
- **No write access, user did not request TSV**: emit strict 10-column TSV and note that no writeback was attempted.
## Zero-Config Behavior
Defaults aim at "smallest possible instruction":
- File count is unbounded. Single, multiple, or mixed inputs all go through the same batch.
- If output format is unspecified, default to Google Sheet writeback.
- If the user just says "analyze today's data": if files include today, prefer today; otherwise fall back to all valid records and note this in the summary.
- If the filename or the user's latest stated surgery date is newer than the in-doc `日期:` line, prefer the newer date.
Default writeback target:
- Spreadsheet ID: `<cathlab-summary-sheet-id>`
- Tab: `<cathlab-summary-sheet-name>`
- Dedup / patch / border rules: reuse `gsheet-append-dedup`.
**⚠ Pre-write history-format check**:
- Read the last 3–5 rows of the target tab to confirm whether `surgery_weekday / week_label / surgery_month` are plain text or formula.
- New records must match historical format exactly.
- See [decision-rules.md#10](references/decision-rules.md).
## Required Messages
Strict failure prompts:
- No file uploaded or input not recognizable as a schedule:
`Please upload a clear image or Word doc of the cathlab surgery schedule (photo, screenshot, or doc/docx) before I can process.`
## Output Contract
For non-agent mode:
- `Column` = field count; `row` = record count.
- "10 columns" refers to core field width, not a row-count cap.
- Output row count must equal valid surgery record count.
- Example: 11 ablation cases recognized → at least 11 rows.
- Default: strict 10-column TSV, terminating at column 10 (remarks).
- Row count is unbounded.
- Do not auto-append columns 11+.
- TSV body goes in a code block by itself — no narrative text inside the block.
- Notes (skips / rejections / suspicions) go after the code block.
- No Markdown tables as the final paste content.
Fixed column order:
1. Surgery date
2. Surgery weekday
3. Patient ID
4. Surgery type
5. Surgery category
6. Surgeon
7. Vendor
8. Week label
9. Surgery month
10. Remarks
Columns 2 / 8 / 9 must be left blank: row 3 of the target sheet has an `ARRAYFORMULA` that fills the column — writing into them overrides the array formula.
Remarks column policy:
- Do not write vendor-rule explanations (e.g. "today AF = `<vendor-x>` else `<vendor-y>`").
- Only write when an exception or human review is needed:
- Compound procedures (e.g. `CAG + ablation`) — write the raw type string, not judgment phrases.
- Suspected reschedule / hold.
- Same hospitalization-ID on a different date within 7 days.
- Surgeon or other key field ambiguous.
- Auto-corrected surgeon anomaly — keep original schedule text, e.g. `original schedule: <name>`.From gricn/clinical-ops-skill-kit, MIT.
More from gricn/clinical-ops-skill-kit
- 0.479score
vendor-invoice-records
gricn
On an Android device with the vendor B2B app, iterate orders, enter detail, click "申请开票" to open the invoice WebView, capture the commodity-fee and…
SkillCFreshness: CClaude Code +9 - 0.479score
warehouse-shipment-planning
gricn
After each surgery day, compute a shipment / replenishment plan for the upstream warehouse, based on the "patient_id = blank" remainder rows in the formal…
SkillCFreshness: CClaude Code +9 - 0.479score
surgery-volume-summary
gricn
Strictly summarize user-supplied weekly / monthly / yearly surgery statistics into a single closed-form line.
SkillCFreshness: CClaude Code +9 - 0.479score
gsheet-append-dedup
gricn
Safely write structured surgery rows (TSV / row arrays) into Google Sheet with dedup by primary key, date-correct insertion when filling earlier dates…
SkillCFreshness: CClaude Code +9 - 0.476score
tencent-docs-api-v3
gricn
Tencent Docs API V3 client wrapper.
SkillCFreshness: CClaude Code +9 - 0.475score
spd-confirm-supply
gricn
On the `<hospital>` SPD / sp.<vendor-portal>.com homepage right-side to-do, handle "you have N pending-confirm orders": enter the pending-confirm order…
SkillCFreshness: CClaude Code +9 - 0.475score
vendor-sales-inventory-sync
gricn
When the user says "materials have arrived", "today's materials are in the cath lab", or similar, auto-trigger this skill.
SkillCFreshness: CClaude Code +9 - 0.475score
material-complaint-update
gricn
Update existing rows in the formal Tencent Docs inventory sheet for live material-complaint cases based on package-label photos and same-day case context.
SkillCFreshness: CClaude Code +9 - 0.475score
order-shipment
gricn
Full pipeline for `<hospital>` SPD / sp.<vendor-portal>.com shipment orders: login, scan pending shipments, lock this round's scope (this batch from Excel /…
SkillCFreshness: CClaude Code +9 - 0.475score
spd-confirm-delivery
gricn
Fast path: in the `<hospital>` SPD / sp.<vendor-portal>.com visible page, complete the current pending slip's `发货 → 确认` chain and verify success.
SkillCFreshness: CClaude Code +9 - 0.474score
task-closeout-standards
gricn
When the user asks to summarize pitfalls, codify lessons, tighten closeout standards, or judge whether a task is truly closed, trigger this thin entry.
SkillCFreshness: CClaude Code +9 - 0.473score
surgery-summary
gricn
Summarize daily surgery records from markdown files under `surgery_records/YYYY/MM/`.
SkillCFreshness: CClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- May 26, 2026 (5 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/gricn/clinical-ops-skill-kit
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from gricn
- 0.479score
vendor-invoice-records
gricn
On an Android device with the vendor B2B app, iterate orders, enter detail, click "申请开票" to open the invoice WebView, capture the commodity-fee and…
SkillCFreshness: CClaude Code +9 - 0.479score
warehouse-shipment-planning
gricn
After each surgery day, compute a shipment / replenishment plan for the upstream warehouse, based on the "patient_id = blank" remainder rows in the formal…
SkillCFreshness: CClaude Code +9 - 0.479score
gsheet-append-dedup
gricn
Safely write structured surgery rows (TSV / row arrays) into Google Sheet with dedup by primary key, date-correct insertion when filling earlier dates…
SkillCFreshness: CClaude Code +9 - 0.479score
surgery-volume-summary
gricn
Strictly summarize user-supplied weekly / monthly / yearly surgery statistics into a single closed-form line.
SkillCFreshness: CClaude Code +9 - 0.476score
tencent-docs-api-v3
gricn
Tencent Docs API V3 client wrapper.
SkillCFreshness: CClaude Code +9 - 0.475score
order-shipment
gricn
Full pipeline for `<hospital>` SPD / sp.<vendor-portal>.com shipment orders: login, scan pending shipments, lock this round's scope (this batch from Excel /…
SkillCFreshness: CClaude Code +9
Cite this page
cathlab-schedule-ocr skill. Agent Mart. https://agentmart.dev/skills/gricn-cathlab-schedule-ocr (last updated 2026-10-24)