KEMBAR78
A Project Report On "A Digital Step For ASHA - National Rural Health Mission" | PDF | Android (Operating System) | Eclipse (Software)
0% found this document useful (0 votes)
794 views92 pages

A Project Report On "A Digital Step For ASHA - National Rural Health Mission"

This document presents a project report on developing a digital application called "A Digital Step for ASHA – National Rural Health Mission" to help Accredited Social Health Activists (ASHAs) in India perform their duties more efficiently. The application aims to replace multiple paper-based tools with an all-in-one mobile app that allows ASHAs to update their skills, stay connected with supervisors, and track community health issues. It discusses the National Rural Health Mission's goal of providing trained female community health activists known as ASHAs in every Indian village. ASHAs act as a link between communities and the public health system to improve health awareness at the grassroots level. The proposed mobile application would allow ASHAs to

Uploaded by

Neeraj
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
794 views92 pages

A Project Report On "A Digital Step For ASHA - National Rural Health Mission"

This document presents a project report on developing a digital application called "A Digital Step for ASHA – National Rural Health Mission" to help Accredited Social Health Activists (ASHAs) in India perform their duties more efficiently. The application aims to replace multiple paper-based tools with an all-in-one mobile app that allows ASHAs to update their skills, stay connected with supervisors, and track community health issues. It discusses the National Rural Health Mission's goal of providing trained female community health activists known as ASHAs in every Indian village. ASHAs act as a link between communities and the public health system to improve health awareness at the grassroots level. The proposed mobile application would allow ASHAs to

Uploaded by

Neeraj
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 92

A

Project Report

On

“A Digital Step for ASHA – National Rural Health Mission”

Submitted By

Shivyani Balaji Rathod [30]

Akanksha Suryakant Wadewale [34]

Sameer Laxmiarayan Mogadpally [25]

Hrishikesh Nagesh Phulari [28]

Under the guidance of

Ms. Dudhmale M.N

Diploma in Computer Engineering

Gramin Polytechnic Vishnupuri, Nanded-431606

Acadamic Year

2019-2020
CERTIFICATE

This is to certify that the project entitled, “A Digital Step for ASHA –
National Rural Health Mission” submitted by Miss. Rathod Shivyani Balaji,
Miss. Akanksha Suryakant Wadewale, Mr. Mogadpally Sameer
Laminarayan, Mr. Phulari Hrishikesh Nagesh to Maharashtra State Board Of
Technical Education Mumbai as Partial fulfillment of Diploma in Computer
Engineering is record of bonafied work carried out by him under my supervision
and guidance. The matter contained in thin project work has not been submitted to
any other institute for award of any Degree or Diploma.

Ms. Dudhmale M.N Mr. Wahi G.S

Project Guide Head of Department

Dr. Pawar V.S

Principal

PROJECT APPROVAL SHEET

Following team has done appropriate work related to the “A Digital Step
for ASHA – National Rural Health Mission” in partial fulfillment for the award
of Diploma in Computer Engineering of ―MSBTE‖ and is being submitted to
Gramin Polytechnic Vishnupuri, Nanded.

Ms. Dudhmale M.N

Project Teacher
Acknowledgement

We would like to thank our scheme, faculties and mentors for giving us the
opportunity to work under their guidance and help us in our final project. I would like to thank
our beloved principal Dr. Pawar V.S. who is the force behind this project. My sincere thanks to
Ms. Dudhmal M.N. as our internal project guide for giving us valuable inputs and ideas right
from the selection of topic for project till its successful completion.

I thank Mr. Wahi G.S (HOD of computer department) for his ongoing support and
encouragement in every aspect Last but not the least entire staff of Department of Computer
Engineering for guiding their thoughts and vision.

The successful completion of our final project report would not have been possible
without the dedicated support from all our mentors, family and friends.

Finally, yet importantly I would like to express my heartfelt thanks to my beloved parents
for their blessings, my friends, and all those who supported me directly or indirectly for their
help and wishes for successful completion of this project.

1. Rathod Shivyani Balaji


2. Wadewale Akanksha Suryakant
3. Mogadpally Sameer Laxminarayan
4. Phulari Hrishikesh Nagesh
Abstract

“A Digital Step for ASHA – National Rural Health Mission”

This is an open source Android application developed specifically for frontline health
workers in India. It’s is an all-in-one job aid and electronic medical record system that replaces
multiple paper-based tools and helps health workers gain access to the most up-to-date training
and information in easy-to-understand, convenient formats that work for them. With this
application, health workers such as India’s ASHAs—which stands for Accredited Social Health
Activists—can use their smartphones to update skills, stay in touch with supervisors, and track
and report crucial data about health issues in their communities.

The National Rural Health Mission (NRHM) was launched on 12th April 2005 with an
objective to provide effective health care to the rural population with emphasis on poor women
& children. One of the key components of the NRHM is to provide every village in the country
with a trained female community health activist i.e. Accredited Social Health Activist (ASHA).
The ASHA is expected to be an interface between the community and the public health system.
The main objective of having ASHA’s is to determine the health awareness among rural
population.

ASHA is one of the core strategy proposed by NRHM. ASHA refers to the women
health workers of village level who works to improve the condition of health at grass root level
of mothers, infants, and old aged, sick and disabled people. Each ASHA is set up over 1000
population. ASHA acts as a link between a community and the health provider. The main aim of
having ASHA’s in our country was to reduce the Maternal Women and Babies death rate.

ASHA mainly works under PHC (Primary Health Center) which is a primary health
center which is available in each 5000 to 10000 people. All these record can be maintained in
this application which will provide simple way for ASHA’s.
Index

Sr. No Chapters Page No.


1 Introduction…………………………………….... 1-3
2 Area Of Use……………………………………… 3-4
3 System Analysis………………………………….. 5-6
3.1 Existing System……………………………..
3.2 Proposed System…………………………….
4 System environment……………………………… 7-26
4.1 Software Description……………………….
5 System Design…………………………………….. 27-33
5.1 Architecture of System……………………...
6 Modules …………………………………………... 34-37
6.1 Module 1…………………………………….
6.2 Module 2…………………………………….
7 System Implementation………………………….. 38-83
7.1 Coding ……………………………………… 38-71
7.2 Result ………………………………………. 71-83
8 Software Testing …………………………………. 84-85
9 Advantages ……………………………………….. 86
10 System Requirements …………………………… 87
10.1 Software Requirements …………………….
10.2 Hardware Requirements ……………………
11 Conclusion ……………………………………….. 88
12 Bibliography……………………………………… 89
Chapter 1

Introduction

This is an open source Android application developed specifically for frontline health
workers in India. It’s is an all-in-one job aid and electronic medical record system that replaces
multiple paper-based tools and helps health workers gain access to the most up-to-date training
and information in easy-to-understand, convenient formats that work for them. With this
application, health workers such as India’s ASHAs—which stands for Accredited Social Health
Activists—can use their smartphones to update skills, stay in touch with supervisors, and track
and report crucial data about health issues in their communities. They can use the app to teach
new parents how to protect their babies from infection or dehydration, how to breastfeed, and
how to identify symptoms of serious illness. If a mother or baby needs medical attention, an
ASHA can use this app to quickly refer them to a doctor who can help.

The National Rural Health Mission (NRHM) was launched on 12th April 2005 with an
objective to provide effective health care to the rural population with emphasis on poor women
& children. One of the key components of the NRHM is to provide every village in the country
with a trained female community health activist i.e. Accredited Social Health Activist (ASHA).
ASHA is a health activist in the community, who will create awareness on health and its
determinants and mobilize the community towards local health planning and increased utilization
and accountability of the existing health services. The ASHA is expected to be an interface
between the community and the public health system. The main objective of having ASHA’s is
to determine the health awareness among rural population.

Health is a function, not only of medical care but also of the overall integrated
development of society, cultural, economic, educational, social and political; each of these
aspects has a deep influence on health, which in turn influences all these aspects. Hence, it is not
possible to raise the health status and quality of life of people unless such efforts are integrated
with the wider efforts to bring about the overall transformation of a society. Good health and
society go together. ASHA will be chosen through a rigorous process of selection involving
various community groups, self-help groups, Anganwadi Institutions, the Block Nodal officer,
District Nodal office, the village Health Committee and the Gram Sabha.

ASHA is one of the core strategy proposed by NRHM. ASHA refers to the women
health workers of village level who works to improve the condition of health at grass root level
of mothers, infants, and old aged, sick and disabled people. The success of NRHM lies,
according to ASHAs functioning. Each ASHA is set up over 1000 population. ASHA acts as a
link between a community and the health provider. Earlier ASHA was established in almost 18
states of India as the government has focused on these states to improve the health conditions
and infrastructure but now, National Rural Health Mission has fulfilled its promise of one ASHA
in every village of the high focus states. ASHAs in the programme, there is one for every 1000
population in almost every part of the country.

