SIR Case Study MNYR Database Presented at SIR International Users’ Conference Columbia University New York, N.Y. SIR Case Study: MNYR ©2005 Tom Shriver, Columbia U, DataVisor May 2005 ©Tom Shriver, DataVisor & Columbia U, 2005 1 Topics for the Case Study I. II. III. IV. Photo: Greg Neils, Columbia U SIR Case Study: MNYR Overview of the MNYR Database What makes SIR/MNYR “Sophisticated”? Factors Contributing to Sophisticated Applications Features Implemented in MNYR, explained with: a. The original need b. The thought process and logic of design c. The tools used to implement the feature d. How it is used by the MNYR Staff ©2005 Tom Shriver, Columbia U, DataVisor 2 Metropolitan New York Registry of Breast and Ovarian Cancer Families Funded by the National Cancer Institute at the Mailman School of Public Health, Columbia U. Largest family breast cancer database in the world. Participates in the Cooperative Family Registry of Breast & Colon Cancer SIR Case Study: MNYR 12 Sites (6 Breast, 6 Colon) International (USA, Canada, Australia) Data from all sites merged in the central CFR registry Data made available to Cancer Researchers world-wide ©2005 Tom Shriver, Columbia U, DataVisor 5 MNYR Data Collection: Participant Recruitment Participants recruited at 7 New York Sites “Clinic Based” recruitment begins with a known cancer subject and the family is invited to participate Family History given by “family rep” for cancer, age & sex info about each member (3-4 generations) Some Family Members are asked to Participate Fully SIR Case Study: MNYR Answer 3-5 questionnaires Provide Blood Samples Grant Access to Medical Records ©2005 Tom Shriver, Columbia U, DataVisor 6 MNYR Data Collection: Detailed Data Full Participants Provide Consent for use of data and access to medical info Epidemiological Questionnaire Diet Questionnaire Blood Sample for DNA & Genetic Testing; Cryopreserved Kept in Campus Lab, Data kept separately but Interfaced to MNYR Breast & Ovarian Cancer Affected Participants Cancer Surgery History & Treatment Questionnaire We request materials from Hospital o Hospital’s Pathology Report on the case o Sample of Tumor Tissue for confirmation & future research SIR Case Study: MNYR ©2005 Tom Shriver, Columbia U, DataVisor 7 MNYR (brief) History Six Original New York Sites Joined forces, created single registry at Columbia Currently new recruitment at only two sites Original MNYR Registry was SQLServer with MS-Access front-end Complexity DCC created problems, DCC was consulted Recommended SIR and DataVisor in 2003 SIR Case Study: MNYR ©2005 Tom Shriver, Columbia U, DataVisor 8 MNYR Data in a Nutshell Family History Info about many People & Families Questionnaire Biospecimen Genetic Data Samples and Associated Data Test Results Detailed Pathology Info on Tumor Specimens Tracking Data to Assure Collection SIR Case Study: MNYR ©2005 Tom Shriver, Columbia U, DataVisor 9 Metropolitan New York Registry of Breast & Ovarian Cancer Families Database Structure Ind Summary Genetic Test Family Indiv Fam Hx Consent Epi / Followup Family Summary Epi Ov Surg Treatment Pregnancies Vital Status Diet BioSp Dispatch Biospecimens Blood Buccal LCL DNA 48 hr Qnr Tracking Detailed Results Epi Breast Surg Biospecimen Data maintained in separate database (in Lab) Nutrient Summ Specimen Registry Slides Memos Tumors Slide Box Reported Tumors Path Report Path Review Breast Surgery Reference Data Tables Hospitals SIR Case Study: MNYR MNYR Staff Ovarian Path Invasive Details Mutation Names ©2005 Tom Shriver, Columbia U, DataVisor CFR Data Dict CFR Errors Non Invasive 10 Why Consider MNYR “Sophisticated”? An “Sensitive” Application Database & Application mirror the MNYR world Takes Advantage of the “State of the Art” Database Tools Application Development Tools Combines Various Tools into Powerful Machine MNYR Database Manages nearly all related computerized functions from a single central location (the MNYR database) SIR Case Study: MNYR ©2005 Tom Shriver, Columbia U, DataVisor 11 How to Create a Sophisticated Application: Application Developer Imperatives Study & Play Review Current Tools Stay abreast of developing technology Take the time to Play with the tools Integrate Build tools you can use in other contexts Time invested today pays off tomorrow Use SIR Case Study: MNYR the Future into Everyday Operations the New Tools They were designed as an improvement – take a chance ©2005 Tom Shriver, Columbia U, DataVisor 12 How to Create a Sophisticated Application Client Factors Listen Understand what they do & how they do it The Database & Application should model their world It has to make sense to the user Never SIR Case Study: MNYR to the Client Say “No” “It’s a computer, it can do anything.” ©2005 Tom Shriver, Columbia U, DataVisor 13 Details of Some Features that Make MNYR Sophisticated For SIR Case Study: MNYR various features I’ll try to provide: The original need The thought process in developing the feature How the guidelines I’ve just provided impacted it The tools used to implement the feature ©2005 Tom Shriver, Columbia U, DataVisor 14 A Walk Through to Give the Overall Sense of MNYR A Quick walk through showing how the database is used on a daily basis. SIR Case Study: MNYR As we go, I’ll point out the features we will discuss in detail ©2005 Tom Shriver, Columbia U, DataVisor 15 Controlling Color & Fonts on the Main SIR Window Impetus The first comment in my first demo of MNYR was: “My son does databases and his are always colorful”. Thought Process: Tony had said that the main window did HTML I had used it to center things on the screen I figured it probably knew about colors & fonts A few SIR Case Study: MNYR for Coloring Screen: minutes of Study ended with a colored screen ©2005 Tom Shriver, Columbia U, DataVisor 16 Coloring the Main Window & Writing to it with Various Fonts Main SIR Window knows some HTML A few PQL GUI controls like TEXT object do also Set up HTML tags with: call sysproc.tools.htmlcode Use WINDOW OUTPUT command in PQL, e.g. window output '<body bgcolor="#FFF000">' html {Example Available} SIR Case Study: MNYR ©2005 Tom Shriver, Columbia U, DataVisor 17 The Letter Writing Facility The Rationale Impetus SIR Case Study: MNYR for developing a Letter Writing facility The staff each writing their own letters to participants; - Need for “templates” Letters stored locally, i.e. Invisible to others on Staff; - Need for central accessibility No tracking of communications in database; - Need for a record of letters written & their subject ©2005 Tom Shriver, Columbia U, DataVisor 18 Letter Writing Facility: Thinking through the Problem Initially Worried About SIR Case Study: MNYR Personal Ignorance of MS-Word Templates How to “know” what kind of letter was being written ©2005 Tom Shriver, Columbia U, DataVisor 19 Letter Writing Facility Solutions Don’t Use True Templates; Just copy a Base File A PQL File Copy Subroutine; developed years ago & used all the time Encode Type of Letter in name of letter that matches codes of tracking “action type”, e.g. request_for_consent_02.doc Create a “tracking” record when letter is written, automatically supplying several codes SIR Case Study: MNYR ©2005 Tom Shriver, Columbia U, DataVisor 20 Letter Writing Facility Tools Used PQL DISPLAY OPENBOX PQL Subroutine Many for Copy Procedure PQL string functions: To extract letter type code To construct new letter name including: Archive Folder, Pt_ID & Date PQL Subprocedure SIR Case Study: MNYR to pick template file ©2005 Tom Shriver, Columbia U, DataVisor to create new Tracking Record 21 Click on Picture to Set Data Values Impetus: Physicians fill out a form with checks on “Bulls-Eye” There are 60 checkable items; internally Yes/No Vars Data Entry Personnel didn’t want to enter into 60 fields Tools that make it Possible PQL IMAGE control returns coordinates when clicked on PQL Arrays to keep track of: o Clickable regions (coordinates of diagonally opposite corners) o Where to put check marks o Current Yes/No settings of variables (related to regions/vars) SIR Case Study: MNYR ©2005 Tom Shriver, Columbia U, DataVisor 22 Click on Picture to Set Data Values Practical Problems (1) How to get coordinates of clickable regions PQL Dialog with Picture o Click top left of area & remember X1,Y1 o Click bottom right, remember X2,Y2 & write out points How to detect what user has clicked Create IF-THEN-ELSE block with PQL program that uses the coordinates written in above procedure Use created if-then-else in message processing of dialog {Examples Available} SIR Case Study: MNYR ©2005 Tom Shriver, Columbia U, DataVisor 23 Click on Picture to Set Data Values Practical Problems (2) How Checks and Non-Checks (blank) are bitmap pictures In GUI dialog use IMAGEs for check mark o o o o to Make Check Marks Appear & Disappear Variation on previous PQL to identify location of Checkmark A loop in GUI dialog to define IMAGEs A loop in dialog INITIAL block to set initial state Created IF-THEN-ELSE in MESSAGE displays check or blank bitmap depending on current state NOTE: GUI controls on top of each other recognize “top” control – last one placed. o Checks should not be on “Clickable Region” SIR Case Study: MNYR ©2005 Tom Shriver, Columbia U, DataVisor 24 Remote Control of Database: A SIR & PQL Based “Batch Queue” Impetus for Developing Batch System DBA is 800 miles from site Connection via VPN & Master is “SLooooW” o All “data” processed in PQL, Utilities has to travel back and forth over network/internet Thought Process Copying small files (e.g. PQL programs) is Fast Running on the Powerful SIR server is FAST! Question: o How can I get the server to run my PQL? SIR Case Study: MNYR ©2005 Tom Shriver, Columbia U, DataVisor 25 Remote Control of Database: “Batch Queue” Available Tools in SIR PQL & DBMS Command Language Flexibility SIRBATCH.EXE for non-interactive/non-visual operations Commands to CONNECT and DISCONNECT databases Commands to manage SCHEMA Commands to manage PROCFILE (PROCEDURE) Commands to run SIR Utilities (e.g. unload, reload) PQL commands to re-compile executable routines PQL commands to execute other PQL: EXECUTE DBMS Possibility: SIR Case Study: MNYR One PQL Program to Control Everything ©2005 Tom Shriver, Columbia U, DataVisor 26 Remote Control of Database: “Batch Queue” System Design Create a PQL Program that waits for Work An infinite LOOP that checks every couple of seconds Looks for a file submitted in one folder with suffix: .PQL When PQL file is found, main program does: compute outf=replace(filename,’.PQL’,’.OUT’,1,0,0) EXECUTE DBMS [‘set output “’+outf+’”’] EXECUTE DBMS [‘include file “’+filename+’”’] SIR Case Study: MNYR When submitted PQL program ends: File Copy subroutine moves PQL to “DONE” folder ©2005 Tom Shriver, Columbia U, DataVisor 27 Remote Control of Database: “Batch Queue” Usage Considerations Main PQL inherits “environment” from some command sets ATTRIBUTES & GLOBALS Default Settings, e.g. PRINT BACK Cached Members User’s SIR Case Study: MNYR PQL must be careful to Properly initialize environment Connect & Disconnect Database Be aware of Master status for Updates ©2005 Tom Shriver, Columbia U, DataVisor 28 Remote Control of Database: “Batch Queue” Actual Usage Practices at MNYR Download modified procedures to ProcFile Recompile System or Selected Routines Nightly Backups Run on Batch System A Scheduled Task copies MNYR_BackUp.PQL to the Folder For the Future: End-User Submissions from Interactive Sessions SIR Case Study: MNYR ©2005 Tom Shriver, Columbia U, DataVisor 29