Chapter 8. Subject Visit Scheduling

Table of Contents

8.1. Introduction
8.2. Visit Dates
8.3. Visit Map
8.4. Cycles
8.4.1. The Screening Cycle
8.4.2. In-Study Cycles
8.4.3. The End Cycle
8.4.4. Cycle Specifications
8.5. Visits
8.5.1. Visit Number
8.5.2. Visit Type
8.5.3. Visit Label
8.5.4. Due Day
8.5.5. Overdue Allowance
8.5.6. Visit Date Location
8.5.7. CRF Plates
8.6. Display Order
8.7. Visit Map Examples
8.8. Conditional Maps
8.8.1. Conditional Cycle Map
8.8.2. Conditional Visit Map
8.8.3. Conditional Plate Map
8.8.4. Conditional Termination Map
8.9. Early Termination Plates
8.10. Missed Visit Plates
8.11. Implementation & Scheduling Rules
8.12. DF_QCupdate
8.13. Termination of Subject Follow-up
8.14. Effect of Early Termination on Visit Requirements
8.15. Identification of Missing Plates
8.16. Conditional Cycles and Conditional Visits

8.1. Introduction

Visit scheduling specifications are used to:

  • schedule subject follow-up assessments
  • identify overdue visits and missing CRF pages
  • identify visits and CRF pages that are present but unexpected
  • create subject and site visit and CRF tracking reports
  • create Quality Control reports for the clinical sites containing subject scheduling information and outstanding data queries for overdue visits and missing pages.

The visit scheduling components are listed below.

  • Visit Dates.  Which data fields used to record the date of subject assessments and any termination events?

  • Visit Map.  What visits make up the full set of possibilities for all study subjects? What visit numbers are used to identify each visit? What is the chronological ordering of visits? Are visits grouped in cycles where each cycle starts with a new baseline visit? How much overdue allowance is permitted before an overdue visit query is created? What CRF plates are required and optional for each visit?

  • Conditional Cycle Map.  Are there database conditions that are used to decide whether some cycles are required, optional or unexpected for each subject?

  • Conditional Visit Map.  Are there database conditions that are used to decide whether some visits are required, optional or unexpected for each subject?

  • Conditional Plate Map.  Are there database conditions that are used to decide whether some CRF plates are required, optional or unexpected at specific visits?

  • Conditional Termination Map.  Are there database conditions that indicate that subject follow-up terminates at certain visits? Do such terminations stop all further follow-up, or just follow-up within the current cycle?

  • Early Termination Plates.  Does the study include one or more special CRFs that are submitted with an assessment to indicate that follow-up ends, for the current cycle, as of that assessment?

  • Missed Visit Plates.  Does the study include one or more special CRFs that are submitted by the clinical sites for each visit that was missed, so that DFdiscover will know not to send overdue visit queries?

Visit dates are identified by the special Visit Date attribute, and each of the other components listed above is specified using a dialog invoked from DFsetup View. A detailed description of each of these components follows.

8.2. Visit Dates

Visit date fields are used to record the day on which a visit occurred or subject follow-up was terminated. They are used for subject scheduling and must be specified as follows:

  • All visit date fields must use the same date format and be defined using the special Visit Date attribute.

  • A visit date field must appear on at least one CRF page for each baseline and scheduled follow-up visit. They may also appear on optional visits but are only required if the optional visit may become required when some condition is met as specified in the conditional visit map.

  • A visit date field must exist for any event that terminates subject follow-up, e.g. final visit date, early termination date, date of death, etc. These dates are used to halt visit scheduling so that visits that would have been due after the termination date are not identified as overdue.

  • The Visit Date attribute must not be used for unscheduled events like the onset dates of an adverse event.

  • Each CRF page can have only one visit/assessment number (field 6) and thus can also have only one Visit Date field identifying when that visit occurred.

If you assign the Visit Date attribute to dates on more than one plate for the same visit make sure that you expect the same calendar date to be recorded in each of these fields. If DFdiscover finds inconsistencies between dates using the Visit Date attribute for the same visit, it will report the problem (when DF_XXkeys is run) and will generate a DFdiscover retrieval file that can be used to review the inconsistent cases.

While it is illegal to have different visit dates recorded for the same visit, it is legal to have the same visit date recorded for different visits. However, within the ordered list of study visits, defined within screening and in-study cycles in the study visit map, it is illegal for visit dates to be out of chronological order. Thus the same visit date should only appear, if at all, for adjacent visits.

8.3. Visit Map

The visit map is the key component of the subject scheduling specifications. This is where study visits are defined, grouped and ordered. Within every visit map there are 2 levels of organization, cycles which contain a set of related visits, and the visits themselves. This is reflected in the Visit Map setup worksheets, where for each cycle, work sheet 3a is used to define the cycle characteristics and work sheet 3b is used to define the visits within the cycle. In this section we'll first describe cycles and then visits.

8.4. Cycles

Cycles come in 3 flavors: screening cycles, in-study cycles and end cycles, and must appear in the visit map in that order. The screening and end cycles are optional, and no more than one of each may be defined in the visit map. In-study cycles contain most of the visits for a typical trial. Multiple in-study cycles may be defined, with some being required, optional and conditional and with different in-study cycles being used for different groups of subjects with different scheduling requirements, or to re-set the baseline for different phases within the same trial.

All cycles must be numbered consecutively within the visit map. The screening cycle must be defined as cycle 0, in-study cycles are must be numbered consecutively from 1, and the end cycle gets the next consecutive integer following the last in-study cycle. Each cycle can also be given a short descriptive label, which is used by some of the standard reports. Each of the 3 cycle types has different uses and follows different rules. We'll consider them in order.

8.4.1. The Screening Cycle

If used, the screening cycle must appear at the beginning of the visit map as cycle number 0. It may contain visit types X (screening) and E (early termination) only; no other visit types are allowed. The screening cycle will not have a scheduled start date because nothing precedes it.

Within a screening cycle all screening visits (X) are required, unless they are made optional or excluded by the conditional visit map. Each screening visit can be unscheduled, or scheduled relative to the first screening visit that serves as the baseline for the cycle. The final screening visit serves as the termination of the screening cycle, unless it is made optional or unexpected by the conditional visit map, in which case the last required or completed screening visit is used as the termination visit of the screening cycle.

The screening cycle can be brought to an early conclusion by defining one or more early termination visits (E) within the screening cycle, by designing an early termination plate that can be submitted at the appropriate screening visit, or by defining termination conditions for the screening cycle in the conditional termination map.

Although unusual, it is legal for a visit map to contain nothing but a screening cycle. This might be useful for a trial consisting of an ordered list of subject assessments, where each subject was allowed to complete the assessments at their own pace, with no specified scheduling targets. This could be done using a visit map having nothing but a screening cycle containing a list of unscheduled screening visits.

8.4.2. In-Study Cycles

In-study cycles sit between the screening cycle and end cycle, and are the most important part of the visit map. These are the cycles that contain the visits that record subject treatment and follow-up. A visit map may contain 1 or more in-study cycles, to accommodate different treatment and follow-up requirements for different subjects, or because treatment and/or follow-up is divided into different phases each with its own baseline visit for within-cycle visit scheduling.

In-study cycles may be defined as required, optional or conditional. A conditional cycle is unexpected unless triggered by a condition specified in the conditional cycle map (see Section 8.8, “Conditional Maps”). Required in-study cycles are required of all subjects unless the cycle is changed to optional or unexpected by the conditional cycle map. Optional in-study cycles may be completed or not at the discretion of the clinical site, unless the cycle is changed to required or unexpected by the conditional cycle map. Optional cycles become required once they start, i.e. visit scheduling and visit requirements become active within an optional cycle when one or more visits have been received.

