DF_ICvisitmap

DF_ICvisitmap — Report inconsistencies and errors in the study visit map

Synopsis

DF_ICvisitmap {study}

Description

DF_ICvisitmap detects syntactic and semantic errors in the visit map, and checks for adherence to DFdiscover visit map rules.

It also checks the definition of all dates defined in the study schema, checks the syntax and validity of page map entries, and checks any of the conditional maps (cycle, visit, plate and termination) that have been defined.

The following checks are performed on the visit map:

  1. a screening cycle, if used, precedes all other cycles, and is defined using cycle number 0 and cycle type S,
  2. screening cycle contains only visit types X (screening) and O (optional),
  3. screening cycle may contain scheduled type X (screening) visits, but the start of the cycle can not be scheduled,
  4. an end cycle, if used, is the last cycle in the visit map and is defined using the next sequential cycle number and cycle type E,
  5. an end cycle, may not be scheduled and may not contain any scheduled visits, the only visit types allowed are: A (abort), O (optional), and R (required on termination of all follow-up),
  6. in-study cycles (i.e. all cycles defined between the screening and end cycles) are numbered sequentially starting from 1,
  7. in-study cycles must be one of the following types: R (required), O (optional), or C (conditional),
  8. in-study cycle types R and C must have a legal scheduling method (one of: S,B,R,C,N,visit#) that indicates when the study is expected to begin,
  9. in-study cycles consisting of only 1 visit, must be defined using visit type B,
  10. in-study cycles consisting of 2 or more visits, must have both a baseline and termination visit,
  11. the type F (final) visit can only be used in the last in-study cycle,
  12. each visit specification contains a single visit number or a valid number list,
  13. visit numbers fall within the legal range 0-65535, inclusive,
  14. each visit number is unique,
  15. each visit is a valid DFdiscover visit type from the list X,P,B,S,O,T,R,r,E,F,A, and W,
  16. each visit label is unique, uses only valid visit number substitutions, and is no longer than allowed (17 or 32 characters) depending on study setup preference setting,
  17. for those visit types (P,B,S,T,F,A,E,W) which require a visit date, a visit date is specified in the visit map and the specified visit date plate is on one of the required plates for the visit. If the VisitDate plate is not in the list of required plates for the visit, a warning will be issued. This is acceptable as it is possible that the VisitDate field may be defined on a conditional plate,
  18. the field identified as the visit date is defined in the study schema using the Visit Date attribute,
  19. each required plate is listed only once for each visit. It is possible that the required plate list is empty as all plates for a visit may be optional with different ones only becoming required if some condition is met. Thus, DF_ICvisitmap only produces a warning if the plate list is empty,
  20. due day for pre-baseline visits is <= 0,
  21. pre-baseline visits precede the baseline visit in each cycle,
  22. due day must be 0 for all baseline visits,
  23. baseline visits precede scheduled visits within each cycle,
  24. due day for each scheduled visit is >= due day of any preceding scheduled visits,
  25. only one type T termination visit appears in each cycle,
  26. only one type W termination window appears in each cycle,
  27. if both T and W terminations are defined in a cycle, the type T termination visit must precede the type W termination window,
  28. only one final visit (type F) appears in the visit map, and it occurs, if used, as the first visit in the last in-study cycle,
  29. a plate which signals a missed visit is not defined as a required plate,
  30. cycles scheduled using scheduling method S (from start of first cycle) have a start day which follows the start of preceding cycles,
  31. termination window syntax, and
  32. required plates must not signal early termination (except perhaps for early termination (type E) and abort (type A) visits, where defining them this way is acceptable but unnecessary).

The following checks are performed on the conditional maps, if used, for: conditional cycles, visits, plates and termination:

  1. the statement that defines the condition has the correct number of fields (5), and references a valid data field to be tested (i.e. the specified visits exist in the visit map, the specified plate exists in the study schema, and the specified field exists on the specified plate),
  2. only 1 IF statement is defined for each condition,
  3. for the conditional termination map the condition begins with termination type E (early termination) or A (abort all follow-up), and for all other termination maps the condition begins with IF,
  4. the conditional termination map consists of condition statements only (termination occurring at the visit that triggers the condition), but the conditional cycle, visit and plate maps also contain one or more action statements following each condition statement,
  5. each action statement has 2 fields
  6. each action statement begins with either a +, - or ~ sign, to indicate that, when the condition is true, the list of cycles, visits or plates is required, excluded or optional, respectively,
  7. for the conditional cycle map the 2nd field of the action statement is a valid list of cycles (i.e. cycles defined in the visit map),
  8. for the conditional visit map the 2nd field of the action statement is a valid list of visits (i.e. visits defined in the visit map),
  9. for the conditional plate map the 1st field of the action statement contains a valid list of visits (i.e. visits defined in the visit map), and 2nd field contains a valid list of plates (i.e. plates defined in the study schema)

The following checks are performed on the page map, if used.

  1. visit acronyms will fit on the subject status list of DFdiscover Query Reports, i.e. the length of visit acronyms plus the length of the longest study VisitDate format is not more than 18 characters,
  2. visit acronyms use only visit number substitutions (plate number and data field substitutions are not allowed),
  3. plate-sequence labels use valid substitutions (for visit number, plate number or a specified data field),
  4. plate-sequence labels will fit on DFdiscover query reports, i.e. are not longer than 25 or 40 characters, depending on which study setup preference has been specified in the study schema,
  5. visit acronym specifications reference valid visit numbers (i.e. visits specified in the study visit map),
  6. plate-sequence specifications reference valid plate and visit numbers (i.e. visits specified in the study visit map and plates defined in the study schema)

Options

None.

Examples

Example 2.18. Report output for an incorrectly modified version of study 245

DF_ICvisitmap: Check Visit Map Specifications.    DFstudy 245. Jan 18,2018 15:24

Study Schema                = /Users/Shared/studies/s245/lib/DFschema
Visit Map                   = /Users/Shared/studies/s245/lib/DFvisit_map
Conditional Cycle Map       = /Users/Shared/studies/s245/lib/DFccycle_map
Conditional Visit Map       = /Users/Shared/studies/s245/lib/DFcvisit_map
Conditional Plate Map       = /Users/Shared/studies/s245/lib/DFcplate_map
Conditional Termination Map = /Users/Shared/studies/s245/lib/DFcterm_map
Page Map                    = /Users/Shared/studies/s245/lib/DFpage_map

Checking All Date Fields in Study Schema

Checking VisitDate Fields in Study Schema

Checking Visit Map

ERROR at line 7: 93|X|Screen 3|1|10|14|0|1|11|12
      screening visits are only allowed in the screening cycle

Checking Conditional Cycle Map

Checking Conditional Visit Map

ERROR at line 4: |101-100+value
      syntax error, expected: [+-~]|visits(s)

Checking Conditional Plate Map

Checking Conditional Termination Map

Checking Page Map

ERROR at line 10: S|1001-1003,1101-1103|Visit #%{S.1.2}.%{S.3.2}
      label is 12 characters long, the maximum = 10
      example: Visit #10.01

See Also

DF_ICschema
DF_QCupdate
DF_SSvisitmap