Healthcare Natural Language API adalah bagian dari Cloud Healthcare API yang menggunakan model bahasa alami untuk mengekstrak informasi layanan kesehatan dari teks medis.
Panduan konseptual ini menjelaskan dasar-dasar penggunaan Healthcare Natural Language API, termasuk:
- Jenis permintaan yang dapat Anda buat ke Healthcare Natural Language API
- Cara membuat permintaan ke Healthcare Natural Language API
- Cara menangani respons dari Healthcare Natural Language API
Ringkasan
Healthcare Natural Language API mengekstrak informasi layanan kesehatan dari teks medis. Informasi perawatan kesehatan ini dapat mencakup:
- Konsep medis, seperti obat, prosedur, dan kondisi medis
- Fitur fungsional, seperti hubungan temporal, subjek, dan penilaian kepastian
- Hubungan, seperti efek samping dan dosis obat
Memilih antara Healthcare Natural Language API dan AutoML Entity Extraction for Healthcare
Healthcare Natural Language API menawarkan model natural language terlatih untuk mengekstrak konsep dan hubungan medis dari teks medis. Healthcare Natural Language API memetakan teks ke dalam kumpulan kategori pengetahuan medis yang telah ditentukan sebelumnya.
AutoML Entity Extraction for Healthcare memungkinkan Anda membuat model ekstraksi entity kustom yang dilatih menggunakan teks medis beranotasi Anda sendiri dan menggunakan kategori Anda sendiri. Untuk informasi selengkapnya, lihat dokumentasi AutoML Entity Extraction for Healthcare.
Lokasi yang tersedia
Healthcare Natural Language API tersedia di lokasi berikut:
Nama lokasi | Deskripsi lokasi |
---|---|
asia-south1 |
Mumbai, India |
australia-southeast1 |
Sydney, Australia |
europe-west2 |
London, Inggris |
europe-west4 |
Belanda |
northamerica-northeast1 |
Montréal, Kanada |
us-central1 |
Iowa, Amerika Serikat |
Fitur Healthcare Natural Language API
Healthcare Natural Language API memeriksa teks medis untuk menemukan konsep dan hubungan medis. Anda melakukan analisis entity menggunakan metode
analyzeEntities
.
Permintaan analisis entity
Healthcare Natural Language API adalah REST API dan terdiri dari permintaan dan respons JSON. Bagian berikut menunjukkan cara mengekstrak berbagai insight medis dari teks medis tertentu:
- Mengekstrak entity, relasi, dan atribut kontekstual
- Menyertakan kosakata berlisensi
- Mengekstrak output sebagai paket FHIR R4
Permintaan analisis entitas berisi kolom berikut:
documentContent
: Data untuk permintaan, yang terdiri dari teks medis. Ukuran maksimum teks medis adalah 20.000 karakter Unicode.licensedVocabularies[]
: Opsional. Kosakata SNOMED CT. Hanya tersedia untuk pengguna di Amerika Serikat.alternativeOutputFormat
: Opsional. Format paket FHIR.
Kolom respons analisis entity
Analisis entity menampilkan kumpulan sebutan pengetahuan medis, konsep medis, dan hubungan antara sebutan pengetahuan medis yang terdeteksi, termasuk hal berikut:
entityMentions
: kemunculan entity pengetahuan medis dalam teks medis sumber. Setiap sebutan entitas memiliki kolom berikut:mentionId
: ID unik untuk sebutan entity dalam respons.type
: kategori pengetahuan medis dari sebutan entitas.text
: terdiri dari kolomtextContent
, dan menjelaskan kutipan teks medis yang berisi sebutan entity, danoffset
, lokasi sebutan entity dalam teks medis sumber.temporalAssessment
: menentukan hubungan entitas tertaut dengan sebutan entitas, salah satu dariCURRENT
,CLINICAL_HISTORY
,FAMILY_HISTORY
,UPCOMING
, atauOTHER
.certaintyAssessment
: negasi atau kualifikasi konsep medis, salah satu dariLIKELY
,SOMEWHAT_LIKELY
,UNCERTAIN
,SOMEWHAT_UNLIKELY
,UNLIKELY
, atauCONDITIONAL
.subject
: menentukan subjek yang terkait dengan konsep medis, salah satu dariPATIENT
,FAMILY_MEMBER
, atauOTHER
.linkedEntities
: daftar konsep medis yang mungkin terkait dengan sebutan entitas ini. Entitas tertaut menentukanentityId
, yang menautkan konsep medis ke entitas dientities
.
entities
: menjelaskan konsep medis dari kolom entity tertaut. Setiap entitas dijelaskan menggunakan kolom berikut:entityId
: ID unik dari kolomlinkedEntities
.preferredTerm
: istilah yang lebih disukai untuk konsep medis.vocabularyCodes
: representasi konsep medis dalam kosakata medis yang didukung.
relationships
: menentukan hubungan terarah antara sebutan entitas. Dalam contoh, subjek hubungan adalah "Insulin regimen human" dan objek hubungan adalah "5 units".confidence
: indikasi keyakinan model dalam hubungan sebagai angka antara 0 dan 1.
Selain kolom yang tercantum, respons juga dapat berisi kolom additionalInfo
, yang menyatakan deskripsi tambahan tentang jenis sebutan entitas.
Lihat Informasi tambahan.
Bahasa yang didukung
Healthcare Natural Language API hanya mendukung ekstraksi informasi layanan kesehatan dari teks bahasa Inggris.
Kosakata medis yang didukung
Healthcare Natural Language API mendukung kosakata medis berikut:
- Model Dasar Anatomi
- Gene Ontology
- HUGO Gene Nomenclature Committee
- Ontologi Fenotipe Manusia
- Sistem Kode Prosedur ICD-10
- ICD-10-CM
- ICD-9-CM
- LOINC
- MeSH
- Topik Kesehatan MedlinePlus
- Nama Metatesaurus
- Taksonomi NCBI
- Tesaurus NCI
- National Drug File
- Online Mendelian Inheritance in Man
- RXNORM
- SNOMED CT (hanya tersedia untuk pengguna AS)
Kategori pengetahuan medis yang didukung
Healthcare Natural Language API menetapkan kategori pengetahuan medis ke kolom entityMentions.type
.
Daftar kategori pengetahuan medis yang didukung adalah sebagai berikut. Jenis sebutan entitas yang termasuk dalam grup onkologi, determinan sosial kesehatan (SDOH), dan informasi kesehatan terlindungi (PHI) hanya tersedia di Pratinjau:
Grup | Kategori pengetahuan medis | Deskripsi |
---|---|---|
Umum | ANATOMICAL_STRUCTURE
|
Bagian tubuh manusia yang kompleks, seperti sel, organ, dan sistem. |
BODY_FUNCTION
|
Fungsi yang dilakukan oleh tubuh manusia. | |
BF_RESULT
|
Hasil dari fungsi isi. | |
BODY_MEASUREMENT
|
Pengukuran normal tubuh manusia, seperti tanda vital, yang diperoleh tanpa tes atau prosedur rumit menggunakan instrumen dasar, seperti termometer atau stetoskop. | |
BM_RESULT
|
Hasil pengukuran tubuh. | |
BM_UNIT
|
Satuan untuk pengukuran tubuh. | |
BM_VALUE
|
Nilai pengukuran tubuh. | |
LABORATORY_DATA
|
Hasil pengujian sampel tubuh. | |
LAB_RESULT
|
Deskripsi kualitatif data laboratorium, seperti "meningkat", "turun", "positif", atau "negatif". | |
LAB_VALUE
|
Nilai instance data laboratorium. | |
LAB_UNIT
|
Satuan pengukuran untuk nilai laboratorium. | |
MEDICAL_DEVICE
|
Instrumen fisik atau virtual. | |
MEDICINE
|
Obat atau sediaan lainnya untuk pengobatan atau pencegahan penyakit. | |
MED_DOSE
|
Dosis obat. | |
MED_DURATION
|
Periode pemberian obat. | |
MED_FORM
|
Karakteristik fisik obat tertentu. | |
MED_FREQUENCY
|
Frekuensi obat diminum. | |
MED_ROUTE
|
Lokasi di dalam tubuh tempat obat diberikan. | |
MED_STATUS
|
Status pengobatan yang ada, seperti "lanjutkan", "mulai", "mulai ulang", "berhenti", "beralih", "tingkatkan", dan "kurangi". | |
MED_STRENGTH
|
Jumlah bahan aktif dalam dosis obat. | |
MED_UNIT
|
Satuan pengukuran untuk bahan aktif dalam obat. | |
MED_TOTALDOSE
|
Jumlah obat yang harus diminum sekaligus. | |
PROBLEM
|
Kondisi medis, termasuk temuan dan penyakit. | |
PROCEDURE
|
Prosedur diagnosis atau perawatan. | |
PROCEDURE_RESULT
|
Hasil dari prosedur. | |
PROC_METHOD
|
Metode yang digunakan untuk melakukan prosedur. | |
SEVERITY
|
Tingkat keparahan kondisi medis. | |
SUBSTANCE_ABUSE
|
Deskripsi penyalahgunaan zat psikoaktif. | |
Onkologi (Pratinjau) | CLINICAL_STATUS
|
Status kasus kanker seperti "aktif", "berulang", "kambuh", dan "selesai". |
DATE
|
Anotasi tanggal, seperti tanggal diagnosis, tanggal prosedur, atau tanggal pengobatan radiasi. Fungsi ini mengekstrak semua elemen tanggal dan mungkin tidak menyertakan tahun. | |
DIMENSIONS
|
Pengukuran tumor, massa, atau pertumbuhan abnormal. | |
GENE_STUDIED
|
Gen yang dipelajari yang secara langsung atau tidak langsung menyebabkan pembentukan tumor, seperti BRCA1, p53, dan ALK. | |
HISTOLOGICAL_GRADE
|
Sistem klasifikasi untuk menilai tampilan sel kanker. | |
LAB_SPECIMEN
|
Materi biologis yang dikumpulkan dari tubuh untuk pengujian atau pengambilan sampel. | |
RADIATION_DOSAGE
|
Jumlah radiasi yang diberikan kepada pasien. | |
ONSET
|
Anotasi tanggal untuk mewakili tanggal saat pasien pertama kali mengamati masalah terkait kanker. | |
VARIATION_CODE
|
Kode yang diberikan ke varian genomik tertentu yang terdeteksi dalam sistem coding utama seperti ClinVar dan HGVS. | |
Social determinants of health (SDoH) (Pratinjau) | AGE
|
ID usia. Hal ini mencakup frasa yang menjelaskan usia, seperti "tampak lebih muda dari usia yang dinyatakan", "usia paruh baya", "78 tahun", atau "remaja".
Catatan: HIPAA mengklasifikasikan usia seseorang sebagai PHI hanya jika usianya di atas 90 tahun. Untuk informasi selengkapnya, lihat Ringkasan Aturan Privasi HIPAA. |
FAMILY
|
Frasa yang menjelaskan struktur keluarga atau kerabat pasien, seperti "menikah dengan dua anak", "saudara laki-laki", "istri", "orang tua yang mendukung", atau "bercerai". | |
LIVING_SITUATION
|
Frasa yang menjelaskan situasi tempat tinggal pasien, seperti "dengan teman sekamar", "memiliki perawat homecare 24/7", atau "baru saja pindah". | |
SOCIAL_IDENTITY
|
Frasa yang menjelaskan identitas sosial pasien atau keluarga, termasuk ras, etnis, orientasi seksual, agama, kewarganegaraan, bahasa yang digunakan atau tidak digunakan, atau negara asal. | |
PHYSICAL_APPEARANCE
|
Frasa yang menjelaskan ciri fisik pasien atau keluarga yang paling terlihat atau jelas, seperti "bekas luka di pipi kanan", "sindrom Down", "obesitas", atau "kaki kiri diamputasi". | |
OCCUPATION
|
Frasa yang menjelaskan pekerjaan dan status pekerjaan pasien atau keluarga, seperti "ibu pensiunan", "bekerja sebagai tukang las selama 20 tahun", atau "kehilangan pekerjaan tahun lalu". | |
Informasi kesehatan terlindungi (PHI) (Pratinjau) | PERSON_NAME
|
ID nama generik untuk seseorang. Menyertakan gelar, seperti "Dr.", "Ny.", atau "Dr." |
ORGANIZATION_NAME
|
ID untuk organisasi medis yang mengumpulkan PHI, seperti klinik, panti wreda, atau rumah sakit. | |
GENERIC_ID
|
ID generik yang mengidentifikasi rekam medis, pasien, dokter, rumah sakit, seperti SSN pasien, atau nomor penyedia. | |
LOCATION
|
Lokasi geografis yang mungkin berisi nama dan nomor untuk bangunan, jalan, kota, negara bagian, atau kode pos. | |
PHONE_NUMBER
|
Nomor untuk menunjukkan nomor telepon, nomor faks, atau nomor pager. | |
EMAIL_ADDRESS
|
ID alamat email. | |
URL
|
Alamat situs. | |
ZIPCODE
|
ID kode pos. |
Kategori fitur fungsional yang didukung
Healthcare Natural Language API dapat menyimpulkan fitur fungsional, atau atribut,
dari sebutan entitas dari konteks. Misalnya, dalam pernyataan
"Ibu Kusuma menderita diabetes", kondisi "diabetes" memiliki fitur
fungsional subject
FAMILY_MEMBER
.
Hubungan temporal
Hubungan temporal, yang ditampilkan di kolom temporalAssessment
, menjelaskan
bagaimana sebutan entitas ini terkait dengan subjek secara temporal.
Healthcare Natural Language API mendukung hubungan temporal berikut:
CURRENT
CLINICAL_HISTORY
FAMILY_HISTORY
UPCOMING
OTHER
Subjek
Subjek, yang ditampilkan di kolom subject
, menjelaskan individu yang terkait dengan
sebutan entitas.
Healthcare Natural Language API mendukung subjek berikut:
PATIENT
FAMILY_MEMBER
OTHER
Penilaian kepastian
Penilaian kepastian, yang ditampilkan di kolom certaintyAssessment
, menjelaskan
keyakinan pencatat asli. Misalnya, jika catatan asli
berisi "Pasien mengalami sakit tenggorokan", penilaian kepastian
akan menampilkan nilai LIKELY
untuk menunjukkan keyakinan pencatat bahwa
kemungkinan pasien mengalami sakit tenggorokan. Jika catatan asli berisi "Pasien tidak
memiliki sakit tenggorokan", penilaian kepastian akan menampilkan nilai UNLIKELY
untuk menunjukkan keyakinan pencatat bahwa kemungkinan
pasien tidak mengalami sakit tenggorokan.
Penilaian kepastian dapat berupa salah satu nilai berikut:
LIKELY
SOMEWHAT_LIKELY
UNCERTAIN
SOMEWHAT_UNLIKELY
UNLIKELY
CONDITIONAL
Informasi tambahan
Kolom additionalInfo
memberikan detail tambahan tentang sebutan
entitas. Misalnya, kolom additionalInfo
untuk sebutan entitas DATE
mungkin
berisi detail tentang jenis tanggal, yang dikategorikan sebagai salah satu dari berikut:
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
Hubungan yang didukung antara sebutan entity
Healthcare Natural Language API dapat menyimpulkan hubungan antara sebutan entity berdasarkan teks medis di sekitarnya. Dalam respons, subjek
hubungan diidentifikasi oleh subjectId
dan objek
hubungan diidentifikasi oleh objectId
.
Healthcare Natural Language API mendukung hubungan berikut antara sebutan entitas:
Subjek | Objek |
---|---|
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 |
Output Healthcare Natural Language API sebagai paket FHIR
Saat Anda meminta metode analyzeEntities
dengan kolom alternativeOutputFormat
ditetapkan ke FHIR_BUNDLE
, respons akan menyertakan objek JSON berikut:
- Penyebutan entity, entity, dan hubungan
- Paket FHIR R4 yang direpresentasikan sebagai string, yang mencakup semua entitas, sebutan entitas, dan hubungan dalam format JSON
Untuk membuat paket FHIR R4, Healthcare Natural Language API memetakan sebutan entitas, entitas, dan hubungan ke resource FHIR dan elemennya. Tabel berikut mencantumkan beberapa pemetaan ini.
Sebutan entity Healthcare Natural Language API | Kategori Pengetahuan Medis | Resource dan elemen 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 |
Untuk mengekstrak entitas dari teks sebagai paket FHIR R4, lihat Mengekstrak output sebagai paket FHIR R4.