0% found this document useful (0 votes)
15 views

Lab Information System

Uploaded by

Įt'š Ťąłhá
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views

Lab Information System

Uploaded by

Įt'š Ťąłhá
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 60

1

Contents
Introduction........................................................................................................................................1
1.1 Purpose of the Lab Information System.......................................................................................1
1.2 Key Features.................................................................................................................................1
1.3 Importance in Healthcare.............................................................................................................1
1.4 Scope of the Document...............................................................................................................59
1.5 Target Audience..........................................................................................................................59
2. Problem Definition.......................................................................................................................59
2.1 Problem Definition.....................................................................................................................59
2.2 Aims of the Project......................................................................................................................59
2.3 Scope of the Project....................................................................................................................59
Automation.......................................................................................................................................59
Quality Management........................................................................................................................59
Cost and Benefits...................................................................................................................................59
Cost and Benefits..............................................................................................................................59
Database Management.....................................................................................................................59
Types of available LIMS solution.....................................................................................................59
Custom Development LIMS.............................................................................................................59
User Event Routine...........................................................................................................................59
User Action Routing.........................................................................................................................59
Data Reduce Algorithm....................................................................................................................59
Advantages of Custom Developed LIMS..........................................................................................59
Disadvantages of Custom Developed LIMS.....................................................................................59
In-house Developed LIMS................................................................................................................59
Advantages of In-house LIMS.........................................................................................................59
Disadvantages of In-house LIMS [30].............................................................................................59
Methodology.....................................................................................................................................59
Software and Technologies..................................................................................................................59
Visual Studio.....................................................................................................................................59
ASP.NET...........................................................................................................................................59
SQL Server Management Studio......................................................................................................59
Non-Functional Requirement..........................................................................................................59
2

Performance.....................................................................................................................................59
Maintainability..................................................................................................................................59
Reliability..........................................................................................................................................59
Usability............................................................................................................................................59
Security.............................................................................................................................................59
Log....................................................................................................................................................59
Open-source model...........................................................................................................................59
Developed Work................................................................................................................................59
Project Introduction and Discussion................................................................................................59
Requirements....................................................................................................................................59
Use Cases..........................................................................................................................................59
Staff user use case diagram..............................................................................................................59
Detailed admin user use cases..........................................................................................................59
Database ER Diagram......................................................................................................................59
Work Environment............................................................................................................................59
Sample Module.................................................................................................................................59
Test Module.......................................................................................................................................59
Conclusion.........................................................................................................................................59

Lab Information System (LIS) Comprehensive Documentation

Introduction
In today’s rapidly evolving healthcare landscape, laboratories play a pivotal role in
diagnosing and monitoring patient health. A Lab Information System (LIS) is a
specialized software solution designed to manage and streamline complex
workflows within a laboratory environment. By integrating various laboratory
functions into a single, cohesive system, an LIS enables laboratories to operate
more efficiently, reduce errors, and provide timely results to healthcare providers
and patients.
1.1 Purpose of the Lab Information System
The primary purpose of an LIS is to automate and manage the end-to-end
processes of a laboratory. This includes patient registration, test ordering, sample
3

collection, tracking, analysis, and reporting. Additionally, an LIS ensures


compliance with regulatory standards, enhances data security, and provides
actionable insights through robust reporting and analytics.
1.2 Key Features
1. Patient and Sample Management: Efficiently handle patient
registration, test requisitions, and sample tracking.
2. Workflow Automation: Streamline processes such as sample
collection, testing, and reporting.
3. Data Integration: Seamlessly integrate with hospital systems, such as
Electronic Medical Records (EMR) and Hospital Information Systems
(HIS).
4. Real-time Reporting: Provide healthcare professionals with instant
access to test results.
5. Regulatory Compliance: Ensure adherence to healthcare standards
like HIPAA and GDPR.
6. Inventory Management: Track and manage laboratory supplies to
avoid shortages or overstocking.
1.3 Importance in Healthcare
An LIS is crucial for modern laboratories, as it addresses key challenges such as
managing high sample volumes, ensuring data accuracy, and maintaining
regulatory compliance. By minimizing manual interventions, an LIS reduces the
likelihood of human errors and enhances operational efficiency. This, in turn, leads
to improved patient outcomes, better resource utilization, and heightened trust
from healthcare providers.
1.4 Scope of the Document
This documentation outlines the design, implementation, and management of a Lab
Information System tailored to meet the needs of contemporary laboratories. It
delves into system requirements, architecture, user interface design, testing
methodologies, and deployment strategies. The document also emphasizes best
practices in software engineering, data security, and quality assurance, ensuring
that the LIS meets the highest standards of functionality and reliability.
1.5 Target Audience
This documentation is intended for:
 Developers: To understand the technical aspects and architecture of
the LIS.
4

 Healthcare Administrators: To explore the functionalities and


benefits of the system.
 Laboratory Staff: To gain insights into the user interface and
operational workflows.
 Regulators and Auditors: To verify compliance with healthcare
standards and regulations.
By providing a detailed and structured overview, this documentation serves as a
comprehensive guide to the development, deployment, and maintenance of an
effective Lab Information System.

2. Problem Definition
2.1 Problem Definition
The primary challenge in modern laboratories is inefficiency and errors associated
with manual and fragmented processes. Laboratories often struggle with managing
high volumes of samples, ensuring data accuracy, and maintaining regulatory
compliance. Additionally, the lack of integration with other healthcare systems
creates silos, making it difficult for healthcare providers to access and utilize
laboratory data effectively. These inefficiencies can lead to delayed diagnoses,
increased operational costs, and compromised patient care.
2.2 Aims of the Project
The Lab Information System aims to:
1. Enhance Workflow Efficiency: Automate key laboratory processes,
including sample tracking, test result generation, and reporting.
2. Improve Data Accuracy: Minimize human errors through
automation and standardized procedures.
3. Facilitate Integration: Enable seamless communication with other
healthcare systems such as EMR and HIS.
4. Ensure Compliance: Adhere to healthcare regulations and standards,
including HIPAA and GDPR.
5. Optimize Resource Utilization: Provide tools for inventory
management and workload distribution.
6. Support Decision-Making: Offer advanced reporting and analytics
for informed decisions.
2.3 Scope of the Project
The scope of the Lab Information System includes:
1. Core Functionalities:
5

a. Patient registration and test order management.


