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와 Healthcare용 AutoML Entity Extraction 중에서 선택

Healthcare Natural Language API는 의학 텍스트에서 의학 개념 및 관계를 추출하는 선행 학습된 자연어 모델을 제공합니다. Healthcare Natural Language API는 텍스트를 사전 정의된 의학 지식 카테고리 집합으로 매핑합니다.

Healthcare용 AutoML Entity Extraction을 사용하면 자체 주석 처리된 의학 텍스트와 자체 카테고리를 사용하여 학습된 커스텀 항목 추출 모델을 만들 수 있습니다. 자세한 내용은 Healthcare용 AutoML Entity Extraction 문서를 참조하세요.

사용 가능한 위치

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자입니다.
  • 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는 다음과 같은 의학 용어를 지원합니다.

  • 기본 해부학 모델
  • 유전자 온톨로지
  • HUGO Gene Nomenclature Committee(인간 유전자 명명 위원회)
  • 인간 표현형 온톨로지
  • ICD-10 시술 코딩 시스템
  • ICD-10-CM
  • ICD-9-CM
  • LOINC
  • MeSH
  • MedlinePlus 건강 주제
  • 메타시소러스(Metatheaurus) 이름
  • 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 연령 식별자입니다. '명시 연령보다 어려요', '중년', '78세' 또는 '청소년'과 같이 연령을 설명하는 문구가 포함됩니다.

참고: HIPAA에서는 90세 이상인 경우에만 개인 연령을 PHI로 분류합니다. 자세한 내용은 HIPAA 개인 정보 보호 규칙 요약을 참조하세요.

FAMILY '두 아이와 결혼함', '형제', '아내', '지원되는 부모' 또는 '이혼'과 같은 환자의 가족 구조나 친척을 설명하는 문구입니다.
LIVING_SITUATION '룸메이트와 함께', '연중무휴 가정 간호사' 또는 '최근에 이사'와 같은 환자 가정 상황을 설명하는 문구입니다.
SOCIAL_IDENTITY 인종, 민족, 성적 지향, 종교, 국적, 발화 여부와 관계없는 언어 또는 출신 국가를 포함하여 환자나 가족의 사회적 정체성을 설명하는 문구입니다.
PHYSICAL_APPEARANCE '오른쪽 볼의 흔적', '다운 증후군', '비만' 또는 '왼쪽 다리 절단'과 같은 환자 또는 가족의 가장 두드러지거나 명백한 물리적 특성을 설명하는 문구입니다.
OCCUPATION '은퇴한 어머니', '20년 동안 용접공으로 근무' 또는 '작년에 실직'과 같은 환자나 가족의 직업 및 고용 상태를 설명하는 문구입니다.
보호 건강 정보(PHI)(미리보기) PERSON_NAME 개인의 일반적인 이름 식별자입니다. 'Dr.', 'Mrs.' 또는 'MD'와 같은 직함을 포함합니다.
ORGANIZATION_NAME 진료소, 요양원 또는 병원과 같은 PHI를 수집하는 의료 조직의 식별자입니다.
GENERIC_ID 환자의 사회보장번호(SSN) 또는 제공업체 번호와 같은 의료 기록, 환자, 의사, 병원을 식별하는 일반 ID입니다.
LOCATION 건물, 거리, 도시, 주 또는 우편번호의 이름과 번호를 포함할 수 있는 지리적 위치입니다.
PHONE_NUMBER 전화번호, 팩스 번호 또는 무선 호출기 번호를 나타내는 숫자입니다.
EMAIL_ADDRESS 이메일 주소 식별자입니다.
URL 웹사이트 주소입니다.
ZIPCODE 우편번호 식별자입니다.

지원되는 기능적 특성 카테고리

Healthcare Natural Language API는 컨텍스트에서 언급된 항목의 기능적 특성 또는 속성을 추론할 수 있습니다. 예를 들어 '쿠수마의 어머니는 당뇨병을 가지고 있다' 문에서 '당뇨병' 조건은 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 번들로 출력 추출을 참조하세요.