Example - Clinovo
Download
Report
Transcript Example - Clinovo
Medidata Rave® Custom Functions Webinar
Implementing the Rave Custom Functions Best Suited to your Clinical Study Requirements
Thursday, June 23rd 2011
Clinovo
1208 E. Arques Avenue, Suite 114
Sunnyvale, CA 94085
[email protected]
+1 800 987 6007
www.clinovo.com
Today’s Speakers
Marc Desgrousilliers – Vice President of Operations at
Clinovo
Experience: 20 years experience in software and
engineering
Venkat Sungishala - Sr. Manager of EDC at Clinovo
Experience: 5+ years experience of extensive clinical programming &
study build
using Medidata Rave®
Specialties: Medidata certified “Rave 5.6.3/5.6.4 Study Builder”
Rave Custom Functions
June 23rd 2011
Proprietary and confidential
2
Today’s Agenda
Study Build in Rave®
Edit Checks and Derivations
Benefits of Custom Functions
Best Practices around the use of Custom Functions
Q&A
Rave Custom Functions
June 23rd 2011
Proprietary and confidential
3
Study Build in Rave®
- Streamlining your Clinical Trial Process -
Rave Custom Functions
June 23rd 2011
Proprietary and confidential
4
Study Configuration in Rave®
Study in Rave® is a collection of eCRFs, folders/visits,
matrices and approved user role permissions which
satisfies the study protocol
Configuration is simple and can be done with good
training
As you configure the study, you are building standard
based global libraries. These will enable you to reduce the
overall development time and validation cost
Carry out the clinical trial in a structured and timely
manner
Rave Custom Functions
June 23rd 2011
Proprietary and confidential
5
What is configurable in Rave®?
UI and solid workflow configuration
eCRF/folder/matrix design
Controlled access to eCRFs/data entry
Edit checks to run the business logic
Derivations to calculate values
Custom functions to handle dynamic requirements
Global library set-up to reuse standard architect elements
Example: eCRFs, fields, variables or matrices…
Reports configuration adapted to your needs
Example : audit trial report, query detail report and monitor visit report…
Rave Custom Functions
June 23rd 2011
Proprietary and confidential
6
Edit Checks and Derivations
- Improved Data Cleaning, Faster Clinical Trial -
Rave Custom Functions
June 23rd 2011
Proprietary and confidential
7
Edit Checks and Derivations
What are Edit checks?
Rule/logic applied on a field in a CRF
Catching errors earlier in the clinical trial process & improve your data
accuracy
Example : If the VISITDT is empty then fire a Query with message:
The visit date should not be blank
What are Derivations?
Calculation that derives a value based on the business logic
Less data entry & automatic calculation
Example : If BIRTHDT and SCRNDT are NotEmpty then Derive AGE field
Rave Custom Functions
June 23rd 2011
Proprietary and confidential
8
Limitations of Edit Checks and Derivations
Edit Checks
Derivations
Do not support:
Do not support:
Dynamic folders
Complex mathematical algorithms
Form inactivation
Data in different forms/folders
Dynamic subject calendar
Email with specific fields data
Specific derivations on variables
shared across multiple forms
Dynamic queries
…
Auto number generation
Chronological order of dates edit checks
Dynamic search list
…
Rave Custom Functions
June 23rd 2011
Proprietary and confidential
9
Limitations of Editchecks and Derivations
Example:
Requirement:
Derive ‘DaysDiff’ field in derivation form with difference between
SCRNDT in screening form and VISITDT in corresponding Day 1,
Day 8 and Day 15 folders
Given:
Cycle is repeated in folder: Cycle 1, Cycle 2, …, Cycle n
Day 1, Day 8 and Day 15 are the folders & exist in all cycles
Derivation is a form & exists in Day 1, Day 8 and Day 15 folders
Enter:
Rave Custom Functions
June 23rd 2011
Proprietary and confidential
SCRNDT = 01 JAN 2011
Cycle 1>Day 1>VISITDT = 05 JAN 2011 then DaysDiff is derived with
4
Cycle 2>Day 1>VISITDT = 21 JAN 2011 then DaysDiff will be derived
with 20 in Cycle 2>Day 1 and also affect the value in Cycle 1>Day 1
folders
10
Custom Functions
- Solutions adapted to your Complex Study Protocol Requirements -
Rave Custom Functions
June 23rd 2011
Proprietary and confidential
11
Basic Concepts of Custom Functions
What is a custom function in Rave®?
Custom Function defines the business logic implemented on an eCRF
It can be a C#, Visual Basic or SQL piece of code developed outside of
Rave® and injected into the system to perform an intended action
What experience is needed to develop custom functions?
Study build experience with Rave®
Good knowledge in object oriented programming concepts
Good knowledge of C# and SQL programming
Rave Custom Functions
June 23rd 2011
Proprietary and confidential
12
Benefits of Custom Functions
Configuration of dynamic protocol requirements:
Dynamic query messages and
search lists
Configurable AE/SAE emails
Role/user based emails
Adding/inactivating of
forms/folders/matrices
Copying data
Adding required number of records
Visible/invisible fields
Data comparisons/validations
Standard CFs can be reused for future
study builds
…
Faster Study Build
Improved Data Accuracy
Flexibility allowing more
Customization
Rave Custom Functions
June 23rd 2011
Proprietary and confidential
13
Categories of Custom Functions
Custom Functions (CFs)can be categorized into:
Simple CFs
Moderate CFs
Complex CFs
Rave Custom Functions
June 23rd 2011
Proprietary and confidential
14
Categories of Custom Functions
Simple custom functions
Very simple business logic
Applied on a single form
Example:
Add a form in the same folder
A few more examples:
Populate or derive data into a field in the same form
Verify the fields data is in a pre-defined format
Display query message or place a sticky within a single
form
Visible/invisible fields in the same form
Adding log records into a form
…
Rave Custom Functions
June 23rd 2011
Proprietary and confidential
15
Categories of Custom Functions
Moderate Custom Functions
Comparison of multiple forms
Example:
Display query message or place a
sticky based on data from multiple
forms
A few more examples:
Adding log records and populating data into a form
Adding a form in the different folder
Adding folder and adding matrices dynamically
Populate or derive data based on the data in multiple forms
Data comparisons and checking for the chronological order
…
Rave Custom Functions
June 23rd 2011
Proprietary and confidential
16
Categories of Custom Functions
Complex Custom Functions
Comparison of multiple forms
Requires SQL script
Example:
Generating sequential patient or
randomization numbers
A few more examples:
Subject calendar for the visits
SAE emails based on roles
Checking for uniqueness of the entered data
Dynamic search list
Multiple matrices
Nested folders
…
Rave Custom Functions
June 23rd 2011
Proprietary and confidential
17
Best Practices
- Around the use of Custom Functions -
Rave Custom Functions
June 23rd 2011
Proprietary and confidential
18
Best Practices
Use header below to identify and trouble shoot a CF:
Check for NULL objects
Check Active status of all objects
Avoid using try-catches because Rave does it for you
Rave Custom Functions
June 23rd 2011
Proprietary and confidential
19
Best Practices
Keep the code simple and readable…
but if you want to improve system performance:
Use OIDs rather than names
Avoid using foreach
Avoid writing nested for loops
Loop handling:
Avoid sending emails in a loop
Remember to breakout the loop when search is completed
Email Handling:
Check the environments before sending an email
Avoid using same email ID for different environments
Stored Procedure Handling:
Use SQL stored procedures instead of dynamic SQL
Avoid stored procedures for updates or deletions
Rave Custom Functions
June 23rd 2011
Proprietary and confidential
20
Q&A
Rave Custom Functions
June 23rd 2011
Proprietary and confidential
21
Thank You for your Attention !
Visit our website for upcoming webinars:
www.clinovo.com
Rave Custom Functions
June 23rd 2011
Proprietary and confidential
22
Contact
Clinovo
1208 E Arques Ave. Suite 114
Sunnyvale, CA 94085
www.clinovo.com
Marc Desgrousilliers, VP of Operations
[email protected]
408 773 6253
Venkat Sungishala, Sr. Manager of EDC
[email protected]
408 845 0862
Rave Custom Functions
June 23rd 2011
Proprietary and confidential
23