clinovo 1208 e. arques avenue, suite 114 sunnyvale, ca 94085 [email protected] +1 800 987 6007 ...

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

Upload: mitchell-davidson

Post on 26-Dec-2015

237 views

Category:

Documents


2 download

TRANSCRIPT

Thursday, June 23rd 2011

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

Medidata Rave® Custom Functions WebinarImplementing the Rave Custom Functions Best Suited to your Clinical Study Requirements

Proprietary and confidential

2Rave Custom FunctionsJune 23rd 2011

Today’s Speakers

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”

Marc Desgrousilliers – Vice President of Operations at Clinovo

Experience: 20 years experience in software and engineering

Proprietary and confidential

3Rave Custom FunctionsJune 23rd 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

4Rave Custom FunctionsJune 23rd 2011

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

Proprietary and confidential

5Rave Custom FunctionsJune 23rd 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

6Rave Custom FunctionsJune 23rd 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

7Rave Custom FunctionsJune 23rd 2011

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

Proprietary and confidential

8Rave Custom FunctionsJune 23rd 2011

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

Proprietary and confidential

9Rave Custom FunctionsJune 23rd 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

Do not support:

Complex mathematical algorithms

Data in different forms/folders

Specific derivations on variables shared across multiple forms

Edit Checks Derivations

Proprietary and confidential

10Rave Custom FunctionsJune 23rd 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 2011Cycle 1>Day 1>VISITDT = 05 JAN 2011 then DaysDiff is derived with 4Cycle 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 nDay 1, Day 8 and Day 15 are the folders & exist in all cyclesDerivation is a form & exists in Day 1, Day 8 and Day 15 folders

Proprietary and confidential

11Rave Custom FunctionsJune 23rd 2011

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

Proprietary and confidential

12Rave Custom FunctionsJune 23rd 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

13Rave Custom FunctionsJune 23rd 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 …

Proprietary and confidential

14Rave Custom FunctionsJune 23rd 2011

Categories of Custom Functions

Custom Functions (CFs)can be categorized into:

Simple CFs

Moderate CFs

Complex CFs

Proprietary and confidential

15Rave Custom FunctionsJune 23rd 2011

Categories of Custom Functions

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 …

Example:Add a form in the same folder

Proprietary and confidential

16Rave Custom FunctionsJune 23rd 2011

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 …

Proprietary and confidential

17Rave Custom FunctionsJune 23rd 2011

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 …

Proprietary and confidential

18Rave Custom FunctionsJune 23rd 2011

Best Practices- Around the use of Custom Functions -

Proprietary and confidential

19Rave Custom FunctionsJune 23rd 2011

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

Proprietary and confidential

20Rave Custom FunctionsJune 23rd 2011

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

Proprietary and confidential

21Rave Custom FunctionsJune 23rd 2011

Q & A

Proprietary and confidential

22Rave Custom FunctionsJune 23rd 2011

Thank You for your Attention !Visit our website for upcoming webinars:

www.clinovo.com

Proprietary and confidential

23Rave Custom FunctionsJune 23rd 2011

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