b. Sample collection, labeling, and tracking.
c. Automated result generation and electronic dissemination.
2. Integration Capabilities:
a. Interfacing with hospital systems (EMR, HIS).
b. Compatibility with diagnostic equipment for real-time data
updates.
3. User Management:
a. Role-based access control for technicians, administrators, and
healthcare providers.
b. Audit trails to ensure accountability and traceability.
4. Regulatory and Security Features:
a. Compliance with industry standards for data protection.
b. Encryption and secure user authentication.
5. Reporting and Analytics:
a. Comprehensive dashboards for operational insights.
b. Customizable reports for performance monitoring and
regulatory submissions.
6. Scalability and Customization:
a. Modular design to accommodate future enhancements.
b. Flexible configuration to meet the unique needs of different
laboratories.
By addressing these elements, the LIS aims to transform laboratory operations,
ensuring efficiency, accuracy, and improved healthcare outcomes.

Automation

The advancement and broad utilization of PCs, tablets, smartphones, and


microprocessors in the research laboratory instruments have made it conceivable to
totally automatize the laboratory, including the interfacing instruments specifically
to a LIMS. In a completely mechanized

laboratory, a sample is logged into a LIMS system, at a point of exchange to the


laboratory, where it is arranged for analysis or analyses, and later moved to auto
sampler or analyzer. Once it is analyzed, the information is exchanged through a
gadget which subsequently translates the raw data into information that a client
requires. Furthermore, the interpreted data is reduced, and the LIMS further
6

becomes a repository of information [12]. A schematic of fully automated LIMS is


illustrated in Figure 2.1 below:

Quality Management
Any business activities of an organization require a high quality of data in the
LIMS system. The security and administrative prerequisites for LIMS information
data characterize the level of exertion used to approve a LIMS and the information
7

being put away in the storage. Additionally, the nature of the equipment and the
programming used to actualize the LIMS both assume a part in characterizing in
general system quality [14].

In LIMS, the quality of data plays a vital role as in terms of association with the
system in the business organization. In an R&D domain, for instance, the
underlying explanation behind a LIMS maybe to compare and diagnosis of a new
analytical method [15].

Most often, the manufacturing organizations actualize the LIMS system for their
Quality Assurance and Quality Control (QC) in their facilities. These facilities
guarantee that the product manufactured in their facility of high quality, and
inspects intermediaries to keep up the production work on time in right quantities.
Statistical Quality Control (SQC) uses techniques such as Shewhart control charts,
Pareto charts, and time-to-failure (Weibull) analysis [16]. These research
laboratories ensure that it incorporates features in order to avoid SQC limit
violations and the trend violations. Subsequently, a LIMS can be used with
Computer-Integrated- Manufacturing-Systems (CIMS) to address issues during the
production process. Some LIMS systems have incorporated built-in statistical tools
and other features that enable the user to export the data into other software
packages for further analysis such as Excel spreadsheets [17].

Cost and Benefits


The very first step in the acquisition of a LIMS is to justify a necessity for it. The
expenses made to procure LIMS must deliver utmost value to the laboratory
customers, while also delivering essential aids to the LIMS users and their
management [10]. The organizational framework must be compliant with the
operational changes that an acquisition of a LIMS will cause. If computer
technology is not widely used in Small-to-Medium Enterprise (SME), it may be
hard to mechanize laboratory functions. LIMS systems are dedicated information
systems, custom-made to an existing outline of functions. If an information
8

strategy has been defined for the organization, a LIMS can be defensible in terms
of how it fits in with that strategy. If the organization has computing standards, the
LIMS selected should follow those standards on every occasion possible.

Advantages of LIMS can be categorized into two phases: tangible and intangible.
The tangible aspect being; it is easily assigned a monetary value. These include
items such as a decrease in the expenses of calculating and reporting data,
enhanced capacity through better access to management of data in making
distributions, and being able to recognize and report sample status more quickly.
The intangible aspects might incorporate better overall service to consumers and a
general understanding of better laboratory management through the use of state-of-
the-art
Cost and Benefits
The very first step in the acquisition of a LIMS is to justify a necessity for it. The
expenses made to procure LIMS must deliver utmost value to the laboratory
customers, while also delivering essential aids to the LIMS users and their
management [10]. The organizational framework must be compliant with the
operational changes that an acquisition of a LIMS will cause. If computer
technology is not widely used in Small-to-Medium Enterprise (SME), it may be
hard to mechanize laboratory functions. LIMS systems are dedicated information
systems, custom-made to an existing outline of functions. If an information
strategy has been defined for the organization, a LIMS can be defensible in terms
of how it fits in with that strategy. If the organization has computing standards, the
LIMS selected should follow those standards on every occasion
possible.Advantages of LIMS can be categorized into two phases: tangible and
intangible. The tangible aspect being; it is easily assigned a monetary value. These
include items such as a decrease in the expenses of calculating and reporting data,
enhanced capacity through better access to management of data in making
distributions and being able to recognize and report sample status more quickly.
The intangible aspects might incorporate better overall service to consumers and a
general understanding of better laboratory management through the use of state-of-
the-art management techniques [11]. The table 2.1 below compiles the initial cost
of LIMS and briefly describes the tactics associated with the cost of LIMS:
Category Cost factor
9

Hardware Computer storage devices; device cabling and wiring;


wiring, power conditioning; climate control;
furniture; networking; interfaces,
servers, cabling, writing closets; user interaction;
terminals, workstations; display devices; printers
Software Operating system; system development tools;
including communications and compliers;
LIMS development tools; database
systems and development tools; generic
instrument interface software; special instrument
interface software
Installation Personnel to manage acquisition and installation;
and disruption due to installation; loss of replaced
Conversion incompletely depreciated equipment; lost space for
computers, terminals, printers; customization and
configuration; development of computer usage
procedures, LIMS usage procedures, and new
laboratory procedures; determination off-
line vs on-line data needs; development of archiving
and backup procedures
Training Computer training for users, managers hardware
engineers, support staff; LIMS training for users,
managers, support personnel; instrument interface
training for user, managers, hardware engineers,
support staff; accessory software training for
users, managers,
support personnel; lost work during training
Configuration Time to identify database form; time to set up system
security, desired audit trails, and enter valid users;
time to design and create necessary reports, charts,
and alarms; time to configure laboratory for
test, sample, instruments, projects, labs
10

