Senior Project Final

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

ABSTRACT

It is obviously believed that the Food, Medicine, and Healthcare Administration and Control
Authority (FMHACA) is responsible for drug control for the safety and well-being of all citizens
through the detection of counterfeit drugs prevention and control.

This Project is about Drug and Drug Related Validation System for Addis Ababa. It is Web
based application and assisted with Mobile Application. The Web based application helps the
organization to manage centrally and providing any information related to drug. The mobile
application is used to validate the drug.

This document can be used as a reference for anyone who is interested to upgrade the web
application as well as the mobile application which is develop now and these will develop an
advanced Drug and Drug Related Validation System for Addis Ababa City and the rest of the
cities and towns for a better Drug and Drug Related Validation System.

I|P a g e
ACKNOWLEDGEMENT

First of all, we would like to use this opportunity to express our gratitude and many thanks to
God for helping us go through all the challenges we faced particularly in the past four years.

Next, we want to thank Instructor MekuriaSinke, our advisor, for his great advice and assistance
in making this project. Our family for encouraging and supporting us in every way.

We also thank the Food, Medicine, and Healthcare Administration and Control Authority
(FMHACA) that cooperated to provide us the information we required for the project.

We are also thankful for Instructor Biniyam G/Medhin for supporting of the web and android
application development and all staff members of CPU College, Computer Science department
and all our class mates for their lovely cooperation to accomplish our project successfully.

II|P a g e
Table of Contents
ABSTRACT....................................................................................................................................................... I
ACKNOWLEDGEMENT ................................................................................................................................... II
Table of Contents ......................................................................................................................................... III
List of Finger ............................................................................................................................................... VIII
List of Tables ................................................................................................................................................. X
CHAPTER ONE ............................................................................................................................................... 1
1. Project Proposal Document .................................................................................................................. 1
1.1 Introduction .................................................................................................................................. 1
1.1.1 Background ............................................................................................................................... 1
1.2 Statement of the Problem ............................................................................................................ 3
1.3 Objective ....................................................................................................................................... 3
1.3.1 General objective ...................................................................................................................... 3
1.3.2 Specific objective ...................................................................................................................... 3
1.4 Scope of the project ...................................................................................................................... 4
1.5 Limitation ...................................................................................................................................... 4
1.6 Methodology................................................................................................................................. 4
1.6.1 Data Gathering Methodology ................................................................................................... 4
1.6.2 Development Tools ................................................................................................................... 5
1.7 Project Significance ....................................................................................................................... 6
1.8 Task Break Down ........................................................................................................................... 6
1.8.1 Team Task Break Down ............................................................................................................. 6
1.8.2 Cost Break Down ....................................................................................................................... 7
1.9 roject Schedule ............................................................................................................................. 8
2 Requirement Analysis Document ......................................................................................................... 9
2.1 Introduction .................................................................................................................................. 9
2.2 Current System ............................................................................................................................. 9
2.3 Functional Requirement ............................................................................................................. 10
2.4 Nonfunctional requirement ........................................................................................................ 11
2.4.1 User Interface and Human Factors ......................................................................................... 11
2.4.2 Documentation ....................................................................................................................... 11

III|P a g e
2.4.3 Pseudo Requirements ............................................................................................................. 12
2.4.4 Hardware and Software Consideration .................................................................................. 12
2.4.5 Performance Characteristics ................................................................................................... 12
2.4.6 Error Handling and Extreme Conditions ................................................................................. 12
2.4.7 System Interfacing .................................................................................................................. 12
2.4.8 Quality Issues .......................................................................................................................... 12
2.4.9 System Modification ............................................................................................................... 12
2.4.10 Security Issues ......................................................................................................................... 13
2.4.11 Resources and Management Issues ........................................................................................ 13
2.4.12 Content organization .............................................................................................................. 13
2.4.13 Reliability................................................................................................................................. 13
2.4.14 Availability ............................................................................................................................... 13
2.4.15 Dependability .......................................................................................................................... 13
2.4.16 Performance............................................................................................................................ 13
2.4.17 Scalability ................................................................................................................................ 13
2.5 System models ............................................................................................................................ 14
2.5.1 Use Case .................................................................................................................................. 14
2.5.2 Drug and Drug Related Validation Use Case Diagram ............................................................ 14
2.5.2.1 Actors ...................................................................................................................................... 15
2.5.2.2 Use Case Description............................................................................................................... 16
2.5.2.2.1 Login Use Case Description ................................................................................................. 16
2.5.2.2.2 Manage User Account ......................................................................................................... 17
2.5.2.2.3 Search Drug InformationUse Case Description ................................................................... 18
2.5.2.2.4 Send Drug Information for Validity Check .......................................................................... 19
2.5.2.2.5 Add Drug/Supplier/Pharmacy Information Use Case Description ...................................... 20
2.5.2.2.6 Update Supplier/Pharmacy Information Use Case Description.......................................... 21
2.5.2.2.7 Submit Drug Information Use Case Description ................................................................. 22
2.5.2.2.8 Generate Report Use Case Description .............................................................................. 23
2.5.3 Scenario................................................................................................................................... 24
2.5.3.1 Manage Account Scenario ...................................................................................................... 24
2.5.3.1.1 Change User Account Password Scenario........................................................................... 24
2.5.3.1.2 Create User Account Scenario ............................................................................................ 24

IV|P a g e
2.5.3.1.3 Active/Inactive User Account Scenario ............................................................................... 25
2.5.3.2 Search Drug Information Scenario .......................................................................................... 25
2.5.3.3 Send Drug Information for Validity Check Scenario ............................................................... 25
2.5.3.4 Submit Drug Information Scenario ......................................................................................... 26
2.5.3.5 Valid/Invalid Response Scenario ............................................................................................. 26
2.5.3.6 Add Drug/Supplier/Pharmacy Information Scenario .............................................................. 27
2.5.3.7 Update Supplier/Pharmacy Information Scenario .................................................................. 27
2.5.3.8 Generate Report Scenario....................................................................................................... 28
2.5.4 Sequence Diagram .................................................................................................................. 29
2.5.4.1 Login Sequence Diagram ......................................................................................................... 29
2.5.4.2 Create User Account Sequence Diagram ................................................................................ 30
2.5.4.3 Change User Account Password Sequence Diagram .............................................................. 31
2.5.4.4 Active/Inactive User Account Sequence Diagram .................................................................. 32
2.5.4.5 Search Drug Information Sequence Diagram.......................................................................... 33
2.5.4.6 Send Drug Information for Validity Check Sequence Diagram ............................................... 34
2.5.4.7 Add Drug/Supplier/Pharmacy Information Sequence Diagram ............................................. 35
2.5.4.8 Update Supplier/Pharmacy Information Sequence Diagram ................................................. 36
2.5.4.9 Generate Report Sequence Diagram ...................................................................................... 37
2.5.5 Activity Diagram ...................................................................................................................... 38
2.5.5.1 Login Activity Diagram ............................................................................................................ 38
2.5.5.2 Create User Account Activity Diagram .................................................................................... 39
2.5.5.3 Change User Account Password Activity Diagram .................................................................. 40
2.5.5.4 Active/Inactive User Account Activity Diagram ...................................................................... 41
2.5.5.5 Search Drug Information Activity Diagram ............................................................................. 42
2.5.5.6 Send Drug Information for Validity Check Activity Diagram ................................................... 43
2.5.5.7 Add Drug/Supplier/Pharmacy Information Activity Diagram ................................................. 44
2.5.5.8 Update Supplier/Pharmacy Information Activity Diagram ..................................................... 45
2.5.5.9 Generate Report Activity Diagram .......................................................................................... 46
2.5.6 State Diagram.......................................................................................................................... 47
2.5.6.1 Manage Account ..................................................................................................................... 47
2.5.6.2 Add/Update Drug/Supplier/Pharmacy Information ............................................................... 48
2.5.6.3 Send Drug Information............................................................................................................ 49

V|P a g e
2.5.7 User Interface.......................................................................................................................... 50
2.5.7.1 FMHACA Ethiopia Home Page ................................................................................................ 50
2.5.7.2 Login User Interface ................................................................................................................ 50
Create User Account User Interface ....................................................................................................... 51
2.5.7.3 Change User Account Password User interface ...................................................................... 51
2.5.7.4 Register Drug Information User Interface .............................................................................. 52
2.5.7.5 Register Supplier Information User Interface ......................................................................... 52
2.5.7.6 Register Pharmacy Information User Interface ...................................................................... 53
2.5.7.7 Register Supplier Information User Interface ......................................................................... 53
2.5.8 Class Diagram .......................................................................................................................... 54
Chapter Three ............................................................................................................................................. 55
3. System Design Document ................................................................................................................... 55
3.1. Introduction ................................................................................................................................ 55
3.2. Design of the System .................................................................................................................. 55
3.2.1. Design Goals ............................................................................................................................ 55
3.2.2. User Interface.......................................................................................................................... 55
3.2.3. Documentation ....................................................................................................................... 55
3.2.4. Performance............................................................................................................................ 55
3.2.5. Availability ............................................................................................................................... 55
3.2.6. Reliability................................................................................................................................. 56
3.2.7. Modifiability ............................................................................................................................ 56
3.2.8. Portability ................................................................................................................................ 56
3.3. Current Software Architecture ................................................................................................... 56
3.4. Proposed Software Architecture ................................................................................................ 56
3.5. System Decomposition ............................................................................................................... 57
3.6. Hardware and Software Mapping ............................................................................................... 64
3.7. Data Management ...................................................................................................................... 64
3.8. Access Control ............................................................................................................................. 65
3.9. Class Interfaces ........................................................................................................................... 66
3.10. Security, trend analysis, system upgrade ............................................................................... 67
3.10.1. Supplier ................................................................................................................................... 67
3.10.2. Supplier Type .......................................................................................................................... 68

VI|P a g e
3.10.3. Dosage Form ........................................................................................................................... 68
3.10.4. Drug Category ......................................................................................................................... 69
3.10.5. Pharmacy ................................................................................................................................ 70
3.10.6. Drug Info ................................................................................................................................. 71
3.10.7. Country.................................................................................................................................... 73
3.10.8. Sub city .................................................................................................................................... 73
Chapter Four ............................................................................................................................................... 74
4. Object Design Document (ODD) ......................................................................................................... 74
4.1. Introduction ................................................................................................................................ 74
4.2. Object design trade-offs ............................................................................................................. 74
Memory Vs User Interfaces Design............................................................................................................. 74
Speed Vs. Spaces ......................................................................................................................................... 75
Delivery Time Vs Quality ............................................................................................................................. 75
4.3. Interface documentation guide lines .......................................................................................... 75
4.4. Packages Definitions ................................................................................................................... 76
4.5. Class Interfaces ........................................................................................................................... 77
4.5.1. Class Definitions ...................................................................................................................... 77
Chapter Five ................................................................................................................................................ 81
5. Implementation .................................................................................................................................. 81
5.1. Introduction ................................................................................................................................ 81
5.2. Tools and Technologies Utilized for Implementation ................................................................. 81
5.3. Android Apps and Web application DDRVS ................................................................................ 82
5.4. The Prototype ............................................................................................................................. 82
5.5. Sample Code ............................................................................................................................... 82
6. User Manual ........................................................................................................................................ 94
CONCLUSION............................................................................................................................................. 100
REFERENCES .............................................................................................................................................. 101
ABBREVIATIONS AND ACRONYMS...........................................................................................................102

VII|P a g e
List of Finger

Figure 1 Project Schedule ............................................................................................................................. 8


Figure 2 Use Case Diagram ........................................................................................................................ 14
Figure 3 Login Sequence Diagram ............................................................................................................... 29
Figure 4 Create User Account Sequence Diagram ...................................................................................... 30
Figure 5 Change User Account Password Sequence Diagram .................................................................... 31
Figure 6 Active/Inactive User Account Sequence Diagram ........................................................................ 32
Figure 7 Search data Sequence Diagram .................................................................................................... 33
Figure 8 Send Drug Information for Validity Check Sequence Diagram ..................................................... 34
Figure 9 Add Supplier/Pharmacy Information Sequence Diagram ............................................................. 35
Figure 10 Update Supplier/Pharmacy Information Sequence Diagram ..................................................... 36
Figure 11 Generate Report Sequence Diagram .......................................................................................... 37
Figure 12 Login Activity Diagram ................................................................................................................ 38
Figure 13 Create User Account Activity Diagram ........................................................................................ 39
Figure 14 Change User Account Password Activity Diagram ...................................................................... 40
Figure 15 Disable/Inactive User Account Activity Diagram ........................................................................ 41
Figure 16 Search data Activity Diagram ...................................................................................................... 42
Figure 17 Send Drug Information for Validity Check Activity Diagram ....................................................... 43
Figure 18 Add Supplier/Pharmacy Information Activity Diagram .............................................................. 44
Figure 19 Update Supplier/Pharmacy Information Activity Diagram ......................................................... 45
Figure 20 Generate Report Activity Diagram .............................................................................................. 46
Figure 21 Manage Account ......................................................................................................................... 47
Figure 22 Add/Update Drug/Supplier/Pharmacy Information ................................................................... 48
Figure 23 Send Drug Information................................................................................................................ 49
Figure 24 FMHACA Ethiopia Home Page .................................................................................................... 50
Figure 25 Create User Account User Interface ........................................................................................... 51
Figure 26 Register Drug Information User Interface .................................................................................. 52
Figure 27 Register Supplier Information User Interface ............................................................................. 52
Figure 28 Register Pharmacy Information User Interface .......................................................................... 53
Figure 29 Register Supplier Information User Interface ............................................................................. 53
Figure 30 Class Diagram .............................................................................................................................. 54
Figure 31 System Architecture diagram...................................................................................................... 57
Figure 32 DDRVS System ............................................................................................................................. 57
Figure 33 System Admin Subsystem ........................................................................................................... 58
Figure 34 Manage Account Subsystem ....................................................................................................... 58
Figure 35 Create User Account Subsystem ................................................................................................. 59
Figure 36 Change User Account Password Subsystem ............................................................................... 59
Figure 37 Active/Inactive Account Subsystem ............................................................................................ 60
Figure 39 Search Drug Information Subsystem .......................................................................................... 61
Figure 40 Send Drug Information Subsystem ............................................................................................. 61

