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 בודק טקסט רפואי כדי למצוא בו מושגים ויחסים רפואיים. מבצעים ניתוח של ישויות באמצעות ה-method analyzeEntities.
בקשות לניתוח ישויות
Healthcare Natural Language API הוא API בארכיטקטורת REST שמורכב מבקשות ותגובות בפורמט JSON. בקטעים הבאים מוסבר איך לחלץ תובנות רפואיות שונות מטקסט רפואי נתון:
בקשת ניתוח הישות מכילה את השדות הבאים:
-
documentContent: הנתונים של הבקשה, שכוללים טקסט רפואי. הגודל המקסימלי של הטקסט הרפואי הוא 20,000 תווים ב-Unicode. -
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: רשימה של מושגים רפואיים שעשויים להיות קשורים לאזכור הישות הזה. הישות המקושרת מציינת אתentityId, שמקשרת מושג רפואי לישות ב-entities.
-
entities: תיאור של המושגים הרפואיים משדות הישויות המקושרים. כל ישות מתוארת באמצעות השדות הבאים:-
entityId: מזהה ייחודי מהשדהlinkedEntities. -
preferredTerm: מונח מועדף למושג הרפואי. -
vocabularyCodes: הייצוג של המושג הרפואי במילונים רפואיים נתמכים.
-
relationships: הגדרת קשרים מכוונים בין אזכורים של ישויות. בדוגמה, הנושא של הקשר הוא 'Insulin regimen human' והאובייקט של הקשר הוא '5 units'.confidence: אינדיקציה לרמת הסמך של המודל לגבי הקשר, כמספר בין 0 ל-1.
בנוסף לשדות שצוינו, התשובה עשויה להכיל גם את השדה additionalInfo, שבו מצוין תיאור נוסף של סוג הישות המוזכרת.
מידע נוסף
שפות נתמכות
Healthcare Natural Language API תומך רק בחילוץ מידע בתחום הבריאות מטקסט באנגלית.
אוצר מילים רפואי נתמך
Healthcare Natural Language API תומך באוצר המילים הרפואי הבא:
- מודל בסיס של אנטומיה
- אונטולוגיית גנים
- HUGO Gene Nomenclature Committee
- Human Phenotype Ontology
- ICD-10 Procedure Coding System
- ICD-10-CM
- ICD-9-CM
- LOINC
- MeSH
- נושאים בריאותיים ב-MedlinePlus
- שמות של מטא-מילון מונחים
- NCBI Taxonomy
- NCI Thesaurus
- National Drug File
- 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) (גרסת Preview) | AGE
|
מזהה גיל. היא כוללת ביטויים שמתארים גיל, כמו 'נראה צעיר יותר מהגיל שצוין', 'בגיל העמידה', 'בן 78' או 'נער/ה'.
הערה: חוק HIPAA מסווג את הגיל של אדם כ-PHI רק אם הוא מעל 90. מידע נוסף זמין בסיכום של כלל הפרטיות של HIPAA. |
FAMILY
|
ביטויים שמתארים את מבנה המשפחה של המטופל או קרובי משפחה, כמו "נשוי עם שני ילדים", "אח", "אשתי", "הורים תומכים" או "גרוש". | |
LIVING_SITUATION
|
משפטים שמתארים את מצב המגורים של המטופל, כמו "עם שותפים לדירה", "יש לו אחות סיעודית בבית 24 שעות ביממה" או "עבר דירה לאחרונה". | |
SOCIAL_IDENTITY
|
ביטויים שמתארים את הזהות החברתית של המטופל או של המשפחה שלו, כולל גזע, מוצא אתני, נטייה מינית, דת, לאום, שפות שמדוברות או לא מדוברות, או ארץ מוצא. | |
PHYSICAL_APPEARANCE
|
ביטויים שמתארים את התכונה הפיזית הכי בולטת או ברורה של המטופל או של המשפחה, כמו "צלקת על הלחי הימנית", "תסמונת דאון", "השמנת יתר" או "קטיעה של הרגל השמאלית". | |
OCCUPATION
|
ביטויים שמתארים את המקצוע של המטופל או של בני המשפחה שלו ואת סטטוס התעסוקה שלהם, כמו "אמא בפנסיה", "עבד כרתך במשך 20 שנה" או "איבד את העבודה בשנה שעברה". | |
| מידע רפואי מוגן (PHI) (גרסת Preview) | PERSON_NAME
|
מזהה של שם גנרי של אדם. כולל תארים, כמו 'ד"ר', "Mrs." או "MD" |
ORGANIZATION_NAME
|
מזהה של ארגון רפואי שאוסף מידע רפואי אישי, כמו מרפאה, בית אבות או בית חולים. | |
GENERIC_ID
|
מזהה כללי שמזהה רשומות רפואיות, מטופלים, רופאים או בתי חולים, כמו מספר תעודת הזהות של המטופל או מספר הספק. | |
LOCATION
|
מיקום גיאוגרפי שעשוי להכיל שמות ומספרים של בניינים, רחובות, ערים, מדינות או מיקודים. | |
PHONE_NUMBER
|
מספר שמציין מספר טלפון, מספר פקס או מספר ביפר. | |
EMAIL_ADDRESS
|
מזהה של כתובת אימייל. | |
URL
|
כתובת של אתר. | |
ZIPCODE
|
מזהה מיקוד. |
קטגוריות של תכונות פונקציונליות נתמכות
Healthcare Natural Language API יכול להסיק תכונות פונקציונליות, או מאפיינים, של אזכור ישות מההקשר. לדוגמה, במשפט "לאמא של קוסומה יש סוכרת", התנאי "סוכרת" הוא המאפיין הפונקציונלי subject FAMILY_MEMBER.
קשרים זמניים
קשרים זמניים, שמוחזרים בשדה temporalAssessment, מתארים את הקשר הזמני בין האזכור של הישות לבין הנושא.
Healthcare Natural Language API תומך ביחסים הבאים בין ישויות שקשורות לזמן:
CURRENTCLINICAL_HISTORYFAMILY_HISTORYUPCOMINGOTHER
נושאים
הנושאים, שמוחזרים בשדה subject, מתארים את האדם שאליו מתייחסת ההתייחסות לישות.
Healthcare Natural Language API תומך בנושאים הבאים:
PATIENTFAMILY_MEMBEROTHER
הערכות ודאות
הערכות הוודאות, שמוחזרות בשדה certaintyAssessment, מתארות את רמת הביטחון של כותב הסיכום המקורי. לדוגמה, אם ההערה המקורית
כוללת את הטקסט "למטופל יש כאב גרון", הערכת הוודאות
מחזירה ערך של LIKELY כדי לציין את רמת הביטחון של מי שכתב את ההערה
בכך שהמטופל סבל מכאב גרון. אם ההערה המקורית מכילה את הטקסט "The patient does
not have a sore throat", הערכת הוודאות מחזירה ערך UNLIKELY
שמציין את רמת הביטחון של כותב ההערה בכך שלא סביר שהמטופל סבל מכאב גרון.
הערכים האפשריים של הערכות הוודאות הם:
LIKELYSOMEWHAT_LIKELYUNCERTAINSOMEWHAT_UNLIKELYUNLIKELYCONDITIONAL
מידע נוסף
בשדה additionalInfo מופיעים פרטים נוספים על אזכור של ישות. לדוגמה, השדה additionalInfo של ישות מסוג DATE יכול להכיל פרטים על סוג התאריך, שמסווגים כאחד מהסוגים הבאים:
ADMISSION_DATECONSULTATION_DATEDISCHARGE_DATESERVICE_DATEVISIT_DATEDIAGNOSIS_DATEMED_STARTED_DATEMED_ENDED_DATENOTE_DATEPROCEDURE_DATERADIATION_STARTED_DATERADIATION_ENDED_DATESTAGE_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
כשמבקשים את ה-method analyzeEntities עם השדה alternativeOutputFormat שמוגדר לערך FHIR_BUNDLE, התגובה כוללת את אובייקטי ה-JSON הבאים:
- האזכורים של הישויות, הישויות עצמן והקשרים ביניהן
- חבילת FHIR R4 שמיוצגת כמחרוזת, שכוללת את כל הישויות, את ההתייחסויות לישויות ואת הקשרים בפורמט JSON
כדי ליצור את חבילת FHIR R4, Healthcare Natural Language API ממפה את האזכורים של הישויות, הישויות והקשרים למשאבי FHIR ולרכיבים שלהם. בטבלה הבאה מפורטים חלק מהמיפויים האלה.
| Healthcare Natural Language API entity mentions | קטגוריית ידע רפואי | משאבים ורכיבים של 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.