10/18/2010 Samuel Torres Lilly del Caribe, Inc. Key concepts in Agenda: Understanding Software Validation y Key terminology that is used in the validation process y Software categories and how this may impact testing/validation activities y Development Life Cycle Approach as a management tool y Contrast how compliance and savings are related by using a “Risk Based Approach” Developing and Testing Software y Benefits of using solid Software Development Standards y Source Code Reviews y Planning the Testing Strategy y Recommended test strategies based on results of risk assessments, supplier assessments, and other critical factors Interactive Exercise 1 10/18/2010 Understanding Software Validation Key terminology and Concepts Computer System Application software Platform y System Software y Hardware 2 10/18/2010 Computer System Software: (ANSI) Programs, procedures, rules, and any associated documentation pertaining to the operation of a system. Program: (ISO) A sequence of instructions suitable for processing. Processing may include the use of an assembler, a compiler, an interpreter, or another translator to prepare the program for execution. The instructions may include statements and necessary declarations. Application software: (IEEE) Software designed to fill specific needs of a user; for example, software for navigation, payroll, or process control. Contrast with support software; system software. System Software: (ISO) Application- independent software that supports the running of application software. Computer System, Cont’d Hardware: (ISO) Physical equipment, as opposed to programs, procedures, rules, and associated documentation. Contrast with software. Platform: The hardware and software which must be present and functioning for an application program to run [perform] as intended. A platform includes, but is not limited to the operating system or executive software, communication software, microprocessor, network, input/output hardware, any generic software libraries, database management, user interface software, and the like. 3 10/18/2010 Software Categories (based on GAMP5) Category 1 — Infrastructure Software Infrastructure elements link together to form an integrated environment for running and supporting applications and services. Category 2 — This Category is no longer used in GAMP 5 Category 3— Non-Configured Products This category includes off-the-shelf products used for business purposes. It includes both systems that cannot be configured to conform to business processes and systems that are configurable but for which only the default configuration is used. In both cases, configuration to run in the user’s environment is possible and likely (e.g., for printer setup). Notes: ○ Configuration is the process of modifying an application program by changing its configuration parameters without changing or deleting its program code or adding additional custom code. ○ Be careful when “classifying” a software as “COTS”. Commercial Off-the-Shelf Software (IEEE) Is software defined by a market-driven need, commercially available, and whose fitness for use has been demonstrated by a broad spectrum of commercial users. Software Categories (based on GAMP5) Category 4— Configured Products Configurable software products provide standard interfaces and functions that enable configuration of user specific business processes. This typically involves configuring predefined software modules. Much of the risk associated with the software is dependent upon how well the system is configured to meet the needs of user business processes. There may be some increased risk associated with new software and recent major upgrades. Judgment based on risk and complexity should determine whether systems used with default configuration only are treated as a Category 3 or Category 4. Category 5— Custom Applications These systems or subsystems are developed to meet the specific needs of the regulated company. The risk inherent with custom software is high. The life cycle approach and scaling decisions should take into account this increased risk, because there is no user experience or system reliability information available. Customization is the process of modifying an application program by changing or deleting its program code or adding additional custom code. 4 10/18/2010 Software Development Life Cycle software life cycle. (NIST) Period of time beginning when a software product is conceived and ending when the product is no longer available for use. The software life cycle is typically broken into phases denoting activities such as requirements, design, programming, testing, installation, and operation and maintenance. In general software is … Sample Specification and Verification (general approach for achieving computerized system compliance and fitness for intended use within the system life cycle) 5 10/18/2010 Validation validation. (1) (FDA) Establishing documented evidence which provides a high degree of assurance that a specific process will consistently produce a product meeting its predetermined specifications and quality attributes. Contrast with data validation. validation, software. (NBS) Determination of the correctness of the final program or software produced from a development project with respect to the user needs and requirements. Validation is usually accomplished by verifying each stage of the software development life cycle. See: verification, software. Verification (ISO) (1) (ASTM) (2) (1) Confirmation, through the provision of objective evidence that specified requirements have been fulfilled. (2) A systematic approach to verify that manufacturing systems, acting singly or in combination, are fit for intended use, have been properly installed, and are operating correctly. This is an umbrella term that encompasses all types of approaches to assuring systems are fit for use such as qualification, commissioning and qualification, verification, system validation, or other. The specific terminology used to describe life cycle activities and deliverables varies from company to company and from system type to system type. Whatever terminology is used for verification activity, the overriding requirement is that the regulated company can demonstrate that the system is compliant and fit for intended use. Computer System Validation Computer System Validation (CSV) is a process that provides a high degree of assurance that a computer system is reliably doing what it is intended to do and will continue to do so. Computer System Validation (CSV) is intended to provide assurance that a computer system is working in the way: ○ The business needs it to work ○ It is intended to work ○ Any applicable laws or regulations require it to work 6 10/18/2010 “Intended Use” is Central to Validation “Intended Use” as a term defines the context of a computer system’s essential requirements and the boundaries of that system. It is central to building, testing and validating a system. It is required by the FDA. y The FDA’s General Principles of Software Validation Guidance states: “All production and/or quality system software, even if purchased off-the-shelf, should have documented requirements that fully define its intended use, and information against which testing results and other evidence can be compared, to show that the software is validated for its intended use.” y 21 CFR §820.70(i) Quality System Regulation (devices) specifies: “Any software used to automate any part of the device production process or any part of the quality system must be validated for its intended use”. EXAMPLES OF ADDITIONAL REGULATORY REQUIREMENTS FOR SOFTWARE VALIDATION Software validation is a requirement of the Quality System regulation, which was published in the Federal Register on October 7, 1996 and took effect on June 1, 1997. (See Title 21 Code of Federal Regulations (CFR) Part 820.) Validation requirements apply to software used as components in medical devices, to software that is itself a medical device, and to software used in production of the device or in implementation of the device manufacturer's quality system. Computer systems used to create, modify, and maintain electronic records and to manage electronic signatures are also subject to the validation requirements. (See 21 CFR §11.10(a).) Such computer systems must be validated to ensure accuracy, reliability, consistent intended performance, and the ability to discern invalid or altered records. The FDA’s analysis of 3140 medical device recalls conducted between 1992 and 1998 reveals that 242 of them (7.7%) are attributable to software failures. Software validation and other related good software engineering practices are a principal means of avoiding such defects and resultant recalls. 7 10/18/2010 Quality risk management* Quality risk management is a systematic process for the assessment, control, communication, and review of risks to patient safety, product quality, and data integrity, based on a framework consistent with ICH Q9. It is used: ○ ○ to identify risks and to remove or reduce them to an acceptable level as part of a scalable approach that enables regulated companies to select the appropriate life cycle activities for a specific system * ICH Q9: Quality Risk Management — Q9 International Conference on Harmonization of Technical Requirements for Registration of Pharmaceuticals for Human Use (ICH) Quality risk management, Cont’d y y y y y Risk (ICH Q9) The combination of the probability of occurrence of harm and the severity of that harm (ISOIIEC Guide 51). Harm (ICH Q9) Damage to health, including the damage that can occur from loss of product quality or availability. Hazard (ICH Q9) The potential source of harm. Risk Assessment (ICH Q9) A systematic process of organizing information to support a risk decision to be made within a risk management process. It consists of the identification of hazards and the analysis and evaluation of risks associated with exposure to those hazards. Severity (ICH Q9) A measure of the possible consequences of a hazard. Appropriate controls for removal or reduction of the identified risks should be identified based on the assessment. A range of options is available to provide the required control depending on the identified risk. These include, but are not limited to: -modification of process design -modification of system design -application of external procedures -increasing the detail or formality of spececifications -increasing the extent or rigor of verification activities (TESTING) Where possible, elimination of risk by design is the preferred approach. 8 10/18/2010 Applying Risk Management Based on the Business Process In order to effectively apply a quality risk management program to computerized systems, it is important to have a thorough understanding of the business process supported by the computerized systems, including the potential impact on patient safety, product quality, and data integrity. y What are the hazards? To recognize the hazards to a computerized system requires judgment and understanding of what could go wrong with the system, based on relevant knowledge and experience of the process and its automation. Consideration should include both system failures and user failures. y What is the harm? Potential harm should be identified based on hazards. Examples of potential harm include: - production of adulterated product caused by the failure of a computerized system - failure of an instrument at a clinical site that leads to inaccurate clinical study conclusions - failure of a computerized system used to assess a toxicology study that leads to incomplete understanding of a drug’s toxicological profile Applying Risk Management Based on the Business Process, Cont’d What is the impact ? In order to understand the impact on patient safety, product quality, and data integrity, it is necessary to estimate the possible consequence of a hazard. What is the probability of a failure? Understanding the probability of a failure occurring to a computerized system assists with the selection of appropriate controls to manage the identified risks. For some types of failure such as software failure, however, it may be very difficult to assign such a value, thus precluding the use of probability in quantitative risk assessments. What is the detectability of a failure? Understanding the detectability of a failure also assists with the selection of appropriate controls to manage the identified risks. Failures may be detected automatically by the system or by manual methods. Detection is useful only if it occurs before the consequences of the failure cause harm to patient safety, product quality, or data integrity. How will the risk be managed? Risk can be eliminated or reduced by design, or reduced to an acceptable level by applying controls which reduce the probability of occurrence, or increase detectability. Controls may be automated, manual, or a combination of both. The above considerations are context sensitive. For example, risks associated with solid oral dosage manufacturing area are very different to those in a sterile facility, even when the same computerized systems are used. Similarly, the risks associated with an adverse event reporting system are very different to those in a training records database. The former can have a direct effect of patient safety, whereas the latter system is very unlikely to affect patient safety. The acceptable level of risk, sometimes known as risk tolerance, should be considered. 9 10/18/2010 Need to Validate but … …..What to do? .…..How much? Validation Planning Use the Software Development Life Cycle as a guide to identify and establish the required and applicable validation activities for your project The Validation Plan defines the approach, extent of validation, and key roles and responsibilities for the CSV activities/deliverables. It serves as the criteria for accepting the system and approving the Validation Report. Validation Benefits Validation provides tangible benefits to the business and its customers by: • assuring the system works as intended • reducing long-term costs by reducing rework and defects • providing a knowledge base that can support the product long after the people involved in creating it have moved on Conversely, inadequate or insufficient system validation poses risks to the business and its customers, as illustrated below: • 2007: Software failure in Pharmacy Compound System allowed up to 50 mL extra volume be added to IV solutions, which could be life-threatening. • 2006: Newly released software may improperly deliver power to the cardiac catheter, resulting in catheter overheating and thermal damage, and serious patient injury. 10 10/18/2010 Suitable Life Cycle Strategy Software and hardware components of a system may be analyzed and categorized and then, these categories may be used along with Risk Assessment and Supplier Assessment to determine a suitable life cycle strategy. There is generally increasing risk of failure or defects with the progression from standard software and hardware to custom software and hardware. The increased risk derives from a combination of greater complexity and less user experience. When coupled with risk assessment and supplier assessment , categorization can be part of an effective quality risk management approach. Effort should be concentrated as follows: Custom > Configured> Non-Configured> Infrastructure Categorization can help focus effort where risk is greatest. Practical Considerations Examples of practical considerations in right-sizing: y Which system functions need more rigorous testing including negative testing (atypical or unexpected inputs)? y Which system functions require special security due to special approval authorities or sensitive information? y What data protection is needed? y To what extent must a supplier’s quality practices be scrutinized based on intended use of the system? 11 10/18/2010 VALIDATION OF OFF-THE-SHELF SOFTWARE AND AUTOMATED EQUIPMENT Most of the automated equipment and systems used by drug or device manufacturers are supplied by third-party vendors and are purchased offthe-shelf (OTS). The vendor audit should demonstrate that the vendor’s procedures for and the results of the verification and validation activities performed to the OTS software are appropriate and sufficient for the requirements of the drug or medical device to be produced using that software. The vendor’s life cycle documentation can be useful in establishing that the software has been validated. However, such documentation is frequently not available from commercial equipment vendors, or the vendor may refuse to share their proprietary information. In these cases, the drug or device manufacturer will need to perform sufficient system level “black box” testing to establish that the software meets their “user needs and intended uses.” For many applications black box testing alone is not sufficient. Depending upon the risk of the product or device produced, the role of the OTS software in the process, the ability to audit the vendor, and the sufficiency of vendor-supplied information, the use of OTS software or equipment may or may not be appropriate, especially if there are suitable alternatives available. What do I need the software to do? (User Requirements Definition) Requirements define the detailed “intended use” of the system and are the foundation of CSV. If the requirements are not complete, correct, or at an appropriate level of detail, the system will not be fit for its intended use or purpose. Security requirements for the software/system should be defined. 12 10/18/2010 Security Requirements The security of our computer systems and data has become more important than ever before given the widespread use of the internet to access our systems and the increased incidents of viruses and attacks by outside hackers. Physical and logical security controls ensure that data residing in a computer system is protected from unauthorized access, inadvertent or unauthorized alteration or destruction. Security Plan and Security Administration SOP are the two primary security-related CSV deliverables. Are solutions to the user needs available in the market? Vendor/Supplier Management may be required if the application software or services that are needed are not available or could not be developed within the user company. 13 10/18/2010 Supplier Management Supplier Management assures that the supplier’s quality practices are adequate to deliver and support a reliable software product or service. The scope and extent of supplier management depends on the risk associated with the system/service and the extent to which the regulated company depends directly on supplier activities. Supplier management is a joint responsibility of IT/Automation, Business and Quality, and involves activities to conduct the initial and ongoing evaluation of the supplier’s quality practices as well as managing the ongoing relationship with the supplier. How will my software be developed? (Design – Additional Specification Levels) 14 10/18/2010 How will my software be developed? (Design) System Specifications There are a number of types of specification that may be required to adequately define a system. These may include Functional Specifications, Configuration Specifications, and Design Specifications. The applicability of, and reed for, these different specifications depends upon the specific system and should be defined during planning. Functional Specifications are normally written by the supplier and describe the detailed functions of the system, i.e., what the system will do to meet the requirements. The regulated company should review and approve Functional Specifications where produced for a custom application or configured product. In this situation, they are often considered to be a contractual document. Configuration Specifications are used to define the required configuration of one or more software packages that comprise the system. The regulated company should review and approve Configuration Specifications. Design Specifications for custom systems should contain sufficient detail to enable the system to be built and maintained. In some cases, the design requirements can be included in the Functional Specification. SMEs should be involved in reviewing and approving design specifications. Note: A current system description (overview) should be available for regulatory inspection and training. This may be covered by the URS or Functional Specification, or a separate document may be produced. Software Development Coding (IEEE) (1) In software engineering, the process of expressing a computer program in a programming language. (2) The transforming of logic and data from design specifications (design descriptions) into a programming language. Software Development Standards Written procedures describing coding [programming] style conventions specifying rules governing the use of individual constructs provided by the programming language, and naming, formatting, and documentation requirements which prevent programming errors, control complexity and promote understandability of the source code. Syn: coding standards, programming standards. A solid Software Development Standards assures all these benefits and also are critical when performing changes during the Maintenance (operation) phase of the software/system. 15 10/18/2010 Source Code Reviews Source code reviews have two objectives: y to ensure that programming standards are consistently and correctly applied y to ensure that the code is written in accordance with the design specifications The review aims to ensure that the code is fit to enter testing (module, integration or system tests), and that the code can be effectively and efficiently maintained during the period of use of the application. The review should be carried out in accordance with a documented procedure, and performed by at least one independent person with sufficient knowledge and expertise, in conjunction with the author of the code. The extent of source code review should be driven by the criticality of the requirements/design that the source code is implementing. For example: All source code implementing critical requirements (e.g., perform critical calculations or make GxP decisions) should be reviewed. Reviewing only a representative sample of source code implementing noncritical functionality may be appropriate. Traceability Matrix traceability matrix. (IEEE) A matrix that records the relationship between two or more products; e.g., a matrix that records the relationship between the requirements and the design of a given software component. See: traceability, traceability analysis. Typically, it is used to record the relationship between the requirements, design, and testing assuring that all requirements had being tested. 16 10/18/2010 Is the Software working as expected? (Testing) Verification confirms that specifications have been met. Testing computerized systems is a fundamental verification activity. In general, Testing is performed to find significant errors in the software and to demonstrate that the system functions as intended and it meets the defined requirements. testing. (IEEE) (1) The process of operating a system or component under specified conditions, observing or recording the results, and making an evaluation of some aspect of the system or component. (2) The process of analyzing a software item to detect the differences between existing and required conditions, i.e. bugs, and to evaluate the features of the software items. See: dynamic analysis, static analysis, software engineering. Testing/Verification Levels (Approach for a Configured Product (GAMP Category 4) 17 10/18/2010 Testing/Verification Levels (Approach for a Custom Application (GAMP Category 5) Testing/Verification Levels Installation Testing (GAMP): Many companies call this installation Qualification or IQ. The purpose is to verify and document that system components are combined and installed in accordance with specifications, supplier documentation and local and global requirements. Installation testing provides a verified configuration baseline for subsequent verification and validation activities and also verifies any installation methods, tools or scripts used. Requirements (System) Testing: testing, system. (IEEE) The process of testing an integrated hardware and software system to verify that the system meets its specified requirements. Such testing may be conducted in both the development environment and the target environment. Design Based Functional Testing: testing, design based functional. (NBS) The application of test data derived through functional analysis extended to include design functions as well as requirement functions. Configuration Testing: Configuration testing. (GAMP) For each Configuration Specification, an associated Configuration Test Specification should be produced. The tests should verify that the package has been configured in accordance with the specification. The tests could take the form of inspections or check of supplier documentation. Integration Testing: testing, integration. (IEEE) An orderly progression of testing in which software elements, hardware elements, or both are combined and tested, to evaluate their interactions, until the entire system has been integrated. Module (Unit ) Testing: testing, unit. (1) (NIST) Testing of a module for typographic, syntactic, and logical errors, for correct implementation of its design, and for satisfaction of its requirements. (2) (IEEE) Testing conducted to verify the implementation of the design for one software element; e.g., a unit or module; or a collection of software elements. Syn: component testing. 18 10/18/2010 Testing Deliverables and Activities There are two primary deliverables for Testing: y The Test Plan (also sometimes known as the Test Strategy) describes the testing approach and the roles and responsibilities for testing y The Test Summary Report summarizes the testing that was performed In addition, a traceability matrix may be an option in order to assure that all the requirements had being tested and to trace its relationship to the Design documents. Test Planning…what to consider? Testing Limitations…a quote from FDA Guidance “Software testing is a time consuming, difficult, and imperfect activity. The real effort of effective software testing lies in the definition of what is to be tested rather than in the performance of the test.” “Software testing has limitations that must be recognized and considered when planning the testing of a particular software product. Except for the simplest of programs, software cannot be exhaustively tested. Generally it is not feasible to test a software product with all possible inputs, nor is it possible to test all possible data processing paths that can occur during program execution. General Principles of Software Validation; Final Guidance for Industry and FDA Staff (2002) Everything cannot be tested. Testing must be right-sized to focus on the portions of the system with the highest potential business impact. 19 10/18/2010 Test Planning…what to consider?, Cont’d Inputs to the Test Plan y Company Policies and Procedures Company procedures should define the general framework for testing including documentation and terminology. The test strategy should define and document how the general framework described by company procedures is to be applied to a specific system. y Using Results of Risk Assessments Risk assessments carried out during the life cycle may have identified various controls to manage risks to an acceptable level. These controls may require testing. Alternatively the risk assessments may have identified the need for particular types of testing such as invalid case testing (negative case or resistance testing). The test strategy should incorporate the results of such risk assessments. y Using Results of Supplier Assessments The results of the supplier assessment should indicate the supplier tests that have been performed and which ones can be leveraged to avoid unnecessary repetition or duplication of effort. The test strategy should incorporate or reference the results of such supplier assessments. y Using GAMP Categories and other considerations The test strategy should be based also in an understanding of the system components (GAMP categories), system complexity, and system novelty. The number of levels of testing and the number of test specifications required will vary based in part on GAMP categories. Test Planning..what to consider?, Cont’d The test plan should define, but is not limited to: which types of testing are required The number and purpose of test specifications the use of existing supplier documentation in accordance with the results of the supplier assessment format of test documentation testing environment y Production/operational environment is the platform where the application software will run during its maintenance life cycle phase. y If the testing (at least part of it) will be executed in other environment (e.g., different system/platform used for development, testing), then the configuration of the other environment should be equivalent to the one in the production environment. procedures for managing test failures (e.g., Test Problem Reports) Test Summary Reporting requirements Other requirements based on regulated company policies and procedures 20 10/18/2010 Two General Types of Testing White Box Testing is also known as code-based testing, glassbox testing, “white box” testing, logic driven testing, or structural testing. Test cases are identified based on source code knowledge, knowledge of Detailed Design Specifications and other development documents. y testing, structural. (1) (IEEE) Testing that takes into account the internal mechanism [structure] of a system or component. Types include branch testing, path testing, statement testing. Black Box Testing is based on the functional specification, thus often known as functional testing. It is also known as definitionbased or specification-based testing. y testing, functional. (IEEE) (1) Testing that ignores the internal mechanism or structure of a system or component and focuses on the outputs generated in response to selected inputs and execution conditions. (2) Testing conducted to evaluate the compliance of a system or component with specified functional requirements and corresponding predicted results. Syn: black-box testing, input/output driven testing. Black box testing may be sufficient providing the supplier assessment has found adequate evidence of white box testing. Specific Types of Testing Specific types of testing should be considered, depending on the complexity and novelty of the system and the risk and supplier assessments of the system to be tested, including: • Normal Case testing (Positive Case or Capability testing) challenges the system’s ability to do what it should do, including triggering significant alerts and error messages, according to specifications. Testing with usual inputs is necessary. However, testing a software product only with expected, valid inputs does not thoroughly test that software product. By itself, normal case testing cannot provide sufficient confidence in the dependability of the software product. • Invalid Case testing (Negative Case or Resistance testing) challenges the system’s ability not to do what it should not according to specifications. • Repeatability testing challenges the systems ability to repeatedly do what it should, or continuously if associated with real time control algorithms. • Performance testing challenges the system’s ability to do what it should as fast and effectively as it should, according to specifications. • Volume/Load testing challenges the systems ability to manage high loads as it should. Volume/Load testing is required when system resources are critical. 21 10/18/2010 Specific Types of Testing, Cont’d • Structural/Path testing challenges a program’s internal structure by exercising detailed program code. The level of structural testing can be evaluated using metrics that are designed to show what percentage of the software structure has been evaluated during structural testing. These metrics are typically referred to as “coverage” and are a measure of completeness with respect to test selection criteria. Common structural coverage metrics include: ○ Statement Coverage ○ Decision (Branch) Coverage ○ Condition Coverage ○ Multi-Condition Coverage ○ Loop Coverage ○ Path Coverage ○ Data Flow Coverage • Regression testing challenges the system’s ability to still do what it should after being modified according to specified requirements, and that portions of the software not involved in the change were not adversely affected. Acceptance Testing testing, acceptance. (IEEE) Testing conducted to determine whether or not a system satisfies its acceptance criteria and to enable the customer to determine whether or not to accept the system. There may be a need for specific tests to satisfy contractual requirements. which are typically called acceptance tests. Typically these are a pre-defined set of functional tests that demonstrate fitness for intended use and compliance with user requirements. In such circumstances the test strategy should leverage these tests to satisfy GxP verification requirements and avoid duplication. Acceptance may be carried out in two stages. Factory Acceptance and Site Acceptance. y y Factory Acceptance Tests (sometimes abbreviated to FAT) are performed at the supplier site before delivery to show that the system is working well enough to be installed and tested on-site Site Acceptance Tests (sometimes abbreviated to SAT and sometimes called System Acceptance Testing) show that the system is working in its operational environment and that it interfaces correctly with other systems and peripherals This approach is often used for automated equipment and process control systems. 22 10/18/2010 Other Validation Activities… Validation Report The Validation Report is the gate between developing the system and moving the system into the Production (maintenance) phase. The Validation Report must be completed in order for the system to be in Production. The report summarizes that all of the acceptance criteria documented in the Validation Plan were met and appropriate personnel conducted a review of the completed validation deliverables and supporting documentation. If there are any outstanding issues, the Validation Report must include a justification for implementing the system with those unresolved issues. 23 10/18/2010 Production Support (Maintenance phase) These are the CSV activities performed once a system is in production. All CSV processes must be defined during the system development phase so that a clear process is in place and related roles are resourced. Upon system production, these processes are then executed as needed. The following are the post-production CSV deliverables that will be presented: • Business Continuity Plan (BCP) and Disaster Recovery • Change Control • Business Procedures and Training • Periodic Review • System Retirement What to do in the event of software / system unavailability? (Business Continuity Plan) Business Continuity Plan (BCP) Provides operational plans in the event of software/system unavailability Right-sizing the BCP involves critically assessing business functions, risks, and prioritizing how work should be performed without a system. In some cases, the BCP may be • “wait until the system comes back up,” because no critical business processes are disrupted when the system goes down. • “switch to a redundant system” • to invest in more complex planning to identify manual processes that will allow the business to continue to complete critical tasks such as taking sales orders, shipping product, or controlling tank temperature, until the system can be brought back on line. 24 10/18/2010 What to do if the software/system is damaged? (Disaster Recovery) Disaster Recovery is the responsibility of IT/Automation. It is the process and plan to restore the system after some type of system outage or disaster. The only involvement from the business is after a disaster has been declared. Following execution of the Disaster Recovery Plan, IT/Automation documents the activities that occurred and notes any departures from the planned activities. At that point, business roles perform the following activities: • Reviews the documentation of the disaster recovery activities • Evaluates any potential data integrity issues prior to restoring the system What to do if additions, corrections or other modifications are required? (Change Control and Configuration Management) Change management is a critical activity that is fundamental to maintaining the compliant status of systems and processes. All changes that are proposed during the project or operational phase of a computerized system, whether related to software, hardware, infrastructure, or use of the system, should be subject to a formal change control process. This process should ensure that proposed changes are appropriately reviewed to assess impact and risk of implementing the change. The process should ensure that changes are suitably evaluated, authoriezed, documented, tested, and approved before implementation, and subsequently closed. Configuration management includes those activities necessary to precisely define a computerized system at any point during its life cycle, from the initial steps of development through to retirement. A configuration item is a component of the system which does not change as a result of the normal operation of the system. Configuration items should only be modified by application of a change management process. Examples of configuration items are application software, layered software, hardware components, and system documentation. Configuration management and change management are closely related. When changes are proposed, both activities need to be considered in parallel, particularly when evaluating impact of changes. Both change and configuration management processes should be applied to the full system scope including hardware and software components and to associated documentation and records, particularly those with GxP impact. 25 10/18/2010 Business Procedures and Training Business Procedures and Training provide the assurance that the end users will use the system properly and according to its validated intended use. The Business is responsible for creation and implementation of both of these deliverables. • Ensures the appropriate business procedures are developed and approved • Develops and maintains appropriate user training materials, often in conjunction with individuals from regulated company’s Learning & Development organization. • Ensures audiences are trained on business procedures and other relevant system training prior to system implementation. Does my software/system remains in a validated state? (Periodic Review) Periodic Review is a monitoring process for the key control indicators (e.g., problems, changes, deviations, downtime) to verify that the computer system remains in a validated state. The System Custodian is accountable for this activity and the completion and approval of the Periodic Review Report. Change Control and Periodic Review assures the software/system is maintained in a validated state. Business activities for Periodic Review include but are not limited to the following: • Reviews and approves the report to attest that the system remains in a validated state and is fit for continued use. • Acknowledges any issues documented in the report and any responsibility to provide the specified resources to complete the actions by the date indicated on the action plan. 26 10/18/2010 What to do if my software/system is no needed any more? (System Retirement) The primary purpose of System Retirement activities is to ensure that the data residing in the system are retained, secure, and readily retrievable throughout the record retention period. The data may need to be retrieved, for an inspection or some other reason, years after the system is retired. This possibility underscores the need for both sound retirement processes and related documentation. Inadequate system retirement processes can result in data not being available or readable. Depending on the situation, this can be a significant issue, especially if this data is requested by a regulator or if product safety is in question. Common challenges related to the system retirement process: • Determination of record retention for data, software, and documentation • Data migration and archival • Clear ownership for continued stewardship of the data after the system is retired VALIDATION OF OFF-THE-SHELF SOFTWARE AND AUTOMATED EQUIPMENT Most of the automated equipment and systems used by drug or device manufacturers are supplied by third-party vendors and are purchased off-the-shelf (OTS). The vendor audit should demonstrate that the vendor’s procedures for and the results of the verification and validation activities performed to the OTS software are appropriate and sufficient for the requirements of the drug or medical device to be produced using that software. The vendor’s life cycle documentation can be useful in establishing that the software has been validated. However, such documentation is frequently not available from commercial equipment vendors, or the vendor may refuse to share their proprietary information. In these cases, the drug or device manufacturer will need to perform sufficient system level “black box” testing to establish that the software meets their “user needs and intended uses.” For many applications black box testing alone is not sufficient. Depending upon the risk of the product or device produced, the role of the OTS software in the process, the ability to audit the vendor, and the sufficiency of vendor-supplied information, the use of OTS software or equipment may or may not be appropriate, especially if there are suitable alternatives available. 27 10/18/2010 Let’s see how to apply all these concepts! Are you Ready? Note: The following examples are provided for illustrative purposes and only suggest possible uses of quality risk management. Software Categories, Examples, and Typical Life Cycle Approach (GAMP5) Category Description Typical Examples Typical Approach 1. Infrastructure Software Layered software (i.e., upon which applications are built) Software used to manage the operating environment •Operating Systems Record version number, verify correct installation by following approved installation procedures •Database Engines •Programming languages • Statistical packages 3. NonConfigured Run-time parameters may be entered and stored, but the software cannot be configured to suit the business process •Spreadsheets • Network monitoring tools • Scheduling tools • Version control tools •Firmware-based applications • COTS software • Instruments (See the GAMP Good Practice Guide: Validation of Laboratory Computerized Systems for further guidance) • Abbreviated life cycle approach •URS • Risk-based approach to supplier assessment • Record version number, verify correct installation • Risk-based tests against requirements as dictated by use (for simple systems regular calibration may substitute for testing) •Procedures in place for maintaining compliance and fitness for intended use 28 10/18/2010 Software Categories, Examples, and Typical Life Cycle Approach (GAMP5) Category Description Typical Examples Typical Approach 4. Configured Software, often very complex, that can be configured by the user to meet the specific needs of the user’s business process. Software code is not altered. •LIMS •Life cycle approach •Data acquisition systems • SCADA •Risk-based approach to supplier assessment •Clinical Trial monitoring • DCS • Building Management Systems • Spreadsheets • Simple Human Machine Interfaces (HMI) Note: specific examples of the above system types may contain substantial custom elements •Demonstrate supplier has adequate QMS •Some life cycle documentation retained only by supplier (e.g., Design Specifications) • Record version number, verify correct installation • Risk-based testing to demonstrate application works as designed in a test environment • Risk-based testing to demonstrate application works as designed within the business process • Procedures in place for maintaining compliance and fitness for intended use • Procedures in place for managing data Software Categories, Examples, and Typical Life Cycle Approach (GAMP5) Category Description Typical Examples Typical Approach 5. Custom Software custom designed and coded to suit the business process. Varies, but includes: • Internally and externally developed IT applications • Internally and externally developed process control applications • Custom ladder logic • Custom firmware • Spreadsheets (macro) Same as for configurable, plus: •More rigorous supplier assessment, with possible supplier audit • Possession of full life cycle documentation (FS, DS, structural testing, etc.) • Design and source code review 29 10/18/2010 Example: Sterilizer (autoclave) automated system A User Requirements document was approved for a sterilizer (autoclave) automated system that will be used in a GMP injectables production area. The system should provide to configure two types of sterilization cycles (dry goods and liquids). System should provide a printed report at the end of the cycle that will include a graph of the time-temperature relationship and list of activated alarms. Configuration parameters will also permit to set the cycle time, temperature and high/low temperature alarms limits. Additional details for two case studies are included below: Case A: The system is considered a low complexity system and is based on mature technology. The system/software has been commercially available (for the last ten years) and its fitness for use has been demonstrated by a broad spectrum of commercial users. A supplier assessment was performed and it was determined that the supplier has adequate Quality Management Systems (QMS) and that the basic functionality of system has been adequately tested. Case B: The system is considered a low complexity system but it is based on new technology. The system/software has been commercially available for the last year. The supplier refused to share their internal testing documentation and little information about vendor quality practices was obtained. How much testing could be recommended in each case? Example (continued) Results of Risk Assessments The following sample functions takes into consideration only software related hazards. Function Alarm Management Alarm Management Temperature control Temperature control Specified Hazard Consequence (Harm) alarm fail to Product not activate – low sterilized temperature alarm fail to Product is activate- high damaged temperature Control failureProduct not low temperature sterilized Control failureProduct is high damaged temperature Probability Detectability3 Risk Priority Case A: Low1 Case B: High2 Case A: High Case B: Low Case A: Low Case B: High High Impact Case A: Low1 Case B: High2 Case A: High Case B: Low Case A: Low Case B: High High Impact Case A: Low1 Case B: High2 Case A: Low1 Case B: High2 Case A: High Case B: Low Case A: High Case B: Low Case A: Low Case B: High Case A: Low Case B: High Impact (severity) High Impact High Impact 1: For Case A, a low probability of occurrence is considered based on system’s low complexity, mature technology, product had being in the market for 10 years, and basic functionality of system has been adequately tested by the supplier. 2: For Case B, considerations are based on system’s low complexity and new technology. In addition, the experience with the product/software is limited (i.e., only one year in the market) and the likelihood of regulated company uncovering a significant issue with the software for the first time is high. The supplier refused to share their internal testing documentation and little information about vendor quality practices was obtained. A worst case scenario is being assumed. 3: Detectability is based on reliance on the system’s generated report. 30 10/18/2010 Example (continued) Recommended Testing Activities (based on GAMP5 Categories and Risk Priority) Typical testing activities for a Category 4 (Configured Product) should focus on: Record version number, verify correct installation y Equally applicable to Cases A and B Verify correct configuration y Equally applicable to Cases A and B in relation to the alarms configuration and other parameters. For each Configuration Specification, an associated Configuration Test Specification will be produced. The tests will verify that the package has been configured in accordance with the specification. Risk-based testing to demonstrate application works as designed in a test environment Risk-based testing to demonstrate application works as designed within the business process y y Not applicable to any case. Testing will be performed in the actual production system. Requirements testing that demonstrate fitness for intended use. Additional and more rigorous testing will be performed in Case B based on the result of risk and supplier assessment. Examples of type of test to be performed in each case are: ○ Case A: y Test to verify that the sterilization cycle (temperature control) performs as configured (time and temperature parameters) and verify cycle performance using the information provided in the system generated report. ○ Case B: y Test to verify that the sterilization cycle (temperature control) performs as configured (time and temperature parameters) and monitor cycle performance using an external calibrated chart recorder. Finally, compare chart recorder graph with the information in the system generated report. y In addition to configuration verification of the system alarms performed previously, run an additional cycle and simulate alarm conditions in order to verify that all critical alarms are correctly generated and reported by the system as expected. Questions? Next: Interactive Exercise 31 10/18/2010 Interactive Exercise Given an example of a Computerized System: Meet for 10 minutes in your assigned group and discuss and agree on your answers. Your group may be requested to present your recommendation to the audience. Bonus Material Example of a Test Plan List of Relevant Regulations 32 10/18/2010 Thank you for your participation! Integrity / Excellence / Respect for People 33