How APIs Make UPS a Better Business Partner
Imagine “Jeff” owns “Babylon,” an online retail store that sells books, appliances and pretty much anything else. Jeff knows letting customers conveniently check the status of their orders on his website builds customer satisfaction and loyalty. Babylon has systems that allow it to track order status within Babylon facilities, but ships packages via UPS. How can Babylon report what UPS is doing once the package leaves the Babylon warehouse? UPS and Babylon use different software systems, have different databases and unique business logic. Building and maintaining a direct, customized connection between these systems is a significant challenge. UPS might be willing to do this for a big customer like Babylon, but smaller customers are not worth the investment. Fortunately, UPS offers an API that makes it easy to track shipping status. This API hides the complexity of the UPS database and business logic. And, because this is an “open” API, it is exposed to the world so almost anyone can use it. Babylon just needs to register, learn how the API works and connect. Now, Babylon’s system can interrogate the UPS API, instantly retrieve the current status and display it to customers on their website.
A simplified version of this behind-the-scenes exchange via API might look like this:
The Babylon Application “asks” the UPS Application:
>Get /Service/PackageStatus/packageIDNumber/
The UPS Application responds with:
>{
“packageIDNumber” : “1234567890”,
“packageLeftWarehouse” : “01/01/2019 12:55 PM”,
“packageDelivered” : “01/02/2019 02:35 PM”,
“packageWeightKg : “10”,
“signatureRequired” : ”No”,
“deliveryNote” : “No one home. Left by side door”
}
As long as UPS doesn’t “break” the API, Babylon and UPS systems can collaborate while operating independently to produce a seamless experience for Babylon customers.
Behind all of this is major shift in underlying application design from a dedicated, to a services-oriented architecture (SOA). This same shift is occurring in health care applications so it’s worth understanding the difference and advantages of SOA.
Monolithic applications are designed as a set of tight, self-contained modules with little or no interaction between them. SOA reimagines these modules as self-contained services that can communicate and collaborate with each other. Adding an “open” API further exposes these services to other “outside” applications.
Consider the example of the Message and Camera apps on a smartphone. These two apps use APIs to interact just like Babylon and UPS. These apps are self-contained but also function as services that can collaborate: the camera app works fine as a stand-alone, but also exposes its services so another application can take advantage of them. A user can take a picture and send it from inside the messaging app, or the other way around, because both apps are designed as services.
Health IT has been migrating to SOA and APIs will accelerate this move. One intense area of activity is with electronic health records (EHRs). Early EHRs were built in the era of monolithic design. Migrating to SOA makes applications like EHRs more flexible and APIs extend core services and facilitate data exchange between the EHR and other applications. Making these APIs “open” further transforms systems like EHRs into platforms for innovation and lays the foundation for a flourishing, diverse health care app ecosystem.
The combination of service-oriented software architecture and robust, open APIs has made possible the transformation of huge swaths in the digital economy. They provide an agile, technical foundation for how we shop, manage our money, travel and socialize. Widespread adoption by health care will remove major technical barriers to innovation, enhance competition and agility, and ultimately produce more powerful and user-friendly applications. These applications represent the next generation of clinical decision support, population health, unified communications, precision medicine, artificial intelligence, and patient engagement and will lead to better clinical outcomes and enhanced satisfaction for patients and providers alike.
The importance of this approach should not be underestimated. This technology unleashes innovation, makes data liquid and allows applications to build upon and cross-leverage functionality. This can dramatically reduce the time from idea to impact on the real world. Given the scope and scale of the challenge of reinventing health care, this is precisely the kind of technical innovation we need.