If you are building studies in Medidata Rave, sooner or later you'll want to generate an Annotated Case Report Form so that you can communicate the study design with other team members who may not have access to Rave and to document the study data structures.
Some time ago we were asked whether we could create annotated CRFs in Microsoft Word format since this format is easily modified and can easily be converted into PDF (and many other formats) from Word.
Experiments with Template solutions
For a proof of concept we began by looking at templating solutions for Word. The idea was to have a Word document and then "decorate" it with template control tags which would allow us to loop over collections such as the list of Forms in a study and its Fields and insert text.
This seemed like it would work well for simple content:
But for complex content like generating the Annotate of a Form it soon became a tangled mess of template tags that mixed up the content and the formatting.
The idea had promise, "It's just a word processing document!" but the reality didn't deliver for complex documents like annotates.
Back at the drawing board we thought about next steps and refined our requirements:
Word Based. We love free software but our corporate users have Microsoft Word installed already. Often their computers are locked down so that they can't install new software even if it is free.
Flexible. Should be able to use Word features such as tables, borders, font-sizes and colors etc.
Easy to author for a technical data manager but not code-inside-Word.
"Easy" is a relative term and difficult to reconcile with "Flexible" but if we could deliver a solution with roughly the complexity of authoring HTML web pages that seemed a reasonable compromise.
Word Documents from Markup
Inserting HTML into Word documents is possible. We tried it, but it didn't give us the fine level of control we wanted for generating our documents. Could we instead create a markup language for Word? Something like HTML?
Here is a simple example of the markup language we created:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
<?xml version="1.0" encoding="utf-8" ?> <document> <heading level="0" align="center">~ Invoice ~</heading> <para> Dear Sir/Madam,<br/><br/> <run font-bold="true">Thank you</run> for your order: </para> <table style="Light Shading Accent 1"> <row> <cell>Qty</cell> <cell>Desc</cell> </row> <row> <cell>15</cell> <cell>User Licenses</cell> </row> </table> <para space-before="0.5cm"> Yours Sincerely,<br/> <br/> The TrialGrid Team </para> </document>
This markup language gives us the ability to create headers, footers, tables of contents, insert pictures, change page sizing, manage fonts and styling etc.
With this markup language we were able to finally start on building our Annotate generator. Here's a sneak peek of an annotate that just shows the layout of the Form:
We didn't set out to create a system for generating any kind of Word document but it gives us a lot of flexibility in generating all kinds of annotate variants. In the example above we don't show Field OIDs or names but we can easily add that in any font, color or position you might want.
The markup to generate this result is not too complex and we plan to make it available to our users so that they can modify it and make their own variants.
In the meantime, if you have ever wanted something more or different from your Medidata Rave annotates please do get in contact, we'd be happy to discuss your requirements and maybe incorporate them.