A Mobile Shared Workspace Supporting Healthcare Task Cooperative Planning

—In a health care environment, in which task planning process is fundamentally a collaborative task that requires the participation of many health care professionals with different skills working simultaneously on same cases. However, most recent healthcare research has focused on methods mainly based on communication, rather than collaboration supports. We followed then a CSCW-based planning approach which constitutes an evolution of planning environments toward new shared workspaces supporting collaboration. Our work led us first, to analyse the relat-ed tasks in an Algerian maternity ward in order to highlight the vital collaborative medical tasks that need to be modelled. The following sections outline basic design concepts of our mobile collaborative planning system, which is designed to provide a flexible group interaction support for care coordination and continuity.


I. INTRODUCTION
In healthcare planning, the need of collaboration is well recognized [1] and it seems obvious now that such task remains hard to be individually completed. We started therefore by analysing the planning process and attempted to understand how health care professionals may elaborate plans, and what happens when this work is done with a team of collaborators. It is also important to well identify which users are implied in such process. Such understanding will undoubtedly allow us to provide the adequate design by addressing the following interrogations: • How medical staff members' collaborate?
• What means are required to improve the care process? • Which artefacts are used to coordinate work? And how? • From a collaboration point of view, what are the specific characteristics of collaborative medical activities? • Which computer tools may provide the required assistance for the medical staff members and get them to work collaboratively?
It is practically impossible to develop a computer tool addressing all users' needs. Nevertheless, group work experiences provide us pertinent information to clarify some useful development ideas about suitable support tools. The experimentation of these tools thereafter, will unveil obstacles to overcome as well as perspectives to follow. Our approach is drawn in a direction which aims to favour collective thought and expertise. Therefore, as we will show it in the following sections, the planning task analysis will bring us an understanding to concretely increase the commitment of participants that may have a great impact on the whole related process.
The main objective of this paper is to present the mobile collaborative system CPMS supporting healthcare planning activities. In the following sections we will first introduce the notion of collaborative planning and review the main works achieved in this area. In section 3 we will present Android technology which is used to develop our collaborative system. Sections 4 and 5 expose our conceptual methodology and discuss the choices made as well as the software architecture designed for CPMS. We consider then details of the different architecture levels as well as the main functionalities supported. We will explicitly attempt to show that CPMS design is mainly focused on concepts of data sharing and exchange to favour collaboration between participants. Section 6 explains how our system is implemented. Finally, perspectives of the accomplished work are presented in the conclusion of the paper.

II. HEALCARE TASKS PLANNING
Hospital emergency wards such as Gynaecology and obstetrics maternities are extremely complex to manage and pose serious health risks to patients. Related tasks which are mainly focused around patient management are basically achieved through a cooperative way that involves several health care professionals.
Our observation study [2] has explicitly showed that most of the medical activities we supervised were groupbased. Likewise the main deficiencies in patients monitoring precisely arose from the lack of coordination between the various members of the involved medical team, which thus constitutes a key factor as it has been so well confirmed several numerous studies carried out on this issue [3] [4].
Based on this observation, we believe that the task management should require from us a special attention. We must therefore address the issue of the targeted maternity ward under a new perspective, that of the medical staff needs, taking into account the economic and performance constraints as well as socio-health hospitals mission objectives of providing optimal care and well-being of patients. Providing a technological answer through cooperation, coordination and communication facilities seems to be the most appropriate initiative. However the past experiences reported in this area that work in-situ [1] [5] should be first carefully analysed from a social point of view [6], and through a structurally opened coop-PAPER A MOBILE SHARED WORKSPACE SUPPORTING HEALTHCARE TASK COOPERATIVE PLANNING eration vision that enables users to build their cooperation workspace structure in order to interact within it [7]. Consequently, we focused our interest on collaborative practices of patient care teams [8] as well as their organization [9] to better understand the usual manner with which tasks are actually performed.
Several collaborative medical care needs have been identified by a wide body of researches in informatics and medical science fields. There are common processes that are more difficult and complex in collaborative situations, because they need to integrate many parties. Such as decision making process that needs involvement of several persons to arrive to a decision, which can take long time [4]. In [10] authors showed that the collaborative nature of the executed process, determines the type of information management necessary for this process. Though, a poor structure of information can lead to coordination and communication breakdowns.
Maternity services are highly risky and still very hard to manage. They require coordination among several teams whose tasks achievement most of the time confront them to conflict situations [1]. The exploitation of information and communication technologies proves to be an effective approach if it is appropriately used [11]. It will enable us reduce the effects generated by the coordination problems that directly disrupt the patient's care chain and degrade their quality as noted Scupelli [12] through his study. Consequently, coordination breakdowns among the medical staff members inevitably that have an impact on the quality of care provided to patients and put them in a potentially vulnerable and dangerous situations should be significantly reduced with the availability of a medium of communication, cooperation, and coordination. Such an approach will provide collaborative tools that may effectively address medical staff vital needs and improve the quality of patients' care. Our research work falls then within the CSCW area (Computer Supported Cooperative Work). Thus, with a CSCW-based management strategy [13] we wish to provide an effective support of these activities enabling by the way finer planning features of the related tasks as well as providing real time mutual awareness around the occurring events within the maternity unit which constitutes a priority of our work.
CPMS (for Collaborative Planning Mobile System) design is intended with many pertinent objectives in mind such as to take in account healthcare professionals availability and mobility. CPMS supports two main interaction modes through which users may individually or collectively achieve their tasks.
According to these observations, we claim that a planning task should be meticulously analysed from a groupware perspective. Such work will probably provide us with a better understanding of the collaborative healthcare task planning process. Indeed, the complexity generated by scheduling process modelling comes from the fact that there are unexpected events. This kind of events plus a lack of coordination can generate undesirable results.
Furthermore, the complexity is increased with a team of healthcare professionals working together. Thus collaborative maintenance projects still difficult, even when sophisticated communication tools are used. The main reason is the lack of social contact due to the geographical separation of the experts [3] [15]. Besides, it is necessary to provide the adequate supports to maintain data con-sistency, concurrent accesses, group interaction, and coordination. Groupware concepts may help us to effectively reduce these problems, such as group awareness allowing experts to be aware of the others work and be warned about events that may arise within the hospital and within the shared workspace on the common handled artefacts.

