MOBILE HEALTH INFORMATION SYSTEM:
USING MOBILE PHONES IN RELATING
HEALTH INFORMATION
Free Project Materials on Mobile Health Information System
Free B.Sc., HND in Computer Science Project Materials
ABSTRACT
Healthcare is conventionally
regarded as an important determinant in promoting the general health and well being of peoples around the world.
TABLE
OF CONTENTS
PAGES
TITLE
PAGE i
CERTIFICATION ii
APPROVAL iii
DEDICATION iv
ACKNOWLEDGEMENT v
ABSTRACT vi
TABLE
OF CONTENTS vii
CHAPTER
ONE: INTRODUCTION
1.0
BACKGROUND OF THE STUDY 1
1.1
STATEMENT OF THE PROBLEM 3
1.2
AIMS & OBJECTIVES OF THE STUDY 3
1.3
SIGNIFICANCE OF THE STUDY 4
1.4
SCOPE OF THE STUDY 5
1.5
LIMITATION OF THE STUDY 5
1.6
DEFINITION OF TERMS 6
CHAPTER TWO: LITERATURE REVIEW
2.0
INTRODUCTION 7
2.1 GENERAL REVIEW OF MHIS 8
2.2 HEALTH POLICY 12
2.3 SOME HEALTHCARE POLICY OPTIONS 13
2.3.1 PHILOSOPHY: RIGHT TO HEALTHCARE 13
2.3.2 ECONOMICS: HEALTHCARE FINANCING 14
2.4 HOW MOBILE PHONES SUPPORT HEALTHCARE 14
CHAPTER THREE: SYSTEM DESIGN AND
METHODOLOGY
3.0
INTRODUCTION 16
3.1
METHODOLOGY 16
3.2
EXISTING SYSTEM MODEL 17
3.3
PROPOSED SYSTEM DESIGN 17
3.4
HOW THE SYSTEM WORKS 19
3.5
TECHNIQUE 20
3.6
SYSTEM FLOW DIAGRAM 20
3.7
FUNCTIONAL FLOW DIAGRAM 22
3.8
PROGRAM FLOW CHART 23
CHAPTER FOUR SYSTEM IMPLIMENTATION
AND DOCUMENTATION
4.0 INTRODUCTION 25
4.1
SYSTEM INSTALLATION 25
4.2 SYSTEM IMPLEMENTATION 25
4.3
REQUIREMENT SPECIFICATION 26
4.4
SOFTWARE REQUIREMENTS 26
4.4.1
OPERATING SYSTEM REQUIREMENTS 27
4.4.2
HARDWARE REQUIREMENTS 27
4.5
SYSTEM DOCUMENTATION 27
4.5.1 PROGRAM DOCUMENTATION 28
4.6 SYSTEM MAINTENANCE 30
4.7 CHOICE OF PROGRAMMING LANGUAGE 35
CHAPTER
FIVE
5.1 SUMMARY
36
5.2 CONCLUSION
36
5.3 RECOMMENDATION
37
REFERENCES 31
APPENDIX
A (SOURCE CODES)
APPENDIX
B (SCREEN SHOTS)
LISTS
OF TABLE
Figure 3.1 The
foundation of system methodology 21
Figure 3.2 Existing
system design 22
Figure 3.3 Proposed
system model 23
Figure 3.4 System
flow diagram 26
Figure 3.5 Functional
flow diagram 27
Figure 3.6 Server
Program flow chart 28
Figure 3.7 Mobile
Application flow chart 29
CHAPTER ONE
INTRODUCTION
1.0 BACKGROUND OF THE STUDY
Access to healthcare information
varies; Researchers observed that most people in urban areas lack better
understanding or knowledge of the word “HEALTH” let alone those living in the
rural areas, and more importantly, reports from the remote facilities don’t get
to the urban or headquarters as at when due. Thereby making it difficult for
proper records and accountability in health care delivery system.
The
act of rendering these services to the right people most times do not get to
them. Presently health information dissemination is done by fliers, billboards,
adverts and news (both radio and TV) from observation, facts gotten so far has
shown that most people do not get these fliers and read the billboards. This
could be because, the fliers printed were not enough and do not get to them, or
there is power failure at the time the health information is been announced as
the case may be. Thus, the information does not get to the desired destination.
It has been predicted that
mobile technology is beginning to have a big impact in healthcare, especially
in developing countries. Mobile technology could play a large role in
detecting, mapping and responding to epidemics.
Technology has taken healthcare
industry a long way forward and so people are more aware about their health
status and health needs. But this development has not fully benefited the lower
crest of the society. The uncomfortable reality is that we live in a world
where there is a silent emergency every day. It is in this scenario the
possibility to use mobile phones in healthcare industry for effective reporting
and dissemination of health information is of significance.
1.1 PROBLEM
STATEMENTS
The
significant part of any Health Information System involves the acquisition,
management and timely retrieval of great volumes of information and information
dissemination. And because of the nature of the existing system (paper based), the
following setbacks are faced;
- There is mismanagement of data.
- Primary health centers lack appropriate health information update.
- Inability to gather accurate health inventory control at a given time
- Lack of proper information passage on disease outbreak.
- No proper accountability on the distribution of drugs or medical commodities
1.2 OBJECTIVES OF STUDY
Many
doctors are now accessing electronic medical records (EMR). the aim of this
system is to achieve the best possible support of patient care
and outcome and administration by presenting data
where needed and acquiring data when generated with networked
electronic data processing.
The proposed system will increase staff
productivity and efficiency by:
- Ensuring data integrity and provide a database for future statistical and management reporting
- Reducing the time spent by staff filling out forms, freeing resources for more critical tasks
- To help in collecting community and clinical health data, delivery of healthcare information to practitioners, researchers and patients, real time monitoring of patient vital sign and direct provision of care, ( via mobile telemedicine)
1.3 SIGNIFICANCE OF THE STUDY
This
research will serve as a base for future studies and will be a source of information
and guide to future researchers that may embark on similar studies.
The
result of this study will aid healthcare organizations enhance team work,
collaboration and knowledge sharing among the employees through an integrated
communication system. It will significantly reduce paperwork involved with
submitting data, documents, reports etc.
Increase
effectiveness and productivity through an open communication system which
provides for rapid information sharing, proposals and feedback. Ensure smooth
workflow through enhanced information dissemination.
1.4 SCOPE OF STUDY
This
research is restricted to the building of a “Mobile Health Information System using
Mobile Phones to relate Health Information”. Therefore, this system is designed
mainly for use by health care organizations. With this, the extent to which
this study goes is restricted to the use of technologies such as Apache, java, MySQL.
1.5 LIMITATIONS
The
following are the constraints to the present research work:
1. Lack
of access to enough information.
2. Time
constraint: - implies that the time interval given to carry out this research
was too short.
3. Financial
constraint: - implies that the fund for getting sufficient, materials for the
research is insufficient.
4. The
mobile phone required must have facility for internet access and must also have
java platform.
1.6 DEFINITION
OF TERMS
Hospital: An
institution where people receive medical, surgical, psychiatric treatment and
nursing care.
Health: The
general condition of the mind or body, especially in terms of the presence or
absence of illness, injuries or impairments.
Organization: These
are group of persons who forms a business, club, etc together in order to
achieve a particular aim.
Automation: A
system in which a workplace or process has been converted to one that replaces
or minimizes human labour with mechanical or electronic equipments.
Server: This
is a dedicating machine dedicated to control or supply information to several
computers connected in a network, the main computer on which this program runs.
CHAPTER TWO
LITERATURE REVIEW
2.0 INTRODUCTION
An information system (IS) is any combination of information technology and people's
activities using that technology to support operations and management. In a
very broad sense, the term information
system is frequently used to refer to the interaction between
people, algorithmic
processes, data and technology. In this sense, the term is used to refer not
only to the information and communication
technology (ICT) an organization uses, but also to the way in which people
interact with this technology in support of business processes.
Some make a clear distinction
between information systems, and computer systems ICT, and business processes.
Information systems are distinct from information technology in that an
information system is typically seen as having an ICT component. Information
systems are also different from business processes. Information systems help to
control the performance of business processes.
The
global health care industry is growing at a fast rate and is one of the areas
that have the most urgent need of automation. There are various titles and
acronyms which all declare similar approaches to managing the information flow
and storage in hospital routine services, as Hospital Information System (HIS), or Healthcare
Information System, or Clinical
Information System (CIS),
or Patient Data Management System
(PDMS) are comprehensive
integrated information systems designed to manage the
medical, administrative, financial and legal aspects of a hospital
and its service processing. Traditional approaches encompass paper-based
information processing as well as resident work position and mobile data
acquisition and presentation.
Mobile computing
started with wheeled PC stands and now comes to age with tablet-PC and
Smartphone applications. The need for mobile applications in health care and
processes is at an all time high. Health care Providers, Doctors, Clinicians
and Nurses need real-time access to patient, schedule, billing, drug and other
practice related information to provide best patient care. On the other hand,
insurance companies, drug suppliers and vendors of the health care ecosystem
need 24/7 access to business critical information regardless of the location.
2.1 GENERAL
REVIEW OF THE STUDY
Information and Communication
Technology (ICT) has the potential to impact positively on many aspects of the
health sector. The ability of communities to access health services is
influenced by wider information and communication processes, provided by ICT,
such as mobile telephones, television, internet, emails, etc. Prince Ana (2007)
in one of his publications said “as a leader in promoting better health care
through the innovative use of information technologies, British Medical Journal
West Africa edition has been testing the efficacy of combining paper and
electronic means in providing access to health information in the West Africa
sub region. She has formally lunched and operated the first health information
resource centre in Calabar since 2003 where paper and electronic journals have
been used to provide information to Health personnel’s. It has also
collaborated with the Cross River Ministry of health to commission the centre
for clinical governance research and training.”
Darrell
Nash (1996) cited the case of the City Hospital that requested for Sirius
Software Products that was designed and implemented to automate their Hospital
Management System (HMS) to replace their existing manual, paper based system.
This system is to control the following information; patient information, room
availability, staff and operating room schedules, and patient invoices. These
services are to be provided in an efficient, cost effective manner, with the
goal of reducing the time and resources currently required for such tasks.
India has a vast population at
the lower strata of the society who are deprived of quality health care. They
remain unaware of the modern technology and development in the health care
industry, thus resulting in causalities which could be avoided if proper health
information and facilities are available. The studies have revealed that the
five diseases –pneumonia, diarrhea, malaria, measles and AIDS - together
account for half of all deaths of children below the age of 5 years. Majority
of these deaths are due to the lack of knowledge in handling critical
situations. For the illiterate, currently the only source of information is
probably going to be the people around them, who are also, in many cases,
illiterate. The lack of knowledge remains the root cause of such causalities.
Mobile phones have made it possible to reach our large population in remote
areas, something that was truly unthinkable until very recently. Geena M. S. (2011)
Amy Cueva (2010), Mobile technologies have
enormous potential as tools to promote healthy behavioral change, to transform
the caregiver–patient relationship, and to revolutionize the way healthcare is
delivered in the U.S. and around the globe. In fact, mobile technologies are
already being used to promote healthy lifestyle changes, encourage patients'
active involvement in their treatment, reduce waiting times in doctors'
offices, and improve a provider's access to patient information, all with the
goal of improving health care outcomes.
One
way mobile technologies can make life better is to reduce the amount of time we
waste waiting: waiting to see our doctor, waiting for a prescription to be
filled, and waiting for test results. Anyone who's ever languished for hours at
an emergency room will appreciate Portsmouth Regional Hospital's newest offering: a text-based
system; text "ER" to 23000, and you'll receive a return text with the
approximate wait time to see a doctor, a physician's assistant, or a certified
nurse practitioner.
AppLab Uganda’s Health Care Applications
AppLab
Uganda is made possible through collaboration between Grameen Foundation,
Google and MTN Uganda. This partnership taps into the core expertise of each
organization. The Grameen Foundation has extensive experience using technology
as an enabler for building sustainable and scalable business models designed to
improve the lives and livelihoods of the poor. Google is the worldwide leader
in search technology, organizing the world's information and making it
accessible. MTN operates the platform of Village Phone Operators and Shared
Phone Operators in Uganda - a unique distribution channel for reaching
underserved markets, as well as the communication infrastructure serving the
whole country.
AppLab
Uganda provides a service known as Google SMS. Google SMS is a group of mobile
applications that allows users to find information. Google SMS facilitates
three applications - Information Tips Application, General Web Search and
Google Trader – in Uganda. The information tips application allows users to
simply text message a search query to 6001, and the application will text
message back the results. Users can use this SMS application to obtain
information on health care and agriculture. The General web search application
users to search for anything on the worldwide web through Google SMS. Users’
text queries to 6007. The Google Trader application is a trading platform were
users can buy and sell goods and services through SMS. Users register, make
submissions and query the trading platform by texting to 6002. Google SMS is
currently free from Google but charges from your carrier for usage may apply.
Text queries to the Information Tips application (6001) are also currently
free.
This
study focuses on the use of Google SMS in health care. Google SMS Health
Tips and Google SMS Clinic Finder enable users to find information
on sexual and reproductive health care and to locate health care facilities in
Uganda respectively. Uganda has a high demand for information on HIV/AIDS,
sexually transmitted infections, and reproductive health. Uganda's Ministry of
Health estimates the adult prevalence of HIV/AIDS (15-49 years) in 2005 was
7.0% (Uganda HIV/AIDS Sero-Behavioural Survey, May 2005). The accuracy of
information sexual and reproductive health care is essential to dispel local
myths and help them make informed decisions. The Health Tips Application
educates users by answering common questions about sexual and reproductive
health. It is aimed that the information provided should be timely, accurate
and actionable. For example, users can text “Health pregnancy” to learn what to
do if you are pregnant and how to prepare for a safe labor.
The
Clinic Finder offers a directory providing the details of local clinics,
including the types of services offered as well as the hours of operation. This
searchable directory makes it easier for users to find appropriate medical
assistance. For example, users can text “Clinic Kampala” to locate health
facilities in Kampala. The application also enables patients to find answers to
questions that arise after treatment.
Sultan
S. & Mohan P (2009) at the 6th annual international conference
discussed extensively on the issues that affect the people of Caribbean
countries. Because of the numerous challenges confronting their healthcare
systems, the public healthcare systems in the region faced a crisis due to
factors such as shortage of medical staff, lack of proper facilities, and
insufficient funding. Therefore, new approaches to managing healthcare and
promoting healthier lifestyle practices are needed to address these problems.
Hence, MediNet, a mobile healthcare management system was developed at St.
Augustine Campus of the University of the West Indies to provide an alternative
healthcare in the Caribbean. The initial focus of the system is on chronic non-
communicable disease such as diabetes and cardio-vascular disease. But from the
feedback and learning of the first prototype gave room for a full-fledged
system capable of handling other diseases.
2.2 HEALTH
POLICY
The
decisions, plans, and actions that are undertaken to achieve specific health care
goals within a society are known Health
Policies. According to the World Health Organization, an explicit
health policy can achieve several things: it defines a vision for the future;
it outlines priorities and the expected roles of different groups; and it
builds consensus and informs people.
There
are many categories of health policies, including personal health care policy, pharmaceutical policy, and policies
related to public health such as vaccination policy, tobacco control policy or breastfeeding promotion policy. They may
cover topics of financing and delivery of health care, access to care, quality
of care, and health equity.
There
are also many topics in the politics and evidence that can influence the decision of a government,
private sector business or other group to adopt a specific policy. Evidence-based policy relies on the use of
science and rigorous studies such as randomized controlled trials to identify
programs and practices capable of improving policy relevant outcomes. Most
political debates surround personal health care policies, especially those that
seek to reform health care delivery, and can typically
be categorized as either philosophical or economic.
Philosophical debates center on questions about individual
rights, ethics and government authority, while economic topics
include how to maximize the efficiency of health care delivery and minimize
costs.
2.3 SOME HEALTH CARE POLICY OPTIONS
2.3.1 PHILOSOPHY: RIGHT TO HEALTH CARE
Many countries and jurisdictions
integrate a human rights philosophy in directing their health care
policies. The World Health Organization reports that
every country in the world is party to at least one human rights treaty that
addresses health-related rights, including the right
to health as well as other rights that relate to conditions necessary for
good health. The United Nations' Universal Declaration of Human
Rights (UDHR) asserts that medical care is a right of all people. UDHR Article 25: "Everyone has the right to a
standard of living adequate for the health and
well-being of himself and of his family, including food, clothing, housing and
medical care and necessary social services, and the right to security in the
event of unemployment, sickness, disability, widowhood, old age or
other lack of livelihood in circumstances beyond his control."
2.3.2 ECONOMICS: HEALTH CARE FINANCING
Many types of health policies
exist focusing on the financing of healthcare services to spread the economic
risks of ill health. These include publicly funded health care (through
taxation or insurance, also known as single-payer systems), mandatory or
voluntary private health insurance, and complete capitalization
of personal health care services through private companies, among others. The
debate is ongoing on which type of health financing policy results in better or
worse quality of health care services provided, and how to ensure allocated
funds are used effectively, efficiently and equitably.
Other health policy options include: medical research policy, health workforce policy, and health in foreign policy.
2.4 HOW
MOBILE PHONES SUPPORT HEALTH INFORMATION
David Aylward (2011) in his recent
publication said that “the mobile phone is a strong contender as a key
transforming agent in the future of health and healthcare. There are now more
than 5.3 billion cell phone users around the globe, and 90 percent of the
world's population is covered
by a commercial wireless signal. We now have a pathway to reach the
unreached, and to deliver health services where people are, not merely in
health facilities.” Through applications, mobiles phones
can be used to support preventive and curative health care activities.
Preventive health care activities cover health education and promotion to
prevent the occurrence of illness or curb and control the outbreak of illness.
Curative care activities cover treatment and post-treatment activities.
Curative care also includes information and communication strategies which will
enhance compliance to medical regimens and recommendations. We conceptualize
mobile phones to have two effects – incremental and transformative – on
compliance intervention strategies.
Incremental effects characterize the effects from using
mobile phones to enhance current preventive and curative health care
activities. For example, mobile phones may enhance activities such as telephone
education, feedback, scheduled appointments, monitoring, and reminders. In the
case of the Google SMS it is primarily used to educate and provide information
to access health facilities.
Transformative effects characterize effects from using
mobile phones to create something new – new forms of compliance intervention
strategies. Transformative effects may include developing new mobile-driven
multi-media education strategies, goals and means to change the schemes of thought. For
example, “Text to Change,”- is a health non-profit organization running a
project in Uganda, where the focus is on HIV/AIDs education as well as the
promotion of HIV Counseling and Testing (HCT) services (TextToChange, 2008). In
a six week pilot project targeted at 15,000 participants, a total of 255
participants came for HCT services and the response rate for the pilot quiz was
on average 17.4% per question. The mobile-enabled HIV/AIDs education contributed
to behaviour to access HCT services among 255 participants. These examples
demonstrate the transformative effects mobile phones may have on health care
activities.
CHAPTER THREE
SYSTEM DESIGN AND METHODOLOGY
3.0 INTRODUCTION
This
chapter, a detailed analysis of the system is being laid out. The methodology
used, the system model, fact finding methods during analysis stages, activities
and end product of study, the framework, data modeling, outcomes, data flow and
pre-design requirement are being outlined.
3.1 METHODOLOGY
The
framework used to structure, plan and control the process of developing this
system is the Structured Systems Analysis and Design methodology (SSADM).
THE FOUNDATION OF SYSTEMS
METHODOLOGY
|
3.2 EXISTING
SYSTEM MODEL
The
existing system is a manual based system. Information dissemination is done
with the use of posters, fliers and mass media. Below is a picture of what it
looks like.

