USING ORACLE TO CREATE AUDIT TRAILS FOR PART

  • Slides: 25
Download presentation
USING ORACLE TO CREATE AUDIT TRAILS FOR PART 11 COMPLIANCE Dr Peter Smith Project

USING ORACLE TO CREATE AUDIT TRAILS FOR PART 11 COMPLIANCE Dr Peter Smith Project Director WYETH RESEARCH IS 9/17/2020 1

AGENDA • REVIEW OF PART 11 • AUDITING FUNCTIONALITY • WRAPPER FUNCTIONALITY 9/17/2020 2

AGENDA • REVIEW OF PART 11 • AUDITING FUNCTIONALITY • WRAPPER FUNCTIONALITY 9/17/2020 2

21 CFR PART 11 SUMMARY • FDA Regulation as of April, 1997 on Electronic

21 CFR PART 11 SUMMARY • FDA Regulation as of April, 1997 on Electronic Records and Electronic Signatures – Intent to ensure Electronic Records have the validity of Paper Records • Part 11 is a sound regulation – we want to use electronic records • Short regulation – major impact • Revised Guidelines as of Feb. 2003 – Emphasis on Risk Assessment – New guidelines provide a sensible relief from extreme interpretations – But the law has not changed! 9/17/2020 3

EXPERIENCE SHOWS • Manual systems cannot be validated. • Data integrity requires administrative controls

EXPERIENCE SHOWS • Manual systems cannot be validated. • Data integrity requires administrative controls and redundant checking and detailed reviews. • If it is not documented, it was not done. • If you cannot prove it was done by a trained analyst using the approved procedure it was not done right. 9/17/2020 4

REQUIREMENTS OF PART 11 • Electronic Records are secure – Auditing of who, when,

REQUIREMENTS OF PART 11 • Electronic Records are secure – Auditing of who, when, what, why any changes to the record are made • Electronic signatures are authenticated – The person making the entry is who they say they are 9/17/2020 5

THE AUDIT TRAIL • To assure that any record cannot be changed without recording

THE AUDIT TRAIL • To assure that any record cannot be changed without recording – – Who makes the change When the change was made What the new value is and what the old one was Why the change was made • It’s a Good Lab. Practice requirement, not directly Part 11 – 21 CFR 58. 130 (e) 9/17/2020 6

HOW TO IMPLEMENT AN AUDIT TRAIL IN ORACLE? • Standard Oracle auditing – Serves

HOW TO IMPLEMENT AN AUDIT TRAIL IN ORACLE? • Standard Oracle auditing – Serves different purpose • Oracle 9 i provides new fine-grained auditing => audit policies => Selective Audit product – Not Part 11 specific however • Any good Oracle programmer can implement via Triggers and good design – The details make the case 9/17/2020 7

AT WYETH • We wanted a Part 11 Audit tool which – Is certified

AT WYETH • We wanted a Part 11 Audit tool which – Is certified by our Part 11 PMO – Is of General utility • We have written a globally-available, generic set of scripts that create the audit tables and business table triggers – Will provide the flexibility to match different database designs – Can be applied Retrospectively 9/17/2020 8

TWO MAIN MODELS FOR A GENERIC AUDIT TRAIL (GAT) • Column based, recording each

TWO MAIN MODELS FOR A GENERIC AUDIT TRAIL (GAT) • Column based, recording each change to a “cell” (column) – E. g. change in three cells => three records in the audit database • Row-based, recording each record as it is changed – E. g. change in three cells in one source table row => one record in the audit database 9/17/2020 9

EXAMPLE OF COLUMNBASED GAT Source tables Old + New values RECORD 1 Trigger on

EXAMPLE OF COLUMNBASED GAT Source tables Old + New values RECORD 1 Trigger on RECORD 2 INSERT UPDATE DELETE RECORD 3 AUDIT table with audit columns e. g. time stamp UPSERTS? 9/17/2020 10

EXAMPLE OF ROW-BASED GAT Source table New value RECORD 1 Old RECORD 1 New

EXAMPLE OF ROW-BASED GAT Source table New value RECORD 1 Old RECORD 1 New RECORD 1 Trigger on INSERT UPDATE DELETE 9/17/2020 SHADOW table with audit columns e. g. time stamp 11

Empdept example Primary key change => automatically triggers both I and D 9/17/2020 12

Empdept example Primary key change => automatically triggers both I and D 9/17/2020 12

No reason for insert necessary AUDIT TABLE SHOWS INSERTIONS Primary key change => automatically

