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
字段分配医学知识类别。支持的医学知识类别列表如下。属于肿瘤学、健康社会决定因素 (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
|
在 ClinVar 和 HGVS 等主要编码系统下检测到的特定基因组变异的编码。 | |
健康 (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 软件包。