Transcript
Page 1: מערכת לביצוע בדיקות רפואיות

לביצוע מערכתרפואיות בדיקות

' מנחים: , קוניוחוב ין יוג חונן ירון

, יוסופוב: סרגיי אופליאנד אנה סטודנטים

Page 2: מערכת לביצוע בדיקות רפואיות

כללימסוגלת תהיה אשר מערכת פיתוח היתה הפרויקט של העיקרית המטרה

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

. שונים ממכשירים האלא לנתונים לגשת ניתן שיהיה

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

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

Page 3: מערכת לביצוע בדיקות רפואיות

מטרות מכשיר בין תקשורת פרוטוקול להגדיר עלינו היה הפרויקט מי כחלק

גם- . עלינו היה בדיקה נתוני לקרוא מנסה אשר למכשיר רפואי ביו. המכשירים בין המועברות מידע חבילות של מבנה להגדיר

בנינו אלא עצמו המכשיר עם עבדנו לא הפרויקט על העבודה במהלך . שלו סימולטור

הפעלה מערכת מריץ אשר לטאבלט האפליקציה , Androidפיתוח , , - אותם להציג רפואי הביו מהמכשיר נתונים לקרוא מטרתה אשר

ב אותם .web serverולשמור פיתוחweb application ותציג הבדיקה נתוני את תשמור אשר

למשתמשים אותם

Page 4: מערכת לביצוע בדיקות רפואיות

מערכת של כללי תיאור

Page 5: מערכת לביצוע בדיקות רפואיות

סימולטורprivate void startServer() throws IOException{

UUID uuid = new UUID("1101", true);

String connectionString = "btspp://localhost:" + uuid +";name=Sample SPP Server";

StreamConnectionNotifier streamConnNotifier = (StreamConnectionNotifier)Connector.open( connectionString );

StreamConnection connection=streamConnNotifier.acceptAndOpen();

OutputStream outStream=connection.openOutputStream();

PrintWriter pWriter=new PrintWriter(new OutputStreamWriter(outStream),true);

ArrayList<String> arr = getXMLMessages(numberOfValues,numberOfDiscreteChannels, numberOfContinuousChannels);

for(String s : arr){

startToSendNewPackage = (new Date()).getTime();

System.out.println("Package #"+counter+" Size "+s.getBytes().length+ " was sent at " +startToSendNewPackage + ":"+ s);

pWriter.write(s);

counter++;

myWait(waitForMilliseconds);

}

pWriter.close();

streamConnNotifier.close();

}

Str ings

Page 6: מערכת לביצוע בדיקות רפואיות

מידע חבילות - שני משדר רפואית ביו להנדסה בפקולטה שפותח הרפואי המכשיר

. מידע של סוגים - ובכל רפואי מכשיר בתוך עיבוד שעבר המידע מחושבים נתונים

. ערוץ בכל בודד ערך יש מידע חבילת - יש חבילה בכל עיבוד עברו שלא דגימות של רצף רציפים נתונים

. ערוץ בכל ערכים מספר

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

. במערכת שונים חלקים

Page 7: מערכת לביצוע בדיקות רפואיות

מידע חבילות: הבאים העיקרונות שני על לשמור צריכים היינו

, כמות לאוסיף כלומר חבילה גודל על metadataלשמור . גודל על שמירת החבילות גודל לנפח לא מנת על הדרוש מינימלי

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

. המידע של ומהיר נוח ניתוח לאפשר

Page 8: מערכת לביצוע בדיקות רפואיות

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

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

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

. רפואי מכשיר של שונים חיישניםאפשרות למשתמש לספק היתה חשובה פחות לא אחרת משימה

. לו שנוחה בצורה הבדיקות תצוגת מסך את להגדיר

Page 9: מערכת לביצוע בדיקות רפואיות

הגדרות ומסך ראשי מסך

Page 10: מערכת לביצוע בדיקות רפואיות

Physical Channelsבשם ישות בנינו מידע בחבילת ערך כל לתאר מנת physical channelעל

דם לחץ

Page 11: מערכת לביצוע בדיקות רפואיות

Physical Channels

