Healthcare Natural Language API

Healthcare Natural Language API 是 Cloud Healthcare API 的一部分,它使用自然语言模型从医疗文本中提取医疗保健信息。

本概念指南说明了使用 Healthcare Natural Language API 的基础知识,包括:

  • 可以向 Healthcare Natural Language API 发出的请求类型
  • 如何构建向 Healthcare Natural Language API 发出的请求
  • 如何处理来自 Healthcare Natural Language API 的响应

概览

Healthcare Natural Language API 会从医学文本中提取医疗保健信息。这些医疗保健信息可能包括:

  • 医学概念,例如药物、手术和身体异常状况
  • 功能特征,例如时间关系、主体和确定性评估
  • 关系,例如副作用和药物剂量

在 Healthcare Natural Language API 与 AutoML Entity Extraction for Healthcare 之间选择

Healthcare Natural Language API 提供预训练的自然语言模型,用于从医学文本中提取医学概念和关系。Healthcare Natural Language API 会将文本映射到一组预定义的医学知识类别

借助 AutoML Entity Extraction for Healthcare,您可以创建使用您自己的带注释医学文本和您自己的类别训练的自定义实体提取模型。如需了解详情,请参阅 AutoML Entity Extraction for Healthcare 文档

可用位置

Healthcare Natural Language API 在以下位置可用:

地点名称 地点描述
asia-south1 印度孟买
australia-southeast1 澳大利亚悉尼
europe-west2 英国伦敦
europe-west4 荷兰
northamerica-northeast1 加拿大蒙特利尔
us-central1 美国爱荷华州

Healthcare Natural Language API 特征

Healthcare Natural Language API 检查医学文本中的医学概念和关系。您可以使用 analyzeEntities 方法执行实体分析。

实体分析请求

Healthcare Natural Language API 是一个 REST API,由 JSON 请求和响应组成。以下部分介绍了如何从给定医学文本中提取不同的医学数据洞见:

实体分析请求包含以下字段:

实体分析响应字段

实体分析会返回一组检测到的医学知识提及、医学概念以及医学知识提及之间的关系,包括:

  • entityMentions:源医学文本中医学知识实体的出现实例。每个实体提及都包含以下字段:

    • mentionId:响应中实体提及的唯一标识符。
    • type:实体提及的医学知识类别
    • text:由 textContent 字段组成,用于描述包含实体提及的医学文本摘录,以及 offset(实体提及在源医学文本中的位置)。
    • temporalAssessment:指定关联的实体如何与实体提及相关:CURRENTCLINICAL_HISTORYFAMILY_HISTORYUPCOMINGOTHER 之一。
    • certaintyAssessment:医学概念的否定或限定:LIKELYSOMEWHAT_LIKELYUNCERTAINSOMEWHAT_UNLIKELYUNLIKELYCONDITIONAL 之一。
    • subject:指定医学概念与之相关的正文:PATIENTFAMILY_MEMBEROTHER 之一。
    • linkedEntities:可能与此实体提及相关的医学概念的列表。关联的实体指定将医学概念关联到 entities 中的实体的 entityId
  • entities:描述来自关联实体字段的医学概念。每个实体使用以下字段进行描述:

    • entityIdlinkedEntities 字段中的唯一标识符。
    • preferredTerm:医学概念的首选术语。
    • vocabularyCodes:医学概念在支持的医学词汇中的表示形式。
  • relationships:定义实体提及之间的有向关系。在示例中,关系的正文是“人胰岛素疗法”,关系的对象是“5 个单位”。

  • confidence:表示关系中模型的置信度,为 0 到 1 之间的数字。

除了列出的字段之外,响应可能还包含 additionalInfo 字段,其中会说明实体提及类型的任何其他说明。请参阅其他信息

支持的语言

Healthcare Natural Language API 仅支持从英语文本中提取医疗保健信息。

支持的医学词汇

Healthcare Natural Language API 支持以下医学词汇:

  • 剖析学基础模型
  • 基因本体论
  • 人类基因组组织基因命名委员会
  • 人类表型术语集
  • ICD-10 操作编码系统
  • ICD-10-CM
  • ICD-9-CM
  • LOINC
  • MeSH
  • MedlinePlus 健康主题
  • 超级叙词表名称
  • NCBI 生物分类数据库
  • NCI 叙词表
  • 美国国家药品档案
  • 在线人类孟德尔遗传
  • RXNORM
  • SNOEDED CT(仅面向美国用户提供)

支持的医学知识类别

Healthcare Natural Language API 会为 entityMentions.type 字段分配医学知识类别。支持的医学知识类别列表如下。属于肿瘤学、社会决定因素 (SDOH) 和受保护健康信息 (PHI) 群组的实体提及类型仅在预览版中提供:

分组 医学知识类别 说明
常规 ANATOMICAL_STRUCTURE 人体的复杂部位,例如细胞、器官和系统。
BODY_FUNCTION 人体进行的机能。
BF_RESULT 正文函数的结果。
BODY_MEASUREMENT 常规身体测量,例如生命体征,无需使用体温计或听诊器等基本仪器进行任何复杂的测试或程序即可获得。
BM_RESULT 身体测量结果。
BM_UNIT 身体测量的单位。
BM_VALUE 身体测量的值。
LABORATORY_DATA 人体样本的检测结果。
LAB_RESULT 对实验数据的定性描述,例如“升高”“降低”“阳性”或“阴性”。
LAB_VALUE 实验数据实例的值。
LAB_UNIT 实验值的计量单位。
MEDICAL_DEVICE 物理或虚拟仪器。
MEDICINE 用于治疗或预防疾病的药品或其他制剂。
MED_DOSE 药物的一次用量。
MED_DURATION 药物的给药期。
MED_FORM 特定药物的物理特征。
MED_FREQUENCY 药物的服用频率。
MED_ROUTE 药物施用的身体位置。
MED_STATUS 现有药物的状态,例如“继续”“开始”“重新开始”“停止”“交换”“增加”和“减少”。
MED_STRENGTH 一剂药物中有效成分的量。
MED_UNIT 药物中有效成分的计量单位。
MED_TOTALDOSE 一次服用的药物数量。
PROBLEM 身体异常状况,包括发现结果和疾病。
PROCEDURE 诊断或治疗操作。
PROCEDURE_RESULT 操作的结果。
PROC_METHOD 执行操作的方法。
SEVERITY 身体异常状况的严重程度。
SUBSTANCE_ABUSE 精神活性物质滥用行为的说明。
肿瘤学(预览版) CLINICAL_STATUS 癌症病例的状态,例如“活跃”“复发”“复发”和“已解决”。
DATE 日期注释,例如诊断日期、手术日期或放射治疗日期。它会提取日期的所有元素,但可能不包括年份。
DIMENSIONS 肿瘤、肿块或异常增生的测量值。
GENE_STUDIED 研究的直接或间接导致肿瘤形成的基因,例如 BRCA1、p53 和 ALK。
HISTOLOGICAL_GRADE 一种分类系统,用于对癌细胞的外观进行分级。
LAB_SPECIMEN 从人体收集的生物材料,用于测试或采样。
RADIATION_DOSAGE 给予患者的辐射量。
ONSET 日期注释,表示患者首次观察到癌症相关问题的日期。
VARIATION_CODE 为在主要编码系统(例如 ClinVarHGVS)下检测到的特定基因组变体分配的代码。
健康的社会决定因素 (SDoH)(预览版) AGE 年龄标识符。包括描述年龄的短语,例如“看起来比实际年龄年轻”“中年”“78 岁”或“青少年”。

注意:根据《健康保险流通与责任法案》(HIPAA),只有当年龄超过 90 周岁时,个人的年龄才会被归类为受保护健康信息 (PHI)。如需了解详情,请参阅 HIPAA 隐私权规则摘要

FAMILY 描述患者家庭结构或亲属的短语,例如“已婚,有两个孩子”“兄弟”“妻子”“有支持性的父母”或“离婚”。
LIVING_SITUATION 描述患者居住情况的短语,例如“与室友同住”“有全天候的护理人员”或“最近搬家”。
SOCIAL_IDENTITY 描述患者或家庭社会身份的字词,包括种族、民族、性取向、宗教、国籍、所说或不说过的语言或原籍国。
PHYSICAL_APPEARANCE 描述患者或家庭成员最明显或最明显的身体特征的短语,例如“右脸颊有疤痕”“唐氏综合症”“肥胖”或“左腿截肢”。
OCCUPATION 描述患者或家庭成员职业和就业状况的短语,例如“退休母亲”“从事焊接工作 20 年”或“去年失业”。
受保护健康信息 (PHI)(预览版) PERSON_NAME 个人的通用名称标识符。包括头衔,例如“博士”“Mrs.”或“MD”
ORGANIZATION_NAME 收集 PHI 的医疗组织(例如诊所、养老院或医院)的标识符。
GENERIC_ID 用于识别医疗记录、患者、医生、医院的通用 ID,例如患者的社会保障号或提供者的编号。
LOCATION 地理位置,可能包含建筑物、街道、城市、州/省级行政区或邮政编码的名称和编号。
PHONE_NUMBER 用于指示电话号码、传真号码或寻呼器号码的数字。
EMAIL_ADDRESS 电子邮件地址标识符。
URL 网站的地址。
ZIPCODE 邮政编码标识符。

支持的功能特征类别

Healthcare Natural Language API 可以根据情景推断实体提及的功能特征或特性。例如,在语句“kusuma 的母亲有糖尿病”中,条件“糖尿病”的功能特征为 subject FAMILY_MEMBER

时间关系

temporalAssessment 字段中返回的时间关系描述了此实体提及如何与主体在时间上相关。

Healthcare Natural Language API 支持以下时间关系:

  • CURRENT
  • CLINICAL_HISTORY
  • FAMILY_HISTORY
  • UPCOMING
  • OTHER

