Osmosis Jones Counter: Automating The White Blood Count Differential Process

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 99

2020

Osmosis Jones Counter


AUTOMATING THE WHITE BLOOD COUNT
DIFFERENTIAL PROCESS

THE GEORGE WASHINGTION UNIVERSITY


SCHOOL OF BUSINESS
MS INFORMATION SYSTEMS TECHNOLOGY
MANAGEMENT CAPSTONE PROJECT
The OJC System 1

Table of Contents
Executive Summary .................................................................................................................................... 4
Project Charter ..........................................................................................................................................................5
Part 1: Project Initiation ............................................................................................................................ 6
Important System Terms ...........................................................................................................................................7
System Introduction ..................................................................................................................................................7
System Functionality.................................................................................................................................................8
Overview of the System ............................................................................................................................................8
Business Case............................................................................................................................................................9
Organizational Description ..................................................................................................................................................... 9
System Description ............................................................................................................................................................... 14
Business Assumptions and Risks .......................................................................................................................................... 19
System Cost Targets & ROI Estimates ................................................................................................................................. 20

Part 2: Sprint 1.......................................................................................................................................... 22


Requirement Specifications and Models .................................................................................................................23
Activity Diagram................................................................................................................................................................... 23
Use Case................................................................................................................................................................................ 24
Scrum ......................................................................................................................................................................25
Epics...................................................................................................................................................................................... 25
User Stories........................................................................................................................................................................... 25
Sprint 1 Backlog.................................................................................................................................................................... 26
Product Backlog.................................................................................................................................................................... 26

Part 3: Sprint 2.......................................................................................................................................... 27


Detailed Software/Systems Design .........................................................................................................................28
Classes and Methods ............................................................................................................................................................. 28
Class Diagram ....................................................................................................................................................................... 29
Screens and Screen Flow (Human Computer Interaction) .................................................................................................... 30
Report Diagram..................................................................................................................................................................... 37
Business Rules ...................................................................................................................................................................... 38
Scrum ......................................................................................................................................................................39
Backlog ................................................................................................................................................................................. 39
Burndown Chart.................................................................................................................................................................... 40
Documentation and Code of Shippable Product......................................................................................................40
Code ...................................................................................................................................................................................... 40

Part 4: Sprint 3.......................................................................................................................................... 41


The OJC System 2

Behavioral Modeling...............................................................................................................................................42
State Chart............................................................................................................................................................................. 42
Sequence Diagram ................................................................................................................................................................ 43
Database Design......................................................................................................................................................44
Physical Database Schema and Description.......................................................................................................................... 44
Data Dictionary ..................................................................................................................................................................... 45
Test and Demonstration Data ................................................................................................................................................ 46
Security ...................................................................................................................................................................49
Overview............................................................................................................................................................................... 49
Purpose.................................................................................................................................................................................. 49
Scope..................................................................................................................................................................................... 49
Policy .................................................................................................................................................................................... 49
Policy Compliance ................................................................................................................................................................ 50
Scrum ......................................................................................................................................................................51
Sprint 3 Backlog.................................................................................................................................................................... 51
Product Backlog.................................................................................................................................................................... 51
Burndown chart..................................................................................................................................................................... 52
Documentation and Code of Shippable Product......................................................................................................53
Code ...................................................................................................................................................................................... 53

Part 5: Sprint 4.......................................................................................................................................... 54


User Test Plan & Scenarios.....................................................................................................................................55
User Test Management/Development ................................................................................................................................... 55
User Test Scenario Development .......................................................................................................................................... 59
System Capacity and Performance..........................................................................................................................60
Numbers and Types of Users ................................................................................................................................................ 60
Transactions .......................................................................................................................................................................... 61
Implementation Stages & Conversion/Installation method.....................................................................................62
Implementation Stages .......................................................................................................................................................... 62
Conversion/Installation method ............................................................................................................................................ 64
Support & Training .................................................................................................................................................65
User Training Plan ................................................................................................................................................................ 65
Help Functions ...................................................................................................................................................................... 66
Ongoing Maintenance/Support.............................................................................................................................................. 66
Scrum ......................................................................................................................................................................67
Sprint 4 Backlog.................................................................................................................................................................... 67
Sprint 5 Backlog.................................................................................................................................................................... 67
Product Backlog.................................................................................................................................................................... 68
The OJC System 3

Burndown chart..................................................................................................................................................................... 68
Documentation and Code of Final Shippable Product ............................................................................................68
Code ...................................................................................................................................................................................... 68

Part 6: Final Product ................................................................................................................................ 69


Major Changes to the System..................................................................................................................................70
Main Functionalities............................................................................................................................................................. 70
Database................................................................................................................................................................................ 70
Updated UML Diagrams.........................................................................................................................................70
Data Flow Diagrams ............................................................................................................................................................. 71
Activity Diagram................................................................................................................................................................... 74
Use Case................................................................................................................................................................................ 75
Class Diagram ....................................................................................................................................................................... 76
Report Diagram..................................................................................................................................................................... 77
Updated Interface ....................................................................................................................................................78
Screens and Screenflow Diagram.......................................................................................................................................... 78
Note Regarding Progress and Burndown Charts.....................................................................................................93
Future Considerations .............................................................................................................................................94
References ................................................................................................................................................. 96
The OJC System 4

Executive Summary
Part 1 of this document covers the details of the project initiation and will outline the conceptual
design, funding, feasibility, and purpose of the Osmosis Jones Counter (OJC) web application. The OJC
web application is a cost efficient, highly mobile, easy to use application that promotes the democratization
of health care by providing a low-cost highly effective alternative to current methods. In the first part, there
will be an introduction to the system, and those developing it; the Development Team and the Project
Management Office (PMO). Moreover, this document will detail the business case surrounding this project,
which will be broken down into Organization Descriptions (environment, business goals, competitive
position & benchmark, and the need for the system) and System Description (business or administrative
problems, dataflow diagrams, business assumptions/risks, and system cost targets & ROI estimates).
Following the review of this first part, the reader should have a grasp of the project, its benefits, strengths,
the problems it solves and its feasibility, and some of the risks this project might face prior to and during
development and production.

An agile (scrum) approach was taken for this project and was split into a total of four sprints. The
subsequent parts of this document outline the process of each sprint. The first sprint covers the requirement
specifications and models (activity diagrams and use case). The second sprint covers detailed
software/systems design, including the class diagrams, screen flow, and business rules. The third sprint
covers behavioral modeling, the database design, and security aspects of the system. Lastly, the fourth sprint
covers user test plan and scenarios, system capacity and performance, implementation stages and
conversion/installation methods, as well as support and training for implementing the OJC system. In
summary, this document outlines the details of the project initiation and sprints to demonstrate the entire
process of this project from initiation to the final minimum viable product (MVP).
The OJC System 5

Project Charter
System Summary

This document will outline the conceptual design, funding, feasibility, and purpose of the Osmosis Jones
Counter (OJC) web application. The OJC web application is a cost efficient, highly mobile, easy to use
application that promotes the democratization of health care by providing a low-cost highly effective
alternative to current methods.
Name Role Responsibilities Signature

Farris Program
Manage agile hybrid process, develop WBS,
sprints, assess and manager risks and works as
Farris
Darawsheh Manager
ScrumMaster Darawsheh
Tabassom Chief Data Develop databases, work on diagrams, organize, Tabassom
Abrari Engineer store and analyze data Abrari
Develop, test and implement the system and
Gregg Chief of
Legarda Development
software; design machine learning models and user Gregg Legarda
interface.

Chief of Conduct research to gather stakeholder


Da Seul
Kim
Medical requirements, apply design thinking, and perform Da Seul Kim
Design prototyping and feedback analysis

Mariamawit
Chief of
Medical
Conduct program analysis, write reports, liaison
between managers and developers, evaluate system
Mariamawit
Anteneh
System security Anteneh
The OJC System 6

Part 1: Project Initiation


The OJC System 7

Important System Terms


Complete Blood Count - Performed on a blood sample for patients as an initial screening to
determine abnormalities. A high white blood cell count usually indicates the patient’s body is fighting off
infection(s).

White Blood Cells - White Blood Cells (WBCs) are classified into these 5 types: Neutrophils,
Eosinophils, Basophils, Monocytes, and Lymphocytes. These types also have subtypes which is outside the
preview of this document. These types are usually related to specific types of infections (viral, bacterial,
parasites, allergies, etc.)

Differential - Differentials are typically performed once an abnormality is detected in the CBC
(initial screening). Following this detection medical technicians will perform a manual visual count of the
WBCs to detect abnormalities in both the counts and the characteristics in size, shape, color, and granularity
of the sample. Furthermore, the count may also include Platelet counts and RBC morphology. Figure 1
shows an example of a WBC Differential.

count • Diff % x Totel WBCcount

wBcPiffereotiel
Normal NormaJAbsoJ
ule Counts
Neutrophlls 30- 75 % Neutrophlls 1,500-8,000
Eosinophils 0-6 Eosinophils 0- 600
Basophils 0-2 Basophils 0- 200
Monocytes 0-10 Monocytes 0- 800
Lymphocytes 20-45 Lymphocytes 1,000-4,500

Figure 1. Example of WBC Differential

System Introduction
The Osmosis Jones Counter, also referred to as OJC going forward, will be designed and developed
with the goal of enabling medical laboratories of all sizes and within a number of industries to save time,
money, and provide a more accurate means for conducting white blood cell deferential counts. Currently,
medical technicians spend thousands of hours, looking over millions of microscope slides tediously
counting cells manually. OJC hopes to solve the tedious tasks of manually counting these cells. To
accomplish this, the OJC application will utilize visual machine learning to count white blood cell
differentials. In doing so, this will enable technicians to focus on additional critical tasks. A detailed
justification for the need of a system like the OJC is provided in the ‘Business Case’ section of this report.
The OJC System 8

This section details important aspects such as cost (i.e., how much does the current process cost), time (i.e.,
how much time does the current manual process take), as well as the competitiveness of the system in the
current market.

System Functionality
The OJC web application will use machine learning to classify white blood cells and count them
accordingly. The OJC application will replace the manual counting process, with an automated machine
learning algorithm that continually improves and learns over time. The OJC application will automatically
generate results with percentages and counts, and flag results based on set metrics for abnormalities alerting
medical professionals for diagnosis, and confirmation of results.

Overview of the System


The OJC web application will begin when a general physician orders a complete blood count for a
patient. Blood will then be extracted from the patient, and a complete blood count will be conducted on a
hematology analyzer. If the analyzer detects abnormalities, the medical technician will then input the
specimen and patient information into the OJC application for a WBC differential and further analysis.

The patients Name, SSN, DOB, Accession Date, Accession Number, and microscopic sheet
specimen will be entered in the web application. Following the patient input, the system will work to
generate high resolution magnified images of the specimen, which will then get inputted into the machine
learning algorithm. The algorithm works to break these high-resolution images into data by placing them
onto a tensor for analysis, generating pigmentation data points.

Following the analysis and generation of the data from the patients imaging, the algorithm looks
to find analogues data to determine the white blood cell count and determine if the sample is normal or
abnormal. If the sample is normal, it is saved in the Normal Sample database. If abnormal, the specimen
will be sent to a pathologist for further analysis, if the pathologist determines the received sample to be
normal, the sample is then also sent to the Normal Sample database to train the algorithm, if the pathologist
finds the sample to be abnormal, they will then provide the relevant diagnoses, and the abnormal sample
will be sent to the Abnormal Sample database for training.
The OJC System 9

Business Case
Organizational Description
Environment
The system’s main features include the collection and storage centers, testing center, treatment
analysis and reporting system. These are part of the data process where data is transformed from an input
to an output by optimizing data flow and storage. Outside the system, there is the patient, doctor and
pharmacy. The medical facilities such as laboratories and equipment are also surrounding the system and
are part of the overall workflow rather than in direct relationship with the OJC system. The data is collected
from the patient, the doctor receives the results that are abnormal to make further analysis, and a pharmacy
provides the requested medications. The OJC system will be a fully functioning web application with these
requirements fulfilled.

The external entities are the actors at the requesting and receiving end of the system. The main
purpose of the system evolves around the idea of making the differential WBC process simpler and faster
for these external actors. Essentially, the system is being built to satisfy a higher need for the input gained
from these entities and producing accurate results. Entities are represented by people, organizations, or
other systems that control the information outside the system (Dennis et al., 2015). For the OJC system, the
input begins with the patient. As an entity, the patient has several attributes or identifiers that are recorded
to the system along with the input going in. Identifiers are anything that can uniquely identify the patient
such as the name of the patient, DOB, SSN, and medical history. These attributes help the actor at the end
of the system i.e. the doctor, identify the patient specifically. In this case, the input is a blood sample of the
patient to be processed by the application. The output can be viewed by the patient directly depending on
the result. The input from the patient to the system is very important because it is data that is used to
continually increase the accuracy and reliability of the OJC system.

The doctor is the other main entity in the system. Once data is processed, some data is stored and
received by the patient, while other data goes to the doctor for further processing. The doctor also has
attributes that can include name, SSN, employment information, credentials and more. These attributes help
identify the doctor and his/her qualifications. Abnormal results from the processed data (i.e., patients’ blood
samples) requires further assessment by the doctor. If the doctor finds the flagged abnormal results as
actually normal, it is sent back into the system for storage. If the sample result is indeed abnormal, the
doctor can input recommendations, treatment plans, as well as medications for the patient to the system.
Communication with the patient will be considered outside the system or the entities being depicted.
The OJC System 10

The third external entity is the pharmacy. Attributes for the pharmacy include location, medicines
and healthcare providers. This external entity receives prescriptions from healthcare providers and provides
medication to patients. Most pharmacies have multiple methods of receiving prescription requests, such as
handwritten prescriptions, electronic prescriptions, and prescriptions called in through the phone. It is likely
that the pharmacy also has its own system of processing the prescriptions, insurance policies, and payments

All these transactions between the system and the entities show how the data is handled and how
the results of the inputs are addressed. As mentioned above, laboratory equipment and lab technicians could
also be entities. However, the idea of the OJC system is to reduce the number of actors around the system
and function more efficiently. The application will perform the duties of the specialized technicians and
large equipment such as the hematology analyzers.

Business Goals
The focus of the OJC system is to address the problems with the current structure and further dive
into the implementation of machine learning for differential WBC count. The OJC system can improve the
automation process by applying deep learning for continuous data collection and analysis. The system will
incorporate data acquired from patients, analyze the data and make determinations based on the data. The
OJC system will use dataset extracted from Kaggle to test the system and the accuracy level of the results.
The goal is for the system is to learn from the available data and show more accurate results as more data
is inputted. Machine learning is one application of computer science that is rapidly growing and can be
implemented in many areas of our lives. Medical experts can benefit from this because it reduces most of
the problems that come with manual intensive labor. Rather, with the implementation of the OJC
application, technicians can make better use of their time and resources elsewhere.

In healthcare, the three main components of the industry include access, cost, and quality. While it
is true that there is a complex relationship between these three, the general goal is to increase access to
patients, reduce overall cost and increase the quality of healthcare delivery (Burke et al., 2014). The
differential WBC count automation system can be part of reaching these goals. From an access point of
view, it will help patients by reducing the wait time to hear back the result of their test. Currently with the
manual or semi-automatic processes, it takes a significant amount of time before patients can access their
results (Alam et al., 2019). This new application will change that by significantly decreasing the amount of
time required to obtain the test results by utilizing an automated process, thus, eliminating the need for
manual counting. In this way, it will benefit healthcare industry/facilities tremendously as a shorter wait-
time will increase patient satisfaction, as well as allow doctors to implement treatment plans sooner. The
size and portable nature of this system will also make it possible to use in places (military bases and
The OJC System 11

developing countries) where manpower may be scarce, and the current automated machines are too large
and expensive to acquire.

The goal is to put the OJC system on the market to healthcare providers in the U.S. and around the
world as a top-quality product. The application will provide benefits of delivering accurate and transparent
information. It uses up-to-date technology and machine learning algorithms to make sure results produced
are reliable. The system, at the beginning, will have a lower accuracy rate because it will be based on a
predefined dataset. However, once the system is fully implemented, functioning, and takes on new data, it
will learn and begin to produce more accurate results. With time, the OJC system can eventually have better
accuracy than a trained technician because humans are more likely to make errors. Low-resource locations
can benefit from this because they may not have many technicians to perform the manual work and the
quality of education may also be low in many countries resulting in a lack of well-trained experts.

Finally, cost plays a huge factor in the proposal of this system. Besides offering to optimize the
process of patient-doctor interactions and the work of lab technicians, this system will be available at a
lower cost than most systems that are currently out there. The goal is to provide a system that can decrease
the amount of money spent on laboratories in the form of wages or equipment. Currently a lot of money
and resources, which will be discussed in detail later, go into laboratories across the U.S. Hospitals and
other medical centers can significantly reduce expenses with the introduction of a system such as the OJC.
It will not require a technician to analyze and determine a result and is also faster than a technician. The
application is also estimated to be much cheaper than the equipment they use in laboratories. Thus,
supplying the OJC system to healthcare facilities can be a step forward in achieving efficiency and
increasing effectiveness in our healthcare system.

Competitive Position & Benchmark


The differential count of WBCs is very important in the medical field. It helps determine diagnosis
for many patients based on images read from a smeared blood sample. Most medical institutes use light
microscopes to differentiate cells and the process requires a hematologist skilled in this area of medical
science to properly identify and assess the blood cells (Majors et al., 2019). This has been the procedure for
many years now, however, with the constant advances seen in the technology world, automation of this
process has become more and more prevalent. Manual methods are becoming less operational because
automated classification methods are faster, reliable and can be more accurate overtime with more data.
Hematology analyzers are the most commonly used automatic machines to count and characterize blood
cells. These machines are used for disease detection and monitoring and return a complete blood count
(CBC) with a three-part or five-part differential white blood cell (WBC) count. Hematology analyzers use
The OJC System 12

physical technologies such as electrical impedance which determines cell volume by allowing only one cell
to pass through an aperture at a time (Scoffin, 2014). Depending on the complexity of the machine,
hematology analyzers can run anywhere between $10,000 USD and $427,000 USD. The average cost in
2014 was $112,086 (Hernandez, 2014).

The OJC system is interested in the differential WBC aspect as the current as-is-system for
differential WBC has several issues related to accessibility and affordability. The differential WBC process
currently requires laboratory technicians to manually inspect and analyze the blood cells to further
determine abnormality. Although there are hematology analyzers that make automated differential possible,
manual differential is still required to identify cell types and detect clinically significant changes in WBCs
that are not detected by the automated methods. The physical technologies utilized by hematology analyzers
limit the level of analysis that can be performed on blood cells because they depend on the physical
properties of the blood cells such as size and volume. Things such as blood clots, nucleated RBCs, and
RBCs with abnormal hemoglobin’s can result in inaccurate results and require manual inspection by a
laboratory technician. 10 to 25 percent of all CBC samples are flagged by automated analyzers for manual
review, and some can be missed or conversely, falsely flagged (Greer et al., 2018). Automated basophil
counts using hematology analyzers are especially notorious for being unreliable, so the manual differential
is currently the preferred method for basophil counts. Additionally, hematology analyzers are expensive,
need infrastructure modifications and take up a significant amount of space (Majors et al., 2019).

A competitor for the OJC system is the XW-100 Automated Hematology Analyzer that was
recently approved by the FDA in 2017. This analyzer was granted a waiver under the Clinical Laboratory
Improvement Amendments of 1988 (CLIA) which allows it to be used by various non-traditional laboratory
sites such as physicians’ offices (FDA, 2017). Studies performed on the XW-100 found that untrained
personnel can effectively conduct accurate testing by following the manufacturer’s instructions for use. The
X-W 100 Automated Hematology Analyzer will provide faster results for simple CBC and WBC
differential. However, as this is an automated analyzer, it will eventually present similar issues of inaccurate
analyses and required manual review of flagged samples, especially for more sophisticated WBC
differential of complicated samples.

Other systems and researches in the automation process of CBC differentials include an image
processing approach. This is a semi-automated process where there is a three-step structure. First the WBC
is extracted using k-medoid algorithms from the image, then the RBCs are separated, and finally, labeling
algorithms are used to count the cells (Alam et al., 2019). The OJC system proposes to eliminate any
interference by expertise, is portable, and delivers quick results that are to be assessed by the doctor.
The OJC System 13

Another is the HemoCue DIFF, which is a small portable and disposable device that can perform a WBC
count and a five-part differential analysis when care is provided (Majors et al., 2019). This device uses
methylene blue, captures images of blood, and is fast and accurate. The accuracy level for these devices
were recorded to be higher than other systems, nonetheless, they were too expensive for routine usage. The
price ranged from $3.52-$5.58 per test, which is costly especially to developing countries that may lack
many resources (Majors et al., 2019). OJC is a system that has most of the features of the HemoCue such
as the accuracy, portability, and quick delivery of results. However, beyond the HemoCue feature, it will
process data, store it and learn from the data. This means that it is not disposable or used on a per test basis
but rather, information is fed to the system, and based on the data presented as well as previous dataset
points, it delivers accurate results in an efficient and effective way.

Need for The System


The current process in place for WBC differentials is specialized, time-consuming, costly, and
inefficient. Technicians must undergo specialized training to perform WBC differential and analysis.
Depending on the volume of slides that must be examined, the process can take three or more hours a day
to complete. Manual differential results have a 5 to 10 percent variation coefficient as the results are highly
dependent on the knowledge and expertise of the technicians analyzing the slide (Greer et al., 2018). Not
only is this process time-consuming for the technicians, but it is time-consuming for patients and doctors
as well. In 2017, only 32 percent of primary care facilities in the U.S. offered on-site testing, with the
majority having to send blood work to outside laboratories and wait to receive the results (Sysmex America,
2017). As a result, 37 percent of patients felt their expectations were not met by their health provider as
they had to travel to more than one location and/or schedule follow-up visits just for the test results.
Laboratory tests are crucial to healthcare services as they influence 70 percent of medical decisions but
wait-times of at least 24-hours can be detrimental to the health of patients who require immediate results
for the appropriate intervention and care (FDA, 2017).

Areas without adequate access to medical laboratories have even more difficulties providing the
necessary care to patients. A study performed on medical doctors providing rural care in Peru found that
many doctors were faced with diagnostic challenges due to limited access to diagnostic tools and services
such as specialists and laboratory services (Huaynate et al., 2015). A hybrid hospital model called
freestanding emergency departments (FSED) suggested for replacing hospitals in rural areas in the United
States relies heavily on adequate clinical laboratory testing services (McLeod, 2015). FSEDs have links
with primary care providers but they require adequate clinical laboratories to provide services to the FSEDs
in rural communities.
The OJC System 14

The American Clinical Laboratory Association reports that $22.8 billion USD was spent in wages
for laboratories in the U.S. (ACLA, n.d.). These include independent labs, hospital-based labs, physician
office labs, and other labs. The median hourly pay for a clinical laboratory technologist/technician in 2018
was $25.16 (U.S. Bureau of Labor Statistics, 2019). There are more than 200,000 clinical laboratories in
the U.S. (LabFlorida, n.d.). Quest Diagnostics, one of the largest providers of diagnostic information
services, has 46,000 employees itself (Quest Diagnostics, n.d.). With the assumption that there are at least
three technicians performing blood cell analyses in each lab for three hours a day with 261 working days
in 2018, that is $11.8 billion USD spent in 2018 for manual differential. This does not take into
consideration the costs of the required equipment.

System Description
Business Problem Addressed
Due to needs mentioned for a new system, problems were discovered in the current business that
will be solved by the end of the OJC project. One problem is the lack of accessibility for labs and medical
centers that could not afford the cost and expenses of hematology analyzers. The OJC system plays a
significant role in democratizing this technology and making it accessible to people around the globe.
Moreover, a major life-threatening problem is the low level of reliability and accuracy of the current
processes, including those that are manual, semi-automatic, and automatic. The OJC system can capture
and analyze blood samples visually, minimizing the errors caused by the physical technologies utilized in
current hematology analyzers. The system utilizes machine learning and data-driven methods to increase
accuracy and consistently provide results that is not be dependent on who is performing the differential
WBC. Lastly, high cost and large time-consumption must be addressed as well. The OJC system is
estimated to be much cheaper than the current hematology analyzers. Labor costs will also be reduced as
no specialized training will be required to utilize the system. The OJC system will also reduce not only the
time spent performing WBC differential counts but it will also reduce the time physicians and patients
spend waiting for the results. The OJC system can be available in medical laboratories, hospitals,
physicians’ offices, urgent cares, and other healthcare facilities to provide fast, accurate results within the
same visit.
The OJC System 15

Data Flow Diagrams (DFD)


To understand the flow of the data in the system, three data flow diagrams (DFDs) were built. These
DFDs describe the transfer of input (Patients’ data) to the final output (Reports). The first DFD that is used
to show how the entire system works together is as follows:

Context Level Diagram

and treatment plan,__________ -,


tr----- confirmation

selected Medicine and treatment


Patient >-------Sample-_-----------. plan

Report of lab,___________
work I
7

result

L-------
Treatment plan,________
confirmation
"t____ 0 ___ .. _______
1•
_jl
Treatment plan,________________
Lab System Test's -----------:--:;:::
options 1 r----- Result Patient's treatment plan
f----------- approval

I
!
medicine for treatment
plan
l
Medication

aJ
Figure 2. Context Level Diagram

Based on the diagram, the patient first provides his or her blood sample to the lab system. By using this
project’s software, the lab system will test the patient’s blood, complete a differential WBC and generate a
result. The result will be sent to the doctor and based on the doctor’s diagnosis, he or she will send a report
of the result to the lab system to be sent to the patient. The doctor also sends a recommendation report to
the lab system to notify the patient of treatment plan options. Depending on the doctor’s recommendations
and the patient’s choice, a treatment plan will be chosen, and a confirmation will be sent to the lab system
to be sent to the doctor. Then, the doctor will confirm the patient’s desired treatment plan and the pharmacy
will be notified by the lab system to provide medication. When the pharmacy fulfills the lab system’s
request, the lab system will notify the patient that the treatment plan can get started.
The OJC System 16

Level – 0

To better understand the process of the system, a DFD level – 0 was used to identify the sub-
processes that form the lab system. Sub-processes in this DFD are collection system, testing system,
treatment center, and reporting system.

Pallent's treatment plan_______ --,


~------------- data

~-----.
Sample
Patient's
Data -----~ . 1,0I Sample
Database
em

I
Paoent's
Not normal training,______ --, data
~------ Data

l
Ooctor(s)
Patient Test's
Normal trairnng,
______ --, Result
~---Data

,, noonaf
~---- data ------, 20

Tesung System
2.0 Normal
Database

OoclOr'snormal Recommendations
Report of the
resutt
result

°:~~snot normal____ -,
Patient's treatment plan
approval
40
selected Medicine and treatment
Report of lab 30 Not normal plan
wor1< Database Reportng
System

3.0

L_ _____________ confirmaoon
Treatmentplan•-----------------------i
Treatment
L ___________________________ Medicine and treatment~·---------,
confirmation Center

Treatment plan,________________________________________ _
opoons
medicine for treatment _______ ..J
~------ plan

Pharmacy ~------------M~=uoo-----'

Figure 3. Level - 0 Diagram

The patient’s sample, as well as the sample’s data, will be collected in the collection system and stored in
the sample database. Then, the testing system will test the data and if the result is normal, it will store it in
a database called normal database. However, if the result turns out to be not normal, it will be sent to a
doctor for review. After the doctor’s evaluation, he or she might conclude that based on the patient’s
situation, the result is either normal or not normal. The doctor will send a report to the reporting system,
the report’s data will get stored in the normal or not normal database based on the result’s status and a report
will be sent to the patient. If the result is not normal, the doctor will also develop recommended treatment
The OJC System 17

plans and send it to the treatment center to notify the patient. The patient can choose his or her desired
treatment plan and after confirming the plan, the treatment center will notify the doctor that a plan had been
chosen. When the treatment plan is confirmed, the treatment center will send the details of the treatment
plan to the pharmacy and request the required medicines. Once the medicine requirement is fulfilled, the
patient’s treatment plan data will be stored in the sample database and the patient will be notified that the
treatment plan can get started. Patients’ information in the sample database as well as in normal and not
normal databases, will be tested yearly for future improvements.

Level – 1

A level – 1 DFD was conducted to develop more detailed information about the system and break
down every child process to its sub-processes.

'-----------../
I
-----i--------1-----+---·P~:·-------<1,, f
Pa,lienfs
___________ ~

"""
....
Reportollhe
,
Doetor(s)

selecffld Medicine and!reatment

20 """
~-----·C::snormal ________ ~

-----+-----+--- 31

~-----°;:;,:sno1roormal ___ -+---------I

30 Nol.normal

