Reacting to #ResearchKit

OpenClinica_AppleRK Apple, Inc. has a remarkable ability to capture the world’s attention when announcing “the next big thing.” They have honed their well-known Reality Distortion Field skills for over 30 years. As the largest company in the world, and bellwether of the technology industry, Apple’s announcements are immediately recounted, opined, lionized, and criticized all across the Internet—sometimes with very limited real information on the new product itself. Of course, it helps to have their unmatched track record in actually delivering the next big thing.

ResearchKit has grabbed such attention. Maybe not as much as The Watch, but amongst the minority of us who pay attention to such things. And the reactions have been typically polarized—it’s either an “ethics quagmire” or “Apple fixing the world.”

But reality rarely presents an either-or proposition. I’ve written before on the need to use technology in simple, scalable ways to engage more participants in research and capture more data. Every form of engaging with patients and conducting research is fraught with potential for bias, bad data, and ethical dilemmas. Properly controlling these factors is difficult, and the current handling of these factors lead many to conclude that clinical research is overly “bloated and highly controlled”. There’s truth to that, but the fundamental need for good controls is real. As technology enables us to engage in new ways, how we implement such controls is likely to transform, perhaps unrecognizably so.

I don’t think Apple—or anybody—has these problems fully solved yet. And I expect we’re going to a see a vigorous debate in coming years between #bigdata and #cleandata that I hope will lead us to more of both. But ResearchKit, or at least the announcement thereof, is a game changer. Whether or not ResearchKit in its present form becomes a widely adopted platform, the impact was felt overnight: “11,000 iPhone owners signed up for a heart health study using Apple’s newly-announced ResearchKit in the first 24 hours… To get 10,000 people enrolled in a medical study normally, it would take a year and 50 medical centers around the country”. ResearchKit builds on momentum towards patient-centricity established in the last five years within pharma, NIH, online patient communities, mHealth, and health care, and uses Apple’s consumer clout to bring it to the attention of the average person on the street.

So let’s break down what we know about ResearchKit. Since this is a blog about OpenClinica, we’ll also share early thoughts on how we see OpenClinica, ResearchKit, and OpenClinica Participate fitting together.

It’s Open Source. Great move! We’ll learn more about what this means when the code is released next month.

The technical paper indicates it is a front-end software framework for research, and that they expect it to expand over time as modules are contributed by researchers. Through use of both platforms’ APIs, OpenClinica could serve as a powerful backend and ‘brain’ to ResearchKit.

It’s not clear if data goes through Apple’s servers on its way to a final destination. I also haven’t seen anything from Apple mentioning if it will be portable to other non-iOS platforms (which represent 80% of mobile device market share), though its open source nature would suggest that will be possible.

Surveys. Analogous in many ways to the forms module in OpenClinica Participate, it is a pre-built user interface for question and answer surveys. As somebody who’s worked in this realm for years, I know that this can mean a lot of things. What specific features are supported, how flexible is it, how easy is the build process? Perhaps most important, can it be ported to other mobile app platforms, or to the web?

Informed Consent. The need for fundamental ethical controls for for research conduct and data use are just as important in the virtual world as they are in the brick-and-mortar realm, and Informed Consent is a cornerstone. I’m glad to see ResearchKit taking this on; I don’t expect they have it 100% figured out, but their work with Sage Bionetworks, who has released an open toolkit on Participant Centered Consent, is a great sign.

Active Tasks. Maybe the most exciting component, here’s where ResearchKit takes advantage of the powerful sensors and hardware in the device and provides a way to build interactive tests and activities. In this way, I expect ResearchKit will be a great complementary/alternative frontend to OpenClinica Participate when specialized tests tied to specific, highly-calibrated devices are required.

In general, the promise is big: that technology will lower barriers in a way that leads to fundamental advances in our understanding of human health and breakthrough treatments. That we’ll go from data collected once every three months to once every second, and we’ll encounter–and solve–problems of selection bias, identity management, privacy, and more along the way. And that, according to John Wilbanks at Sage, “there’s coming a day when you’re not going to have an excuse to have a tiny cohort just because you chose not the use digital technologies to engage people.”

