算法广场 / 自然语言

医疗文本结构化抽取

从电子病历、出院小结中提取疾病、用药、检查等实体,归一化到 ICD-10 与药品编码。

自然语言 v1.3.0 医疗 NLP病历结构化ICD 编码 开发中
开发中:该算法尚未接入线上服务,现阶段调用会返回演示数据(响应中带 _demo: true 标识,且不计费用)。 接口路径、参数与返回字段已按最终规范确定,可以先按文档完成对接,正式上线后无需改动任何代码。 如需提前试用或了解上线计划,请联系我们。

面向中文医疗文本的信息抽取服务,可对门诊病历、出院小结、检验报告等非结构化文本进行实体识别、关系抽取与术语归一化,映射到 ICD-10、ATC 等标准编码体系。

同时支持句子级的否定、疑似判断(如「未见异常」「不排除肺炎」),显著降低后处理规则的开发成本。

能力特点

  • 支持否定、疑似、既往史修饰判定
  • 输出实体原文位置便于高亮溯源
  • 内置中文临床术语同义词归并

适用场景

电子病历后结构化专病数据库建设医保结算审核辅助

请求参数

参数类型必填说明
textstring是待抽取文本,建议单篇 ≤ 3000 字
doc_typestring否文书类型:outpatient / discharge / exam
entitiesarray否指定抽取类型,默认全部
with_icdbool否是否返回 ICD-10 编码,默认 true

返回字段

字段类型说明
data.entities[].textstring实体原文
data.entities[].typestringdisease / drug / exam / body 等
data.entities[].icd10string归一化 ICD-10 编码
data.entities[].negatedbool是否为否定性表述
data.sectionsobject按主诉/诊断/用药分段的结构化结果

错误码

codeHTTP含义处理建议
0200成功请求正常处理完成。
40101401缺少鉴权请求头未携带 Authorization,请检查 Bearer Token。
40102401Key 无效API Key 不存在或已被吊销,请到控制台确认。
40103403算法未开通当前 Key 未开通该算法,请先在控制台申请权限。
40104403来源不合法云函数侧内部凭证校验失败,请经门户网关调用,勿直连算法后端。
40105503后端未校验算法后端未通过内部凭证校验,网关已拒绝转发,需管理员在算法运维页重新校验。
42901429超出配额当日调用量已达上限,可升级套餐或次日重试。
42201422参数错误必填参数缺失或类型不正确,见 detail 字段。
50001502算法后端异常上游算法执行失败,request_id 可用于排查。
50002504算法超时单次请求超过 30 秒,请缩小输入后重试。

接口信息

开发中
MethodPOST
单次计费暂不计费

POST https://bahnuer.com/api/v1/nlp/medical-extract

request.json
{
  "text": "患者男性,52 岁,多饮多尿 3 个月,确诊 2 型糖尿病,现口服二甲双胍 0.5g 每日两次。",
  "doc_type": "outpatient"
}
response.json · 演示数据
{
  "request_id": "req_3ac7d901be",
  "code": 0,
  "message": "success",
  "data": {
    "entities": [
      {
        "text": "2 型糖尿病",
        "type": "disease",
        "icd10": "E11.9",
        "start": 8,
        "end": 14
      },
      {
        "text": "二甲双胍",
        "type": "drug",
        "code": "A10BA02",
        "start": 22,
        "end": 26
      },
      {
        "text": "0.5g",
        "type": "dosage",
        "start": 27,
        "end": 31
      },
      {
        "text": "每日两次",
        "type": "frequency",
        "start": 32,
        "end": 36
      }
    ],
    "sections": {
      "chief_complaint": "多饮、多尿 3 个月",
      "diagnosis": [
        "2 型糖尿病"
      ],
      "medication": [
        {
          "name": "二甲双胍",
          "dose": "0.5g",
          "freq": "每日两次"
        }
      ]
    },
    "summary": "中年患者,血糖控制不佳已 3 个月,当前口服二甲双胍 0.5g 每日两次治疗。",
    "latency_ms": 96
  }
}

指标表现

实体 F10.912
编码归一准确率94.1%
单次响应< 200ms