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 Human Resources, i.e. managing employees. FTE Full Time Equivalent, i.e. the hours or salary that a part time employee would work/earn if they were employed full time. PSA Professional 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 personal_number<25>; date date_of_birth; char sex_code<8>; char former_name<25>; char marital_status_code<8>; date date_of_starting; date date_of_leaving; char reason_for_leaving_code<8>; date date_of_retirement; date date_of_death; char previous_service; #years/months/days - base package unit module? char nationality_code<8>; char ethnicity_code<8>; char religion_code<8>; date id_card_issue_date; char medical_check_completed_code<8>; date medical_check_date; char police_check_completed_code<8>; date work_permit_expiry_date; char social 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 contract_number<25>; char job_code<8>; #to link to posts module char job_title<25>; #if posts module not in use date contract_start_date; date contract_expected_end_date; date contract_actual_end_date; char reason_contract_end_code; char contract_status_code<8>; #perm, temp, etc. int contract_hours_per_week; int annual_salary; int hourly_rate; }; #-------------------------------------------- # contact - emergency contact details #-------------------------------------------- class contact:person::name_prefix, name_suffix, address, employee { char contact_number<25>; char relationship_code<8>; }; #-------------------------------------------- # next of kin - nok details #-------------------------------------------- class next_of_kin:person::name_prefix, name_suffix, address, employee { char next_of_kin_number<25>; char relationship_code<8>; }; #-------------------------------------------- # beneficiary - beneficiary details #-------------------------------------------- class beneficiary:person::name_prefix, name_suffix, address, employee { char relationship_code<8>; }; #-------------------------------------------- # former employer - details #-------------------------------------------- class former_employer:organization::organization, contact,address { char former_employer_number<25>; char former_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 Error! Bookmark not defined. B. GNU Free Documentation License Error! Bookmark not defined.