Optor RFID Software Systems
Manage tracking instrument and
inventory in a hospital.
To develop a Java standalone application (Eclipse plug in)
called as “ISE Control” (Integrated Surgical Environment), which helps to perform equipment tracking/management
for the health care industry. The application should have the functionalities for
maintaining the information regarding hospital, OR rooms, equipments and
cabinets in hospital and tracking them. Application should support any JDBC
complaint database.
Following are the major
requirements that we had to meet while developing this project:
Ø
Technical Requirements
1. Develop the project as a Java /J2EE based Standalone application.
2. Application should run in any Operating system.
3. Develop the console based on jFace / SWT.
4. Implement user security in the application.
5. Should use the existing application (RFID Engine) for
handling business delegates.
6. Application should be made independent of the database.
Ø
Functional Requirements
1.
ISE Control includes
three main sections.
a.
Main Setup Menu
section including the Administrative Settings such as Creating Users, Parent
Organization, Hospitals, OR Rooms (Operation
Room), Packages and Templates.
b.
Search section
includes Search Equipments, Packages, and Shelves.
c.
Wall Color section
includes selection of colors for wall.
2.
Actions on ISE CONTROL
should be restricted based on users.
3.
Provide CRUD operations
for all the components and save the data in RFID Engine using HTTP Client.
4.
Provide Search
operations for the equipment, packages, shelf and scheduled surgeries which gets
the result from RFID Engine and display the result in ISE CONTROL.
Following are the
challenges that we had while developing this project:
provides users the facility to perform CRUD (Create, Read, Update, and
Delete)
operations of setup section and mock up display of operating room and
equipments.
Following are the
solutions that we implemented to meet the requirements of the project
Ø
Technical Solutions
1. We developed the application using Java (jdk 1.5).
2. We used Eclipse 3.3.1 to build GUI console using jFace
and SWT.
SWT provides Composite as
the parent which controls the child composites and its widgets. Widgets are
also capable of listening any events from the user (e.g. Mouse Listener, Focus
Listener, etc.)
3. We used Http Client to get connected with different
application.
Below is the architectural diagram of ISE CONTROL/RFID
Engine application. This architecture helps ISE CONTROL to fetch data from
external applications using XML data format over HTTP Protocol.
The below diagram shows how it connects to RFID Engine
using Http Client with Post Method. Post Method also uses Name Value Pair to
send some key value pairs with the request as parameter.

Following are the
common features of the project:
Dashboard contains different sections as follows and each
section has its own functionality.
Login Page
This is the first page in the application. Here the users
have their own username and password created by admin to login into the
application. Based on the role of the user appropriate pages will be opened for
the user. There are three user roles “Admin”, “CS User” and “OR User”. The
entries made in this screen are taken to RFID Engine to authenticate the user
and to get other details of the user such as roles.

Admin Profile Management
Here “Admin” and “CS User” have permission to access Admin
Profile Screens. This section contains 8 sub sections.
1.
Manage Users
2.
Parent Organization
Data
3.
Hospital Facility Data
4.
OR Proximity Data
5.
OR Default Settings
6.
RFID Supply Cabinet
Data
7.
Build Packs Template
8.
Build Pack/Tray
Manage Users – This section is used by Admin to create, update and
delete users of the hospital. The users can be like Surgeons, staffs, etc.
Parent Organization
Data – This section is used to
create a Parent Organization for all the hospitals. The fields are like Name, Address, Number of
Hospitals, Phone Number, Server IP Address, etc. Only one parent organization
will be present at any time.
Hospital Facility Data – This section adds Hospital for Parent Organization. The
fields are like Name, Address, Number of OR’s, Admin name, Email Address, Phone
Number, etc.
OR Proximity Data – This Section adds Operation Rooms for the Hospital.
Below is the screen for adding Operation Rooms. The user enters total no. of
OR’s in the previous page
and Application
dynamically takes the input and creates the matrix table with text boxes.
User can enter the distance between each OR’s in the appropriate
text boxes. On click of next button the distance between each OR’s are inserted
into the database.
The white boxes are those where we can enter values but in
the dark boxes we cannot enter values and are non editable.

OR Default Settings – This section sets the default position of every major equipment
in the Operation Room such as Operating Table position, Floor Pods position,
Surgical Lighting position, GCQ Display, Ambient Wall color, RFID Supply
cabinets, Webcam & Intercom. These OR Room Default settings are common for
all the users of the application.
RFID Supply Cabinet
Data – This section adds the
cabinet for a particular Operating Room. We can choose any of the existing OR
Room’s from the dropdown box and set values for fields such as OR Name, No. of
Cabinets, Admin name, Phone number, DMX Controller IP and Crestron Server IP.
Below is the screen for adding Cabinets to OR Room.

Build Packs Template – This section creates a Template for a package. It can be
of two types “Standalone” or “Surgery Specific”. If the user selects Standalone from the drop
down box then user will be shown various categories such as “Steel”, “Plastic”,
etc. Once user has selected category then the list of equipments are shown to
add into the template package. Once Surgery Specific is chosen then list of
existing surgeons and surgery types are listed in drop down boxes. On selecting
of any one surgeon and surgery type their associated equipments are added to
the template.
RFID Build Pack/Tray – This section is used to create package which consists of
equipments. User has to select appropriate Template from dropdown box, pack
number, surgery details, Surgery Date, RFID Number and comments. Below is the
screen for RFID Build Pack/Tray.
Here we attach RFID Tags to the packages by inserting the
RFID number to it. The RFID Engine always reads the packages which are attached
to RFID tag using an antenna. Whenever the tag is removed or damaged from the
package then it is updated into the database.

RFID APP
This section provides the searching mechanism for
equipments, packages, shelves

and scheduled surgeries according to the input given by the
user. Here the data entered by the user are sent to RFID Engine where the
database is connected, RFID Engine then sends the result back to the ISE
CONTROL where the output view is dynamically created to display the result.
Ambiwall color
This section used for changing wall color of OR room.
Following figure shows the front end control screen used for this.

Based on the movement of color selector circle, the application will
record the color for the wall. For each color change system transmit a command
to TCP/UDP server that shall listen for incoming commands and adjust the actual
OR wall color with the color passed by dashboard.
User can change the intensity of the color using slider bar. When
slider is moving corresponding color will pass to record color button and
hardware.
User can record the color by selecting the “Record Color” button
and it will be moved to below rectangle boxes.
On click of “Bright White” button will change the wall color to
white color.
On click of “Color OFF” button will change the wall color to gray
color.
User can close the color picker layer either by clicking
“Close Window” button or left bottom corner.
The color selector mainly uses the following packages “org.eclipse.swt.graphics”
and “org.eclipse.swt.events” . The color selector is a widget which has Mouse
Listener set to it.
When ever the color selector moves or selects any color the
events such as Mouse Down, Mouse Up, Mouse Move events are invoked. The color selector in the above image has its
own (x, y) axis, as per its current location we get pixel value and color of
the image on Mouse Down event, according to the color selected we get the
appropriate image for the wall. We also
use the selected color in intensity slider to make them light or dark.
User can see the color change as below figure:
