Protocol Management Development

From CaisisWiki

Jump to: navigation, search



Schema Info

Schema Items


Relevant Tables

  • ProtocolMgr_SchemaItems: represents a particular set of items to be collected (collect LabDate and LabResult for Lab Tests)
  • ProtocolMgr_Timeline: represents visit
  • ProtocolMgr_ItemTimeline: represents a particular set of items on a visit
  • ProtocolMgr_PatientItems: a patient's specific particular set of items for a particular date.
  • RelatedRecords: used to relate one record to another

Advanced Scheduling

Visits which have advanced scheduling are marked in the visit's ItemIntervalType field to signify the scheduling. A pipe is used to delimit multiple advanced scheduling features.

IMPORTANT In all advanced scheduling, the DisplayUnitName NumberOfUnits fields will act as an "anchor" to when the visit will be scheduled.


  • ItemIntervalType: "Recurring", "Dependent Off Treatment", "Recurring|Dependent Off Treatment"
  • DisplayUnitName: "Week" - the unit representing when the dependent item will be scheduled
  • NumberOfUnits" "1" - the unit value representing how long after the dependent item will be scheduled

i.e., If a visit is to occur 1 Week after a patient goes "Off Treatment", the dependent visit must be marked UnitName: "Week" NumUnits: "1", which will signify that the visit is scheduled 1 week after the "Off Treatment".

Recurring Visits

A recurring visit is a visit that will occur at a set frequency for a set time period. For instance, a visit may occur every 4 Weeks for 16 Weeks, creating 4 visits.

Dependent Visits

A dependent visit is one which will not be scheduled until a specified actions happens in the system, such as a patient status changing or upon completion of a visit.

In both scenarios, a Patient Item record will be created, but NOT scheduled when then are initially placed "On Study", since these dates are computed after an event in the system.


  • FirstAnticipatedDate: date is calculated after trigger event
  • LastAnticipatedDate: date is calculated after trigger event
  • ScheduledAnticipatedDate: date is calculated after trigger event
Depending on a previous Visit's item

In this scenario, when a previous is marked as performed, the dependent visits are then scheduled based upon the performed date of the previous visit, such as Week 3's visit is based on completion of a Pre-Study lab test.

A Related Record entry is used to mark a visit's dependency on another visit's item, as well as marking the ItemIntervalType column as Dependent.


  • DestTableName: "ProtocolMgr_ItemTimeline" - the visit item on which the visit is dependent
  • DestPrimaryKey: pri key of visit item
  • SrcTableName: "ProtocolMgr_Timeline" - the dependent visit
  • SrcPrimaryKey: pri key of the visit
  • SrcSystem: "Caisis" - mark that this an internal Caisis relation


  • ItemIntervalType: "Recurring"

SQL: get source visit's item based on dependent item

RelatedRecords.SrcTableName = 'ProtocolMgr_Timeline'
AND RelatedRecords.SrcPrimaryKey = [DEPENDENT ItemTimelineId]
AND RelatedRecords.DestTableName = 'ProtocolMgr_ItemTimeline'
AND RelatedRecords.SrcSystem = 'Caisis'
Depending on a Patient's status

In this scenario, when a specified patient's status is entered, these visits will be scheduled based on that new status. i.e., A patient is placed "Off Treatment", and will require a final visit.

No related record is created in this instance. The mapping to signal this visit as dependent on a status is stored in the ItemIntervalType' field.


  • ItemIntervalType: "Dependent Off Treatment"


  • PtProtocolStatus: "Off Treatment" - a status of a patient on a protocol

SQL: visit is matched to patient's status

ProtocolMgr_Timeline.ItemIntervalType LIKE '%Dependent ' + PatientProtocolStatus.PtProtocolStatus + '%'

Multiple Advanced Scheduling Options

Both the recurring and dependent scheduling options can be combined for more complex scenarios, such as a patient will be scheduled for 3 weekly follow up visits 1 week after they go "Off Treatment".

Personal tools