Database Management
Most LIMS systems use a Database Management System (DBMS) for storing data.
Examples of commercially available DBMS are DB2, DBASE, Informix,
INGRES, ORACLE, and RDB. All of this, DBMS conform to the “relational”
model developed by Codd [13]. Relational Databases can keep an infinite number
of results for every pattern and limitless samples for every request. The gain of a
relational DBMS over a greater conventional hierarchal device, wherein records
units may contain other information sets, is that the layout of the database only
must recall relationships among data elements, now not the range of times for any
given variable.

A DBMS performs what's known as a transaction control. This process allows


multiple customers to access and store data inside the database without corruption.
The ability to do this is essential, when data is being written to the DBMS because
energy interruptions or hardware failure can motive database transactions to be
incompletely treated. Transactions managers use the “all or not anything”
principle; all the statistics are written to DBMS, i.e., the transaction is completed,
or none of its written.

Another vital function of a LIMS DBMS is the ability to perform ad-hoc database
queries. It is not possible to expect all the forms wherein LIMS users will need to
show their data while the LIMS is being designed. As an end result, it is far ideal to
choose a LIMS which allows users to define their reports. Most commercial
DBMS have a standardized query language (SQL) interface. SQL is a simple
database query device that's primarily based on English language instructions. This
sample SQL query says, “Get all sample requests information containing Richard
Dawkins as the customer.” [9]
11

Types of available LIMS solution


Different laboratories use different types of software system during laboratory
operations. Also, requirement changes rapidly as per the requirement. Because of
this reason, it is required to take a decision that laboratory needs to buy software or
build own software before implementing the LIMS software for data management
and practical decision on the downstream success of the software. It is important to
note that there is no answer to this question that; Should we buy software from the
market or build own software as per the requirement. Keeping this thing in mind,
whether we should purchase an existing software in the market, develop own
software with in-house resources or make a contract with a software development
company to build the system for our laboratory.

Custom Development LIMS


The laboratory needs to be up-to-date because the customer requirements are
changing rapidly, which does not meet with any of the commercial LIMS
software’s availability in the market. Generally, this results in the decision to
develop a custom laboratory software application tailored to execute the custom
LIMS software. The organization requires to hire a software development company
to develop custom LIMS, which collect laboratory information and develop LIMS
software as per the laboratory needs.

In general, customized software is providing more features like without the use of
a handwritten code, in comparison with other software’s, but this process is costly
and not affordable for all laboratory. It is complicated to achieve goals without
making any modification in software. The user can access this code in two ways;
the first one is adding user hand-written code or customization in one of the
standard LIMS functions. In an entirely hand-written code, a user can insert a new
LIMS menu which looks like a standard function. This customization feature
allows the user to add, edit and delete this menu anytime whenever it requires.
However, this feature is added to the user hand-written programs as menu item
certainly provides endless customization. [29].
12

User Event Routine

User Event Routines are associated with LIMS functions. Some menus and
features are as following, in which User Event Routine can be added [29]:

Admin Menu

Admin menu can Create, Edit, Delete Client Information, Project Information,
Subject Information, Schedule Information.

Sample Menu

The sample menu can create log sample, create new sample collection, receive
sample information from sample or collection list, and generate new worksheet.
Also, this menu can modify sample information like edit sample information,
cancel sample and test requires.

Result Menu
This menu can enter or edit test result or review test by sample, test or worksheet.
Approve samples for a subject and by the individual sample.

Lab Setup Menu

Using this menu, the user can gather information, divide information, instrument
type information, location information, route information, ID, log information.

Report
13

By using this report menu user can print sample label.

System Menu
Using this menu, we can insert or edit user information; menu or function also can
edit the parameter information.

Archive Menu
Used to archive sample data, retrieve data from an archive or copy LIMS data to
retrieve database.

As above mention LIMS function is available in customized LIMS, which is quite


expensive. Each of this function has unique functionality and a unique name
assigned. Following are some different methods, which is called by user event
routine.

 Pre-Commit: This method is called after information filled


out on screen but before committing to the database.
 Post Commit: This method is called after committing to the
database.
 Function Exit: This method is called after the LIMS function
exists.

User Action Routing

Digital Management System is used to design LIMS user interface. Which is


digital layered product and provides a user interface to the LIMS application.
LIMS applications are used more than one forms and each form has several desire
parameters. User action routine is a user-written subroutine, which is called much
earlier time when the form is displayed. Different field has several parameters,
14

which are associated with each field. This field parameters include the field name,
text for help, validation for numeric and alphabets, display reserve videos [29].

Data Reduce Algorithm

These algorithms are a user-written function, which uses to enter or change a test
result and defined to LIMS conjunction with the specific edit test or insert. The
concept of a specific test is a combination of three components test code, sample
type, and test limit type. The test requires because of different sample types. Data
reduce algorithm is used in conjunction with three LIMS enter or edit result
functions. These three functions enter or edit test results by sample, test code, and
worksheet. Whenever the result is entered or change, enter or change; that time test
result calls appropriate data reduction algorithm. This algorithm is used to calculate
a result from

intermediate results, raw data or test component values. The test would enter some
raw data then insert the final data and the result is calculated by this algorithm
[29].

Advantages of Custom Developed LIMS


 The Custom development gives the exact result what they
have asked by the client as per the requirement.
 The functionality has their property rights and proper control
over the feature of the software.

Disadvantages of Custom Developed LIMS


 Generally, this type of custom LIMS software is very costly
and project risk born by the laboratory.
 Project development is very slow initially.
 The software development cost hundred percent worth.
15

 The laboratory also provided support of infrastructure from


the software development company.

In-house Developed LIMS


Generally, Laboratories comes with the option of the elimination process. The
number of products is used for testing which precisely does not meet laboratories
requirements. Still, internally, development is going on by many organizations, and
it can take lot of time, resources, in additional facing more problems for
implementation. The negative perception is that many laboratories cut off the
substantial benefits that well developed and installed LIMS can bring to a
laboratory. Drastic reduction of the spreadsheet, paperwork, and improvement of
data recording, taking to the efficiency and increased quality of result reports and
analytical reports are the main benefits of LIMS software. Many software’s are
developed just for specialists of their laboratories. Current LIMS software helps to
improve and enhance laboratories practices. Future LIMS can implement with
knowledge-based systems with the global access of the laboratories data.
Advantages of In-house LIMS
 The in-house development provides vital features as per the