III. ANDROID PLATEFORM
Android is based on Linux (Figure 1), what hides traditional OS abstractions because of to the middleware presented to application developers. Android focuses on applications. Much of the platform functionality is implemented as applications in the same way used by thirdparty developers. Android relies on Linux version 2.6 for core system services: memory management, network stack and security. The kernel acts also as an intermediate between the hardware and the rest of the software stack.
Android contains some basic Java libraries along with Android specific libraries and the Dalvik Virtual Machine (DVM). DVM allows the device to run multiple virtual machines (VMs), which allows every Android application to run in its own process. The Dalvik VM relies on the Linux kernel for functionalities such as low-level memory management and threading. For IPC (Inter Process Communication) Android provides a sophisticated message passing system, in which Intents are used to link applications. Intents are used in applications use for both interapplication and intra-application communication. : Intentions allow applications to have notifications on events. These can be sent by the terminal (incoming call, SMS, internet connection lost) or by another application wants to send information. The framework is located above the Android runtime and libraries.
It provides APIsthat enable developers to create rich applications. Android applications include an email client, SMS (Short Message Service) programs, a calendar, maps, a web browser, contacts and other programs written in the Java programming Language. There are four types of components used to construct applications; each type has a specific purpose: • Activity: is an application component that provides a screen that allows users to interact with the device applications in order to do something. • Content Provider: manages data and controls the accessibility to the data for a certain application. The various applications on a device do not need to be independent. Indeed, they may need information stored in other applications (recovery of SMS, phone settings, etc...) • Services: activities can be stopped at any time when the user decides to leave the application. The goal of services is to continue to run in background when the application is not "launched", (not visible on the terminal). This can allow to contact every minute a server to check for new items (emails, RSS, etc...). Background services provide RPC and call-backs interfaces that applications use to trigger actions or access data. • Broadcast receiver: provide a generalized mechanism for asynchronous event notifications. So it acts as mailboxes for messages from other applications.