VIII|P a g e
Figure 41 Register Drug/Supplier/Pharmacy Subsystem ............................................................................ 62
Figure 42 Update Supplier/Pharmacy Subsystem ...................................................................................... 62
Figure 44 Generate Report Subsystem ....................................................................................................... 63
Figure 45 Hardware and Software Mapping ............................................................................................... 64
Figure 46 Class Interfaces ........................................................................................................................... 66
Figure 47 Supplier Dependencies ............................................................................................................... 67
Figure 48 Supplier Type Dependencies....................................................................................................... 68
Figure 49 Drug form Dependencies ............................................................................................................ 69
Figure 50 Drug Category Dependencies ..................................................................................................... 69
Figure 51 Pharmacy Dependencies............................................................................................................. 71
Figure 52 Drug Info Dependencies.............................................................................................................. 72
Figure 53 Country Dependencies ................................................................................................................ 73
Figure 54 Sub_City Dependencies .............................................................................................................. 73
Figure 55 Packages Definitions ................................................................................................................... 76
Figure 56 Drug Class Interfaces................................................................................................................... 78
Figure 57 Supplier Class Interfaces ............................................................................................................. 79
Figure 58 Pharmacy Class Interfaces .......................................................................................................... 80
Figure 59 FMHACA Home page ................................................................................................................... 94
Figure 60 UI Tabs......................................................................................................................................... 95
Figure 61 Supplier Registration Form ......................................................................................................... 95
Figure 62 Supplier Information Form 2....................................................................................................... 96
Figure 63 Supplier Information Form 3....................................................................................................... 97
Figure 64 Display Supplier Information Form 1 .......................................................................................... 98
Figure 65 Display Supplier Information Form 2 .......................................................................................... 98
Figure 66 Create a User Account ................................................................................................................ 99
Figure 67 Change a User Account Password............................................................................................... 99

IX|P a g e
List of Tables

Table 1 Team Task Break Down .................................................................................................................... 6


Table 2Cost Break Down ............................................................................................................................... 7
Table 3 Actor Description............................................................................................................................ 15
Table 4 Login Use Case Description ............................................................................................................ 16
Table 5 Import Drug Information Use Case Description ............................................................................. 17
Table 6 Search Drug Information Use Case Description ............................................................................. 18
Table 7 Import Drug Information Use Case Description ............................................................................. 19
Table 8 Add Drug Information Use Case Description ................................................................................ 20
Table 9 Update Supplier Information Use Case Description ...................................................................... 21
Table 10 Submit Drug Information Use Case Description .......................................................................... 22
Table 11 Generate Report Use Case Description........................................................................................ 23
Table 12 Manage Account (Change user account password) Scenario ...................................................... 24
Table 13 Manage Account (Create user account) Scenario ........................................................................ 24
Table 14 Manage Account (Disable/Inactive account) Scenario ................................................................ 25
Table 15 Search for Registered Drug information Scenario ....................................................................... 25
Table 16 Send Drug Information for Validity Check Scenario ..................................................................... 25
Table 17 Valid/Invalid Response Scenario ................................................................................................. 26
Table 18 Access Control .............................................................................................................................. 65

X|P a g e
CHAPTER ONE

1. Project Proposal Document


1.1 Introduction
This Project work describes a system that enables drug control authority, drug producers,
suppliers, pharmacies and consumers to verify the genuineness and verification of a product.

With the majority of the world’s population seeking required medications for various illnesses
and medical conditions day-in-day-out, there is a need for appropriate pharmaceutical drugs. The
agencies responsible for regulating and approving these pharmaceutical drugs are doing their
best to provide the general population with at least a yearly update of all registered drugs
approved for various distributions at local drug stores, hospital pharmacies, private pharmacies
and licensed chemical sellers. However, due to challenging factors such as cost of production,
middlemen distribution, research and legal issues, accessibility and reliable source of sale, there
have been more issues arising from the illegal and unregistered pharmaceutical drugs. There is
also no guarantee of an individual seeking medical help through the use of prescription drugs.
Records gained after each annual registration will be made available and it will provide the
various stakeholders with information regarding pharmaceutical drugs allowed for regulation on
the local drug markets and also the manufacturers responsible for each drug distribution. The
stakeholders to make use of the information available include manufacturers, medical
institutions, pharmacies and pharmaceutical drug importers, distributors and the general public.
The provision or availability of the system will help the public to be aware of the pharmaceutical
drugs that have being approved by the authority in charge. Also, to improve the quality of life by
the healthcare community and life in general, and awareness of unregistered and/or counterfeit
pharmaceutical drugs to the public and stakeholders. This information of registered
pharmaceutical drugs needs to be integrated and made accessible to the majority of population to
enable them to view for themselves.

1.1.1 Background
The Ministry of Health is responsible for the accessibility of quality health service to all citizens
throughout the country. Although, a number of special programs have been operational, in the
last few years, the primary health care quality still requires due attention. However, various
challenges, assumptions and bureaucratic hurdles have been hampering the progress in quality
health care delivery system. Because of this, the health care service is arbitrarily regulated
inefficiently.
In recognition to the health sector reform in Ethiopia, the regulation of all health care elements
are clearly defined from the provider and purchaser, and is redesigned to provide the public, a
dramatic result with respect to low cost, short time, high quality, and large amount of service.

1|P a g e
Accordingly, health and health related services and products quality regulation core process is
redesigned in the purpose of protecting the public from any emerging health risks.

The vision; missionand objectives of FMHACA

Vision:

“Quality health services and products to all citizens”

Mission:

“To promote and protect the public health by ensuring safety and quality of products and health
service through registration, licensing and inspection of health professionals, pharmaceuticals
food establishments and health institutions and provision of up-to-date regulatory information
while promoting rational medicine use.”

Goal

 To establish and maintain an effective and efficient quality assurance, market


authorization, inspection and licensing system.
 To ensure safety, efficacy and quality of medicines including complimentary and
traditional medicines
 To ensure that food consumed are safe, quality, sanitary and free of contaminants
 To standardize health services and protect the public from unqualified and unethical
professionals and substandard health institutions
 To ensure an uninterrupted regulatory information provision and promote Rational
Medicines use

Drug reporting and verification establishments like Ethiopian FMHACA (Food, Medicines
and Healthcare Administration and Control Authority), require efficient and brilliant technique
and flexible system for proper drug management. Its main objective is to ensure every
counterfeit drug producing companies are eliminated in Ethiopia. In recent years, there has been
a rapid growth in counterfeit drugs incident which as claim a lot of lives in the country, this
predicament has created the need to build an application that will address most of the issues
address in this project work. This project work will be of vital importance to these sectors as it
will be design to address most of their challenges.

2|P a g e
1.2 Statement of the Problem
The current System Problems are:

 Customer cannot check the validity of counterfeit drugs


 Difficult to control counterfeit drugs
 Users can’t attain brief description about the drag
 The drug control authority cannot easily control the drug importers, distributers, and drug
stores not to sell counterfeit drugs
 The public has less involvement and awareness in counterfeit drug control activities.
 There is less information exchange between FMHACA and citizens.
 It cannot easily generate report for drug and drug related tasks
 Consume significance resources like money, stationary materials, man power in
inspecting, preparing drug registration and daily reports.

1.3 Objective

1.3.1 General objective


Our general objective is to develop android application which enables users and drug control
authority to authenticate and verify counterfeitdrugs.

1.3.2 Specific objective


The aim of this project is to design and implement a computerized drug authentication system
 Identify existing problems and changing the current manually performed tasks to
computerized system.
 Define the functional and non-functional requirements for the proposed system.
 Detecting counterfeit drugs using mobile app authentication service
 To prevent dispensary of expired drugs
 To provide automated drug and drug related report generating system
 To ensure accurate keeping of records of drugs description

3|P a g e
1.4 Scope of the project

The Drug verification and authentication system project helps to ensure the genuineness and
authenticity of the drugs used within the country imported from any part of the country to ours
(Addis Ababa, Ethiopia) for citizens in the domestic market and produced in our country. The
project covers all the drugs sold in our capital city Addis Ababa.

Scope of the project is as follows

 Verify the expiry date of each drug


 Verify and authenticate the genuineness of each drug
 Provide database of all kinds, types and names of drugs that would be store and
operate on.
 Provide drug description
 Generate report of drug and drug related information
 Verify a drug must need prescription or not
 Record drugs, drug importers, local drug producers, drug distributers and
pharmacies information
 The system will work with android and web application
 The application will work in different resolution screens including smart phones and
tablets

1.5 Limitation
Due to time, cost and other resources, the project will not cover the followings.

 The system will not control distribution of drugs


 Works for the City of Addis Ababa only
 If there is no internet, it is difficult to access the information
 Does not work for other smart phones and tablets which uses different OS rather than
android

1.6 Methodology
1.6.1 Data Gathering Methodology
To collect the necessary information about the existing manual DDRVS (Drug and Drug Related
Validation System) process, data methodology is the key and helps in gathering information. In
developing this project, we have been using the following data gathering methodologies.

Interview: Interviewing employees of the FMHACA, customer, drug importers and pharmacies to
understand the situation of the existing manual work and to identify the problem clearly.

4|P a g e
Advantages: -

• The respondent is able to raise the issues she/he feels are important and express ideas in
her/his own words.

• To collect detailed information about participant’s experiences and impressions about the
existing works flow.

• To obtain feedback.

Observation: It was useful to observe how jobs are done, how information flows
and observing the way they used to perform the required task.

• To understand the situation of existing manual work and assessing whether certain
program outcomes have been met.

• To obtain data about the behavior of the manual work.

• Provide qualitative data.

As a Secondary data resource: -

Document analysis: studying the documents that are used in the past, like Paper based source,
such as Research papers.

1.6.2 Development Tools


Hardware: -

- Laptop Computer
- Samsung Edge 6plus
Software: -
- Microsoft SQL Server 2014
- Visual Studio 2015
- Android Studio 2.1.1
- Microsoft VISIO 2010
- Microsoft office 2010
- Microsoft Project 2013
- Microsoft Windows 2010

5|P a g e
1.7 Project Significance

This project will present in a precise manner, the importance of drugs validity and authenticity to
our health. It is believed that if this project work is fully implemented, it will help to reduce the
rate of counterfeit drugs production and uses among individual. It is also expected that the study
will benefit the manufacturers of this drugs that is the original company and industry; because
they will have more sales as the citizens will go for the original one, and the counterfeit will have
no sales in the market anymore.

This project will be useful to the end users or the customers in helping them to verify the drugs
they buy for medication. It is expected that the findings will expose counterfeit drug sellers in the
market and their production companies. By this exposure, the pharmaceutical industry will learn
more and stand by manufacturing quality products. It is possible that by this outcome, counterfeit
pharmaceutical industries will realistically adjust to the standard of production approved by the
world Health Organization (WHO).

The significance of this project includes the following:

 It will provide reliable healthcare services.


 It will guarantee patients of genuine and safe drugs.
 It will ensure an efficient and standard drug dispensary system.

1.8 Task Break Down


1.8.1 Team Task Break Down
NAME TASK 1 TASK 2 REMARK

LEUL MESFIN Project Analyst Project Manger

YONAS ETISSA Project Manger Documentation

BEREKET TIRFU AND Documentation System Designer


PETROS KIDANE

Table 1Team Task Break Down

6|P a g e
1.8.2 Cost Break Down
NAME TYPE QUANTITY COST

LAPTOP Toshiba 1 15,000

Smart Phone Samsung Edge 6plus 1 16,000

FLASH DISK SanDisk- 32GB 1 549

SOFTWARE Microsoft SQL Server 2012 1 50

Visual Studio 2015 1 50

Android Studio 2.1.1 1 50

Microsoft VISIO 2010 1 50

Microsoft office 2010 1 50

Microsoft Project 2013 1 50

Microsoft Windows 2010 1 50

OTHER COST Stationary Material -- 850

Transportation -- 670

Coffee, Tea and Internet -- 900


--
Contingency (10% of Total) 3,431.90

Total 37,750.90
Table 2Cost Break Down

7|P a g e
1.9 ProjectSchedule

Figure 1Project Schedule

8|P a g e
Chapter Two

2 Requirement Analysis Document


2.1 Introduction

In the previous chapter, we tried to show clearly how counterfeit drugs are dangerous to the
people, how the current system works, and although the current system is unable to control and
manage counterfeit drugs.

In this chapter, we will show the proposed system models and how counterfeit drugs can be
identified.

The fundamental purpose of drugs verification and validation is to protect public health and to
ensure that drugs on national markets are safe, effective and of good quality, and used in
accordance with good practices. Drugs are important aspects of public health and must be
available and accessible to the public. To improve access to drugs, good governance is crucial
and contributes to health systems strengthening. Good governance in the pharmaceutical sector
refers to the formulation and implementation of appropriate policies and procedures that ensure
the effective, efficient and ethical management of drugs verification and validation, in a manner
that is transparent, accountable and follows the rule of law.

