TAPEAR

From TAPASWiki

Jump to: navigation, search

Introduction to TAPEAR - The Desktop Client

The TAPEAR Desktop client will be a JAVA webstart application that will run on multiple platforms. (In the current release "strawman" the Webstart feature is not yet enabled.)

The rationale behind the decision to use a rich client rather than a thin-clint Web browser access (like many other products) is fourfold:

  1. Responsiveness Web applications are less responsive due to the latency of network communications that each request takes. The medical profession requires highly responsive and fast software in order to yield high acceptance a adoption.
  2. Usability Rich client applications can employ better and more effective ways of user interaction, such as hotkeys, gesture recognition etc.
  3. Security Rich client applications are generally more secure since they do not rely on general purpose browser access mechanisms
  4. Platform-independence While thin-client applications are typically considered platform independent, the more advanced ones that use all usability "bells and whistles" are typically no (in practice). For example, javascript and cascading style sheets tend to behave differently on different browsers.

Please see the Desktop User Interface for details on how the UI metaphor and screens are being developed for the desktop.

Technical design of Tapear

Note that the current Tapear prototype release (strawman) has limited functionality.

The current Tapear package structure is shown in the following diagram:

Image:TapearPackages.jpg

The Package RIM contains the object-oriented data model classes as described in the CASA documentation.

The Persistent package contains classes to open database connections, store and retrieve the data model instances using hibernate (and a relational database).

The Tapear package contains several sub packages. Perhaps the most important one from an architecture point of view is the "framework" package. It contains classes for the main tapear application, which are independent on the individual functions performed by tapear. The remaining sub-packages contain the code to implement all these individual functions. The reason for this design is to make tapear extensible towards new functionality. A plugin concept may be developed based on this architecture in a future release.

The UML class architecture of the framework package is given in the following figure:

Thumb

The MainFrame class contains the "main" method. It composes the structure of the tapear GUI, including the so-called FocusBar - a panel that will host the dialogs of particular functions of tapear.

The functions available in Tapear are categorized as "Patient centric" or "User centric". User centric functions are for example secure messaging, calendaring, general reminders etc. Patient centric functions are for example medical history, medications etc.

The Controller class initializes the different functions that are available in the current tapear configuration.

All functions are implemented in separate packages. The following figure shows the UML classes implementing the Medical History Function. All other functions are implemented similarly. They contain one GUI class (panel) and one class that takes care of implementing the actiual business logic behind the function.

Image:MedicalHxFunction.jpg

Personal tools