Fig 3.2 Existing System Design
3.3 PROPOSED
SYSTEM DESIGN
The
Design of the new system involves specification of various components that will
be used in building the system, defining the attribute of the components and
the relationship that exist between these components. The design is broken
into:
a. Logical design: -
This involves the design of prototypes representing what the actual components
of the system will look like. The logical design describes what the user
interface; command structure and data store will look like, it is based on
these designs that the system is implemented.
b. Physical designs:
This aspect of designing has to do with the physical implementation of the
logical design through the use of a programming/scripting language. Hence the
physical design is the actual construction of the system.

Fig. 3.3 Proposed System Model
3.4 HOW THE SYSTEM WORKS
This
system is in two phases, the server application and the mobile application.
Generally, Mobile Health Information System (MHIS) is built in such a way that
is to help manage, control, and store health information and at this same time
help the health workers on field work to pass accurate and timely report to the
necessary quarters.
The
first application which is the server application is built with , , MySQL and
the second; the mobile phone application is built with ,java ,apache. The
purpose of building these two applications is to enable them interface and
share information with each other.
This
act involves both retrieval of data and dissemination of health information to the
public through the mobile phone. This is made possible because since the
introduction of mobile phones, there
has been a tremendous increase in mobile phone diffusion in developing
countries. Statistics from the International Telecommunication Union (2007)
suggested that there are now more mobile phone users in the developing world
than in the developed world. In countries like Uganda, it is estimated that,
their mobile phone subscriptions have increased by 1700 percent between 2002
and 2008; the mobile phone subscriptions per 100 inhabitants in 2002 was 1.51,
and that of 2008 was 27.2 (ITU, 2008).
3.5 TECHNIQUE
The
data flow modeling technique of the SSADM is used. This is the process of
identifying, modeling and documenting how data moves around the system. Data
flow modeling examines processes (activities that transform data from one form
to another), data stores (the holding areas for data), external entities (what
sends data into a system or areas for data), external entities (what sends data
into a system or receives data from a system) and data flows (routes by which
data can flow).
3.6 SYSTEM
FLOW DIAGRAM
The
system flows diagram which is modeled after the data flow modeling technique of
the SSADM, illustrates how data is processed by the system in terms of inputs
and outputs.
SYSTEM FLOW DIAGRAM
Fig.
3.4 System Flow Diagram
|
3.8 PROGRAM FLOWCHART
This
is a design notation used to show how diagrammatically, the sequence in which
instructions are carried out in the program.
CHAPTER FOUR
SYSTEM IMPLEMENTATION AND
DOCUMENTATION
4.0 INTRODUCTION
This
chapter describes implementation requirements of the software, hardware,
operating systems and memory requirements for installation of the software,
detailed implementation arrangements. The documentations for the system,
installation procedures, system testing/debugging and maintenance as well as
evaluation are not left out.
4.1 SYSTEM INSTALLATION
The
system is a web based system that runs on apache tomcat 6.0 server as long as
the system requirements are met; it can conveniently be installed in any
system.
4.2 SYSTEM
IMPLEMENTATION
The
implementation of any system of this type starts immediately after its
acceptance by the new system users.
The most important thing about this implementation is to ensure that all
programs are working correctly and are linked together to meet users
requirement. The programs are developed in independent modules which make the system easy to maintain and change.
The implementation of
the new system involves:
Training Staff: this involves training them on how to execute
the package, how to enter the data, how to process the data, get the result from
the server and how to t00ake out the report when needed.
4.3 REQUIREMENT SPECIFICATION
The
MHIS is a web application that runs on a server and can be used for interaction
through any web browser from any computer. Most requirements therefore relates
to the server and software running on it. This version requires apache tomcat
to be installed.
4.4
SOFTWARE
REQUIREMNTS
MHIS
is developed as a stand alone application. This requires WAMP to be installed
on the server and also the MHIS on the mobile phone can only be installed on a
java based phone and the phone must have internet facility.
W
windows
A
Apache (web server)
M
MYSQL (data base)
P
PHP (scripting language)
others include:
- Operating system such as Windows XP, Windows 7etc
- Firefox or google chrome browsers.
4.4.1
OPERATING
SYSTEM REQUIREMENTS
As
mentioned above the MHIS requires WAMP to be installed on the operating system
to run. So any operating system that supports WAMP will be able to run the application. Common operating systems
which support WAMP and LAMP are windows and Linux respectively.
4.4.2
HARDWARE REQUIREMENTS
Minimum
RAM of 512mb
Minimum Disk
space of 20GB free
Keyboard, mouse
etc
4.5 SYSTEM DOCUMENTATION
Documentation
of a program or a source code means taking down a detailed analysis of the
benefits and the process of the new program developed. The programmer, users and
the operators are the main people in which the documentation is necessary for.
Documentation
always aids the maintenance of the program and also gives programs long lives.
Programs written during the 1960s are still in use today because it was
documented, although they must have been subjected to regular maintenance,
modification or bringing up to date.
4.5.1 PROGRAM DOCUMENTATION
Program documentation
varies according to its intended use.
·
For the programmers present or future
use, as an aid in all stages of programming.
·
For the future or present use of other
programmers
·
For the user of the program who may
themselves vary in expertise
4.6 SYSTEM MAINTENANCE
System
maintenance involves keeping of hardware and software of the computer system in
a good condition against virus, loss of files and slow performance of the
system. To ensure effective system maintenance the following should be taken
into consideration:
1. Using trained engineers to keep
hardware functional at all times, installing an enabling program update to keep
the program current.
2. Monitoring and fixing problems with
computer program
3. Modifying the programs in response to
new requirement.
To
put all this in place, adequate staff training programs are necessary.
4.7
CHOICE OF PROGRAMMING LANGUAGE
The
choice of programming language tells the kind of programming language used and
why the language. The following programming language was used;
·
Hypertext Mark-up Language (HTM)
·
Java script
·
Apache
·
Structured Query Language (SQL)
The
choice for the combination of these languages was because the program is
expected to run both online and offline with database inclusive.
The
HTML and Java Script are mainly used to process the form and communicate with
the input from the form while the SQL is used to communicate with the database,
while nokia pc suit is used to control the mobile application.
CHAPTER FIVE
SUMMARY, CONCLUSION AND
RECOMMENDATION
5.1
SUMMARY
Mobile technology is beginning
to have a big impact in health care, especially in developing countries and
soon mobile technology could play a large role in detecting, mapping and
responding to epidemics.
Technology has taken healthcare
industry a long way forward and so people are more aware about their health
status and health needs. But this development has not fully benefited the lower
crest of the society. The uncomfortable reality is that we live in a world
where there is a silent emergency every day. It is in this scenario the
possibility to use mobile phones in health care industry for effective
dissemination and access of health and health information is of significance.
5.2 CONCLUSION
Worldwide, mobile technologies
have demonstrated the incredible power of communication as an agent for social
change. The use of mobile phones to disseminate information on health will promote
health consciousness to people in remote areas and also serve as an inventory
control system to the health sector.
5.3 RECOMMENDATION
Observation from fact-findings
collected during the design of this research work was that in order to achieve
efficient and effective operation of the new system, it is advisable for the
management to make this work extended to all parts of the establishment. The
management needs to provide computer training course for all the staff
concerned because they cannot easily operate the new system when implemented
since they are not used to operating computer and mobile phone application.
The management should understand
that it is very important to completely eliminate the manual operation because
of its associated problems and make provision for post implementation where the
maintenance of the new system is carried out and work towards improving the new
system.
REFERENCES
Amy C. (2010) Mobile
Technology for Healthcare: Just what the doctor ordered? Washington, D.C.
and Berkshire, UK: UN Foundation-Vodafone Foundation Partnership.
Darrel
N. (1996) Hospital Management System http://ksi.cpsc.ucalgary.ca/courses/451-96/nash/451/func_spec/section1.html
Retrieved: August 19th, 2011
David
A. (2011) How Mobile Phone Can Transform Healthcare http://blogs.hbr.org/innovations-in-health-care/2011/03/david-aylward-the-mobile-phone.html.
Retrieved: August 6th, 2011
Dongsong Z. &
Boonlit A. (2005): Challenges, Methodologies, and Issues in the
Usability Testing of Mobile
Applications. International Journal of Human-
Computer Interaction, Vol. 18, Issue 3
July 2005, pages 293 - 308.
Geena M. S. (2011) Health Phones: A Potential
Game Changer in Health Information Management. OJHAS Vol. 10, Issue 1: (Jan-Mar
2011) ISSN0972 - 5997
Published in Mangalore, India.
Gremeen F.
(2010) Uganda Project: Applab Uganda http://www.grameenfoundation.applab.org/section/applab-initiatives
Retrieved: August 25th,
2011.
Prince
A. (2007) Information and Communication
Technology and HealthCare Delivery
in West Africa. BMJ West Africa Edition Vol.10.2 of May – June 2007,
p99.
Sultan S. & Mohan P (2009):
Improving the Self-Care Process for Caribbean Patients with Diabetes through Mobile
Learning. International Journal of
Education and Development using Information and Communication Technologies, Vol. 5, Issue 4.
Sultan
S. & Mohan P. (2009): How to Interact: Evaluating the Interface
between Mobile Healthcare Systems
and the Monitoring of Blood Sugar and Blood Pressure. In MobiQuitous 2009
Workshop on Ubiquitous Mobile Healthcare
Applications. Toronto, Canada, July 13-16, 2009.
APPENDIX A
SOURCE CODES
package
com.healthinfo.domain;
import
java.util.List;
import
javax.persistence.Column;
import
javax.persistence.Entity;
import
javax.persistence.EntityManager;
import
javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import
javax.persistence.Id;
import
javax.persistence.PersistenceContext;
import
javax.persistence.Version;
import
org.springframework.beans.factory.annotation.Configurable;
import
org.springframework.roo.addon.entity.RooEntity;
import
org.springframework.roo.addon.javabean.RooJavaBean;
import
org.springframework.roo.addon.tostring.RooToString;
import
org.springframework.transaction.annotation.Transactional;
@Entity
@Configurable
@RooJavaBean
@RooToString
@RooEntity
public class
HealthInfo {
private String title;
private String description;
private Boolean active;
@PersistenceContext
transient EntityManager entityManager;
@Id
@GeneratedValue(strategy =
GenerationType.AUTO)
@Column(name = "id")
private Long id;
@Version
@Column(name = "version")
private Integer version;
public Long getId() {
return this.id;
}
public void setId(Long id) {
this.id = id;
}
public Integer getVersion() {
return this.version;
}
public void setVersion(Integer version) {
this.version = version;
}
public Boolean getActive() {
return active;
}
public void setActive(Boolean active) {
this.active = active;
}
@Transactional
public void persist() {
if (this.entityManager == null)
this.entityManager = entityManager();
this.entityManager.persist(this);
}
@Transactional
public void remove() {
if (this.entityManager == null)
this.entityManager = entityManager();
this.setActive(Boolean.FALSE);
this.entityManager.merge(this);
this.entityManager.flush();
//
// if (this.entityManager == null)
this.entityManager = entityManager();
// if (this.entityManager.contains(this))
{
// this.entityManager.remove(this);
// } else {
// HealthInfo attached =
HealthInfo.findHealthInfo(this.id);
//
this.entityManager.remove(attached);
// }
}
@Transactional
public void flush() {
if (this.entityManager == null)
this.entityManager = entityManager();
this.entityManager.flush();
}
@Transactional
public void clear() {
if (this.entityManager == null)
this.entityManager = entityManager();
this.entityManager.clear();
}
@Transactional
public HealthInfo merge() {
if (this.entityManager == null)
this.entityManager = entityManager();
HealthInfo merged =
this.entityManager.merge(this);
this.entityManager.flush();
return merged;
}
public static final EntityManager
entityManager() {
EntityManager em = new
HealthInfo().entityManager;
if (em == null) throw new
IllegalStateException("Entity manager has not been injected (is the Spring
Aspects JAR configured as an AJC/AJDT aspects library?)");
return em;
}
public static long countHealthInfoes() {
return
entityManager().createQuery("select count(o) from HealthInfo o where
o.active = :active", Long.class).setParameter("active",
Boolean.TRUE).getSingleResult();
}
public static List<HealthInfo>
findAllHealthInfoes() {
return
entityManager().createQuery("select o from HealthInfo o where o.active =
:active", HealthInfo.class).setParameter("active",
Boolean.TRUE).getResultList();
}
public static List<HealthInfo>
findAllHealthInfoesNotInIds(List<Long> ids) {
String query = "select o from
HealthInfo o where o.active = :active ";
if(ids.size() > 0){
query +=" and o.id not in
(";
for(Long id : ids){
query +="" +
id + ",";
}
query = query.substring(0,
query.lastIndexOf(","));
query+=")";
}
return
entityManager().createQuery(query,
HealthInfo.class).setParameter("active",
Boolean.TRUE).getResultList();
}
public static HealthInfo findHealthInfo(Long
id) {
if (id == null) return null;
return
entityManager().find(HealthInfo.class, id);
}
public static List<HealthInfo>
findHealthInfoEntries(int firstResult, int maxResults) {
return
entityManager().createQuery("select o from HealthInfo o where o.active =
:active", HealthInfo.class).setParameter("active",
Boolean.TRUE).setFirstResult(firstResult).setMaxResults(maxResults).getResultList();
}
public String getTitle() {
return this.title;
}
public void setTitle(String title) {
this.title = title;
}
public String getDescription() {
return this.description;
}
public void setDescription(String
description) {
this.description = description;
}
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("Title:
").append(getTitle()).append(", ");
sb.append("Description:
").append(getDescription());
return sb.toString();
}
}
/*
* @(#)SMS.java
*
* Copyright (C) 2008
Franck Andriano
*
* This program is free
software; you can redistribute it and/or
* modify it under the
terms of the GNU General Public License
* as published by the
Free Software Foundation; either version 2
* of the License, or
(at your option) any later version.
*
* This program is
distributed in the hope that it will be useful,
* but WITHOUT ANY
WARRANTY; without even the implied warranty of
* MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See
the
* GNU General Public
License for more details.
*
* You should have
received a copy of the GNU General Public License
* along with this
program; if not, write to the Free Software
* Foundation, Inc., 51
Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA.
*
* See GPL license :
http://www.gnu.org/licenses/gpl.html
*
*/
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Enumeration;
import java.util.GregorianCalendar;
import java.util.StringTokenizer;
import java.util.TooManyListenersException;
import javax.comm.CommDriver;
import javax.comm.CommPortIdentifier;
import javax.comm.CommPortOwnershipListener;
import javax.comm.NoSuchPortException;
import javax.comm.PortInUseException;
import javax.comm.SerialPort;
import javax.comm.SerialPortEvent;
import javax.comm.SerialPortEventListener;
import javax.comm.UnsupportedCommOperationException;
import org.apache.log4j.Logger;
/**
* Classe permettant de
communiquer avec un Port/Serie ou RS-232 hardware
* Accepte les
commandes 3GPP 27.007 et les recommandations 27.005 GSM
* pour une carte
SIM...
*
* La communication en
elle même peut se faire par cable Port Serie, IR ou Bluetooth
*
* Télécharger Java
Communications 3.0 API :
*
http://java.sun.com/products/javacomm/
*
* - Installer le jar
javax.comm dans le classpath de votre application (comm.jar)
* et le fichier de configuration
javax.comm.properties aussi
*
* - Installer la dll
pour Win32 seulement 'win32com.dll' dans le répertoire 'bin'
* de votre JRE
*
* Le
"Pairing" de votre Adapteur Bluethooth et de votre GSM est
indispensable
* avant toute
communication (via le service Virtual Serial Device Bluetooth)
*
* @author Franck
Andriano 2008 nexus6@altern.org
* @version 1.0
*/
public class Sms implements SerialPortEventListener,
CommPortOwnershipListener
{
/*
* Instance Object Logger
*/
private
static Logger logger = Logger.getLogger(Sms.class);
/*
* Constance status
*/
public static
final int SC_OK = 0;
public
static final int SC_ERROR = 1;
public
static final int SC_PDU_PARSE_ERROR = 2;
/*
* Flux I/O
*/
private
OutputStream outStream;
private
InputStream inStream;
/*
* Read incoming SMS from SIM
*/
public
IncomingSms rx_sms = null;
/*
* Config Serial Port
*/
private
SerialParameters parameters;
/*
* Communication scan port
*/
private
CommPortIdentifier portId;
/*
* Communication in serial port
*/
private
SerialPort sPort;
/*
* Status comm port
*/
public int
portStatus = OK;
private
static Boolean portStatusLock = new Boolean(true);
private
boolean POLLING_FLAG;
private
String portStatusMsg = "";
/*
* Type of response
*/
private
static final int OK = 1;
private
static final int WAIT = 2;
private
static final int ERROR = 3;
private
static final int WMSG = 4;
private
static final int RMSG = 5;
private
static final int ECHO = 6;
private
static final int TIMEOUT = 7;
/*
* Buffer serial incoming event
*/
private
byte[] readBuffer = new byte[20000];
private int
bufferOffset = 0; // serialEvent
/*
* LF CR
*/
private
static final String lfcr = "\r\n";
/*
* Default index memory is 1
*/
private int
indexCurrentMemory = 1;
/*
* Default memory is "SM"
*/
private
String currentMemory = "\"SM\"";
/**
* Constructor!
*
* @param parameters
*/
public
Sms(SerialParameters parameters)
{
this.parameters
= parameters;
}
/**
* Initialize driver to be able to connect to
serial port
* incase application is running from Windows
* as u might expect no driver initialization
is required on linux
* ensure you initialize only once on Windows
so as to avoid multiple port enumeration
*
* @return String "suncessful" or "failure"
*/
public
String initializeWinDrivers()
{
String
drivername = "com.sun.comm.Win32Driver";
try
{
CommDriver
driver = (CommDriver) Class.forName(drivername).newInstance();
driver.initialize();
return
"successful";
}
catch
(Throwable th)
{
// Discard it
return
"failure";
}
}
/**
* Return type of serial port (depend type of
driver!) Driver=com.sun.comm.Win32Driver (window)
* Driver=gnu.io.RXTXCommDriver (all platform)
*
* @param portType
* @return String with driver type
*/
static
String getPortTypeName(int portType)
{
//
we use on window...
switch
(portType)
{
case
CommPortIdentifier.PORT_PARALLEL :
return
"Parallel";
case
CommPortIdentifier.PORT_SERIAL :
return
"Serial";
default
:
return
"unknown type";
}
}
/**
* Open serial connection with COM port
*
* @param _port
* @throws IOException
*/
public void
openConnection(String _port) throws IOException
{
openConnection(_port,
null);
}
/**
* Open serial connection with COM port
*
* @param _port
* @param _pinNumber
* @throws IOException
*/
public void
openConnection(String _port, String _pinNumber) throws IOException
{
String
port = _port;
if
(_port == null) port = parameters.getPortName();
//
Obtain a CommPortIdentifier object for the port you want to open.
try
{
portId
= CommPortIdentifier.getPortIdentifier(port);
}
catch
(NoSuchPortException e)
{
e.printStackTrace();
throw
new IOException(e.getMessage());
}
//
Open the port represented by the CommPortIdentifier object. Give
//
the open call a relatively long timeout of 30 seconds to allow
//
a different application to reliquish the port if the user
//
wants to.
try
{
sPort
= (SerialPort) portId.open("MobileAccess", 5000);
}
catch
(PortInUseException e)
{
throw
new IOException(e.getMessage());
}
//
Set the parameters of the connection. If they won't set, close the
//
port before throwing an exception.
try
{
setConnectionParameters();
}
catch (IOException e)
{
sPort.close();
throw
e;
}
//
Open the input and output streams for the connection. If they won't
//
open, close the port before throwing an exception.
try
{
outStream
= sPort.getOutputStream();
inStream
= sPort.getInputStream();
}
catch
(IOException e)
{
sPort.close();
throw
new IOException("Error opening i/o streams");
}
//
Add this object as an event listener for the serial port.
try
{
sPort.addEventListener(this);
}
catch
(TooManyListenersException e)
{
sPort.close();
throw
new IOException("too many listeners added");
}
//
Set notifyOnDataAvailable to true to allow event driven input.
sPort.notifyOnDataAvailable(true);
//
Add ownership listener to allow ownership event handling.
portId.addPortOwnershipListener(this);
//
init modem connection with pin number
initializeModem(_pinNumber);
}
/**
* Initialize modem with PIN number
*
* @param pinNumber
*/
private void
initializeModem(String pinNumber)
{
atCmd("ATE0",
0, 1000); // turn off
command echo
atCmd("AT+CMEE=2",
0, 500); // verbose all messages
atCmd("AT+CMGF=0",
0, 500); // set Pdu mode
(default binary)
//atCmd("AT+CNMI=0,0,0,0",
0, 500);// disable indications -direct to TE?
if
(pinNumber != null)
{
//enter
pin number
atCmd("AT+CPIN=\""
+ pinNumber + "\"", 0, 1000);
if
(portStatus == ERROR)
{
logger.error("The
pin number " + pinNumber + " is INCORRECT. Please try again.");
//
close session!
this.close();
}
}
}
/**
* List open serial port
*
* @return Array String
*/
public
String[] listPorts()
{
Enumeration
ports = CommPortIdentifier.getPortIdentifiers();
ArrayList
portList = new ArrayList();
String
portArray[] = null;
while
(ports.hasMoreElements())
{
CommPortIdentifier
port = (CommPortIdentifier) ports.nextElement();
if
(port.getPortType() == CommPortIdentifier.PORT_SERIAL)
{
portList.add(port.getName());
}
portArray
= (String[]) portList.toArray(new String[0]);
}
return
portArray;
}
/**
* Handles ownership events. If a
PORT_OWNERSHIP_REQUESTED event is received a dialog box is created asking the
user
* if they are willing to give up the port. No
action is taken on other types of ownership events.
}
@ModelAttribute("userdetails")
public
Collection<UserDetail> populateUserDetails() {
return
UserDetail.findAllUserDetails();
}
String
encodeUrlPathSegment(String pathSegment, HttpServletRequest httpServletRequest)
{
String enc =
httpServletRequest.getCharacterEncoding();
if (enc ==
null) {
enc =
WebUtils.DEFAULT_CHARACTER_ENCODING;
}
try {
pathSegment
= UriUtils.encodePathSegment(pathSegment, enc);
}
catch
(UnsupportedEncodingException uee) {}
return
pathSegment;
}
}
package com.healthinfo.domain;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EntityManager;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.PersistenceContext;
import org.springframework.beans.factory.annotation.Configurable;
import org.springframework.roo.addon.entity.RooEntity;
import org.springframework.roo.addon.javabean.RooJavaBean;
import org.springframework.roo.addon.tostring.RooToString;
import org.springframework.transaction.annotation.Transactional;
@Configurable
@Entity
@RooJavaBean
@RooToString
@RooEntity
public class UserDetailHealthInfo {
@PersistenceContext
transient
EntityManager entityManager;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name =
"id")
private Long id;
@ManyToOne
@JoinColumn(name
= "health_info_id", referencedColumnName = "id", nullable =
false)
HealthInfo
healthInfo;
@ManyToOne
@JoinColumn(name
= "user_details_id", referencedColumnName = "id", nullable
= false)
UserDetail
userDetail;
public Long
getId() {
return
id;
}
public void
setId(Long id) {
this.id
= id;
}
public
HealthInfo getHealthInfo() {
return
healthInfo;
}
public void
setHealthInfo(HealthInfo healthInfo) {
this.healthInfo
= healthInfo;
}
public
UserDetail getUserDetail() {
return
userDetail;
}
public void
setUserDetail(UserDetail userDetail) {
this.userDetail
= userDetail;
}
@Transactional
public void
persist() {
if
(this.entityManager == null) this.entityManager = entityManager();
this.entityManager.persist(this);
}
@Transactional
public void
remove() {
if
(this.entityManager == null) this.entityManager = entityManager();
if
(this.entityManager.contains(this)) {
this.entityManager.remove(this);
} else {
UserDetailHealthInfo attached =
UserDetailHealthInfo.findUserDetailHealthInfo(this.id);
this.entityManager.remove(attached);
}
}
@Transactional
public void flush()
{
if
(this.entityManager == null) this.entityManager = entityManager();
this.entityManager.flush();
}
@Transactional
public void clear()
{
if
(this.entityManager == null) this.entityManager = entityManager();
this.entityManager.clear();
}
@Transactional
public
UserDetailHealthInfo merge() {
if
(this.entityManager == null) this.entityManager = entityManager();
UserDetailHealthInfo merged = this.entityManager.merge(this);
this.entityManager.flush();
return merged;
}
public
static final EntityManager entityManager() {
EntityManager
em = new UserDetail().entityManager;
if (em == null)
throw new IllegalStateException("Entity manager has not been injected (is
the Spring Aspects JAR configured as an AJC/AJDT aspects library?)");
return em;
}
public
static List<UserDetailHealthInfo>
findAllUserDetailHealthInfosforUser(Long id) {
return
entityManager().createQuery("select o from UserDetailHealthInfo o where
o.userDetail.id =:id group by o.healthInfo.id",
UserDetailHealthInfo.class)
.setParameter("id", id).getResultList();
}
public
static UserDetailHealthInfo findUserDetailHealthInfo(Long id) {
if (id == null)
return null;
return
entityManager().find(UserDetailHealthInfo.class, id);
}
}
APPENDIX B
SCREEN SHOTS OF THE APPLICATIONS
dont forget to share, like our facebook, twitter and google page, If you have any complain, dont fail to drop your comment below Request for the software of this project, send me mail at: cletus.igbe@gmail.com or developer.cletus@gmail.com or sms me at +2347060722008 or +2348110288930, you can as well drop your comment below. |
No comments:
Post a Comment
Add Comment