CPC G06Q 30/0203 (2013.01) | 20 Claims |
1. A computing system, comprising:
one or more processors; and
one or more non-transitory computer-readable media that store instructions that, when executed by the one or more processors, cause the computing system to perform one or more operations, the one or more operations comprising:
traversing an object graph which comprises a plurality of objects to identify attribute values associated with employees in an organization, wherein the plurality of objects include first objects with first attribute values indicating employees having a first role in the organization and second objects with second attribute values indicating employees having a second role in the organization;
generating a survey data object associated with a survey that specifies a set of participants having the first role in the organization and a set of delegates having the second role in the organization, according to the identified attribute values associated with the employees;
defining a survey distribution rule in a survey distribution object stored in the object graph, the survey distribution rule specifying a trigger event associated with a change in an employee status and specifying a set of survey participants who are to receive the survey from among the set of participants;
in response to detecting the trigger event occurring, distributing the survey to the set of survey participants specified in the survey distribution rule;
defining, for a delegate in the set of delegates specified by the survey data object, a data access rule that specifies a subset of participants who are constituents of the delegate from among the set of survey participants, wherein the data access rule specifies a relationship between the delegate and the constituents, and wherein the data access rule is defined in a delegation object, stored in the object graph, comprising instructions that, when executed, allow an authorized user access to view survey responses of the constituents based at least in part on the relationship;
receiving, from the authorized user, a request to access survey response data;
identifying the authorized user by receiving information relating to the authorized user to authenticate an identity of the authorized user, to determine whether the authorized user is permitted to access the survey responses;
in response to receiving the request and determining the authorized user is permitted to access the survey responses based on the identifying, dynamically evaluating the data access rule to identify the constituents of the delegate by traversing the object graph to identify the constituents of the delegate based on the second role of the delegate;
executing the instructions of the delegation object stored in the object graph to filter the survey response data to extract constituent response data corresponding to the constituents of the delegate identified by traversing the object graph, while omitting survey response data of participants in the set of survey participants who are not identified as constituents of the delegate by traversing the object graph;
returning the constituent response data to the authorized user;
determining whether the constituent response data includes a defined survey response; and
in response to determining the constituent response data includes the defined survey response, executing a computer-implemented task according to a survey response rule associated with the defined survey response, the computer-implemented task including at least one of an execution of an automated workflow or transmitting an electronic notification.
|