医疗实体提取器
从非结构化患者消息中提取结构化医疗信息。
此技能的功能
- 症状提取:识别症状、严重程度、持续时间和进展
- 药物提取:查找药物名称、剂量、频率和副作用
- 化验值提取:解析化验结果、生命体征和测量值
- 诊断提取:识别提到的诊断和病症
- 时间信息提取:捕获症状开始时间以及持续时间
- 行动项:识别请求的行动(预约、续药、问题)
输入格式
[
{
"id": "msg-123",
"priority_score": 78,
"priority_bucket": "P1",
"subject": "Medication side effects",
"from": "patient@example.com",
"date": "2026-02-27T10:30:00Z",
"body": "I've been feeling dizzy since starting the new blood pressure medication (Lisinopril 10mg) three days ago. My BP this morning was 145/92."
}
]
输出格式
[
{
"id": "msg-123",
"entities": {
"symptoms": [
{
"name": "dizziness",
"severity": "moderate",
"duration": "3 days",
"onset": "since starting new medication"
}
],
"medications": [
{
"name": "Lisinopril",
"dosage": "10mg",
"frequency": null,
"context": "new medication"
}
],
"lab_values": [
{
"type": "blood_pressure",
"value": "145/92",
"unit": "mmHg",
"timestamp": "this morning"
}
],
"diagnoses": [
{
"name": "hypertension",
"context": "implied by blood pressure medication"
}
],
"action_items": [
{
"type": "medication_review",
"reason": "possible side effect (dizziness)"
}
]
},
"summary": "Patient reports dizziness after starting Lisinopril 10mg 3 days ago. BP elevated at 145/92. Possible medication side effect requiring review."
}
]
实体类型
症状
- 名称、严重程度(mild/moderate/severe)、持续时间、发作、进展(improving/stable/worsening)
药物
- 名称、剂量、频率、途径、上下文(new/existing/stopped)
化验值
- 类型(BP、glucose、cholesterol 等)、值、单位、时间戳、正常范围
诊断
- 名称、上下文(confirmed/suspected/ruled out)
生命体征
- 体温、心率、呼吸频率、血氧饱和度、血压
行动项
- 类型(appointment、refill、question、callback)、紧急程度、原因
医学术语处理
该技能可识别:
- 常见缩写(BP、HR、RR、O2 sat 等)
- 品牌药和通用药名称
- 医学病症的通俗术语("sugar" → diabetes,"heart attack" → MI)
- 时间表达("since yesterday"、"for the past week")
集成
该技能可通过 OpenClaw CLI 调用:
openclaw skill run medical-entity-extractor --input '[{"id":"msg-1","priority_score":78,...}]' --json
或编程方式:
const result = await execFileAsync('openclaw', [
'skill', 'run', 'medical-entity-extractor',
'--input', JSON.stringify(scoredMessages),
'--json'
]);
推荐模型:Claude Sonnet 4.5 (openclaw models set anthropic/claude-sonnet-4-5)
隐私与安全
- 所有处理均通过 OpenClaw 在本地完成
- 不会向外部服务发送数据(除用于 LLM 处理的 Claude API 外)
- 提取出的实体保留在本地环境中