2.2 Current System


The organization launches semi-automated drug management system after we start our project
RAD. This system register and search drug but does not register suppliers, pharmacies and also
does not have drug validation system. The organization validates drugs based on manualsystem.
That is almost all drug validation and related works such as: controlling and inspection are
accomplished by papers. Even though users/citizens do not have any means of identification
between genuine and counterfeit drugs. These all things lead the country to be in economic,
social and health problems.

The current System Problems are:

 Users/citizens cannot check the validity of drugs


 Difficult to control counterfeit drugs
 Users/citizens can’tattain so as to a drug needs prescription or can be able to buy over the
counter
 The drug control authority cannot easily control the drug importers, distributers,
pharmacies and drug stores whether they sell genuine or counterfeit drugs
 The public has less involvement and awareness in counterfeit drug control activities.
 There is less information exchange between FMHACA and citizens.
 It cannot easily generate report for drug and drug related tasks

9|P a g e
 Consume significance resources like stationary materials, man power in preparing drug
registration and daily reports.

2.3 Functional Requirement


Functional requirements describe the interactions between the system and its environment
independent of its implementation. The environments include the user and any other external
system interacts with the system. DDRVS (Drug and Drug Related Validation System)
application helps drug control authority, drug producers, suppliers, pharmacies and consumers to
verify the authenticity and verification of a product/drug.

The provision or availability of the system will help the public to be aware of the pharmaceutical
drugs that have being approved by the authority in charge. Also, to improve the quality of life by
the healthcare community and life in general, and awareness of unregistered and/or counterfeit
pharmaceutical drugs to the public and stakeholders.

These are the functional requirements of a system

 Register
o Local drug producers: registers accredited and licensed drug producers who are
located in Ethiopia
o Importers: register official drug importers licensed by FMHACA
o Donors: register donors who donate drugs
o Drug stores/pharmacies: Register drug stores/pharmacies which are located in
Addis Ababa.
o Drugs: the system registers all kinds of drugs with their details which are locally
produced or imported.
 Verify
o The genuineness of drugs: the system will identify whether the drug is genuine
or counterfeit whenever a user requests.
o The expired drugs: the system alerts and inactivate the expired drugs
 Identify
o The type of drug: the system identifies the classification of each drug whenever
it requests
o The drug needs prescription or not: the system will differentiate between drugs
over the counter and those drugs needs prescription
 Remove and update
o Drug information: the system enables the administrator to add new drug/s, delete
registered drug/s, and update drug/s information
o Producer information: the system enables the administrator to add new local
producer/s, delete registered producer/s, and update producer/s information

10|P a g e
o Importer information: the system enables the administrator to add new
importer/s, delete registered importer/s, and update importer/s information
o Donor information: the system enables the administrator to add new donor/s,
delete registered donor/s, and update donor/s information
o Drug store/pharmacy information: the system enables the administrator to add
new drug store/s or pharmacy/s, delete registered drug store/s or pharmacy/s, and
update drug store/s or pharmacy/s information
 Generate report: the system enables the user to generate a periodical report

2.4 Nonfunctional requirement


In systems engineering and requirements engineering, a non-functional requirement is
a requirement that specifies criteria that can be used to judge the operation of a system, rather
than specific behaviors. They are contrasted with functional requirements that define specific
behavior or functions. The plan for implementing functional requirements is detailed in
the system design. The plan for implementing non-functional requirements is detailed in
the system architecture, because they are usually architecturally significant requirements

Each system also consists of non-functional requirements. In this case, when user checks drug
validity via SMS, the system needs to make response of it.

2.4.1 User Interface and Human Factors


 The system was designed in such way that it is easy to understand
 It should be easy and user friendly for anyone to use
 It should have client side error handling mechanism
 It supports multi-lingual features

2.4.2 Documentation
The activities and outputs of each system development stage in the project workflow
will be properly documented. The documents produced at the end of each stage
should be organized and compiled together at the end of the project for future
reference, system maintenance & enhancement, and to give support. Other different
documentations shall also be compiled and provided at the completion of the project
which includes:
 User Training manual
 Complete Reference document
 Compiled help System

11|P a g e
2.4.3 Pseudo Requirements
The prototype will be developed by extending and customizing open source
Android studio, Microsoft visual studio and Microsoft SQL development
technology to simplify implementation, maintenance and future enhancement. The
servers should run windows operating system and android, which is one of the most
widely used operating system.

2.4.4 Hardware and Software Consideration


The system requires server computer for the database management, Microsoft visual
studio, Microsoft SQL and android enabled mobile device or a mobile phone with
the capability of accepting android operating system. The device will have the
English language installed on it. The user registers and login and use it.

2.4.5 Performance Characteristics


 The system allows users to connect using Web application and Mobile application at
a time.

2.4.6 Error Handling and Extreme Conditions


 We can use client side script to handle errors
 We can use server side script to handle errors

2.4.7 System Interfacing


 The system interface with android app checks the validity of drug and view
information of the drug

2.4.8 Quality Issues


 The system must be reliable in such a way that it shall deliver its intended
purpose.
 The maximum acceptable time for restarting the system after a failure is 30min
 We can use UPS and generator for server to keep running. There is no down time.
The system avail 24/7
 The system is web and android based application; so we can use any place where
internet connection is available using portable device or through android
mobile/tablet.

2.4.9 System Modification


 In the future we can modify the system when the organization needs to add
different features.
 Add additional function like distribution control
 Upgrade the software version and additional security issue
 Accept user request and amend the requested part

12|P a g e
2.4.10 Security Issues
Security requirements are included in a system to ensure:
 Unauthorized access to the system and its data not to be allowed
 Ensure the integrity of the system from accidental or malicious attack
 The access permissions for system data may only be changed by the system’s data
administrator
 All external communications between the system’s data server and clients must be
encrypted

2.4.11 Resources and Management Issues


 The system makes use of different recorded drug and drug related information.

2.4.12 Content organization


 The system must organize the information of drug and drug related in a simple
modular manner which is easy to understand.

2.4.13 Reliability
 Reliability is the ability of a system to perform its required functions under stated
conditions for a specific period of time constraints on the run-time behavior of the
systems can be considered under two separate headings

2.4.14 Availability
 Availability is the system available for service when requested by end-users.

2.4.15 Dependability
 Dependability of a computing system is the ability to deliver service that can
justifiably, be trusted by users

2.4.16 Performance
 Performance requirements concern the speed of operation of a system
 Types of performance requirements are response requirements (how quickly the
system reacts to a user input) throughout requirements (how much the system can
accomplish within a specified amount of time)

2.4.17 Scalability
 The system should be easily modifiable and incorporate others functionality to
future growth

13|P a g e
2.5 System models
A system model is an abstraction describing a problem domain and/or a solution to a problem
domain

2.5.1 Use Case


2.5.2 Drug and Drug Related Validation Use Case Diagram

Login

Manage Account

User Search Drug


Information

Send Drug info for


Validity Check System Admin

Submit Drug
Information

Add, Update,
Delete Drug Info

Supplier
Add, Update, Delete
Record Office
Supplier Info

Add, Update, Delete


Pharmacy Info

Generate Report
DDRV Ext System

Manager
Valid/Not Valid

Figure 2 Use Case Diagram

14|P a g e
2.5.2.1 Actors
Actors represent people, organization, or system external to a system and interact with a system.
DDRVS will have six actors that interact with the system. These are:
a. System Administrator
b. Record Office
c. Manager
d. Supplier
e. User
f. DDRV Ext. System (Drug and Drug Related Validation External System)

Actor Name Description


System Admin A person who controls and manages the DDRVS
Record office The office which is responsible for registering/recording, importing and
verifying drug and its related information
Manager A person who manages FMHACA (the organization)

Supplier Refers organizations which produce, import and donate drugs


User A person who uses drugs
DDRV Ext. System A system which responds Valid or Invalid and other drug information to
a user whenever a user sends drug serial and batch number to a system
Table 3 Actor Description

15|P a g e
2.5.2.2 Use Case Description

2.5.2.2.1 Login Use Case Description


Use Case Name Login
Identifier UC001 Login

Actor System Admin, Record office, Manager

Description Allow users to sign in into their account

Pre-condition The user should have an account(username


& password)
Post-condition The user will access DDRVS database
Basic course of action 1.User opens DDRVS web App
2.User complete and submit username
&password
3.The use case ends
Alternative 1.A user enters incorrect username or
password

2.The system display incorrect username


or password error message

3. The use case resume at step 2

4. Step 3 repeated more than 3 times the


account will be disabled

Exit conditions Logout or Session time out

Table 4Login Use Case Description

16|P a g e
2.5.2.2.2 Manage User Account
Use Case Name Manage User Account
Identifier UC002Manage User Account

Actor System Admin

Description The System Admin create, delete, change


account password and account properties

Pre-condition The System Adminlogged in to the system.

Post-condition User account created/deleted/account password


and property changed
Basic course of action 1. System Admin Open the Web App
2. System Admin go to account management
setting
3. System Admin right click on a user
4. System Admin click on create/delete/change
password/properties
5. System Admin fill or choose appropriate
information
6. System apply the change
7. Click on ok

Alternative 1. System checks the validity of the information


2. The system displays error message if invalid
information is entered or user account already
exists
3. Go to step 5

Exit conditions Logout or Session time out

Table 5Import Drug Information Use Case Description

17|P a g e
2.5.2.2.3 Search Drug InformationUse Case Description
Use Case Name Search Drug Information
Identifier UC003Search Drug Information

Actor Record Office, User, Supplier

Description The Record Office/User/SupplierSearch Detailed


Drug information.

Pre-condition Record office/User/Supplier must open the


FMHACA website
Post-condition Drug information is displayed

Basic course of action 1. Record office/User/Supplier opens the web


app
2. Record office/User/Supplier clicks onSearch
box
3. Type the drug name
4. Click on Search Button
5. Record office/User/Supplierview the drug
information
6. System displays acknowledgment message.

Alternative 1. System checks the validity of the information


2. The system displays “Not Found” message if
drug is not registered.

Exit conditions Session time out

Table 6Search Drug Information Use Case Description

18|P a g e
2.5.2.2.4 Send Drug Information for Validity Check
Use Case Name Send Drug Information for Validity
Check
Identifier UC004Send Drug Information for Validity Check

Actor User

Description The user sendsdrug information to check that the


drug is valid or not, before buying it.

Pre-condition The users open the android app in his/her smart


phone/tablet.
Post-condition User responded VALID or INVALID message

Basic course of action 1. User opens android App


2. User enters batch number in “Drug Batch
Number” and “Confirm” boxes
3. User clicks on “Check” button.

Alternative 1. System checks the validity of the information


2. The system displays error message if required
field is missed or the batch number entered in
two boxes not matched
3. Go to step 2

Exit conditions Session time out

Table 7Import Drug Information Use Case Description

19|P a g e
2.5.2.2.5 Add Drug/Supplier/Pharmacy Information Use Case Description
Use Case Name Add Drug/Supplier/PharmacyInformation
Identifier UC005 Add Drug/Supplier/PharmacyInformation

Actor Record Office

Description The Record Office adds detailed


Drug/Supplier/Pharmacyinformation in to the
system.
Pre-condition The record office logged in to the system.

Post-condition Drug/Supplier/Pharmacyinformation is added

Basic course of action 1. Record office opens the web app


2. Record office clicks on the menu which the add
user interface
3. “Add Drug/Supplier/Pharmacy” form will be
displayed
4. The record office will fill the form with the
appropriate information
5. Record office clicks on “Save” button
6. System checks the validity of the information
7. System displays acknowledgment message.

Alternative 1. System checks the validity of the information


2. The system displays error message if required
fields missed or the record already exists
3. Go to step 4

Exit conditions Logout or Session time out

Table 8 Add Drug Information Use Case Description

20|P a g e
2.5.2.2.6 Update Supplier/Pharmacy Information Use Case Description
Use Case Name Update Supplier/Pharmacy
Information
Identifier UC006 Update Supplier/Pharmacy Information

Actor Record office

Description Record office updates


Supplier/Pharmacyinformation which is stored in
to the system.
Pre-condition The Record office logged in to the system.

Post-condition Supplier/Pharmacyinformation is updated

Basic course of action 1. Record office opens the web app


2. Record office search the record to be update
3. Record office enter the update information
4. Record office clicks on “Save” button
5. System checks the validity of the information
6. System displays acknowledgment message for
update.

Alternative 1. System checks the validity of the information


2. The system displays error message if required
fields missed or invalid data is entered
3. Go to step 3

Exit conditions Logout or Session time out

Table 9 Update Supplier Information Use Case Description

21|P a g e
2.5.2.2.7 Submit Drug Information Use Case Description
Use Case Name Submit Drug Information
Identifier UC007Submit Drug Information

Actor Supplier

Description The SupplierSubmitDetailedDrug information in


to the Record office.

Pre-condition The Supplier prepares the drug Information in


soft (CSV or PDF) and hard copy.
Post-condition Supplier Submit Drug Information

Basic course of action 1. Supplier records each of the drugs which are
imported/producedusingMicrosoft excel
according to the format given from FMHACA
2. Supplier saves the file with .CSV or .PDF file
format
3. Supplier gives the file to the Record Office in
soft and hard copy

Alternative 1. Supplier sends the file to the Record Office


using e-mail

Exit conditions

Table 10Submit Drug Information Use Case Description

22|P a g e
2.5.2.2.8 Generate Report Use Case Description
Use Case Name Generate Report
Identifier UC008 Generate report

Actor Manager

Description Enables to generate and view different reports

Pre-condition The Manager should have an account

Post-condition The respective report is displayed and saved to a


proper location
Basic course of action 1. User selects on Generate Report from the
navigation menu bar.
2. System displays Report Main Page with
different filtering and analysis criteria.
3. User click the link with respective report name
4. User enters their interest of filleting criteria.
5. System displays the result
6. If the viewed report is appropriate, the user
clicks on finish

Alternative System displays “No records” message, if there


exists nothing

Exit conditions Logout or Session time out

Table 11 Generate Report Use Case Description

23|P a g e
2.5.3 Scenario
2.5.3.1 Manage Account Scenario
2.5.3.1.1 Change User Account Password Scenario
Scenario Name Manage Account (Change User Account Password)

Participating Actor/s System Admin

Flow of events: 1. System Admin open the Web App


2. System Admin login with privileged user account
3. Admin go to account management setting
4. Admin right click on a user
5. Admin click on change password
6. Admin type new password in “new password” box
7. Admin type the same password in “confirm
password” box
8. Click on ok
Table 12Manage Account (Change user account password) Scenario

2.5.3.1.2 Create User Account Scenario


Scenario Name Manage Account (Create User Account)

Participating Actor/s System Admin

Flow of events: 1. System Admin open the Web App


2. System Admin login with privileged user account
3. System Admin go to account management setting
4. System Admin click on create account
5. System Admin type a user name in “User Name”
box
6. System Admin type password in “Password box”
7. System Admin type the same password in
“confirm password” box
8. System Admin clicks on “OK” button
Table 13Manage Account (Create user account) Scenario

24|P a g e
2.5.3.1.3 Active/Inactive User Account Scenario
Scenario Name Manage Account (Active/Inactive User Account)

Participating Actor/s System Admin

Flow of events: 1. System Admin open the Web App


2. System Admin login with privileged user account
3. System Admin go to account management setting
4. System Admin right click on a user
5. System Admin click on properties
6. System Admin or uncheck the “Disable account”
checkbox to inactivate/activate user account
7. System Admin clicks on “OK” button
Table 14Manage Account (Disable/Inactive account) Scenario

2.5.3.2 Search Drug InformationScenario


Scenario Name Search Drug Information

Participating Actor/s Record office, Supplier, User

Flow of events: 1. Record office/User/Supplier opens the web app


2. Record office/User/Supplier clickson Search box
3. Type the drug name
4. Click on Search Button.
Table 15Search for Registered Drug information Scenario

2.5.3.3 Send Drug Information for ValidityCheck Scenario


Scenario Name Send Drug Information for Validity Check

Participating Actor/s User

Flow of events: 1. User opens android App


2. User enters batch number in “Drug Batch Number” and
“Confirm” boxes
3. User clicks on “Check” button.
Table 16Send Drug Information for Validity Check Scenario

25|P a g e
2.5.3.4 Submit Drug Information Scenario
Scenario Name Submit Drug Information

Participating Actor/s Supplier

Flow of events: 1. Supplier records each of the drugs it imports/produces


with Microsoft excel according to the format given from
FMHACA
2. Supplier saves the file with .CSV/.PDF format
3. Supplier sends/gives the file to the Record Office in soft
and hard copy
Table 16Submit Drug Information Scenario

2.5.3.5 Valid/Invalid Response Scenario


Scenario Name Valid/Invalid Response

Participating Actor/s DDRV External System

Flow of events: 1. DDRV Ext. System accepts user request


2. DDRV Ext. System checks the drug availability and
validity in its database
3. DDRV Ext. System respond “VALID”, if the drug is
available and valid in the database otherwise it responses
“INVALID” to a user
Table 17 Valid/Invalid Response Scenario

26|P a g e
2.5.3.6 Add Drug/Supplier/Pharmacy Information Scenario
Scenario Name Add Drug/Supplier/Pharmacy Information

Participating Actor/s Record office

Flow of events: 1. Record officer open the web app


2. Record officer login with his/her own account
3. Record officer clicks on REGISTER DRUG/
REGISTER SUPPLIER/REGISTER PHARMACY
from REGISTER menu
4. The registration form will appear
5. Record officer fills the form with appropriate
information
6. Record officer clicks on SAVE button
Table 18Add Supplier Information Scenario

2.5.3.7 Update Supplier/Pharmacy Information Scenario


Scenario Name Update Supplier/Pharmacy Information

Participating Actor/s Record office

Flow of events: 1. Record office opens the web app


2. Record officer login with his/her own account
3. Record office search the record to be update
4. Record office enter the update information
5. Record office clicks on “Save” button
Table 19Update Supplier Information Scenario

27|P a g e
2.5.3.8 Generate Report Scenario
Scenario Name Add Supplier Information

Participating Actor/s Manager

Flow of events: 1. Manager open the web app


2. Manager login with his/her own account
3. Manager clicks on GENERATE REPORT tab
4. When a report wizard appears, the manager will follow
the wizard until he/she finish the task
5. Manager will add information and fields according to
his/her interest
6. Manager click on FINISH button
Table 20Generate Report Scenario

28|P a g e
2.5.4 Sequence Diagram

2.5.4.1 Login Sequence Diagram

Figure 3Login Sequence Diagram

29|P a g e
2.5.4.2 Create User Account Sequence Diagram

User System Database

login

Create New User Account

Enter User Details

Select Account Type


Check User Details

Return Result

(If there is missing required field OR


user account exists)
Reject With Approprite Message

(else)
User Account Created Successfully

Figure 4 Create User Account Sequence Diagram

30|P a g e
2.5.4.3 Change User Account Password Sequence Diagram

Admin System Database

login

Change Password Request

Ask For Old and New Password

Enter Old and New Password

Verify Old Password and Accept New Password

Password Changed
Password Changed Successfully

Figure 5 Change User Account Password Sequence Diagram

31|P a g e
2.5.4.4 Active/Inactive User Account Sequence Diagram

Admin System Database

login

View User Account

User Account Properties

Active/Inactive User Account


Update User Account Properties

User Account Properties Updated

User Account Updated Successfully

Figure 6 Active/Inactive User Account Sequence Diagram

32|P a g e
2.5.4.5 Search Drug Information Sequence Diagram

User System Database

Enter ID/Name

Click on Search Button

Search the Input Data

Respond Result

(If search data not found in the database)


"Data not Found" Message Displays

(else)
View Search Result

Figure 7 Search data Sequence Diagram

33|P a g e
2.5.4.6 Send Drug Information for Validity Check Sequence Diagram

User System Database

Fill Drug Information

Send Drug Information

Check the Validity of the Information

Verify the Validity of the Drug

Respond Result

Result Viewed

Figure 8 Send Drug Information for Validity Check Sequence Diagram

34|P a g e
2.5.4.7 Add Drug/Supplier/Pharmacy Information Sequence Diagram

Record Office System Database

login

Open Registration Form

Fill Supplier/Pharmacy Information

Add Supplier/Pharmacy Information

Check the Validity of Information

Supplier/Pharmacy Registered

Supplier/Pharmacy Registered Successfully

Figure 9 Add Supplier/Pharmacy Information Sequence Diagram

35|P a g e
2.5.4.8 Update Supplier/Pharmacy Information Sequence Diagram

Record Office System Database

login

Open Registration Form

Search Supplier/Pharmacy

Edit Supplier/Pharmacy Information

Update Supplier/Pharmacy Information

Check the Validity of Information

Supplier/Pharmacy Updated

Supplier/Pharmacy Updated Successfully

Figure 10 Update Supplier/Pharmacy Information Sequence Diagram

36|P a g e
2.5.4.9 Generate Report Sequence Diagram

Manager System Database

login

Open Report Wizard

Select Valid Information

Generate

Build Requested Data

Generate Report

Report Generated Successfully

Figure 11 Generate Report Sequence Diagram

37|P a g e
2.5.5 Activity Diagram

2.5.5.1 Login Activity Diagram

Login

Enter User Name and


Password

Invalid user name and password

Valid user name and


password

View Admin
Home Page

Figure 12 Login Activity Diagram

38|P a g e
2.5.5.2 Create User Account Activity Diagram

Login

Go to Manage User Account

Go to Create User Account

Enter User Information

Invalid information User account exists

valid information

User Account Created

Logout

Figure 13 Create User Account Activity Diagram

39|P a g e
2.5.5.3 Change User Account Password Activity Diagram

Login

Go to Manage User Account

Select User Account

Click on Change Password

Invalid information

valid information

Password Changed

Logout

Figure 14 Change User Account Password Activity Diagram

40|P a g e
2.5.5.4 Active/Inactive User Account Activity Diagram

Login

Go to Manage User Account

Right Click on a User Account

Click on User Account Properties

Click on Inactive User Account

User Account Activated/Inactivated

Logout

Figure 15 Disable/Inactive User Account Activity Diagram

41|P a g e
2.5.5.5 Search Drug Information Activity Diagram

Login

Enter ID/Name

Go to Search Box

“Please Enter valid ID/Name”


Message Displays

Search data does not exist

Search data exist

Search Result Viewed

Logout

Figure 16 Search data Activity Diagram

42|P a g e
2.5.5.6 Send Drug Information for Validity Check Activity Diagram

Fill Drug Information

“Please enter valid information” Send


Message Displays

Invalid Information

Valid Information

Response Received

Figure 17 Send Drug Information for Validity Check Activity Diagram

43|P a g e
2.5.5.7 Add Drug/Supplier/Pharmacy Information Activity Diagram

Login

Open Registration Form

Fill Drug/Supplier/Pharmacy Information

Add Drug/Supplier/Pharmacy Information

Invalid Information
Error Displayed

Valid Information

Drug/Supplier/Pharmacy Registered

Logout

Figure 18 Add Supplier/Pharmacy Information Activity Diagram

44|P a g e
2.5.5.8 Update Supplier/Pharmacy Information Activity Diagram

Login

Search Supplier/Pharmacy

Edit Supplier/Pharmacy Information

Update Supplier/Pharmacy Information

Invalid Information
Error Displayed

Valid Information

Supplier/Pharmacy Updated

Logout

Figure 19 Update Supplier/Pharmacy Information Activity Diagram

45|P a g e
2.5.5.9 Generate Report Activity Diagram

Login

Go to Report Tab

Select Valid information

Select Report Type

Click on Generate

Logout

Figure 20Generate Report Activity Diagram

46|P a g e
2.5.6 State Diagram

2.5.6.1 Manage Account

Create User Account


request

Create
User name Create User
Exist Account
existed

User Account Created

Change Password Change


Active
Password

inactive reactive

Inactive

Figure 21Manage Account

47|P a g e
2.5.6.2 Add/Update Drug/Supplier/Pharmacy Information

Add Supplier
or Pharmacy

Create
Supplier or Pharmacy Add Supplier
Existed or Pharmacy
Existed

Update Update
Add
Supplier or Pharmacy

Figure 22Add/Update Drug/Supplier/Pharmacy Information

48|P a g e
2.5.6.3 Send Drug Information

Fill Drug
Information

DDRV Send
Send Drug
Existed
Information
System Existed

Response
Receives

Figure 23 Send Drug Information

49|P a g e
2.5.7 User Interface

2.5.7.1 FMHACA Ethiopia Home Page

Figure 24FMHACA Ethiopia Home Page

2.5.7.2 Login User Interface

50|P a g e
Create User Account User Interface

2.5.7.3 Change User Account Password User interface

Figure 25Create User Account User Interface

51|P a g e
2.5.7.4 Register Drug Information User Interface

Figure 26Register Drug InformationUser Interface

2.5.7.5 Register Supplier Information User Interface

Figure 27Register Supplier Information User Interface

52|P a g e
2.5.7.6 Register Pharmacy Information User Interface

Figure 28 Register Pharmacy Information User Interface

2.5.7.7 Register Supplier Information User Interface

Figure 29Register Supplier Information User Interface

53|P a g e
2.5.8 Class Diagram

Figure 30 Class Diagram

54|P a g e
Chapter Three

3. System Design Document


3.1. Introduction
Requirement analysis models are effective for identifying what will be built; but do not contain
sufficient information to define how the system will be built.
During system design, developers define the design goals of the system and decompose it into
smaller subsystems that can be realized by an individual team. Developers also select strategies
for building the system such as the hardware/software platforms, and persistence data
management.
In the previous document (RAD) we tried to analyze how the current system works and
collecting and defining the proposed system requirements.
In this document, the different system design models are present in order to determine how to
build the system.

3.2. Design of the System


The design goals represent the desired qualities that the system should have and provide a
consistent set of criteria that should be taken into consideration when making design decisions.

3.2.1. Design Goals


If the following design goals are meet, the developed system is considered as successful and a
good system.

3.2.2. User Interface


As the system is expected to be user friendly, the user interface of the system should be easy and
used by users without difficulties since users may have less experience in using computer. The
user interface on the mobile phone should be precise and simple as it will be displayed in small
screen.

3.2.3. Documentation
System Administrator and user of the system should be provided with proper documentation on
how to manage and use the system.

3.2.4. Performance
Since the system is available online for users, there may be many users using the systems at a
time; so the system should have to support multiple users at a time concurrently.

3.2.5. Availability
The system should be available at any time the user wants to access. That means the system
should be available 24 hours to provide the service.

55|P a g e
3.2.6. Reliability
The output of the system has to be always similar for the same request.

3.2.7. Modifiability
The system should be easily modifiable to support changes or upgrading without causing
problem to other systems functionality. To insure this, the system should be designed in Object
Oriented design method and implemented in Object Oriented Language.

3.2.8. Portability
The server side of the system should support requests coming from different platforms via
standard web browsers. The client side of the system should run on all android mobile phones.

3.3. Current Software Architecture


