├── images
└── CRF.png
├── examples
├── acrf.pdf
├── bcrf.pdf
├── logo.png
├── define.pdf
├── Test Trial acrf.pdf
├── Test Trial bcrf.pdf
├── Test Trial book.pdf
├── Test Trial spec.pdf
├── Test Trial, SDTM-IG3.2.pdf
└── Test Trial bcrf.html
├── LICENSE
├── files
├── cdisc-xml.php
├── cdisc-xml.html
├── cdisc xml.html
└── crf_1_3_2.xsl
├── README.md
└── CRF_renditions.md
/images/CRF.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jmangori/CDISC-ODM-XML-CRF-SDTM-Annotations/HEAD/images/CRF.png
--------------------------------------------------------------------------------
/examples/acrf.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jmangori/CDISC-ODM-XML-CRF-SDTM-Annotations/HEAD/examples/acrf.pdf
--------------------------------------------------------------------------------
/examples/bcrf.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jmangori/CDISC-ODM-XML-CRF-SDTM-Annotations/HEAD/examples/bcrf.pdf
--------------------------------------------------------------------------------
/examples/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jmangori/CDISC-ODM-XML-CRF-SDTM-Annotations/HEAD/examples/logo.png
--------------------------------------------------------------------------------
/examples/define.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jmangori/CDISC-ODM-XML-CRF-SDTM-Annotations/HEAD/examples/define.pdf
--------------------------------------------------------------------------------
/examples/Test Trial acrf.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jmangori/CDISC-ODM-XML-CRF-SDTM-Annotations/HEAD/examples/Test Trial acrf.pdf
--------------------------------------------------------------------------------
/examples/Test Trial bcrf.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jmangori/CDISC-ODM-XML-CRF-SDTM-Annotations/HEAD/examples/Test Trial bcrf.pdf
--------------------------------------------------------------------------------
/examples/Test Trial book.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jmangori/CDISC-ODM-XML-CRF-SDTM-Annotations/HEAD/examples/Test Trial book.pdf
--------------------------------------------------------------------------------
/examples/Test Trial spec.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jmangori/CDISC-ODM-XML-CRF-SDTM-Annotations/HEAD/examples/Test Trial spec.pdf
--------------------------------------------------------------------------------
/examples/Test Trial, SDTM-IG3.2.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jmangori/CDISC-ODM-XML-CRF-SDTM-Annotations/HEAD/examples/Test Trial, SDTM-IG3.2.pdf
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2020 Jørgen Mangor Iversen
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/files/cdisc-xml.php:
--------------------------------------------------------------------------------
1 | importStyleSheet($xsl); // attach the xsl rules
42 |
43 | // XSLT parameters
44 | $proc->setParameter('', "parmdisplay", $_POST["parmdisplay"]);
45 | $proc->setParameter('', "parmname", $_POST["parmname"]);
46 | $proc->setParameter('', "parmlogo", "$logo");
47 | $proc->setParameter('', "parmstudy", $_POST["parmstudy"]);
48 | $proc->setParameter('', "parmversion", $_POST["parmversion"]);
49 | $proc->setParameter('', "parmstatus", $_POST["parmstatus"]);
50 | $proc->setParameter('', "parmlang", $_POST["parmlang"]);
51 | $proc->setParameter('', "parmcdash", $_POST["parmcdash"]);
52 | $proc->setParameter('', "parmoids", $_POST["parmoids"]);
53 | $proc->setParameter('', "nCodeListItemDisplay", $_POST["nCodeListItemDisplay"]);
54 | $proc->setParameter('', "displayMethodsTable", $_POST["displayMethodsTable"]);
55 | $proc->setParameter('', "displayCommentsTable", $_POST["displayCommentsTable"]);
56 | $proc->setParameter('', "displayPrefix", $_POST["displayPrefix"]);
57 | $proc->setParameter('', "displayLengthDFormatSD", $_POST["displayLengthDFormatSD"]);
58 |
59 | // Do the transformation
60 | echo $proc->transformToXML($xml);
61 | ?>
62 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | #### Table of Contents
2 | * [About The Project](#About_The_Project)
3 | * [Built With](#Built_With)
4 | * [Versions](#Versions)
5 | * [Getting Started](#Getting_Started)
6 | * [Installation](#Installation)
7 | * [Client side rendition](#Client_side)
8 | * [Server side rendition](#Server_side)
9 | * [crf_1_3_2.xsl](#crf_1_3_2_xsl)
10 | * [Usage](#Usage)
11 | * [Roadmap](#Roadmap)
12 | * [License](#License)
13 | * [Contact](#Contact)
14 | * [Acknowledgements](#Acknowledgements)
15 |
16 | # About The Project
17 | This project is to exploit the CDISC ODM standard as [a single source of truth](https://en.wikipedia.org/wiki/Single_source_of_truth) definition of a CRF specification, allowing
18 |
19 | * Visual inspection of a CRF design directly from an ODM-xml file
20 | * Documentation of the link between the CRF questions and the collected data points through SDTM annotations of the CRF Forms
21 | * Creation of [acrf](/examples/acrf.pdf) and [bcrf](/examples/bcrf.pdf) submission documents including link targets from define-xml
22 | * Elimination of the labor intensive task of manually moving text boxes of SDTM annotations around on the [acrf](/examples/acrf.pdf) document
23 | * Elimination of the even more labor intensive task of identifying CRF page numbers on the [acrf](/examples/acrf.pdf) document for referencing from define-xml, by replacing them with targets for the links from define.xml
24 | * Encouraging ODM-xml files to be used as an import specification to eCRF software
25 |
26 | The solution is an XML translating style sheet allowing any valid ODM-xml file to be both human and machine readable, without changing the content.
27 |
28 | See the [CRF_renditions.md](CRF_renditions.md) document for details of the style sheet itself.
29 |
30 | ## Built With
31 | The main component is an XSLT translating style sheet applied to any ODM-xml file of your own. The result is a webpage displaying the CRF Forms, Questions, data to be collected, and SDTM annotations. The webpage can be printed from the browser, also as a PDF file.
32 |
33 | The secondary component is an HTML file used to link the XML file to the XSL style sheet. The HTML file will run in modern browsers, NOT Internet Explorer. Two versions exist; one showing files residing on a web server, one uploading files and applying a `php` program. Both version apply the same style sheet to the same ODM-xml file, resulting in the same CRF rendition.
34 |
35 | ## Versions
36 | This project covers ODM version 1.3.2 only. Other version of ODM-xml files are not expected to work. ODM version 1.0.0 and ODM version 1.1.0 files have been tested, and they don't work.
37 |
38 | Transformations are done using **** creating HTML 4.
39 |
40 | # Getting Started
41 | Check out examples of [acrf](/examples/acrf.pdf) and [bcrf](/examples/bcrf.pdf) documents to see the results.
42 |
43 | Try a [live version](https://try2.info/cdisc-xml/cdisc-xml.html) to test your own ODM file, or my supplied [example](/examples/CDISC_ODM_1.3.2_example.xml) ODM file.
44 |
45 | ## Installation
46 | Download the files from the [files](/files) folder and place them in the same folder on your web server.
47 |
48 | To set up the style sheet, you have to decide whether to perform the transformations on the client or on a server.
49 |
50 | ### Client side rendition
51 | The `cdisc xml.html` (no hyphen) file must be placed on a web server in the same folder as your ODM-xml file and the `crf_1_3_2.xsl` translating style sheet. Other XSL/XSLT files can be used as well, particular `define2-0-0.xsl` for displaying define-xml. This file must be obtained from [CDISC](https://www.cdisc.org/). When adding you own XSL/XSLT files to your server, simply add them as an `