Introducing OpenClinica Participate

In clinical research, we all work towards better evidence-based, patient-centered health interventions. We all understand the importance of evidence. But how about patient-centered? We hear this phrase perhaps too often nowadays, but it’s more than just a buzzword. A patient-centered approach directs research toward questions that are important to patients so they can make more informed healthcare decisions. It measures the outcomes that are noticeable and important to patients, and produces results that help them weigh the value of healthcare.

At OpenClinica, we think increasing the patient-centeredness of research is vital. Industry, NIH, FDA, and the general public seem to agree, and furthermore share our view that technology can increase patient engagement. This can happen by designing highly accessible, mobile technology to:

  • Improve patient participation, motivation, and adherence
  • Increase ability to meet recruitment goals, budget, and completion timelines
  • Enable new designs that better target populations and/or more closely align with real-world use

HTCPhoneI’d like to introduce our upcoming product, OpenClinica Participate, a tool tightly integrated with OpenClinica for engaging patients and collecting data directly from study participants.

If you took our recent survey, you got a glimpse of what your forms for patient-reported outcomes could look like in OpenClinica Participate. Driven by a powerful forms engine based on proven open-source technology, the participant forms are simple, dynamic, mobile-focused, and platform-independent.

But it’s about a lot more than mobile-friendly forms. Patient expectations are rising while trial participation is shrinking. Clinical trials need to engage ‘Subjects’ as ‘Participants’ — by recruiting and retaining through real-time engagement and meeting the ‘anytime, anywhere’ expectations of a mobile, smartphone enabled world. It starts with an intuitive, action-oriented dashboard. Participants are greeted with a simple interface that motivates and focuses them on what they need to do today. The layout is responsive and knows whether you are using your phone, a tablet, or a traditional browser. Communication with the participant can occur through multiple channels — via the dashboard, through SMS, or via email, with options to help you make sure the right balance is struck between security and accessibility.

Participate_OCUILast, and perhaps most important, Participate is tightly integrated with the OpenClinica EDC platform. The Participate solution allows you to design your study and forms using the OpenClinica study build tools you already know, while seamlessly capturing all your clinical and participant-reported outcomes in a single database. You can build skip patterns, repeats, and other logic into your participant forms just as you do with traditional OpenClinica CRFs, using the same rules engine. You can use scheduling rules to identify the next time participant feedback is required. As data is submitted by study participants, their activities become part of the same audit trail that tracks what your clinical users do. The data they submit can immediately be reviewed and extracted along with CRF data from other sources.

Participate is extremely easy to adopt. As a modular add-on to your hosted OpenClinica Enterprise instance, it can be activated for any new study from within your study build screen. Forms are powered by the widely used open source enketo-express library and all editions of OpenClinica will support the widely-used OpenRosa API to let you run Enketo, ODK Collect, or any of a number of OpenRosa-compliant data capture clients. Participate utilizes a cloud-based Software-as-a-Service (SaaS) delivery model, so there is no costly and delay-inducing software deployment to worry about.

 

Visit the OpenClinica Participate Website

 

OpenClinica CRF Features – Everything But the Kitchen Sink

Whenever I teach case report form (CRF) design in the OpenClinica Central User Training class, the thought that always comes to mind is, “so many features, so little time.”  OpenClinica has so many features available for building your CRFs, that there is no way to cover every possibility within the limited timeframe of a training class. Fortunately, there are other ways of getting information out to users, so here I am to introduce you to additional features you may want to incorporate into your CRFs.

Some of these features use JQuery, a cross-platform JavaScript library designed to simplify scripting HTML. The JQuery code in the attached CRF template was tested on Firefox 35.0.1; it may function differently in different browsers or different languages. As with anything you set up for your study, if you decide to use any of the features presented here, be sure to test them in your test environment prior to using them in production.

