Human Resource Module

- N. Sai Manohar
Daniel Futerman
Roger Friedman
Carl Leinter
The purpose of the project is to develop an OpenMRS module to
maintain personnel information and generate reports useful at
the clinical level and compatible with a national personnel system
This module comes with a data model, API extensions, data entry
forms and reports.
Job title: describes a role; includes education and skill
requirements, describes job functions, pay grades
Post: an authorization to employ someone with a
specified job title at a specified location; can be open,
filled or closed (no longer authorized)
Post-centric system: posts are created and maintained
based on an authorization process or staffing norms
 Person-centric system: a person is hired with a job title;
posts hold data but there is no authorization process
Post History: placement of a specified person in a
specified post; has a start and end date; a person’s
collection of post histories represents their career
Assignment: a finer-grained version of post history,
tells what the employee is supposed to be doing where
and for whom
DATA MODEL The data model of the Human Resource System is designed based on the
IHRIS data model with staff attributes, histories of education and posts,
certifications, the opportunity to view/add staff notes, view/add evaluations
based on competencies and able to add training data to the system. It
contains the following entities.
Job Title
Post History
Staff Attribute
Staff Attribute Type
Staff Certificate
Staff Notes
Training classes
Train Person
Project Scope
Current Scope
Future Scope
OpenMRS Core
FUNCTIONS OF THIS MODULE Admin Functions  Create/edit/inactivate job titles via a form, with the assignment of
ISCO codes
 Create /edit / inactivate posts, with assignment of locations via a
 Create / edit / inactivate staff attribute types
 Create / edit / inactivate staff
Manager Functions  Select / create / inactivate persons (with person names, person
addresses, person contacts and person attributes) as staff members
with staff attributes and staff tags using a form
 Assign / remove staff members to / from a post, yielding a post
history, using a form
 Create / inactive assignments for staff history records, using a form
(inactivating a post history record will inactivate all its assignments)
Reporting Functions –
Display reports as tables or charts
Export report data in Excel-compatible, HTML or XML and PDF formats
Generate staff directories, lists of offices and facilities, position lists and
other reports
Create the following reports:
 Individual Comprehensive Report (Content of all tabs)
 Current post/assignment/leave list in alpha, location, cadre/job title
 Vacant or on-leave posts
 Posts by location at a time disaggregated by gender/vacant, age
Adding an assignment – Two types of assignments can be added
to the system –
Adding a post history – Again of two kinds –
Adding a current assignment – an assignment for an ongoing post for that
staff can be added. This assignment starts after the post has started.
Adding a previous assignment – an assignment for a previous post can be
added. The start and end date this assignment are between the start and
end date of that post.
Moving the staff to a new post. The old post should be vacated when the
staff is moved to the new post and the start date of the new post history
should be after the vacate date of the previous post.
Adding a previous position – A previous position can be added. This post
duration should not interfere between the existing posts.
Terminate Employment –
Employment can be terminated with a valid end date and end reason
which ends all the current posts and assignments with the same end date
and end reason.
Adding Job Titles – New Job Titles can be added to the system
and maintained.
Adding New Posts – posts can be created from the job titles in the
system and maintained.
Adding Staff – staff can be added to the system. A staff is created
from an existing person in the system or by creating a new
Staff Demographics
staff position page
Adding a previous assignment
Manage posts
Creating the basic structure of the module
Creating the data model of the project.
Creating the domain objects and hibernate mapping files.
Creating Job structure and related classes (services).
Creating required pages to manage jobs titles , posts and staff (admin
Creating HR manager functions such as employee positions and
employment history.
Investigated on how to package reports into the module, and have
developed some reports using BIRT.
Include packaging required sql data into the module (isco_codes ,
reports etc.),
Including already-defined HR roles and privileges into the module
Documenting the system.

similar documents