170 likes | 371 Views
Mobile video reminder to improve medicine compliance of Deaf patients. Buhle Bongco Supervisor : Prof Venter Co-Supervisor: Prof Tucker. Content. Recap Implementation Progress Challenges Future work Tools Project Plan Demo Q&A. Recap.
E N D
Mobile video reminder to improve medicine compliance of Deaf patients Buhle Bongco Supervisor : Prof Venter Co-Supervisor: Prof Tucker
Content • Recap • Implementation • Progress • Challenges • Future work • Tools • Project Plan • Demo • Q&A
Recap • The aim of the project is to help improve medicine compliance of Deaf people. • This application serves as an add on feature on SignSupport where the pharmacist has the option to set a date and time for the patient to consumer their medication with the instructions.
Progress Term3 Term4 Integrated the reminder onto Sign Support. Used Android. Notifies the deaf patient when it is the right time and it comes with a set of instructions to follow • Stand alone video “reminder” • Used App Inventor. • Unable to notify the deaf patient when it’s the right time and instruct at the same time
Challenges • Allow the pharmacist freedom to change and add more or other instructions. • Getting the notification to still notify even when the phone is off. • Aligning the application to run using the time and date of Google calendar. • Google calendar does not allow for videos, only text and audio based.
Future Work • Get the application aligned with Google calendar • Get the application to notify even if it is off • Getting the notification to also produce a flashing light • Getting the notification to repeat again if the deaf patient did not open notification the first time around
Tools • Eclipse Juno for developers • Java Development Kit (JDK) and Java Runtime Environment (JRE) • Android Developer Tools (ADT) • Android Virtual Device (AVD) • Android Real Device(ARD- Samsung S2 in my case) • Android SDK
Demo • The pharmacist logs-in on SignSupport • Checks the patient details if they are correct • Dispenses medication and the instructions the patient should follow. • The Pharmacist then sets the exact time and date the patient should take the medication. • At the appropriate time the deaf user receives a notification with the instructions to follow
Question & Answers
Code • public class DateAndTimeSelector extends Activity{ • DatePicker pickerDate;// This is the date picker used to select the date for our notification • TimePicker pickerTime;// This is the time picker used to select the time for our notification • Button buttonSetAlarm;// The set button once clicked sets the time and date so that a notification is called up • TextView info;// Variable for displaying pieces of information • ImageButton next;// Button for moving to the next page. • final static int RQS_1 = 1; • /** Called when the activity is first created. */ • @Override • protected void onCreate(Bundle savedInstanceState) {
Code Continued • super.onCreate(savedInstanceState); • setContentView(R.layout.activity_main);// this will pull the xml file named activity • next =(ImageButton)findViewById(R.id.imageButton1);//imageButton1 id is pulled and will be accessible when the next button is pressed. • info = (TextView)findViewById(R.id.info);//text is stored as id info and accessible through the name info • pickerDate = (DatePicker)findViewById(R.id.pickerdate);// id pickerdate • pickerTime = (TimePicker)findViewById(R.id.pickertime);// id pickertime • /** The button next is pressed it goes to a method that performs an action when pressed */ • next.setOnClickListener(new View.OnClickListener(){
Code continued • public void onClick(View v) { • //myVib.vibrate(100); • goNext(); // method goNext() is called • } • }); • public class AlarmReceiver2 extends BroadcastReceiver { • private static final int MY_NOTIFICATION_ID2 =2; • Notification myNotification2; • NotificationManager notificationManager2; • @Override
Code continued • public void onReceive(Context context, Intent intent) { • Toast.makeText(context, "Alarm received!", Toast.LENGTH_LONG).show(); • Vibrator vibrator = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE); • vibrator.vibrate(5000); • Intent myIntent = new Intent(context, RefresherViewInstructions.class); • PendingIntent pendingIntent = PendingIntent.getActivity( • context, • 0, • myIntent, • Intent.FLAG_ACTIVITY_NEW_TASK); • myNotification2 = new NotificationCompat.Builder(context) • .setContentTitle("Notification2!") • .setContentText("Follow this instructions to take the correct medication") • .setTicker("Notification!") • .setWhen(System.currentTimeMillis()) • .setContentIntent(pendingIntent) • .setDefaults(Notification.DEFAULT_SOUND) • .setAutoCancel(true) • .setSmallIcon(R.drawable.ic_launcher) • .build();
Code continued • notificationManager2 = • (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE); • notificationManager2.notify(MY_NOTIFICATION_ID2, myNotification2); • }
References • https://github.com/benbahrenburg/benCoding.AlarmManager • http://www.appsrox.com/android/tutorials/remindme/3/#8 • http://blog.blundell-apps.com/notification-for-a-user-chosen-time/ • http://stackoverflow.com/questions/3226495/android-exit-application-code • http://stackoverflow.com/questions/6898770/android-multiple-alarms-w-pending-intents-how-to-determine-which-intent-is-b • http://gitorious.org/0xdroid/packages_apps_alarmclock/source/185d17974729a98cf48a71ab9f16adaab9d1e1e0:src/com/android/alarmclock/AlarmClock.java • http://android-er.blogspot.com/2012/05/to-schedule-repeating-alarm-call.html • www.cs.uwc.ac.za/~mmotlhabi