Representational State Transfer (REST) is a software architecture style used to communicate information between computers, especially on the Internet. REST has been widely adopted because it supports a client-server model using stateless, simple interfaces that can scale to vast numbers of client-server interactions.
A good example of a RESTful application is your browser, although REST is not limited to the HTTP protocol. Strictly speaking, REST does not follow a service-oriented architecture (SOA) model, instead it adheres to a Hypermedia as the Engine of Application State (HATEOAS) model. REST provides a loosely coupled, non-fragile style of interaction that is very popular with mobile and web application developers.
The REST architectural style promotes the use of application programming interfaces (APIs). Server-side APIs, sometimes called REST-compliant Web services, are frequently exposed using an HTTP-based web server or equivalent. These APIs make functionality available using a set of stateless operations.
Companies developing mobile and web applications might want to examine how REST is being developed for the health care sector. Consider the RHEx (RESTful Health Exchange) and SMART (Substitutable Medical Applications Reusable Technologies) health care pilots.
The RHEx pilot is an open-source, exploratory project that was designed to simplify the exchange of health information and provide a single sign-on layer. Specific components of health records are identified using uniform resource identifiers (URI) that can be accessed through an API by patients and their authorized health care providers. It has been reported that following the RHEx implementation guidelines can decrease development costs and increase interoperability.
The SMART pilot developed APIs that allow Electronic Medical Record (EMR) systems or data warehouses to present data to user-selected apps. Apps are "substitutable" giving users the ability to customize the interfaces. SMART REST provides a RESTful interface to medical records, allowing novel, customized versions of the data by apps running outside the EMR system, e.g., cardiac risk (see image).
Development of RESTful applications intersects with patent drafting in an important way. Patents are granted to an inventor that “invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof" (quoting 35 U.S. Code § 101). Although REST has been known since 2000, inventors can still apply for a patent that describes a novel improvement involving REST. In fact, any leap forward in technology provides an opportunity for inventors to apply new technology in novel and unobvious ways. An example of a patent incorporating REST is patent 8,745,718, Delivery of Authentication Information to a RESTful Service Using Token Validation Scheme. Work closely with a qualified patent attorney to ensure you get the best patent protection for your software.