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 字段分配医学知识类别。 受支持的医学知识类别列表如下:

医学知识类别 说明
ANATOMICAL_STRUCTURE 人体的复杂部分,如细胞、器官和系统。
BODY_FUNCTION 人体执行的功能。
BF_RESULT 正文函数的结果。
BODY_MEASUREMENT 一种正常的人体测量结果,例如生命体征,无需任何复杂测试或程序即可使用温度计或听诊器等基础仪器进行测量。
BM_RESULT 身体测量结果。
BM_UNIT 身体测量单位。
BM_VALUE 身体测量值的值。
DATE 日期注解,例如诊断日期、手术日期或放射治疗日期。
LABORATORY_DATA 身体样本检测结果。
LAB_SPECIMEN 从人体中收集、用于测试或采样的生物物质。
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 癌症病例的状态,例如“活跃”“复发”“复发”和“已解决”。
DIMENSIONS 对肿瘤、质量或异常增生的测量结果。
GENE_STUDIED 所研究的直接或间接导致肿瘤的基因,如 BRCA1、p53 和 ALK。
HISTOLOGICAL_GRADE 一种用于对癌症细胞外观进行分级的分类系统。
RADIATION_DOSAGE 患者接受的放射量。
ONSET 日期注解,用于表示患者首次观察到癌症相关问题的日期。
VARIATION_CODE 为在主要编码系统(如 Clinvar 和 HGVS)下检测到的特定基因组变体指定的代码。

支持的功能特征类别

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 支持实体提及之间的以下关系:

Subject 对象
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 软件包