IP Library Granted Patent US 12670038
Granted Patent B2
US 12670038 · App. 18/233,401 · Granted Jun 30, 2026

Risk mitigation architecture for application programming interface service adoption

Inventors: Li Zhang (Chesterfield, MO); Steven DeLassus (O'Fallon, MO)
Assignee: Express Scripts Strategic Development, Inc.
G06F9/541
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12670038
App. No.
18/233,401
Granted
Jun 30, 2026
Kind
B2
Abstract

A risk mitigation architecture for new application programming interface service adoption includes a client interface configured to generate an API call, a legacy API module configured to generate a legacy API result in response to receiving the API call, a new API module configured to generate a new API result in response to receiving the API call, and a delegation module configured to selectively return the legacy API result to the client interface or the new API result to the client interface, according to at least one specified feature selector. The architecture includes a data comparator in communication with the delegation module, the data comparator configured to compare the legacy API result with the new API result according to at least one specified comparison configuration, to generate an API comparison result indicative of the legacy API result and the new API result having same or different output data.

Claims (58)

1 . A risk mitigation architecture for new application programming interface service adoption, the risk mitigation architecture comprising:

a client interface configured to generate an application programming interface (API) call;

a legacy API module configured to generate a legacy API result in response to receiving the API call;

a new API module configured to generate a new API result in response to receiving the API call;

a delegation module in communication between the client interface, the legacy API module and the new API module, the delegation module configured to selectively return the legacy API result to the client interface or the new API result to the client interface, according to at least one specified feature selector; and

a data comparator in communication with the delegation module, the data comparator configured to compare the legacy API result with the new API result according to at least one specified comparison configuration, to generate an API comparison result indicative of the legacy API result and the new API result having same output data or different output data.

2 . The risk mitigation architecture of claim 1 , further comprising:

a legacy API adapter class in communication between the delegation module and the legacy API module, the legacy API adapter class configured to wrap a backend API and data model of the legacy API module to expose a common API to the delegation module for the legacy API module; and

a new API adapter class in communication between the delegation module and the new API module, the new API adapter class configured to wrap a backend API and data model of the new API module to expose a common API to the delegation module for the new API module.

3 . The risk mitigation architecture of claim 1 , wherein:

the at least one specified feature selector includes a first feature selector, and a second feature selector; and

the delegation module is configured to selectively transmit a first feature selector percentage of legacy API results and new API results to the data comparator in order to compare the legacy API results and the new API results.

4 . The risk mitigation architecture of claim 3 , wherein the delegation module is configured to select a second feature selector percentage of the new API results to return to the client interface instead of the legacy API results.

5 . The risk mitigation architecture of claim 4 , wherein:

the delegation module is configured to use zero as an initial setting for the second feature selector percentage; and

the delegation module is configured to increase the second feature selector percentage subsequent to the initial setting of zero.

6 . The risk mitigation architecture of claim 4 , wherein:

the delegation module is configured to use zero as an initial setting for the first feature selector percentage; and

the delegation module is configured to increase the first feature selector percentage subsequent to the initial setting of zero.

7 . The risk mitigation architecture of claim 1 , wherein the specified comparison configuration includes at least one of an exception data comparison between the legacy API result with the new API result, a primitive data comparison between the legacy API result with the new API result, a string data comparison between the legacy API result with the new API result, a map data comparison between the legacy API result with the new API result, a list data comparison between the legacy API result with the new API result, and a field data comparison between the legacy API result with the new API result.

8 . The risk mitigation architecture of claim 1 , wherein the data comparator is configured to call an exception comparator function in response to a determination that an object of the legacy API result or the new API result includes an exception.

9 . The risk mitigation architecture of claim 1 , wherein the data comparator is configured to:

obtain class information of at least one object of the legacy API result or the new API result;

call a primitive comparator function in response to a determination that a class of the legacy API result or the new API result is a primitive; and

call a string comparator function in response to a determination that a class of the legacy API result or the new API result is a string.

10 . The risk mitigation architecture of claim 1 , wherein the data comparator is configured to:

perform a field by field comparison of fields of the legacy API result and the new API result;

call a map comparator function in response to a determination that a class of the legacy API result or the new API result is a map; and

call a list comparator function in response to a determination that a class of the legacy API result or the new API result is a list.

11 . The risk mitigation architecture of claim 1 , wherein the data comparator is configured to:

compare object keys of the legacy API result and the new API result; and

call a field comparator function in response to a result of the comparison of the object keys.

12 . A method of risk mitigation for new application programming interface service adoption, the method comprising:

generating, by a client interface, an application programming interface (API) call;

generating, by a legacy API module, a legacy API result in response to receiving the API call;

generating, by a new API module, a new API result in response to receiving the API call;

selectively returning, by a delegation module, the legacy API result to the client interface or the new API result to the client interface, according to at least one specified feature selector, the delegation module in communication between the client interface, the legacy API module and the new API module; and

comparing, by a data comparator, the legacy API result with the new API result according to at least one specified comparison configuration, to generate an API comparison result indicative of the legacy API result and the new API result having same output data or different output data, the data comparator in communication with the delegation module.

13 . The method of claim 12 , further comprising:

wrapping, by a legacy API adapter class, a backend API and data model of the legacy API module to expose a common API to the delegation module for the legacy API module, the legacy API adapter class in communication between the delegation module and the legacy API module; and

wrapping, by a new API adapter class, a backend API and data model of the new API module to expose a common API to the delegation module for the new API module, the new API adapter class in communication between the delegation module and the new API module.

14 . The method of claim 12 , wherein:

the at least one specified feature selector includes a first feature selector, and a second feature selector; and

the method further comprises selectively transmitting, by the delegation module, a first feature selector percentage of legacy API results and new API results to the data comparator in order to compare the legacy API results and the new API results.

15 . The method of claim 14 , further comprising selecting, by the delegation module, a second feature selector percentage of the new API results to return to the client interface instead of the legacy API results.

16 . The method of claim 12 , wherein the specified comparison configuration includes at least one of an exception data comparison between the legacy API result with the new API result, a primitive data comparison between the legacy API result with the new API result, a string data comparison between the legacy API result with the new API result, a map data comparison between the legacy API result with the new API result, a list data comparison between the legacy API result with the new API result, and a field data comparison between the legacy API result with the new API result.

17 . The method of claim 12 , further comprising calling, by the data comparator, an exception comparator function in response to a determination that an object of the legacy API result or the new API result includes an exception.

18 . The method of claim 12 , further comprising:

obtaining class information of at least one object of the legacy API result or the new API result;

calling a primitive comparator function in response to a determination that a class of the legacy API result or the new API result is a primitive; and

calling a string comparator function in response to a determination that a class of the legacy API result or the new API result is a string.

19 . The method of claim 12 , further comprising:

performing a field by field comparison of fields of the legacy API result and the new API result;

calling a map comparator function in response to a determination that a class of the legacy API result or the new API result is a map; and

calling a list comparator function in response to a determination that a class of the legacy API result or the new API result is a list.

20 . The method of claim 12 , further comprising:

comparing object keys of the legacy API result and the new API result; and

calling a field comparator function in response to a result of the comparison of the object keys.