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:




The Future of Open Source

It was a privilege for OpenClinica to help with the “Future of Open Source” survey recently completed by Michael Skok of North Bridge Ventures, Black Duck and Forrester. The survey polled users and other stakeholders across the entire spectrum of OSS.

Recently published results from the survey substantiate the idea that open source is ‘eating the software world’s lunch’ (to borrow a phrase from Michael). OSS powers innovation, increases security, and enables a virtuous cycle of proliferation and participation across major sectors of our economy. This is even true in healthcare and life sciences, and we are seeing these trends within OpenClinica community. People are adopting OpenClinica and other open source research technologies because of the quality, flexibility, and security they provide, not just to save a buck or two.

What I find particularly significant in the results is the increased recognition of quality as a key driver of adopting open source. 8 out of 10 survey respondents indicate quality as a factor for increased OSS adoption. This has vaulted from the #5 factor in the 2011 survey to #1. In research, quality and integrity of data are paramount. OpenClinica’s active (and vocal!) community’s constant scrutiny of the code, and continuous improvements demonstrate the power of the open source model in producing quality software. Furthermore, working in a regulated environment means you need to do more than just have quality technology. You also must provide documented evidence of its quality and know how to implement it reliably. The transparent development practices of open source are huge contributors to achieving the quality and reliability that clinical trials platforms require. Knowing that feature requests and bug reports are all publicly reported, tracked, and commentable means nothing can hide under the rug. A public source code respository provides a history of all changes to a piece of code. And of course, it greatly helps that many of the key tools and infrastructure that power open source projects are open source themselves.

That’s just one set of factors driving us to a more open, participatory future:

“As a result of all this, Open Source is enjoying a grassroots-led proliferation that starts with a growing number of new developers and extends through the vendors and enterprises to the applications and services, industries and verticals, reaching more people and things in our everyday lives than ever before… there are now over 1 million open source projects with over 100 billion lines of code and 10 million people contributing.”

One thing I predict we’ll see a lot more of in the next year, especially for OpenClinica and life sciences as a whole, is greater interaction between projects and communities. OSS reduces traditional barriers and lets more people ‘get their hands dirty’ with tools and technologies. As OSS tools, libraries, and apps proliferate, innovation will increasingly come from the mashups of these projects.

Follow the survey findings and updates @FutureofOSS and #FutureOSS  

Forum upgrades and more

OpenClinica CommunityWhen you join OpenClinica as a user or a developer, you are joining an active, collaborative community. Our community is growing and with that growth it is constantly changing. Very soon you’ll see some changes that will allow you to interact with other community members in a richer, more powerful way.

The venerable GNU Mailman list software has been at the heart of the OpenClinica community for many years. It does it’s intended job (user and developer email lists) really well, but does not offer many features beyond that. Next week we are launching a new tool to power how the community works and corresponds.

The new OpenClinica Forums, powered by Vanilla, will offer the ability to post and read via the web. They still support email-based correspondence, so if you prefer to post and read via e-mail, you won’t notice much of a difference from how you’re used to doing things. In addition, the new web interface will have numerous features for search and collaboration that are simple yet powerful.

The forums will be organized into categories by topic. Some will be end-user focused, some will be IT/system admin focused, and some will be developer focused. Others may be a hybrid. If you’re currently subscribed to either the users or developers list, upon launch of the new forums, you’ll be subscribed to receive email from all of forum categories if you wish. However, you can log in to customize your settings to only receive emails from certain categories. If you have an idea for a new category, suggest it on the forums and if there’s support for it in the community we’ll create it for you.

Like any growing community, having a few ground rules about expected behavior is good for everyone. The OpenClinica community already does a great job being respectful and helpful, but it’s good to put the basics in writing so new and old participants alike know what to expect. New Community Guidelines (to be posted next week as well) are designed to help preserve the valuable culture our community has established, and ensure that participants continue to engage in the same meaningful, respectful ways as we grow. The guidelines are modeled off other successful open source communities and should be intuitive to most… however if you have feedback that can improve them, let us know (on the forums of course)!

Last and perhaps most exciting, we’ll soon be launching a new OpenClinica Extensions site. This site will allow you to easily share useful tools, add-ons, and integrations you have built to make OpenClinica more useful. It will be a catalog of useful OpenClinica resources from around the globe. We’ll have more information in the coming weeks as this gets closer to launch.

OpenClinica and TraIT: A Dutch National Research Infrastructure

Is it possible to set up an IT infrastructure for translational research for an entire country? The Dutch Translational Research IT (TraIT) project (http://www.ctmm-trait.nl/) believes it is. Admittedly, The Netherlands is not exactly the same size as China or the US, but nevertheless already 26 partners from industry and academia to collaborate in this consortium to organize, deploy, and manage a nationwide IT infrastructure for data and workflow management targeted specifically at the needs of translational research. It includes the Dutch university medical centers, notable companies like Philips, and charities such as Dutch heart and cancer foundations.

At its outset, TraIT worked closely with selected translational research projects and scientists, piloting potential solutions with real research data from these projects. This work resulted in the selection and implementation of central TraIT services for clinical data gathering (OpenClinica) and image archival and retrieval (NBIA). TraIT has now reached a very interesting phase where the first IT solutions put in place in each of the four major domains of translational research (clinical, imaging, biobanking and experimental (any-omics)) are starting to flourish.

Word is quickly spreading about the TraIT infrastructure available. In particular, OpenClinica is taking off very well with amazingly little advertisement: currently the TraIT installation (OpenClinica.nl) contains 47 studies with 256 users representing 77 institutions, and is still growing rapidly as can be seen in the following graph:

Uptake of OpenClinica in TraIT

Based on the input obtained from users, we decided to augment some of OpenClinica’s capabilities, in particular for data loading. Obviously, the improvements are made available to the community whenever possible. For further enhancements, TraIT and OpenClinica, LLC entered into a partnership focusing (initially) on improvements in the areas of role-based security, linking to external (imaging) data archives, and data import/export. Hopefully, the fruits of this collaboration will soon be available to the entire OpenClinica community.

The next challenge faced by the TraIT project is integrating the clinical data from OpenClinica with molecular profiling data, which is needed to address the key question in translational research: how to correlate the variation in disease phenotype to variations in underlying biology. Another open source solution has been selected for this purpose: tranSMART, a translational workbench and data integration environment supported by several major Pharma and research consortia. The open source tools selected promise to be a powerful combination: data collected in OpenClinica can be further shared and analyzed in the tranSMART environment.

View slides from a presentation on TraIT delivered at the 2013 OpenClinica Global Conference.

Jan-Willem Boiten
Project Manager
TraIT at the Center for Translational Molecular Medicine (CTMM)

OpenClinica Web Services Tutorial Videos

OpenClinica’s web services layer provides a powerful mechanism for programmatic data interchange between OpenClinica and other systems. Below are the first two videos in a series of tutorials on working with web services. The videos are created by Hiro Honshuku, including the background music! Thanks Hiro!

Check Out the 2012 OpenClinica Conference Program

The program for the 2012 OpenClinica Global Conference is now available online (see it here). This year’s program features lots of useful content–key themes include:

  • Mobile (including mobile data collection, integration with mobile applications, etc.)
  • Integration/Interoperability (including web services, randomization, and more)
  • Using OpenClinica with SAS (perspectives, methods, and best practices)
  • Tutorials (including study build, installation/troubleshooting, data mining, performance management, and several other topics)
  • Case studies (including FISMA security, OpenClinica’s usage in the largest clinical research network in the world)
  • …and more!

The event also features hands-on exhibits demonstrating OpenClinica-related technologies. Finally, we are thrilled to have Dr. Tomasz Sablinksi deliver this year’s keynote address as he proposes a thought-provoking new “open source” model for clinical development.

The conference is April 22-23 in Boston. Space is limited so be sure to register today! And don’t forget to sign-up for post conference, system admin, developer, and user training!

– Ben Baumann

Growing the Community

A recent discussion on the OpenClinica users mailing list centered around making OpenClinica more optimal for small, low-budget academic research studies, and how open source community participation is helping OpenClinica to meet those users’ needs.

Regarding OpenClinica’s target audience: OpenClinica is used in a tremendous variety of studies and organizations. Many of these are paying customers of OpenClinica LLC (f/k/a Akaza Research) who are running large GCP compliant, multi-site clinical trials. Clearly we as a company have an obligation and incentive to support them and provide software that fits their needs.

But I also am committed to making OpenClinica (the technology) successful and widely used. We want OpenClinica to power as many studies as possible, both small and large. If you’re determined to scratch down some data into Excel I won’t stop you. But since you’re reading this you likely know the arguments against doing so, and want a more robust solution for capturing and managing your clinical research data. We want lots of OpenClinica researchers, entrepreneurs and service providers to thrive in a growing ecosystem. If you are a researcher with no budget and you need OpenClinica to do X, me and my staff are ready and willing to prioritize getting feature X into a release if we have meaningful participation from community members to get that feature designed, coded, documented, tested, etc. Every participant in the OpenClinica community has the ability to make those contributions and/or to mobilize community participation to get their feature defined and developed. It’s not benevolence or volunteer work – with open source software the benefit you get out is proportional to the investment you put in.

There are growing examples of this participation. But more is needed to truly realize OpenClinica’s potential. As a community, we need to ask: (1) How do we grow participation? (2) How do we make it easier to participate? and (3) What can you contribute?

Thoughts on Code: OpenClinica and Open Standards with CDISC

One of the strengths of open source is the ability to open up the code base and learn by reading and doing, that is, the transparency of the code base allows everyone to get involved. However, the barrier to entry can be the complexity of the code itself; without a qualified guide, you can get ‘lost in the code jungle’ pretty quickly.

Welcome to our code

With that in mind, we are starting today to author blog posts about the OpenClinica code base, including topics like how the code is organized, what the code does, and so on. A lot more detail on this can be found on the OpenClinica Developer Wiki, but these posts, viewed as a whole, can be seen as a gentle introduction, before interested parties start to dive deeper.

When we began to design OpenClinica, we had very few requirements, but the desire  to create a fully-featured database for clinical data, aligned with open standards, making use of the best technology available. Call it the ‘tyranny of the blank page’, if you will. Every start-up faces it. Where do you start? What’s the plan? How do you build it, and what do you build first?

Luckily for us, we could use an open standard to base our schema, and our code, on top of; the CDISC ODM.

What’s a CDISC ODM?

The Operational Data Model, or ODM for short, is a standard published by the Clinical Data Interchange Standards Consortium (CDISC), and is “designed to facilitate the archive and interchange of the metadata and data for clinical research”, as it states in their website. This is a standard which is designed to a) hold metadata about a Study and all Events contained within a given Study, and b) hold Clinical Data which has been collected for a given Study. All of this information is held in XML, which is a very useful format for exchanging between sites, labs and institutions.