No reason for insert necessary AUDIT TABLE SHOWS INSERTIONS Primary key change => automatically triggers both I and D 9/17/2020 13

Making changes Primary key change => automatically triggers both I and D 9/17/2020 14

Making changes Primary key change => automatically triggers both I and D 9/17/2020 14

Primary key change => automatically triggers both I and D 9/17/2020 15

Primary key change => automatically triggers both I and D 9/17/2020 15

THREE VARIATIONS OF ROW-BASED GAT • Source table includes audit fields – High overhead

THREE VARIATIONS OF ROW-BASED GAT • Source table includes audit fields – High overhead – Referential integrity issues – But good for snapshots/history • Shadow Table includes all U, I, D changes – Comprehensive auditing – Need report or view to show history • Shadow Table only records U, D – Audit table divided between source and shadow – Used when there are many inserts, few changes 9/17/2020 16

STRENGTHS • Row based – Easy to track record history – Concise audit tables

STRENGTHS • Row based – Easy to track record history – Concise audit tables – Each schema has its own audit tables – Best for point-in-time queries (e. g. research results) • But hard to know what changed • Column Based – One audit table for several schemas – Easily identifies which cell has changed • But hard to reconstruct record – – We wrote a reporting procedure to address this Best for value-sensitive data (e. g. bank balances) • Both approaches can be used at the same time 9/17/2020 17

REMOTE USERS • How to utilize Oracle security for pooled user accounts? • Necessary

REMOTE USERS • How to utilize Oracle security for pooled user accounts? • Necessary to exploit mid-tier architectures 9/17/2020 18

MIDDLEWARE BADBOY DATABASE Source TABLE Joe. S SET REMOTE USER ( Joe. S) Audit

MIDDLEWARE BADBOY DATABASE Source TABLE Joe. S SET REMOTE USER ( Joe. S) Audit Package UPDATE Log into mid-tier Mid-tier security Optional Mid-tier authentication against Oracle Table security Joe. S + GMT +… TRIGGERS Shadow Audit TABLE 9/17/2020 19

GMT • In order to track the sequence of changes, need one time standard

GMT • In order to track the sequence of changes, need one time standard => GMT • We developed a Java module which computes GMT – From the (Unix) System time-zone – Plus conversion offset to GMT • Oracle 9 i includes this 9/17/2020 20

WRAPPER SOLUTIONS • How to secure data collected analyzed before entry to Oracle? –

WRAPPER SOLUTIONS • How to secure data collected analyzed before entry to Oracle? – EXCEL is widely used – E. g. Instrument =>EXCEL=>Oracle • Industry response is via Wrapper solutions – Intercept the data before it reaches EXCEL, audit all transactions thereafter. 9/17/2020 21

EXAMPLE Supervisor/control/admin EXCEL Database => results + Audit trail 9/17/2020 22

EXAMPLE Supervisor/control/admin EXCEL Database => results + Audit trail 9/17/2020 22

SEVERAL VENDORS • For data: – Nugenesis, Velquest, Automsoft, Stelex, SSI-Cyberlab, Cincom • It’s

SEVERAL VENDORS • For data: – Nugenesis, Velquest, Automsoft, Stelex, SSI-Cyberlab, Cincom • It’s not what you do, it’s how you do it – Usability, non-intrusiveness 9/17/2020 23

If We Do Wrappers Right: • Paperless - Paper notebooks and data sheets replaced

If We Do Wrappers Right: • Paperless - Paper notebooks and data sheets replaced by electronic data. • Authenticated Analysts - All electronic data from authenticated analysts using validated sources through validated connections. • Part 11 Compliant - Electronic records stored in secure 21 CFR Part 11 compliant repository. • Automated Verification - Verify that trained analysts, calibrated instruments, current analytical test methods and approved supplies perform the work. • Dynamic Linking - Data and metadata dynamically linked in fully relational form to permit rapid review of results. • Rapid Reporting - Compliance flags highlight specific data requiring review prior to approval. (Thanks to Velquest) 9/17/2020 24

Thanks • To my excellent colleagues at Wyeth: – Tad Harrison Row-based GAT –

Thanks • To my excellent colleagues at Wyeth: – Tad Harrison Row-based GAT – Dave Vander. Brooke – Jack Tierney – Jay Miller Column-based GAT – Nina Occhiolini DBAs – Percy Ries-Burks • Walter Romanski of Oracle technical staff smithp@wyeth. com 9/17/2020 25