Data migration to Veeva QualityDocs
Within recent years, a wave of cloud implementations has been sweeping across pharmaceutical companies, large and small. In the highly regulated and technologically conservative pharmaceutical industry, this amounts to nothing less than a landslide, impacting numerous business processes and, in general, ways of getting things done.
One of the reasons for the widespread impact of the introduction of cloud computing, is that often we are dealing with critical, regulated data. That is, data which is used in business processes which can have a direct impact on the health of patients using the medicines produced by pharmaceutical companies.
An integral part of the move towards cloud solutions is the migration of historical data to the new solutions. This is an activity which traditionally has caused challenges as well as head-aches for many a project stakeholder due to its complexity and the resulting challenges in meeting project timelines, budgets as well as quality objectives.
In this brief article, we will be looking at data migration, specifically from legacy document management systems to Veeva QualityDocs (QD). This is an area where acute awareness of how to handle critical data is the cornerstone of any successful project.
A substantial proportion of the data to be migrated will be business critical. Data in scope for these migrations relate to the customer’s Quality Management System (QMS) and often also to core business processes.
Initially, it is important to be able to identify business critical data; and, to ensure that appropriate restrictions exist in the target environment. As an example, at one global pharmaceutical, BASE identified the requirements for handling of confidential data and assisted the customer in creating an improved security architecture for these data. At another customer, we helped build an algorithm to identify owners of documents based on the contents of each document. This overview helped ensure that all data is owned and thus handled, not falling between chairs, all in all allowing for improved management of critical data.
Not all data is equally critical, however, and when we explore the contents of our customers’ document repositories, we typically find a wide range of records ranging from business-critical master formulas to breakfast lists. A migration project is an excellent opportunity to clean up within such records, by archiving or deleting content that is no longer needed, and excluding it from the migration scope. During a recent customer project, we identified non-critical, non-active documents by cross-correlating key metadata (document type, owning department and affected processes) with user statistics from audit trails. This amounted to tens of thousands of documents that were excluded from the migration scope and archived locally.
In order to realize the benefits of a new document management system, it is crucial to transform the existing metadata to fit the new data model by metadata mapping and by applying the ACE-process: Analyse, Clean, and Enrich. These processes are typically performed in dry runs, where rules are defined, applied, tested, reviewed and revised in an iterative process. In a classical waterfall project, such a cycle lasts from weeks to months, as the full scope of documents is loaded into a sandbox environment in each iteration. This creates a very slow learning loop, and often causes migration projects to feel rigid and inefficient. However, by applying an agile methodology and our ACE-tools, we have managed to reduce each iteration to a single day, thus dramatically improving the speed of feedback to the team creating mapping rules and applying the ACE process. This represents a great business case for any migration project, since it can be utilized to reduce project time and cost, while also increasing the quality of the metadata that is loaded into QD, ultimately increasing document findability and thus efficiency for the end users.
In short, a few characteristics are critical for whether your migration project turns out successfully or not: