Presentation is loading. Please wait.

Presentation is loading. Please wait.

Stuff I forgot Please save the table for the people who are officially enrolled (or are taking the class for defered credit). Bring a laptop with SAS if.

Similar presentations

Presentation on theme: "Stuff I forgot Please save the table for the people who are officially enrolled (or are taking the class for defered credit). Bring a laptop with SAS if."— Presentation transcript:

1 Stuff I forgot Please save the table for the people who are officially enrolled (or are taking the class for defered credit). Bring a laptop with SAS if possible. Grades (pass/fail only) – Pass 4 of 4 assignments for 3 units – Pass 3 of 4 assignments for 2 units Assignment 1 is now posted Demo of writing a SAS program

2 Demo If you need to look up a function to a simple calculation like, sin, cosin or more complex stuff like a density functions, combinations, or permutations, search onLineDoc and include the words functions and call routines.

3 HRP223 – Topic 1 Sept 21 st, 2009 Copyright © Leland Stanford Junior University. All rights reserved. Warning: This presentation is protected by copyright law and international treaties. Unauthorized reproduction of this presentation, or any portion of it, may result in severe civil and criminal penalties and will be prosecuted to maximum extent possible under the law. Data and Data Collection

4 Topics for Today Standards for setting up a database What is a database – Why Excel is not a good database How do you design your data storage for analysis How to do common tasks in Excel – Excel 2007 – Get a random selection of people – Combine lists and find duplicate subject IDs – Frequency counts by subgroups with pivot tables – Checking data with if then statements – Conditional color coding An introduction to REDCap An introduction to Surveyor

5 FDA 21 CFR – Part 11 Electronic Records; Electronic Signatures – Regulates electronic submissions to the FDA – Data systems must be validated “to ensure accuracy, reliability and consistent intended performance, and the ability to discern invalid or altered records.” – Mandates that people who develop, maintain or use electronic record/electronic signature systems have adequate education, training and experience. – Requires revision and change control procedures to maintain an audit trail that documents time-sequenced development and modification of systems documentation. Also see the Scope and Application document: Standards

6 The right way…. If your data is going to the FDA you need a real database to store and monitor your data. – Med IRT – Data Coordinating Center (DCC) Med IRT is looking into less cost prohibitive tools: – REDCap – Medrio Meet with me and Med IRT to design a data collection system. – They know how to safely store data and I know how it needs to be prepared for analysis. Both use expensive tools like Oracle Currently free $417/year per study Standards

7 What can a database do? Track who did what to every bit of information in the data capture system and when they did it Is every change is logged? Can you roll back mistakes 2 days later? Controls what a user can see and modify Prevents you from entering garbage Can I possibly enter blue for gender? Database

8 Excel… I think Excel 2007 or 2008, in theory, can do all these requirements if you have an extraordinarily talented (VBA) programmer. I tried and I could not implement a satisfactory database model. Anybody that is good enough to make it work will tell you to use a different tool. Excel is NOT a database but it is not useless. Database/Excel

9 Excel 2003 vs Office 2007 file suffixes end with an x (.xlsx vs..xls) New graphical user interface (ribbon instead of menus) – Push F1 to start Excel Help then search for interactive 2003 to find where they moved stuff. Microsoft Help is no longer an oxymoron… lots of videos. Database/Excel

10 Before You Use Excel at All There is a major design flaw in the export system built into Excel. If you do not fix it, you are very likely to have any export from Excel result in missing data. – This happens when the data is read in by every analysis program I tried (SAS, R, SPSS) and even other Microsoft programs (Access). The problem happens when a column of data has character data after the top 8 rows had numbers. – If somebody types a character into a column mostly full of numbers (typically a typo or a > or < symbol) the cell is silently set to blank. Database/Excel

11 SAS R

12 The Registry Deep inside of Windows is a repository of information on all the software on your computer. It is called the registry. In the registry there is a key that tells applications which are talking to Excel how many rows to check, going down a column, to figure out if a column should be called character or numeric. – It is set by default to only look in the first 8 rows!!!!! So if you have character data for the first time in a cell after the first 8 rows, it guesses incorrectly that you have only numeric data in the column and your character cells will be erased without warning on import. Database/Excel