Figure 1: Study Metadata and OpenClinica

In the above image, you can see an XML file on one side using CDISC ODM and on the other side, an OpenClinica database. Inside the database are tables that map directly to different objects described in the XML. You’ll notice that the tables associated with study metadata also have a column called ‘oc_oid’, which are the Object Identifiers we use in all aspects of the OpenClinica application.

Figure 2: ODM Clinical Data and OpenClinica

In the second image, you see that the latter half of the XML file (the part  contained in the <ClinicalData> tags) also links to specific tables in the OpenClinica database. Since we link back to the Study metadata through those OIDs, we don’t use OIDs in those tables, but instead the conventional methods of primary keys and foreign keys in the database is good enough.

OK, so they map. But where’s the beef?

Of course, the ODM XML in the images is rather simple, and does not capture the full capability of the metadata that can be passed back and forth between different ODM data sources. For a longer example, you can take a look at the following XML, which defines the Rules governing a single Item:

Sample ItemDef in CDISC ODM XML

As you start to piece together the XML in the above example, you’ll see that not only can you define the Question in multiple languages, but you can specify which measurement it is using and what kinds of values you can accept.  The XML standard is extensible enough to add other pieces of information as well, including coded lists, data types, and so on.  More information can be found at XML4Pharma’s page entitled, ‘Using CDISC-ODM in EDC.’

In future posts, we hope to describe more about the code base, and show how it all comes together as a full-featured application. If there are topics that are of specific interest, we hope you’ll comment below and let us know what you’d like to see here in the coming months.

OpenClinica Community Surpasses 10,000 Members …and oh yeah, what is this open source thing?

Heartfelt thanks to everyone who has supported the OpenClinica project over its relatively brief history. Our community now stands at over 10,000 registered members, representing a 3-fold increase in size over the past two years alone. With members in over 70 countries across six continents, open source is now a central part of the clinical trials software landscape. This is a major accomplishment that we should all be proud of.

