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
:定義實體提及之間的導向關係。在範例中,關係的主體是「人類胰島素療程」,關係的對象是「5 單位」。confidence
:表示模型對關係的信心,以 0 到 1 之間的數字表示。
除了上述欄位外,回應也可能包含 additionalInfo
欄位,其中會說明實體提及類型的任何其他說明。請參閱其他資訊。
支援的語言
Healthcare Natural Language API 僅支援從英文文字擷取醫療照護資訊。
支援的醫學詞彙
Healthcare Natural Language API 支援下列醫療用字彙:
- 解剖學基礎模型
- 基因本體
- HUGO 基因命名委員會
- 人類表型本體
- ICD-10 手術編碼系統
- ICD-10-CM
- ICD-9-CM
- LOINC
- MeSH
- MedlinePlus 健康主題
- 中繼詞典名稱
- 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 歲」或「青少年」。
注意:《健康保險流通與責任法案》(HIPAA) 將年齡歸類為 PHI 的條件是年齡超過 90 歲。詳情請參閱「HIPAA 隱私權規則摘要」。 |
FAMILY
|
描述患者家庭結構或親屬的詞組,例如「已婚,有兩個小孩」、「哥哥」、「老婆」、「父母支持」或「離婚」。 | |
LIVING_SITUATION
|
描述患者居住情況的詞彙,例如「與室友同住」、「有 24 小時居家護理人員」或「最近搬家」。 | |
SOCIAL_IDENTITY
|
描述患者或患者家屬社會身分的詞組,包括種族、族裔、性傾向、宗教、國籍、所用/不使用的語言或原籍國家。 | |
PHYSICAL_APPEARANCE
|
描述患者或家屬最明顯或明顯的體貌特徵的詞句,例如「右臉頰有疤痕」、「唐氏症」、「肥胖」或「左腿截肢」。 | |
OCCUPATION
|
描述病患或家屬職業和就業狀況的詞句,例如「退休媽媽」、「從事焊接工作 20 年」或「去年失業」。 | |
受保護的醫療保健記錄 (PHI) (預先發布版) | PERSON_NAME
|
個人通用名稱 ID。包括「Dr.」等頭銜,「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
值,表示筆記撰寫者認為病患可能有喉嚨痛。如果原始筆記包含「患者沒有喉嚨痛」,確定性評估會傳回 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 |
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 套件」一文。