requirements.
 The software could be developed without paying high budget
for custom development.
 No learning process for the laboratories employees’ because
they are familiar with the laboratory’s requirements.

Disadvantages of In-house LIMS [30]


 Software development may not sound perfect as they are
developed by the professional programmers
 The programmer can leave resulting in unpatented products.
 Laboratories can reduce one staff member who is developing
this software.
16

Methodology
The methodology is a set of method and tools to perform a task and describe how
the goal should be achieved. The goal of software development must be clear if we
are following a traditional cascade approach or more flexible procedure, such as
agile programming. If we focus on research, the techniques must have described
alongside with the methods for project analysis and clarifying what validation
procedure; a ground truth can use.

The objectives state the laboratory requirements to be met by the LIMS. Based on
our research and requirements, the objectives of the project are as follows:

 Study and Research about LIMS.


 Design the basic prototypes.
 Select the framework for project development
 Design and Development of LIMS software

We should achieve the goal using waterfall methodology if we want to design and
develop a web- based customized LIMS software to manage a small laboratories
data like sample, test and generate dynamic reports for a tested sample. Also, filter
and analyses the data using a different chart view, which is the latest trend in the
market. In software development, waterfall methodology is one of the standard
processes to manage software and achieve goals. Waterfall methodology divides a
project into small phases. The following Figure 4.1 shows that software
development process passed down from one phase to another. Each phase
handover the previous stage to another phase with the additional requirements and
responsibility and vice versa. This method helps in project management because it
follows the current project states with all details and requirements. Once the task
finished means that phase of project closed forever [41].
17

Figure 5. 1 Waterfall Model different phases (From [41])

Study about the LIMS - In this objective of the thesis, we studied about the LIMS
software. LIMS stands for Laboratory Information Management System. It helps to
improve laboratories operation efficiency by stopping manual task. Moreover,
LIMS software automatically records information thereby reducing errors in
reports and saving time.

Research about LIMS for Small Laboratories - In this objective, we researched


LIMS software available in market for small laboratories. This software is easy to
use, and they are providing rapid development option; because all laboratories
requirements are changing very quickly. LIMS software allows secure workflow
order to the organization; control labs documents; track processing of data records.
Moreover, we can generate an error-free report of sample's test and send it to the
client electronic way and manage laboratory data secure and better way.
18

Design basic prototypes - Before we dive into project development, we must start
from beginning of the process and test our ideas. The prototype is the initial
version of the software and using this prototype; other forms can develop. The
prototype is offering how the software will look like and allow a client to change
design easy way.

Implementations of LIMS – Development, test, and deployment of a web-based


LIMS application for the small organization.

Software and Technologies


Visual Studio

As per the based-on research and requirement, LIMS software implemented using
Visual Studio 2010. Visual Studio enables to build secure and speedy development
of our web application. It offers compiler, an advanced editor, easy to use packages
and debugger all in one software. The visual studio comes with the variety of
services and features, which can help to develop the best application. A different
version of Visual Studio is available with upgraded features like Visual Studio
2005, Visual Studio 2008, Visual Studio 2010, Visual Studio 2012, Visual Studio
2013 and the current and latest version is Visual Studio 2016. Mainly this software
is written in three parts, which is illustrated in Figure 5.2.

The programming language is a language, which is readable by the humans. Why


human- readable; because the computer is not able to understand this language; it
only understands binary language. The compiler is doing this translation process
during runtime. Also, compiler creates tokenized execution in the Microsoft
Intermediate Language, which is a universal language and it converts into the
machine language and executes by the computer.
19

Figure 5. 2 Software written in three parts (From [42])

Visual Studio is a product of Microsoft, and there are several platforms used by the
visual studio like Windows Forms, Windows API, Windows Presentation
Foundation, Windows Store and Microsoft Silverlight platforms. Visual Studio also
supports different programming languages like C, C#.net, VB.net, and C++. Visual
Studio can use to develop standalone applications, websites, web services, and web
applications. Visual Studio have an inbuilt feature to design web pages for
windows applications, web applications, and mobile applications [42].

ASP.NET
Our LIMS web-application developed in ASP.NET language. ASP.NET is an open
source framework to develop modern web-apps and web services. LIMS web
application implemented using the ASP.NET framework. ASP stands for Active
Server Page. ASP.NET pages that created in HTML, which called Web Forms.
ASP.NET is a server-side web application framework, and it is developed by
Microsoft. This technology mainly designed for development of web application,
website and web services. ASP.NET uses the Internet Server Application
Programming Interface (ISAPI) to deliver the Hyper Text Transfer Protocol
(HTTP) response data to the client side. ASP.NET defined as a language
independent. There is a good separation between code and content with ASP.NET.
It supports Web Services or Web forms too. Web services provide access to server
20

communication with a remote connection. Fast development can be possible with


ASP.NET with robust, scalable with great flexibility with a small piece of code and
also we can create web forms. The web application is publishing with Internet
Information Services (IIS) server, and it is accessible using the web browser [42].

SQL Server Management Studio

SQL stands for Structured Query Language, which uses to store software data into
a table format. SQL Server Management Studio is available in GUI format with
server 2008; also, different latest servers are available. A user can configure and
manage software data using the Microsoft SQL Server. SQL Server Management
Studio provides both GUI even script editor features for data management and a
user can manipulate data using this feature. We have used Microsoft SQL Server
2008 for the management of our LIMS web application data.

Non-Functional Requirement
A non-functional requirement is an essential specification of a system that how it
should behave, and it concentrated upon the behavior of a system. The non-
functional requirement covers all that requirements, which has not been covered by
the functional requirements. Some typical non- functional requirements are
performance, security, usability. Following are a list of non- functional
requirements of our LIMS web application prototype [43].

Performance
Performance is an amount of task accomplished by the LIMS system. Performance
can measure by short response time, low utilization of resources, high availability,
and elevated through the output, high bandwidth, and quick data transmission.
21

Maintainability
It should be easier to maintain a system in the future, and it involves continuous
improvement and improve the reliability of a system. It is maximizing product
useful for life, increase efficiency, security, and safety of the software.

Reliability
Even after using a long-term, a user must trust on a system. Creating that kind
requirement; the system will retain for a long time without change of data or even
features. It could be a good idea to include new features that make a system more
accessible to monitor system performance.