13 You can fix this. Make sure to follow these instructions carefully. If you tweak the wrong thing in the registry you can render your machine unable to reboot! 1.With XP, click the Windows Start menu and choose Run or in Vista search for and open regedit. 2.In the dialog type regedit and click ok. 3.Open up the tree to this path HKEY_LOCAL_MACHINE ► SOFTWARE ► Microsoft ► Jet ► 4.0 ► Engines ► Excel 4.Double click TypeGuessRows. 5.Type 0, that is zero not the letter o, in the DWORD editor and click ok. 6.Repeat for this path HKEY_LOCAL_MACHINE ► Software ► Microsoft ► Office ► 12.0 ► Access Connectivity Engine ► Engines ► Excel Microsoft ACCESS will silently change this setting! – So watch this setting if you use ACCESS. Database/Excel

14 XP Pro Vista Database/Excel


16 Other issues with Excel Plotting is not good It sometimes miscalculates formulas with big numbers. – Except for Excel 2007 the formula for standard deviation does not work with huge numbers. Database/Excel

17 Excel 2007 Graphics … Awesome …

18 Before you Start a Data Collection/Entry Program Write on your questionnaire/case-report-form and abbreviate each question as a name that is easy to type. – Use no spaces – Use only letters or numbers – Do not start the names with digits See the slide labeled Setting up a Spreadsheet for more on the naming. Database/Excel

19 lastFirstmiddle dobage racewhite raceblack country raceasian reason raceotherraceeast racedetail ishispanic reasonother Symptomyear Symptomday Sy1mptommonth

20 Before You Start Also write on your questionnaire to say if the questions produce characters or numeric data. If it is character data, decide the maximum number of characters that could go into blank. – Denote character information as C####, where #### is a number indicating how many letters can go their (if free text). Last names are very rarely more than 50 characters (i.e., lastName C50). Database/Excel

21 Before You Start If you have “choose one” questions (like the subjects’ sex) draw a box around the choices and label that as a character field (count the number of letters in the longest text string). If you have “check all conditions that apply” questions, each of the sub-questions needs to have its own name. – Instead of a single check for yes all that apply have a yes and to be humane a check box for no to all. – Plan on all yes/no checkboxes being considered 6 characters wide (room for unknown or refused). Database/Excel

22 Dates Spreadsheets and databases store dates as numbers (integers) that count the number of days since some start date. – Excel 2007: Jan 1 st 1900 is day 0, Jan 2 nd 1990 is day 1, etc. – SAS: Jan 1 st 1960 is day 0, Jan 2 nd 1960 is day 2, etc. The columns of data are just formatted to look nice. – MM/DD/YYYY tends to import cleanly but gives massive headaches in international studies. – Use 3 columns for each date if it is even remotely possible to have missing information. The calendar in Excel can start on Jan 1 st 1904 Database/Excel

23 No Protected Health Information (PHI) In the past, the culture around Stanford was to do data extraction from charts and type the data onto Excel on laptops. Do not do that without taking special the precautions explained on next slide. Do NOT put protected health information (aka, HIPAA sensitive data) on unencrypted mobile media! That means do not put Excel files (or any other type of files) with PHI on your laptop, CDs, DVDs, or flash drives without encryption. From last time

24 How to Protect Your Data You must set up encryption tools on your laptop if it will house PHI: If you need to PHI you must set up secure From last time

25 Setting up a Spreadsheet Use the annotated questionnaire to make column headings – Keep names short but meaningful – No spaces – No special characters ~ # $ % ^ & * ( ) _ - – Use camelcase First letter of each word is capitalized – Use verbs Database/Excel

26 Include a Dummy Record Include a fake first patient – Make the width of the character fields as wide as the widest possible value African-American is 16 letters wide so use it for the fake subject’s race X is a nice way to force the width to be 16 letters wide Database/Excel

27 NO Missing Data You want to have a value in every cell in your spreadsheets. If something is unknown, code it as “missing”, “unknown”, “refused”, “illegible”, “N/A”, etc.. You want a blank cell to be a clear indicator that something is wrong. Database/Excel

28 Make it a Table If you have Excel 2007, convert the values to be a table. – Select the header record and the dummy record Database/Excel

29 Select Only the Real Table Do not select the entire spreadsheet and tell it to make it a table. That will cause headaches when the data is imported. If you inherit a spreadsheet that has the body of the table extended below or to the right of real data entry, delete the extra range of cells. You may need to copy and paste the data onto a new spreadsheet. Database/Excel