The current drug management system of FMHACA is semi-automated;it means that some of
drug related activities are done by manual system, but the organization does not have any drug
validation system.

3.4. Proposed Software Architecture


The proposed system is expected to replace the existing semi-automatedsystemwithfully
automated system.

The type of architecture used for the proposed system is a three tier client/server distributed
architecture, which is the client tier (UI), the middle tier (BL) and the data tier (DAL). The data
tier maintains the applications data; whereas the middle tier (web/application server) implements
the business logic, controller logic and presentation logic to control the interaction between the
application’s clients and data. The controller logic processes client requests to retrieve data from
the database. Business rules enforced by the business logic command how clients can and cannot
access application data and how applications process data.

A web server is a program that runs on a network server (computer) to respond to HTTP
requests. The most commonly used web servers are Internet Information Server (IIS). The web
server used in this system is IIS. HTTP is used to transfer data across the Internet; it is the
standard protocol for moving data across the internet.

And the client tier is the applications user interface containing data entry forms and client side
applications. It displays data to the user. Users interact directly with the application through user
interface. The client tier interacts with the web/application server to make requests and to
retrieve data from the database. It then displays to the user the data retrieved from the server.

The web application is designed by ASP.NET and the mobile application is designed by Android
studio.

56|P a g e
Figure 31System Architecture diagram

3.5. System Decomposition


System decomposition is a general approach to solving a problem by breaking it up into smaller
ones and solving each of the smaller ones separately. Similarly in our system, the following
decomposition will help to reduce the complexity of the system.

DDRVS System

Web
Android
App
App

System DDRV Ext.


Record Office Manager User/Citizen Supplier
Admin System

Figure 32 DDRVS System

57|P a g e
System Admin Subsystem

<<Client Page>> <<Bulid>> <<Server Page>>


Error Message Error Message

<<Re-direct>>
<<Submit>>
<<Client Page>> <<link>> <<Form>> <<Server Page>>
Home Page Login Validate Admin

User Account DB

<<Server Page>>
Admin Page

<<Manage Account>>

<<Server Page>>
Manage Account

Figure 33 System Admin Subsystem

Manage Account Subsystem

<<Client Page>>
Manage Account

<<Active/Inactive
<<Create Account>> <<Change Passwordt>> Account>>

<<Server Page>> <<Server Page>>


<<Server Page>> Active/Inactive User
Change Account
Create User Account Account
Password

Figure 34 Manage Account Subsystem

58|P a g e
Create User Account Subsystem

<<Client Page>> <<Link>>


<<Form>> <<Server Page>>
Create User Account User Account Existing Account

<<Link>>
<<Submit>> <<Bulid>>
<<Server Page>>
>
Create User Account ct>
ele

<<Redirect>>
<<S

<<Server Page>> <<Server Page>>


<<Bulid>> Valid Account Error Message

<<Server Page>>
<<Link>>
User Account List

<<Server Page>> <<Bulid>>


<<Client Page>>
Conformation
Message
Message

User Account
DB
User Account
DB

Figure 35 Create User Account Subsystem

Change User Account Password Subsystem

<<Client Page>>
Change User Account
Password
User Account DB

<<Link>>

<<Server Page>> <<Client Page>>


<<Server Page>> Confirmation Active/Inactive
Change Password <<Link>> Message <<Bulid>> Message

Figure 36 Change User Account Password Subsystem

59|P a g e
Active/Inactive Account Subsystem

<<Client Page>>
Active/Inactive
Account
User Account DB

<<Link>>

<<Server Page>> <<Client Page>>


<<Server Page>> Active/Inactive Active/Inactive
Active/Inactive <<Link>> Message <<Bulid>> Message

Figure 37 Active/Inactive Account Subsystem

Record Office Subsystem

<<Client Page>> <<Bulid>> <<Server Page>>


Error Message Error Message

<<Re-direct>>
<<Submit>>
<<Client Page>> <<link>> <<Form>> <<Server Page>>
Home Page Login Admin

User DB

Record Office
Page

<<Register Drug/Supplier/ <<Update Supplier/


<<Search Drug>> <<Send Drug Info >>
Pharmacy >> Pharmacy >>

<<Server Page>> <<Server Page>> <<Server Page>> <<Server Page>>


Search Drug Send Drug Register Drug/Supplier/ Update Supplier/
Information Information Pharmacy Info Pharmacy Info

Figure 38 Record Office Subsystem

60|P a g e
Search Drug Information Subsystem

<<Client Page>> <<Link>>


<<Form>>
Search Drug Search

<<Link>>
<<Submit>>
<<Server Page>>

>>
Search Drug
ect
Sel
<<Redirect>>
<<Server Page>> <<Server Page>>
<<

<<Bulid>> Valid Data Error Message

<<Server Page>>
Drug Information <<Link>>
Viewed

<<Server Page>> <<Bulid>>


<<Client Page>>
Conformation
Search Result
Message

Drug
DB
Drug
DB

Figure 39 Search Drug Information Subsystem

Send Drug Information Subsystem

<<Client Page>> <<Link>>


<<Form>>
Send Drug Info Search

<<Link>>
>>

<<Submit>>
ct
le
Se
<<

<<Redirect>>
<<Server Page>> <<Server Page>> <<Server Page>>
Drug Info Valid Data Error Message

<<Bulid>> <<Link>>

<<Server Page>> <<Bulid>>


<<Client Page>>
Conformation
Search Result
Message

Drug
DB
Drug
DB

Figure 40 Send Drug Information Subsystem

61|P a g e
Register Drug/Supplier/Pharmacy Subsystem

<<Client Page>> <<Form>> <<Link>>


Register Drug/ Drug/Supplier/Pharmacy <<Server Page>>
Supplier/Pharmacy Registration Error Message

>>
<<Link>>

ect
Sel
<<Submit>> <<Bulid>>

<<
<<Server Page>>
Register Drug/
Supplier/Pharmacy
<<Server Page>> <<Redirect>>
<<Server Page>>
Valid Drug/Supplier/
Error Message
Pharmacy Register

<<Link>>

<<Server Page>> <<Bulid>> <<Client Page>>


Conformation Confirmation
Message Message

Drug
DB

Figure 41 Register Drug/Supplier/Pharmacy Subsystem

Update Supplier/Pharmacy Subsystem

<<Client Page>> <<Link>>


Update Supplier/ <<Form>> <<Server Page>>
Pharmacy Supplier/Pharmacy Not Updated

<<Link>>
<<Submit>> <<Bulid>>
<<Server Page>>
>
lect>

Update Supplier/
Pharmacy
<< S e

<<Server Page>> <<Redirect>>


<<Server Page>>
Valid Supplier/Pharmacy
<<Bulid>> Error Message
Status

<<Server Page>>
Update Supplier/ <<Link>>
Pharmacy List

<<Server Page>> <<Bulid>> <<Client Page>>


Conformation Confirmation
Message Message

Drug
DB
Drug
DB

Figure 42 Update Supplier/Pharmacy Subsystem

62|P a g e
Manager Subsystem

<<Client Page>> <<Bulid>> <<Server Page>>


Error Message Error Message

<<Re-direct>>
<<Submit>>
<<Client Page>> <<link>> <<Form>> <<Server Page>>
Home Page Login Admin

User DB

Manager
Page

<<Generate Report>>

<<Server Page>>
Generate Report

Figure 43 Manager Subsystem

Generate Report Subsystem

<<Client Page>>
Generate Report
DB
<<Link>>

<<Bulid>> <<Server Page>>


<<Server Page>>
Generate Report Generate report

Figure 44 Generate Report Subsystem

63|P a g e
3.6. Hardware and Software Mapping
The hardware software mapping of the system shows the relationship between nodes and
Independent software components. The systems client application can be deployed on android
mobile device and desktop computers, the application server deploys the application subsystems
and the system resides on Database server.

Figure 45Hardware and Software Mapping

3.7. Data Management


To store collected data for later analysis and reporting, data management is required. For this
purpose, relational database management system is used in the central system. In addition, for
temporary data storage, record management system is used in the mobile phone. The record
management system is an application programming interface that is used to store and manipulate
data in small computing devices using android application. It can be used to store collected data
in the mobile phone. For complex queries over attributes and large dataset Microsoft SQL Server
is implemented, which is a Relational Database Management System.

64|P a g e
3.8. Access Control

Object Create Manage Send drug Submit Search Drug Register Update View Report
Account Account ID for Drug Information Drug/Supplier Drug/Supplier Drug/Supplie
Actor Verification Information /Pharmacy /Pharmacy r/Pharmacy
Information Information Information

Administrator login() Manage


CreateAccou Account() Generate()
nt() Create and
logout() Update()
Supplier Submit() User()

Record Office User() Login() Login() User() Submit()


Register Update
Drug/Supplier/ Drug/Supplier/
Pharmacy Pharmacy
Information() Information()
Logout() Logout()
User/Citizen User() User() View()

Manager View()

Table 18Access Control

65
3.9. Class Interfaces

Figure 46Class Interfaces

66
3.10. Security, trend analysis, system upgrade
3.10.1. Supplier
A: Attribute
ID: IntThis attribute stores the Supplier ID of the Supplier that will added to Supplier table.
Code: nvarchar(50)his attribute stores the Code of the Supplier that will added to Supplier
table.
SupplierNmae: nvarchar(50)This attribute stores the name of the Supplier that will added to
Supplier table.
SupplerType: nvarchar(50)This attribute stores the type of Supplier that will added to
Supplier table.
PostCode: nvarchar(50)This attribute stores the Post Code of the Supplier that will added to
Supplier table.
PhoneNumber: nvarchar(50)This attribute stores the Phone Number of the Supplier that will
added to Supplier table.
ContactPerson: nvarchar(50)This attribute stores the name of Contact person of the Supplier
that will added to Supplier table.
SubCity: nvarchar(50)This attribute stores the Sub city of the Supplier that will added to
Supplier table.
Woreda: Int This attribute stores the Worda of the Supplier that will added to Supplier table.
B. Operations
+RegisterSupplier(): This function register Supplier to the Supplier table with full information.
+UpdateSupplierStatus (): This function update the status of the Supplier according to the new
Information.
+view (): This function helps users/citizen and FMHACA to view Supplier Information
C. Dependencies with Other Classes

Figure 47 Supplier Dependencies

67
3.10.2. Supplier Type
A. Attribute
ID: intThis attribute stores the ID of the Supplier type that will added to Suppliertype table.
Type: nvarchar(50) this attribute stores the type of the Sypplier that will added to Suppliertype
table.
B. Operations
+RegisterSuppliertype(): This function registertype of Supplierto the Suppliertypetable with full
information.
C. Dependencies with Other Classes

Figure 48 Supplier Type Dependencies

3.10.3. Dosage Form


A. Attribute
ID: Int this attribute stores the ID of the dosage form that will added to dosageForm table.
code: nvarchar(50) this attribute stores the Code of the dosageForm that will added to
dosageForm table.
dosageForm: nvarchar(50) this attribute stores the dosage Form that will added to dosageForm
table.
B. Operations
+RegisterSuppliertype(): This function registersthe dosageFormof drug to the dosageForm table
with full information.

68
C. Dependencies with Other Classes

Figure 49 Drug form Dependencies

3.10.4. Drug Category


A. Attribute
ID: IntThis attribute stores the ID of the drug category that will added to drugcategory table.
code: nvarchar(50) this attribute stores the Code of the drug category that will added to
drugcategory table.
category: nvarchar(50) this attribute stores the category of the drug that will added to
drugcategory table.
B. Operations
+Registerdrugcategory(): This function registerthe categoryof drug to the drugcategorytable with
full information.

C. Dependencies with Other Classes

Figure 50 Drug Category Dependencies

69
3.10.5. Pharmacy
A: Attribute
ID: nvarchar(50)This attribute stores the ID of the Pharmacy that will added to Pharmacy
table.
Code: nvarchar(50)This attribute stores the Code of the Pharmacy that will added to Pharmacy
table.
PharmacyName: nvarchar(50)This attribute stores the Name of the Pharmacy that will added
to Pharmacy table.
IsActive: bitThis attribute stores the pharmacy is licensed or not
IsPharmacy: bitThis attribute identifies the organization type
SubcityId: intThis attribute stores the SubCity ID of the Pharmacy that will added to Subcity
table
Woreda: nvarchar:(50)This attribute stores the woreda of the Pharmacy that will added to
Pharmacy table.
Tele:nvarchar(50)This attribute stores the Telephone Number of the Pharmacy that will added
to Pharmacy table.
Mobile: nvarchar(50)This attribute stores the Mobile Number of the Pharmacy that will added
to Pharmacy table.
contactPerson: nvarchar(50) This attribute stores the contactPersonof the Pharmacy that will
added to Pharmacy table.

B. Operations
+RegisterPharmacy(): This function register Pharmacy to the Pharmacy table with full
information.
+UpdatePharmacyStatus (): This function update the status of the Pharmacy according to the
new Information.
+view (): This function helps citizen and FMHACA officer to view Pharmacy Information

70
C. Dependencies with Other Classes

Figure 51 Pharmacy Dependencies

3.10.6. Drug Info