While 10,000 may sound like a lot of people, there are still many within the clinical trials industry who do not understand the key concepts of open source. Other software categories have a high prevalence of open source offerings. For instance, when you look at database products (like MySQL, Postgres) and operating systems (like Linux, Android, BSD) there are numerous open source options. Open source is even widely prevalent in the EMR/EHR space, with OpenVista, and over 20 others to choose from.

As OpenClinica ushers the benefits of open source into the clinical trials space, it is instructive to periodically revisit the fundamentals of what exactly open source is.

What is open source?

Open source is a type of free software license–free as in “freedom,” not “beer.”[1] It is not “freeware” and it is not “shareware.” More specifically, open source provides users with[2]:

  • The freedom to run a program, for any purpose
  • The freedom to study how a program works and adapt it to a person’s needs. (Access to the source code is a precondition for this.)
  • The freedom to redistribute copies so that you can help your neighbor.
  • The freedom to improve a program and release improvements to the public, so the whole community benefits. (Access to source code is a precondition for this.)

There are numerous open source software licenses based on the above tenants and roughly 60 open source licenses have been approved by the non-profit Open Source Initiative. The OpenClinica Community Edition is distributed under the LGPL open source license.

Open source as a development model

The software development models around open source projects are typically characterized by transparency and collaboration within the community. Opening the product up to the community, allowing anyone to see the good with the bad, helps to quickly uncover problems and identify areas for improvement. Most open source projects will publicly maintain a project roadmap and defect tracking system. Release cycles of active open source projects tend to be early and often.

The result of such openness and transparency is software that is often more reliable and better performing than proprietary, closed alternatives.

What is professional open source?

A symbiotic relationship exists in a health professional open source model between the Community, Company, and Customer.

Some people may think of open source projects as purely volunteer efforts. That is definitely not the case! While governance models vary from project to project, commercial enterprises have helped make open source consumable by ordinary people and businesses. For example, through its OpenClinica Enterprise Edition, Akaza Research provides support and regulatory assurances that help to minimize business risk and ensure success for organizations wishing to use OpenClinica in mission critical settings. Organizations can turn to Akaza to rapidly develop in-house expertise, obtain hosting and expert professional services, and ensure their OpenClinica systems and users are productive and satisfied.

A pervasive trend in software

Open source is everywhere[3]. From the Firefox web browser to the most popular websites, everyone who uses the World Wide Web uses open source. As web-based technology, OpenClinica and the OpenClinica community are direct beneficiaries of numerous other open source projects. Those within the clinical trials space who recognize the significance of open source will be a step ahead of their colleagues.

– Ben Baumann, Co-Founder, Akaza Research, LLC

Want to be an OpenClinica Community Member? Members get free access to OpenClinica software downloads, Issue Tracker, email forums, and the OpenClinica Case Report Form (CRF) Library. Register at http://www.openclinica.org/register.php.

[1] See Open Source Software Definition, http://www.opensource.org/docs/osd
[2]From the Free Software Foundation: http://www.fsf.org/licensing/essays/free-sw.html
[3]The SourceForge repository of open source codebases counts over 230,000 OSS projects.

OpenClinica 3.1 (project “Amethyst”) Preview

The next major milestone for OpenClinica (project code-named “Amethyst”) will be OpenClinica version 3.1. While this release contains roughly 85 tweaks, fixes, and enhancements, this post describes some of the more significant enhancements that will be included (check out the Amethyst project roadmap page for a full list—note: openclinica.org login required).

New features in OpenClinica 3.1 will include:

  • Dynamic Items in CRFs
  • Audit Log and Discrepancy Note Data with ODM Exports
  • Assignment of Failed Validation Check Discrepancy Notes
  • Relative Paths for Item OIDs in Rules
  • Discrepancy Note Flag Colors in the CRF
  • Modularization
  • Multiple Site Level Users Allowed Access to an Event CRF
  • Simple Conditions

Dynamic Items in CRFs

OpenClinica 3.1 will support Showing and Hiding of CRF Items using both the CRF template and a Rules file. When a user enters data and saves a CRF section, data fields may be shown or hidden based on value(s) that user provided in one or more other fields on that form. This capability is also commonly referred to as “skip patterns.” A simple example would be a CRF question asking if the patient is male or female. If the value provided is female, a pregnancy related question could then be displayed to the user entering data and all questions associated with males could be hidden from view.

Audit Log and Discrepancy Note Data with ODM Exports

