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) 群组的实体提及类型仅在预览版中提供:

Group 医学知识类别 说明
常规 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 岁”或“青少年”。

注意:只有当年龄超过 90 岁时,HIPAA 才会将其归类为 PHI。如需了解详情,请参阅 HIPAA 隐私权规则摘要

FAMILY 描述患者家庭结构或亲属的短语,例如“已婚,有两个孩子”“兄弟”“妻子”“支持性的父母”或“已离婚”。
LIVING_SITUATION 描述患者居住状况的短语,例如“与室友同住”“有 24 小时家庭护理护士”或“最近搬家”。
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

以 FHIR 软件包形式呈现的 Healthcare Natural Language API 输出

当您请求 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 软件包