A scheduling method should be specified for all in-study cycles, regardless of type. This is used to calculate the expected start date for required cycles, as well as for optional and conditional cycles (should they become required as a result of a conditional cycle map trigger). In-study cycles can be scheduled to begin a specified number of days following: the termination of the previous cycle, the baseline of the previous cycle, the baseline of the first in-study cycle, a specified visit number, or in the case of a cycle triggered by the conditional cycle map, the visit on which the condition was met. You will also be asked to specify an overdue allowance. When this time expires DFdiscover will generate an overdue visit query for the first required visit in the cycle if it has not yet arrived.

It is legal for any in-study cycle to consist of a single visit. If this is the case, the visit must be defined using the B (baseline) visit type, which then becomes both the baseline and termination visit for the cycle. This feature makes it possible to schedule visits relative to any other preceding visit in the visit map, rather than having all visits scheduled from a common baseline, as is the clinical trial norm. Such dynamic scheduling can be accomplished by scheduling each single visit cycle using any of the legal cycle scheduling methods described in Section 8.4.4, “Cycle Specifications”.

Most in-study cycles will consist of several visits, in which case they must include at least one baseline and one termination visit. A typical list of visit types for an in-study cycle would include:

  • P - one or more pre-baseline visits

  • B - a single baseline visit

  • S - one or more scheduled follow-up visits

  • T - a single planned termination visit

  • O - one or more optional visits

  • R - one or more assessments required on cycle termination

For a description of the visit types, what they mean and the rules that apply to each of them skip ahead to Section 8.5.2, “Visit Type”.

8.4.3. The End Cycle

The end cycle is so named simply because it comes at the end of the visit map. Its purpose is to serve as a container for any unscheduled visits that do not belong to a screening or in-study cycle. Because the end cycle contains no scheduled visits it does not have a scheduling method or start date. The end cycle may contain 3 visit types: O (optional), R (required on termination), and A (abort).

This is where you should define most event reports, e.g. adverse events, outcome events, hospitalizations, change of medication, problem reports, etc. Such assessments are defined as type O visits (optional), but they can become required during the study, triggered by data collected at other visits, as we'll see below when we discuss the conditional visit map (see Section 8.8.2, “Conditional Visit Map”).

The end cycle can also contain type R visits (required on termination), used to collect CRFs that become due when all subject follow-up ends. This might be used for subject diary forms, or any other assessment that is not required until the subject has completed the study.

Type A visits (abort), which terminate all follow-ups for all cycles, should be placed in the end cycle.

8.4.4. Cycle Specifications

Each screening, in-study and end cycle begins with a cycle definition record containing 7 fields, which can be specified using study setup work sheet 3a, and entered into the visit map using the DFsetup Visit map view.

  1. Cycle Number. 

    Cycles must be numbered sequentially, starting with 0 for the screening cycle, if present, and starting at 1 for the first in-study cycle.

  2. Cycle C. 

    The second field must contain the capital letter C. This distinguishes cycle records from visit records in the visit map.

  3. Cycle Label. 

    This field contains a descriptive label for the cycle. As with visit labels, the maximum length is 32 characters. The cycle label is used by some of the reports including DF_SSvisitmap and DF_PTvisits.

  4. Cycle Type. 

    This field contains a single letter that identifies the cycle type.

    • S - screening cycle

    • C - conditional in-study cycle

    • O - optional in-study cycle

    • R - required in-study cycle

    • E - end cycle

    Screening cycles are required, if present, unless made optional or unexpected by the conditional cycle map. A required in-study cycle is required for all subjects in the study, unless it is changed to optional or unexpected by the conditional cycle map. An optional in-study cycle may be completed or not, unless changed to required or unexpected by the conditional cycle map. Optional cycles are automatically changed to required on the arrival of any of the cycle visits. A conditional in-study cycle is unexpected unless changed to required or optional by the conditional cycle map. The end cycle has no requirement itself and cannot be acted upon by the conditional cycle map, because it is just a container for unscheduled visits that do not belong to any particular cycle. However, visits within the end cycle may become required through the conditional visit map. For example, a condition set on an adverse event report number recorded on a follow-up form could be used to trigger a requirement for the corresponding adverse event assessment report.

  5. Cycle Due Day. 

    The cycle due day identifies when the first required visit in the cycle becomes due. It is interpreted using the cycle scheduling method specified in the 7th and last field of the cycle definition record. This field is only relevant for in-study cycles.

  6. Cycle Overdue Allowance. 

    This field is only relevant for in-study cycles. Required cycles are called overdue when the scheduled due date plus overdue allowance lies in the past.

  7. Cycle Scheduling Method. 

    This field is only relevant for in-study cycles. Legal cycle scheduling methods include:

    • visit# - from a specified preceding visit

    • S - from the baseline visit of 1st required or completed cycle

    • C - from the visit specified in the conditional cycle map IF statement that made the cycle required

    • B - from the baseline visit of the last required or completed cycle

    • T - from the termination visit of the last required or completed cycle

    • N - not scheduled

    In many trials all cycle scheduling is relative to the same initial baseline visit. In this case the visit# method should be used. However, if the first in-study cycle is different for different subjects, the S method can be used to schedule all follow-ups relative to the baseline visit of the first in-study cycle completed for each subject.

    In those cases where a cycle is conditional upon the occurrence of some event it will often be a requirement that the conditional cycle be scheduled to begin a specified number of days after the occurrence of that event. The C scheduling method was designed for this purpose.

    The B and T methods were designed for scheduling relative to the last cycle. When scheduling the next cycle using the T method before the current cycle has terminated, the expected termination date of the current cycle is used. This may of course turn out to be wrong, but DF_QCupdate will correct the scheduling once the actual termination date becomes known.

    This approach, of scheduling cycles and visits from an expected date when the actual date needed for scheduling is unknown, is widely used by DF_QCupdate. It is in fact the only way that a complete schedule can be generated in the absence of the required dates. In addition to required cycles, DF_QCupdate also schedules optional cycles, even though they may end up being skipped. DF_QCupdate does not schedule any cycle or visit that is currently considered unexpected. This includes conditional cycles that have not yet been set to 'required' by the conditional cycle map.

8.5. Visits

The visits that comprise each cycle can be defined using study setup work sheet 3b, and entered into the visit map using the DFsetup Visit map view. In this section we'll explain each of the attributes required to complete a visit specification. These include:

Visit Number

an identification number in the range 0-65535

Visit Type

1 of 12 types represented by the acronyms: XPBOSTWFEARr

Visit Label

a descriptive label (32 char max) used in overdue visit queries

Due Day

# of days following baseline when the visit becomes due

Overdue Allowance

# of days past due day when the visit becomes overdue

Visit Date

location of the visit date field in the database

CRF Plates

list of required and optional plates, and the missed visit notification plate

Display Order

list of required and optional plates in the order that they are to appear in the DFexplore subject binders.

8.5.1. Visit Number

Each CRF page in a DFdiscover study is uniquely identified by 3 keys: a CRF plate number, a visit number and the subject ID.

Visit numbers (also referred to as assessment and sequence numbers) serve 2 purposes. For scheduled and optional visits they distinguish among different visit dates or times at which subjects were seen in the clinic, lab, home, etc. and for numbered event reports they serve as the report number, to distinguish, for example, one adverse event report from all others.

