ממשק Cloud Healthcare API אוכף מגבלות על השימוש במשאבים מסיבות שונות. לדוגמה, המכסות מגנות על קהילת המשתמשים מפני עלייה חדה ובלתי צפויה בשימוש. Google Cloud מציעה גם מכסות לתקופת ניסיון בחינם שמאפשרות למשתמשים גישה מוגבלת ל- Google Cloud, כולל Cloud Healthcare API. Google Cloud
המכסות של Cloud Healthcare API נאכפות ברמת הפרויקט, על בסיס אזורי או על בסיס רב-אזורי. מיצוי המכסה באזור מסוים לא משפיע על השימוש ב-Cloud Healthcare API באזורים אחרים.
בדיקת המכסות והשימוש
מכסות הן מגבלות על נפח האחסון (נקראות גם מגבלות על תעבורת נתונים נכנסת) ועל פעולות.
כדי לבדוק את המכסה הזמינה למשאבים בפרויקט, עוברים לדף Quotas במסוף Google Cloud .
כדי להציג רק את המכסות של Cloud Healthcare API, בתפריט הנפתח Filter table בוחרים באפשרות Service ואז באפשרות Cloud Healthcare API.
המכסות לא זהות בכל הפרויקטים. ככל שהשימוש שלכם ב-Cloud Healthcare API יתרחב עם הזמן, המכסות שלכם יגדלו בהתאם. אם צפויה עלייה משמעותית בשימוש, אפשר לבקש התאמות של המכסה מראש בדף Quotas במסוףGoogle Cloud . אין חיוב על בקשה להגדלת המכסה. העלויות שלכם יגדלו רק אם תשתמשו ביותר משאבים.
מגבלות על משאבים
ב-Cloud Healthcare API יש מגבלה על גודל התוכן של בקשה, כמו גודל תמונת רנטגן בבקשת DICOM. אי אפשר לבקש שינוי במגבלת משאבים, אבל במקרים מסוימים אפשר להשתמש בפעולת ייבוא כדי לייבא תוכן שנפחו גדול ממגבלת משאבים.
המגבלות הבאות חלות על משאבים, והן עשויות להשתנות.
| אופן השימוש | מגבלת גודל של בקשות |
|---|---|
| DICOM |
|
| FHIR |
|
| HL7v2 | גודל השדה data בקידוד Base64: 10MB |
אם תנסו לעבד תוכן גדול יותר מהמגבלה של המשאב המשויך, תתרחש שגיאה.
מגבלות הגודל של executeBundle ב-FHIR
אפשר להשתמש ב-method fhir.executeBundle כדי לבצע כמה פעולות FHIR בבקשת API אחת. מספר הפעולות תלוי במספר הרשומות בחבילת פעולות או בחבילת עסקאות. הגישה הזו יעילה יותר מאשר ביצוע קריאות נפרדות ל-API לכל פעולה.
זמני העיבוד של בקשות fhir.executeBundle מתארכים ככל שיש יותר רשומות בחבילה. גם גורמים כמו התנגשות משאבים (לדוגמה, עדכון של אותו משאב כחלק מחבילות רבות של עסקאות במקביל) יכולים להשפיע על הביצועים. דוגמאות למקרים שבהם יכולה להתרחש תחרות על משאבים והסבר על איך למנוע אותה כדי שלא תגרום לשגיאות מופיעות במאמר שיטות מומלצות לרוחב פס של נתונים.
יכול להיות שחבילות גדולות, במיוחד כאלה שכוללות יותר מ-1,000 רשומות, יגיעו לזמן קצוב לתפוגה ולא יושלמו.
כדי להבטיח שהבקשות שלכם יעובדו בזמן ובאופן תקין, חשוב להקפיד על המגבלות הבאות כששולחים fhir.executeBundleבקשות:
- חבילות של עסקאות: חבילות שכוללות יותר מ-4,500 רשומות נדחות באופן מיידי כדי למנוע מצב של פסק זמן. כדי שחבילות של עסקאות יפעלו, כל הפעולות צריכות להצליח.
- חבילות של פעולות: אין מגבלה ספציפית על מספר הפעולות, אבל חבילות גדולות מגדילות את הסיכון לפסק זמן. יכול להיות שפסק זמן יוביל להצלחה חלקית, ורק חלק מהרשומות יעובדו.
שימוש בפעולות ייבוא לתוכן שחורג ממגבלות המשאבים
פעולות ייבוא מאפשרות לעבד תוכן שגדול יותר ממגבלת המשאבים המשויכת. גודל התוכן בפעולת ייבוא מוגבל רק על ידי Google Cloud גודל האחסון המקסימלי של 5TB לאובייקטים בודדים. פעולות הייבוא כפופות למכסות אחסון שקובעות את משך הזמן של פעולת הייבוא. לדוגמה, כדאי להשתמש בפעולת ייבוא אם רוצים לאחסן הרבה מופעים של DICOM בחנות DICOM ולא רוצים להיות כפופים למגבלת גודל הבקשה. במקום להעלות את המקרים באמצעות השיטות הזמינות של Store Transaction, אפשר להעלות את המקרים לקטגוריה של Cloud Storage ואז לייבא אותם לחנות DICOM.
הוראות מפורטות לייבוא נתוני DICOM באמצעות פעולת ייבוא מופיעות במאמר ייבוא וייצוא של נתוני DICOM.
הוראות מפורטות לייבוא משאבי FHIR באמצעות פעולת ייבוא מופיעות במאמר ייבוא וייצוא של משאבי FHIR.
לשלבים מפורטים לייבוא הודעות של HL7v2 באמצעות פעולת ייבוא, אפשר לעיין במאמר בנושא ייבוא הודעות של HL7v2 מ-Cloud Storage.
שליחת בקשה לשינוי המכסה
כדי לבקש שינוי במכסה, צריך הרשאת serviceusage.quotas.update. התפקידים המוגדרים מראש הבאים כוללים את ההרשאה הזו כברירת מחדל: בעלים, עריכה ואדמין מכסות.
נכנסים לדף Quotas.
בדף Quotas, בוחרים את המכסות שרוצים לשנות. אם רוצים להציג רק את המכסות של Cloud Healthcare API, בוחרים באפשרות Service מהרשימה הנפתחת Filter table ואז בוחרים באפשרות Cloud Healthcare API.
מסמנים את התיבות לצד המכסות שרוצים לערוך.
לוחצים על הלחצן עריכת המכסות בחלק העליון של הדף.
ממלאים את הטופס ולוחצים על הבא.
מזינים את המגבלות שרוצים לבקש ולוחצים על הבא.
לוחצים על Submit request.
כברירת מחדל, בקשה להקטין את המכסה נדחית. אם רוצים להקטין את נפח האחסון, אפשר להשיב לאימייל התמיכה ולפרט את הדרישות. נציג תמיכה יגיב לבקשה שלכם.
צוות Cloud Healthcare API יענה לכם תוך 24 עד 48 שעות מקבלת הבקשה.
כדי שהבקשה תטופל בזמן, מומלץ לשלוח אותה לפחות כמה ימים מראש.
בקשות לשינוי מכסות של מיקום
אפשר לבקש להגדיל את המכסה של Cloud Healthcare API באזור ספציפי או במיקום שכולל מספר אזורים.
כדי לבקש להגדיל את המכסה באזור יחיד: מציינים את האזור בבקשה להגדלת המכסה.
כדי לבקש להגדיל את המכסה במיקום מרובה אזורים:
- כדי להגדיל את המכסה באזור
usמרובה אזורים, צריך לציין בבקשה שהמכסה היא עבור "אזור המטא של ארה"ב". - כדי להגדיל את המכסה באזור הגיאוגרפי המרובה
eu, צריך לציין בבקשה שהמכסה היא עבור "אזור המטא של האיחוד האירופי".
מגבלות המכסה
בקטעים הבאים מפורטות המכסות שמשויכות למאגרי נתונים ולפעולות של Cloud Healthcare API.
מכסות DICOM
בטבלה הבאה מפורטות מכסות Cloud Healthcare API שמשויכות למאגרי DICOM ולפעולות DICOM.
| שם המדד | השם המוצג | תיאור |
|---|---|---|
dicomweb_ops |
מספר הפעולות של DICOMweb לדקה בכל אזור | כולל את השיטות הבאות:
|
dicom_structured_storage_bytes |
כניסה של נתוני DICOM מובנים לאחסון בבייטים לדקה לכל אזור | בייטים מובנים, בצורה של תגי DICOM ומטא-נתונים קשורים, שנשלחים אל Cloud Healthcare API במהלך עיבוד פעולות dicomweb_ops. |
dicom_store_ops |
מספר פעולות האחסון של DICOM לדקה בכל אזור | פעולות במאגר DICOM, לא בנתוני DICOM. כולל את השיטות הבאות: |
dicom_store_lro_ops |
מספר הפעולות הממושכות של DICOM store לדקה לכל אזור | פעולות במאגר DICOM, לא בנתוני DICOM, שמחזירות פעולה ממושכת. כולל את השיטות הבאות: |
dicom_structured_storage_operations_bytes |
העברת נתונים של אחסון DICOM מובנה לפעולות ארוכות טווח בבייטים לדקה לכל אזור | בייטים מובנים, בצורה של תגי DICOM ומטא-נתונים קשורים, שנשלחים אל Cloud Healthcare API במהלך עיבוד פעולות dicom_store_lro_ops. |
מכסות FHIR
בטבלה הבאה מפורטות המכסות של Cloud Healthcare API שמשויכות למאגרי FHIR ולפעולות FHIR.
| שם המדד | השם המוצג | תיאור |
|---|---|---|
fhir_read_ops |
מספר פעולות הקריאה של FHIR לדקה לכל אזור | השימוש נמדד ביחידות, כאשר יחידה אחת היא בקשת קריאה אחת במשאב FHIR נפרד. השימוש כולל את השיטות הבאות: v1beta1: v1: |
fhir_write_ops |
מספר פעולות הכתיבה ב-FHIR לדקה לכל אזור | השימוש נמדד ביחידות, כאשר יחידה אחת היא בקשת יצירה, עדכון או מחיקה של משאב FHIR בודד. השימוש כולל את השיטות הבאות: v1beta1: v1: |
fhir_search_ops |
מספר פעולות החיפוש ב-FHIR לדקה בכל אזור | החישוב מתבצע ביחידות, כאשר יחידה אחת היא בקשת חיפוש בסוג משאב FHIR שבו החיפוש לא דורש פתרון הפניות, אלא אם נעשה שימוש ב-_include. לדוגמה, חיפוש Observation?subject:Patient.identifier=system|value צורך שתי יחידות מכסת שימוש fhir_search_ops כי הוא מחייב שני חיפושים, אחד במשאב Observation ואחד במשאב Patient, באמצעות subject כהפניה.כולל את השיטות הבאות: v1beta1:
|
fhir_storage_egress_bytes |
תעבורת נתונים יוצאת מאחסון FHIR בבייטים לדקה לכל אזור | השימוש נמדד ביחידות, כאשר יחידה אחת היא בייט אחד ש-Cloud Healthcare API קורא מהאחסון בזמן העיבוד של פעולות fhir_read_ops, fhir_write_ops ו-fhir_search_ops. |
fhir_storage_bytes |
נפח אחסון FHIR נכנס בבייטים לדקה לכל אזור | בייטים שנשלחים אל Cloud Healthcare API במהלך עיבוד פעולות fhir_write_ops. |
fhir_store_ops |
מספר הפעולות במאגר FHIR לדקה לכל אזור | פעולות במאגר FHIR, לא בנתוני FHIR. כולל את השיטות הבאות: |
fhir_store_lro_ops |
מספר הפעולות הממושכות של מאגר FHIR לדקה לכל אזור | פעולות במאגר FHIR, לא בנתוני FHIR, שמחזירות פעולה ממושכת. כולל את השיטות הבאות: |
fhir_storage_operations_bytes |
נפח נתונים שנכנסים לאחסון FHIR לפעולות ארוכות טווח בבייטים לדקה לכל אזור | בייטים שנשלחים אל Cloud Healthcare API במהלך עיבוד פעולות fhir_store_lro_ops. |
חיפושים עם כמה פעולות
בקשה אחת יכולה לצרוך כמה יחידות מכסה. לדוגמה, בקשת GET חיפוש
שמשתמשת ב-Observation?subject:Patient.identifier=system|value כפרמטר
החיפוש צורכת שתי יחידות מכסה של fhir_search_ops. מתבצעות שתי פעולות חיפוש, אחת במשאב Observation ואחת במשאב Patient, באמצעות subject כהפניה.
אם בקשת מחיקה מותנית באמצעות Observation?status=canceled כקריטריון החיפוש מחפשת ומוחקת שישה משאבי Observation, נצרכות יחידות המכסה הבאות:
- יחידת מכסה אחת של
fhir_search_ops, כי בקשת החיפושGETמתבצעת רק על סוג אחד של משאב FHIR, משאב התצפית. הבקשה מחזירה את כל משאבי ה-Observation שתואמים לקריטריוני החיפוש. - 6 יחידות מכסה
fhir_write_ops, כי יש סך של 6 פעולותDELETEבמשאבי Observation שנמחקו.
ביצוע של ניצול מכסת חבילה
כדי לשלוח בקשה להפעלת חבילה, ללא קשר למכסה שהבקשה צורכת, בפרויקטGoogle Cloud צריכה להיות לפחות יחידה אחת זמינה לכל אחת מהמכסות הבאות:
fhir_read_opsfhir_write_opsfhir_search_ops
אם המכסות האלה לא זמינות, הבקשה להפעלת החבילה תיכשל.
לדוגמה, אם שולחים בקשת fhir.executeBundle עם חבילת טרנזקציות שמכילה 100 פעולות POST, שכל אחת מהן יוצרת משאב FHIR, Cloud Healthcare API מאמת קודם שיש לפחות יחידת מכסה אחת זמינה עבור fhir_read_ops, fhir_write_ops ו-fhir_search_ops. אם האימות יצליח, Cloud Healthcare API יבצע את החבילה וייצור את משאבי ה-FHIR, שיצרכו סך של 100 fhir_write_ops יחידות מכסת שימוש.
נבחן את חבילת העסקאות הבאה, שמשתמשת בהפניה מותנית כדי ליצור משאב Observation אם קיים reference:
{
"resourceType": "Bundle",
"type": "transaction",
"entry": [
{
"request": {
"method": "POST",
"url": "Observation"
},
"resource": {
"resourceType": "Observation",
"subject": {
"reference": "Patient?identifier=a1b2c3d4e5"
}
}
}
]
}
כשמריצים את החבילה, Cloud Healthcare API בודק קודם שיש לפחות יחידת מכסה אחת זמינה עבור fhir_read_ops, fhir_write_ops ו-fhir_search_ops. אם האימות יצליח, Cloud Healthcare API יבצע את החבילה. השימוש ביחידות המכסה הוא כדלקמן:
-
fhir_write_opsכדי ליצור את משאב התצפית החדש. - 1
fhir_search_ops, כי מתבצעת פעולת חיפוש אחת בהפניהPatient?identifier=a1b2c3d4e5.
שיטות מומלצות
שיטות מומלצות לניהול המכסה של Cloud Healthcare API מפורטות במאמר שיטות מומלצות לניהול מכסות.