We hope you'll join us for our 4/23 webinar on using data tables to apply reference ranges and AE codes in OC4. For more information and to register, visit https://register.gotowebinar.com/register/2882170018956684555

CDISC Reader & Writer


As part of the OpenClinica code base, are there modules that can be identified as CDISC XML readers and writers, which would convert the CDISC file into a java (or other language) object model. I am basically looking for a tool that will allow me to compare/contrast two CDISC XML files outside any EDC, and what I mentioned above is a good start. Are there any other third party tools for that?



  • lindsay.stevenslindsay.stevens Posts: 404 ✭✭✭
    Hi @rbadrawi

    If you want to compare two clinicaldata extracts to see what has changed, I wrote up an xsl here [1] that can do that.

    It just requires java jdk and a copy of saxon, which you can find in your OpenClinica install directory (or grab a copy from [2]).

    There are comments/instructions in the xsl but basically you point the xsl at a directory with your clinicaldata xml files, it grabs all the item values from all the files and does a cartesian join, with a column for each file's values based on the file's ODM/@CreationDateTime. For example if you had 2 files it would give you columns like:

    (SubjectKey,StudyEventOID,cols etc);ValueAt20130911T1127471000;ValueAt20140310T1207171100

    Then to analyze it, you could for example import the xml file to Access, and write a query with a comparison function like:

    , IIf([clinicaldata].[ValueAt20130911T1127471000]=[clinicaldata].[ValueAt20140310T1207171100],"No change","Change") AS Changes
    FROM ClinicalData;

    ...and filter the 'Changes' column for 'Change'. Or just scroll through it meticulously.

    I tested it using the ODM 1.3 xml with full OC extensions format. It worked with 2 or 3 files at once so I suppose you could do as many as you want. Also the basic odm identifiers are used, but would be possible to modify it to use the OpenClinica extensions instead or include additional information.

    If you want to compare metadata between studies, that could be done using a similar approach.

    [1] https://github.com/lindsay-stevens-kirby/openclinica_scripts/tree/master/compare_clinicaldata
    [2] https://github.com/lindsay-stevens-kirby/openclinica_scripts/blob/master/dnotes/saxon-8.7.jar
  • rbadrawirbadrawi Posts: 9
    via Email
    Thanks a lot Lindsay for the elaborate feedback.

  • haenselhaensel Posts: 602 ✭✭✭
    edited April 2014
    Hi @rbadrawi

    There is a openclinica-odm-1.0.jar within OpenClinica that is used for the CDISC-ODM part.

    Regards, Christian
  • isartwisartw Posts: 22
    Why don't use Araxis Merge or Winmerge with XML plugin?
    I personally prefer Araxis because of great UI but Winmerge works fine too.
    Both tools works great for me and support various types of text files including source code files and XML.
This discussion has been closed.