Usability
Separate different functionality and prioritize them based on natural usage patterns.
That functionality is tested by usability, and also used frequently.

Security
Different sensitive information like user credentials, reports that need to protect;
and security is most commonly used to protect the data from hostile forces. The
system can provide a security alert warning to make a system more secure.

Log
Modern systems usually provide log feature to keep tracks of record performed
every task. Log detect the job identifier; task information also includes storage
information. Typically, log helps to restore a database to its original state if a
system gets frailer or loosed data for some reason. Nowadays, the database
management system has special programs, which help a user to operate with the
database easy and secure way [44].
22

Open-source model
Microsoft is providing a full .net server stack in open source, .NET is free, cross-
platform with multiple language editor, and library to build a different type of web,
mobile, desktop, gaming and IoT applications. An open-source model encourages
open collaboration, and it promotes universal access via open-source, free license.
Generally, an open-source language is free and provide free source code on the
internet. A user can get solutions easily and quickly. Our LIMS software is also
developed using the Microsoft .NET framework and, .NET provides a virtual
machine where we can run, test and execute our LIMS application [45].
Developed Work
This chapter presents an explanation of the implementation and functional
requirement of the software development. A software implementation is the
process of writing source code for a system. The main objective of this process is
to transform the design into program and code modules. The final deliverables of
the implementation phase are source code and related documents. The aim of
developing a LIMS software is to manage data for a small laboratory with enough
set of requirements. As discussed in earlier chapters, the primary objective of this
implementation and thesis is to develop a LIMS software with limited features
which include basic needs of small laboratories and it could be cost-effective and
helpful for a small organization.

A LIMS web application has an implementation of dynamic test design form with
the validation of field requirement. Some criteria are defined to compare the value
of the report with a sample test. This test form with validation and rules could be
the great impression of this LIMS software. Furthermore, it describes different
technologies, methods, and patterns used during Laboratory Information
Management System development. It also presents the best coding practices used
during the implementation process and source code control.

Following is the explanation about the software implementations. However, what


features implemented with what programming technology are explained below.
Also, the explanation of how we have solved the problem in development with a
provided solution is presented below.
23

Project Introduction and Discussion


In this duration, we have researched about Industry 4.0, and Industry 4.0 is the
latest trend in automation, data exchange and it includes cyber-physical systems,
the internet of things (IoT) and cloud computing.

As per the discussion with the company, we wanted to develop that kind of
application which can be handled remotely, it implies that an application will be
the cloud-based. Also, with the mobile- friendly design, the users can use this
application from different devices. After the discussion, we have decided to design
this application to be responsive and cloud-based just like other websites running
on the internet.
Requirements
Use Cases
Following use cases characterize to comprehend, the functionality of the LIMS
software, and it explains the user has done every activity [46].

Staff user use case diagram


The following use case diagram mentioned in Figure 6.1 describes a different
activity that can be done by a staff user.
24
25

Figure 6. 1 Staff user use case diagram

Name Add New Sample


Short description User can add new sample
Actors Employee User
Pre-conditions The user must have an account
Post-conditions User must have access to work with add
new sample
Main flow of events 1. Add Sample
1.1 Open application and login in
browser
1.2 Select Add Sample from Sample
Menu
1.3 Insert values and place submit
button
Alternative flow of 1.3.1 Add all require fields
events 1.3.2 If require fields is empty shows the
error
1.3.3 Submit the form

Name View Sample


Short description User can view sample details
Actors Employee User, Admin User
Pre-conditions The user must have an account
Post-conditions User must have access to work with view sample
Main flow of 1. View Sample
events 1.1 Open application and login in browser
1.2 Select View Sample from Sample Menu

Name Add Test


Short description User can apply new test to particular sample
Actors Employee User
Pre-conditions The user must have an account
26

Post-conditions User must have access to work with add sample


Main flow of 1. Add Test
1.1 Open application and login in browser
events 1.2 Select Add Test from Test Menu
1.3 Select Sample Name
1.4 Select Sample Test and Place Add Test button

Alternative flow 1.4.1 Add all require fields


of events 1.4.2 If require fields is empty shows the error
1.4.3 Submit the form

Name Add Result


Short description User can add result of particular test for
particular sample
Actors Employee User
Pre-conditions The user must have an account
Post-conditions User must have access to work with delete
sample Test must be apply to sample before
Main flow of 1. Add Result
events 1.1 Open application and login in browser
1.2 Select View Test from Test Menu
1.3 Select Add Result from list
1.4 Fill the result value and submit

Alternative flow 1.4.1 Add all require fields


of events 1.4.2 If require fields is empty shows the error
1.4.3 Submit the form

Name Delete Sample


Short description User can delete particular sample, applied test will
delete automatic
Actors Employee User
Pre-conditions The user must have an account
Post-conditions User must have access to work with delete
sample Sample must be added before
Main flow of 1. Delete Sample
27

events 1.1 Open application and login in browser


1.2 Select View Sample from Sample Menu
1.3 Delete Sample from list using Delete button

Alternative flow 1.3.1 After press delete button confirm box will
of events appear
1.3.2 You can select delete/cancel/close button in
confirm box

Name View Test


Short User can view list of test applied to the sample
description
Actors Employee User
Pre-conditions The user must have an account
Post-conditions User must have access to work with view sample
Main flow of 1. View Test
events 1.1 Open application and login in browser
1.2 Select View Test from Test Menu

Name Delete Test


Short User can delete particular test from the list of test
description
Actors Employee User
Pre-conditions The user must have an account
Post-conditions User must have access to work with delete
sample Test must be apply before
Main flow of 1. Delete Test
events 1.1 Open application and login in browser
1.2 Select View Test from Test Menu
1.3 Delete Test from list using Delete button

Alternative 1.3.1 After press delete button confirm box will appear
1.3.2 You can select delete/cancel/close button in
28

flow of events confirm box

Name Analyses Reports


Short User can analyze sample reports
description
Actors Employee User, Admin user
Pre-conditions The user must have an account
Post-conditions User must have access to work with analyze sample
report
Main flow of 1. Analyze Reports
events 1.1 Open application and login in browser
1.2 Select analyze option from the Menu
1.3 Select different analyze option and submit form

Alternative 1.3.1 Add all require fields


