Design
Import Feature Design
We are including information about the design of the application for those who might be interested in contributing.
Background
We converted the CDASHIG V2.2 PDF to an Excel Worksheet using Adobe Acrobat. We then created a new Excel Worksheet for each Domain and Example CRF in the CDASHIG V2.2 by copying each metadata table to a CDASHIG V2.2 Excel Worksheet.
​
The Excel Worksheets for CDASHIG V2.2 are included in the source code and do not need to be recreated.
​
The database tables include additional informational fields for audit purposes and implementation.
Import Feature Design Overview
Given that there is an Excel Worksheet per Domain and Example CRF, the CDASHIG App does the following:
-
Opens the Worksheet selected by the user
-
For each row in the Worksheet,
-
it reads the Worksheet column by column and inserts each column's data into an object with corresponding columns.
-
When all the columns have been read, it adds that object to a list of Worksheet objects.
-
-
When all the Worksheet rows have been read, it inserts those rows into the CdashIg Metadata database
See the flowchart below.

Import Worksheet Validation Requirements
The import process imposes the following validations requirements.
​
-
Verify that the Worksheet has the expected number of columns according to the CDASHIG PDF
-
Verify that each Worksheet header column has the expected header column name according to the CDASHIG PDF.
-
Verify that the type of data in each column of each row matches the type of data specified in the CDASHIG PDF (for example, text or number).
-
If an error is found, abort the import process, and notify the user by providing details about the error so he can fix it.
​
Separately, importing the Worksheet into a database must be ACID compliant. ACID compliant means that when App tries to insert a Worksheet into the database, it must be atomic, consistent, isolated, and durable to ensure database integrity.
I'm a paragraph. Click here to add your own text and edit me. It's easy.
Database Tables
The database tables reflect all the columns in the metadata tables in the CDASH IG or CDISC Library. There are tables for each metadata type, e.g. Domain, CRF metadata tables and for Controlled Terminology The database tables include additional informational fields for audit purposes and implementation. They include a timestamp, a unique key per row, the version description, the domain name, and the source (e.g., Sponsor, or CDISC). In addition, the CRF includes a title and an example suffix number to distinguish variations of the example type.