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 בודק טקסט רפואי כדי למצוא בו מושגים ויחסים רפואיים. מבצעים ניתוח של ישויות באמצעות ה-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 תומך ביחסים הבאים בין ישויות שקשורות לזמן:

  • CURRENT
  • CLINICAL_HISTORY
  • FAMILY_HISTORY
  • UPCOMING
  • OTHER

נושאים

הנושאים, שמוחזרים בשדה subject, מתארים את האדם שאליו מתייחסת ההתייחסות לישות.

‫Healthcare Natural Language API תומך בנושאים הבאים:

  • PATIENT
  • FAMILY_MEMBER
  • OTHER

הערכות ודאות

הערכות הוודאות, שמוחזרות בשדה certaintyAssessment, מתארות את רמת הביטחון של כותב הסיכום המקורי. לדוגמה, אם ההערה המקורית כוללת את הטקסט "למטופל יש כאב גרון", הערכת הוודאות מחזירה ערך של LIKELY כדי לציין את רמת הביטחון של מי שכתב את ההערה בכך שהמטופל סבל מכאב גרון. אם ההערה המקורית מכילה את הטקסט "The patient does not have a sore throat", הערכת הוודאות מחזירה ערך UNLIKELY שמציין את רמת הביטחון של כותב ההערה בכך שלא סביר שהמטופל סבל מכאב גרון.

הערכים האפשריים של הערכות הוודאות הם:

  • LIKELY
  • SOMEWHAT_LIKELY
  • UNCERTAIN
  • SOMEWHAT_UNLIKELY
  • UNLIKELY
  • CONDITIONAL

מידע נוסף

בשדה additionalInfo מופיעים פרטים נוספים על אזכור של ישות. לדוגמה, השדה additionalInfo של ישות מסוג DATE יכול להכיל פרטים על סוג התאריך, שמסווגים כאחד מהסוגים הבאים:

  • 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

פלט של 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.