Patent ID: 11887702
Assignee: R1 RCM INC.
Field: Computer technology (Electrical engineering)
Classification: CPC G | IPC G

Claim 0:
1. A system comprising:
at least one interface gateway configured to interface with at least one client device and a plurality of resource platforms, the at least one interface gateway comprising a resource orchestrator comprising at least one processor in communication with at least one non-transitory computer-readable medium having software instructions stored thereon, wherein, upon execution of the software instructions, the at least one processor is configured to:
generate an abstracted query about a plurality of resources managed by the plurality of resource platforms;
wherein the abstracted query is for at least:
each respective resource of the plurality of resources,
an availability of each respective resource of the plurality of resources, and
a capability of each respective resource of the plurality of resources;

identify a plurality of application programming interfaces maintained by a normalization layer for querying the plurality of resource platforms about the plurality of resources managed by the plurality of resource platforms;
wherein the plurality of application programming interfaces are defined by a plurality of resource selection questionnaire templates specific to each respective resource platform of the plurality of resource platforms;

generate a respective normalized application programming interface call to each respective resource platform by modifying the abstracted query for each respective resource platform of the plurality of resource platforms based on each respective application programming interface of the plurality of application programming interfaces;
store, responsive to the respective normalized application programming interface call to each of the plurality of resource platforms, in a resource cache, a plurality of resource objects for each resource platform,
wherein each of the plurality of resource objects that represent a respective resource of the plurality of resources managed by the plurality of resource platforms comprise:
an availability property indicating the availability of the respective resource, and
a capability property indicating the capability of the respective resource;

receive, from the at least one client device, a resource request representing at least one request for at least one resource of the plurality of resources;
wherein the resource request comprises:
at least one user attribute associated with a user, and
at least one resource request attribute defining at least one requested capability;

access the resource cache comprising the plurality of resource objects representing the plurality of resources managed by the plurality of resource platforms;
determine at least one particular resource property representing at least one particular capability that corresponds to:
the at least one user attribute, and
the at least one requested capability defined by the at least one resource request attribute;

determine a particular resource object of the plurality of resource objects in the resource cache, the particular resource object comprising the at least one particular capability;
wherein the particular resource object represents a particular resource for the resource request;

determine a particular resource platform associated with the particular resource object;
transmit to the at least one client device, in real-time, a particular plurality of resource selection questionnaire templates specific to the particular resource platform so as to enable the at least one client device to:
display the particular plurality of resource selection questionnaire templates, and
return at least one user input associated with the particular plurality of resource selection questionnaire templates;

determine, based on the at least one user input, a particular availability of the particular resource object; and
generate, based on a particular application programming interface of the particular resource platform and the particular availability of the particular resource object, a particular application programming interface call comprising at least one resource selection configured to cause the particular resource platform to secure, for the user, the at least one resource associated with the particular resource object.