Medidata Rave® Custom Functions

23
Clinovo 1208 E. Arques Avenue, Suite 114 Sunnyvale, CA 94085 [email protected] +1 800 987 6007 www.clinovo.com Tuesday, October 11 th 2011 Medidata Rave® Custom Functions Webinar Implementing the Rave Custom Functions Best Suited to your Clinical Study Requirements

description

Configuring a clinical EDC study in Medidata Rave is simple with good training. Study builders can easily configure eCRFs and review complex edit checks and derivations. However, they often face limitations in Rave when using edit checks and derivations. As we will demonstrate in our webinar, custom functions are better adapted to address complex study protocol requirements. Our Medidata Rave experts will discuss key benefits and programming techniques to implement the custom functions best-suited to your clinical study requirements.

Transcript of Medidata Rave® Custom Functions

Clinovo 1208 E. Arques Avenue, Suite 114 Sunnyvale, CA 94085 [email protected] +1 800 987 6007 www.clinovo.com

Tuesday, October 11th 2011

Medidata Rave® Custom Functions Webinar

Implementing the Rave Custom Functions Best Suited to your Clinical Study Requirements

Proprietary and confidential

2 Rave Custom Functions October 11h 2011

Today’s Speakers

Venkat Sungishala - Sr. Manager of EDC

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”

Marc Desgrousilliers – Chief Technology Officer

Experience: 20+ years experience in software and engineering

Proprietary and confidential

3 Rave Custom Functions October 11h 2011

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

Proprietary and confidential

4 Rave Custom Functions October 11h 2011

Study Build in Rave® - Streamlining your Clinical Trial Process -

Proprietary and confidential

5 Rave Custom Functions October 11h 2011

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

Proprietary and confidential

6 Rave Custom Functions October 11h 2011

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…

Proprietary and confidential

7 Rave Custom Functions October 11h 2011

Edit Checks and Derivations - Improved Data Cleaning, Faster Clinical Trial -

Proprietary and confidential

8 Rave Custom Functions October 11h 2011

Edit Checks and Derivations

What are Edit checks?

Logic rule applied to a field in a eCRF

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

Proprietary and confidential

9 Rave Custom Functions October 11h 2011

Limitations of Edit Checks and Derivations

Do not support:

Dynamic folders

Form inactivation

Dynamic subject calendar

Email with specific fields data

Dynamic queries

Auto number generation

Chronological order of dates edit checks

Dynamic search list

Etc.

Do not support:

Complex mathematical algorithms

Data in different forms/folders

Specific derivations on variables shared across multiple forms

Etc.

Edit Checks Derivations

Proprietary and confidential

10 Rave Custom Functions October 11h 2011

Limitations of Editchecks and Derivations

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

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

Requirement:

Enter:

Given:

Example:

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

Proprietary and confidential

11 Rave Custom Functions October 11h 2011

Custom Functions - Solutions adapted to your Complex Study Protocol Requirements -

Proprietary and confidential

12 Rave Custom Functions October 11h 2011

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

Proprietary and confidential

13 Rave Custom Functions October 11h 2011

Benefits of Custom Functions

Dynamic query messages and search lists

Configurable AE/SAE emails

Role/user based emails

Adding/inactivating of forms/folders/matrices

Copying data

Improved Data Accuracy

Faster Study Build

Flexibility allowing more

Customization

Configuration of dynamic protocol requirements:

Adding required number of records

Visible/invisible fields

Data comparisons/validations

Standard CFs can be reused for future study builds

Etc.

Proprietary and confidential

14 Rave Custom Functions October 11h 2011

Categories of Custom Functions

Custom Functions (CFs)can be categorized into:

Simple CFs

Moderate CFs

Complex CFs

Proprietary and confidential

15 Rave Custom Functions October 11h 2011

Simple custom functions

Very simple business logic

Applied on a single form

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 Etc.

Example: Add a form in the same folder

Categories of Custom Functions

Proprietary and confidential

16 Rave Custom Functions October 11h 2011

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 Etc.

Categories of Custom Functions

Proprietary and confidential

17 Rave Custom Functions October 11h 2011

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 Etc.

Categories of Custom Functions

Proprietary and confidential

18 Rave Custom Functions October 11h 2011

Best Practices - Around the use of Custom Functions -

Proprietary and confidential

19 Rave Custom Functions October 11h 2011

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

Best Practices

Proprietary and confidential

20 Rave Custom Functions October 11h 2011

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

Best Practices

Proprietary and confidential

21 Rave Custom Functions October 11h 2011

Q & A

Proprietary and confidential

22 Rave Custom Functions October 11h 2011

Marc Desgrousilliers

Chief Technology Officer

[email protected]

Venkat Sungishala

Sr. Manager of EDC

[email protected]

Upcoming webinars

Implementing adaptive clinical trials October 18th, 9 AM PST

CDISC Express Demo October 26th, 9 AM PST

www.clinovo.com

Follow us on twitter @clinovo

Contact Us

Proprietary and confidential

23 Rave Custom Functions October 11h 2011

Thank You for your Attention !

Visit our website for upcoming webinars:

www.clinovo.com