eCHIS Software Design and Specification FINAL 1
eCHIS Software Design and Specification FINAL 1
DIVISION OF COMMUNITY
HEALTH SERVICES
“AFYA YETU, JUKUMU LETU”
@2021 Government of Kenya
This publication is a Ministry of Health document.
Suggested Citation:
Ministry of Health, Division of Community Health
Services, Republic of Kenya. (2021). Software
Requirements and Design Specifications for the
Kenya National Electronic Health Community
System (eCHIS) Nairobi, Kenya.
Government of Kenya.
Table Of Contents
Foreword iv
Acknowledgment v
List of Abbreviations vi
1. Introduction 1
1.1 Purpose 1
1.2 Scope 1
1.3 Target Audience 1
2. Overall Description 2
2.1 Architecture 2
2.2 User Classes and Characteristics 3
2.2.1 Client 3
2.2.2 Community Health Volunteer (CHV) 4
2.2.3 Community Health Assistant (CHA) 4
2.2.4 Community Health Focal Person (CHFP) 4
2.2.5 Health Records and Information Officer (HRIO) 4
2.2.6 Healthcare Provider 5
2.2.7 Healthcare Manager 5
2.2.8 System Administrator 5
2.3 Functions 5
2.4 Operating Environment 6
2.5 Assumptions and Dependencies 6
3. External Interface Requirements 7
4. System Features 8
4.1 Transactional Features 9
4.1.1 Household Enrolment 9
4.1.2 Service Delivery 13
4.1.3 Commodity Management 17
4.1.4 Client Referral 21
4.1.5 Surveillance 22
4.1.6 Messaging 25
4.2 Reporting Features 26
4.2.1 Case-based Reports 27
4.2.2 Aggregate Reports 28
4.3 System Administration 30
4.3.1 User Management 30
/i
5. Non-functional Requirements 33
Appendix 1: eCHIS Software Design Specification - April 2021
1. Introduction 39
1.1 Background. 39
1.2 Objectives 39
1.3 Context 39
1.4 Constraints 41
1.5 Dependencies 42
1.5.1. Client Registry 42
1.5.2. CHW Registry 42
1.5.3. Interoperability Platform 42
2. eCHIS Enhancements 44
2.1 Client Referral 44
2.2 Commodity Supply Chain 44
3. eCHIS-DHP Interoperability 45
3.1 Introduction 45
3.1.1 Foundational Interoperability 45
3.1.2 Structural Interoperability 45
3.1.3 Semantic Interoperability 45
3.2 Interoperability for Client Referra 46
3.2.1 Community to Health Facility Referral 46
3.2.2 Health Facility to Community Referral 50
3.3 Interoperability for Commodity Supply Chain Management 52
3.3.1 Description 52
3.3.2 Workflow 52
3.3.3 Data structures 54
3.3.4 APIs 55
3.4 Community-Based Surveillance 55
3.4.1 Description 55
3.4.2 Workflow 55
Annexes: eCHIS In-Depth Evaluation Report - March 2021
1. Introduction 58
2. Methodology 59
3. Results and Discussion 61
ii /
4. Limitations
65
5. Recommendations 66
6. Annexes 67
List of Contributors
86
/ iii
Foreword
The Ministry of Health (MOH) is committed to the digitization of health care
across all Kenya Essential Package for Health (KEPH) levels. This includes Level
1 which is realized through frontline Community Health Volunteers (CHVs)
at the household level. The journey of adopting the electronic Community
Health Information System (eCHIS) began with the development of a National
Community Health Digitization Strategy (Phase I). Phase II of the process is
focused on designing, developing, testing and piloting the eCHIS prototype in
selected counties. Towards this end, this Software Requirements Specification
(SRS) document was developed through a consultative process involving the
MOH and its development partners as well as the supporting technical experts.
The SRS serves as a catalogue of the features and functionality expected to be
offered by the eCHIS. It also provides a framework for conducting an in-depth
technical review of existing digital solutions for community health. This will help
the MOH to identify the “shortest path to success” towards the achievement of
digitization for community health.
This SRS covers the overall eCHIS architecture and how it fits within the Health
Information System ecosystem in Kenya. It also identifies and describes the
intended users of the eCHIS along with their unique needs and characteristics.
In addition, this SRS covers specific system functionalities including
household enrolment, service delivery, commodity supply chain management,
community based disease surveillance, client messaging, data reporting and
user management. Lastly, the SRS articulates the expected non-functional
requirements for the eCHIS.
______________________ _____________________
Dr. Salim Hussein Dr. Joseph Sitienei
Head, Department of Primary Ag. Director, Directorate of Health
Health Care Policy, Research Monitoring and Evaluation
iv /
Acknowledgment
The eCHIS Software Requirements and Design Specifications document was
developed through broad stakeholder engagement that included the Ministry
of Health and its partners at both the national and county levels. Consultations
were conducted through virtual and in-person meetings, as well as focused
workshops aimed at maximising the healthy exchange of ideas towards the
technical design of the eCHIS. This participatory process was guided through
the leadership of the Ministry of Health, spearheaded by Dr. Joseph Sitienei,
Dr. Salim Hussein, Dr. Maureen Kimani, and Mr. John Wanyungu. Special thanks
also go to the officers in the Divisions of Community Health Services, Health
Informatics and Information Communication Technology among others for their
invaluable contribution towards this document. Gratitude is also extended to
partner organizations who contributed their financial and technical support
towards the process including Living Goods, Medic Mobile, AMREF, Lwala and
InSupply among others.
______________________
Dr. Maureen Kimani
Head, Division of Community Health
/v
List Of Abbreviations
Abbreviation Meaning
CR Client Registry
vi /
Abbreviations continued...
Abbreviation Meaning
/ vii
1. Introduction
1.1 Purpose
This document specifies both the functional and non-functional requirements
for the electronic Community Health Information System (eCHIS). The eCHIS is
a digital health intervention for community health that is expected to improve
the quality of community health services by; increasing efficiency, enhancing
program management and driving evidence-based decision-making through
timely and accurate data. In turn, this will contribute towards reduced morbidity
and mortality, better health outcomes and ultimately a healthier and more
productive population.
1.2 Scope
The eCHIS is envisaged as a digital health information system for the collection,
storage, processing, analysis, integration and security of community health data
in Kenya. It is intended to cover the entire continuum of KEPH Level 1 services.
These include household enrolment, service delivery, client referral, supply
chain management, community-based surveillance, client messaging, and
reporting at the community, sub-national and national levels. It also includes
interoperability with other digital systems used for health and other kinds of
information management in the country such as the National Integrated Identity
Management System (NIIMS), the Digital Health Platform (DHP), Logistics
Information Management System (LIMS), the Master Community Health Unit
List (MCHUL), the District Health Information System (DHIS), among others.
CLIENT REGISTRY
DHP ( )
The eCHIS is depicted in red in the middle of the diagram above. The blue boxes
inside the eCHIS represent the core functionalities provided by the system
which include household enrolment, service delivery, client referral, supply chain
management and community based surveillance. As illustrated, community
health service is concerned with health promotion and preventive healthcare,
Clients interact with the eCHIS through CHVs who visit households and collect
information from household members through a mobile application. Household
members can also interact with the eCHIS through messages sent directly to
their phones. CHAs may also interact with households as part of their supervisory
and mentorship activities in the field. On their part, CHFPs, HRIOs and Health
Managers interact with the eCHIS primarily to access reports and analytics
through a web interface.
The boxes above and to the right of the eCHIS represent other applications
that the eCHIS interoperates with through the Interoperability Platform. The
Interoperability Platform is a general purpose health data interoperability engine
that is responsible for facilitating information exchange between various HIS.
The box to the right of the eCHIS represents a link health facility running the
DHP. The DHP provides, among other features, an EMR and a Stock Management
module at the health facility level. The eCHIS interfaces with the DHP to
facilitate upward and downward client referral, as well as commodity supply
chain management for commodities issued to CHAs for onward transmission to
CHVs. At the national level, the eCHIS is expected to have linkages with the CR
for identity resolution, the SHR for de-identified patient-level data aggregation,
MCHUL for Community Health Unit(CHU) management and DHIS2 for aggregate
data reporting.
2.2.1 Client
The client is a member of the community and is the primary recipient of
community health services. Community health members fall into one or more
cohorts defined by sex, age group, pregnancy status, health status and so on.
These characteristics should be taken into account when enrolling community
members into specific community health services. Clients are normally organized
into households, with each household having one member as the household
head. Households are organized into small groups referred to as Community
Health Units (CHUs). Some community health services such as immunizations
are provided to individual community members. Other services, such as the
assessment of sanitation facilities, relate to the household as a whole. Besides
receiving direct visits from CHVs, clients can also remotely interact with the
community health system through bi-directional mobile-powered messages
or through referrals to link health facilities. Households may also be visited by
CHAs for supervision and quality assurance.
2.3 Functions
The eCHIS shall provide the following key functionalities. Details of these
functionalities are covered in Chapter 4: System Features.
Central Server • Centrally hosted cloud server with support for multi-
tenant architecture.
• Multiple logical partitions per county(tenants)
Android Client • Android-based mobile app for use by CHVs and CHAs
to access the eCHIS.
• Mobile app supports offline data collection.
Web Client • Web client for use by CHFPs, HRIOs and Health
Managers to access the eCHIS.
• Accessible via common desktop and mobile web
browsers.
1. CHVs will have a basic level of literacy or have their capacity built to be
able to use simple smartphone features and applications.
2. Third party applications e.g. the DHP that interface with eCHIS, will provide
information through well-defined Application Programming Interfaces.
3. Applications to which the eCHIS will send information will provide well
defined Application Programming Interfaces for receiving it.
4. A common interoperability layer or service bus will be provided for
facilitating the exchange of information between the eCHIS and other
systems.
Software Requirements Specification for the Kenya National Electronic / 6
Community Health Information System (eCHIS)
3. External Interface Requirement
These are;
1. Transactional i.e. using the eCHIS to conduct the day-to-day business of
community service delivery. It mainly involves data entry.
2. Reporting i.e. using the eCHIS to generate and consume information
emanating from the transactional data stored in the system.
3. System administration i.e. using the eCHIS to add and manage
organizational hierarchies, users and user permissions as well as
performing troubleshooting and data quality checks.
Reporting uses of the eCHIS will facilitate the generation of information and
insights from the system to support quality assurance and program monitoring
as well as drive evidence-based decision-making. These uses are classified into
two categories;
System administration uses of the eCHIS will provide the means to conduct the
following core activities;
1. Create and maintain organizational hierarchies
2. Create and manage users and their permissions
3. Perform technical troubleshooting
4. Perform routine system updates
5. Run data quality assurance algorithms.
NOTE 1: Both transactional and reporting use cases may involve interactions
between the eCHIS and other systems. For example, a client referral to a link
health facility - which is a transactional use case may necessitate interoperability
with the EHR system used at the facility. Similarly, an aggregate report generated
User CHV
Description: This feature will allow a CHV to enrol new households and household
members. A new household or household member is one that does not exist in
the eCHIS database.
Variable Description
End Date The date when the household was discontinued in the
eCHIS. (Should be left blank during enrolment)
The following details shall be entered into the system for each household
member to complete the second step of the enrolment process. Internally, the
eCHIS shall link every household member to the household under which they
are enrolled.
Variable Description
Sex Sex
User CHV
The data on each household and household member shall be updated on the
system once every year, with the very first occasion being immediately upon
registration in order to establish a baseline. The system may be configured to
remind the CHV to perform this task at the right time.
Variable Description
The following details shall be updated in the system for each household member
once every year.
Variable Description
In school In school
Pregnant Pregnant
Mother and child health booklet Mother and child health booklet
NOTE 1: The system should only offer for data entry the appropriate variables
based on the demographic characteristics of the household member. For
example, some variables may only be relevant to children or women of child
bearing age. These specifications are clearly documented in the MOH 513 paper-
based tool.
User CHA
The following household characteristics shall be updated in the system upon the
voidance of the household.
Variable Description
End Date The date when the household was discontinued (voided)
in the eCHIS.
Reason The reason the household was discontinued (voided) in
the eCHIS.
Each of these services caters to the unique needs of its target population. The
eCHIS should be designed to accommodate not only these six services but also
any other service that may be defined in the future. In order to support this
level of flexibility, services within the eCHIS should cover five critical structural
components, namely;
1. Name i.e. the name of the community health service.
2. Target i.e. the population targeted by the service, defined by its
demographic characteristics.
Description: This feature will allow the System Administrator to define new
services.
Details: New services shall be defined on the basis of their target population,
data, workflows or periodicity. A new service is one that does not exist in the
eCHIS. Once a service has been created, it may be modified to suit emerging
needs or updated guidelines but it should not be created again.
Component Description
Description: This feature will allow the System Administrator to update existing
services.
Component Description
Description: This feature will allow the System Administrator to publish new or
modified services to CHVs mobile devices for digital service delivery and data
collection.
Upon publication, the following data will be delivered to the CHV’s mobile
devices.
Variable Description
Service version The current version of the service. This is useful for
tracking compliance with the latest versions of data
collection tools.
User CHV
Description: This feature will allow a CHV to digitally deliver community health
services while collecting all the requisite data.
Details: Upon the publication of services, CHVs will receive on their mobile
devices the full set of templates constituting the service delivery toolkit as
defined by the System Administrator. These templates will enable the CHVs to
digitally deliver the various services to the specified target populations while
collecting the relevant data according to the workflows and periodicity defined
in the template.
The following data shall be gathered as part of the service delivery process.
Data Description
Details: Upon the publication of services, CHVs will receive on their mobile
devices the full set of templates constituting the service delivery toolkit as
defined by the System Administrator. These templates will enable the CHVs to
digitally deliver the various services to the specified target populations while
collecting the relevant data according to the workflows and periodicity defined
in the template.
The following data shall be gathered as part of the service delivery process.
Variable Description
User CHV
Description: This feature will allow the CHV to monitor the amount of
commodities in their possession (stock on hand) based on the items previously
received and issued or otherwise disposed of.
Details: Each commodity in the eCHIS will be configured with a reorder level.
The reorder level may be static i.e. always the same regardless of historical
consumption data, or dynamic i.e. automatically adjusted to reflect historical
consumption data. On the basis of this reorder level, the system will notify the
eCHIS whenever the stock levels for a particular commodity or set of commodities
goes below the specified reorder level.
The following specific data will be shown to the CHV as part of the stock level
monitoring feedback.
Variable Description
Reorder level The quantity of the commodity that the CHV ought to
have before it’s time to reorder.
Stock on hand The quantity of the commodity that the CHV has on hand.
User CHV
Description: This feature will allow the CHV to make commodity orders.
Details: At any point in time and provided that there are one or more commodities
that are below the stipulated reorder level, the CHV may raise an order for
resupply.
Stock at hand The quantity of the commodity that the CHV has on
hand.
Reorder quantity The quantity of the commodity that the CHV is
ordering.
NOTE 1: The commodity order raised by the CHV via the eCHIS mobile app shall
be forwarded through the interoperability platform to the Pharmacy Information
Management System (PIMS) at the link health facility for fulfilment.
User CHV
Description: This feature will allow the CHV to receive commodity orders from
the link health facility.
Details: On designated commodity resupply days, a CHV shall visit the link
health facility to collect the commodities that they ordered. During this visit, the
PIMS operator at the facility shall process the CHV’s order by restocking their
commodities. The PIMS shall then update the eCHIS accordingly by sending the
appropriate data through the interoperability layer.
The specific information sent to the eCHIS upon resupply shall be as follows.
Data Description
Order No An identifier for the order that originated from the CHV.
This includes a reference to the CHV user account for
accountability.
Commodities A set of all commodities resupplied and the quantities
resupplied.
Comment Any comments associated with partial order fulfilment or
any other remarks.
User CHV
Details: A CHV may issue commodities at the household level in one of the
following two ways;
1. Under the guidance of a decision support algorithm within the eCHIS.
2. On an ad hoc basis according to their training, experience and
judgement.
Decision support for commodity issuance shall be defined as part of the workflow
of a service as described under the “Create a service” feature. It shall include
the commodity or commodities to be issued as well as the associated quantities
and dosages. CHVs shall also be able to issue designated commodities on an ad
hoc basis.
During each commodity issuance, the CHV will record the following data
.
Variable Description
User CHV
Details: Ideally, the only means by which a CHV may dispose of commodities from
within the eCHIS is by issuing them to clients. In reality, however, commodities
may be disposed of for other reasons such as expiry or wastage. The eCHIS shall
allow the CHV to record the commodities and their quantities that are disposed
of in these alternative means. This will allow the eCHIS to accurately track stock
levels based on usable stock on hand.
Variable Description
Comment Any extra information on the reason for the disposal for quali-
ty assurance purposes.
Summary: The features described under the sub-headings below will support
the client referral mechanism for linking clients to health facilities. Clients may
be referred to health facilities under two distinct circumstances:
1. The client located by the CHV as part of a tracing exercise instigated by
the health facility e.g. because they have defaulted on their appointment.
2. The CHV finds a patient whose condition by nature necessitates medical
attention at a health facility.
Description: The feature will allow the healthcare workers to send a list of the
names of registered clients who have defaulted on treatment/services.
Details: The facility will have a client database with each client mapped to their
respective CHUs and CHVs. If there is a case of defaulter, the HCW sends out a
notification to the CHV/CHU through the CHA. The CHV then begins the process
of tracing the defaulter.
Details: The CHV will identify the candidate for referral through the defaulter
list received from the facility or conduct household client assessment to identify
reason for referral. The CHV then fills the referral form and submits. Upon
submitting, the HCW receives a notification of referral from the community. The
same notification also goes to the CHA. The CHV then sends the client to the
link facility and follows up once they have received services.
Description: The feature will allow the HCW to send notifications to the CHV/
CHU after offering services to the referred client.
Details: Upon receiving the referred client, the HCW offers the required service
and fills the referral notification/task. Once the task is completed, a notification
is sent to the CHU/CHV alerting them that the client has successfully received
the services referred for.
Description: The feature will allow the HCW to refer the client back to the
community and send notifications to the CHV/CHU after offering services to the
referred client.
Details: The HCW allows the client to go back and continue getting care at home.
The HCW sends a notification to the CHV/CHU with details on the instructions
for home care and the return dates if any.
4.1.5 Surveillance
The features described under the sub-headings below will help leverage digital
solutions to strengthen surveillance of events, diseases and conditions at the
community level.
User CHV
Description: This feature will allow the CHV report details of events or diseases
in the community.
Details: The surveillance system will have pre-defined signals/alerts for use in
Community Event Based Surveillance (CEBS) and lay case definitions for use in
Community Based Disease Surveillance (CBDS). The CHVs undertake detection
by making observations during household visits or while going through their
day to day activities in the community. The community networks can also detect
events and diseases after sensitization on signals/alerts and lay case definitions
after which they report to the CHVs.
Variable Description
User CHV
Description: This feature will allow the CHV to notify on any event or disease
and report to the next level in real-time.
Details: This will allow the CHV to make a report at any time on any event or
disease in the community.
Variable Description
Description: This feature will allow the CHV/Healthcare Provider to carry out an
investigation on the reported event.
Details: The CHV or a designated HCW will use the event notification data to
undertake an in depth investigation to establish more details on the report.
Variable Description
Details: Citizens will be able to make a report of any event identified in the
community. The citizen reporting data reporting form will contain the following
information;
Variable Description
4.1.6 Messaging
The eCHIS application will have features to support one-way and two-way
targeted and non-targeted messaging between clients and system users in an
intuitive and simple way.
Priority High
Description
• The system will provide an interface for grouping of users to whom
messages will be sent.
• The system will provide an interface to define SMS messages/ SMS
campaigns with the following parameters
Variable Description
The system will be able to support interaction between users and clients. In
addition to the ability to send messages, the system will be able to respond
to structured messages from clients and system users based on predefined
workflows. The system should also support unstructured messages from clients
and have a provision for system users to respond to these messages. Refer to
the table above on the variable and description.
Description
The eCHIS system will have an interface to visually define SMS workflows that
have;
• Conditional logic and repeat logic
• Interpretation of vague messages to the highest degree possible
Targeted messaging
This feature will support two-way SMS messaging from an interface provided
within the eCHIS application targeted to specific system users and clients on
specific thematic areas based on defined criteria. This may include surveys,
client follow ups, appointment reminders etc.
Description: This feature will allow designated users to generate lists of clients
based on client characteristics for a defined time period. Additionally, client lists
may be filtered by organizational hierarchy.
Details: The client characteristics used to generate client lists include any of the
attributes collected during household enrolment, service delivery, client referral,
messaging and any other area of functionality where client-level data is collected.
Client characteristics can also be “calculated” from other characteristics. For
example, the system might store the attribute “Date of Birth” from which the
client characteristic “Age” may be calculated.
Example 1: A client list might be defined as “All clients who were tested for TB
in January 2020”. In this case, the characteristic is “TB Test Status” and the
defined time period is January 2020.
Example 2: A client list might be defined as “All clients who were tested for
TB in January 2020 in Mombasa County”. In this case, the characteristic is “TB
Test Status”, the defined time period is January 2020 and the hierarchy filter is
“County- Mombasa County”.
NOTE 1:
Details: CHV characteristics used to generate the CHV list will include attributes
like the user name, the number of CHVs/CHAs in the area, the number of
households, the number of household members, the number of pregnant
mothers visited, ANC visits, skilled deliveries and the fully immunized. These
attributes should be collected during household visits.
Description: This feature will allow designated users to create service statistics
reports based on client characteristics for a defined time period. Additionally,
client statistics may be disaggregated by organizational hierarchy.
Details: The client characteristics used to generate client lists include any of the
attributes collected during household enrolment, service delivery, client referral,
messaging and any other area of functionality where client-level data is collected.
Client characteristics can also be “calculated” from other characteristics. For
example, the system might store the attribute “Date of Birth” from which the
client characteristic “Age” may be calculated.
NOTE 1: The eCHIS will support the ability to assemble individual client
summaries into a list of summaries. Such list of summaries will form a service
statistic report. Service statistic reports can be saved on the system for future
access or can be downloaded for archiving and sharing.
Description: This feature will allow designated users to create service statistics
reports based on CHV characteristics for a defined time period. Additionally,
CHV statistics may be disaggregated by organizational hierarchy.
Details: The CHV characteristics used to generate client lists include any of the
attributes collected when registering CHVs on the eCHIS. CHV characteristics
can also be “calculated” based on data entered by a CHV. For example, the
system might calculate the “Total number of households visited” or “The total
number of family planning commodities issued” for a particular CHV.
User role functions should include the permissions such as add new user, modify
user details, view users and remove a user. The specific roles can be defined per
modules, sub-module and module function.
Group roles and permissions will be set as per the departments and departmental
roles within a facility.
New user account process: Community health units’ staff that require to use
the system shall fill a user account request form which shall be approved by
their supervisor and forwarded to the head of department for approval. Upon
approval by the HOD, the form shall be forwarded to the system administrator
who shall create the user and send them an email notification with instruction
on how to access the system.
For the CHVs, upon filling the user account creation form, the CHA will access
the form and either approve it or reject it. Upon approval, the form will be sent
to the system administrator who will create the user account and configure the
hand held device to use the created user account credentials.
Update user rights process: The system users that are redeployed to new
duty stations shall fill in a user account update form that shall be approved by
their supervisor and forwarded to the head of department for approval. Upon
approval by the HOD, the form shall be forwarded to the system administrator
who shall update the user and send them an email notification with instruction
on how to access the system.
Deactivate a user: the HOD shall notify the system administrator for account
deactivation of the staff in her department that no longer require access to the
system or have left the department or organization. The system administrator
shall upon receiving the deactivate user request, deactivate the user.
Phone number_____________________________________________________
Email address______________________________________________________
Department_______________________________________________________
Signature_________________________________________________________
Date_____________________________________________________________
Tick appropriately
Comment ________________________________________________________
Signature_________________________________________________________
Date_____________________________________________________________
Head of Department
Comment ________________________________________________________
Signature ________________________________________________________
System Administrator
Signature ________________________________________________________
Date ____________________________________________________________
Security Definition:
The assurance that the data stored within a system and
transmitted from the system has the necessary security
measures in place to prevent unauthorized access.
Approach:
1. Define the mechanism in the system to deter
potential threats occurrence. For example;
malware, unauthorized users, network
compromises
2. Define the user management including
authorities’ definition, users grouping
functionality, user adding, deactivation and
removal functionalities. The user management
should cover the application and database
access as necessary
3. Implementation of best practices on
system security policies by expanding the
non-functional requirement to functional
requirement. For example; password
requirement, login requirement, inactivity
timeouts, audit log trails
4. Adopt internationally accredited system
security standards and protocols for the
application, network and data transmission
Approach:
1. Identify the common threats that would
compromise on data quality and define
mitigations implemented in the system. For
example; human error, compromised hardware,
misconfiguration, security errors, errors in data
transfer, cyber-attacks.
2. Define the data integrity preservation checklist
applicable for use in the system’s audit. For
example; input validation, eliminate data
duplications, data audit trailing, data backup,
access controls.
3. Define the database management and security
measures to prevent database attacks. For
example; data store encryption function to
deter database injection attacks.
4. Develop the database maintenance policies
to address data duplicity, database translation
audit trails and data encryption modes and
management.
Interoperability Definition:
The ability of systems to exchange in an automated
methodology.
Approach:
1. The system should adhere to the Kenya Health
Information Systems Interoperability Standards
and Guidelines
2. The system should have APIs that are secure
and have data integrity management policies
3. Define the interoperability standards required
by the system. For example;
a) Information interoperability - seamless or
on-demand, data formatting.
b) Hardware interoperability - system
device-readiness, hardware generational
compatibility
c) Technical interoperability - environmental
definition. Development versus Production.
d) Business interoperability - definition of
the use cases that share processes and
information.
Approach:
Define the system’s compatibility requirements that
should be met by other applications, software, hardware
and networking aspects.
Approach:
Approach:
1. Define the normal usage conditions and upti-
mes in probability percentage. For example,
the system guarantees x% reliability implying
that under the normal conditions, the system
guarantees x% probability that it will not expe-
rience failures.
2. Define the acceptable mean uptimes between
failures
3. Define the mean time to recovery.
Maintainability Definition:
This is a measure of time taken for a system mainte-
nance, upgrade or performance optimization.
Approach:
1. Define the maintenance time frame in
probability percentage. For example, x%
maintainability in y time implies that there
is a x% probability that the system can be
maintained within y time
2. Define the acceptable mean times between
failures
3. Define the system roll backs functionality and
timelines
4. Define the system’s support mechanisms that
are inbuilt or require external interventions
Availability Definition:
The likelihood that the system will be accessible for the
users at any given point in time.
Approach:
1. Define system availability timelines estimates
during testing and production
2. Define the system recovery and business conti-
nuity measure. For example, define the redun-
dancy modes of system hosting and database
synchronization models.
Approach:
1. Run a prototype usability test with the
targeted audience
2. Reference the prior system that was in use as a
benchmark
3. Conduct a comprehensive user requirements
gathering and field study where necessary
to understand the context and ensure that
the system matches up to the user needs.
For example; laws, regulations, culture, date
formatting.
1.2 Objectives
This software design specification aims to achieve the following objectives:
1. To describe the design of system components that will be enhanced
before the eCHIS prototype is piloted.
2. To describe the interoperability approach for enabling the eCHIS and the
Digital Health Platform(DHP) to exchange data in order to facilitate client
referral coordination, supply chain management and other areas.
3. To identify the other systems required to support seamless interoperability
between the eCHIS and the DHP.
1.3 Context
The eCHIS represents one component in a comprehensive suite of Health
Information Systems (HIS) designed to promote optimal healthcare service
delivery using digital technology. Other applications in the suite include the
DHP, which digitizes patient management at the health facility; the Client
Registry (CR), which will provide identity resolution services to other systems;
the Shared Health Record (SHR), which will aggregate de-identified client-level
Unlike the other applications which are deployed at the health facility or higher
levels, the eCHIS is unique in that it is deployed at the community level to
facilitate the delivery of KEPH Level 1 services. It is envisaged that the eCHIS
will also be interoperable with other applications in order to facilitate healthcare
delivery and health records management for all clients regardless of their point
of contact with the healthcare system. For example, the eCHIS is expected
to support interoperability with the DHP to facilitate community-to-facility
and facility-to-community client referral as well as commodity supply chain
management for health commodities used at the community level. Similarly,
the eCHIS is also expected to interoperate with KHIS in order to support routine
aggregate community health service statistics for national and subnational
reporting. The high-level architecture diagram below shows the various HIS
used or envisaged for future deployment by the MOH, as well as their expected
relationship and interactions with the eCHIS.
DHP ( )
A high-level architecture diagram of the eCHIS showing its planned interactions withother HIS.
1.4 Constraints
The design of the eCHIS components described in this document is subject to
the following constraints:
1. Mobile access: All functionality intended for Community Health Volunteers
(CHVs) and Community Health Assistants (CHAs) must be accessible via
handheld Android devices.
2. Offline use: CHVs and CHAs must be able to use the eCHIS offline and
then synchronize data with the server when internet connectivity becomes
available.
3. Identity resolution: The eCHIS must be able to resolve client identities
against a Client Registry in order to ensure consistent client identification
with DHP and other systems.
1.5 Dependencies
The successful implementation of a fully interoperable and production-ready
eCHIS is dependent on the following external components. These components
are necessary to achieve structural interoperability. In order to achieve semantic
interoperability, a terminology service is also required. However, the pilot phase
of the eCHIS aims for structural interoperability. Semantic interoperability will
be incorporated in future versions of the application.
The client registry shall serve as an accurate and up-to-date electronic database
containing the demographic information on every client who receives healthcare
services in Kenya. It shall also offer the capability to service client resolution
queries from duly authenticated third-party applications such as the eCHIS
and the DHP, according to well-defined communication protocols. The CR
shall provide functionality to query for client identity, enrol new clients, update
existing clients, merge duplicate clients and archive deceased clients.
It will also include functionality to add new CHWs, update data on existing ones,
and remove those who transition out of community health service. The registry
shall be accessible directly, as well as through both the eCHIS and the DHP to
facilitate consistent CHW identification during referral coordination and other
workflows.
3.1 Introduction
3.2.1.1 Description
A community-to-facility referral occurs when a CHV identifies a client who needs
to be sent to a health facility for one or more of a variety of health reasons
that the CHV cannot handle at the community level. Reasons for a referral may
include danger signs e.g., reduced foetal movement in pregnancy, or clients
who have defaulted on their clinic appointments. The CHV is trained to identify
referral cases. The role of the eCHIS is to facilitate the referral process once
the need for a referral has been identified. In order for a referral to be digitally
sent to a health facility, the health facility must be running an Electronic Health
Record(EHR). For the purposes of this description, DHP is assumed to be the
default EHR. However, the process is applicable to other EHR implementations.
Once a client is referred from the community to a health facility, the underlying
expectation is that the client makes a clinic visit. Ideally, the client is expected to
indicate to the healthcare provider that their visit is in fulfilment of a community-
based referral. However, the eCHIS referral workflow is designed to work
correctly regardless of whether or not the client reveals the referral nature of
their visit. This is achieved by requiring healthcare providers to query the eCHIS
for a client’s list of active referrals whenever they are processing the client.
When a healthcare provider processes a client, who was referred to the health
facility from the community, he or she is expected to issue a counter-referral.
A counter-referral may simply be a note to say that the client honoured the
referral, or a more substantive response such as an explicit instruction for the
3.2.1.2 Workflow
The flowchart below summarizes the process of performing a complete
community-to-facility client referral. Each node represents a distinct step in the
process and is explained below the diagram
Referral
CHV visits note No DHP queries eCHIS for
a household available? referral note(ad-hoc)
Yes
Yes
eCHIS
Client visits Yes eCHIS notifies CHV
acknowledges
health facilty of counter-referral
receipt?
No
3.2.1.4 APIs
Service APIs
URL Payload
3.2.2.1 Description
A facility-to-community referral occurs when a healthcare provider identifies a
client who needs to be sent to a CHV for one or more promotive and preventive
healthcare services that are rendered at the community level. Reasons for a
referral may include a client’s need for home-based care, psychosocial support,
counselling, drug adherence supervision among others. The healthcare provider
is trained to identify referral cases. The role of the eCHIS is to facilitate the
referral process once the need for a referral has been identified. In order for
a referral to be digitally sent from a health facility, the health facility must be
running an EHR. For the purposes of this description, DHP is assumed to be the
default EHR. However, the process is applicable to other EHR implementations.
Unlike a community-to-facility referral which may be honoured by the client
at a clinic different from their link facility, facility-to-community referrals are
necessarily processed at a client’s CHU. Also, facility-to-community referrals are
different from community-to-facility counter-referrals in that they necessarily
contain substantive instructions to the CHV. Community-to-facility counter-
referrals, on the other hand, may either contain substantive instructions to the
CHV, or simply note that the client honoured their appointment and therefore
do not need to be followed up for it at the community level.
3.2.2.2 Workflow
The flowchart below summarizes the process of performing a complete facility-
to-community client referral. Each node represents a distinct step in the process
and is explained below the diagram.
CHV visits
a household
Client visits
health facilty
HCP identifies
need for referral
Referral form is
stored on DHP
eCHIS
eCHIS queries DHP No acknowledges Referral
for referral (routine) receipt? Complete
Yes
3.2.2.4 APIs
Service APIs
URL Parameters
The procedures described above may take place on either the eCHIS or on the
DHP depending on the specific needs to be fulfilled. In some cases, the eCHIS
and the DHP have to interoperate. The workflow section below describes the
design details of the interoperability use cases where the eCHIS and DHP need
to share data to facilitate commodity supply chain management.
3.3.2 Workflow
The flowchart below summarizes the process by which a CHA requisitions
commodities from the link health facility. Each node represents a distinct step in
the process and is explained below the diagram.
1. CHA notices low stock levels on eCHIS: The CHA routinely reviews stock
reports on the eCHIS to identify a low stock condition based on stock
movement within the eCHIS.
2. CHA prepares stock order: To initiate commodity resupply, the CHA
prepares a stock order indicating the commodities and quantities to be
ordered.
3. CHA enters stock order on DHP: The CHA enters the stock order in the
DHIS to initiate the restocking process at the main pharmacy at the link
facility.
4. Main pharmacy restocks the CHA via DHP: The main pharmacy processes
the order and restocks the CHA (treated as a “mini-pharmacy” at the
health facility).
5. CHA collects stocks: The CHA arranges to collect the commodities for
issuance to CHVs at the community level.
3.3.4 APIs
Service APIs
URL Parameters
3.4.1 Description
Community-Based Surveillance covers the reporting of notifiable diseases and
public health events of interest identified in the community to the Sub-County
Disease Surveillance Focal Person (SCSFP). The Sub-County Disease Surveillance
Focal Person is then responsible for submitting verified reports to the Division
of Disease Surveillance and Reporting at the national level for action.
3.4.2 Workflow
The flowchart below summarizes the process by which a CHV files a surveillance
report, gets it verified by the CHA, who then reports it to the Sub-County Disease
Surveillance Focal Person for investigation and reporting to the Division of
Disease Surveillance and Reporting at the national level. Each node represents
a distinct step in the process as explained below the diagram.
Verified?
A flowchart depicting the process of filing a surveillance report from the community to DDSR.
March 2021
1.2 Objectives
The objective of the CHIS in-depth evaluation was to:
1. Develop common criteria for evaluating and identifying gaps in existing
Community Health Information Systems.
2. Demonstrate the application of the criteria by evaluating CHIS with
representation at the Phase II Workshop.
Procedure Definition
Procedure Enrol a new household onto the system based on the MOH
513 form.
Result Pass if a new household is successfully enrolled and Fail If a
new household cannot be successfully enrolled.
Demo Yes if the functionality is demonstrated and No if the
functionality is simply reported but not demonstrated.
The checklist was applied to a total of 5 CHIS namely; CHT, CommCare, cStock,
MJali and SmartHealth. The evaluation was conducted by teams of between 5
and 8 individuals, with representation from the Ministry of Health and partner
organizations (Annex B).
2.3 Scoring
In order to be able to compare gaps between the different CHIS evaluated, a
percentage score was computed for each area of focus in the criteria. This was
calculated as the total number of Passes achieved divided by the total number
of possible Passes for that area multiplied by 100. For instance, there were 10
distinct procedures defined under Household Enrolment. Therefore, for a CHIS
that achieved 9 out of 10 Passes, the percentage score was computed as 9/10 x
100 = 90%. Scores were calculated for each area of focus for both functional and
non-functional categories. The scores were then averaged to compute a single
score for each category. The scores from each category were then averaged
to yield a single final score. The next chapter covers the results of this scoring
procedure.
3.1.1 Results
3.1.2 Discussion
Focus Area Discussion
3.2.1 Results
Focus Area/System CHT Com- cStock MJali SmartHealth
mCare
Code Licensing 100% 100% 0% 100% 100%
3.2.2 Discussion
Focus Area Discussion
Code Licensing All CHIS evaluated are open source except cStock.
However, it was intimated that cStock source code
can be made available to the MOH on demand.
* Create an Organizational
organizational hierarchy successfully
hierarchy within the created
system (National
> County > Sub-
county > Ward >
Facility > CHU >
Cluster)
Create a user role User role created with
based on the selected system
pre-defined privileges
privileges
Update an existing User role updated
user role based with the selected
on pre-defined system privileges
privileges
Delete/remove an User role deleted
existing user role
Create a user User account
(username, created with the
default password, specified details
telephone number,
email address, first
name, last name,
designation)
Assign a user to User assigned
any level within to a level in the
the organizational organizational
hierarchy hierarchy e.g. CHU
Assign one or more Roles assigned to the
roles to a user user. User inherits the
privileges defined in
the assigned role.
New user logs into eCHIS requires the
the eCHIS for the new user to change
first time his/her password
1.4 COMMODITY
SUPPLY CHAIN
MANAGEMENT
Configure and
run a client
summary based
on aggregation
functions on client
attributes (bound to
a definite period)
Disaggregate a client
summary based on
client attributes and
organizational
hierarchy levels
Collate selected
client summaries
into a single service
statistic report
Configure and run a
CHV summary based
on aggregation
functions on CHV
attributes (bound to
a definite period)
Disaggregate a CHV
summary based
on CHV attributes
and organizational
hierarchy levels
Collate selected
CHV summaries
into a single service
statistic report
Test for ability to
work in conditions
with slow or no
connectivity (offline
data collection)
2.4 SECURITY
Data standard
to support data
exchange - HL7 and
related
Integration with System can send
DHIS2 standard MOH
reports to DHIS2
2.7 PERFORMANCE AND SCALABILITY
Re-assign 1 0 0 0 1
a client to
a different
household
Reactivate a 1 1 0 0 1
deactivated
workflow (with
the associated
data collection
form/validations/
skip logic etc.)
Workflow 1 1 0 0 1
eligibility is
configurable by
client
characteristics
Workflow 0 0 0 0 1
created or
updated
Monitor stock 0 0 1 0 1
levels (CHA)
Monitor stock 0 0 1 0 0
levels (CHV)
Return stock 0 0 0 0 0
(CHV-CHA)
Return stock 0 0 0 0 0
(CHA-Facility)
Surveillance 80.00% 20.00% 0.00% 20.00% 100.00%
CHV notifies 1 1 0 0 1
cases of
notifiable
diseases/
conditions
through the
eCHIS to the
CHA
CHV reports PH 1 0 0 1 1
events through
the eCHIS to
the CHA
CHA can run 1 0 0 0 1
through a
workflow to
validate reports
of PH events
eCHIS has 0 0 0 0 1
outbound
API to send
information to
a dedicated
surveillance
system
Configure and 1 1 0 1 1
run a client list
report based on
client attributes
(bound to a
definite period)
Filter a client 1 1 0 1 1
list report
based on client
attributes and
organizational
hierarchy levels
Configure and 1 1 0 0 1
run a CHV list
report based on
CHV attributes
(bound to a
definite period)
Filter a CHV 1 1 0 1 1
list report
based on CHV
attributes and
organizational
hierarchy levels
Configure and 1 1 0 1 1
run a client
summary based
on aggregation
functions on
client attributes
(bound to a
definite period)