Click to download: Kitchen Sink CRF and Associated Rules (zip file)

The attached CRF has 10 sections, and each section focuses on different feature sets. To see a list of all the Sections, click the drop-down arrow in the “Jump” box and then click the appropriate Section topic to see the features included within that topic.

CRF tabs

Throughout the CRF, each feature is labeled so you can easily recognize it and locate it in the CRF template. For example, “Left Item Text” is not a prompt you would ever include on your CRF, but it is the feature being demonstrated and is labeled as such so you can easily see where Left Item Text appears on any CRF you design. Each  Section of the CRF is listed below with a brief description as well as a screenshot so you can see how the features are represented.

1. Text

The Text Section illustrates various text features such as bold, italics, colors, and displaying images or a URL.  This section also covers the positioning of left item text, right item text, header, subheader, title, subtitle, and instruction text. The Instruction area of this section includes many text options that you can apply. If you would like to include blue text on your CRF, simply reference “Text color can be changed” in the Instructions cell of the Section worksheet of the attached CRF template and copy the formatting into your CRF.

CRF Text Tab
Click to enlarge

2. Response Options

This Section illustrates the various means of displaying responses on your CRF. It also provides additional features such as the “undo” button for deselecting a radio button, and an example of how to include a Visual Analog Scale. Again, simply reference the associated items in the Response Options section of the attached CRF template and copy the features you’d like into your CRF.

CRF Response Options
Click to enlarge

3. Layouts

The Layouts Section features different layout options such as column positions, horizontal vs. vertical checkboxes, and grid displays.

CRF Layouts
Click to enlarge

4. Required Items, Show/Hide, Decimals

This section demonstrates show and hide functionality, shows how real numbers (decimals) are displayed, and illustrates how required items are represented.

CRF Required Items
Click to enlarge

5. Validations This section demonstrates the various simple validations that are possible within the CRF template (less than, greater than, ranges, etc.). It also includes examples of some regular expressions.

CRF Validations
Click to enlarge

6. Calculations I

This is the first of two calculation sections. In this section, you’ll see examples of calculations and group calculations. You’ll have to upload the CRF, associate it with an event, and enter data to see the calculations in action.

CRF Calculations1
Click to enlarge

7. Calculations II

This second calculation section shows additional calculations and includes JQuery code for including a “calculate” button and for doing instant calculations. As above, you’ll have to upload the CRF, associate it with an event, and  enter data to see the calculations in action.

CRF Calculations2
Click to enlarge

8. Discrepancy Note*

The Discrepancy Note Section illustrates the effect of a Discrepancy Note Action Rule.

CRF Discrepancy Note
Click to enlarge

9. Show and Insert Actions*

This Section illustrates the effect of  Show and Insert Action Rules.

Before the rule is fired:                                            After the rule is fired:

CRF Action1                                CRF Action2
Click to enlarge

10. Email Action*

This Section illustrates the effect of an Email Action Rule.

CRF Email Action
Click to enlarge

*These last three Sections listed have Rules associated with them, and the Rules must be uploaded in order to experience the full functionality of these Sections. The Rules are also attached to this post.  If you want to use these Rules in your Study, be aware that you’ll have to edit them to reference the correct Object IDs for your Study.

So there you have it – one CRF, with everything but the kitchen sink. Check out the features and use them as you like. Just keep in mind that when designing CRFs, keeping it simple is always the best approach. There are times, however, when adding a little style to a form can help clarify things for data entry and may even help reduce discrepancies.

Happy designing!

Laura

Acknowledgements: Special thanks to Gerben Rienk Visser of Trial Data Solutions for many of these ideas, and to OpenClinica Application Support Engineer Jessica Gosselin for creating the Kitchen Sink CRF – we hope you find it useful!

Demystifying the Decode() Function