Page 12: מערכת לביצוע בדיקות רפואיות

Schemaבמערכת הוגדרו החומרה של הנוכחית בקונפיגורציה שמותקנים החיישנים שכל אחרי

- physical channelsבעזרת רפואי, ביו שמכשיר הנתונים פורמט את לתאר עלינו , בצורה החבילות את לפענח תוכל שהיא כך שלנו לאפליקציה המובנת בשפה משדר

. ישות, מגדירים אנו זו מטרה בשביל המתאימות למדידות הערכים את לייחס ותדע נכונה.schemaבשם

Page 13: מערכת לביצוע בדיקות רפואיות

Schema

Page 14: מערכת לביצוע בדיקות רפואיות

Virtual Channelsלכל לתת מנת ישות Physical channelעל מגדירים אנחנו שונות תצוגה אפשרויות כמה

virtual channelבשם

Page 15: מערכת לביצוע בדיקות רפואיות

Virtual Channels

Page 16: מערכת לביצוע בדיקות רפואיות

Screens בשם ישות הגדרנו הבדיקה של ראשי תצוגה מסך להגדיר מנת עזר. Screenעל כלי זה

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

Page 17: מערכת לביצוע בדיקות רפואיות

Screens

Page 18: מערכת לביצוע בדיקות רפואיות

Bluetooth

Page 19: מערכת לביצוע בדיקות רפואיות

General Preferences

Page 20: מערכת לביצוע בדיקות רפואיות

Main Test Screen

Page 21: מערכת לביצוע בדיקות רפואיות

BioMedicalWebAppשל הזיכרון צריכת כמות את ולהקטין המעוניינים לכלל בדיקה לתוצאות גישה לתת מנת על

פיתחנו מאוד מוגבל משאב הוא שבהם על web applicataionהטאבלטים עונה אשר. האלה הצרכים

Page 22: מערכת לביצוע בדיקות רפואיות

BioMedicalWebApp

Page 23: מערכת לביצוע בדיקות רפואיות