30 The context specific Table tools show up when you have clicked anywhere inside of the table. Pick a color scheme Give the table a name Database/Excel

31 Data Entry Help Row or column banding helps a LOT with data entry. If you scroll down the table, the column headings are still displayed. Database/Excel

32 Garbage In Garbage Out Prevent bad data from getting into your system with validation. – In Excel 2003 click on the column then open the Data menu and choose Validation… – In Excel 2007 click a cell in the dummy record, the click on the Data tab and choose Data Validation Database/Excel

33 Custom Validation By default you can put anything in any cell. Change the IDs to only allow whole numbers starting with 0. Uncheck this Database/Excel

34 Validate Everything Database/Excel

35 Validation is Auto-filled The validation is filled-in down the table as you add new records. The triangles indicate a note Database/Excel

36 Custom Errors You can change and enhance the message. Click the validated cell(s) you want to modify and click Data validation. Database/Excel

37 Known Missing/Bad Values If you have numeric fields and the values can conceivably include the values missing, refused to answer, or not applicable allow that in the validation. Code the missing/bad values with extremely large or small values so they will stand out in your analyses. – Code year of birth with values like the year 3000 – Code missing ages as Extreme values will be easier to notice if they are accidentally included in an analysis. Database/Excel

38 How to Ask Questions Do the case report forms lend themselves to easy analysis? – Try to get actual values instead of categories. – Be sure to match the validation on the spreadsheet to any categories you must use. What will happen to the analysis if a person forgets to answer or refuses to answer? – The default behavior it to drop a person who is missing any piece of information needed for the analysis. – Have codes for every possible reason for not having a value. Databases

39 A slide from the department of redundancy department For critical variables, in environments when you can contact the subjects immediately, redundancy is useful. – Subjects do NOT enjoy filling out their birthday or age three times in an afternoon. Always have a yes and no check box instead of a single “check here for yes”. □ Patient had adverse event. Database

40 Writing Formulas in Excel All formulas, from simple addition to complex validation begin with an equal sign. For arithmetic, type the =, then click on the cell you want to use in the formula add in math symbols and click on the other cells you want to work with and it will usually use notation like A1 to say you are doing math based on the cell “A1” in the upper left corner. You can then drag around the cell with the formula and it will update the formula. Database/Excel

41 F4 shifts from relative to absolute reference….

42 Redundant If you decide to ask redundant questions, check the results early and often. – Ages: Excel has the hidden function called dateDif that can calculate ages: =dateDif(firstDate, recentDate, “Y”) Database/Excel

43 Discrepancies To find discrepancies I add in another column and have Excel insert the number 1 if there is a discrepancy. Otherwise it inserts a 0. Once that is done it is easy to find and count the problems. =if(logicCheck, valueIfTrue, valueIfFalse) Database/Excel

44 Logic Checks If you have a column of data holding only yes/no information, it is very convenient to score it as 1 instead of “yes” and 0 instead of “no”. Any programmer (or well trained statistician) will thank you for using this convention and it makes your life easier. Database/Excel

45 Quick Notification Excel can display common summary statistics automatically at the bottom of the window, including the sum of a column to count the number of “yes” responses in a column. Database/Excel

46 Right click on the status bar and click on which statistics to display for a selected range of cells. Database/Excel

47 Subsets Click on the downward pointing triangles in the column heading to show subsets of data. Notice the subset icon Database/Excel

48 Yes and No Are all forms numbered? Are all pages numbered? Are forms preprinted with ID numbers? Do the forms look visually distinct? Are all types of missing data accounted for in the coding? – PLEASE do this. – At what age did you first contract a sexually transmitted disease? Are blocks of questions set to missing? – Plan on having a secret code indicating when values were automatically set to no. Are there comment/“free text” fields? – Avoid them like something pokey… Have a value for every cell in the spreadsheet. Database/Excel

49 Avoiding Blanks and Skipping Blocks You can use if() along with and() to do logic checking and filling in blanks. If you are checking a value vs. characters be sure to put them in quotes. Use big numbers to indicate secret codes. Database/Excel

