The present invention relates to computer systems and more particularly, to a system and method for determining suitability of a candidate for a role in a company and comprising a scalable application programming interface (API) or platform for an organization or partner comprising multiple entities or business units.
Organizations such as corporations may comprise multiple business entities, such as, subsidiaries, business units, related companies, and the like. Each business entity will have jobs or positions, and some or all of those jobs may, in turn, be company specific. Job recommendation systems and/or job screening systems, such as the job recommendation system from Ideal (OS Systems Inc.) provides a state of art of computer and Al based system for processing job applications and generating job recommendations for a company.
For organizations such as corporations or partner companies with multiple companies, it is desirable to have a single or integrated platform configured to manage and control job applications and provide job screening and/or hiring recommendations utilizing a job recommendation or screening system such as the system from Ideal.
It will therefore be appreciated that there remains a need for improvements in the art.
The present invention is directed to a scalable software application or platform for interfacing an organization or a partner company comprising multiple entities or business units to a system and/or a process for screening applications for one or more jobs for a candidate or job applicant for one or more of the entities.
A computer system, a computer program product and a computer-implemented method is provided for performing screening of job applications for one or more candidates or applicants for an organization comprising one or more entities, operating businesses, clients, customers or the like. According to an exemplary embodiment, the system comprises a software module configured for interfacing an organization with a computer system configured for performing or executing screening of applications for a job for one or more candidates or applicants. According to an exemplary implementation, the software module comprises an Application Programming Interface (API) which is configured to interface the organization, and one or more companies, entities, clients, business units, customers or operating units associated with the organization, with the computer system configured for executing job screening. The software module is configured to provide the capability for one or more of the entities associated with the organization to access the job screening system independently.
According to an embodiment, the present invention comprises a software module configured for providing an interface to a job screening system, said job screening system including a server configured with a database and a machine learning engine configured for screening one or more applications for a job or position at a company, said software module comprising: a software component configured for updating data associated with the company, said database comprising a record for the company and including one or more data fields for storing said associated company data; a software component configured for updating data associated with the job, said database comprising a record for the job and including one or more data fields for storing said associated job data; a software component configured for updating data associated with the one or more applications, said database comprising a record for each of the one or more applications and including one or more data fields for storing said associated application data; the machine learning engine comprising a processor component configured to screen the application based on said application record and based on said screening process generate a score for the application; and said applications software component being configured to make available said generated score to the company.
According to another embodiment, the present invention comprises a computer-implemented process for accessing a job screening system through an application programming interface (API), said computer-implemented process comprising the steps of: submitting an application for a candidate for grading through an application endpoint to the API for the job screening system; screening the application at the job screening system utilizing a machine learning model and generating a grade for the application; updating an application record for the candidate in a database for the job screening system; and providing said grade through said application endpoint to the API.
According to another embodiment, the present invention comprises a computer program product for providing an interface to a job screening system, said job screening system including a server configured with a database and a machine learning engine configured for screening one or more applications for a job or position at a company, said computer program product comprising: a non-transitory storage medium configured to store computer readable instructions; said computer readable instructions including instructions for, updating data associated with the company through a company endpoint to an application programming interface (API), said database comprising a record for the company and including one or more data fields for storing said associated company data; updating data associated with the job through a job endpoint to an API, said database comprising a record for the job and including one or more data fields for storing said associated job data; updating data associated with the one or more applications through an applications endpoint to the API, said database comprising a record for each of the one or more applications and including one or more data fields for storing said associated application data; and screening the application utilizing a machine learning engine in the job screening system and generating a grade for the application.
Other aspects and features of the present invention will become apparent to those ordinarily skilled in the art upon review of the following description of embodiments of the invention in conjunction with the accompanying figures.
Reference will now be made to the accompanying drawings which show, by way of example, embodiments of the present invention, and in which:
Like reference numerals indicate like or corresponding elements or components in the drawings.
Reference is first made to
According to an exemplary embodiment, a job screening system is configured to perform or execute screening operations comprising screening the applications of multiple candidates for a job being offered by an organization, a partner company (e.g. a “whitelist company” that manages customers, e.g. “companies”) or a client, or other business entity. For example, a job opening can receive thousands of applications from potential applicants or job seekers. According to an exemplary embodiment and as will be described in more detail below, the job screening system 10 comprises a screening engine configured to process, i.e. screen, each application and compare with a Machine Learning Model (for instance, a ML Model generated utilizing the ML Engine) and generate or assign a grade to the application.
According to another embodiment, the job screening system further comprises a job recommendation system. The job recommendation system is configured to process the application of a candidate or job seeker applying to an organization or business entity. According to an exemplary embodiment, the job recommendation system is configured to generate one or more job recommendations for the applicant available at the organization or business entity. The job screening system is configured to screen the applicant or job seeker for one or more the recommended jobs, and generate, for example, a grade or a report card for the applicant.
As shown in
The client machine or computer or appliance 130 may include a device, such as a personal computer, a wireless communication device or smart phone, a portable digital device such as an iPad or tablet, a laptop or notebook computer, or another type of computation or communication device or appliance, a thread or process running on one of those devices, and/or an object executable by one of these devices.
The network 12 may comprise a local area network (LAN), a wide area network (WAN), a telecommunication network, such as the Public Switched Telephone Network (PSTN), an Intranet, the Internet, or a combination of networks. According to another aspect, the system 100 may be implemented as a cloud-based system or service utilizing the Internet 12.
The API 120 is configured to allow the organization or partner company platform 110 to access selected API endpoints in the job screening system 10 and push data (and get data) into the job screening system 10 for analysis, processing and/or grading or screening, as will be described in more detail below.
According to an embodiment, the API 120 comprises a “companies” module or component (i.e. endpoint) indicated by reference 140, a “jobs” module or component (i.e. endpoint) indicated by reference 150, an “applications” module or component (i.e. endpoint) indicated by reference 160 and an “authentication” module or component (i.e. endpoint) indicated by reference 170.
As will be described in more detail, the API 120 provides the capability for the organization computer system 110 and the computers 130 for the entities, e.g. business units, to interface (e.g. via the selected endpoints) to the job screening system 10 independently of the implementation or architectural details of the job screening system 10.
According to an exemplary embodiment, the API 120 comprises a software module or component configured to receive REST (Representational State Trainer) calls into each endpoint of the Application Programming Interface (API) 120 for access to the job screening system 10. The API 120 is configured to authenticate integration for access by the organization or partner company platform 110 (and the customer or client machines 130) to the API 120 for the job screening system 10. The units 130, e.g. business units or clients, comprising the organization 110 are provided access to the job screening system 10 through the API 120, and the functionality and associated capabilities of the job screening system 10 appear native through the API 120.
According to an exemplary implementation, one or more of the client machines for the entities 130 are configured with a software module or component 132, indicated individually by references 132a, 132b . . . 132n. According to an embodiment, the software module 132 comprises an interface, for example, implemented as a graphical user interface or GUI, configured to connect or interface with the Application Programming Interface or API 120 for accessing the functionality and capabilities as described in more detail below.
According to an embodiment, the job screening system 10 and the API 120 are configured to manage the clients or business units 130 comprising the organization as logically separate entities. According to an exemplary implementation, the job screening system 10 comprises “buckets”, i.e. logically separated entities, configured to manage and control the selected job recommendation functionality or capabilities, e.g. live screening, filter internal candidates, etc., available or provided by the job screening system 10. For instance, each bucket in the job screening system 10 comprises data and operations associated with each job or position, candidate, application, associated with unit or entity 130. The bucket may also be configured as a control mechanism to regulate or control the use of the job screening system 10, and/or its resources, by the organization or company. It will be appreciated that this hierarchical or segregated configuration provides the functionality/capability to process an organization with multiple units, entities, or companies, for instance, a “whitelist” customer, on one server configured with each of the entities (including the jobs, applications, candidates, associated with the entity), and each entity have its own virtual access to the job screening system 10 through the API 120.
According to an exemplary embodiment, the Authentication module 170 is configured to manage authentication, e.g. credentialed access, at the organizational level. An API token is provisioned for the organization or partner integration. The API token is configured with a role and a set of permissions defining the level of access for the organization or partner to each endpoint in the job screening system 10.
According to an embodiment, the API 120 is configured to provide each entity, e.g. business unit or customer computer system, 130 with independent access to the job screening system 10. According to an embodiment, the API 120 is configured to provide an organization level integration for all the entities comprising or associated with the organization as described in more detail below. This allows all the associated entities to communicate and interact with the job screening system 10 based on one integration. As shown, the companies module 140 comprises an endpoint in the API 120 which is configured to receive customer data, i.e. entity data, associated with the customer entity 130 for the job screening system 10. The job screening system 10 is configured to generate a new or corresponding company or customer entity 22 in the database 20, or update an existing company or customer entity 22 in the database, indicated individually by references 23a, 23b . . . 23x in
The jobs module or component (i.e. endpoint) 150 in the API 120 is configured to input or receive jobs data for jobs that are created, or jobs that are modified, by customers 130 on the organization platform 110. The jobs module 150 comprises an endpoint in the API 120 which is configured to input or receive jobs data for the associated customer entity 130 in the job screening system 10 and stored in the database 20. According to another aspect, the job screening system 10 is configured to group or organize the new jobs or the modified jobs into groupings comprising “roles” or buckets. According to another aspect, the jobs roles or buckets can be defined at a customer or entity level. According to another aspect, the jobs roles or buckets can be defined at an organization level. The machine learning (ML) engine 30 in the job screening system 10 is configured to process each job grouping or jobs bucket utilizing an associated ML model in the ML engine 30. According to an exemplary implementation, the job screening system 10 is configured to determine the job groupings or buckets, for example, as an automated operation or processing step.
The applications module or endpoint 160 in the API 120 is configured to input job applications data for job applications that are created, or job applications that are modified, by customers 130 on the organization platform 110. The application module 160 comprises an endpoint in the API 120 which is configured to input or receive applications (e.g. job applications) data for the associated customer entity 130 in the job screening system 10. The job screening system 10 is configured to update the applications data and store the data in the database 20. According to another aspect, the job screening system 10 is configured to run the ML engine 30, i.e. a ML screening engine, to produce a grade or score for the associated job role. The job application is graded or score (i.e. in time), and the application data, e.g. the score or grade, is stored in an application record 24 in the database 20 and retrievable by the customer 130 via the API 120. According to another aspect, each subsequent update or modification on job application is applied or propagated to the application record, and utilized to further train the ML model in the ML engine 30. According to another aspect, the application record 24 (indicated individually by references 25a, 25b . . . 25y In
In operation, the organization or partner API 120 is configured to provision multiple customers or clients (i.e. entities 130) comprising the organization or partner on the organization or partner platform 110 with access to the job screening system 10 through selected or defined API endpoints. The organization or partner platform 110 is configured to manage or control the information and data that is sent or transmitted to the job screening system 10 for the purposes of screening the job applicants and/or generating application data. The database 20 and the ML engine 30 for the job screening system 10 is hidden behind the API layer 120.
Reference is next made to
As shown in
The API 120 is configured to interface the job screening system 10 and manage job(s) and job application(s) for each entity, e.g. client or customer 130, as described above. The API 120 is configured to manage and control the workflow between each client or customer machine 130, i.e. entity, and the job screening system 10 as indicated generally by reference 230 in
The managing jobs process 240 comprises sending or transmitting each job for the client or customer 130a to the job screening system 10 through the API 120 (for example, the jobs endpoint 150 in the API 120 in
The application process 250 comprises submitting applications through the jobs endpoint 150 in API 120 to the job screening system 10 to generate a grade and/or a report card according the screening process. The job screening system 10 is configured to utilize the jobs data to update the application record 25a for the associated client 130a in the applications table 24, and the candidate data in the customer entity record 22a in the database 10 (
In summary and according to an exemplary embodiment, the API 120 allows the organization or partner platform 110 to interface with the job screening system 10 and access and manage jobs and/or applications for each client or customer 130. The organization or platform 110 manages and/or controls authentication and access to the job screening system through the API 120. According to an exemplary implementation, the partner platform 110 is configured to make calls into the job screening system 10 through the API 120. In the job screening system 10, the database 10 is configured to logically separate each client or customer entity and the associated data in a database 20 configured with a hierarchical database structure. According to another aspect, new jobs or roles are grouped into job buckets or job clusters, and the job buckets are utilized for creating or generating an associated, e.g. dedicated, ML model in the ML engine 30.
It will be appreciated that one or more embodiments according to the present invention provide a highly scalable and flexible architecture or platform for an organization or company comprising multiple entities such as subsidiaries or business units.
Reference is next made to
Reference is made to
Reference is next made to
Reference is next made to
Reference is next made to
Reference is next made to
Reference is made to
Reference is made to
Reference is made to
Reference is next made to
The processor 810 may comprise a hardware-based processor, microprocessor, or processing logic that is configured, e.g. programmed, to interpret and/or execute instructions. The main memory 830 may comprise a random-access memory (RAM) or other type of dynamic storage device that is configured to store information and/or instructions for execution by the processor 810. The read only memory (ROM) may comprise a conventional ROM device or another type of static or non-volatile storage device configured to store static information and/or instructions for user by the processor 810. The storage device 850 may comprise a disk drive, solid state memory or other mass storage device such an optical recording medium and its corresponding drive or controller, configured for the database 20.
The input device 860 may comprise a device or mechanism configured to permit an operator or user to input information to the client/server entity, such as a keyboard, a mouse, a touchpad, voice recognition and/or biometric mechanisms, and the like. The output device 870 may comprise a device or mechanism that outputs information to the user or operator, including a display, a printer, a speaker, etc. The communication interface 880 may comprise a transceiver device or mechanism, and the like, configured to enable the client/server entity 800 to communicate with other devices and/or systems. For instance, the communication interface 880 may comprise mechanisms or devices for communicating with another machine, appliance or system via a network, for example, the Internet (
As described, in accordance with embodiments according to the present invention, the client/server entity 800 may be configured to perform operations or functions relating to the process of selecting a suitable candidate, to the process of generating a candidate model or template, and the other functions as described or depicted herein. The client/server 800 may be configured to perform these operations and/or functions in response to the processor 810 executing software instructions or computer code contained in a machine or computer-readable medium, such as the memory 830. The computer-readable medium may comprise a physical or a logical memory device or medium.
The software instructions or computer code may be read into the memory 830 from another computer-readable medium, such as a data storage device 850, or from another device or machine via the communication interface 880. The software instructions or computer code contained or stored in the memory 830 instruct, or cause, the processor 810 to perform or execute processes and/or functions as described in more detail herein. In the alternative, hardwired circuitry, logic arrays, and the like, may be used in place of or in combination with software instructions to implement the processes and/or functions in accordance with the embodiments of the present invention. Therefore, implementations consistent with the principles of the embodiments according to the present invention are not limited to any specific combination of hardware and/or software.
The present invention may be embodied in other specific forms without departing from the spirit or essential characteristics thereof. Certain adaptations and modifications of the invention will be obvious to those skilled in the art. Therefore, the presently discussed embodiments are considered to be illustrative and not restrictive, the scope of the invention being indicated by the appended claims rather than the foregoing description, and all changes which come within the meaning and range of equivalency of the claims are therefore intended to be embraced therein.