A. Attribute
ID: intThis attribute stores the ID of the drug that will added to Drug Info table.
Code: nvarchar(50)This attribute stores the Code of the drug that will added to drug table.
catagoryId: intThis attribute stores the catagoryIdof the drug that will added to drug table.
genericName: nvarchar(50)This attribute stores the genericNameof the Drug Info table.
Brand_Name: nvarchar(50)This attribute stores Brand name of the Drug that will be added to
productionDate: DateTimeThis attribute stores the productionDateof the Drug that will be
added to the Drug Info table.
ExpireDate: nvarchar(50) This attribute stores the Expire Date of the Drug that will be added
to the Drug Info table.
countryId: intThis attribute stores countryIdof the Drug that will be added to the Drug Info
Table.
manufacturedBy: nvarchar(50)This attribute stores the manufacturer of the Drug Info table
added to the Drug Info table.
batchNumber: nvarchar(50)This attribute stores the batchNumberof the Drug that will be
added to the Drug Info table.
serialNumber: nvarcharThis attribute stores the serialNumberof the Drug that will be added
to the Drug Info table.

71
dosageFormId: intThis attribute stores the dosageFormId of the Drug that will be added to the
Drug Info table.
dosageStrength: nvarchar (50)This attribute stores the dosage Strength of the Drug that will
be added to the Drug Info table.
supplierId: intThis attribute stores the supplierId that will be added to the Drug Info table.
Prescription: bitThis attribute stores the prescription of the Drug that will be added to the
Drug Info table.
createdBy: nvarchar(50)This attribute stores the createdBy of the Drug that will be added to
the Drug Info table.
createdDate: DatetimeThis attribute stores the createdDate of the Drug that will be added to
the Drug Info table.
updatedBy: nvarchar(50) This attribute stores the updated By of the Drug information that
will be added to the Drug Info table.
updatedDate: nvarchar(50)This attribute stores the updatedDate of the Drug information that
will be added to the Drug Info table.
B. Operations
+Register_ Drug (): This function register Drug to the Drug Info table with full information.
+Update Drug Status (): This function update the status of the Drug according to the new Status.
+view (): This function helps FMHACA officer and Citizen to view Drug Information
C. Dependencies with Other Classes

Figure 52 Drug Info Dependencies

72
3.10.7. Country
A. Attribute
id: intThis attribute stores the id of the country that will added to country table.
Country:nvarchar(50)This attribute stores the country of the manufacturer country of the drug
that will added to country table.
B. Operations
+Register_ drugcategory(): This function registersthe country of drug manufacturerto the
countrytable with full information.

C. Dependencies with Other Classes

Figure 53 Country Dependencies

3.10.8. Sub city


A. Attribute
id: intThis attribute stores the id of the sub city that will added to subcitytable.
subcity:nvarchar(50)This attribute stores the subcity of the pharmacy that will added to
subcitytable.
B. Operations
+Register_ drugcategory(): This function registersthe subcityof pharmacy to the countrytable
with full information.
C. Dependencies with Other Classes

Figure 54 Sub City Dependencies

73
Chapter Four

4. Object Design Document (ODD)


4.1. Introduction
The first section of ODD of DDRVS is describes the general Trade-offs made by developer
time, guidelines and conventions and an overview of the document.

The Second section of the ODD, packages describes the decomposition of subsystem into
packages and the file organization of the code. This include an overview of each packages, its
dependencies with other packages, and its expected usage.

The third section, Classinterfaces, describes the classes and their public interfaces.

This includes an overview of each Class, its dependencies with other Classes and packages, its
public attributes, operation, and exceptions they can raise.

In this section, we will describe different packages with the interactions between them and the
class interfaces with their attributes and operations that accommodate on it. We design the
objects from the sub system point of view we pass through object design trade-offs the following
conditions.

4.2. Object design trade-offs


The trade-off that we came across during the object design phase of DRUG and DRUG
RELATED VALIDATION SYSTEM is between modularity, reusability, portability
andefficiency-cost. Therefore, we need to balance these two groups of properties. We applied
modularity & reusability principles to wherever suitable but we also tuned critical functions for
efficiency.

As an example we put this trade-offs for our system.

Memory Vs User Interfaces Design


It is obvious that any user would love to work with system that incorporates more graphical
elements. But this cause increase in demand for memory space.

74
Speed Vs. Spaces
DDRVS should give priority to speed than space.
Delivery Time VsQuality
If testing of DDRVStime is late, schedule ofDDRVS could be delivered with known bugs and
correct them latter.

4.3. Interface documentation guide lines


Interface documentation guide lines and coding conventions are the most important factors that
can improve communication between developers during object design. This includes list of rules
that can improve communication between developers during object design.

Some of the rules we rules we used while designing are listed below:

 Every part of the code is commented and well-ordered and that makes it easy to read
for the developers and administrators during time of maintenance.
 Indentation is also cantered for the purpose of readability.
 Class and function names should be descriptive of their function.
 Packages are written in sentence case letters.
 Constants are written in Capital letters with underscores
 Methods when they are combinations of words are written starting with Capital case
letters followed by small letters and internals uppercase letters ,while single word
method are written with lower case letters.
 All /**…**/ comments will be written by using javadoc conventions.

75
4.4. Packages Definitions

Outer Package DAL Package


BL Package

Internet
Drug Info Com.ddrvs.dal
Service Supplier
-code:nvarchar Pharmacy -Connection:string
-code:nvarchar -catagoryId:int -Comaned:string
-code:nvarchar
-name:nvarchar -genericName::nvarchar
-contactPerson -brandName:nvarchar
-pharmacyName:nvarchar -Data Table:object
-isActive:bit -DataAdapter:object
-tele:nvarchar -productionDate:datetime
-isPharmacy:bit
-mobile:nvarchar -expireDate:datetime -DataSet:obect
-subcityId:int
-poBox:nvarchar -countryId:int
Database -woreda:nvarchar
-supplierTypeId:int -manufacturedBy:nvarchar
-tele:nvarchar +ExectureQuery():object
-isLicensed:bit -batchNumber:nvarchar
-mobile:nvarchar
-serialNumber:nvarchar +ExecuteNonQuery():object
-contactPerson:nvarchar
DBtable -dosageFormId:int
+Add() -dosageStrength:nvarchar +Add()
+Update() -supplierId:int +Update()
+Delete() -prescription:bit +Delete()
+New() +New()
+Select() +Add()
+Update() +Select()
+Delete()
+New()
+Select()
+Search()

UI Package

Drug Info
Supplier
Pharmacy
-code:nvarchar
-code:nvarchar -catagoryId:int -code:nvarchar
-name:nvarchar -genericName::nvarchar -pharmacyName:nvarchar
-contactPerson -brandName:nvarchar -isActive:bit
-tele:nvarchar -productionDate:datetime -isPharmacy:bit
-mobile:nvarchar -expireDate:datetime -subcityId:int
-poBox:nvarchar -countryId:int -woreda:nvarchar
-supplierTypeId:int -manufacturedBy:nvarchar -tele:nvarchar
-isLicensed:bit -batchNumber:nvarchar -mobile:nvarchar
-serialNumber:nvarchar -contactPerson:nvarchar
-dosageFormId:int
+Add() -dosageStrength:nvarchar +Add()
+Update() -supplierId:int +Update()
+Delete() -prescription:bit +Delete()
+New() +New()
+Add() +Select()
+Select()
+Update()
+Delete()
+New()
+Select()
+Search()

Figure 55Packages Definitions

In this part of the ODD we have five packages;BL package, DAL package, User Interface
package, the Data base package, Outer package (for Validity service). Every one of the
listed packages are responsible to one or more features of the system.

 Business Logic (BL) Package

The Business Logic is a central package and is responsible for managing the other packages. It
monitors the overall system goals like registration & management of add, update, delete, new,
select drug, supplier and pharmacy information and generate report.

76
 User Interface (UI)
This package is the user interface package & consists of user interfaces which are
responsible for the interaction between users and the system.
 DAL (Data Access Layer)
This package consists the Execute-Query and Execute-Non-Query
 Outer package
This package responsible for internet service, infrastructure of the ETC, which is a
medium to connect a user to the system for the purpose of drug validation.
 Database package
This package is responsible for the DDRVS database and tables.

4.5. Class Interfaces


4.5.1. Class Definitions

 CDrugInfo Class
 This class is responsible for managing Drug’s information.

Attributes

 Id: which identifies drugs uniquely


 Code: a special drug identifier which identifies a single drug or group of drugs
 genericName: which identifies the name of a drug
 brandName: which tells the brand of a drug
 productionDate: which tells the date that a drug is produced
 expireDate: which specifies drug expiration date
 manufacturedBy: which identifies a drug manufacturer
 batchNumber: a special code which is stamped by FMHACA on each
individual drug
 serialNumber: a unique number which identifies a drug
 dosageStrength: which identifies the dosage of a drug
 prescription: which identifies a drug OTC type or not
 createdBy: which identifies a user that registers a drug
 createdDate: which identifies a date that a drug is registered
 updatedBy: which identifies a user that updates a drug
 updateDate: which identifies a date that a drug is updated

77
Drug Info <<pre
<<Postcondition>>
Condition>>
<<Pre Condition>> Drug registered
<<pre condition>> -code:nvarchar
The form filled with
records -catagoryId:int
-genericName::nvarchar
-brandName:nvarchar
-productionDate:datetime <<pre
<<Postcondition>>
Condition>>
-expireDate:datetime Drug updated
<<Pre condition>>
<<pre Condition>> -countryId:int
Drug table must have
record/s
-manufacturedBy:nvarchar
-batchNumber:nvarchar
-serialNumber:nvarchar <<pre
<<Postcondition>>
Condition>>
-dosageFormId:int Drug deleted
<<Pre condition>>
<<pre Condition>> -dosageStrength:nvarchar
Drug table must have -supplierId:int
record/s
-prescription:bit <<pre
<<Postcondition>>
Condition>>
Form cleared
<<pre condition>>
<<Pre Condition>>
+Add()
+Update()
+Delete()
+New()
<<pre
<<Postcondition>>
Condition>>
+Select()
Drug selected
<<Pre condition>>
Condition>> +Search()
<<pre
Drug table must have
record/s

<<pre
<<Postcondition>>
Condition>>
<<Pre
<<pre Condition>>
condition>> Record found
Drug table must have
record/s

Figure 56 Drug Class Interfaces

Methods

 Save()- holds the logic, responsible for saving Drug’s information


 Update()-holds the logic, responsible for updating Drug’s information
 Delete()-holds the logic, responsible for removing Drug’s information
 Select()-holds the logic, responsible for retrieving Drug’s information
from grid view to the drug registration form.
 New()-holds the logic, responsible for clearingthe drug registrationform.
 Search()-holds the logic, responsible for retrieving a specific drug
information.
 CSupplier Class
 This class is responsible for managing Supplier’s information.

Attributes

 Id: which identifies suppliers uniquely


 Code: a special supplier identifier which identifies a single supplier

78
 Name: it holds the name of asupplierwhich is registered
 contactPerson: it holds the name of apersonwho is responsible for a specific
supplier
 tele: it holds the fixed line phone number of a supplier
 mobile: it holds the mobile phone number of a supplier
 poBox: it holds the P.O.Box code of a supplier
 isLicensed: which identifies a supplier is licensed or not

<<pre
<<Pre condition>>
Condition>> <<Post Condition>>
<<pre condition>>
The form filled with Supplier registered
records

Supplier

<<Pre condition>>
<<pre Condition>> -code:nvarchar
Supplier table must -name:nvarchar <<pre
<<Postcondition>>
Condition>>
have record/s Supplier updated
-contactPerson
-tele:nvarchar
-mobile:nvarchar
<<Pre Condition>>
<<pre condition>> -poBox:nvarchar
Supplier table must -supplierTypeId:int <<pre
<<Postcondition>>
Condition>>
have record/s -isLicensed:bit Supplier deleted

<<pre
<<Pre condition>>
Condition>>
+Add() <<pre
<<Postcondition>>
Condition>>
+Update() Form cleared
+Delete()
+New()
+Select()
<<pre
<<Postcondition>>
Condition>>
<<pre
<<Pre condition>>
Condition>> Supplier selected
Supplier table must
have record/s

Figure 57 Supplier Class Interfaces

Methods
 Save()- holds the logic, responsible for saving Supplier’s information.
 Update()-holds the logic, responsible for updating Supplier’s information.
 Delete()-holds the logic, responsible for removing Supplier’s information.
 Select()-holds the logic, responsible for retrieving Supplier’s information
fromgrid view to the drug registration form.
 New()-holds the logic, responsible for clearingthe supplier
registrationform.
 CRegisterParmacy Class
 This class isresponsible for managing Pharmacy’s information.
Attributes
 Id: which identifies suppliers uniquely
 Code: a special supplier identifier which identifies a single supplier
 pharmacyName: it holds the name of asupplierwhich is registered
 isActive: which identifies a pharmacy is active or not

79
 isPharmacy: which identifies either a pharmacy or a drug store
 woreda: it holds the pharmacy’s location
 tele: it holds the fixed line phone number of a pharmacy
 mobile: it holds the mobile phone number of a pharmacy
 contactPerson: it holds the name of apersonwho is responsible for a specific
pharmacy
<<pre
<<Pre condition>>
Condition>> <<Postcondition>>
<<pre Condition>>
The form filled with Pharmacy registered
records

<<Pre condition>>
<<pre Condition>> Pharmacy
Pharmacy table must <<pre
<<Postcondition>>
Condition>>
-code:nvarchar Pharmacy updated
have record/s
-pharmacyName:nvarchar
-isActive:bit
-isPharmacy:bit
<<Pre Condition>>
<<pre condition>> -subcityId:int
Pharmacy table must <<pre condition>>
<<Post Condition>>
-woreda:nvarchar
have record/s Pharmacy deleted
-tele:nvarchar
-mobile:nvarchar
-contactPerson:nvarchar
<<pre
<<Pre condition>>
Condition>> <<pre
<<Postcondition>>
Condition>>
+Add() Form cleared
+Update()
+Delete()
+New()
+Select() <<pre
<<Postcondition>>
Condition>>
<<pre M
<<Pre condition>>
Condition>>
Pharmacy selected
Pharmacy table must
have record/s
e

Figure 58 Pharmacy Class Interfaces

Methods

 Save()- holds the logic, responsible for saving Pharmacy’s information.


 Update()-holds the logic, responsible for updating Pharmacy’s
information.
 Delete()-holds the logic, responsible for removing Pharmacy’s
information.
 Select()-holds the logic,responsible for retrieving Pharmacy’s
information.Fromgrid view to the drug registration form.
 New()-holds the logic, responsible for clearingthe pharmacy
registrationform.

80
Chapter Five

5. Implementation
The previous chapter presented the detail of the proposed Android apps and Web application
DDRVS. This chapter discusses the prototype implementation of the system by stating the
objectives of the prototype, tools and technologies used.

5.1. Introduction
The prototype implementation developed in this project is principally aimed at providing
proof of Web Application and mobile app DDRVS management system can replace the semi-
automated registration that is currently going on in Addis Ababa.

5.2. Tools and Technologies Utilized for Implementation


Several tools and technologies were utilized for the purpose of developing the prototype
implementation. The following is list of the programming, communication, database
management and operating environment used in the prototype implementation.

• Visual Studio 2015 with the language visual C# and ASP.Net server is used for
developing the desktop machine edition of the prototype.

• Microsoft SQL Server 2014 database server version 8.0 is used for persistent data
management on the m-learning server.

• Android SDK Android is a software stack for mobile devices that includes an operating
system, middleware and key applications. The Android SDK provides the tools and APIs
necessary to begin developing the application on the Android platform using the Java
programming language.

• Microsoft Windows Server 2012 R2 Operating System is used for the DDRVS
registration management system.

• IEEE 802.11 wireless LAN (Wi-Fi) is used as a communication infrastructure between


the mobile device and the context refinement server.
81
5.3. Android Apps and Web application DDRVS
The implementation of the system consists of the development of a number of web-forms,
database entries and store procedures. Every web-form includes one or more data-tables to
transact relevant data. According to the relationship between the web-forms, data-tables are
created.

5.4. The Prototype


The Mobile and Web based DDRVS is composed of the mobile application that runs on an
android mobile phone and a web application that is used to check the validity of drug from
the mobile application and to register drugs, Suppliers and Pharmacies from the web
application.

5.5. Sample Code


Login Sample Code
<asp:LoginID="Login1"runat="server"BackColor="#EFF3FB"BorderColor="#B5C7DE"
BorderPadding="4"BorderStyle="Solid"BorderWidth="1px"
DestinationPageUrl="~/Pages/DrugInfo.aspx"Font-Names="Verdana"
Font-Size="0.8em"ForeColor="#333333"Height="269px"Width="468px"
CreateUserText="Register as a new User"
CreateUserUrl="~/Login/CREATEUSER.aspx">
<InstructionTextStyleFont-Italic="True"ForeColor="Black"/>
<LoginButtonStyleBackColor="White"BorderColor="#507CD1"BorderStyle="Solid"
BorderWidth="1px"Font-Names="Verdana"Font-Size="0.8em"ForeColor="#284E98"/>
<TextBoxStyleFont-Size="0.8em"/>
<TitleTextStyleBackColor="#507CD1"Font-Bold="True"Font-Size="0.9em"
ForeColor="White"/>
</asp:Login>

Create User Account Sample Code


<asp:CreateUserWizardID="CreateUserWizard1"runat="server"BackColor="#EFF3FB"
BorderColor="#B5C7DE"BorderStyle="Solid"BorderWidth="1px"
ContinueDestinationPageUrl="~/Pages/DrugInfo.aspx"Font-Names="Verdana"
Font-Size="0.8em"Height="597px"Width="728px">
<ContinueButtonStyleBackColor="White"BorderColor="#507CD1"
BorderStyle="Solid"BorderWidth="1px"Font-Names="Verdana"
ForeColor="#284E98"/>
<CreateUserButtonStyleBackColor="White"BorderColor="#507CD1"
BorderStyle="Solid"BorderWidth="1px"Font-Names="Verdana"
ForeColor="#284E98"/>
<TitleTextStyleBackColor="#507CD1"Font-Bold="True"ForeColor="White"/>
<WizardSteps>
<asp:CreateUserWizardSteprunat="server"/>
<asp:CompleteWizardSteprunat="server"/>
</WizardSteps>
<HeaderStyleBackColor="#284E98"BorderColor="#EFF3FB"BorderStyle="Solid"
BorderWidth="2px"Font-Bold="True"Font-Size="0.9em"ForeColor="White"
HorizontalAlign="Center"/>

82
<NavigationButtonStyleBackColor="White"BorderColor="#507CD1"
BorderStyle="Solid"BorderWidth="1px"Font-Names="Verdana"
ForeColor="#284E98"/>
<SideBarButtonStyleBackColor="#507CD1"Font-Names="Verdana"
ForeColor="White"/>
<SideBarStyleBackColor="#507CD1"Font-Size="0.9em"VerticalAlign="Top"/>
<StepStyleFont-Size="0.8em"/>
</asp:CreateUserWizard>

Change User Account Password Sample Code


<asp:ChangePasswordID="ChangePassword1"runat="server"BackColor="#EFF3FB"
BorderColor="#B5C7DE"BorderPadding="4"BorderStyle="Solid"BorderWidth="1px"
Font-Names="Verdana"Font-Size="0.8em"Height="354px"Width="606px">
<CancelButtonStyleBackColor="White"BorderColor="#507CD1"
BorderStyle="Solid"
BorderWidth="1px"Font-Names="Verdana"Font-Size="0.8em"ForeColor="#284E98"/>
<ChangePasswordButtonStyleBackColor="White"BorderColor="#507CD1"
BorderStyle="Solid"BorderWidth="1px"Font-Names="Verdana"Font-Size="0.8em"
ForeColor="#284E98"/>
<ContinueButtonStyleBackColor="White"BorderColor="#507CD1"
BorderStyle="Solid"BorderWidth="1px"Font-Names="Verdana"Font-Size="0.8em"
ForeColor="#284E98"/>
<InstructionTextStyleFont-Italic="True"ForeColor="Black"/>
<PasswordHintStyleFont-Italic="True"ForeColor="#507CD1"/>
<TextBoxStyleFont-Size="0.8em"/>
<TitleTextStyleBackColor="#507CD1"Font-Bold="True"Font-Size="0.9em"
ForeColor="White"/>
</asp:ChangePassword>

Add Drug Information Sample Code


<asp:ContentID="Content1"ContentPlaceHolderID="ContentPlaceHolder1"runat="server">

<asp:Panelrunat="server"ID="pnlOne">
<tablestyle="width: 100%">
<tr>
<tdcolspan="4">
<h1class="title ui-widget-header ui-corner-all"style="border: 1px solid rgb(66, 151,
215); background: rgb(92, 156, 204) url('') repeat-x 50% 50%; color: rgb(255, 255, 255);
border-radius: 5px; height: 85px; padding: 0px 10px 10px; font-family: Arial, Helvetica,
sans-serif; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing:
normal; orphans: 2; text-align: left; text-indent: 0px; white-space: normal; widows: 2;
word-spacing: 0px; -webkit-text-stroke-width: 0px;">Drug Information</h1>

</td>
</tr>
<tr>
<tdcolspan="2">
<asp:LabelID="lblMsg"runat="server"ForeColor="#0066FF"></asp:Label>
</td>
<tdstyle="width: 162px;">
&nbsp;</td>
<td>
<asp:ScriptManagerID="ScriptManager1"runat="server">
</asp:ScriptManager>
</td>

83
</tr>
<tr>
<tdstyle="width: 51px">&nbsp;</td>
<tdstyle="width: 169px; border-style: inset; border-width: 3px; padding: 1px 4px">
<asp:LabelID="Label2"runat="server"CssClass="form-text"Text="Code"></asp:Label>
</td>
<tdstyle="border-style: inset; border-width: 3px; padding: 1px 4px; width: 162px;">
<asp:TextBoxID="txtDCode"runat="server"CssClass="form-group"></asp:TextBox>
</td>
<td>&nbsp;</td>
</tr>
<tr>
<tdstyle="height: 19px; width: 51px"></td>
<tdstyle="width: 169px; height: 19px; border-style: inset; border-width: 3px; padding:
1px 4px">
<asp:LabelID="Label3"runat="server"Text="Name"></asp:Label>
</td>
<tdstyle="height: 19px; border-style: inset; border-width: 3px; padding: 1px 4px; width:
162px;">
<asp:TextBoxID="txtDName"runat="server"></asp:TextBox>
</td>
<tdstyle="height: 19px"></td>
</tr>
<tr>
<tdstyle="height: 24px; width: 51px">&nbsp;</td>
<tdstyle="width: 169px; height: 24px; border-style: inset; border-width: 3px; padding:
1px 4px">
<asp:LabelID="Label4"runat="server"Text="Catagory"></asp:Label>
</td>
<tdstyle="height: 24px; border-style: inset; border-width: 3px; padding: 1px 4px; width:
162px;">
<asp:DropDownListID="drpDCatagory"runat="server">
<asp:ListItemValue="1">Antibiotic</asp:ListItem>
<asp:ListItemValue="2">ARVD</asp:ListItem>
<asp:ListItemValue="3">GIT</asp:ListItem>
<asp:ListItemValue="4">Antihelmetic</asp:ListItem>
<asp:ListItemValue="5">ENT</asp:ListItem>
<asp:ListItemValue="6">Dermatologic</asp:ListItem>
<asp:ListItemValue="7">CNS</asp:ListItem>
<asp:ListItemValue="8">Antisychotic</asp:ListItem>
<asp:ListItemValue="9">NSAIDs</asp:ListItem>
<asp:ListItemValue="10">Respiratory</asp:ListItem>
<asp:ListItemValue="11">Anticancer</asp:ListItem>
<asp:ListItemValue="12">Antidiabetic</asp:ListItem>
</asp:DropDownList>
</td>
<tdstyle="height: 24px">&nbsp;</td>
</tr>
<tr>
<tdstyle="height: 24px; width: 51px">&nbsp;</td>
<tdstyle="width: 169px; height: 24px; border-style: inset; border-width: 3px; padding:
1px 4px">
<asp:LabelID="Label5"runat="server"Text="Generic Name"></asp:Label>
</td>
<tdstyle="height: 24px; border-style: inset; border-width: 3px; padding: 1px 4px; width:
162px;">
<asp:TextBoxID="txtDGeneric"runat="server"></asp:TextBox>
</td>

84
<tdstyle="height: 24px">&nbsp;</td>
</tr>
<tr>
<tdstyle="width: 51px">&nbsp;</td>
<tdstyle="width: 169px; border-style: inset; border-width: 3px; padding: 1px 4px">
<asp:LabelID="Label6"runat="server"Text="Bramd Name"></asp:Label>
</td>
<tdstyle="border-style: inset; border-width: 3px; padding: 1px 4px; width: 162px;">
<asp:TextBoxID="txtDBrand"runat="server"></asp:TextBox>
</td>
<td>&nbsp;</td>
</tr>
<tr>
<tdstyle="width: 51px">&nbsp;</td>
<tdstyle="width: 169px; border-style: inset; border-width: 3px; padding: 1px 4px">
<asp:LabelID="Label7"runat="server"Text="Production Date"></asp:Label>
</td>
<tdstyle="border-style: inset; border-width: 3px; padding: 1px 4px; width: 162px;">
<asp:TextBoxID="txtDPDate"runat="server"></asp:TextBox>
</td>
<td>&nbsp;</td>
</tr>
<tr>
<tdstyle="width: 51px">&nbsp;</td>
<tdstyle="width: 169px; border-style: inset; border-width: 3px; padding: 1px 4px">
<asp:LabelID="Label8"runat="server"Text="Expire Date"></asp:Label>
</td>
<tdstyle="border-style: inset; border-width: 3px; padding: 1px 4px; width: 162px;">
<asp:TextBoxID="txtDExpDate"runat="server"></asp:TextBox>
</td>
<td>&nbsp;</td>
</tr>
<tr>
<tdstyle="width: 51px">&nbsp;</td>
<tdstyle="width: 169px; border-style: inset; border-width: 3px; padding: 1px 4px">
<asp:LabelID="Label9"runat="server"Text="Country"></asp:Label>
</td>
<tdstyle="border-style: inset; border-width: 3px; padding: 1px 4px; width: 162px;">
<asp:TextBoxID="txtDCountry"runat="server"></asp:TextBox>
</td>
<td>&nbsp;</td>
</tr>
<tr>
<tdstyle="width: 51px">&nbsp;</td>
<tdstyle="width: 169px; border-style: inset; border-width: 3px; padding: 1px 4px">
<asp:LabelID="Label10"runat="server"Text="Manufactured By"></asp:Label>
</td>
<tdstyle="border-style: inset; border-width: 3px; padding: 1px 4px; width: 162px;">
<asp:TextBoxID="txtDMBy"runat="server"></asp:TextBox>
</td>
<td>&nbsp;</td>
</tr>
<tr>
<tdstyle="width: 51px">&nbsp;</td>
<tdstyle="width: 169px">&nbsp;</td>
<tdstyle="width: 162px">
<asp:LinkButtonID="lnkDNext"runat="server"class="current"OnClick="btnNext_Click">Next</as
p:LinkButton>

