בדף הזה מוסבר איך לבצע את הפעולות הבאות:
- הגדרת כותרות HTTP מותאמות אישית בבקשות ל-Cloud Healthcare API.
אפשר להשתמש ביומני הביקורת של Cloud כדי לחפש בקשות וכותרות HTTP מותאמות אישית שתואמות להן, כדי לבצע את הפעולות הבאות:
- תוכלו לראות מי שלח בקשה ומתי.
- כדי לפשט את הפריסה ואת ניפוי הבאגים, אפשר לגלות איזו בקשה גרמה לשגיאה מסוימת.
מידע נוסף על שימוש ביומני ביקורת של Cloud ב-Cloud Healthcare API זמין במאמר בנושא צפייה ביומני ביקורת של Cloud.
שיטות שניתן להגדרה
אפשר להגדיר כותרות HTTP מותאמות אישית לשיטות של Cloud Healthcare API במשאבי REST הבאים:
projects.locationsprojects.locations.datasetsprojects.locations.dicomStoresprojects.locations.dicomStores.studiesprojects.locations.dicomStores.studies.seriesprojects.locations.dicomStores.studies.series.instancesprojects.locations.dicomStores.studies.series.instances.framesprojects.locations.datasets.fhirStoresprojects.locations.datasets.fhirStores.fhirprojects.locations.datasets.hl7V2Storesprojects.locations.datasets.hl7V2Stores.messagesprojects.locations.datasets.operations
הגדרת כותרות HTTP בהתאמה אישית
יש שני סוגים של כותרות HTTP בהתאמה אישית שאפשר לציין בבקשות ל-Cloud Healthcare API ולראות ביומני ביקורת. אפשר להשתמש בכל סוג בנפרד או לשלב ביניהם.
רישום ביומן של מזהה מותאם אישית. אתם יכולים לציין את כותרת ה-HTTP המותאמת אישית
X-Request-Idכדי לתת לכל בקשה מזהה מותאם אישית משלה, ואז לחפש ביומני הביקורת בקשה שמכילה את המזהה. כדי לספק מזהה מותאם אישית, מציינים את כותרת ה-HTTP המותאמת אישית בפורמט הבא:X-Request-Id: REQUEST_ID
מציינים ערך ייחודי לפרמטר REQUEST_ID בכל בקשה.
ברוב שפות התכנות יש דרך ליצור מזהים אקראיים שאפשר להשתמש בהם כדי ליצור את מזהה הבקשה. לדוגמה, למודול Python
uuidיש פונקציהuuid.uuid4()שאפשר להשתמש בה כדי ליצור מזהים באופן אוטומטי לכל בקשה. Cloud Healthcare API לא יוצר מזהי בקשות.רישום מטא-נתונים ביומן. אפשר לכלול מידע נוסף של מטא-נתונים בכותרות HTTP מותאמות אישית באמצעות הכותרת
X-Goog-Healthcare-Audit-IDENTIFIER. הכותרת מזהה באופן ייחודי את סוג המידע של המטא-נתונים.המטא-נתונים נשמרים ביומן הביקורת של כל בקשה. כדי לספק מידע על מטא-נתונים, צריך לציין כותרת HTTP מותאמת אישית אחת או יותר בפורמט הבא:
X-Goog-Healthcare-Audit-IDENTIFIER: VALUE
מחליפים את IDENTIFIER במזהה שאנשים יכולים לקרוא. מחליפים את VALUE בערך של המטא-נתונים. אפשר לציין כמה ערכים ברשימה שמופרדת בפסיקים באמצעות התחביר הבא:
X-Goog-Healthcare-Audit-IDENTIFIER: VALUE_1, VALUE_2, VALUE_n ...
לדוגמה:
X-Goog-Healthcare-Audit-MyIdentifier: Value1, Value2, Value3
אפשר גם לציין כמה כותרות HTTP מותאמות אישית עם ערכים ייחודיים משלהן:
X-Goog-Healthcare-Audit-MyIdentifier1: Value1, Value2 X-Goog-Healthcare-Audit-MyIdentifier2: Value3
צפייה ביומני הביקורת ביומני הביקורת של Cloud
דוגמה
בדוגמה הבאה מוצג תרחיש שבו מציינים כותרות HTTP בהתאמה אישית בבקשת fhir.create.
נניח שאתם מפעילים מחקר ויש לכם אפליקציה לנייד למטופלים בשם PatientApp. החולים במחקר מחולקים לשתי קבוצות: Cohort1 ו-Cohort2. כדי לזהות כל בקשה מ-Cohort1 באמצעות מזהה ייחודי ושם האפליקציה לנייד, צריך לציין את כותרות ה-HTTP המותאמות אישית הבאות בכל בקשה:
X-Request-Id: REQUEST_ID X-Goog-Healthcare-Audit-AppName: PatientApp X-Goog-Healthcare-Audit-CohortName: Cohort1
כותרות ה-HTTP המותאמות אישית מוצגות בשדה metadata של יומן הביקורת של כל בקשה ביומני הביקורת של Cloud.
בדוגמה הבאה מוצג אופן השימוש ב-curl כדי ליצור משאב חדש מסוג Patient בחנות FHIR. הבקשה מכילה את כותרות ה-HTTP המותאמות אישית הבאות:
X-Request-Id: 123X-Goog-Healthcare-Audit-AppName: PatientAppX-Goog-Healthcare-Audit-CohortName: Cohort1
לפני ששולחים את הבקשה, מחליפים את הערכים הבאים:
- PROJECT_ID: מזהה הפרויקט ב- Google Cloud
- LOCATION: המיקום של מערך הנתונים
- DATASET_ID: מערך הנתונים הראשי של מאגר FHIR
- FHIR_STORE_ID: מזהה מאגר ה-FHIR
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -H "X-Request-Id: 123" \ -H "X-Goog-Healthcare-Audit-AppName: PatientApp" \ -H "X-Goog-Healthcare-Audit-CohortName: Cohort1" \ --data '{ "name": [ { "use": "official", "family": "Smith", "given": [ "Darcy" ] } ], "gender": "female", "birthDate": "1970-01-01", "resourceType": "Patient" }' "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient"
הפלט שיתקבל:
{
"birthDate": "1970-01-01",
"gender": "female",
"id": "PATIENT_ID",
"meta": {
"lastUpdated": "YYYY-MM-DDTHH:MM:SS+ZZ:ZZ",
"versionId": "VERSION_ID"
},
"name": [
{
"family": "Smith",
"given": [
"Darcy"
],
"use": "official"
}
],
"resourceType": "Patient"
}
אם מחפשים את הבקשה ביומני הביקורת של Cloud, יומן הביקורת ייראה כך:
{
logName: "projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fdata_write"
protoPayload: {
@type: "type.googleapis.com/google.cloud.audit.AuditLog"
metadata: {
X-Request-Id: [123]
X-Goog-Healthcare-Audit-AppName: ["PatientApp"]
X-Goog-Healthcare-Audit-CohortName: ["Cohort1"]
}
...
}
...
}
צפייה בכותרות HTTP של יומן ביקורת שנוצר על ידי המסוף Google Cloud
אפשר לבחון כותרות HTTP ספציפיות ביומני ביקורת כדי לזהות בקשות שבוצעו דרך אפליקציות של Cloud Healthcare API במסוף Google Cloud .
לדוגמה, כל הבקשות שמגיעות מ Google Cloud אפליקציות המסוף הבאות Google Cloud מתויגות אוטומטית באמצעות כותרת ה-HTTP המותאמת אישית X-Goog-Healthcare-Audit-First-Party-Application-Access. הערך של הכותרת הזו מציין את אפליקציית המקור:
-
fhir-viewer: בקשות שמקורן ב-FHIR Viewer. -
data-browser: בקשות שמקורן בכלי לבדיקת נתונים של Cloud Healthcare API. -
dicom-studio: בקשות שמקורן ב-DICOM Studio של Cloud Healthcare API.
אפשר להשתמש בערך של הכותרת הזו כדי לסנן או לנתח בקשות שנוצרו באופן ספציפי מאפליקציות של מסוףGoogle Cloud כשצופים ביומני ביקורת.