50 The logic gets brutal…. =IF(AND(Preg[[#This Row],[gender]]="M",OR(Preg[[#This Row],[gravidity]]> 0, Preg[[#This Row],[liveBirths]]>0)), - 666, IF(Preg[[#This Row],[gender]]="M", -999, IF(AND(Preg[[#This Row],[gender]]="F", Preg[[#This Row],[liveBirths]]>= 0),Preg[[#This Row],[liveBirths]], "ERROR2"))) You can do exceptionally complicated stuff if you want to learn to program. Database/Excel

51 Random Selection Random patients vs. Randomization – If you are trying to randomize people into treatment and control groups, get professional help. – If you want a random subset of patients, you can use Excel. Add a column next to the subject IDs Add the rand() function. Copy and paste special (as value) the random value Sort on the random values. Database/Excel


53 Finding Duplicates Researchers keep lists of potential subjects. You want to have a tool to combine those lists. In Excel you can combine lists. Finding and removing duplicates can be done with MSQRY32 (which is part of MS Office) or Excel pivot tables or better yet in SAS with PROC SQL. Database/Excel

54 The Hard Way You could put all the data into a table and then sort the data by ID and hope that you see the duplicates or you could write an if() check using the offset() function. Database/Excel

55 If() and Offset() Logic Database/Excel

56 PivotTables Excel does contingency- frequency- tables as PivotTables. Database/Excel





61 Differences If you need to compare lists of IDs to identify who is in one list but not in the other, use this formula: =NOT(ISNA(MATCH(valueToFind,listOfCells,0))) Database/Excel

62 Using Color First remove color from the table. Database/Excel


64 Selecting Rows You can have entire rows highed if conditions are met. Say you only want males who are younger than 20. Select the body of the table, then request a new formatting rule. Pick the colors you want Database/Excel

65 Use the first person to write the rules: Edit out the $ before (the row indicator) 2s Database/Excel

66 Other Functions Look up these functions: – count the number of times a value appears in a range =countifs() – Replace on value with another using a look- up table. =hlookup() used for horizontal table =vlookup() used for vertical table Database/Excel

67 From last time What is a database? – Tracks who did what when and who can see and modify what. Excel has problems – Exporting mixed columns, graphics, formulas Using it – Use column headings with my naming convention and use a dummy record. – Use 2007 table features – Use validation – There are slides for lots of intermediate difficulty tasks. – Pivot tables are uniquely useful in Excel.

68 REDCap Instead of Excel REDCap (Research Electronic Data Capture) is a very user friendly web based data collection and storage program. You can either annotate your case report forms and then use that information to set up a REDCap database or you can do the annotation directly inside of REDCap. Database/REDCap

69 Open Sesame If you are working off campus you first need to open the door through the Stanford Medical School firewall. Ask your security expert to verify this is ok. Database/REDCap

70 Everyone with permission to use REDCap can see the demo database. Your work will appear here until it is on the final “build”. Click here. Database/REDCap

71 Watch these to learn how to set it up. Click to see the demographics form.

72 Text Date text Notes Dropdown lists Radio buttons

73 Explore the Excel Tutorial The class website has the REDCap Data Dictionary Demo File. It is just an Excel file that REDCap uses to build the database (inside of Oracle). Database/REDCap

74 PHI Other demographics and medical information These are not mutually exclusive. So you need many yes and no variables. These are mutually exclusive so only one variable. This is an extra variable. This is 3 variables. This is an extra variable.

75 lastFirstmiddle dobage racewhite raceblack country raceasian reason raceotherraceeast racedetail ishispanic reasonother Symptomyear Symptomday Sy1mptommonth


77 Screen shot of first build




81 Idiosyncrasies (bad things) The variable names need to be in lower case. The character _ can be used in variable names. – That is bad if the data ever goes to S-Plus for analysis. There is no way to say a field is mandatory. The “radio button” options are buggy if you use the keyboard instead of a mouse.

82 Surveyor A great tool for collecting data into a safe location Database/REDCap

83 Surveyor Database/REDCap

84 Surveyor Database/REDCap

85 Data Management Plan (DMP) CFR design Databases Study setup CRF workflow Entering data Cleaning data Managing lab data AE handling Coding report terms Creating reports and transferring data Closing study procedure A plug for a book I like….

Download ppt "Stuff I forgot Please save the table for the people who are officially enrolled (or are taking the class for defered credit). Bring a laptop with SAS if."

Similar presentations

Ads by Google