IV. SOFTWARE ARCHITECTURE
In this paper we developed a synchronous Android mobile groupware that enables real-time collaboration among collocated or geographically separated group members. The first part of our software architecture presented in figure 2 contains the system database which is mainly characterized by its capacity to provide concurrency control management, reliable data for long time, security capabilities and data storage. The developed system database contains all the necessary data for management and for the collaborative planning process as the list of available and occupied resources, list of tasks future tasks to accomplish… We used a relational centralised data base for many reasons: a reduced complexity during the development process and also because the data volume is not important.
The second part contains all the software components. In the case of a real-time groupware, sharing data and events constitutes the most important aspect. Thus enabling data sharing requires that any event or data generated by one user has to be immediately delivered to all the other collaborators (in real-time). For better workspace awareness, fault tolerance, responsiveness, and replication of shared data objects are often used together with other operations on them like creation, updating, deletion and reading. There are many techniques to ensure awareness in a mobile collaborative system: • Poll: The idea here is to periodically poll the server for new messages from the background. The more often the application poll, the most the application data will be in time. This kind of application is very easy to implement, but obviously we will never be actually in real-time. If interval polling is 10 minutes, we can get a message that is late of 9 minutes and 59 seconds. Polling more often than every 15 min will kill the battery pretty quickly.
• SMS: Android allows interception of SMS messages. The server sends a special SMS to our phone, whenever there is something new. The application intercepts all messages, looks for the ones from the server, and then displays the notification. This idea is easy to implement, and the system reminds fully realtime updated. The problem with this solution is that it costs a lot, especially if the notification number is important.  The technique we need to develop a synchronous and real time collaborative system is called Push. The server contacts the mobile application once new data is available (notification), without pre-sending of a request from the application for an update which optimizes to minimum bandwidth and ensures real time update in the collaborative workspace. Our system CPMS combines the SMS solution and persistent TCP/IP to produce a relatively stable way of implementing push.
In our approach an SMS is sent only to inform a participant about a new event (in general when the schedule is changed...; the system notifies all the concerned persons to keep them constantly automatically informed). The server extracts the required information from the database and uses an SMS gateway to send messages to the staff members.
When a participant logs in the workspace, an android application that uses TCP/IP protocol takes over the responsibility of notifications and ensuring real time awareness. When a participant add, delete, edit a task in the schedule, this modification appears on the devices of all participants connected to CPMS in real time, persons who are not connected and involved in a new task for example, are notified by an SMS as we mentioned it before.
The second part defines two servers: Mobile Server and Displaying-Server [18]. The mobile server contains the server that notifies and sends (push) data to mobile devices. The displaying server is intended to display the schedule on eWhiteBoards (screens disposed on the appropriate locations in the hospital). After every modification of the schedule, all the eWhiteBoards are automatically updated. Also to significantly reduce users' cognitive overload such 1 https://developers.google.com/android/c2dm/ as nurses, surgeons…, the eWhiteBoard(s) can be configured to restrict the display only for pertinent information needed by each group [1] and decrease the amount of data on screens. Finally, the third part consists of the client devices.
The developed system allows an authorized physician to access at any location to the electronic patient record data, using a hand held device or even a desktop. Another version of the system for desktops has been developed for users who prefer working on big screens, or who are already in front of a computer. Using the mobile version, allow direct access of participants to consult, or modify the schedule.

V. SOFTWARE COMPONENTS
The components shown on the Figure 3 are launched in the mobile device. Our architecture is composed of several modules which are important for the collaborative scheduling task: • Interface module: this module plays the role of a medium between the user and the system. The Interface module intercepts the local users' actions and sends them to the server via internet. • Scheduling module: This module is the most important component; it provides the necessary tools to manage tasks and resources. List of the tasks is displayed in a table to the users with their related information such as priority, starting time… (Figure 4). Once a task is created, it will appear in real time on the other users (participants) mobile screens. So the authorized participants can modify it while the others get the latest information on their patients' state, and the cooperation process may naturally take place among the medical staff. When a user joins a work session a set of information is displayed on his screen, the shown information concerns only that user. After a creation or an update of a task, an SMS is sent to the persons assigned to that task.   The Session Manager also manages users join/leave within the shared workspace, and any related event will be immediately notified the others such as latecomers...This module uses also a comonent clalled the Participant list ( Figure 5). It shows the list of users with their prerogatives and roles, to increase awareness among the shared workspace. • Security module: this module assures security of electronic medical records during collaboration process, by encrypting and decrypting data. We used elliptic curve cryptography technique [19] [ 14]. This technique is a very efficient asymmetric algorithm and it is more adequate to mobiles, in which energy and calculus capacities are limited.

VI. TESTING
The next step is to test out system in a real medical context which is the maternity clinic where our study is done, to have users' opinions and to improve the collaborative process in CPMS . But before giving our application to users for tests, we made first another kind of test, to let users focus only on functionalities limitations and not on application bugs. For this purpose we used a set of tools available in the Android environment to make the following tests: • Activities test: to test activities. JUnit is a tool integrated with the Android development environment. JUnit generate several class tests based on the developed activities. We have first to identify activities of CPMS, and generate a testing class for each activity. • Event test: Monkey is a tool used for verifying GUI application. Monkey tool generates random or deterministic event sequences such as touches, clicks, or gestures, as well as another number of events. Monkey can be used also for stress-test applications. • Type tests: type bug are exception that appear in a log file.

VII. CONCLUSION AND PERSPECTIVES
This paper presents a study led in an Algeria maternity, to identify main coordination problems between medical staff members. In this study we found that coordination breakdowns can be solved by using the adequate communication technologies to improve coordination capabilities. We developed a mobile application which supports collaboration through Internet between several users.
To objectively measure the efficiency of CPMS we have developed and evaluate a first prototype. Tests the current version on a local network give rich ideas on collaboration and coordination opportunities provided.
We have discussed basic design concepts of our groupware mobile application CPMS. We have showed that it enables collaboration between several participants within a shared workspace and allows users' individual and collective actions on a common patient case as the care planning elaboration.
Care scheduling sharing has been widely discussed; its efficiency is increased over transparency while our approach allows us to concretely inform participants on their mutual actions. At the visual level, the interface shows explicitly the shared plan phases and significantly reduces participants' cognitive view and enables them to intuitively understand what is currently going on and get knowledge about their patients' states evolution as well as the next actions that should be achieved.
During a work session, the medical staff members may act on the shared care plan under a specific role, dynami-