BioMedicalWebAppweb services בפורמט העולם עם .JSON objectsמתקשרים רשימתweb services ( ל ביחס נתונות הכתובות ( :web_application_url/serviceכל/getAllTests - את . JSONArrayמחזירה במערכת נשמרו אשר הבדיקות כל של

 /test/{id}/{type}/{channelNumber} -את של JSONArrayמחזירה הנקודות כל של

{ מספר הערוץ{ }channelNumberערוץ בדיקה{ }typeטיפוס .idומספר ערך{ , זמן בפורמט

Page 24: מערכת לביצוע בדיקות רפואיות

BioMedicalWebApp/addNewPackage -על רק את POST HTTP Methodעונה ומוסיפה

ל מצורפת אשר המידע .web applicationל requestחבילת/createTest -על רק הבדיקה POST HTTP Methodעונה את ומוסיפה

ב ב. web applicationהחדשה מצורפים היו אשר להגדרות POSTבהתאםRequest .ב נוצר שטסט ל web applicationאחרי כתגובה requestנשלח

response ל בחזרה הזאת הבדיקה של סידורי מספר של. clientעם ברצונו אם" clientה במספר להשתמש עליו ל הנ הבדיקה עבור מידע חבילות להוסיף

. הזה הסידורי

/tests/{id} -ה את עם JSONObjectמחזיר הטסט את מתאר testIdאשר= {id}.

{/testId{/}channelType{/}channelNumber{/}startTime/}{endTime } -הזמנים בין הנקודות כל startTime מוחזרים and endTime של

מספר מספר channelTypeמטיפוס channelNumberערוץ עם הטסט של.testIdסידורי

{/testId{/}channelType{/}channelNumber{/}startTime/}{endTime{/}limit } -כמו web service בטווח נקודות כשכמות רק למעלה

ב מוגבלת .limitהזה

Page 25: מערכת לביצוע בדיקות רפואיות

המימוש BluetoothServiceעקרונות

הservice: הבא תרשים לפי ועובד רפואית בדיקה ביצוע תחילת כפתור על לחיצה עם לרוץ מתחיל

האם 1. , Bluetooth adapterבודק לשלב ועובר שגיאה הודעת רושם לא אם 4עובד

למכשיר 2. להתחבר אם Bluetoothמנסה הודעות מקבלת אפליקציה שממנו כמכשיר באפליקציה נבחר אשרלשלב ועובר כישלון על מודיע מצליח 4לא

ה 3. עוד (socketכל שורה ) כי שנשלחת החבילה את תקרא הצדדים משני פתוח

.a לשלב תעבור הצליח חבילה פינוח אם החבילה את 3a1אחרת 3a2תפענח

ל 1. מתאימה אינה שהתקבלה שהחבילה לשלב schemaתודיע ותעבור 4נוכחית

על 2. ותחזור החבילות את לנהל תפקידו אשר האפליקציה של הנתונים למבנה החבילה את תוסיף.3שלב

ה 4. של עבודה סיום על .serviceתודיע אותו ותסגור

Page 26: מערכת לביצוע בדיקות רפואיות

Create new test

/addTest

Page 27: מערכת לביצוע בדיקות רפואיות

המימוש ApplicationDataעקרונות

Page 28: מערכת לביצוע בדיקות רפואיות

ראשי תצוגה מסך עיקרונות

Page 29: מערכת לביצוע בדיקות רפואיות

WebUploader Service הservice , מתחבר שמשתמש פעם כל ההפעלה מערכת של הריצה תחילת עם לרוץ מתחיל

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

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

.1 , לשלב עובר כן אם נתונים במסד שמורות חבילות יש לשלב 2האם 4אחרת

לשלב 2. המשך כן אם אינטרנט חיבור קיים האם 3תבדוק

.a ל חבילות שליחת יכולת אי על למשתמש לאינטרנט web serverתודיע יתחבר שמשמתמש וברגע. אוטומטי באופן תתחיל השליחה

נתונים 3. במסד חבילות יש עוד כל

.a לשלב תחזור הצליחה לא השליחה אם לשרת חבילה תוך 3aשלח אותה לשלוח מצליח לא הוא אםלשלב 10 תעבור ו למשמש תודיע .4נסיונות

.b שלב אל ותחזור לוקלי נתונים ממסד נשלחה אשר החבילה את .3תמחק

ה 4. את .Serviceתסגור כך על ותודיע

Page 30: מערכת לביצוע בדיקות רפואיות

Android Application Database

Page 31: מערכת לביצוע בדיקות רפואיות

WebApplicationCache = Priority Queue

getTest()

Page 32: מערכת לביצוע בדיקות רפואיות

Web Application Database

Page 33: מערכת לביצוע בדיקות רפואיות

Tools and platforms: Simulator:

Eclipse Java EE IDE for Web Developers. Version: Kepler Service Release 1. Build id: 20130919-0819 https://www.eclipse.org/downloads/ working with bluetooth library: bluecove-2.1.1 http://bluecove.org/

Android application: Android Developer Tools http://developer.android.com/tools/sdk/eclipse-adt.html graph open source project: http://jjoe64.github.io/GraphView/

web application: Eclipse Java EE IDE for Web Developers. Version: Kepler Service Release 2 Build id: 20140224-0627 MySql 5.5 http://dev.mysql.com/downloads/mysql/ Tomcat7 Server http://tomcat.apache.org/download-70.cgi Highcharts javascript graph library - highcharts.com/ BoneCp - Java database connection pool http://jolbox.com/ Restlet - for webservices http://restlet.com/

Amazon web services: http://aws.amazon.com/console/ Putty - http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html WinSCP - http://winscp.net/eng/index.php

Programming languages and technology : Java , xml, javascript, JQuery, html, css, sql, JSP.

Page 34: מערכת לביצוע בדיקות רפואיות

Future Work: כגון האפליקציה של הגדרות רכיבי יצירת physicalאפשרות

channels schemas, virtual channels and screens בweb מריצים אשר המכשירים כל בין .android applicationושיתופם

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

ל שליחה לפני נתונים של .web applicationדחיסה , מנגנון ופיתוח במערכת ושימוש כניסה בקרת של מנגנון הוספת

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

. הבדיקה זמן


Recommended