flow of events 1.3.2 If require fields is empty shows the error
1.3.3 Submit the form

Name Complaints
Short User can send complaint message
description
Actors User
Pre-conditions The user must have an account
Post-conditions User must have access to work with complaint area
Main flow of 1. Contact
events 1.1 Open application and login in browser
1.2 Select contact option from the Menu
1.3 Fill details with message and submit form

Alternative 1.3.1 Add all require fields


flow of events 1.3.2 If require fields is empty shows the error
1.3.3 Submit the form
29
30

1.1.1.2. Admin user use case diagramThe following use case diagram
mentioned in Figure 6.2 describes a different activity that
can be done by the admin user.
31

Detailed admin user use cases


Name Add New Product
Short description Admin user can add new product
Actors Admin user
Pre-conditions The member must have an account
Post-conditions User must have access to work with add new sample
Main flow of 1. Add Product
events 1.1 Open application and login in browser
1.2 Select Add Product from Product Menu
1.3 Insert values and place submit button

Alternative flow 1.3.1 Add all require fields


of events 1.3.2 If require fields is empty shows the error
1.3.3 Submit the form

Name Design New Test Form


Short description Admin user can add new test form
Actors Admin user
Pre-conditions The member must have an account
Post-conditions User must have access to work with add new test
form
Main flow of 1. Add Test Form
events 1.1 Open application and login in browser
1.2 Select Add New Test from Test Menu
1.3 Create fields as per requirement
1.4 Submit form

Name View Logs


Short description Admin user can view user’s activities
Actors Admin user
Pre-conditions The member must have an account
Post-conditions User must have access to work with view log
32

Main flow of 1. View Log


events 1.1 Open application and login in browser
1.2 Select Log from Menu

Name Add Company


Short description Admin user can add a new company(Client)
Actors Admin user
Pre-conditions The member must have an account
Post-conditions User must have access to work with add
company(Client)
Main flow of 1. Add Company
events 1.1 Open application and login in browser
1.2 Select Add new company from Company
Menu
1.3 Fill require fields and submit form

Alternative flow 1.3.1 If require fields is empty shows the error


of events 1.3.2 Submit the form

Name View Product


Short description Admin user can view list product
Actors Admin user
Pre-conditions The member must have an account
Post-conditions User must have access to work with view product
Main flow of 1. View Product
events 1.1 Open application and login in browser
1.2 Select View Product from Product Menu

Name Delete Product


Short description Admin user can view list product
Actors Admin user
Pre-conditions The member must have an account
33

Post-conditions User must have access to work with delete


product Product must be added before
Main flow of 1. Delete Product
events 1.1 Open application and login in browser
1.2 Select View Product from Product Menu
1.3 Delete Product from list using Delete button

Alternative flow 1.3.1 After press delete button confirm box will
of events appear
1.3.2 You can select delete/cancel/close button in
confirm box

Name Edit Product


Short description Admin user can edit product details
Actors Admin user
Pre-conditions The member must have an account
Post-conditions User must have access to work with edit product
Main flow of 1. Edit Product
events 1.1 Open application and login in browser
1.2 Select View Product from Product Menu
1.3 Select Edit Product from list using Edit button
1.4 Fill require fields and submit form

Name Delete Test Form


Short description Admin user can test form
Actors Admin user
Pre-conditions The member must have an account
Post-conditions User must have access to work with delete test form
Main flow of 1. Delete Test Form
1.1 Open application and login in browser
events 1.2 Select View Test from Test Menu
1.3 Delete Test from list using Delete button

Alternative flow 1.3.1 After press delete button confirm box will
34

of events appear
1.3.2 You can select delete/cancel/close button in
confirm box

Name View Company List


Short description Admin user can view company(Client)
Actors Admin user
Pre-conditions The member must have an account
Post-conditions User must have access to work with view
company(Client)
Main flow of 1. View Company
events 1.1 Open application and login in browser
1.2 Select View Company from Company Menu

Name Delete Company


Short description Admin user can delete company(Client)
Actors Admin user
Pre-conditions The member must have an account
Post-conditions User must have access to work with delete
company(Client)
Main flow of 1. Delete Company
events 1.1 Open application and login in browser
1.2 Select View Company from Company Menu
1.3 Delete Company from list using Delete button

Alternative flow 1.3.1 After press delete button confirm box will
of events appear
1.3.2 You can select delete/cancel/close button in
confirm box

Name Edit Company


Short description Admin user can edit company(Client)
35

Actors Admin user


Pre-conditions The member must have an account
Post-conditions User must have access to work with edit
company(Client)
Main flow of 1. Edit Company
events 1.1 Open application and login in browser
1.2 Select View Company from Company Menu
1.3 Select Edit option from the list
1.4 Edit require fields and submit form

Alternative flow 1.4.2 If require fields is empty shows the error


of events 1.4.3 Submit the form

Database ER Diagram
The following diagram illustrates all tables and fields of a database, which is
created to store the data of the LIMS application. A client will provide samples for
a test, and application requires some space to store this data.

Following Figure 6.3 illustrate, each table is interconnected, and it has a different
relationship with each other. How about we view profoundly to comprehend the
connection between each table how they are identified with one another and with
which element. This database ER diagram is about LIMS. If we talk about a
sample, then clients are required, and the database has a table with a named client
to store client data. Clients have different products; it can be zero, and more. In the
following table, it displays a key(one) symbol in a client table with a different sign;
and a product table connected with "+" sign which displays one-to-many
relationships between client and product tables. In sentence format, it says, “One
client has zero or many products.” A product can have more than one sample, so a
36

product table and sample tables are related to one-to-many relationships. At one
location we can store one or more samples so location will have a key symbol and
sample will have infinite signs, this way we can say that one location has many
samples. There are different types of test available for one product; so, a sample
will have key sign attached to sample test table with many relationship signs. One
sample is having many statuses likewise pending; done, deleted, so sample has
one-to-many relationships with sample status table. In this LIMS application,
different users have a separate account, and an admin user has rights to see the logs
and admin can create one or more test form too. Also, a sample is having one-to-
many relationships with log and test form table. A single table must have a primary
key, and another table contains a foreign key to make relationships between each
other, but a primary key will be only one, and a foreign key can be one and more.
37
38

Work Environment
Our LIMS environment has all the necessary features, which fulfills the
requirements of the small laboratories. The list of features is as follows:

 Simple user interfaces with web developed interface.


 Menu with the simple navigation.
 Creation of dynamic test form with criteria.
 Export of the information in various formats like Excel,
Word, and PDF.
 Easy search with keywords.
 Sorting of information using the search box.
 Analysis of results using filters.
 Overall data display in a chart view.
 Disable the sample feature.
 Create a system log to track a system process.

Sample Module
Sample Collection & Sample Scheduling

The sample collection and scheduling are critically important task for a laboratory.
With the regards of a sample, collection of features carried out are as follows:

 System checks and validate all require fields.


 Some fields are dynamic, coming from database like
company, product, customer, test, and check in person.
 An inserted sample will be shown in the view sample page
with the edit and delete feature.
39

This application validates all fields using the JavaScript scripting language and
display an error or success messages. A company product and custom fields are
dynamic, so once user will select the company; the system will filter products from
the database and displays those products, which is related with the chosen
company, and customer name will fill out automated filter from the

database. One more important thing about check-in person field, which by default
displays the logged in username. Because of the priority and employee level
security, the system allows creating a new user with the different user type. After a
sample is inserted successfully; the system will display the Add Test button at the
bottom of the sample form to maintain the flow of standard LIMS application as
shown below in Figure 6.17.
40

Figure 6. 17 Add New Sample Form


41

The Figure 6.17 shows how the sample form looks like and which displays what
we have selected, like company named Amiteq and the other field’s; product list
and customer name are filled out automatically.

Asp.Net have inbuilt feature for the empty field validation which is shown in
Figure 6.18. We need to set RequiredFieldValidation tag with the controltovalidate
with an error message. Controltovalideate is the id of a particular field, which is
required to validate.

Figure 6. 18 Blank Field Validation

Now, it is required to store sample data in the database, and we are using SQL
database for the data management. In asp.net, it is required to import libraries if we
want to use some external features. SqlClient is imported to use the third-party
database in asp.net. After importing this library; using SQL Connection; we have
made a connection with the database. Moreover, it is required to open a connection
using the connection.open() function before we do any operations with the
database, and after making some operation with the database, it is required to close
the connection using the connection.close() function as shown in Figure 5.19.
42

Figure 6. 19 Connection to SQL Database

After making a connection with the database using insert query with parameters,
the application will insert sample data into the database. The Figure 6.20 below
shows how to write SQL query and how to set parameters with value to enter data
into the database.

Figure 6. 20 Add Sample Data in Database


43

A user can check the status of a sample on the sample view page after inserting it
successfully. The sample listing page will display the sample test which is an
ongoing sample, or which is already completed. A user is also able to filter the
samples with status like ongoing, disabled or completed. This web application
provides a natural search feature, which helps the user to filter data by the
keywords and there is also download feature which is available to download the
list of tests. Therefore, a user can filter data by keywords, sorting by just one click
on the title of a table and also, the user can download whole or filtered data in
different formats like CSV, Excel, PDF even print that filtered data too.

The system will display an option to apply the test to an added sample, once a
sample inserted into the database. The Figure 6.21 illustrates the list of all
combined samples. Here, we can see that user can find any sample data with the
keywords and also, a drop-down option is available to filter data with different
status of a sample like Completed, Ongoing or Disabled, CSV, or Excel. This
button allows a user to download visible data in various formats. Moreover, data is
in tabular format with pagination, so it makes information simplified to view.

Figure 6. 21 View Sample List


44

Using the external JavaScript and CSS libraries the system can display laboratory
data in a table format with features like search, download data in a different format.
Also, data will display with pagination in a tabular format as shown in Figure 6.22.

Figure 6. 22 JavaScript, CSS Library

After adding this library, it is required to design in a tabular format, which is


necessary to display data in a tabular format with search, filter export features as
shown in Figure 6.23. It is required to set a unique id to handle this feature
dynamically. In the following figure, we have to set an id with the name “sample,”
which is a unique ID (UID) and that external library will provide this feature using
this unique id only.
45

Figure 6. 23 Pagination Table Format

Once a table is designed in HTML, it is required to add one jQuery snippet to make
all features work. The Figure 6.24 illustrates jQuery is required with the same ID,
which we have set in HTML table tag. We can set any name as we prefer but it is a
must to set the same name in this jQuery function and in HTML table tag to make
this feature working.
46

Figure 6. 24 Pagination jQuery

Note that we have used this same library and feature like search, filter, pagination
and export files in different format. It is just required to call another jQuery
function for different tables because the ID is unique for all tables in whole LIMS
application.

Sample Disable:

Sample disable feature is available only for admin users. This feature is just
changing one parameter true or false in a database. Initially, at the time of inserting
the sample data, it will be true by default. When an admin user taps this disable
button, the application will change that true value to false in a database and further
sample process will be done by the status of this sample. If the system loads a
sample page in the front office after making this change, a user will not be able to
see this sample anymore. Even the test and results will affect this disabled sample.
One disable (eye) symbol is available in the list of samples to disable a sample as
shown in Figure 6.25.
47

Test Module

One of the significant risks of any LIMS system is related to the high-level
mistaken data entries rate. On the other hand, it is vital that we can provide an
analyst that this sample is most urgent to prioritize and assign a status to each
result. In test module, the user can select a particular sample, then the system will
display only that test which does not apply to the chosen sample. A user is also able
to apply more than one test to selected sample by selecting more test from the
dropdown of test list shown in following Figure 6.26.

Figure 6. 26 Apply Test

Test list will display only that test which is not applied to any sample. An
application will store a selected test in one hidden field separated by a comma, and
the field ID is “add_new_test_hidden_field” to add multiple tests at the same time.
48

After selection of test, when the user will submit the form, the application will get
that test name stored in the hidden field with separated by a comma, split all test,
and using for each loop insert all test into the database with given snippet of code
in Figure 6.27.

Figure 6. 27 Apply Multiple Test

In above Figure 6.27, LIMS application will get the test names which is stored in a
hidden field using Request.Form(). After getting tests, name application will split
the test names using “split” function and run a “for-loop” and insert data into the
database.

Once a single or multiple test is added into the database, the system will redirect on
test view page. On this page, a user can see all test in same table format with
search, pagination and exports features as explained in sample module and the
table of test list view will look like Figure 6.28. We can see this table is showing
49

