US20140289150A1 - Operation of a benefits administration domain model - Google Patents
Operation of a benefits administration domain model Download PDFInfo
- Publication number
- US20140289150A1 US20140289150A1 US14/300,188 US201414300188A US2014289150A1 US 20140289150 A1 US20140289150 A1 US 20140289150A1 US 201414300188 A US201414300188 A US 201414300188A US 2014289150 A1 US2014289150 A1 US 2014289150A1
- Authority
- US
- United States
- Prior art keywords
- data
- employee
- benefits
- platform
- date
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/105—Human resources
- G06Q10/1057—Benefits or employee welfare, e.g. insurance, holiday or retirement packages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/067—Enterprise or organisation modelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/105—Human resources
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/80—Management or planning
Definitions
- inventive methods and systems described herein generally relate to human capital management and particularly relate to a scalable platform for enterprise level human capital management including performance, compensation, benefits, and the like.
- Human resource management systems must provide support for diverse applications such as compensation planning and execution, performance appraisal and management, alignment of compensation and performance, benefits administration, benefits user self service, and the like. There exists a need for a scalable human resource management system that facilitates the effective application of these services to a wide range of entity sizes, structures, and business processes while ensuring a high degree of configurability and client data separation for use on distributed, networked computing environments.
- the systems may include a persistence layer for storing a benefits administration domain model; a business logic layer comprising the domain model; a plurality of employee benefits management applications; and a presentation layer comprising a user interface for interacting with the applications.
- the methods may include storing a benefits administration domain model in a persistence layer of a human capital platform; manipulating domain objects of the domain model with employee benefits management applications; configuring the benefits management applications within a business logic layer of the platform; and presenting a user interface for facilitating user interaction with the applications using a presentation layer of the platform.
- the domain model may comprise domain objects representing employee benefits information.
- the domain model may also comprise domain objects representing employee information and employee benefits information.
- the plurality of applications may include an employee benefits enrollment application, an employee beneficiary and dependent maintenance application, an employee life event application, an administration application, an input file application, an output file application, a reporting application, or some other type of application.
- the plurality of applications may also include an employee benefits application.
- the employee benefits application may further include employee self-service and administrator self-service.
- the plurality of applications may also include benefit eligibility applications, enrollment applications, or some other type of applications.
- the persistence layer may include a database for storing the benefits administration domain model, synchronization facilities for updating the domain model, and the like.
- updating the domain model may include bulk updating of the domain model.
- the persistence layer may also include security for limiting access to the database.
- the security may allow a plurality of independently accessible domain models to be stored in the database.
- the independently accessible domain models may be stored in separate schemas.
- the user may be an employee, a benefits administrator, or the like.
- the benefits administration applications may include an employee benefits application that includes employee self-service and administrator self-service features that are accessible via the user interface.
- the benefits administration applications may also include benefit eligibility applications, enrollment applications, and the like.
- the benefits administration model may be stored in a database that is accessible through the presentation layer.
- the domain model may be updated with synchronization facilities.
- updating the domain model may include bulk updating of the domain model.
- a domain model comprising a plurality of objects in accordance with various embodiments of the present invention.
- the aspect may include providing a domain model comprising a plurality of objects containing employee and employee benefits information and dynamically adjusting, with a processor, the plurality of objects using the transaction information in each object to reproduce a state of the domain model as it existed when any one of the transactions was applied.
- each of the plurality of objects containing employee and employee benefits information may contain data describing all state changes of the object and all transactions applied to the object.
- the aspect may further include separating effective dates from the domain model to facilitate the objects dynamically adjusting to operate with properties and associations in effect as of an effective date.
- the effective date may be a date range.
- Embodiments may further include responding to a query of the domain model with the processor by retrieving data from at least one version of at least one of the plurality of objects that is indicated by the effective date; dynamically adjusting the plurality of objects based on an effective date; responding to a query of the domain model with the processor by retrieving data from at least one version of at least one of the plurality of objects that is indicated by the reproduced state of the domain model; and responding to a query of the domain model with the processor by retrieving data from at least one version of at least one of the plurality of objects that is indicated by an effective date.
- the aspect may include providing a domain model comprising a plurality of effective dated objects containing employee and employee benefits information and dynamically adjusting, with a processor, the plurality of objects using the transaction information in each object to reproduce a state of the domain model as it existed when any one of the transactions was applied.
- the aspect may include each of the plurality of objects containing employee and employee benefits information may contain data describing all state changes of the object and all transactions applied to the object.
- the aspect may include separating effective dates from the domain model to facilitate the objects dynamically adjusting to operate with properties and associations in effect as of an effective date.
- the effective date may be a date range.
- the aspect may further include responding to a query of the domain model with the processor by retrieving data from at least one version of at least one of the plurality of objects that is indicated by the effective date; responding to a query of the domain model with the processor by retrieving data from at least one version of at least one of the plurality of objects that is indicated by the reproduced state of the domain model; and responding to a query of the domain model with the processor by retrieving data from at least one version of at least one of the plurality of objects that is indicated by an effective date.
- the aspect may include providing a domain model comprising a plurality of effective dated objects containing employee and employee benefits information, wherein each of the plurality of objects may contain data describing all state changes of the object and all transactions applied to the object; receiving a query of the domain model that references an effective date; and dynamically adjusting, with a processor, the plurality of objects using the transaction information in each object to reproduce a state of the domain model as it existed on the effective date.
- the aspect may include responding to the query by retrieving data from at least one version of at least one of the plurality of objects that is indicated by the reproduced state of the domain model.
- the aspect may include separating effective dates from the domain model to facilitate the objects dynamically adjusting to operate with properties and associations in effect as of an effective date.
- the effective date may be a date range.
- the aspect may include accessing a domain model to acquire a current version of a domain object containing employee and employee benefits information; determining an effective start date for a change of a portion of the domain object, the domain object being associated with a current generation; creating a new generation of the domain object that includes a copy of the current generation; creating a new version of the domain object within the new generation based on a current version; and allocating the effective start date to the new version.
- methods may further include storing the new generation with a processor in a human resources management database.
- the aspect may include providing a domain model comprising a plurality of objects containing employee and employee benefits information and dynamically adjusting, with a processor, the plurality of objects using the pending state in each object to produce a state of the domain model that includes the pending state based on the business application context.
- each of the plurality of objects containing employee and employee benefits information may reflect a pending state of the object based on a business application context.
- the pending state may be accessible to the processor in a pending delegate of the object.
- the pending delegate may only be accessible through the object.
- the aspect may also include configuring a pending state of a domain model; receiving a change to an employee benefits data item in a domain object of the domain model that requires authorization; using a processor to create a pending delegate of the domain object; and accessing the data item in the pending delegate.
- accessing the data item in the pending delegate may include accessing the pending delegate through the domain object and may be achieved only through the domain object.
- creating the pending state may be based on the configuration of the pending state and may include employee and employee benefit data.
- the aspect may include configuring a pending state of a domain model; determining a change to benefits data accessible in a domain object of the domain model that requires authorization; using a processor to create a pending delegate of the domain object; and accessing the data item in the pending delegate.
- accessing the data item in the pending delegate may include accessing the pending delegate through the domain object and may be achieved only through the domain object.
- creating the pending state may be based on the configuration of the pending state.
- the aspect may include taking an employee benefits domain model comprising a hierarchical set of benefits eligibility criteria and a plurality of domain objects representing employee attributes; using a processor to receive an employee identifier and access the domain model to retrieve attributes of the employee; presenting a first selection of benefits to the employee based on a comparison of the employee attributes with the benefits eligibility criteria; receiving a benefits selection from the employee; and presenting a second selection of benefits to the employee based on the comparison and the selection.
- accessing the domain model may be based on a target date.
- the plurality of domain objects may be effective dated.
- the attributes retrieved may be associated with a domain object version that has an effective from date less than the target date and an effective to date greater than the target date.
- the attributes retrieved are retrieved from a domain object version that includes the target date within an effective date range of the object version.
- the aspect may include receiving a change related to an employee benefit; modifying a domain object representing the employee benefit; calculating with a processor an impact on portions of the domain model that include a state of the employee benefit; and updating the domain model so that the state of the employee benefit is adjusted based on the impact.
- the domain object may be an effective dated domain object.
- the state of the employee benefit may be associated with an effective date of the effective dated domain object.
- the state may be a future state relative to a target date, a past state relative to a target date, or the like.
- the change related to an employee benefit may be a change in rules, a change in employee indicative data, or any other change.
- employee indicative data may include one or more of an employee residential address, an employee zip code, and a union membership.
- the change related to an employee benefit may also be a newly declared event.
- calculating the impact may be based on the received change, on the received change and the state, or on some other factor.
- the state may be a pending state of a domain object.
- the pending state may be captured in a pending delegate.
- the state may be associated with an effective dated domain object.
- updating may include recording updates in a domain object version.
- the domain model may comprise effective dated domain objects.
- the aspect may include receiving a change related to an employee benefit; calculating with a processor an impact on portions of the domain model that include a first state of the employee benefit; calculating with a processor an impact on portions of the domain model that include a second state of the employee benefit; and updating the domain model so that the employee benefit is adjusted based on the impact.
- updating the domain model may include modifying a domain object representing the first or second state of the employee benefit.
- the change related to an employee benefit may be a change in rules, a change in employee indicative data, or any other change.
- employee indicative data may include one or more of an employee residential address, an employee zip code, and a union membership.
- the change related to an employee benefit may also be a newly declared event.
- calculating the impact may be based on the received change, on the received change and at least one of the first state and the second state, or on some other factor.
- the state may be a pending state of a domain object.
- the pending state may be captured in a pending delegate.
- the state may be associated with an effective dated domain object.
- updating may include recording updates in a domain object version.
- the domain model may comprise effective dated domain objects.
- the aspect may include transmitting benefits information from a server to a remote computing facility over a network; presenting the benefits information to a user in a user interface using the computing facility; receiving a response to the benefits information from the user using the computing facility; transmitting the response to the server; computing changes to the benefits information based on the response; and updating a server-accessible domain model of the benefits based on the computed changes.
- the aspect may further include transmitting the changes to the computing facility.
- transmitting the benefits information from the server to the remote computing facility may include retrieving the benefits information from the domain model.
- retrieving the benefits information may be based on a user identifier provided from the web browser.
- the user interface may run using ADOBE FLASH technology, the user interface may be built using ADOBE FLEX technology, and the user may be a benefits subscriber.
- the benefits information may include one or more of: employee profile data, beneficiary data; dependent data; benefit election data; benefit-related event data; employee health data; medical benefits; dental benefits; life insurance benefits; flexible spending account data; and employer paid benefits.
- the benefits subscriber may be an employee.
- the response may impact one or more of: employee profile data, beneficiary data; dependent data; benefit election data; benefit-related event data; employee health data; medical benefits; dental benefits; life insurance benefits; flexible spending account data; and employer paid benefits.
- the user may be a benefits administrator.
- the benefits information may include one or more of: enrollment transaction trends; new hire enrollment data; employee search; event search; enrollment status; dependent age data; census data; benefit election data; medical benefit data; billing data; event timeline data; and employee attribute timeline data.
- the response may impact one or more of: employee profile data, beneficiary data; dependent data; benefit election data; benefit-related event data; employee health data; medical benefits; dental benefits; life insurance benefits; flexible spending account data; and employer paid benefits.
- the user interface may display an events timeline.
- FIG. 1 depicts diverse elements of a human resource management platform.
- FIG. 2 depicts an architecture view of the platform.
- FIG. 3 depicts smart synchronization aspects of the platform.
- FIG. 4 depicts effective dating aspects of the platform.
- FIG. 5 depicts group manager facilities of the platform.
- FIG. 6 depicts a data independence embodiment.
- FIG. 7 depicts platform reporting flows.
- FIG. 8 depicts a unified human resources management platform.
- FIG. 9A depicts an employee-centric view of the unified platform of FIG. 9A .
- FIG. 9B depicts an administrator-centric view of the unified platform of FIG. 9A .
- FIG. 10 depicts a welcome screen of the benefits administration system.
- FIG. 11 depicts an employee profile screen.
- FIG. 12 depicts a beneficiary maintenance screen.
- FIG. 13 depicts a dependent maintenance screen.
- FIG. 14 depicts a screen for wellness centre.
- FIG. 15 depicts a FSA manager screen.
- FIG. 16 depicts a voluntary programs screen.
- FIG. 17 depicts a screen for common forms.
- FIG. 18 depicts a current benefits screen.
- FIG. 19 depicts a screen for declaring a life event.
- FIG. 20 depicts a screen with duly filed information for a life event declaration.
- FIG. 21 depicts a welcome screen for enrollment.
- FIG. 22 depicts a screen for indicating tobacco usage
- FIG. 23 depicts a screen for reviewing the current enrollment.
- FIG. 24 depicts a screen for reviewing dependent information.
- FIG. 25 depicts a screen for adding a dependent.
- FIG. 26 depicts a screen illustrating input data validation
- FIG. 27 depicts a screen showing added dependents.
- FIG. 28 depicts a beneficiary review screen.
- FIG. 29 depicts a screen for adding beneficiary information.
- FIG. 30 depicts a screen for assigning an allocation to a beneficiary.
- FIG. 31 depicts a screen for making an election for one benefit.
- FIG. 32 depicts a screen for electing medical benefits.
- FIG. 33 depicts a timeline change upon election of a coverage level.
- FIG. 34 depicts a selection page for supplemental life insurance.
- FIG. 35 depicts a pending change to supplemental life insurance.
- FIG. 36 depicts a flexible spending account election screen.
- FIG. 37 depicts an employer paid benefits page.
- FIG. 38 depicts a review and confirm changes page.
- FIG. 39 depicts a benefit confirmation screen
- FIG. 40 depicts returning to the welcome screen with a new pending life event listed for approval.
- FIG. 41 depicts various tools available to the administrator.
- FIG. 42 depicts various tools available to the administrator, and a screen for conducting an employee search.
- FIGS. 43 a , 43 b , 43 c , and 43 d depict an administrator evidence of insurability search.
- FIG. 44 depicts an administrator screen for an event search.
- FIG. 45 depicts an administrator enrollment statistics report.
- FIG. 46 depicts an administrator new hire report.
- FIG. 47 depicts an administrator dependent age out report.
- FIG. 48 depicts an administrator dependent age out report filtered according to particular criteria.
- FIG. 49 depicts the status of queued census reports.
- FIG. 50 depicts a customization interface for creating an administrator census report.
- FIG. 51 depicts an administrator output file statistics report.
- FIG. 52 depicts an administrator output file count report.
- FIG. 53 depicts an administrator report for input file search.
- FIG. 54 depicts an administrator enrollment transaction report.
- FIG. 55 depicts an administrator enrollment transaction report in form of a chart.
- FIG. 56 depicts an administrator benefit election summary report.
- FIG. 57 depicts an administrator plan migration report.
- FIG. 58 depicts an administrator interface for creating an ad hoc report.
- FIG. 59 depicts a screen for ad hoc report management by an administrator.
- FIG. 60 depicts an administrator access to historical premium billing reports by month.
- FIG. 61 depicts an audit screen of all transaction, events, and elections for a subscriber.
- FIG. 62 depicts election changes that occurred at a particular event.
- FIG. 63 depicts an audit timeline view
- FIG. 64 depicts a screen for annual enrollment.
- a human resource management platform may include a centralized domain model where application logic comes together in one place; a deep and mature configuration model that provides extensive configurability; a unique design for groups and hierarchies that facilitates leveraging them for natural and efficient rule distribution; smart synchronization features to facilitate loading bulk data and recomputing ramifications of changes detected in the data; data independence and pending world features that allow the platform to maintain independent data sets pertaining to the same core entity or organization concurrently while allowing a wide range of data update options; an effective dating framework that may facilitate accurately maintaining chronological states of the platform and its associated data in the past, present, and future at the same time; high-performance, scalable, and enterprise-class support; and many other features and capabilities as described herein.
- the platform may include domain driven design features that may be well suited to a scalable product family that can be readily tailored to a variety of client needs.
- Business logic may be centrally located in the domain model, which may form an object-oriented backbone to the platform.
- the platform may include a deep configuration model that may provide rich model-based configuration capabilities that can be prepared externally and loaded into the platform to handle a wide range of requirements from clients.
- the configuration model may include configuring values, structures, scripted functionality, and the like.
- the platform may provide a rich user experience through an intuitive and interactive user interface that is centered on the user's experience, using a combination of textual and graphical means to present information relevant to the user's job.
- the platform may be scalable to support any size population and feature set from very small to very large.
- the platform may support deployments of 400,000 users or more.
- Feature sets may be expanded to meet requirements that fall outside the bounds of the deep configuration model capabilities.
- the platform 100 may support third party integration to facilitate bringing together the best content and user experience to solve human resource management challenges.
- the platform 100 may present several mechanisms for integrating third parties into the system, providing a seamless experience to the end user, including—linking to remote content—a user interface can be easily tailored to provide context-sensitive links to content provided by a client or third party; accessing local content—certain content may be accessed from within a firewall or through a server, such as for security purposes.
- the user interface can be tailored with internal content links to provide internal content; consuming web services—the platform 100 contains web service integration support that enables applications to consume web services from third parties.
- users may be directed to third party control, with connections initiated and results obtained through web services; publishing web services—third party tools may also use portions of application functionality provided by web services that can be published by the platform 100 or by a provider of the platform 100 .
- publishing web services may be used for real-time data synchronization by clients or for information queries and updates by internal tools; data import and export—the platform 100 may support batch loading of full updated files from clients, and export of files formatted for specific recipients.
- platform features 102 may include a domain model that may include business logic, an effective dating framework, database update or synchronization capabilities, smart synchronization facilities for updating data and the domain model in the database with enterprise business system data, deep configuration features, group manager features, data independence functionality, workflows, and the like.
- the platform 100 may also be associated with business applications 104 such as performance driven compensation applications, compensation planning applications that supports both in-cycle (focal) and out-of-cycle planning, benefits applications that can be used by employees, human resource administrators, and third parties, employee and manager self service applications, performance planning, appraisal, and feedback applications that support input from employees, co-workers, and managers, and other business applications as may be described herein or may be envisioned or needed for effective use of the human resource management platform.
- the platform 100 may be associated with a user interface that may provide alert capabilities, access security, and a wide variety of user interface screens, such as those associated with each of the business applications 104 .
- the platform 100 maybe associated with various technologies 110 that may be used for development, deployment, operation, maintenance, upgrade, and the like.
- Platform technologies 110 may include open source software, domain driven design, JBOSS HIBERNATE, ECLIPSE, JAVA, JMX, ADOBE FLASH, ADOBE FLEX, TAPESTRY, JASPER, DOJO, SOAP, AJAX, XML, and the like.
- the platform 100 may be associated with and support external interfaces 112 such as business system data sources, external application linking and integration, web services, input file processing and compliance checking, change publication services, reporting, and the like.
- the platform 100 may include or be associated with one or more databases 114 that may provide persistence of data and access to input data and derived data including the domain model.
- the platform 100 may be associated with users 118 that may include line managers, group managers, human resource administrators, various other corporate roles, information technology specialists, employees, third parties, and the like.
- the platform 100 may be deployable in a wide variety of markets 120 , some of which may include large entities. Markets may include aerospace and defense, banking, business services, capital goods, chemicals, conglomerates, construction, consumer goods, diversified financials, drugs and bio technologies, food, beverage, and tobacco businesses, health care, hotel service, travel and leisure services, insurance, materials, oil and gas production and distribution, retailing, semiconductors, telecommunications, transportation, utilities, and the like.
- the platform 100 may be associated with and may beneficially support business services 122 such as planning, management, financial approval, payroll, employee-related analysis, event processing, reporting requirements, business system configuration, business logic realization, secure employee data access, workflows, and the like.
- the platform 100 may also be associated with deployment 124 that may facilitate hosting, licensing, web browser integration, thin client deployment, server-based deployment, virtual computing, virtual data warehousing, and the like.
- the platform 100 may include a presentation layer 202 , a business logic layer 204 , and a persistence layer 208 .
- the presentation layer 202 may facilitate user access through a web-based interface that may be almost entirely implemented in ADOBE FLEX, running in the user's web browser, and communicating to a platform server through an SSL connection.
- the user may interact with the platform 100 over a secure connection, and may be authenticated via single sign-on to use the platform either through a third party security portal or through a login screen associated with the platform 100 .
- Functionality and visibility to certain data may be restricted from the user due to platform 100 authorization rules.
- the presentation layer 202 may also include HTML capabilities, provide support for a reporting mechanism (e.g. Jasper reporting or other equivalent reporting mechanisms), provide PDF formatted documents, and the like.
- a reporting mechanism e.g. Jasper reporting or other equivalent reporting mechanisms
- the platform 100 may provide a business logic layer 204 that generally can be understood to be a middle tier in the product architecture where substantially all of the application logic is disposed.
- a rich object model which may be stored on a server, interacts with the presentation layer 202 , computes implications of data input to the platform, and may store itself in a database that may be part of a persistence layer 208 .
- Configuration loaded into the platform creates and modifies objects, and web services may be published or consumed to provide a communication path with the model to outside partners.
- Application components build on this model, adding capabilities such as succession, performance, compensation, benefits administration, and the like.
- the platform 100 may provide a persistence layer 208 that may be largely automated in the platform, with an object-relational mapping strategy for synchronizing a database and an in-memory model using database synchronization software such as JBoss Hibernate.
- the platform may include an effective dating framework that may be automated with this layer.
- the database that is accessed through the persistence layer 208 may contain no business logic so that it can provide a fast storage and query response for objects in the model.
- the persistence layer 208 may include denormalized representations of portions of the database to support analytics, reporting, and the like.
- the persistence layer 208 also implements some security aspects and provides a basis for fast data loading and separation of data sets.
- the human resource management platform 100 may provide facilities for updating the object model and database based on data received from external business systems, such as financial, organizational, legal, and the like.
- human resource management systems rely on data captured and managed in external business systems that may be used for strategic and operational purposes by businesses. External data may include insurance, benefit programs, and the like from third parties.
- the platform 100 provides smart synchronization facilities that enable bulk loading of data from these systems on a regular basis while providing rules driven, time efficient automatic updating of the data and model content used by the platform 100 .
- Smart synchronization may support various computing environments, such as parallel processing or distributed computing architectures to benefit updating data in deployments of the platform in large organizations (e.g. utility companies with more than one hundred thousand employees, large numbers of transactions, and the like).
- FIG. 3 which depicts a smart synchronization facility 300 of the platform 100
- bulk loading of data may benefit the various business applications supported by the platform 100 such as performance driven compensation and benefits administration.
- Smart synchronization 300 may provide capabilities to bring the bulk data into the platform 100 rapidly and upload the model/database quickly.
- Smart synchronization 300 also supports data that is effective dated and may support receiving data in industry standard formats (HRXML and other consortium formats).
- HRXML and other consortium formats industry standard formats
- the smart synchronization facilities 300 may be designed as a pipeline architecture with a series of transformations that convert raw business data 302 into object data 308 using handlers 304 .
- the object data 308 is validated for errors and the like (e.g. raw data 302 contains 200 job descriptions, yet the current model holds 10,000 job descriptions).
- the validated object data is then reconciled 312 with the current model data 320 to determine differences, such as changes in salary, new employees, new jobs, organizational changes, and the like.
- the changes may be provided to a recomputation engine 314 that recomputes all derived model data, taking into consideration the changes provided by the reconcile process 312 .
- the object data in the model may be organized into groups of like database transactions to improve the efficiency of these updates.
- the hierarchy link of each of these employees may be grouped and forwarded to the database update engine 318 to improve the efficiency of the update.
- Portions of smart synchronization 300 may be implemented as a pipeline to support operation on separate processors, servers, and the like. This may be facilitated by the inherent separation of employee data. While the types of data required for each employee may be the same, the information is very unique and can be processed independently. Similarly, although data and formulas for processing data for a business application such as performance driven compensation may be different when compared to processing data for benefits administration, the main smart synchronization steps and algorithms may be the same. Smart synchronization 300 may be similar to and/or may be used to implement coverage repair in a benefits administration business application. This is further described in the benefits administration application specification.
- Smart synchronization 300 may also be embodied as a rules engine that allows a company to decide how data in the platform 100 reacts to changes in the data that is sent into the platform 100 on a regular basis such as from various other business systems.
- Smart synchronization 300 may operate in parallel on any plurality of instances of the current model 320 as may be required with data independence described herein elsewhere.
- Smart synchronization 300 also supports a full audit trail of all changes made, which may be important for regulatory compliance and other change verification processes.
- smart synchronization 300 recomputes all derived data, planned changes that are recorded in the platform 100 and are not yet effective in the current model 320 , but will be effective at a future point in time, if a data item that impacts these planned changes is received, the computations that affect the planned change will automatically be executed. In an example, if a manager has entered plans for merit increases for eight of her employees and the external business data indicates that one of these employees is to be transferred to another manager before the merit increase is to be effective, smart synchronization 300 will detect this employee change and compute the data necessary to support the planned employee transfer and the planned merit increases.
- Changes may include: moving an employee compensation budget from the first manager to the second manager; ensuring that any pending authorization workflows for the merit increase are moved to the role responsible for authorizing merit increases for the second manager; adjusting other aspects of the employee compensation (e.g. bonus) based on the department rules of the second manager, and the like.
- the updated model 322 reflects these planned changes so that each manager can see how the planned changes will impact their departments in the future.
- Recomputation of derived data may be required because all of the budgets, guidelines, workflows, and the like may be configured into the platform 100 but may not be inherent in the external business systems. Therefore, any given change made outside the platform 100 (ex: an employee is hired, transferred, fired, quits, etc) and input to the platform 100 for synchronization has no way of knowing what the downstream impact to other parts of the platform 100 will be. This automatic recomputation allows managers and administrators to focus on the business of the specific change (dealing with an employee resignation) rather than the complexities of the impact of the change to the platform 100 .
- Smart synchronization 300 may include separating external business data 302 into separate files or categories of data, such as data that relates to jobs, salary, employees, groups, workflow approvers, and the like. Alternatively the data may already be separated into individual files, such as a job file, an employee file, and the like. Each file or category of data may be processed separately, which may further improve the efficiency of the synchronization process.
- the reconcile process 312 may infer a deletion or a change of an item based on a comparison of the raw business data 302 and the current model 320 .
- the reconciliation process 312 may compare each existing job with the jobs in the job data input file; determine what is new, what has changed, and what has been removed.
- each job may be assigned a unique identifier. If the unique identifier in the input data 302 matches to a job in the current model 320 , then reconciliation 312 determines if the job data has changed by comparing the input job data to the current model job data.
- the input data job is flagged as a new job to be added during the recomputation process 314 . If one or more unique job identifiers in the current model 320 is not found in the input data, then these jobs in the current model 320 are tagged as to be deleted. The job is not directly deleted because it may be used or referenced elsewhere in the platform 100 . Although the platform 100 does not receive a ‘delete job’ action, smart synchronization 300 infers that an entry in the platform 100 that is not included in the current job input file is to be removed. An item that is tagged to be deleted may result in the recompute process 314 archiving the job to ensure proper traceability for regulatory and governance compliance.
- the platform 100 is scalable to facilitate support of entities with very high employee counts. Entities with upwards of 400,000 employees can be supported by the platform 100 .
- Smart synchronization 300 facilitates scalability through memory management techniques that may include using caching and pagination to perform the synchronization process on large model elements with a reasonable amount of memory. Because of the widely diverse impact of a change that relates to employee groups that are defined and/or maintained within the platform through the group manager functionality (described elsewhere herein), recomputation 314 requires very large amounts of data to be available for processing.
- One memory management technique used includes keying input data with a natural key (e.g. social security number for employee, hierarchy key for a group, and the like). The natural key may be used in conjunction with the individual object model element unique identifier to cache relevant data so that the recomputation processing 314 can be executed very efficiently.
- Smart synchronization 300 includes an update facility 318 that persists the recomputed model data to produce the updated model and database 322 .
- techniques to make this update process efficient include, among other techniques, grouping like database transactions together into a single update request. Even if calculations are simple, due to the large quantity of calculations and database changes required each time that smart synchronization 300 is performed the data to be updated is ordered to facilitate batching the update requests.
- a database update tool such as HIBERNATE may be used because it supports efficient batching of requests.
- the platform 100 may accumulate a large number of updates (e.g. 10,000) into a single request rather than issuing 10,000 individual requests. Batching is also used when data is read out of the database for reconciliation 312 or recomputation 314 so that fewer transaction requests must be processed during the smart synchronization process 300 .
- Smart synchronization 300 may also include handlers 304 that may operate in a pipeline or may themselves be composed of a pipeline of data processing sections.
- the organization, order, and features of the handlers 304 may be configured as part of a build time configuration process. This handler 304 customization may allow receiving data that is unique for a deployment of the platform 100 (e.g. adding or handling a special job code).
- handlers 304 are generally ordered to process data from the most generic (e.g. jobs) to the more specific (e.g. groups), the order of the handlers can be changed so that a group handler 304 A may be executed before or after a job handler 304 B.
- Handlers 304 can execute a wide variety of tasks, such as to copy data, check a length of description, and the like. Configuring handlers 304 may be performed with an interface coded using Java.
- Effective dating is a strategy for managing data that changes over time. Traditional data processing takes place in the present, and results are stored from now until they are changed in the future. With effective dating, you can set the effective date to a date or date range, and read data as it was (or is projected to be), or write data for the present, past or future. Most effective dating designs fail due to poor performance or overly complex logic, passing dates and date ranges throughout the code and obscuring the business logic.
- the platform 100 includes a sophisticated layer that separates dates from the application logic and manages effective dates deep in the architecture outside of application logic, keeping the logic itself simple. For certain business applications supported by the platform 100 , effective dating is fundamental.
- the platform 100 provides tools to create an effective dated model implementation and persistence layer. This unique capability provides a scriptable, simple point-in-time programming model to developers, for customizations, and scripted configuration. It also effective dates a configuration of the platform 100 itself, so that changes in configuration can be scheduled to take effect at some point in the future, or retroactively in the past. Automation and layering may be techniques that make this successful.
- the effective dating framework also has a built-in capability referred to as pending worlds which allows a type of long-lived transaction. Unlike a true transaction, however, it is not totally isolated.
- effective dating 400 may enable changes made to each domain object 404 to be associated with an effective date 402 and with a generation 408 .
- Tracking of changes to domain objects may be supported with a two dimensional effective dating mechanism.
- the X axis may represent an effective date time line and the Y axis may represent generations of an object.
- each object generation 408 (each ‘value’ of Y), each effective-date-differentiated version of the object is tracked based on effective dates known when the object generation is saved (e.g. when it is persisted in the persistence layer).
- the current object generation (indicated by its Y value) includes the previous object generation effective dated object versions, plus additional changes introduced since the previous object generation was saved. Once the current object generation is saved, any further changes that impact the object will be applied to a new object generation (indicated by a new Y value) that starts out as a clean copy of the most recently saved object generation.
- Each version of a domain object has an effective date that may include an effective ‘from’ date and an effective ‘to’ date to allow selective access of a version of the object based on this effective date range.
- FIG. 4 includes three object generations, generation 1 ( 408 A), generation 2 ( 408 B), and generation 3 ( 408 C).
- generation 1 includes one version of the object 404 with effective dates Oct. 1, 2008 to all time.
- Generation 2 includes a copy 404 A of the object 404 from generation 1 with effective dates adjusted to Oct. 1, 2008 to Jun. 30, 2009 and a second version 410 of the copy 404 A that includes certain changes and has effective dates Jul. 1, 2009 to all time.
- Generation 3 includes a copy of object version 404 A, a copy 410 A of object version 410 with adjusted effective dates Jul. 1, 2009 to Oct. 3, 2009, and an updated version 412 of the object version 410 A that includes certain changes and an effective date of Nov. 1, 2009 to all time.
- the generation 1 object version 404 is saved and a copy 404 A of the generation 1 object version is allocated to generation 2.
- the effective ‘to’ date of the object version 404 A is set based on the ‘from’ effective date of the number of dependents change.
- a copy 410 of object version 404 A is created in generation 2, the dependent changes are made to it and it is effective dated so that there is no gap between the 404 A version and the 410 version of the object.
- generation 3 starts as a copy of generation 2 and includes object version 404 A and a copy 410 A of object version 410 with an adjusted effective ‘to’ date based on the effective date of the address change.
- the object version 410 A is copied to a new object version 412 , the address change is applied and the effective dates are set.
- FIG. 4 is a simplified example of effective dating, the order of changes could be different and the end result would be the same. If in the example the 408 C change occurred first (with an effective date of November/1) and then in a next generation the 408 B change occurred (with an effective date of July/1) the changes would result in the same final generation because the platform 100 allow updates to be applied in any effective dating order.
- Execution instances of a business application may be associated with a target date that may represent the calendar date for which the business application is being executed.
- a target date may represent the calendar date for which the business application is being executed.
- generation 3 of FIG. 4 represents an object being queried.
- An instance of a business application associated with a target date of Jun. 1, 2009 will access information from object version 404 A because Jun. 1, 2009 falls within the effective date range Oct. 1, 2008 to Jun. 30, 2009 of version 404 A. This includes the user name, social security number, address of 123 Main St, and dependent count of 2.
- target date will access object version 410 A which includes the user name, social security number, address of 123 Main St, and dependent count of 3.
- An instance of a business application being executed with a target date of Nov. 1, 2009 will access version 412 which includes the user name, social security number, address of 4 Eagle St, and dependent count of 3.
- This example is specifically simplified to show how effective dating 400 may be used by business applications in the platform 100 . Note that all this is operating on the latest generation—that is, updated with the latest information and further including all values that were in effect in any domain object version. Generally, only an administrator inspecting auditing information and selected reports may look at older domain object generations. However, the entire platform 100 can operate with a target date set to any previous date in such a way that the platform 100 would read from the earlier generation that was available at that target date.
- An objective of effective dating may be to support point-in-time simplicity in the platform 100 that allows selecting a target date similarly to setting a clock to a particular date/time and getting access to only the information effective at the set date/time.
- the business applications operate based on the target date so that an applications programmer does not need to create any logic to determine which entry to use; the underlying platform provides the correct data.
- Effective dating 400 allows for an application to identify a particular time and access to the data is implemented by the platform below the business application/logic layer, but above the database. Effective dating 400 may be different from prior attempts that created separate database tables for different times. The prior attempts generally do not perform well on large databases, do not support bulk data loading, and do not support using data caching for updates.
- One embodiment indicates that a future state is kept in a separate table that is copied to a currently active model shortly after midnight to bring the current model to the current (no longer future) state. While this may be effective, it may not meet the performance requirements of large enterprise-class deployments.
- Other prior attempts at effective dating included creating separate tables or change tables and then pass dates throughout the business applications to try to figure out what a state of an object was at a specific date. This puts an onerous burden on a programmer and makes the application code significantly more complex and brittle. These differences may substantially improve the value and effectiveness of using effective dating 400 .
- a benefits administration business application executing in association with the platform 100 may use the effective dating mechanism 400 described above to provide the ‘point-in-time’ simplicity within the application to deal with events in each subscriber's life that affects benefits.
- Application logic in the application may control the target time so that it becomes the context that all objects implicitly reference to provide data from the version that has an effective date that includes the target time.
- the application controlled target time can be in the past, present, or future.
- Effective dating 400 may facilitate making a record of events and changes over time. Effective dating 400 can also be used to infer events. In an example, if a change in an employee's address is detected in the raw input business data, an employee move event that occurred effective with the date that the new address was introduced to the platform 100 may be inferred from the data change. Effective dating 400 may be applied to dates themselves, providing a record of changes to dates. In an example, correcting an employee hire date may create two hire dates for the employee, one in effect up until the correction was made, and the other in effect after the correction. Therefore, an accrual that is dependent on an employee start date can be automatically corrected when the system performs coverage repair based on the new hire date.
- Coverage repair is a process used in the benefits administration application for reconciling effective dated data changes introduced into the system with business rules in effect during that time.
- the configuration model that has all the rules of the objects is also effective dated so we can access the rules (model definition) with an effective date.
- an object may include a current salary of an employee.
- the employee's manager may enter a change to the employee salary with an effective ‘from’ date in the future (a planned salary change).
- This change may trigger an automatic function that processes object versions and generations as described above. Queries of the model that include a date request that is before planned salary change ‘from’ date will reflect the current employee salary. Queries of the model that include a date request that is on or after the future effective date of the planned salary change will reflect the planned salary.
- Changes to an object may also affect all versions of the object with a future ‘from’ effective date. This ensures that when the version of the object with the future ‘from’ effective date is accessed, the data provided from the object includes all changes made prior to the ‘from’ effective date that are still pertinent.
- the employee changes his residential address. This change may result in creating a new generation of the object that includes a new version of the object that has a ‘from’ effective date based on the date the employee moves. This change will also result in updating the employee residential address contained in the version of the object that reflects the planned salary change. Therefore, when the planned salary change object becomes effective, the updated employee residential address will be present in the model.
- Effective dating 400 may be based on an effective dating framework that can be applied to any standard object model design.
- a compile-time effective dating frame work tool may be used to create an effective dated model from any object model such as object oriented designs, classes, states, and the like.
- the compile-time effective dating tool may be executed against a client-specific adaptation of the domain model to make objects time sensitive.
- Effective dating 400 as used within the platform 100 facilitates supporting time tracking at a low level that is separate from the object model and therefore allowing applications to retrieve database state data from different time spaces without having to carry any time dependencies into the object API in the application layer.
- Effective dating 400 may also facilitate auditing. While conventionally, auditing is based on keeping track of all changes through some sort of audit table (e.g. tracking who made a change, etc) to ensure meeting regulations, the effective dating 400 framework allows each object to manage its own history and allow a view of the system at any point in time. Because all changes are effective dated, the platform 100 offers many layers of state that can be rolled back for auditing or any other purpose. Such complete and independent auditing is not necessarily inherent in any other domain model-based environment.
- Exported data may include effective dates represented as portions of a record for use by third parties such as insurance providers.
- third parties such as insurance providers.
- Smart synchronization 300 may be configured to recognize a date that is associated with an input record that is to be used to generate an effective date for the entry.
- the platform may support managing employees within groups and hierarchies to facilitate hierarchical management of compensation, performance, benefits, and other human resource related activities.
- Hierarchies may be applied to data structure, creation, organization, and the like in performance and compensation planning and management.
- the platform may facilitate organizing employees into groups and/or hierarchies that may mirror the reporting and functional groups and hierarchies of the entity.
- the performance and/or compensation hierarchy may include aspects of the functional hierarchy of a company, while including aspects that are independent of the functional hierarchy.
- the performance and/or compensation hierarchy may include adaptations or modifications of functional hierarchies of an organization.
- a functional hierarchy may identify directors as higher in the hierarchy than senior managers. However, a compensation hierarchy may place experienced senior managers and junior directors at the same level in the hierarchy.
- the compensation hierarchy may be independent of a reporting or functional hierarchy.
- all directors, independent of their reporting or functional hierarchy in the business may share a common hierarchy level which may be related in a compensation hierarchy to all senior managers who share a different hierarchy level.
- An organization with geographically diverse business units and even different languages may find relating directors from a first region and senior managers from a second region provides a more competitive compensation offering. Organizing the compensation of a large business in a compensation hierarchy may allow visibility to compensation factor differences between different business units.
- the human resources management platform 100 may also provide group management facilities that allow for managing hierarchies within the platform that may be different from organizational and reporting hierarchies that may be represented in business system data input to the platform.
- Matrix management may be represented in the platform 100 so that an employee who has business-line reporting to a first manager and is working on a project that is under the management responsibility of a second manager, may be grouped with the other project members under the second manager. Although a business system view of this employee may show the employee working directly for the first manager, a performance and compensation view may be adjusted to show this employee in a group managed by the second manager.
- Group management facilities provide benefits to users of the platform 100 that include not needing to create complex conversion software programs that adjust the business group view to the matrix group view so that a compensation planning system can accommodate matrix management.
- enterprise business system data 302 may include line management grouping or hierarchies as shown.
- a first line manager manages five employees—A, B, C, D, and E.
- a second line manager manages four employees—W, X, Y, and Z.
- each employee is currently assigned to work on one of two projects, project 1 and project 2.
- the group manager 502 may be configured through configuration input 504 to detect each employee's project assignment as a natural key for grouping.
- the five employees of the first manager and the four employees of the second manager may be grouped into two groups within the platform 100 : group one 508 that may include employees A, C, E, and Y who are associated with project 1; and group two 510 that may include employees B, D, W, X, and Z who are associated with project 2.
- group manager 502 is used to organize employees into groups other than those known and represented in the enterprise business system data 302 .
- Group manager 502 may be associated with smart synchronization 300 in that the data that is processed through the smart synchronization process may include grouping through group manager 502 .
- Group manager can be used to define a specific hierarchy to control how the data being received from the external business systems 302 impacts groups that are defined through group manager 502 .
- Group manager 502 when combined with smart synchronization 300 may also facilitate avoiding the creation and support of complex software that modifies data extracted from the business system 302 so that certain changes in the data only impact members of a work group.
- the group manager 502 significantly benefits human resource administrators and managers so that data can be handled in groups that they define, rather than wrangling with data in the business system to overcome its limitations.
- the group manager 502 allows for specific assignment of an employee to a group. However, the group manger 502 also allows criteria based employee and functional department grouping. Users of the group manager 502 may identify certain criteria, such as project assignment as a definition for group membership. In this way, by identifying an attribute associated with employees (e.g. employees with currently vested stock options, sales people, non-exempt employees, and the like), a group of these employees may be defined within the platform 100 . Business applications, such as a performance driven compensation application may use these criteria defined groups to apply rules, perform processing and the like. In an example, a bonus plan may be established for non-exempt employees. By grouping employees by this criteria (non-exempt status), the bonus plan can be automatically applied to only non-exempt employees in all departments.
- the platform 100 may support data independence techniques that may allow independent update of parts of the model, such as those parts that correspond to compensation or performance plans.
- one planning session may require a freeze on the reporting hierarchy while another planning session uses a continuously updated hierarchy.
- Data independence may also facilitate an alternate state of the whole model that allows modeling, “what-if” scenarios, and the like.
- Shadow datasets or shadow models may be created through the data independence framework for specific application needs, such as salary or benefits planning.
- Each dataset may include rules that control which objects or data elements may be updated as information is provided to the platform from external business systems.
- a shadow of the entire model may also be created.
- Each data set starts with a copy of the current model, but may be configured to stop receiving updates after some date, while the current data set continues to always reflect the latest data loads.
- a performance-driven compensation application of the platform 100 may access a current dataset.
- the current dataset contains objects that reflect the latest information provided by the external business systems. Because external business systems provide data from a snapshot in time (e.g. “today”) the current dataset reflects that snapshot.
- the current dataset can be thought of as simply a dataset that does not filter any changes resulting from an update of data from the external business systems.
- the current dataset may have no notion of what may have existed in the dataset before an update and there is no notion of pending or future changes.
- Data independence may allow each dataset to be configured to allow specific updates and to prevent (freeze out) others through an update filter configuration feature. Because each data set is updated based on its update filter configuration, some data sets freeze all information, rejecting anything new, while others may reject all updates, or accept only certain types of information changes. Datasets can be configured with filters that only allow the updates that the filters are configured to allow, while holding all of the other data in the dataset frozen.
- the current dataset may be a reference copy of the latest data that may be stored elsewhere in the model, such as in other datasets.
- the current data set may be a logical representation of the model based on using the current date to access an appropriate version of each object in the model based on the effective dating mechanism described herein.
- FIG. 6 depicts how data independence may be used advantageously by business applications of the platform 100
- a shadow model may be established when data independence is required for a particular purpose, such as compensation planning
- FIG. 6 depicts the domain model on the left side and the data independent shadow model on the right side of the figure.
- Three instances of the domain model and the shadow model are shown: instance A, B, and C.
- Instance A represents the domain and shadow models when the shadow model is established to support a compensation planning session.
- a change is introduced into the platform that may impact the data in the domain model and in the shadow model.
- the change introduced is a new address for an employee.
- the result of processing this change is shown in instance B of the domain model and the shadow model.
- the change may be implemented because this piece of data is determined to not be relevant to the compensation planning session.
- a second change is introduced.
- the second change is a change of the department of the employee. Because this change is relevant to the compensation planning session, it is implemented in the domain model but it is frozen out of the shadow model so that the compensation planning session can proceed without the change causing undesirable results.
- the impact of the second change is depicted in instance C in which the department change is made to the domain model but not to the shadow model.
- a user of the platform 100 may have reasons to want to have different sets of data available to their employees and managers for various business application tasks.
- a focal-based compensation planning session may require data that is updated differently (or not at all) than data for an off-cycle based compensation planning session.
- Focal-based planning is done at a focal-point in time may involve looking at data across a static population—the populate in the organization at the time the focal-based plan is being prepared).
- Off-cycle compensation planning is generally dominated by making changes based on current manager input, so currently updated data (rather than data frozen in time) may be required. To support both of these needs, data independence facilitates effectively stopping the updating of data for any group defined in the platform 100 .
- data independence establishes the shadow model by making a copy of domain model data that a manager needs to run an application (e.g. comp planning) and freezing out any subsequent changes to that copy of the data.
- an application e.g. comp planning
- other uses e.g. off-cycle
- focal-point activities can make and see data changes made after data is frozen.
- a user may want to open up the frozen data and update or not update the data. However, all changes made since the data was frozen may be implemented. The manager who requested the data to be frozen may not be able to choose which changes to allow.
- the platform 100 may include pending state and pending world features that may be useful to a benefits administration application because today's decisions (e.g. an election of benefits) may result in a pending state, which includes pending approvals (e.g. changes are entered but are conditional and therefore do not take effect until they are approved).
- a pending state could also be a declaration of a new dependent, which may require approval or simply an election which cannot take effect until evidence of qualification is received.
- the changes are conditional until approved, they are independent from the ‘current state of the model’ until the change is approved and effective. Therefore, pending states can be created in the platform so that the pending data is not used in activities before the pending data is approved, such as sending data to the suppliers of these benefits.
- Another purpose of the pending world is to maintain a complete and up-to-date view of the model that would be in effect if all the pending state were approved, as the user may expect it to be once all the conditions are met.
- Changes may be introduced while the pending state is still outstanding. Subsequent changes that do not require approval may be implemented during the interval of time between when the election or change is entered and the approval is finalized. Therefore the platform 100 supports updating both the current object and the pending state so that changes that are not pended are made during the pending event.
- an automated function may be executed during compilation of the software to be deployed for a client installation. This automated function may detect model classes that require a pending event state and may configure these classes to hold the pending event information when it is entered. In this way the current domain model or the pending events can be accessed based on a set of rules rather than requiring a pending identifier to be accessed during run time or needing to switch between a pending object and a current domain object.
- each object may be associated with pending events.
- An object may be configured to have a pending state that is maintained in a pending delegate which is accessible through the object based on an assertion of the pending state within a business application.
- a pending delegate may be a copy of an object that includes changes to elements of the object that are not yet approved (i.e.: pending changes).
- pending changes when an employee makes a first pending decision, a pending world is created for that employee, and each object changed as a result of that pending decision maintains those changes in its pending delegate. The pending world is asserted by the application when functioning on behalf of an employee who has pending state at that time.
- a pending delegate is maintained in parallel with the object so that all non-pending changes are implemented in the object and its pending delegate. If and when a pending change is approved, the approved change is applied to the object through the object change process described in reference to the effective dating framework described here, thus ensuring that all dependencies of the change are made within the object and within the model.
- the information in the pending delegate that has been approved is no longer pending, so if there are no other pending changes in the pending delegate, the pending delegate may be marked as deleted from that time forward. If there are additional pending changes in the pending delegate, the pending delegate remains alive until all pending changes are either approved or denied, at which point that pending world can be discarded. If the pending change is denied approval, it may be removed from the pending delegate and may be archived for audit purposes and the pending world discarded.
- the changes recorded in the pending delegate are only visible when an application specifically requests access to pending delegate information. This may be done through changing a context of the application that may be specific to an employee so that pending information is returned from the object when the application accesses the object.
- a business application of the platform 100 may be serving multiple users at the same time, so the pending state may be specific to a processing thread associated with a user. This allows multiple threads to keep separate pending state so that one user thread may have no pending state and is shown only current information, and another user thread accesses object data based on a pending world established by pending state in that user thread.
- a deployment of the platform 100 may be configured to support a pending world by configuring actions and activities to trigger the use of the pending state.
- changes to an aspect of an object that has been configured to handle pending events may result in the automatic creation of a pending delegate. If the changes are directed at an aspect that itself is configured to support a pending state, a pending delegate of the object is created on demand by creating a copy of the object and passing the change to be handled by the delegate.
- the pending state functionality may be implemented as part of the effective dating framework where pending delegates and their associations to non-pending objects are both fully effective dated objects.
- the platform 100 provides a very flexible solution to managing deployed client data that supports both the down-market and the complex enterprise market.
- the platform 100 supports building the database schema as part of the client deployment build process, such that a client's data is maintained in its own database schema.
- This separation strategy satisfies many clients' concerns about data separation from other clients, and allows the flexibility to either co-locate the schema with others in the same database instance, or dedicate an instance to the client.
- This allows deploying more than one client's model and persistent data within one physical or logical database without any risk of exposing client information to other clients.
- Clients without domain model customizations or build-time configuration can share the application binaries, since runtime configuration results in only data content changes and no change in application code or database schema.
- This per-schema client strategy also allows applying table-level or schema-level encryption on a client by client basis so that encryption may be applied for a first client and not for a second client within the same database that is accessed by the same application binary.
- Each client's data is maintained in a schema separate from other clients' data. This has several benefits.
- Each schema has its own access credentials, which prevents one client from accessing the others data, and prevents an application from unintentionally mixing data from two clients. This flexibility facilitates co-locating client deployments on virtual or non-virtual environments based on scale, performance metrics, usage patterns, and the like. It helps to use the platform 100 to exploit the characteristics of the low-touch down-market client while still delivering on the strict requirements of the complex enterprise-class client within the same platform 100 architecture.
- the platform may provide reporting facilities.
- the reporting facilities may be accessible from each of a performance application, compensation application, benefits application, and any other application, user interface, administrative interface, or data interface associated with the platform.
- Reporting facilities may provide reports of information stored in one or more databases and domain models associated with the applications. Reports supported by the reporting facilities may include ad-hoc, standard, custom, and other reports such as customized, template based, automatic, interactive, scheduled, and the like.
- the reporting facilities may also interact with the domain model and one or more databases of the platform to generate one or more denormalized databases (e.g. reporting database) for facilitating reporting, such as customized reporting.
- denormalized databases e.g. reporting database
- a denormalized database may include domain model information, database data, computed data, referenced data, indirect data, consolidated data, third party data, formatted data, variable data, report templates, and other data or calculations that allow a user to report information based on the user's preferences.
- a denormalized database may be a compilation of information from one or more databases of the platform, one or more domain models of the platform, data gathered from sources external to the platform, user defined computed data, default computed data, and the like.
- the denormalized database may be updated periodically, such as each day, thereby providing a timely snapshot of information relevant to a user's reporting preferences.
- information in the denormalized database may be updated as needed, such as when information affecting a report is changed in the domain model or database.
- Providing a denormalized database may also improve report response time because report requests may not have to access either the domain model or the full database.
- Providing a denormalized database may also allow the use of industry standard or publicly available reporting software and techniques for reporting off of the denormalized database.
- a denormalized database may be organized to further optimize report response time such as by arranging most frequently accessed data to be readily available.
- a denormalized database may also be organized to allow a user to retrieve information, such as in a report, in ways that coordinate with their business processes, workflows, or preferences.
- the custom reporting facilities may take advantage of the denormalized database and allow a user to report information out of the platform in ways that the user would normally want to get data.
- the user may match reports to existing or predefined formats in which a user's current business process generates data.
- a user may already have various data in customized Access or Excel tables that, when viewed, present their data in a specific format or matching a preferred organization of the data.
- a custom report may be configured to deliver the required information to be viewed like the Access or Excel tables.
- the ad-hoc reporting facilities and standard reporting facilities may query the domain model for data to satisfy a report request.
- ad-hoc and standard reporting may reduce the transactional loading of the database, thereby improving overall platform performance.
- Reports based on the domain model may still query the database. However, they may benefit from using a single implementation of logic in the objects (e.g. business layer), rather than requiring implementing reporting logic on top of raw data and risking conflicts or taking on maintenance problems of duplicated logic.
- ad-hoc and standard reporting facilities may query the denormalized database. Any type of reporting facility may access any of the domain model, databases, and denormalized database as needed or specified to retrieve data to satisfy report requests.
- the platform may simultaneously support ad-hoc, standard, and custom reporting so that a user may select one or more types of reporting on demand.
- Custom reporting may be based on templates that may also be used to organize or identify data to be retrieved, calculated, consolidated and the like into the denormalized database.
- the denormalized database may be automatically adjusted based on a custom report template each time the denormalized database is updated.
- a user may provide a spreadsheet file that contains the data in the format requested for a custom report. The user may reference the spreadsheet file when configuring a custom report through the platform.
- the platform may analyze the spreadsheet, such as the formulas, formats, data values, data names, macros, and the like to generate a custom report template to replace the spreadsheet report.
- the platform may access the domain model and the database to retrieve relevant data, perform calculations as needed to deliver data that matches the spreadsheet data into the denormalized database.
- the denormalized database 712 may be updated through update process 708 .
- the update process 708 may reference custom report template 718 to determine aspects of data to be included in the denormalized database 712 update.
- Updating may include performing calculations, consolidation, extrapolation, sorting, and other operations on data such as data from the domain model 702 or the transactional database 704 . Updating may also include copying data from any of the data sources. Updating may include modifying one or more preexisting entries in the denormalized database 712 so that data associated with a preexisting entry reflects data provided by the update process 708 .
- Updating the denormalized database 712 may also include replacing entries, creating new entries, deleting entries, replacing a portion or the entire denormalized database 712 , creating an alternate to an existing denormalized database 712 , and the like. Updating portions of the denormalized database 712 may include incremental updates to one or more entries.
- the update process 708 may compare data from a preexisting entry in the denormalized database 712 to updated data for the preexisting entry and apply the updated data based on the results of the comparison. If the updated data is different than the preexisting data, the update process 708 may replace the preexisting entry data with the updated data. If the comparison result indicates the updated data is not different, then the preexisting entry data may not be replaced with the updated data.
- the denormalized database 712 may include a date/time field that may indicate the date and/or time of the most recent update.
- the date/time field may apply to the entire denormalized database 712 , a portion of the denormalized database 712 , or individual entries in the denormalized database 712 .
- the date/time field may be used by the update process 708 to determine which preexisting entries in the denormalized database 712 to update.
- Data provided to the update process 708 may include a similar date/time field to indicate the most recent change to the data.
- the update process 708 may compare the date/time of the most recent change of the source data with the date/time of the most recent update of the preexisting data to determine which data to update.
- a preexisting entry in the denormalized database 712 may have most recently been updated yesterday and its associated source data may have been most recently changed today.
- the update process 708 may determine that the source data has changed more recently than the preexisting data has been updated and, as a result replace the preexisting data with the updated data.
- the update process 708 may query the domain model 702 and/or the transaction database 704 so that only data changed more recently than the most recent update of the denormalized database 712 is provided. In this way, the update process 708 may utilize the query capabilities of the platform when updating the denormalized database 712 .
- the template 718 may identify aspects of data associated with a custom report 714 .
- the update process 708 may reference the template 718 when requesting or obtaining data for reporting.
- the template 718 may include one or more data fields that may identify an entry or entries in the domain model 702 and/or the transactional database 704 .
- the data fields may include employee name, employee salary, compensation cycle, and the like.
- a template may identify data that does not exist in any data source and therefore may have to be produced; such as by update process 708 .
- Denormalized database 712 data that has to be produced may alternatively be produced by one more applications, such as a compensation application and stored in the domain model 702 , the transaction database 704 or another data storage that may be accessed by update process 708 .
- Data that may be produced may include various computations, calculations, and other combinations or processing of source data.
- current employee quartile may be calculated from current employee compensation package, and compensation quartiles.
- the employee compensation package is $134,266 and the third quartile covers a compensation range of $120,000 to $150,000, the employee compensation quartile would be computed to be the third quartile.
- This computed data may be stored in the denormalized database 712 so that it could be reported by the custom report facility 710 and presented to a user, such as the example custom report 714 of FIG. 7 .
- the platform may support various templates. Templates that may be used by the update process 708 may include spreadsheet work files or work books from applications such as Microsoft Excel, Microsoft Works, and the like. Template formats supported may include xml files, custom report format files, existing compensation, performance, and benefits report generation format files, and the like. A template may identify specific data entries, data entry types, data groups, data sources, various other aspects of data, and the like.
- a plurality of templates 718 may be associated with a custom reporting facility 710 to support generating various custom reports.
- Each template may identify data to be included in an update of the denormalized database 712 .
- the update process 708 may combine templates so that data that is common to more than one template 718 may be retrieved from the domain model 702 and/or the transactional database 804 once.
- the common data may be stored in the denormalized database 712 in more than one location so as to facilitate generating custom reports 714 .
- data commonly identified in more than one template 718 may be stored as a single entry in the denormalized database 712 .
- the platform may support ad-hoc reporting that may be used to easily create reports.
- Ad-hoc reporting may directly access the domain model, the transactional database, or may report from the denormalized database.
- Ad-hoc reporting may facilitate a user creating a set of report preferences that may be used in a query of the model to filter or select preexisting model objects for reporting.
- Ad-hoc reporting may be template based, menu based, code based, and the like.
- a query language such as SQL may be used in an ad-hoc reporting facility.
- the platform may support creating a user specific ad-hoc profile, storing the user-specific profile, exporting report data to third party software such as Microsoft Excel, generating ad-hoc reports in HTML, PDF, and other display formats.
- the platform may support standard reporting.
- Standard reporting may support predefined reports.
- Standard reporting may be template-based to facilitate deployment and integration.
- Ad-hoc and standard reporting may report off of the domain model rather than the transactional database.
- compensation, performance, and benefits applications may be combined in one product that may provide a uniquely employee-centric human resource management platform—a comprehensive human capital management (HCM) platform 800 .
- HCM human capital management
- This may include pulling the entire benefits administration application into the performance-driven compensation application to produce a HCM platform 800 that provides capabilities beyond a straightforward combination of applications because various user roles will have the ability to do a rainbow of activities within the HCM 800 based on the services that are deployed.
- a user role may encompass a benefits client role, a compensation client role and a performance/succession client role as an employee, hr manager, administrator, benefits manager, and the like.
- the HCM 800 may be configured to take advantage of group manager hierarchy features to consolidate rules within the combined business applications and to leverage the sophisticated capabilities of security, data independence, data isolation, and the like to ensure each user role has proper visibility to relevant data while excluding access to non-relevant or sensitive user data. This concept of visibility may be moved to a lower level or to an application specific level in the HCM 800 .
- the HCM may be embodied as an integrated management suite that may be accessible through a single user interface screen.
- a user-centric overall offering may depict an overall offering employee view 902 of services available through the HCM 800 . These services may pertain to health (‘My Health’ 904 ), finance (‘My Wealth’ 908 ), workflow (‘My Work’ 910 ), career development (‘My Career’ 912 ), and some other types of services relevant to the employee.
- the overall offering employee view 902 may be designed in order to provide at least a visual segregation of these services.
- the ‘My Health’ 904 service may provide the employee with applications related to health services such as support for health decisions, options and choices regarding health care providers, administration service for health benefits, health risk assessments available, events and promotions, and some other services.
- health services such as support for health decisions, options and choices regarding health care providers, administration service for health benefits, health risk assessments available, events and promotions, and some other services.
- the employee may be able to obtain information related to a free eye check up camp organized by a health agency.
- such events and promotions may be organized in coordination with the employer of the employee.
- the entities that may be interfacing with this service of the HCM platform 800 may include content providers that may supplement the information and content related to health services and benefits; decision support parties that may assist with the decision oriented activities (e.g., choice of health care provider); and other third parties.
- health care events may be hosted by other third parties such as hospitals, NGOs, cultural organizations (Rotary Clubs, Red Cross, among others), and some other third parties.
- the other third parties may also be involved with solution integration.
- the ‘My Wealth’ 908 service may provide the employee with applications related to financial services such as deposit account (e.g., facilities, statements), beneficiary and compensation benefits (e.g., bonus, overtime payments), life insurance (e.g., premiums), disability compensations, payroll statements, and some other types of financial services.
- financial services such as deposit account (e.g., facilities, statements), beneficiary and compensation benefits (e.g., bonus, overtime payments), life insurance (e.g., premiums), disability compensations, payroll statements, and some other types of financial services.
- deposit account e.g., facilities, statements
- compensation benefits e.g., bonus, overtime payments
- life insurance e.g., premiums
- disability compensations e.g., payroll statements
- payroll statements e.g., payroll statements, and some other types of financial services.
- the employee may be able to access the monthly statement regarding the compensation and benefits accrued or the employee may be able to directly submit premium payments for medical or life insurance through this service.
- Payroll department Human Resource Information System (HRIS), and third parties such as insurance companies are the entities that may interact through this service.
- HRIS Human Resource Information System
- third parties such as insurance companies are the entities that may interact through this service.
- the ‘My Work’ 910 service may be responsible for providing a collection of workflow oriented applications and services to the employee.
- These applications and services may include but may not be limited to goals and evaluations, compensation and salary plans, dashboards and workbox, feedback, and some other applications and services.
- the employee may be able to view various salary options provided by the company, such as fixed or variable component of the salary, and may be able to customize the salary structure according to the needs.
- dashboards and workbox applications may facilitate better management of workflow and productivity.
- these dashboards may provide effective visualization or presentation options (e.g., providing a graph or chart to track the progress of ongoing projects). Feedback, appraisals, evaluations, and recommendations may also be submitted and viewed by the employees through this service.
- the ‘My Work’ 910 service may also include best practices and market data related to workflow.
- this service may complement other services that may help the overall workflow (e.g., time-tracker services).
- the ‘My Career’ 912 service may be focused on the career development aspects of the employee.
- This service may include various applications related to career development and planning, succession or promotion planning, competencies (specialized or generic), and some other types of applications.
- the employee may be provided with some additional training and certification courses for enhancement of skill set.
- the ‘My Career’ 912 service may involve other entities such as consulting services, learning management service providers, ATS, and some other options for supporting career oriented needs of the employee.
- a third party solution integration facility 914 may be provided to unify various services (related to employee's health, wealth, work, and career) of the HCM platform 800 .
- the overall offering employee view 902 benefits the overall human resource management process by providing an active and effective environment for employee engagement in various human resource activities, rewards for both the employer and the employee in terms of work, productivity, and benefits; a transparent solution for driving pay-for-performance, and a consumer-driven human resource.
- FIG. 9B depicts an overall offering administrator view 918 for human resource (HR) administrative and executive team.
- the administrator view 918 may include services pertaining to health (‘Corporate Health’ 920 ), finance (‘Corporate Wealth’ 922 ), workflow (‘Corporate Work’ 924 ), career development (‘Corporate Career’ 928 ), and some other types of services (i.e., for all the employees).
- the applications in these services may help the HR administrative and executive team assess various trends and indicators pertaining to employees' health, finance, workflow, and career.
- the ‘Corporate Health’ 920 may include applications related to health and wellness rewards and benefits, tool utilization and employee engagement (indicators and trends), health plan migration summaries and other documentations.
- a dashboard may be provided in ‘Corporate Health’ 920 that tracks the number of sick leaves availed by the employees.
- such a dashboard may provide facilities for rewarding employees who have not taken any sick leave in a given period.
- the rewards may be monetary, gifts, vouchers, coupons, certifications, and some other types of rewards.
- the other service in the corporate interface screen 918 may include the ‘Corporate Wealth’ 922 .
- This service may include applications such as dashboards for audit trails, pre-tax plan counts (e.g., Federal Insurance Contributions Act (FICA) savings estimator), voluntary plan participation, aggregated compensation statements, dependent audit dashboards, and some other types of applications.
- FICA Federal Insurance Contributions Act
- the ‘Corporate Work’ 924 service may encompass workflow activities with regard to the entire organization. Some of the applications in this service may be employee performance trends, company plans and budget compliance indicators, goal achievement progress indicators, and some others. For example, the ‘Corporate Work’ 924 service may provide the invoice status of all projects. In another scenario, sales per employee ratios or workforce productivity ratios may be provided by this service for assessing the overall productivity of the organization.
- ‘Corporate Career’ 928 may include a compilation of every employee's Key Performance Areas (KPAs), corporate goal libraries or repositories, a dashboard for reviewing performance appraisals/evaluations and Key Performance Indicators (KPIs), internal fill rates, competency aggregations, organization's standards, codes of conduct, and some other applications and functionalities.
- KPAs Key Performance Areas
- KPIs Key Performance Indicators
- internal fill rates competency aggregations
- organization's standards codes of conduct, and some other applications and functionalities.
- various aspects of corporate career such as ‘Corporate Social Responsibility’ or ‘Employee Initiatives’ may also be provided by this service.
- Configuration is a means by which a system's look or behavior can be changed to meet client requirements without programming.
- Configuration in the platform 100 includes model-based aspects, primarily through an XML file that includes structures, data, parameterized strategies, and scripting to tailor the platform's look and feel and behavior.
- the platform 100 may support build-time configuration that may be applied before the platform 100 is deployed to produce a targeted solution.
- Build-time configuration may provide a way that the platform 100 can maintain speed and scalability by having the configuration compiled into the platform 100 rather than manipulated as data at runtime.
- Most configurations of the platform 100 are runtime configuration, which can be loaded into a running platform 100 without taking it down and rebuilding it. Some types of effective dated configuration may be loaded while the platform 100 is running, without affecting current users.
- the platform 100 offers several means for configuring applications including offline configuration tools, online configuration tools, user interface configuration, and the like.
- Offline configuration may be supported through configuration files that are loaded as XML files and may be created by configuration programs, filed, and the like that may be associated with the platform 100 .
- These tools may enable business analysts to create the configurations through intuitive user interfaces, and export them into XML files.
- the files may be used in build-time configuration or used in run-time configuration and loaded into a running system. These tools are especially beneficial if the configuration model is complex or effective dated.
- Online configuration may partitioned so that a subset of runtime configuration may be available only to authorized users through application functionality, such as: administrator functionality that facilitates changing the details of a dimensional guideline rule, adjusting bonus calculations or updating performance ratings; role management that may facilitate defining roles and managing assignments to individuals and groups; group management that may facilitate maintaining reporting hierarchies, budget groups and other group and hierarchical organizations of employees; and the like.
- Configuration capabilities of the platform may include user interface configuration.
- the platform may support several configuration points in the user interface, such as: internationalization that may be supported through configurable resource files, for locale-specific text, formats, and content; application configuration files that may be loaded into the presentation tier to configure application flow; cascading style sheets that may be used to tailor the look and feel of the user interface; and the like.
- the human resource management platform 100 may include data access components or elements for insulating applications and services from the details of data transformation and mapping.
- Data access components may include features that facilitate persistence of data, such as single domain objects such as a “noun” or a “component”. Persistence of data attributes such as mapping of data formats may also be provided by the data access components.
- Data access components may also provide services for the human resource management platform 100 such as creating, reading, updating, and deleting data. Aspects of the human resource management platform 100 that may use data access components include, without limitation, internal applications, business services, external applications, and the like. Data access components may be implemented by building XML documents from SQL/JDBC results sets.
- the human resource management platform 100 may include a plurality of data access components wherein each component may provide data access services as herein described for different data sources.
- a data source such as a third party employee insurance database may require a different set of data access functions than an internal employee vacation accounting database.
- Reading a record from the external insurance database may include mapping data such as employee insurance member ID so that automatic premium payments may be properly credited by the human resource management platform 100 .
- an associated data access component may, or may not, need to change to support the changed data source.
- a data source that is changed to include security features associated with a user interface of the data source may not impact the data access component for that data source.
- a data source that changed field names or definitions may impact a data access component, requiring a new mapping between the data source and the human resource management platform 100 functions or business services accessing the data source.
- Data access components may combine, dissect, generate, and persist XML documents to facilitate business functions and services performing tasks.
- the user interface gives end users information they need to make decisions, and those decisions ultimately result in changes persisted in the database.
- This section describes Workscape Technology Platform capabilities that enable our application suite to maintain and store data accurately and efficiently.
- the platform 100 may include an object model and may implement object-relational mapping.
- Application logic may be centered in a business logic layer 204 on a server, such as in an object model implemented in Java.
- a good object design combines state and behavior.
- the behavior may be embodied in business logic and encapsulated in object methods.
- Hibernate is an example of a tool that can be adapted to successfully manage large amounts of data, such as by revising code to enhance the tool.
- Transactions with the model and database may be most effective if they are controlled outside the business logic layer 204 .
- transactions are initiated before application logic is invoked and the application logic signals synchronization points to the persistent database 114 so that the actual transaction management is performed by the underlying persistence layer 208 , adding security and robustness to the platform 100 .
- the platform 100 provides support for enterprise level and down market small size client deployments.
- Features of the platform 100 may minimize effort for deploying to low-complexity clients, such as alternative data input, no customization, limited configurability, deployment options, and the like.
- Alternate data input may include input via spreadsheets so that clients with limited volume and complexity may be able to provide their data through spreadsheets that may be supplied with the platform 100 .
- the spreadsheet may have embedded functionality that automates the transformation and loading of information, giving the customer more control and limiting deployment or startup effort. Because customizations take time and expertise they add to implementation costs. When client requirements fall within the range of configurability of the platform 100 (e.g. within run-time configurability), the platform 100 can be quickly configured and programming may not be required.
- the platform 100 may store each client data in its own schema, which facilitates easier deployment through a template approach for configuration, installation, and use, and template use for supporting third party data configuration ERPS, such as SAP, and the like.
- the deployment of the platform 100 may involve a single package of files and several scripts to complete integration with a client environment.
- One or more business applications can run on a computing resource, such as a virtualized resource, with one or more clients being served by the applications.
- a database server can host multiple client deployments per database instance or place clients in a separate database instance.
- the platform may support deploying all components of the platform 100 on dedicated hardware, or packaged into an appliance for remote hosting within a firewall protected network. Deployment may also support deploying different portions of the platform (presentation layer, business application layer, model layer, and data persistence layer, for example) to be executed on different systems to facilitate distributed processing environments.
- the human resource management platform 100 may include a user interface that may be accessed through a web browser of a computer such as a networked computer facility.
- the user interface may include various screens for facilitating a user interacting with the platform 100 .
- the user interface may also facilitating issuing alerts to users. Alerts may be issued based on a range of criteria that is described elsewhere herein.
- An alert issued through the user interface may include a configurable visual indication on a computer display such as a pop-up window, or other visual notification.
- the alert may include a configurable audible aspect as well that may play through a speaker system of the computer through which the user interface is accessed.
- Alerts may be context specific so that an alert issued through the user interface may be based at least in part on the current activity of the user.
- a visual alert of a violation of a budget guideline may be presented to the user while the user is modifying budgets. Alerts may also be included in real-time decision support features of the human resource management platform 100 .
- the user interface may be based on computer programming technology including without limitation DHTML, ADOBE FLEX, AJAX, JAVA, JAVASCRIPT, ADOBE FLASH, a combination thereof, or a combination of one or more thereof and other computer programming languages, constructs, technology, images, graphics, menus, and the like.
- Alerts presented through the user interface may guide the user in such a way that the user can take appropriate action by interacting with the alert.
- a user may be changing a budget allocation that impacts another user's budget.
- An alert indicating that the other user's budget is impacted may be issued to the user and may provide a one-click action button to notify the other user of the budget impact.
- the alert may also provide a one-click action button to escalate the alert to other users, such as those higher in the user's reporting hierarchy.
- the Workscape Technology Platform provides a robust security model that combines an adaptable authentication mechanism with role-based authorization.
- the platform provides standard integration points for connecting it into the client's SSO of choice.
- the platform supplies an alternate username and password authentication model, with configurable password generation and management.
- Authorization is controlled by configuration of roles and permissions, and associating roles with individuals or groups of individuals. Permissions are keys that unlock product functionality, and open access to certain type of information to those who hold the permission. Roles can be created and configured that bundle together sets of these permissions, and then the roles can be assigned to individual users or assigned automatically to those who meet certain criteria.
- the platform automatically resolves the permissions granted to a user when the user logs in, and enforces the data visibility and functionality restrictions at a very low level, below where configuration or business logic operates. Permissions are used to control visibility to data at a low level in the architecture. Queries into the database are filtered at a low level, to avoid pulling information into the system that the user is not authorized to access.
- the human resource management platform 100 may include information that is confidential and personal about employees, employers, corporate or business plans, and the like. To facilitate providing appropriate protection of such confidential and personal information, the user interface of the human resource management platform may include security services. Security services such as unique user names, user login names, secret passwords, authority access levels, and the like may be embodied in the human resource management platform 100 .
- the user interface may include initial login validation through a secure access method such as requiring a potential user to enter a user name and associated secret password.
- This first level of security may be configurable through one or more services such as UpdateUser, ProcessLogin, and CancelLogin.
- An authorized administrator may access one or more of these services to establish and manage user accounts for the purposes of securing the human resource management platform 100 login processes.
- one or more of these services may be automated and may be invoked by a user interacting with the human resource management platform 100 through a login screen of the user interface.
- an administrator may invoke the UpdateUser service to change a user password, such as in response to a request from the user.
- a user may successfully login to the human resource management platform 100 with a valid username and password and manually invoke the UpdateUser service to change an aspect of the user's account (e.g. password).
- a user manually invoking UpdateUser may be considered a self-service aspect of the human resource management platform 100 .
- Services such as ProcessLogin and CancelLogin may be invoked automatically.
- a user selecting a ‘login’ type button on a login screen of the user interface may automatically invoke the ProcessLogin service to perform user credential validation. If the credential validation fails, CancelLogin may be automatically invoked.
- Manual use of these services may support an administrator creating login credentials for a user account (ProcessLogin) or removing a user (CancelLogin).
- the human resource management platform 100 may include publication change services to facilitate publishing changes to data or data elements. Changes to data, such as databases of the human resource management platform 100 that are made by both internal and external applications may be published. In an example, an internal application that makes a change to employee email contact information may publish that information so that subscribers to the publication change service may receive the updated employee email contact information. Similarly, an external application, such as a third party health insurance application, may publish information about changes to employee status (e.g. change in coverage selected, change in coverage status) and the like. Publication change services may also provide queue management for subscribers to the service so that a higher priority publication may be pushed higher in a queue of a subscriber than a lower priority publication. In this way, urgent changes or changes that may be required to fully support subsequent changes may be processed before less urgent or dependent changes. Internet publication and change notification methods such as RSS may be supported by the publication change services of the human resource management platform 100 .
- the human resource management platform 100 may use a publication change service to manage subscription to third party or external applications to facilitate receiving information.
- the business functions and other element of the human resource management platform 100 may use the publication change services to facilitate timely updating any externally supplied data used by the business functions.
- Such inbound data may be published to the human resource management platform 100 with certain policies and attributes determined by the source system of the data.
- the publication change services may process the attributes to ensure compliance with the policies is maintained as data is published within the human resource management platform 100 .
- Publication methods such as RSS may be included in the publication change services inbound capabilities.
- Publication change services may work cooperatively with other elements of the human resource management platform 100 so that the publication change service may receive a confirmation of receipt from the other elements.
- the publication change service may issue announcements or push changes to subscribers without accepting or requiring a confirmation of receipt.
- the publication change services may monitor a data repository or some portion of a data repository so that any changes made to the data repository can be published. Monitoring may be based on events—such as changes, on a schedule—such as each hour, on a request—such as a business function initiated subscription request, and the like.
- the publication change services may monitor a data repository to detect changes to the repository, the publication change service may be configured to only publish certain data elements or classes of elements.
- a data repository that contains employee confidential and non-confidential information may be monitored, yet only changes to the non-confidential information may be published when a change is detected.
- the human resource management platform 100 may support data in a data repository that can be published without using the full capabilities of the publication change services.
- data in XML file format in a data repository may be published to applications of the human resource management platform 100 that use XML formatted data simply by transferring the XML formatted data to the applications.
- Elements of the human resource management platform 100 may use XML or JAVA to communicate.
- XML Schema such as OAGIS 8.0 and HR-XML standards may be employed in communications. Communications may also be accomplished by forming, exchanging, and decoding Business Object Documents that may themselves be encoded in XML.
- a business object document of the human resource management platform 100 may include an application area (e.g. for identifying a sender) and a data area (e.g. for defining a business operation).
- a business object document may include an XML verb—such as add, delete, lookup, and the like, and a noun—such as a data value, data field, and the like.
- a business function or service receiving the business object document may use the data referenced in the noun to perform the function described by the verb.
- an UpdateDependents verb with a Dependent noun may add the name of the dependent to the employee's list of dependents.
- the business service or function that performed the UpdateDependents may provide a business object document response that includes information such as date of update, status of the update, flags or messages returned by the business service, and the like.
- the business object document communication flow may include request-response XML verb pairs that define a service method.
- a lookupDependents business service method accepts an XML document conforming to the LookupDependents schema and responds with an XML document conforming to the ShowDependents schema.
- Communicating through business object documents also facilitate making changes to functions, services, and applications, such as program or algorithm changes, without having to change aspects of the communication or the interfaces to the human resource management platform 100 elements.
- Business object documents may be used in communication between the human resource management platform 100 and external services, applications, users, devices, and the like.
- a business object document may be wrapped in an envelope such as is used in web service requests defined by S O A P. Security, error checking, and the like may be supported by through the enveloping process, thereby allowing the human resource management platform 100 elements to focus on the content of the business object document.
- the human resource management platform 100 may also include business services to provide service to applications.
- Business services may include managerial services for managing proxies and authority delegation, payroll services for processing employee related pay, compensation services for planning and managing compensation plans and programs, benefits services for beneficiary and dependent management, communication services for handling corporate communications, corporate services for corporate wide data such as job descriptions and directories, worklist services for individuals to access work items, self-service services for employees to access and maintain information, security services for managing users and access, budgeting services for administering and monitoring budgets, reporting services, integration services for providing transfer management, hierarchy services for establishing and maintaining employee hierarchies, process services for defining and monitoring business processes, and performance management services for facilitating performance rating and goals management.
- the platform may support off-cycle changes to any aspect of compensation, performance, and benefits.
- Off-cycle changes may be integrated with focal transactions so that a user, such as a manager, may access and maintain both off-cycle and focal transactions through a single user interface.
- Such integration may facilitate giving a manager the ability to plan all compensation changes for an entire compensation cycle (e.g. one calendar year) through a single interface.
- the same interface may be used throughout the year for off-cycle changes and maintenance, such as for approving a compensation plan and for acting on the approved plan.
- the single user interface for focal and off-cycle changes may also be facilitated by budget sharing, application logic and rule sharing, and the like.
- an employee may achieve a performance goal that has associated with it a compensation increase.
- the employee achieves the performance goal in May and the next on-cycle compensation adjustment is December, so the employee's manager initiates an off-cycle change.
- the manager may use the single interface herein described to perform all the necessary steps to execute the off-cycle adjustment.
- the manager may review and approve the change to the employee's compensation plan through the single interface.
- the manager may, within the same interface establish any new compensation plans, such as any changes that may be approved at the end of the current compensation cycle.
- a single interface for focal and off-cycle compensation, performance, or benefits changes and maintenance eliminates needing to learn separate interfaces for off-cycle and on-cycle compensation planning and maintenance activity.
- the single interface also allows automatic coordinated access to plans and budgets, rather than using a disconnected off-cycle system, such as separate spreadsheets. Such disconnected or off-line methods prove impractical and error prone when applied to organizations with a large number of employees.
- the human resource management platform 100 may include applications targeted to solve a variety of human resource and benefits administration problems.
- Applications of the human resource management platform 100 may include business applications such as benefits administration.
- a benefits administration application may provide a comprehensive benefits administration solution that facilitates handling a wide variety of benefits plans, programs, events, changes relating to plans and employees, very large employee populations, cross company integration, third party integration and the like.
- a benefits administration solution may facilitate extending best-in-class benefit programs throughout a multi-national organization.
- Applications of the human resource management platform 100 may be implemented based on various technologies to provide easy integration. In an example, applications may be written in the Java programming language, and they may be built using domain-driven design principles with a web-based rich client interface using ADOBE FLEX technology.
- a benefits administration application may provide a variety of features to achieve benefits integration in an organization.
- a user interface of the application may include presenting all relevant information, feature selection, notifications, and user information on one computer display screen, or a linked group of screens. Such a user interface may facilitate operation and training to operate the application, while preserving time efficiency during use or maintenance.
- the human resource management platform 100 may facilitate automated benefits review workflows through the use of online benefit review forms.
- the online benefit review forms may be integrated with the other aspects of the human resource management platform 100 such as employee management, benefits provider management, corporate objectives, and the like to facilitate use and data consistency throughout all the aspects of human resource management supported by the human resource management platform 100 .
- Online benefit review forms may include configurable benefit review forms that support the best practices of the corporation. Aspects of the forms may be configurable specifically to ensure best practices are observed, while other aspects of the form may be configurable to support individual manager or employee needs.
- the human resource management platform 100 may also support online benefit review form creation and management.
- the human resource management platform 100 may also support template based creation of online benefit review forms.
- a template may identify specific configurable areas of a benefit review form that may be specified by a facilitator of the human resource management platform 100 . These areas may include corporate best practices, industry or government standard review criteria, employee based information from other aspects of the human resource management platform 100 , and the like.
- the template may also include user configurable areas that may be configured by a manager and/or an employee to support aspects of benefit review not covered elsewhere in the form.
- a benefits provider portion of a benefit review form may be identified in a template as restricted from manager or employee changes because the information would be imported from the benefits provider management portion of the human resource management platform 100 .
- Online benefit review forms may facilitate harmonizing benefits review across departments, business units, geographies, subsidiaries, languages, and international laws, while offering the flexibility to support a wide variety of management styles, employee input, benefits administration plans, and the like.
- a benefits administration application may include reporting facilities. Reporting may include standard reports and ad hoc reporting capabilities to support a wide range of reporting requirements. Reporting and analytics that may be integrated with the benefits administration application within the human resource management platform 100 may facilitate easy access to actionable data and analysis results. In an example, an analysis of benefits, such as a coverage analysis, may be included in the benefits administration application so that the coverage analysis may be reported per employee, per group, and the like.
- the human resource management platform 100 may include audit features such as audit trails. Audit features may be associated with the benefits administration application. Audit features may support establishing audit monitoring tools to facilitate automated auditing of transactions associated with the platform. Automated auditing may facilitate compliance with accounting and other standards such as Sarbanes Oxley, OSHA, Fair Labor Standards Act, Minimum Wage Standards, and the like. Auditing may include confirming an effective benefits function has been established, all employee data in the system is accurate and appropriate to the personal issues of the employee, confidentiality of personnel data is maintained, benefits data is completely and accurately accumulated in underlying financial records in the proper accounting periods, reimbursements and other payments to employees (e.g.
- Feedback logs may be associated with the benefits administration application so that any form of feedback such as employee feedback, auditor feedback, visitor feedback, manager feedback, vendor feedback, provider feedback, and the like may be recorded. Feedback logs may periodically be reviewed by management, an administrator of the benefits administration application, or other participant in the platform 100 . The review of feedback logs may be automated by a computer system performing keyword matching of feedback logs against a list of critical keywords or phrases.
- the benefits administration application may facilitate configuration of benefit programs.
- Benefit programs may be configured by a participant of the human resource management platform 100 such as a client.
- Benefit program configuration may include configuring benefit plans, future accounting periods (e.g. upcoming year benefit target plans), and the like.
- Configuration options associated with the benefits administration application may accommodate complex benefit plans, such as plans that incorporate automated benefits adjustments, and the like.
- the human resource management platform 100 may be associated with input compliance verification facilities. Compliance of input may be valuable and useful to a benefits administration application by providing spelling checking, legal language checking, and the like. Compliance of input verification may include verifying input meets corporate and legal standards (e.g. minimum wage standards), and the like. Spelling checking may facilitate reducing mistakes in data records such as employee names. In an example, an employee name being input may be compared to all valid employee names and the input may be flagged for further verification if it does not match any of the valid employee names. This may also be useful to help distinguish between similar employee names, such as employees Robert Smith from Bobby Smith when the name Bob Smith is entered. Legal language check may facilitate ensuring that benefits or other requirements on which benefits may be based does not violate any regulations, contracts, and the like
- Benefits modeling may be associated with the human resource management platform 100 such as through a benefits administration application. Modeling benefits may be useful and beneficial to employee retention planning by providing a visible or tangible benefit to achieving a level of employee retention included in the modeling.
- the benefits administration application may allow employees to interact with the platform 100 to model various benefits alternatives based on aspects of benefits such as coverage, costs, providers, geographic coverage limitations, optional coverage, and the like.
- an employee who is interested in purchasing additional life insurance coverage may view the costs, eligibility conditions, limits, and other requirements of the coverage through the platform.
- the employee can further model steps for achieving various aspects of the requirements, such as taking and passing a physical exam or other medical assessment. In this way, the employee may determine that passing the physical exam is highest priority for eligibility.
- benefits programs have been administered on a plan-year basis that shoehorns all employees into one planning and election cycle that is based on a calendar date rather than on natural dates related to employee needs for benefits.
- a plan-year based benefits program may limit changes an employee can make during the plan-year. This generally results in limited options being available to the employee other than during an open enrollment period prior to the start of a new plan-year.
- the benefits administration management business application of the platform 100 provides support for coverage periods that are distinct from but knowledgeable of plan-year programs.
- a coverage period may include any timeframe during which no changes are made to an employee-specific benefits program. Therefore, each coverage period can be individually managed. This reduces the complexity of real world changes that occur outside of a plan-year enrollment period.
- an employee who has a baby and changes health plan options from an employee plus spouse plan to a family plan would enter an event that would signify the end of one coverage period and the start of another coverage period.
- the one coverage period would be characterized by the employee plus spouse plan and the other coverage period would be characterized by the family plan.
- a change that causes one coverage period to end and a new one to start may be employee generated, company generated, provider generated, a combination of the two, and the like.
- a company may configure benefits premiums to be adjusted annually due to health insurance provider requirements. The date on which the premiums are adjusted would signify the start of a new coverage period for all affected employees.
- the platform may facilitate support for benefits coverage periods through the effective dating framework described herein.
- benefits selections can be planned for a future coverage period while the current coverage period may be maintained within the same model/database.
- the effective dating framework advantages for a benefits administration management business application may be described through an example.
- a company using the platform 100 has defined a new coverage period to start January first. Therefore, in November, employees make benefit elections to be effective when the new coverage period starts.
- the platform automatically calculates all the coverage changes through the remainder of the year under the current year rules, and propagates the changes into the next year, correcting or adjusting based on next year rules, and stores all the results in the effective dated model.
- the platform 100 may set a target effective date to “today” and perform a query of the model based on this target date.
- the platform may set a target effective date to “January” and perform a query of the model based on this target date.
- the benefits administration application may set the target effective date to some time in January so that queries of the model will return information that is based on the benefits elected for the new coverage period. This may allow sending extracts of data to a carrier that the carrier can use for planning of the new coverage period elections. To the extent that premiums are charged for a future coverage period, data extracts based on the future effective date will allow billing in advance of the new coverage period. For each employee who requires no changes in current or future coverage period benefits an itemized breakdown of anticipated billing for the new coverage period can be provided.
- a billing cycle generally has anticipation component (e.g. elections for the new coverage period) and a correction component (e.g. for changes made since the last billing period). While the correction component can be determined based on the current situation when a bill is prepared, the anticipation component must be determined by looking forward and calculating the bill based on the new time period selected through effective dating.
- a benefits plan may itself be effective dated. Changes to a plan can be treated like any other benefits-related event and therefore can be effective dated. An election period that precedes a change in the plan may be associated with an effective dated event that can be derived from the effective date of the plan change. By configuring changes to the plan and enrollment periods as effective dated events, the administrator is given visibility to the actions related to the plan change. With the application of effective dating, mid-coverage year updates are more easily managed, tracked, and integrated. Precision is also significantly improved because all of the information is maintained for all time in the model and can be retrieved based on setting a target effective date for queries to the model.
- the benefits administration management business application may perform coverage repair to ensure that changes that may impact coverage are properly applied to all object versions and generations.
- coverage repair if an employee declares an event in December, and the employee has new benefits starting in January, the application adjusts the target date to the date of the December event and computes all benefit impacts based on rules in effect at that time. The application then switches the target date to January when the new benefits (and their associated rules) take effect, and computes any necessary changes that propagate into the new plan year based on January benefits rules and updates the future effective dated object version accordingly. In this way, the impact of an event that spans a current and future coverage periods is properly accounted for and coverage is repaired.
- the benefits administration management business application may support decision-tree-based benefits eligibility selection.
- Benefits eligibility selection may be based on a hierarchical decision tree structure that supports differentiated benefits within a corporate wide benefits plan. Unlike flattened plans that do not properly account for dependencies between selections, decision-tree-based eligibility provided by the platform 100 allows selection of various benefits and benefit plans through a structured process based on a decision tree.
- Eligibility at each level of the tree may be based on a variety of factors that can be determined within the context of selections (decisions) already made by the employee.
- the application may use factors such as employee status (exempt, non-exempt, union-represented), employee business unit, employee family criteria (single, married, married plus children), and the like to determine which selections to offer at each decision point in the tree.
- union employees may have certain benefit options by virtue of a collective bargaining agreement and may not be eligible for other benefits; company officers may be eligible for certain options that are not available to employees who are not company officers. Based on these and other factors, options will be presented to an employee making benefits selections.
- the benefits administration business application may include a user interface that presents election choices based on decision tree that is adapted based on the current user credentials and the decisions made by the user. This approach does not limit the number of decision points, options to present at each decision point, or factors to consider in determining eligibility.
- the user may make an initial election and this initial election may satisfy a prerequisite for offering the user additional benefit elections.
- the user interface of the benefits administration business application may provide time-based graphical representations of data collection that allows a user to view how benefits related information changes over time. Because benefits information changes over time, a time-based graphical user interface may make understanding the information more intuitive and understandable to the occasional user. Most employee users of the benefits administration application are infrequent users because interaction with benefits for administration or management purposes primarily occurs after an event-based change (birth, death, transfer, etc.). Therefore the information presented in the user interface is configured for rapid understanding.
- the user interface may represent benefits in the form of a timeline that may depict coverage over time and how it changes. As new plan year approaches, a timeline view of the enrollment periods and deadlines for entering changes may be much more impactful and beneficial to a user than a list of dates.
- the benefits administration application can provide alerts (notification) to a user regarding upcoming deadlines or due dates. The alerts may be configured so that they can be generated at specific times or relative to an event date.
- Data entry in the user interface may also include real time input validation so if the employee has entered incorrect or questionable information, feedback may be displayed immediately to the user so that the entry can be corrected while the user is still working on entries rather than after a complete screen is loaded and a ‘next’ button is clicked.
- Data entry may also be automated so that information that is known to the application can be preloaded into data fields to reduce the time required for data entry and to reduce errors associated with data entry.
- the benefits administration business application includes an administrator user interface that may provide every-day users with ready access to most often used features, such as employee search, acting on behalf of the employee, coverage review, dependent data, past activity, and the like. Data may be presented in a timeline view that simplifies understanding of events, changes, and the like that may impact benefits.
- the timeline view when combined with effective dating may show user activity for any period of time, such as an enrollment period that occurred prior to a new coverage period.
- the administrator user interface may answer questions visually by allowing the user to specify an event (a specific employee move), event type (dependent change for an employee, enrollment period), date (last day of an enrollment period), and displaying all pertinent benefits information in proximity to the specified event or date.
- a timeline view of an enrollment period may depict the enrollment period and may show specific points of user interaction with the benefits administration and management business application. Details of the points of user interaction may be viewed by selecting one or more of the points. Details may include user login activity, user benefits review activity (e.g. which benefits were reviewed, which were elected, and the like), and user changes.
- the administrator user interface may also facilitate requesting and presenting plan migration or benefit enrolment reports that may show aggregated changes in plan selection or enrollment. These reports may show trends associated with plan membership, benefits options selections, and the like that may help in planning for offerings of benefit options in future coverage periods. In an example, after a merger of two companies, employee migration within the offered benefits may indicate that one or more plans or options are preferred over another.
- the user interface of the benefits administration application may be configured to present benefits information, receive user input, and direct the user input to the functional modules of the platform, resulting in one or more updates of the information presented in the user interface.
- the benefits administration application user interface for inputting and presenting benefits related information may be configured with additional support screens for presenting information associated with benefits planning and/or management.
- the support screens may present information used to derive the data elsewhere, such as formulas, rules, guidelines, sources of information, pending information, and the like.
- the support screens may also facilitate inputting information that may be used elsewhere in the benefits administration application, such as an employee's social security number, or an employee's educational degree, and the like. This information may facilitate identifying the employee who is the subject of the benefits planning activity. Information such as the number of employees having similar job functions, their average benefits cost, and the like are other examples of support screen information.
- the present invention relates to an enrollment and management system for eligibility-based human resource benefits administration that may be used by an employee in a self-service operation.
- a human resource management system may enable employees to view and perform functions related to benefits administration through a user interface featuring usability and presentation features to facilitate the employee's experience.
- the user interface may be used to access, modify, and review employee benefits.
- Data feeding into the human resource management system may be accessed from a database.
- the database may be a data access persistence database.
- the benefits administration application may be capable of organizing and displaying time-sensitive changes. For example, employees may be able to examine benefits eligibility and coverage data as well as other human resource attributes at any point in time, either forward or back in time, instead of only at a single point in time or the current point in time.
- the benefits administration application may access data for any effective date and obtain an accurate view of what the employee was eligible for during that period and what elections the employee had made during that period.
- the benefits administration application may include a data integration processing component that may receive data from the employer and other sources that may be relevant to functions in benefits administration. Data may be effective-dated at various levels of aggregation, and the component may reconcile these data with existing data to maintain benefits coverage consistent with the merged data over time. Data relating to employees, dependents, beneficiaries, benefits eligibility, event processing rules, current enrollments, payroll contributions, and the like may entered into the system through the user interface.
- the data integration processing may also enable creating and formatting data to send to other parties, such as employers, carriers, COBRA processors, and the like.
- a welcome screen of the benefits administration application may comprise notices relating to benefits coverage, such as a notification of open enrollment, with an option to take action relating to the notice.
- the welcome screen may comprise a timeline for various benefits actions to be taken, reviewed, cancelled, that are pending, and the like. Certain qualifying life events may present the opportunity to modify a benefits enrollment or coverage status.
- an employee may have the option of declaring a life event or perform enrollment activities related to a previously declared event.
- Other options accessible through the welcome screen may comprise access to current benefits, employee profile, beneficiary management, dependent management, wellness center voluntary programs such as voluntary insurance and discount programs, common forms, summary plan descriptions, carrier information, and frequently asked questions and the like.
- instructions may appear on the screen being accessed.
- the instruction screens may be editable, personalized, configurable, and the like.
- Clicking on the ‘employee profile’ may display a screen displaying the profile associated with a user login as shown in FIG. 11 .
- the profile may include information such as name, address, phone number, email address, job title, location, union, gender, payroll frequency, hiring data, identification (ID) of the user, present status of the user, department ID, division ID, participation group and the like.
- Clicking on the ‘beneficiary management’ link may display the beneficiary maintenance information on the screen as shown in FIG. 12 .
- the beneficiary information presented on the screen may be edited/updated using an action button that may allow update of the existing beneficiary information.
- the allocation percentage for each beneficiary benefit may be defined for each beneficiary by entering an appropriate number.
- the beneficiary information may be selected for a basic life insurance, accidental death & dismemberment insurance, supplemental life insurance, business travel & accident insurance, 401k and the like.
- the screen may include a drop-down menu for adding a beneficiary and/or selecting a beneficiary type such as a person, trust, estate, charity and the like. Clicking the ‘Add Beneficiary/Allocation’ button may result in a new screen having a form for entering data corresponding to the beneficiary.
- the data may include name, federal tax ID, establishment date, country, address line 1, address 2, city, state, zip code, email, and the like. The data can be submitted by clicking on the submit button.
- the ‘dependent management’ link when clicked displays a new screen as shown in FIG. 13 .
- This screen displays dependence maintenance data that includes the particulars of the dependents associated with the user.
- the dependent maintenance data may include name, relationship, birth date, medical, dental and some other type of data.
- An Action tab on the dependent maintenance screen allows editing of dependent maintenance data, when required.
- the welcome screen includes a link to a ‘wellness center’ having links to information about health. Clicking on this link results in another screen as shown in FIG. 14 .
- the screen displays a number of links related to health improvement.
- the display screen may include links to other screens such as Healthy You, Healthy Risk Assessment, Coverage Adviser, and the like which may present other screens displaying information about health and other health related articles.
- Clicking on the ‘FSA manager’ link may display a list of additional links on the screen that may include the FSA manager, FSA saving calculator, debit cards and the like as shown in FIG. 15 .
- the FSA manager may initiate another screen that shows account information such as account name, status balance and the like.
- the FSA manager may list recent claims activity such as claim ID, vendor/provider, date of service claim, amount paid, amount status and the like.
- clicking on the FSA register may display screens corresponding to the FSA register.
- Clicking on the debit card link may provide information associated with the use of credit card for health payments.
- the welcome screen may include a ‘voluntary programs’ link and clicking on this link may display information related to voluntary programs and discounts as shown in FIG. 16 .
- the screen may list the available voluntary programs and the discount schemes available to the user. For example, VIP pet insurance, 1-800 flowers, auto discounts and some other type of information.
- a user clicking on ‘common forms’ may access a screen view of common forms available to the employee with links to directly download a form to the user's computer.
- the forms may relate to 401K fast facts, a dental implants brochure, an insurance carrier summary, an insurance carrier rollover maximum, a disabled dependent affidavit, a domestic partner affidavit, an election waiver form, evidence of insurability, health insurance responsibility disclosure form, and the like.
- Current benefits may include employee paid pre-tax benefits, employee paid post-tax benefits, employer paid benefits, and the like. For each benefit, option or coverage level, effective start date, cost, pre-tax cost, post-tax cost, and the like may be listed.
- a print button may be provided to facilitate the printing of status of current benefits on a paper.
- a life event may be declared. Qualifying life events may include the birth of a child, adoption, divorce, marriage, loss of other coverage, death of a dependent, and the like. The life event may be chosen from a drop-down menu, and the like.
- an event date is entered or chosen from a date picker corresponding to when the qualifying life event occurred. Notifications may be provided as to what actions may be taken and what is required from the employee in light of the qualifying life event.
- the employee may be able to add a newborn child to existing medical insurance coverage, modify beneficiary information, increase flexible spending or health care reimbursement withholding, and the like.
- a timetable or deadline for changes may be given.
- declaring a life event may require providing supporting documentation. For example, declaring a birth may require submission of a copy of the birth certificate.
- the employee may enroll the new dependent.
- the employee may be brought to an enrollment preview screen, such as in FIG. 21 .
- FIG. 22 illustrates a first screen of an enrollment process.
- the screen displays an option button to confirm the consumption of tobacco by the user in the last 30 days.
- the user may click on either ‘Yes’ or ‘No’ option for proceeding to the next step of enrollment.
- FIG. 23 depicts an enrollment screen for the benefits administration application that is part of the enrollment process started in FIG. 22 .
- enrollment may proceed in four steps as described here and above. Each step may be clearly laid out and described with its own phrase.
- Step 1 of enrollment involves confirmation from a user about the consumption of tobacco in last 30 days
- Step 2 involves reviewing information of the current election
- Step 3 involves making elections
- Step 4 involves review and confirmation of elections.
- Reviewing information may include reviewing current elections, reviewing dependents, reviewing beneficiaries, and the like.
- a listing may show all current dependents with their name, relationship to the employee, birth date, dependent coverage, and the like.
- the employee may review the current election as shown in FIG. 23 .
- the employee may have the option of editing dependent information, removing a dependent, adding a dependent, and the like. Selecting the option to add a dependent may access a screen for adding dependent information, as in FIG. 25 .
- Dependent information added may include name, birth date, social security number, gender, relationship to the employee, student status, disability status, address, and the like.
- the address field may be auto-filled with the employer's address to save time in adding the dependent.
- the dependent information form, as well as all forms within the benefits administration application, may feature instant validation. Instead of having to submit the form in order to determine if any errors have been made in data entry, an auto-validation feature provides an indication that an error has been made by providing a signal at the field containing the error. For example, a social security number missing the ninth digit may cause the field to be highlighted. In another example, if the gender is indicated as male but the relationship selected is daughter, one or both of the fields may be highlighted or otherwise signaled as containing an error.
- Validation rules may govern form-checking and error alerts.
- a callout box for describing the validation error, as shown in FIG. 26 , as well as a method for correcting the error may accompany the signal provided at the field.
- a review your dependents screen may be shown.
- a new dependent has been added but neither dependent has medical or dental coverage. This screen may provide the option to review beneficiaries.
- Beneficiaries may be added for benefits such as basic life insurance, accidental death and dismemberment insurance, supplemental life insurance, disability insurance, business travel and accident insurance, 401K, and the like. Beneficiaries may be a person, trust, estate, charity, foundation, university, and the like. Any current beneficiaries may be viewed in the listing of beneficiaries, which may include beneficiary name, birth date, social security number, beneficiary type, beneficiary allocation, and the like. To add a beneficiary, the beneficiary type may be selected and beneficiary information may be added, as in FIG. 29 . Certain beneficiary information, such as address, may be supplied without need to re-enter. Alternatively, beneficiaries may be selected from among the dependent pool. Referring now to FIG.
- a beneficiary type and an allocation may be assigned to the beneficiary or beneficiaries.
- the beneficiary type may be primary or secondary, and allocation may be anything from zero to 100%. Total allocation for all beneficiaries must not exceed 100%. If the allocation does exceed 100%, the auto-validation feature will highlight the allocation field alerting the employee that a correction should be made.
- the third step of the enrollment process may be making benefits elections.
- Elections may be made for medical coverage, dental coverage, vision coverage, supplemental life insurance, dependent life insurance, flexible spending accounts, employer paid benefits, and the like.
- the employee may choose coverage from eligible possibilities.
- Selecting medical coverage may access a medical coverage elections screen, as in FIG. 32 .
- Elections may be eligibility-based.
- the employee may choose to waive coverage or they may choose from at least one option for medical insurance.
- the costs for the medical insurance plans may be displayed to the employee for various coverage types, such as employee only, employee plus one, family plan, and the like.
- an alert may indicate which dependents would be eligible for coverage under the selection.
- an outline box may appear around the eligible dependents.
- the employee may then select which dependents to include in the elected coverage. Selecting dental and vision coverage may proceed in a similar fashion.
- the employee medical timeline 3202 shows medical coverage starting Jan. 1, 2009.
- a timeline may show a change upon election of coverage.
- the timeline 3302 shows the employee changed coverage on the election date of Jan. 1, 2010.
- the timeline may provide a way to navigate benefits over a period of time prior to the current time period or after the current time period. For example, selecting the portion of the timeline prior to the current time period may change the display to show what the benefits elections were during the time period selected.
- a selection page for supplemental life insurance is shown.
- Options for supplemental life insurance may be selected by the employee, such as waived, one times the salary, twice the salary, a specific dollar figure, and the like.
- the cost for each option may be indicated along with any requirements, such as submission of an accompanying evidence of insurability form.
- the timeline depicts a pending change to the supplemental life insurance election.
- a notification alerts the employee that coverage may be pending awaiting submission of the evidence of insurability form.
- Flexible spending accounts may include a healthcare spending account, a dependent care spending account, and the like. Each kind of account may have its own coverage timeline. For each account, minimum allowed amounts, maximum allowed amounts, current year contribution, past year contribution, and future year contribution may be shown. The employee may modify the future year contribution.
- FIG. 37 depicts a view of an employer paid benefits page showing benefits and any associated options.
- Employer paid benefits may include short-term disability, long-term disability, basic life insurance, accidental death & dismemberment insurance, supplemental life insurance, business travel and accident insurance, 401K, employee assistance program, tuition benefits, and the like.
- the associated options shown on the employer paid benefits page may include the level of coverage, and the like.
- the fourth step of the enrollment process may be reviewing and confirming elected benefits.
- the timeline may depict benefit elections per event, such as a life event, an open enrollment event, and the like.
- the section of the timeline that is filled in may represent the time in which the elections below will be in effect.
- the user may click on any other portion of the time line, and the data below may be adjusted to display the benefits in effect at that time. This may give employees an opportunity to make comparisons and make better decisions about their benefits elections.
- Elections may be shown along with coverage level, effective start date, cost, applicable dependents or beneficiaries, and the like.
- the benefits may be categorized by employee pre-tax paid benefits, employee post-tax paid benefits, employer paid benefits, and the like.
- Any pending requirements such as requirement for submission of a form to support an election, may be indicated on the review page.
- An option for confirming the elections may be selected by the employee who may access a confirmation screen, as in FIG. 39 .
- the confirmation screen displays a signal of successful submission of elections and may provide options for printing the elections, returning to the welcome screen, logging out, and the like.
- the employee may be notified of any pending requirements, such as requirement for submission of a form to support an election.
- the forms may be downloaded from the confirmation screen.
- the employee may have the opportunity to make changes to the life event and any accompany elections and changes.
- the ability to make changes may be limited by applicable rules, which may be configured or built into the benefits administration application.
- an administrator logging in to the benefits administration application may have additional administrative tools accessible from the welcome screen.
- administrative tools may include searches such as employee search, EOI search, event search; reports section that may include generation of reports for new hire employees reporting, dependent age out reporting, census reporting, output file statistics reporting, output file count reporting, enrollment statistics reporting, enrollment transaction reporting, input file statistics reporting, benefit election summary reporting, enrollment statistics reporting, plan migration reporting and the like.
- the welcome screen may include buttons for creating custom reports, manage reports and the like. Additional links for premium reporting, resources such as COBRA administration may also be provided on the welcome screen.
- other options accessible through the welcome screen may comprise access to current benefits, employee profile, beneficiary management, dependent management, wellness centre access to voluntary programs such as voluntary insurance and discount programs, common forms, summary plan descriptions carrier information, and frequently asked questions, and the like as described earlier.
- clicking on the employee search link may initiate a form for entering details of an employee to be searched.
- the search form may include first name, last name, SSN, employee id, and the like.
- a search button may be provided for initiating the search after entering the required criteria for search.
- the display screen may provide a plurality of text boxes; one for performing quick search and the other for performing advanced search.
- selecting the EOI search option may bring the administrator to an EOI search screen.
- the administrator may search by name, social security number, employee ID, status, benefit, event, start dates, end dates, date range, and the like.
- selecting the employee search option may bring the administrator to an employee search screen.
- the administrator may search by name, social security number, employee ID, and the like.
- Once an employee is identified the administrator may approve or reject events or require additional evidence or information.
- a pending change approval of the elected benefits may search from the EOI screen as shown in FIG. 43 b .
- the administrator may initiate an advanced search for listing all the employees that may have a pending approval as shown in FIG. 43 c .
- a date range may be selected from the calendar to restrict the EOI search based on a date range. For example, the administrator may enter a date range from Oct. 10, 2008 to Oct. 20, 2008. The date range may be entered by selecting this date range from the calendar that may be provided on the screen as shown in FIG. 43 d.
- An event search for searching a particular event may be initiated by the administrator as shown in FIG. 44 .
- the search form may allow the administrator to enter data corresponding to a particular employee for searching a particular event associated with the user.
- the search form may include fields such as first name, last name, social security number, employee ID, status, event having an event occurrence dates, event declaration dates and the like.
- a search button and a cancel button may be provided for either executing the search or canceling the search.
- an administrator enrollment statistics report may include benefit type, the benefit, data range, option, event, the coverage level, how many employees elected the benefit, employee status, department, division how many employees were eligible, the elected percent, and the like.
- the enrollment statistics interface may facilitate filtering/restricting/customizing the search based on one or more of the following criteria including a range, a benefit, an option, a coverage level, an event, an employee status, a department, a division and the like.
- an administrator new hire report may include employee ID, name, date of hire, days remaining, election start date, election end date, last election date, location, department, division, company, division, union, cost center email address and the like.
- the new hire report may be filtered/restricted/limited according to one or more of a hire date, a location, a department, a company, a division, a union, a cost center and the like.
- a link for changing parameters may present a form for customization/filtering/restricting of report according to one or more of the above parameters.
- a dependent age out report may be initiated by an administrator that may include attributes such as sub full name, ID, department full name, age, birth date, benefit option, age outage, location union, email and the like.
- the dependent age out report may also include a link for changing parameters of the report for customization/filtering/restricting the dependent age out report according to one or more parameters such as group type, ID, benefit option, location, department, company, division, union, cost center and the like as shown in FIG. 48 .
- each of the report may be report columns may be sorted according to one or more columns each report may be resorted by one or more columns by clicking on the column headers or by selecting a “sort/filter’ feature located in each column header.
- the welcome page may include a link to a census report and clicking on this may display a screen as shown in the FIG. 49 .
- the report may enable an administrator to view a snapshot of benefit enrollment data for the full or partial benefits eligible population.
- the report may include a name, a run date, a completed date, a status, an action and the like. Additionally, the report may also include a change parameter link that may initiate a web form for changing/filtering the census report based on parameters such as report date, location, department, company division, union, cost center and the like as shown in FIG. 50 .
- out file statistics report may be provided to the administrator to assess the number of statements, or other output files generated within a given date range.
- the report may include a statement type, a name, an employee SSN, an employee ID, a lot name, an event name, a counter run date and the like.
- the report interface may include a change parameter link for filtering/customizing/modifying the report based on one or more parameters such as a statement date range, a statement type, a first name, a last name, an employee ID, an employee SSN and the like.
- the output file count report may enable the administrator to see the output file reporting statistics that may comprise of a statement type, a run date, a lot count and the like. Furthermore, as described earlier, the output file reporting may be customized on one or more parameters such as statement type, statement date range and the like.
- FIG. 53 depicts a screen for input statistics report generated by the administrator.
- the input statistics report may include an input file type, a start time, an end time and the like.
- the administrator may be able to generate a report for type of enrollment in an enrollment transaction report.
- user may be logged by Web, by HR admin, enrolled by web, or enrolled by via HR admin or CSR.
- the report may include statistics in form of data 5402 and/or in form of chart 5404 .
- the attributes of report may include not enrolled, enrolled, enrolled by web, enrolled by HR/CSR and the like.
- the chart display may include line charts as shown in FIG. 55 .
- FIG. 56 illustrates a screen for displaying benefit election summary report produced by the administrator for various types of elections including medical, dental, supplemental life and the like.
- the benefit election summary report may filtered/restricted on one or more attribute including date range, benefit, option, coverage level, event, employee status, department, division and the like.
- the plan migration report may be generated by the administrator to see the changes made by employees in various insurance plans, medical plans, dental plans and the like.
- the plan migration report may include a changed from, a changed to, employees who changes, a percentage of total changes and the like.
- the employee may change from a buy up plan to buy up option plan, which change in plan may be provided in the plan migration report.
- the administrator may create a custom report as per requirement.
- the custom report may be created from subscriber attributes, employee attributes, dependent attributes, employee benefit attributes, work life events, dependent benefit attributes, dependent age-out attributes and the like.
- each attribute may include a plurality of parameters as described above in this application. It may be noted that one or more parameters may be selected from each of the subscriber attributes, employee attributes, dependent attributes, employee benefit attributes, work life events, dependent benefit attributes, dependent age-out attributes and the like and may be added to textbox 5802 .
- another textbox 5804 to configure parameters may allow the selected parameters to be dragged here for including in the report.
- Another Textbox report name may be provided for entering the name of the custom report.
- a manage report link may allow the administrator to manage the available reports.
- the available report may be listed by name or any other parameter.
- a create report button may be provided for creating a new customized report.
- premium billing report may be generated by the administrator.
- the premium billing reports may be arranged in the folder.
- folder may be arranged year-wise, and within the year further broken down, such as by month.
- an audit screen of all business transaction and event elections may comprise events, changes as of today, and the like.
- the human resource management system enables an administrator to view an employee's data and coverage changes over time, focusing in on certain types of information and the events that introduced changes.
- FIG. 62 depicts election changes that occurred in association with a particular event. Details of sessions and submissions are displayed when the same is selected from the event timeline.
- FIG. 63 depicts a coverage timeline view showing selected coverage changes over time for an individual event.
- the timeline may be presented, such basic life, dental, medical, supplemental life, and the like.
- an annual enrollment screen may provide the listing of the dependents.
- the listing may include the name, relationship, birth date, and the like.
- the listing may include different types of benefits such as medical, dental, and the like.
- the benefits application user interface may facilitate planning and/or managing benefits for a single employee or a plurality of employees.
- the plurality of employees may be related through one or more of the following, without limitation—employee attributes, such as title, aspects of coverage, department, location, business unit or division, responsibilities, years of service, manager, services received, employee employment status, and the like.
- An employee employment status may include, without limitation, one or more of full-time, part time, hourly, exempt, permanent, temporary, direct, contract, and other characterizations of status such as active, inactive, retired, and the like.
- the user interface may be based on computer programming technology including without limitation JAVA, JAVASCRIPT, ADOBE FLASH, ADOBE FLEX a combination thereof, or a combination of one or more thereof and other computer programming languages, constructs, technology, images, graphics, menus, and the like.
- the human resource management platform 100 may provide facilities for integrating information from a variety of sources including enterprise business systems, such as planning, budgeting, accounting, organization management, and the like. Information may be provided to the human resource management platform 100 to update the relevant data in the human resource management platform 100 . In an embodiment of the invention, information from external business and other systems may be integrated on a regular basis, such as each day. Facilities for integrating this information may provide synchronization capabilities that may allow a user/enterprise to detect changes in information received for integration and to decide how the data in the platform reacts to the detected changes in the information.
- the benefits administration business application may facilitate supporting “what-if” scenario assessment.
- pending data may be applicable because decisions that are made today may require approval before the change can be effective. Therefore, such decisions result in a pending approval state, such as a pending event.
- Pending events may be incorporated into a future view of the model (e.g. by setting a future target effective date for the application). However, the changes are separate from the ‘current state’ until they are approved so that they are not used in activities that access data (past, present, or future) before the state is approved such as sending current data to the suppliers of these benefits.
- an employee may elect to increase life insurance coverage on a first date.
- the election must be approved so the date that the election is made becomes a pending effective date for the election. Until the change is approved, the current coverage is unchanged and the premiums deducted from the employee's paycheck are unchanged.
- the coverage effective date may be any of the earlier election date, the approval date, or a future date such as the beginning of the next billing cycle or the next calendar month.
- the higher coverage effective date may be determined based on business logic associated with the change. If the higher coverage effective date is a future date, the higher coverage is associated with the future effective date so that when the calendar date passes the coverage effective date, the coverage is effective.
- the target effective date can be changed to be after the future effective date of the higher coverage so that premium deductions can be adjusted for an upcoming payroll cycle that matches to the future effective date of the higher coverage.
- benefits data integration using the data synchronization facilities described herein may be part of regularly run process in which the platform 100 receives a stream of updated data.
- a set of input data may be a complete set of data, or a partial set with optional effective dating for various parts of the data.
- the input file process merges the input data into the persisted, effective dated domain model after performing coverage repair to ensure data integrity and consistency with the benefits administration and platform business rules.
- the input file process performs a reconciliation process to determine the changes in the received data.
- the reconciliation process may include comparing received data to data existing in the platform to infer the occurrence of benefits events.
- the coverage repair capabilities of the platform 100 may be associated with a benefits administration management business application. Coverage repair as described herein may facilitate recalculating decisions associated with benefit elections that have a future effective date when changes introduced into the platform 100 impact the future elections.
- Coverage repair as described herein may facilitate recalculating decisions associated with benefit elections that have a future effective date when changes introduced into the platform 100 impact the future elections.
- an employee elects benefits to be effective in January. These benefits may be coded with an effective date in January so the current coverage period is not impacted by these benefits elections.
- the employee adds a family member to his current benefit plan after the birth of a child.
- the coverage repair facilities of the platform in conjunction with the business rules and dependency logic of the benefits administration business application may automatically recalculate the coverage for the new coverage period (that starts in January) based on the additional family member. This recalculation may result in the benefit election being automatically changed to include the additional dependent so that the benefits provided in the new coverage period in January will include the additional dependent.
- the methods and systems described herein may be deployed in part or in whole through a machine that executes computer software, program codes, and/or instructions on a processor.
- the processor may be part of a server, client, network infrastructure, mobile computing platform, stationary computing platform, or other computing platform.
- a processor may be any kind of computational or processing device capable of executing program instructions, codes, binary instructions and the like.
- the processor may be or include a signal processor, digital processor, embedded processor, microprocessor or any variant such as a co-processor (math co-processor, graphic co-processor, communication co-processor and the like) and the like that may directly or indirectly facilitate execution of program code or program instructions stored thereon.
- the processor may enable execution of multiple programs, threads, and codes.
- the threads may be executed simultaneously to enhance the performance of the processor and to facilitate simultaneous operations of the application.
- methods, program codes, program instructions and the like described herein may be implemented in one or more thread.
- the thread may spawn other threads that may have assigned priorities associated with them; the processor may execute these threads based on priority or any other order based on instructions provided in the program code.
- the processor may include memory that stores methods, codes, instructions and programs as described herein and elsewhere.
- the processor may access a storage medium through an interface that may store methods, codes, and instructions as described herein and elsewhere.
- the storage medium associated with the processor for storing methods, programs, codes, program instructions or other type of instructions capable of being executed by the computing or processing device may include but may not be limited to one or more of a CD-ROM, DVD, memory, hard disk, flash drive, RAM, ROM, cache and the like.
- a processor may include one or more cores that may enhance speed and performance of a multiprocessor.
- the process may be a dual core processor, quad core processors, other chip-level multiprocessor and the like that combine two or more independent cores (called a die).
- the methods and systems described herein may be deployed in part or in whole through a machine that executes computer software on a server, client, firewall, gateway, hub, router, or other such computer and/or networking hardware.
- the software program may be associated with a server that may include a file server, print server, domain server, internet server, intranet server and other variants such as secondary server, host server, distributed server and the like.
- the server may include one or more of memories, processors, computer readable media, storage media, ports (physical and virtual), communication devices, and interfaces capable of accessing other servers, clients, machines, and devices through a wired or a wireless medium, and the like.
- the methods, programs or codes as described herein and elsewhere may be executed by the server.
- other devices required for execution of methods as described in this application may be considered as a part of the infrastructure associated with the server.
- the server may provide an interface to other devices including, without limitation, clients, other servers, printers, database servers, print servers, file servers, communication servers, distributed servers and the like. Additionally, this coupling and/or connection may facilitate remote execution of program across the network. The networking of some or all of these devices may facilitate parallel processing of a program or method at one or more location without deviating from the scope of the invention.
- any of the devices attached to the server through an interface may include at least one storage medium capable of storing methods, programs, code and/or instructions.
- a central repository may provide program instructions to be executed on different devices.
- the remote repository may act as a storage medium for program code, instructions, and programs.
- the software program may be associated with a client that may include a file client, print client, domain client, internet client, intranet client and other variants such as secondary client, host client, distributed client and the like.
- the client may include one or more of memories, processors, computer readable media, storage media, ports (physical and virtual), communication devices, and interfaces capable of accessing other clients, servers, machines, and devices through a wired or a wireless medium, and the like.
- the methods, programs or codes as described herein and elsewhere may be executed by the client.
- other devices required for execution of methods as described in this application may be considered as a part of the infrastructure associated with the client.
- the client may provide an interface to other devices including, without limitation, servers, other clients, printers, database servers, print servers, file servers, communication servers, distributed servers and the like. Additionally, this coupling and/or connection may facilitate remote execution of program across the network. The networking of some or all of these devices may facilitate parallel processing of a program or method at one or more location without deviating from the scope of the invention.
- any of the devices attached to the client through an interface may include at least one storage medium capable of storing methods, programs, applications, code and/or instructions.
- a central repository may provide program instructions to be executed on different devices.
- the remote repository may act as a storage medium for program code, instructions, and programs.
- the methods and systems described herein may be deployed in part or in whole through network infrastructures.
- the network infrastructure may include elements such as computing devices, servers, routers, hubs, firewalls, clients, personal computers, communication devices, routing devices and other active and passive devices, modules and/or components as known in the art.
- the computing and/or non-computing device(s) associated with the network infrastructure may include, apart from other components, a storage medium such as flash memory, buffer, stack, RAM, ROM and the like.
- the processes, methods, program codes, instructions described herein and elsewhere may be executed by one or more of the network infrastructural elements.
- the methods, program codes, and instructions described herein and elsewhere may be implemented on a cellular network having multiple cells.
- the cellular network may either be frequency division multiple access (FDMA) network or code division multiple access (CDMA) network.
- FDMA frequency division multiple access
- CDMA code division multiple access
- the cellular network may include mobile devices, cell sites, base stations, repeaters, antennas, towers, and the like.
- the cell network may be a GSM, GPRS, 3G, EVDO, mesh, or other networks types.
- the mobile devices may include navigation devices, cell phones, mobile phones, mobile personal digital assistants, laptops, palmtops, netbooks, pagers, electronic books readers, music players and the like. These devices may include, apart from other components, a storage medium such as a flash memory, buffer, RAM, ROM and one or more computing devices.
- the computing devices associated with mobile devices may be enabled to execute program codes, methods, and instructions stored thereon. Alternatively, the mobile devices may be configured to execute instructions in collaboration with other devices.
- the mobile devices may communicate with base stations interfaced with servers and configured to execute program codes.
- the mobile devices may communicate on a peer to peer network, mesh network, or other communications network.
- the program code may be stored on the storage medium associated with the server and executed by a computing device embedded within the server.
- the base station may include a computing device and a storage medium.
- the storage device may store program codes and instructions executed by the computing devices associated with the base station.
- the computer software, program codes, and/or instructions may be stored and/or accessed on machine readable media that may include: computer components, devices, and recording media that retain digital data used for computing for some interval of time; semiconductor storage known as random access memory (RAM); mass storage typically for more permanent storage, such as optical discs, forms of magnetic storage like hard disks, tapes, drums, cards and other types; processor registers, cache memory, volatile memory, non-volatile memory; optical storage such as CD, DVD; removable media such as flash memory (e.g.
- RAM random access memory
- mass storage typically for more permanent storage, such as optical discs, forms of magnetic storage like hard disks, tapes, drums, cards and other types
- processor registers cache memory, volatile memory, non-volatile memory
- optical storage such as CD, DVD
- removable media such as flash memory (e.g.
- USB sticks or keys floppy disks, magnetic tape, paper tape, punch cards, standalone RAM disks, Zip drives, removable mass storage, off-line, and the like; other computer memory such as dynamic memory, static memory, read/write storage, mutable storage, read only, random access, sequential access, location addressable, file addressable, content addressable, network attached storage, storage area network, bar codes, magnetic ink, and the like.
- the methods and systems described herein may transform physical and/or or intangible items from one state to another.
- the methods and systems described herein may also transform data representing physical and/or intangible items from one state to another.
- machines may include, but may not be limited to, personal digital assistants, laptops, personal computers, mobile phones, other handheld computing devices, medical equipment, wired or wireless communication devices, transducers, chips, calculators, satellites, tablet PCs, electronic books, gadgets, electronic devices, devices having artificial intelligence, computing devices, networking equipments, servers, routers and the like.
- the elements depicted in the flow chart and block diagrams or any other logical component may be implemented on a machine capable of executing program instructions.
- the methods and/or processes described above, and steps thereof, may be realized in hardware, software or any combination of hardware and software suitable for a particular application.
- the hardware may include a general purpose computer and/or dedicated computing device or specific computing device or particular aspect or component of a specific computing device.
- the processes may be realized in one or more microprocessors, microcontrollers, embedded microcontrollers, programmable digital signal processors or other programmable device, along with internal and/or external memory.
- the processes may also, or instead, be embodied in an application specific integrated circuit, a programmable gate array, programmable array logic, or any other device or combination of devices that may be configured to process electronic signals. It will further be appreciated that one or more of the processes may be realized as a computer executable code capable of being executed on a machine readable medium.
- the computer executable code may be created using a structured programming language such as C, an object oriented programming language such as C++, or any other high-level or low-level programming language (including assembly languages, hardware description languages, and database programming languages and technologies) that may be stored, compiled or interpreted to run on one of the above devices, as well as heterogeneous combinations of processors, processor architectures, or combinations of different hardware and software, or any other machine capable of executing program instructions.
- a structured programming language such as C
- an object oriented programming language such as C++
- any other high-level or low-level programming language including assembly languages, hardware description languages, and database programming languages and technologies
- each method described above and combinations thereof may be embodied in computer executable code that, when executing on one or more computing devices, performs the steps thereof.
- the methods may be embodied in systems that perform the steps thereof, and may be distributed across devices in a number of ways, or all of the functionality may be integrated into a dedicated, standalone device or other hardware.
- the means for performing the steps associated with the processes described above may include any of the hardware and/or software described above. All such permutations and combinations are intended to fall within the scope of the present disclosure.
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Tourism & Hospitality (AREA)
- Theoretical Computer Science (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Marketing (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Development Economics (AREA)
- Educational Administration (AREA)
- Game Theory and Decision Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
- This application is a continuation of U.S. patent application Ser. No. 14/290,466, filed on May 29, 2014, which is hereby incorporated by reference in its entirety; U.S. patent application Ser. No. 14/290,466 is a continuation of U.S. patent application Ser. No. 12/579,985, filed on Oct. 15, 2009, which is hereby incorporated by reference in its entirety; U.S. patent application Ser. No. 12/579,985 claims the benefit of the following provisional applications, each of which is hereby incorporated by reference in its entirety: U.S. Prov. Appl. 61/105,593, filed Oct. 15, 2008 and U.S. Prov. Appl. 61/105,615, filed Oct. 15, 2008.
- 1. Field
- The inventive methods and systems described herein generally relate to human capital management and particularly relate to a scalable platform for enterprise level human capital management including performance, compensation, benefits, and the like.
- 2. Description of the Related Art
- Human resource management systems must provide support for diverse applications such as compensation planning and execution, performance appraisal and management, alignment of compensation and performance, benefits administration, benefits user self service, and the like. There exists a need for a scalable human resource management system that facilitates the effective application of these services to a wide range of entity sizes, structures, and business processes while ensuring a high degree of configurability and client data separation for use on distributed, networked computing environments.
- In an aspect of the invention, methods and systems comprising a user interface for interacting with the applications in accordance with various embodiments of the present invention are provided. The systems may include a persistence layer for storing a benefits administration domain model; a business logic layer comprising the domain model; a plurality of employee benefits management applications; and a presentation layer comprising a user interface for interacting with the applications. The methods may include storing a benefits administration domain model in a persistence layer of a human capital platform; manipulating domain objects of the domain model with employee benefits management applications; configuring the benefits management applications within a business logic layer of the platform; and presenting a user interface for facilitating user interaction with the applications using a presentation layer of the platform.
- In the aspect of the invention, the domain model may comprise domain objects representing employee benefits information. In the aspect of the invention, the domain model may also comprise domain objects representing employee information and employee benefits information.
- In the aspect of the invention, the plurality of applications may include an employee benefits enrollment application, an employee beneficiary and dependent maintenance application, an employee life event application, an administration application, an input file application, an output file application, a reporting application, or some other type of application.
- In the aspect of the invention, the plurality of applications may also include an employee benefits application. In the aspect of the invention, the employee benefits application may further include employee self-service and administrator self-service.
- In the aspect of the invention, the plurality of applications may also include benefit eligibility applications, enrollment applications, or some other type of applications.
- In the aspect of the invention, the persistence layer may include a database for storing the benefits administration domain model, synchronization facilities for updating the domain model, and the like. In the aspect of the invention, updating the domain model may include bulk updating of the domain model.
- In the aspect of the invention, the persistence layer may also include security for limiting access to the database. In the aspect of the invention, the security may allow a plurality of independently accessible domain models to be stored in the database. In the aspect of the invention, the independently accessible domain models may be stored in separate schemas.
- In the aspect of the invention, the user may be an employee, a benefits administrator, or the like.
- In the aspect of the invention, the benefits administration applications may include an employee benefits application that includes employee self-service and administrator self-service features that are accessible via the user interface. In the aspect of the invention, the benefits administration applications may also include benefit eligibility applications, enrollment applications, and the like.
- In the aspect of the invention, the benefits administration model may be stored in a database that is accessible through the presentation layer.
- In the aspect of the invention, the domain model may be updated with synchronization facilities. In the aspect of the invention, updating the domain model may include bulk updating of the domain model.
- In an aspect of the invention, methods and systems for a domain model comprising a plurality of objects in accordance with various embodiments of the present invention are provided. The aspect may include providing a domain model comprising a plurality of objects containing employee and employee benefits information and dynamically adjusting, with a processor, the plurality of objects using the transaction information in each object to reproduce a state of the domain model as it existed when any one of the transactions was applied. In the aspect of the invention, each of the plurality of objects containing employee and employee benefits information may contain data describing all state changes of the object and all transactions applied to the object.
- The aspect may further include separating effective dates from the domain model to facilitate the objects dynamically adjusting to operate with properties and associations in effect as of an effective date. In the aspect of the invention, the effective date may be a date range. Embodiments may further include responding to a query of the domain model with the processor by retrieving data from at least one version of at least one of the plurality of objects that is indicated by the effective date; dynamically adjusting the plurality of objects based on an effective date; responding to a query of the domain model with the processor by retrieving data from at least one version of at least one of the plurality of objects that is indicated by the reproduced state of the domain model; and responding to a query of the domain model with the processor by retrieving data from at least one version of at least one of the plurality of objects that is indicated by an effective date.
- In an aspect of the invention, methods and systems for an effective dated domain model comprising a plurality of effective dated objects in accordance with various embodiments of the present invention are provided. The aspect may include providing a domain model comprising a plurality of effective dated objects containing employee and employee benefits information and dynamically adjusting, with a processor, the plurality of objects using the transaction information in each object to reproduce a state of the domain model as it existed when any one of the transactions was applied. The aspect may include each of the plurality of objects containing employee and employee benefits information may contain data describing all state changes of the object and all transactions applied to the object. The aspect may include separating effective dates from the domain model to facilitate the objects dynamically adjusting to operate with properties and associations in effect as of an effective date. In the aspect, the effective date may be a date range. The aspect may further include responding to a query of the domain model with the processor by retrieving data from at least one version of at least one of the plurality of objects that is indicated by the effective date; responding to a query of the domain model with the processor by retrieving data from at least one version of at least one of the plurality of objects that is indicated by the reproduced state of the domain model; and responding to a query of the domain model with the processor by retrieving data from at least one version of at least one of the plurality of objects that is indicated by an effective date.
- In an aspect of the invention, methods and systems for an effective dated domain model comprising a plurality of effective dated objects in accordance with various embodiments of the present invention are provided. The aspect may include providing a domain model comprising a plurality of effective dated objects containing employee and employee benefits information, wherein each of the plurality of objects may contain data describing all state changes of the object and all transactions applied to the object; receiving a query of the domain model that references an effective date; and dynamically adjusting, with a processor, the plurality of objects using the transaction information in each object to reproduce a state of the domain model as it existed on the effective date. The aspect may include responding to the query by retrieving data from at least one version of at least one of the plurality of objects that is indicated by the reproduced state of the domain model. The aspect may include separating effective dates from the domain model to facilitate the objects dynamically adjusting to operate with properties and associations in effect as of an effective date. In the aspect, the effective date may be a date range.
- In an aspect of the invention, methods and systems for applying a change to an effective dated domain model in accordance with various embodiments of the present invention are provided. The aspect may include accessing a domain model to acquire a current version of a domain object containing employee and employee benefits information; determining an effective start date for a change of a portion of the domain object, the domain object being associated with a current generation; creating a new generation of the domain object that includes a copy of the current generation; creating a new version of the domain object within the new generation based on a current version; and allocating the effective start date to the new version.
- In the aspect of the invention, methods may further include storing the new generation with a processor in a human resources management database.
- In an aspect of the invention, methods and systems for supporting a pending state in a domain model in accordance with various embodiments of the present invention are provided. The aspect may include providing a domain model comprising a plurality of objects containing employee and employee benefits information and dynamically adjusting, with a processor, the plurality of objects using the pending state in each object to produce a state of the domain model that includes the pending state based on the business application context. In the aspect of the invention, each of the plurality of objects containing employee and employee benefits information may reflect a pending state of the object based on a business application context.
- In the aspect of the invention, the pending state may be accessible to the processor in a pending delegate of the object. In the aspect of the invention, the pending delegate may only be accessible through the object.
- The aspect may also include configuring a pending state of a domain model; receiving a change to an employee benefits data item in a domain object of the domain model that requires authorization; using a processor to create a pending delegate of the domain object; and accessing the data item in the pending delegate.
- In the aspect of the invention, accessing the data item in the pending delegate may include accessing the pending delegate through the domain object and may be achieved only through the domain object. In the aspect of the invention, creating the pending state may be based on the configuration of the pending state and may include employee and employee benefit data.
- In the aspect of the invention, the aspect may include configuring a pending state of a domain model; determining a change to benefits data accessible in a domain object of the domain model that requires authorization; using a processor to create a pending delegate of the domain object; and accessing the data item in the pending delegate.
- In the aspect of the invention, accessing the data item in the pending delegate may include accessing the pending delegate through the domain object and may be achieved only through the domain object. In the aspect of the invention, creating the pending state may be based on the configuration of the pending state.
- In an aspect of the invention, methods and systems for benefits selection in accordance with various embodiments of the present invention are provided. The aspect may include taking an employee benefits domain model comprising a hierarchical set of benefits eligibility criteria and a plurality of domain objects representing employee attributes; using a processor to receive an employee identifier and access the domain model to retrieve attributes of the employee; presenting a first selection of benefits to the employee based on a comparison of the employee attributes with the benefits eligibility criteria; receiving a benefits selection from the employee; and presenting a second selection of benefits to the employee based on the comparison and the selection.
- In the aspect of the invention, accessing the domain model may be based on a target date. In the aspect of the invention, the plurality of domain objects may be effective dated. In the aspect of the invention, the attributes retrieved may be associated with a domain object version that has an effective from date less than the target date and an effective to date greater than the target date. In the aspect, the attributes retrieved are retrieved from a domain object version that includes the target date within an effective date range of the object version.
- In an aspect of the invention, methods and systems for repairing employee benefits data in a benefits administration management domain model in accordance with various embodiments of the present invention are provided. The aspect may include receiving a change related to an employee benefit; modifying a domain object representing the employee benefit; calculating with a processor an impact on portions of the domain model that include a state of the employee benefit; and updating the domain model so that the state of the employee benefit is adjusted based on the impact.
- In the aspect of the invention, the domain object may be an effective dated domain object. In the aspect of the invention, the state of the employee benefit may be associated with an effective date of the effective dated domain object.
- In the aspect of the invention, the state may be a future state relative to a target date, a past state relative to a target date, or the like.
- In the aspect of the invention, the change related to an employee benefit may be a change in rules, a change in employee indicative data, or any other change. In the aspect of the invention, employee indicative data may include one or more of an employee residential address, an employee zip code, and a union membership.
- In the aspect of the invention, the change related to an employee benefit may also be a newly declared event.
- In the aspect of the invention, calculating the impact may be based on the received change, on the received change and the state, or on some other factor.
- In the aspect of the invention, the state may be a pending state of a domain object. In the aspect of the invention, the pending state may be captured in a pending delegate.
- In the aspect of the invention, the state may be associated with an effective dated domain object. In the aspect of the invention, updating may include recording updates in a domain object version.
- In the aspect of the invention, the domain model may comprise effective dated domain objects.
- In an aspect of the invention, methods and systems for repairing employee benefits data in a benefits administration management domain model in accordance with various embodiments of the present invention are provided. The aspect may include receiving a change related to an employee benefit; calculating with a processor an impact on portions of the domain model that include a first state of the employee benefit; calculating with a processor an impact on portions of the domain model that include a second state of the employee benefit; and updating the domain model so that the employee benefit is adjusted based on the impact.
- In the aspect of the invention, updating the domain model may include modifying a domain object representing the first or second state of the employee benefit.
- In the aspect of the invention, the change related to an employee benefit may be a change in rules, a change in employee indicative data, or any other change. In the aspect of the invention, employee indicative data may include one or more of an employee residential address, an employee zip code, and a union membership.
- In the aspect of the invention, the change related to an employee benefit may also be a newly declared event.
- In the aspect of the invention, calculating the impact may be based on the received change, on the received change and at least one of the first state and the second state, or on some other factor.
- In the aspect of the invention, the state may be a pending state of a domain object. In the aspect of the invention, the pending state may be captured in a pending delegate.
- In the aspect of the invention, the state may be associated with an effective dated domain object. In the aspect of the invention, updating may include recording updates in a domain object version.
- In the aspect of the invention, the domain model may comprise effective dated domain objects.
- In an aspect of the invention, methods and systems for interacting with a benefits administration platform in accordance with various embodiments of the present invention are provided. The aspect may include transmitting benefits information from a server to a remote computing facility over a network; presenting the benefits information to a user in a user interface using the computing facility; receiving a response to the benefits information from the user using the computing facility; transmitting the response to the server; computing changes to the benefits information based on the response; and updating a server-accessible domain model of the benefits based on the computed changes. The aspect may further include transmitting the changes to the computing facility.
- In the aspect of the invention, transmitting the benefits information from the server to the remote computing facility may include retrieving the benefits information from the domain model. In the aspect of the invention, retrieving the benefits information may be based on a user identifier provided from the web browser.
- In the aspect of the invention, the user interface may run using ADOBE FLASH technology, the user interface may be built using ADOBE FLEX technology, and the user may be a benefits subscriber. In the aspect of the invention, the benefits information may include one or more of: employee profile data, beneficiary data; dependent data; benefit election data; benefit-related event data; employee health data; medical benefits; dental benefits; life insurance benefits; flexible spending account data; and employer paid benefits. In the aspect of the invention, the benefits subscriber may be an employee. In the aspect of the invention, the response may impact one or more of: employee profile data, beneficiary data; dependent data; benefit election data; benefit-related event data; employee health data; medical benefits; dental benefits; life insurance benefits; flexible spending account data; and employer paid benefits.
- In the aspect of the invention, the user may be a benefits administrator. In the aspect of the invention, the benefits information may include one or more of: enrollment transaction trends; new hire enrollment data; employee search; event search; enrollment status; dependent age data; census data; benefit election data; medical benefit data; billing data; event timeline data; and employee attribute timeline data. In the aspect of the invention, the response may impact one or more of: employee profile data, beneficiary data; dependent data; benefit election data; benefit-related event data; employee health data; medical benefits; dental benefits; life insurance benefits; flexible spending account data; and employer paid benefits.
- In the aspect of the invention, the user interface may display an events timeline.
- These and other systems, methods, objects, features, and advantages of the present invention will be apparent to those skilled in the art from the following detailed description of the preferred embodiment and the drawings. All documents mentioned herein are hereby incorporated in their entirety by reference.
- The invention and the following detailed description of certain embodiments thereof may be understood by reference to the following figures:
-
FIG. 1 depicts diverse elements of a human resource management platform. -
FIG. 2 depicts an architecture view of the platform. -
FIG. 3 depicts smart synchronization aspects of the platform. -
FIG. 4 depicts effective dating aspects of the platform. -
FIG. 5 depicts group manager facilities of the platform. -
FIG. 6 depicts a data independence embodiment. -
FIG. 7 depicts platform reporting flows. -
FIG. 8 depicts a unified human resources management platform. -
FIG. 9A depicts an employee-centric view of the unified platform ofFIG. 9A . -
FIG. 9B depicts an administrator-centric view of the unified platform ofFIG. 9A . -
FIG. 10 depicts a welcome screen of the benefits administration system. -
FIG. 11 depicts an employee profile screen. -
FIG. 12 depicts a beneficiary maintenance screen. -
FIG. 13 depicts a dependent maintenance screen. -
FIG. 14 depicts a screen for wellness centre. -
FIG. 15 depicts a FSA manager screen. -
FIG. 16 depicts a voluntary programs screen. -
FIG. 17 depicts a screen for common forms. -
FIG. 18 depicts a current benefits screen. -
FIG. 19 depicts a screen for declaring a life event. -
FIG. 20 depicts a screen with duly filed information for a life event declaration. -
FIG. 21 depicts a welcome screen for enrollment. -
FIG. 22 depicts a screen for indicating tobacco usage -
FIG. 23 depicts a screen for reviewing the current enrollment. -
FIG. 24 depicts a screen for reviewing dependent information. -
FIG. 25 depicts a screen for adding a dependent. -
FIG. 26 depicts a screen illustrating input data validation -
FIG. 27 depicts a screen showing added dependents. -
FIG. 28 depicts a beneficiary review screen. -
FIG. 29 depicts a screen for adding beneficiary information. -
FIG. 30 depicts a screen for assigning an allocation to a beneficiary. -
FIG. 31 depicts a screen for making an election for one benefit. -
FIG. 32 depicts a screen for electing medical benefits. -
FIG. 33 depicts a timeline change upon election of a coverage level. -
FIG. 34 depicts a selection page for supplemental life insurance. -
FIG. 35 depicts a pending change to supplemental life insurance. -
FIG. 36 depicts a flexible spending account election screen. -
FIG. 37 depicts an employer paid benefits page. -
FIG. 38 depicts a review and confirm changes page. -
FIG. 39 depicts a benefit confirmation screen -
FIG. 40 depicts returning to the welcome screen with a new pending life event listed for approval. -
FIG. 41 depicts various tools available to the administrator. -
FIG. 42 depicts various tools available to the administrator, and a screen for conducting an employee search. -
FIGS. 43 a, 43 b, 43 c, and 43 d depict an administrator evidence of insurability search. -
FIG. 44 depicts an administrator screen for an event search. -
FIG. 45 depicts an administrator enrollment statistics report. -
FIG. 46 depicts an administrator new hire report. -
FIG. 47 depicts an administrator dependent age out report. -
FIG. 48 depicts an administrator dependent age out report filtered according to particular criteria. -
FIG. 49 depicts the status of queued census reports. -
FIG. 50 depicts a customization interface for creating an administrator census report. -
FIG. 51 depicts an administrator output file statistics report. -
FIG. 52 depicts an administrator output file count report. -
FIG. 53 depicts an administrator report for input file search. -
FIG. 54 depicts an administrator enrollment transaction report. -
FIG. 55 depicts an administrator enrollment transaction report in form of a chart. -
FIG. 56 depicts an administrator benefit election summary report. -
FIG. 57 depicts an administrator plan migration report. -
FIG. 58 depicts an administrator interface for creating an ad hoc report. -
FIG. 59 depicts a screen for ad hoc report management by an administrator. -
FIG. 60 depicts an administrator access to historical premium billing reports by month. -
FIG. 61 depicts an audit screen of all transaction, events, and elections for a subscriber. -
FIG. 62 depicts election changes that occurred at a particular event. -
FIG. 63 depicts an audit timeline view -
FIG. 64 depicts a screen for annual enrollment. - A human resource management platform may include a centralized domain model where application logic comes together in one place; a deep and mature configuration model that provides extensive configurability; a unique design for groups and hierarchies that facilitates leveraging them for natural and efficient rule distribution; smart synchronization features to facilitate loading bulk data and recomputing ramifications of changes detected in the data; data independence and pending world features that allow the platform to maintain independent data sets pertaining to the same core entity or organization concurrently while allowing a wide range of data update options; an effective dating framework that may facilitate accurately maintaining chronological states of the platform and its associated data in the past, present, and future at the same time; high-performance, scalable, and enterprise-class support; and many other features and capabilities as described herein.
- The platform may include domain driven design features that may be well suited to a scalable product family that can be readily tailored to a variety of client needs. Business logic may be centrally located in the domain model, which may form an object-oriented backbone to the platform.
- The platform may include a deep configuration model that may provide rich model-based configuration capabilities that can be prepared externally and loaded into the platform to handle a wide range of requirements from clients. The configuration model may include configuring values, structures, scripted functionality, and the like.
- The platform may provide a rich user experience through an intuitive and interactive user interface that is centered on the user's experience, using a combination of textual and graphical means to present information relevant to the user's job.
- The platform may be scalable to support any size population and feature set from very small to very large. The platform may support deployments of 400,000 users or more. Feature sets may be expanded to meet requirements that fall outside the bounds of the deep configuration model capabilities.
- Applications in human resource management must have high volume file processing capabilities. Information for which a client is the system of record may be regularly loaded through full file processing, and information derived within the
platform 100 must be sent to various parties in formats that they require. Therefore, the platform may be open to integration with other systems and facilities in areas such as specialized decision support tools, supplying data feeds, receiving data, and the like. Integration may be provided through front and back end integration points, flexible input and output file mapping capabilities, and the like. - The
platform 100 may support third party integration to facilitate bringing together the best content and user experience to solve human resource management challenges. Theplatform 100 may present several mechanisms for integrating third parties into the system, providing a seamless experience to the end user, including—linking to remote content—a user interface can be easily tailored to provide context-sensitive links to content provided by a client or third party; accessing local content—certain content may be accessed from within a firewall or through a server, such as for security purposes. The user interface can be tailored with internal content links to provide internal content; consuming web services—theplatform 100 contains web service integration support that enables applications to consume web services from third parties. In an example, users may be directed to third party control, with connections initiated and results obtained through web services; publishing web services—third party tools may also use portions of application functionality provided by web services that can be published by theplatform 100 or by a provider of theplatform 100. In an example, publishing web services may be used for real-time data synchronization by clients or for information queries and updates by internal tools; data import and export—theplatform 100 may support batch loading of full updated files from clients, and export of files formatted for specific recipients. - Because human capital management operation can be very complex, with a variety of special cases, and seemingly ad hoc rules that must be followed, users may be subjected to software in this space that reflects that complexity in its user interfaces and support requirements. In contrast, the platform is designed to control substantially all of the complexity through a high degree of automation for client feature development, production code generation, specialized tools creation, and product build and deployment processes.
- Referring to
FIG. 1 which depicts various elements that may be associated with embodiments of the humanresource management platform 100, platform features 102 may include a domain model that may include business logic, an effective dating framework, database update or synchronization capabilities, smart synchronization facilities for updating data and the domain model in the database with enterprise business system data, deep configuration features, group manager features, data independence functionality, workflows, and the like. Theplatform 100 may also be associated withbusiness applications 104 such as performance driven compensation applications, compensation planning applications that supports both in-cycle (focal) and out-of-cycle planning, benefits applications that can be used by employees, human resource administrators, and third parties, employee and manager self service applications, performance planning, appraisal, and feedback applications that support input from employees, co-workers, and managers, and other business applications as may be described herein or may be envisioned or needed for effective use of the human resource management platform. Theplatform 100 may be associated with a user interface that may provide alert capabilities, access security, and a wide variety of user interface screens, such as those associated with each of thebusiness applications 104. Theplatform 100 maybe associated withvarious technologies 110 that may be used for development, deployment, operation, maintenance, upgrade, and the like.Platform technologies 110 may include open source software, domain driven design, JBOSS HIBERNATE, ECLIPSE, JAVA, JMX, ADOBE FLASH, ADOBE FLEX, TAPESTRY, JASPER, DOJO, SOAP, AJAX, XML, and the like. Theplatform 100 may be associated with and supportexternal interfaces 112 such as business system data sources, external application linking and integration, web services, input file processing and compliance checking, change publication services, reporting, and the like. Theplatform 100 may include or be associated with one ormore databases 114 that may provide persistence of data and access to input data and derived data including the domain model. Theplatform 100 may be associated withusers 118 that may include line managers, group managers, human resource administrators, various other corporate roles, information technology specialists, employees, third parties, and the like. Theplatform 100 may be deployable in a wide variety ofmarkets 120, some of which may include large entities. Markets may include aerospace and defense, banking, business services, capital goods, chemicals, conglomerates, construction, consumer goods, diversified financials, drugs and bio technologies, food, beverage, and tobacco businesses, health care, hotel service, travel and leisure services, insurance, materials, oil and gas production and distribution, retailing, semiconductors, telecommunications, transportation, utilities, and the like. Theplatform 100 may be associated with and may beneficially supportbusiness services 122 such as planning, management, financial approval, payroll, employee-related analysis, event processing, reporting requirements, business system configuration, business logic realization, secure employee data access, workflows, and the like. Theplatform 100 may also be associated withdeployment 124 that may facilitate hosting, licensing, web browser integration, thin client deployment, server-based deployment, virtual computing, virtual data warehousing, and the like. - Referring to
FIG. 2 , a functionality view of theplatform 100, theplatform 100 may include apresentation layer 202, a business logic layer 204, and apersistence layer 208. Thepresentation layer 202 may facilitate user access through a web-based interface that may be almost entirely implemented in ADOBE FLEX, running in the user's web browser, and communicating to a platform server through an SSL connection. The user may interact with theplatform 100 over a secure connection, and may be authenticated via single sign-on to use the platform either through a third party security portal or through a login screen associated with theplatform 100. Functionality and visibility to certain data may be restricted from the user due toplatform 100 authorization rules. Administrators may get access to additional functionality and visibility of additional data, which may include access to workflow results, historical and auditing information. Other portions of the platform may provide services to thepresentation layer 202 through which users access the services and functionality of theplatform 100. Thepresentation layer 202 may also include HTML capabilities, provide support for a reporting mechanism (e.g. Jasper reporting or other equivalent reporting mechanisms), provide PDF formatted documents, and the like. - The
platform 100 may provide a business logic layer 204 that generally can be understood to be a middle tier in the product architecture where substantially all of the application logic is disposed. A rich object model, which may be stored on a server, interacts with thepresentation layer 202, computes implications of data input to the platform, and may store itself in a database that may be part of apersistence layer 208. Configuration loaded into the platform creates and modifies objects, and web services may be published or consumed to provide a communication path with the model to outside partners. Application components build on this model, adding capabilities such as succession, performance, compensation, benefits administration, and the like. - The
platform 100 may provide apersistence layer 208 that may be largely automated in the platform, with an object-relational mapping strategy for synchronizing a database and an in-memory model using database synchronization software such as JBoss Hibernate. As described herein, the platform may include an effective dating framework that may be automated with this layer. The database that is accessed through thepersistence layer 208 may contain no business logic so that it can provide a fast storage and query response for objects in the model. Thepersistence layer 208 may include denormalized representations of portions of the database to support analytics, reporting, and the like. Thepersistence layer 208 also implements some security aspects and provides a basis for fast data loading and separation of data sets. - The human
resource management platform 100 may provide facilities for updating the object model and database based on data received from external business systems, such as financial, organizational, legal, and the like. Generally, human resource management systems rely on data captured and managed in external business systems that may be used for strategic and operational purposes by businesses. External data may include insurance, benefit programs, and the like from third parties. Theplatform 100 provides smart synchronization facilities that enable bulk loading of data from these systems on a regular basis while providing rules driven, time efficient automatic updating of the data and model content used by theplatform 100. Smart synchronization may support various computing environments, such as parallel processing or distributed computing architectures to benefit updating data in deployments of the platform in large organizations (e.g. utility companies with more than one hundred thousand employees, large numbers of transactions, and the like). - Referring to
FIG. 3 , which depicts asmart synchronization facility 300 of theplatform 100, bulk loading of data may benefit the various business applications supported by theplatform 100 such as performance driven compensation and benefits administration.Smart synchronization 300 may provide capabilities to bring the bulk data into theplatform 100 rapidly and upload the model/database quickly.Smart synchronization 300 also supports data that is effective dated and may support receiving data in industry standard formats (HRXML and other consortium formats). Although data received and processed throughsmart synchronization 300 eventually results in a database update, changes are applied to the object model and the updated object model elements are persisted in the database through a bulk database update process. - The
smart synchronization facilities 300 may be designed as a pipeline architecture with a series of transformations that convertraw business data 302 intoobject data 308 usinghandlers 304. Theobject data 308 is validated for errors and the like (e.g.raw data 302 contains 200 job descriptions, yet the current model holds 10,000 job descriptions). The validated object data is then reconciled 312 with thecurrent model data 320 to determine differences, such as changes in salary, new employees, new jobs, organizational changes, and the like. The changes may be provided to arecomputation engine 314 that recomputes all derived model data, taking into consideration the changes provided by the reconcileprocess 312. As the object data in the model is updated through therecomputation process 314, it may be organized into groups of like database transactions to improve the efficiency of these updates. In an example, if an organization of 7,000 employees is moved in an organizational hierarchy, the hierarchy link of each of these employees may be grouped and forwarded to thedatabase update engine 318 to improve the efficiency of the update. When all derived model data is recomputed through therecomputation engine 314 and the model data is persisted in the database through theupdate facility 318, the object model and database now references the updated model anddatabase 322. - Portions of
smart synchronization 300 may be implemented as a pipeline to support operation on separate processors, servers, and the like. This may be facilitated by the inherent separation of employee data. While the types of data required for each employee may be the same, the information is very unique and can be processed independently. Similarly, although data and formulas for processing data for a business application such as performance driven compensation may be different when compared to processing data for benefits administration, the main smart synchronization steps and algorithms may be the same.Smart synchronization 300 may be similar to and/or may be used to implement coverage repair in a benefits administration business application. This is further described in the benefits administration application specification. -
Smart synchronization 300 may also be embodied as a rules engine that allows a company to decide how data in theplatform 100 reacts to changes in the data that is sent into theplatform 100 on a regular basis such as from various other business systems. -
Smart synchronization 300 may operate in parallel on any plurality of instances of thecurrent model 320 as may be required with data independence described herein elsewhere. -
Smart synchronization 300 also supports a full audit trail of all changes made, which may be important for regulatory compliance and other change verification processes. - Because
smart synchronization 300 recomputes all derived data, planned changes that are recorded in theplatform 100 and are not yet effective in thecurrent model 320, but will be effective at a future point in time, if a data item that impacts these planned changes is received, the computations that affect the planned change will automatically be executed. In an example, if a manager has entered plans for merit increases for eight of her employees and the external business data indicates that one of these employees is to be transferred to another manager before the merit increase is to be effective,smart synchronization 300 will detect this employee change and compute the data necessary to support the planned employee transfer and the planned merit increases. Changes may include: moving an employee compensation budget from the first manager to the second manager; ensuring that any pending authorization workflows for the merit increase are moved to the role responsible for authorizing merit increases for the second manager; adjusting other aspects of the employee compensation (e.g. bonus) based on the department rules of the second manager, and the like. In this way, the updatedmodel 322 reflects these planned changes so that each manager can see how the planned changes will impact their departments in the future. - Recomputation of derived data may be required because all of the budgets, guidelines, workflows, and the like may be configured into the
platform 100 but may not be inherent in the external business systems. Therefore, any given change made outside the platform 100 (ex: an employee is hired, transferred, fired, quits, etc) and input to theplatform 100 for synchronization has no way of knowing what the downstream impact to other parts of theplatform 100 will be. This automatic recomputation allows managers and administrators to focus on the business of the specific change (dealing with an employee resignation) rather than the complexities of the impact of the change to theplatform 100. -
Smart synchronization 300 may include separatingexternal business data 302 into separate files or categories of data, such as data that relates to jobs, salary, employees, groups, workflow approvers, and the like. Alternatively the data may already be separated into individual files, such as a job file, an employee file, and the like. Each file or category of data may be processed separately, which may further improve the efficiency of the synchronization process. - The reconcile
process 312 may infer a deletion or a change of an item based on a comparison of theraw business data 302 and thecurrent model 320. Using an example of a job description, thereconciliation process 312 may compare each existing job with the jobs in the job data input file; determine what is new, what has changed, and what has been removed. In this example each job may be assigned a unique identifier. If the unique identifier in theinput data 302 matches to a job in thecurrent model 320, thenreconciliation 312 determines if the job data has changed by comparing the input job data to the current model job data. If the unique identifier in theinput data 302 does not exist in thecurrent model 320, the input data job is flagged as a new job to be added during therecomputation process 314. If one or more unique job identifiers in thecurrent model 320 is not found in the input data, then these jobs in thecurrent model 320 are tagged as to be deleted. The job is not directly deleted because it may be used or referenced elsewhere in theplatform 100. Although theplatform 100 does not receive a ‘delete job’ action,smart synchronization 300 infers that an entry in theplatform 100 that is not included in the current job input file is to be removed. An item that is tagged to be deleted may result in therecompute process 314 archiving the job to ensure proper traceability for regulatory and governance compliance. - The
platform 100 is scalable to facilitate support of entities with very high employee counts. Entities with upwards of 400,000 employees can be supported by theplatform 100.Smart synchronization 300 facilitates scalability through memory management techniques that may include using caching and pagination to perform the synchronization process on large model elements with a reasonable amount of memory. Because of the widely diverse impact of a change that relates to employee groups that are defined and/or maintained within the platform through the group manager functionality (described elsewhere herein),recomputation 314 requires very large amounts of data to be available for processing. One memory management technique used includes keying input data with a natural key (e.g. social security number for employee, hierarchy key for a group, and the like). The natural key may be used in conjunction with the individual object model element unique identifier to cache relevant data so that therecomputation processing 314 can be executed very efficiently. -
Smart synchronization 300 includes anupdate facility 318 that persists the recomputed model data to produce the updated model anddatabase 322. As described herein, techniques to make this update process efficient include, among other techniques, grouping like database transactions together into a single update request. Even if calculations are simple, due to the large quantity of calculations and database changes required each time thatsmart synchronization 300 is performed the data to be updated is ordered to facilitate batching the update requests. - In an example, a database update tool, such as HIBERNATE may be used because it supports efficient batching of requests. With HIBERNATE, the
platform 100 may accumulate a large number of updates (e.g. 10,000) into a single request rather than issuing 10,000 individual requests. Batching is also used when data is read out of the database forreconciliation 312 orrecomputation 314 so that fewer transaction requests must be processed during thesmart synchronization process 300. -
Smart synchronization 300 may also includehandlers 304 that may operate in a pipeline or may themselves be composed of a pipeline of data processing sections. The organization, order, and features of thehandlers 304 may be configured as part of a build time configuration process. Thishandler 304 customization may allow receiving data that is unique for a deployment of the platform 100 (e.g. adding or handling a special job code). Althoughhandlers 304 are generally ordered to process data from the most generic (e.g. jobs) to the more specific (e.g. groups), the order of the handlers can be changed so that a group handler 304A may be executed before or after a job handler 304B.Handlers 304 can execute a wide variety of tasks, such as to copy data, check a length of description, and the like. Configuringhandlers 304 may be performed with an interface coded using Java. - Effective dating is a strategy for managing data that changes over time. Traditional data processing takes place in the present, and results are stored from now until they are changed in the future. With effective dating, you can set the effective date to a date or date range, and read data as it was (or is projected to be), or write data for the present, past or future. Most effective dating designs fail due to poor performance or overly complex logic, passing dates and date ranges throughout the code and obscuring the business logic. The
platform 100 includes a sophisticated layer that separates dates from the application logic and manages effective dates deep in the architecture outside of application logic, keeping the logic itself simple. For certain business applications supported by theplatform 100, effective dating is fundamental. For example, in benefits administration, benefits eligibility, plan changes, coverage effective dates, pending coverage and events all occur at various times, making it difficult to keep track of the benefits and costs associated with employees at any time. Theplatform 100 provides tools to create an effective dated model implementation and persistence layer. This unique capability provides a scriptable, simple point-in-time programming model to developers, for customizations, and scripted configuration. It also effective dates a configuration of theplatform 100 itself, so that changes in configuration can be scheduled to take effect at some point in the future, or retroactively in the past. Automation and layering may be techniques that make this successful. The effective dating framework also has a built-in capability referred to as pending worlds which allows a type of long-lived transaction. Unlike a true transaction, however, it is not totally isolated. Rather, it is a branching strategy that allows write-through from the main non-pending world. This allows live what-if scenarios that are automatically updated when non-pending information is changed that may affect the pending world. For example, in benefits administration, if an employee declares a birth event, a new pending world is created where the new dependent and any elections are stored until the event is approved. If a subsequent plan changes affects eligibility or changes rates, the benefits in both the pending and non-pending worlds will be updated accordingly. - Referring now to
FIG. 4 , which depicts a simplified embodiment of effective dating,effective dating 400 may enable changes made to eachdomain object 404 to be associated with aneffective date 402 and with ageneration 408. Tracking of changes to domain objects may be supported with a two dimensional effective dating mechanism. When placed on an X-Y chart, as shown inFIG. 4 , the X axis may represent an effective date time line and the Y axis may represent generations of an object. Within each object generation 408 (each ‘value’ of Y), each effective-date-differentiated version of the object is tracked based on effective dates known when the object generation is saved (e.g. when it is persisted in the persistence layer). The current object generation (indicated by its Y value) includes the previous object generation effective dated object versions, plus additional changes introduced since the previous object generation was saved. Once the current object generation is saved, any further changes that impact the object will be applied to a new object generation (indicated by a new Y value) that starts out as a clean copy of the most recently saved object generation. - Each version of a domain object has an effective date that may include an effective ‘from’ date and an effective ‘to’ date to allow selective access of a version of the object based on this effective date range.
-
FIG. 4 includes three object generations, generation 1 (408A), generation 2 (408B), and generation 3 (408C). In the simplified example ofFIG. 4 ,generation 1 includes one version of theobject 404 with effective dates Oct. 1, 2008 to all time.Generation 2 includes acopy 404A of theobject 404 fromgeneration 1 with effective dates adjusted to Oct. 1, 2008 to Jun. 30, 2009 and asecond version 410 of thecopy 404A that includes certain changes and has effective dates Jul. 1, 2009 to all time.Generation 3 includes a copy ofobject version 404A, acopy 410A ofobject version 410 with adjusted effective dates Jul. 1, 2009 to Oct. 3, 2009, and an updatedversion 412 of theobject version 410A that includes certain changes and an effective date of Nov. 1, 2009 to all time. - In the example of
FIG. 4 , when the change in the number of dependents from 2 to 3 is entered, thegeneration 1object version 404 is saved and acopy 404A of thegeneration 1 object version is allocated togeneration 2. The effective ‘to’ date of theobject version 404A is set based on the ‘from’ effective date of the number of dependents change. Acopy 410 ofobject version 404A is created ingeneration 2, the dependent changes are made to it and it is effective dated so that there is no gap between the 404A version and the 410 version of the object. - Once
generation 2 is saved to the database, a subsequent object change (in this example an address change) is applied to a new generation (generation 3) of the object.Generation 3 starts as a copy ofgeneration 2 and includesobject version 404A and acopy 410A ofobject version 410 with an adjusted effective ‘to’ date based on the effective date of the address change. Theobject version 410A is copied to anew object version 412, the address change is applied and the effective dates are set. - Although the example of
FIG. 4 is a simplified example of effective dating, the order of changes could be different and the end result would be the same. If in the example the 408C change occurred first (with an effective date of November/1) and then in a next generation the 408B change occurred (with an effective date of July/1) the changes would result in the same final generation because theplatform 100 allow updates to be applied in any effective dating order. - Execution instances of a business application (e.g. compensation quarterly planning) may be associated with a target date that may represent the calendar date for which the business application is being executed. In an example of how a target date may be interpreted by an object to provide the data effective on the target date,
generation 3 ofFIG. 4 represents an object being queried. An instance of a business application associated with a target date of Jun. 1, 2009 will access information fromobject version 404A because Jun. 1, 2009 falls within the effective date range Oct. 1, 2008 to Jun. 30, 2009 ofversion 404A. This includes the user name, social security number, address of 123 Main St, and dependent count of 2. A business application being executed with a Sep. 1, 2009 target date will access objectversion 410A which includes the user name, social security number, address of 123 Main St, and dependent count of 3. An instance of a business application being executed with a target date of Nov. 1, 2009 will accessversion 412 which includes the user name, social security number, address of 4 Eagle St, and dependent count of 3. This example is specifically simplified to show howeffective dating 400 may be used by business applications in theplatform 100. Note that all this is operating on the latest generation—that is, updated with the latest information and further including all values that were in effect in any domain object version. Generally, only an administrator inspecting auditing information and selected reports may look at older domain object generations. However, theentire platform 100 can operate with a target date set to any previous date in such a way that theplatform 100 would read from the earlier generation that was available at that target date. - An objective of effective dating may be to support point-in-time simplicity in the
platform 100 that allows selecting a target date similarly to setting a clock to a particular date/time and getting access to only the information effective at the set date/time. The business applications operate based on the target date so that an applications programmer does not need to create any logic to determine which entry to use; the underlying platform provides the correct data.Effective dating 400 allows for an application to identify a particular time and access to the data is implemented by the platform below the business application/logic layer, but above the database.Effective dating 400 may be different from prior attempts that created separate database tables for different times. The prior attempts generally do not perform well on large databases, do not support bulk data loading, and do not support using data caching for updates. One embodiment indicates that a future state is kept in a separate table that is copied to a currently active model shortly after midnight to bring the current model to the current (no longer future) state. While this may be effective, it may not meet the performance requirements of large enterprise-class deployments. Other prior attempts at effective dating included creating separate tables or change tables and then pass dates throughout the business applications to try to figure out what a state of an object was at a specific date. This puts an onerous burden on a programmer and makes the application code significantly more complex and brittle. These differences may substantially improve the value and effectiveness of usingeffective dating 400. - A benefits administration business application executing in association with the
platform 100 may use theeffective dating mechanism 400 described above to provide the ‘point-in-time’ simplicity within the application to deal with events in each subscriber's life that affects benefits. Application logic in the application may control the target time so that it becomes the context that all objects implicitly reference to provide data from the version that has an effective date that includes the target time. The application controlled target time can be in the past, present, or future. -
Effective dating 400 may facilitate making a record of events and changes over time.Effective dating 400 can also be used to infer events. In an example, if a change in an employee's address is detected in the raw input business data, an employee move event that occurred effective with the date that the new address was introduced to theplatform 100 may be inferred from the data change.Effective dating 400 may be applied to dates themselves, providing a record of changes to dates. In an example, correcting an employee hire date may create two hire dates for the employee, one in effect up until the correction was made, and the other in effect after the correction. Therefore, an accrual that is dependent on an employee start date can be automatically corrected when the system performs coverage repair based on the new hire date. Coverage repair is a process used in the benefits administration application for reconciling effective dated data changes introduced into the system with business rules in effect during that time. The configuration model that has all the rules of the objects is also effective dated so we can access the rules (model definition) with an effective date. - In an example of effective dating used in a benefits administration management business application, an object may include a current salary of an employee. The employee's manager may enter a change to the employee salary with an effective ‘from’ date in the future (a planned salary change). This change may trigger an automatic function that processes object versions and generations as described above. Queries of the model that include a date request that is before planned salary change ‘from’ date will reflect the current employee salary. Queries of the model that include a date request that is on or after the future effective date of the planned salary change will reflect the planned salary.
- Changes to an object (e.g. an employee changes his address) may also affect all versions of the object with a future ‘from’ effective date. This ensures that when the version of the object with the future ‘from’ effective date is accessed, the data provided from the object includes all changes made prior to the ‘from’ effective date that are still pertinent. Further in the planned salary change example described above, after the manager enters the planned salary change, the employee changes his residential address. This change may result in creating a new generation of the object that includes a new version of the object that has a ‘from’ effective date based on the date the employee moves. This change will also result in updating the employee residential address contained in the version of the object that reflects the planned salary change. Therefore, when the planned salary change object becomes effective, the updated employee residential address will be present in the model.
-
Effective dating 400 may be based on an effective dating framework that can be applied to any standard object model design. A compile-time effective dating frame work tool may be used to create an effective dated model from any object model such as object oriented designs, classes, states, and the like. The compile-time effective dating tool may be executed against a client-specific adaptation of the domain model to make objects time sensitive.Effective dating 400 as used within theplatform 100 facilitates supporting time tracking at a low level that is separate from the object model and therefore allowing applications to retrieve database state data from different time spaces without having to carry any time dependencies into the object API in the application layer. -
Effective dating 400 may also facilitate auditing. While conventionally, auditing is based on keeping track of all changes through some sort of audit table (e.g. tracking who made a change, etc) to ensure meeting regulations, theeffective dating 400 framework allows each object to manage its own history and allow a view of the system at any point in time. Because all changes are effective dated, theplatform 100 offers many layers of state that can be rolled back for auditing or any other purpose. Such complete and independent auditing is not necessarily inherent in any other domain model-based environment. - Data being imported or exported can be effective dated. Exported data may include effective dates represented as portions of a record for use by third parties such as insurance providers. When data from external business systems is input, such as with
smart synchronization 300, if there is no date information associated with records that can be used to generate the effective date, the date of first synchronization of the data records may be considered the effective date.Smart synchronization 300 may be configured to recognize a date that is associated with an input record that is to be used to generate an effective date for the entry. - The platform may support managing employees within groups and hierarchies to facilitate hierarchical management of compensation, performance, benefits, and other human resource related activities. Hierarchies may be applied to data structure, creation, organization, and the like in performance and compensation planning and management. The platform may facilitate organizing employees into groups and/or hierarchies that may mirror the reporting and functional groups and hierarchies of the entity. The performance and/or compensation hierarchy may include aspects of the functional hierarchy of a company, while including aspects that are independent of the functional hierarchy. The performance and/or compensation hierarchy may include adaptations or modifications of functional hierarchies of an organization. In an example, a functional hierarchy may identify directors as higher in the hierarchy than senior managers. However, a compensation hierarchy may place experienced senior managers and junior directors at the same level in the hierarchy. In this way, senior managers, who may be performing many director levels responsibilities, may be evaluated for compensation similarly to junior directors. An example of this is long-term incentive awards which are usually awarded to managers only by senior directors or executives. Alternatively, the compensation hierarchy may be independent of a reporting or functional hierarchy. In an example, all directors, independent of their reporting or functional hierarchy in the business may share a common hierarchy level which may be related in a compensation hierarchy to all senior managers who share a different hierarchy level. An organization with geographically diverse business units and even different languages may find relating directors from a first region and senior managers from a second region provides a more competitive compensation offering. Organizing the compensation of a large business in a compensation hierarchy may allow visibility to compensation factor differences between different business units.
- The human
resources management platform 100 may also provide group management facilities that allow for managing hierarchies within the platform that may be different from organizational and reporting hierarchies that may be represented in business system data input to the platform. Matrix management may be represented in theplatform 100 so that an employee who has business-line reporting to a first manager and is working on a project that is under the management responsibility of a second manager, may be grouped with the other project members under the second manager. Although a business system view of this employee may show the employee working directly for the first manager, a performance and compensation view may be adjusted to show this employee in a group managed by the second manager. Group management facilities provide benefits to users of theplatform 100 that include not needing to create complex conversion software programs that adjust the business group view to the matrix group view so that a compensation planning system can accommodate matrix management. - Referring to
FIG. 5 , that depicts a functional view of group manager facilities operating within theplatform 100, enterprisebusiness system data 302 may include line management grouping or hierarchies as shown. In the example ofFIG. 5 , a first line manager manages five employees—A, B, C, D, and E. A second line manager manages four employees—W, X, Y, and Z. In the example, each employee is currently assigned to work on one of two projects,project 1 andproject 2. When thisbusiness system data 302 is supplied to theplatform 100, thegroup manager 502 may be configured throughconfiguration input 504 to detect each employee's project assignment as a natural key for grouping. The five employees of the first manager and the four employees of the second manager may be grouped into two groups within the platform 100: group one 508 that may include employees A, C, E, and Y who are associated withproject 1; and group two 510 that may include employees B, D, W, X, and Z who are associated withproject 2. Through this simplified example, an embodiment of thegroup manager 502 is used to organize employees into groups other than those known and represented in the enterprisebusiness system data 302. -
Group manager 502 may be associated withsmart synchronization 300 in that the data that is processed through the smart synchronization process may include grouping throughgroup manager 502. Group manager can be used to define a specific hierarchy to control how the data being received from theexternal business systems 302 impacts groups that are defined throughgroup manager 502.Group manager 502, when combined withsmart synchronization 300 may also facilitate avoiding the creation and support of complex software that modifies data extracted from thebusiness system 302 so that certain changes in the data only impact members of a work group. In an example, if a bonus program for employees working onproject 1 is changed, either the individual managers have to maintain the data manually for eachproject 1 employee or special export software must be used adjust the bonus for each employee working onproject 1 as the data is transferred from the business system to theplatform 100. Thegroup manager 502 significantly benefits human resource administrators and managers so that data can be handled in groups that they define, rather than wrangling with data in the business system to overcome its limitations. - The
group manager 502 allows for specific assignment of an employee to a group. However, thegroup manger 502 also allows criteria based employee and functional department grouping. Users of thegroup manager 502 may identify certain criteria, such as project assignment as a definition for group membership. In this way, by identifying an attribute associated with employees (e.g. employees with currently vested stock options, sales people, non-exempt employees, and the like), a group of these employees may be defined within theplatform 100. Business applications, such as a performance driven compensation application may use these criteria defined groups to apply rules, perform processing and the like. In an example, a bonus plan may be established for non-exempt employees. By grouping employees by this criteria (non-exempt status), the bonus plan can be automatically applied to only non-exempt employees in all departments. - The
platform 100 may support data independence techniques that may allow independent update of parts of the model, such as those parts that correspond to compensation or performance plans. In an example, one planning session may require a freeze on the reporting hierarchy while another planning session uses a continuously updated hierarchy. Data independence may also facilitate an alternate state of the whole model that allows modeling, “what-if” scenarios, and the like. - Separate datasets, also referred to herein as shadow datasets or shadow models may be created through the data independence framework for specific application needs, such as salary or benefits planning. Each dataset may include rules that control which objects or data elements may be updated as information is provided to the platform from external business systems. A shadow of the entire model may also be created. Each data set starts with a copy of the current model, but may be configured to stop receiving updates after some date, while the current data set continues to always reflect the latest data loads.
- A performance-driven compensation application of the
platform 100 may access a current dataset. The current dataset contains objects that reflect the latest information provided by the external business systems. Because external business systems provide data from a snapshot in time (e.g. “today”) the current dataset reflects that snapshot. The current dataset can be thought of as simply a dataset that does not filter any changes resulting from an update of data from the external business systems. The current dataset may have no notion of what may have existed in the dataset before an update and there is no notion of pending or future changes. - Data independence may allow each dataset to be configured to allow specific updates and to prevent (freeze out) others through an update filter configuration feature. Because each data set is updated based on its update filter configuration, some data sets freeze all information, rejecting anything new, while others may reject all updates, or accept only certain types of information changes. Datasets can be configured with filters that only allow the updates that the filters are configured to allow, while holding all of the other data in the dataset frozen.
- The current dataset may be a reference copy of the latest data that may be stored elsewhere in the model, such as in other datasets. Alternatively, the current data set may be a logical representation of the model based on using the current date to access an appropriate version of each object in the model based on the effective dating mechanism described herein.
- Referring to
FIG. 6 which depicts how data independence may be used advantageously by business applications of theplatform 100, a shadow model may be established when data independence is required for a particular purpose, such as compensation planningFIG. 6 depicts the domain model on the left side and the data independent shadow model on the right side of the figure. Three instances of the domain model and the shadow model are shown: instance A, B, and C. Instance A represents the domain and shadow models when the shadow model is established to support a compensation planning session. A change is introduced into the platform that may impact the data in the domain model and in the shadow model. The change introduced is a new address for an employee. The result of processing this change is shown in instance B of the domain model and the shadow model. In both the domain and the shadow model the change may be implemented because this piece of data is determined to not be relevant to the compensation planning session. A second change is introduced. The second change is a change of the department of the employee. Because this change is relevant to the compensation planning session, it is implemented in the domain model but it is frozen out of the shadow model so that the compensation planning session can proceed without the change causing undesirable results. The impact of the second change is depicted in instance C in which the department change is made to the domain model but not to the shadow model. - A user of the
platform 100 may have reasons to want to have different sets of data available to their employees and managers for various business application tasks. A focal-based compensation planning session may require data that is updated differently (or not at all) than data for an off-cycle based compensation planning session. Focal-based planning is done at a focal-point in time may involve looking at data across a static population—the populate in the organization at the time the focal-based plan is being prepared). Off-cycle compensation planning is generally dominated by making changes based on current manager input, so currently updated data (rather than data frozen in time) may be required. To support both of these needs, data independence facilitates effectively stopping the updating of data for any group defined in theplatform 100. In one embodiment, data independence establishes the shadow model by making a copy of domain model data that a manager needs to run an application (e.g. comp planning) and freezing out any subsequent changes to that copy of the data. By freezing the data for the specific purpose, other uses (e.g. off-cycle) or other focal-point activities can make and see data changes made after data is frozen. At some point a user may want to open up the frozen data and update or not update the data. However, all changes made since the data was frozen may be implemented. The manager who requested the data to be frozen may not be able to choose which changes to allow. - The
platform 100 may include pending state and pending world features that may be useful to a benefits administration application because today's decisions (e.g. an election of benefits) may result in a pending state, which includes pending approvals (e.g. changes are entered but are conditional and therefore do not take effect until they are approved). A pending state could also be a declaration of a new dependent, which may require approval or simply an election which cannot take effect until evidence of qualification is received. Because the changes are conditional until approved, they are independent from the ‘current state of the model’ until the change is approved and effective. Therefore, pending states can be created in the platform so that the pending data is not used in activities before the pending data is approved, such as sending data to the suppliers of these benefits. Another purpose of the pending world is to maintain a complete and up-to-date view of the model that would be in effect if all the pending state were approved, as the user may expect it to be once all the conditions are met. - Changes may be introduced while the pending state is still outstanding. Subsequent changes that do not require approval may be implemented during the interval of time between when the election or change is entered and the approval is finalized. Therefore the
platform 100 supports updating both the current object and the pending state so that changes that are not pended are made during the pending event. To support pending events and a pending world of pending events, an automated function may be executed during compilation of the software to be deployed for a client installation. This automated function may detect model classes that require a pending event state and may configure these classes to hold the pending event information when it is entered. In this way the current domain model or the pending events can be accessed based on a set of rules rather than requiring a pending identifier to be accessed during run time or needing to switch between a pending object and a current domain object. - In particular, each object may be associated with pending events. An object may be configured to have a pending state that is maintained in a pending delegate which is accessible through the object based on an assertion of the pending state within a business application. A pending delegate may be a copy of an object that includes changes to elements of the object that are not yet approved (i.e.: pending changes). In an example, when an employee makes a first pending decision, a pending world is created for that employee, and each object changed as a result of that pending decision maintains those changes in its pending delegate. The pending world is asserted by the application when functioning on behalf of an employee who has pending state at that time. A pending delegate is maintained in parallel with the object so that all non-pending changes are implemented in the object and its pending delegate. If and when a pending change is approved, the approved change is applied to the object through the object change process described in reference to the effective dating framework described here, thus ensuring that all dependencies of the change are made within the object and within the model. The information in the pending delegate that has been approved is no longer pending, so if there are no other pending changes in the pending delegate, the pending delegate may be marked as deleted from that time forward. If there are additional pending changes in the pending delegate, the pending delegate remains alive until all pending changes are either approved or denied, at which point that pending world can be discarded. If the pending change is denied approval, it may be removed from the pending delegate and may be archived for audit purposes and the pending world discarded.
- The changes recorded in the pending delegate are only visible when an application specifically requests access to pending delegate information. This may be done through changing a context of the application that may be specific to an employee so that pending information is returned from the object when the application accesses the object. In an example, a business application of the
platform 100 may be serving multiple users at the same time, so the pending state may be specific to a processing thread associated with a user. This allows multiple threads to keep separate pending state so that one user thread may have no pending state and is shown only current information, and another user thread accesses object data based on a pending world established by pending state in that user thread. - A deployment of the
platform 100 may be configured to support a pending world by configuring actions and activities to trigger the use of the pending state. With this global pending context set, changes to an aspect of an object that has been configured to handle pending events may result in the automatic creation of a pending delegate. If the changes are directed at an aspect that itself is configured to support a pending state, a pending delegate of the object is created on demand by creating a copy of the object and passing the change to be handled by the delegate. - The pending state functionality may be implemented as part of the effective dating framework where pending delegates and their associations to non-pending objects are both fully effective dated objects.
- The
platform 100 provides a very flexible solution to managing deployed client data that supports both the down-market and the complex enterprise market. Theplatform 100 supports building the database schema as part of the client deployment build process, such that a client's data is maintained in its own database schema. This separation strategy satisfies many clients' concerns about data separation from other clients, and allows the flexibility to either co-locate the schema with others in the same database instance, or dedicate an instance to the client. This allows deploying more than one client's model and persistent data within one physical or logical database without any risk of exposing client information to other clients. Clients without domain model customizations or build-time configuration can share the application binaries, since runtime configuration results in only data content changes and no change in application code or database schema. This per-schema client strategy also allows applying table-level or schema-level encryption on a client by client basis so that encryption may be applied for a first client and not for a second client within the same database that is accessed by the same application binary. - Each client's data is maintained in a schema separate from other clients' data. This has several benefits. Each schema has its own access credentials, which prevents one client from accessing the others data, and prevents an application from unintentionally mixing data from two clients. This flexibility facilitates co-locating client deployments on virtual or non-virtual environments based on scale, performance metrics, usage patterns, and the like. It helps to use the
platform 100 to exploit the characteristics of the low-touch down-market client while still delivering on the strict requirements of the complex enterprise-class client within thesame platform 100 architecture. - The platform may provide reporting facilities. The reporting facilities may be accessible from each of a performance application, compensation application, benefits application, and any other application, user interface, administrative interface, or data interface associated with the platform. Reporting facilities may provide reports of information stored in one or more databases and domain models associated with the applications. Reports supported by the reporting facilities may include ad-hoc, standard, custom, and other reports such as customized, template based, automatic, interactive, scheduled, and the like. The reporting facilities may also interact with the domain model and one or more databases of the platform to generate one or more denormalized databases (e.g. reporting database) for facilitating reporting, such as customized reporting. A denormalized database may include domain model information, database data, computed data, referenced data, indirect data, consolidated data, third party data, formatted data, variable data, report templates, and other data or calculations that allow a user to report information based on the user's preferences. A denormalized database may be a compilation of information from one or more databases of the platform, one or more domain models of the platform, data gathered from sources external to the platform, user defined computed data, default computed data, and the like. The denormalized database may be updated periodically, such as each day, thereby providing a timely snapshot of information relevant to a user's reporting preferences. In addition to periodic updates, information in the denormalized database may be updated as needed, such as when information affecting a report is changed in the domain model or database. Providing a denormalized database may also improve report response time because report requests may not have to access either the domain model or the full database. Providing a denormalized database may also allow the use of industry standard or publicly available reporting software and techniques for reporting off of the denormalized database. A denormalized database may be organized to further optimize report response time such as by arranging most frequently accessed data to be readily available. A denormalized database may also be organized to allow a user to retrieve information, such as in a report, in ways that coordinate with their business processes, workflows, or preferences.
- The custom reporting facilities may take advantage of the denormalized database and allow a user to report information out of the platform in ways that the user would normally want to get data. With custom reporting, the user may match reports to existing or predefined formats in which a user's current business process generates data. In an example, a user may already have various data in customized Access or Excel tables that, when viewed, present their data in a specific format or matching a preferred organization of the data. A custom report may be configured to deliver the required information to be viewed like the Access or Excel tables.
- The ad-hoc reporting facilities and standard reporting facilities may query the domain model for data to satisfy a report request. By accessing the domain model, instead of the database, ad-hoc and standard reporting may reduce the transactional loading of the database, thereby improving overall platform performance. Reports based on the domain model may still query the database. However, they may benefit from using a single implementation of logic in the objects (e.g. business layer), rather than requiring implementing reporting logic on top of raw data and risking conflicts or taking on maintenance problems of duplicated logic. Alternatively, ad-hoc and standard reporting facilities may query the denormalized database. Any type of reporting facility may access any of the domain model, databases, and denormalized database as needed or specified to retrieve data to satisfy report requests.
- The platform may simultaneously support ad-hoc, standard, and custom reporting so that a user may select one or more types of reporting on demand. Custom reporting may be based on templates that may also be used to organize or identify data to be retrieved, calculated, consolidated and the like into the denormalized database. By identifying the data requirements of the denormalized database based on the reports to be generated from it, the denormalized database may be automatically adjusted based on a custom report template each time the denormalized database is updated. In an example, a user may provide a spreadsheet file that contains the data in the format requested for a custom report. The user may reference the spreadsheet file when configuring a custom report through the platform. The platform may analyze the spreadsheet, such as the formulas, formats, data values, data names, macros, and the like to generate a custom report template to replace the spreadsheet report. At the next update of the denormalized database, such as a based on a user request, the platform may access the domain model and the database to retrieve relevant data, perform calculations as needed to deliver data that matches the spreadsheet data into the denormalized database.
- Referring to
FIG. 7 which depicts an exemplary report that has been generated from an updated denormalized database, exemplary data that may be recorded in a denormalized database is shown. Thedenormalized database 712 may be updated throughupdate process 708. Theupdate process 708 may referencecustom report template 718 to determine aspects of data to be included in thedenormalized database 712 update. Updating may include performing calculations, consolidation, extrapolation, sorting, and other operations on data such as data from thedomain model 702 or thetransactional database 704. Updating may also include copying data from any of the data sources. Updating may include modifying one or more preexisting entries in thedenormalized database 712 so that data associated with a preexisting entry reflects data provided by theupdate process 708. Updating thedenormalized database 712 may also include replacing entries, creating new entries, deleting entries, replacing a portion or the entiredenormalized database 712, creating an alternate to an existingdenormalized database 712, and the like. Updating portions of thedenormalized database 712 may include incremental updates to one or more entries. In an example of incremental updating, theupdate process 708 may compare data from a preexisting entry in thedenormalized database 712 to updated data for the preexisting entry and apply the updated data based on the results of the comparison. If the updated data is different than the preexisting data, theupdate process 708 may replace the preexisting entry data with the updated data. If the comparison result indicates the updated data is not different, then the preexisting entry data may not be replaced with the updated data. - The
denormalized database 712 may include a date/time field that may indicate the date and/or time of the most recent update. The date/time field may apply to the entiredenormalized database 712, a portion of thedenormalized database 712, or individual entries in thedenormalized database 712. The date/time field may be used by theupdate process 708 to determine which preexisting entries in thedenormalized database 712 to update. Data provided to theupdate process 708 may include a similar date/time field to indicate the most recent change to the data. Theupdate process 708 may compare the date/time of the most recent change of the source data with the date/time of the most recent update of the preexisting data to determine which data to update. In an example use of date/time fields associated with updating thedenormalized database 712, a preexisting entry in thedenormalized database 712 may have most recently been updated yesterday and its associated source data may have been most recently changed today. Theupdate process 708 may determine that the source data has changed more recently than the preexisting data has been updated and, as a result replace the preexisting data with the updated data. Theupdate process 708 may query thedomain model 702 and/or thetransaction database 704 so that only data changed more recently than the most recent update of thedenormalized database 712 is provided. In this way, theupdate process 708 may utilize the query capabilities of the platform when updating thedenormalized database 712. - The
template 718 may identify aspects of data associated with acustom report 714. Theupdate process 708 may reference thetemplate 718 when requesting or obtaining data for reporting. Thetemplate 718 may include one or more data fields that may identify an entry or entries in thedomain model 702 and/or thetransactional database 704. The data fields may include employee name, employee salary, compensation cycle, and the like. A template may identify data that does not exist in any data source and therefore may have to be produced; such as byupdate process 708.Denormalized database 712 data that has to be produced may alternatively be produced by one more applications, such as a compensation application and stored in thedomain model 702, thetransaction database 704 or another data storage that may be accessed byupdate process 708. Data that may be produced may include various computations, calculations, and other combinations or processing of source data. In an example of produced data, current employee quartile may be calculated from current employee compensation package, and compensation quartiles. In the example, if the employee compensation package is $134,266 and the third quartile covers a compensation range of $120,000 to $150,000, the employee compensation quartile would be computed to be the third quartile. This computed data may be stored in thedenormalized database 712 so that it could be reported by thecustom report facility 710 and presented to a user, such as theexample custom report 714 ofFIG. 7 . - The platform may support various templates. Templates that may be used by the
update process 708 may include spreadsheet work files or work books from applications such as Microsoft Excel, Microsoft Works, and the like. Template formats supported may include xml files, custom report format files, existing compensation, performance, and benefits report generation format files, and the like. A template may identify specific data entries, data entry types, data groups, data sources, various other aspects of data, and the like. - A plurality of
templates 718 may be associated with acustom reporting facility 710 to support generating various custom reports. Each template may identify data to be included in an update of thedenormalized database 712. Theupdate process 708 may combine templates so that data that is common to more than onetemplate 718 may be retrieved from thedomain model 702 and/or the transactional database 804 once. The common data may be stored in thedenormalized database 712 in more than one location so as to facilitate generating custom reports 714. Alternatively, data commonly identified in more than onetemplate 718 may be stored as a single entry in thedenormalized database 712. - The platform may support ad-hoc reporting that may be used to easily create reports. Ad-hoc reporting may directly access the domain model, the transactional database, or may report from the denormalized database. Ad-hoc reporting may facilitate a user creating a set of report preferences that may be used in a query of the model to filter or select preexisting model objects for reporting. Ad-hoc reporting may be template based, menu based, code based, and the like. A query language such as SQL may be used in an ad-hoc reporting facility. The platform may support creating a user specific ad-hoc profile, storing the user-specific profile, exporting report data to third party software such as Microsoft Excel, generating ad-hoc reports in HTML, PDF, and other display formats.
- The platform may support standard reporting. Standard reporting may support predefined reports. Standard reporting may be template-based to facilitate deployment and integration. Ad-hoc and standard reporting may report off of the domain model rather than the transactional database.
- Referring to
FIG. 8 , compensation, performance, and benefits applications may be combined in one product that may provide a uniquely employee-centric human resource management platform—a comprehensive human capital management (HCM)platform 800. This may include pulling the entire benefits administration application into the performance-driven compensation application to produce aHCM platform 800 that provides capabilities beyond a straightforward combination of applications because various user roles will have the ability to do a rainbow of activities within theHCM 800 based on the services that are deployed. A user role may encompass a benefits client role, a compensation client role and a performance/succession client role as an employee, hr manager, administrator, benefits manager, and the like. - The
HCM 800 may be configured to take advantage of group manager hierarchy features to consolidate rules within the combined business applications and to leverage the sophisticated capabilities of security, data independence, data isolation, and the like to ensure each user role has proper visibility to relevant data while excluding access to non-relevant or sensitive user data. This concept of visibility may be moved to a lower level or to an application specific level in theHCM 800. The HCM may be embodied as an integrated management suite that may be accessible through a single user interface screen. - Referring to
FIG. 9A a user-centric overall offering may depict an overalloffering employee view 902 of services available through theHCM 800. These services may pertain to health (‘My Health’ 904), finance (‘My Wealth’ 908), workflow (‘My Work’ 910), career development (‘My Career’ 912), and some other types of services relevant to the employee. The overalloffering employee view 902 may be designed in order to provide at least a visual segregation of these services. - The ‘My Health’ 904 service may provide the employee with applications related to health services such as support for health decisions, options and choices regarding health care providers, administration service for health benefits, health risk assessments available, events and promotions, and some other services. For example, through ‘My Health’ 904 service, the employee may be able to obtain information related to a free eye check up camp organized by a health agency. In an embodiment of the present invention, such events and promotions may be organized in coordination with the employer of the employee.
- The entities that may be interfacing with this service of the
HCM platform 800 may include content providers that may supplement the information and content related to health services and benefits; decision support parties that may assist with the decision oriented activities (e.g., choice of health care provider); and other third parties. For example, health care events may be hosted by other third parties such as hospitals, NGOs, cultural organizations (Rotary Clubs, Red Cross, among others), and some other third parties. - In accordance with an embodiment of the invention, the other third parties may also be involved with solution integration.
- The ‘My Wealth’ 908 service may provide the employee with applications related to financial services such as deposit account (e.g., facilities, statements), beneficiary and compensation benefits (e.g., bonus, overtime payments), life insurance (e.g., premiums), disability compensations, payroll statements, and some other types of financial services. For example, through ‘My Wealth’ 908 service, the employee may be able to access the monthly statement regarding the compensation and benefits accrued or the employee may be able to directly submit premium payments for medical or life insurance through this service.
- Payroll department, Human Resource Information System (HRIS), and third parties such as insurance companies are the entities that may interact through this service.
- Similarly, the ‘My Work’ 910 service may be responsible for providing a collection of workflow oriented applications and services to the employee. These applications and services may include but may not be limited to goals and evaluations, compensation and salary plans, dashboards and workbox, feedback, and some other applications and services. For example, the employee may be able to view various salary options provided by the company, such as fixed or variable component of the salary, and may be able to customize the salary structure according to the needs. In another example, dashboards and workbox applications may facilitate better management of workflow and productivity. In addition, these dashboards may provide effective visualization or presentation options (e.g., providing a graph or chart to track the progress of ongoing projects). Feedback, appraisals, evaluations, and recommendations may also be submitted and viewed by the employees through this service.
- In accordance with an embodiment of the present invention, the ‘My Work’ 910 service may also include best practices and market data related to workflow. For example, this service may complement other services that may help the overall workflow (e.g., time-tracker services).
- Likewise, the ‘My Career’ 912 service may be focused on the career development aspects of the employee. This service may include various applications related to career development and planning, succession or promotion planning, competencies (specialized or generic), and some other types of applications. For example, the employee may be provided with some additional training and certification courses for enhancement of skill set.
- The ‘My Career’ 912 service may involve other entities such as consulting services, learning management service providers, ATS, and some other options for supporting career oriented needs of the employee.
- In accordance with an embodiment of the present invention, a third party
solution integration facility 914 may be provided to unify various services (related to employee's health, wealth, work, and career) of theHCM platform 800. - The overall
offering employee view 902 benefits the overall human resource management process by providing an active and effective environment for employee engagement in various human resource activities, rewards for both the employer and the employee in terms of work, productivity, and benefits; a transparent solution for driving pay-for-performance, and a consumer-driven human resource. -
FIG. 9B depicts an overalloffering administrator view 918 for human resource (HR) administrative and executive team. Theadministrator view 918 may include services pertaining to health (‘Corporate Health’ 920), finance (‘Corporate Wealth’ 922), workflow (‘Corporate Work’ 924), career development (‘Corporate Career’ 928), and some other types of services (i.e., for all the employees). The applications in these services may help the HR administrative and executive team assess various trends and indicators pertaining to employees' health, finance, workflow, and career. - The ‘Corporate Health’ 920 may include applications related to health and wellness rewards and benefits, tool utilization and employee engagement (indicators and trends), health plan migration summaries and other documentations. For example, a dashboard may be provided in ‘Corporate Health’ 920 that tracks the number of sick leaves availed by the employees. In addition, such a dashboard may provide facilities for rewarding employees who have not taken any sick leave in a given period. The rewards may be monetary, gifts, vouchers, coupons, certifications, and some other types of rewards.
- The other service in the
corporate interface screen 918 may include the ‘Corporate Wealth’ 922. This service may include applications such as dashboards for audit trails, pre-tax plan counts (e.g., Federal Insurance Contributions Act (FICA) savings estimator), voluntary plan participation, aggregated compensation statements, dependent audit dashboards, and some other types of applications. - Similarly, the ‘Corporate Work’ 924 service may encompass workflow activities with regard to the entire organization. Some of the applications in this service may be employee performance trends, company plans and budget compliance indicators, goal achievement progress indicators, and some others. For example, the ‘Corporate Work’ 924 service may provide the invoice status of all projects. In another scenario, sales per employee ratios or workforce productivity ratios may be provided by this service for assessing the overall productivity of the organization.
- Yet another service, ‘Corporate Career’ 928 may include a compilation of every employee's Key Performance Areas (KPAs), corporate goal libraries or repositories, a dashboard for reviewing performance appraisals/evaluations and Key Performance Indicators (KPIs), internal fill rates, competency aggregations, organization's standards, codes of conduct, and some other applications and functionalities. For example, a brief overview (requirements, procedure, preparations, guidelines, etc.) regarding the hiring process may be provided by ‘Corporate Career’ 928.
- In accordance with another embodiment, various aspects of corporate career such as ‘Corporate Social Responsibility’ or ‘Employee Initiatives’ may also be provided by this service.
- Configuration is a means by which a system's look or behavior can be changed to meet client requirements without programming. Configuration in the
platform 100 includes model-based aspects, primarily through an XML file that includes structures, data, parameterized strategies, and scripting to tailor the platform's look and feel and behavior. Theplatform 100 may support build-time configuration that may be applied before theplatform 100 is deployed to produce a targeted solution. Build-time configuration may provide a way that theplatform 100 can maintain speed and scalability by having the configuration compiled into theplatform 100 rather than manipulated as data at runtime. Most configurations of theplatform 100, however, are runtime configuration, which can be loaded into a runningplatform 100 without taking it down and rebuilding it. Some types of effective dated configuration may be loaded while theplatform 100 is running, without affecting current users. - The
platform 100 offers several means for configuring applications including offline configuration tools, online configuration tools, user interface configuration, and the like. Offline configuration may be supported through configuration files that are loaded as XML files and may be created by configuration programs, filed, and the like that may be associated with theplatform 100. These tools may enable business analysts to create the configurations through intuitive user interfaces, and export them into XML files. The files may be used in build-time configuration or used in run-time configuration and loaded into a running system. These tools are especially beneficial if the configuration model is complex or effective dated. Online configuration may partitioned so that a subset of runtime configuration may be available only to authorized users through application functionality, such as: administrator functionality that facilitates changing the details of a dimensional guideline rule, adjusting bonus calculations or updating performance ratings; role management that may facilitate defining roles and managing assignments to individuals and groups; group management that may facilitate maintaining reporting hierarchies, budget groups and other group and hierarchical organizations of employees; and the like. Configuration capabilities of the platform may include user interface configuration. The platform may support several configuration points in the user interface, such as: internationalization that may be supported through configurable resource files, for locale-specific text, formats, and content; application configuration files that may be loaded into the presentation tier to configure application flow; cascading style sheets that may be used to tailor the look and feel of the user interface; and the like. - The human
resource management platform 100 may include data access components or elements for insulating applications and services from the details of data transformation and mapping. Data access components may include features that facilitate persistence of data, such as single domain objects such as a “noun” or a “component”. Persistence of data attributes such as mapping of data formats may also be provided by the data access components. Data access components may also provide services for the humanresource management platform 100 such as creating, reading, updating, and deleting data. Aspects of the humanresource management platform 100 that may use data access components include, without limitation, internal applications, business services, external applications, and the like. Data access components may be implemented by building XML documents from SQL/JDBC results sets. - The human
resource management platform 100 may include a plurality of data access components wherein each component may provide data access services as herein described for different data sources. For example, a data source such as a third party employee insurance database may require a different set of data access functions than an internal employee vacation accounting database. Reading a record from the external insurance database may include mapping data such as employee insurance member ID so that automatic premium payments may be properly credited by the humanresource management platform 100. - As changes are made to data sources, an associated data access component may, or may not, need to change to support the changed data source. In an example, a data source that is changed to include security features associated with a user interface of the data source, may not impact the data access component for that data source. Whereas, a data source that changed field names or definitions may impact a data access component, requiring a new mapping between the data source and the human
resource management platform 100 functions or business services accessing the data source. Data access components may combine, dissect, generate, and persist XML documents to facilitate business functions and services performing tasks. - The user interface gives end users information they need to make decisions, and those decisions ultimately result in changes persisted in the database. This section describes Workscape Technology Platform capabilities that enable our application suite to maintain and store data accurately and efficiently.
- The
platform 100 may include an object model and may implement object-relational mapping. Application logic may be centered in a business logic layer 204 on a server, such as in an object model implemented in Java. Generally, a good object design combines state and behavior. In theplatform 100, the behavior may be embodied in business logic and encapsulated in object methods. When changes to data associated with the model are committed, the object state is translated to the database in an automated fashion, such as by using JBoss Hibernate, an object-relational mapping tool. Hibernate is an example of a tool that can be adapted to successfully manage large amounts of data, such as by revising code to enhance the tool. - Transactions with the model and database may be most effective if they are controlled outside the business logic layer 204. In the
platform 100, transactions are initiated before application logic is invoked and the application logic signals synchronization points to thepersistent database 114 so that the actual transaction management is performed by theunderlying persistence layer 208, adding security and robustness to theplatform 100. - The
platform 100 provides support for enterprise level and down market small size client deployments. Features of theplatform 100 may minimize effort for deploying to low-complexity clients, such as alternative data input, no customization, limited configurability, deployment options, and the like. Alternate data input may include input via spreadsheets so that clients with limited volume and complexity may be able to provide their data through spreadsheets that may be supplied with theplatform 100. The spreadsheet may have embedded functionality that automates the transformation and loading of information, giving the customer more control and limiting deployment or startup effort. Because customizations take time and expertise they add to implementation costs. When client requirements fall within the range of configurability of the platform 100 (e.g. within run-time configurability), theplatform 100 can be quickly configured and programming may not be required. Further, when client requirements can fit within a limited set of configurable options, the time to configure the system is reduced, and some configuration responsibility may be transferred to the client. Testing time may also be drastically reduced. As described above, theplatform 100 may store each client data in its own schema, which facilitates easier deployment through a template approach for configuration, installation, and use, and template use for supporting third party data configuration ERPS, such as SAP, and the like. - The deployment of the
platform 100 may involve a single package of files and several scripts to complete integration with a client environment. One or more business applications can run on a computing resource, such as a virtualized resource, with one or more clients being served by the applications. A database server can host multiple client deployments per database instance or place clients in a separate database instance. The platform may support deploying all components of theplatform 100 on dedicated hardware, or packaged into an appliance for remote hosting within a firewall protected network. Deployment may also support deploying different portions of the platform (presentation layer, business application layer, model layer, and data persistence layer, for example) to be executed on different systems to facilitate distributed processing environments. - The human
resource management platform 100 may include a user interface that may be accessed through a web browser of a computer such as a networked computer facility. The user interface may include various screens for facilitating a user interacting with theplatform 100. In addition to the various screens as herein described for interacting with applications, and the like, the user interface may also facilitating issuing alerts to users. Alerts may be issued based on a range of criteria that is described elsewhere herein. An alert issued through the user interface may include a configurable visual indication on a computer display such as a pop-up window, or other visual notification. The alert may include a configurable audible aspect as well that may play through a speaker system of the computer through which the user interface is accessed. Alerts may be context specific so that an alert issued through the user interface may be based at least in part on the current activity of the user. In an example, a visual alert of a violation of a budget guideline may be presented to the user while the user is modifying budgets. Alerts may also be included in real-time decision support features of the humanresource management platform 100. - The user interface, or one or more portions of the user interface, may be based on computer programming technology including without limitation DHTML, ADOBE FLEX, AJAX, JAVA, JAVASCRIPT, ADOBE FLASH, a combination thereof, or a combination of one or more thereof and other computer programming languages, constructs, technology, images, graphics, menus, and the like.
- Alerts presented through the user interface may guide the user in such a way that the user can take appropriate action by interacting with the alert. In an example, a user may be changing a budget allocation that impacts another user's budget. An alert indicating that the other user's budget is impacted may be issued to the user and may provide a one-click action button to notify the other user of the budget impact. The alert may also provide a one-click action button to escalate the alert to other users, such as those higher in the user's reporting hierarchy.
- The Workscape Technology Platform provides a robust security model that combines an adaptable authentication mechanism with role-based authorization. The platform provides standard integration points for connecting it into the client's SSO of choice. For clients who do not wish to integrate into an authentication service, the platform supplies an alternate username and password authentication model, with configurable password generation and management. Authorization is controlled by configuration of roles and permissions, and associating roles with individuals or groups of individuals. Permissions are keys that unlock product functionality, and open access to certain type of information to those who hold the permission. Roles can be created and configured that bundle together sets of these permissions, and then the roles can be assigned to individual users or assigned automatically to those who meet certain criteria. The platform automatically resolves the permissions granted to a user when the user logs in, and enforces the data visibility and functionality restrictions at a very low level, below where configuration or business logic operates. Permissions are used to control visibility to data at a low level in the architecture. Queries into the database are filtered at a low level, to avoid pulling information into the system that the user is not authorized to access.
- Authorized users are recognized when they log in and are presented with additional administration functions based on their roles. Administrators may have access to functionality, or read-only access to certain employee data, or full rights to act as certain employees. Certain administrators may also be able to affect runtime configuration parameters of the application, changing its behavior in real time. The human
resource management platform 100 may include information that is confidential and personal about employees, employers, corporate or business plans, and the like. To facilitate providing appropriate protection of such confidential and personal information, the user interface of the human resource management platform may include security services. Security services such as unique user names, user login names, secret passwords, authority access levels, and the like may be embodied in the humanresource management platform 100. The user interface may include initial login validation through a secure access method such as requiring a potential user to enter a user name and associated secret password. This first level of security may be configurable through one or more services such as UpdateUser, ProcessLogin, and CancelLogin. An authorized administrator may access one or more of these services to establish and manage user accounts for the purposes of securing the humanresource management platform 100 login processes. Alternatively, one or more of these services may be automated and may be invoked by a user interacting with the humanresource management platform 100 through a login screen of the user interface. In an example, an administrator may invoke the UpdateUser service to change a user password, such as in response to a request from the user. In another example, a user may successfully login to the humanresource management platform 100 with a valid username and password and manually invoke the UpdateUser service to change an aspect of the user's account (e.g. password). A user manually invoking UpdateUser may be considered a self-service aspect of the humanresource management platform 100. Services such as ProcessLogin and CancelLogin may be invoked automatically. In an example, a user selecting a ‘login’ type button on a login screen of the user interface may automatically invoke the ProcessLogin service to perform user credential validation. If the credential validation fails, CancelLogin may be automatically invoked. Manual use of these services may support an administrator creating login credentials for a user account (ProcessLogin) or removing a user (CancelLogin). - The human
resource management platform 100 may include publication change services to facilitate publishing changes to data or data elements. Changes to data, such as databases of the humanresource management platform 100 that are made by both internal and external applications may be published. In an example, an internal application that makes a change to employee email contact information may publish that information so that subscribers to the publication change service may receive the updated employee email contact information. Similarly, an external application, such as a third party health insurance application, may publish information about changes to employee status (e.g. change in coverage selected, change in coverage status) and the like. Publication change services may also provide queue management for subscribers to the service so that a higher priority publication may be pushed higher in a queue of a subscriber than a lower priority publication. In this way, urgent changes or changes that may be required to fully support subsequent changes may be processed before less urgent or dependent changes. Internet publication and change notification methods such as RSS may be supported by the publication change services of the humanresource management platform 100. - The human
resource management platform 100 may use a publication change service to manage subscription to third party or external applications to facilitate receiving information. The business functions and other element of the humanresource management platform 100 may use the publication change services to facilitate timely updating any externally supplied data used by the business functions. Such inbound data may be published to the humanresource management platform 100 with certain policies and attributes determined by the source system of the data. The publication change services may process the attributes to ensure compliance with the policies is maintained as data is published within the humanresource management platform 100. Publication methods such as RSS may be included in the publication change services inbound capabilities. - Publication change services may work cooperatively with other elements of the human
resource management platform 100 so that the publication change service may receive a confirmation of receipt from the other elements. Alternatively, the publication change service may issue announcements or push changes to subscribers without accepting or requiring a confirmation of receipt. - The publication change services may monitor a data repository or some portion of a data repository so that any changes made to the data repository can be published. Monitoring may be based on events—such as changes, on a schedule—such as each hour, on a request—such as a business function initiated subscription request, and the like. Although the publication change services may monitor a data repository to detect changes to the repository, the publication change service may be configured to only publish certain data elements or classes of elements. In an example, a data repository that contains employee confidential and non-confidential information may be monitored, yet only changes to the non-confidential information may be published when a change is detected. The human
resource management platform 100 may support data in a data repository that can be published without using the full capabilities of the publication change services. In an example, data in XML file format in a data repository may be published to applications of the humanresource management platform 100 that use XML formatted data simply by transferring the XML formatted data to the applications. - Elements of the human
resource management platform 100, such as internal applications, business services, business functions, data access components, platform services, publication change services, and the like may use XML or JAVA to communicate. XML Schema such as OAGIS 8.0 and HR-XML standards may be employed in communications. Communications may also be accomplished by forming, exchanging, and decoding Business Object Documents that may themselves be encoded in XML. A business object document of the humanresource management platform 100 may include an application area (e.g. for identifying a sender) and a data area (e.g. for defining a business operation). - A business object document may include an XML verb—such as add, delete, lookup, and the like, and a noun—such as a data value, data field, and the like. A business function or service receiving the business object document may use the data referenced in the noun to perform the function described by the verb. In an example, an UpdateDependents verb with a Dependent noun may add the name of the dependent to the employee's list of dependents. The business service or function that performed the UpdateDependents may provide a business object document response that includes information such as date of update, status of the update, flags or messages returned by the business service, and the like. The business object document communication flow may include request-response XML verb pairs that define a service method. In an example, a lookupDependents business service method accepts an XML document conforming to the LookupDependents schema and responds with an XML document conforming to the ShowDependents schema. Communicating through business object documents also facilitate making changes to functions, services, and applications, such as program or algorithm changes, without having to change aspects of the communication or the interfaces to the human
resource management platform 100 elements. - Business object documents may be used in communication between the human
resource management platform 100 and external services, applications, users, devices, and the like. To provide security, and maintain compatibility with industry standard messaging and communication systems, a business object document may be wrapped in an envelope such as is used in web service requests defined by S O A P. Security, error checking, and the like may be supported by through the enveloping process, thereby allowing the humanresource management platform 100 elements to focus on the content of the business object document. - The human
resource management platform 100 may also include business services to provide service to applications. Business services may include managerial services for managing proxies and authority delegation, payroll services for processing employee related pay, compensation services for planning and managing compensation plans and programs, benefits services for beneficiary and dependent management, communication services for handling corporate communications, corporate services for corporate wide data such as job descriptions and directories, worklist services for individuals to access work items, self-service services for employees to access and maintain information, security services for managing users and access, budgeting services for administering and monitoring budgets, reporting services, integration services for providing transfer management, hierarchy services for establishing and maintaining employee hierarchies, process services for defining and monitoring business processes, and performance management services for facilitating performance rating and goals management. - The platform may support off-cycle changes to any aspect of compensation, performance, and benefits. Off-cycle changes may be integrated with focal transactions so that a user, such as a manager, may access and maintain both off-cycle and focal transactions through a single user interface. Such integration may facilitate giving a manager the ability to plan all compensation changes for an entire compensation cycle (e.g. one calendar year) through a single interface. The same interface may be used throughout the year for off-cycle changes and maintenance, such as for approving a compensation plan and for acting on the approved plan. The single user interface for focal and off-cycle changes may also be facilitated by budget sharing, application logic and rule sharing, and the like. In an example, an employee may achieve a performance goal that has associated with it a compensation increase. The employee achieves the performance goal in May and the next on-cycle compensation adjustment is December, so the employee's manager initiates an off-cycle change. The manager may use the single interface herein described to perform all the necessary steps to execute the off-cycle adjustment. In this example, because the compensation adjustment is included in the compensation plan since it was tied to a performance goal, the manager may review and approve the change to the employee's compensation plan through the single interface. The manager may, within the same interface establish any new compensation plans, such as any changes that may be approved at the end of the current compensation cycle. A single interface for focal and off-cycle compensation, performance, or benefits changes and maintenance eliminates needing to learn separate interfaces for off-cycle and on-cycle compensation planning and maintenance activity. The single interface also allows automatic coordinated access to plans and budgets, rather than using a disconnected off-cycle system, such as separate spreadsheets. Such disconnected or off-line methods prove impractical and error prone when applied to organizations with a large number of employees.
- The human
resource management platform 100 may include applications targeted to solve a variety of human resource and benefits administration problems. Applications of the humanresource management platform 100 may include business applications such as benefits administration. A benefits administration application may provide a comprehensive benefits administration solution that facilitates handling a wide variety of benefits plans, programs, events, changes relating to plans and employees, very large employee populations, cross company integration, third party integration and the like. By joining a benefits administration application with a scalable human resource management platform, a benefits administration solution may facilitate extending best-in-class benefit programs throughout a multi-national organization. Applications of the humanresource management platform 100 may be implemented based on various technologies to provide easy integration. In an example, applications may be written in the Java programming language, and they may be built using domain-driven design principles with a web-based rich client interface using ADOBE FLEX technology. - A benefits administration application may provide a variety of features to achieve benefits integration in an organization. A user interface of the application may include presenting all relevant information, feature selection, notifications, and user information on one computer display screen, or a linked group of screens. Such a user interface may facilitate operation and training to operate the application, while preserving time efficiency during use or maintenance.
- The human
resource management platform 100 may facilitate automated benefits review workflows through the use of online benefit review forms. The online benefit review forms may be integrated with the other aspects of the humanresource management platform 100 such as employee management, benefits provider management, corporate objectives, and the like to facilitate use and data consistency throughout all the aspects of human resource management supported by the humanresource management platform 100. Online benefit review forms may include configurable benefit review forms that support the best practices of the corporation. Aspects of the forms may be configurable specifically to ensure best practices are observed, while other aspects of the form may be configurable to support individual manager or employee needs. - The human
resource management platform 100 may also support online benefit review form creation and management. The humanresource management platform 100 may also support template based creation of online benefit review forms. In an example, a template may identify specific configurable areas of a benefit review form that may be specified by a facilitator of the humanresource management platform 100. These areas may include corporate best practices, industry or government standard review criteria, employee based information from other aspects of the humanresource management platform 100, and the like. The template may also include user configurable areas that may be configured by a manager and/or an employee to support aspects of benefit review not covered elsewhere in the form. In an example, a benefits provider portion of a benefit review form may be identified in a template as restricted from manager or employee changes because the information would be imported from the benefits provider management portion of the humanresource management platform 100. - Online benefit review forms may facilitate harmonizing benefits review across departments, business units, geographies, subsidiaries, languages, and international laws, while offering the flexibility to support a wide variety of management styles, employee input, benefits administration plans, and the like.
- A benefits administration application may include reporting facilities. Reporting may include standard reports and ad hoc reporting capabilities to support a wide range of reporting requirements. Reporting and analytics that may be integrated with the benefits administration application within the human
resource management platform 100 may facilitate easy access to actionable data and analysis results. In an example, an analysis of benefits, such as a coverage analysis, may be included in the benefits administration application so that the coverage analysis may be reported per employee, per group, and the like. - The human
resource management platform 100 may include audit features such as audit trails. Audit features may be associated with the benefits administration application. Audit features may support establishing audit monitoring tools to facilitate automated auditing of transactions associated with the platform. Automated auditing may facilitate compliance with accounting and other standards such as Sarbanes Oxley, OSHA, Fair Labor Standards Act, Minimum Wage Standards, and the like. Auditing may include confirming an effective benefits function has been established, all employee data in the system is accurate and appropriate to the personal issues of the employee, confidentiality of personnel data is maintained, benefits data is completely and accurately accumulated in underlying financial records in the proper accounting periods, reimbursements and other payments to employees (e.g. basic payments, tax adjusted payments, and the like) are properly calculated and authorized, tax legislation is being followed (national and local legislation) including entry verification, benefits costs are in line with budgeting objectives, and the like. Audit trails may facilitate recovery of entries, downloads, and changes in data associated with theplatform 100. Feedback logs may be associated with the benefits administration application so that any form of feedback such as employee feedback, auditor feedback, visitor feedback, manager feedback, vendor feedback, provider feedback, and the like may be recorded. Feedback logs may periodically be reviewed by management, an administrator of the benefits administration application, or other participant in theplatform 100. The review of feedback logs may be automated by a computer system performing keyword matching of feedback logs against a list of critical keywords or phrases. This may allow a feedback log entry that meets a criterion associated with keyword and keyphrase matching may automatically be presented to an administrator, management, or other appropriate participant in theplatform 100. In this way, although all feedback logs may be recorded and permanently stored, those meeting an escalation criterion are sure to receive a human review by the appropriate person. - The benefits administration application may facilitate configuration of benefit programs. Benefit programs may be configured by a participant of the human
resource management platform 100 such as a client. Benefit program configuration may include configuring benefit plans, future accounting periods (e.g. upcoming year benefit target plans), and the like. Configuration options associated with the benefits administration application may accommodate complex benefit plans, such as plans that incorporate automated benefits adjustments, and the like. - The human
resource management platform 100 may be associated with input compliance verification facilities. Compliance of input may be valuable and useful to a benefits administration application by providing spelling checking, legal language checking, and the like. Compliance of input verification may include verifying input meets corporate and legal standards (e.g. minimum wage standards), and the like. Spelling checking may facilitate reducing mistakes in data records such as employee names. In an example, an employee name being input may be compared to all valid employee names and the input may be flagged for further verification if it does not match any of the valid employee names. This may also be useful to help distinguish between similar employee names, such as employees Robert Smith from Bobby Smith when the name Bob Smith is entered. Legal language check may facilitate ensuring that benefits or other requirements on which benefits may be based does not violate any regulations, contracts, and the like - Benefits modeling may be associated with the human
resource management platform 100 such as through a benefits administration application. Modeling benefits may be useful and beneficial to employee retention planning by providing a visible or tangible benefit to achieving a level of employee retention included in the modeling. The benefits administration application may allow employees to interact with theplatform 100 to model various benefits alternatives based on aspects of benefits such as coverage, costs, providers, geographic coverage limitations, optional coverage, and the like. In an example, an employee who is interested in purchasing additional life insurance coverage may view the costs, eligibility conditions, limits, and other requirements of the coverage through the platform. The employee can further model steps for achieving various aspects of the requirements, such as taking and passing a physical exam or other medical assessment. In this way, the employee may determine that passing the physical exam is highest priority for eligibility. - Conventionally, benefits programs have been administered on a plan-year basis that shoehorns all employees into one planning and election cycle that is based on a calendar date rather than on natural dates related to employee needs for benefits. A plan-year based benefits program may limit changes an employee can make during the plan-year. This generally results in limited options being available to the employee other than during an open enrollment period prior to the start of a new plan-year. The benefits administration management business application of the
platform 100 provides support for coverage periods that are distinct from but knowledgeable of plan-year programs. A coverage period may include any timeframe during which no changes are made to an employee-specific benefits program. Therefore, each coverage period can be individually managed. This reduces the complexity of real world changes that occur outside of a plan-year enrollment period. In a coverage period example, an employee who has a baby and changes health plan options from an employee plus spouse plan to a family plan would enter an event that would signify the end of one coverage period and the start of another coverage period. The one coverage period would be characterized by the employee plus spouse plan and the other coverage period would be characterized by the family plan. A change that causes one coverage period to end and a new one to start may be employee generated, company generated, provider generated, a combination of the two, and the like. In another coverage period example, a company may configure benefits premiums to be adjusted annually due to health insurance provider requirements. The date on which the premiums are adjusted would signify the start of a new coverage period for all affected employees. - The platform may facilitate support for benefits coverage periods through the effective dating framework described herein. When effective dating is applied in conjunction with coverage periods, benefits selections can be planned for a future coverage period while the current coverage period may be maintained within the same model/database. The effective dating framework advantages for a benefits administration management business application may be described through an example. In the example, a company using the
platform 100 has defined a new coverage period to start January first. Therefore, in November, employees make benefit elections to be effective when the new coverage period starts. When the elections are made, the platform automatically calculates all the coverage changes through the remainder of the year under the current year rules, and propagates the changes into the next year, correcting or adjusting based on next year rules, and stores all the results in the effective dated model. To provide benefits information for the current coverage period, theplatform 100 may set a target effective date to “today” and perform a query of the model based on this target date. To provide benefits information for the new coverage period, the platform may set a target effective date to “January” and perform a query of the model based on this target date. - To provide a an accurate view of the benefits information for the new coverage period starting in January, the benefits administration application may set the target effective date to some time in January so that queries of the model will return information that is based on the benefits elected for the new coverage period. This may allow sending extracts of data to a carrier that the carrier can use for planning of the new coverage period elections. To the extent that premiums are charged for a future coverage period, data extracts based on the future effective date will allow billing in advance of the new coverage period. For each employee who requires no changes in current or future coverage period benefits an itemized breakdown of anticipated billing for the new coverage period can be provided. A billing cycle generally has anticipation component (e.g. elections for the new coverage period) and a correction component (e.g. for changes made since the last billing period). While the correction component can be determined based on the current situation when a bill is prepared, the anticipation component must be determined by looking forward and calculating the bill based on the new time period selected through effective dating.
- A benefits plan may itself be effective dated. Changes to a plan can be treated like any other benefits-related event and therefore can be effective dated. An election period that precedes a change in the plan may be associated with an effective dated event that can be derived from the effective date of the plan change. By configuring changes to the plan and enrollment periods as effective dated events, the administrator is given visibility to the actions related to the plan change. With the application of effective dating, mid-coverage year updates are more easily managed, tracked, and integrated. Precision is also significantly improved because all of the information is maintained for all time in the model and can be retrieved based on setting a target effective date for queries to the model.
- The benefits administration management business application may perform coverage repair to ensure that changes that may impact coverage are properly applied to all object versions and generations. In an example of coverage repair, if an employee declares an event in December, and the employee has new benefits starting in January, the application adjusts the target date to the date of the December event and computes all benefit impacts based on rules in effect at that time. The application then switches the target date to January when the new benefits (and their associated rules) take effect, and computes any necessary changes that propagate into the new plan year based on January benefits rules and updates the future effective dated object version accordingly. In this way, the impact of an event that spans a current and future coverage periods is properly accounted for and coverage is repaired.
- The benefits administration management business application may support decision-tree-based benefits eligibility selection. Benefits eligibility selection may be based on a hierarchical decision tree structure that supports differentiated benefits within a corporate wide benefits plan. Unlike flattened plans that do not properly account for dependencies between selections, decision-tree-based eligibility provided by the
platform 100 allows selection of various benefits and benefit plans through a structured process based on a decision tree. - Eligibility at each level of the tree may be based on a variety of factors that can be determined within the context of selections (decisions) already made by the employee. The application may use factors such as employee status (exempt, non-exempt, union-represented), employee business unit, employee family criteria (single, married, married plus children), and the like to determine which selections to offer at each decision point in the tree. In an example, union employees may have certain benefit options by virtue of a collective bargaining agreement and may not be eligible for other benefits; company officers may be eligible for certain options that are not available to employees who are not company officers. Based on these and other factors, options will be presented to an employee making benefits selections.
- The benefits administration business application may include a user interface that presents election choices based on decision tree that is adapted based on the current user credentials and the decisions made by the user. This approach does not limit the number of decision points, options to present at each decision point, or factors to consider in determining eligibility. The user may make an initial election and this initial election may satisfy a prerequisite for offering the user additional benefit elections.
- The user interface of the benefits administration business application may provide time-based graphical representations of data collection that allows a user to view how benefits related information changes over time. Because benefits information changes over time, a time-based graphical user interface may make understanding the information more intuitive and understandable to the occasional user. Most employee users of the benefits administration application are infrequent users because interaction with benefits for administration or management purposes primarily occurs after an event-based change (birth, death, transfer, etc.). Therefore the information presented in the user interface is configured for rapid understanding.
- The user interface may represent benefits in the form of a timeline that may depict coverage over time and how it changes. As new plan year approaches, a timeline view of the enrollment periods and deadlines for entering changes may be much more impactful and beneficial to a user than a list of dates. In addition, the benefits administration application can provide alerts (notification) to a user regarding upcoming deadlines or due dates. The alerts may be configured so that they can be generated at specific times or relative to an event date.
- Data entry in the user interface may also include real time input validation so if the employee has entered incorrect or questionable information, feedback may be displayed immediately to the user so that the entry can be corrected while the user is still working on entries rather than after a complete screen is loaded and a ‘next’ button is clicked. Data entry may also be automated so that information that is known to the application can be preloaded into data fields to reduce the time required for data entry and to reduce errors associated with data entry.
- The benefits administration business application includes an administrator user interface that may provide every-day users with ready access to most often used features, such as employee search, acting on behalf of the employee, coverage review, dependent data, past activity, and the like. Data may be presented in a timeline view that simplifies understanding of events, changes, and the like that may impact benefits. The timeline view, when combined with effective dating may show user activity for any period of time, such as an enrollment period that occurred prior to a new coverage period. The administrator user interface may answer questions visually by allowing the user to specify an event (a specific employee move), event type (dependent change for an employee, enrollment period), date (last day of an enrollment period), and displaying all pertinent benefits information in proximity to the specified event or date. In an example, a timeline view of an enrollment period may depict the enrollment period and may show specific points of user interaction with the benefits administration and management business application. Details of the points of user interaction may be viewed by selecting one or more of the points. Details may include user login activity, user benefits review activity (e.g. which benefits were reviewed, which were elected, and the like), and user changes.
- The administrator user interface may also facilitate requesting and presenting plan migration or benefit enrolment reports that may show aggregated changes in plan selection or enrollment. These reports may show trends associated with plan membership, benefits options selections, and the like that may help in planning for offerings of benefit options in future coverage periods. In an example, after a merger of two companies, employee migration within the offered benefits may indicate that one or more plans or options are preferred over another.
- The user interface of the benefits administration application may be configured to present benefits information, receive user input, and direct the user input to the functional modules of the platform, resulting in one or more updates of the information presented in the user interface.
- The benefits administration application user interface for inputting and presenting benefits related information may be configured with additional support screens for presenting information associated with benefits planning and/or management. The support screens may present information used to derive the data elsewhere, such as formulas, rules, guidelines, sources of information, pending information, and the like. The support screens may also facilitate inputting information that may be used elsewhere in the benefits administration application, such as an employee's social security number, or an employee's educational degree, and the like. This information may facilitate identifying the employee who is the subject of the benefits planning activity. Information such as the number of employees having similar job functions, their average benefits cost, and the like are other examples of support screen information.
- The present invention relates to an enrollment and management system for eligibility-based human resource benefits administration that may be used by an employee in a self-service operation. A human resource management system may enable employees to view and perform functions related to benefits administration through a user interface featuring usability and presentation features to facilitate the employee's experience. The user interface may be used to access, modify, and review employee benefits. Data feeding into the human resource management system may be accessed from a database. The database may be a data access persistence database. The benefits administration application may be capable of organizing and displaying time-sensitive changes. For example, employees may be able to examine benefits eligibility and coverage data as well as other human resource attributes at any point in time, either forward or back in time, instead of only at a single point in time or the current point in time. The benefits administration application may access data for any effective date and obtain an accurate view of what the employee was eligible for during that period and what elections the employee had made during that period. The benefits administration application may include a data integration processing component that may receive data from the employer and other sources that may be relevant to functions in benefits administration. Data may be effective-dated at various levels of aggregation, and the component may reconcile these data with existing data to maintain benefits coverage consistent with the merged data over time. Data relating to employees, dependents, beneficiaries, benefits eligibility, event processing rules, current enrollments, payroll contributions, and the like may entered into the system through the user interface. The data integration processing may also enable creating and formatting data to send to other parties, such as employers, carriers, COBRA processors, and the like.
- Referring to
FIG. 10 , a welcome screen of the benefits administration application may comprise notices relating to benefits coverage, such as a notification of open enrollment, with an option to take action relating to the notice. The welcome screen may comprise a timeline for various benefits actions to be taken, reviewed, cancelled, that are pending, and the like. Certain qualifying life events may present the opportunity to modify a benefits enrollment or coverage status. From the welcome screen, an employee may have the option of declaring a life event or perform enrollment activities related to a previously declared event. Other options accessible through the welcome screen may comprise access to current benefits, employee profile, beneficiary management, dependent management, wellness center voluntary programs such as voluntary insurance and discount programs, common forms, summary plan descriptions, carrier information, and frequently asked questions and the like. Throughout the application, instructions may appear on the screen being accessed. The instruction screens may be editable, personalized, configurable, and the like. - Clicking on the ‘employee profile’ may display a screen displaying the profile associated with a user login as shown in
FIG. 11 . The profile may include information such as name, address, phone number, email address, job title, location, union, gender, payroll frequency, hiring data, identification (ID) of the user, present status of the user, department ID, division ID, participation group and the like. - Clicking on the ‘beneficiary management’ link may display the beneficiary maintenance information on the screen as shown in
FIG. 12 . The beneficiary information presented on the screen may be edited/updated using an action button that may allow update of the existing beneficiary information. Further, the allocation percentage for each beneficiary benefit may be defined for each beneficiary by entering an appropriate number. For example, the beneficiary information may be selected for a basic life insurance, accidental death & dismemberment insurance, supplemental life insurance, business travel & accident insurance, 401k and the like. - The screen may include a drop-down menu for adding a beneficiary and/or selecting a beneficiary type such as a person, trust, estate, charity and the like. Clicking the ‘Add Beneficiary/Allocation’ button may result in a new screen having a form for entering data corresponding to the beneficiary. The data may include name, federal tax ID, establishment date, country,
address line 1,address 2, city, state, zip code, email, and the like. The data can be submitted by clicking on the submit button. - The ‘dependent management’ link, when clicked displays a new screen as shown in
FIG. 13 . This screen displays dependence maintenance data that includes the particulars of the dependents associated with the user. For example, the dependent maintenance data may include name, relationship, birth date, medical, dental and some other type of data. An Action tab on the dependent maintenance screen allows editing of dependent maintenance data, when required. - The welcome screen includes a link to a ‘wellness center’ having links to information about health. Clicking on this link results in another screen as shown in
FIG. 14 . The screen displays a number of links related to health improvement. For example, the display screen may include links to other screens such as Healthy You, Healthy Risk Assessment, Coverage Adviser, and the like which may present other screens displaying information about health and other health related articles. - Clicking on the ‘FSA manager’ link may display a list of additional links on the screen that may include the FSA manager, FSA saving calculator, debit cards and the like as shown in
FIG. 15 . The FSA manager may initiate another screen that shows account information such as account name, status balance and the like. Likewise, the FSA manager may list recent claims activity such as claim ID, vendor/provider, date of service claim, amount paid, amount status and the like. Similarly clicking on the FSA register may display screens corresponding to the FSA register. Clicking on the debit card link may provide information associated with the use of credit card for health payments. - The welcome screen may include a ‘voluntary programs’ link and clicking on this link may display information related to voluntary programs and discounts as shown in
FIG. 16 . The screen may list the available voluntary programs and the discount schemes available to the user. For example, VIP pet insurance, 1-800 flowers, auto discounts and some other type of information. - Referring to
FIG. 17 , a user clicking on ‘common forms’ may access a screen view of common forms available to the employee with links to directly download a form to the user's computer. For example, the forms may relate to 401K fast facts, a dental implants brochure, an insurance carrier summary, an insurance carrier rollover maximum, a disabled dependent affidavit, a domestic partner affidavit, an election waiver form, evidence of insurability, health insurance responsibility disclosure form, and the like. - Referring to
FIG. 18 , clicking on ‘current benefits’ may access a screen view of the employee's current benefits. Current benefits may include employee paid pre-tax benefits, employee paid post-tax benefits, employer paid benefits, and the like. For each benefit, option or coverage level, effective start date, cost, pre-tax cost, post-tax cost, and the like may be listed. In addition, a print button may be provided to facilitate the printing of status of current benefits on a paper. - Referring to
FIG. 19 , which depicts a screen for declaring a life event, from the welcome screen (e.g. as shown inFIG. 10 ), a life event may be declared. Qualifying life events may include the birth of a child, adoption, divorce, marriage, loss of other coverage, death of a dependent, and the like. The life event may be chosen from a drop-down menu, and the like. - In
FIG. 20 , an event date is entered or chosen from a date picker corresponding to when the qualifying life event occurred. Notifications may be provided as to what actions may be taken and what is required from the employee in light of the qualifying life event. In an embodiment, the employee may be able to add a newborn child to existing medical insurance coverage, modify beneficiary information, increase flexible spending or health care reimbursement withholding, and the like. In an embodiment, a timetable or deadline for changes may be given. In an embodiment, declaring a life event may require providing supporting documentation. For example, declaring a birth may require submission of a copy of the birth certificate. Once the life event has been declared, the employee may enroll the new dependent. In an embodiment, the employee may be brought to an enrollment preview screen, such as inFIG. 21 . -
FIG. 22 illustrates a first screen of an enrollment process. The screen displays an option button to confirm the consumption of tobacco by the user in the last 30 days. The user may click on either ‘Yes’ or ‘No’ option for proceeding to the next step of enrollment. -
FIG. 23 depicts an enrollment screen for the benefits administration application that is part of the enrollment process started inFIG. 22 . In this embodiment, enrollment may proceed in four steps as described here and above. Each step may be clearly laid out and described with its own phrase. In this example,Step 1 of enrollment involves confirmation from a user about the consumption of tobacco in last 30 days,Step 2 involves reviewing information of the current election,Step 3 involves making elections, andStep 4 involves review and confirmation of elections. Reviewing information may include reviewing current elections, reviewing dependents, reviewing beneficiaries, and the like. For example, when reviewing dependents inFIG. 24 , a listing may show all current dependents with their name, relationship to the employee, birth date, dependent coverage, and the like. The employee may review the current election as shown inFIG. 23 . Further, the employee may have the option of editing dependent information, removing a dependent, adding a dependent, and the like. Selecting the option to add a dependent may access a screen for adding dependent information, as inFIG. 25 . - Dependent information added may include name, birth date, social security number, gender, relationship to the employee, student status, disability status, address, and the like. The address field may be auto-filled with the employer's address to save time in adding the dependent. The dependent information form, as well as all forms within the benefits administration application, may feature instant validation. Instead of having to submit the form in order to determine if any errors have been made in data entry, an auto-validation feature provides an indication that an error has been made by providing a signal at the field containing the error. For example, a social security number missing the ninth digit may cause the field to be highlighted. In another example, if the gender is indicated as male but the relationship selected is daughter, one or both of the fields may be highlighted or otherwise signaled as containing an error. Alternatively, a selection of “daughter” may invalidate the gender option “male” so that it is not selectable. Validation rules may govern form-checking and error alerts. A callout box for describing the validation error, as shown in
FIG. 26 , as well as a method for correcting the error may accompany the signal provided at the field. - Referring to
FIG. 27 , once dependent information has been successfully input, a review your dependents screen may be shown. In this example, a new dependent has been added but neither dependent has medical or dental coverage. This screen may provide the option to review beneficiaries. - Selecting to review beneficiaries may access the beneficiaries' page of the enrollment step, as in
FIG. 28 . Beneficiaries may be added for benefits such as basic life insurance, accidental death and dismemberment insurance, supplemental life insurance, disability insurance, business travel and accident insurance, 401K, and the like. Beneficiaries may be a person, trust, estate, charity, foundation, university, and the like. Any current beneficiaries may be viewed in the listing of beneficiaries, which may include beneficiary name, birth date, social security number, beneficiary type, beneficiary allocation, and the like. To add a beneficiary, the beneficiary type may be selected and beneficiary information may be added, as inFIG. 29 . Certain beneficiary information, such as address, may be supplied without need to re-enter. Alternatively, beneficiaries may be selected from among the dependent pool. Referring now toFIG. 30 , once the beneficiary has been added, a beneficiary type and an allocation may be assigned to the beneficiary or beneficiaries. The beneficiary type may be primary or secondary, and allocation may be anything from zero to 100%. Total allocation for all beneficiaries must not exceed 100%. If the allocation does exceed 100%, the auto-validation feature will highlight the allocation field alerting the employee that a correction should be made. - Referring to
FIG. 31 , the third step of the enrollment process may be making benefits elections. Elections may be made for medical coverage, dental coverage, vision coverage, supplemental life insurance, dependent life insurance, flexible spending accounts, employer paid benefits, and the like. In an embodiment, the employee may choose coverage from eligible possibilities. - Selecting medical coverage may access a medical coverage elections screen, as in
FIG. 32 . Elections may be eligibility-based. For example, the employee may choose to waive coverage or they may choose from at least one option for medical insurance. The costs for the medical insurance plans may be displayed to the employee for various coverage types, such as employee only, employee plus one, family plan, and the like. When the employee selects a plan and coverage type, an alert may indicate which dependents would be eligible for coverage under the selection. For example, an outline box may appear around the eligible dependents. The employee may then select which dependents to include in the elected coverage. Selecting dental and vision coverage may proceed in a similar fashion. In the example ofFIG. 32 , the employeemedical timeline 3202 shows medical coverage starting Jan. 1, 2009. - Referring now to
FIG. 33 , a timeline may show a change upon election of coverage. In this example, thetimeline 3302 shows the employee changed coverage on the election date of Jan. 1, 2010. The timeline may provide a way to navigate benefits over a period of time prior to the current time period or after the current time period. For example, selecting the portion of the timeline prior to the current time period may change the display to show what the benefits elections were during the time period selected. - Referring to
FIG. 34 , a selection page for supplemental life insurance is shown. Options for supplemental life insurance may be selected by the employee, such as waived, one times the salary, twice the salary, a specific dollar figure, and the like. The cost for each option may be indicated along with any requirements, such as submission of an accompanying evidence of insurability form. Referring toFIG. 35 , the timeline depicts a pending change to the supplemental life insurance election. A notification alerts the employee that coverage may be pending awaiting submission of the evidence of insurability form. - Referring to
FIG. 36 , a flexible spending accounts selection screen is shown. Tools, such as a link to the carrier website may be present on the screen. Flexible spending accounts may include a healthcare spending account, a dependent care spending account, and the like. Each kind of account may have its own coverage timeline. For each account, minimum allowed amounts, maximum allowed amounts, current year contribution, past year contribution, and future year contribution may be shown. The employee may modify the future year contribution. -
FIG. 37 depicts a view of an employer paid benefits page showing benefits and any associated options. Employer paid benefits may include short-term disability, long-term disability, basic life insurance, accidental death & dismemberment insurance, supplemental life insurance, business travel and accident insurance, 401K, employee assistance program, tuition benefits, and the like. The associated options shown on the employer paid benefits page may include the level of coverage, and the like. - Referring to
FIG. 38 , the fourth step of the enrollment process may be reviewing and confirming elected benefits. The timeline may depict benefit elections per event, such as a life event, an open enrollment event, and the like. The section of the timeline that is filled in may represent the time in which the elections below will be in effect. The user may click on any other portion of the time line, and the data below may be adjusted to display the benefits in effect at that time. This may give employees an opportunity to make comparisons and make better decisions about their benefits elections. Elections may be shown along with coverage level, effective start date, cost, applicable dependents or beneficiaries, and the like. The benefits may be categorized by employee pre-tax paid benefits, employee post-tax paid benefits, employer paid benefits, and the like. The total cost for all benefits may be shown as well as a breakdown of post-tax and pre-tax costs. Any pending requirements, such as requirement for submission of a form to support an election, may be indicated on the review page. An option for confirming the elections may be selected by the employee who may access a confirmation screen, as inFIG. 39 . The confirmation screen displays a signal of successful submission of elections and may provide options for printing the elections, returning to the welcome screen, logging out, and the like. The employee may be notified of any pending requirements, such as requirement for submission of a form to support an election. In an embodiment, the forms may be downloaded from the confirmation screen. - Referring to
FIG. 40 , if the employee selects returning to the welcome screen, the new pending life event that was submitted for approval may be shown. The employee may have the opportunity to make changes to the life event and any accompany elections and changes. The ability to make changes may be limited by applicable rules, which may be configured or built into the benefits administration application. - Referring to
FIG. 41 , an administrator logging in to the benefits administration application may have additional administrative tools accessible from the welcome screen. For example, administrative tools may include searches such as employee search, EOI search, event search; reports section that may include generation of reports for new hire employees reporting, dependent age out reporting, census reporting, output file statistics reporting, output file count reporting, enrollment statistics reporting, enrollment transaction reporting, input file statistics reporting, benefit election summary reporting, enrollment statistics reporting, plan migration reporting and the like. In addition, the welcome screen may include buttons for creating custom reports, manage reports and the like. Additional links for premium reporting, resources such as COBRA administration may also be provided on the welcome screen. Furthermore, other options accessible through the welcome screen may comprise access to current benefits, employee profile, beneficiary management, dependent management, wellness centre access to voluntary programs such as voluntary insurance and discount programs, common forms, summary plan descriptions carrier information, and frequently asked questions, and the like as described earlier. - Referring to
FIG. 42 , clicking on the employee search link may initiate a form for entering details of an employee to be searched. The search form may include first name, last name, SSN, employee id, and the like. A search button may be provided for initiating the search after entering the required criteria for search. The display screen may provide a plurality of text boxes; one for performing quick search and the other for performing advanced search. - Referring to
FIG. 43 a, selecting the EOI search option may bring the administrator to an EOI search screen. The administrator may search by name, social security number, employee ID, status, benefit, event, start dates, end dates, date range, and the like. Similarly, selecting the employee search option may bring the administrator to an employee search screen. The administrator may search by name, social security number, employee ID, and the like. Once an employee is identified, the administrator may approve or reject events or require additional evidence or information. A pending change approval of the elected benefits may search from the EOI screen as shown inFIG. 43 b. In addition, the administrator may initiate an advanced search for listing all the employees that may have a pending approval as shown inFIG. 43 c. In embodiments, a date range may be selected from the calendar to restrict the EOI search based on a date range. For example, the administrator may enter a date range from Oct. 10, 2008 to Oct. 20, 2008. The date range may be entered by selecting this date range from the calendar that may be provided on the screen as shown inFIG. 43 d. - An event search for searching a particular event may be initiated by the administrator as shown in
FIG. 44 . For example, the search form may allow the administrator to enter data corresponding to a particular employee for searching a particular event associated with the user. The search form may include fields such as first name, last name, social security number, employee ID, status, event having an event occurrence dates, event declaration dates and the like. A search button and a cancel button may be provided for either executing the search or canceling the search. - Referring to
FIG. 45 , an administrator enrollment statistics report may include benefit type, the benefit, data range, option, event, the coverage level, how many employees elected the benefit, employee status, department, division how many employees were eligible, the elected percent, and the like. The enrollment statistics interface may facilitate filtering/restricting/customizing the search based on one or more of the following criteria including a range, a benefit, an option, a coverage level, an event, an employee status, a department, a division and the like. - Referring to
FIG. 46 , an administrator new hire report may include employee ID, name, date of hire, days remaining, election start date, election end date, last election date, location, department, division, company, division, union, cost center email address and the like. In addition, the new hire report may be filtered/restricted/limited according to one or more of a hire date, a location, a department, a company, a division, a union, a cost center and the like. A link for changing parameters may present a form for customization/filtering/restricting of report according to one or more of the above parameters. - Referring to
FIG. 47 , a dependent age out report may be initiated by an administrator that may include attributes such as sub full name, ID, department full name, age, birth date, benefit option, age outage, location union, email and the like. The dependent age out report may also include a link for changing parameters of the report for customization/filtering/restricting the dependent age out report according to one or more parameters such as group type, ID, benefit option, location, department, company, division, union, cost center and the like as shown inFIG. 48 . In addition, each of the report may be report columns may be sorted according to one or more columns each report may be resorted by one or more columns by clicking on the column headers or by selecting a “sort/filter’ feature located in each column header. - The welcome page may include a link to a census report and clicking on this may display a screen as shown in the
FIG. 49 . The report may enable an administrator to view a snapshot of benefit enrollment data for the full or partial benefits eligible population. The report may include a name, a run date, a completed date, a status, an action and the like. Additionally, the report may also include a change parameter link that may initiate a web form for changing/filtering the census report based on parameters such as report date, location, department, company division, union, cost center and the like as shown inFIG. 50 . - Referring to
FIG. 51 , out file statistics report may be provided to the administrator to assess the number of statements, or other output files generated within a given date range. The report may include a statement type, a name, an employee SSN, an employee ID, a lot name, an event name, a counter run date and the like. As described earlier the report interface may include a change parameter link for filtering/customizing/modifying the report based on one or more parameters such as a statement date range, a statement type, a first name, a last name, an employee ID, an employee SSN and the like. - Referring to
FIG. 52 , the output file count report may enable the administrator to see the output file reporting statistics that may comprise of a statement type, a run date, a lot count and the like. Furthermore, as described earlier, the output file reporting may be customized on one or more parameters such as statement type, statement date range and the like. -
FIG. 53 depicts a screen for input statistics report generated by the administrator. The input statistics report may include an input file type, a start time, an end time and the like. - Referring to
FIG. 54 , the administrator may be able to generate a report for type of enrollment in an enrollment transaction report. For example, user may be logged by Web, by HR admin, enrolled by web, or enrolled by via HR admin or CSR. The report may include statistics in form ofdata 5402 and/or in form ofchart 5404. The attributes of report may include not enrolled, enrolled, enrolled by web, enrolled by HR/CSR and the like. The chart display may include line charts as shown inFIG. 55 . -
FIG. 56 illustrates a screen for displaying benefit election summary report produced by the administrator for various types of elections including medical, dental, supplemental life and the like. The benefit election summary report may filtered/restricted on one or more attribute including date range, benefit, option, coverage level, event, employee status, department, division and the like. - Referring to
FIG. 57 , the plan migration report may be generated by the administrator to see the changes made by employees in various insurance plans, medical plans, dental plans and the like. The plan migration report may include a changed from, a changed to, employees who changes, a percentage of total changes and the like. For example, the employee may change from a buy up plan to buy up option plan, which change in plan may be provided in the plan migration report. - Referring to
FIG. 58 , the administrator may create a custom report as per requirement. The custom report may be created from subscriber attributes, employee attributes, dependent attributes, employee benefit attributes, work life events, dependent benefit attributes, dependent age-out attributes and the like. Furthermore, each attribute may include a plurality of parameters as described above in this application. It may be noted that one or more parameters may be selected from each of the subscriber attributes, employee attributes, dependent attributes, employee benefit attributes, work life events, dependent benefit attributes, dependent age-out attributes and the like and may be added totextbox 5802. In addition, anothertextbox 5804 to configure parameters may allow the selected parameters to be dragged here for including in the report. Another Textbox report name may be provided for entering the name of the custom report. - Referring to
FIG. 59 , a manage report link may allow the administrator to manage the available reports. The available report may be listed by name or any other parameter. Further, a create report button may be provided for creating a new customized report. - Referring to
FIG. 60 , premium billing report may be generated by the administrator. The premium billing reports may be arranged in the folder. For example, folder may be arranged year-wise, and within the year further broken down, such as by month. - Referring to
FIG. 61 , an audit screen of all business transaction and event elections may comprise events, changes as of today, and the like. The human resource management system enables an administrator to view an employee's data and coverage changes over time, focusing in on certain types of information and the events that introduced changes. -
FIG. 62 depicts election changes that occurred in association with a particular event. Details of sessions and submissions are displayed when the same is selected from the event timeline. -
FIG. 63 depicts a coverage timeline view showing selected coverage changes over time for an individual event. In the timeline may be presented, such basic life, dental, medical, supplemental life, and the like. - Referring to
FIG. 64 , an annual enrollment screen may provide the listing of the dependents. The listing may include the name, relationship, birth date, and the like. In addition, the listing may include different types of benefits such as medical, dental, and the like. - It should be understood that any action or function described herein may be performed by an employee in a self-service operation, by an administrator, by a third party, and the like, unless otherwise indicated.
- The benefits application user interface may facilitate planning and/or managing benefits for a single employee or a plurality of employees. The plurality of employees may be related through one or more of the following, without limitation—employee attributes, such as title, aspects of coverage, department, location, business unit or division, responsibilities, years of service, manager, services received, employee employment status, and the like. An employee employment status may include, without limitation, one or more of full-time, part time, hourly, exempt, permanent, temporary, direct, contract, and other characterizations of status such as active, inactive, retired, and the like.
- The user interface, or one or more portions of the user interface, may be based on computer programming technology including without limitation JAVA, JAVASCRIPT, ADOBE FLASH, ADOBE FLEX a combination thereof, or a combination of one or more thereof and other computer programming languages, constructs, technology, images, graphics, menus, and the like.
- The human
resource management platform 100 may provide facilities for integrating information from a variety of sources including enterprise business systems, such as planning, budgeting, accounting, organization management, and the like. Information may be provided to the humanresource management platform 100 to update the relevant data in the humanresource management platform 100. In an embodiment of the invention, information from external business and other systems may be integrated on a regular basis, such as each day. Facilities for integrating this information may provide synchronization capabilities that may allow a user/enterprise to detect changes in information received for integration and to decide how the data in the platform reacts to the detected changes in the information. - The benefits administration business application may facilitate supporting “what-if” scenario assessment. In the benefits space pending data may be applicable because decisions that are made today may require approval before the change can be effective. Therefore, such decisions result in a pending approval state, such as a pending event. Pending events may be incorporated into a future view of the model (e.g. by setting a future target effective date for the application). However, the changes are separate from the ‘current state’ until they are approved so that they are not used in activities that access data (past, present, or future) before the state is approved such as sending current data to the suppliers of these benefits. In an example of this combination of effective dating and a pending event for a benefits administration application, an employee may elect to increase life insurance coverage on a first date. However, the election must be approved so the date that the election is made becomes a pending effective date for the election. Until the change is approved, the current coverage is unchanged and the premiums deducted from the employee's paycheck are unchanged. Once the change is approved, the coverage effective date may be any of the earlier election date, the approval date, or a future date such as the beginning of the next billing cycle or the next calendar month. The higher coverage effective date may be determined based on business logic associated with the change. If the higher coverage effective date is a future date, the higher coverage is associated with the future effective date so that when the calendar date passes the coverage effective date, the coverage is effective. Alternatively, the target effective date can be changed to be after the future effective date of the higher coverage so that premium deductions can be adjusted for an upcoming payroll cycle that matches to the future effective date of the higher coverage.
- In an example, benefits data integration using the data synchronization facilities described herein may be part of regularly run process in which the
platform 100 receives a stream of updated data. To facilitate proper and effective integration of externally provided data, a set of input data may be a complete set of data, or a partial set with optional effective dating for various parts of the data. The input file process merges the input data into the persisted, effective dated domain model after performing coverage repair to ensure data integrity and consistency with the benefits administration and platform business rules. The input file process performs a reconciliation process to determine the changes in the received data. The reconciliation process may include comparing received data to data existing in the platform to infer the occurrence of benefits events. - Even pending benefits approval notification/authorization, which may be part of an approval workflow, has to be tracked and modified based on changes detected in the input data so that the impact of these detected changes is properly managed. Changes received in input files or user interaction on a web-based application may impact benefits or give opportunity to make new elections. In some cases eligibility can be affected such as if an employee changes from one business unit in a corporation to another business unit that has different benefits or rules. The coverage repair facilities of the
platform 100 may automatically process these changes. - The coverage repair capabilities of the
platform 100 may be associated with a benefits administration management business application. Coverage repair as described herein may facilitate recalculating decisions associated with benefit elections that have a future effective date when changes introduced into theplatform 100 impact the future elections. In an example, in November an employee elects benefits to be effective in January. These benefits may be coded with an effective date in January so the current coverage period is not impacted by these benefits elections. In December the employee adds a family member to his current benefit plan after the birth of a child. Although the elections made in November that will be effective in January do not include the additional family member, when data including the additional family member is received by the platform, the coverage repair facilities of the platform, in conjunction with the business rules and dependency logic of the benefits administration business application may automatically recalculate the coverage for the new coverage period (that starts in January) based on the additional family member. This recalculation may result in the benefit election being automatically changed to include the additional dependent so that the benefits provided in the new coverage period in January will include the additional dependent. - In a variation of the above example, in December an employee moves to a different state that requires a different health care provider. When input file processing receives the new employee address, it recognizes this as a move event, and coverage repair makes any necessary adjustments to coverage from the date of the move up to the new plan year under the current plan rules, and then makes corrections or adjustments based on that new address into the new plan year under its rules. As a result, the employee's earlier election of a health care provider is repaired, or kept conformant to the rules, even if that required a switch of benefits providers based on service areas. Coverage repair will determine what business logic and/or update rules apply to an address change and apply those rules to the election decision. The result may be that a default benefit option is elected. Alternatively, the benefit option to which the employee has switched in the current period as a result of the move may become the default benefit option for the new coverage period.
- The methods and systems described herein may be deployed in part or in whole through a machine that executes computer software, program codes, and/or instructions on a processor. The processor may be part of a server, client, network infrastructure, mobile computing platform, stationary computing platform, or other computing platform. A processor may be any kind of computational or processing device capable of executing program instructions, codes, binary instructions and the like. The processor may be or include a signal processor, digital processor, embedded processor, microprocessor or any variant such as a co-processor (math co-processor, graphic co-processor, communication co-processor and the like) and the like that may directly or indirectly facilitate execution of program code or program instructions stored thereon. In addition, the processor may enable execution of multiple programs, threads, and codes. The threads may be executed simultaneously to enhance the performance of the processor and to facilitate simultaneous operations of the application. By way of implementation, methods, program codes, program instructions and the like described herein may be implemented in one or more thread. The thread may spawn other threads that may have assigned priorities associated with them; the processor may execute these threads based on priority or any other order based on instructions provided in the program code. The processor may include memory that stores methods, codes, instructions and programs as described herein and elsewhere. The processor may access a storage medium through an interface that may store methods, codes, and instructions as described herein and elsewhere. The storage medium associated with the processor for storing methods, programs, codes, program instructions or other type of instructions capable of being executed by the computing or processing device may include but may not be limited to one or more of a CD-ROM, DVD, memory, hard disk, flash drive, RAM, ROM, cache and the like.
- A processor may include one or more cores that may enhance speed and performance of a multiprocessor. In embodiments, the process may be a dual core processor, quad core processors, other chip-level multiprocessor and the like that combine two or more independent cores (called a die).
- The methods and systems described herein may be deployed in part or in whole through a machine that executes computer software on a server, client, firewall, gateway, hub, router, or other such computer and/or networking hardware. The software program may be associated with a server that may include a file server, print server, domain server, internet server, intranet server and other variants such as secondary server, host server, distributed server and the like. The server may include one or more of memories, processors, computer readable media, storage media, ports (physical and virtual), communication devices, and interfaces capable of accessing other servers, clients, machines, and devices through a wired or a wireless medium, and the like. The methods, programs or codes as described herein and elsewhere may be executed by the server. In addition, other devices required for execution of methods as described in this application may be considered as a part of the infrastructure associated with the server.
- The server may provide an interface to other devices including, without limitation, clients, other servers, printers, database servers, print servers, file servers, communication servers, distributed servers and the like. Additionally, this coupling and/or connection may facilitate remote execution of program across the network. The networking of some or all of these devices may facilitate parallel processing of a program or method at one or more location without deviating from the scope of the invention. In addition, any of the devices attached to the server through an interface may include at least one storage medium capable of storing methods, programs, code and/or instructions. A central repository may provide program instructions to be executed on different devices. In this implementation, the remote repository may act as a storage medium for program code, instructions, and programs.
- The software program may be associated with a client that may include a file client, print client, domain client, internet client, intranet client and other variants such as secondary client, host client, distributed client and the like. The client may include one or more of memories, processors, computer readable media, storage media, ports (physical and virtual), communication devices, and interfaces capable of accessing other clients, servers, machines, and devices through a wired or a wireless medium, and the like. The methods, programs or codes as described herein and elsewhere may be executed by the client. In addition, other devices required for execution of methods as described in this application may be considered as a part of the infrastructure associated with the client.
- The client may provide an interface to other devices including, without limitation, servers, other clients, printers, database servers, print servers, file servers, communication servers, distributed servers and the like. Additionally, this coupling and/or connection may facilitate remote execution of program across the network. The networking of some or all of these devices may facilitate parallel processing of a program or method at one or more location without deviating from the scope of the invention. In addition, any of the devices attached to the client through an interface may include at least one storage medium capable of storing methods, programs, applications, code and/or instructions. A central repository may provide program instructions to be executed on different devices. In this implementation, the remote repository may act as a storage medium for program code, instructions, and programs.
- The methods and systems described herein may be deployed in part or in whole through network infrastructures. The network infrastructure may include elements such as computing devices, servers, routers, hubs, firewalls, clients, personal computers, communication devices, routing devices and other active and passive devices, modules and/or components as known in the art. The computing and/or non-computing device(s) associated with the network infrastructure may include, apart from other components, a storage medium such as flash memory, buffer, stack, RAM, ROM and the like. The processes, methods, program codes, instructions described herein and elsewhere may be executed by one or more of the network infrastructural elements.
- The methods, program codes, and instructions described herein and elsewhere may be implemented on a cellular network having multiple cells. The cellular network may either be frequency division multiple access (FDMA) network or code division multiple access (CDMA) network. The cellular network may include mobile devices, cell sites, base stations, repeaters, antennas, towers, and the like. The cell network may be a GSM, GPRS, 3G, EVDO, mesh, or other networks types.
- The methods, programs codes, and instructions described herein and elsewhere may be implemented on or through mobile devices. The mobile devices may include navigation devices, cell phones, mobile phones, mobile personal digital assistants, laptops, palmtops, netbooks, pagers, electronic books readers, music players and the like. These devices may include, apart from other components, a storage medium such as a flash memory, buffer, RAM, ROM and one or more computing devices. The computing devices associated with mobile devices may be enabled to execute program codes, methods, and instructions stored thereon. Alternatively, the mobile devices may be configured to execute instructions in collaboration with other devices. The mobile devices may communicate with base stations interfaced with servers and configured to execute program codes. The mobile devices may communicate on a peer to peer network, mesh network, or other communications network. The program code may be stored on the storage medium associated with the server and executed by a computing device embedded within the server. The base station may include a computing device and a storage medium. The storage device may store program codes and instructions executed by the computing devices associated with the base station.
- The computer software, program codes, and/or instructions may be stored and/or accessed on machine readable media that may include: computer components, devices, and recording media that retain digital data used for computing for some interval of time; semiconductor storage known as random access memory (RAM); mass storage typically for more permanent storage, such as optical discs, forms of magnetic storage like hard disks, tapes, drums, cards and other types; processor registers, cache memory, volatile memory, non-volatile memory; optical storage such as CD, DVD; removable media such as flash memory (e.g. USB sticks or keys), floppy disks, magnetic tape, paper tape, punch cards, standalone RAM disks, Zip drives, removable mass storage, off-line, and the like; other computer memory such as dynamic memory, static memory, read/write storage, mutable storage, read only, random access, sequential access, location addressable, file addressable, content addressable, network attached storage, storage area network, bar codes, magnetic ink, and the like.
- The methods and systems described herein may transform physical and/or or intangible items from one state to another. The methods and systems described herein may also transform data representing physical and/or intangible items from one state to another.
- The elements described and depicted herein, including in flow charts and block diagrams throughout the figures, imply logical boundaries between the elements. However, according to software or hardware engineering practices, the depicted elements and the functions thereof may be implemented on machines through computer executable media having a processor capable of executing program instructions stored thereon as a monolithic software structure, as standalone software modules, or as modules that employ external routines, code, services, and so forth, or any combination of these, and all such implementations may be within the scope of the present disclosure. Examples of such machines may include, but may not be limited to, personal digital assistants, laptops, personal computers, mobile phones, other handheld computing devices, medical equipment, wired or wireless communication devices, transducers, chips, calculators, satellites, tablet PCs, electronic books, gadgets, electronic devices, devices having artificial intelligence, computing devices, networking equipments, servers, routers and the like. Furthermore, the elements depicted in the flow chart and block diagrams or any other logical component may be implemented on a machine capable of executing program instructions. Thus, while the foregoing drawings and descriptions set forth functional aspects of the disclosed systems, no particular arrangement of software for implementing these functional aspects should be inferred from these descriptions unless explicitly stated or otherwise clear from the context. Similarly, it will be appreciated that the various steps identified and described above may be varied, and that the order of steps may be adapted to particular applications of the techniques disclosed herein. All such variations and modifications are intended to fall within the scope of this disclosure. As such, the depiction and/or description of an order for various steps should not be understood to require a particular order of execution for those steps, unless required by a particular application, or explicitly stated or otherwise clear from the context.
- The methods and/or processes described above, and steps thereof, may be realized in hardware, software or any combination of hardware and software suitable for a particular application. The hardware may include a general purpose computer and/or dedicated computing device or specific computing device or particular aspect or component of a specific computing device. The processes may be realized in one or more microprocessors, microcontrollers, embedded microcontrollers, programmable digital signal processors or other programmable device, along with internal and/or external memory. The processes may also, or instead, be embodied in an application specific integrated circuit, a programmable gate array, programmable array logic, or any other device or combination of devices that may be configured to process electronic signals. It will further be appreciated that one or more of the processes may be realized as a computer executable code capable of being executed on a machine readable medium.
- The computer executable code may be created using a structured programming language such as C, an object oriented programming language such as C++, or any other high-level or low-level programming language (including assembly languages, hardware description languages, and database programming languages and technologies) that may be stored, compiled or interpreted to run on one of the above devices, as well as heterogeneous combinations of processors, processor architectures, or combinations of different hardware and software, or any other machine capable of executing program instructions.
- Thus, in one aspect, each method described above and combinations thereof may be embodied in computer executable code that, when executing on one or more computing devices, performs the steps thereof. In another aspect, the methods may be embodied in systems that perform the steps thereof, and may be distributed across devices in a number of ways, or all of the functionality may be integrated into a dedicated, standalone device or other hardware. In another aspect, the means for performing the steps associated with the processes described above may include any of the hardware and/or software described above. All such permutations and combinations are intended to fall within the scope of the present disclosure.
- While the invention has been disclosed in connection with the preferred embodiments shown and described in detail, various modifications and improvements thereon will become readily apparent to those skilled in the art. Accordingly, the spirit and scope of the present invention is not to be limited by the foregoing examples, but is to be understood in the broadest sense allowable by law.
- All documents referenced herein are hereby incorporated by reference.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/300,188 US20140289150A1 (en) | 2008-10-15 | 2014-06-09 | Operation of a benefits administration domain model |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10559308P | 2008-10-15 | 2008-10-15 | |
US10561508P | 2008-10-15 | 2008-10-15 | |
US12/579,985 US20100100561A1 (en) | 2008-10-15 | 2009-10-15 | Benefits management for enterprise-level human capital management |
US14/290,466 US9881279B2 (en) | 2008-10-15 | 2014-05-29 | Multi-state maintenance of employee benefits data in a benefits administration domain model |
US14/300,188 US20140289150A1 (en) | 2008-10-15 | 2014-06-09 | Operation of a benefits administration domain model |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/290,466 Continuation US9881279B2 (en) | 2008-10-15 | 2014-05-29 | Multi-state maintenance of employee benefits data in a benefits administration domain model |
Publications (1)
Publication Number | Publication Date |
---|---|
US20140289150A1 true US20140289150A1 (en) | 2014-09-25 |
Family
ID=42106891
Family Applications (14)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/579,966 Active 2030-09-19 US8280822B2 (en) | 2008-10-15 | 2009-10-15 | Performance driven compensation for enterprise-level human capital management |
US12/579,985 Abandoned US20100100561A1 (en) | 2008-10-15 | 2009-10-15 | Benefits management for enterprise-level human capital management |
US13/595,831 Active 2031-01-05 US9208474B2 (en) | 2008-10-15 | 2012-08-27 | Performance driven compensation for enterprise-level human capital management |
US13/595,801 Active US8635080B2 (en) | 2008-10-15 | 2012-08-27 | Performance driven compensation for enterprise-level human capital management |
US14/290,466 Active US9881279B2 (en) | 2008-10-15 | 2014-05-29 | Multi-state maintenance of employee benefits data in a benefits administration domain model |
US14/300,188 Abandoned US20140289150A1 (en) | 2008-10-15 | 2014-06-09 | Operation of a benefits administration domain model |
US14/300,208 Abandoned US20140289154A1 (en) | 2008-10-15 | 2014-06-09 | Interfacing with a benefits administration domain model |
US14/300,195 Active 2029-11-22 US9818087B2 (en) | 2008-10-15 | 2014-06-09 | Querying an effective dated benefits administration domain model |
US14/300,131 Abandoned US20140289148A1 (en) | 2008-10-15 | 2014-06-09 | User initiated pending state authorization in a benefits administration domain model |
US14/300,202 Active 2029-11-24 US9727845B2 (en) | 2008-10-15 | 2014-06-09 | System initiated pending state authorization in a benefits administration domain model |
US14/300,205 Abandoned US20140289146A1 (en) | 2008-10-15 | 2014-06-09 | Repairing employee benefits data in a benefits administration domain model |
US14/300,200 Abandoned US20140289152A1 (en) | 2008-10-15 | 2014-06-09 | Updating an effective dated benefits administration domain model |
US14/300,141 Abandoned US20140289149A1 (en) | 2008-10-15 | 2014-06-09 | Benefits administration domain model and user interface based on persistence layering |
US14/300,254 Abandoned US20140289155A1 (en) | 2008-10-15 | 2014-06-10 | Benefits selection in a benefits administration domain model |
Family Applications Before (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/579,966 Active 2030-09-19 US8280822B2 (en) | 2008-10-15 | 2009-10-15 | Performance driven compensation for enterprise-level human capital management |
US12/579,985 Abandoned US20100100561A1 (en) | 2008-10-15 | 2009-10-15 | Benefits management for enterprise-level human capital management |
US13/595,831 Active 2031-01-05 US9208474B2 (en) | 2008-10-15 | 2012-08-27 | Performance driven compensation for enterprise-level human capital management |
US13/595,801 Active US8635080B2 (en) | 2008-10-15 | 2012-08-27 | Performance driven compensation for enterprise-level human capital management |
US14/290,466 Active US9881279B2 (en) | 2008-10-15 | 2014-05-29 | Multi-state maintenance of employee benefits data in a benefits administration domain model |
Family Applications After (8)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/300,208 Abandoned US20140289154A1 (en) | 2008-10-15 | 2014-06-09 | Interfacing with a benefits administration domain model |
US14/300,195 Active 2029-11-22 US9818087B2 (en) | 2008-10-15 | 2014-06-09 | Querying an effective dated benefits administration domain model |
US14/300,131 Abandoned US20140289148A1 (en) | 2008-10-15 | 2014-06-09 | User initiated pending state authorization in a benefits administration domain model |
US14/300,202 Active 2029-11-24 US9727845B2 (en) | 2008-10-15 | 2014-06-09 | System initiated pending state authorization in a benefits administration domain model |
US14/300,205 Abandoned US20140289146A1 (en) | 2008-10-15 | 2014-06-09 | Repairing employee benefits data in a benefits administration domain model |
US14/300,200 Abandoned US20140289152A1 (en) | 2008-10-15 | 2014-06-09 | Updating an effective dated benefits administration domain model |
US14/300,141 Abandoned US20140289149A1 (en) | 2008-10-15 | 2014-06-09 | Benefits administration domain model and user interface based on persistence layering |
US14/300,254 Abandoned US20140289155A1 (en) | 2008-10-15 | 2014-06-10 | Benefits selection in a benefits administration domain model |
Country Status (2)
Country | Link |
---|---|
US (14) | US8280822B2 (en) |
WO (2) | WO2010045459A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9208474B2 (en) | 2008-10-15 | 2015-12-08 | Adp, Llc | Performance driven compensation for enterprise-level human capital management |
Families Citing this family (256)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070038924A1 (en) * | 2005-08-11 | 2007-02-15 | Darren Beyer | Methods and systems for placing card orders |
US10210530B1 (en) | 2006-08-11 | 2019-02-19 | Infor (Us), Inc. | Selecting a report |
US9058307B2 (en) | 2007-01-26 | 2015-06-16 | Microsoft Technology Licensing, Llc | Presentation generation using scorecard elements |
US20080183564A1 (en) * | 2007-01-30 | 2008-07-31 | Microsoft Corporation | Untethered Interaction With Aggregated Metrics |
US8638228B2 (en) * | 2007-02-02 | 2014-01-28 | Hartford Fire Insurance Company | Systems and methods for sensor-enhanced recovery evaluation |
US8495663B2 (en) | 2007-02-02 | 2013-07-23 | Microsoft Corporation | Real time collaboration using embedded data visualizations |
US9659062B1 (en) * | 2007-09-28 | 2017-05-23 | Iqor Holdings Inc. | Apparatuses, methods and systems for a global benefits purse facilitator |
US10540712B2 (en) | 2008-02-08 | 2020-01-21 | The Pnc Financial Services Group, Inc. | User interface with controller for selectively redistributing funds between accounts |
US8401938B1 (en) | 2008-05-12 | 2013-03-19 | The Pnc Financial Services Group, Inc. | Transferring funds between parties' financial accounts |
US8751385B1 (en) | 2008-05-15 | 2014-06-10 | The Pnc Financial Services Group, Inc. | Financial email |
US8527376B1 (en) * | 2008-07-28 | 2013-09-03 | United Services Automobile Association (Usaa) | Income itemization |
US20100100771A1 (en) * | 2008-10-20 | 2010-04-22 | Oracle International Corporation | Setup verification for an employee compensation system |
US8965798B1 (en) | 2009-01-30 | 2015-02-24 | The Pnc Financial Services Group, Inc. | Requesting reimbursement for transactions |
US10891036B1 (en) | 2009-01-30 | 2021-01-12 | The Pnc Financial Services Group, Inc. | User interfaces and system including same |
US8401883B2 (en) * | 2009-03-30 | 2013-03-19 | Transitions in Progress LLC | Maintaining viable provider-client relationships |
US9183248B2 (en) * | 2009-06-09 | 2015-11-10 | Oracle International Corporation | Configuring object displays |
US9916625B2 (en) * | 2012-02-02 | 2018-03-13 | Progressive Casualty Insurance Company | Mobile insurance platform system |
US9070134B2 (en) * | 2009-08-18 | 2015-06-30 | Csrhub Llc | Systems, methods, and media for evaluating companies based on social performance |
US20110054972A1 (en) * | 2009-08-28 | 2011-03-03 | Oracle International Corporation | Calculation/determination of budget and employee allocation targets using a model |
US20110066469A1 (en) * | 2009-09-15 | 2011-03-17 | Albert Kadosh | Method and system for translation workflow management across the internet |
US20110112891A1 (en) * | 2009-11-06 | 2011-05-12 | John Alber | Systems and methods for providing business rankings |
US8423482B2 (en) * | 2010-03-16 | 2013-04-16 | Harvey L. Gansner | Automated legal evaluation using a decision tree over a communications network |
US8791949B1 (en) | 2010-04-06 | 2014-07-29 | The Pnc Financial Services Group, Inc. | Investment management marketing tool |
US8780115B1 (en) | 2010-04-06 | 2014-07-15 | The Pnc Financial Services Group, Inc. | Investment management marketing tool |
US9755856B1 (en) * | 2010-04-13 | 2017-09-05 | West Corporation | Method, apparatus and computer program to provide access to client records and data resources |
US8401893B1 (en) * | 2010-04-21 | 2013-03-19 | The Pnc Financial Services Group, Inc. | Assessment construction tool |
US8374899B1 (en) | 2010-04-21 | 2013-02-12 | The Pnc Financial Services Group, Inc. | Assessment construction tool |
WO2021161104A1 (en) | 2020-02-12 | 2021-08-19 | Monday.Com | Enhanced display features in collaborative network systems, methods, and devices |
WO2021144656A1 (en) | 2020-01-15 | 2021-07-22 | Monday.Com | Digital processing systems and methods for graphical dynamic table gauges in collaborative work systems |
US11410129B2 (en) | 2010-05-01 | 2022-08-09 | Monday.com Ltd. | Digital processing systems and methods for two-way syncing with third party applications in collaborative work systems |
US8819055B2 (en) | 2010-05-14 | 2014-08-26 | Oracle International Corporation | System and method for logical people groups |
US9589240B2 (en) | 2010-05-14 | 2017-03-07 | Oracle International Corporation | System and method for flexible chaining of distinct workflow task instances in a business process execution language workflow |
US9852382B2 (en) | 2010-05-14 | 2017-12-26 | Oracle International Corporation | Dynamic human workflow task assignment using business rules |
US9741006B2 (en) | 2010-05-14 | 2017-08-22 | Oracle International Corporation | System and method for providing complex access control in workflows |
US20110282708A1 (en) * | 2010-05-14 | 2011-11-17 | Oracle International Corporation | Integrating external data in human workflow tasks |
US20110288876A1 (en) * | 2010-05-19 | 2011-11-24 | Health Advocate | System and method to assist health advocate professionals and employers |
US20110307301A1 (en) * | 2010-06-10 | 2011-12-15 | Honeywell Internatioanl Inc. | Decision aid tool for competency analysis |
US8423444B1 (en) | 2010-07-02 | 2013-04-16 | The Pnc Financial Services Group, Inc. | Investor personality tool |
US11475523B1 (en) | 2010-07-02 | 2022-10-18 | The Pnc Financial Services Group, Inc. | Investor retirement lifestyle planning tool |
US11475524B1 (en) | 2010-07-02 | 2022-10-18 | The Pnc Financial Services Group, Inc. | Investor retirement lifestyle planning tool |
US8417614B1 (en) | 2010-07-02 | 2013-04-09 | The Pnc Financial Services Group, Inc. | Investor personality tool |
US8775307B2 (en) * | 2010-07-21 | 2014-07-08 | Hartford Fire Insurance Company | Systems and methods for administering extended absence insurance |
US9043296B2 (en) | 2010-07-30 | 2015-05-26 | Microsoft Technology Licensing, Llc | System of providing suggestions based on accessible and contextual information |
US20120278213A1 (en) * | 2010-09-18 | 2012-11-01 | Oracle International Corporation | Deduction Information Repository |
US20120123955A1 (en) * | 2010-11-12 | 2012-05-17 | Chen Ke Kelly | Calculation engine for compensation planning |
US9213980B2 (en) * | 2010-11-12 | 2015-12-15 | Ebay Inc. | Using behavioral data in rating user reputation |
EP2458466B1 (en) * | 2010-11-30 | 2020-02-26 | Industrial Development of Automotivo Components, IDACO corp | Automatic supervision and control system |
US9111238B2 (en) * | 2010-12-17 | 2015-08-18 | Microsoft Technology Licensing, Llc | Data feed having customizable analytic and visual behavior |
US9304672B2 (en) | 2010-12-17 | 2016-04-05 | Microsoft Technology Licensing, Llc | Representation of an interactive document as a graph of entities |
US9171272B2 (en) | 2010-12-17 | 2015-10-27 | Microsoft Technology Licensing, LLP | Automated generation of analytic and visual behavior |
US9104992B2 (en) | 2010-12-17 | 2015-08-11 | Microsoft Technology Licensing, Llc | Business application publication |
US9864966B2 (en) | 2010-12-17 | 2018-01-09 | Microsoft Technology Licensing, Llc | Data mining in a business intelligence document |
US9110957B2 (en) | 2010-12-17 | 2015-08-18 | Microsoft Technology Licensing, Llc | Data mining in a business intelligence document |
US9024952B2 (en) | 2010-12-17 | 2015-05-05 | Microsoft Technology Licensing, Inc. | Discovering and configuring representations of data via an insight taxonomy |
US9336184B2 (en) | 2010-12-17 | 2016-05-10 | Microsoft Technology Licensing, Llc | Representation of an interactive document as a graph of entities |
US9069557B2 (en) | 2010-12-17 | 2015-06-30 | Microsoft Technology Licensing, LLP | Business intelligence document |
US8682704B2 (en) | 2011-01-03 | 2014-03-25 | Express Scripts, Inc. | Methods and systems for scheduling activity level based meetings |
US8321316B1 (en) | 2011-02-28 | 2012-11-27 | The Pnc Financial Services Group, Inc. | Income analysis tools for wealth management |
US9852470B1 (en) | 2011-02-28 | 2017-12-26 | The Pnc Financial Services Group, Inc. | Time period analysis tools for wealth management transactions |
US8374940B1 (en) | 2011-02-28 | 2013-02-12 | The Pnc Financial Services Group, Inc. | Wealth allocation analysis tools |
US9665908B1 (en) | 2011-02-28 | 2017-05-30 | The Pnc Financial Services Group, Inc. | Net worth analysis tools |
US20120271675A1 (en) * | 2011-04-19 | 2012-10-25 | Alpine Access, Inc. | Dynamic candidate organization system |
US10733570B1 (en) | 2011-04-19 | 2020-08-04 | The Pnc Financial Services Group, Inc. | Facilitating employee career development |
US20140032278A1 (en) * | 2011-04-20 | 2014-01-30 | Persistent Systems Limited | Method and system for employee performance evaluation and monitoring |
US8805706B2 (en) * | 2011-04-29 | 2014-08-12 | Hartford Fire Insurance Company | Systems and methods for managing insurance account documents |
US20120297330A1 (en) * | 2011-05-17 | 2012-11-22 | Flexigoal Inc. | Method and System for Generating Reports |
US20130067351A1 (en) * | 2011-05-31 | 2013-03-14 | Oracle International Corporation | Performance management system using performance feedback pool |
US8595175B2 (en) | 2011-06-23 | 2013-11-26 | Microsoft Corporation | Fluent API patterns for managing object persistence |
US8600925B2 (en) | 2011-06-23 | 2013-12-03 | Microsoft Corporation | Object-relational mapped database initialization |
US20130036060A1 (en) * | 2011-08-01 | 2013-02-07 | Infosys Limited | Framework for managing projects in an organization |
US8862975B2 (en) * | 2011-09-19 | 2014-10-14 | Microsoft Corporation | Web-based workflow service visualization and navigation |
US20130151398A1 (en) * | 2011-12-09 | 2013-06-13 | Dun & Bradstreet Business Information Solutions, Ltd. | Portfolio risk manager |
GB2511013A (en) * | 2011-12-09 | 2014-08-20 | Globoforce Ltd | Systems and method for analyzing recognition data for talent and culture discovery |
US10169812B1 (en) | 2012-01-20 | 2019-01-01 | The Pnc Financial Services Group, Inc. | Providing financial account information to users |
US20130198097A1 (en) * | 2012-01-26 | 2013-08-01 | Oracle International Corporation | Compensation plan system with cross referencing |
US9020883B2 (en) | 2012-02-22 | 2015-04-28 | Oracle International Corporation | System and method to provide BPEL support for correlation aggregation |
US20140100922A1 (en) * | 2012-03-11 | 2014-04-10 | Aaron B. Aycock | Employee engagement system, method and computer readable media |
US9031973B2 (en) * | 2012-04-04 | 2015-05-12 | Highroads, Inc. | Management platform for displaying benefit plan data to permitted entities |
US9262035B1 (en) | 2012-04-10 | 2016-02-16 | Workday, Inc. | Display for embedded intelligence |
US9411850B1 (en) * | 2012-04-10 | 2016-08-09 | Workday, Inc. | Process for embedded intelligence |
US9223462B1 (en) | 2012-04-10 | 2015-12-29 | Workday, Inc. | Configuration of embedded intelligence |
US20130304531A1 (en) * | 2012-05-11 | 2013-11-14 | Paul Barber | System and method for performing detailed planning functions |
WO2013172809A2 (en) * | 2012-05-18 | 2013-11-21 | Mahoney Dennis F | Fiduciary screener test and benefit plan selection process |
US9224130B2 (en) * | 2012-08-23 | 2015-12-29 | Oracle International Corporation | Talent profile infographic |
US9654332B1 (en) * | 2012-08-25 | 2017-05-16 | Government Employees Insurance Company (GEICO) | Methods and systems for sharing insurance information through mobile applications |
US9922303B2 (en) | 2012-08-30 | 2018-03-20 | Oracle International Corporation | Method and system for implementing product group mappings |
US10223697B2 (en) * | 2012-08-30 | 2019-03-05 | Oracle International Corporation | Method and system for implementing a CRM quote and order capture context service |
US9953353B2 (en) | 2012-08-30 | 2018-04-24 | Oracle International Corporation | Method and system for implementing an architecture for a sales catalog |
US20150269512A1 (en) * | 2012-10-10 | 2015-09-24 | Daniel DANIEL WARTEL | Productivity Assessment and Rewards Systems and Processes Therefor |
US20140108101A1 (en) * | 2012-10-15 | 2014-04-17 | Gregory Vincent Pagendam-Turner | Distributed Corporate Performance Network |
US20160196522A1 (en) * | 2012-10-30 | 2016-07-07 | Tinyhr Inc. | Pulsed-survey service systems and methods |
US9058349B2 (en) * | 2012-12-03 | 2015-06-16 | Aruba Networks, Inc. | Method and system for maintaining derived data sets |
US20140181085A1 (en) | 2012-12-21 | 2014-06-26 | Commvault Systems, Inc. | Data storage system for analysis of data across heterogeneous information management systems |
US9021452B2 (en) | 2012-12-27 | 2015-04-28 | Commvault Systems, Inc. | Automatic identification of storage requirements, such as for use in selling data storage management solutions |
US20140207697A1 (en) * | 2013-01-18 | 2014-07-24 | Fmr Llc | Enterprise Family Tree |
US9858093B2 (en) * | 2013-03-08 | 2018-01-02 | Oracle International Corporation | Model for configuration independent process templates and business catalog |
US20140278828A1 (en) * | 2013-03-14 | 2014-09-18 | Dean Dorcas | Method and system for deriving productivity metrics from vehicle use |
US10037197B2 (en) | 2013-03-15 | 2018-07-31 | Oracle International Corporation | Flexible microinstruction system for constructing microprograms which execute tasks, gateways, and events of BPMN models |
US20140289147A1 (en) * | 2013-03-21 | 2014-09-25 | Alicia Jordan HAFF | System and method for calculating employee eligibility of health care benefits |
US9338062B2 (en) * | 2013-03-25 | 2016-05-10 | Encompass Corporation Pty Ltd | Information displaying method and apparatus |
WO2014168961A1 (en) * | 2013-04-09 | 2014-10-16 | Einsights Pte. Ltd | Generating data analytics using a domain model |
US20140324715A1 (en) * | 2013-04-30 | 2014-10-30 | Bank Of America Corporation | Cross border competencies tool |
US9552363B2 (en) * | 2013-04-30 | 2017-01-24 | Microsoft Technology Licensing, Llc | File management with placeholders |
US9405767B2 (en) | 2013-05-01 | 2016-08-02 | Microsoft Technology Licensing, Llc | Streaming content and placeholders |
CA2853346A1 (en) * | 2013-06-04 | 2014-12-04 | Robert Russell Lunan | Automated accounting method |
US9710789B2 (en) | 2013-06-04 | 2017-07-18 | SuccessFactors | Multi-dimension analyzer for organizational personnel |
US20150006415A1 (en) * | 2013-06-27 | 2015-01-01 | Successfactors, Inc. | Systems and Methods for Displaying and Analyzing Employee History Data |
US20150006416A1 (en) * | 2013-06-27 | 2015-01-01 | Successfactors, Inc. | Computer Implemented Systems and Methods for Interacting with Employee Data |
CN103440543A (en) * | 2013-08-01 | 2013-12-11 | 江苏蓝创信息技术服务有限公司 | Human resource data optimizing processing method based on computer network platform |
US9734486B2 (en) | 2013-08-08 | 2017-08-15 | Sap Se | Integrated temporary labor provisioning and monitoring |
US9323906B2 (en) * | 2013-09-04 | 2016-04-26 | D2L Corporation | Method and system for digital rights management enforcement |
KR102154804B1 (en) * | 2013-11-07 | 2020-09-11 | 삼성전자주식회사 | Electronic device and method for managing user information |
US11157859B2 (en) * | 2013-11-15 | 2021-10-26 | Salesforce.Com, Inc. | Systems and methods for performance summary citations |
KR101451529B1 (en) * | 2013-12-10 | 2014-10-16 | 김우재 | Method, server and computer-readable recording media for providing user interface to record and manage user- related information |
US9836708B2 (en) | 2013-12-13 | 2017-12-05 | Visier Solutions, Inc. | Dynamic identification of supported items in an application |
US10223410B2 (en) | 2014-01-06 | 2019-03-05 | Cisco Technology, Inc. | Method and system for acquisition, normalization, matching, and enrichment of data |
US10949382B2 (en) * | 2014-01-15 | 2021-03-16 | Commvault Systems, Inc. | User-centric interfaces for information management systems |
US10114861B2 (en) * | 2014-01-31 | 2018-10-30 | Dell Products L.P. | Expandable ad hoc domain specific query for system management |
US9842313B2 (en) * | 2014-02-06 | 2017-12-12 | Oracle International Corporation | Employee wellness tracking and recommendations using wearable devices and human resource (HR) data |
US20150242793A1 (en) * | 2014-09-28 | 2015-08-27 | Bunchball, Inc. | Systems and methods for auto-optimization of gamification mechanics for workforce motivation |
US9531793B2 (en) | 2014-02-28 | 2016-12-27 | Microsoft Technology Licensing, Llc | Displaying and navigating implicit and explicit enterprise people relationships |
US20150248734A1 (en) * | 2014-02-28 | 2015-09-03 | Microsoft Corporation | Displaying activity streams for people and groups in an enterprise |
US20150248644A1 (en) * | 2014-02-28 | 2015-09-03 | Visier Solutions, Inc. | Unified Business Intelligence Application |
US9372912B2 (en) * | 2014-03-07 | 2016-06-21 | Zef Oy | Method, server, database and computer program for enriching comparison data of a decision making application |
CN103870956A (en) * | 2014-03-27 | 2014-06-18 | 沈阳化工大学 | Company personnel information inquiring and inputting system |
US20150317609A1 (en) * | 2014-04-30 | 2015-11-05 | Linkedin Corporation | Company personnel asset engine |
US11341505B1 (en) * | 2014-05-05 | 2022-05-24 | United Services Automobile Association | Automating content and information delivery |
US9760446B2 (en) | 2014-06-11 | 2017-09-12 | Micron Technology, Inc. | Conveying value of implementing an integrated data management and protection system |
US20160034852A1 (en) * | 2014-07-31 | 2016-02-04 | Linkedin Corporation | Next job skills as represented in profile data |
US10169732B2 (en) * | 2014-09-15 | 2019-01-01 | Oracle International Corporation | Goal and performance management performable at unlimited times and places |
US10671595B2 (en) * | 2014-09-29 | 2020-06-02 | Oracle International Corporation | Concurrent multiple hierarchical data structures with consistent data |
US20160098664A1 (en) * | 2014-10-06 | 2016-04-07 | Adp, Llc | Workforce Management System |
WO2016061119A1 (en) * | 2014-10-13 | 2016-04-21 | ThinkSmart Solutions, Inc. | Rules gallery for incentives program |
US10169826B1 (en) | 2014-10-31 | 2019-01-01 | Intuit Inc. | System and method for generating explanations for tax calculations |
CN104573478B (en) * | 2014-11-20 | 2018-11-06 | 深圳市远行科技股份有限公司 | A kind of user authority management system of Web applications |
US10387970B1 (en) | 2014-11-25 | 2019-08-20 | Intuit Inc. | Systems and methods for analyzing and generating explanations for changes in tax return results |
US20160162952A1 (en) * | 2014-12-04 | 2016-06-09 | At&T Intellectual Property I, L.P. | Entity relationship management system |
JP6205675B2 (en) * | 2014-12-10 | 2017-10-04 | 高崎 将紘 | Labor property information management apparatus, method, and computer program |
US20160224913A1 (en) * | 2015-02-03 | 2016-08-04 | Infosys Limited | Proactive employee retention through engagement indicator |
US20160260044A1 (en) * | 2015-03-04 | 2016-09-08 | Mona Sabet | System and method for assessing performance metrics and use of the same |
USD805090S1 (en) | 2015-03-18 | 2017-12-12 | Adp, Llc | Display screen with graphical user interface |
USD772246S1 (en) | 2015-03-18 | 2016-11-22 | Adp, Llc | Display screen or portion thereof with animated graphical user interface |
USD798320S1 (en) | 2015-03-18 | 2017-09-26 | Adp, Llc | Display screen with graphical user interface |
USD777200S1 (en) * | 2015-03-20 | 2017-01-24 | Sengled Optoelectronics Co., Ltd | Display screen with animated graphical user interface |
US10872384B1 (en) | 2015-03-30 | 2020-12-22 | Intuit Inc. | System and method for generating explanations for year-over-year tax changes |
US20160314253A1 (en) * | 2015-04-24 | 2016-10-27 | Aetna Inc. | Method of providing personal engagement in recovery and return to work for individuals on disability insurance |
US10867269B2 (en) * | 2015-04-29 | 2020-12-15 | NetSuite Inc. | System and methods for processing information regarding relationships and interactions to assist in making organizational decisions |
US20160342921A1 (en) * | 2015-05-19 | 2016-11-24 | Matthew P. Morin | Employee cyclic award tracking system |
US10324914B2 (en) | 2015-05-20 | 2019-06-18 | Commvalut Systems, Inc. | Handling user queries against production and archive storage systems, such as for enterprise customers having large and/or numerous files |
US10884997B2 (en) * | 2015-06-10 | 2021-01-05 | International Business Machines Corporation | Maintaining a master schema |
US10168883B2 (en) | 2015-07-16 | 2019-01-01 | Oracle International Corporation | Configuring user profiles associated with multiple hierarchical levels |
US10839334B2 (en) * | 2015-07-23 | 2020-11-17 | Tata Consultancy Services Limited | Evaluating performance of organizational units using human capital values |
US10504049B1 (en) * | 2015-07-29 | 2019-12-10 | Intuit Inc. | Method and system for integrating business and fitness tasks |
US10607298B1 (en) | 2015-07-30 | 2020-03-31 | Intuit Inc. | System and method for indicating sections of electronic tax forms for which narrative explanations can be presented |
CN105138602B (en) * | 2015-08-06 | 2019-07-19 | 中国电力科学研究院 | A kind of construction system and its application method of three-dimensional collaborative platform |
CA2916503C (en) * | 2015-09-09 | 2023-06-13 | Patrick Edward Norton | Work project systems and methods |
US20170097827A1 (en) * | 2015-10-06 | 2017-04-06 | Microsoft Technology Licensing, Llc | Role-specific device behavior |
US11004166B1 (en) * | 2015-10-15 | 2021-05-11 | United Services Automobile Association (Usaa) | Systems and methods for data storage and access in a legacy link |
US10902369B2 (en) * | 2015-10-20 | 2021-01-26 | International Business Machines Corporation | Determining working style and traits |
US10657479B2 (en) * | 2015-10-22 | 2020-05-19 | Jamie Griffin | System and method for integrating employee feedback with an electronic time clock or computer login |
US20170161688A1 (en) * | 2015-12-03 | 2017-06-08 | Mastercard International Incorporated | Method and system for centralized processing of an employee benefit |
US10181105B2 (en) * | 2015-12-11 | 2019-01-15 | Adp, Llc | Object oriented organization management with dynamic grouping |
US10248709B2 (en) | 2015-12-15 | 2019-04-02 | Microsoft Technology Licensing, Llc | Promoted properties in relational structured data |
US11226985B2 (en) | 2015-12-15 | 2022-01-18 | Microsoft Technology Licensing, Llc | Replication of structured data records among partitioned data storage spaces |
US10235406B2 (en) | 2015-12-15 | 2019-03-19 | Microsoft Technology Licensing, Llc | Reminder processing of structured data records among partitioned data storage spaces |
US10599676B2 (en) | 2015-12-15 | 2020-03-24 | Microsoft Technology Licensing, Llc | Replication control among redundant data centers |
US10504065B2 (en) * | 2016-02-02 | 2019-12-10 | Successfactors, Inc. | Modeling utilizing staging entity joined with compensation formula table |
US10262020B2 (en) * | 2016-02-11 | 2019-04-16 | Adp, Llc | Method for effective dating object models |
CN105787056A (en) * | 2016-02-29 | 2016-07-20 | 浪潮通用软件有限公司 | Calculating method based on custom calculation model |
US10171472B2 (en) | 2016-03-02 | 2019-01-01 | Microsoft Technology Licensing, Llc | Role-specific service customization |
US20170371901A1 (en) * | 2016-05-23 | 2017-12-28 | Shaik Mohammad Assad | Chief data office strategy application |
US11055794B1 (en) | 2016-07-27 | 2021-07-06 | Intuit Inc. | Methods, systems and computer program products for estimating likelihood of qualifying for benefit |
US10762472B1 (en) * | 2016-07-27 | 2020-09-01 | Intuit Inc. | Methods, systems and computer program products for generating notifications of benefit qualification change |
US10769592B1 (en) | 2016-07-27 | 2020-09-08 | Intuit Inc. | Methods, systems and computer program products for generating explanations for a benefit qualification change |
US10614517B2 (en) | 2016-10-07 | 2020-04-07 | Bank Of America Corporation | System for generating user experience for improving efficiencies in computing network functionality by specializing and minimizing icon and alert usage |
US20180101900A1 (en) * | 2016-10-07 | 2018-04-12 | Bank Of America Corporation | Real-time dynamic graphical representation of resource utilization and management |
US10510088B2 (en) | 2016-10-07 | 2019-12-17 | Bank Of America Corporation | Leveraging an artificial intelligence engine to generate customer-specific user experiences based on real-time analysis of customer responses to recommendations |
US10621558B2 (en) | 2016-10-07 | 2020-04-14 | Bank Of America Corporation | System for automatically establishing an operative communication channel to transmit instructions for canceling duplicate interactions with third party systems |
US10476974B2 (en) | 2016-10-07 | 2019-11-12 | Bank Of America Corporation | System for automatically establishing operative communication channel with third party computing systems for subscription regulation |
US12020334B2 (en) | 2016-10-26 | 2024-06-25 | Intuit Inc. | Methods, systems and computer program products for generating and presenting explanations for tax questions |
US10664926B2 (en) | 2016-10-26 | 2020-05-26 | Intuit Inc. | Methods, systems and computer program products for generating and presenting explanations for tax questions |
US20180150912A1 (en) * | 2016-11-29 | 2018-05-31 | Adp, Llc | Dynamic Organization Structure Model |
AU2017265144B2 (en) | 2016-12-02 | 2022-04-14 | Encompass Corporation Pty Ltd | Information retrieval |
US10510049B2 (en) * | 2016-12-22 | 2019-12-17 | Sap Se | Subscription based log entry creation and publication |
US11880788B1 (en) | 2016-12-23 | 2024-01-23 | Block, Inc. | Methods and systems for managing retail experience |
JP6776885B2 (en) * | 2016-12-26 | 2020-10-28 | カシオ計算機株式会社 | Information processing equipment and programs |
US11282038B2 (en) * | 2017-02-15 | 2022-03-22 | Adp, Inc. | Information system with embedded insights |
US11250947B2 (en) | 2017-02-24 | 2022-02-15 | General Electric Company | Providing auxiliary information regarding healthcare procedure and system performance using augmented reality |
US9805338B1 (en) | 2017-03-03 | 2017-10-31 | Shogun Enterprises Inc. | Database system and user interfaces for matching related entities |
US11120385B2 (en) * | 2017-03-03 | 2021-09-14 | Adp, Llc | Job level prediction |
US10803418B2 (en) | 2017-03-09 | 2020-10-13 | Square, Inc. | Provisioning temporary functionality to user devices |
US10949308B2 (en) | 2017-03-15 | 2021-03-16 | Commvault Systems, Inc. | Application aware backup of virtual machines |
US11032350B2 (en) | 2017-03-15 | 2021-06-08 | Commvault Systems, Inc. | Remote commands framework to control clients |
US11087412B1 (en) * | 2017-03-31 | 2021-08-10 | Square, Inc. | Intelligent compensation management |
US11010261B2 (en) | 2017-03-31 | 2021-05-18 | Commvault Systems, Inc. | Dynamically allocating streams during restoration of data |
CN107093063B (en) * | 2017-05-26 | 2020-10-20 | 昆山市智汽电子科技有限公司 | Human data network interaction method and device |
CN107292526A (en) * | 2017-06-28 | 2017-10-24 | 中国路桥工程有限责任公司 | Engineering corporation information management system |
US10732998B2 (en) * | 2017-07-31 | 2020-08-04 | Grad Dna Ltd | Method, user device and system for dynamically modifying a user interface within a deployed application |
US10891285B2 (en) * | 2017-10-19 | 2021-01-12 | Adp, Llc | Factor binding data coordination across multiple domains |
CN107944737A (en) * | 2017-12-07 | 2018-04-20 | 北京小度信息科技有限公司 | Information processing method, device, electronic equipment and computer-readable recording medium |
US10990929B2 (en) | 2018-02-27 | 2021-04-27 | Servicenow, Inc. | Systems and methods for generating and transmitting targeted data within an enterprise |
US20190266527A1 (en) * | 2018-02-28 | 2019-08-29 | Workforce Accountability Solutions LLC | Employee engagement service |
JP6708682B2 (en) * | 2018-03-14 | 2020-06-10 | 日本電信電話株式会社 | Control device, control method, and control program |
US11436359B2 (en) | 2018-07-04 | 2022-09-06 | Monday.com Ltd. | System and method for managing permissions of users for a single data type column-oriented data structure |
US11698890B2 (en) | 2018-07-04 | 2023-07-11 | Monday.com Ltd. | System and method for generating a column-oriented data structure repository for columns of single data types |
CN109087064A (en) * | 2018-07-25 | 2018-12-25 | 河南太龙药业股份有限公司 | A kind of traditional Chinese medicine extraction Process information management system |
CN110909966B (en) * | 2018-09-14 | 2024-05-24 | 北京京东尚科信息技术有限公司 | Efficiency evaluation method and efficiency evaluation system |
US11363028B2 (en) * | 2018-09-27 | 2022-06-14 | The Toronto-Dominion Bank | Systems and methods for delegating access to a protected resource |
CN109543937A (en) * | 2018-10-10 | 2019-03-29 | 顺丰科技有限公司 | User's motivational techniques, device, equipment and storage medium under a kind of crowdsourcing model |
US11044171B2 (en) * | 2019-01-09 | 2021-06-22 | Servicenow, Inc. | Efficient access to user-related data for determining usage of enterprise resource systems |
CN109767229A (en) * | 2019-01-16 | 2019-05-17 | 厦门中控智慧信息技术有限公司 | A kind of method, server and the consumer device of consumption rights management |
US11232407B1 (en) * | 2019-03-06 | 2022-01-25 | Anthem, Inc. | System and method of assessing sentiment of an organization |
US11386358B2 (en) | 2019-04-17 | 2022-07-12 | International Business Machines Corporation | Intelligent decision support system |
WO2020223557A1 (en) * | 2019-04-30 | 2020-11-05 | Bcit, Llc | Compensation management system and method |
US11216460B2 (en) * | 2019-05-13 | 2022-01-04 | Salesforce.Com, Inc. | Updating of a denormalized database object after updating, deleting, or inserting a record in a source database object |
US11410246B2 (en) * | 2019-06-06 | 2022-08-09 | Salus Finance, LLC | System and method for consolidation, reconciliation and payment management |
US11157513B2 (en) | 2019-08-09 | 2021-10-26 | Adp, Llc | Data synchronization in a micro services environment |
US10867268B1 (en) * | 2019-08-09 | 2020-12-15 | Capital One Services, Llc | Compliance management for emerging risks |
CN118193521A (en) | 2019-09-27 | 2024-06-14 | 钉钉控股(开曼)有限公司 | Information importing method and device |
EP4062313A1 (en) | 2019-11-18 | 2022-09-28 | Monday.com Ltd. | Collaborative networking systems, methods, and devices |
US11775890B2 (en) | 2019-11-18 | 2023-10-03 | Monday.Com | Digital processing systems and methods for map-based data organization in collaborative work systems |
WO2021138722A1 (en) * | 2020-01-08 | 2021-07-15 | Tax Core Pty Ltd | System and method of arranging engagement between consultants and consumers and facilitating transactions |
US11086841B1 (en) | 2020-01-31 | 2021-08-10 | Snowflake Inc. | Streams on shared database objects |
CN111523808B (en) * | 2020-04-24 | 2022-12-16 | 中国建设银行股份有限公司 | Model centralized management method, system, equipment and storage medium |
CN111523810A (en) * | 2020-04-24 | 2020-08-11 | 同盾控股有限公司 | Enterprise-level model management method, system, device and storage medium |
US20240184989A1 (en) | 2020-05-01 | 2024-06-06 | Monday.com Ltd. | Digital processing systems and methods for virtualfile-based electronic white board in collaborative work systems systems |
US11501255B2 (en) | 2020-05-01 | 2022-11-15 | Monday.com Ltd. | Digital processing systems and methods for virtual file-based electronic white board in collaborative work systems |
US11277361B2 (en) | 2020-05-03 | 2022-03-15 | Monday.com Ltd. | Digital processing systems and methods for variable hang-time for social layer messages in collaborative work systems |
US20210357865A1 (en) * | 2020-05-12 | 2021-11-18 | ZenPayroll, Inc. | Event-based timeline creation for personal information tracking |
US20210374653A1 (en) * | 2020-05-29 | 2021-12-02 | Jiva360, Inc. | Systems and methods for dynamic and collaborative career capital management within enterprises |
US11335336B2 (en) | 2020-06-11 | 2022-05-17 | Capital One Services, Llc | Cognitive analysis of public communications |
US11501380B1 (en) | 2020-07-01 | 2022-11-15 | BlueOwl, LLC | Systems and methods for parallelly validating a plurality of policies |
US11461851B1 (en) | 2020-07-14 | 2022-10-04 | BlueOwl, LLC | Systems and methods for determining validation times |
US20220180264A1 (en) * | 2020-12-09 | 2022-06-09 | Utmost Software Inc. | Enterprise workforce management platform |
US20220188938A1 (en) * | 2020-12-16 | 2022-06-16 | State Farm Mutual Automobile Insurance Company | Systems and methods of generating recommendations for secondary users of a well-being application |
US11928315B2 (en) | 2021-01-14 | 2024-03-12 | Monday.com Ltd. | Digital processing systems and methods for tagging extraction engine for generating new documents in collaborative work systems |
US11599842B2 (en) | 2021-01-15 | 2023-03-07 | Oracle International Corporation | Modeling expectation mismatches |
US20220270051A1 (en) * | 2021-02-19 | 2022-08-25 | Enrollease, Inc. | Benefit notification system and method for use therewith |
US12099976B2 (en) * | 2021-05-24 | 2024-09-24 | Adp, Inc. | Group eligibility criteria builder |
US12056664B2 (en) | 2021-08-17 | 2024-08-06 | Monday.com Ltd. | Digital processing systems and methods for external events trigger automatic text-based document alterations in collaborative work systems |
TR2021016598A2 (en) * | 2021-10-25 | 2021-11-22 | Dilek Mete | Work and private life management system and method |
US12105948B2 (en) | 2021-10-29 | 2024-10-01 | Monday.com Ltd. | Digital processing systems and methods for display navigation mini maps |
US11782894B2 (en) * | 2021-11-11 | 2023-10-10 | Sap Se | User connection degree measurement |
RU210505U1 (en) * | 2021-11-19 | 2022-04-18 | Евгений Васильевич Соколов | Automated device for economic and mathematical modeling and evaluation of the effectiveness of enterprise development |
US11809462B2 (en) * | 2022-01-26 | 2023-11-07 | Dealerware, Llc | Organization hierarchy systems and methods |
US11921898B2 (en) * | 2022-04-29 | 2024-03-05 | Snowflake Inc. | Identity resolution and data enrichment framework |
US11995589B2 (en) * | 2022-05-05 | 2024-05-28 | Wolka Technologies, Llc | System and method for processing requirements in ERP and HRIS |
WO2023239715A1 (en) * | 2022-06-07 | 2023-12-14 | Grammarly Inc. | Digital employee experience improvement based on de-identified productivity data signals |
US20240013107A1 (en) | 2022-07-07 | 2024-01-11 | CalmWave, Inc. | Information Management System and Method |
IT202200015459A1 (en) | 2022-07-22 | 2024-01-22 | Colligo S P A | COMPANY DOWNTIME EFFICIENCY SYSTEM AND RELATED OPERATION METHOD |
GB202216842D0 (en) * | 2022-11-11 | 2022-12-28 | Tefogo Ltd | Facilitating access to a library |
US11741071B1 (en) | 2022-12-28 | 2023-08-29 | Monday.com Ltd. | Digital processing systems and methods for navigating and viewing displayed content |
US11886683B1 (en) | 2022-12-30 | 2024-01-30 | Monday.com Ltd | Digital processing systems and methods for presenting board graphics |
US20240265349A1 (en) * | 2023-02-03 | 2024-08-08 | Degree, Inc. | Application programming interfaces for analyzing combinations of applicant and employment data |
US11893381B1 (en) | 2023-02-21 | 2024-02-06 | Monday.com Ltd | Digital processing systems and methods for reducing file bundle sizes |
US12056255B1 (en) | 2023-11-28 | 2024-08-06 | Monday.com Ltd. | Digital processing systems and methods for facilitating the development and implementation of applications in conjunction with a serverless environment |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010051906A1 (en) * | 2000-05-01 | 2001-12-13 | Esposito Jewell Lim | Method and apparatus for distributing documents on an event-triggered basis through a communications network system |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6067522A (en) | 1996-03-01 | 2000-05-23 | Warady; Arthur D. | Health and welfare benefit enrollment and billing system and method |
US7069229B1 (en) * | 1999-06-16 | 2006-06-27 | Metier Ltd. | Method and apparatus for planning and monitoring multiple tasks and employee work performance based on user defined criteria and predictive ability |
US7073033B2 (en) | 2000-02-25 | 2006-07-04 | Oracle International Corporation | Memory model for a run-time environment |
US7401131B2 (en) * | 2000-05-22 | 2008-07-15 | Verizon Business Global Llc | Method and system for implementing improved containers in a global ecosystem of interrelated services |
CA2417863A1 (en) * | 2000-08-03 | 2002-02-14 | Unicru, Inc. | Electronic employee selection systems and methods |
WO2002039358A2 (en) * | 2000-11-06 | 2002-05-16 | Worldinsure Limited | Automated insurance policy application |
US20030204421A1 (en) * | 2002-04-29 | 2003-10-30 | Value Benefits Insurance Agency, Inc. | Integrated system and method for insurance products |
US20040088334A1 (en) * | 2002-11-01 | 2004-05-06 | Klein Ralph Wilhelm | System and method for generating reports for a versioned database |
US7113933B1 (en) * | 2002-11-07 | 2006-09-26 | Ameriprise Financial, Inc. | Method and system for automated generation of a requested report in a computer system |
US7139774B2 (en) * | 2003-06-12 | 2006-11-21 | International Business Machines Corporation | Singleton abstract model correspondence to multiple physical models |
US20070057967A1 (en) * | 2005-07-13 | 2007-03-15 | Armstrong Orin R | System and method for the display of versioned documents and amendments |
US20070185721A1 (en) * | 2005-12-30 | 2007-08-09 | Shai Agassi | Content center and method for business process applications |
EP2076874A4 (en) * | 2006-05-13 | 2011-03-09 | Sap Ag | Consistent set of interfaces derived from a business object model |
US8126727B2 (en) | 2006-08-01 | 2012-02-28 | My Coverage Plan Inc. | System and method for obtaining, maintaining and maximizing healthcare benefits |
US7859706B2 (en) * | 2006-09-26 | 2010-12-28 | Sap Portals Israel Ltd. | Method and apparatus for model driven testing |
US8402060B2 (en) * | 2006-12-07 | 2013-03-19 | Sap Ag | Software for managing data between a client and server |
US20080193100A1 (en) * | 2007-02-12 | 2008-08-14 | Geoffrey King Baum | Methods and apparatus for processing edits to online video |
US20090265255A1 (en) | 2007-04-26 | 2009-10-22 | John Clarke Jackson | Systems, Devices, and Methods for Supporting Decisions |
US8280822B2 (en) | 2008-10-15 | 2012-10-02 | Adp Workscape, Inc. | Performance driven compensation for enterprise-level human capital management |
-
2009
- 2009-10-15 US US12/579,966 patent/US8280822B2/en active Active
- 2009-10-15 WO PCT/US2009/060843 patent/WO2010045459A1/en active Application Filing
- 2009-10-15 US US12/579,985 patent/US20100100561A1/en not_active Abandoned
- 2009-10-15 WO PCT/US2009/060839 patent/WO2010045456A1/en active Application Filing
-
2012
- 2012-08-27 US US13/595,831 patent/US9208474B2/en active Active
- 2012-08-27 US US13/595,801 patent/US8635080B2/en active Active
-
2014
- 2014-05-29 US US14/290,466 patent/US9881279B2/en active Active
- 2014-06-09 US US14/300,188 patent/US20140289150A1/en not_active Abandoned
- 2014-06-09 US US14/300,208 patent/US20140289154A1/en not_active Abandoned
- 2014-06-09 US US14/300,195 patent/US9818087B2/en active Active
- 2014-06-09 US US14/300,131 patent/US20140289148A1/en not_active Abandoned
- 2014-06-09 US US14/300,202 patent/US9727845B2/en active Active
- 2014-06-09 US US14/300,205 patent/US20140289146A1/en not_active Abandoned
- 2014-06-09 US US14/300,200 patent/US20140289152A1/en not_active Abandoned
- 2014-06-09 US US14/300,141 patent/US20140289149A1/en not_active Abandoned
- 2014-06-10 US US14/300,254 patent/US20140289155A1/en not_active Abandoned
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010051906A1 (en) * | 2000-05-01 | 2001-12-13 | Esposito Jewell Lim | Method and apparatus for distributing documents on an event-triggered basis through a communications network system |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9208474B2 (en) | 2008-10-15 | 2015-12-08 | Adp, Llc | Performance driven compensation for enterprise-level human capital management |
US9727845B2 (en) | 2008-10-15 | 2017-08-08 | Adp, Llc | System initiated pending state authorization in a benefits administration domain model |
US9818087B2 (en) | 2008-10-15 | 2017-11-14 | Adp, Llc | Querying an effective dated benefits administration domain model |
US9881279B2 (en) | 2008-10-15 | 2018-01-30 | Adp, Llc | Multi-state maintenance of employee benefits data in a benefits administration domain model |
Also Published As
Publication number | Publication date |
---|---|
US8635080B2 (en) | 2014-01-21 |
US20140289155A1 (en) | 2014-09-25 |
US20130006883A1 (en) | 2013-01-03 |
US20140289154A1 (en) | 2014-09-25 |
US20140289148A1 (en) | 2014-09-25 |
US20120323811A1 (en) | 2012-12-20 |
US20140289153A1 (en) | 2014-09-25 |
US20140289152A1 (en) | 2014-09-25 |
US20100100427A1 (en) | 2010-04-22 |
US8280822B2 (en) | 2012-10-02 |
US20100100561A1 (en) | 2010-04-22 |
WO2010045459A1 (en) | 2010-04-22 |
US9881279B2 (en) | 2018-01-30 |
US9727845B2 (en) | 2017-08-08 |
US9208474B2 (en) | 2015-12-08 |
US9818087B2 (en) | 2017-11-14 |
US20140289146A1 (en) | 2014-09-25 |
US20140279639A1 (en) | 2014-09-18 |
US20140289149A1 (en) | 2014-09-25 |
WO2010045456A1 (en) | 2010-04-22 |
US20140289151A1 (en) | 2014-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9727845B2 (en) | System initiated pending state authorization in a benefits administration domain model | |
US8234222B2 (en) | Benefit management system and method | |
Sen et al. | From business process outsourcing (BPO) to knowledge process outsourcing (KPO): Some issues | |
US20070055596A1 (en) | System for preparing financial disclosures by unifying financial close and financial control steps | |
US20070225998A1 (en) | Systems and Methods for Providing, Marketing, and Supporting Integrated Web-Based Software | |
Dikmans | SOA made simple | |
Mundy et al. | The use of an ERP system to facilitate regulatory compliance | |
Dechamma et al. | A review on robotic process automation | |
Chiantera | Data quality and data governance in insurance corporations | |
Misra et al. | Modelling change management and risk management in a financial organization due to information system adoption | |
Κεραμιδάκης | Analysis and design of business intelligence information system for the management of incidents and change requests | |
Mankge | A Critical Analysing of the Pricing Process for the Corporate and Commercial Segments of Bank XYZ in South Africa | |
Tereshchenko | Development and implementation of the data quality assurance subsystem for the MDM platform | |
Pietzka | MD3M Master Data Management Maturity Assessment-Developing an Assessment to Evaluate an Organization's MDM Maturity | |
Salmon et al. | First Steps in SAP S/4HANA Finance | |
MAJOK | COMPUTERISED ACCOUNTING AND PROCESSING OF FINANCIAL STATEMENTS IN FINANCIAL INSTITUTIONS IN UGANDA A CASE STUDY OF KENYA COMMERCIAL BANK JINJA ROAD BRANCH | |
Coleman et al. | The dilemma of Department of Defense business system modernization efforts: why intended outcomes have not been fully met and what needs to change | |
Grieve | Microsoft Dynamics GP 2013 Financial Management | |
El Din | Microsoft Dynamics 365 Enterprise Edition–Financial Management: Maximize your business productivity through modern financial management in Dynamics 365 | |
Eye | Information quality maturity: Examining the progress of data quality management and identifying a path forward | |
Mellin | REQUEST FOR PROPOSAL FOR | |
Namphma | Design and implementation of a payroll management information system for the hospitality industry case study Colline hotel limited Mukono | |
Letter | Section Pages | |
GUIDE | GOING CORPORATE | |
Tople | Mrs Katherine Topfile State of Illinois 100 North First Street Springfield, IL 62702-5042 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: ADP WORKSCAPE, INC., MASSACHUSETTS Free format text: MERGER;ASSIGNOR:WORKSCAPE, INC.;REEL/FRAME:033225/0043 Effective date: 20100818 Owner name: WORKSCAPE, INC., MASSACHUSETTS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:COOPER, THOMAS A.;TURNER, COLIN J.;SIGNING DATES FROM 20091210 TO 20091216;REEL/FRAME:033224/0930 |
|
AS | Assignment |
Owner name: ADP BENEFIT SERVICES KY, INC., KENTUCKY Free format text: MERGER;ASSIGNOR:ADP WORKSCAPE, INC.;REEL/FRAME:036955/0518 Effective date: 20140630 Owner name: ADP, LLC, NEW JERSEY Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ADP BENEFIT SERVICES KY, INC.;REEL/FRAME:036955/0641 Effective date: 20140701 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |