The present disclosure relates in general to systems, methods, and apparatuses for identifying activities for individuals to perform across an enterprise. More specifically, the present disclosure is related to systems and methods for identifying activities for a fulfiller or an employee to perform based on an event related to a status of an individual or group of individuals associated with an enterprise.
This section is intended to introduce the reader to various aspects of art that may be related to various aspects of the present disclosure, which are described and/or claimed below. This discussion is believed to be helpful in providing the reader with background information to facilitate a better understanding of the various aspects of the present disclosure. Accordingly, it should be understood that these statements are to be read in this light, and not as admissions of prior art.
In an enterprise or organization, different operations may be performed by different departments (e.g., human resources, information technology). Generally, when a status (e.g., new hire, promotion) of a member (e.g., employee) within the enterprise changes, different departments may perform different activities to prepare the member for his updated status and new role within the enterprise. In some instances, one department may become aware of the status change via another department. Otherwise, each different department may independently initiate an activity for fulfillers and/or employees to perform without regard to the activities being performed by other departments. As each of the different departments becomes more interconnected with each other via shared computer resources hosted in distributed computing (e.g., cloud-computing) environments, it may be useful to coordinate the initiation and distribution of activities in a more efficient manner.
A summary of certain embodiments disclosed herein is set forth below. It should be understood that these aspects are presented merely to provide the reader with a brief summary of these certain embodiments and that these aspects are not intended to limit the scope of this disclosure. Indeed, this disclosure may encompass a variety of aspects that may not be set forth below.
As discussed above, different departments of an enterprise may be tasked with performing different operations based on an event or status change of a member of the enterprise. For example, an information technology (IT) department of an enterprise may be tasked (e.g., assigned activity) with assigning a newly hired employee with a computer, a facilities department may be tasked with assigning the newly hired employee a badge to grant access to certain buildings, a human resources department may be tasked with collecting certain information from the newly hired employee and the like. In certain embodiments, to assist in the assignment and distribution of activities across an enterprise, a server system may receive data indicative of a lifecycle event associated with a member of the enterprise. Based on the received data regarding the lifecycle event, the server system may determine one or more activity sets that detail one or more activities or tasks to be performed by various departments within the enterprise. The one or more activities may be assigned to certain individuals of certain departments of the enterprise. The activities may be pre-defined with respect to an activity set and stored on a database accessible to the server system. The activity sets may thus include activities that are to be performed, deadlines in which the activities are to be performed, and the like.
In addition to identifying the activity sets and corresponding activities, the server system may identify one or more fulfillers or employees of the enterprise to assign the activities. The server system may determine the activities and the fulfillers and/or employees based on data stored on a number of databases associated with the different departments of the enterprise. The data stored on the respective databases may include tables or the like that are organized with respect to life cycle events, activity sets associated with the life cycle events, fulfillers and/or employees associated with the activities, and the like. That is, the tables may include information related to fulfillers and/or employees that are familiar with certain activities associated with a particular activity set that is initiated in response to a detected or received life cycle event.
After identifying the fulfillers and/or employees (e.g., members of enterprise) to perform the activities, the server system may store data regarding respective activity sets that detail various activities assigned to a respective member in a database accessible to a number of computing devices. In one embodiment, a computing device associated with a respective member may retrieve or pull the data regarding respective activities assigned to the member from the database. The respective computing device may display the respective activities via a respective service portal user interface depicted on a display of the respective computing device. The service portal user interface may provide visualizations indicative of the respective activities assigned to the respective member, update the visualizations to provide indications regarded statuses of the respective activities, and the like. By employing the server system to identify activity sets based on different lifecycle events of an employee in an enterprise and identify members across an enterprise to perform various activities of the identified activity sets, the presently disclosed systems and techniques may more efficiently coordinate the initiation of activity sets and the distribution of activities to members across the enterprise. As such, a dynamic workflow may be executed by the server system to identify activity sets and members across the enterprise to perform the activities of the identified activity sets based on databases associated with different departments of the enterprise. In this way, an individual avoids generating scripts for each activity of an activity set assigned to each member for each received lifecycle event. As a result, the members associated with various activities are provided with information related to assigned activities in response to a lifecycle event across the enterprise, thereby allowing the employees of the enterprise to focus on activities that better serve the operation of the enterprise itself.
Various refinements of the features noted above may exist in relation to various aspects of the present disclosure. Further features may also be incorporated in these various aspects as well. These refinements and additional features may exist individually or in any combination. For instance, various features discussed below in relation to one or more of the illustrated embodiments may be incorporated into any of the above-described aspects of the present disclosure alone or in any combination. The brief summary presented above is intended only to familiarize the reader with certain aspects and contexts of embodiments of the present disclosure without limitation to the claimed subject matter.
The description herein makes reference to the accompanying drawings, wherein like reference numerals refer to like parts throughout the several views.
One or more specific embodiments will be described below. In an effort to provide a concise description of these embodiments, not all features of an actual implementation are described in the specification. It should be appreciated that in the development of any such actual implementation, as in any engineering or design project, numerous implementation-specific decisions must be made to achieve the developers' specific goals, such as compliance with system-related and business-related constraints, which may vary from one implementation to another. Moreover, it should be appreciated that such a development effort might be complex and time consuming, but would nevertheless be a routine undertaking of design, fabrication, and manufacture for those of ordinary skill having the benefit of this disclosure.
Information Technology (IT) devices are increasingly important in an increasingly electronics-driven world in which various electronics devices are interconnected within a distributed context. As more functions are performed by services using some form of distributed computing, the ability of IT devices to coordinate activities for different members across an enterprise increases. That is, different departments of an enterprise may be located in different places and may operate independent of each other. However, employing certain IT devices, such as a server system that is communicatively coupled to databases related to the different departments, may allow the implementation of dynamic workflows that send different sets of instructions to different user interfaces of different members based on a change in the status of one member of the enterprise. That is, after receiving an indication that a role of a member of an enterprise is changing or a new member is being added to the enterprise, the server system may dynamically determine different activity sets that detail different activities for different members to perform for different departments based on the information available on the databases associated with the different departments and the indication. Each activity set may be a container that lists a number of activities that may be performed in response to the life cycle event. However, it should be noted that each activity listed as part of the activity set may not be assigned or initiated depending on whether the member associated with the lifecycle event matches certain criteria that specifies when a respective activity will be assigned to a respective fulfiller or employee. After determining the activity sets associated with the role change, determining which activities of the activity set have criteria that match properties (e.g., location, job title) of the member associated with the lifecycle event, and identifying the members to task to perform the identified activities, the server system may store the identified activities for the members in a central database that may be accessible to computing devices or accounts associated with the identified members.
Each respective computing device or account may retrieve the respective activities of an identified activity set assigned to the respective member when the respective computing device or account communicates with the server system. In some embodiments, each respective computing device may retrieve the respective activities and update a respective user interface to indicate that the activities assigned to the respective member. The respective computing device may also track the progress of completion of each of the activities of the activity set and send updates with regard to the progress to the server system for storage and access to other members of the enterprise. By identifying activities to be performed based on a lifecycle event of a member and based on whether certain properties of the member correspond with certain criteria involved with certain activities of the activity set, the server system may provide a personalized workflow that caters to the various properties of the individual member using one dynamic workflow. Additional details with regard to the embodiments described herein will be discussed below with reference to
By way of introduction
The cloud service 104 may include any suitable number of computing devices (e.g., computers) in one or more locations that are connected together using one or more networks. For instance, the cloud service 104 may include various computers acting as servers in datacenters at one or more geographic locations where the computers communicate using network and/or Internet connections. The communication channel 106 may include any suitable communication mechanism for electronic communication between the client 102 and the cloud service 104. The communication channel 106 may incorporate local area networks (LANs), wide area networks (WANs), virtual private networks (VPNs), cellular networks (e.g., long term evolution networks), and/or other network types for transferring data between the client 102 and the cloud service 104. For example, the communication channel 106 may include an Internet connection when the client 102 is not on a local network common with the cloud service 104. Additionally or alternatively, the communication channel 106 may include network connection sections when the client and the cloud service 104 are on different networks or entirely using network connections when the client 102 and the cloud service 104 share a common network. Although only a single client 102 is shown connected to the cloud service 104, it should be noted that cloud service 104 may connect to multiple clients (e.g., tens, hundreds, or thousands of clients).
Through the cloud service 104, the client 102 may connect to various devices with various functionality, such as gateways, routers, load balancers, databases, application servers running application programs on one or more nodes, or other devices that may be accessed via the cloud service 104. For example, the client 102 may connect to an application server 107A and/or one or more databases 108A via the cloud service 104. The application server 107A may include any computing system, such as a desktop computer, laptop computer, server computer, and/or any other computing device capable of providing functionality from an application program to the client 102. The application server 107A may include one or more application nodes running application programs whose functionality is provided to the client via the cloud service 104. The application nodes may be implemented using processing threads, virtual machine instantiations, or other computing features of the application server 107A. Moreover, the application nodes may store, evaluate, or retrieve data from the databases 108A and/or a database server.
The databases 108A may contain a series of tables containing information about assets and services controlled by a client 102 and the configurations of these assets and services. The assets and services include may include hardware resources (such as server computing devices, client computing devices, processors, memory, storage devices, networking devices, or power supplies); software resources (such as instructions executable by the hardware resources including application software or firmware); virtual resources (such as virtual machines or virtual storage devices); and/or storage constructs (such as data files, data directories, or storage models).
In some embodiments, the databases 108A, whether in the cloud or at a client site accessible via the cloud or other network interconnection, may include information related to activity sets for certain personnel to perform. The databases 108A may each be associated with one or more departments of an enterprise. That is, an enterprise or organization may include a number of different departments that perform different operations for the overall enterprise. For instance, an IT department may assist in connecting information technology (IT) devices, software or applications, or virtualized environments for a member (e.g., employee) of the enterprise, human resources department may assist in hiring the member, and a facilities department may assist in providing access to various building associated with the member.
In addition to the databases 108A, the cloud service 104 may include one or more other database servers. The database servers are configured to store, manage, or otherwise provide data for delivering services to the client 102 over the communication channel 106. The database server may include one or more additional databases that are accessible by the application server 107A, the client 102, and/or other devices external to the additional databases. By way of example, the additional databases may include information related to member or assets of the enterprise. In some embodiments, the information regarding each member may be organized or stored a respective database of the databases 108A based on a department in which the member is assigned to. The information may include data regarding the member such as skill set, education background, role, job function, assigned activities or tasks, location, demographic information, and the like.
In the depicted topology, access to non-cloud resources, such as database 108B and/or application server 107B, from the cloud service 104 is enabled via a management, instrumentation, and discovery (MID) server 126 via an External Communications Channel (ECC) Queue 128. The MID server 126 may include an application program (e.g., Java application) that runs as a service (e.g., Windows service or UNIX daemon) that facilitates communication and movement of data between the cloud service 104 and external applications, data sources, and/or services. The MID service 126 may be executed using a computing device (e.g., server or computer) on the network 112 that communicates with the cloud service 104.
The ECC queue 128 may be a database table that is typically queried, updated, and inserted into by other systems. Each record in the ECC queue 128 is a message from an instance in the cloud service 104 to a system (e.g., MID server 126) external to the cloud service 104 that connects to the cloud service 104 or a specific instance running in the cloud service 104 or a message to the instance from the external system. The fields of an ECC queue 128 record include various data about the external system or the message in the record.
Although the system 100 is described as having the application servers 107A, the databases 108A, the ECC queue 128, the MID server 126, and the like, it should be noted that the embodiments disclosed herein are not limited to the components described as being part of the system 100. Indeed, the components depicted in
Further, it should be noted that server systems described herein may communicate with each other via a number of suitable communication protocols, such as via wired communication networks, wireless communication networks, and the like. In the same manner, the client 102 may communicate with a number of server systems via a suitable communication network without interfacing its communication via the cloud service 104.
In addition, methods for populating the databases 108A may include directly importing data or entries from an external source, manual import by users entering or updating data entries via a user interface, and the like. Moreover, it should be understood that the embodiments described herein should not be limited to being performed with respect to a particular database or type of stored data. Instead, the present systems and techniques described herein may be implemented with any suitable database.
In any case, to perform one or more of the operations described herein, the client 102, the application server 107A, the MID server 126, and other server or computing system described herein may include one or more of the computer components depicted in
As illustrated, the computing device 200 may include various hardware components. For example, the device includes one or more processors 202, one or more busses 204, memory 206, input structures 208, a power source 210, a network interface 212, a user interface 214, and/or other computer components useful in performing the functions described herein.
The one or more processors 202 may include processor capable of performing instructions stored in the memory 206. For example, the one or more processors may include microprocessors, system on a chips (SoCs), or any other performing functions by executing instructions stored in the memory 206. Additionally or alternatively, the one or more processors 202 may include application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), and/or other devices designed to perform some or all of the functions discussed herein without calling instructions from the memory 206. Moreover, the functions of the one or more processors 202 may be distributed across multiple processors in a single physical device or in multiple processors in more than one physical device. The one or more processors 202 may also include specialized processors, such as a graphics-processing unit (GPU).
The one or more busses 204 include suitable electrical channels to provide data and/or power between the various components of the computing device. For example, the one or more busses 204 may include a power bus from the power source 210 to the various components of the computing device. Additionally, in some embodiments, the one or more busses 204 may include a dedicated bus among the one or more processors 202 and/or the memory 206.
The memory 206 may include any tangible, non-transitory, and computer-readable storage media. For example, the memory 206 may include volatile memory, non-volatile memory, or any combination thereof. For instance, the memory 206 may include read-only memory (ROM), randomly accessible memory (RAM), disk drives, solid state drives, external flash memory, or any combination thereof Although shown as a single block in
The input structures 208 provide structures to input data and/or commands to the one or more processor 202. For example, the input structures 208 include a positional input device, such as a mouse, touchpad, touchscreen, and/or the like. The input structures 208 may also include a manual input, such as a keyboard and the like. These input structures 208 may be used to input data and/or commands to the one or more processors 202 via the one or more busses 204. The input structures 208 may alternative or additionally include other input devices. For example, the input structures 208 may include sensors or detectors that monitor the computing device 200 or an environment around the computing device 200. For example, a computing device 200 can contain a geospatial device, such as a global positioning system (GPS) location unit. The input structures 208 may also monitor operating conditions (e.g., temperatures) of various components of the computing device 200, such as the one or more processors 202.
The power source 210 can be any suitable source for power of the various components of the computing device 200. For example, the power source 210 may include line power and/or a battery source to provide power to the various components of the computing device 200 via the one or more busses 204.
The network interface 212 is also coupled to the processor 202 via the one or more busses 204. The network interface 212 includes one or more transceivers capable of communicating with other devices over one or more networks (e.g., the communication channel 106). The network interface may provide a wired network interface, such as Ethernet, or a wireless network interface, such an 802.11, Bluetooth, cellular (e.g., LTE), or other wireless connections. Moreover, the computing device 200 may communicate with other devices via the network interface 212 using one or more network protocols, such as Transmission Control Protocol/Internet Protocol (TCP/IP), power line communication (PLC), Wi-Fi, infrared, and/or other suitable protocols.
A user interface 214 may include a display that is configured to display images transferred to it from the one or more processors 202. The display may include a liquid crystal display (LCD), a cathode-ray tube (CRT), a light emitting diode (LED) display, an organic light emitting diode display (OLED), or other suitable display. In addition and/or alternative to the display, the user interface 214 may include other devices for interfacing with a user. For example, the user interface 214 may include lights (e.g., LEDs), speakers, and the like.
With the foregoing in mind,
By way of example, the department server systems 252 may be associated with departments such as an operations department, a finance department, a marketing department, a sales department, a service department, a legal department, a procurement department, a facilities department, a human resources department, an information technology department, a service providers department, and the like. Generally, a database 108 associated with each department may include data related to the members of the enterprise that are also part of the respective department, tasks or activities to be performed by the department, calendar information related to the events scheduled for the respective department, and the like. In one embodiment, the data related to the members of the department may include a working schedule of the member, a list of skills of the member, a list of job functions performed by the member, and the like. The activities stored in a respective database associated with a respective department may include a list of tasks to be performed by a member of the respective department in response to a certain event (e.g., lifecycle event) and an association to an activity set related to the event. The event may be related to a change in a status of a member of the enterprise. For instance, the event may be related to employee on-boarding, employee off-boarding, employee location change, employee organization change, employee promotion, and the like.
Employee on-boarding may include instances when a new member (e.g., employee) joins the enterprise. Conversely, employee off-boarding may include when a member terminates his association with the enterprise. Employee location change may refer to when a member moves locations within the enterprise. The location change may include a change in office space with respect to one office building or with respect to a different geographical location (e.g., city, state, country). Employee organization change may include changing the department in which the member is associated with. In addition, employee promotion may include instances when a job title of a member changes, and thus responsibilities or job functions of the member changes.
Referring briefly back to
Given the number of different departments associated with a single enterprise, it may prove to be difficult to coordinate activities across the enterprise. For example, during an employee on-boarding event, a number of departments may have activities or tasks to perform to enable the new hire to perform his/her job functions more quickly and efficiently. Keeping this example in mind, before the new hire starts, the IT department may identify a computing device for the new member to use, add the new member to a database for access to the server system 250 or other computing resources, issue network user name for the new member, and the like. In the same manner, the HR department may prepare documents for the new member to review and sign upon starting his/her employment. The facilities department assign a workspace to the individual and may prepare a badge or other identification material for the new member to gain access to certain buildings based on the department that the new member will be joining, the job functions of the new member, and the like.
As shown in the example above, different departments may have different activities or tasks that are to be performed based on a given event associated with a member of the enterprise. To better coordinate the distribution and tracking of the progress of the activities for each department of the enterprise, the server system 250 may communicate with department server systems 252 and respective databases 108 to identify respective activities for certain members of the respective departments to perform based on an identified activity set associated with a lifecycle event for a member.
Although the following description of the method 260 is detailed in a particular order, it should be noted that the method 260 may be performed in any suitable order. Moreover, although the method 260 is described as being performed by the server system 250, it should be understood that the method 260 may be performed by any suitable computing device, as described above.
Referring now to
Additionally, triggers for causing the server system 250 to detect the lifecycle event may be pre-defined by a user of the server system 250. That is, a user may provide an indication as to what constitutes a lifecycle event. In this way, a user may indicate to the server system 250 that when certain changes are applied to certain aspects of a profile of a member, these changes correspond to a lifecycle event.
After detecting or receiving an indication of the lifecycle event, at block 264, the server system 250 may determine one or more activity sets associated with the lifecycle event. Activity sets may each include a number of activities to be performed by members of an enterprise. As such, the activity set may be a container object that includes information related to one or more activities to be performed for a particular hierarchical operation. Each activity set may correspond to a certain procedure that is to be performed in response to the respective event. For instance, a detected lifecycle event may include employee on-boarding, as discussed above. Activity sets associated with employee on-boarding may include a pre-hire activity set, a pre-boarding activity set, and a first day activity set. Each of these activity sets may include certain activities to be performed for the associated grouping. For example, the pre-hire activity set may include a background check activity and/or a drug screening activity. The pre-boarding activity set may include activities, such as completing 1-9 form, selecting equipment, setup office, and the like. The first day activity set may include activities like creating a user profile for access to a network, setting up payroll, as so forth.
To identify the activity sets associated with the detected event, the server system 250 may query the department server systems 252 to search for activity sets associated with the detected lifecycle event. For instance, in the example of a new hire, the server system 250 may query the department server system 252 that corresponds to the IT department to identify activities or tasks that the IT department should perform to enable the new hire to perform his or her job functions. These activities or tasks may correspond to an activity set. In some embodiments, in response to detecting the lifecycle event, the server system 250 may access a database 108 that includes a number of activity sets, each of which may be organized according to a respective lifecycle event. After identifying the activity set associated with the respective event, the server system 250 may determine the activities to be performed by various member of different departments in the enterprise. That is, each activity of an activity set may include a set of criteria or the like that specifies when the respective activity will be assigned to a fulfiller, employee, or the like. In this way, the set of criteria of a respective activity set indicates when the respective activity is to be performed based on whether the properties of the member having the lifecycle event meets the set criteria. Each activity set may include any suitable number of activities, but it should be noted that the server system 250 will assign or initiate activities of a respective activity set based on whether the set of criteria associated with the respective activity is present. By way of example, a pre-hire activity set may include an activity that includes receiving work permit information. This activity may have a criteria or condition that indicates that the respective activity applies to those members that are not U.S. citizens. As such, the activity will not be initiated or assigned for members that are U.S. citizens.
The activities and information (e.g., criteria) associated with the activities for different activity sets may be stored in respective databases 108 via tables or the like. The tables may be organized with respect to different lifecycle events (e.g., on-boarding, off-boarding, location change, promotion) and respective activity sets associated with the respective lifecycle event. Since the server system 250 is communicatively coupled to the department server systems 252, or, in some embodiments, to the databases 108 associated with the different departments, the server system 250 may determine activities to be performed across the enterprise. In other words, the server system 250 may coordinate the identification and assignment of activities for each department of the enterprise.
In addition, the server system 250 may coordinate the initiation of certain activities in response to the completion of other activities. That is, upon receiving an indication that certain activity associated with an activity set is completed, other activities of the respective activity set for a different department may be now be performed. These activities may involve an ordered process that operates in a particular order or where certain activities may use information determined using a different activity to begin. In some cases, the indication that a certain activity has been completed may be defined as a criterion for another activity to be performed. By way of example, the IT department may be tasked with setting up a computing device for a new hire but may not be able to perform the task until the facilities department identifies an available office space for the new hire. In this example, the server system 250 may await for confirmation that the new hire is assigned a desk space before engaging the IT department with an activity set for setting up the computing device at the assigned desk space.
In addition to receiving an indication of the lifecycle event, activity sets may include trigger data that specifies when the server system 250 is to initiate an activity set and assign activities to be performed. For example, the trigger data may specify that certain activities or an activity set is to be initiated based on an availability of a member associated with certain activity sets, rules that detail when (e.g., two weeks before a scheduled start date) a life cycle event has been detected, new equipment discovered within the network by automated probe routines, and the like. As discussed briefly above, the trigger data may also indicate whether the completion of other activities may trigger or cause the server system 250 to detect the lifecycle event or a situation that involves the server system 250 determining other activities to assign.
In any case, after the activity sets and activities to be performed are identified, at block 266, the server system 250 may identify members (e.g., fulfillers and/or employees associated with the event) associated with the identified activities detailed in the identified activity sets. The identified members may include one or more members of a department that may have job junctions that include performing one or more of the tasks included in the activity sets. In addition, the identified members may include an employee that the lifecycle event is directed towards. That is, the members assigned to various activities of an activity set may include fulfillers that are tasked with performing certain tasks to prepare the employee for the status change and the employee, himself, who may be tasked with providing information to different fulfillers. In addition, it should be noted that the assigned member may include any employee of the enterprise. The information (e.g., name, location, schedule) of members to assign to activities may be stored in the database 108 with respect to activity sets via tables or the like.
In addition to identifying the members, the server system 250 may determine trigger data associated with the activities of the activity sets. That is, certain activities may be associated with date triggers that depend on certain instances. For example, upon receiving an indication regarding when a new member will start employment, the server system 250 may identify a respective activity set associated with the new employment, determine the activities associated with the respective activity set, identify a subset of activities in which the lifecycle event or member associated with the lifecycle event meets a respective set of criteria, and determine one or more dates for various activities to be performed, as detailed in the respective activity set associated with the new employment. For instance, the IT department may be assigned an activity for issuing a computing device for the new hire one week prior to the start date. In some embodiments, the trigger data may be specified with respect to the activity in metadata, by the creator of the activity, or the like. However, in other embodiments, the server system 250 may identify common trends that a certain department may use when assigning trigger data to respective activities, that particular members use when creating certain activities, and the like. For example, if a particular member assigns an activity to a certain department more than two times, and the particular member specifies the same trigger data for the same activity each time, the server system 250 may automatically populate the trigger data for similarly created activities to include the same trigger data.
In some embodiments, the trigger data may be defined when the activity of the activity set is created by a user via a graphical user interface, input device, or the like. The trigger data may include a time input that indicates when an activity should be initiated and/or completed. As mentioned above, each activity may have a set of criteria (e.g., human resources criteria) associated therewith that specifies to the server system 250 which activities of an activity set are to be initiated or assigned. After identifying the activities that are to be performed, the server system may identify a subset of the members of the enterprise to which the respective activity should be assigned. That is, the activity may be associated with some criteria that indicates that the activity may be assigned to members who work at a particular location, within a certain department, has a certain skill set, has a particular job title, and the like. In this way, the set of criteria associated with the respective activities may assist the server system 250 in identifying the appropriate members to perform the respective activities. For example, an activity that corresponds to a new hire signing up for a 401k plan applies to members that are located in the U.S. and does not apply to any other member who are located outside of the U.S. As such, the criteria for the 401k plan activity may include a location parameter indicating that the activity should be performed for U.S. located members. With this in mind, it should be noted that the corresponding activity set may include activities for similar replacement benefits available in other countries but these activities may not be initiated due to the target member not having the appropriate criteria. As a result, certain activities of a respective activity set may apply to certain members and may not apply to all members. However, since the activity set may be programmed to include any suitable number of activities and yet the server system 250 may filter through the activities to perform just those that apply to a certain situation or member, the server system 250 is capable of personalizing an activity set workflow for each member while retaining the flexibility to perform a number of different workflows for different members and under different circumstances.
At block 268, the server system 250 may generate a list of assigned activities determined at block 266 for each of the identified member of block 266. In one embodiment, the server system 250 may store the assigned activities along with the associated fulfillers in a database 108 accessible to a number of computing devices via a communication protocol. As such, the computing device of a member may access the server system 250 or the database 108 that the server system 250 stores the activities and retrieve information regarding activities assigned to the respective member. In this way, the computing device of the member may pull data from the respective database 108 or via the server system 250 in response to accessing the server system 250, accessing a user interface associated with the member and the enterprise, or the like.
In some embodiments, the computing device may access a user interface associated with the respective identified member via the cloud service 104. The server system 250 may generate a user interface that indicates a list of activities assigned to the respective member. In addition, the server system 250 may generate a visualization that lists the assigned activities, indicates a progress or status of the assigned activities, or the like. When the computing device accesses the cloud service 104 or the server system 250, the computing device may retrieve the list of activities, the generated visualizations, and other pertinent information provided via the server system 250 and display the retrieved information via a corresponding display device.
As the member completes tasks, information regarding the completed activity may be updated via the user interface. The updated information may be received, at block 270, by the server system 250 as status updates for the activities. In one embodiment, the member inputs updates to the status of the activities after each respective activity is completed. In another embodiment, the server system 50 may detect that an activity of the activity set is completed when a certain data field or entry in the database 108 is updated. For instance, if the activity includes issuing a computing device to a newly hired employee, when the member inputs data indicative of an assignment of a computing device to the corresponding member into a respective database 108, the server system 250 may automatically update the respective status of the associated activity. The updated status may then be retrieved by the computing device of the member via the server system 250.
At block 272, the server system 250 may generate one or more visualizations related to the status of the activities based on the data received at block 270. The visualizations may include information detailing a progress bar indicating steps completed, percentage completed, items left, and the like. As mentioned above, the visualizations may be accessed by the computing device via the server system 250. In one embodiment, the server system 250 may build a custom user interface for each member of the enterprise to access. The user interface may receive data pushed from sources (e.g., databases 108) that specifies a specific member, a group of members, a subset of members that are identified using filters, and the like. In one example, the visualizations may be provided to a respective user interface associated with the member who initiated the lifecycle event. Additional detail with regard to the user interface will be described below.
In addition to the activities assigned to a particular member, the system server 250 may also generate visualizations indicative of statuses and data related to other activities associated with other members. The other members may include members of the enterprise that are supervised or managed by the particular member. As such, the managing member may track the progress of a number of activities associated with subordinate members. With this in mind, certain visualizations may include tabs to access information related to activity sets for the particular member associated with the accessing computing device and for the members managed by the particular member, information related to activity sets for the members managed by the particular member, information related to the activity sets for the particular member alone, and the like.
In addition, the server system 250 may provide organization features for the user interface to enable the particular member to view items that are to be performed and items that have been completed. The items may also be organized with respect to due dates. The visualization may organize the activity set with respect to time in a calendar, timeline, or the like.
In some embodiments, the visualizations depicted in the user interface may be accessed or may be a configurable input that may be coupled to a document that may be a form or part of a task that is specified to be performed. When accessing a document that may be a form, the server system 250 may parse fields of a document (e.g., Portable Document Format) that may not be altered electronically. In one embodiment, the server system 250 may parse the document to identify key words (e.g., signature) that may denote places within the document where input is requested. After identifying fields within the document that may expect to receive input from the member, the server system 250 may map the places within the document to the user interface display depicting the document. The mapped regions may move with the document as the document is scrolled in and out of view via the display. The server system 250 may enable the member to access the mapped portions of the user interface display to add information via an input device (e.g., keyboard, mouse, electronic pen). For example, the member may sign the document via the mapped portions of the user interface display. The server system 250 may then merge the mapped portion of the user interface display and the associated document to generate an updated document with the input information. The resulting document may then be stored in an appropriate database 108A or the like, and the server system 250 may update a corresponding status of the activity set or task associated with the document accordingly.
Although
Referring back to
With the foregoing in mind,
Referring to
If an activity set is active, the server system 250 may proceed to block 286. Alternatively, if an activity set is not active, the server system 250 may proceed to block 288 and end the workflow. Referring back to block 286, the server system 250 may register the active activity set. That is, the server system 250 may initialize a script or computer-executable instructions that cause the server system 250 to initiate desired operations associated with the activity set.
Prior to executing the script, the server system may proceed to block 290 and determine whether a trigger for the activity set is dependent on another activity set. That is, in some instances, certain activity sets involve or use data acquired from the completion of other activity sets to perform its respective function. As such, each activity set may include metadata or conditions that indicate whether the initialization of the respective activity set is dependent on another activity set being completed. If the respective activity set is dependent on another activity set, the server system may proceed to block 292 and wait for dependent activity sets to complete and then proceed to block 294 and launch the respective activity set or the script associated with the respective activity set. If the other activity sets, however, are not completed, the server system 250 may proceed block 296 and verify that the trigger condition for engaging the respective activity set is met. If the conditions are confirmed, the server system 250 may proceed to block 294 and launch the respective activity set. Otherwise, the server system 250 may proceed to block 298 and wait a certain amount of time to reevaluate the trigger condition. After a timer indicates that the certain amount of time has expired, the server system 250 may return to block 296.
The dependent activity may be related to tasks performed by other members, tasks within an activity set, and the like. Generally, the trigger for the activity set or a task within the activity set may be associated with a time value or another activity. The trigger may be defined via a user interface as will be discussed below with reference to
After the activity set is launched at block 294, the server system 250 may confirm whether all activity sets have been completed at block 300. If all of the activity sets have been completed, the server system 250 may proceed to block 302 and close the script associated with the activity set. Alternatively, the server system may proceed to either block 304 and wait for an activity record related to the activity set to be updated and again check to see whether all of the activity sets have been completed at block 306. If all of the activities are still not completed, the server system 250 may return to block 304. Otherwise, the server system may proceed to block 302.
In some embodiments, if all of the activity sets are not complete at block 300, the server system proceeds to block 308 and wait for a certain amount of time to expire before re-checking whether all of the activity sets are complete at block 310. When the activity sets are complete, the server system 250 may proceed to block 302 to close the registration of the script that engaged the activity set and proceed to block 288 to end the workflow 280. If after some elapsed time or at the approach or passage of a defined critical time or date the activity sets remain uncompleted, a notification or warning may be generated to prompt attention.
It should be understood that the workflow 280 is provided as merely an example of how the server system 250 may be designed to perform the various embodiments, including the method 260, described herein. However, any suitable workflow may be implemented by the server system 250.
With the foregoing in mind,
Each lifecycle event listed in the user interface display 320 may expanded to illustrate certain activity sets associated with a respective event. That is, the server system 250 may generate the user interface mentioned above, such that a member may view the activity sets associated with each event. In addition, the member may generate a new event and define corresponding activity sets via the user interface.
Upon selecting a lifecycle event in the user interface display 320, the server system 250 may generate a list of activity sets that are associated with the selected event. For instance,
Each activity set may then be selected to display a list of activities associated with a respective activity set, as shown in the user interface display 326 of
Upon receipt of an input associated with a particular activity listed in the user interface display 326, the server system 250 may generate a user interface display 328 that provides details regarding the activity. As shown in the user interface display 328, various details regarding the activity title, the performer of the activity, the owning department, the associated activity set, and the like may be defined or modified in via the user interface display 328.
In addition, the condition or triggering data for causing the server system 250 to initiate or assign an activity set may also be specified via a user interface display, such as user interface display 330 as depicted in
For instance,
In another example of multiple condition statements, the user interface display 334 of
In addition to condition statements, the server system 250 may use triggers to specify when to determine whether the condition statements are met. For instance, a condition may be evaluated based on the statuses of other activity sets. For instance, the user interface display 336 of
The specific embodiments described above have been shown by way of example, and it should be understood that these embodiments may be susceptible to various modifications and alternative forms. It should be further understood that the claims are not intended to be limited to the particular forms disclosed, but rather to cover all modifications, equivalents, and alternatives falling within the spirit and scope of this disclosure.
By providing a variety of user interface displays, members of an enterprise may create activity sets for members (e.g., employees or fulfillers) to perform, specify activities for the activity set, provide triggers for the activity set, generate conditions for the activity sets, and the like. In addition, the member and/or employee associated with an activity set may view assignments or status of assigned activity sets via a user display interface. For instance,
In addition to tracking the status of activity sets assigned to a member, the user interface generated by the server system 250 may also be customized to display information targeted to the respective member. That is, announcement data, embedded video data, calendar updates, alert information, and the like may be targeted to a respective member via one or more filter parameters specified to the server system 250. In this way, information directed to specific members may be used to generate targeted visualizations and inform each respective member of the enterprise of activities and events that are relevant to the respective member. As a result, the respective member may be more likely to regularly review the information provided via the respective user interface because the information is specifically targeted to the respective member itself.
By way of example,
By providing the content data 352 and the filter data 354 to the server system 250, the server system 250 may identify the subset of members that correspond to the filter data 354 via the databases 108A. The server system 250 may then generate directed content data 356 for the subset of members identified via the filter data 354. In some embodiments, the server system 250 may use the directed content data 356 to generate user interface displays 358 for respective members of the subset of members. The user interface displays 358 may include custom visualizations arranged in an order or layout specified by the respective member, such that the user interface displays 358 may be depicted via a display of the client 102. As such, the user interface displays 358 may be pushed to the client 102 when the client 102 accesses a network or the like. In this way, the client 102 may pull or retrieve data related to the assigned activity sets and receive pushed data from other sources that intend to inform the respective member of the content data 352.
The specific embodiments described above have been shown by way of example, and it should be understood that these embodiments may be susceptible to various modifications and alternative forms. It should be further understood that the claims are not intended to be limited to the particular forms disclosed, but rather to cover all modifications, equivalents, and alternatives falling within the spirit and scope of this disclosure.
The techniques presented and claimed herein are referenced and applied to material objects and concrete examples of a practical nature that demonstrably improve the present technical field and, as such, are not abstract, intangible or purely theoretical. Further, if any claims appended to the end of this specification contain one or more elements designated as “means for [perform]ing [a function] . . . ” or “step for [perform]ing [a function]...”, it is intended that such elements are to be interpreted under 35 U.S.C. 112(f). However, for any claims containing elements designated in any other manner, it is intended that such elements are not to be interpreted under 35 U.S.C. 112(f).