"""'~

~-------------------------------~~trealmeflll)lar,

~------------------T~--------------------------~
~--------~plan ___________________________________________ ~

Figure 4. Level - 1 Diagram

Based on the level – 1 DFD, the patient’s blood sample will be drawn in the get sample process and its
detail will be sent to the collect data process. The data will get stored in the sample database and then will
be sent to the run test process to be tested. Once the sample is tested, a detailed result will be sent to the
generate a result process and if it is normal, it will get stored into the normal database. If not, the result will
be sent to the doctor for review. After the doctor’s evaluations, he or she might conclude that based on the
The OJC System 18

patient’s situation, the result is either normal or not normal. The doctor will send a report to the receive
report process and it will forward the detail of the report to the collect report’s data and process report
processes. The collect report’s data will store the result of the report in either normal or not normal database
based on its status, and the process report will send the final report of the patient’s lab work to the patient.
Once the doctor determines the result is not normal, he or she sends a recommended treatment plan to the
get recommendation process in the treatment center and the process recommendation will send treatment
plan options to the patient for review. The patient’s treatment plan approval will be sent to the
recommendation approval in the treatment center and it notifies the doctor that the patient chose a plan.
Once the doctor runs a treatment plan for the patient, the recommendation approval will send the detail of
the plan to the process plan and the pharmacy will get a request from the treatment center for the treatment
plan’s medicines. As soon as the medicine request is fulfilled by the pharmacy, the process plan will notify
the patient that he or she can contact the doctor to begin his or her treatment. Just like in other DFDs,
patients’ information in the sample database, normal and not normal database will be tested yearly for future
improvements.

Here is the breakdown of OJC system to its lowest level:

Structure Chart

/ '---

Figure 5. Structure Chart


The OJC System 19

Business Assumptions and Risks


Programmatic Assumptions

• The project assumes no venture capital as of this phase


• The project team shall consist of five members throughout the first phase of development
• The initial development phase “Proof of Concept” development will be concluded during May
2020
• Initial testing, and development will utilize a Kaggle.com data set to feed the systems machine
learning algorithm
• During the initial development phase of the project, notional use cases, data, and GUI development
will be conducted to prove the concept, with the anticipation that this will be further developed
during future development

Development Assumptions

• The system assumes a Hybrid Agile approach to development


• The system assumes the primary coding language to be Python, with some elements of SQL
• The system will be developed as a web application
• The system will use MySQL for database storage and organization
• The system will use JIRA for development tracking and organization

Risks

Enterprise Risks

OJC project will track, and work to mitigate enterprise level risks through a standard traffic light
system, where red equals high risk, yellow is medium risk, and green is low risk. In doing this project can
accurately mitigate or monitor risks before they become issues.

Risk Impact Probability


2nd Round Funding Availability
System Processing Speed •
0
••
Complexity of development efforts 0 0
Time constraints surrounding the development timeline for initial 0 0
development effort
The OJC System 20

System Risks

Contrary to the enterprise risk management approach, we will also track the project at a micro level.
This effort will kick off with the development effort kick off. In doing so, risks can be tracked outside of
JIRA, and establish a response to these system level risks, that can then be translated into stories.

Risk Impact Probability

•• ••
•• ••
System Cost Targets & ROI Estimates
System Cost
Project cost is based on a simple equation

𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐼𝐼𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐶𝐶 + 𝑃𝑃𝑃𝑃𝑃𝑃
𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼 𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐼𝐼𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐼𝐼𝐼𝐼 𝐶𝐶𝐷𝐷𝐶𝐶𝐼𝐼 = × 4 𝑃𝑃𝐷𝐷𝐼𝐼𝐼𝐼ℎ𝐶𝐶
$30,000
The development and PMO team will use free software, and their personal laptops to perform duties as it
related to the project. Each of the development team, and the PMO team will be paid equally for their efforts
in the sum of $150,000 yearly. These funds will be provided from the initial venture funding round.

Further development efforts will be based on the success of the initial development wave (proof of
concept). If this wave is successful, more developers and support members will then be hired. However,
for the sake of this project, only five developers have been hired.

ROI Estimate
Currently the project is in its initiation phase (year zero), during this time, the team will work at a
negative until launch. Following launch, or angle investing rounds numbers might change.
The OJC System 21

INPUTS YEAR CASH FLOWS


$
Cost Fixed Assets $ 15,000.00 0
(63,191.33)
$
Cost Non-Cash Working Capital $ 2,000.00 1
-
$
Cost Capitalized Operating Leases $ 2,000.00 2
-
$
Cost Accumulated Depreciation on Assets $ - 3
-
$
Years Average Life of Assets 35 4
-
$
% Inflation Rate During Asset Life (Annual) 4% 5
-
$
Years Remaining Life of Assets 35 6
-
$
% Salvage Value at End of Life 0% 7
-
$
Cost Current Earnings Before Interest and Taxes $ - 8
-
$
Cost Current Depreciation $ - 9
-
$
% Marginal Tax Rate 20% 10
-
$
% Nominal Cost of Capital 5.00% 11
-
$
12
-
$
OUTPUTS 13
-
$
Adjusted Gross Investment (for Inflation) $ 63,191.33 14
-
$
Gross Cash Flow $ - 15
-
$
Expected Salvage Value $ - 16
-
$
Years Remaining Asset Life 35 17
-
$
Cash Flow Return on Investment (CFROI) #NUM! 18
-
$
19
-
The OJC System 22

Part 2: Sprint 1
REQUIREMENT SPECIFICATIONS & MODELS, SCRUM
The OJC System 23

Requirement Specifications and Models


Activity Diagram
OsmosisJones CounterActivityDiagram
Patient Medical Tech Doctor Pharmacy

[
'
Give Blood
Sample
I
)
(
l Search for
Patient Profile

[ Create Account]
or Edit Account
J

[ Upload Pic<ures
of Sample for
J
Test

[ Capture Blood ]
Sample's Picture

[ Store Data in
sample Database
I
l
1
Result is Normal?

t J
0-N
I
( Generate
lAdditional Tests
Yes
~ l l
--{ Stme Data io , ]
Normal Database
[ ReviewTest
Results

Result isl Normal?


Lves-
K>------'
No

t
I
[
'
Update J
TreatT1entPlan
[ Store Data ioNo'.]
Normal Database
l
[ Provide ~edication
Opt,ons
l
~

[ Confirm
Treatment Plan J
I -(
l
Produce
Report r-LJ
i
I ( Send Prescription l r Prepare
to Pharmacy Prescription
l J l
'
[ Appointment
Make l [ ,,;;;:.;:;::.1
SampleDatabase J
I

[ Pick•up
Prescription
I
J
~ I
l
Notify the
Patient

l
I
The OJC System 24

The activity diagram begins with the Patient providing a blood sample. From there, the Medical
Technician searches for a patient profile. If the patient profile does not exist, the Medical Technician creates
a new patient profile. Once the patient profile is accessed, the Medical Technician edits/updates the profile
by uploading pictures of the blood sample received from the Patient. This data is stored in the Sample
Database. Once the pictures are uploaded and the samples are process, the test results are provided. If the
test results are normal, the data is stored in the Normal Database. If the test results are abnormal, they are
sent to the Doctor who will review the results and generate additional tests. The Doctor will review the tests
results and make a final decision on whether the result is truly normal or abnormal. If the Doctor states the
results are actually normal, the data will be stored in the Normal Database. If the Doctor states they are
abnormal, the data will be stored in the Not Normal Database and the Doctor will update the treatment plan
and provide medication options if necessary. Whether the results are normal or abnormal, a report with the
results and related treatment plans will be produced for the Patient to view. Once the Patient reviews their
results, if they are given treatment plans and/or medication options, they will confirm the plan. If there are
no medications or special treatment required in the plan, the Patient can make an appointment for a follow-
up. If there are medications in the treatment plan, the Doctor will send the prescription to the Patient’s
pharmacy once confirmation is received. The patient treatment data will be stored in the Sample Database.
The pharmacy will prepare the prescription and notify the Patient when it is available for pick-up. The
activity diagram ends once the Patient either makes an appointment or picks-up their prescription.

Use Case
Osmosis Jones Counter System
The OJC System 25

The use case diagram follows the activity diagram with the Patient providing a blood sample to
begin the process. The Medical Technician has the use cases of searching for, creating, and editing/updating
patient profiles. From there the samples can be processed and tested and stored in the Sample Database.
The most complex part comes when the test results are produced. There are two use cases extending from
the Produce Test Results use case because the path depends on the result. If the results are normal, it will
be stored in the Normal Database. However, if the results are abnormal, it will go through the whole process
of the Doctor reviewing the results and updating the treatment plan for the Patient, as outlined in the activity
diagram. Regardless of whether the results are normal or not, a report will be produced for the Patient to
view where the Patient can confirm the treatment plans and make a follow-up appointment, or pick-up their
prescription that would be sent to the Pharmacy by the Doctor.

Scrum
Epics
1) Medical Technician: Focuses on the backend development of this interface
2) Doctor: Focuses on the backend development of this interface
3) Patient: Focuses on the backend development of this interface
4) Machine Learning Algorithm: Focuses on the development and optimization of the Machine
Learning algorithm used in the software
5) Front End Development: Focuses on the development of customer facing interfaces, and the
terminals used to connect to each other and the Machine Learning Algorithm

User Stories
• User 1: Medical Technician
o As a Medical Technician, I need to create, edit, and update profiles so that I can upload the
pictures of the blood samples.
• User 2: Doctor
o As a Doctor, I need to search for patient profiles so that I can review and/or confirm the
report and create treatment plan(s).
• User 3: Patient
o As a Patient, I need to view my report and treatment plan so that I can confirm the treatment
plan(s).
The OJC System 26

Sprint 1 Backlog
~ .,, OJC Sprint 1 10 issues -Plansprintv

I o ...
D Login ifflMfi
8#¥\1#1 OJC-1 t
C DRTerminal OJC-8 t
D Patientlerminal -◊JC-9t

D MedTechTerminal ~ O.IC-10 t

C PatientGUI -OJC-16t

C DoctorGUI OJC-20 t
C MedTechGUI Medical T, OJC-21 t
D Create New Account i#§l#i■fflMfi O O.IC-22 t

D Forgot Password 1#¥i#Mft1Mt#I O OJC-23 t


D Forgot User Name 1#¥i#■lffiMMM O OJC-24 t

Product Backlog
C UserRoubng

C SearchPatient 0 0JC-29 f
C D1agnos1s
form 0 0JC-30 f
C ContactMedTech 0 0JC-32 f
C ContactPatientPharmacy 0 0JC-34 f
C ContactPatient 0 0JC-ll f
[J MLResultAnalysis 0 0JC-31 f
C SearchPat1ent 0 0JC-38 f
[J SendMLResults 0 0JC-37 f
[J UploadSample 0 0JC-36 f
C Subm~PatientInformation 0 0JC-35 f
C ContactDoctor -·OJC-28 f
C History -·OJC-27 f
C GetDiagnosis -·OJC-26 f
C UpdateInformation -·OJC-25 f
C Treatment
Planform 0 0JC-42 f
The OJC System 27

Part 3: Sprint 2
SOFTWARE/SYSTEMS DESIGN, SCRUM
The OJC System 28

Detailed Software/Systems Design


Classes and Methods

The following table shows all the classes in our class diagram with their attributes and methods.

Class Attribute Method

User - UserName + Login()


- Password -ChangePassword()
- UserType +SearchAccession()
- Fname
- Lname

Doctor - DocID - UpdateTreatmentPlan()


- Specialty - SendResults()
- MDPhone

Medical Tech - TechID - UploadAccession()


- SendResults()

Specimen - AccessionID - RunTest()


- Date - GenerateResults()
- SampleImages

Patient - PatientID - ViewTreatmentPlan()


- Gender - ConfirmPlan()
- DOB
/ Age
- SSN
-PTPhone

Result - AccessionID - ProduceTreatmentPlan()


- Date
- WBC Diff Results

Treatment Plan - TreatmentID - ContactPharmacy ()


- AccessionID
- Date
- WBC Diff Results
- Prescription

Pharmacy - Name -FillPrescription ()


- Address - ContactPatient()
- Phone
The OJC System 29

Class Diagram

The Osmosis Jones Counter Class Diagram


Use<

• vserName
• Password
• UserType
• Fnamc
•Lname

t LoginQ
• ChangcPMsword()
• SearchAccesSOl()

Pauent
Medical Tech
-AccessionlO -PallentlD
•Ooc:ID - Tcchld •Date l -Genelef
-Specialty . 5affl)!elmageS rovide ·D08
- MDPhonc 1.!
• UploaclAcceSSIOl'I() /Age
• ScndRcsults() • RunTestQ ·SSN 1.!
• UpdateTrea1men1Plan() - Gene,ateResolts() • PtPhooe
- ScndRcsultsQ
• ViewTreatmefltPlanQ
·COllllfmPlan() Picks Up Medicine From

Generates
Has
l ..•
TreatmentPlan
Pharmacy
• Treatmenuo
• AcccsSIOOIO -AcceSSIOlllD •Name
l_..•--1: ~~~ 01f1Results -Date l Address
~-----><.,,;iew, ________ od,ce Con
• WBC Ddt Results · Phone
- PrescnpllOO • FIIIPrescnpt,onQ
• ProduceTreatmentPlan() · ContactPatientQ
- ComactPharmacy()

l .. •
~------------pdaleS-----------------~

In the class diagram, the user class has three inheritance classes, doctor, medical tech and patient.
Each user has a UserName, Password, UserType, Fname (first name) and Lname (last name) and can login,
change their password and search accession. Other than the mentioned attributes and methods, inheritance
classes have their own attributes and methods as well. The doctor class has DocID, Speciality, and
MDPhone (Doctor’s phone) and can update treatment plans and send results. The medical technician class
has TechID and is able to upload accession and send results to the doctor. The patient class has PatientID,
Gender, DOB, Age, SSN, PTPhone (patient phone) and can view treatment plans and confirm plans. The
specimen class has AccessionID, Date, and SampleImages attributes and runs tests as well as generating
results. The result class has three attributes such as AccessionID, Date, and WBC Diff Results, and produces
treatment plans. The Treatment plan class has TreatmentID, AccessionID, Date, WBC Diff Results, and
Prescription and contacts pharmacies to request medicine. Pharmacy Class’s attributes are Name, Address,
and Phone and fill prescriptions and contact patients when their prescription is ready.
Relationships: A Medical Technician updates one to many specimen(s) for testing. One to many
specimen(s) is/are provided by a patient. Each Specimen generates a result and one to many results are
reviewed by a doctor. Each result will produce a treatment plan and a doctor updates one to many
treatment(s) when he reviews a result. One to many treatment plan(s) will be sent to the pharmacy and one
the pharmacy fulfills the prescription, patient(s) will be notified and one to many patients will pick up the
medicine from the pharmacy.
The OJC System 30

Screens and Screen Flow (Human Computer Interaction)


Screen Flow Diagram

Osmosis Jones Counter ScreenFlow Diagram

ILog;,l····
I
~-----YE<:.-~-N~-------~

Patient

Based on the screen flow diagram, once a user runs the system, the login page will pop up and if
the user has an account, after entering the login information can successfully login. If the user doesn't have
an account, he or she will go to the create an account page to enter his or her information and successfully
make an account. If the user does not enter the right login information, the system will generate an error
and the user will be sent to the incorrect password or username page. Once the user logs in, based on the
account type, he or she will be sent to different pages. If the user is a medical technician, he or she will be
sent to the medical technician home page where he or she can also view the view all record page. If the
medical technician needs to update an existing account, he or she can fill in the search box of accession id
(Search for accession page) and view differentials (WBC Differential Result page). However, if the medical
technician wants to add a new client to the system, he or she can click on the “Run New Specimen” button
and fill in the patient’s information (Create new accession page). Once the medical technician creates a new
accession, he or she will be sent to the creation confirmation page and from there he or she can see the
WBC Differential Result page. Next, the medical technician can update the account and click on the update
database to update the latest information of a patient. Once the medical technician is done updating an
accession, he or she can click on the logout button to logout and will be sent to the logout page. For other
users such as the doctor and the patient, we will be adding screens since we are still working on the code.
The OJC System 31

Screens

Screen 1 - Login Prompt

Screen 2 - Enter Login Information


The OJC System 32

Screen 3a - Incorrect Password

Screen 3b - Successful Login

After this screen, it will split into 3 different user interfaces for Technician, Doctor, Patient -
Currently have the Technician Terminal
The OJC System 33

Screen 4a - Home Screen for Technician

Screen 5a - View all Records


The OJC System 34

Screen 6a - Search for Accession

1 202003-1303-3708-db0£.:!7-7dfc-4d30-bcbG--Of236S8411CAb

2 202003·1303·3852--0~ba8812·3to3a.-41df•ld31•ffl1eneb'3f
2020-03-13TM::37~

2020..()3.13T02::38:52
AmNeme
wqfdu,

QWefW9f
DOB
12/3,41123'

12/3411234
SSN
12-34-123.4

123-41•2343
.,
60
,o
10
••
30

202003-1303-3708-c9b06a37-7dfc-4d39-bcb9-0f235:384K4b

: .: : : : : . -
Jtr~L.ympt,oeyt,e

-·ewwGJ·□□UGDkJ
,.
~boff.L~

·---·---·---·---·---·---·---·---·---
,.
Jtreditboff.~

~
'~-~


~-L~

,.
l't~ICbOft.JI~


JlrfdktKw!L~


~-Lw~e

'JI
Pndktionly~

..

Screen 7a - Create New Accession (Run New Specimen)

DOB SSH EOS'JC.


2010-0J..11T02.J7:0I WQI.., l2/Mll2M 12·-3-1•12J.4 ., IO :,a

2020..0l-1:JTOt:31:12 ~ 12/l4112:M 123-41•23,63 60 IO 30


The OJC System 35

Screen 8a - Creation Confirmation

008 SSN EOS'K


1 202003-1303•3703-c:9b05.l37-?<ffc-4<:130-bcb9--9f2:3S384.clb 2020.Q3-13102:37)08 wqfdMf AdlUdfH 12/34/12.34 12-34-1234 $7 10 28
2 202003-1303·3862-0lbe8812-8"39-41dt·8d81-9t11e779b(3f 2020·03-13T02:38:52 q,,,-e,tltffl 12/,.,,234 12341-23'3
~edqwef 50 10
"'

~-----------------
202003-1303-3852-0ebe8812-3-39-41df-8d81:-9f11e779b'3t e
A WIC dlffwentlal wlll be pe,form,e,cl
Diff f

Screen 9a - WBC Differential Results

~□~""~-:FrJ;n=A=F~\□--~-~:F,Q=~
: :.........___J:L..:J=~t....:...J:
,-~~L.:J
·---·---·---·---······--·---·---·---
p_,eoic:t~ i"r'eo<.tlOl'I~ PfedlctM:111:~~ ~.Neut,opt,I Pledittlon~ ""t'CllclJOftt.yrnphO(ylt P,NQl(ll'I.Honol!',t~ ~ic:lti:W>lytl'lph(l(ytt

l~QW□Ei]O□W~ ,,_._,_r,i,,,,,y,,,

-0,- SPECMENNFORMATIOH __
W8C OIFERRENTIAL
Morl)h;,logy

..,
RESULTS(PERCENTAGE)

Specimen Acceui:Jn Number

PatMntRrs1 Namt
_.,...,,
PetlemLMtr-rne

SocWS.C..ity-
-
202003•1304·1413--cdt41b486•16e8-.4f86
2020-43-13T03:1.a..13
_,...,
12/34/1234
12'3-41-2341
...a21247c!lie58d2
-Count
WBCPwcent

Lymphocyte Count
MonocytoCouot
Ecmna,hiCCU'll
(~,S%)
(2M"'I
(0-1:>!lj
(0 .... )
"""""""'
30.0!<
... O!<
1&.0% H
11.0% M
The OJC System 36

Screen 10a - Updated Database

Screen 11a - Logout Confirmation


The OJC System 37

Report Diagram

ProcessReportDiagram

Med Techuploads
sample
-- Systemprocesses
sample
-- Systemgenerates
results -
Normalresults
stored in data

·~ I

Patientprovides Abnormalresults Reportis Treatmentplan (if


blood sample sent to doctor generated any) sent

' '
Pharmacy
Doctor reviews
receives
results
prescription

Patientviews
report

The above diagram shows the process of the OJC system. First, the patient will give sample blood
which the medical technician will upload onto the system. The sample will be processed and results are
generated from this given sample. Normal results are automatically stored in data that will then generate a
report for the patient to view. Abnormal results will be sent to the doctor, and upon his/her review, a report
will be generated for the patient with recommendations from the doctor on how to proceed. If a treatment
plan with prescriptions is given, the prescriptions are sent to a pharmacy where the patient can go and pick
up their medicine.
The OJC System 38

Business Rules

Login BusinessRules

Usernamefield will onlyallow upto 90 charactersand can allow either desigJ1ated


usernameor e-mail usedto registeraccount.

The password must contain at least two non-contiguous number digits. The password must
include at least one number digit within the password. The password cannot be only
numbers. The password cannot match any part of the user's full name or include the
Username

- UserTypo will providethe optionto choosebetween Doctor,Technician,or Patient

- Login Button, will prompt a pop-up with an error message if password is incorrect

- UserTypefield will be a drop down that allowsfor the selectionof logininterfaceof user

Home screenfor technicianwill onlybe accessiblebvthose designatedastechniciansor

Accosted ID field will contain a multi-character code, that can be shared discreetly to those
with a need to know, without the inclusion of PII information

Technicianwill be able to run new specimenupdatesdirectlyfrom the home page

Home page will display specimen history and results

I Date andtime of specimenresultswill be displayed

Results from analysis within the machine learning engine will display alongside images of
the specimen on the homepage

WBCdifferentialresultswill displaywhile noti111Neutrophil,Lymphocyte,Monocyte and


Eosinophilcounts,referencera111e,and flags

Upon technician log-out a "logged out successfully" confirmation message will display to
ensure information is protected
The OJC System 39

Scrum
Backlog
Issue key Issue id Parent id Issue Type stab.JS Project key Sprint
MySQLUserDB OJC-46 10015 Story In Progress OJC OJCSprint2
Dia_gnosis Form OJC-30 10029 Story To Do OJC
Create machine learning model OJC-44 lOOl3 Story To Do OJC OJCSprint 2
Increase model accurac,y OJC-43 lOOl2 Story To Do OJC OJC Sprint 3
Create New Account OJC-22 10021 Story In Progress OJC OJC Sprint 2
Forgot Password OJC-23 10022 Story In Progress OJC OJCSprint 2
Login OJC-1 llXXXJ Story Done OJC OJCSprint2
Foraot Us.er Name OJC-24 10023 Storv In Proe:ress OJC OJCSorint2
Patient GUI OJC-16 1001.5 Story Done OJC OJC Sprint 1
Doctor GUI OJC-20 10019 Story Done OJC OJC Sprint 1
DRTenninal OJC-8 10007 Story To Do OJC
Tr-eatment Plan Form OJC-42 10041 Story To Do OJC
IVled Tech Terminal OJC-10 10009 Story To Do OJC
Run Test OJC-39 10038 Storv To Do OJC OJCSorintS
Input New Train Data from Doctor OJC-41 10040 Story To Do OJC OJCSprintS
Test Optimization OJC-40 10039 Story To Do OJC OJC Sprint 5
Update lnfonnation OJC-25 10024 Story To Do OJC
Submit Patient Information OJC-35 10034 Story To Do OJC
Search Patient OJC-29 10028 Story To Do OJC
Contact Med Tech OJC-32 10031 Story To Do OJC
Search Patient OJC-38 10037 Story To Do OJC
Send ML Results OJC-37 10036 Story To Do OJC
Upload Sample OJC-36 10035 Story To Do OJC
Contact Patient Pharmacy OJC-34 10033 Story To Do OJC
Contact Patient OJC-33 10032 Story To Do OJC
ML Result Analysis OJC-31 10030 Story To Do OJC
History OJC-27 10026 Story To Do OJC
Contact Doctor OJC-28 10027 Story To Do OJC
Get Diagnosis OJC-26 1002.5 Story To Do OJC
User Routing OJC-17 10016 Story To Do OJC
MedTech GUI OJC-21 10020 Story Done OJC OJCSprintl
Code for user routing based on
permissions OJC-19 10018 10016 Sub-task To Do OJC
Patient Terminal OJC-9 10008 Story To Do OJC
development of the ML algorithm to
include interfaces OJC-15 10014 Epic To Do OJC
This is where the Medical Technician
can upload information_.. process
patient.sand so on. OJC-14 1001.3 Epic To Do OJC
This is the doctors interface where
he/she can reoeive and upload
information OJC-13 10012 Epic To Do OJC
This Epic covers. the development of
s.ub patient GUI interfaces.., and the
interfaces that connect to the patient
to allow the patient to see the
diagnosis.., and reports OJC-12 10011 Epic To Do OJC
This Epic will include all wire-frames.,
and framework development., to
include GUI mock and planning
development OJC-11 10010 Epic To Do OJC
create login password data ba.se and
registration database OJC-45 10044 lO'.JOO Sub-task To Do OJC OJCSprint 2
Establish user permissions OJC-18 10017 10016 Sub-task To Do OJC
Remember password/user name
option OJC-7 10006 lO'.JOO Sub-task In Progress OJC OJC Sprint 2
Forgot password/username button OJC-6 10005 lO'.JOO Sub-task In Progress OJC OJC Sprint 2
Si gnu p for new account button OJC-5 10004 lO'.JOO Sub-task In Progress OJC OJCSprint 2
check username and password and give
accessordenied pop up OJC-4 10003 lO'.JOO Sub-task In Progress OJC OJCSprint 2
link to username/password database
for authentication OJC-3 10002 10'.l00 Sub-task In Progress OJC OJC Sprint 2
Develop web aoplication GUI for loJ?in OJC-2 10001 lO'.JOO Sub-task Done OJC OJC Sorint 2
The OJC System 40

Burndown Chart

• Guidel1n~
• Remaining Valutt
Non-Woning Days

~ Show Non-Working Days

Mar11 Mar12 Mar13 Mar14 Mar15 Mar16 Mar17 Mar18 Mar19 Mar20 Mar21 Mar22 Mar23
TIME

Documentation and Code of Shippable Product


Code

Code and required documentations are available via GitHub:

https://github.com/gregglegarda/WBC_Recognition_DEMO
The OJC System 41

Part 4: Sprint 3
BEHAVIORAL MODELING, DATABASE DESIGN, SECURITY, SCRUM
The OJC System 42

Behavioral Modeling
State Chart
State Chart for OJC System

Machine
Technicianruns Learning model
new specimen ------tResults stored _____ _
provides blood -----­ -------calculates WBC -----­
• sample using sample differential in database
Received Uploaded -----~ Calculating Generated Stored

Out of Range
Results available
for review by Doctor Normal Results are
Sending for
available for patient
Review

Doctor reviews,
--~---
Ava iIab Ie
viewing

comments, and
submitsfinal result

Patient views
results

Out of Range
Results updated
with Final Results
Final Results are
available for patient
viewing
Updated

The state chart above shows the change of state in the system and how the process progresses from
the starting point to the end of a cycle. The process begins when the patient gives a sample and the process
progresses from that point on. The sample is received and uploaded to the system by the medical technician
where the testing process for the sample will begin. This test will generate a result that is either normal or
out of range. For the normal result, the system will make the result available for the patient to view. Out of
range results will be available to be viewed by the doctor for review. Here the doctor can make comments
and submit the final results. Once the out of range results are finalized as either normal or abnormal, the
results will be available for patient viewing. The process ends once the patient has viewed their results from
the patient terminal. This chart shows the core design and processes of the OJC system. The state symbols
show when something is in process and the transitions describe when one process is done and moves to the
next process.
The OJC System 43

Sequence Diagram
Sequence Diagram for the OJC System

Technician OJC System

Give Blood Sample Run New Specimen


(PatientlD, Fname, (PatientlD, Fname, Lname, ,....L__
Lname, DOB, SSN) DOB, SSN, Sample images)

Store Data [
(AccessionlD, Acc_Date, PatientlD,
Result, Eosinophil%, Lymphocyte%,
Monocyte%, Neutrophil%)

Send Normal Result


(AccessionlD, Acc_Date, PatientlD,
Result, Eosinophil%, Lymphocyte%,
Monocyte%, Neutrophil%) Review Out of Range Results
(ReviewlD, AccessionlD,
Review_Date, Description) Send Prescription
(Patient information,
Send Final Result Doctor information,
(AccessionlD, Acc_Date, PatientlD, Result, Prescription information)
Eosinophil%, Lymphocyte%, Monocyte%,
Neutrophil%, Review_Date, Description)

Process and Prepare [


(Patient infomation,
View Results , Doctor information,

D
((Ac<:essio!llD, Acc_Date, Patienutj, Result, Prescription information)
Eosmoph1~%, Lym~hocyte%, Mon~c~e%, Schedule Appointment
Neutroph1I%, Rev1ew_Date, Desci1pt10n) (Patient information,
Appointment location,
Appointment date and time)
Send Pickup Notification
(Pharmacy Name
Pharmacy Address,
Pharmacy Number)

Pick up the Prescription


(Patient information,
Payment information)

The sequence diagram shows the main classes that are related to the OJC at the top: patient, medical
technician, the system itself, the doctor and the pharmacy. The patient first gives a blood sample and re-
enters the process later. The technician uploads the sample to the system and runs a new specimen. The
OJC system’s sequence begins when it receives samples, puts them through the machine learning algorithm
and generates results. It stores the initial results and makes the normal results available for viewing by the
patient. The out of range results are available for the doctor to review. The doctor can review the results,
make comments, and submit the initial out of range result as normal or abnormal. The doctor can also send
prescriptions to the pharmacy. The final results are submitted back to the system and makes them available
for viewing by the patient. After the patient views their results, they can schedule an appointment with the
doctor. If a prescription is sent, the pharmacy will process the request and notify the patient when the
prescription is ready for pick up. The patient can then pick up the prescription and make a payment or use
their insurance. This sequence diagram details the messages sent between each class and when each object
has significance in the system process.
The OJC System 44

Database Design
Physical Database Schema and Description

Database Review
11Review ID : int(11)
# Accession ID : int(11)
OJC Database Test_Results
@ Review_Date: datetime
11AccessionlD : int(20)
® Final Result : text
# PatientlD: int(11)
@ Ace Date : datetime
lniti;j Result: enum('Normal','Abnormal','Out of Range')
OJC Database Patient
® Eosinophil% : char(3)
11PatientlD : int(11)
® Lymphocyte% : char(3)
® Fname : varchar(10) ® Monocyte% : char(3)
© Lname: varchar(10) ® Neutrophil% : char(3)
@ DOB : date
® SSN: char(11)

Based on the above diagram, the database has three tables. These tables are Review, Test_Results,
and Patient. Each table has a primary key and the Test_Results table and Review Table have foreign keys
as well. The Test_Results table and Patient Table are connected through the Test_Results table foreign key
(PatientID) and the Patient table’s Primary key (PatientID). The Review table and Test_Results table are
connected through the Test_Results table’s primary key (AccessionID) and Review Table’s foreign key
(AccessionID).
The OJC System 45

Data Dictionary

Patient
Column Type Null Default Comments
PatientID (Primary) int(ll) No
Fname varchar(l0) No
Lname varchar(l0) No
DOB date No
SSN char(l l) No

Indexes

Keyname Type Unique Packed Column Cardinality Collation Null Comment


PRIMARY BTREE Yes No PatientID 0 A No

Review
Column Type Null Default Comments
ReviewID (Primary) int(ll) No
AccessionID int(ll) No
Review _Date datetime No
Description varchar(250) No

Indexes

Keyname Type Unique Packed Column Cardinality Collation Null Comment


PRIMARY BTREE Yes No ReviewTD 0 A No
FK2 BTREE No No AccessionID 0 A No

Test_Results
Column Type Null Default Comments
AccessionlD (Primary) int(ll) No
PalientID inl( 11) No
Acc_Date datetime No
enum('Normal',
Result 'Nol Nonnal', No
'Out of Range')

Eosinophil% char(3) No
Lymphocyte% char(3) No
Monocyte% char(3) No
Neutrophi1% char(3) No

Indexes

Keyname Type Unique Packed Column Cardinality Collation Null Comment


PRIMARY BTREE Yes No AccessionID 0 A No
FKl BTREE No No PalicnLID 0 A No
The OJC System 46

The tables above elaborate more on the tables and their data type as well as the type and specification of
primary and foreign keys used in the OJC database.

Test and Demonstration Data


Tables below are some examples to test and demonstrate the database’s functionality.

Patient Table

...................... FROM
'Patient'
PatientlD Fname Lname DOB SSN
1 John Doe 1996-12-03 759-48-4 711
2 Ethan Park 1990-12-11 755-43-2765
3 Katy Perry 1988-06-07 352-71-2658
4 Chia Seeds 1975-09-23 661-42-6388
5 Roberto Rodriguez 1991-11-03 534-12-8767
6 Maru Chan 1999-09-17 144-31-9871
7 Ben Dover 1989-09-09 784-54-5682
8 Hugh Jass 1976-10-18 935-67-8523
9 Donn Aldak 1979-11-23 349-74-366
10 Mike Oxbig 1992-04-20 238-75-2837
11 Dixie Normous 1992-06-14 337-85-3536
12 Luke Atmadic 1988-10-26 214-84-5289
13 Eric Shun 1997-09-12 145-06-4832
14 Mike Hockerts 1986-12-19 107-97-2348
15 Hugo First 1999-08-23 062-57-8520
16 Xavier Breth 1995-06-16 721-19-8261
17 Noam Sayin 1994-10-11 452-81-8238
18 Thad Hertz 1968-03-17 142-81-1929
19 Gabe ltchez 1993-08-22 157-90-2461
20 Phil McRack 1995-06-19 827-61-2581
21 Hue Janus 1983-11-03 563-42-8973
22 Janet Alias 1983-08-14 142-54-1935
23 Mike Hunt 1982-05-13 421-87-9033

In this table, all the information available in the Patient table is provided. The table has five columns with
unique values and is connected to the Test_Results table by its PatientID.
The OJC System 47

Test_Results Table
SELECT * FROM 'Test_Results'
Accession ID PatientlD Acc_Date Initial Result Eosinophilo/o Lymphocyte% Monocyte% Neutrophil%
1000 1 2020-04-04 14:05:13 Out of Range 2 56 14 28
1001 2 2020-04-04 14:14:57 Out of Range 3 56 9 32
1002 3 2020-04-0414:16:41 Out of Range 7 57 13 23
1003 4 2020-04-0414:17:34 Normal 3 49 19 29
1004 5 2020-04-0414:18:27 Normal 7 42 16 35
1005 6 2020-04-0414:19:33 Normal 7 49 16 28
1006 7 2020-04-04 14:21 :31 Out of Range 8 44 10 38
1007 8 2020-04-04 14:22:23 Out of Range 6 51 17 26
1008 9 2020-04-04 14:23:31 Out of Range 5 46 13 36
1009 10 2020-04-04 14:24:37 Out of Range 5 54 15 26
1010 11 2020-04-04 14:25:34 Normal 6 49 17 28
1011 12 2020-04-04 14:26:35 Out of Range 6 53 16 25
1012 13 2020-04-04 14:27:37 Out of Range 5 56 13 26
1013 14 2020-04-04 14:28:50 Out of Range 6 61 6 27
1014 15 2020-04-04 14:31 :02 Normal 9 48 11 32
1015 16 2020-04-04 14:32:05 Normal 5 50 17 28
1016 17 2020-04-04 14:33:07 Out of Range 7 52 13 28
1017 18 2020-04-04 14:35:15 Out of Range 7 53 11 29
1018 19 2020-04-04 14:38:38 Normal 6 45 16 33
1019 20 2020-04-04 14:39:50 Normal 2 49 16 33
1020 21 2020-04-04 14:40:50 Out of Range 1 56 10 33
1021 22 2020-04-04 14:42:19 Normal 6 45 14 35
1022 23 2020-04-04 14:43:21 Out of Range 4 43 17 36
1023 21 2020-04-05 00:04:47 Out of Range 6 58 12 24
1024 9 2020-04-05 00:07:27 Out of Range 4 55 14 27
1025 9 2020-04-05 00:08:42 Normal 7 46 17 30
1026 9 2020-04-05 00:09:44 Normal 8 45 15 32
1027 9 2020-04-05 00:14:02 Out of Range 4 52 12 32
1028 9 2020-04-05 00:14:51 Normal 7 46 14 33
1029 9 2020-04-05 02:36:46 Normal 7 45 13 35

This table demonstrates and stores all the information about the test results. It has eight columns
and is connected to the Patient table as well as the Review table. An individual can view all the results and
all the details about it. Once the initial result of a test is out of range, then the doctor will review it and take
a look at the white blood cell factors and decide based on the patient’s situation whether her or his test result
should be normal or abnormal.

*
.s..E.~.E.~! FROMTest_Results WHERE Initial_Result~"0ut of Range"
AccessionID PatientlD Acc_Date lnilial_Result I Eosinophilo/o Lymphocyte% Monocyteo/o Neutrophil%
1000 1 2020-04-04 14:05:13 Out of Range 2 56 14 28
1001 2 2020-04-04 14:14:57 Out of Range 3 56 9 32
1002 3 2020-04-0414:16:41 Out of Range 7 57 13 23
1006 7 2020-04-04 14:21 :31 Out of Range 8 44 10 38
1007 8 2020-04-04 14:22:23 Out of Range 6 51 17 26
1008 9 2020-04-04 14:23:31 Out of Range 5 46 13 36
1009 10 2020-04-04 14:24:37 Out of Range 5 54 15 26
1011 12 2020-04-04 14:26:35 Out of Range 6 53 16 25
1012 13 2020-04-04 14:27:37 Out of Range 5 56 13 26
1013 14 2020-04-04 14:28:50 Out of Range 6 61 6 27
1016 17 2020-04-04 14:33:07 Out of Range 7 52 13 28
1017 18 2020-04-04 14:35:15 Out of Range 7 53 11 29
1020 21 2020-04-04 14:40:50 Out of Range 1 56 10 33
1022 23 2020-04-04 14:43:21 Out of Range 4 43 17 36
1023 21 2020-04-05 00:04:47 Out of Range 6 58 12 24
1024 9 2020-04-05 00:07:27 Out of Range 4 55 14 27
1027 9 2020-04-05 00:14:02 Out of Range 4 52 12 32
1030 21 2020-04-05 04:09:47 Out of Range 3 54 13 30
The OJC System 48

Based on this table, 18 results should be seen and reviewed by the doctor before sending a report
of the test to the patient. Once the initial result is clear and is either normal or abnormal, a report will be
sent to the patient and the data will be stored in the database.

Review Table

FROM 'Review'
··-----·-
RevtewlD Accession ID Revlew_Date Flnal_Result
100 1000 2020-04-09 14:05:13 NORMAL

No cell inclusions seen


No abnormal cells seen
No immature cells seen
Cytoplasm granularity seems normal
Nucleus color and granularly normal
101 1020 2020-04-05 14:40:50 ABNORMAL

Pappenheimer body cell inclusions present


Myeloblast cells present
Elevated lymphocytes

Possible Acute Myeloid Leukemia


102 1027 2020-04-04 00:14:02 ABNORMAL

Pappenheimer body cell inclusions present


Myeloblast cells present
Elevated lymphocytes

Possible Acute Myeloid Leukemia


103 1024 2020-04-01 00:07:27 ABNORMAL

Pappenheimer body cell inclusions present


Myeloblast cells present
Elevated lymphocytes

Possible Acute Myeloid Leukemia


104 1023 2020-04-03 00:04:47 NORMAL

No cell inclusions seen


No abnormal cells seen
No immature cells seen
Cytoplasm granularity seems normal
Nucleus color and granularly normal
105 1030 2020-04-13 04:09:47 ABNORMAL

Pappenheimer body cell inclusions present


Myeloblast cells present
Elevated lymphocytes

Possible Acute Myeloid Leukemia


106 1022 2020-04-12 14:43:21 NORMAL

No cell inclusions seen


No abnormal cells seen
No immature cells seen
Cytoplasm granularity seems normal
Nucleus color and granularly normal

The table above is an example of the data stored in the Review table. Based on this table, out of 18
results that should be reviewed by the doctor, only 7 results are yet reviewed and are assigned a final result.
The OJC System 49

Security
Overview
Web applications account for a large portion of attack vectors that are outside of malware. As such,
it is critical that any web application be assessed for vulnerabilities to avoid attacks by adversaries. It is
important to the functionality of the application and the reputation of the company that uses it that the data
within the system is safe and secure.

Purpose
The purpose of this policy is to define and outline the web application security within the Osmosis
Jones Application (OJC). The OJC web application assessment is performed to identify potential or realized
weaknesses due to inadvertent misconfiguration, weak authorizations, insufficient error handling, sensitive
information leakage and so on. Discovering and mitigating these issues are critical to the success of the
project, and to uphold the privacy of application users and their data.

Scope
This policy will outline all OJC web application security assessments needed to maintain a high-
level security posture. This policy will include security measures and policies for any individual, group or
department that uses the OJC application. Security Assessments are to be conducted by security
professionals either employed or contracted by OJC, and all findings are considered confidential trade
secrets, and are to be distributed on a “need to know” basis. The Chief Information Officer (CIO) will be
the only authority authorized to distribute assessments outside the organization.

Policy
Our system is subject to security assessments based on the following:

1. New or major application releases – will be subject to full assessment pitot to approval of the
change control documentation through the change control board (CCB) prior to release into the live
environment
2. Third-party applications that augment, subsume, or alter the OJC application will be subject to a
full assessment and will be bound to all other security measures and policies within the OJC system
3. Patch releases – will be subject to assessments to ensure an acceptable level of risk as a result of
the changes to the functionality and/or system architecture

Security issues will be addressed or mitigated as they are discovered, with priority given to threats
determined to be of a higher security threat to the system. Security threats are placed into three
categories:

1. High – High risk issues that must be fixed immediately. System should be taken offline to address
issues.
The OJC System 50

2. Medium – Medium risk issues should be reviewed to determine what is needed to mitigate the issue
while fixes can be scheduled for future patches.
3. Low – Low risk issues should be reviewed to determine what is needed to fix the issue.

Assessments:

1. Full Assessment – A full assessment tests for all known web application vulnerabilities in
automated and manual bases. Manual penetration testing techniques will be used for discovering
vulnerabilities to the system to determine the overall risk level associated.
2. Rapid Assessment – A fast paced assessment that is automated in nature, these will be scans to the
application for top risks known.
3. Targeted Assessment – Targeted assessment that is conducted to verify vulnerabilities, and
functionality changes.

Approved partners and applications for security assessments:

1. RedHat – Vulnerability testing


2. AWS Security Systems (Cloud Environment Security)

Policy Compliance
Complaisance Measurement

Information security team will ensure compliance to the policies outlined within this document, to
include periodic walkthroughs, video and chat monitoring, business tool reports, internal and external
system audits.

Exceptions

All exceptions to the policies outlined within this document must be approved by the CIO.

Non-Compliance

Anyone found to have violated the policies outlined within this document are subject to disciplinary
action, up to and including termination of employment.

Related Standards

1. HIPAA Security Rules


2. OWASP Top Ten
3. OWASP Risk Rating
4. OWASP Security Testing Guide
The OJC System 51

Scrum
Sprint 3 Backlog
" OJC Sprint 4 7 issues - - Plan sprint ..,

•••••
13/Apr/20 4:28 PM • 04/May/20 4:28 PM

-
IJ Finalize DR Terminal OJC-8 t
IJ Finalize Med Tech Terminal OJC-10 t
IJ Finalize Patient Terminal OJC-9 t
IJ Increase model accuracy Machine Learning Alga ... OJC-43 t
IJ Run Test
0 OJC-39 t
IJ Upload Sample
0 OJC-36 t

"
IJ Update UML diagrams

OJC Sprint 5 2 issues


• OJC-48

Plan sprint ..,


t

0
ll Test Optimization Machine Learning Algo... e OJC-40 1"

1J Ml Result Analysis Doctor Cl) OJC-31 t

We just ended Sprint 3 and began Sprint 4. These are the backlogs for the remaining sprints. Sprint
4 is the last sprint for the purpose of this course and will result in the Minimal Viable Product (MVP). Sprint
5 and additional sprints going forward will consist of additional features that are not essential to the
functionality of the system.

Product Backlog
Backlog 15 issues Create sprint

IJ User Routing OJC-17 t


IJ Search Patient
0 OJC-29 t
IJ Send ML Results
0 OJC-37 t
IJ Treatment Plan Form
0 OJC-42 t

-
IJ Diagnosis Form
0 OJC-30 t
IJ Input New Train Data from Doctor Machine LearlJ.!!19Alga ... 0 OJC-41 t
IJ Contact Doctor
0 OJC-28 t
IJ Contact Med Tech
0 OJC-32 t
IJ Contact Patient Pharmacy
0 OJC-34 t
IJ Contact Patient
0 OJC-33 t

--
IJ Search Patient
0 OJC-38 t
IJ Submit Patient Information
0 OJC-35 t

IJ History
0 OJC-27 t
IJ Get Diagnosis
0 OJC-26 t
IJ Update Information
0 OJC-25 t
The OJC System 52

The product backlog currently has 15 issues that will most likely be addressed in future releases of
the product depending on user testing and feedback.

Burndown chart

•Gu1del1ne
•RemainingValue,s
Non-Worl,:,ngOays
EJShow Non-Working Oays 7

Mar24 Mar25 Mar26 Mar27 Mar30 Mar31 Ap,2


TIME
Apd Ap,6
""' Ap,8 Ap,9 Apr 10 Apr13

This is the burndown chart for Sprint 3. The current burndown chart does not accurately represent
the true progress within the program. This is due to strong estimates not being present for a number of
stories. As a result, we have added the cumulative flow diagram for Sprint 3 to reflect the true progress of
our production. We have begun adding more accurate estimates for the stories in Sprint 4 and will actively
log the progress moving forward.

29/feb/20 to 13/Apr/20 (All Time) • Refine report ...

60
• To Do
• In Progress

• Done
50

40
"'
:,
~
0
ffi 30
;
:,
z

20

10

Mar 3 Mar 6 Mar 9 Mar 12 Mar 15 Mar 18 Mar21 Mar 24 Mar 27 Mar 30 Ap, 2 Apr 5 Apr 8 Apr 11

TIME
The OJC System 53

Documentation and Code of Shippable Product


Code
Code and required documentations are available via GitHub:

https://github.com/gregglegarda/WBC_Recognition_DEMO
The OJC System 54

Part 5: Sprint 4
USER TEST PLAN & SCENARIOS, SYSTEM CAPACITY &
PERFORMANCE, IMPLEMENTATION STAGES &
CONVERSION/INSTALLATION METHOD, SUPPORT & TRAINING,
SCRUM
The OJC System 55

User Test Plan & Scenarios

A user test plan will be put in place to monitor the quality and functionality of the OJC application.
Below is the specific test strategy and approach to be implemented serving as a basis for carrying out test
scenarios. Uses of a test plan include:

• Aids users to understand the application and its details.


• Serves as a guide that users will follow when working with the application.
• The test process documentations will help managers in future prospects.

User Test Management/Development

The OJC will implement several steps as follows to plan for and develop a test plan that is
manageable, produces accurate information, and facilitates the purpose of the application. Our team
implemented an eight-step strategy in formulating a test plan.

Product Analysis

The OJC application facilitates the automation of the white blood cell differential process making
for an efficient and cost effective tool. The main users of this application are the medical personnel (doctor
and medical technician) and the patient. It is developed as a web application using python as a coding
language.

Test Strategy Development

This will be a step by step plan that details the specific testing methods.

1. Scope of testing: In-scope testing for system functionality and result accuracy. Out-of-scope for
database testing and external hardware.
2. Testing type: Test team has decided to implement agile testing as the standard test type for the
OJC application. Moving forward, test team also plans to implement integration test following
system integration with the MySQL database.
3. Testing risk assessment: A few possible risks have been identified below.
The OJC System 56

Risk Response plan


Testing team lack necessary skills Include in training manual
Work is busy and may not have time for Educate on the need for prior testing for
completing testing procedures good outcome
Poor website management Set manager training plan

4. Test Logistics: It is important to identify who will conduct testing and when tests are conducted.
For the OJC system, tests will be conducted by the team who understand the system from the users
perspective as well. Tests first occurs when all requirements for the system have been finished and
before finalizing the project.

Testing Objective

Objectives help understand the outcome one is looking for when conducting a test on the OJC system.
Below are some specific objectives of carrying out a test.

• Functionality testing for verifying there are no errors that may occur when in use.
• User interface testing to validate that system is working as anticipated and users will be satisfied
with their experience.
• Authenticating the need for the site and making sure it fulfils its purpose of simplicity.

Test Criteria

The team has implemented two types testing criteria: suspension and exit criteria. If more than 15% of test
cases fail, testing will be suspended and must be fixed before moving forward. Exit criteria is that at least
90% of testing for aimed outcome must be met before moving onto the next phase.

Resource planning

This is an important step in determining the resources need for the project such as human or equipment
resources. The first table shows a possible plan for human resource procedure while the second one covers
system resource requirements.
The OJC System 57

Human Resource Allocation:

Project Team Responsibilities


Member 1 Manage project and testing prospects
Member 2 Categorize test techniques, formulate approach, conduct test and
report findings
Member 3 Develop and implement test scenarios, report finding
Member 4 Provide support for test environment and maintain proceedings
Member 5 Conduct follow-ups and manage quality assurance

System Resource Allocation:

System resource Description


Server To run a web application, possible different web server and
database server
Network Required network to administer the application over the internet
Computer To connect to the web server and run the application

Setting Test Environment

This constitutes the surrounding in which testing will occur. Specific procedures in understanding test
environment are listed below:

• Application allows for maximum number of users at a time.


• Nature of the website does not increase user traffic.
• It does not require for specific software or hardware on user end to run program.
• It does not require for setting changes on PC to run program.

Test Period Estimation

The following is the period estimation for testing which outlines the required amount of time to complete
each task in a test plan.
The OJC System 58

Task Estimated time Performer


Creating test techniques and approach 30 hours Member
Conducting test 20 hours Member
Provide test report 10hours
Test analysis and deliverable 10 hours Member
Total of Tasks 70 hours

Following the estimation, test team will develop a schedule to performing the tasks in the testing process.
The test manager can use this estimation and schedule to monitor progress and validate it follows project
guidelines.

Test Deliverables

Lastly, test documents are to be produced regarding every step of testing trials. These documents produced
can be classified into three stages of the process: Before testing, during testing and after testing.

Test Deliverable list

Before testing deliverables o Test plan


o Test scenarios
o Testing description/design

During testing deliverables o Current test scripts


o Test data
o Test traceability/process diagrams
o Error/bug report
o Execution report

After testing deliverables o Test result report


o System fail repot (if any)
o Test procedure followed report
o Release notes
The OJC System 59

User Test Scenario Development

The OJC team has developed several scenarios to test if the system is fully functional. This will be done by
developing and highlighting scenarios from the user perspective. The following are some sample scenarios.

Test Scenario 1: Check login functionality for all users

Test case for this scenario may be using valid inputs in required fields for a user, and if it logs in it indicated
that it was successful. Another test case may be using an invalid username while all other inputs are correct.
This should prompt an incorrect or failed attempt for the user.

Test Scenario 2: For technician user, check home page functionality

Test cases for this scenario include: testing functionality for viewing records, search for patients using
accession ID, uploading specimen, running specimen, viewing results and updating patient information.

Test Scenario 3: For doctor user, check home page functionality

Test cases for this scenario include: testing functionality for viewing out of range results, running new
specimen, searching with accession ID, viewing results and writing comments after final analysis of results.

Test Scenario 4: For patient users, check home page functionality

Test cases for this scenario include: testing functionality for searching for all (if more than one) test results,
selecting specific tests, and viewing results.

Test Scenario 5: Check logout functionality for all users.

Test case for this scenario is the logout button. The user should be signed out after executing this function.

Several runs of this (both valid and invalid attempts) should give a complete test analysis for the
program. These test scenarios help in identifying all possible events that may occur when using this
program. As this is a transactional application, these scenarios are critical to application functionality. In
any failed attempts, customer service team will be available to help users navigate the program.

Sources:
Guru99 (“How to Create a Test Plan”, n.d.)
Guru 99 (“What is Test Scenario? Template with Examples”, n.d.)
The OJC System 60

System Capacity and Performance

Numbers and Types of Users


Our current types of users in the system are Patients, Doctors, and Technicians. Technicians run
images from a specimen sample and view results of each specimen run. Doctors review and comment on
results flagged by the machine learning algorithm as ‘Out of range’. Patients access the system that displays
their test results in a document format. The number of users the system can handle is based on the processing
power and storage capacity of our server. We are currently using personal computers to run our program
and it is only Mac OS compatible. Currently, only one user can use the software at a time.

In order to make the OJC system efficient and fully functional, our server will use cloud-based
services such as hosting, computing, and storage, to take care of the capacity and performance. Using cloud-
based systems have an advantage over local-based systems in terms of implementation, IT support and
troubleshooting, scaling the product, and security. Scaling the number of users will not be an issue using
cloud-based services and multiple users will be able to use the system at the same time. The capacity and
performance of the OJC system could also easily be improved by requesting an increase in the need of
service from our third-party cloud server.

To outline advantages of using a cloud-based system, implementation will be simpler because there
will be less processes for the installation for each computer needed, and it will be up and ready in the cloud.
Secondly, there will be a decreased need for IT support since servers are not local and are taken care of by
a third party. Thirdly, scaling is easier since there will be no need to increase physical servers. Local servers
need additional hardware for the capacity and performance required in systems compared to cloud-based
servers that can request for an increase in cloud services. Lastly, it can provide greater security compared
to local based implementation. Cloud service providers usually rely on heavy security for their data centers,
whereas if local servers are utilized, we will need to provide physical and online based security measures.

These are just a few of the advantages for running the software using cloud-based services. A
disadvantage is there must be internet connection for the software to function. Nonetheless, reasons for
choosing a cloud-based system far outweigh the disadvantages and are more beneficial in terms of saving
time, money and management resources compared to local servers.
The OJC System 61

Transactions
The OJC system transactions are broken down into the following components: Software
Installation, Model Training, Model Prediction and GUI Functions. Software Installation refers to the
processes required to set up the software to get it running and functioning properly. This includes installing
the programming language (Python) in the computer, the packages needed, hierarchy setup of the folders,
and other configuration setups needed in the local computer. Model Training involves the time to complete
a model to be used later in a prediction. Training the model can be as often as monthly or weekly depending
on the needs of the organization. Model Prediction includes the time it takes to predict the specimen images
provided using the training model. It usually takes less time to predict than to train the model. GUI
Functions include the time it takes to display the results of an action in the screen. Examples are buttons,
viewing images, viewing tables, and reading and writing computer processes. The transaction times are
usually short as long as the algorithms are correct, and loops are avoided in the computer script. What the
current system provides in terms of transaction efficiencies will be discussed in the following sections.

Installation
Our current system is only limited to one operating system, Mac OS, and there are installation
requirements needed (outlined in the requirements folder of the github repository) to run the program (i.e.,
programming environment and Python packages). Transaction times are all short except for the machine
learning algorithm classifier. In addition, there is the training time required for our current machine learning
model. It could take up many hours to set up and install all the requirements and configurations needed for
running this software. In the future, the system will be set up and continuously running in the cloud to avoid
these requirements and will be compatible with all operating systems. Installation requirements will no
longer be required to run the software. The only requirements would be internet connection and access to
the application in the cloud.

Model Training
Our current trained model took overnight to train over 10,000 image samples of white blood cells
from Kaggle, using a personal computer (MacBook Air). We ran multiple models to determine the most
accurate one. In total, the time to complete the model was 5-6 days. In the future, in order to make this
process more efficient, we will use a cloud-computing service with GPU capabilities to expedite the training
process and run different models at the same time. Running different models at the same time will increase
efficiency and significantly reduce the training time to a couple of hours. Model training may be scheduled
weekly or monthly, depending on the organizations needs for their models to be currently updated.
The OJC System 62

Model Prediction
Our current model prediction takes about 25-30 seconds to complete, which is significantly faster
than a medical laboratory technician. The current process requires the technician to input the specimen and
patient information on the screen. Although the prediction is already automatic, in the future, we will
implement automatic input of information by barcode reading and stacking of specimen slides. This is
further discussed in the future considerations section of Part 6. Since we will also be using cloud services,
we can also reduce the time of prediction to as fast as one second or to what the hardware can handle (i.e.,
how fast it can move through individual specimen slides and capture blood sample images).

GUI Functions
Our current GUI functions do not have any known problems in terms of efficiency. All functions
are executed within an instant of every action. In the future, as more additional features are added, this
might slow down. However, we can adjust the algorithms and/or add cloud services as needed.

Implementation Stages & Conversion/Installation


method

Implementation Stages
To report how work was unfolded and served, implementation stages need to be addressed. In order
to bring a project to action, developers should undergo and initiate the first step as soon as any changes are
considered and end these stages when the project is fully done (NIRN, n.d.). Researchers believe that these
stages may take two to four years to fully and successfully operationalize an evidence-based project (Fixsen,
Naoom, Blase., Friedman, Wallace, 2005). These stages are exploration, installation, initial
implementation, and full implementation. To successfully implement these required changes, the following
stages were developed for the OJC system.

Exploration
In the first stage, exploration, the goal is to address why there is a need for a change in the system.
This is a critical stage since, in this stage, the implementation team needs to take their time to fully address
what to change, how to change, and who shall change it to save time and money with the best outcome
(NIRN, n.d.). The implementation team is also responsible to address any potential challenges and barriers
The OJC System 63

that may happen in the future related to any change, funding, staffing, and even referrals (Minnesota
Department of Education, n.d.). Once the implementation team successfully completes this stage, a clear
implementation plan with tasks and a timeline will be developed to initiate the implementation of the
project.

The exploration stage of the OJC system began when a need for a cost and time efficient system
was defined in medical centers. Once the need was determined, the plan was made to change the current
system and add a machine learning algorithm to the new system to make the system more efficient. Our
team was developed and included a project manager, a chief data engineer, a chief of development, a chief
of medical design, and a chief of medical system. Along with the implementation plan and the challenges
that were discovered, our team initiated the implementation of the OJC system.

Installation
Unlike this stage’s name, the new system is not yet ready to get installed. However, after developing
an implementation plan, resources should be acquired. The implementation team must make sure that there
are enough resources available to start the project and they will partner with developers and organizations
that have the required resources. They should also plan and create a support system such as training staff,
coaching, data system, etc. to boost the confidence of the team and developers to make changes that should
be addressed by the end of the project (NIRN, n.d.).

For the installation stage of the OJC system, we were able to obtain all the resources that were
needed to develop the OJC system, including resources for the python coding language, and used the JIRA
platform to track our progress day by day.

Initial Implementation
During the initial implementation stage, the key concern of the implementation team should be to
improve the system by having consumers examine and try the new system and learn to improve it and
expand its other contexts (NIRN, n.d.). In this stage, the use of rapid-cycle problem solving teams, tracking
process-related data as well as having a support system that could notice challenges and be able to solve
problems (Minnesota Department of Education, n.d.).

In the initial implementation stage, the Osmosis Jones Counter system was used and examined by
our chief of development to improve and detect any problems in the system. After using and examining the
system multiple times to address problems that were detected, we believed that the MVP is complete and
ready to be released.
The OJC System 64

Full Implementation
Once 50% of staff or team members start using the new system, the full implementation stage has
been reached. In this stage, the objectives and changes that were addressed in the implementation plan
should successfully be met. However, the system should still continuously improve to impact an
organization’s practices and objectives. Evidence-based programs, in particular, should continue to be
developed and improved based on the feedback from users and through transitions of leaders and staff of
the organization (NIRN, n.d.). Throughout the project, each stage has core objectives and activities that
should be met and considered by the end of the implementation stage timeline. In addition, overall indicators
that determine the success of these stages are the ability of the new system to move forward with the new
program with fidelity and positive feedback from its users (Minnesota Department of Education, n.d.).

Once our chief of development and chief of medical design confirmed the accuracy and efficiency
of the OJC system, the other members of our team were able to use the system and provide any feedback
regarding the functionality and user experience. After the full implementation stage, we could successfully
meet the objectives of the project and introduce the system to organizations that require this innovation.

Conversion/Installation method
A way of approaching the implementation of the new system is physically converting the old
system to the new system. There are different methods of conversion such as pilot, parallel, gradual, etc.
The best conversion methods that can be used for the OJC system are either pilot or gradual. Based on the
customers’ needs, either of these two conversion methods can be applied.

The pilot conversion is useful for customers that have several locations. If a customer requires us
to convert the new system using pilot conversion, the OJC system will be available for use to a small group
of users for testing and evaluation. During the conversion, the test group user can provide feedback to the
implementation team to make the rollout to all users easier. Then, based on the support system programs,
other employees can get trained for the new system once the new system has been approved by the test
group users. The advantages of using this type of conversion are that it could reduce risks in the
implementation process and allows an organization to see when is the best time to switch to the new system
based on whether the new system meets the objectives and requirements of the organization. However, the
disadvantage of this method is that too much time might be spent in the location/department to determine
if the new system meets the requirements, which will eventually increase the labor and training costs as
well (Hussain, 2016).
The OJC System 65

Gradual or phased conversion can also be used for companies that use agile methodologies. In this
type of conversion, the new system is gradually replaced with the previous system (W3computing.com.,
n.d.). Therefore, users have time to gradually get used to the system and detect any errors and flaws of the
new system without spending a lot of time on it. As the features of the new system are introduced one at a
time, users can add features as well (W3computing.com., n.d.). The advantages of this method are that there
will be fewer errors in the new system since everything is being done gradually and that IT staff are able to
train staff of one department in an organization effectively and then move to another department. However,
a disadvantage of this method is that it might take a long time to convert the new system to the organization
since it is done one by one and gradually (Hussain, 2016).

Support & Training

User Training Plan


Train the Trainer
Model
The Train the Trainer model is a strategy used within many organizations. The trainer in this model,
is a subject matter expert (SME), who trains other employees or customers in the use of a new technology
within a program. This method offers a greater advantage over other methods because trainees learn faster
and train other trainees better due to their experience from their past training.

Best Practices
1. Tailor training to your audience
2. Do not overdo or over complicate the training
3. Objectives of the training should be known to all in attendance

Plan
Training sessions will consist of two trainers and up to 50 student trainers. The plan is to host
quarterly training events to those purchasing the OJC software package. Following these sessions, trainees
are expected to have the knowledge and subject matter expertise to train others within their labs or
organizations.
The OJC System 66

Virtual Refreshers
Med Tech Refreshers
Medical Technicians will undergo yearly virtual refreshers. Additionally, Medical Technicians may
be required to take virtual training in the case of major functionality changed as a result of a patch. Virtual
training will be conducted via an interactive online course, with the ability to ask for assistance via chat on
the training medium.

Virtual Patient and Doctor Training


Patient
Patients will be presented with a PDF training document, that will provide them with the steps to
access their records. This document will be automatically e-mailed to patients once the doctor has provided
a prescription or comments on their results.

Doctor
Doctors will be provided virtual interactive training with a live instructor that can provide guidance
live via interactive live sessions in conjunction with virtual learning assessments and testing for certification
to use the software.

Help Functions
AI Help Support
Help functions within the software are limited to AI supported chat help desk, which is yet to be
developed as of the time of this report. However, this functionality is planned during post go-live patches.

Ongoing Maintenance/Support
Tiered O&M
The OJC will operate maintenance and support via a tiered approach. In doing so the program will
follow the following Support Tier designation for all O&M activities:

1. Tier 0: Is a self-support service, that provides customers with support via automated voice response
call centers, touch pad response, and AI chat bots.
2. Tier 1: Solves basic issues, and answers general questions about the software s functionality
3. Tier 2: In-Depth technical support
The OJC System 67

4. Tier 3: Handling advances problems that need investigation at the code level
5. Tier 4: Support powered directly by OJC development and or hardware engineers

Scrum
Sprint 4 Backlog
.., OJC Sprint 4 4 issues • • Plan sprint v

13/Apr/20 4:28 PM • 11/May/20 4:28 PM

• 1J
1J
1J
1J
Finalize DR Terminal

Finalize Med Tech Terminal

Finalize Patient Terminal

Update UML diagrams


-
-•-
Doctor

Medical Tech
9JE-8

0JE-9
1'
1'
1'
1'

Some issues were moved to Sprint 5 due to the time constraint as well as keeping to the essential
functions required for the MVP.

Sprint 5 Backlog
.., OJC Sprint 5 5 issues Plan sprint v

IJ
IJ
Test Optimization

Increase model accuracy


Machine Learning Alge ..,


Machine Learning Alge ...
OJC-40

OJC-43
1'
1'

IJ
IJ
Run Test

Upload Sample
Machine learning Algo ...

Medical Tech •• OJC-39

OJC-36
1'
1'

IJ ML Result Analysis ~
• OJC-31 1'
The OJC System 68

Product Backlog
Backlog 1S issues Create sprint

IJ User Routing Front End Development OJC-17 1'

IJ
IJ
Search Patient

Send ML Results •• OJC-29

OJC-37
1'
1'

IJ
IJ
Treatment Plan Form

Diagnosis Form •• OJC-42

OJC-30
1'
1'

IJ
IJ
IJ
IJ
IJ
Input New Train Data from Doctor

Contact Doctor

Contact Med Tech

Contact Patient Pharmacy

Contact Patient

Machine Learning Alga... Gi) OJC-41

••
••
OJC-28

OJC-32

OJC-34

OJC-33
1'
1'
1'
1'
1'
1'
IJ Search Patient OJC-38


IJ
IJ
IJ
IJ
Submit Patient Information

History

Get Diagnosis

Update Information


OJC-35

OJC-27

OJC-26

OJC-25
1'
1'
1'
1'

Burndown chart
•Guid~me
• Remaining Values
No,,-Worli:,ngOti~

I @ Show No,,-Working O"'fs

AprlS Apr17 Apr19 Apr21 AJlf25 APf27

TIME
Apr29 Mtiyl Mtiy3 MtiyS May7 May9
~ May11
I

Documentation and Code of Final Shippable Product


Code
Code and required documentations are available via GitHub:

https://github.com/gregglegarda/WBC_Recognition_DEMO
The OJC System 69

Part 6: Final Product


The OJC System 70

Major Changes to the System

Main Functionalities
In the initial system, the test results were to be searched and accessed through patient profiles.
Medical Technicians were responsible for creating these patient profiles and entering in the appropriate
information for each patient. However, while developing the product, it was evident that patient profiles
should not be a significant feature for the minimum viable product (MVP). To prevent scope creep, the
essential functions of the OJC were discussed. These include: 1) performing WBC differentials using an
automated process through AI, 2) viewing test results, 3) searching for test results), and 4) assigning the
correct final label to each test result. Considering these essential functions, the simplest way to achieve
these objectives was to remove the feature of patient profiles. The individual records already had a unique
accession ID that could be used to search for them and view each result. In this way, the login methodology
was also simplified for patients, in that there was no need for patients to create a new account but could
access their test results through personal information. This simplified the class attributes for each user as
well. In addition, the relationships between the doctor, pharmacy, and patient were simplified as many of
the functionalities related to the pharmacy are out of the scope for our project.

Database
The initial system had separate databases for each result (i.e., Normal, Abnormal, Out of Range).
However, we simplified this and decided to store all the data in one database with multiple tables. So instead
of each label going to a different database, all the records will go to the same database and contain the
appropriate label for that record. The MySQL database designed in Sprint 3 is built with this change in
mind.

Updated UML Diagrams

Taking the above changes to the OJC system into consideration, the UML diagrams created prior
to these changes have been updated below. The state chart and sequence diagrams were made after the
changes were made, so they are up to date with the current system. These diagrams as well as the state chart
and sequence diagrams from Sprint 3 provide a more accurate representation of the final OJC system for
this project.
The OJC System 71

Data Flow Diagrams

Context Level Diagram

Osmosis Jones Counter


System Context Level Diagram

Pharmacy

Patient Blood
Medication l
Rx from
Doctor
------ .omments:-------,
---- Sample -----~.
------'---~.__Patient Test Final Test
Results 0 .---- Results __ __,

Patient Initial Test


Patient 1---- Results --.-i Doctor
Information OJC
.__Patient System Prescription
Medication

Final Test Specimen


results Data
Patient
Initial Test
Data
Results

+
Technician
The OJC System 72

Level – 0 Diagram

The Osmosis Jones Counter


System Level - 0 Diagram

2.0
Test _
10 Sample Database

I
Collection Testing Results
System System

'-----r-------T

Patient Blood
Sample
t
Specimen
Data
Patient
I Information
I
Patient Final Test
Patient - Data ---•i Technician
Results

t
Initial Test t
Results Final Test
Results

30 Initial Test
1---- _·____ _;----- Results
Patient Test
~----Patient ~----- Results Reporting
Medication System

Pharmacy
Rx from
Doctor
4.0

Treatment
System
lntial Test
Results

i
l
Comments
Final Test
Results

~---Medicine·---~t lPrescription Doctor


The OJC System 73

Level – 1 Diagram

The Osmosis Jones Counter


System Level - 1 Diagram

1.0

1.1 1.2
Sample
Get Blood Details - Collect
Test
-·10 Sample Database
I Sample Patient Data
- Results
I
Patien t Blood
samp le II
Pat1ent
I Dala

Pat 1ent
Patient
Information
- l 2.0

2.1 2.2
Specimen Detailed
Technician
Data Results Generate
Run
Test Results

t
Initial Test
Results r
Fnal Test
'
Results
Patie nt Test
Res ults
l.P

- 3.1

Collect
Report Data
_ Repo~t -----+-
Details
3.2

Organize
Initial Results
-
3.3

Update Final
Results
Final Test
Results ----~

Medication i
I lnitia I Test
Results ----------~
Initial Test Comments
Results Final Test
Results
4.0

4,2 4.1 Doctor


Prescription
...,_ Details Prescription
Notify Prescription
Patient Information

Rx From
Medication
Doctor
Pharmacy
The OJC System 74

Activity Diagram

The Osmosis Jones Counter Activity Diagram


Medical Tech Doctor Pharmacy

Upload Pictures
Give Blood
of Sample for
Sample Test

Store Data in
SampleDatabase

Result is Normal?

No Review Flagged
'-1---- Test Results

Review Test
Yes Results

Result is Normal?

~
Yes No

View Test Update Submit as


Results Database ,._ __ t--1 Normal

Send Prescription Prepare


'----+-------------,1----+I to Pharmacy 1-----1--__, Prescription
Make
Appointment

Pick-up Notify the


Prescription Patient
The OJC System 75

Use Case

The Osmosis Jones Counter System


Use Case Diagram

Blood
Sample

Uses

Doctor
The OJC System 76

Class Diagram

Osmosis Jones Counter System


Class Diagram

User

- UserType
- Fname
- Lname

+ Login()
- ChangePassword()
- SearchAccession()
- ViewTestResults()

r
I
Medical Personnel Patient

- Username - PatientlD
- Password -DOB
/ Age
- SendResults() -SSN l..*

' - ProvidesPatientlnformation() 1
- ProvideBloodSample()
Picks Up Medicine From

11
Provides

IL*
Specimen
Doctor Medical Tech
- AccessionlD
-DoclD - Techld 1..* -Date
- Specialty ~Uploads- Has
- Samplelmages
- MDPhone
- UploadBloodSample()
- RunNewSpecimen() - RunTest()
- ReviewFlaggedResults() - GenerateResults()
- SendFinalResults()
- ContactPharmacy()
11
l..* Generates
1

11
Results

- AccessionlD
1..* - Patientlnformation
Review~ - Date
~ 1
- WBC Dill Results
Phar macy
- ProduceFinalReport()
-Name
1 -Address
~ontact
- Phone

- FillPrescription()
- ContactPatient()
The OJC System 77

Report Diagram

The Osmosis Jones Counter


System Process Report Diagram

provides Technician System generates


blood sample - uploads sample - System runs test
- initial tesults

i
Flagged results
Doctor submits Out of Range Results stored in Patient views test
are reviewed by
final results results are flagged sample database results
Doctor

I t
,
Prescriptionis Pharmacy Patient is notified Patient makes
sent to Pharmarcy
(if required)
- receives and fills
prescription
and picks up
prescription
- follow-up
appointment
The OJC System 78

Updated Interface

Changes to the User Interface (UI) were also made throughout the process taking into consideration
the changes made to the OJC system, as well as different human-computer interaction aspects to improve
the ease of use and overall User Experience (UX).

Screens and Screenflow Diagram

High-Level Screenflow Diagram

Osmosis Jones Counter ScreenFlow Diagram

~-Lo~g-in~]~•------------­
- Page .

Medical
~------YE,,_-----< Personnel? )----~~<.>-------~

Enter
Technician Enter Fname,
username Patient
or Doctor >----~~---..Lname, DOB,,._ ___ __,
Login
and
Last4 SSN
Login
password

Medical
Technician MEDICAL TECH
Dashboard

PATIENT

! Review
View all Run new Patient View all
flagged
test results specimen Dashboard test results
test results

Store in Store in
i
Submit
View test
sample sample ◄ final
results
database database results
The OJC System 79

Screens

Screen 1 – Login Page

Screen 1.a – Patient Login


The OJC System 80

Screen 1.a.i – Patient Login Error (No Matching Records)

--
No Matching Record• Found

CheckAnutt•

Screen 1.a.ii – Patient Login Error (Empty Fields)


The OJC System 81

Screen 1.a.iii – Patient Login Success

Screen 1.b – Medical Personnel Login


The OJC System 82

Screen 1.b.i – Technician Login

Screen 1.b.ii – Doctor Login


The OJC System 83

Screen 1.b.iii – Medical Personnel Error (Incorrect Password)

Screen 1.b.iv – Medical Personnel Error (Empty Fields)


The OJC System 84

Screen 1.b.v – Medical Personnel Login Success

Screen 2.a – Patient Dashboard

1
.........
.,
15367019325110030826
.' Ace De!:•

2O2O-04-18Tl7:S9:1O
lnll:lalReautt

OUT OF RANGE
FinatResull:

PENDING

566909'1661727338986 2020-04-2n04:«:- OUT OF RANGE PENDING


'
• 7108700996267872746

12612643299361335786
2020-04-17119:30:12

202O-O4-2n04:47:1O
NORMAL NOOMAL

4 NORMAL NORMAL

5 7813352237419401708 2O20-O4-2TTO4:45:19 OUT OF RANGE NORMAL


7
67915145n885270506

3623091536901575146
2O2O·O5-O4T00:11:45

2020·05-04100:17:41
NORMAL

NORMAi.
NOOMAL
~
NOOMAl.

8 1819928539622937066 202O-O5-O4T00:16:64 OUT OF RANGE NOOMAL

• 11123125606940678S86

10 1266939O509027.C96428
2O20-O4-18T18:04:41

2020-05-04T00:35:_
OUT OF RANGE

OUT OF RANGE
ABNORMAL

ABNORMAL
The OJC System 85

Screen 2.a.i – Patient View Record

• • Patient Results

_....,,., ACCl>iltl lrlil:IIIR1.ult F'NtRHUlt Vi Diff


, 16387019326110030826 2O2O-O4-18T17:59:1O OUT OF RANGE PENDING

2 5669091661727338986 2O2O-O4-27T04:44:_ OUT OF RANGE PENotNG

3 7108700996267872746 2020-04-17T19:30:12 NORMAL NORMAi. PATIENT INFORMATION

4 12612543239361335786 2O2O-04-27TO4:47:1O NORMAL NORMAi. Patient First Name Oo,v,


Patient Last Na!M Akl•k
s 7813352237419401706 2O2O-04-27TO4:45:19 OUT OF RANGE NORMAi. Date of Birth 11/22/1999
Social S.Cl.rity Number SS.-90-1234
• 6791514Snsss21osoe
3623091636901676146
2O20-O5-O4T00:11:45

202O-O5-O4T00:17:41
NORMAL. NORMA!.
7 NORMAL NORMAi.
SPECIMEN INFORMATION
8 1619928539622937068 2O2O-O5-04T00:18:64 OUT OF RANGE NORMA!.
AceeuionlO 1619928599622937066
• 1112:1125606940676586

10 12569390509027496428
2O2O-O4-18T18:O4:41

2O2O-O5-O4T00:35:_
OUT OF RANGE

OUT OF RANGE
ABNORMAi.
ABNORMAi.
Aeeeuion O.te/Time 2O2O-O5-04T00:16:64

_,. ,.
SPECIMEN RESULT
INITIAL RESULT
Eosinophil%
lymphocyte%
Monocyte%
OUT OF RANGE

43

37

OOCTORS COMMENTS
NOAMAl

No~SMn
Alotllt ,,. nom'III
~um and Nudel-9 k>oksnormal

Screen 2.a.ii – Patient Logout

PatNtfltRHults

Acc .. MntD Accl>M• tnitlllR•Mlft F"IMIR•ault


, 15367019325110030826 2020-04-18T17:59:10 OUT OF RANGE PENDING

5669091661727338986 2020-04-27T04:44:_ OUT OF RANGE PENDING


'3 7108700096267872746 2020-04-17T1G:30:12 NORMAL NORMA!. PATIENT INFORMATION

4 12612543239361335788 2020-04-27T04:47:10 NORMA1. NORMAi. Patient F'nt Name Oo,v,


Pati♦ntlast~rM Aklok
s 7813352237419401706 2020-04-27T04:45:19 OUT OF RANGE NORMAi. Date of Birth 11/22/1999

~
Soc~ SeaKity Number 854-90-1234
• 67915145n885270506 2020·05-04T00:11:45 NORMAL NORMAi.
7 3623091536901575146 2020-05-04T00:17:41 NORMAL NORMAi.
SPECIMEN INFORMATION
• 1619928539622937066 2020-05-04 T00:18:54 OUT OF RANGE NORMAi.
• 6CessionID 1619928539622937066
• 11123125606940676S86 2020-04-18T18:04:41 OUT OF RANGE ASNORI. :euion 0.te{TWM 2020-0S-04T00:18:54
10 12569390509027496426 2020-05-04T00:35:- OUT OF RANGE ABNORl logged out •uc:c.. atul

, -- '£CIMENRESULT
OUT OF RANGE

,.
•43

37

OOCTORS COMMENTS
NOAMAl

NoAbnom'lailitHSNtl
Al ce111.,.. nom'III
Cytopta.,,, and Nudel-9 loob nonnel
The OJC System 86

Screen 2.b – Technician Dashboard

Screen 2.b.i – Technician View Runs

.....
1V22/1999

1V22/1999

.- 11/22/1IXH>

;
The OJC System 87

Screen 2.b.ii – Technician View Results

Eosinophi1%
•,,
-·"
Lymphocyte% 62

Neut,ophi% 28

RESULT OUT OF RANGE

Screen 2.b.iii – Technician Run New Specimen

000

,V22/1999 654-90-1234

11/22/1999 854-90-1234

09/00/'1989 784-64-6682

·u
·~
... - - .
.-
·-:G~-·-·
-·---·---·---·--
~
~
:□
~
~--"""""'·: ~
~
~---
,ns7919994960613866 Eosinophi1%
..