ASHA stands for Accredited Social Health Activist. The main aim of having ASHA’s
in our country was to reduce the Maternal Women and Babies death rate. ASHA’ s main work
is to maintain each and every record of her corresponding 1000 people. To maintain their family
details like family members, how many are of above 30 age, how many of under 0 to 5 years,
how many persons having diseases and which ones, which treatment they received till date, if not
then concern them to a doctor or PHC i.e. Primary Health Centre. ASHA mainly works under
PHC which is a primary health center which is available in each 5000 to 10000 people. All these
record can be maintained in this application which will provide simple way for ASHA’s.

Background:

With 56,000 maternal and 876,000 newborn deaths each year, India accounts for 19% of
all maternal and 29% of newborn deaths globally. Accredited social health activists (ASHAs), a
new cadre of community health workers (CHWs) instituted as part of India's National Rural
Health 3 Mission (NRHM), can prevent many of these deaths by helping women and their
families recognize maternal and neonatal danger signs and promptly seek care. However, a
majority of ASHAs are low-literate village women, and they face significant operational
challenges in conducting routine maternal, newborn, and child health (MNCH) activities and in
keeping their skills updated. In particular, ASHAs' lack of access to health care information,
refresher training, supportive supervision, and user-friendly job aids compromise their ability to
contribute to 4, 5 improved maternal and newborn health outcomes. Existing paper-based job
aids include text-heavy reference materials, bulky counseling flipbooks, complex newborn care
checklists, and reporting formats that are not suitable for low-literate ASHAs. However, the near
ubiquity of mobile phones throughout the developing world, including India, has led to the
emergence of mHealth applications that are potentially effective tools for supporting CHWs
across a range of activities.
Chapter 2

Area of Use

Area of use for this android application is at every ASHA’s android phone or
smartphone. India’s primary healthcare system is based on the Primary Health Centre (PHC)
and these PHCs provide treatment free of cost. These are the government hospitals which
provides free of cost treatments to the rural area people for their betterment. ASHAs work under
these PHCs. They give all the reports to their corresponding PHCs. So with using this application
ASHAs can store all the data with the help of this app and communicate with the superiors and
PHCs who sanctions their payments according to their work. So this application can be used by
each ASHA workers for easy going efforts. PHP’s are present all over the India that’s why it’s
not like we can use this application only in Maharashtra but we may also use this all over the
India, because ASHA’s are present all over the country. They provide all the services to rural
people free of cost. It includes so many missions provided by government. The task of ASHA is
to provide these facilities to the ground level people from count one. And maintaining these
records is not easy so this application will be really helpful for them.
Chapter 3

System Analysis

3.1 Existing System:

In our country means in Indian states like Uttarakhand, Uttar Pradesh, Gujrat this kind
of applications for ASHA workers are developed and already used. It really helped all the
ASHAs to work with an application. The manual work which they used to do in registers or
paper way instead they used application and it really made it simple and easy. But in
Maharashtra no such application still is in use or yet no ASHAs are using this kind of
applications. So, that we thought to develop something which will be really helpful for rural
people. It is very mandatory nowadays in Maharashtra to provide such kind of tools and facilities
to ASHA workers because all the information they store is manually done in registers or in write
up way. It is very time consuming and it requires very efforts and also there are chances of
mistakes. This we can reduce by such applications.

3.2 Proposed System:

Our android application provides simple visual way to the workers. Because ASHAs
education criteria is minimum 10th pass that means they are not very educated but they can surely
understand how to use an application. It stores all the records of each person and regarding their
health and again their treatments, again if there is a child then their immunization, follow ups
from doctors, how many visits she has given to a particular house this month, etc., ASHA stores
and maintains her data in registers. It is very difficult to maintain such a data in write format or
on pages. Then she gives the hard copies to her supervisor and on the basis of the work, her
payment get sanctioned. Performance based payment system is there for ASHAs. So this is
manually done but with the help of this application all this problems will get solved.

In this project we are providing one android application for ASHA workers which will
provide basic and good functionalities of storing data and also providing it to Block Facilitator. It
will contain many sub modules or pages which are the responsibilities of ASHA worker. These
pages provide them a simple visual way in their convenient language so that they can add very
comfortably.

Also with an android application the project contain a website for admin which is block
facilitator in this case. We are using Bootstrap which provides a responsive and flexible user
interface to the admin. By which he or she can easily track the information of people as well as
ASHA’s using this website. With this system the work of ASHA becomes very easy and simple.
Chapter 4

System Environment

4.1 Software Description:

Android is a Linux-based operating system for mobile devices such as smartphones and
tablet computers. It is developed by the Open Handset Alliance led by Google . Android has a
large community of developers writing applications ("apps") that extend the functionality of the
devices. Developers write primarily in a customized version of Java.

4.1.1 Android architecture


Android consists of a kernel based on the Linux kernel, with middleware, libraries and
APIs written in C and application software running on an application framework which includes
Java-compatible libraries based on Apache Harmony. Android uses the Dalvik virtual machine
with just-in-time compilation to run Dalvik dex-code (Dalvik Executable), which is usually
translated from Java bytecode. The main hardware platform for Android is the ARM
architecture. There is support for x86 from the Android x86 project, and Google TV uses a
special x86 version of Android.
Android's kernel is based on the Linux kernel and has further architecture changes by
Google outside the typical Linux kernel development cycle. Android does not have a native X
Window System nor does it support the full set of standard GNU libraries, and this makes it
difficult to port existing Linux applications or libraries to Android.
Certain features that Google contributed back to the Linux kernel, notably a power
management feature called wakelocks, were rejected by mainline kernel developers, partly
because kernel maintainers felt that Google did not show any intent to maintain their own code.
Even though Google announced in April 2010 that they would hire two employees to work with
the Linux kernel community, Greg Kroah-Hartman, the current Linux kernel maintainer for the -
stable branch, said in December 2010 that he was concerned that Google was no longer trying to
get their code changes included in mainstream Linux. Some Google Android developers hinted
that "the Android team was getting fed up with the process", because they were a small team and
had more urgent work to do on Android.

However, in September 2010, Linux kernel developer Rafael J. Wysocki added a patch
that improved the mainline Linux wakeup events framework. He said that Android device drivers
that use wakelocks can now be easily merged into mainline Linux, but that Android's
opportunistic suspend features should not be included in the mainline kernel. In 2011 Linus
Torvalds said that "eventually Android and Linux would come back to a common kernel, but it
will probably not be for four to five years".

In December 2011, Greg Kroah-Hartman announced the start of the Android Mainlining
Project, which aims to put some Android drivers, patches and features back into the Linux
kernel, starting in Linux 3.3. further integration being expected for Linux Kernel 3.4.
4.1.2 Application Framework:

By providing an open development platform, Android offers developers the ability to


build extremely rich and innovative applications. Developers are free to take advantage of the
device hardware, access location information, run background services, set alarms, add
notifications to the status bar, and much, much more.

Developers have full access to the same framework APIs used by the core applications.
The application architecture is designed to simplify the reuse of components; any application can
publish its capabilities and any other application may then make use of those capabilities (subject
to security constraints enforced by the framework). This same mechanism allows components to
be replaced by the user.

Underlying all applications is a set of services and systems, including:

 A rich and extensible set of Views that can be used to build an application, including
lists, grids, text boxes, buttons, and even an embeddable web browser
 Content Providers that enable applications to access data from other applications (such as
Contacts), or to share their own data
 A Resource Manager, providing access to non-code resources such as localized strings,
graphics, and layout files
 A Notification Manager that enables all applications to display custom alerts in the status
bar
 An Activity Manager that manages the lifecycle of applications and provides a common
navigation backstack

4.1.3 Libraries:

Android includes a set of C/C++ libraries used by various components of the Android
system. These capabilities are exposed to developers through the Android application
framework. Some of the core libraries are listed below:
 System C library - a BSD-derived implementation of the standard C system library
(libc), tuned for embedded Linux-based devices
 Media Libraries - based on PacketVideo's OpenCORE; the libraries support playback
and recording of many popular audio and video formats, as well as static image files,
including MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG
 Surface Manager - manages access to the display subsystem and seamlessly composites
2D and 3D graphic layers from multiple applications
 LibWebCore - a modern web browser engine which powers both the Android browser
and an embeddable web view
 SGL - the underlying 2D graphics engine
 3D libraries - an implementation based on OpenGL ES 1.0 APIs; the libraries use either
hardware 3D acceleration (where available) or the included, highly optimized 3D
software rasterizer
 FreeType - bitmap and vector font rendering
 SQLite - a powerful and lightweight relational database engine available to all
applications

4.1.4 Android Runtime:


Android includes a set of core libraries that provides most of the functionality available in
the core libraries of the Java programming language.
Every Android application runs in its own process, with its own instance of the Dalvik
virtual machine. Dalvik has been written so that a device can run multiple VMs efficiently. The
Dalvik VM executes files in the Dalvik Executable (.dex) format which is optimized for minimal
memory footprint. The VM is register-based, and runs classes compiled by a Java language
compiler that have been transformed into the .dex format by the included "dx" tool.
The Dalvik VM relies on the Linux kernel for underlying functionality such as threading and
low-level memory management.
4.1.5 Linux Kernel:

Android relies on Linux version 2.6 for core system services such as security, memory
management, process management, network stack, and driver model. The kernel also acts as an
abstraction layer between the hardware and the rest of the software stack.

4.1.6 Android SDK:

You should update to the latest tools or platform using the Android SDK and AVD Manager,
rather than downloading a new SDK starter package.

http://dl.google.com/android/android-sdk_r16-macosx.zip

Here's an overview of the steps you must follow to set up the Android SDK:

1. Prepare your development computer and ensure it meets the system requirements.
2. Install the SDK starter package from the table above. (If you're on Windows, download
the installer for help with the initial setup.)
3. Install the ADT Plugin for Eclipse (if you'll be developing in Eclipse).
4. Add Android platforms and other components to your SDK.
5. Explore the contents of the Android SDK (optional).

4.1.7 System Requirements:

Supported Operating Systems

 Windows XP (32-bit), Vista (32- or 64-bit), or Windows 7 (32- or 64-bit)


 Mac OS X 10.5.8 or later (x86 only)
 Linux (tested on Ubuntu Linux, Lucid Lynx)
o GNU C Library (glibc) 2.7 or later is required.
o On Ubuntu Linux, version 8.04 or later is required.
o 64-bit distributions must be capable of running 32-bit applications. For
information about how to add support for 32-bit applications

Supported Development Environments for Android SDK

Eclipse IDE
 Eclipse 3.6 (Helios) or greater
Note: Eclipse 3.5 (Galileo) is no longer supported with the latest version of ADT.
 Eclipse JDT plugin (included in most Eclipse IDE packages)
Several types of Eclipse packages are available for each platform. For developing
Android applications, we recommend that you install one of these packages:
o Eclipse IDE for Java Developers
o Eclipse Classic
o Eclipse IDE for Java EE Developers
 JDK 5 or JDK 6 (JRE alone is not sufficient)
 Android Development Tools plugin (recommended)
 Not compatible with Gnu Compiler for Java (gcj)

Other development environments or IDEs


 JDK 5 or JDK 6 (JRE alone is not sufficient)
 Apache Ant 1.8 or later
 Not compatible with Gnu Compiler for Java (gcj)

4.1.8 Hardware requirements for Android SDK:


The Android SDK requires disk storage for all of the components that you choose to
install. The table below provides a rough idea of the disk-space requirements to expect, based on
the components that you plan to use.
Component type Approximate size Comments

SDK Tools 35 MB Required.

SDK Platform-tools 6 MB Required.

Android platform (each) 150 MB At least one platform is required.

SDK Add-on (each) 100 MB Optional.

USB Driver for Windows 10 MB Optional. For Windows only.

Samples (per platform) 10M Optional.

Offline documentation 250 MB Optional.

Note that the disk-space requirements above are in addition to those of the Eclipse IDE, JDK, or
other prerequisite tools that you may need to install on your development computer.

4.1.9 Installing the SDK

Step1. Preparing Your Development Computer


Before getting started with the Android SDK, take a moment to confirm that your
development computer meets the System Requirements. In particular, you might need to install
the JDK, if you don't have it already.
If you will be developing in Eclipse with the Android Development Tools (ADT)
Plugin—the recommended path if you are new to Android—make sure that you have a suitable
version of Eclipse installed on your computer as described in the System Requirements
document.
The "Eclipse Classic" version is recommended. Otherwise, a Java or RCP version of
Eclipse is recommended.
Step2. Downloading the SDK Starter Package
The SDK starter package is not a full development environment—it includes only the
core SDK Tools, which you can use to download the rest of the SDK components (such as the
latest Android platform).
If you haven't already, get the latest version of the SDK starter package from the SDK
download page.
If you downloaded a .zip or .tgz package (instead of the SDK installer), unpack it to a
safe location on your machine. By default, the SDK files are unpacked into a directory named
android-sdk-<machine-platform>.
If you downloaded the Windows installer (.exe file), run it now and it will check whether
the proper Java SE Development Kit (JDK) is installed (installing it, if necessary), then install
the SDK Tools into a default location (which you can modify).

Make a note of the name and location of the SDK directory on your system—you will
need to refer to the SDK directory later, when setting up the ADT plugin and when using the
SDK tools from the command line.

Step3. Installing the ADT Plugin for Eclipse


Android offers a custom plugin for the Eclipse IDE, called Android Development Tools
(ADT), that is designed to give you a powerful, integrated environment in which to build
Android applications. It extends the capabilites of Eclipse to let you quickly set up new Android
projects, create an application UI, debug your applications using the Android SDK tools, and
even export signed (or unsigned) APKs in order to distribute your application. In general,
developing in Eclipse with ADT is a highly recommended approach and is the fastest way to get
started with Android.
If you'd like to use ADT for developing Android applications, install it now. Read
Installing the ADT Plugin for step-by-step installation instructions, then return here to continue
the last step in setting up your Android SDK.

If you prefer to work in a different IDE, you do not need to install Eclipse or ADT. Instead, you
can directly use the SDK tools to build and debug your application. The Introduction to Android
application development outlines the major steps that you need to complete when developing in
Eclipse or other IDEs.

Step4. Adding Platforms and Other Components

The last step in setting up your SDK is using the Android SDK and AVD Manager (a tool
included in the SDK starter package) to download essential SDK components into your
development environment.

The SDK uses a modular structure that separates the major parts of the SDK—Android
platform versions, add-ons, tools, samples, and documentation—into a set of separately
installable components. The SDK starter package, which you've already downloaded, includes
only a single component: the latest version of the SDK Tools. To develop an Android
application, you also need to download at least one Android platform and the associated platform
tools. You can add other components and platforms as well, which is highly recommended.

If you used the Windows installer, when you complete the installation wizard, it will
launch the Android SDK and AVD Manager with a default set of platforms and other
components selected for you to install. Simply click Install to accept the recommended set of
components and install them. You can then skip to Step 5, but we recommend you first read the
section about the Available Components to better understand the components available from the
Android SDK and AVD Manager.

You can launch the Android SDK and AVD Manager in one of the following ways:

 From within Eclipse, select Window > Android SDK and AVD Manager.
 On Windows, double-click the SDK Manager.exe file at the root of the Android SDK
directory.
 On Mac or Linux, open a terminal and navigate to the tools/ directory in the Android
SDK, then execute:
android
To download components, use the graphical UI of the Android SDK and AVD Manager to
browse the SDK repository and select new or updated components (see figure 1). The Android
SDK and AVD Manager installs the selected components in your SDK environment. For
information about which components you should download, see Recommended Components.

Figure1. The Android SDK and AVD Manager's Available Packages panel, which shows the
SDK components that are available for you to download into your environment.

4.1.10 Available Components:

By default, there are two repositories of components for your SDK: Android Repository and
Third party Add-ons.

The Android Repository offers these types of components:

 SDK Tools — Contains tools for debugging and testing your application and other utility
tools. These tools are installed with the Android SDK starter package and receive
periodic updates. You can access these tools in the <sdk>/tools/ directory of your SDK.
To learn more about them, see SDK Tools in the developer guide.
 SDK Platform-tools — Contains platform-dependent tools for developing and
debugging your application. These tools support the latest features of the Android
platform and are typically updated only when a new platform becomes available. You can
access these tools in the <sdk>/platform-tools/ directory. To learn more about them, see
Platform Tools in the developer guide.
 Android platforms — An SDK platform is available for every production Android
platform deployable to Android-powered devices. Each SDK platform component
includes a fully compliant Android library, system image, sample code, and emulator
skins. To learn more about a specific platform, see the list of platforms that appears under
the section "Downloadable SDK Components" on the left part of this page.
 USB Driver for Windows (Windows only) — Contains driver files that you can install
on your Windows computer, so that you can run and debug your applications on an actual
device. You do not need the USB driver unless you plan to debug your application on an
actual Android-powered device. If you develop on Mac OS X or Linux, you do not need
a special driver to debug your application on an Android-powered device. See Using
Hardware Devices for more information about developing on a real device.
 Samples — Contains the sample code and apps available for each Android development
platform. If you are just getting started with Android development, make sure to
download the samples to your SDK.
 Documentation — Contains a local copy of the latest multiversion documentation for the
Android framework API.
The Third party Add-ons provide components that allow you to create a development
environment using a specific Android external library (such as the Google Maps library) or a
customized (but fully compliant) Android system image. You can add additional Add-on
repositories by clicking Add Add-on Site.

4.1.11 Recommended Components:

The SDK repository contains a range of components that you can download. Use the
table below to determine which components you need, based on whether you want to set up a
basic, recommended, or full development environment:
Environment SDK Component Comments

Basic SDK Tools If you've just installed the SDK starter package,
then you already have the latest version of this
component. The SDK Tools component is required
to develop an Android application. Make sure you
keep this up to date.

SDK Platform- This includes more tools that are required for
tools application development. These tools are platform-
dependent and typically update only when a new
SDK platform is made available, in order to support
new features in the platform. These tools are always
backward compatible with older platforms, but you
must be sure that you have the latest version of
these tools when you install a new SDK platform.

SDK platform You need to download at least one platform into


your environment, so that you will be able to
compile your application and set up an Android
Virtual Device (AVD) to run it on (in the emulator).
To start with, just download the latest version of the
platform. Later, if you plan to publish your
application, you will want to download other
platforms as well, so that you can test your
application on the full range of Android platform
versions that your application supports.

Recommended Documentation The Documentation component is useful because it


(plus Basic) lets you work offline and also look up API
reference information from inside Eclipse.
Samples The Samples components give you source code that
you can use to learn about Android, load as a
project and run, or reuse in your own app. Note that
multiple samples components are available — one
for each Android platform version. When you are
choosing a samples component to download, select
the one whose API Level matches the API Level of
the Android platform that you plan to use.

Usb Driver The Usb Driver component is needed only if you


are developing on Windows and have an Android-
powered device on which you want to install your
application for debugging and testing. For Mac OS
X and Linux platforms, no special driver is needed.

Full Google APIs The Google APIs add-on gives your application
(plus access to the Maps external library, which makes it
Recommended) easy to display and manipulate Maps data in your
application.

Additional SDK If you plan to publish your application, you will


Platforms want to download additional platforms
corresponding to the Android platform versions on
which you want the application to run. The
recommended approach is to compile your
application against the lowest version you want to
support, but test it against higher versions that you
intend the application to run on. You can test your
applications on different platforms by running in an
Android Virtual Device (AVD) on the Android
emulator.

Once you've installed at least the basic configuration of SDK components, you're ready to
start developing Android apps. The next section describes the contents of the Android SDK to
familiarize you with the components you've just installed.

Step5. Exploring the SDK (Optional)

Once you've installed the SDK and downloaded the platforms, documentation, and add-
ons that you need, we suggest that you open the SDK directory and take a look at what's inside.

The table below describes the full SDK directory contents, with components installed.

Name Description

add-ons/ Contains add-ons to the Android SDK development environment, which let
you develop against external libraries that are available on some devices.

docs/ A full set of documentation in HTML format, including the Developer's


Guide, API Reference, and other information. To read the documentation,
load the file offline.html in a web browser.

platform-tools/ Contains platform-dependent development tools that may be updated with


each platform release. The platform tools include the Android Debug Bridge
(adb) as well as other tools that you don't typically use directly. These tools
are separate from the development tools in the tools/ directory because these
tools may be updated in order to support new features in the latest Android
platform.

platforms/ Contains a set of Android platform versions that you can develop
applications against, each in a separate directory.
<platform>/ Platform version directory, for example "android-11". All platform version
directories contain a similar set of files and subdirectory structure. Each
platform directory also includes the Android library (android.jar) that is used
to compile applications against the platform version.

samples/ Sample code and apps that are specific to platform version.

tools/ Contains the set of development and profiling tools that are platform-
independent, such as the emulator, the Android SDK and AVD Manager,
ddms, hierarchyviewer and more. The tools in this directory may be updated
at any time using the Android SDK and AVD Manager and are independent
of platform releases.

SDK Readme.txt A file that explains how to perform the initial setup of your SDK, including
how to launch the Android SDK and AVD Manager tool on all platforms.

SDK Windows SDK only. A shortcut that launches the Android SDK and AVD
Manager.exe Manager tool, which you use to add components to your SDK.

Optionally, you might want to add the location of the SDK's tools/ and platform-tools to
your PATH environment variable, to provide easy access to the tools.
4.2 Android's Features:
 Handset layouts
o The platform is adaptable to larger, VGA, 2D graphics library, 3D graphics
library based on OpenGL ES 2.0 specifications, and traditional smartphone
layouts.
 Storage
o SQLite, a lightweight relational database, is used for data storage purposes.
 Connectivity
o Android supports connectivity technologies including GSM/EDGE, IDEN,
CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi, LTE, NFC and WiMAX.
 Messaging
o SMS and MMS are available forms of messaging, including threaded text
messaging and now Android Cloud To Device Messaging (C2DM) is also a part
of Android Push Messaging service.
 Multiple language support
o Android supports multiple languages.
 Web browser
o The web browser available in Android is based on the open-source WebKit layout
engine, coupled with Chrome's V8 JavaScript engine. The browser scores
100/100 on the Acid3 test on Android 4.0.
 Java support
o While most Android applications are written in Java, there is no Java Virtual
Machine in the platform and Java byte code is not executed. Java classes are
compiled into Dalvik executables and run on Dalvik, a specialized virtual
machine designed specifically for Android and optimized for battery-powered
mobile devices with limited memory and CPU. J2ME support can be provided via
third-party applications.
 Media support
o Android supports the following audio/video/still media formats: WebM, H.263,
H.264 (in 3GP or MP4 container), MPEG-4 SP, AMR, AMR-WB (in 3GP
container), AAC, HE-AAC (in MP4 or 3GP container), MP3, MIDI, Ogg Vorbis,
FLAC, WAV, JPEG, PNG, GIF, BMP.[71]
 Streaming media support
o RTP/RTSP streaming (3GPP PSS, ISMA), HTML progressive download
(HTML5 <video> tag). Adobe Flash Streaming (RTMP) and HTTP Dynamic
Streaming are supported by the Flash plugin. Apple HTTP Live Streaming is
supported by RealPlayer for Android, and by the operating system in Android 3.0
(Honeycomb).
 Additional hardware support
o Android can use video/still cameras, touchscreens, GPS, accelerometers,
gyroscopes, barometers, magnetometers, dedicated gaming controls, proximity
and pressure sensors, thermometers, accelerated 2D bit blits (with hardware
orientation, scaling, pixel format conversion) and accelerated 3D graphics.
 Multi-touch
o Android has native support for multi-touch which was initially made available in
handsets such as the HTC Hero. The feature was originally disabled at the kernel
level (possibly to avoid infringing Apple's patents on touch-screen technology at
the time). Google has since released an update for the Nexus One and the
Motorola Droid which enables multi-touch natively.
 Bluetooth
o Supports A2DP, AVRCP, sending files (OPP), accessing the phone book (PBAP),
voice dialing and sending contacts between phones. Keyboard, mouse and
joystick (HID) support is available in Android 3.1+, and in earlier versions
through manufacturer customizations and third-party applications.
 Video calling
o Android does not support native video calling, but some handsets have a
customized version of the operating system that supports it, either via the UMTS
network (like the Samsung Galaxy S) or over IP. Video calling through Google
Talk is available in Android 2.3.4 and later. Gingerbread allows Nexus S to place
Internet calls with a SIP account. This allows for enhanced VoIP dialing to other
SIP accounts and even phone numbers. Skype 2.1 offers video calling in Android
2.3, including front camera support.
 Multitasking
o Multitasking of applications is available.
 Voice based features
o Google search through voice has been available since initial release. Voice actions
for calling, texting, navigation, etc. are supported on Android 2.2 onwards.
 Tethering
o Android supports tethering, which allows a phone to be used as a wireless/wired
Wi-Fi hotspot. Before Android 2.2 this was supported by third-party applications
or manufacturer customizations.
 Screen capture
o Android supports capturing a screenshot by pressing the power and volume-down
buttons at the same time. Prior to Android 4.0, the only methods of capturing a
screenshot were through manufacturer and third-party customizations or
otherwise by using a PC connection (DDMS developer's tool). These alternative
methods are still available with the latest Android.
 External storage
o Most Android devices include microSD slot and can read microSD cards
formatted with FAT32, Ext3fs or Ext4fs file system. To allow use of high-
capacity storage media such as USB flash drives and USB HDDs, many Android
tablets also include USB 'A' receptacle. Storage formatted with FAT32 is handled
by Linux Kernel VFAT driver, while 3rd party solutions are required to handle
other popular file systems such as NTFS, HFS Plus and exFAT.
4.3 Version history:

Android has seen a number of updates since its original release, each fixing bugs and adding
new features. Each version is named, in alphabetical order, after a dessert.

 Cupcake
 Donut
 Eclair
 Froyo
 Gingerbread
 Honeycomb
 3.1 Honeycomb, released in May 2011, added support for extra input devices, USB
host mode for transferring information directly from cameras and other devices, and
the Google Movies and Books apps.
 3.2 Honeycomb, released in July 2011, added optimization for a broader range of
screen sizes, new "zoom-to-fill" screen compatibility mode, loading media files
directly from SD card, and an extended screen support API. Huawei MediaPad is the
first 7 inch tablet to use this version.
 Ice Cream Sandwich
 Jelly Bean
 KitKat
 Lollipop
 Marshmallow
 Nougat
 Oreo
 Pie
 Android 10
Chapter 5

System Design

5.1 Architechture of System:


5.2 Working:
5.3 Test Cases:

Admin Test Cases:

TC_I Objectives Input Data Expected Accepted Statu


D Result Result s
TC_1 To Verify Username Incorrect username, It should Give Giving error Pass
and Password Field correct password and error username username
clicking login button does not exists does not exists
TC_2 To Verify Username Correct username, Admin should Admin is logged Pass
and Password Field password and clicking logged in and in and Dashboard
login button display is displayed
dashboard of
admin
TC_3 To verify working of Clicking on pending It should Display Displaying Pass
pending ASHA ASHA requests sub pending ASHA pending ASHA
requests sub module module requests requests

TC_4 To verify working of Clicking on Family It should Display Displaying Data Pass
Family survey sub survey sub module Data of family of family survey
module survey
TC_5 To verify working of Clicking on Total It should Display Displaying Data Pass
Total immunization immunization sub Data of of immunization
sub module module immunization
TC_6 To verify working of Clicking on Total It should display Displaying data Pass
Total Tuberculosis Tuberculosis patients data of of Tuberculosis
patients sub module sub module Tuberculosis patients
patients
TC_7 To verify working of Clicking on Total It should display Displaying Total Pass
Total Adolescent Adolescent girls sub Total Adolescent Adolescent girls
girls sub module module girls
TC_8 To verify working of Clicking on Total It should display Displaying Total Pass
Total Pregnant lady Pregnant lady sub Total Pregnant Pregnant lady
sub module module lady
TC_9 To verify working of Clicking on Total By It should display Displaying Total Pass
Total By birth low birth low weight Total By birth By birth low
weight badies sub badies sub module low weight weight badies
module badies girls
TC_10 To verify working of Clicking on Total It should display Displaying Total Pass
Total Birth and Birth and Death record Total Birth and Birth and Death
Death record sub sub module Death record record
module
TC_11 To verify working of Clicking on Total It should display Displaying Total Pass
Total Prerna Prerna prakalpa sub Total Prerna Prerna prakalpa
prakalpa sub module module prakalpa data. data.
TC_12 To verify working of Clicking on Admin It should display Displaying Pass
Admin Change Change Password sub Changing Changing
Password sub module password page password page
module

TC_13 To verify working of Clicking on Logout Admin should Admin is logged Pass
Logout get logged out out and
and display Displaying Login
Login page Page
ASHA worker Test Cases:

TC_I Objectives Input Data Expected Accepted Statu


D Result Result s
TC_1 To verify new ASHA Clicking on new It should display Displaying new Pass
worker link. ASHA worker new ASHA ASHA worker
link. worker registration form.
registration
form.
TC_2 To verify forget Clicking on forget It should display Displaying Pass
password link. password link. Forget password Forget password
page. page.
TC_3 To Verify Mobile No Incorrect Mobile It should Give Giving error Pass
and Password Field No, password and error invalid user invalid user
clicking login
button
TC_4 To Verify Username Correct username, ASHA should ASHA is logged Pass
and Password Field password and logged in and in and Dashboard
clicking login display is displayed
button dashboard
TC_5 To verify working of Clicking on It should Display Displaying Form Pass
Family survey sub Family survey Form of family of family survey
module sub module survey
TC_6 To verify working of Clicking on It should Display Displaying form Pass
immunization sub immunization sub form of of immunization
module module immunization
TC_7 To verify working of Clicking on It should display Displaying form Pass
Tuberculosis sub Tuberculosis sub Form of of Tuberculosis
module module Tuberculosis patients
patients
TC_8 To verify working of Clicking on It should display Displaying form Pass
Adolescent girls sub Adolescent girls form of of Adolescent
module sub module Adolescent girls girls
TC_9 To verify working of Clicking on It should display Displaying form Pass
Pregnant lady sub Pregnant lady sub form of Pregnant of Pregnant lady
module module lady
TC_10 To verify working of Clicking on By It should display Displaying form Pass
By birth low weight birth low weight form of By birth of By birth low
badies sub module badies sub low weight weight badies
module badies
TC_11 To verify working of Clicking on Birth It should display Displaying form Pass
Birth and Death and Death record form of Birth of Birth and
record sub module sub module and Death Death record.
record.
TC_12 To verify working of Clicking on It should display Displaying form Pass
Prerna prakalpa sub Prerna prakalpa form of Prerna of Prerna
module sub module prakalpa record. prakalpa.

TC_13 To verify working of Clicking on ASHA should ASHA is logged Pass


Logout icon Logout icon get logged out out and
and display Displaying Login
Login page Page
Chapter 6

Modules

There are two major modules in our projects as follows:

1. Admin Module (Website)


2. ASHA workers module (Android Application)

6.1 Module – 1:

Admin: (Block Facilitator):

Module 1 consists of Admin phase. We have developed a website for Admin Side. Role
of admin in this project plays Block Facilitator. Block Facilitators are the supervisors of ASHA
workers of their corresponding PHC’s. PHC stands for Primary Health Center. Primary Health
Centers are present all over the India for every 5000 to 10000 people. Primary Health Centers
have Block Facilitator who is the supervisors of ASHA workers. They monitor all the ASHA’s,
their work, their details like personal details, their performance, etc. Block Facilitator sees their
performance and according to that ASHA’s payments get sanctioned with the sign of Medical
Officer which is the in-charge of PHP i.e. Primary Health Center. So supervisor will have to be
disciplined and their work should be in proper way that’s why this website will help them to
control all the working of ASHA’s and also see their performance.

There are many sub-modules in Admin website:

1. Login Page: This page will contain the login of admin i.e. Block Facilitator. It will ask
username and password of admin for logging it and it will check the username and
password from database whether it is correct or not and after successful logging it will
redirect him or her to home page.
2. Home: This page will contain the homepage of the website. It will have all sections
being displayed to the admin whichever he wanted to choose he will go for it. He can
control all the details of ASHA’s from this website.
3. Block Facilitator Profile: This page will contain the profile of Block Facilitator. His
personal details, work details all of them. He can also modify it.
4. ASHA workers: This page will contain the all details of available all ASHA’s of their
area. Their personal as well as work details of ASHA’s. Also listing of all ASHA’s.
5. Approve and reject Requests: This will contain the new and pending requests of
ASHA’s new registration or old registration which had been deactivated. This will also
contain activate deactivate options so that any person cannot login or use android
application only ASHA’s can use it.
6. Admin Change Password: This will contain the password changing options. If
admin wants to change his or her password he can change it from this.
7. Pending ASHA requests: This will contain pending ASHA requests which has not
been activated or deactivated. Only admin can activate or deactivate them till then ASHA
cannot use the application.
8. Family Survey: This will contain and display the details of each and every family
details of their corresponding area. It will display family details which has done the
survey of it from ASHA.
9. Total Immunization: This will contain the details of baby immunization. All doses
and also their dates of each baby or child it will store. And also display it to admin.
10. Total Tuberculosis Details: This will contain the details of tuberculosis patients
present in their area and also their treatment details. Also their doses.
11. Pregnant Ladies: This will contain the detailed information of pregnant ladies also
their ante natal and post natal care details. Also contain the pre-delivery and post-delivery
and pre pregnancy and post pregnancy details.
12. Adolescent Girls: This will contain the detailed information of adolescent girls or
teenager girls. Whether they have been provided iron folic tablets and sanitary napkins
etc., their personal details also.
13. By birth low weight Babies: This will contain the information of low weight babies
from birth. It has their all details their treatments, doses, diet, follow ups, their weight
growth.
14. Birth and Death Records: This will contain the details of birth and death records of
people having in their area.
15. Prerna Prakalpa: This will contain the details of farmer which was filled by
ASHA’s. Their answers from the different-different questions and also the score from it
for their psychological pressure.

6.2 Module – 2

ASHA worker:

This is the second module of the project having an android application for ASHA’s which
stands for accredited social health activist. The application is having all facilities of working
which they used to do in registers or in write way or paper based. This app will reduce the
complexity of word also reduce the time and effort which they give in their work completion.
This will make ASHA’s very digital and provide them a platform from which they can do their
work very fast and in simple way.

This application is having many sub-modules:

1. Welcome Page: This will contain the welcome page and some instructions regarding
to the application when user first time install it these fragments get displayed. They give
them some brief information about how this app should be used. Next time while logging
these pages will not be displayed.

2. Login: This will contain the login details and page of ASHA’s. It will ask them to enter
mobile number and password which they have created while doing registration. If he she
is new she can click on new registration and register herself. After successful login it will
redirect the control on next page which will be home.

3. New Registration: This will contain ask ASHA to enter her details step by step to
register herself. After successful registration it will generate one request to the admin for
activating her. After that she can login and use the application.
4. Home: This will contain the homepage of the application which is having many options
or buttons for separate tasks. Whatever she wants to choose she can and do her work.

5. Family Survey: This will have multiple fields asking ASHA to enter detailed
information about the family of her area. It will store the entered data into the database so
the admin will be able to access it.

6. Immunization: This will contain the fields asking about immunization details of baby
and also baby details. It will store the details to the database.

7. Pregnant Lady: This will contain the two buttons inside it i.e. pre pregnancy details
and after pregnancy details. It will again contain the details of the lady of corresponding
subject.

8. Adolescent Girls: This will contain the fields regarding to the adolescent girls about
their sanitary napkins , iron folic tablets, personal details, etc.,

9. Tuberculosis: This will contain the details about tuberculosis patients, their details,
treatment details, etc., and it will store the filled data to the database.

10. By birth low Weight babies: This will contain the fields asking about the by birth
having low weight baby’s details, their treatments, their weight after particular periods,
etc., It will store it into database.

11. Birth and Death record: This will ask them to enter the birth and death records of
people. It will store it into database.

12. Prerna Prakalpa: This will have the fields of Prerna Prakalpa. It is the scheme
having detailed questions which has to be asked to the farmers of their area and according
to the score it will calculate their mind pressure of their financial condition. It will help
them to evaluate the suicide rate.
Chapter 7

System Implementation

7.1 Coding:

7.1.1 Admin Website Code:

index.php

<?php

require_once 'php_action/db_connect.php';

session_start();

if(isset($_SESSION['userId'])) {

header('location:http://localhost/asha/admin/dashboard.php');

$errors = array();

if($_POST) {

$username = $_POST['username'];

$password = md5($_POST['password']);

if(empty($username) || empty($password)) {

if($username == "") {

$errors[] = "Username is required";

if($password == "") {

$errors[] = "Password is required";


}

} else {

$sql = "SELECT * FROM admin WHERE Username = '$username'";

$result = $connect->query($sql);

if($result->num_rows == 1) {

// exists

$mainSql = "SELECT * FROM admin WHERE Username = '$username' AND Password


= '$password'";

$mainResult = $connect->query($mainSql);

if($mainResult->num_rows>0) {

$value = $mainResult->fetch_assoc();

$user_id = $value['ID'];

// set session

$_SESSION['userId'] = $user_id;

$_SESSION['alogin']=$username;

header('location: http://localhost/asha/admin/dashboard.php');

} else{

$errors[] = "Incorrect username/password combination";

} // /else

} else {
$errors[] = "Username doesnot exists";

} // /else

} // /else not empty username // password

} // /if $_POST

?>

<!DOCTYPE HTML>

<html>

<head>

<title>ASHA</title>

<!-- Favicon-->

<link rel="shortcut icon" type="image/x-icon" href="images/favicon.PNG" /><!-- <script


src="js/jquery-2.1.1.min.js"></script> -->

<meta name="viewport" content="width=device-width, initial-scale=1">

<script type="application/x-javascript"> addEventListener("load", function() {


setTimeout(hideURLbar, 0); }, false); function hideURLbar(){ window.scrollTo(0,1); }
</script>

<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->

<link href="css/bootstrap.css" rel="stylesheet" type="text/css" media="all">

<!-- Custom Theme files -->

<link href="css/style.css" rel="stylesheet" type="text/css" media="all"/>


<!--js-->

<script src="js/jquery-2.1.1.min.js"></script>

<!--icons-css-->

<link href="css/font-awesome.css" rel="stylesheet">

<!--Google Fonts-->

<link href='//fonts.googleapis.com/css?family=Carrois+Gothic' rel='stylesheet' type='text/css'>

<link href='//fonts.googleapis.com/css?family=Work+Sans:400,500,600' rel='stylesheet'


type='text/css'>

<!--static chart-->

</head>

<body>

<div class="container">

<div class="login-page">

<div class="panel panel-info">

<div class="panel-heading">

<h3 class="panel-title">Please Sign in</h3>

</div>

<div class="panel-body">

<div class="messages">

<?php if($errors) {

foreach ($errors as $key => $value) {


echo '<div class="alert alert-warning" role="alert">

<i class="fa fa-close"></i>

'.$value.'</div>';

} ?>

</div>

<form class="form-horizontal" action="<?php echo $_SERVER['PHP_SELF'] ?>"


method="post" id="loginForm">

<fieldset>

<div class="form-group">

<label for="username" class="col-sm-2 control-label">Username</label>

<div class="col-sm-10">

<input type="text" class="form-control" id="username"


name="username" placeholder="Username" autocomplete="off" />

</div>

</div>

<div class="form-group">

<label for="password" class="col-sm-2 control-label">Password</label>

<div class="col-sm-10">

<input type="password" class="form-control" id="password"


name="password" placeholder="Password" autocomplete="off" />

</div>
</div>

<div class="form-group">

<div class="col-sm-offset-2 col-sm-10">

<button type="submit" class="btn btn-default"> <i class="glyphicon


glyphicon-log-in"></i> Sign in</button>

</div>

</div>

</fieldset>

</form>

</div>

<!-- panel-body -->

</div>

<!-- /panel -->

<!-- /col-md-4 -->

</div>

</div>

<!-- container -->

</body>

<!--inner block end here-->

<!--copy rights start here-->

<!--scrolling js-->
<script src="js/jquery.nicescroll.js"></script>

<script src="js/scripts.js"></script>

<!--//scrolling js-->

<script src="js/bootstrap.js"> </script>

<!-- mother grid end here-->

</body>

</html>

dashboard.php:

<?php require_once 'php_action/core.php'; ?>

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="utf-8">

<meta http-equiv="X-UA-Compatible" content="IE=edge">

<meta name="viewport" content="width=device-width, initial-scale=1">

<title>ASHA | Dashboard</title>

<link rel="stylesheet" href="css/bootstrap.min.css" media="screen" >

<link rel="stylesheet" href="css/font-awesome.min.css" media="screen" >

<link rel="stylesheet" href="css/animate-css/animate.min.css" media="screen" >

<link rel="stylesheet" href="css/lobipanel/lobipanel.min.css" media="screen" >

<link rel="stylesheet" href="css/toastr/toastr.min.css" media="screen" >


<link rel="stylesheet" href="css/icheck/skins/line/blue.css" >

<link rel="stylesheet" href="css/icheck/skins/line/red.css" >

<link rel="stylesheet" href="css/icheck/skins/line/green.css" >

<link rel="stylesheet" href="css/main.css" media="screen" >

<script src="js/modernizr/modernizr.min.js"></script>

</head>

<body class="top-navbar-fixed">

<div class="main-wrapper">

<?php include('includes/topbar.php');?>

<div class="content-wrapper">

<div class="content-container">

<?php include('includes/leftbar.php');?>

<div class="main-page">

<div class="container-fluid">

<div class="row page-title-div">

<div class="col-sm-6">

<h2 class="title">Dashboard</h2>

</div>

<!-- /.col-sm-6 -->

</div>
<!-- /.row -->

</div>

<!-- /.container-fluid -->

<section class="section">

<div class="container-fluid">

<div class="row">

<div class="col-lg-3 col-md-3 col-sm-6 col-xs-12">

<a class="dashboard-stat bg-primary" href="approve-requests.php">

<?php $sql="select count(id) from asha_worker where


isactivated=0";

$result=$connect->query($sql);

$data=$result->fetch_assoc();

?>

<span class="number counter"><?php echo $data['count(id)'];


?></span>

<span class="name">Pending Asha Requests</span>

<span class="bg-icon"><i class="fa fa-users"></i></span>

</a>

<!-- /.dashboard-stat -->

</div>

<!-- /.col-lg-3 col-md-3 col-sm-6 col-xs-12 -->


<div class="col-lg-3 col-md-3 col-sm-6 col-xs-12">

<a class="dashboard-stat bg-success" href="family-survey-


details.php">

<?php $sql="select count(id) from family_survey";

$result=$connect->query($sql);

$data=$result->fetch_assoc();

?>

<span class="number counter"><?php echo $data['count(id)'];


?></span>

<span class="name">Family Survey</span>

<span class="bg-icon"><i class="fa fa-ticket"></i></span>

</a>

<!-- /.dashboard-stat -->

</div>

<!-- /.col-lg-3 col-md-3 col-sm-6 col-xs-12 -->

<div class="col-lg-3 col-md-3 col-sm-6 col-xs-12">

<a class="dashboard-stat bg-warning" href="vaccination.php">

<?php $sql="select count(id) from lasikaran";

$result=$connect->query($sql);

$data=$result->fetch_assoc();

?>
<span class="number counter"><?php echo $data['count(id)'];
?></span>

<span class="name">Total Lasikaran</span>

<span class="bg-icon"><i class="fa fa-ticket"></i></span>

</a>

<!-- /.dashboard-stat -->

</div>

<!-- /.col-lg-3 col-md-3 col-sm-6 col-xs-12 -->

<div class="col-lg-3 col-md-3 col-sm-6 col-xs-12">

<a class="dashboard-stat bg-danger" href="tuberculosis.php">

<?php $sql="select count(id) from shayrog";

$result=$connect->query($sql);

$data=$result->fetch_assoc();

?>

<span class="number counter"><?php echo $data['count(id)'];


?></span>

<span class="name">Total Shayrog Patients</span>

<span class="bg-icon"><i class="fa fa-ticket"></i></span>

</a>

<!-- /.dashboard-stat -->

</div>

<!-- /.col-lg-3 col-md-3 col-sm-6 col-xs-12 -->


</div>

<!-- /.row -->

</div>

<!-- /.container-fluid -->

<br>

<div class="container-fluid">

<div class="row">

<div class="col-lg-3 col-md-3 col-sm-6 col-xs-12">

<a class="dashboard-stat bg-primary" href="teenage.php">

<?php $sql="select count(id) from kishorvayin";

$result=$connect->query($sql);

$data=$result->fetch_assoc();

?>

<span class="number counter"><?php echo $data['count(id)'];


?></span>

<span class="name">Total Kishorvayin</span>

<span class="bg-icon"><i class="fa fa-users"></i></span>

</a>

<!-- /.dashboard-stat -->

</div>

<!-- /.col-lg-3 col-md-3 col-sm-6 col-xs-12 -->


<div class="col-lg-3 col-md-3 col-sm-6 col-xs-12">

<a class="dashboard-stat bg-success" href="before-delievery.php">

<?php $sql="select count(id) from garodarmata_1";

$result=$connect->query($sql);

$data=$result->fetch_assoc();

?>

<span class="number counter"><?php echo $data['count(id)'];


?></span>

<span class="name">Total prasuti purva</span>

<span class="bg-icon"><i class="fa fa-ticket"></i></span>

</a>

<!-- /.dashboard-stat -->

</div>

<!-- /.col-lg-3 col-md-3 col-sm-6 col-xs-12 -->

<div class="col-lg-3 col-md-3 col-sm-6 col-xs-12">

<a class="dashboard-stat bg-warning" href="after-delievery.php">

<?php $sql="select count(id) from garodarmata_2";

$result=$connect->query($sql);

$data=$result->fetch_assoc();

?>

<span class="number counter"><?php echo $data['count(id)'];


?></span>
<span class="name">Total prasuti nantar</span>

<span class="bg-icon"><i class="fa fa-ticket"></i></span>

</a>

<!-- /.dashboard-stat -->

</div>

<!-- /.col-lg-3 col-md-3 col-sm-6 col-xs-12 -->

<div class="col-lg-3 col-md-3 col-sm-6 col-xs-12">

<a class="dashboard-stat bg-danger" href="prerna-prakalp-1.php">

<?php $sql="select count(id) from prerna_prakalp_1";

$result=$connect->query($sql);

$data=$result->fetch_assoc();

?>

<span class="number counter"><?php echo $data['count(id)'];


?></span>

<span class="name">Total Prerna Prakalp 1</span>

<span class="bg-icon"><i class="fa fa-ticket"></i></span>

</a>

<!-- /.dashboard-stat -->

</div>

<!-- /.col-lg-3 col-md-3 col-sm-6 col-xs-12 -->

</div>
<!-- /.row -->

</div>

<!-- /.container-fluid -->

<br>

<div class="container-fluid">

<div class="row">

<div class="col-lg-3 col-md-3 col-sm-6 col-xs-12">

<a class="dashboard-stat bg-primary" href="prerna-prakalp-2.php">

<?php $sql="select count(id) from prerna_prakalp_2";

$result=$connect->query($sql);

$data=$result->fetch_assoc();

?>

<span class="number counter"><?php echo $data['count(id)'];


?></span>

<span class="name">Total prerna prakalp 2</span>

<span class="bg-icon"><i class="fa fa-users"></i></span>

</a>

<!-- /.dashboard-stat -->

</div>

</div>
<!-- /.row -->

</div>

</section>

<!-- /.section -->

</div>

<!-- /.main-page -->

</div>

<!-- /.content-container -->

</div>

<!-- /.content-wrapper -->

</div>

<!-- /.main-wrapper -->

<!-- ========== COMMON JS FILES ========== -->

<script src="js/jquery/jquery-2.2.4.min.js"></script>

<script src="js/jquery-ui/jquery-ui.min.js"></script>

<script src="js/bootstrap/bootstrap.min.js"></script>

<script src="js/pace/pace.min.js"></script>

<script src="js/lobipanel/lobipanel.min.js"></script>
<script src="js/iscroll/iscroll.js"></script>

<!-- ========== PAGE JS FILES ========== -->

<script src="js/prism/prism.js"></script>

<script src="js/waypoint/waypoints.min.js"></script>

<script src="js/counterUp/jquery.counterup.min.js"></script>

<script src="js/amcharts/amcharts.js"></script>

<script src="js/amcharts/serial.js"></script>

<script src="js/amcharts/plugins/export/export.min.js"></script>

<link rel="stylesheet" href="js/amcharts/plugins/export/export.css" type="text/css"


media="all" />

<script src="js/amcharts/themes/light.js"></script>

<script src="js/toastr/toastr.min.js"></script>

<script src="js/icheck/icheck.min.js"></script>

<!-- ========== THEME JS ========== -->

<script src="js/main.js"></script>

<script src="js/production-chart.js"></script>

<script src="js/traffic-chart.js"></script>

<script src="js/task-list.js"></script>

<script>

$(function(){

// Counter for dashboard stats


$('.counter').counterUp({

delay: 10,

time: 1000

});

// Welcome notification

toastr.options = {

"closeButton": true,

"debug": false,

"newestOnTop": false,

"progressBar": false,

"positionClass": "toast-top-right",

"preventDuplicates": false,

"onclick": null,

"showDuration": "300",

"hideDuration": "1000",

"timeOut": "5000",

"extendedTimeOut": "1000",

"showEasing": "swing",

"hideEasing": "linear",

"showMethod": "fadeIn",

"hideMethod": "fadeOut"
}

toastr["success"]( "Welcome Admin!");

});

</script>

</body>

</html>

7.1.2 Android Application Coding:

ActivityRegister.java:

package com.asha.activities;

import android.app.Activity;

import android.app.AlertDialog;

import android.app.ProgressDialog;

import android.content.DialogInterface;

import android.content.Intent;

import android.content.pm.PackageManager;

import android.graphics.Bitmap;

import android.net.Uri;

import android.os.Bundle;

import android.os.Environment;

import android.provider.MediaStore;

import android.support.v7.app.AppCompatActivity;
import android.util.Log;

import android.view.View;

import android.widget.Button;

import android.widget.EditText;

import android.widget.ImageView;

import android.widget.Toast;

import com.android.volley.DefaultRetryPolicy;

import com.android.volley.Request;

import com.android.volley.RequestQueue;

import com.android.volley.Response;

import com.android.volley.RetryPolicy;

import com.android.volley.VolleyError;

import com.android.volley.toolbox.StringRequest;

import com.android.volley.toolbox.Volley;

import com.asha.R;

import com.asha.utilities.Base64;

import com.asha.utilities.Config;

import com.asha.utilities.Utility;

import org.json.JSONException;

import org.json.JSONObject;
import java.io.ByteArrayOutputStream;

import java.io.File;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import java.util.HashMap;

import java.util.Map;

public class ActivityRegister extends AppCompatActivity {

Button bregister, btakephoto;

private static final int CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE = 1888;

int REQUEST_CAMERA = 0, SELECT_FILE = 1;

String userChoosenTask, img = "", imagename = "";

ImageView ivuserimage;

Bitmap thumbnail;

String name, mbno, address, village, taluka, password, repassword;

EditText etname, etmbno, etaddress, etvillage, ettaluka, etpassword, etreconfirmpassword;

private ProgressDialog mProgress;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_register);
ivuserimage = (ImageView) findViewById(R.id.ivuser);

mProgress = new ProgressDialog(ActivityRegister.this);

mProgress.setTitle("Processing...");

mProgress.setMessage("Please wait...");

mProgress.setCancelable(false);

mProgress.setIndeterminate(true);

etname = findViewById(R.id.etname);

etmbno = findViewById(R.id.etmbno);

etaddress = findViewById(R.id.etaddress);

etvillage = findViewById(R.id.etvillage);

ettaluka = findViewById(R.id.ettaluka);

etpassword = findViewById(R.id.etpassword);

etreconfirmpassword = findViewById(R.id.etreconfirmpassword);

btakephoto = findViewById(R.id.baddphoto);

bregister = findViewById(R.id.bregister);

bregister.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

name = etname.getText().toString();

mbno = etmbno.getText().toString();

address = etaddress.getText().toString();
village = etvillage.getText().toString();

taluka = ettaluka.getText().toString();

password = etpassword.getText().toString();

repassword = etreconfirmpassword.getText().toString();

if (name.equals(""))

etname.setError("Enter Name");

else if (mbno.equals(""))

etmbno.setError("Enter Mobile No");

else if (address.equals(""))

etaddress.setError("Enter address");

else if (village.equals(""))

etvillage.setError("Enter Village");

else if (taluka.equals(""))

ettaluka.setError("Enter Taluka");

else if (password.equals(""))

etpassword.setError("Enter Password");

else if (repassword.equals(""))

etreconfirmpassword.setError("Enter Reconfirm Password");

else if (!(password.equals(repassword)))

showAlertBox("Error", "Password does not match");

else if (imagename.equals(""))
showAlertBox("Error", "Please Upload image");

else {

registerData();

});

btakephoto.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

selectImage();

});

public void selectImage() {

final CharSequence[] items = {"Take Photo", "Choose from Library",

"Cancel"};

AlertDialog.Builder builder = new AlertDialog.Builder(ActivityRegister.this);

builder.setTitle("Add Photo!");

builder.setItems(items, new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int item) {


boolean result = Utility.checkPermission(ActivityRegister.this);

if (items[item].equals("Take Photo")) {

userChoosenTask = "Take Photo";

if (result)

cameraIntent();

} else if (items[item].equals("Choose from Library")) {

userChoosenTask = "Choose from Library";

if (result)

galleryIntent();

} else if (items[item].equals("Cancel")) {

dialog.dismiss();

});

builder.show();

public void registerData() {

mProgress.show();

StringRequest stringRequest = new StringRequest(Request.Method.POST,


Config.URL_REGISTER,
new Response.Listener<String>() {

@Override

public void onResponse(String response) {

try {

mProgress.dismiss();

JSONObject json = new JSONObject(response);

if (json.getString("success").equals("true")) {

showAlertBox(json.getString("success"), json.getString("message"));

} else if (json.getString("success").equals("false")) {

showAlertBox(json.getString("success"), json.getString("message"));

} catch (JSONException e) {

e.printStackTrace();

},

new Response.ErrorListener() {

@Override

public void onErrorResponse(VolleyError error) {

error.printStackTrace();
Toast.makeText(ActivityRegister.this, error.toString(),
Toast.LENGTH_LONG).show();

mProgress.dismiss();

}) {

@Override

protected Map<String, String> getParams() {

Map<String, String> params = new HashMap<String, String>();

params.put("name", name);

params.put("mbno", mbno);

params.put("address", address);

params.put("village", village);

params.put("taluka", taluka);

params.put("profilepic", img);

params.put("imagename", imagename);

params.put("password", password);

return params;

};

RequestQueue requestQueue = Volley.newRequestQueue(this);

int socketTimeout = 20000;//20 seconds - change to what you want


RetryPolicy policy = new DefaultRetryPolicy(socketTimeout,
DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT);

stringRequest.setRetryPolicy(policy);

requestQueue.add(stringRequest);

@Override

public void onRequestPermissionsResult(int requestCode, String[] permissions, int[]


grantResults) {

switch (requestCode) {

case Utility.MY_PERMISSIONS_REQUEST_READ_EXTERNAL_STORAGE:

if (grantResults.length > 0 && grantResults[0] ==


PackageManager.PERMISSION_GRANTED) {

if (userChoosenTask.equals("Take Photo"))

cameraIntent();

else if (userChoosenTask.equals("Choose from Library"))

galleryIntent();

} else {

//code for deny

break;

}
}

private void showAlertBox(final String s, String msg) {

AlertDialog.Builder alert = new AlertDialog.Builder(ActivityRegister.this);

alert.setMessage(msg);

if (s.equals("true"))

alert.setTitle(R.string.congrats);

else if (s.equals("false"))

alert.setTitle(R.string.error);

else if (s.equals("Error"))

alert.setTitle("Error");

alert.setCancelable(false);

alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialogInterface, int i) {

if (s.equals("true")) {

startActivity(new Intent(ActivityRegister.this, LoginActivity.class));

} else if (s.equals("false")) {

dialogInterface.dismiss();

});
alert.create().show();

private void galleryIntent() {

Intent intent = new Intent();

intent.setType("image/*");

intent.setAction(Intent.ACTION_GET_CONTENT);//

startActivityForResult(Intent.createChooser(intent, "Select File"), SELECT_FILE);

private void cameraIntent() {

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

startActivityForResult(intent, REQUEST_CAMERA);

@Override

public void onActivityResult(int requestCode, int resultCode, Intent data) {

super.onActivityResult(requestCode, resultCode, data);

if (resultCode == Activity.RESULT_OK) {

if (requestCode == SELECT_FILE) {

Uri selectedImageUri = data.getData();

onSelectFromGalleryResult(data);

} else if (requestCode == REQUEST_CAMERA)

onCaptureImageResult(data);
}

private void onCaptureImageResult(Intent data) {

thumbnail = (Bitmap) data.getExtras().get("data");

ByteArrayOutputStream bytes = new ByteArrayOutputStream();

thumbnail.compress(Bitmap.CompressFormat.JPEG, 90, bytes);

File destination = new File(Environment.getExternalStorageDirectory(),

System.currentTimeMillis() + ".jpg");

imagename = destination.getName();

Log.d("Name of image", imagename);

FileOutputStream fo;

try {

destination.createNewFile();

fo = new FileOutputStream(destination);

fo.write(bytes.toByteArray());

fo.close();

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}
ivuserimage.setImageBitmap(thumbnail);

img = convertBitmapToString(thumbnail);

Log.d("Img in String------", img);

public String convertBitmapToString(Bitmap bmp) {

ByteArrayOutputStream stream = new ByteArrayOutputStream();

bmp.compress(Bitmap.CompressFormat.PNG, 90, stream); //compress to which format you


want.

byte[] byte_arr = stream.toByteArray();

String imageStr = Base64.encodeBytes(byte_arr);

Log.d("Image in String------", imageStr);

return imageStr;

@SuppressWarnings("deprecation")

private void onSelectFromGalleryResult(Intent data) {

if (data != null) {

try {

thumbnail =
MediaStore.Images.Media.getBitmap(getApplicationContext().getContentResolver(),
data.getData());

imagename = data.getData().getLastPathSegment() + ".jpg";

} catch (IOException e) {
e.printStackTrace();

ivuserimage.setImageBitmap(thumbnail);

img = convertBitmapToString(thumbnail);

7.2 Result:

Screenshots of Website:
Screenshots of Database:
Screenshots of Android Application:
Chapter 8

Software Testing

Testing is the process of evaluating a system or its component(s) with the intent to find
whether it satisfies the specified requirements or not.

Testing is executing a system in order to identify any gaps, errors, or missing


requirements in contrary to the actual requirements.

Why to Learn Software Testing?

In the IT industry, large companies have a team with responsibilities to evaluate the
developed software in context of the given requirements. Moreover, developers also conduct
testing which is called Unit Testing. In most cases, the following professionals are involved in
testing a system within their respective capacities −

 Software Tester

 Software Developer

 Project Lead/Manager

 End User

Different companies have different designations for people who test the software on the
basis of their experience and knowledge such as Software Tester, Software Quality Assurance
Engineer, QA Analyst, etc.

Applications of Software Testing:

 Cost Effective Development - Early testing saves both time and cost in many aspects,
however reducing the cost without testing may result in improper design of a software
application rendering the product useless.

 Product Improvement - During the SDLC phases, testing is never a time-consuming


process. However diagnosing and fixing the errors identified during proper testing is a
time-consuming but productive activity.
 Test Automation - Test Automation reduces the testing time, but it is not possible to
start test automation at any time during software development. Test automaton should be
started when the software has been manually tested and is stable to some extent.
Moreover, test automation can never be used if requirements keep changing.

 Quality Check - Software testing helps in determining following set of properties of any
software such as

o Functionality

o Reliability

o Usability

o Efficiency

o Maintainability

o Portability

Types of Software Testing

Typically Testing is classified into three categories.


Chapter 9

Advantages

 Improves frontline workers’ ability to communicate with the communities they serve and
pull/push information to/from their support networks
 Remains open for customizations needed to respond to the evolving needs of frontline
workers, communities, and government officials
 Offers flexibility due to its modular design and IntraHealth’s deployment approach
 Helps improve relevant health outcomes and is compatible with metrics health surveys
regularly track
 Helps ASHAs to store and maintain their records regarding people, their health issues etc.
 Helps them to communicate with the Block Facilitator for their updates.
 Improves ability of ASHA’s regarding their work and provides flexibility to their work.
 Provides various pages with partitions regarding to ASHA’s responsibilities.
 Reduces more time and effort of ASHA workers.
Chapter 10

System Requirements

10.1 Software Requirements:

 Operating System : Windows 8

 User Interface : HTML, CSS, XML, Bootstrap

 Client-side scripting : JavaScript

 Server-side scripting : PHP

 Programming : Java

 Database : MySQL

 IDE : Android Studio

 Tool : XAMPP

10.2 Hardware Requirements:

 Processor : i3

 Hard Disk : 50 GB

 RAM : 4 GB

 Android Device
Chapter 11

Conclusion

A Digital Step for ASHA – National Rural Health Mission is an android application
which provides simple visual way and three basic languages to an application for ASHAs for
their convenience. Real-time data sharing by ASHAs to the HWC will bring in a sea change into
the healthcare delivery system and it is essential. There are various innovative mobile
technologies used in different states and ASHAs are trained to use them. ASHA workers are the
connecting link between the community and primary healthcare and have a significant role to
improve overall community health outcomes.so it’s important to provide them a facility of
digitalization. So that it will be easy for them to store and get notified about their data and work.

Compared with existing paper-based job aids, our application is a more user-friendly and
effective ASHA job aid for a range of activities, including self-learning, counseling, and
newborn assessment. Mobile applications may be an important tool to support ASHAs in
improving maternal and newborn health outcomes
Chapter 12

Bibliography

12.1 References:
 https://www.expresshealthcare.in/healthcare-it/a-digital-disruption-for-asha-workers

 https://nhm.gov.in/index1.php

 https://www.omicsonline.org/open-access/role-of-accredited-social-health-activists-

ashas-in-the-improvement-ofhealth-status-of-villagers-under-nrhm-in-kolhapur-district-

m-2161-0711-1000416.php?aid=72569

12.2 Books:
 ASHA Swayamsevika Yojana.
 Prerna Prakalp – Sarvekshan Ahawal
 PMMVY (Pradhanmantri Matruvandan Yojana) form
 HBNC (Home Based Neonatal Care) form
 Tally Sheet for Leprosy Patients
 ASHA interview form

You might also like