top of page
Containment.jpg

לשחות חכם בים המידע -

​ 8200 במאבק נגד הקורונה

עם פרוץ מגפת Covid-19, עמותת בוגרי 8200 התגייסה למאבק בקורונה במאמצי סיוע למערכת הבריאות בהתמודדות עם המשבר. העמותה חברה למשל"ט קורונה שהוקם ע"י ראש המוסד וסייעה יחד עם צוותים מהיחידה לקדם פרויקטים טכנולוגיים בבתי החולים וקופות החולים. הצורך המידי שעלה מקופות החולים היה מתן שירותים מרחוק לאוכלוסיות שונות, בפרט קשישים, חולים כרוניים וילדים.

העמותה בשיתוף PMI, עמותת ניהול פרויקטים בישראל, יצאה בקול קורא לגיוס מנהלי פרויקטים טכנולוגים מנוסים שיעבדו בהתנדבות בצמוד לקופות החולים ויהוו מתאמים בינם לבין היחידה. מנהלי הפרויקטים נדרשו להבין את הצרכים של קופות החולים, לרכז אותם, לשקף אותם ולהניע את כלל המשאבים שכללו צוותים מהיחידה, ספקים אזרחיים וצוותי הפיתוח בקופות החולים כדי לספק פתרונות לצרכים.

אחד הפרויקטים היה פרויקט חיפוש חכם בפורטל רופאים באחד מארגוני הבריאות המובילים. הפרויקט נוהל ע"י עופר מידזיסקי, בוגר היחידה ומנהל מערכות מידע מומחה בניהול פרויקטים, תהליכים וטכנולוגיה לעסקים בארגונים מובילים בארץ. כמו רבים אחרים בחר עופר בעת הזו לתרום מניסיונו ומזמנו בהתנדבות לסייע במאבק בקרונה מתוך תחושת שליחות וערבות הדדית. אל עופר הצטרף צוות מפתחים מתנדבים מהיחידה המתמחה בפיתוח מנועי חיפוש בהובלתו של סרן י. 

 

מה היה הצורך?

בעקבות המצב הוקם בארגון הבריאות פורטל ייעודי להצגת ידיעות בנושא הקורונה. הידיעות בפורטל הוזנו ע"י רופאים מומחי תוכן וכללו כתבות, נהלים, הנחיות ומידע נוסף לשימוש הרופאים בארגון. עם הצטברות המידע, נוצר קושי לרופאים לאתר פרטי מידע חשובים במערכת החיפוש הקיימת, התקבלו תוצאות חלקיות בלבד וכמו כן לא ניתן היה לקבל תוצאות בהתבסס על התכנים במסמכים המקושרים. כתוצאה מכך נוצרו פתרונות מקומיים של קיטלוג מובנה, דבר שהקשה על מומחי התוכן ויצר חוסר גמישות.

מטרת הפרויקט הייתה להקל על הקיטלוג ולאפשר חיפוש חופשי בפורטל בדומה לחיפוש ב Google כך שהמערכת תדע להציג את התוצאות הרלוונטיות ביותר בהתאם למילות החיפוש, מילים נרדפות, מילים חלקיות, כתיב מלא, חסר, מונחי עברית אנגלית ותכונות נוספות. צורך נוסף שהוגדר היה לבנות תשתית חיפוש שתאפשר הוספת מקורות מידע נוספים בהמשך כדוגמת אנציקלופדיות רפואיות ועוד.

 

האתגרים בפרויקט

שיתוף פעולה ותאום בין הצדדים

מערכת הבריאות וקופות החולים היו תחת עומס גדול מאוד ועקב כך היה קשה למצוא את הקשב אצל הלקוחות וצוות הפיתוח לפרויקט. לאחר מספר שיחות נוצר אמון והתגבש צוות קטן של רופאים ואנשי IT שהבינו כי יש מולם צוות מקצועי מהיחידה עם ידע רב בתחום וזו הזדמנות לדחוף את הנושא ולקדם אותו.

