Streamlining Clinical Trials: A Case Study with Reify Health

Challenge

New, potentially life-saving treatments have to go through a series of lengthy, expensive clinical trials to reach patients. Biopharmaceutical companies must invest significant resources over many years to complete a number of clinical trials that show a new treatment is safe and effective. Any inefficiencies in the trial process make it harder to bring new treatments through clinical development. This means patients wait longer for new treatments to reach them and many potentially safe and effective new treatments don’t make it to patients at all.

The founders of Reify Health believe that the healthcare system can do better. They have developed a new way for biopharmaceutical companies to run clinical trials using modern web technologies to make the trial process more transparent and predictable. Ultimately, Reify’s products allow biopharmaceutical companies to complete trials more efficiently and get new treatments to the patients who need them more rapidly. They chose Clojure and ClojureScript as the technical foundation for their application; their team was able to pursue a more nimble development process, incorporating end-user feedback, to release a better application sooner. 

Solution

From the very start, Reify’s leaders wanted to build a system based on user feedback to ensure that it would solve their specific challenges. To do this, they wanted to be able to quickly iterate on the product and continually release it for validation by the target users.

Clojure enabled the development team to work in a single language across the entire application, from user experience to back-end services and everywhere in between. This reduced friction for the developers as they moved around the codebase, which increased the speed of and confidence in their releases. ClojureScript was used on the front-end and was able to provide all the benefits of Clojure with immutable data structures while still providing access to the whole JavaScript ecosystem. Clojure was used on the back-end and similarly, in addition to its inherent simplicity and power, brought the maturity and stability of the JVM and access to the Java ecosystem. 

To take their rapid development to the next level, the Reify team leveraged a unique feature of Clojure, clojure.spec. It enabled them to write specifications for all the data structures in the applications to not only ensure data integrity, but also generate sample data. This enabled them to build a rich, functional application front-end with life-like generated data for the express purpose of getting feedback to guide them in the design of the product.

After validating the fitness of the design, they were able to build out the server rapidly with code reuse due to the single language paradigm. Clojure.spec was put in place at the system boundaries to lay the foundation for data integrity. 

Technical Benefits

Using Clojure and clojure.spec enabled the development team to move fast, get feedback, and ultimately build an application to streamline clinical trials. By leveraging the unique aspects of clojure.spec, they were able to generate complex life-like sample data structures as well as later reuse them across the client and server to ensure data integrity. The use of a single language with Clojure and ClojureScript across the front and back-end allowed faster development and sharing of code. 

Business Benefits

With Cognitect and Clojure, the Reify team was able to rapidly deliver an application to streamline clinical trials. The ability to iterate quickly, with real end-user feedback, helped create a product that better met the needs of its audience and delighted its users. By using clojure.spec and the simplicity and composability of Clojure, they were able to save time and money and have a sound, quality product that will improve healthcare. 

Cognitect Consulting

Cognitect consulting provided embedded support for the technology and development. Partnering with Reify enabled the team to have seasoned developers working alongside them on a daily basis to bring the application to life. Their team had the confidence that any technology challenges that they encountered would have access to in-depth expertise that Cognitect provides as stewards of the Clojure language.