85
</td>
<td>&nbsp;</td>
</tr>
<tr>
<tdstyle="width: 51px">&nbsp;</td>
<tdstyle="width: 169px">&nbsp;</td>
<tdstyle="width: 162px">&nbsp;</td>
<td>&nbsp;</td>
</tr>
</table>
<p>
</p>
<asp:PanelID="pnlTwo"runat="server"Visible="False">
<tablestyle="width: 100%">
<tr>
<tdstyle="width: 51px">&nbsp;</td>
<tdstyle="width: 169px; border-style: inset; border-width: 3px; padding: 1px 4px">
<asp:LabelID="Label1"runat="server"Text="Batch Number"></asp:Label>
</td>
<tdstyle="border-style: inset; border-width: 3px; padding: 1px 4px;"colspan="2">
<asp:TextBoxID="txtDBatch"runat="server"></asp:TextBox>
</td>
<td>&nbsp;</td>
</tr>
<tr>
<tdstyle="width: 51px">&nbsp;</td>
<tdstyle="width: 169px; border-style: inset; border-width: 3px; padding: 1px 4px">
<asp:LabelID="Label11"runat="server"Text="Serial Number"></asp:Label>
</td>
<tdstyle="border-style: inset; border-width: 3px; padding: 1px 4px;"colspan="2">
<asp:TextBoxID="txtDSerial"runat="server"></asp:TextBox>
</td>
<td>&nbsp;</td>
</tr>
<tr>
<tdstyle="height: 24px; width: 51px">&nbsp;</td>
<tdstyle="width: 169px; height: 24px; border-style: inset; border-width: 3px; padding:
1px 4px">
<asp:LabelID="Label12"runat="server"Text="Dosage Form"></asp:Label>
</td>
<tdstyle="height: 24px; border-style: inset; border-width: 3px; padding: 1px
4px;"colspan="2">
<asp:DropDownListID="drpDDForm"runat="server">
<asp:ListItemValue="1">Oral</asp:ListItem>
<asp:ListItemValue="2">Ophthalmic</asp:ListItem>
<asp:ListItemValue="3">Inhalational</asp:ListItem>
<asp:ListItemValue="4">Parenteral</asp:ListItem>
<asp:ListItemValue="5">Suppository</asp:ListItem>
</asp:DropDownList>
</td>
<tdstyle="height: 24px"></td>
</tr>
<tr>
<tdstyle="height: 24px; width: 51px">&nbsp;</td>
<tdstyle="width: 169px; height: 24px; border-style: inset; border-width: 3px; padding:
1px 4px">
<asp:LabelID="Label13"runat="server"Text="Dosage Strength"></asp:Label>
</td>

86
<tdstyle="height: 24px; border-style: inset; border-width: 3px; padding: 1px
4px;"colspan="2">
<asp:TextBoxID="txtDDStrength"runat="server"></asp:TextBox>
</td>
<tdstyle="height: 24px">&nbsp;</td>
</tr>
<tr>
<tdstyle="height: 24px; width: 51px">&nbsp;</td>
<tdstyle="width: 169px; height: 24px; border-style: inset; border-width: 3px; padding:
1px 4px">
<asp:LabelID="Label14"runat="server"Text="Suplier ID"></asp:Label>
</td>
<tdstyle="height: 24px; border-style: inset; border-width: 3px; padding: 1px
4px;"colspan="2">
<asp:TextBoxID="txtDSupId"runat="server"></asp:TextBox>
</td>
<tdstyle="height: 24px">&nbsp;</td>
</tr>
<tr>
<tdstyle="width: 51px">&nbsp;</td>
<tdstyle="width: 169px; border-style: inset; border-width: 3px; padding: 1px 4px">
<asp:LabelID="Label15"runat="server"Text="Prescription"></asp:Label>
</td>
<tdstyle="border-style: inset; border-width: 3px; padding: 1px 4px; width: 84px;">
<asp:RadioButtonID="rdoPreYes"runat="server"GroupName="Pre"Text="Yes"/>
</td>
<tdstyle="border-style: inset; border-width: 3px; padding: 1px 4px; width: 84px;">
<asp:RadioButtonID="rdoPreNo"runat="server"GroupName="pre"Text="No"/>
</td>
<td>&nbsp;</td>
</tr>
<tr>
<tdstyle="width: 51px">&nbsp;</td>
<tdstyle="width: 169px; border-style: inset; border-width: 3px; padding: 1px 4px">
<asp:LabelID="Label16"runat="server"Text="Created By"></asp:Label>
</td>
<tdstyle="border-style: inset; border-width: 3px; padding: 1px 4px;"colspan="2">
<asp:TextBoxID="txtDCBy"runat="server"></asp:TextBox>
</td>
<td>&nbsp;</td>
</tr>
<tr>
<tdstyle="width: 51px">&nbsp;</td>
<tdstyle="width: 169px; border-style: inset; border-width: 3px; padding: 1px 4px">
<asp:LabelID="Label17"runat="server"Text="Created Date"></asp:Label>
</td>
<tdstyle="border-style: inset; border-width: 3px; padding: 1px 4px;"colspan="2">
<asp:TextBoxID="txtDCDate"runat="server"></asp:TextBox>
</td>
<td>&nbsp;</td>
</tr>
<tr>
<tdstyle="width: 51px">&nbsp;</td>
<tdstyle="width: 169px; border-style: inset; border-width: 3px; padding: 1px 4px">
<asp:LabelID="Label18"runat="server"Text="Updated By"></asp:Label>
</td>
<tdstyle="border-style: inset; border-width: 3px; padding: 1px 4px;"colspan="2">
<asp:TextBoxID="txtDUBy"runat="server"></asp:TextBox>

87
</td>
<td>&nbsp;</td>
</tr>
<tr>
<tdstyle="width: 51px">&nbsp;</td>
<tdstyle="width: 169px; border-style: inset; border-width: 3px; padding: 1px 4px">
<asp:LabelID="Label19"runat="server"Text="Update Date"></asp:Label>
</td>
<tdstyle="border-style: inset; border-width: 3px; padding: 1px 4px;"colspan="2">
<asp:TextBoxID="txtDUDate"runat="server"></asp:TextBox>
</td>
<td>&nbsp;</td>
</tr>
<tr>
<tdstyle="width: 51px">&nbsp;</td>
<tdstyle="width: 169px">
<asp:LinkButtonID="lnkDNew"runat="server"OnClick="lnkDNew_Click">New</asp:LinkButton>
</td>
<tdcolspan="2">
<asp:LinkButtonID="btnDSave"runat="server"OnClick="btnDSave_Click">Save</asp:LinkButton>
</td>
<td>&nbsp;</td>
</tr>
</table>
<p>
</p>
<tablestyle="width: 50%">
<tr>
<tdcolspan="4">
&nbsp;</td>
</tr>
<tr>
<tdcolspan="4">&nbsp;</td>
</tr>
<tr>
<tdstyle="width: 51px">&nbsp;</td>
<tdstyle="width: 169px">&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
</table>
</asp:Panel>

</asp:Panel>

</asp:Content>

88
Android App Sample Code
packageddrvs.com.ui;

importandroid.os.Bundle;

importandroid.support.design.widget.FloatingActionButton;

importandroid.support.design.widget.Snackbar;

import android.support.v7.app.AppCompatActivity;

import android.support.v7.widget.Toolbar;

importandroid.view.Gravity;

importandroid.view.View;

importandroid.widget.Button;

importandroid.widget.EditText;

importandroid.widget.Toast;

importcom.qa.ddrvs.R;

importjava.sql.Connection;

importjava.sql.ResultSet;

importjava.sql.ResultSetMetaData;

importjava.sql.Statement;

importddrvs.com.connetction.ConnectionClass;

public class validetApp extends AppCompatActivity {

EditText _batchNo1;

EditText _batchNo2;

Button _btncheck;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

89
setContentView(R.layout.activity_validet_app);

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);

setSupportActionBar(toolbar);

FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);

fab.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)

.setAction("Action", null).show();

});

init();

private void init() {

_batchNo1= (EditText) findViewById(R.id.txtBatchNo1);

_batchNo2= (EditText) findViewById(R.id.txtBatchNo2);

_btncheck= (Button) findViewById(R.id.btnCheck);

//Validation

String ed = _batchNo1.getText().toString().trim();

if(ed.isEmpty() || ed.length() == 0 || ed.equals("") || ed == null)

_btncheck.setEnabled(true);

else

90
_btncheck.setEnabled(true);

String bn = validateDrug(_batchNo1.getText().toString());

_btncheck.setOnClickListener(new View.OnClickListener(){

@Override

public void onClick(View v) {

_batchNo1= (EditText) findViewById(R.id.txtBatchNo1);

String id = _batchNo1.getText().toString();

String bn = validateDrug(id);

if(bn !="" || !bn.equals("") ) {

Toast msg = Toast.makeText(getApplicationContext(), " VALID " + bn, Toast.LENGTH_LONG);

msg.setGravity(Gravity.CENTER, 0, 0);

msg.show();

else

Toast msg = Toast.makeText(getApplicationContext(), " NOT VALID " + bn,


Toast.LENGTH_LONG);

msg.setGravity(Gravity.CENTER, 0, 0);

msg.show();

});

91
private String validateDrug(String batchNo) {

Boolean isSuccess = false;

String bn = "";

String z="";

ConnectionClassconnectionClass = new ConnectionClass();

try {

Connection con = connectionClass.CONN();

if (con == null) {

z = "Error in connection with SQL server";

} else {

String query = "Select * from DrugInfo where batchNumber = '"+ batchNo+"'" ;

Statement stmt = con.createStatement();

ResultSetrs = stmt.executeQuery(query);

ResultSetMetaDatametaData = rs.getMetaData();

try {

while (rs.next()) {

//Integer id, String date, String fxtype, long fxBuyer, long fxSeller, String bank, String
curType

//infos.add(new ForeignExc(rs.getInt("id"), rs.getString("bankName"),


rs.getString("Name"), rs.getString("fxBuyer"), rs.getString("fxSeller")));

bn = rs.getString("batchNumber");

finally {

stmt.close();

92
}

} catch (Exception ex) {

isSuccess = false;

z = "Exceptions";

returnbn;

93
Chapter Six

6. User Manual
The User Manual contains all essential information for the user to make full use of the
information system. This manual includes step-by-step procedures for system access and use.
The user manual shows all necessary steps by graphically

To Open the FMHACA Website:


Open a web Browser: - like google chrome/Mozilla Firefox/Internet explorer

In the address bar type www.fmhaca.gov.etPress Enter

Figure 59FMHACA Home page

94
To Register Supplier:
Login with a privileged user account Click on Register menuClick on Supplier

Figure 60 UI Tabs

Fill the form with appropriate data  Click on SaveConfirmation message will appear

Figure 61 Supplier Registration Form

95
To Update Supplier:
Login with a privileged user account Select a record from grid viewthe record will
display on the formChange any of the record on the form Click on Savebutton
Confirmation message will appear

Figure 62 Supplier Information Form 2

96
To Delete Supplier:
Login with a privileged user account Select a record from grid viewClick on Delete
button Confirmation message will appear


Figure 63 Supplier Information Form 3

97
To See Registered Suppliers:
Open the FMHACA home page Click on Registered menuClick on Registered
Supplier

Figure 64 Display Supplier Information Form 1

It will be displayed as follows

Figure 65 Display Supplier Information Form 2

Note: If you want to Register, Update, Delete and to see Registered Drug Information and
Pharmacy you can use the same step as you use for supplier.

98
To Create a User Account:
Open FMHACA’s home pageClick on Register as a new userYou will be asked to
login with a privileged user account Fill the form with the appropriate
informationClick on Create User

Figure 66Create a User Account

To Change a User Account Password:


Open FMHACA’s home pageClick on Register login with your user
accountClick on Change Password buttonType the old password, new password
and confirm the new password in Password, New Password and Confirm New
Password respectivelyClick on Change Password button.

Figure 67Change a User Account Password

99
CONCLUSION
DRUG AND DRUG RELATED VALIDATION SYSTEM (DDRVS) in one of the problem
in the country and Addis Ababa, takes the highest number of counterfeit drugs sold. Food,
Medicine, and Healthcare Administration and Control Authority (FMHACA) is the
organization responsible for controlling and administration of drugs.

To minimize the impact of counterfeit drugs in Ethiopia, it needs the participation of each
stakeholders and citizens. But the current drug and drug related registration, processing, and
reporting system is paper based and semi-automated which makes it difficult to get reliable,
accurate, and complete data about each drugs and drug related occurring in the city and for
sharing of information among the stakeholders and citizens .

In this project, we developed a mobile based DDRVS system that makes to reduce
counterfeit drugs and awareness of drug and drug related validation system done by using an
application that runs on an android mobile phone or tablet.

Future Work

Some of the possible future works that strengthens the system so that it will be more useful
and be somewhat complete and as well be capable of supporting the different functionalities
needed related to drug and drug related validation system are listed as follows:

 Drug distribution control to hospitals, health centers and pharmacies

 A Control system that identifies pharmacies and suppliers which sold and import
counterfeit drugs

100
REFERENCES

https://www.google.com/

Nicklaus Wirth, A brief history of software engineering, IEEE Computer Society, 2008

https://en.wikipedia.org

http://www. fmhaca.gov.et [June 4, 2017]

CPU COLLEGE, CS student projects, 2016, 2015

101
ABBREVIATIONS AND ACRONYMS
BL: - Business Logic

DDRVS: - Drug and Drug Related Validation System

DAL: - Data Access Layer

ENT: - Ears, Nose, Throat and mouth

FMHACA: - Food, Medicines and Healthcare Administration and Control Authority

OTC: - Over the Counter

UI: - User Interface

WHO: - World Health Organization

102

You might also like