Case Study on a Fortune 200 Pharmaceutical Company
|
|
|
| Site | Case Study on a Fortune 200 Pharmaceutical Company |
|---|---|
| Industry | Healthcare |
| Location | United States |
| Case study written by | Six Feet Up, Inc. |
| Contact | Gabrielle Hendryx-Parker |
Starting in 2009, Six Feet Up participated in a large web
redevelopment project for a prominent Fortune 200 pharmaceutical company
spanning ten months, involving over 30 resources, and resulting in a
new website tailor made to the requirements of their global business.
The
project covered the redevelopment of a destination website for
healthcare professionals designed to answer their questions about the
company's products. The site took a multi-prong approach, allowing
visitors to satisfy their information needs through various channels,
such as print, email, downloads and hardcopy requests. The project also
aimed to help internal users (staff and various medical liaisons) to
easily retrieve information using a more personalized view of the
content, and fulfilling customer requests from the repository.
Six
Feet Up developed the desired solution based on the open source content
management system Plone. We assisted the client in importing several
thousands files – complete with their respective metadata and various
mapping components – out of the legacy Sharepoint system and into Plone.
The new system included a strong registration and authentication
component, a series of custom content types, strict content management
rules, various fulfillment options, a Solr search component and a
critical audit trail, as detailed below.
Discovery and Planning
The project began with an initial Planning and Discovery phase.
The
client had a collaborative decision-making process and their project
team included close to 20 members representing various business
interests, technical groups and medical needs. The Six Feet Up team
spent several weeks listening to each department's desires and concerns,
capturing and then carefully documenting them to create a comprehensive
set of requirements.
We developed user stories followed by a
site map so as to lay out the information architecture and understand
how content would be organized. This critical step yielded a
comprehensive set of interactive wireframes that the project
stakeholders interacted with to simulate how end-users would interact
with the application. This got everybody on the same page and helped
align expectations.
While the wireframes were being refined, we
developed UML diagrams to document the overall system architecture and
to serve as technical reference points to the various resources working
on the project.
All of this discovery work served to surface
issues, allowed us to fully understand the customer's needs for their
site, and led to the finalization of design elements. The result was a
detailed project plan with a comprehensive Gantt chart, and time
estimates. Following this stage, the development work began.
Registration, Authentication and Authorization
Six Feet Up customized Plone's default content workflow to
address the client's need to control website access for both external
users and over a dozen internal roles. These workflows allow
administrators to approve or deny newly-requested accounts, or to
activate/de-activate existing accounts. We also leveraged custom
"chained" workflows so that users could be dealt with individually
rather that being treated as members of a single class. For example,
external users can be logged in or not, their account can be
automatically "locked" after multiple incorrect login attempts, and they
can be either "verified" or not depending on whether their identity has
been validated by the client's process.
The registration
process, customized to support both internal and external users
registrations, includes an automated nightly process to verify the
professional status of healthcare professionals via third-party data
services. Again, the "chained" workflow allows the system to flag
non-verified users in the system as such, without deactivating their
accounts prior to review from an administrator.
The system
provides over 15 roles, allowing administrators to control permissions
for almost every aspect of system use, including:
- Managing users and groups permissions
- Creating, editing and removing documents and metadata
- Managing document workflows
- Altering the site architecture (e.g., creating new folders, moving documents, etc.)
- Managing the history of documents and revert changes
- Controlling which fulfillment methods are available to specific users (e.g.: certain roles can download items, but not email or request a hard copy)
- Restricting access to each report available in the system based on users' role (e.g., one role may see all search reports, but not reports about user data)
Web Content Management Features
The project required a CMS that could support a complex,
hierarchical metadata structure combining a controlled vocabulary with
the opportunity to introduce divergent keywords. The CMS also needed to
support version control, archiving and rollback. It had to formally
separate content and structure, and conform to W3C (WAI) accessibility
standards. Six Feet Up powered the new site with the open source Plone
content management system because it matched most of the client's needs
out of the box.
Six Feet Up developed a series of custom content
types which are added to the system to contain various metadata, some
of which are designed to manage the levels of both physical resources
and copyrights. Workflows were developed to change the visibility of
these documents within the search results based on the role of the user.
Documents can be private, publically available for anyone to see,
published for logged in users to see via search results, and a series of
other states for internal review processes.
Asset Management
One of the key features of the project was allowing site
administrators to bundle content together into kits that contained a
hierarchy of primary and supporting documents. We customized the system
to support a variety of complex rules related to the display and
availability of those kit items. For instance, primary documents are to
always appear in search results above related supporting documents. If
it is mandatory for users requesting a document to also get
corresponding primary documents, the system will automatically bundle
those documents into a kit when the supporting document is requested.
Business rules also included the need to automatically remove kits
containing a source content item that is deleted or archived.
Fulfillment and Support
The client requested that healthcare professionals be presented
with multiple options when it comes to fulfilling specific documents or
sets of documents. In the new system, they can bookmark, print, email,
download or request a hardcopy of the files they are interested in. Site
visitors can either retrieve individual files one at a time, or send
multiple files to a wish list for fullfillment in a single step
fulfillment later on.
Should site users not be able to find the
information they are looking for, they also have the option of
contacting the company's customer support hotline. Site visitors can
either email the company's hotline, call a customer representative, or
request a callback.
Search
Six Feet Up integrated Plone with Solr, the open source
enterprise-grade search engine, so that the search results could be
specifically tailored to the client's needs. Plone comes with search
out-of-the-box, but does not easily allow for custom indexing rules,
spell-checking or synonyms. Solr gave Six Feet Up the control we needed
to make sure the search results were relevant. In order to integrate
Solr with Plone, a new product called SolrIndex was created. This gives
developers an easy way to replace out the standard search index with a
Solr-backed one.
In addition to Solr, other search customizations were added:
- The number of results allowed to return is customizable by site administrators in order to address regulatory constraints.
- The system orders search results based on relevance, content type, title or last modified date.
- The system ensures that a specific content type is always returned first in the search results list.
- Administrators can control which metadata is deemed more relevant for search result order.
- An advanced search interface gives site visitors the ability to filter down their results.
- The system provides a limited set of filters for specific user types.
- Users can perform full-text searches of files, such as PDFs and Microsoft Office documents.
- Search result screens can let users view, download, print or order physical items, see document previews and bookmark items. Healthcare professionals can also save their queries.
- Administrators have control over the values displayed in drop-down filter lists through customizable significance/weighting parameters which correspond to metadata on the documents in the repository.
Audit Trails
The system developed by Six Feet Up is backed by close to 20
custom audit reports allowing the client to meet their compliance
requirements in case of an FDA audit. The reports also provide valuable
business metrics allowing the client to adjust its online strategy. All
system activity is logged to a relational database (the open source
RDBMS PostgreSQL) in order to allow for ease of dynamic reporting.
Reporting features include:
- Drill-down filters such as date, document metadata, user roles, content types and more.
- Ability to turn system activity into usable metrics for administrators, such as views into how many users of different types utilize the system.
- Access to detailed views of how the search system is used, including search results returned at a specific point in time (admins can see what versions of documents were returned, etc.)
- Security audits, such as failed logins and account status.
- Downloadable CSV exports of the results from each report for further analysis in a spreadsheet software.
Using PostgreSQL allowed Six Feet Up to leverage advanced features, such as:
- Robust data integrity.
- Strong procedural language support, to allow custom business logic to run inside the database.
- Recursive queries, to be able to link user activities to specific actions on the site.
- Case-insensitive searching and sorting.
- Hot standby and streaming replication, to ensure the database can remain available despite hardware failures.
Hosting
Six Feet Up has provided high availability hosting for this
project since June 2010, with an availability of 99.97% or higher, and
no single point of failure. Six Feet Up designed the final hosting
architecture, which consisted of a total of 19 pieces of hardware. The
hosting environment was configured by Six Feet Up for failover with
redundant Internet connections, private cloud storage of replicated data
and full disaster recovery services. The application servers utilize
the ifstated tool to verify that master and slave services are running
and that all services are replicating across both servers.
Summary
This massive project was a success from many standpoints:
- Migrating data from Sharepoint into Plone eliminated the need to re-key, while maintaining the associated metadata.
- Business managers now enjoy greater capabilities to manage content and control access to data.
- The highly customized search features provide healthcare professionals with highly relevant search results while allowing the client to meet their business and legal requirements.
- The client is able to fulfill their auditing requirements required by Federal Law.
- Six Feet Up's enterprise-level hosting services ensure the client's mission-critical application is available at all times.
The success of this project is a great example of the power of
open source to meet the needs of both administrators and end users, even
in a highly-regulated enterprise environment.