Each visit number must be an integer in the range 0-65535. Those less than 511 can appear in the barcode; otherwise, they must appear as the first data field at the top of each CRF page. If the visit number is greater than or equal to 511, and is fixed for the CRF page on which it appears, it can be pre-printed in the first data field so that it need not be entered by those recording subject data on the CRFs.

Although visit numbers are typically chosen sequentially this is not a requirement. Gaps can appear in the visit number list, and visit numbering need not correspond to the chronological order in which visits occur, as this is determined by the order in which they are listed in the visit map. Visit numbers can simply be viewed as an identification number that distinguishes one subject assessment from another.

Within each cycle the expected chronological order of the visits corresponds to the order in which they are listed in the visit map. Thus, for example, if a study uses visit numbers 1-50, and you discover that you need to add a new visit between visits 11 and 12, you could chose a number like 115, insert it in the visit map between visits 11 and 12, and specify an entry in DFpage_map to display it as 11.5 on quality control reports. This is the only way that visit numbers can appear to have decimal values. At the DFdiscover database level all visit numbers must be integers, but the CRFs can be designed to show decimals and the page map can convert the relevant integers to decimal values for the Query Reports sent to the clinical sites.

The selection of visit numbers should be done with care. They can be arbitrary but ideally they should be meaningful. For example, in a study consisting of up to 9 cycles, each with up to 99 visits, and with the possibility that each visit might need to be repeated, but no more than 9 times, visit numbers might be designed such that the first digit is the cycle number, the next 2 digits identify the visit number within the cycle, and the last digit is 0 for the first occurrence of the visit and 1-9 for repetitions. Thus, for example, visit number 4132 could be designed to represent the second repetition of visit 13 in cycle number 4.

For numbered reports, e.g. adverse event reports, hospitalization reports, medication change reports, etc., the visit number is more commonly called a sequence number. Since all visit/sequence numbers must be unique you cannot use the same value for both a visit and a sequence number. The recommended solution is to use a prefix number plus the report number to form sequence numbers that are different from any of the visit numbers used in the study. For example, to allow a maximum of 999 adverse event reports for each subject, in a study where all visit numbers were in the range 0-4999, we might use 5 + the adverse event report number to form sequence numbers in the range 5001-5999 for each adverse event report.

To make it easier for those completing the CRFs the visit number field can be displayed in separate parts on the CRF and combined by DFdiscover to compose the visit number key. In the first example described above the CRFs completed during the screening cycle might appear on the CRFs as:

Screening Visit #[ ][ ] repetition #[ ]

The cycle number, zero in this case, is not required. For visits completed during the in-study cycles the CRFs might read:

Phase #[ ] Visit #[ ][ ] repetition #[ ]

And for the adverse event forms the assessment number could look like this:

Adverse Event #[ ][ ][ ]

The prefix number 5, needed to put adverse event sequence numbers in the 5000 series, in the example above, can be specified as a constant when defining the sequence number for the adverse event plate(s) in DFsetup.

To make sure that investigators will be able to locate the specific CRF page related to each data query, the study page map ( Page Map) should be used to convert visit and sequence numbers into meaningful labels. This becomes particularly important when visit numbers are comprised of several parts and sequence numbers use a fixed prefix, as in the above examples.

The visit map can accept a single visit number, and a range or range list of visit numbers in a single visit map entry. This greatly simplifies the specification of various types of optional assessments, such as adverse event reports, hospitalizations, and interim visits. In some cases, the distinction may need to be made between visit ranges in which visit numbers must be used in order (e.g. adverse events), and visit ranges in which visit numbering may include gaps. Two types of range syntax accommodate these behaviors:

  1. #-# : for visit numbers that must be used in order

  2. #~# : for visit numbers that may include gaps

Visits specified with the #-# syntax will appear in order in the DFexplore record list. Visits with #~# will not appear in the DFexplore record list until they are manually added using the DFexplore Assessment - Add New Assessment menu item.

[Note]Note

It is invalid to mix the #-# and #~# syntax within the same visit entry. If a range list contains both - and ~, the ~ is treated as a -.

8.5.2. Visit Type

DFdiscover recognizes 12 different visit types each denoted by a single letter key, one of: XPBOSTWFEARr. The rules governing the usage of each visit type are described below.

X: Screening Visit

Screening visits may only appear in the Screening cycle. All screening visits are required, unless changed to optional or excluded by the conditional visit map. Each screening visit may be scheduled or unscheduled. The first required screening visit serves as the baseline for scheduling within the Screening cycle and the last required screening visit serves as the cycle termination.

P: Scheduled Pre-Baseline Visit

One or more pre-baseline visits may be defined before the baseline visit in each in-study cycle. Pre-baseline visits are required and are scheduled relative to the cycle baseline visit (with a negative due day).

B: Baseline Visit

Baseline visits provide the initial date for all visit scheduling within each in-study cycle. Thus they must have a due day of zero. Each in-study cycle must have at least one baseline visit, but multiple baselines are allowed provided they appear together, following any pre-baseline visits (P) and preceding any scheduled follow-up visits (S). If multiple baseline visits are defined, the first one is required and all subsequent baseline visits are optional, unless altered by the conditional visit map. For example, it is possible using the conditional visit map to require that the baseline be repeated if some condition is met. If more than one baseline visit is received in the same in-study cycle, the last one (per visit map order) is used for all within-cycle visit scheduling.

It is legal to define an in-study cycle with only one visit, provided that visit is defined as the cycle baseline. In such cases the baseline visit becomes both the baseline and termination visit for the cycle.

S: Scheduled Follow-up Visit

Scheduled follow-up visits are required visits scheduled a specified number of days following the cycle baseline (unless changed to optional or excluded by the conditional visit map). They can only be used in in-study cycles and must follow the cycle baseline visit and precede the cycle termination visit.

O: Optional Follow-up Visit

Optional visits are unscheduled visits. They may appear in in-study and end cycles. An overdue visit query can only be generated for an optional visit if it becomes required because of the conditional visit map. Optional visits do not have a scheduled due date in the visit map, and instead become required immediately if they become required through the conditional visit map; in effect their due date becomes the date of the visit on which the condition was met.

T: Cycle Termination Visit

The cycle termination visit type can only appear in in-study cycles. Each in-study cycle, that has a baseline visit and consists of more than this one visit, must have a termination visit scheduled a specified number of days following the baseline visit using visit type T, or occurring within a specified date window using visit type W. Only one T and W visit is allowed, but it is permitted to have both, in which case the T visit must precede the W visit. Arrival of either of these visits terminates the cycle in which they are defined, as of the date on which the visit occurred.

E: Early Termination Visit

Early termination visits may used in screening and in-study cycles (but not in the End cycle). These are optional assessments which terminate the cycle in which they arrive. As an example, an early termination assessment, containing 1 or more plates, might be completed when a treatment cycle is terminated early due to intolerable side effects.

A: Abort Visit

Abort visits terminate all follow-up for all cycles and should be placed in the end cycle. Examples include a death report or a subject discontinuation report.

r: Required By Time Of Next Visit

This visit type can only be used in in-study cycles. Use this visit type for those assessments which are linked to, and required upon arrival of, the next scheduled visit in the cycle. Type r visits become overdue when the next scheduled visit arrives or if that visit is itself overdue. These visits are only linked to the next scheduled visit, not to any subsequent scheduled visits. Thus if the next scheduled visit becomes unexpected because of a conditional visit map or termination event, any type r visits that immediately precede it will also be considered unexpected.

R: Required By Time of Termination Visit

Type R visits can only be used in in-study and end cycles. When specified in an in-study cycle they become required on termination of the cycle, and when specified in an end cycle they become required on termination of all study follow-up.

