Lab Information System
Lab Information System
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
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
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
Automation
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].
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
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.
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
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 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.
Using this menu, the user can gather information, divide information, instrument
type information, location information, route information, ID, log information.
Report
13
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.
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].
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].
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:
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
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.
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.
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.
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
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.
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].
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
Alternative 1.3.1 After press delete button confirm box will appear
1.3.2 You can select delete/cancel/close button in
28
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
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
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
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
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
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:
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:
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
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.
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
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.
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.
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.
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
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.
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.
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.
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
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
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
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.
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
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.
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
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.
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
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.
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.
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
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.