-·"
2020-05-04T00:15:49 Lymphocyte%
Sen
Neutrophil% •
39

RESULT OUT OF RANGE


The OJC System 88

Screen 2.b.iii.a – Technician Run New Specimen Error (Empty Fields)

:
.·□-~-·□~--·□---.

·---·
.. . .~
»

---·---·
:
.......
&
,
Acx.ssk>nID 1ns1a19994960613866 Eosinophi1%
..

-·"
Accession Date/Time 2020-05-04T00:15:49 Lymphocyte%
Patient Fir&tNune Bon
Newophi% •
39

RESUlT OUT OF RANGE

Screen 2.b.iii.b - Technician Run New Specimen Confirmation

001 lf'lltitl AHult

11/22/1999 654-90-1234 OUT OF RANGE

09/1711999 144-31-9871 OUT OF RANGE

09/091'1989 784-54-5682 OUT OF RANGE

.u].DLJ
Vi wDiff

. . . .
-
M M •
» ~ M

.
.....................

1ns1919994960613866 Eosinophi1%

-·"
2020-05-04T00:15:49 Lymphocyte% 48
Bon
~trophil% •••
RESULT OUT OF RANGE
The OJC System 89

Screen 2.b.iii.c – Technician Run New Specimen Completed

DOI lniti.lRHull

