Table of Contents
This chapter describes the files maintained under each DFdiscover study directory. It starts with a brief overview of the top-level directories and then describes the files kept under each directory in detail. A similar chapter, System Administrator Guide, DFdiscover System Files, describes the files located under a DFdiscover installation directory.
The following directories are part of a standard DFdiscover study definition.
bkgd.
This directory holds CRF background images created by DFsetup.
Three files are created for each study plate.
These include the plate background used
by DFsetup (plt###), the data entry screen used by DFexplore (DFbkgd###),
and a background used when printing CRFs
containing database values from DFprintdb or DFexplore (DFbkgd###.png).
![]() | Note |
|---|---|
This directory must not be used to store any other files. Extraneous files will be deleted when CRF images are published from a development study to its production study, or when reverting a development study to the current state of its production study. |
data.
This directory holds the study data files, queries data file,
and journal files.
The following files are described in detail later in this chapter in
The study data directory:
plt###.dat - per plate data files.
the study data files are created from the data recorded on the study
CRFs
DFqc.dat - the Query database.
the quality control data file contains all field level queries added to
flag CRF problems and request data clarifications from investigators
DFreason.dat - reason for change records.
the reason for change data file contains all field level
reasons for data changes clarifying, if required, why a field's
data value was changed
DFin.dat - the new records database.
the new record queue contains all records that have been received and
ICRed by the DFdiscover software but not yet validated
plt###.dat - missed records.
missed records serve as placeholders in data files indicating that
requested data records will never be available
plt###.ndx - per plate index files.
per plate index files that speed database searching and hold record
lock information
YYMM.jnl - monthly database journal files.
the journal files record all database
transactions and provide an audit trail of additions and
modifications
dfsas.
This directory contains any stored SAS® jobs that were created from
DFexplore.
dfschema.
This directory contains any stored DFschema files which are used to track
changes to the study setup. These are used by DFaudittrace to generate
records for DF_ATmods.
drf.
This directory contains any .drf files (DFdiscover Retrieval Files) created
by server-side tools, including reports and the program
DFmkdrf.jnl. The common .drf files created by DFdiscover
reports include:
DupKeys.drf.
Lists any duplicate primary keys found in the database by the
last execution of DF_XXkeys.
VDillegal.drf.
Lists any illegal visit dates found in the database by the last
execution of DF_XXkeys.
VDincon.drf.
Lists any inconsistent visit dates found in the database by the
last execution of DF_XXkeys.
DFunexpected.drf.
Lists any unexpected data records found in the database by the
last execution of DF_QCupdate.
ecbin.
Any study specific scripts or programs that are run by edit check function
dfexecute() and any Plate Arrival Trigger
scripts defined in the DFsetup Plates View, must be stored in the
study level ecbin directory.
Executables can also be stored in the DFdiscover level ecbin
directory for use in all studies. The study level ecbin directory has
priority if the same program or script is stored in both locations.
ecsrc.
This directory contains the edit check files:
DFedits and any other edit check source files referenced in 'include' statements.
Include files can also be stored in the DFdiscover level ecsrc directory.
The study level ecsrc directory has priority if the same include file is stored in both locations.
lib.
All study configuration files, created through both
the DFadmin and DFsetup tools, are located in this directory.
The following files are described in detail later in this chapter in
The study lib directory:
DFccycle_map - conditional cycle map
. Defines cycles that may be required, unexpected or optional,
depending on specified database conditions (optional).
DFcenters - sites database
.
Study sites database includes information on
all clinical sites participating in the study.
DFcplate_map - conditional plate map
. Defines plates that may be required, unexpected or optional,
depending on specified database conditions (optional).
DFcterm_map - conditional termination map
. Defines database conditions that signal
termination of subject follow-up (optional).
DFcvisit_map - conditional visit map
. Defines visits that may be required, unexpected or optional,
depending on specified database conditions (optional).
DFCRFType_map - CRF type map
. Defines categories for different CRF background types (e.g. translations) (optional).
DFcrfbkgd_map - CRF background map
. Defines visits with CRF backgrounds used across multiple visits (optional).
DFedits.bin - published edit
checks
. The "published" equivalent of the edit checks - for use by
DFexplore clients only (optional).
DFfile_map - file map
. Specifies each unique CRF plate used in the
study.
DFlut_map - lookup table map
. Defines and associates lookup table names with
directory names of lookup tables. Also includes definition for query lookup
table, if it exists (optional).
DFmissing_map - missing value map
. Missing value codes (and labels) used in
the study (optional).
DFpage_map - page map
. Used to specify descriptive labels to replace
the visit/sequence and plate numbers that are used by default to identify
problems on the Query Reports (optional).
DFqcsort - Query and CRF sort order
. Specifies a sort order for queries as written
on Query Reports. The default is to sort by field number within plate number
within visit/sequence number within subject ID (optional).
.DFreports.dat - reports history
. Personal file of DFdiscover report
commands (and options) corresponding to reports which the user runs in the
reports tool (optional).
DFschema - database schema
. Study database schema (or dictionary) describes
all variables on all plates, as specified in the setup tool.
DFschema.stl - database schema styles
. Study database schema (or dictionary)
describes all variable styles defined for the study in the setup
tool.
DFserver.cf - server configuration
. Configuration file for the study database
server.
DFsetup - study definition
. This is a JSON format file maintained and used by
DFsetup to record all study setup information, including all plate, style
and variable definitions.
DFsubjectalias_map - subject alias map
. Used to specify descriptive labels to optionally replace
the numeric subject ID used as an identifier throughout DataFax.
DFsubjectalias_map.log - subject alias change log
. Log all changes to the mapping of subject ID to subject alias
over the course of a study.
DFtips - ICR tips
. This file contains the coordinates, field type and
legal values for all variables defined on all plates. It is used by the ICR
software to create the initial data record from new CRF pages that arrive by
fax.
DFvisit_map - visit map
. This file describes the scheduling of subject
assessments during the trial and the CRF pages expected at each
assessment.
DFwatermark - watermark
. This file describes watermarks used for printed output
assigned by role.
QCcovers - Query cover pages
. This file contains formatting information to be
included in a Query Report cover sheet. To include a cover sheet for a Query Report,
QCcovers must first be defined.
QCmessages - Query Report messages
. This file contains messages to be included in
Query Report cover sheets. More than one message may be included in a single Query
Report, however, DF_QCreports expects the cover sheet information and all
messages to fit on a single page.
QCtitles - Query Report titles
. This file describes how the report title and
each title of the 3 sections of a DFdiscover Query Report are to be
customized. DF_QCreports checks for the existence of this file and
will use it if it exists, otherwise standard titles will be produced.
DFqcproblem_map - Query category code map
. This file contains all the system-defined and user-defined query category codes.
DFreportstyle - DFdiscover Report styling
.
This file contains styling "instructions" for reports, excluding Legacy reports.
Styling includes font choices and colors used in graphs and charts.
lut.
This directory contains all study specific lookup tables.
Lookup tables can also be stored in directory lut at the DFdiscover level.
Study level files have priority if a lookup table with the same file
name is stored in both locations.
Lookup table file names must be associated with an edit check name in
DFlut_map (found in the study /lib directory) before they can be used in edit checks.
pages.
This directory holds all standard (SD) resolution (100 dpi) CRF image and supporting document files for all
CRF pages received or uploaded during the study. Each CRF page received as
a fax or PDF
is stored as a PNG file (Sun Rasterfile in pre-2014 DFdiscover releases), and
requires about 25K bytes of disk space (i.e. 40 CRF pages per MB). Supporting
documents can be audio, video, DICOM or PDF files and will be in their
native format.
DFdiscover creates subdirectories, below the study pages directory, in which to
store the CRF image files. These subdirectories are named by the year and week
(in yyww format) in which the CRFs arrived.
For example, a study which started
on January 1, 1995 would have subdirectories named: 9501, 9502, 9503,
etc. through to the end of the trial.
Within each of the yyww subdirectories, the
individual CRF page files are named by the concatenation of the
sequence number of the fax (starting at 0001 each week) in which
they arrived during that week, and their page number within the fax.
The file-naming format is ffffppp.
For example, if the first fax to arrive in the week of 9501 contained
3 pages, it would be represented by the following files beneath the study pages
directory: 9501/0001001, 9501/0001002,
and 9501/0001003.
The ffff part of the file name is a sequential value
constructed from 4 characters, each character taken from the alphabet:
0 1 2 3 4 5 6 7 8 9 B C D F G H J K L M N P Q R S T V W Y Z
This is essentially the digits 0 through 9 followed by the uppercase letters A through Z, with the exception of the letters A, E, I, O, U, and X. This part of the file name thus lies between 0001 and ZZZZ, which allows for a total of 30x30x30x30-1 = 809,999 faxes per week. Example file names within a week include:
0001005 5th page
of 1st fax
000B001 1st page
of 10th fax
000Z011 11th page
of 29th fax
0010002 2nd page
of 30th fax
01C0004 4th page
of 1230th fax
pages_hd.
This directory holds all higher (HD) resolution (300 dpi) CRF images and supporting document files received or uploaded during the study. DFdiscover creates subdirectories and stores the files in the same manner as the pages directory.
reports.
It is recommended that all study specific reports, i.e. those programs
which have been created specifically for a particular clinical trial, are stored
in the study reports directory. This helps
to standardize maintenance across studies.
Documentation for study specific reports must also be stored in this
directory in a file named .info, which uses the same
format used to document the standard DFdiscover reports.
The specific requirements of this file and its format are described in
Writing Documentation for Study Specific Reports.
reports/QC.
This directory is used to store the standard DFdiscover Query Reports, created by
DF_QCreports.
The files and directories maintained under this directory are briefly
described below.
ccc-yymmdd | The naming convention for Query Reports is a zero padded 3 digit site ID (if the site ID is greater than 999, it will be a 4 digit number), followed by a dash, and then the date on which the report was created. For example: 055-150815 would identify a Query Report created for site 55 on Aug 15, 2015. Thus you can tell from a Query Report name, both whom it was created for and when. Although this is helpful it does have one disadvantage, namely, it means that you cannot create more than one Query Report per day for an individual clinical site. If you do, the earlier one will be over-written. However, since Query Reports are sent to the clinical sites, and this isn't something you should do more than about once a week, and certainly not more than once a day, this approach to naming Query Reports works.
Query Reports remain under |
| Query Reports are moved to this directory after they have been successfully sent to their respective clinical sites. |
| DF_QCreports is also able to create named, internal Query Reports, which can include subjects from more than one site. These reports are written directly to this directory. |
QC_LOG | This is a plain ASCII file that lists any error messages reported during the last execution of DF_QCreports. |
| This is a plain ASCII file that lists the Query Reports created by the most recent execution of DF_QCreports. |
SENDFAX.log | This is a plain ASCII file in which DF_QCfax records the success or failure of its attempts to fax Query Reports to the clinical sites. |
SENDFAX.qup | This is a plain ASCII file that lists all Query Reports which have been queued up for transmission to the clinical sites. |
other files |
Occasionally, DF_QCreports might be halted in
mid-execution, by a power failure, or some other problem. In such cases it may
not have time to remove the temporary files that it creates in the process of
generating the Query Reports. These files generally contain a process ID#; for
example you might see files that look like this
|
work.
The work directory contains temporary files, DFdiscover retrieval files
and summary data files.
It is important to be aware of the files that DFdiscover
creates and maintains in this directory so that programmers do not
inadvertently overwrite them.
Temporary Files. The work directory is used for temporary files created by various reports and is the recommended location for temporary files created by study specific reports and for data files exported using DFexport.rpc. If DFexport.rpc is used to export study data files to this directory, or create temporary files here in the process of generating study specific reports, you need to be very careful in your selection of temporary file names, so that simultaneous execution of different programs does not result in temporary file name conflicts. A useful strategy is to include the process ID plus some part of the program name in all temporary file names, and also to check for and create a lock directory for any programs that should not be executed simultaneously by more than one user.
Because the work directory is used for temporary file creation by various DFdiscover programs, you might find temporary files that were not removed because a program failed to complete due to a power failure or some other problem. Any file that is several days old, and has what looks like a process id number as part of it's name, is probably a temporary file left over when a program failed to complete successfully. Such files can be removed. This should be done periodically to clean up the study work directory.
Summary Files.
The work directory contains a number of summary data files created by DF_XXkeys and DF_QCupdate
and used by other programs including DF_QCreports and DF_PTvisits.
The following files are described in detail later in this chapter in
The study work directory:
The data, pages, and pages_hd
directories must be owned by user datafax, with read, write and execute
permissions for owner, and read and execute permissions for group.
The bkgd,
dde,
frame,
lib,
reports, and
work directories must have read, write
and execute permissions set for all users of the study group (typically this
will be UNIX group studies).
These permissions are set by DFadmin on those directories which it creates when the study is first registered. The utility program DFstudyPerms is available for diagnosing and correcting study permission problems. A detailed list of study files and directories checked by this program can be found at System Administrator Guide, Maintaining study filesystem permissions
Each file documented in this section is described with the following attributes:
Table 2.1. File attributes
| Heading | Description |
|---|---|
| Usual Name | the file name that is usually given to files having this format. Some files are kept at the DFdiscover directory level while others are kept separately with each study directory. |
| Type | one of: "clear text" or "binary". Clear text files can be reviewed with any text editor. |
| Created By | the name of the DFdiscover program(s) that create and modify this file. If you need to edit the contents of the file, use the program listed here. |
| Used By | the name of the DFdiscover program(s) that reference or read this file. |
| Field Delimiter | how fields within a record are delimited. Typically, the delimiter is a single character. |
| Record Delimiter | how records within the file are delimited. Typically, the delimiter is a single character. |
| Comment Delimiter | how comments within the file are delimited. If comments are not permitted within the file, "NA" is indicated. |
| Fields/Record |
the expected number of fields per record.
If the number of fields varies across records,
the minimum number is given, followed by a +.
|
| Description | a detailed description of the meaning of each field. |
| Example | one or more example records from the file. |
A DFdiscover Retrieval File (DRF) is an ASCII file in which each record identifies the subject ID, visit or sequence number and CRF plate number (in that order, | delimited) and optionally the image ID corresponding to a record in the study database.
DFdiscover retrieval files are created by DFexplore, DFdiscover reports, and the DFdiscover programs DFmkdrf.jnl and DFexport.rpc.
DFdiscover retrieval files created by DFexplore and DFdiscover reports and
programs reside in the study drf
directory. It is also recommended that DRFs created using DFexport.rpc also
be saved to the study drf
directory. All DRFs must end with the
.drf
extension. Exercise caution when selecting DRF names to avoid conflicts with
those DRF file names generated by DFdiscover applications.
Below is a description of
the DRF file format.
Table 2.2. Data Retrieval Files (DRF)
| Usual Name | filename.drf |
| Type | clear text |
| Created By | DFexport.rpc, DFmkdrf.jnl, DFexplore |
| Used By | DFexplore |
| Field Delimiter | | |
| Record Delimiter | \n |
| Comment Delimiter | # |
| Fields/Record | 3+ |
| Description |
Data records have the common fields and characteristics defined in Table 2.3, “DFdiscover Retrieval File field descriptions”. |
| Example |
This is an example of a DRF listing all primary records having one or
more queries attached to them. The DRF filename
99001|1|2 99001|1011|9 99002|1|2 99002|22|5 99002|1011|9 99004|1|2
|
Table 2.3. DFdiscover Retrieval File field descriptions
| Field # | Contains | Description |
|---|---|---|
| 1 | subject/case ID | this is a number in the range of 0-281474976710655 used to uniquely identify
each subject/case in the study database |
| 2 | visit/sequence number | a number in the range of 0-21460, that uniquely identifies each
occurrence of a visit number for a subject ID |
| 3 | plate number | a number in the range of 1-501 that uniquely identifies the plate to be included in the DRF. |
| 4 | image identifier | the value in this optional field is the unique identifier of the CRF image identified by the keys in the first 3 fields. This field is used to identify a specific instance of a CRF when there are one or more secondaries having the same key fields. |
| 5 | optional text | this field can be used to provide a short descriptive message to DFexplore users. The text is displayed in the message window at the bottom of DFexplore when the data record is selected in the DFexplore record list. |
The study data directory holds all study data files, including the plate files that correspond to CRF plates, the query data file and the database transaction journals. These files are managed by the study database server and should not be accessed directly. Instead the records required should be exported from the study database to another file, as described in DFexport.rpc, and then read from the exported file.
Data records should never be added to these database files without doing so through the study database server. The program DFimport.rpc is available and is the recommended method of sending new or revised data records to the study database server.
Occasionally you may need to make extensive changes to an entire database file. The typical scenario is a change to one or more of the study CRFs to add or remove fields. In this case the plate definitions originally entered in the setup tool also need to be changed to match the new structure of the corresponding data files. This is a major operation. It requires that the study server be disabled while the database and setup definitions are being changed, and that the effected data files be re-indexed before the study database server is re-enabled.
The following sections describe data and index files ending with
.dat and .idx suffixes.
Very rarely, you may notice files having the same name but with
.tad or .xdi suffixes.
These files are temporary files created and managed by the database
server.
They are present while the server performs sorting and garbage collection
on a particular data file.
As such they should be treated in the same manner as the other data and index
files - basically, do not touch them.
Typically, this is not a problem because the files are present for only a
second or two.
Table 2.4. plt###.dat - per plate data files
| Usual Name | plt###.dat | |||
| Type | clear text | |||
| Created By | DFserver.rpc | |||
| Used By | DFserver.rpc | |||
| Field Delimiter | | | |||
| Record Delimiter | \n | |||
| Comment Delimiter | NA | |||
| Fields/Record | 9+ | |||
| Description |
After first validation, new records are moved from
to the study database files,
All database records are stored in free-field format with a
Data
records have the common fields and characteristics described in
Table 2.5, “ | |||
| Example |
Here is an example of a plate 4 data
record after level 1 validation to database file
1|1|9145/0045001|099|4|1|0123|egb|92/01/01|high blood pressure| Dr. Smith|92/01/10 10:23:23|92/01/10 10:23:23|
The text fields have been entered and record status has been set to
|
Table 2.5. plt###.dat field descriptions
| Field # | Contains | Description |
|---|---|---|
1 (DFSTATUS) | record status | Enumerated value from the list 1=final, 2=incomplete, 3=pending, 4=FINAL, 5=INCOMPLETE, 6=PENDING, 0=missed |
2 (DFVALID) | validation level | Enumerated value from the list 1, 2, 3, 4, 5, 6, 7 |
3 (DFRASTER) | raster name |
the fax image id from which this data record was derived, if there was a
fax image.
The image id is always in the format
YYWW/FFFFPPP or YYWWRFFFFPPP,
where YY is the year (minus the century) in which the image
id was created, WW is the week of the year,
FFFF is a sequential base 30 value, in the range 0001-ZZZZ,
representing the fax arrival order within the week,
and PPP is the page number within the fax
(also see pages).
If the image id contains a slash (/) in the 5th
character position, then the image id is for a fax.
Pre-pending this image id with the value of the
PAGE_DIR variable for the study creates a
unique pathname to the file containing the fax image.
If the image id contains R in the 5th character
position, then the image id is for a raw data entered record, and in fact
there is no image.
|
4 (DFSTUDY) | study number | the DFdiscover study number (must be constant across all records for the
same study). Legal limit is 1-999. |
5 (DFPLATE) | plate number | the plate number as identified in the barcode of the CRF. Within each data file, this field has a constant value. Legal limit is 1-501. |
6 (DFSEQ[a]) | visit/seq number | the visit or sequence number of this occurrence of a plate for a subjects
id. Legal limit is 0-511 if defined in the barcode, and
0-65535 if defined as
the first data field on the page.
|
| 7 | subject ID | the subject identifier. Legal limit is 0-281474976710655.
subject
identifiers are composed of site # + subject ID. This limit applies to the
concatenated value of the two, where the site # legal limit is
0-21460.
|
| 8 to N-3 | data | data fields from the corresponding CRF page |
N-2 (DFSCREEN) | record status | Enumerated value from the list
1=final, 2=incomplete,
3=pending.
This record status mimics the status recorded in the first field except that
there is no distinction between primary and secondary. |
N-1 (DFCREATE) | creation date | the creation date and time stamp in the format
yy/mm/dd hh:mm:ss.
The creation date and time stamp are added to the record the first time it is
validated to a level higher than 0.
It is never modified after initial addition to the record. |
N (DFMODIFY) | last modification date | the last modification date and time stamp in the format
yy/mm/dd hh:mm:ss
The initial value for this field is the same as the creation date.
Each time any data within the record is modified, the modification stamp
is updated.
It is not updated if only the record's validation level has changed. |
[a] Field 6 has this name only if the field is defined to be in the barcode; otherwise, the name is user-defined. | ||
Table 2.6. plt###.dat - missed records
| Usual Name | plt###.dat |
| Type | clear text |
| Created By | DFserver.rpc |
| Used By | DFserver.rpc |
| Field Delimiter | | |
| Record Delimiter | \n |
| Comment Delimiter | NA |
| Fields/Record | 11 |
| Description |
If a CRF is reported missing, and is not expected to ever arrive (e.g. because
the subject missed a visit, or refused a test), it can be registered in the
study database using DFexplore.
These records have a status of |
| Example |
Here is an example of a missed data record 0|7|000/0000000|099|4|1|0123|1|subject was on vacation|92/01/10 10:23:23|92/01/10 10:23:23|
|
Table 2.7. Missed record field descriptions
| Field # | Contains | Description |
|---|---|---|
1 (DFSTATUS) | record status | Enumerated value - always contains a 0
for missed records, which is equivalent to the record status lost
|
2 (DFVALID) | validation level | Enumerated value from the list 1, 2, 3, 4, 5, 6, 7 |
3 (DFRASTER) | image name | always contains 0000/0000000 for missed records.
This is simply a placeholder value as there is no CRF image. |
4 (DFSTUDY) | study number | the DFdiscover study number (must be constant across all records for the same study) |
5 (DFPLATE) | plate number | the plate number |
| 6 | visit/seq number | the visit or sequence number |
| 7 | subject ID | the subject identifier |
| 8 | reason code | Enumerated value - the reason that the CRF was missed, selected from
the following list: 1=Subject missed visit, 2=Exam or test not
performed, 3=Data not available, 4=Subject refused to continue, 5=Subject moved away, 6=Subject lost to
follow-up, 7=Subject died, 8=Terminated -
study illness, 9=Terminated -
other illness, 10=Other reason |
| 9 | reason text | an additional, optional explanation as to why the CRF was missed |
10 (DFCREATE) | creation date | the creation date and time stamp in the format
yy/mm/dd hh:mm:ss |
11 (DFMODIFY) | last modification date | the last modification date and time stamp will always be the same as the creation date and time stamp as missed records are never modified once created (changes, if necessary, are made by deleting the existing missed record and creating another one) |
Table 2.8. DFqc.dat - the Query database
| Usual Name | DFqc.dat |
| Type | clear text |
| Created By | |
| Used By | DFserver.rpc, DFexplore, DFbatch, DF_CTqcs, DF_ICqcs, DF_ICrecords, DF_PTcrfs, DF_PTqcs, DF_QCreports, DF_QCsent, DF_QCstatus, DF_QCupdate |
| Field Delimiter | | |
| Record Delimiter | \n |
| Comment Delimiter | NA |
| Fields/Record | 22 |
| Description |
The query data file, DFqc.dat, is maintained by the study server in the same manner as the CRF data files, DFin.dat and plt*.dat. All query records have exactly the same format, across all DFdiscover studies. Each query record has 22 fields, of which 5 (fields 4-8) are the keys needed to uniquely identify each record. Multiple queries are permitted per field provided their category codes are unique. As for study data files, you should always use DFexport.rpc to export the query database before using it. For this purpose, DFqc.dat has been assigned a DFdiscover reserved plate number of 511.
Table 2.9, “ |
| Example |
An example of a newly added query that is to be included in the next Query Report sent to the originating site (the line break is for presentation purposes only): 1|1|0000/0000000|20|10|999|2100101|6|21|000000|0||1. Sample collection date |11/10/05|1|2|||user1 06/05/27 11:35:57|user1 06/05/27 11:35:57||1|
An example of a query that was sent out in a Query Report and has now been resolved: 5|4|0000/0000000|20|397|2030|1415412|11|14|060424|31|1|A2. Whole Blood 1ml ID # ||1|2|||brian 06/03/23 12:57:20|brian 06/03/23 12:57:20|barry 06/05/11 14:10:04|1|
|
Table 2.9. DFqc.dat field descriptions
| Field # | Contains | Description | |||
|---|---|---|---|---|---|
1 (DFSTATUS) | record status | current status of the query. Legal values are: 0=pending (review), 1=new, 2=in unsent report, 3=resolved NA, 4=resolved irrelevant, 5=resolved corrected, 6=in sent report, 7=pending delete | |||
2 (DFVALID) | validation level | validation level at which the query was created or last modified. The query validation level matches the level of the data record upon export only when the DFexport.rpc -m option is used. | |||
3 (DFRASTER) | raster name | must contain "0000/0000000". Any references to actual raster names will result in the deletion of those rasters if the referencing query is deleted. | |||
4 (DFSTUDY) | study number | the DFdiscover study number. Again, this number is constant across all records for one study. | |||
5 (DFPLATE) | plate number | the plate number of the record that this query is attached to | |||
6 (DFSEQ) | visit/seq number | the visit or sequence number of the record that this query is attached to | |||
7 (DFPID) | subject ID | the subject identification number | |||
8 (DFQCFLD) | query field number | the data entry field to which this query is attached
| |||
9 (DFQCCTR) | site ID | the site ID that the query was sent to or will be sent to. This is determined when the query is created. Also, it is checked, and updated if necessary to account for a subject move, each time DF_QCupdate is executed. | |||
10 (DFQCRPT) | report number | the Query Report that the query was written to. The Query Report number is always in the format yymmdd, for the year, month, and day the report was created. If the query has not yet been written to a report, the value is 0. | |||
11 (DFQCPAGE) | page number | the page number of the Query Report, on which the query appears, or 0 if it has not yet been written to a report. | |||
12 (DFQCREPLY) | reply to query | the reply entered by an DFexplore user in the format name yy/mm/dd hh:mm:ss reply The maximum length of this field is 500 characters. It is blank when a new query is created, or when an old query is reset to new. This field cannot be created or edited in DFexplore by users who do not have adequate permissions. When a new reply is entered, the query status is changed to pending. | |||
13 (DFQCNAME) | name | a description of the data field that is referenced by this query. Although this field can be edited when the quality control report is being added, its default value is taken from the "Description" part of the variable definition entered in the Setup tool. The maximum length of this field is 150 characters, but only the first 30 appear on quality control reports. | |||
14 (DFQCVAL) | value | the value held in the data field when the query was added. If the query is subsequently edited and the value of the data field has changed, this field is updated with the new value. The maximum length of this field is 150 characters. For overdue visit queries, this field contains a julian representation of the date on which the visit was due (expressed as the number of days since Jan 1,1900). | |||
15 (DFQCPROB) | category code | the numeric category code. Legal values are: 1=missing value, 2=illegal value, 3=inconsistent value, 4=illegible value, 5=fax noise, 6=other problem, 21=missing plate, 22=overdue visit, 23=EC missing plate, 30-99=user-defined category code. | |||
16 (DFQCRFAX) | refax code | refax request code. Should the CRF page, which this query references, be re-sent? Legal values are: 1=no (clarification query type), 2=yes (correction query type). | |||
17 (DFQCQRY) | query | any additional text needed to clarify the query to the investigator who will receive the Query Reports. The maximum length of this field is 500 characters. Note: the category code label from field 15 is included automatically and is often all that is needed. | |||
18 (DFQCNOTE) | note | any additional text needed to describe the problem when it is resolved. The maximum length is 500 characters. | |||
19 (DFQCCRT) | creation date | the creator, creation date and time stamp of the query in the format name yy/mm/dd hh:mm:ss The creation date and time stamp are added when the query is first created. | |||
20 (DFQCMDFY) | last modification date | the modifier, last modification date and time stamp in the format name yy/mm/dd hh:mm:ss The initial value for this field is the same as the creation date. Each time the query is modified, the modification stamp is updated. | |||
21 (DFQCRSLV) | resolution date | the resolver, resolution date and time stamp in the format name yy/mm/dd hh:mm:ss Until the query is resolved, this field is blank | |||
22 (DFQCUSE) | usage code | Legal values are: 1=send to site (these queries are formatted into a Query Report and sent to the appropriate study site), 2=internal use only (these queries do not appear in site Query Reports). |
Table 2.10. DFreason.dat - reason for change records
| Usual Name | DFreason.dat |
| Type | clear text |
| Created By | DFserver.rpc |
| Used By | DFserver.rpc |
| Field Delimiter | | |
| Record Delimiter | \n |
| Comment Delimiter | NA |
| Fields/Record | 12 |
| Description |
Data fields may require that a change to the value in the field be supported by a reason for the change. This reason information is recorded in . The contents of the record fields are described in Table 2.11, “Reason for data change record field descriptions”. |
| Example |
Here is an example of a reason data record 1|3|000/0000000|254|4|1|0123|9|phone|information provided by physician over the phone|nathan 03/01/10 10:23:23|nathan 03/01/10 10:23:23 It indicates that field 9 was changed because of the reason "information provided by physician over the phone". |
Table 2.11. Reason for data change record field descriptions
| Field # | Contains | Description |
|---|---|---|
1 (DFSTATUS) | record status | valid status codes include: 1=approved, 2=rejected, 3=pending |
2 (DFVALID) | validation level | Enumerated value from the list 1, 2, 3, 4, 5, 6, 7. This is the record's last validation level when the reason was created or modified. |
3 (DFRASTER) | image name | always contains 0000/0000000 for reason for
data change records.
This is simply a placeholder value as there is no CRF image. |
4 (DFSTUDY) | study number | the DFdiscover study number (must be constant across all records for the same study) |
5 (DFPLATE) | plate number | the plate number |
6 (DFSEQ) | visit/seq number | the visit or sequence number |
7 (DFPID) | subject ID | the subject identifier |
8 (DFRSNFLD) | reason field number | the data entry field number this reason note refers to. This numbering does not correspond directly to the DFdiscover schema numbering, but instead is offset by 3, so for example, the ID field which is always database field number 7 will always report the reason field number as 4. This is identical to the behavior of the field number reported in queries. |
9 (DFRSNCDE) | reason code | an optional coding of the reason for data change.
Although this code field contains textual data, it should be possible to
use it as a categorical variable.
The code will typically come from the first field of the
REASON lookup table, if it is defined.
|
10 (DFRSNTXT) | reason text | required text that provides the reason for the data change. The maximum length of this field is 500 characters. |
11 (DFRSNCRT) | creation date | the creator, creation date and time stamp in the format
name yy/mm/dd hh:mm:ss.
This field is completed when the reason for data change is first
created. |
12 (DFRSNMDF) | last modification date | the modifier, last modification date and time stamp in the format
name yy/mm/dd hh:mm:ss.
The initial value for this field is the same as the creation date. Each time
the reason note is modified, the modification stamp is updated.
|
Table 2.12. DFin.dat - the new records database
| Usual Name | DFin.dat |
| Type | clear text |
| Created By | DFserver.rpc |
| Used By | DFserver.rpc |
| Field Delimiter | | |
| Record Delimiter | \n |
| Comment Delimiter | NA |
| Fields/Record | 5+ |
| Description |
Each initial data record, created by the ICR software when it scans a CRF page, is passed to the study database server which appends it to this file. These are called "new records". All new records have the common fields and attributes identified in
Table 2.13, “ The first 5 fields are added by the process that ICRed the page. The 4th and 5th fields were read from the barcode at the top of each CRF page. Dependant upon the success of the ICR algorithm, subsequent fields in each new record may or may not be filled in. If a fax image is particularly difficult to read, it is possible that only the first five fields will appear in the new record. The first three fields, in addition to being delimited, are also in fixed column positions. The record status begins in the first column and is one column wide. The validation level begins in the third column and is one column wide. The raster name begins in the fifth column and is 12 columns wide. Columns two and four contain the field delimiter. |
| Example |
Here is an example of a new data record from 0|0|9145/0045001|099|4|1|0123||92/01/01||| This record has new record status, has not yet been validated, contains the data from fax image $(PAGE_DIR)/9145/0045001, and belongs to study 99, plate 4, visit 1, and subject ID 123. |
Table 2.13. DFin.dat field descriptions
| Field | Contains | Description |
|---|---|---|
1 (DFSTATUS) | record status | Enumerated value - always contains a 0
for new records, which is equivalent to the record status new
|
2 (DFVALID) | validation level | Enumerated value - always contains a 0
for new records, which indicates that the record has only been validated
by the ICR software |
3 (DFRASTER) | image name | the fax image from which this data record was derived.
The value for this field will always be in the format
yyww/ffffppp.
Prepending this name with the value of the
PAGE_DIR variable for the study creates a
unique pathname to the file containing the fax image |
4 (DFSTUDY) | study number | the DFdiscover study number (must be constant across all records for the same study) |
5 (DFPLATE) | plate number | the plate number as identified in the barcode of the CRF |
Table 2.14. YYMM.jnl - monthly database journal files
| Usual Name | YYMM.jnl |
| Type | clear text |
| Created By | DFserver.rpc |
| Used By | DF_ATfaxes, DF_ATmods, DF_WFcrfs, DF_WFqcs |
| Field Delimiter | | |
| Record Delimiter | \n |
| Comment Delimiter | NA |
| Fields/Record | 11+ |
| Description |
The study database server adds a record to the current study database journal file, each time that a data record is written to the study database, including when:
Separate journal files are kept for each study, and within a
study, a new journal file is created for each month. The naming scheme for
journal files is
The fields within each journal record are defined as described in
Table 2.15, “ |
| Example |
Following is an example of a complete journal record.
The line breaks are for presentation purposes only.
980312|132426|valid1|d|1|1|9807/0047008|254|5|24|99001|ABC|06/07/97| 171|097|172|096|2|055.1|121.5|2||1143|00|*|*|*|1|1|*|1|1| 98/03/12 13:24:26|98/03/12 13:24:26| |
Table 2.15. YYMM.jnl field descriptions
| Field # | Contains | Description |
|---|---|---|
| 1 | date stamp | A date stamp, in YYMMDD format,
identifying when the data record was written to the database |
| 2 | time stamp | a time stamp, in HHMMSS format,
identifying when the data record was
written to the database. Hours are reported in 24-hour notation. |
| 3 | username | the username of the person who wrote the record to the database. This is the login name of the user who modified the record. |
| 4 | record type | Enumerated value - indicates the type of the journal record.
Possible values are:
d for data record,
q for query record,
r for reason record,
s for the beginning of a setup restructuring, and
S for the end of a setup restructuring.
|
| 5-11 | record keys | fields 5 through 11 contain the first 7 fields from the data record. |
| 12+ | record data fields | the remaining data fields (8 to the end of the record) follow. |
Table 2.16. plt###.ndx - per plate index files
| Usual Name | plt###.ndx |
| Type | binary |
| Created By | DFserver.rpc |
| Used By | , DFshowIdx |
| Field Delimiter | NA |
| Record Delimiter | NA |
| Comment Delimiter | NA |
| Fields/Record | NA |
| Description |
Every study data file has a corresponding index file that the study server uses to track the current status and location of each record in the data file. The index entry for a particular data record includes the value of the key fields id, plate, and visit/sequence number, the record status, the validation level, the offset of the beginning of the record into the data file, and the length of the data record. When searching for a data record by keys, it is much more efficient for the database server to search the index file for matching keys and then use the offset and length to extract the data record from the data file. Each time an existing data record is modified or a new record is added, a new entry is made at the end of the index file for the new, modified copy of that record, and the status of the old index entry (if there was one) is changed to indicate that it has been superseded by a new entry.
Index and data files are sorted (on id and visit/sequence number) by the study
database server, each time the server exits.
Before sorting, an index file has
The first 32 bytes of an index file are header information, consisting of four
4-byte numbers that identify attributes of the file as a whole,
as described in Table 2.17, “
The 32 bytes of header information are followed by the actual index entries.
Each index entry is 32 bytes in size and is described in
Table 2.18, “ Each index entry contains 8 bytes for the subject ID, 2 bytes for the visit number, 2 bytes for the plate number, 4 bytes for the offset into the data file, 2 bytes for the record length, a status byte and 13 bytes of padding. The status byte encodes three pieces of information: the record status (equivalent to the numeric value of the first byte of the data record), the record validation level (equivalent to the numeric value of the third byte of the data record), and the status of the index entry. This is encoded as illustrated in Figure 2.1, “Encoding for bits within the status byte”. The record status contains the same values as those allowed in the record status field of the data record, namely 0 through 7 (binary 111). Similarly, the validation level will take on the same values as those allowed in the validation level of the data record, again 0 through 7. The index status contains the value 2 if this is a new index entry, 1 if the index entry has been superseded by a newer one, and 0 otherwise. The size of all index files should always be a multiple of 32 bytes. |
This directory contains the edit check source files.
Table 2.19. DFedits - edit checks
| Usual Name | DFedits |
| Type | clear text |
| Created By | DFsetup |
| Used By | DFexplore |
| Field Delimiter | NA |
| Record Delimiter | NA |
| Comment Delimiter | # |
| Fields/Record | NA |
| Description |
This file contains the edit checks that are defined for this study. The edit check language is fully described in Edit checks. |
| Example |
edit SetInit()
{
if ( dfblank( init ) && !dfblank( init[,0,1] ) )
init = init[,0,1];
}
edit AgeOk()
{
number age;
if ( !dfblank( p001v03 ) && !dfblank( p001v04 ) )
{
age = ( p001v03 - p001v04 ) / 365.25;
...
|
This directory contains the study configuration files, those files that make this study unique from every other DFdiscover study.
Table 2.20. DFcenters - sites database
| Usual Name | DFcenters | ||||||
| Type | clear text | ||||||
| Created By | DFsetup | ||||||
| Used By | all study tools and the standard reports including: DF_CTqcs, DF_CTvisits, DF_PTcrfs, DF_QCfax, DF_QCfaxlog, DF_QCreports, DF_QCupdate, DF_SScenters, DF_XXtime, and DF_qcsbyfield | ||||||
| Field Delimiter | | | ||||||
| Record Delimiter | \n | ||||||
| Comment Delimiter | NA | ||||||
| Fields/Record | 11+ | ||||||
| Description |
Each DFdiscover study has a sites database that records where each participating site is located, who the contact person is, and what subject ID number ranges are covered by each site ID.
Each site typically corresponds to a different clinical site, but this is
not required. If necessary, a single clinical site may be defined as 2 or more
sites, each corresponding to a different participating clinical investigator
at that site. The sites database consists of one record per site ID. The field
definitions are described in Table 2.21, “Field definitions for
Each site ID must be a number in the range
Each comma inserts a one-second pause in the dialing sequence. This can be helpful when leaving a local PBX or waiting to dial an extension.
A valid email address may also be supplied in place of or together with a
primary fax number. The email address must be specified
using the notation
If more than one email and/or fax number is specified, each must be separated by a single space. Comma separators are not permitted. Subject ID ranges are specified in fields 11 through the end of the record. There is no limit to the number of range fields that can be given. Each range field contains a minimum subject ID and maximum subject ID separated by exactly one space character. For example, |101 199| indicates that subject IDs 101 through 199 inclusive are to be included for the site. Individual subject IDs that are disjoint from any range are indicated by setting both the minimum and maximum ids to the actual subject ID. For example, |244 244|301 399|401 420| includes subject IDs 244, 301 through 399 inclusive, and 401 through 420 inclusive.
In the event that subject IDs are incorrectly entered in data
records, there should always be a 'catch-all' site listed that receives all
subject IDs that do not fall into any of the other subject ID ranges.
This site is indicated by the phrase
| ||||||
| Example |
A single sites database record for a site that is responsible for
subject IDs 1101 through 1149, and 1151 through 1199 inclusive.
011|Lisa Ondrejcek|DF/Net Research, Inc|140 Lakeside Avenue, Suite 310, Seattle, Washington, 98122|1-206-322-5932|country:USA;enroll:100|1-206-322-5931|Lisa Ondrejcek|1-206-322-5931||1101 1149|1151 1199 |
Table 2.21. Field definitions for DFcenters
| Field # | Description | Required | Maximum Size |
|---|---|---|---|
| 1 | site ID | yes | 5 digits |
| 2 | Contact | yes | 30 characters |
| 3 | Name | yes | 40 characters |
| 4 | Address | no | 80 characters |
| 5 | Fax | no | 4096 characters |
| 6 | Attributes including Start Date, End Date, Enroll Target, Protocol Effective Date (x5),
Protocol Version (x5)
This field contains zero of more semi-colon ( | no | 4096 characters |
| 7 | Telephone (site) | no | 30 characters |
| 8 | Investigator | no | 30 characters |
| 9 | Telephone (investigator) | no | 30 characters |
| 10 | Reply to email address | no | 80 characters |
| 11+ | Subject ID ranges | yes | 30 digits,1 space |
Table 2.22. DFccycle_map - conditional cycle map
| Usual Name | DFccycle_map |
| Type | clear text |
| Created By | DFsetup |
| Used By | DF_QCupdate |
| Field Delimiter | | |
| Record Delimiter | \n |
| Comment Delimiter | # |
| Fields/Record | 2+ |
| Description |
This table describes the conditional cycle map file structure and provides an example. It does not describe all of the syntax and rules related to this feature. Usage instructions for all 4 conditional maps is fully described in Study Setup User Guide, Conditional Maps. The file contains one or more specifications, each consisting of a condition definition followed by one or more actions to be applied if the condition is met. Entries in the file have the general appearance of: IF|Visit List|Plate|Field|Value AND|Visit List|Plate|Field|Value [+-~]|List of conditional cycles
Each condition may be followed by one or more action statements. Each of these statements begins with: '+' to indicate that the cycles are required, '-' to indicate that the cycles are unexpected, or '~' to indicate that the cycles are optional, when the condition is met. There is no limit to the number of condition/action entries that may be included but the order in which the conditions appear may be important, because in the event of a conflict, the action specified by the last entry, applicable to each cycle, is the action that will be applied. This point is illustrated in the following example. |
| Example |
IF|0|1|22|6 +|2,5,8 -|3,6,9 ~|4,7,10 IF|0|1|22|5 AND|0|9|13|>0 AND|0|9|36|!1 +|11 IF|1|3|9|~^A -|11 This example, consists of 3 conditional specifications. They are applied in the order in which they are defined. The first specification indicates that, if field 22 on plate 1 at visit 0 equals 6, then cycles 2, 5 and 8 are required; cycles 3, 6 and 9 are not expected; and cycles 4, 7 and 10 are optional. The second specification indicates that, if field 22 on plate 1 at visit 0 equals 5, and field 13 on plate 9 at visit 0 is greater than zero, and field 36 on plate 9 at visit 0 is not equal to 1, then cycle 11 is required. The third specification indicates that, if field 9 on plate 3 at visit 1 begins with the capital letter "A", then cycle 11 is not expected. If both conditions 2 and 3 are met cycle 11 will be considered unexpected because, when a conflict occurs, the last condition wins. |
Table 2.23. DFcvisit_map - conditional visit map
| Usual Name | DFcvisit_map |
| Type | clear text |
| Created By | DFsetup |
| Used By | DF_QCupdate |
| Field Delimiter | | |
| Record Delimiter | \n |
| Comment Delimiter | # |
| Fields/Record | 2+ |
| Description |
This table describes the conditional visit map file structure and provides an example. It does not describe all of the syntax and rules related to this feature. Usage instructions for all 4 conditional maps is fully described in Study Setup User Guide, Conditional Maps. The file contains one or more specifications, each consisting of a condition definition followed by one or more actions to be applied if the condition is met. Entries in the file have the general appearance of: IF|Visit List|Plate|Field|Value AND|Visit List|Plate|Field|Value [+-~]|List of conditional visits
Each condition may be followed by one or more action statements. Each of these statements begins with: '+' to indicate that the visits are required, '-' to indicate that the visits are unexpected, or '~' to indicate that the visits are optional, when the condition is met. There is no limit to the number of condition/action entries that may be included but the order in which the conditions appear may be important, because in the event of a conflict, the action specified by the last entry, is the action that will be applied. This point is illustrated in the following example. |
| Example |
IF|0|1|22|6 +|10-19 -|20-29 ~|30 IF|0|1|22|5 AND|0|9|13|>0 AND|0|9|36|!1 +|40 IF|1|3|9|~HIV -|40 This example, consists of 3 conditional specifications. They are applied in the order in which they are defined. The first specification indicates that, if field 22 on plate 1 at visit 0 equals 6, then visits 10 to 19 are required, visits 20 to 29 are unexpected, and visit 30 is optional. The second specification indicates that, if field 22 on plate 1 at visit 0 equals 5, and field 13 on plate 9 at visit 0 is greater than zero, and field 36 on plate 9 at visit 0 is not equal to 1, then visit 40 is required. The third specification indicates that, if field 9 on plate 3 at visit 1 contains the literal string "HIV", then visit 40 is not expected. If both conditions 2 and 3 are met, visit 40 will be considered unexpected because, when a conflict occurs, the last condition wins. |
Table 2.24. DFcplate_map - conditional plate map
| Usual Name | DFcplate_map |
| Type | clear text |
| Created By | DFsetup |
| Used By | DF_QCupdate |
| Field Delimiter | | |
| Record Delimiter | \n |
| Comment Delimiter | # |
| Fields/Record | 2+ |
| Description |
This table describes the conditional plate map file structure and provides an example. It does not describe all of the syntax and rules related to this feature. Usage instructions for all 4 conditional maps is fully described in Study Setup User Guide, Conditional Maps. The file contains one or more specifications, each consisting of a condition definition followed by one or more actions to be applied if the condition is met. Entries in the file have the general appearance of: IF|Visit List|Plate|Field|Value AND|Visit List|Plate|Field|Value [+-~]Visit List|List of conditional plates
Each condition may be followed by one or more action statements. Each of these statements begins with: '+' to indicate that the plates are required, '-' to indicate that the plates are unexpected, or '~' to indicate that the plates are optional, at the specified visits, when the condition is met. There is no limit to the number of condition/action entries that may be included but the order in which the conditions appear may be important, because in the event of a conflict, the action specified by the last entry, applicable to each plate, is the action that will be applied. This point is illustrated in the following example. |
| Example |
IF|0|1|22|6 +10,20|50,51 -10,20|40,41 ~10,20|15 IF|0|1|22|5 AND|0|9|13|>0 AND|0|9|36|!1 +91-95|16 IF|1|3|9|yes -91|16 This example, consists of 3 conditional specifications. They are applied in the order in which they are defined. The first specification indicates that, if field 22 on plate 1 at visit 0 equals 6, then at visits 10 and 20: plates 50 and 51 are required, plates 40 and 41 are not expected, and plate 15 is optional. The second specification indicates that, if field 22 on plate 1 at visit 0 equals 5, and field 13 on plate 9 at visit 0 is greater than zero, and field 36 on plate 9 at visit 0 is not equal to 1, then at visits 91-95 plate 16 is required. The third specification indicates that, if field 9 on plate 3 at visit 1 contains exactly the string "yes", and nothing more, then plate 16 is not expected at visit 91. If both conditions 2 and 3 are met plate 16 will be considered unexpected at visit 91, but required at visits 92-95, because, when a conflict occurs, the last condition wins. |
Table 2.25. DFcterm_map - conditional termination map
| Usual Name | DFcterm_map |
| Type | clear text |
| Created By | DFsetup |
| Used By | DF_QCupdate |
| Field Delimiter | | |
| Record Delimiter | \n |
| Comment Delimiter | # |
| Fields/Record | 1+ |
| Description |
This table describes the conditional termination map file structure and provides an example. It does not describe all of the syntax and rules related to this feature. Usage instructions for all 4 conditional maps are fully specified in Study Setup User Guide, Conditional Maps. The file contains one or more specifications, each consisting of a condition definition followed by one action to be applied if the condition is met. Entries in the file have the general appearance of: IF|Visit List|Plate|Field|Value AND|Visit List|Plate|Field|Value A or E
Each condition is followed by either the letter 'A' (abort all follow-up), or
'E' (early termination of the current cycle).
The termination date is defined as the visit date of the visit that triggered the condition,
specifically the visit specified in the |
| Example |
IF|0|1|22|6 A IF|6|1|22|5 AND|6|9|13|>0 AND|6|9|36|!1 E This example, consists of 2 conditional specifications. The first specification indicates that, if field 22 on plate 1 at visit 0 equals 6, then all follow-up terminates as of the visit date for visit 0. Visits scheduled to occur before this date are still expected, but visits scheduled following this date are not. The second specification indicates that, if field 22 on plate 1 at visit 6 equals 5, and field 13 on plate 9 at visit 6 is greater than zero, and field 36 on plate 9 at visit 6 is not equal to 1, then the current cycle terminates, i.e. the cycle in which visit 6 is defined; with the termination date being the visit date of visit 6. Any visits in this cycle (or in previous cycles) that were scheduled to occur before the termination date are still expected, but visit within this cycle scheduled following this date are not. On termination of a cycle, subject scheduling proceeds to the next cycle in the visit map, if there is one. |
Table 2.26. DFCRFType_map - CRF type map
| Usual Name | DFCRFType_map |
| Type | clear text |
| Created By | DFsetup |
| Used By | DFbatch, DFprintdb, DFimport.rpc, DFexport.rpc, DFcmpSchema DFcmpSchema |
| Field Delimiter | | |
| Record Delimiter | \n |
| Comment Delimiter | NA |
| Fields/Record | 2 |
| Description |
Each record in the CRF type map has two fields, an acronym or short form (1st field), and a descriptive label (2nd field). The CRF type acronym and label appear in the Import CRFs dialog. The CRF type label appears in the DFexplore Preferences dialog. This file is optional. If it does not exist, CRF Types are not used for this study. |
| Example |
PAPER|Print Version CHINESE|Chinese ENGLISH|English SWEDISH|Swedish FRENCH|French SPANISH|Spanish |
Table 2.27. DFcrfbkgd_map - CRF background map
| Usual Name | DFcrfbkgd_map |
| Type | clear text |
| Created By | DFsetup |
| Used By | DFprintdb |
| Field Delimiter | | |
| Record Delimiter | \n |
| Comment Delimiter | NA |
| Fields/Record | 3 |
| Description |
Each record in the CRF background map has three fields: the visit number with the background to be repeated (1st field), the list or range of visit numbers where the background will be repeated (2nd field), and an optional comment field (3rd field). This file is optional. If it does not exist, the default CRF will be displayed for visits not tagged during the Import CRFs step. If no default CRF has been imported, the CRF background will be blank for untagged visits. |
| Example |
10|11,13-14,16-17,19-20|Quarterly visits 12|15,18|Annual visits 22|25,28|Annual lab work |
Table 2.28. DFedits.bin - published edit
checks
| Usual Name | DFedits.bin |
| Type | binary |
| Created By | DFsetup, DFcompiler |
| Used By | DFexplore |
| Field Delimiter | NA |
| Record Delimiter | NA |
| Comment Delimiter | NA |
| Fields/Record | NA |
| Description |
This file contains an internal, binary equivalent
of the edit checks stored in the plain text
The This file is the only edit checks file used by DFexplore. |
Table 2.29. DFfile_map - file map
| Usual Name | DFfile_map |
| Type | clear text |
| Created By | DFsetup |
| Used By | DFserver.rpc |
| Field Delimiter | | |
| Record Delimiter | \n |
| Comment Delimiter | NA |
| Fields/Record | 4 |
| Description |
The file map lists all of the unique plate numbers used in a particular study database. The study server uses this file at start-up to determine which database files it may need to initialize and allocate file descriptors for. In addition to the listed plate numbers, the study server also allocates file descriptors for the new records file () and the query data file ().
The format of this file is one record for each plate defined in the
study setup.
Each record has 4 fields.
The first field of the record is the plate number, leading zero-padded to three
digits.
The second field is a textual description of the plate from the user-supplied
definition in DFsetup. The textual part is displayed in the plate selection
dialogs that can be found in various study tools.
The third field identifies how the visit/sequence number key field is coded for
that plate. A code of The records in the file map do not have to be sorted in increasing plate number order as the file is internally sorted by the study database server at start-up time. |
| Example |
001|Dosage of Study Drug (DOST-2)|2|2 002|Concomitant Medication (COM)|1|2 003|Written Consent (CONS-w)|1|2 005|Diagnosis (DSM-III-R)|1|2 006|Psychiatric History (PSH)|1|2 200|Death Report|1|1 |
Table 2.30. DFlogo.png - study logo, for reports
| Usual Name | DFlogo.png |
| Type | PNG |
| Created By | NA |
| Used By | DFexplore |
| Field Delimiter | NA |
| Record Delimiter | NA |
| Comment Delimiter | NA |
| Fields/Record | NA |
| Description |
A study logo is a small PNG file, maximum dimension is 64 pixels tall and 128 pixels wide. DFdiscover reports can display the study logo in the top-left corner of the report output. If no study logo is available, the study name is written to the header of each report output.
The study logo must be created outside of DFdiscover - there is no interface
for creating it.
Once the file is created, it must be copied to the study folder and saved as
|
Table 2.31. DFlut_map - lookup table map
| Usual Name | DFlut_map |
| Type | clear text |
| Created By | DFsetup |
| Used By | DFexplore, DFbatch |
| Field Delimiter | | |
| Record Delimiter | \n |
| Comment Delimiter | NA |
| Fields/Record | 2 |
| Description |
Lookup tables are used to select results from a list of pre-defined values and insert them into DFdiscover data fields. Lookup tables can also be defined for the query, query note, and reason fields to allow users to select pre-specified text for these fields. Lookup tables are described in Lookup tables. A study setup may use multiple lookup tables and so the lookup table map is used to associate simple table names with more complex and lengthy full pathnames of the actual lookup tables.
Each record in the lookup table map has a lookup table name, followed by a
The special table names |
| Example |
QC|DF_QClut QCNOTE|DF_QCnotelut QCREPLY|DF_QCreplylut REASON|DF_Reasonlut MEDS|meds.dict COSTART|costart.dict WHO|who.dict |
Table 2.32. DFmissing_map - missing value map
| Usual Name | DFmissing_map | |||
| Type | clear text | |||
| Created By | DFsetup | |||
| Used By | DFbatch, DFprintdb, DFimport.rpc, DFexport.rpc, DFcmpSchema, DF_QCupdate, DF_XXkeys, DF_stats, DFsas | |||
| Field Delimiter | | | |||
| Record Delimiter | \n | |||
| Comment Delimiter | NA | |||
| Fields/Record | 2 | |||
| Description |
Each record in the missing value map has two fields, the missing value code (1st field), and a descriptive label for the code (2nd field). The missing value code appears verbatim in any data field which has been identified as missing with that code. The missing value map lists all missing value codes used in the study. These codes can be entered into any data field by selecting the desired code from the list available under > in DFexplore.
Note that the field delimiter,
This file is optional. If it does not exist, a single missing value of
| |||
| Example |
*|Not Available .|Not Applicable -|Temporarily Unavailable .U|Unknown |
Table 2.33. DFpage_map - page map
| Usual Name | DFpage_map |
| Type | clear text |
| Created By | DFsetup |
| Used By | DF_QCreports, DFexplore |
| Field Delimiter | | |
| Record Delimiter | \n |
| Comment Delimiter | NA |
| Fields/Record | 3 |
| Description |
This file is optional for a study. If defined, it must be located
in The first record in a page map contains only a single field which specifies a text label to be used as a title over the queries. The default label is: PLATE SEQNO This label appears at the top of the Fax/Refax List and Question & Answer List sections of the Query Reports. The remaining records describe the text labels to be used in place of the default plate and visit number identifiers.
The first field is the plate number, the second field is the visit/sequence
number, and the third field is the substitution to be used for that plate and
visit/sequence combination. The third field can contain
When a Query Report is created, those queries whose plate and visit numbers match the first and second fields, will be identified on the Query Report by the label which appears in the third field.
If either the first field or second field contains a For more information, see Study Setup User Guide, Page Map. |
| Example |
PAGE (PLATE-SEQ) 018|001|MED VISIT1 *|001|VISIT1 (%P-%S) 025|*|TERM (%P-%S) *|*|(%P-%S)Note how the last rule catches all plate and visit/sequence pairs that were not previously matched. |
[a] To implement | |
Table 2.34. DFqcsort - Query and CRF sort order
Table 2.35. DFqcproblem_map - Query category code map
| Usual Name | DFqcproblem_map |
| Type | clear text |
| Created By | DFsetup |
| Used By | DFbatch, DFprintdb, DFimport.rpc, DFexport.rpc, DFcmpSchema, DF_QCupdate, DF_XXkeys, DF_stats, DFsas, DFexport |
| Field Delimiter | | |
| Record Delimiter | \n |
| Comment Delimiter | NA |
| Fields/Record | 4 |
| Description |
Each record in the Query category code map has four fields, the category code (1st field), the descriptive label (2nd field), the auto-resolve value (3rd field), and the sort value (4th field). The query category code appears verbatim in any data field which has been assigned a query with that code. The pre-defined categories are assigned integer codes from 1-6 and 21-23 (inclusive). User-defined categories must be assigned integer codes ranging from 30-99 (inclusive). Category codes must be unique. The problem labels must have a length ranging from 1-20 characters (inclusive), must be unique, and are case insensitive. The auto-resolve field may be set to No (0) or Yes (1). With auto-resolve set to Yes, an outstanding query with this category code will be automatically resolved if a new reason is added to the corresponding data value. The sort value may be set to any integer value between -2147483648 and 2147483647. Category types are sorted in ascending order by sort value, then by code. The query category code map lists all query category codes in the study. A query with one of these types can be entered into any data field by selecting the desired type from the category code list available under > in DFexplore. When a new study is started, the file is created. By default, the file is populated with the following: 1|Missing|1|0 2|Illegal|1|0 3|Inconsistent|1|0 4|Illegible|1|0 5|Fax Noise|1|0 6|Other|1|0 21|Missing Page|0|0 22|Overdue Visit|0|0 23|EC Missing Page|0|0
|
| Example |
1|Missing|1|0 2|Illegal|1|0 3|Inconsistent|1|0 4|Illegible|1|0 5|Fax Noise|1|0 6|Other|1|0 21|Missing Page|0|0 22|Overdue Visit|0|0 23|EC Missing Page|0|0 30|Clinical QC|1|1 50|Needs Review|0|1 37|Refuted|1|2 |
Table 2.36. .DFreports.dat - reports history
| Usual Name | .DFreports.dat |
| Type | clear text |
| Created By | DFexplore |
| Used By | DFexplore |
| Field Delimiter | | |
| Record Delimiter | \n |
| Comment Delimiter | # |
| Fields/Record | 9+ |
| Description |
Users create and save report history lists (including options) in much the same way that they create and save task lists. The reports history list for ail study users is stored in this file
in the study History lists are created in DFreport by executing the desired reports and then saving the history list. There is no text-based interface to this file or its contents. |
Table 2.37. DFschema - database schema
| Usual Name | DFschema[a]
| ||||
| Type | clear text | ||||
| Created By | DFsetup | ||||
| Used By | DF_QCupdate, DF_ICschema, DF_ICrecords, DF_SSvars, DF_SSschema, DFcmpSchema, DFimport.rpc, DFsas, DFsqlload | ||||
| Field Delimiter | \n | ||||
| Record Delimiter | \n\n | ||||
| Comment Delimiter | NA | ||||
| Fields/Record | 5+ | ||||
| Description |
The schema, or data dictionary, is generated/updated automatically by
DFsetup whenever a save is required for the study definition.
Each field is composed of a key letter (with a
leading The defined key letters and corresponding field types are listed in the Table 2.39, “Schema codes and their meaning”.
The
The scheduling attribute is unused by most programs except for
DF_QCupdate which searches the schema file for date fields which
use the
Each study schema begins, in order, with records defining values for the
| ||||
| Example |
%S 254 %N 12 %B 1990 %Y 0 0 %Z 40 %P 1 %p Blood Pressure Screening Visits %n 35 %t simple %E 1 %R PrintCRF.shx %I 1 %i 10 %V DFstatus1 %v DFSTATUS %D DFdiscover Record Status %T choice SimpleChoice %A required %W 1 %L 0~6 %C 0 lost %C 1 final %C 2 incomplete %C 3 pending %C 4 FINAL %C 5 INCOMPLETE %C 6 PENDING %I 2 %i 11 %V DFvalid1 %v DFVALID %D DFdiscover Validation Level | ||||
[a] This file is present for users and programs that require backwards compatibility and are not able to read the JSON study definition. This file may be removed in a future release. | |||||
Table 2.38. DFschema.stl - database schema styles
| Usual Name | [a] |
| Type | clear text |
| Created By | DFsetup |
| Used By | DFsetup |
| Field Delimiter | \n |
| Record Delimiter | \n\n |
| Comment Delimiter | NA |
| Fields/Record | 2+ |
| Description |
This file is very much like the study schema,
Note that the style schema lists only field types that are defined by the style itself. It omits those definitions that are specified at the variable level. |
| Example |
%S 254 %N 51 %I 1 %T int SimpleNumber %A optional %I 2 %T date SimpleDate 1940 0 %A optional %W 8 %F dd/mm/yy %I 3 %T string SimpleString %A optional %I 4 %T choice SimpleChoice %A optional %L $(choices) %l 0 %c 0 |
[a] This file is present for users and programs that require backwards compatibility and are not able to read the JSON study definition. This file may be removed in a future release. | |
Table 2.39. Schema codes and their meaning
| Code | Relevance | Meaning |
|---|---|---|
| S | Study | DFdiscover study number |
| a | Study | production study number |
| b | Study | development study number |
| B | Study | year in which study database was defined |
| e | Study | Run edit checks in View mode |
| N | Study | the total number of user-defined plates in the setup (this
excludes plate 0 (new records), plate 510 (reasons for data change), and
plate 511 (queries). In DFschema.stl file this
represents total number of styles defined in the study |
| U | Study | DFdiscover version used to create setup |
| u | Study | DFdiscover version used on last setup change |
| Y | Study | reason is required for data change for specified fields (0=per field), for all fields (2=always), or for no field (1=never). These values are followed by the value for the 'Only if changing a non-blank value' setting; 0=no, 1=yes. |
| Z | Study | field description maximum length (25 or 40) |
| M | Study | number of new patients to be listed in patient binder |
| m | Study | enable Start New Subject dialog |
| P | Plate | plate number |
| n | Plate | total number of fields per plate; this includes the 6 DFdiscover default fields present on all records (i.e., DFstatus, DFcreate, DFmodify, etc.) |
| p | Plate | plate label |
| E | Plate | is the sequence number predefined (code
1) or is it the first data field
(code 2)? |
| R | Plate | plate arrival trigger. This tag identifies an executable shell script or program, located in the study ecbin or DFdiscover ecbin directories, which is executed on plate arrival. |
| t | Plate | does plate trigger early termination; "simple" = plate does not trigger early termination, "term" = plate triggers early termination |
| I | Field/Style | the field order number or the style index in the
DFschema.stl file |
| i | Field | the number that uniquely identify fields within a study |
| V | Field/Style | alias |
| v | Field/Style | name |
| D | Field/Style | description |
| g | Field/Style | the minimum validation level after which any changes to the data value will require a reason. This code is optional, or may be present and have the value 0, in which case a reason for a data change is never required. If a minimum validation code between 1-7 is present, it will be followed by the value for the 'Only if changing a non-blank value' setting; 0=no, 1=yes. |
| h | Field/Style | field visibility |
| L | Field/Style | legal values; where $(ids) has been used as a
legal range definition for patient id variables, the literal
$(ids) will be reported. |
| A | Field/Style | field optionality |
| F | Field/Style | format |
| H | Field/Style | help message |
| W | Field/Style | maximum number of stored characters |
| w | Field/Style | maximum number of displayed characters |
| J | Field/Style | edit check(s) on field entry |
| K | Field/Style | edit check(s) on field exit |
| j | Field/Style | edit check(s) on plate entry |
| k | Field/Style | edit check(s) on plate exit |
| c | Field/Style | code value and label definition for no choice |
| C | Field/Style | code value and label definition |
| s | Field/Style | number of fields to skip and condition |
| T | Field/Style | a compound value containing, in order:
|
| r | Field/Style | field's module name, instance number and description. |
| X | Field/Style | is field constant (0=no, 1=yes) and constant value (if constant) |
Table 2.40. DFsetup - study definition
| Usual Name | DFsetup | |||
| Type | JSON | |||
| Created By | DFsetup | |||
| Used By | DFsetup, DFexplore, DFprintdb | |||
| Field Delimiter | NA | |||
| Record Delimiter | NA | |||
| Comment Delimiter | NA | |||
| Fields/Record | NA | |||
| Description |
The setup file contains the study definition in JSON format that can be read and written efficiently by DFsetup. It keeps the internal state of the program together with all of the information about study, page, and variable definitions. Many other study configuration files, such as the ICR tips file and study database schema, are constructed from this internal representation.
|
Table 2.41. DFserver.cf - server configuration
| Usual Name | DFserver.cf |
| Type | clear text |
| Created By | DFadmin |
| Used By | DFserver.rpc |
| Field Delimiter | = |
| Record Delimiter | \n |
| Comment Delimiter | # |
| Fields/Record | 2 |
| Description |
Each study database server is configured by this file.
The study server configuration keywords and their meanings are given in
the Table 2.42, “ |
| Example |
STUDY_NUMBER=254 STUDY_NAME=DFdiscover Acceptance Test Study STUDY_DIR=/opt/studies/val254 PAGE_DIR=$(STUDY_DIR)/pages WORKING_DIR=$(STUDY_DIR)/work PRINTER=hp4000 THRESHOLD=500000 STUDY_URL=http://www.ourstudy.com/index.html VERSION_STRICT=0 AUTO_LOGOUT=5|30 ADD_IDS=1|| VERIFY_IDS=0| |
Table 2.42. DFserver.cf configuration keywords
| Keyword | Meaning |
|---|---|
STUDY_NUMBER | the unique study number identifier. Legal values are in the range
1 to 999 inclusive. |
STUDY_NAME | a descriptive name or acronym for the study. This name appears, among other places, in the toolbox frame label. Its recommended length should be no more than 20 characters. |
STUDY_DIR | the study root (highest-level) directory. All other study related
directories should be sub-directories of this directory and should accomplish
this by referencing $(STUDY_DIR) in their value.
This directory, by default, is writable by both user and group and is owned by
datafax. |
PAGE_DIR | the root directory for all CRF image files. This directory has
sub-directories named by year and week within year. Within each of these
sub-directories each CRF page image is numbered sequentially by page number
within fax number.
By default, this directory is defined as
$(STUDY_DIR)/pages
and is writable only by user datafax. |
WORKING_DIR | the root directory for all study specific temporary or work files. Any
temporary files created by report programs should be written in this directory.
By default, this directory is defined as
$(STUDY_DIR)/work
and is writable only by user datafax and group. |
PRINTER or PRINT_CMD | default printer for the study. |
THRESHOLD | the minimum number of Kilobytes of free disk space in the partition containing the study data directory. During normal operation, the study server will exit when the free disk space in this partition drops below the threshold value. Further connections to the study server will fail until additional disk space is made available or the threshold is reduced. |
AUTO_LOGOUT | a compound value expressed as two numbers delimited with a
|.
Both numbers represent a time interval expressed in minutes.
The first number is the minimum number of minutes that any study user can
choose for their auto logout interval; the second is the maximum number of
minutes.
|
VERSION_STRICT | a true (1) or false (0) value specifying whether the study server accepts client connections from the current minor release version only, or client connections with any minor release version. The major release version must always match. |
STUDY_URL | for future use only, and is currently not used. |
ADD_IDS | for future use only, and is currently not used. |
VERIFY_IDS | for future use only, and is currently not used. |
Table 2.43. DFsubjectalias_map - subject alias map
| Usual Name | DFsubjectalias_map |
| Type | clear text |
| Created By | DFsetup |
| Used By | All DFdiscover applications, except for legacy reports |
| Field Delimiter | | |
| Record Delimiter | \n |
| Comment Delimiter | NA |
| Fields/Record | 2 |
| Description |
This file is optional for a study. If defined, it must be located
in
The file contains zero or more rows, each row containing 2 fields and
the fields are delimited by For more information, see Study Setup User Guide, Subject Alias Map. |
| Example |
150040|T1-B-40 150041|T1-B-41 150042|T1-B-42 150043|T1-B-43 150044|T1-B-44 150045|T1-B-45 200006|T2-A-6 200007|T2-A-7 200008|T2-A-8 200009|T2-A-9 200010|T2-A-10 |
[a] There are a few exceptions, for example subject aliases are not implemented in any legacy reports. | |
Table 2.44. DFsubjectalias_map.log - subject alias change log
| Usual Name | DFsubjectalias_map.log |
| Type | clear text |
| Created By | DFserver.rpc; |
| Used By | DFserver.rpc |
| Field Delimiter | | |
| Record Delimiter | \n |
| Comment Delimiter | NA |
| Fields/Record | 7 |
| Description |
This file is optional for a study. If defined, it must be located
in
The file contains zero or more rows, each row containing 7 fields where
the fields are delimited by |
| Example |
200703|174748|userB|n|500003|T5-B-3| 200703|180202|userB|n|250009|T2-A-259| 200703|180219|userB|c|250009|T25-A-9|T2-A-259 200722|112345|userA|d|200004||T2-A-4 200722|112345|userA|d|200005||T2-A-5 |
Table 2.45. Field definitions for DFsubjectalias_map.log
| Field # | Description | Required | Maximum Size |
|---|---|---|---|
| 1 | Date | yes | 6 digits |
| 2 | Time | yes | 6 digits |
| 3 | Name | yes | up to 16 characters |
| 4 | Log Type (n = new alias, c = change alias, d = delete alias); for new, field 6 is required; for change, fields 6 and 7 are required; for delete, field 7 is required | yes | 1 character |
| 5 | Subject ID | yes | 15 digits |
| 6 | Subject Alias (new) | no | 30 UNICODE characters |
| 7 | Subject Alias (old) | no | 30 UNICODE characters |
Table 2.46. DFtips - ICR tips
| Usual Name | DFtips |
| Type | clear text |
| Created By | DFsetup |
| Used By | DFinbound.rpc |
| Field Delimiter | \n |
| Record Delimiter | .\n |
| Comment Delimiter | # |
| Fields/Record | 3+ |
| Description |
The purpose of this file is to document the location, size, and type of each data field on each study plate. This information is parsed and used by during its ICR processing of each CRF image file.
The tips file begins with 4 comment lines which identify the study number,
name, number of CRF plates that have been defined and the date on which
the tips file was created. This is followed by
the keyword The above header information is followed by N plate definitions, where N is the number of unique plates defined for the study. Each plate definition begins with plate specific information followed by M variable definitions, where M is the number of variables defined on that plate. Each variable definition includes: the data field number and unique name, the data type, legal values (if any were specified), the size of the boxes, or VAS line, used to record the data field, and its location on the CRF image that was used to define the plate in DFsetup.
Each field in the tips file has a leading keyword separated from the value by a
The plate specific keywords are listed in
Table 2.47, “ |
| Example |
# Study Number: 253 # Study Name: Demo Study 253 # Total Pages: 14 # Created: Wed Dec 1 12:33:29 2004 DELIMITER | PAGE 1 PLATE 1 # Blood Pressure Screening Visits SEQ_CODE 1 PREOP echo "$image $data" >> /tmp/test DO_ICR 2 # FAX: plt001 FIELD 1 # ID001 TYPE int LEGAL $(ids) PART 106 84 2 50 25 PART 167 84 3 74 25 . FIELD 2 # PINIT001 TYPE string skip PART 380 84 3 74 25 . FIELD 3 # AGE TYPE int LEGAL 21-90 PART 79 182 2 50 25 . FIELD 4 # SEX TYPE choice LEGAL 0,1,2, blank PART 0 0 0 0 0 # blank PART 277 189 1 1 15 # male PART 277 212 1 2 15 # female . FIELD 5 # RACE TYPE choice LEGAL 0-65535 PART 0 0 0 0 0 # no choice PART 464 188 1 1 15 # Caucasian PART 464 213 1 2 15 # African American PART 464 238 1 3 15 # Asian PART 464 263 1 4 15 # Other . FIELD 6 # RACEOTH TYPE string skip PART 588 257 1 107 26 . FIELD 7 # S1DATE TYPE date FORMAT dd/mm/yy DATES 1940 0 LEGAL 01/01/01-today PART 172 330 2 49 25 PART 232 330 2 50 25 PART 295 330 2 49 25 |
Table 2.47. DFtips plate specific keywords
| Keyword | Description |
|---|---|
| PAGE | an internal page number that simply sequences the plate definitions |
| PLATE | the unique plate number that is being defined |
| SEQ_CODE | a code to indicate whether the visit/sequence number is in the barcode or the first data field. Legal values are: 1=barcoded, 2=first data field. |
| PREOP | a shell command that is to be executed before the ICR processing for any occurrences of this plate begins. This keyword is optional. |
| POSTOP | a shell command that is to be executed after the ICR processing for any occurrences of this plate ends. This keyword is optional. |
| DO_ICR | a code that indicates whether or not ICR processing should be performed on occurrences of this plate. Legal values are: 1=yes perform ICR, 2=no do not perform ICR. |
Table 2.48. DFtips variable specific keywords
| Keyword | Description | ||||
|---|---|---|---|---|---|
| FIELD | the data field number as it is sequenced on the form. This will not be the same number as the field number that the data value is eventually stored in. The first data field is the visit/sequence number if SEQ_CODE=2; otherwise, the first data field is the subject ID. Hence to determine the actual field number in the database record, add 5 if SEQ_CODE=2; and add 6 if SEQ_CODE=1. | ||||
| TYPE | data field type. Legal values are: int=integer, string=text fields, date=date, choice=choice, check=check, vas=visual analog scale, and numeric=a rectangular box containing 2 or more digits. The numeric data type is internal to the tips file and is not used anywhere else in DFdiscover. They are defined in DFsetup as strings with pre-printed numerals, although they can also be used for hand-written numbers. The type record ends in the keyword 'skip' if the field is not to be ICRed. Strings and hidden fields (i.e. fields which do not appear on the paper CRF) will be automatically marked as ICR skips by DFsetup. | ||||
| FORMAT | the format, if any, that is to be applied to the ICRed value before it is added to the database record. Typical values include: mm/dd/yy (which inserts the '/' delimiters into dates), nn.n (which inserts a decimal point). | ||||
| DATES | the pivot year and imputation method to be used for interpreting 2-digit
years (applicable only if the current field is of type date). The imputation
method is one of:
| ||||
| LEGAL | the legal value definition for the field. This is the same definition defined in the study schema. If an ICRed value is illegal, the value for that field is left blank in the data record generated by the ICR software. | ||||
| PART | defines the location, size and coding for each part of the data field. String, check, numeric and VAS fields consist of just one part but choice fields have a part definition for each choice box and dates and ints may be comprised of more than one separate parts. Each part record consists of 5 or 6 space delimited components. For all field types the first 2 components are the x and y location of the field on the CRF plate, with x increasing from left to right and y increasing from top to bottom. The location is given in units corresponding to standard fax resolution (i.e. 102 units per inch horizontally and 98 units per inch vertically). For each part the x value is 8 units left of the first box or VAS line, and the y value gives the location of the middle of the box or VAS line. The meaning of the remaining components depends on the field type. For int, date, and string fields they are: the number of boxes in the part, the total length of the part (enclosing all boxes) and the height of the part. For numeric fields they are: the maximum number of digits in the data field, the total length of the rectangular box and height of the box. For VAS scales they are: the length of the scale, the minimum and maximum values at the ends of the scale, and the precision (i.e. number of decimal places) in the stored value. For check fields they are: the number of boxes (always 1), the code value to be stored in the database if the box is not check, the code if checked, and the edge dimension of the box. And for choice fields they are: the number of boxes (always 1), the code value to be stored in the database if the box is checked, and the edge dimension of the box. For check and choice fields each box is assumed to be square. Choice fields also have a special PART record in which all components are zero expect for the 4th one which specifies the code value stored in the database if none of the choice boxes are checked. |
Table 2.49. DFvisit_map - visit map
| Usual Name | DFvisit_map |
| Type | clear text |
| Created By | DFsetup |
| Used By | DF_QCupdate, DF_ICvisitmap, DF_SSvisitmap |
| Field Delimiter | | |
| Record Delimiter | \n |
| Comment Delimiter | NA |
| Fields/Record | 12 |
| Description |
The visit map file describes the subject assessments to be completed during the study, the timing of these assessments, and the pages of the study CRFs which must be completed at each assessment. Each assessment is identified by a visit type. There must always be a baseline visit which is typically the date on which the subject qualified for entry to the trial and was randomized. There must also be a termination visit which ends study follow-up. Between baseline and termination there are often several scheduled visits, subject diaries, laboratory tests, and perhaps a few unscheduled visits. At each of these visits there will be a set of required (and possibly optional) forms to be completed.
Each visit is defined in a single record of the visit map.
The fields in each record are described in
Table 2.50, “ For additional information regarding visit maps, refer to Standard Reports Guide, DF_QCupdate and Study Setup User Guide, Visit Map. |
| Example |
A simple 4-visit visitmap: 0|B|Baseline|1|9 (mm/dd/yy)|0|0| 1 2 3 4 5 6 7 8||99|3 4 1 2 5 6 8 7 10|S|One Week Followup|9|9 (mm/dd/yy)|7|0| 9 10 14|||| 20|S|Two Week Followup|9|9 (mm/dd/yy)|14|0| 9 10|||| 30|T|Termination Visit|9|9 (mm/dd/yy)|21|0| 11 12||||
|
Table 2.50. DFvisit_map field descriptions
| Field # | Contains | Description | ||||
|---|---|---|---|---|---|---|
| 1 | visit number | the unique visit number, which can be any number between 0 and 65535 inclusive. For all scheduled visits, (types P, B, S, T), the numerical value of visit numbers must correspond to the sequential ordering of the visits in time. | ||||
| 2 | visit type | a 1 character code for the type of visit. Legal values are enumerated in Table 2.51, “Visit codes and their meaning”. | ||||
| 3 | visit label | a short (maximum 40 character) textual description of the visit that will be used in quality control reports to identify the visit when it is overdue. | ||||
| 4 | visit date plate | the plate on which the visit date can always be found. This must be one of the required plates listed in field 8. Obviously other plates will have visit dates, however, this is the one that will be used when visit dates (potentially conflicting) appear on several pages of the same visit. | ||||
| 5 | visit date field & format | the data field number of the visit date on the plate identified in field 4 and its format. The allowable date formats include any combination of yy (year), mm (month), and dd (day) so long as each occurs exactly once. Delimiter characters are optional between the 3 parts. Note: this date field must be defined using the VisitDate attribute. | ||||
| 6 | visit due day | the number of days before/after the baseline visit that the visit is scheduled. The baseline visit must have a value of 0, and pre-baseline visits must have negative values. | ||||
| 7 | visit overdue allowance | the number of days that a scheduled visit is allowed to be late. Visits are considered overdue if they have not arrived within this number of days following the visit due day. | ||||
| 8 | required plates | a space character delimited list of plate numbers for CRFs that are required to be completed on this visit (maximum 1200 characters). | ||||
| 9 | optional plates | a space character delimited list of plate numbers for CRFs that may be completed on this visit, but are not required (maximum 1200 characters). | ||||
| 10 | missed visit notification plate | a plate number which if received, indicates that the visit number coded on that plate was missed, and hence that Query Reports should not complain that this visit is overdue, or that it has missing pages. | ||||
| 11 | termination window | for visit type W, a termination window is required and may be one of the
following forms:
| ||||
| 12 | display order | a comma- or space-delimited range list of required and optional plate numbers. The order specified here determines the order in which pages within a given visit are to be displayed in the DFexplore subject binder. |
Table 2.51. Visit codes and their meaning
| Code | Meaning | Scheduled | When Required |
|---|---|---|---|
| C | cycle | no|yes | cycles are used to group visits. For additional information regarding cycle entries, refer to Study Setup User Guide, Cycle Specifications. |
| X | screening | no | if subject enters the trial (baseline arrives) |
| P | scheduled pre-baseline visit | yes | before arrival of baseline visit |
| B | baseline | yes | can be scheduled from a pre-baseline visit |
| S | scheduled follow-up | yes | scheduled from the baseline visit |
| O | optional follow-up | no | not required |
| r | required by time of next visit | no | before arrival of the next visit |
| T | cycle termination visit | yes | scheduled from the baseline visit |
| R | required by time of termination visit | yes | on termination if scheduled pre-termination |
| E | early termination of current cycle | no | if early termination event occurs |
| A | abort all cycles | no | if abort event occurs |
| F | final visit (terminates all cycles) | no | terminate multi-cycle visit maps |
| W | study termination window | yes | absolute date scheduling of final visit |
Table 2.52. DFwatermark - watermark
| Usual Name | DFwatermark |
| Type | clear text |
| Created By | DFadmin |
| Used By | DFexplore, DFpdf, DFpdfpkg |
| Field Delimiter | | |
| Record Delimiter | \n |
| Comment Delimiter | NA |
| Fields/Record | 9 |
| Description |
The In determining which watermark to use, the records are searched in sequential order from the beginning of the file. The first record to match, based upon the current user's role and the role(s) in the record, is selected. |
| Example |
draft|Draft watermark|DRAFT|20|255,0,0|50|1|1|unrestricted,Sites
|
Table 2.53. DFwatermark field descriptions
| Field # | Contains | Description |
|---|---|---|
| 1 | name | The unique name for the watermark. |
| 2 | description | A description of how and why the watermark is used for this role. |
| 3 | watermark text | The text of the watermark. |
| 4 | size | The point size of the font. |
| 5 | color | The color of the watermark in RGB space in the format 0-255,0-255,0-255. |
| 6 | transparency | The transparency of the watermark as a percentage from 0 (opaque) to 100 (transparent). |
| 7 | position | The placement of the watermark on the page - 1=top, 2=center or 3=bottom. |
| 8 | frame | A flag to indicate if the watermark is framed (1) or not (0). |
| 9 | roles | A comma delimited list of roles that may use this watermark. |
Table 2.54. QCcovers - Query cover pages
| Usual Name | QCcovers | |||
| Type | clear text | |||
| Created By | text editor | |||
| Used By | DF_QCreports | |||
| Field Delimiter | NA | |||
| Record Delimiter | NA | |||
| Comment Delimiter | # | |||
| Fields/Record | NA | |||
| Description |
External Quality Control report cover sheets can be included by defining
them in the file A cover sheet begins with a <FOR center="#list"> tag to identify the site(s) that are to receive the cover sheet. It is legal for some sites to receive cover sheets while others do not, and for different sites to receive different cover sheets.
Cover sheets are defined using a
If more than one cover sheet is defined and a site ID is included in the
Sites not specified in either
| |||
| Example |
The following is an example of an English and French version of a cover sheet for an international trial, where sites 20 to 29 inclusive use French, and all other sites use English. <FOR centers="1~19,30~300"> <TEXT font="^P12 fB"> -------------------------------------------------------------- PLEASE DELIVER THIS FAX TO THE FITNESS STUDY COORDINATOR TO: <WHO> Site <CENTER>: <WHERE> <DATE> </TEXT> </FOR> <FOR centers="20~29"> <TEXT font="^P12 fB"> -------------------------------------------------------------- DONNEZ CE RAPPORT AU COORDINATOR DE RECHERCHE POUR FITNESS, S'IL VOUS PLAIT TO: <WHO> Site <CENTER>: <WHERE> <DATE> </TEXT> </FOR>
|
Table 2.55. QCmessages - Query Report messages
| Usual Name | QCmessages | |||
| Type | clear text | |||
| Created By | text editor | |||
| Used By | DF_QCreports | |||
| Field Delimiter | NA | |||
| Record Delimiter | NA | |||
| Comment Delimiter | # | |||
| Fields/Record | NA | |||
| Description |
Cover sheets may include messages for all or specified site IDs. Messages
are stored in the file
The file
It is unnecessary to define a cover sheet in order to use messages. If a
message is specified for a site which has not been defined in
| |||
| Example |
In the following example all site IDs (1 to 300 inclusive) receive the announcement of an upcoming meeting. For site IDs 1, 4, 22 to 24, and 127, this is followed by an important message regarding their lack of response to data queries. <FOR center="1~300"> <TEXT font ="^P12 fB"> -------------------------------------------------------------- PLEASE NOTE: </TEXT> <TEXT font="^P10 fCW"> The next FITNESS Study investigator's meeting will be held on October 9-10, 1999 in Orlando, Florida. Location and times will follow at a later date. </TEXT> </FOR> <FOR center="1,4,22~24,127"> <TEXT font="^P12 fB"> -------------------------------------------------------------- IMPORTANT! </TEXT> <TEXT font="^P10 fCW"> We have not received any corrections related to the Quality Control reports we have sent to your site over the last 2 months. Please make every attempt to resolve the outstanding data queries as soon as possible. By protocol and agreement with the FDA, all adverse events must be reviewed by us within 3 days of each subject assessment. If you are having problems of any kind, please let us know. </TEXT> </FOR>
|
Table 2.56. QCtitles - Query Report titles
| Usual Name | QCtitles | |||
| Type | clear text | |||
| Created By | text editor | |||
| Used By | DF_QCreports | |||
| Field Delimiter | NA | |||
| Record Delimiter | NA | |||
| Comment Delimiter | # | |||
| Fields/Record | NA | |||
| Description |
The external or internal report title and sub-titles for each of the 3 sections (Subject Status, Refax List, Q & A List) of a DFdiscover Quality Control report may be specified in this file. DF_QCreports checks for the existence of this file and will use it if it exists, otherwise standard titles will be produced.
Title specifications must be formatted exactly as shown in the examples
to
follow. The opening and closing tags must appear on new lines by themselves,
with no leading or trailing text outside of the tag. Anything entered outside
of a tagged block is ignored. The Tags are only recognized if they begin a new line. Nothing is to precede the tag symbol '<'. No space is allowed within the opening and closing tag except before the word "font". The "font" value must be enclosed in double quotes.
Limited font specifications may be included within the opening tag as
listed in Table 2.57, “ The font specification is optional. By default, font
The variables enumerated in Table 2.58, “Variables available for use in QCcovers, QCmessages, and QCtitles” may be included in the external and internal report titles which appear at the top of each page, but not in the sub-titles for the 3 parts of the report (status, refax and question & answer lists).
| |||
| Example |
Here is an example of a # TITLE AT THE TOP OF EACH PAGE OF AN EXTERNAL QUERY REPORT <EXTERNAL font="^P12 fB"> FITNESS STUDY REPORT <NUM> for: <MON> <DAY>, <YEAR> at <TIME> TO: <WHO>, <WHERE> </EXTERNAL> # TITLE AT THE TOP OF EACH PAGE OF AN INTERNAL QUERY REPORT <INTERNAL font="^P12 fB"> INTERNAL QC REPORT: <NAME> page <PAGE> created: <YEAR>-<MON>-<DAY> </INTERNAL> #SUB-TITLE ABOVE THE SUBJECT STATUS LIST (Part 1 of a standard external Query Report) <STATUSLIST font="^P10 fB"> SUBJECT VISIT SCHEDULE: Note: *identifies subjects with data queries. </STATUSLIST> #SUB-TITLE ABOVE REFAX LIST (Part 2 of a standard external Query Report) <REFAXLIST font="^P10 fB"> CRF CORRECTIONS: Initial and date each correction. Refax all corrected pages without delay. </REFAXLIST> # SUB-TITLE ABOVE THE QUESTION AND ANSWER LIST (Part 3 of a standard external Query Report) <QALIST font="^P10 fB"> QUERIES: Print your response below each question and fax back this page. </QALIST>
|
Table 2.58. Variables available for use in QCcovers, QCmessages, and QCtitles
| Variable | Use in External | Use in Internal | Meaning | ||
|---|---|---|---|---|---|
<STUDYNAME> | yes | yes | study name | ||
<SITE>
[a] | yes | no | site ID | ||
<WHO> | yes | no | primary site contact | ||
<WHERE> | yes | no | site affiliation | ||
<MAIL> | yes | no | site mailing address | ||
| yes | no | primary fax number (to which Query Reports are sent) | ||
<FAX2> | yes | no | secondary fax number | ||
<PHONE1> | yes | no | primary contact's phone number | ||
<PI> | yes | no | principal investigator | ||
<PHONE2> | yes | no | principal investigator's phone number | ||
<REPLYTO> | yes | no | email address to which replies made to emailed Query Reports will be sent | ||
<NUM> | yes | no | external report name composed of site ID, date (yymmdd), and page, e.g. 025-080115-01. | ||
<NAME> | yes | yes | external report name composed of site ID and date only, e.g. 025-080115 | ||
<PAGE> | yes | yes | page number of Query Report | ||
<DAY> | yes | yes | two-digit day of month | ||
<MON> | yes | yes | three-character month of year | ||
<YEAR> | yes | yes | four-digit year | ||
<WKDAY> | yes | yes | three-character day of week | ||
<TIME> | yes | yes | time of day (hh:mm:ss AM/PM), e.g. 01:12:22 PM | ||
<DATE> | yes | yes | date (ddd mmm dd hh:mm:ss yyyy), e.g. Tue Jan 15 14:34:07 2018 | ||
[a] The variable
| |||||
Table 2.59. DFreportstyle - DFdiscover Report styling
| Usual Name | DFreportstyle |
| Type | clear text |
| Created By | text editor |
| Used By | DFdiscover reports, excluding Legacy reports |
| Field Delimiter | NA |
| Record Delimiter | NA |
| Comment Delimiter | NA |
| Fields/Record | NA |
| Description |
The file contains two optional sections, a
|
| Example |
<script type="application/json" id="dfreportjson">{
"palettes": {
"Corporate": ["#26456e", "#3a87b7", "#b4d4da", "#1c5998", "#67add4", "#1c73b1", "#7bc8e2"],
"Diverging" : ["#000066", "#6699ff", "#ffff00", "#3333ff", "#99ccff", "#ffff99", "#cc9900",
"# 3366ff", "#ccccff", "#ffff66", "#663300"],
"Monochrome": ["#1a1a1a", "#666666", "#b3b3b3", "#333333", "#808080", "#cccccc", "#4d4d4d",
"#999999", "#e6e6e6"],
"Color blind": ["#006ba4", "#ff800e", "#595959", "#5f9ed1", "#c85200", "#898989", "#a2c8ec",
"#ffbc79", "#cfcfcf"]
}
}</script>
<style id="dfreportcss">
/* Body font */
body {
font: 100% arial, sans-serif;
}
/* Title font */
.contextText.reportNameText {
font: italic bold 1.5em Helvetica, serif;
}
/* Heading font */
.c3-title {
font: 1.2em Helvetica, serif;
}
/* Axis label font */
.c3-axis-y-label, .c3-axis-x-label {
font: normal 1.2em Helvetica, sans-serif;
}
</style>
|
This directory contains all the lookup tables used in the study.
Table 2.60. Lookup tables
| Usual Name | None |
| Type | clear text |
| Created By | text editor |
| Used By | DFexplore, DFbatch |
| Field Delimiter | | |
| Record Delimiter | \n |
| Comment Delimiter | NA |
| Fields/Record | 1+ |
| Description |
A lookup table is a simple ASCII file. If it is anything other than this, an error message will appear on the command-line upon starting DFbatch.
Each lookup table file must be associated with a symbolic table name in the lookup table map
in order to be used by the Within a lookup table, each record has at least 1 field. The first field is a short acronym (the search field), and the subsequent fields are the lookup text. If the record has only one field, it is the search and the result field (this is useful for spell checking). If the record has 2 fields, the first field is the search key and the second is the return value. An example query lookup table with two fields is illustrated below.
Records may also have 3+ fields (e.g COSTART tables, MedDRA), where the
first field is the search key and all other fields are returned as a single
delimited string that can be parsed using the Within the lookup table structure, the search field is typically short but has no maximum length. The lookup text fields have no maximum length; however, they are truncated to the maximum length of the data field into which they are inserted. Multi-field lookup tables can also support a more flexible structure as illustrated below. These lookup tables contain 3 header rows which define the structure of the table.
If a lookup table is defined for a study data field, the defined lookup text can be retrieved in 2 ways. If the user remembers the acronym (first field) the lookup value can be entered by typing the acronym in the current data field and pressing Enter. The acronym is then replaced with the value from the matching lookup table record. Matching on the acronym is performed case-insensitive. Alternatively the user can simply press Enter without giving an acronym, to pop-up a scrolling list of all acronyms and their lookup text, and then click on the desired choice. |
| Example |
a|before AA|auto accident (MVA) A&P|anterior & posterior abd|abdomen abg|arterial blood gases ac|before meals acid phos|acid phosphatase ACLF|adult congregate living facility ACTH|adrenocorticotrophic hormone acute MI|acute myocardial infarction ad|right ear Ad|up to Ad lib|as desired BaE|barium enema Ba|barium BB|blood bank BCP|biochemical profile BE|barium enema BEE|basal energy expenditure |
This directory contains summary files created by DF_QCupdate, DFdiscover retrieval files, and temporary files created during the execution of reports and other programs.
Table 2.61. DFX_ccycle - cycle conditions met
| Usual Name | DFX_ccycle |
| Type | clear text |
| Created By | DF_QCupdate |
| Used By | DF_PTvisits |
| Field Delimiter | | |
| Record Delimiter | \n |
| Comment Delimiter | NA |
| Fields/Record | 4+ |
| Description |
This file records the conditions defined in the conditional cycle map that were met for each subject. It is updated each time DF_QCupdate is run.
Table 2.62, “ |
| Example |
The following example shows 3 conditions (1,4 and 6), that were met for subject 11020. These conditions were met at visits 10,5 and 60 respectively, with data values 2, 98 and 0 respectively. To determine the actions triggered by these conditions we would need to consult the conditional cycle map to determine which cycles are affected by each condition. 11020|10|1|2 11020|5|4|98 11020|60|6|0
|
Table 2.62. DFX_ccycle conditional cycle map conditions that were met
| Field # | Contains | Description |
|---|---|---|
| 1 | Subject ID | subject ID number |
| 2 | Visit Number | visit or sequence number at which the condition was met, taken from the IF statement if the condition includes both IF and AND statements |
| 3 | Condition Number | condition number, from the order in which conditions are defined in the conditional cycle map |
| 4+ | data value(s) | the database value(s) that resulted in the condition being met, for each IF and AND statements defined in the condition (in statement order) |
Table 2.63. DFX_cvisit - visit conditions met
| Usual Name | DFX_cvisit |
| Type | clear text |
| Created By | DF_QCupdate |
| Used By | DF_PTvisits |
| Field Delimiter | | |
| Record Delimiter | \n |
| Comment Delimiter | NA |
| Fields/Record | 4+ |
| Description |
This file records the conditions defined in the conditional visit map that were met for each subject. It is updated each time DF_QCupdate is run.
Table 2.64, “ |
| Example |
The following example shows 3 conditions (1,4 and 6), that were met for subject 11020. These conditions were met at visits 10,5 and 60 respectively, with data values 2, 98 and 0 respectively. To determine the actions triggered by these conditions we would need to consult the conditional visit map to determine which visits are affected by each condition. 11020|10|1|2 11020|5|4|98 11020|60|6|0
|
Table 2.64. DFX_cvisit conditional visit map conditions that were met
| Field # | Contains | Description |
|---|---|---|
| 1 | Subject ID | subject ID number |
| 2 | Visit Number | visit or sequence number at which the condition was met, taken from the IF statement if the condition includes both IF and AND statements |
| 3 | Condition Number | condition number, from the order in which conditions are defined in the conditional visit map |
| 4+ | data value(s) | the database value(s) that resulted in the condition being met, for each IF and AND statements defined in the condition (in statement order) |
Table 2.65. DFX_cplate - plate conditions met
| Usual Name | DFX_cplate |
| Type | clear text |
| Created By | DF_QCupdate |
| Used By | DF_PTvisits |
| Field Delimiter | | |
| Record Delimiter | \n |
| Comment Delimiter | NA |
| Fields/Record | 4+ |
| Description |
This file records the conditions defined in the conditional plate map that were met for each subject. It is updated each time DF_QCupdate is run.
Table 2.66, “ |
| Example |
The following example shows 3 conditions (1,4 and 6), that were met for subject 11020. These conditions were met at visits 10,5 and 60 respectively, with data values 2, 98 and 0 respectively. To determine the actions triggered by these conditions we would need to consult the conditional plate map to determine which plates are affected by each condition. 11020|10|1|2 11020|5|4|98 11020|60|6|0
|
Table 2.66. DFX_cplate conditional plate map conditions that were met
| Field # | Contains | Description |
|---|---|---|
| 1 | Subject ID | subject ID number |
| 2 | Visit Number | visit or sequence number at which the condition was met, taken from the IF statement if the condition includes both IF and AND statements |
| 3 | Condition Number | condition number, from the order in which conditions are defined in the conditional plate map |
| 4+ | data value(s) | the database value(s) that resulted in the condition being met, for each IF and AND statements defined in the condition (in statement order) |
Table 2.67. DFX_cterm - termination conditions met
| Usual Name | DFX_cterm |
| Type | clear text |
| Created By | DF_QCupdate |
| Used By | DF_PTvisits |
| Field Delimiter | | |
| Record Delimiter | \n |
| Comment Delimiter | NA |
| Fields/Record | 4+ |
| Description |
This file records the conditions defined in the conditional termination map that were met for each subject. It is updated each time DF_QCupdate is run.
Table 2.68, “ |
| Example |
The following example shows 3 conditions (1,4 and 6), that were met for subject 11020. These conditions were met at visits 10,5 and 60 respectively, with data values 2, 98 and 0 respectively. To determine the actions triggered by these conditions we would need to consult the conditional termination map to determine which cycles are affected by each condition. 11020|10|1|2 11020|5|4|98 11020|60|6|0
|
Table 2.68. DFX_cterm conditional termination map conditions that were met
| Field # | Contains | Description |
|---|---|---|
| 1 | Subject ID | subject ID number |
| 2 | Visit Number | visit or sequence number at which the condition was met, taken from the IF statement if the condition includes both IF and AND statements |
| 3 | Condition Number | condition number, from the order in which conditions are defined in the conditional termination map |
| 4+ | data value(s) | the database value(s) that resulted in the condition being met, for each IF and AND statements defined in the condition (in statement order) |
Table 2.69. DFX_keys - key fields for all required plates
| Usual Name | DFX_keys |
| Type | clear text |
| Created By | DF_XXkeys |
| Used By | DF_CTvisits, DF_PTcrfs, DF_QCupdate |
| Field Delimiter | | |
| Record Delimiter | \n |
| Comment Delimiter | NA |
| Fields/Record | 5 |
| Description |
This file records the key fields from all required plates found in the database. It is updated each time DF_XXkeys is run.
Table 2.70, “ |
| Example |
The following example shows 4 records for subject 1044, for plates 3,2,1 and 2 respectively at visits 51,61,92 and 211 respectively. All plates have status 1=final and are at validation level 7. 1044|3|51|1|7 1044|2|61|1|7 1044|1|92|1|7 1044|2|211|1|7
|
Table 2.70. DFX_keys key fields from all required plates
| Field # | Contains | Description |
|---|---|---|
| 1 | Subject ID | subject ID number |
| 2 | Plate number | CRF plate number |
| 3 | Visit Number | visit or sequence number |
| 4 | Status | 1-7 |
| 5 | Validation level | 1-7 |
Table 2.71.
DFX_schedule - subject scheduling and visit status
| Usual Name | DFX_schedule |
| Type | clear text |
| Created By | DF_QCupdate |
| Used By | DF_QCreports, DF_PTmissing, DF_PTvisits |
| Field Delimiter | | |
| Record Delimiter | \n |
| Comment Delimiter | NA |
| Fields/Record | 16 for cycle records, and 18 for visit records |
| Description |
This file records the current scheduling and status of all cycles and visits defined in the study visit map, for each subject. It is updated each time DF_QCupdate is run.
Table 2.72, “field definitions for cycle records in |
| Example |
The following example shows the current status for one subject (id=1031) in a study having 3 cycle. The screening cycle consists of visits 91 and 92. The in-study cycle is required and has 8 visits beginning with pre-baseline visit 51 and ending with early termination visit 81. The end cycle contains a single abort visit (visit number 80). 1031|1|0|C|S|1|7||||||03/09/21|37884|| 1031|1|0|91|X|1|7|||||||03/09/21|37884||| 1031|1|0|92|X|1|1|||||||03/09/28|37891||| 1031|1|1|C|R|1|7||||||~03/10/07|37900|| 1031|1|1|51|P|1|7|||||||03/10/05|37898|03/10/05|37898| 1031|1|1|0|B|4|0|-1|10|51|||||||| 1031|1|1|61|r|1|1|||||||04/01/06|37991||| 1031|1|1|3|S|2|1|||||||04/01/06|37991||| 1031|1|1|6|S|1|0|||||||04/04/07|38083||| 1031|1|1|9|S|1|0|||||||04/07/07|38174||| 1031|1|1|12|T|1|0|||||||04/10/06|38265||| 1031|1|1|81|E|3|0||||||||||| 1031|1|2|C|E|0|0|||||||||| 1031|1|2|80|A|3|0|||||||||||
|
Table 2.72. field definitions for cycle records in DFX_schedule
| Field # | Contains | Description |
|---|---|---|
| 1 | Subject ID | subject ID number |
| 2 | Site ID | clinical site number |
| 3 | Cycle Number | cycles are numbered sequentially within the visit map, using 0 for screening, if present, and starting at 1 for the first in-study cycle. |
| 4 | C | the capital letter C appears in this field to distinguish cycle records from visit records |
| 5 | Cycle Type | cycles are defined in the visit map as one of: S=screening, R=in-study required, O=in-study optional, C=in-study conditional, and E=end |
| 6 | Cycle Need | cycle need, after applying all conditional and termination rules, can be one of: 0=unknown, 1=required, 2=next required cycle, 3=optional, and 4=excluded |
| 7 | Cycle Status | the current status of the cycle (as of the date on which DF_QCupdate was last run) can be one of: 0=not done, 1=overdue, 7=done, 8=cycle has terminated, 9=cycle was aborted |
| 8 | Condition need | cycle need set by a condition in the conditional cycle map; one of: 0=optional, 1=required, -1=excluded |
| 9 | Condition number | the number of the condition as defined within the conditional cycle map |
| 10 | Condition sequence number | visit or sequence number at which the condition was met (from IF statement) |
| 11 | Start date | scheduled start date for the cycle |
| 12 | Start day | scheduled start day (days since Jan 1,1900) for the cycle |
| 13 | Baseline date | baseline visit date for the cycle |
| 14 | Baseline day | baseline visit day (days since Jan 1,1900) for the cycle |
| 15 | Termination date | termination date for the cycle |
| 16 | Termination day | termination day (days since Jan 1,1900) for the cycle |
Table 2.73. field definitions for visit records in DFX_schedule
| Field # | Contains | Description |
|---|---|---|
| 1 | Subject ID | subject ID number |
| 2 | Site ID | clinical site number |
| 3 | Cycle Number | cycles are numbered sequentially within the visit map, using 0 for screening, if present, and starting at 1 for the first in-study cycle. |
| 4 | Visit/Sequence Number | a unique subject assessment number in the range 0-65535 |
| 5 | Visit Type | one of the 12 supported visit types: X=screening, P=pre-baseline, B=baseline, S=scheduled follow-up, T=cycle termination, W=cycle termination windows, F=final, O=optional, E=early cycle termination, A=abort all follow-up, R=required on termination, and r=required on next scheduled visit |
| 6 | Visit Need | visit need, after applying all conditional and termination rules, can be one of: 0=unknown, 1=required, 2=next required visit, 3=optional, and 4=excluded |
| 7 | Visit Status | the current status of the visit (as of the date on which DF_QCupdate was last run) can be one of: 0=not done, 1=overdue, 2=recorded as missed, 7=done, 8=done and cycle terminates, 9=done and aborts all follow-up |
| 8 | Condition need | visit need set by a condition in the conditional visit map; one of: 0=optional, 1=required, -1=excluded |
| 9 | Condition number | the number of the last condition met within the conditional visit map |
| 10 | Condition sequence number | visit or sequence number at which the condition was met (from IF statement) |
| 11 | Missed Visit Plate | plate number of missed visit plate received for this visit |
| 12 | Early Termination Plate | plate number of early cycle termination plate received for this visit |
| 13 | Conditional Termination Number | the number of the last condition met in the conditional termination map |
| 14 | Start date | scheduled due date |
| 15 | Start day | scheduled due day (days since Jan 1,1900) |
| 16 | Visit date | actual date on which the visit was performed |
| 17 | Visit day | actual day (days since Jan 1,1900) on which the visit was performed |
| 18 | Days Post-Termination | a positive number indicates that the visit was performed this many days following termination |
Table 2.74. DFX_time1 - date and time from receipt to last modification
| Usual Name | DFX_time1 |
| Type | clear text |
| Created By | DF_XXtime |
| Used By | DF_CTcrfs, DF_PTqcs, DF_WFfaxes |
| Field Delimiter | | |
| Record Delimiter | \n |
| Comment Delimiter | NA |
| Fields/Record | 21 |
| Description |
This file records the date and time each CRF page was processed from fax arrival to last record modification. It is updated each time DF_XXtime is run. A related file, named DFX_dfin, contains the same information as DFX_time1, for records that are still in the DFdiscover new queue. These records have not been validated and entered into the study database and thus may contain ICR errors in the key fields.
Table 2.75, “ |
| Example |
The following example shows 4 records for subject ID 1501.
The first 2 records are for plate 1 at visit 0, and the second 2 records are for plate
2 at visit 1. In both cases the first record is the primary and the second is a
secondary record. In all 4 records the fax arrival date is missing. This will be the
case if the record was not submitted by fax or email, but instead entered using raw
data entry or ASCII record import, or if the
|
Table 2.75. DFX_time1 timing data for each CRF page
| Field # | Contains | Description |
|---|---|---|
| 1 | Site ID | clinical site number |
| 2 | Subject ID | subject ID number |
| 3 | Visit Number | visit or sequence number |
| 4 | Plate Number | CRF plate number |
| 5 | Record Status | 1-6,0: 1=final, 2=incomplete, 3=pending, 4=FINAL, 5=INCOMPLETE, 6=PENDING, 0=missed |
| 6 | Record Validation Level | 1-7 |
| 7 | fax name | yyyywwssss: yyyy=year, ww=week of the year, ssss=order number of fax within the week |
| 8 | visit date | date the visit occurred, from DFX_visit.date, in yy/mm/dd format |
| 9 | fax date | date the fax was received in yy/mm/dd format |
| 10 | creation date | date the data record was created, in yy/mm/dd format |
| 11 | modification date | date the data record was last modified, in yy/mm/dd format |
| 12 | visit julian day | date the visit occurred, from DFX_visit.date, in days since Jan 1,1900 |
| 13 | fax julian day | date the fax was received in days since Jan 1,1900 |
| 14 | creation julian day | date the data record was created, in days since Jan 1,1900 |
| 15 | modification julian day | date the data record was last modified, in days since Jan 1,1900 |
| 16 | fax time | time the fax was received in hh:mm:ss format |
| 17 | creation time | time the data record was created in hh:mm:ss format |
| 18 | modification time | time the data record was last modified in hh:mm:ss format |
| 19 | fax minutes | time the fax was received, in number of minutes into the day (0-1440) |
| 20 | creation minutes | time the data record was received, in number of minutes into the day (0-1440) |
| 21 | modification minutes | time the data record was last modified, in number of minutes into the day (0-1440) |
Table 2.76.
DFX_visit.dates - value in the database of all visit dates
| Usual Name | DFX_visit.dates |
| Type | clear text |
| Created By | DF_XXkeys |
| Used By | DF_CTvisits, DF_PTcrfs, DF_QCupdate |
| Field Delimiter | | |
| Record Delimiter | \n |
| Comment Delimiter | NA |
| Fields/Record | 5 |
| Description |
This file records the value of all dates in the database that use the VisitDate attribute. Only one date using the VisitDate attribute may appear on each CRF plate, but different plates for the same visit may contain VisitDate fields, and thus it is possible to have more than one record in for each visit for any given subject. A related file, named , records the preferred visit date for each visit, as defined in the study visit map. These 2 files are updated each time DF_XXkeys is run.
Table 2.77, “ |
| Example |
The following example shows 5 records for subject ID 1127, for visits 0,3,6,51. Note that there are 2 entries for visit 51, one from plate 10 and one from plate 13. 1127|0|03/08/19|37851|3 1127|3|03/11/20|37944|5 1127|6|04/02/18|38034|5 1127|51|03/08/10|37842|10 1127|51|03/08/10|37842|13
|
Table 2.77. DFX_visit.dates the value of all dates using the VisitDate attribute
| Field # | Contains | Description |
|---|---|---|
| 1 | Subject ID | subject ID number |
| 2 | Visit Number | visit or sequence number |
| 3 | date | the date value in the format used by the VisitDate attribute |
| 4 | julian value | This is a modified julian value for the date, calculated as the number of says since Jan 1,1900. |
| 5 | Plate Number | The plate on which the visit date is recorded. |