Professional Documents
Culture Documents
Medical Instruments and Laboratory Information Managment Sytemt Median Software
Medical Instruments and Laboratory Information Managment Sytemt Median Software
Medical instruments and laboratory information management system median communication software.
Communication approach
Since must instrument communicate whether on serial communication, or on TCP/IP network communication, we can
design two separate handling system for each approach, the two methods are handled too much differently, therefore,
it should be the greatest priority to make this as the base of the intended software.
Serial connection
If the communication was serial based then, we should physically connect that serial connection of the instrument to
the hosting computer that contain our median system, make sure that it is recognized by the operating system, and list
the available serial ports on the interface and letting the user chose which port is used on the computer by the
1
instrument, and then establishing a connection by opening the serial port, after opening a serial port and since there is
no repetitive handling system watch for request from the other side that we can easily find and include in our system,
we need to design our own handling system for serial communication which will check if there is a data waiting to be
read on the port.
Opening port
In order to open a port, you need to have the appropriate system permissions, which usually is granted automatically
by the operating system and should not be of any concern.
When trying to open serial port first thing is needed to be done is to check if the port is in use or available, if not in
use, then the software should try to establish connection with that port, then checks if the established connection
opened the port automatically or not, if connection not opened, then the software will attempt to open the port, if
success then a state of connection is established that indicate that a connection is established and the port is opened.
The state of connection could be of any kind, it could be a flag variable, or a already given state of serial object that is
created priorly.
After opening the port, the software will check the state of connection and will continue for the repetitive threading
system.
In case of any error while establishing the connection then the software will cancel the attempts and will a error
message on the user interface that shows a connection establishing error.
Repetitive checking
To check whether there is a message or not on the serial port there should be a method that is triggered every specified
(less than a second) time interval, and once the method knows that there is data waiting on the port then, it will call a
continuous reading method that will read every byte of the incoming message and checks for it and then respond with
the appropriate response. And when the message ends, it is handled properly, after that the loop continues to read a
new message.
The need of Threaded reading system is to allow the handling and reading process to take place in the background
quietly without interrupting the user interface.
2
Network connection (TCP/IP)
If the communication method was network based then it much easier to watch for messages coming from the
instrument, since the handshake, verifying, and repetitive check is done automatically on the TCP/IP protocol all
needed is to start a socket or server and making sure that the hosting computer has a constant IP on the local area
network and that the established server is listening on intended port. In some cases the socket server is the instrument
itself, and this irregular case is found on the Mindray BC20/30S instruments. Where the host computer works as
client.
3
Local storage system
After decoding and preparing received results a local copy should be saved before transmitted to the main LIMS
system, therefore, a storage system should be created to save each sample barcode its parameters and the time stamps
related to that sample. The storage system should be light and doesn’t take a much of resources, also, it should be
secure and finally it should be practical to use.
4
The picking or getting process is know as selecting, where you can select all column from a given table, or just select
one or more columns on specific and the selecting can be conditioned as mentioned. The same for the update, insert,
and delete processes.
A keywords and details are illustrated in the table below. Note that all commands should be capitalized for tradition
sake.
User interface
The user interface should be accessible remotely and combines the ability to access all instruments from one interface,
also, should not require any installation to access it remotely. This will make it easy to access the median system
interface and the LIMS system on the same front end. The user interface should make it easy to access any instrument
and disable or enable its connection, also it should be easy to access any sample coming from any instrument, the
sample should not hold the patient name and other personal data, but holds the sample data, which are the barcode
which will be the most and only requirement to save a sample, and other optional data if found, on the other hand, the
sample is not related to the instrument, what related to the instrument is the tests that applied on the sample.
Therefore, each test is related to a sample and instrument, and holds the important data such as the results itself, the
abnormality, the bitmap for graphs, …etc.
Also, the text and status messages that each instrument communication protocols sends to the median system, and
each event record, should be saved as messages related to the instrument in question, and should be accessible on the
interface, also the messages should hold time stamps for farther filtering purposes.
The interface should hold the ability to add instruments, and when adding instrument, you can give the instrument
nick name and should be able to chose the type of the instrument from a predefined set of choices, and based on the
instrument chosen a medical communication protocol is chosen (whether an ASTM or HL7), also, you need to give
the connection parameters related to that instrument, like the port number if serial, or the IP and port if network based.
5
Specifying how should the sample results and information be saved
Each instrument median software should have its own database, and within this database it should hold a value that
specify each sample, and each sample could have several test results and information.
Therefore, what really distinguishes a sample on a LIMS and an instrument is the Barcode of the sample. Therefore
each sample should be save based on it barcode, and its results can be referenced through that barcode.
Therefore, there should be a table holds the samples barcode and a table that hold the barcode as nonprimary value
along with the results for given test. The id for a given test is given using a counter table that tracks the length of the
results table.
A relation is not required here, but an initial insertion of the sample barcode into the sample table is required, and the
checking of the validity of that barcode is required before writing any test value into the results table as manner of
security and error prevention.
An error prevention here means that if a barcode is reinitialized on the LIMS main system or an old sample is retested
then the value won’t be accepted, since inserting already existing barcode will fetch all the old and new tests for the
barcode in question. Therefore, a prevention method as a primary sample table is required.
A sample won’t be stored on query case, it will only be stored on result submission for that sample.
In the table that holds the test results, there should be a column that specify the state of a given test, whether it’s
uploaded or not, and if the LIMS specified that the sample in question is not recognized to wrong barcode entry or
other reasons, which should show and error message on the user interface,
The following tables illustrates each table and it corresponding columns that should be created.