A computer program product for providing images of indexed documents, the computer program product including a non-transitory computer-readable storage medium having computer program code embodied thereon, the computer program code embodied on the non-transitory computer-readable storage medium comprising:
- instructions for receiving with a client agent a request for images of checks, the request including a client-requested delivery format, the client-requested delivery format comprising a client defined proprietary image format requested by the client:
- instructions for validating with the client agent the request against business rules, validating the request against business rules comprising one or more of (i) applying security tests to ensure the request is coming from a valid client, (ii) determining whether the client-defined proprietary image format is supported, and (iii) determining whether the request is compliant with privacy policies;
- instructions for creating with the client agent a workflow designed for bulk processing of the images to direct a plurality of software agents to complete tasks to fulfill the request, the workflow comprising a translation of the request into a bulk processing format, wherein the plurality of software agents comprises the client agent, a delivery agent, an index agent, a format agent, an image agent, a reporting agent, and a workflow agent, wherein the workflow defines dependencies between the plurality of software agents, wherein the tasks are defined down to a data level so that the plurality of software agents do not maintain state information on the valid client:
- instructions for supplying the workflow from the client agent to the workflow agent, wherein the workflow agent directs the tasks to the plurality of software agents:
- instructions for transmitting with the reporting agent a first notification to a system associated with the valid client, the first notification acknowledging that the workflow has commenced:
- instructions for determining with the index agent if an image handle for each image is stored in an image application program interface (API), the image handle of each image identifying each image in one or more image archives;
- instructions for determining with the index agent that the image handle for one or more of the images is not stored in the image application program interface (API);
- instructions for searching with the index agent a master index for each image handle determined to not be stored in the image application program interface (API), wherein the master index comprises one or more automated, partitioned databases comprising tables which organize items stored in the master index into unposted and posted onus items and transit items;
- instructions for retrieving with the image agent, using the image handles, the images for delivery from the one or more image archives according to the workflow in response to the request;
- instructions for storing locally with the image agent via a processor, the images for delivery for use by the plurality of software agents for additional processes;
- instructions for formatting with the format agent the images for delivery into the client-defined proprietary image format;
- instructions for delivering with the delivery agent the images in bulk to a drop zone according to the workflow;
- and
- instructions for transmitting with the reporting agent a second notification to the valid client and operators of the indexing and delivery system.