SIR Case Study: MNYR ©2005 Tom Shriver, Columbia U, DataVisor 1
SIR Case StudyMNYR Database
Presented at
SIR InternationalUsers’ Conference
Columbia UniversityNew York, N.Y.
May 2005©Tom Shriver, DataVisor
& Columbia U, 2005
SIR Case Study: MNYR ©2005 Tom Shriver, Columbia U, DataVisor 2
Topics for the Case Study
I. Overview of the MNYR Database
II. What makes SIR/MNYR “Sophisticated”?
III. Factors Contributing to Sophisticated Applications
IV. 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
Photo: Greg Neils, Columbia U
SIR Case Study: MNYR ©2005 Tom Shriver, Columbia U, DataVisor 5
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 theCooperative Family Registry of Breast & Colon Cancer
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
SIR Case Study: MNYR ©2005 Tom Shriver, Columbia U, DataVisor 6
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 Answer 3-5 questionnaires Provide Blood Samples Grant Access to Medical Records
SIR Case Study: MNYR ©2005 Tom Shriver, Columbia U, DataVisor 7
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 8
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 created problems, DCC was consulted
DCC Recommended SIR and DataVisor in 2003
SIR Case Study: MNYR ©2005 Tom Shriver, Columbia U, DataVisor 9
MNYR Data in a Nutshell
Family History Info about many People & Families
Questionnaire Data
Biospecimen Samples and Associated Data
Genetic Test Results
Detailed Pathology Info on Tumor Specimens
Tracking Data to Assure Collection
SIR Case Study: MNYR ©2005 Tom Shriver, Columbia U, DataVisor 10
Metropolitan New York Registry of Breast & Ovarian Cancer Families
Database Structure
Biospecimen Data maintained in separate database (in Lab)
Non Invasive
DNA LCL
Buccal
Family
Indiv Fam Hx
Tumors
Reported Tumors
Consent
Epi / Followup
Treatment
Diet
Specimen
Registry Slides
Path Report
Blood
Biospecimens
BioSp Dispatch
Path Review
Genetic Test
Detailed Results
Invasive Details
Breast Surgery Ovarian Path
Epi Breast Surg
Vital Status
Hospitals
MNYR Staff
Mutation Names
Tracking
Memos
Reference Data Tables
Epi Ov Surg
Pregnancies
Ind Summary
Family Summary
Nutrient Summ
48 hr Qnr
Slide Box
CFR Data Dict
CFR Errors
SIR Case Study: MNYR ©2005 Tom Shriver, Columbia U, DataVisor 11
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 12
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 the Future into Everyday Operations Build tools you can use in other contexts Time invested today pays off tomorrow
Use the New Tools They were designed as an improvement – take a
chance
SIR Case Study: MNYR ©2005 Tom Shriver, Columbia U, DataVisor 13
How to Create a Sophisticated ApplicationClient Factors
Listen to the Client Understand what they do & how they do it The Database & Application should model their world It has to make sense to the user
Never Say “No” “It’s a computer, it can do anything.”
SIR Case Study: MNYR ©2005 Tom Shriver, Columbia U, DataVisor 14
Details of Some Features that Make MNYR Sophisticated
For 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
SIR Case Study: MNYR ©2005 Tom Shriver, Columbia U, DataVisor 15
A Walk Through to Give the Overall Sense of MNYR
A Quick walk through showing how the database is used on a daily basis.
As we go, I’ll point out the features we will discuss in detail
SIR Case Study: MNYR ©2005 Tom Shriver, Columbia U, DataVisor 16
Controlling Color & Fonts on the Main SIR Window
Impetus for Coloring Screen: 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 minutes of Study ended with a colored screen
SIR Case Study: MNYR ©2005 Tom Shriver, Columbia U, DataVisor 17
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 18
The Letter Writing FacilityThe Rationale
Impetus 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
SIR Case Study: MNYR ©2005 Tom Shriver, Columbia U, DataVisor 19
Letter Writing Facility:Thinking through the Problem
Initially Worried About Personal Ignorance of MS-Word Templates How to “know” what kind of letter was being written
SIR Case Study: MNYR ©2005 Tom Shriver, Columbia U, DataVisor 20
Letter Writing FacilitySolutions
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 21
Letter Writing FacilityTools Used
PQL DISPLAY OPENBOX to pick template file
PQL Subroutine for Copy Procedure
Many PQL string functions: To extract letter type code To construct new letter name including:
Archive Folder, Pt_ID & Date
PQL Subprocedure to create new Tracking Record
SIR Case Study: MNYR ©2005 Tom Shriver, Columbia U, DataVisor 22
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 23
Click on Picture to Set Data ValuesPractical 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 24
Click on Picture to Set Data ValuesPractical Problems (2)
How to Make Check Marks Appear & Disappear Checks and Non-Checks (blank) are bitmap pictures In GUI dialog use IMAGEs for check mark
o Variation on previous PQL to identify location of Checkmark
o A loop in GUI dialog to define IMAGEs
o A loop in dialog INITIAL block to set initial state
o 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 25
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 26
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: One PQL Program to Control Everything
SIR Case Study: MNYR ©2005 Tom Shriver, Columbia U, DataVisor 27
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+’”’]
When submitted PQL program ends:File Copy subroutine moves PQL to “DONE” folder
SIR Case Study: MNYR ©2005 Tom Shriver, Columbia U, DataVisor 28
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 PQL must be careful to Properly initialize environment Connect & Disconnect Database Be aware of Master status for Updates
SIR Case Study: MNYR ©2005 Tom Shriver, Columbia U, DataVisor 29
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