HR Proposals by Mark Smith
2nd December 2001
Figured we should start posting proposals here as well. Since we have a text copy of this proposal I am going to past so you can read by clicking Read More/Comments. However, you can find online also at
http://www.gnuenterprise.org/~neilt/GNUe_HR_Package.txt. Mark thank you for your contribution.
GNU Enterprise -
Human Resources Package Proposal
Mark H Smith
GNU Enterprise - Human Resources Package Proposal
by Mark H Smith
Published (to be added)
Copyright (c) 2001 by Free Software Foundation
Copyright (c) 2000 Free Software Foundation
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".
Chapter 1. Introduction
1.1. Description
This document describes a proposed architecture for the GNUe Human
Resources Package.
1.1.1. Source of Information
This document is a first draft. There is no previous source
documentation.
1.1.2. Version
This introduction is $Revision: (to be added) It is a preliminary draft
proposal for discussion purposes only. The business requirements may
not be complete, and could use further discussion. The forms and
reports have not been started. Further business objects may be needed.
1.1.3. Purpose of Document
The purpose of this document is to define the scope of the modules in
the Human Resources Package. If any terms in this document are unclear
please let me know. I will update the glossary.
1.1.4. Definition of GNUe Human Resources Package
The Human Resources Package encompasses all of the transactions
required to manage a company or organization's employees. This includes
the functions of personnel, payroll, posts, recruitment, succession
planning and training management. The Human Resources Package does not
include resource planning, time and expenses, or project management
modules. These are related modules to HR, but are provided in the
separate Project Management Package (I suggest).
1.1.5. Scope of initial GNUe Human Resources Package Functionality
The first version of the Human Resources Package will be a proof of
concept package. As such it will have limited functionality. However,
the modules and objects developed for the initial package need to be
designed with an awareness of the needs of likely future enhancements
and industry specific implementations. Some of the HR applications
need to reflect the legal and contractual conditions of the country in
which a person is employed. Consequently, some modules in the base
package may not be of practical use by themselves - national templates
will be needed for each country in which the module is used. It is
important that the first package have a solid design. To distribute the
work and assure a sound design we need to decide what functionality
will go into the initial scope and what will go into future scope.
1.1.6. Scope of Future GNUe Human Resources Package Functionality
Future functionality describes requirements slated for a future version
of GNUe. These requirements may appear in either standard GNUe
functionality or in industry packages.
1.1.7. Initial modules for the Human Resources Package
This document will lay the general groundwork for modules in the Human
Resources package. Each Module definition below contains a list of
Business Requirements, Business Objects, and External Objects. The
Business Requirements are the general business functionality that the
module will support. The Business Objects are the objects whose
definition is managed and controlled by the respective module. External
Objects are interfaces to objects managed and controlled by other
Module definitions. No attempt has been made to create an object
structure in this document. That is the responsibility of the module
developers. For example the 'Applicant' business object may be related
to a general 'Person' business object. It is also assumed that the
requirements stated here will change as the Modules are defined and or
refactored.
1.1.8. Glossary
HR\t\tHuman Resources, i.e. managing employees.
FTE\t\tFull Time Equivalent, i.e. the hours or salary that a part
time employee would work/earn if they were employed full time.
PSA\t\tProfessional Services Automation, i.e. project planning,
resource management, time-recording .
Chapter 2. Personnel Module
2.1. Requirements
This chapter is (version details to be added).
2.1.1. Personnel Module Business Requirements
1. To originate and maintain the personal details relevant to
employment.
2. To originate and maintain employment contract details.
3. Optionally, to maintain employee job and department details, as a
simple alternative to implementing the Posts module (Large
organisations with complex HR requirements are more likely to require
the Posts module than are small organisations with simpler HR
requirements).
2.1.2. Future Requirements
The following items will be implemented in a future version of this
module. They may be implemented in the national template, or be added
via an industry specific add on.
1. To originate and maintain absence details.
2. To originate and maintain disciplinary details.
3. To originate and maintain health and safety details.
4. Contract Details based on Scales/Grades/Spine Points
2.1.3. Business Objects
The following Business Objects are defined and maintained by this module.
* employee
* contract
* emergency contact
* next of kin
* beneficiary (e.g. a child receiving a parent's pension)
* former employer
The 'employee' business object inherits definitions from the Base
Package 'employee' business object (Base Package Proposal, Chapter
Four), and adds data and methods that are needed for Personnel use.
Additionally, it is likely that a national template will be essential
for all implementations of the Personnel Module, to deal with items
such as Social Security Number (US), National Insurance Number (UK),
etc.
The 'contract' business object defines all the data and methods
relating to the employment contract between the employee and employer.
An employee can have a history of different contracts with the same
employer, or can have more than one contract simultaneously (e.g. two
part-time jobs).
The 'emergency contact', 'next of kin', and 'beneficiary' business
objects inherit definitions from the Base Package 'person' business
object.
The 'former employer' business object inherits definitions from the
Base Package 'organization' business object.
2.1.4. Forms
Starter
Amendment
Leaver
2.1.5. Reports
1. Employee List.
2. Starter List
3. Leaver List
2.1.6. Business Rules
* None
2.1.7. Business Object Definition
This section may need reviewing.
module personnel
{
#---------------------------------------------------
# employee - personal details relating to employment
#---------------------------------------------------
class employee:person::name_prefix, name_suffix, address, employee
{
char\t\tpersonal_number<25>;
date\t\tdate_of_birth ;
char\t\tsex_code<8>;
char\t\tformer_name<25>;
char\t\tmarital_status_code<8>;
date\t\tdate_of_starting;
date\t\tdate_of_leaving;
char\t\treason_for_leaving_code<8>;
date\t\tdate_of_retirement;
date\t\tdate_of_death;
char\t\tprevious_service; #years/months/days - base package unit module?
char\t\tnationality_code<8>;
char\t\tethnicity_code<8>;
char\t\treligion_code<8>;
date\t\tid_card_issue_date;
char\t\tmedical_check_completed_code<8>;
date\t\tmedical_check_date;
char\t\tpolice_check_completed_code<8>;
date\t\twork_permit_expiry_date;
char\t\tsocial security number/national insurance number/etc.; #this may need the national template to implement. Each country will have its own validation rules
};
#--------------------------------------------
# contract - employment contract details
#--------------------------------------------
class contract
{
char\t\tcontract_number<25>;
char\t\tjob_code<8>; #to link to posts module
char\t\tjob_title<25>; #if posts module not in use
date\t\tcontract_start_date;
date\t\tcontract_expected_end_date;
date\t\tcontract_actual_end_date;
char\t\treason_contract_end_code;
char\t\tcontract_status_code<8>; #perm, temp, etc.
int\t\tcontract_hours_per_week;
int\t\tannual_salary;
int\t\thourly_rate;
};
#--------------------------------------------
# contact - emergency contact details
#--------------------------------------------
class contact:person::name_prefix, name_suffix, address, employee
{
char\t\tcontact_number<25>;
char\t\trelationship_code<8>;
};
#--------------------------------------------
# next of kin - nok details
#--------------------------------------------
class next_of_kin:person::name_prefix, name_suffix, address, employee
{
char\t\tnext_of_kin_number<25>;
char\t\trelationship_code<8>;
};
#--------------------------------------------
# beneficiary - beneficiary details
#--------------------------------------------
class beneficiary:person::name_prefix, name_suffix, address, employee
{
char\t\trelationship_code<8>;
};
#--------------------------------------------
# former employer - details
#--------------------------------------------
class former_employer:organization::organization, contact,address
{
char\t\tformer_employer_number<25>;
char\t\tformer_job_title<25>;
};
};
Chapter 3. Payroll Module
Chapter 4. Posts Module
Chapter 5. Recruitment Module
Chapter 6. Succession Planning Module
Chapter 7. Training Management Module
I. Appendixes
Table of Contents
A. GNU General Public License
B. GNU Free Documentation License
Return to GNUe News Archive
|