If the scheduled due date for a type R visit is zero, it becomes required immediately upon termination provided follow-up has at least reached the baseline visit. If the specified due day is greater than zero, the type R visit is required on termination provided the due day precedes the termination date. This can be useful for assessments like subject diaries, to be collected on termination, where you only expect to collect diaries that were scheduled for completion prior to termination.

When defined within an in-study cycle the due day is calculated from the cycle baseline, and when defined in an end cycle the due day is calculated from the baseline of the first cycle that was used for the subject.

F: Final Visit

This visit type exists for historical reasons. Although not really necessary it is retained for backward compatibility. The final visit type, if used, must appear as the first visit in the last in-study cycle. Thus only one such visit can appear in a visit map. It serves as both the baseline and termination visit of the cycle. It also acts like an abort visit in that its arrival terminates all follow-up in all cycles.

The only visit types that may follow a final visit within the last in-study cycle are: R (required on termination of the cycle - i.e. immediately) and O (optional).

W: Study Termination Window Visit

This visit type has significantly different semantics from the other visit types. It serves as an alternative way of terminating an in-study cycle.

When all subjects are followed for a fixed duration (e.g. 3 years) the visit map can use a type T termination visit, and the amount of time required to close out the trial will equal the amount of time required to enroll all of the study subjects. Other studies end on a specified date, resulting in different amounts of follow-up for each subject. In such studies, we need a different way of scheduling the termination visit. DFdiscover provides the following methods. Note that in each case the termination date or dates must be specified using the study Visit Date attribute.

  • on a specific date.  For example, on 2006/12/01. This method schedules the type W follow-up visit on the same day, Dec 1, 2006, for all subjects.

  • before a specific date.  For example, before 2006/12/01. The last scheduled follow-up visit for each subject that occurs before Dec 1, 2006 is replaced by the type W termination visit.

  • after a specific date.  For example, after 2006/12/01. The first scheduled follow-up after Dec 1, 2006 is replaced by the type W termination visit.

  • between two specific dates.  For example, between 2006/11/01~2006/11/30 .25. All type W follow-up visits are to be scheduled in November 2006. The scaling factor (.25 in the above example) spreads the visits out over the termination interval. It should be set to the termination window interval divided by the usual inter-visit interval. In the above example a scaling factor of .25 would be appropriate for the 1 month termination window interval if the usual interval between follow-up visits is 4 months.

The between method identifies the date of the first scheduled visit after the start of the interval and modifies this date using the scaling factor. For example, if the date of the next scheduled visit is 100 days after the start of the termination window and the scaling factor is .25, the date of the type W termination visit will be set to 25 days after the start of the termination window. If a scaling factor is too large, the final visit for some subjects may be beyond the end of the termination window. In such cases the final visit is scheduled for the final day of the termination window. For example, if the scaling factor is 1, those subjects whose next scheduled visit falls within the termination window will have the final visit scheduled on this date and all other subjects will have their final follow-up visit scheduled on the final day of the termination window.

Most trials will terminate with either a termination visit (T) or a termination window visit (W), but it is legal to include both. This allows the visit map to define some maximum duration of subject follow-up using a termination visit (T), followed by a termination window visit (W) which brings the study to a close by scheduling a final visit for all subjects who have not yet reached the termination visit (T). A termination window visit (W) must be defined as the last scheduled visit in the cycle, and thus must follow the type T termination visit, if both are used.

As for all other scheduled visits a termination window visit (W) will only be scheduled if the cycle has not already terminated by some other method before it becomes due.

It is legal to have a type W visit defined in more than one in-study cycle. This may be necessary when different subjects follow different in-study cycles. It also allows a study with 2 or more phases to have different termination windows for each phase.

8.5.3. Visit Label

A short (32 character maximum) descriptive must be provided for each visit (e.g. Cycle 1 Baseline, Week 2 Follow-up, Diary Card Week 22, etc.). This label is used to describe overdue visits on quality control reports if the visit is flagged as overdue. Thus each visit must have a unique visit label.

When a visit list is defined (e.g. 5001-5999 for adverse event reports) the label must include some part of the visit number in order to create unique labels. This can be accomplished using the same visit number substitutions described for the study page map. The label for visits 5000-5999 in our example might be specified as:

Adverse Report #%{S.2.3}

which indicates that, starting at the 2nd digit, the next 3 digits are to be included in the label immediately following

Adverse Report #

This results in the last 3 digits of the visit number being used to produce visit labels as in the following examples:

Adverse Report #001
Adverse Report #002

8.5.4. Due Day

A visit due day, relative to the cycle baseline, must be specified for all scheduled visits. The due day must be negative for all pre-baseline visits (P), zero for all baseline visits (i.e. the first type X visit in the screening cycle, and all type B and F visits in in-study cycles), and positive for all scheduled follow-up visits (S, T). The due day can be greater than or equal to zero for type R visits. For screening visits (X) the due day must be zero if the visit is unscheduled and greater than zero if it is scheduled within the screening cycle. No due day is allowed for optional visits (O, E, A) or for visits linked to the next scheduled visit (r).

8.5.5. Overdue Allowance

How long do you want to wait before calling a visit overdue? It may be OK if a visit occurs a few days late, or you might want to allow a few days for completed assessments to be transmitted, and a few days for data entry staff to review incoming CRFs, particularly if the incoming volume is large, or staffing is light. For all of these reasons it is a good idea to specify a grace period, following each visit due date, during which overdue visit queries will not be created. If the overdue allowance is set to zero, and a visit has not arrived by its due date, an overdue visit query will be created the very next day (or to be more exact, the next time the DF_QCupdate program is run).

8.5.6. Visit Date Location

This specification identifies a date field, defined with the Visit Date attribute, which will be used to record the date on which the assessment occurred. This date must exist on one of the required plates for the visit. DFdiscover uses all dates defined with the Visit Date attribute, so this is not a limiting specification. However, the date specified here has priority and will be used for subject scheduling if more then one Visit Date is available for any assessment.

8.5.7. CRF Plates

Visit map worksheet 3c can be used to specify CRF plates for each visit. This includes required plates, optional plates, the display order in which these plates are to be listed in the subject binders, and any plates that are submitted when a visit is missed. All relevant plates should be specified for each visit. This allows DFdiscover to generate a warning for any plates that arrive unexpectedly. Any plate not listed as required, optional or a missed visit plate will be flagged as unexpected and listed by report DF_PTvisits.

Plates in the required list are expected when the visit arrives, unless they have been made optional or unexpected by the conditional plate map. Similarly, plates in the optional list are not considered necessary unless they have been made required by the conditional map. Plates that are required, after conditional plate map actions have been accounted for, will be identified as missing if they have not arrived when other plates for that visit have been received. The type of plate(s) received (optional, required or unexpected) does not matter. Arrival of any plate with a given visit number indicates that the visit has occurred and thus that all plate requirements should be checked.

The check for required plates does not occur immediately. After all, if it did, DFdiscover would identify all but the first plate to arrive as missing as soon as the first plate was entered into the database. Instead, missing plates and overdue visits are identified when the DF_QCupdate report is run. This can be scheduled to execute automatically (using the UNIX cron process) or can be executed manually as deemed appropriate for the study.

If the clinical investigators know that a particular visit was missed and will never be made up they can notify the data management office (and DFdiscover) of this fact, and thereby avoid receiving an overdue visit query, by submitting a missed visit report. When DFdiscover receives a plate that has been classified as a missed visit plate for that visit, it considers the visit as completed even though none of the required plates have been received.