מתן ערך גבוה ככל הניתן בזמן קצר המוגבל ליישום

לא היה ברור מתי וכמה זמן יימשך המשבר וכמה זמן יש לפיתוח. הוגדר חלון זמן של שלושה שבועות למשימה. היה ברור שצריך לתעדף את המשימות ולהניע אותם בקצב מהיר, כי כל יום שעובר - לא חוזר. צוות הפרויקט, יחד עם נציגי הרופאים, גיבש את הדרישות והעדיפויות והוחלט על עבודה אג'ילית ואספקת תוצרים במספר MVP (Minimum Value Product). הוגדרו שני MVP שהם Must לבניית התשתית אותם התחייב הצוות לספק והוגדרו שני MVP נוספים שהם need למקרה שיוותר זמן. צוות הפרויקט הבין כי MVP 3, שכלל את נושא המורפולוגיה (תורת מבנה המילים) ייתן ערך גבוה למשתמשים ולכן נעשה מאמץ רב לשלבו במסגרת הפתרון בלוחות הזמנים הקצרים.

אין גישה מרחוק לסביבת הארגון  

אבטחת המידע של ארגון הבריאות לא אפשרה התחברות מרחוק לרשת הפנימית כדי לבצע פיתוח מקומי, ומצד שני הנחיות הצבא לא איפשרו לצוות המפתחים מהיחידה להגיע למשרדי החברה ולעבוד משם. לאחר מספר דיונים הוחלט על פיתוח מרחוק בסביבת ענן של Azure והעברת הפיתוח כמכלול שלם ב Container.

טיפול במורפולוגיה

לצוות מהיחידה אומנם היה ידע וניסיון במנועי חיפוש אך פחות בתחום המורפולוגיה ולכן נדרש היה להיעזר בידע חיצוני. בשיתוף יועצים ממפא"ת הצלחנו לרתום את חברת "מלינגו" המתמחה בתחום, לסייע ולהדריך את צוות הפרויקט בחיבור פלאג-אין ייעודי.

 

תפיסת הפתרון

כיוון שהפיתוח היה חייב להיעשות מחוץ לארגון, פותחה תשתית של Elastic Search (Open Source) בענן Azure על גבי Container. לתשתית ה-Elastic התווסף פלאג-אין של "מלינגו" לטיפול במורפולוגיה. פותח API לאינדוקס ידיעות ומסמכים, טיפול בשינויים, הצגת תוצאות חיפוש ושמירת לוג חיפושים לטובת סטטיסטיקות וענן מילים. בסיום הפיתוח הותקן הפיתוח ברשת המקומית ובוצעה אינטגרציה מקומית מול המערכות הקיימות של הארגון.

 

שלבי הפרויקט

1. הוגדרו הדרישות והעדיפויות

2. גובשה תפיסת הפתרון והארכיטקטורה

3. בוצע יישום בסבבים ע"פ MVP הכוללים:
- אפיון
- פיתוח בסביבת Azure ע"י 8200  
- Deploy ברשת המקומית של הארגון באמצעות Docker
- אינטגרציה  תשתיתית
- אינטגרציה אפליקטיבית
- בדיקות QA

 

לסיכום

בים המידע שנערם בנושא הקורונה הצלחנו לתת לרופאים יכולת לאתר את המידע הנכון, בזמן הנכון ובמקום הנכון.
זמינות המידע יכולה להציל חיים. הפרויקט נתן ערך גבוה מאוד ויצר תשתית גמישה ויציבה ליכולות עתידיות.

במאמץ משותף הצליחה יחידת 8200 יחד עם מנהל הפרויקט מטעם העמותה וצוות הפיתוח של הארגון לעמוד ביעד ולסיים את הפיתוחים רגע לפני החזרה לשגרה. צוות 8200 גילה מקצועיות רבה, יצירתיות במציאת פתרונות ודבקות במטרה להשלים את המשימה בזמן, יש במה להתגאות.

bottom of page