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
|
ClinVar 및 HGVS와 같은 주요 코딩 시스템에서 감지된 특정 게놈 변이에 지정된 코드입니다. | |
건강의 사회적 결정 요인(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 번들로 출력 추출을 참조하세요.