multiple tests with different actions like “Add Result,” with delete ( ) and view
results ( ) buttons. A user can insert more than one result for a single test by using
the Add Result button. With delete, button user can delete the applied test for a
particular sample. Moreover, the view result will display all results, which is
inserted for a single test.

Figure 6. 28 View Test List

The Figure 6.29 illustrate the sample of add result form. This form field and
criteria of every field will not be the same; it will change as per the test
requirement. This form can design dynamically by an admin user.
50

Figure 6. 29 Add Test Result

When a user taps add result button: an application will validate all fields using
jQuery function. Another function created for validating a blank field and also
criteria like numeric, numbers between, number less than and a number higher than
inserted value, that function called “newtestform_validation()” which is as shown
in following Figure 6.30.
51

Figure 6. 30 Test Blank Field Validation

This jQuery function can get a sum of fields from one hidden field, where the
application stored the total number of fields when the dynamic form is loading
from the database. The system checks all inputs by its unique ID, and if any field
finds without values, it will generate error span tag with error text and make it
visible.

If that function will not find an empty field in the loop; it will check for other
criteria in that same “for-loop” with the result of those fields. There are different
types of criteria for input type numeric such as “<=” (less than or equals) “>=,”
(greater than or equals) or “Between.” We have set a short form to compare
criteria, following is one example of less than or equal value criteria example. This
function will check if the value is “le” it means less than or equals and it will
compare the value inserted in the textbox with the criteria value set by the admin.
If it found ok, and condition will get true (line no 4); this function will do nothing.
If it is found false, then this function will check else part (line no 7) and add error
span after the textbox with like “Please enter a value less than or equal” and after
this error text dynamic value will append which is the criteria value set by an
admin.
52

Figure 6. 31 Criteria Validation

Line number 5 will enable 'Add result' button and allows a user to modify a value
of number field and add result again. If the criteria do not match with the criteria
value, it will show an error, but next time the system will allow insert values and
complete the add result process. A user can add multiple results for a single test.

Admin Design Test Form:

Only an admin user will have access to design a new test form, and initially, a user
needs to define the type of test form, which is “Solid,” “Liquid” or “Gas” as shown
in Figure 6.32.
53

Figure 6. 32 Selection Test Type

Once the test type is selected; an application will display the form where an admin
user can create new fields with criteria as shown in Figure 6.33. Following is an
example of designed new test form. One field design with name Temperature, with
the numeric criteria, and it needs to be less than or equals 23. Moreover, another
field named Description which is the textbox.

Figure 6. 33 Design New Test Form

Above designed test form shown in Figure 6.33, will look like Figure 6.34. After a
design test form, the blank fields validation and the criteria of that field will work
as explained in the added test section.
54

Figure 6. 34 Designed Test Form

Also, a user can see the criteria written dynamically at textbox placeholder. Other
field named Enter Method, date, and Enter unit was set as per the client’s
requirement. Because Client Company keeps track of result by putting the date;
and they have their own method. Also, it is required to enter the unit for them.
Those fields are optional; a user does not need to enter any value in it. A system
will consider as a blank field if there is no value found and keep those fields also
blank in a database.

Figure 6.35, illustrates validation of field at a time of designing new test form. An
application will check whether it is a numeric value, textbox, text area or yes/no
field. If it appears numeric value; the application will check another dropdown for
condition; if another dropdown value is “between,”; the system will display two
text boxes. So, a user can define min and max value. If the condition will “<=” or
“>=”; the system will display a single text box to define criteria value and design a
form same like front office 'add test result' form. Moreover, an application will add
parameters which follows criteria as an admin user has defined at a time of design
test form, and it is required to enter unit also. Those fields designed as per the
55

client requirements. A user can put those field without entering any value because
those fields are not required, and it will keep empty in a database.

Figure 6. 35 New Test Validation

As the next step of add design new test form application; if system does not find
any numeric value; then the application will run an else part and insert that form
data as the admin user has set criteria in design the new test form shown in Figure
6.36.
56

Figure 6. 36 Insert Test Fields in Database

Once a test form is designed and inserted in the database, an application will
redirect to the test view page. In a test list page, the test will display same as other
tables; with the same feature of search, pagination and export formats. From an
action field, a user can delete the test form, disable the test form and Add a
Formula for that test form. Using this feature admin user can add a formula for
fields created in newly designed test form. If the method is already added in a test,
the system will only allow to Remove that Formula instead of Add Formula.

Figure 6. 37 View Test Form List


57

When a user tries to add a formula, the application will check if the test has applied
to any sample or not. If this test is already applied for any sample, an application
will show an alert like “You are not allowed to add the formula for this test, as it
has been applied to other samples” as shown in Figure 6.38.

Figure 6. 38 Can’t add Formula

Add formula form will look like Figure 6.38, and it will list out the numeric fields
from the designed test form. Also, we can see in Figure 6.39; an application will
allow a user to “add,” “Subtract,” “Multiply,” “Division,” “Less than,” “Less than
equals,” “Greater than,” “Greater than equals” with two field values.
58

Figure 6. 39 Add Formula

Once the field is added in front-end, the backend will work like following: Initially,
the system will get a field index value, and using a for-loop insert all fields in a
database. This formula is related with single test form in which it is created, and it
will display at the end of the Add test result form with the criteria and validations.
This adding formula code is illustrated in Figure 6.40.
59
60

Conclusion
In conclusion, the Laboratory Information System (LIS) developed in this project
addresses critical inefficiencies and challenges faced by traditional laboratory
management processes. By automating key operations such as patient data
management, test order processing, sample tracking, and report generation, the LIS
significantly enhances laboratory efficiency, accuracy, and turnaround time.
Additionally, robust security measures, including role-based access control and
data encryption, ensure the confidentiality and integrity of sensitive medical
information.
This system was designed with scalability, user-friendliness, and performance
optimization in mind, making it suitable for small to mid-sized diagnostic
laboratories. Through careful analysis, structured design methodologies, and
rigorous testing, the LIS offers a comprehensive, reliable, and modern solution for
laboratory management.
Future enhancements can include integrating advanced analytics for predictive
insights, incorporating machine learning for diagnostic assistance, and expanding
interoperability with other healthcare information systems. Overall, the successful
implementation of this project demonstrates the potential of technology-driven
solutions to revolutionize healthcare services, paving the way for improved patient
care and laboratory operations.

You might also like