When I started learning to use OpenClinica, I was mystified by all of the things there were to learn. One year later, I continue to be surprised by the number of new skills and tricks I am discovering – whether in the form of existing functionality, new features (EventAction Rules!) or community contributions.

In May, I was putting together a workshop for OC14, OpenClinica’s Global Conference, on best practices for building studies in OpenClinica, and a colleague suggested I spend some time explaining all of the functions in our platform that can be used for calculations.

Alright, I thought, that should be easy. Functions for calculations in OpenClinica, while useful, are pretty simple. After reviewing the information found in the CRF Excel template for calculations, this is what I found:

Decode() screenshot

Sum()? Got it.

Min() and max()? Easy.

Stdev()? Fine.

Decode()? … wait, what?

A vague memory of our trainer’s explanation of the decode() function at OpenClinica’s Central User Training flashed through my mind. My guess is that there are users out there who don’t even know this little gem exists. Some of you may have seen it and simply dismissed it.

So what exactly is the decode() function?

The decode() function allows you to create an IF-THEN-ELSE type of statement. An item is compared to a list of search values, one by one. If the item matches a search value, then a corresponding result value is returned.

Here is your basic format:

decode(ComparatorItem, SearchVal1, ResultVal1, SearchVal2, ResultVal2, … DefaultValue)

The ComparatorItem is compared to each SearchVal in the list, one at a time:

  • The ComparatorItem is first compared to SearchVal1.
    • If the ComparatorItem = SearchVal1, return ResultVal1.
    • Otherwise, if ComparatorItem = SearchVal2, return Result2
    • And so on…
  • If none of the values in the Search List match the ComparatorItem, then the DefaultValue is returned.
    • The DefaultValue is optional, and can be omitted entirely.

The decode() function is probably best explained using an example. I will start by illustrating the general format of the function, and then move on to a few examples that may prove useful in your OpenClinica studies.

Let’s say users are entering a cardinal direction initial (i.e. N, S, E, W) and you want to decode the initial to the actual cardinal direction name (i.e. North, South, East, West). Your decode function would resemble the following:

decode(DirectionInitial, N, North, S, South, E, East, W, West, Unknown)

decode() function

Upon clicking save, the entry in the DirectionInitial Item will first be compared to “N” and if there is a match, “North” is returned. Otherwise, the DirectionInitial Item is compared to “E” and if there is a match, “East” is returned, and so on. If DirectionInitial Item does not match any of the options (N, S, E, or W), then “Unknown” will be returned.

Let’s look at a few examples that may be more applicable to your OpenClinica studies…

Temperature

If you have a Vital Signs or Physical Exam CRF, you may be capturing the Subject’s temperature. In the case report form, there can be two options for temperature units (Celsius or Fahrenheit), but the statistician may be interested only in a final temperature in degrees Celsius. To please both your data entry person and your statistician, you can create a field to capture the Temperature, and then create another Units field to record either Celsius or Fahrenheit. The final Temperature item will contain the decode function, which would resemble the following:

decode(TemperatureUnits, Celsius, Temperature, Fahrenheit, ((Temperature-32)*(5/9)) )

If TemperatureUnits is equal to “Celsius,” then return the value recorded in the Temperature Item. Otherwise, if TemperatureUnits is equal to “Fahrenheit,” then convert the value recorded in the Temperature Item to Celsius.

decode() function example

Scoring

Additionally, the decode() function is a great tool when scoring responses. For example, you may have an eligibility questionnaire with response options Yes, No, and NA, corresponding to response values 1, 0, and 99. You would like to count the number of ‘Yes’ responses. However, a simple sum() function will not work because if ‘NA’ is selected, ‘99’ will be included in the calculation. This can be solved by combining the decode() function with the sum() function.

First, you will need to determine the decode function for each item. In this case your function would be as follows:

decode(ItemName,1,1,0,0,99,0)

If Yes is selected (value of 1), then 1 will be returned. If No is selected (value of 0) then 0 will be returned. If NA is selected (value of 99) then 0 will be returned.

