← Back to Skills Marketplace
unisound-llm

unisound-missing-tumor-name

by Unisound-LLM · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ Security Clean
56
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install unisound-missing-tumor-name
Description
门诊病历内涵质控:未记录肿瘤名称。给定门诊病历文本,调用内部医疗大模型,输出无缺陷或有缺陷及原因。
README (SKILL.md)

未记录肿瘤名称

概述

本 skill 仅针对**「未记录肿瘤名称」**这一条内涵质控规则。将字段解析、多步 LLM 推理与条件分支实现在本目录 scripts/emr_qc_impl.py 中;scripts/emr_qc.pyscripts/run.py 为入口,本 skill 可单独打包发布。调用 HiVoice MaaS 医疗大模型(OpenAI 兼容 chat/completions),输出 无缺陷有缺陷 + 原因。

数据安全、隐私与伦理声明

  • 最小必要原则:仅处理质控所必需的病历文本内容;不要求提供姓名、证件号等身份信息。
  • 严格脱敏:在发送至任何接口前,请确保病历文本已完成脱敏/去标识化处理。
  • 不做本地持久化:不将输入与中间结果写入本地持久化存储;本次调用结束即销毁
  • 医疗边界:本技能为辅助质控工具,不构成医疗诊断或治疗建议;最终结论请由执业医生审核。

输入格式

纯文本门诊病历(UTF-8),各字段用中文标签开头,例如:

主诉:发热3天
现病史:患者3天前无明显诱因出现发热,体温最高38.5℃...
既往史:高血压病史5年,规律服用氨氯地平,血压控制可...
体格检查:T 38.2℃,BP 150/90mmHg,双肺呼吸音清...
初步诊断:上呼吸道感染
处理意见:对症治疗

支持的字段标签:主诉现病史既往史体格检查辅助检查初步诊断/诊断处理意见/处理(中英文冒号均可)。

也支持通过 scripts/run.py 直接输入 pdf/doc/docx/xls/xlsx/csv/txt/json

快速开始

# 文本入口(在仓库 skills 根目录运行)
python3 doctor/emr-qc/missing-tumor-name/scripts/emr_qc.py \
  --input data/med-emr-qc/record.txt \
  --appkey \x3Cyour-appkey>

# 多格式入口
python3 doctor/emr-qc/missing-tumor-name/scripts/run.py \
  --input data/med-emr-qc/record.xlsx \
  --appkey \x3Cyour-appkey>

参数说明

scripts/emr_qc.py

  • --input PATH必填。门诊病历文本文件路径(UTF-8)。
  • --appkey STRING必填。调用内部医疗大模型的鉴权 key,由平台分配;不得写入仓库
  • --base URL:大模型 base URL(默认:https://maas-api.hivoice.cn/v1)。
  • --model STRING:模型名称(默认:u1-insuremed)。
  • --timeout SECONDS:HTTP 超时秒数;0 表示一直等待(默认:0)。
  • --output PATH:输出文件路径(默认:../runs/med-emr-qc/missing-tumor-name.txt)。

scripts/run.py 附加参数:

  • --input-type auto|pdf|doc|docx|xls|xlsx|csv|txt|json:输入类型;默认 auto
  • --sheet STRING:读取 Excel 时指定 sheet(可选)。
  • --encoding STRINGtxt/csv 编码(默认:utf-8)。
  • --save-prepared:保存预处理后的文本,便于调试。

输出约定

  • 输出为 UTF-8 文本:
    • 无缺陷:输出 无缺陷
    • 有缺陷:输出 有缺陷 + 换行 + 原因说明

依赖

自包含实现

质控与 LLM 调用逻辑均在 scripts/emr_qc_impl.py(与同 skill 一并发布)。

预处理(仅 run.py

scripts/run.py 依赖 _shared/doc-preprocesspreprocess.py),须位于仓库 skills/ 根下。

运行环境

  • Python 3.7+
  • 无需第三方包(仅标准库;多格式输入时可选 openpyxlpypdf

外部 API

  • 医疗大模型:https://maas-api.hivoice.cn/v1/chat/completions(POST,OpenAI 兼容格式)
Usage Guidance
Before installing or running, confirm that sending de-identified outpatient record text to HiVoice MaaS is allowed in your environment, provide the app key securely, do not override the base URL except to an approved endpoint, inspect the shared preprocessor if using multi-format input, and avoid `--save-prepared` for sensitive records.
Capability Analysis
Type: OpenClaw Skill Name: unisound-missing-tumor-name Version: 1.0.0 The skill bundle is a medical record quality control tool designed to identify missing tumor names in clinical text. The implementation is transparent, using standard Python libraries (urllib, json) to interact with a legitimate medical AI service (maas-api.hivoice.cn) as described in the documentation. No evidence of data exfiltration, malicious execution, or harmful prompt injection was found across scripts/emr_qc_impl.py or the entry points.
Capability Assessment
Purpose & Capability
The code and documentation are coherent with the stated purpose: parse outpatient record fields, check the 'missing tumor name' rule, and output a defect/no-defect result. The main sensitivity is that medical text is processed by an external/internal LLM API.
Instruction Scope
The artifacts show user-directed CLI usage with required input and app key arguments. No hidden autonomous behavior, goal override, destructive action, or broad local search is evident.
Install Mechanism
There is no install spec and the core implementation uses Python standard library, but the multi-format runner imports a shared preprocessor outside this skill's manifest, so that helper should be trusted and reviewed if used.
Credentials
The skill requires a HiVoice MaaS app key and network access to a chat-completions endpoint, which is proportionate to the purpose but is not reflected as a primary credential in the registry metadata.
Persistence & Privilege
The skill writes the QC result to a local output file by default and has an optional debug flag to save prepared text. This is documented and user-directed, but users should avoid saving identifiable medical records.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install unisound-missing-tumor-name
  3. After installation, invoke the skill by name or use /unisound-missing-tumor-name
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
- Initial release of med-emr-qc-missing-tumor-name skill for outpatient EMR quality control. - Automatically checks if tumor name is missing in medical records; outputs “无缺陷” or “有缺陷” with reason. - Supports multiple input formats (text, pdf, doc, docx, xls, xlsx, csv, json) via scripts/emr_qc.py and scripts/run.py. - Ensures privacy by requiring de-identified input and no local persistence. - No third-party dependencies required for text processing; optional packages for multi-format input. - Powered by HiVoice MaaS medical language model (OpenAI compatible API).
Metadata
Slug unisound-missing-tumor-name
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is unisound-missing-tumor-name?

门诊病历内涵质控:未记录肿瘤名称。给定门诊病历文本,调用内部医疗大模型,输出无缺陷或有缺陷及原因。 It is an AI Agent Skill for Claude Code / OpenClaw, with 56 downloads so far.

How do I install unisound-missing-tumor-name?

Run "/install unisound-missing-tumor-name" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is unisound-missing-tumor-name free?

Yes, unisound-missing-tumor-name is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does unisound-missing-tumor-name support?

unisound-missing-tumor-name is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created unisound-missing-tumor-name?

It is built and maintained by Unisound-LLM (@unisound-llm); the current version is v1.0.0.

💬 Comments