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 リクエストとレスポンスで構成されます。以降のセクションでは、特定の医療テキストからさまざまな医療分析情報を抽出する方法について説明します。

エンティティ分析リクエストには次のフィールドが含まれます。

  • documentContent には、医療テキストから構成されるリクエストのデータが含まれています。医療テキストの最大サイズは 20,000 Unicode 文字です。
  • licensedVocabularies[]:(省略可)。SNOMED CT の用語。米国のユーザーのみご利用いただけます。
  • alternativeOutputFormat:(省略可)。FHIR バンドルの形式。

エンティティ分析のレスポンス フィールド

エンティティ分析は、検出された医療ナレッジへの言及、医療コンセプト、医療ナレッジへの言及間のリレーションを返します。次に例を示します。

  • entityMentions は、ソースの医療テキストでの医療ナレッジ エンティティの存在です。エンティティへの言及にはそれぞれ次のフィールドがあります。

    • mentionId: レスポンスに記述されるエンティティへの言及の一意の識別子。
    • type: エンティティへの言及の医療ナレッジ カテゴリ
    • text: textContent フィールドから構成され、エンティティへの言及を含む医療テキストの抜粋と、ソース医療テキストでのエンティティへの言及があった場所(offset)を記述します。
    • temporalAssessment: リンクされたエンティティが CURRENTCLINICAL_HISTORYFAMILY_HISTORYUPCOMINGOTHER のいずれかのエンティティの言及に関係する方法を指定します。
    • certaintyAssessment: LIKELYSOMEWHAT_LIKELYUNCERTAINSOMEWHAT_UNLIKELYUNLIKELYCONDITIONAL のいずれかの医療コンセプトの否定または認定。
    • subject: 医療コンセプトが PATIENTFAMILY_MEMBEROTHER のいずれかに関係するサブジェクトを指定します。
    • linkedEntities: このエンティティの言及に関連する可能性のある医療コンセプトのリスト。リンクされたエンティティでは、entities のエンティティに医療コンセプトをリンクする entityId を指定します。
  • entities では、リンクされたエンティティ フィールドの医療コンセプトを記述します。各エンティティは、次のフィールドを使用して記述されます。

    • entityId: linkedEntities フィールドの一意の識別子。
    • preferredTerm: 医療コンセプトの優先語。
    • vocabularyCodes: サポートされている医療語彙での医療コンセプトの表現。
  • relationships は、エンティティへの言及間の有向関係を定義します。 この例では、関係のタイトルは「Insulin regimen human」で、関係のオブジェクトは「5 units」です。

  • confidence: 関係におけるモデルの信頼度を 0 ~ 1 の数値で示します。

上記のフィールド以外にも、レスポンスには additionalInfo フィールドが含まれる場合があります。このフィールドには、エンティティの参照タイプに関する追加の説明が記載されます。追加情報をご覧ください。

サポートされている言語

Healthcare Natural Language API は、英語のテキストからの医療情報の抽出のみをサポートしています。

サポートされている医療用語

Healthcare Natural Language API では、次の医療用語がサポートされます。

  • Foundational Model of Anatomy
  • Gene Ontology
  • HUGO Gene Nomenclature Committee
  • Human Phenotype Ontology
  • ICD-10 Procedure Coding System
  • ICD-10-CM
  • ICD-9-CM
  • LOINC
  • MeSH
  • MedlinePlus Health Topics
  • Metathesaurus Names
  • NCBI Taxonomy
  • NCI Thesaurus
  • National Drug File
  • Online Mendelian Inheritance in Man
  • RxNorm
  • SNOMED CT(米国のユーザーのみ利用可能)

サポートされている医療ナレッジ カテゴリ

Healthcare Natural Language API では、entityMentions.type フィールドに医療ナレッジ カテゴリが割り当てられます。サポートされている医療ナレッジ カテゴリのリストは次のとおりです。腫瘍学、健康の社会的決定要因(SDOH)、保護医療情報(PHI)のグループに属するエンティティ言及タイプは、プレビュー版でのみ使用できます。

グループ 医療ナレッジ カテゴリ 説明
General 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 1 回分の投薬に含まれる有効成分の量。
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 では、90 歳以上の場合に限り、年齢が PHI として分類されます。詳細については、HIPAA プライバシー ルールの概要をご覧ください。

FAMILY 患者の家族構造または親族を表すフレーズ(「既婚で 2 人の子供がいる」、「兄弟」、「妻」、「親の支援を受けている」、「離婚」など)。
LIVING_SITUATION 患者の生活状況を表すフレーズ(「ルームメートと一緒」、「24 時間、年中常に在宅の看護師と一緒」、「最近引っ越した」など)。
SOCIAL_IDENTITY 患者または家族の社会的アイデンティティを説明するフレーズ(人種、民族、性的指向、宗教、国籍、話す言語、話さない言語、出身国など)。
PHYSICAL_APPEARANCE 患者や家族の最も顕著な、あるいは明らかな身体的特性を表すフレーズ。「右の頬の怪我」、「ダウン症」、「肥満」、「左足を切断」など。
OCCUPATION 患者や家族の職業、就業状況を説明するフレーズ。「退職した母親」、「溶接工として 20 年間働いた」、「昨年失業した」など。
保護医療情報(PHI)(プレビュー) PERSON_NAME 個人を識別する一般的な名前の ID。「医師」、「Mrs.」、「MD」などを含む。
ORGANIZATION_NAME クリニック、老人ホーム、病院など、PHI を収集する医療機関の ID。
GENERIC_ID 患者の SSN、医療機関の番号など、医療記録、患者、医師、病院を識別する汎用 ID。
LOCATION 建物、通り、都市、州、郵便番号などの名前と番号が含まれる地理的場所。
PHONE_NUMBER 電話番号、FAX 番号、またはページャー番号を示す番号。
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

FHIR バンドルとしての Healthcare Natural Language API の出力

alternativeOutputFormat フィールドを FHIR_BUNDLE に設定して analyzeEntities メソッドをリクエストすると、レスポンスには次の JSON オブジェクトが含まれます。

  • エンティティへの言及、エンティティ、関係
  • すべてのエンティティ、エンティティへの言及、JSON 形式の関係を含む、文字列として表される FHIR R4 バンドル

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 バンドルとして抽出するをご覧ください。