Note: We only want to calculate the number of ‘Yes’ responses.

This can then be combined into a sum() function. If you have three eligibility items in your CRF, then your decode function would be as follows:

sum(decode(Item1, 1,1,0,0,99,0), decode(Item2, 1,1,0,0,99,0), decode(Item3, 1,1,0,0,99,0)

decode() function examples

Interested in seeing any of these examples in action?
You can download this CRF Excel template which includes each of the three above examples.

Also, if you found another useful way to use this function, feel free to comment and share your tips with us!

Video Demos: Printing Subject Casebooks, Blank Casebooks and Blank CRFs

We’re in the process of updating our documentation to include video demos of various OpenClinica features. Take a look at the video links below on printing subject casebooks and CRFs for a taste of what’s to come – and learn something cool in the process!

Printing a Subject Casebook is a great, though much overlooked feature of OpenClinica. First introduced in OpenClinica 3.2, this feature allows you to print a Subject’s entire casebook, including all the data entered for that Subject. You have various output formats and options to include the audit history and notes and discrepancies in the results. The Subject’s data, metadata, and provenance data – it’s all there, from start to finish. It’s easy to view online, and formatted beautifully for printing. Just for fun, we tossed in demos on printing blank casebooks and blank CRF pages as well.

Check out the videos below and…happy printing!

Laura

Let’s get social about code!

The move to Github is a powerful one, and one that we know will foster a strong, active community.

github2When we started building OpenClinica more than eight years ago we wanted to build a community around it and one has really emerged. I’ve personally been able to interact with hundreds of users over the years and I’ve learned a lot from them. People have been pushing the boundaries; starting their own user groups (all over the world!) and building cool tools and add-ons for OpenClinica. The only downside is that I don’t think there has been enough visibility into what other people have been building – but why? Perhaps the right tools for sharing weren’t in place.

Github lets you fork, pull request and merge! Not only that, but you’ll get credit on your Github profile for pull requests that get merged. It’s like the social networking of code contributing. We really want to lower the barriers to solid contributions. In the past two months we’ve gotten five pull requests and two are in the process of being merged and will be in the next release (3.4). Of course, we’re really excited about this and look forward to more contributions. We really want this process to be simple, transparent and fun. Let us know what you think!

You can find us on Github here: https://github.com/OpenClinica/OpenClinica

And for more info on our road map, you can check here:

https://docs.openclinica.com/release-notes

Cheers!

Alicia

Free Webinar, Aug 27: Successful Part 11 Compliance in a Universe of Electronic Data

Regulatory compliance may not always be the life of the party, but understanding its basics and being prepared for some of its hoops is becoming increasingly important. With that in mind you may find this upcoming webinar on successful compliance quite helpful if you’re new to 21 CFR Part 11 or if you’re looking to learn what’s new in the clinical research data landscape.

Hosted by our friends at Bio-Optronics and presented by OpenClinica CEO Cal Collins (@CalCollins1) the webinar will:

  • Review the basics of 21 CFR Part 11 and related regulations.
  • Examine what data and systems are within the scope of Part 11 and which are tangential.
  • Discuss how both good tools and good processes are necessary to succeed in a Part 11-compliant environment.
  • Briefly explore the changing landscape of electronic data in healthcare, and what it means for research.

The webinar will feature a 45-minute presentation and 15 minutes of Q&A, so make sure to send your questions or tune in for additional compliance intel.

Update: This webinar is now available for download.

Successful Part 11 Compliance in a Universe of Electronic Data

Presenter: Cal Collins, CEO OpenClinica
Wednesday,  Aug 27, 2014
3:00 PM – 4:00 PM EDT

Webinar hosted by:

clinical_conductor

Automatic Event Scheduling with OpenClinica 3.3

An exciting new feature that has been at the top of the request list is Event Scheduling. Using the flexible and powerful Rules Designer in version 3.3, you can now build rules to automatically schedule events.

There are several workflow methods which offer a customized way of handling your study calendar.

Method 1 – Manual Reschedule

In Method 1, a series of study events can be scheduled at once off a given event date.  Any subsequent changes to event dates will not be automatically rescheduled. You can use arithmetic to generate future event dates (e.g. Visit 2 date = Visit 1 + 7).  OpenClinica also supports use of static dates and the system’s “current date” variable.

MethodOne

Method 2 – Auto Reschedule

In Method 2, a given event date generates all future visits and any changes to an event date in the chain will automatically update subsequent event dates.

MethodTwo

Method 3 – Auto Reschedule Based on Event Status

OpenClinica also allows you to write EventAction rules using the event STATUS. This opens the door to more calendaring power! Here, you can schedule an Event based on the status of another Event. For example, if a critical visit is skipped the system can auto-schedule the End of Study visit. Or let’s say you only want the next event to be scheduled when the current event is “Completed” (or “Started”). This is all possible–it’s really up to you.

MethodThree

Rule Designer Example

See the following example of scheduling the next event with Rule Designer.

EventActions_Rules

If you haven’t heard, the OpenClinica Rule Designer is now freely available. See http://wp.me/p6ydw-rE for more details.
Learn more about Event Scheduling with Rule Designer HERE.

Using Tokens in OpenClinica CRFs and URLs

An important new feature in OpenClinica 3.3 is the ability to incorporate variables in your CRF display. When designing your CRF, you can embed tokens into your form design with some simple markup (such as ${studySubject} to print the Study Subject ID). When the CRF is rendered for a patient visit, the tokens are parsed and replaced with the appropriate values. So, if you now want to display the name of the study, visit name or number, or study subject ID on a particular place on the form, you merely need to insert the token in the right place. You can even display the value of an item – for instance if you want to display a value entered in section 1 on a later section of the form, just use ${item[‘item_name’]}, replacing item_name with the name of your item. (screenshot right-justified – overlay snippet of CRF w/token on top of snippet of LI text with parsed variable)

ParameterizedLink2

This feature can be used in much more powerful ways too, especially when combined with the existing ability to include HTML markup and javascript code in your CRF.

In addition, tokens can be embedded as parameters in a link to an external system, such as an imaging or genomic data store. With the use of parameters specific to the study subject and event CRF, the link can take the user directly to the relevant record in the external system. With a little bit of clever javascript, the form could even embed the image or other media directly. You’ll have to set up appropriate security rules in the external system to allow this, and ensure the two systems share the same identifiers. (screenshot of embedded image)

The design, coding, and testing of this feature has been developed in collaboration with our fantastic partners at CTMM/TraIT in the Netherlands. With them, we have been able to build a feature that will fulfill a key need of theirs (link directly to a patient image at point of data entry). With the feedback of others in the community we’ve been able to make it generalizable for a far broader set of capabilities, adding to OpenClinica’s powerful existing API and extensibility while keeping it simple and familiar.

Read more here.

OC Innovation Award & Community Catalyst Award Announced

A big thanks to all the folks who helped make OC14 on June 22 & 23 a smashing success! We had engaging workshops on Sunday and a developer meet-up co-facilitated by @albertk and @kkrikor. Monday delivered a fantastic line-up sessions and demos which highlighted a lot of the exciting innovation that’s taking place in the OpenClinica community. To give you a glimpse of these sessions, we will post the session slides online soon.

At the end of the day on Monday, Cal Collins presented two newly created awards recognizing individual contributors to both our community and our software. These awards were determined based on the community’s feedback and nominations. Huge thanks and appreciation goes out to these gentlemen for their great work and selfless contributions to the community.

Congratulations to Gerben and Lindsay—this recognition is well deserved!

And special thanks to numerous others who have have done amazing work with OpenClinica. Here’s to ongoing community collaboration that will continue to deliver innovations that will make OpenClinica even more of a uniquely impactful tool for clinical research.

OC14_199Some of the attendees at OC14 at the Exchange Conference Center in Boston.