If this method of registering missed plates and visits is not used, it will be necessary to either record missed visits using DFexplore, when you learn of them, or require that investigators fax all CRF pages for all assessments, including those which are missed or have not been completed.

Required and optional plates and their display order can be listed on Visit map worksheet 3c, and entered into the visit map using the DFsetup Visit map view, as a list of comma or space separated values and value ranges, like this 1-3,7,9,10-12,101, or this 1-3 7 9 10-12 101.

8.6. Display Order

Display Order allows you to customize page order within each assessment in the DFexplore subject binders. Required and optional plate numbers may be specified here in the order that you want them to appear in the subject binders.

8.7. Visit Map Examples

Example 8.1. A Simple Visit Map

The following example shows a visit map as it appears in the configuration file DFvisit_map. It has a screening cycle, one in-study cycle and an end cycle. Each cycle begins with a cycle definition record followed by one record for each of the cycle visits.

# 3 screening visits at 7 day intervals with a 2 day overdue allowance.
# The visit date is in field 10 of plate 1 for all 3 screening visits.
# Each screening visit has one required plate (plate 1), and
# no optional plates, and no missed visit plate
0|C|SCREENING|S|0|0|N
91|X|Screen #1|1|10|00|0|1||||
92|X|Screen #2|1|10|07|2|1||||
93|X|Screen #3|1|10|14|2|1||||

# There is just 1 in-study cycle, it is required and scheduled 7 days
# after termination of the screening cycle, with no overdue allowance.
# Plate 12 is a missed visit form which can be submitted at any visit in this cycle.
1|C|IN-STUDY VISITS|R|7|0|T
51|P|Pre-entry|3|10|-2|0|2,3||12||
0|B|Baseline|3|10|0|0|4-9|101,105|12||
2|r|Baseline Lab Test|||0|0|21-23||12||
3|S|Month 3|5|10|91|0|5||12||
31-39|O|Interim Visit 3.%{S.2.1}|5|10|5||12||
6|S|Month 6|5|10|183|0|5||12||
61-69|O|Interim Visit 6.%{S.2.1}|5|10|5||12||
9|S|Month 9|5|10|274|0|5||12||
91-99|O|Interim Visit 9.%{S.2.1}|5|10|5||12||
12|T|Month 12|5|10|365|0|5||12||
100|E|Early Term|71|10|0|0|71||12||
210|R|Clinical Eval|72|10|0|0|72||12||
211|R|Subject Eval|73|10|30|0|73||12||

# End cycle for unscheduled reports - death and adverse events
2|C|REPORTS|E|0|0|N
80|A|Death Report|9|10|0|0|99||||
101-199|O|AE Report #%{S.2.2}|||0|0|98||||


8.8. Conditional Maps

Conditions can be specified for cycles, visits, plates and terminations, to override the visit map specification when the condition is met. By specifying a database test in the appropriate conditional map, you can change any cycle, visit or plate to make it required, optional or unexpected; or indicate that subject follow-up terminates on a specified visit. Conditions can thus override the initial requirement for cycles, visits and plates that were specified in the visit map.

Conditions can be designed using visit map worksheets 3d-3g and are entered using the conditional: cycles, visits, plates and termination dialogs under the View menu in DFsetup. The setup files created by these views are stored in the study lib directory and are named: DFccycle_map, DFcvisit_map, DFcplate_map and DFcterm_map. Each of these files follows the same simple structure.

Each condition begins with the definition of a database test, followed by a list of actions to be performed if the test is met. The actions relate to cycles, visits, plates or terminations, depending on which conditional map is used, but the way in which the database tests are defined is the same for all of the conditional maps, as follows:

  • Lines beginning with a # are comments used to document the intent of each specification.

  • Conditions are composed of IF and AND statements each comprised of 5 fields separated by |.

  • Each condition begins with the keyword IF in the first field, followed by the visit, plate and field number of the database field to be tested. The 5th, and last field, is the data value or values that make the condition true.

  • To evaluate a condition at multiple visits, a visit list comprised of one or more ranges and values separated by commas, e.g. 2,10-15,101-199,300 can be specified in the visit field. An asterisk * can be used to evaluate the condition at all visits.

  • If the condition requires testing more than one data field, the IF statement may be followed by one or more AND statements, constructed just like the IF statement except that the first field contains the keyword AND. When AND statements are used the condition is not met unless all of the AND tests evaluate true.

  • The visit field in an AND statement can contain either a specified visit number or an asterisk *. If the visit in the IF statement is also specified with an asterisk (*) then the AND condition is evaluated at the same visit that met the condition specified in the IF statement, otherwise such AND conditions are true if met at any visit.

  • There is no OR statement; instead another condition can be specified. When multiple conditions are specified for the same event (cycle, visit, plate or termination) they are evaluated in order and in the case of conflicts the last condition wins.

Each condition is followed by a specification of the effect it has on cycles, visits, plates or terminations when the condition is met. These specifications are described in a separate section below for each of the 4 conditional maps, but first let's look at some example conditions.

Example 8.2. Example conditions

# Condition is true if visit 0, plate 1, field 13 equals 1
IF|0|1|13|1

# Condition is true if visit 0, plate 1, field 13 equals 1
# and visit 100, plate 20, field 25 is not blank
# and there is a valid date in visit 100, plate 20, field 26 that precedes 01/JAN/2004
# Note: date tests must be specified in the format used by the specified data field
IF|0|1|13|1
AND|100|20|25|!blank
AND|100|20|26|<01/JAN/2004

# Condition is true at visits 100 to 199 if plate 41, field 10 is greater than 2
# and at visit 1, plate 14, field 16 equals 1
# and at any visit plate 3, field 17 is less than 5
IF|100-199|41|10|>2
AND|1|14|16|1
AND|*|3|17|<5

# Condition is true at visit where plate 56, field 20 is not blank
# and at the same visit plate 56, field 21 is blank
# and at the same visit plate 55, field 16 has a value between 1 and 199 inclusive
IF|*|56|20|!blank
AND|*|56|21|blank
AND|*|55|16|1-199

See Section A.5, “Conditional Tests” for a description of the tests that may be specified in each IF and AND statement. The same tests can be used in all of the conditional maps.

8.8.1. Conditional Cycle Map

Each cycle defined in the visit map starts with a default requirement. The screening cycle, if present, is by default required for all subjects. Each in-study cycle is defined in the visit map as required, optional or conditional. An optional cycle is converted to required if any of the visits defined in the cycle arrive. A conditional cycle is unexpected unless it becomes required through a condition specified in the conditional cycle map. The end cycle, if present, is not required being just a container for unscheduled visits.

Using the conditional cycle map the requirement for screening and in-study cycles can be changed from their default visit map setting to any of: required, optional or excluded.

  • required. 

    Cycles that become required are due on their scheduled start date. However, abort dates take precedence over cycle conditions. Thus, if there is an abort date for the subject that falls on or before the scheduled start date of the cycle, the cycle will be classified as unexpected and the visits in that cycle will not be scheduled or classified as overdue.

  • optional. 

    The possible due date for optional cycles is calculated by DF_QCupdate and is reported by DF_PTvisits but optional cycles are not required and may be skipped. However, once a visit from an optional cycle arrives the cycle changes to required, and visit scheduling and visit requirement rules become active for that cycle.

  • excluded. 

    If a condition indicates that a cycle is excluded all visits in that cycle become unexpected. If any visit arrives in an excluded cycle the visit will be flagged as unexpected and will be reported by DF_PTunexpected. The arrival of unexpected visits in an excluded cycle does not trigger visit scheduling within the cycle, i.e. all visits remain unexpected.

