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
:回應中提及實體的專屬 ID。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
:可能與此實體提及內容相關的醫療概念清單。連結實體會指定entityId
,將醫療概念連結至entities
中的實體。
entities
:說明連結實體欄位中的醫療概念。 每個實體都使用下列欄位說明:entityId
:linkedEntities
欄位的專屬 ID。preferredTerm
:醫療概念的首選用語。- :以支援的醫療詞彙表示醫療概念。
vocabularyCodes
relationships
:定義實體提及項目之間的導向關係。 在本範例中,關係的主體是「Insulin regimen human」,關係的物件則是「5 units」。confidence
:模型對關係的信心指標,介於 0 到 1 之間。
除了列出的欄位外,回應也可能包含 additionalInfo
欄位,其中說明實體提及類型的任何其他描述。請參閱「其他資訊」。
支援的語言
Healthcare Natural Language API 僅支援從英文文字中擷取醫療照護資訊。
支援的醫療詞彙
Healthcare Natural Language API 支援下列醫療詞彙:
- 解剖學基礎模型
- 基因本體
- HUGO 基因命名委員會
- 人類表型本體
- ICD-10 處置編碼系統
- ICD-10-CM
- ICD-9-CM
- LOINC
- MeSH
- MedlinePlus 健康主題
- Metathesaurus 名稱
- NCBI 分類
- NCI 詞彙表
- 國家藥物檔案
- Online Mendelian Inheritance in Man
- RXNORM
- SNOMED 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
|
在 ClinVar 和 HGVS 等主要編碼系統下,偵測到的特定基因體變異代碼。 | |
健康社會決定因素 (SDoH) (預先發布版) | AGE
|
年齡 ID。包括描述年齡的詞組,例如「看起來比實際年齡年輕」、「中年」、「78 歲」或「青少年」。
注意:只有當個人年齡超過 90 歲時,HIPAA 才會將其歸類為 PHI。詳情請參閱 HIPAA 隱私權規則摘要。 |
FAMILY
|
描述病患家庭結構或親戚的詞組,例如「已婚,有兩個孩子」、「兄弟」、「妻子」、「支持的父母」或「離婚」。 | |
LIVING_SITUATION
|
描述病患生活狀況的詞組,例如「與室友同住」、「有全天候居家照護護士」或「最近搬家」。 | |
SOCIAL_IDENTITY
|
描述病患或家屬社會身分的詞組,包括種族、族裔、性傾向、宗教、國籍、說的語言或不會說的語言,或原籍國家/地區。 | |
PHYSICAL_APPEARANCE
|
描述病患或家屬最明顯或顯著的身體特徵,例如「右臉頰有疤痕」、「唐氏症」、「肥胖」或「左腿截肢」。 | |
OCCUPATION
|
描述病患或家屬職業和就業狀況的詞組,例如「退休母親」、「擔任焊接工 20 年」或「去年失業」。 | |
受保護的健康資訊 (PHI) (預覽版) | PERSON_NAME
|
個人的通用名稱 ID。包括「博士」等頭銜,「Mrs.」或「MD」 |
ORGANIZATION_NAME
|
收集 PHI 的醫療機構 ID,例如診所、安養中心或醫院。 | |
GENERIC_ID
|
可識別病歷、病患、醫生、醫院的通用 ID,例如病患的社會安全號碼或醫事人員號碼。 | |
LOCATION
|
地理位置,可能包含建築物、街道、城市、州/省或郵遞區號的名稱和號碼。 | |
PHONE_NUMBER
|
電話號碼、傳真號碼或呼叫器號碼。 | |
EMAIL_ADDRESS
|
電子郵件地址 ID。 | |
URL
|
網站地址。 | |
ZIPCODE
|
郵遞區號 ID。 |
支援的功能類別
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
值,表示記錄者確信患者可能喉嚨痛。如果原始附註包含「The patient does not have a sore throat」(病患沒有喉嚨痛),確定度評估會傳回 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
當您使用 FHIR_BUNDLE
將 alternativeOutputFormat
欄位設為 analyzeEntities
時,要求 analyzeEntities
方法時,回應會包含下列 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 組合形式擷取輸出內容」。