Picis Case Study - ActivePerl

Executive Summary

The Challenge

  • Picis PulseCheck used mod_perl concurrently with ActivePerl, for different functions
  • mod_perl was used with SQL and Apache Server to precompile libraries, but this caused major memory leak issues
  • Not a threat-safe plan and had to abandon this setup, but still needed a solution

The Solution

  • Since ActivePerl had been in use in other parts of the business with no issues, Picis PulseCheck approached ActiveState for a custom Perl solution to resolve the memory leak issues

The Result

  • ActiveState provided a custom ActivePerl solution that enabled the use of Apache, Perl, and SQL
  • Memory leak and performance issues were fully resolved, without the need for additional tools
  • ActivePerl is reliable and enterprise-ready, enabling Picis PulseCheck to be more efficient, innovative, and threat-safe

The Challenge

Picis PulseCheck creates an advanced set of integrated solutions for emergency departments, for hospitals around the world. These solutions facilitate the delivery of clinical documentation, and financial and operational results. With over 20 years of experience, Picis PulseCheck solutions cover millions of emergency care visits each year.

ACTIVEPERL: THE IDEAL SOLUTION FOR PERL ON WINDOWS

With such a large and varied suite of products, Picis PulseCheck utilized ActivePerl in order to maintain a consistent development environment. With its vast scripting capabilities, suitability for manipulating large amounts of data, and ability to deftly manage database applications, ActivePerl is well suited to maintain and manage the Picis PulseCheck Clinical Solutions.

ActivePerl, with its stable and advanced support for Windows, enterprise- grade precompiled distribution, and commercial support was ideal for a large and innovative organization that needed the peace of mind of a commercially-backed solution.

“We implemented ActivePerl because it really was the most complete enterprise distribution available on the market,” said Kirk Kelly, Vice President R&D. “It was Windows-ready, enterprise grade, and commercially backed. We make software for the most life critical and costly areas of hospitals, so we needed reliable tools to build it. ActivePerl gave us not only the technology that we needed, but also critical peace of mind.”

However, Picis PulseCheck required a more custom solution in order for their particular Apache and SQL setup to function correctly. As a result, Picis PulseCheck decided to incorporate mod_perl, an optional module for the Apache server, which embeds Perl interpreters into that Apache server. Yet this solution soon proved to be the source of many new problems--it resulted in severe memory leaks and performance issues which took down servers and ground the software system to a halt.

“Picis PulseCheck solutions are used in the most sensitive and life critical areas of hospitals,” said Greg Augustine, Lead Developer. “They must be robust, reliable, and threat-safe. We need to be able to safely protect patient records and keep hospitals up and running. It is at the core of our mission. Without this, hospitals could not function and lives would be at stake.”

The memory leak issues proved unworkable and ultimately mod_perl had to be removed from the system to prevent further catastrophic issues.

The Solution: ACTIVEPERL OEM

After removing mod_perl from their system, Picis PulseCheck began looking for an alternative solution. Since ActivePerl was already working seamlessly in other areas of their business, they began to explore ways that ActiveState could help. The answer lay in ActiveState’s OEM solution, known for its custom builds, quality assured code, and comprehensive technical support.

ACTIVEPERL OEM STEPS IN

Picis PulseCheck turned to ActiveState’s Professional Services team to see if they could create a custom solution to solve this critical issue.

“Picis PulseCheck had always had a good relationship with ActiveState,” noted Kelly. “We upgraded our system on a regular basis and never had issues with the software or the company itself. Support was available when we needed it, but to be honest, we rarely did.”

Picis PulseCheck and ActiveState decided to work together to see if they could solve the Apache/SQL issues with a modified version of ActivePerl.

ActiveState quickly delivered a custom ActivePerl 5.16 solution that enabled Picis PulseCheck to use SQL with their Apache Server, without relying on mod_perl or any other third-party products.

The Result

Picis PulseCheck successfully upgraded to ActivePerl 5.16 and have since maintained that version. It is a solution that perfectly suits their needs-- Apache and SQL work well together with no memory leaks, and all the rest of their Perl needs are met.

“We needed this solution in order to keep libraries precompiled and stored in memory,” said Augustine. “They can be easily accessed by the applications when needed which saves on load time and optimizes performance. ActiveState has enabled us to exponentially increase our application efficiency and performance and given us peace of mind.”

WHY ACTIVESTATE

Picis PulseCheck prefers to work with ActiveState’s enterprise-ready ActivePerl distribution because of it’s stability, custom capabilities, and superior customer support.

“We needed something that was, first and foremost, Windows ready,” said Kelly. “There really is nothing comparable to ActivePerl in the market. ActiveState was the first to do it, and they do it best. Not only do we not have to worry about our Windows environments, but the product is so stable and robust that it provides the same consistent experience across all environments.”

Picis PulseCheck excels at clinical solutions for hospitals and other critical care facilities. Their expertise is not in maintaining open source software-- they prefer to leave that to the experts. ActiveState maintains ActivePerl for them, responding to support requests, and providing up-to-date security patches so Picis PulseCheck can focus on what they do best: develop cutting edge software that helps hospitals run more efficiently and saves lives.

“I used to have monthly calls with ActiveState support,” said Augustine. “They were meant to be check-ins to see if we needed anything but they were usually just friendly catch ups since we so rarely had any issues. In fact, I haven’t talked to support in years since it hasn’t been necessary. I hope they’re all doing well!”