11/22/1999 664-90-1234 OUT OF RANGE

09/17/1999 144-31-9871 OUT OF RANGE

00/09/1989 784-54-6682 OUT OF RANGE

:rn~o:-
~
-·---·--- """"-,--,--,J

Aocessk>nlD 1nsn1ei94960613866 Eosinophi1%


..

-·"
Access.on Date/Time 2020--05-04T00:15:49 Lymphocyte%
Patient First N.ame Bon 9
Neutrophil" 39

RESULT OUT OF RANGE

Screen 2.b.iv – Technician Logout

..


·oo·o·
·---·---·---
..


. .
m
m

Accttsk>nlD EO$tnophil1' 5

-·"
Acceuion Date/Time Lymphocyte% 47
Pati.nt Firat N.ame
Neut,ophil%

39

RESULT OUT OF RANGE


The OJC System 90

Screen 2.c – Doctor Dashboard

• • Doctor Terrrunat

lnilllllRHutl

Ent« Ac:e.uion 10 Vi Diff enf

Ent.,. Pathok>gis-tComments

bmitRviwAs

L out

Screen 2.c.i – Doctor view Runs

Doctor Terminal

Nonna! ..,_.,., Reviewed

AeoessionJO
14 3623091536901575146 ""'°"'
2020.o5•04T00:17:41 Donn
........... LHIN­
Aldak
001
1V:Z2/1!i>99
SSN
654-90-1234
lnill:lelR,tut
NORMA1. NORMAL

1S 1619928S39822937068 2020-0S-04T00:1&54 Donn Aldak 1V22/1999 654-90-1234 OUT Of RANGE NORMAL

,s 03no2sss90933549Q6 2020-05-04T00:34:14 Ben 09/09/1989 784-54-5682 NORMAL NORMAL

Enter Acceslion ID Vi Oiff

Enter Pathologist Comm.nts

'tR • Submit R vi w
The OJC System 91

Screen 2.c.ii – Doctor View Results

• • Doctor Terminal
~

.... -·­
lnProgren
Nonnal
Acce1toon10 .,.,
Abnonn>I
......... LHtN- DOIi SSH
Reviewed

.....
5 1749111380451332686 2020-04-27T04:67:16 Noam S.,.n 10/11/1994 462-81-8238 OUTOF RANGE NORMAL

6 1819928539622937068 2020-05-04T00:16:S4 Donn 11/22/1999 654-90-1234 OUT OF RANGE NORMAL

1 ,ns7919994960613866 2020-05-04T00:16:49 ..,, o,,,., 09/09/1989 784-54-6682 OUT OF RANGE ABNORMAL

1ns1e1&994960613e6el Vi Oiff ent'

--□
~-''"""'<Y" -□-,-··□"""-·--□~---□~-□-,-
,0

