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 请求和响应组成。以下部分介绍了如何从给定医学文本中提取不同的医学数据分析:
实体分析请求包含以下字段:
documentContent
:请求的数据,由医学文本组成。医学文本的大小上限为 20,000 个 Unicode 字符。licensedVocabularies[]
:可选。SNOMED CT 词汇表。仅适用于美国用户。alternativeOutputFormat
:可选。FHIR 软件包格式。
实体分析响应字段
实体分析会返回一组检测到的医学知识提及、医学概念以及医学知识提及之间的关系,包括:
entityMentions
:医学知识实体在源医学文本中出现的次数。每个实体提及都包含以下字段:mentionId
:响应中实体提及的唯一标识符。type
:实体提及的医学知识类别。text
:由textContent
字段组成,描述包含实体提及的医学文本摘录;offset
(实体提及在源医学文本中的位置)。temporalAssessment
:指定关联的实体与实体提及(CURRENT
、CLINICAL_HISTORY
、FAMILY_HISTORY
、UPCOMING
或OTHER
之一)之间的关系。certaintyAssessment
:对医学概念的否定或限定,可以是LIKELY
、SOMEWHAT_LIKELY
、UNCERTAIN
、SOMEWHAT_UNLIKELY
、UNLIKELY
或CONDITIONAL
之一。subject
:指定与医学概念相关的正文,可以是PATIENT
、FAMILY_MEMBER
或OTHER
之一。linkedEntities
:可能与此实体提及相关的医疗概念列表。关联的实体指定将医学概念关联到entities
中的实体的entityId
。
entities
:描述关联实体字段中的医学概念。每个实体使用以下字段进行描述:entityId
:linkedEntities
字段中的唯一标识符。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 软件包。