If there is more than one condition for a given cycle and the conditions have different actions, e.g. one making the cycle required while another makes it excluded, there is the potential for conflict, which will arise if 2 or more conditions having different actions are met. DF_QCupdate resolves such conflicts by applying the action specified for the last condition met. Thus it is important to consider the order in which conditions are specified in the conditional cycle map. If necessary conditions can be re-ordered within the Conditional Cycles view in DFsetup.

The following example illustrates how conditional cycle specifications are stored in DFccycle_map. It shows 5 conditions each followed by one or more action statements. Each action statement consists of 2 fields. The first field indicates the action to be applied when the condition is met, and the second field indicates the cycle or cycles to which the action is applied. If the first field contains a + (plus sign), the cycle(s) are required; a - (minus sign) indicates that they are unexpected, and a ~ (tilde) indicates that they are optional.

Example 8.3. A conditional cycle map with 5 conditions

# After screening visit 0 subjects proceed to:
# Cycle 1 if hypertensive, defined by: visit 0, plate 1, field 13 equals 1
# Cycle 2 if normotensive, defined by: visit 0, plate 1, field 13 equals 2
# Hypertensive subjects may then optionally proceed to cycle 3,
# but normotensive subjects never do
IF|0|1|13|1
+|1
-|2
~|3
IF|0|1|13|2
+|2
-|1,3

# Cycle 3 requirements depend on the final diastolic reading recorded at
# visit 19 of cycle 1, in field 22 of plate 9. Cycle 3:
# - is not to be done if then diastolic is less then 80
# ~ optional if the diastolic is 80-89
# + required if the diastolic is 90 or more
IF|19|9|22|<80
-|3
IF|19|9|22|80-89
~|3
IF|19|9|22|>89
+|3

In this example visit 19 only occurs in cycle 1, thus the last 3 conditions will only be applied to subjects who were hypertensive at screening as these are the only subjects who enter cycle 1. Note that the first condition indicates that cycle 3 is optional for hypertensive subjects and that this can be changed by conditions 3 and 5. Remember that conditions are applied in the order in which they are defined in the conditional map, and that if conflicts arise the last condition wins.

This example is a little over specified. For hypertensive subjects, the first condition makes cycle 3 optional, as does the 4th condition. Thus the 4th condition is not really necessary. While this will not lead to errors it will have an impact on processing time and thus in general should be avoided.


DFdiscover report DF_ICvisitmap checks the conditional cycle map for syntax errors, and DF_SSvisitmap can be used to produce a numbered list of the conditions, according to the order in which they are defined in DFccycle_map. Cycles effected by the conditional cycle map are indicated on the report produced by DF_PTvisits with a CC#[rox] tag, where # is the condition order number, and the suffix r, o or x indicates whether the cycle became required, optional or excluded respectively, when the condition was met.

8.8.2. Conditional Visit Map

Each visit defined in the visit map starts with a default requirement, which is either optional (visit types O, E, A) or required (all the rest). Using the conditional visit map the requirement for any visit can be changed to any of: required, optional or excluded.

  • required. 

    Visits that become required are due on their scheduled due date if they have one. This is not the case for optional visits (O, E, A), as these visits are not scheduled. Instead, optional visits become due immediately on being triggered by the conditional visit map, provided they are in a cycle that has already started. If the cycle has not yet started, these visits will become required as soon as any other visit in the cycle arrives.

    If the subject has an abort or cycle termination date that falls on or before the scheduled due date for the visit, the visit will be classified as unexpected and will not be scheduled or classified as overdue. However, cycle termination and abort dates have no effect on optional visits that become required via the conditional visit map. Such visits are considered overdue regardless of when the termination occurred.

    If the conditional cycle and visit maps conflict, which one wins? An important point to remember is that the conditional visit map can only make visits required, not cycles, and that cycle requirements override visit requirements. Thus, a visit made required by the conditional visit map does not automatically make its cycle required, and in fact if the cycle is unexpected, the visit will also be considered unexpected, despite the conditional visit map calling it required.

  • optional. 

    The conditional visit map may be used to change a required or unexpected visit to optional. If a previously required visit is made optional it will be scheduled using its visit map scheduling specifications, but it may be skipped and will not be called overdue if it does not occur.

  • excluded. 

    If a visit that has been excluded by a condition arrives, it will be flagged as unexpected and will be reported by DF_PTunexpected.

If there is more than one condition for a given visit and the conditions have different actions, e.g. one making the visit required while another makes it excluded, there is the potential for conflict, which will arise if 2 or more conditions having different actions are met. DF_QCupdate resolves such conflicts by applying the action specified for the last condition met. Thus it is important to consider the order in which conditions are specified in the conditional visit map. If necessary, conditions can be re-ordered by editing DFccycle_map directly.

Conditional visit map action statements have the same syntax as described above for the conditional cycle map, except of course that the second field contains a list of the visits (not cycles) effected by the action. When the first field contains a + (plus sign), the visit(s) are required; a - (minus sign) indicates that they are unexpected, and a ~ (tilde) indicates that they are optional.

Conditional visit map action statements support one feature not supported by any of the other conditional maps. This is the ability to use the key word value, which is interpreted as the value of the data field, tested by the IF statement, to define the list of visits effected by the condition. The following example illustrates how conditional visit specifications using this feature would appear in DFcvisit_map.

Example 8.4. Check for Expected AE Reports

# Adverse Event reports use visit numbers 5001-5999, where the
# last 3 digits correspond to the AE Report# recorded on AE forms.
# At each follow-up visit investigators are asked:
# Has the subject had any adverse events since the last visit?
# [ ]no  [ ]yes -> specify AE report#s: [ ][ ][ ] to [ ][ ][ ]
# The AE report numbers are recorded in fields 12 and 13 on plate 101.
IF|*|101|12|>0
+|5001~5000+value
IF|*|101|13|>0
+|5001~5000+value

This example shows how the conditional visit map can be used to make sure that all event reports are received. Typically event reports are numbered sequentially and the event number determines the DFdiscover visit number. In this example the visit number = 5000 + the AE report number. Consider the first condition. It will be true, if at any visit, field 12 on plate 101 contains a value of 1 or more. The following action statement indicates that when this is true, visits 5001 to 5000 + the value in field 12, are required. Thus if the value in field 12 is 7, visits 5001-5007 will become required, and DFdiscover will create an overdue visit query for any assessment in this range that is missing.

If investigators are instructed to complete both fields 12 and 13, even when only one adverse event has occurred, then only the second condition would be required, as field 13 must be at least as large as field 12, making the first conditional test unnecessary.