主体

subject 字段中返回的主体描述了实体提及与之相关的个体。

Healthcare Natural Language API 支持以下主体:

  • PATIENT
  • FAMILY_MEMBER
  • OTHER

确定性评估

certaintyAssessment 字段中返回的确定性评估描述了原始记录者的置信度。例如,如果原始备注包含“患者喉咙痛”,确定性评估会返回 LIKELY 值,以表明记录者认为患者可能喉咙痛的置信度。如果原始备注包含“患者喉咙不痛”,则确定性评估会返回 UNLIKELY 值,以表明记录者认为患者不太可能喉咙痛的置信度。

确定性评估可以是以下值之一:

  • LIKELY
  • SOMEWHAT_LIKELY
  • UNCERTAIN
  • SOMEWHAT_UNLIKELY
  • UNLIKELY
  • CONDITIONAL

其他信息

additionalInfo 字段提供有关实体提及的更多详细信息。例如,DATE 实体提及的 additionalInfo 字段可能包含与日期类型相关的详细信息,这些详细信息可归类为以下某种类型:

  • ADMISSION_DATE
  • CONSULTATION_DATE
  • DISCHARGE_DATE
  • SERVICE_DATE
  • VISIT_DATE
  • DIAGNOSIS_DATE
  • MED_STARTED_DATE
  • MED_ENDED_DATE
  • NOTE_DATE
  • PROCEDURE_DATE
  • RADIATION_STARTED_DATE
  • RADIATION_ENDED_DATE
  • STAGE_DATE

实体提及之间所支持的关系

Healthcare Natural Language API 可以根据周围的医学文本推断实体提及之间的关系。在响应中,关系的主体由 subjectId 标识,关系的对象由 objectId 标识。

Healthcare Natural Language API 支持实体提及之间的以下关系:

主体 对象
ANATOMICAL_STRUCTURE MEDICAL_DEVICE
BODY_FUNCTION BF_RESULT
BODY_MEASUREMENT BM_RESULT
BODY_MEASUREMENT BM_UNIT
BODY_MEASUREMENT BM_VALUE
LABORATORY_DATA LAB_RESULT
LABORATORY_DATA LAB_UNIT
LABORATORY_DATA LAB_VALUE
MEDICINE MED_DOSE
MEDICINE MED_DURATION
MEDICINE MED_FORM
MEDICINE MED_FREQUENCY
MEDICINE MED_ROUTE
MEDICINE MED_STATUS
MEDICINE MED_STRENGTH
MEDICINE MED_TOTALDOSE
MEDICINE MED_UNIT
PROBLEM ANATOMICAL_STRUCTURE
PROBLEM MEDICINE
PROBLEM PROCEDURE
PROBLEM SEVERITY
PROCEDURE ANATOMICAL_STRUCTURE
PROCEDURE PROC_METHOD
PROCEDURE PROCEDURE_RESULT
SUBSTANCE_ABUSE SEVERITY

将 Healthcare Natural Language API 输出作为 FHIR 软件包

当您请求 analyzeEntities 方法并将 alternativeOutputFormat 字段设置为 FHIR_BUNDLE 时,响应将包含以下 JSON 对象:

  • 实体提及、实体和关系
  • 表示为字符串的 FHIR R4 软件包,其中包含 JSON 格式的所有实体、实体提及和关系

如需创建 FHIR R4 软件包,Healthcare Natural Language API 会将实体提及、实体和关系映射到 FHIR 资源及其元素。下表列出了其中一些映射。

Healthcare Natural Language API 实体提及 医学知识类别 FHIR R4 资源和元素
PROBLEM Condition
PROBLEM Condition.category
PROBLEM Condition.status
PROBLEM ANATOMICAL_STRUCTURE Condition.bodySite
PROBLEM ANATOMICAL_STRUCTURE Condition.evidence
PROBLEM SEVERITY Condition.severity
PROCEDURE Procedure
PROCEDURE Procedure.status
PROCEDURE Procedure.code
PROCEDURE ANATOMICAL_STRUCTURE Procedure.bodySite
PROCEDURE MEDICAL_DEVICE Procedure.usedCode
PROCEDURE PROBLEM Procedure.reasonReference
MEDICINE MedicationStatement
MEDICINE MedicationStatement.status
MEDICINE MedicationStatement.medication
MEDICINE PROBLEM MedicationStatement.reasonReference
MEDICINE MED_DOSE MedicationStatement.dosage.doseAndRate.doseQuantity
MEDICINE MED_FREQUENCY MedicationStatement.dosage.text
MEDICINE MED_ROUTE MedicationStatement.dosage.route
MEDICINE MED_STRENGTH MedicationStatement.dosage.doseAndRate.doseQuantity
MEDICINE MED_UNIT MedicationStatement.dosage.doseAndRate.doseQuantity

如需将实体从文本中提取为 FHIR R4 软件包,请参阅将输出提取为 FHIR R4 软件包