HL7
מחבר HL7 מספק קישוריות לנקודות קצה של HL7 TCP ו-REST.
לפני שמתחילים
לפני שמשתמשים במחבר HL7, צריך לבצע את המשימות הבאות:
- בפרויקט שלכם ב-Google Cloud:
- מוודאים שהגדרתם חיבור לרשת. מידע על תבניות רשת זמין במאמר קישוריות לרשת.
- נותנים למשתמש שמגדיר את המחבר את תפקיד ה-IAM roles/connectors.admin.
- מקצים לחשבון השירות שרוצים להשתמש בו עבור המחבר את תפקידי ה-IAM הבאים:
roles/secretmanager.viewerroles/secretmanager.secretAccessor-
role Healthcare HL7v2 Message Ingest, נדרש רק אם פרוטוקול היעד שנבחר הוא REST (Google Cloud HealthCare API) להטמעה של הודעת HL7 במאגר HL7v2.
חשבון שירות הוא סוג מיוחד של חשבון Google שמייצג משתמש לא אנושי, שצריך לאמת ולאשר כדי לתת לו גישה לנתונים ב-Google APIs. אם אין לכם חשבון שירות, אתם צריכים ליצור חשבון שירות. המחבר וחשבון השירות צריכים להיות שייכים לאותו פרויקט. מידע נוסף זמין במאמר בנושא יצירת חשבון שירות.
- מפעילים את השירותים הבאים:
-
secretmanager.googleapis.com(Secret Manager API) -
connectors.googleapis.com(Connectors API)
במאמר הפעלת שירותים מוסבר איך להפעיל שירותים.
-
אם השירותים או ההרשאות האלה לא הופעלו בפרויקט שלכם בעבר, תתבקשו להפעיל אותם כשאתם מגדירים את המחבר.
- יוצרים מאגר HL7.
- כדי להשתמש ב-TCP(MLLP) כפרוטוקול יעד, צריך לוודא ששרת MLLP פועל כדי לקבל הודעות. כשמוסיפים את היעד, צריך לציין את פרטי השרת.
הגדרת המחבר
כדי להגדיר את המחבר, צריך ליצור חיבור למערכת הבריאות או ל-Google Cloud Healthcare API. החיבור הוא ספציפי למקור נתונים. אם יש לכם הרבה מקורות נתונים, תצטרכו ליצור חיבור נפרד לכל אחד מהם. כדי ליצור קישור, מבצעים את השלבים הבאים:
- במסוף Cloud, עוברים לדף Integration Connectors > Connections ובוחרים או יוצרים פרויקט בענן.
- לוחצים על + יצירת חיבור חדש כדי לפתוח את הדף יצירת חיבור.
-
בקטע מיקום, בוחרים את המיקום של החיבור.
- אזור: בוחרים מיקום מהרשימה הנפתחת.
רשימה של כל האזורים הנתמכים מופיעה במאמר מיקומים.
- לוחצים על הבא.
- אזור: בוחרים מיקום מהרשימה הנפתחת.
-
בקטע פרטי החיבור, ממלאים את הפרטים הבאים:
- מחבר: בוחרים באפשרות HL7 מהרשימה הנפתחת של המחברים הזמינים.
- גרסת המחבר: בוחרים את גרסת המחבר מהרשימה הנפתחת של הגרסאות הזמינות.
-
בשדה Connection Name (שם החיבור), מזינים שם למופע החיבור.
השמות של החיבורים צריכים לעמוד בקריטריונים הבאים:
- שמות החיבורים יכולים לכלול אותיות, מספרים או מקפים.
- האותיות צריכות להיות קטנות.
- שמות החיבורים צריכים להתחיל באות ולהסתיים באות או במספר.
- שמות החיבורים לא יכולים לכלול יותר מ-49 תווים.
- אופציונלי: מזינים תיאור למופע החיבור.
- חשבון שירות: בוחרים חשבון שירות שיש לו את התפקידים הנדרשים.
- כדי להשתמש בחיבור למינויים לאירועים, בוחרים באפשרות הפעלת מינוי לאירועים. בחירה באפשרות הזו מפעילה את המינוי לאירוע עם פעולות.
- Receive Timeout:הערך SO_TIMEOUT (באלפיות השנייה) משמש להמתנה לתחילת מסגרת MLLP. ערך ברירת המחדל הוא 15,000 אלפיות השנייה.
- פרוטוקול יעד: בוחרים פרוטוקול יעד מהתפריט הנפתח.
- אם בוחרים ב-TCP (MLLP) בתור פרוטוקול היעד, צריך להזין את שם המארח ואת היציאה של שרת ה-MLLP כשמוסיפים את היעד.
-
אם בוחרים ב-REST (Google Cloud HealthCare API) בתור פרוטוקול היעד, צריך לציין את הפרטים הבאים:
- מזהה הפרויקט: מזהה הפרויקט ב-Google Cloud שבו נמצא מאגר HL7.
- מיקום: המיקום של מערך הנתונים והחנות ב-HL7v2.
- מזהה מערך הנתונים: המזהה של מערך הנתונים שמכיל את החנות ב-HL7v2.
- מזהה של חנות HL7: המזהה של חנות HL7v2 שבה מאחסנים את הודעת HL7v2.
- אופציונלי: מגדירים את ההגדרות של צומת החיבור:
- מספר מינימלי של צמתים: מזינים את המספר המינימלי של צמתי חיבור.
- מספר הצמתים המקסימלי: מזינים את מספר צמתי החיבור המקסימלי.
צומת הוא יחידה (או עותק) של חיבור שמבצעת עיבוד של עסקאות. כדי לעבד יותר עסקאות לחיבור נדרשים יותר צמתים, ולהפך: כדי לעבד פחות עסקאות נדרשים פחות צמתים. כדי להבין איך הצמתים משפיעים על התמחור של המחבר, אפשר לעיין במאמר בנושא תמחור של צמתי חיבור. אם לא מזינים ערכים, כברירת מחדל, מספר הצמתים המינימלי מוגדר כ-2 (לזמינות טובה יותר) ומספר הצמתים המקסימלי מוגדר כ-50.
- אופציונלי: לוחצים על + הוספת תווית כדי להוסיף תווית לקישור בצורה של צמד מפתח/ערך.
- לוחצים על הבא.
- אם בחרתם ב-TCP(MLLP) כפרוטוקול היעד, בקטע יעדים מזינים את הפרטים של המארח המרוחק (שרת MLLP) שאליו רוצים להתחבר.
-
סוג היעד: בוחרים סוג יעד.
- כדי לציין את שם המארח או את כתובת ה-IP של היעד, בוחרים באפשרות כתובת המארח ומזינים את הכתובת בשדה מארח 1.
- כדי ליצור חיבור פרטי, בוחרים באפשרות Endpoint attachment (צירוף נקודת קצה). ברשימה Endpoint Attachment, בוחרים את קובץ ה-Endpoint Attachment שנוצר עבור מערכת ה-Backend.
אם רוצים ליצור חיבור ציבורי למערכות העורפיות עם אבטחה נוספת, אפשר להגדיר כתובות IP סטטיות יוצאות לחיבורים, ואז להגדיר את כללי חומת האש כך שרק כתובות ה-IP הסטטיות הספציפיות יופיעו ברשימת ההיתרים.
- לוחצים על הבא.
-
סוג היעד: בוחרים סוג יעד.
- החיבור ל-HL7 לא דורש אימות. לוחצים על הבא.
- אם הפעלתם את ההרשמה לאירועים, הקטע פרטי ההרשמה לאירועים יופיע בדף יצירת הקישור. במאמר הגדרת מינוי לאירועים מוסבר איך מגדירים את פרטי המינוי לאירועים.
- בדיקה: בודקים את פרטי החיבור והאימות.
- לוחצים על יצירה.
הגדרת מינוי לאירועים
- שם הפרויקט: הפרויקט ב-Google Cloud שבו נמצא מופע Pub/Sub.
- שם נושא Pub/Sub: שם נושא Pub/Sub שישויך למאגר HL7v2 שאליו יישלחו הודעות ההתראה.
- מזינים את ההגדרה של תור ההודעות המתות. אם מגדירים תיבת דואר להודעות שלא נמסרו, החיבור כותב את האירועים שלא עברו עיבוד אל נושא Pub/Sub שצוין. ממלאים את הפרטים הבאים:
- מזהה פרויקט של הודעות שלא ניתן למסור: מזהה הפרויקט ב-Google Cloud שבו הגדרתם את נושא ה-Pub/Sub של הודעות שלא ניתן למסור.
- נושא להודעות ללא מוצא: נושא Pub/Sub שבו רוצים לכתוב את הפרטים של האירוע שלא עבר עיבוד.
ישויות, פעולות ופעולות
כל Integration Connectors מספקים שכבת הפשטה לאובייקטים של האפליקציה המחוברת. אפשר לגשת לאובייקטים של אפליקציה רק דרך ההפשטה הזו. ההפשטה מוצגת לכם כישויות, פעולות ופעולות.
- ישות: ישות היא אובייקט או אוסף של מאפיינים באפליקציה או בשירות המקושרים. ההגדרה של ישות משתנה ממחבר למחבר. לדוגמה, במחבר של מסד נתונים, הטבלאות הן הישויות, במחבר של שרת קבצים, התיקיות הן הישויות, ובמחבר של מערכת הודעות, התורים הם הישויות.
עם זאת, יכול להיות שמחבר לא תומך בישויות או שאין לו ישויות, ובמקרה כזה הרשימה
Entitiesתהיה ריקה. - פעולה: פעולה היא הפעילות שאפשר לבצע בישות. אפשר לבצע כל אחת מהפעולות הבאות בישות:
בחירה של ישות מתוך הרשימה הזמינה יוצרת רשימה של פעולות שזמינות לישות. תיאור מפורט של הפעולות זמין במאמר פעולות על ישויות של משימת המחברים. עם זאת, אם מחבר לא תומך באף אחת מהפעולות על ישויות, הפעולות הלא נתמכות האלה לא יופיעו ברשימה
Operations. - פעולה: פעולה היא פונקציה מסוג first class שזמינה לשילוב דרך ממשק המחבר. פעולה מאפשרת לבצע שינויים בישות אחת או בכמה ישויות, והיא משתנה ממתחם למתחם. בדרך כלל, לפעולה יהיו כמה פרמטרים של קלט ופרמטר של פלט. עם זאת, יכול להיות שמחבר לא תומך באף פעולה, ובמקרה כזה הרשימה
Actionsתהיה ריקה.
מגבלות המערכת
מחבר HL7 יכול לעבד את מספר העסקאות הבא לשנייה, לכל צומת, ומגביל את מספר העסקאות מעבר למגבלה הזו:
- מקסימום 39 טרנזקציות אם משתמשים בעיקר בפעולה
sendMessageבאמצעות TCP(MLLP). - מקסימום 40 עסקאות אם משתמשים בעיקר בפעולה
sendMessageבאמצעות REST(Google Cloud HealthCare API).
כברירת מחדל, Integration Connectors מקצה 2 צמתים (לזמינות טובה יותר) לחיבור.
מידע על המגבלות שחלות על Integration Connectors זמין במאמר מגבלות.
פעולות
חיבור HL7 תומך בפעולות הבאות:
- sendMessage שולחת הודעה ל-TCP(MLLP) או ל-REST(Google Cloud HealthCare API).
- transformHl7ToJson שולחת הודעת HL7 תקינה אל TCP(MLLP) או אל REST(Google Cloud HealthCare API) ומקבלת בתמורה הודעה בפורמט JSON.
- transformJsonToHl7 שולחת הודעת JSON תקינה אל TCP(MLLP) או אל REST(Google Cloud HealthCare API) ומקבלת בתמורה הודעה בפורמט HL7.
- transformAndSendHl7BatchMessage ממיר הודעות HL7 באצווה לרשימה של הודעות HL7.
- המרת HL7 ל-XML המרה מהודעת HL7 ל-XML.
- המרת XML ל-HL7 המרה מהודעת XML ל-HL7.
פעולת שליחת הודעה
בטבלאות הבאות מתוארים פרמטרי הקלט והפלט של הפעולה sendMessage.
פרמטרים של קלט לפעולה sendMessage
| שם הפרמטר | חובה | סוג נתונים | תיאור |
|---|---|---|---|
| הודעה | כן | String | ההודעה שצריך לשלוח לשרת TCP(MLLP) או ל-REST(Google Cloud HealthCare API). |
| messageContentType | כן | String | סוג התוכן של ההודעה, שאפשר לציין אותו כ-Text או כ-Bytes. אם שולחים נתונים בינאריים, צריך להגדיר את הסוג כ-Bytes.
כדי לשלוח הודעה בפורמט בינארי, צריך לבצע את המשימות הבאות:
|
| validateMessage | לא | בוליאני | האם בוצע אימות של ההודעה. |
| hl7Version | לא | String | גרסה של הודעת HL7 (למשל: 2.3, 2.4 וכו'). |
| hl7MessageType | לא | String | סוג ההודעה בפורמט HL7 (למשל, ADT^A01, ADT^A02 וכו'). |
פרמטרים של פלט של הפעולה sendMessage באמצעות TCP(MLLP)
| שם הפרמטר | סוג נתונים | תיאור |
|---|---|---|
| messageId | String | המזהה של ההודעה שנשלחה. |
| סטטוס | String | הסטטוס של ההודעה שנשלחה. |
פרמטרים של פלט של הפעולה sendMessage באמצעות REST(Google Cloud HealthCare API)
| שם הפרמטר | סוג נתונים | תיאור |
|---|---|---|
| ack | String | הודעה שמתקבלת מ-Google Cloud HealthCare API. |
| סטטוס | String | הסטטוס של ההודעה שנשלחה. |
פעולת transformhl7tojson
בטבלאות הבאות מתוארים פרמטרי הקלט והפלט של הפעולה transformhl7tojson.
פרמטרים של קלט לפעולה transformhl7tojson
| שם הפרמטר | חובה | סוג נתונים | תיאור |
|---|---|---|---|
| hl7Message | כן | String | הודעת HL7 שצריך להמיר ל-JSON. |
פרמטרים של פלט הפעולה transformhl7tojson
| שם הפרמטר | סוג נתונים | תיאור |
|---|---|---|
| hl7Json | String | קובץ JSON שעבר המרה מהודעת HL7. |
פעולת transformJsonToHl7
בטבלאות הבאות מתוארים פרמטרי הקלט והפלט של הפעולה transformJsonToHl7.
פרמטרים של קלט לפעולה transformJsonToHl7
| שם הפרמטר | חובה | סוג נתונים | תיאור |
|---|---|---|---|
| hl7Json | כן | String | קובץ JSON שיומר להודעת HL7. |
פרמטרים של פלט הפעולה transformJsonToHl7
| שם הפרמטר | סוג נתונים | תיאור |
|---|---|---|
| hl7Message | String | הודעת HL7 שעברה המרה מ-JSON. |
פעולה transformAndSendHl7BatchMessage
בטבלאות הבאות מפורטים פרמטרי הקלט והפלט של הפעולה transformAndSendHl7BatchMessage.
פרמטרים של קלט לפעולה Transform and send HL7 Batch Message to Healthcare System (המרת הודעת אצווה של HL7 ושליחתה למערכת בריאות)
| שם הפרמטר | חובה | סוג נתונים | תיאור |
|---|---|---|---|
| hl7BatchMessage | כן | String | הודעת HL7 באצווה שצריך לשנות ולשלוח. |
| hl7BatchMessageDelimiter | לא | String | תו מפריד של קטע הודעה של HL7. ערך ברירת המחדל הוא \r. |
| hl7BatchMessageContentType | כן | String | סוג התוכן של הודעת אצווה בפורמט HL7(טקסט/בייט). |
פרמטרים של פלט של הפעולה Transform and send HL7 Batch Message to Healthcare System
| שם הפרמטר | סוג נתונים | תיאור |
|---|---|---|
| sendHl7BatchMessageResponse | String | תשובה לשליחת הודעת אצווה של HL7 למערכת Healthcare. |
פעולה של המרת HL7 ל-XML
בטבלאות הבאות מפורטים פרמטרים של קלט ופלט של הפעולה Transform HL7 to XML (המרת HL7 ל-XML).
פרמטרים של קלט לפעולה Transform HL7 to XML
| שם הפרמטר | חובה | סוג נתונים | תיאור |
|---|---|---|---|
| hl7Message | כן | String | הודעת HL7 שצריך להמיר ל-XML. |
פרמטרים של פלט של הפעולה Transform HL7 to XML
| שם הפרמטר | סוג נתונים | תיאור |
|---|---|---|
| hl7Xml | String | XML שעבר טרנספורמציה מהודעת HL7. |
פעולה של המרת XML ל-HL7
בטבלאות הבאות מפורטים פרמטרי הקלט והפלט של הפעולה Transform XML to HL7 (המרת XML ל-HL7).
פרמטרים של קלט לפעולה Transform XML to HL7 (המרת XML ל-HL7)
| שם הפרמטר | חובה | סוג נתונים | תיאור |
|---|---|---|---|
| hl7Xml | כן | String | הודעת XML שצריך להמיר ל-HL7. |
פרמטרים של פלט של הפעולה Transform XML to HL7
| שם הפרמטר | סוג נתונים | תיאור |
|---|---|---|
| hl7Message | String | XML שעבר טרנספורמציה מהודעת HL7. |
יצירת חיבורים באמצעות Terraform
אפשר להשתמש במשאב של Terraform כדי ליצור חיבור חדש.
כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.
כדי לראות תבנית לדוגמה של Terraform ליצירת חיבור, אפשר לעיין בתבנית לדוגמה.
כשיוצרים את החיבור הזה באמצעות Terraform, צריך להגדיר את המשתנים הבאים בקובץ ההגדרות של Terraform:
| שם הפרמטר | סוג נתונים | חובה | תיאור |
|---|---|---|---|
| מזהה פרויקט | מחרוזת | נכון | מזהה הפרויקט שבו נוצר מאגר נתוני HL7. נדרש רק כשמתבצע חיבור דרך REST (Google Cloud Healthcare API). |
| מיקום | מחרוזת | נכון | המיקום של מערך הנתונים והמאגר של HL7v2, נדרש רק כשמתבצע חיבור דרך REST (Google Cloud Healthcare API). |
| מזהה קבוצת נתונים | מחרוזת | נכון | המזהה של מערך הנתונים שמכיל את מאגר HL7v2, נדרש רק כשמתבצע חיבור דרך REST (Google Cloud Healthcare API). |
| מזהה מאגר HL7 | מחרוזת | נכון | המזהה של מאגר HL7v2 שבו מאוחסנת הודעת HL7v2, נדרש רק כשמתבצע חיבור דרך REST(Google Cloud Healthcare API). |
שימוש בחיבור HL7 בשילוב
אחרי שיוצרים את החיבור, הוא זמין גם ב-Apigee Integration וגם ב-Application Integration. אפשר להשתמש בחיבור בשילוב באמצעות המשימה Connectors.
- כדי להבין איך ליצור ולהשתמש במשימה Connectors ב-Apigee Integration, אפשר לעיין במאמר משימת Connectors.
- מידע על יצירה ושימוש במשימת מחברים ב-Application Integration זמין במאמר משימת מחברים.