Note that when both tests are specified, as above, each visit in the first range will be tested again in the second range (e.g. if AE#s 6 to 7 are recorded, 5001-5006 is include in 5001-5007). So if AE 4 for example is missing does this mean that DFdiscover will generate 2 overdue visit queries for visit 5004? Of course the answer is no. The reason has to do with how DFdiscover processes this information. First visit requirements are established by evaluating the visit type and all conditional visit map tests. Remember that when multiple tests apply to the same case the last test wins. So there is only ever one result from any set of conditional specifications. Then if the visit has been determined to be required DFdiscover checks to see if it is overdue.


Example 8.5. Check for Missing AE Visit Numbers

This feature can also be used to ensure that all visits in a sequential series are received, by checking for all lower visit numbers, as illustrated in the following example.

# Adverse Event reports use visit numbers 5001-5999 in sequential order.
# These visit numbers, like all DFdiscover visit numbers, appear in field 6.
# AEs are reported on plate 101.
# If for example report 5012 has arrived, 5001-5012 should all be in the database
IF|*|101|6|>5001
+|5001~value

These 2 examples illustrate the 2 supported uses of the value keyword. These are the only supported uses. No other mathematical manipulations are allowed.

Use DFdiscover report DF_ICvisitmap to check the conditional visit map for syntax errors, and DF_SSvisitmap to produce a numbered list of the conditions, according to the order in which they are defined in DFcvisit_map. Visits effected by the conditional visit map are indicated on the report produced by DF_PTvisits with a CV#[rox] tag, where # is the condition order number, and the suffix r, o or x indicates whether the visit became required, optional or excluded respectively, when the condition was met.

8.8.3. Conditional Plate Map

For each visit, a list of required and optional plates is defined in the visit map. Think of this as the default plate requirements. Using the conditional plate map the requirement for any of these plates can be changed to required, optional or excluded.

Plate requirements for each visit are checked by DF_QCupdate if at least one plate is found for that visit in the study database. Each visit found in the database is checked regardless of whether the visit was required, optional or unexpected. Missing plate queries are created for any required plate that is missing, but queries are not created automatically for unexpected records. Instead these cases are written to the DFdiscover retrieval file and displayed by DF_PTunexpected. These tools should be used to review the unexpected cases so that the appropriate action can be taken. At one extreme unexpected records may arise because of a simple data entry error and at the other extreme they may identify a serious protocol violation that requires personal attention.

[Important]Important

may contain multiple entries for the same set of keys. This is because a plate may be rendered unexpected by a condition being met in DFcplate_map and DFcvisit_map. In DFexplore, an unexpected plate can only be retrieved once in a given set of records, regardless of the condition that made it unexpected.

If the conditional plate map contains multiple conditions affecting the same plates at the same visits it is possible for conflicts to occur. One condition might indicate that a plate is required while another indicates that it is optional or excluded at the same visits. DF_QCupdate evaluates conditions in the order in which they are defined in the conditional plate map, and for each action the last condition that is met wins. It is thus important to consider the order in which conditions are defined in the conditional plate map if different actions have different consequences for a given visit/plate combination.

In a conditional plate map, the action statements begin with either +, -, or ~ (for required, unexpected and optional respectively), followed by a visit number, a visit list or * (asterisk). This indicates the type of action and the visits to which the action is to be applied. The second field, following the |, is the list of plates affected by the condition at these visits.

An asterisk, in place of a visit number or list, in the first field of an action statement, indicates that the action is to be applied to the visit at which the condition was met. If the condition includes AND statements it is possible for the visits referred to in the IF and AND statements to differ. When this occurs the condition is classified as having been met at the visit referenced in the IF statement. Thus when using * to indicate that plates are required at the visit on which the condition was met make sure the appropriate visit is referenced in the IF statement.

Example 8.6. Conditional plate map with 2 conditions

# For follow-up visits 3-12 and 16 performed after Dec 31,2003
# a new form, plates 216-218, is required.
# This form did not exist prior to this date and thus would be unexpected
# for follow-up visits performed before Jan 1, 2004.
# The visit date is recorded in dd/mm/yy format in field 10 of plate 200
# at each of these follow-up visits.
IF|3-12,16|200|10|>31/12/03
+*|216-218
IF|3-12,16|200|10|<01/01/04
-*|216-218

The first entry in the example above specifies that, for visits 3-12 and 16, plates 216-218 are required if the condition is met at that visit; and the second condition indicates that, for visits 3-12 and 16, plates 216-218 are not expected when the second condition is met at that visit. If plate 200 is only used at visits 3-12 and 16, the above specification could also be entered as shown below using an asterisk instead of a visit list in the condition specification. The following conditional plate map entries would then be equivalent to the entries above.

# For all follow-up visits performed after Dec 31,2003
# a new form, plates 216-218, is required.
# This form did not exist prior to this date and thus would be unexpected
# for all follow-up visits performed before Jan 1, 2004.
# The visit date is recorded in dd/mm/yy format in field 10 of plate 200
# at each of these follow-up visits.
# Plate 200 is only used at follow-up visits (3-12 and 16).
IF|*|200|10|>31/12/03
+*|216-218
IF|*|200|10|<01/01/04
-*|216-218


Example 8.7. Conditional plate map specification with multiple actions

It is possible to indicate that a condition met at one visit has implications for many other visits, and also to indicate that the condition has more than one consequence. These features are illustrated in the following example in which a long or short version of a cardiovascular disease (CVD) evaluation form is to be used for subjects entering the trial with different CVD histories. The following specifications will make the appropriate plates required for each subject, will result in missing page queries if they do not arrive, and will also result in cases being put on the unexpected list if the wrong form is used for any subject.

# For subjects with a recent history of heart disease or stroke
# (field 22 on plate 15 at baseline visit 10 equals 2), the Long CVD Evaluation
# form (plates 60-66) is required at each follow-up (visits 20-80).
IF|10|15|22|2
+20-80|60-66
-20-80|67-68

# For subjects without a recent history of heart disease or stroke
# (field 22 on plate 15 at baseline visit 10 equals 1), the Quick CVD Evaluation
# form (plates 67-68) is required at each follow-up (visits 20-80).
IF|10|15|22|1
-20-80|60-66
+20-80|67-68

Use DFdiscover report DF_ICvisitmap to check the conditional plate map for syntax errors, and DF_SSvisitmap to produce a numbered list of the conditions, according to the order in which they are defined in DFccycle_map.

8.8.4. Conditional Termination Map

The conditional termination map is used to specify database conditions that indicate that follow-up has terminated, either for the current cycle, or for all cycles. Conditions are specified as for all other conditional maps, using IF and AND statements, and each condition is followed by a single action which can be either: A, to indicate that all follow-up is aborted when the condition is true, or E, to indicate early termination of the cycle in which the condition is met. Both of these uses are illustrated in the following examples.

Example 8.8. Conditional termination map with 3 conditions

# During screening subjects abort (do not proceed to any in-study cycles)
# if any of the 3 eligibility questions (fields 14-16 on plate 1 at visit 0)
# is answered no (which is coded 1)
IF|0|1|14|1
A
IF|0|1|15|1
A
IF|0|1|16|1
A

# The trial consists of several treatment cycles, each of which may end early.
# A question represented by field 33 on plate 20 at each follow-up visit asks:
# "Is the subject continuing with this course of treatment?"
# If the answer is no (code 1) the cycle terminates at that point
# and the next cycle is scheduled.
IF|*|20|33|1
E

When termination occurs the visit date of the visit at which termination was triggered becomes the abort or early cycle termination date, and is used like any other termination date to decide whether other visits are still required. Visits scheduled after a termination date are not required but those scheduled prior to termination are still expected and will be called overdue if they have not arrived.

Use DFdiscover report DF_ICvisitmap to check the conditional termination map for syntax errors, and DF_SSvisitmap to produce a numbered list of the conditions, according to the order in which they are defined in DFcterm_map. Visits at with a conditional termination has been triggered are indicated on the report produced by DF_PTvisits with a CT# tag, where # is the condition order number.

8.9. Early Termination Plates

In addition to defining visits which signal termination (T, W, E, A, and F), it is also possible to define plates that signal early termination. Such plates can be identified by selecting Plate > Edit in DFsetup. However, plates can only be marked as indicating early termination of the cycle with which they are associated. Thus they are like termination (T) and early termination (E) visits. They cannot be used to define an abort event, like final (F) and abort (A) visits.

Arrival of an early termination plate terminates the cycle that contains the visit number on the early termination plate. Since plates which signal early termination only terminate the cycle they are associated with, it would be inconsistent to include such plates in an abort (A) visit. It would also be inconsistent to specify an early termination plate in the required plate list for a visit, except perhaps for an early termination (E) visit.

8.10. Missed Visit Plates

In many clinical trials it is useful to design a special form that can be used by the clinical sites to report missed visits. Such forms can typically be a single CRF plate and need little more than a place to record the reason for the missed visit. The key to making this work is to make sure that the clinical sites enter the visit number of the missed visit in the visit key field at the top of the form before they fax it in. This is how DFdiscover knows which visit was missed. Also, the plate number of this form must be registered in the visit map, as the missed visit plate, for each visit at which it is allowed to be used.

When a registered missed visit plate arrives DFdiscover will stop generating overdue visit and missing plate queries for that visit, and will remove any such queries that might already exist in the database.

If a missed visit plate arrives that has not been registered in the visit map as a missed visit plate for that visit, DFdiscover will mark the plate unexpected, and will not classify the visit as missed.

8.11. Implementation & Scheduling Rules

So far in this chapter we have described the separate components that comprise the subject visit scheduling specifications, and the rules that govern how each component works. In this final section we describe when and how these rules are implemented and some additional rules related to how they work together.

8.12. DF_QCupdate

The program that implements the scheduling rules is named DF_QCupdate. Each time it is executed it reads the current study setup files to identify the visit date fields and current visit scheduling requirements, and then updates each subject in the database with regard to: visit scheduling, overdue visit queries, missing plate queries, and the arrival of unexpected visits and CRF plates. If errors have been made in the scheduling specifications, or specifications need to be added, dropped or changed, all that is required to set things right, is to modify the appropriate setup specifications and re-run DF_QCupdate

An obvious limitation of this reliance on DF_QCupdate is that information regarding subject scheduling is only up to date immediately after DF_QCupdate is executed. Subsequent changes to the study database will not be reflected until the next execution of DF_QCupdate. Thus it is important that DF_QCupdate be run before creating Query Reports for distribution to the clinical sites, or before creating internal reports related to visit scheduling if such reports need to be right up to date. One way to mitigate this limitation is to run DF_QCupdate in a UNIX cron job at specified times of the day.

8.13. Termination of Subject Follow-up

The screening and in-study cycles consist of an order sequence of visits that must be terminated either by reaching the planned termination visit within each cycle or by terminating the cycle early. Sometimes a clinical trial needs the ability to terminate a cycle early so another cycle can begin, or to terminate all follow-up because some event has occurred which withdraws the subject from the trial. DFdiscover recognizes a termination event in each of the following ways:

  • Visit Type (see Visit Type). 

    Arrival of any of the following visit types signals termination of follow-up as of the visit date for that visit, defined using the special DFdiscover Visit Date attribute. The first 3 visit types, T,W,and E, terminate follow-up only for the cycle in which they are defined. A screening visit, X, only terminates the screening cycle if it is the last required screening visit in the screening cycle. A baseline visit, B, only terminates the cycle in the special case where it is the only visit defined in the cycle. Arrival of either of the last 2 visit types, F and A, terminate all further follow-up for all cycles.

    • T - scheduled cycle termination

    • W - scheduled cycle termination within a calendar window

    • E - early cycle termination

    • X - the last required screening visit in the screening cycle

    • B - a baseline visit if it is the only visit in an in-study cycle

    • F - termination of the final in-study cycle, ends all follow-up

    • A - abort all follow-up

  • Early Termination Plate (see Section 8.9, “Early Termination Plates”). 

    Using the plate dialog of DFsetup any plate can be classified as signaling early termination of the cycle in which it is received. This designation is typically used for special study forms designed to record cycle termination events like treatment failure or intolerable side effects. Termination is deemed to have occurred at the visit number recorded on the early termination plate, and the visit date for this visit, defined using the special DFdiscover Visit Date attribute, is used as the termination date.

  • Conditional Termination Events (see Section 8.8.4, “Conditional Termination Map”). 

    Using the conditional termination map, database conditions can be defined that indicate either that cycle follow-up terminates, or all follow-up terminates, as of the visit at which the specified condition was met. Again, the visit date for this visit, defined using the special DFdiscover Visit Date attribute, is used as the termination date.

If termination occurs at more than one visit within a cycle, the earliest termination date will prevail. Typically this will mean that the second termination visit is unexpected because it occurred after the cycle had already terminated.

If an abort date exists that precedes the scheduled start date for a cycle, the cycle termination date is set to the abort date, indicating that the cycle was terminated before it became due.

8.14. Effect of Early Termination on Visit Requirements

DF_QCupdate considers all termination events when deciding whether a visit is overdue. Two rules are applied, one relating to visit order as defined in the visit map, and the other relating to visit scheduling. These rules apply to all termination events regardless of how they arise (i.e. whether by visit type, an early termination plate, or a conditional termination map specification).

The first rule specifies that when a termination event occurs within a cycle, visits that follow the terminating visit in that cycle become unexpected. This rule applies to both scheduled and unscheduled visits up to and including the planned type T or W cycle termination visit. But, it does not apply to unscheduled visits (if any) that are positioned after the planned cycle termination visit. Such unscheduled visits, will not be called unexpected if they arrive after the cycle has terminated. Also, if these visits become required by a conditional visit map specification they will be called overdue if they have not arrived, even if the cycle has terminated.

The second rule, related to visit scheduling, states that when a termination event occurs, any scheduled visits that have not yet arrived are called overdue if they were due prior to the date of termination, but not if they were scheduled to occur on or after the termination date. For example, if the planned cycle termination visit is performed early, the cycle will terminate as of the date on which the visit was performed and any visits scheduled to occur prior to that date will no longer be required, and in fact will be flagged as unexpected should they arrive.

Visits that are reported as having occurred after a termination event will be flagged as unexpected in the DFdiscover retrieval file . This also applies to a second termination visit if it occurs after the subject has already terminated. All unexpected data records flagged by DF_QCupdate, including visits that occurred after termination, can be reviewed using DFexplore or DF_PTunexpected.

Optional visits defined in the end cycle are unscheduled and thus are not subject to the timing of termination events, including a final abort event. Consequently, if such visits become required because of a conditional visit map specification they are required regardless of the timing of termination events.

8.15. Identification of Missing Plates

For each subject, a missing plate query is created for each required plate that is missing for each visit found in the database. If the visit exists in the database, it's visit requirements, as defined in the visit map and conditional plate map will be applied. It does not matter whether the visit was required, optional or unexpected.

The trigger for missing plate checks is the existence of the visit in the database. Thus a conditional plate map specification that makes a plate required will only become active once the visit arrives, i.e. once at least one plate is entered into the database for that subject with that visit number.

Conditional plate specifications that make a plate required at some visit do not imply that the visit is also required. Instead they only indicate that the plate is required should the visit arrive. The conditional visit map must be used to specify conditions that make a visit required.

8.16. Conditional Cycles and Conditional Visits

The requirement for cycles and visits can be modified independently using the conditional cycle and conditional visit maps. Thus we need rules that define how cycle and visit requirements interact when they are in conflict. The basic rule is that cycle requirements win out over visit requirements. Making a visit required does not imply that the cycle is required. If a cycle is excluded by a conditional cycle map specification, all visits in that cycle become excluded regardless of any conditional visit map specifications.

Visit requirements within a required cycle kick in when the cycle becomes due, and visit requirements within an optional cycle kick in when the cycle starts. Essentially an optional cycle that starts becomes required on being used. Visit requirements never kick in for an unexpected cycle, because cycle requirements trump visit requirements. All visits in an unexpected cycle are automatically called unexpected as well.