Technical documentation
I. Feature Overview
The HR Automation feature is implemented as an application. It is included in the source database that the system administrator will use when setting up a clone database for the Employee Records Management (HR-1) vertical market solution. This application retrieves values from the specified fields within the Employee Master Form and does not require any additional configuration.
II. Feature Objective
The purpose of this document is to describe how to implement the HR Automation, Folder Creation/Updates process for the vertical market solution: Employee Records Management (HR-1) .
HR Automation: Initial Creation
Automatically create an Employee Document Library folder upon initial creation of an Employee Master iForm in VisualVault.
Upon initial creation of an Employee Master iForm withinVisualVault, an Employee Document Library folder will be automatically created within the Active node within the document library structure. The folder will be created under the applicable letter of the alphabet based on last name. The folder naming convention will be “Last Name, First Name, Unique Identifier.”
HR Automation: Updates
Upon manual modification of an existing Employee Master iForm, the existing Employee folder will be updated.
Modifications to the Employee First Name, Employee Last Name, or Employee ID will result in modifications and movement of the employee folder within the document library.
Modifications to the employee status (changing from Active to Terminated or Terminated to Active) will move the employee folder within the document library from Active to Terminated or Terminated to Active.
III. Feature Description
Configuration Parameters
Below are detailed all the parameters that could be configured in the process (App.config file)
Parameter | Details |
---|---|
Config | Settings related to the connection to the environment. |
ftpX | FTP-related configurations. |
ftpRemoteFileExtensionAllowed | Allowed extensions: Only PDF is allowed
|
vvDocumentLibraryRootPath | Path to the Human Resources root folder
|
vvFormTemplate | Employee Main Form
|
folderIndexFields | Name of the folders Index fields.
|
formFields | Fields name of the employee form
|
queryName | Name of the query to get all the folders of an employee
|
folderPathFormField | Name of the form field where the folder path info can be found
|
SplitCharacter | Character that separates columns in the csv
|
TrimCharacter | Character that indicates the end of a line in a csv
|
LastNameColumnName | Header of the column, for the last name information in the csv
|
FirstNameColumnName | Header of the column, for the first name information in the csv
|
EmployeeIdColumnName | Header of the column, for the employee id information in the csv
|
EmployeeTypeColumnName | Header of the column, for the employee type information in the csv
|
EmployeeStatusColumnName | Header of the column, for the employee status information in the csv
|
EmployeeTypeValues | Values that an employee type can take in the csv
|
Specs
Need to set Client system import for 23 hrs after standard HR import to allow for folder creation
Documents will go in the Onboarding folder in each Employee File
Exceptions will go to /Human Resources/Employee Files/Exceptions
Items will import from sFTP
Indexes
Doc Type | FileName | Indexes |
---|---|---|
Application | LastName_FirstName_EmpID_Application_Job Title_Date.pdf | Last Name, First Name, Employee ID, Job Title, Date |
Resumes | LastName_FirstName_EmpID_Resume_Date.pdf | Last Name, First Name, Employee ID, Date |
Offer Letters | LastName_FirstName_EmpID_OfferLetter_Job Title_Date.pdf | Last Name, First Name, Employee ID, Job Title, Date |
Contracts | LastName_FirstName_EmpID_Contract_Date.pdf | Last Name, First Name, Employee ID, Date |
HIPAA | LastName_FirstName_EmpID_HIPAA_Date.pdf | Last Name, First Name, Employee ID, Date |
Personal Data | LastName_FirstName_EmpID_PersonalData_Date.pdf | Last Name, First Name, Employee ID, Date |
Abuse Form Child | LastName_FirstName_EmpID_AbuseFormChild_Date.pdf | Last Name, First Name, Employee ID, Date |
Abuse Form Domestic | LastName_FirstName_EmpID_AbuseFormDomestic_Date.pdf | Last Name, First Name, Employee ID, Date |
Abuse Form Elderly | LastName_FirstName_EmpID_AbuseFormElderly_Date.pdf | Last Name, First Name, Employee ID, Date |
Confidentiality | LastName_FirstName_EmpID_Confidentiality_Date.pdf | Last Name, First Name, Employee ID, Date |
Facts About Workers | LastName_FirstName_EmpID_FactsAboutWorkers_Date.pdf | Last Name, First Name, Employee ID, Date |
License | LastName_FirstName_EmpID_License_Expiration Date_License Name_Date_Code.pdf | Last Name, First Name, Employee ID, Expiration Date, License Name, Date |
Certification | LastName_FirstName_EmpID_Certification_Expiration Date_Certification Name_Date_Code.pdf | Last Name, First Name, Employee ID, Expiration Date, Certification Name, Date |
Degree | LastName_FirstName_EmpID_Degree_DegreeName_Type of Degree_Date_Code.pdf | Last Name, First Name, Employee ID, Degree Name, Degree Date |
Execution
The configuration values are obtained.
The process gets the TemplateId of the EmployeeMasterForm.
All the files in the ftpRemotePath are searched.
For each document:
The process checks if the extension of the file is allowed (ftpRemoteFileExtensionAllowed).
The process gets the last updated file from the _BackupFile (will be called previous file)
If the extension it is allowed (=csv) for each row of the file:
The row information is used to check if the current row has any change for the same employee id in the previous file.
The row is skipped if the row has no change.
If the row has any change:
The employee id is used to search if a form exists for the same employee.
If there is no employee for the searched id, the process creates a new instance of the Employee Master Form, using the employee data first name, last name, id, and status. And with this values creates a folder path that is saved in the form too.
If a form exists for the employee id, the corresponding Employee Master form is updated with the new data from the file, modifying employee first name, last name, id, and status. And with this values creates a folder path that is saved in the form too.
The process uses the data in the row to generate the path and the name of the employee folder.
With the folderName that was generated, a search is made to see if a folder exists on the system with the same name (under active or Termed).
If the folder exists:
It is validated if the path of the found folder is equal to the path of the folder that was generated with the row information.
If it is the same path, the process does not perform any action, since the folder is located on the same path.
If the path is different (for example the row indicates that the employee is active and the folder is Termed, or the last name has changed):
The FolderId of the current folder is obtained.
It is validated if the parent folder of the employee exists (that is, if the Last Name initial folder exists). If it does not exist, it is created.
The folder and all documents are moved from the current path to the new path that was defined with the row information.
After that, for each folder and subfolder of the employee, the index fields and user groups that have access are updated.
The index fields of all the documents that belongs to any subfolder are updated.
If the folder does not exist:
The "Human Resources/HR Template" folder structure is copied to the path of the new employee folder.
The name and description of the copied folder is updated with the folderName that was created with the row information.
The values of the index fields of the folders with the data in the First Name, Last Name and UNIQUE Employee ID row are updated.
The user groups that have access to each folder and subfolder are updated.
The file are moved from the root FTP folder to the BackupFolder (remoteFolder/_BackUp).
The process ends.
Security Matrix
Update the security of the folder and subfolder following the Security Matrix:
FolderName | Security Groups |
---|---|
/Employee Folders |
|
/Employee Folders/1 - Onboarding Documents and Personal information |
|
/Employee Folders/2 - HR Compliance | |
/Employee Folders/3 - Employment Histoy | |
/Employee Folders/4 - Employment Relations | |
/Employee Folders/5 - Performance and Training | |
/Employee Folders/6 - Termination Records | |
/Employee Folders/7 - Employment Benefit File |
|
/Employee Folders/8 - I-9 |
|
FAQ
Does the scan team ever manually upload to the Document Library and does that affect the automation?
The scan team would very rarely manually input any items into the Document Library. However, the way the scan team inputs files bypasses the HR Automations and is not guarenteed to have a match in the Employee Master Form.