DO
- ..

-
.......... _ .. .....................
- -□--·-□~--,-~
..

lJO
-
---· ---· ........... ..,

lM
.. ..-- -~--,-·
. .. •

DO
"

:M
.. •

~
.>I

::IO

Pr~l.ymptlocytt PrCOKtlonl.yrrclhocytt Prtdlction~t Pr~~ l'ffiktionlymsihocytt l'fwktionNcw-oc,M Pfcd!Cbo11NeWOCINI

1:J • 1: Enter Patnok,gi1t Com!Mfrts

0
tR w bmitRviwAs

L out

Screen 2.c.ii.a – Doctor Enter Comments

• • Doctor Termw,al

21 2eJJ7n30nJ&764986
__
N<><mal .,
""'°"'
2020-04-27T04:60:32
Abnonnal

Noam
......... In Progress

10(11/UHM
DOIi

22 16484395285349667306 08/2"1993
29 11339293862276960748 01/01/2000

..-□--·-·.-□---□~-·''"'""
M
DO

........
.. .-□--,-·.□-,-·.□--""""'·
.. .
---·
..·@--,-·.□----□--,-~
.
N
lM
. ,.

~

---· ....... ---· ---· ---·


~
lM
-
~
N
*

---· ---

~
..N
~

No abnormal cells seen


AccessionID 11339283862276960746 Eosinophil" 6
Cytoplasm and nucleus looks ~
AccessionDate/Tiime 2020--04-27T16:68:40 Lymphocyte" $4
Patient Fint Name John Monocyt•" 17
Patient Last Name Doe Neutropkl " 23
OM.aolSirth 01/01/2000
Social Security Number 123-45-6780 STAT\JS OUT OF RANGE 0
lR • SubmitR vi w
The OJC System 92

Screen 2.c.ii.b – Doctor Submit Final Results Error (Empty Comments)

Doctor Terminal

6 1749111380451332686
Nonna!
Accn...-.10 .......
2020·04·27T04:57:16
Fht Name
Noam s.,;n
_
...... DOB
10/11/'UHl4
SSH
462·81·8238
lnitWAesult
OUT OF RANGE
Reviewed

NOR.._..

8 1819928539822G!J7068 2020-0S-04T00:18:54 Donn /Jdak 11/22/1999 854-G0-1234 OUT OF RANGE NORMAL

1 1ns1919994geos1ss&6 2020-05-04T00:15:4G Bon lloYO< QgJOG/198g 784-54-5682 OUT OF RANGE ABNORMAL

161992853g622937066 v; !);ff

_,,.,,.

Enter Pathologist Comments

.,. Submit A Yi w

L out

Screen 2.c.ii.c – Doctor Submit Final Results Confirmation

Doctor Terminal

21 293377730n39754sas
Nonna!
_....,., .......
2020-04·27T04:60:32
Abn«mal ,n Progress
008
10(11/1994

22 16484395285349687306 2020-04-27T04:55:SO Gabo 08/2'11993


23 11339203862276960748 01/01/2000

;□--·-·:F7;□
---·
~Lu-= ~~
=A·
. ---· ---· ---· --
M

No abnormal cells lffll


Accession ID 113392938622769&0746 Eosinophit% 6 Cytoplasm and nucleus looks no,ma,
Accession Date/rime 2020-04-27T16:68:49 Lymphocyte% 64
Patient Fint Name John Monocyte % 17
Patient Last Name Doe Neutroph.il % 23
O.teo#Birth 01/01/2000
Soctal S.Curity Number 123-45-678g STAT\JS OUT OF RANGE
Submit Yi
The OJC System 93

Screen 2.c.iii – Doctor Logout

Doc1or Terminal

7 17257in9i94960613866
........
2020-0S·04T00:15:49
DOB
09/09/1989

8 12569390509027496426 2O20-05-04T00:3S:28 Donn /Jdak 11/22/1999

9 11339293862276960746 2020-04-27116:66;49 John 01/01/2000

_,.
Eosinophll"
Lymphocyte"
Monoc:yte"
6
64
17
23
Enter Pathologist Comments

Submit R vi

L out

Note Regarding Progress and Burndown Charts


As shown throughout the sprints, our burndown charts are not very representative of our actual
workflow. While we improved in providing more accurate estimates of the issues for the last sprint, the
burndown chart was still not entirely indicative of our progress throughout the sprint. A likely explanation
for this problem is that the issues entered for the sprints were too general. For example, one of the issues
for sprint 4 was “finalize doctor terminal”. We had continued to work on small aspects of the product to
finalize each user terminal, however, these were not accurately tracked as they were all part of one issue.
For future sprints, it would be better to break up the issues into even smaller issues, such as “add a pop-up
window for logout confirmation” instead of “finalize user terminal”. This is also the reason why the
burndown chart shows many issues being completed towards the end of the sprint.

As mentioned previously at the end of Sprint 3, due to how we organized the issues, the cumulative
workflow chart seems to be a better representation of our progress. Below is the cumulative workflow chart
for this last sprint.
The OJC System 94

13/Apr/20 to 10/May/20 (Custom)• Refine report •

AprlS Apr17 Apr 19 Apr21 Apr23 Apr25 Apr27 Ap,29 Mayl May3 Mays May7 May9
TIME

Below is the cumulative workflow chart for the entire duration of the project

29/Feb/20 to 10/May/20 (All Time) • Refine report •

Future Considerations
The OJC system was initially going to include a functionality for the technicians to manually enter
the patient information and blood sample images. We had been working on developing the functionality of
uploading blood sample images when the technician runs a new sample. However, with further discussion,
we realized that this functionality counteracts the objective of the OJC system in reducing manual tasks and
increasing efficiency. Thus, we have concluded that a scanning mechanism would be the most efficient
method of uploading the blood sample images and patient information at the same time. That is, the
specimen (i.e., microscopic slides with blood sample) will have a barcode or QR code label on them that
can be scanned to automatically fill in the patient information. Then, an image scanner able to take
microscopic images of the blood samples will obtain the images and run the test together with the patient
The OJC System 95

information from the barcode or QR code. This feature can further automate the WBC differential process
by having technicians simply scan a specimen with a code and run the test. Technicians would no longer
have to manually enter any information. Subsequently, the overall cost for the system will increase due to
the need for the specific hardware required to complete this process. This includes barcode/QR scanners,
microscopic high-definition cameras to capture high-quality images of the blood samples, and a filling
machine that can stack all the specimens and automatically feed it to the scanner and camera. Although
there are increased costs associated with this process, it will significantly improve the overall efficiency of
the WBC differential process.

In addition, as detailed in the System Capacity and Performance section in Part 5, future
implementation of cloud services is important to improve the capacity and performance of the OJC system.
Implementation will be much simpler compared to local methods, security will be tighter and more efficient,
scaling to a different number of computers will be easier, and IT support and trouble-shooting hassle will
be reduced. In addition, transaction times will also be significantly reduced in terms of installation (few
hours to few minutes), model training (days to hours), model prediction (25 seconds to 1 second), and GUI
functions (can be improved if it slows down). Cloud services will also help improve the machine learning
algorithm to reach at least a 95%, if not 99% accuracy rate. The OJC system should be able to function
continuously and stay updated since medical laboratories that will use this system also need to be up and
running 24/7.

In more complex iterations of the OJC system, there is also room to include more features and
functionalities such as directly contacting a doctor or pharmacy through the system as well as scheduling
appointments and follow-ups. While we opted to remove patient profiles from this MVP for the scope of
this project, this is also a functionality that could be explored further to integrate this system with patient
management systems in hospitals and clinics. While the OJC system started off as a system solely for
automating the WBC differential process and facilitating the communication of test results between the
technician, doctor, and patient, it has much potential for evolving into a sophisticated system with both
patient-centered and medical personnel-centered UIs.
The OJC System 96

References
ACLA. (n.d.). Clinical laboratories provide jobs in the United States. Economic Impact of Clinical Labs.
Retrieved from https://www.acla.com/economic-impact-of-clinical-labs/

Alam, M. M., & Islam, M. T. (2019, July 17). Machine learning approach of automatic identification and
counting of blood cells. Retrieved from
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6718065/

Burke, L. A., & Ryan, A. M. (2014, February 1). The complex relationship between cost and quality in
US health care. AMA Journal of Ethics: Illuminating the Art of Medicine.
https://doi.org/10.1001/virtualmentor.2014.16.2.pfor1-1402

Dennis, A., Wixom, B. H., Tegarden, D. P., & Seeman, E. (2015). Systems analysis & design: an object-
oriented approach with Uml. Hoboken, NJ: Wiley.

FDA. (2017, November 6). FDA clears common blood cell count test that offers faster results for patients
and providers. Retrieved from https://www.fda.gov/news-events/press-announcements/fda-clears-
common-blood-cell-count-test-offers-faster-results-patients-and-providers

Fixsen, D. L., Naoom, S. F., Blase, K. A., Friedman, R. M., & Wallace, F. (2005). Implementation
Research: A Synthesis of the Literature. Tampa, FL: Florida Mental Health Institute, the National
Implementation Research Network (FMHI Publication #231).
https://nirn.fpg.unc.edu/sites/nirn.fpg.unc.edu/files/resources/NIRN-MonographFull-01-2005.pdf

Greer, J.P., Arber, D.A., Glader, B.E., List., A.F., Means, R.M., & Rodgers, G.M. (2018). Wintrobe’s
Clinical Hematology (14th ed.). Philadelphia, PA: Wolters Kluwer

Guru99. (n.d.). How to Create a Test Plan (with Example). https://www.guru99.com/what-everybody-


ought-to-know-about-test-planing.html

Guru99. (n.d.). What is Test Scenario? Template with Examples. https://www.guru99.com/test-


scenario.html
The OJC System 97

Hernandez, M. (2014, April 8). Purchasing insight: Hematology analyzers. Healthcare Finance.
Retrieved from https://www.healthcarefinancenews.com/blog/purchasing-insight-hematology-
analyzers

Huaynate, C.F.A., Travezaño, M.J.P., Correa, M., Holger, M.M., Oberhelman, R., Murphy, L.L., & Paz-
Soldan, V.A. (2015). Diagnostics barriers and innovations in rural areas: Insights from junior
medical doctors on the frontlines of rural care in Peru. BMC Health Services Research, 15(454).
https://doi.org/10.1186/s12913-015-1114-7

Hussain, M. (2016 March 15). Conversion Strategies.


http://creativehive.org.uk/mishaalhussain/2016/03/15/conversion-strategies/

LabFlorida. (n.d.). Types of labs in U.S. medical diagnostics. Retrieved from


http://www.labflorida.com/blog/lab-testing/types-labs/

Majors, C. E., Pawlowski, M. E., Burke, D. C., Tkaczyk, T. S., Rieber, A., & Richards-Kortum, R.
(2019, August 30). Clinical training and validation of the LeukoScope: A low-cost, point-of-care
device to perform white blood cell and neutrophil counts. Retrieved from
https://pubs.rsc.org/en/content/articlehtml/2019/ra/c9ra06433h.

McLeod, P.M. (2015, April 24). Solutions to the problems of rural hospital must address the need for
adequate clinical laboratory and anatomic pathology testing services. Dark Daily: Serving
Clinical Labs & Pathology Groups. Retrieved from https://www.darkdaily.com/solutions-to-the-
problems-of-rural-hospitals-must-address-the-need-for-adequate-clinical-laboratory-and-
anatomic-pathology-testing-services-424/

Minnesota Department of Education (n.d.). Common Principles of Effective Practice (CPEP) and
Implementation. A Framework for Integrating Initiatives and Sustaining Evidence-Based
Practices.
https://www.healthiersf.org/RestorativePractices/Resources/documents/RP%20Community%20R
esources%20and%20Articles/Implementation%20Community%20Resources/016267%20Brief.%
20Stages%20of%20Implementation-%20Minnesota.pdf

National Implementation Research Network (NIRN). (n.d.). Module 4: Implementation Stages.


https://nirn.fpg.unc.edu/module-4/ module-4
The OJC System 98

Quest Diagnostics. (n.d.). Fact sheet. Retrieved from


https://newsroom.questdiagnostics.com/index.php?s=30664

Scoffin, K. (2014, May 23). Hematology analyzers - From complete blood counts to cell morphology.
labcompare. Retrieved from https://www.labcompare.com/10-Featured-Articles/162042-
Hematology-Analyzers-From-Complete-Blood-Counts-to-Cell-Morphology/

Sysmex America. (2017, November 8). Primary care doctors can provide blood test results in minutes,
on-site, with new Sysmex XW-100. Retrieved from
https://www.sysmex.com/us/en/Company/News/Pages/Primary-Care-Doctors-can-Provide-
Blood-Test-Results-in-Minutes-With-New-Sysmex-XW-100.aspx

U.S. Bureau of Labor Statistics. (2019). Clinical laboratory technologists and technicians. Outlook
Handbook. Retrieved from https://www.bls.gov/ooh/healthcare/clinical-laboratory-technologists-
and-technicians.htm

W3computing. (n.d.). Conversion to A New System.


https://www.w3computing.com/systemsanalysis/conversion-new-system-quality-assurance/

You might also like