Example - Clinovo

advertisement
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
contact@clinovo.com
+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
marc@clinovo.com
408 773 6253
Venkat Sungishala, Sr. Manager of EDC
venkat@clinovo.com
408 845 0862
Rave Custom Functions
June 23rd 2011
Proprietary and confidential
23
Download