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:回應中提及實體的專屬 ID。
    • type:實體提及的醫療知識類別
    • text:包含 textContent 欄位,並說明含有實體提及的醫療文字摘錄,以及 offset,也就是來源醫療文字中實體提及的位置。
    • temporalAssessment:指定已連結的實體與實體提及的關聯方式,可使用 CURRENTCLINICAL_HISTORYFAMILY_HISTORYUPCOMINGOTHER
    • certaintyAssessment:否定或限定醫療概念,可選值為 LIKELYSOMEWHAT_LIKELYUNCERTAINSOMEWHAT_UNLIKELYUNLIKELYCONDITIONAL
    • subject:指定醫療概念相關主題,為 PATIENTFAMILY_MEMBEROTHER 之一。
    • linkedEntities:與此實體提及項目可能相關的醫學概念清單。已連結的實體會指定 entityId,將醫療概念連結至 entities 中的實體。
  • entities:說明已連結實體欄位的醫學概念。每個實體都會使用下列欄位進行說明:

    • entityIdlinkedEntities 欄位的專屬 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 在主要編碼系統 (例如 ClinVarHGVS) 中,給予特定基因變異體的代碼。
健康社會決定因素 (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 套件」一文。