Audit Log data and Discrepancy Note data for a subject will be available in the ODM data extract format with OpenClinica extensions. This will allow the user to have all of the clinical data, audit log data, and discrepancy note data in a single data file.

Assignment of Failed Validation Check Discrepancy Notes

Currently, OpenClinica supports assignment and workflows around only the Query type of Discrepancy Note. OpenClinica’s “assignment” capability will be expanded to also include the Failed Validation Check type of Discrepancy Note. For Failed Validation Checks, the first note in the Discrepancy Note thread will not be assigned, but Data Managers, Study Directors and Monitors will be allowed to assign the thread to a user for review/resolution. OpenClinica will also restrict the Clinical Research Coordinators and Investigators (both site-level users) from setting the status of Failed Validation Checks to Closed.

Relative Paths for Item OIDs in Rules

A new enhancement to Rules authoring will allow the Rule creator to write one Rule Assignment for a particular CRF Item, and have the Rule execute wherever that Item’s OID is used throughout all of the study events. This increases the “portability” of rules, allowing the user to write one Rule, and have it apply multiple times rather than having to author multiple Rules and multiple Rule Assignments.

As an example, a Rule Assignment would need to contain the following path in OpenClinica 3.0.x:


If the CRF was used in multiple events, the creator of the Rule file would have to specify the path to the other event as well.

In 3.1, all the user has to do is write:


and the Rules will be executed wherever that Item shows up in the study.

Discrepancy Note Flag Colors in the CRF

OpenClinica 3.1 will include additional Discrepancy Note flag colors that correspond to the various statuses of a particular thread. Currently in OpenClinica, if a Discrepancy Note thread exists, the flag will always display in a red color regardless of the Discrepancy Note status. In 3.1, the color of the flag will be reflect the “most severe” status of any thread that is on a particular item (more than one thread may exist for any item). For example, if there is a Closed thread and an Updated thread on one item, the color of the flag will be yellow representing the Updated status. If there is just a Closed thread, the color of the flag will be black. To support people who are color blind or shade blind (like myself) there will be a roll over when you put your mouse on the flag, showing you the number of threads and each of their statuses when Viewing a CRF.

Modularization & New Web Services

Modularization is defined as a software design technique that increases the extent to which software is composed from separate parts, called modules. Conceptually, modules represent a separation of concerns, and improve maintainability by enforcing logical boundaries between components.

What this means for OpenClinica is we have started to separate the application into multiple pieces. In version 3.1, we have modularized the web application from the web services functionality. This will allow new web services to be developed on separate release timelines from the main web application, facilitating the system’s extensibility.

In addition, we are release some web services with 3.1, (these were contributed by Colton Smith of Geneuity and openXdata):

  • CRF Data Import
  • Retrieve a list of studies
  • Retrieve a list of events and their CRFs
  • Retrieve a list of subjects and their events

Multiple Site Level Users Accessing an Event CRF

OpenClinica 3.1 will allow different site level users access to an Event CRF, even if they are not the conceptual “owner” of that CRF. In prior versions of OpenClinica, once a user began data entry in a CRF, the system prevented other users from adding information or data to the CRF until it had been marked complete. The new feature will allow a second user to continue entering data before the CRF is marked complete.

This change to OpenClinica will also help facilitate the ease of recording adverse events in a separate CRF. A user will not have to mark it complete in order for another user to provide additional adverse events that have occurred for a particular subject. In addition, this new functionality will prevent users from accessing an Event CRF if another user already has the form open. In this case, the second user will receive a message saying that the form is currently being accessed by another user.

Simple Conditions

In addition to the Dynamics capabilities that will be part of 3.1, we have added a feature called Simple Conditions. This feature is similar to Dynamics in many ways, but can be implemented through the CRF Template directly rather than writing a separately Rules XML document.

With Simple Conditions, a person creating an OpenClinica CRF will have the ability to designate Items as “hidden” from the data entry person’s view until a particular option is chosen for another CRF Item. The data entry person will not have to click “save” on the form–instead, as soon as the option is selected, this hidden field will be shown in real time.An example of the type of use case this feature targets, is a CRF question with two fields, one for “race” and the other for “comments” (which is hidden). If the data entry person selects the value of “other” for the race field, the hidden comments field will be display underneath.

Akaza Research is excited about bringing OpenClinica 3.1 to the community! Your comments and feedback are appreciated. Please check back in next week or so for an update on our timelines for Alphas, Betas and a Production release.