Protocol Management Development

From CaisisWiki

Revision as of 21:38, 17 February 2011 by Avinash (Talk | contribs)
(diff) ← Older revision | Current revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Contents

Developer

Schema Info

Schema Items

Timeline

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.

ProtocolMgr_Timeline

  • 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.

ProtocolMgr_PatientItems

  • 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.

RelatedRecord

  • 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

ProtocolMgr_Timeline

  • 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.

ProtocolMgr_Timeline

  • ItemIntervalType: "Dependent Off Treatment"

PatientProtocolStatus

  • 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