Name
Based Info
rmation Tracking System (CBITS)
Aims or Objective of N
BITS:
N
BITS is a generic system which aims to provide information of different health services
at the individual level, by monitoring all the encounters that an individual undergo
es
in
his/her health program. This system aims to help the service provider (health worker or
doctor) by categorizing various health
services
the
individual person has to get and
his/her due dates and missed services.
In this way,
the health provider can
organi
ze
their
outreach services better. The
individual health services information is then aggregated
based on the facility providing services
. T
his system aim to provide a generic effective
monitoring of differen
t health services and drill down to individual p
atient information.
N
BITS is
based on the free and open source software
and is a module within the
District
Health
Information Software2 (DHIS2). DHIS2
is a
tool for collection, validation,
analysis, and presentation of aggregate (statistical) data, tail
ored (but not limited) to
integrated health information management activities.
DHIS2
is a generic tool rather than
a pre
-
configured database application, with an open meta
-
data model and a flexible user
interface that allows the user to design the contents
of a specific information system
without the need for programming. DHIS 2 is a modular web
-
based software package
based on free and open source Java frameworks such a
s Spring, Hibernate and
WebWork. DHIS2 has three
-
layer architecture.
The presentation lay
er is web
-
based, and
the system can be used online as well as stand
-
alone.
Technical Requirements
:
The DHIS 2
and N
BITS are
intended to be installed and run on a variety of platforms.
Hence the system is designed for industry standards regarding databa
se management
systems and application servers. The system should be extensible and modular in order to
allow for third
-
party and peripheral development efforts. Hence a pluggable architecture
is needed. The technical requirements are:
Ability to run on any
major database management system
Ability to run on any J2EE compatible servlet container
Extensibility and modularity in order to address local functional requirements
Ability to run online/on the web
Flexible data model to allow for a variety of data cap
ture requirements
Frameworks stack
The following frameworks
that
are used in the
N
BITS
and DHIS2
for application and
development:
I.
Application Framework
:
Hibernate (
www.hibernate.org
): Hibernate is a persistance f
ramework for Java
objects. It abstracts away an underlying database and maps POJOs to specific
tables. Hibernate supports standard CRUD operations and has powerful querying
facilities.DHIS 2 uses Hibernate to become database independent and in order to
mak
e the Java code cleaner with regard to persistence. All the model objects in
DHIS 2 are POJOs, and persistence is handled by a set of stores (for example
DataStore) with Hibernate implementations (HibernateDataStore). Using
Hibernate in DHIS 2 is simple: J
ust include a dependency to dhis
-
support
-
hibernate in your project. POJOs are mapped to tables in various hibernate
mapping files (e.g. DataValue.hbm.xml), where one can choose to specify table
and column names and types.
Spring (
www.springframework.org
):
Spring is a lightweight container. In DHIS 2
it is used to wire classes together.
Typically it is used to select
which
implementation of an interface to use in different classes. The wiring is
externalized int
o special beans.xml files, which enable
s
the
rewir
ing of
the entire
system without having to recompile any classes. When the system starts, the
configuration files are read by Spring which then creates different objects and
wire
s
them together using public
set methods.
WebWork (
www.opensymphony.com/webwork
)
& Velocity
(
velocity.apache.org
):
WebWork is a framework for making web GUIs. The
default GUI implementa
tion in DHIS 2 is a web implementation. WebWork maps
specific URLs to Action classes, which prepare data for display on a web page.
The resulting data is rendered by Velocity templates, which offers a simple syntax
for referring to variables, loops, macros
and the like. This way the presentation
logic is completely separated from the system, and the actual views are organized
in the Velocity templates.
Commons (
commons.apache.org
)
JfreeChart (
www.jfree.org/jfreechart/
)
JUnit (
www.junit.org
)
:
JUnit is used to provide unit tests. JUnit is integrated
directly into the Maven build tool, so all unit tests are r
un as part of the bu
ild
process
II.
Development Framework
Maven (
apache.maven.org
)
Bazaar (
bazaar
-
vcs.org
)
Person Object
: is designed for recording all individual
who are in the
healt
program
(
such as ANC or Immunization)
in that health facility. The Person object contains
primary information about the person for example first, middle and last name, date of
birth and gender. Any individual who want to get health services have to register in
pers
on registration before entering in to any health program. Even when
a
child is born,
the particular
child has to be registered in the person registration and its secondary
attribute can be inherited from the mother.
Person Attribute Object:
this object i
s used for defining attributes of registered person.
User
can define any number of person
attribute
s
required
in a particular district,
state or
country. The person attribute can be of type text, number, yes/no or date&time. User ca
n
also specify whe
ther a
ny or all person attribute
s are
compulsory or not.
Person Attribute Value Object:
this object stores all the values of individual’s attribute
information. The combination of person and person attribute object act as a primary and
unique key to record ind
ividual’s attribute information.
Thus one person can have one
value for one person attribute.
Person Identifier Object:
This object stores all the unique identifier
of individual
. A
person can have single or multiple identifiers such as passport number, P
AN number,
Driving license, UUID, etc. this object also contain what is the preferred identifier
used at
different country.
UUID can be one of the identifier that would be stored for each
individual.
Identifier Type
O
bject:
this object contains informati
on about identifier, its description,
format and validation if any.
Program Object:
this object contain information about various health program like
mother care, child health, TB, Leprosy, etc and its duration of the health program. For
example Mother
care start from the stage of pregnant women to delivery and her
postnatal care. The duration of whole cycle is 10 to 11 months. A person object can have
one or more health program
s
assigned
to him
/her
but same program object can’t be
assigned twice to same
person for
the
same duration
.
Program Object is
also
be
assigned
to
health facilities which provide
s those
services. For example: Not all the health service
s
or program will be
provided by all health facilities
.
Program Stage Object
:
A program object ca
n have multiple stages which need follow
-
up
by health services provider. For example: Mother care program can be divided in to ANC
registration stage, ANC 1
st
, 2
nd
and 3
rd
visit stage, delivery stage and post natal care stage.
These stages have particular
o
rder in the health program. Each
program stage has
minimum number of waiting period from the star
t
of
the
program. For example: delivery
program stage has
a
minimum numbe
r of waiting period as 9 months from the start of
mother care program.
Program Ins
tance Object
:
This object stores
the relationship between person object and
program object. Program object specifies the duration of the health program and the
program instance object stores the actual date when a person is enrolled in that program.
Every
time we enroll a Person to a Health Program, a tracking means is provided by
creating a Program Instance which is going to keep the life cycle of a Program for the
Person who triggered the Program. When a Person finishes treatment for a given Health
Progr
am, then the corresponding Program Instance is going to be terminated. A Program
Instance could also be terminated due to drop
-
out
-
a Person might not do a successful
program termination.
Program Stage Instance Object:
T
his object stores various program s
tages, its due date
and its execution date
for particular person object
. This object provides the information
about various health program stage due for
a
particular person. This would help the
health service provider to
plan her outreach activity plan.
Person data value Object:
This object stores all the data values recorded for particular
person, and his/her health services (data element) value (BP, Pulse, hemoglobin, etc),
assigned health facility and whe
ther the health services were provided at repor
ted health
facility
or not (this is used for aggregating data value
s
for that health facility) .
Organization Unit Object
: In DHIS 2
,
an organization unit represents any clinic,
hospital, province administrative office, national health institution or
similar which can
register and report data.
Organization
units are
organized
in a hierarchy with a parent and
a set of children. Each
organization
unit is identified by a name and possibly an
organization
unit code.
Organization units may be
moved around i
n the hierarchy, for
example when
a
province or district borders change
or when new district
s
are created
some of the health facility reporting order changes to
the
new district created
. They can
be removed, for example when the actual
organization
unit is
closed. Instead of removing
an
organization
unit in the system, however, one would simply chose to mark it as closed.
This way it's history and data can be retained.
Organization
units may be grouped into
logical groups, for example all
organization units
which provide same health service or
type can be group
ed
as one.
Data element Object:
Data element refers to that which one can register data for. For
example, when counting the number of TB vacc
inated patients in a district,
N
umber of
TB vaccinated pat
ients, Date of examination, ANC blood pressure, ANC VDRL test
would be a data element. The data element defines what kind of data may be registered,
a
number, a line of text
, date and time
or a yes/no selection. In the system
,
this corresponds
to an intege
r, a String
, date
or a boolean value. This means that Data
Value objects which
refer to this data element, must have data on the same type.
Enter the password to open this PDF file:
File name:
-
File size:
-
Title:
-
Author:
-
Subject:
-
Keywords:
-
Creation Date:
-
Modification Date:
-
Creator:
-
PDF Producer:
-
PDF Version:
-
Page Count:
-
Preparing document for printing…
0%
Σχόλια 0
Συνδεθείτε για να κοινοποιήσετε σχόλιο