Absorbed all changed from Radiology Support branch.
Patient and Provider classes now serializable to address new bug: Availablity slots cannot be saved b/c these classes are not serializable.
This commit is contained in:
parent
3a4ce73bf6
commit
d17cc4fc56
|
@ -27,7 +27,7 @@ using System.Runtime.InteropServices;
|
|||
// You can specify all the values or you can default the Revision and Build Numbers
|
||||
// by using the '*' as shown below:
|
||||
|
||||
[assembly: AssemblyVersion("1.5.0.*")]
|
||||
[assembly: AssemblyVersion("1.5.1.*")]
|
||||
|
||||
//
|
||||
// In order to sign your assembly you must specify a key to use. Refer to the
|
||||
|
@ -57,5 +57,5 @@ using System.Runtime.InteropServices;
|
|||
[assembly: AssemblyDelaySign(false)]
|
||||
[assembly: AssemblyKeyFile("")]
|
||||
[assembly: AssemblyKeyName("")]
|
||||
[assembly: AssemblyFileVersionAttribute("1.5.0.0")]
|
||||
[assembly: AssemblyFileVersionAttribute("1.5.1.0")]
|
||||
[assembly: ComVisibleAttribute(false)]
|
||||
|
|
|
@ -3,48 +3,76 @@
|
|||
using System;
|
||||
using System.Drawing;
|
||||
/// <summary>
|
||||
/// Data Structuer to Represent an Appointment
|
||||
///
|
||||
/// Data Structure to Represent an Appointment
|
||||
/// </summary>
|
||||
[Serializable]
|
||||
public class CGAppointment
|
||||
{
|
||||
private bool m_bAccessBlock;
|
||||
private bool m_bNoShow;
|
||||
private bool m_bSelected = false;
|
||||
private bool m_bWalkIn;
|
||||
public DateTime m_dAuxTime;
|
||||
public DateTime m_dCheckIn;
|
||||
private DateTime m_EndTime;
|
||||
public int m_nAccessTypeID = -1;
|
||||
private int m_nColumn;
|
||||
public int m_nKey;
|
||||
private string m_Note;
|
||||
public int m_nPatientID;
|
||||
public int m_nSlots;
|
||||
private Rectangle m_rectangle;
|
||||
public string m_sAccessTypeName;
|
||||
private string m_sHRN = "";
|
||||
private string m_sPatientName;
|
||||
public string m_sResource;
|
||||
private DateTime m_StartTime;
|
||||
private string m_Text;
|
||||
public int AccessTypeID { get; set; }
|
||||
public string AccessTypeName { get; set; }
|
||||
|
||||
public int AppointmentKey { get; set; }
|
||||
|
||||
public DateTime AuxTime { get; set; }
|
||||
public DateTime CheckInTime { get; set; }
|
||||
public DateTime EndTime { get; set; }
|
||||
public DateTime StartTime { get; set; }
|
||||
|
||||
public int GridColumn { get; set; }
|
||||
public Rectangle GridRectangle { get; set; }
|
||||
|
||||
public bool IsAccessBlock { get; set; }
|
||||
|
||||
public bool NoShow { get; set; }
|
||||
|
||||
public string Note { get; set; }
|
||||
|
||||
public int PatientID { get; set; }
|
||||
public string PatientName { get; set; }
|
||||
public string Resource { get; set; }
|
||||
public string HealthRecordNumber { get; set; }
|
||||
|
||||
public bool Selected { get; set; }
|
||||
|
||||
public int Slots { get; set; }
|
||||
|
||||
public bool WalkIn { get; set; }
|
||||
|
||||
public Patient Patient { get; set; }
|
||||
public Provider Provider { get; set; }
|
||||
|
||||
public int? RadiologyExamIEN { get; set; }
|
||||
|
||||
|
||||
public CGAppointment()
|
||||
{
|
||||
AccessTypeID = -1;
|
||||
Selected = false;
|
||||
HealthRecordNumber = "";
|
||||
}
|
||||
|
||||
public void CreateAppointment(DateTime StartTime, DateTime EndTime, string Note, int Key, string sResource)
|
||||
{
|
||||
this.m_StartTime = StartTime;
|
||||
this.m_EndTime = EndTime;
|
||||
this.m_Note = Note;
|
||||
this.m_nKey = Key;
|
||||
this.m_sResource = sResource;
|
||||
}
|
||||
this.StartTime = StartTime;
|
||||
this.EndTime = EndTime;
|
||||
this.Note = Note;
|
||||
this.AppointmentKey = Key;
|
||||
this.Resource = sResource;
|
||||
}
|
||||
|
||||
public int Duration
|
||||
{
|
||||
get
|
||||
{
|
||||
TimeSpan span = (TimeSpan) (this.EndTime - this.StartTime);
|
||||
return (int) span.TotalMinutes;
|
||||
}
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
//StringFormat sf = new StringFormat();
|
||||
//sf.SetDigitSubstitution(System.Threading.Thread.CurrentThread.CurrentCulture.LCID, StringDigitSubstitute.National);
|
||||
string patientName = "";
|
||||
if (this.m_bAccessBlock)
|
||||
if (this.IsAccessBlock)
|
||||
{
|
||||
string str2 = (this.Slots == 1) ? " Slot, " : " Slots, ";
|
||||
return ((((this.AccessTypeName + ": ") + this.Slots.ToString() + str2) + this.Duration.ToString() + " Minutes. ") + this.Note);
|
||||
|
@ -56,255 +84,6 @@
|
|||
}
|
||||
return (patientName + " " + this.Note);
|
||||
}
|
||||
|
||||
public int AccessTypeID
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.m_nAccessTypeID;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.m_nAccessTypeID = value;
|
||||
}
|
||||
}
|
||||
|
||||
public string AccessTypeName
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.m_sAccessTypeName;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.m_sAccessTypeName = value;
|
||||
}
|
||||
}
|
||||
|
||||
public int AppointmentKey
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.m_nKey;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.m_nKey = value;
|
||||
}
|
||||
}
|
||||
|
||||
public DateTime AuxTime
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.m_dAuxTime;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.m_dAuxTime = value;
|
||||
}
|
||||
}
|
||||
|
||||
public DateTime CheckInTime
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.m_dCheckIn;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.m_dCheckIn = value;
|
||||
}
|
||||
}
|
||||
|
||||
public int Duration
|
||||
{
|
||||
get
|
||||
{
|
||||
TimeSpan span = (TimeSpan) (this.EndTime - this.StartTime);
|
||||
return (int) span.TotalMinutes;
|
||||
}
|
||||
}
|
||||
|
||||
public DateTime EndTime
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.m_EndTime;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.m_EndTime = value;
|
||||
}
|
||||
}
|
||||
|
||||
public int GridColumn
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.m_nColumn;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.m_nColumn = value;
|
||||
}
|
||||
}
|
||||
|
||||
public Rectangle GridRectangle
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.m_rectangle;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.m_rectangle = value;
|
||||
}
|
||||
}
|
||||
|
||||
public string HealthRecordNumber
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.m_sHRN;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.m_sHRN = value;
|
||||
}
|
||||
}
|
||||
|
||||
public bool IsAccessBlock
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.m_bAccessBlock;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.m_bAccessBlock = value;
|
||||
}
|
||||
}
|
||||
|
||||
public bool NoShow
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.m_bNoShow;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.m_bNoShow = value;
|
||||
}
|
||||
}
|
||||
|
||||
public string Note
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.m_Note;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.m_Note = value;
|
||||
}
|
||||
}
|
||||
|
||||
public int PatientID
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.m_nPatientID;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.m_nPatientID = value;
|
||||
}
|
||||
}
|
||||
|
||||
public string PatientName
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.m_sPatientName;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.m_sPatientName = value;
|
||||
}
|
||||
}
|
||||
|
||||
public string Resource
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.m_sResource;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.m_sResource = value;
|
||||
}
|
||||
}
|
||||
|
||||
public bool Selected
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.m_bSelected;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.m_bSelected = value;
|
||||
}
|
||||
}
|
||||
|
||||
public int Slots
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.m_nSlots;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.m_nSlots = value;
|
||||
}
|
||||
}
|
||||
|
||||
public DateTime StartTime
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.m_StartTime;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.m_StartTime = value;
|
||||
}
|
||||
}
|
||||
|
||||
public string Text
|
||||
{
|
||||
get
|
||||
{
|
||||
this.m_Text = this.m_sPatientName;
|
||||
return this.m_Text;
|
||||
}
|
||||
}
|
||||
|
||||
public bool WalkIn
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.m_bWalkIn;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.m_bWalkIn = value;
|
||||
}
|
||||
}
|
||||
|
||||
public Patient Patient { get; set; }
|
||||
public Provider Provider { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -237,6 +237,7 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
nAccessTypeID = (int)r["ACCESSTYPEID"];
|
||||
sWalkIn = r["WALKIN"].ToString();
|
||||
bWalkIn = (sWalkIn == "1") ? true : false;
|
||||
int? RadiologyExamIEN = r["RADIOLOGY_EXAM"] as Int32?; //new in v 1.6 - Get Radiology Exam
|
||||
|
||||
Patient pt = new Patient()
|
||||
{
|
||||
|
@ -261,6 +262,7 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
pAppointment.HealthRecordNumber = sHRN;
|
||||
pAppointment.AccessTypeID = nAccessTypeID;
|
||||
pAppointment.WalkIn = bWalkIn;
|
||||
pAppointment.RadiologyExamIEN = RadiologyExamIEN;
|
||||
this.m_appointments.AddAppointment(pAppointment);
|
||||
|
||||
}
|
||||
|
@ -972,7 +974,7 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
sApptID = rApptInfo.AccessTypeID.ToString();
|
||||
}
|
||||
|
||||
string sSql = "BSDX ADD NEW APPOINTMENT^" + sStart + "^" + sEnd + "^" + sPatID + "^" + sResource + "^" + sLen + "^" + sNote + "^" + sApptID;
|
||||
string sSql = "BSDX ADD NEW APPOINTMENT^" + sStart + "^" + sEnd + "^" + sPatID + "^" + sResource + "^" + sLen + "^" + sNote + "^" + sApptID + "^" + rApptInfo.RadiologyExamIEN;
|
||||
System.Data.DataTable dtAppt = m_DocManager.RPMSDataTable(sSql, "NewAppointment");
|
||||
|
||||
Debug.Assert(dtAppt.Rows.Count == 1);
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
using System;
|
||||
using System.Data;
|
||||
using System.Collections;
|
||||
using System.Diagnostics;
|
||||
using System.Drawing;
|
||||
|
||||
namespace IndianHealthService.ClinicalScheduling
|
||||
{
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Windows.Forms;
|
||||
using System.Diagnostics;
|
||||
|
@ -47,7 +48,7 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
private System.Windows.Forms.Panel panelCenter;
|
||||
private System.Windows.Forms.Panel panelBottom;
|
||||
private System.Windows.Forms.Label lblResource;
|
||||
private System.Windows.Forms.ContextMenu contextMenu1;
|
||||
private System.Windows.Forms.ContextMenu ctxResourceTree;
|
||||
private System.Windows.Forms.MenuItem ctxOpenSchedule;
|
||||
private System.Windows.Forms.MenuItem ctxEditAvailability;
|
||||
private System.Windows.Forms.MenuItem ctxProperties;
|
||||
|
@ -89,15 +90,15 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
private System.Windows.Forms.MenuItem mnuPrintRebookLetters;
|
||||
private System.Windows.Forms.MenuItem mnuPrintCancellationLetters;
|
||||
private System.Windows.Forms.MenuItem mnuWalkIn;
|
||||
private System.Windows.Forms.MenuItem menuItem5;
|
||||
private System.Windows.Forms.MenuItem menuItem8;
|
||||
private System.Windows.Forms.MenuItem sepApptMenu1;
|
||||
private System.Windows.Forms.MenuItem sepApptMenu2;
|
||||
private System.Windows.Forms.MenuItem ctxCalGridWalkin;
|
||||
private System.Windows.Forms.MenuItem menuItem2;
|
||||
private System.Windows.Forms.MenuItem menuItem9;
|
||||
private System.Windows.Forms.MenuItem ctxCalGridSep1;
|
||||
private System.Windows.Forms.MenuItem ctxCalGridSep2;
|
||||
private System.Windows.Forms.MenuItem mnuOpenMultipleSchedules;
|
||||
private System.Windows.Forms.MenuItem mnuDisplayWalkIns;
|
||||
private System.Windows.Forms.MenuItem mnuRPMSDivision;
|
||||
private MenuItem menuItem10;
|
||||
private MenuItem ctxCalGridSep3;
|
||||
private MenuItem ctxCalGridReprintApptSlip;
|
||||
private MenuItem ctxCalGridUndoCheckin;
|
||||
private MenuItem ctxPrintScheduleT0;
|
||||
|
@ -105,6 +106,13 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
private MenuItem ctxPrintScheduleT3;
|
||||
private MenuItem menuItem12;
|
||||
private MenuItem mnuRefresh;
|
||||
private MenuItem ctxCalGridMkRadAppt;
|
||||
private MenuItem ctxCalGridCancelRadAppt;
|
||||
private MenuItem mnuMkRadAppt;
|
||||
private MenuItem mnuCancelRadAppt;
|
||||
private MenuItem mnuUndoCheckin;
|
||||
private MenuItem sepApptMenu3;
|
||||
private MenuItem mnuReprintApptSlip;
|
||||
private IContainer components;
|
||||
|
||||
#region Initialization
|
||||
|
@ -193,17 +201,22 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
this.mnuClose = new System.Windows.Forms.MenuItem();
|
||||
this.mnuAppointment = new System.Windows.Forms.MenuItem();
|
||||
this.mnuNewAppointment = new System.Windows.Forms.MenuItem();
|
||||
this.mnuWalkIn = new System.Windows.Forms.MenuItem();
|
||||
this.mnuMkRadAppt = new System.Windows.Forms.MenuItem();
|
||||
this.mnuEditAppointment = new System.Windows.Forms.MenuItem();
|
||||
this.mnuDeleteAppointment = new System.Windows.Forms.MenuItem();
|
||||
this.menuItem5 = new System.Windows.Forms.MenuItem();
|
||||
this.mnuCancelRadAppt = new System.Windows.Forms.MenuItem();
|
||||
this.sepApptMenu1 = new System.Windows.Forms.MenuItem();
|
||||
this.mnuNoShow = new System.Windows.Forms.MenuItem();
|
||||
this.mnuNoShowUndo = new System.Windows.Forms.MenuItem();
|
||||
this.menuItem8 = new System.Windows.Forms.MenuItem();
|
||||
this.mnuCopyAppointment = new System.Windows.Forms.MenuItem();
|
||||
this.mnuWalkIn = new System.Windows.Forms.MenuItem();
|
||||
this.mnuFindAppt = new System.Windows.Forms.MenuItem();
|
||||
this.sepApptMenu2 = new System.Windows.Forms.MenuItem();
|
||||
this.mnuCheckIn = new System.Windows.Forms.MenuItem();
|
||||
this.mnuUndoCheckin = new System.Windows.Forms.MenuItem();
|
||||
this.sepApptMenu3 = new System.Windows.Forms.MenuItem();
|
||||
this.mnuFindAppt = new System.Windows.Forms.MenuItem();
|
||||
this.mnuCopyAppointment = new System.Windows.Forms.MenuItem();
|
||||
this.mnuViewPatientAppts = new System.Windows.Forms.MenuItem();
|
||||
this.mnuReprintApptSlip = new System.Windows.Forms.MenuItem();
|
||||
this.mnuCalendar = new System.Windows.Forms.MenuItem();
|
||||
this.mnuDisplayWalkIns = new System.Windows.Forms.MenuItem();
|
||||
this.mnu1Day = new System.Windows.Forms.MenuItem();
|
||||
|
@ -224,7 +237,7 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
this.mnuTest = new System.Windows.Forms.MenuItem();
|
||||
this.mnuTest1 = new System.Windows.Forms.MenuItem();
|
||||
this.tvSchedules = new System.Windows.Forms.TreeView();
|
||||
this.contextMenu1 = new System.Windows.Forms.ContextMenu();
|
||||
this.ctxResourceTree = new System.Windows.Forms.ContextMenu();
|
||||
this.ctxOpenSchedule = new System.Windows.Forms.MenuItem();
|
||||
this.ctxEditAvailability = new System.Windows.Forms.MenuItem();
|
||||
this.ctxProperties = new System.Windows.Forms.MenuItem();
|
||||
|
@ -245,16 +258,18 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
this.panelCenter = new System.Windows.Forms.Panel();
|
||||
this.ctxCalendarGrid = new System.Windows.Forms.ContextMenu();
|
||||
this.ctxCalGridAdd = new System.Windows.Forms.MenuItem();
|
||||
this.ctxCalGridMkRadAppt = new System.Windows.Forms.MenuItem();
|
||||
this.ctxCalGridEdit = new System.Windows.Forms.MenuItem();
|
||||
this.ctxCalGridDelete = new System.Windows.Forms.MenuItem();
|
||||
this.ctxCalGridCancelRadAppt = new System.Windows.Forms.MenuItem();
|
||||
this.ctxCalGridCheckIn = new System.Windows.Forms.MenuItem();
|
||||
this.ctxCalGridUndoCheckin = new System.Windows.Forms.MenuItem();
|
||||
this.menuItem2 = new System.Windows.Forms.MenuItem();
|
||||
this.ctxCalGridSep1 = new System.Windows.Forms.MenuItem();
|
||||
this.ctxCalGridNoShow = new System.Windows.Forms.MenuItem();
|
||||
this.ctxCalGridNoShowUndo = new System.Windows.Forms.MenuItem();
|
||||
this.menuItem9 = new System.Windows.Forms.MenuItem();
|
||||
this.ctxCalGridSep2 = new System.Windows.Forms.MenuItem();
|
||||
this.ctxCalGridWalkin = new System.Windows.Forms.MenuItem();
|
||||
this.menuItem10 = new System.Windows.Forms.MenuItem();
|
||||
this.ctxCalGridSep3 = new System.Windows.Forms.MenuItem();
|
||||
this.ctxCalGridReprintApptSlip = new System.Windows.Forms.MenuItem();
|
||||
this.panelBottom = new System.Windows.Forms.Panel();
|
||||
this.statusBar1 = new System.Windows.Forms.StatusBar();
|
||||
|
@ -368,7 +383,7 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
// mnuPrintReminderLetters
|
||||
//
|
||||
this.mnuPrintReminderLetters.Index = 10;
|
||||
this.mnuPrintReminderLetters.Shortcut = System.Windows.Forms.Shortcut.CtrlI;
|
||||
this.mnuPrintReminderLetters.Shortcut = System.Windows.Forms.Shortcut.CtrlE;
|
||||
this.mnuPrintReminderLetters.Text = "Print Rem&inder Letters";
|
||||
this.mnuPrintReminderLetters.Click += new System.EventHandler(this.mnuPrintReminderLetters_Click);
|
||||
//
|
||||
|
@ -410,17 +425,22 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
this.mnuAppointment.Index = 1;
|
||||
this.mnuAppointment.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
|
||||
this.mnuNewAppointment,
|
||||
this.mnuWalkIn,
|
||||
this.mnuMkRadAppt,
|
||||
this.mnuEditAppointment,
|
||||
this.mnuDeleteAppointment,
|
||||
this.menuItem5,
|
||||
this.mnuCancelRadAppt,
|
||||
this.sepApptMenu1,
|
||||
this.mnuNoShow,
|
||||
this.mnuNoShowUndo,
|
||||
this.menuItem8,
|
||||
this.mnuCopyAppointment,
|
||||
this.mnuWalkIn,
|
||||
this.mnuFindAppt,
|
||||
this.sepApptMenu2,
|
||||
this.mnuCheckIn,
|
||||
this.mnuViewPatientAppts});
|
||||
this.mnuUndoCheckin,
|
||||
this.sepApptMenu3,
|
||||
this.mnuFindAppt,
|
||||
this.mnuCopyAppointment,
|
||||
this.mnuViewPatientAppts,
|
||||
this.mnuReprintApptSlip});
|
||||
this.mnuAppointment.Text = "&Appointment";
|
||||
this.mnuAppointment.Popup += new System.EventHandler(this.mnuAppointment_Popup);
|
||||
//
|
||||
|
@ -431,73 +451,112 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
this.mnuNewAppointment.Text = "&New Appointment";
|
||||
this.mnuNewAppointment.Click += new System.EventHandler(this.mnuNewAppointment_Click);
|
||||
//
|
||||
// mnuWalkIn
|
||||
//
|
||||
this.mnuWalkIn.Index = 1;
|
||||
this.mnuWalkIn.Shortcut = System.Windows.Forms.Shortcut.ShiftIns;
|
||||
this.mnuWalkIn.Text = "Create Wal&k-In Appointment";
|
||||
this.mnuWalkIn.Click += new System.EventHandler(this.mnuWalkIn_Click);
|
||||
//
|
||||
// mnuMkRadAppt
|
||||
//
|
||||
this.mnuMkRadAppt.Index = 2;
|
||||
this.mnuMkRadAppt.Shortcut = System.Windows.Forms.Shortcut.CtrlIns;
|
||||
this.mnuMkRadAppt.Text = "Make Radiology Appointment";
|
||||
this.mnuMkRadAppt.Click += new System.EventHandler(this.mnuMkRadAppt_Click);
|
||||
//
|
||||
// mnuEditAppointment
|
||||
//
|
||||
this.mnuEditAppointment.Index = 1;
|
||||
this.mnuEditAppointment.Index = 3;
|
||||
this.mnuEditAppointment.Shortcut = System.Windows.Forms.Shortcut.F2;
|
||||
this.mnuEditAppointment.Text = "&Edit Appointment";
|
||||
this.mnuEditAppointment.Click += new System.EventHandler(this.mnuEditAppointment_Click);
|
||||
//
|
||||
// mnuDeleteAppointment
|
||||
//
|
||||
this.mnuDeleteAppointment.Index = 2;
|
||||
this.mnuDeleteAppointment.Index = 4;
|
||||
this.mnuDeleteAppointment.Shortcut = System.Windows.Forms.Shortcut.Del;
|
||||
this.mnuDeleteAppointment.Text = "Cance&l Appointment";
|
||||
this.mnuDeleteAppointment.Click += new System.EventHandler(this.mnuDeleteAppointment_Click);
|
||||
//
|
||||
// menuItem5
|
||||
// mnuCancelRadAppt
|
||||
//
|
||||
this.menuItem5.Index = 3;
|
||||
this.menuItem5.Text = "-";
|
||||
this.mnuCancelRadAppt.Index = 5;
|
||||
this.mnuCancelRadAppt.Shortcut = System.Windows.Forms.Shortcut.CtrlDel;
|
||||
this.mnuCancelRadAppt.Text = "Cancel Radiology Appointment";
|
||||
this.mnuCancelRadAppt.Click += new System.EventHandler(this.mnuCancelRadAppt_Click);
|
||||
//
|
||||
// sepApptMenu1
|
||||
//
|
||||
this.sepApptMenu1.Index = 6;
|
||||
this.sepApptMenu1.Text = "-";
|
||||
//
|
||||
// mnuNoShow
|
||||
//
|
||||
this.mnuNoShow.Index = 4;
|
||||
this.mnuNoShow.Index = 7;
|
||||
this.mnuNoShow.Shortcut = System.Windows.Forms.Shortcut.CtrlN;
|
||||
this.mnuNoShow.Text = "Mark as No Sho&w";
|
||||
this.mnuNoShow.Click += new System.EventHandler(this.mnuNoShow_Click);
|
||||
//
|
||||
// mnuNoShowUndo
|
||||
//
|
||||
this.mnuNoShowUndo.Index = 5;
|
||||
this.mnuNoShowUndo.Index = 8;
|
||||
this.mnuNoShowUndo.Shortcut = System.Windows.Forms.Shortcut.CtrlShiftN;
|
||||
this.mnuNoShowUndo.Text = "&Undo No Show";
|
||||
this.mnuNoShowUndo.Click += new System.EventHandler(this.mnuNoShowUndo_Click);
|
||||
//
|
||||
// menuItem8
|
||||
// sepApptMenu2
|
||||
//
|
||||
this.menuItem8.Index = 6;
|
||||
this.menuItem8.Text = "-";
|
||||
//
|
||||
// mnuCopyAppointment
|
||||
//
|
||||
this.mnuCopyAppointment.Index = 7;
|
||||
this.mnuCopyAppointment.Text = "&Copy Appointment to Clipboard";
|
||||
this.mnuCopyAppointment.Click += new System.EventHandler(this.mnuCopyAppointment_Click);
|
||||
//
|
||||
// mnuWalkIn
|
||||
//
|
||||
this.mnuWalkIn.Index = 8;
|
||||
this.mnuWalkIn.Text = "Create Wal&k-In Appointment";
|
||||
this.mnuWalkIn.Click += new System.EventHandler(this.mnuWalkIn_Click);
|
||||
//
|
||||
// mnuFindAppt
|
||||
//
|
||||
this.mnuFindAppt.Index = 9;
|
||||
this.mnuFindAppt.Shortcut = System.Windows.Forms.Shortcut.CtrlF;
|
||||
this.mnuFindAppt.Text = "&Find Empty Slots";
|
||||
this.mnuFindAppt.Click += new System.EventHandler(this.mnuFindAppt_Click);
|
||||
this.sepApptMenu2.Index = 9;
|
||||
this.sepApptMenu2.Text = "-";
|
||||
//
|
||||
// mnuCheckIn
|
||||
//
|
||||
this.mnuCheckIn.Index = 10;
|
||||
this.mnuCheckIn.Shortcut = System.Windows.Forms.Shortcut.CtrlI;
|
||||
this.mnuCheckIn.Text = "Check &In Patient";
|
||||
this.mnuCheckIn.Click += new System.EventHandler(this.mnuCheckIn_Click);
|
||||
//
|
||||
// mnuUndoCheckin
|
||||
//
|
||||
this.mnuUndoCheckin.Index = 11;
|
||||
this.mnuUndoCheckin.Shortcut = System.Windows.Forms.Shortcut.CtrlShiftI;
|
||||
this.mnuUndoCheckin.Text = "Undo Checkin";
|
||||
this.mnuUndoCheckin.Click += new System.EventHandler(this.mnuUndoCheckin_Click);
|
||||
//
|
||||
// sepApptMenu3
|
||||
//
|
||||
this.sepApptMenu3.Index = 12;
|
||||
this.sepApptMenu3.Text = "-";
|
||||
//
|
||||
// mnuFindAppt
|
||||
//
|
||||
this.mnuFindAppt.Index = 13;
|
||||
this.mnuFindAppt.Shortcut = System.Windows.Forms.Shortcut.CtrlF;
|
||||
this.mnuFindAppt.Text = "&Find Empty Slots";
|
||||
this.mnuFindAppt.Click += new System.EventHandler(this.mnuFindAppt_Click);
|
||||
//
|
||||
// mnuCopyAppointment
|
||||
//
|
||||
this.mnuCopyAppointment.Index = 14;
|
||||
this.mnuCopyAppointment.Shortcut = System.Windows.Forms.Shortcut.CtrlC;
|
||||
this.mnuCopyAppointment.Text = "&Copy Appointment to Clipboard";
|
||||
this.mnuCopyAppointment.Click += new System.EventHandler(this.mnuCopyAppointment_Click);
|
||||
//
|
||||
// mnuViewPatientAppts
|
||||
//
|
||||
this.mnuViewPatientAppts.Index = 11;
|
||||
this.mnuViewPatientAppts.Index = 15;
|
||||
this.mnuViewPatientAppts.Shortcut = System.Windows.Forms.Shortcut.CtrlShiftZ;
|
||||
this.mnuViewPatientAppts.Text = "&View Patient Appointments";
|
||||
this.mnuViewPatientAppts.Click += new System.EventHandler(this.mnuViewPatientAppts_Click);
|
||||
//
|
||||
// mnuReprintApptSlip
|
||||
//
|
||||
this.mnuReprintApptSlip.Index = 16;
|
||||
this.mnuReprintApptSlip.Shortcut = System.Windows.Forms.Shortcut.CtrlShiftP;
|
||||
this.mnuReprintApptSlip.Text = "Reprint Appointment Slip";
|
||||
this.mnuReprintApptSlip.Click += new System.EventHandler(this.mnuReprintApptSlip_Click);
|
||||
//
|
||||
// mnuCalendar
|
||||
//
|
||||
this.mnuCalendar.Index = 2;
|
||||
|
@ -518,6 +577,7 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
//
|
||||
this.mnuDisplayWalkIns.Checked = true;
|
||||
this.mnuDisplayWalkIns.Index = 0;
|
||||
this.mnuDisplayWalkIns.Shortcut = System.Windows.Forms.Shortcut.F12;
|
||||
this.mnuDisplayWalkIns.Text = "&Display Walk-Ins";
|
||||
this.mnuDisplayWalkIns.Click += new System.EventHandler(this.mnuDisplayWalkIns_Click);
|
||||
//
|
||||
|
@ -591,7 +651,9 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
//
|
||||
// mnuViewScheduleTree
|
||||
//
|
||||
this.mnuViewScheduleTree.Checked = true;
|
||||
this.mnuViewScheduleTree.Index = 6;
|
||||
this.mnuViewScheduleTree.Shortcut = System.Windows.Forms.Shortcut.F4;
|
||||
this.mnuViewScheduleTree.Text = "&Schedule Tree";
|
||||
this.mnuViewScheduleTree.Click += new System.EventHandler(this.mnuViewScheduleTree_Click);
|
||||
//
|
||||
|
@ -644,12 +706,12 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
// tvSchedules
|
||||
//
|
||||
this.tvSchedules.BackColor = System.Drawing.SystemColors.ControlLight;
|
||||
this.tvSchedules.ContextMenu = this.contextMenu1;
|
||||
this.tvSchedules.ContextMenu = this.ctxResourceTree;
|
||||
this.tvSchedules.Dock = System.Windows.Forms.DockStyle.Left;
|
||||
this.tvSchedules.HotTracking = true;
|
||||
this.tvSchedules.Location = new System.Drawing.Point(0, 0);
|
||||
this.tvSchedules.Name = "tvSchedules";
|
||||
this.tvSchedules.Size = new System.Drawing.Size(128, 317);
|
||||
this.tvSchedules.Size = new System.Drawing.Size(128, 392);
|
||||
this.tvSchedules.Sorted = true;
|
||||
this.tvSchedules.TabIndex = 1;
|
||||
this.tvSchedules.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.tvSchedules_AfterSelect);
|
||||
|
@ -657,9 +719,9 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
this.tvSchedules.DoubleClick += new System.EventHandler(this.tvSchedules_DoubleClick);
|
||||
this.tvSchedules.MouseEnter += new System.EventHandler(this.tvSchedules_MouseEnter);
|
||||
//
|
||||
// contextMenu1
|
||||
// ctxResourceTree
|
||||
//
|
||||
this.contextMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
|
||||
this.ctxResourceTree.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
|
||||
this.ctxOpenSchedule,
|
||||
this.ctxEditAvailability,
|
||||
this.ctxProperties,
|
||||
|
@ -667,7 +729,7 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
this.ctxPrintScheduleT0,
|
||||
this.ctxPrintScheduleT1,
|
||||
this.ctxPrintScheduleT3});
|
||||
this.contextMenu1.Popup += new System.EventHandler(this.contextMenu1_Popup);
|
||||
this.ctxResourceTree.Popup += new System.EventHandler(this.contextMenu1_Popup);
|
||||
//
|
||||
// ctxOpenSchedule
|
||||
//
|
||||
|
@ -718,7 +780,7 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
this.panelRight.Dock = System.Windows.Forms.DockStyle.Right;
|
||||
this.panelRight.Location = new System.Drawing.Point(996, 0);
|
||||
this.panelRight.Name = "panelRight";
|
||||
this.panelRight.Size = new System.Drawing.Size(128, 317);
|
||||
this.panelRight.Size = new System.Drawing.Size(128, 392);
|
||||
this.panelRight.TabIndex = 3;
|
||||
this.panelRight.Visible = false;
|
||||
//
|
||||
|
@ -814,23 +876,25 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
this.panelCenter.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.panelCenter.Location = new System.Drawing.Point(136, 24);
|
||||
this.panelCenter.Name = "panelCenter";
|
||||
this.panelCenter.Size = new System.Drawing.Size(857, 269);
|
||||
this.panelCenter.Size = new System.Drawing.Size(857, 344);
|
||||
this.panelCenter.TabIndex = 7;
|
||||
//
|
||||
// ctxCalendarGrid
|
||||
//
|
||||
this.ctxCalendarGrid.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
|
||||
this.ctxCalGridAdd,
|
||||
this.ctxCalGridMkRadAppt,
|
||||
this.ctxCalGridEdit,
|
||||
this.ctxCalGridDelete,
|
||||
this.ctxCalGridCancelRadAppt,
|
||||
this.ctxCalGridCheckIn,
|
||||
this.ctxCalGridUndoCheckin,
|
||||
this.menuItem2,
|
||||
this.ctxCalGridSep1,
|
||||
this.ctxCalGridNoShow,
|
||||
this.ctxCalGridNoShowUndo,
|
||||
this.menuItem9,
|
||||
this.ctxCalGridSep2,
|
||||
this.ctxCalGridWalkin,
|
||||
this.menuItem10,
|
||||
this.ctxCalGridSep3,
|
||||
this.ctxCalGridReprintApptSlip});
|
||||
this.ctxCalendarGrid.Popup += new System.EventHandler(this.ctxCalendarGrid_Popup);
|
||||
//
|
||||
|
@ -840,66 +904,78 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
this.ctxCalGridAdd.Text = "Add Appointment";
|
||||
this.ctxCalGridAdd.Click += new System.EventHandler(this.ctxCalGridAdd_Click);
|
||||
//
|
||||
// ctxCalGridMkRadAppt
|
||||
//
|
||||
this.ctxCalGridMkRadAppt.Index = 1;
|
||||
this.ctxCalGridMkRadAppt.Text = "Make Radiology Appointment";
|
||||
this.ctxCalGridMkRadAppt.Click += new System.EventHandler(this.ctxCalGridMkRadAppt_Click);
|
||||
//
|
||||
// ctxCalGridEdit
|
||||
//
|
||||
this.ctxCalGridEdit.Index = 1;
|
||||
this.ctxCalGridEdit.Index = 2;
|
||||
this.ctxCalGridEdit.Text = "Edit Appointment";
|
||||
this.ctxCalGridEdit.Click += new System.EventHandler(this.ctxCalGridEdit_Click);
|
||||
//
|
||||
// ctxCalGridDelete
|
||||
//
|
||||
this.ctxCalGridDelete.Index = 2;
|
||||
this.ctxCalGridDelete.Index = 3;
|
||||
this.ctxCalGridDelete.Text = "Cancel Appointment";
|
||||
this.ctxCalGridDelete.Click += new System.EventHandler(this.ctxCalGridDelete_Click);
|
||||
//
|
||||
// ctxCalGridCancelRadAppt
|
||||
//
|
||||
this.ctxCalGridCancelRadAppt.Index = 4;
|
||||
this.ctxCalGridCancelRadAppt.Text = "Cancel Radiology Appointment";
|
||||
this.ctxCalGridCancelRadAppt.Click += new System.EventHandler(this.ctxCalGridCancelRadAppt_Click);
|
||||
//
|
||||
// ctxCalGridCheckIn
|
||||
//
|
||||
this.ctxCalGridCheckIn.Index = 3;
|
||||
this.ctxCalGridCheckIn.Index = 5;
|
||||
this.ctxCalGridCheckIn.Text = "Check In Patient";
|
||||
this.ctxCalGridCheckIn.Click += new System.EventHandler(this.ctxCalGridCheckIn_Click);
|
||||
//
|
||||
// ctxCalGridUndoCheckin
|
||||
//
|
||||
this.ctxCalGridUndoCheckin.Index = 4;
|
||||
this.ctxCalGridUndoCheckin.Index = 6;
|
||||
this.ctxCalGridUndoCheckin.Text = "&Undo Check In";
|
||||
this.ctxCalGridUndoCheckin.Click += new System.EventHandler(this.ctxCalGridUndoCheckin_Click);
|
||||
//
|
||||
// menuItem2
|
||||
// ctxCalGridSep1
|
||||
//
|
||||
this.menuItem2.Index = 5;
|
||||
this.menuItem2.Text = "-";
|
||||
this.ctxCalGridSep1.Index = 7;
|
||||
this.ctxCalGridSep1.Text = "-";
|
||||
//
|
||||
// ctxCalGridNoShow
|
||||
//
|
||||
this.ctxCalGridNoShow.Index = 6;
|
||||
this.ctxCalGridNoShow.Index = 8;
|
||||
this.ctxCalGridNoShow.Text = "Mark as No Show";
|
||||
this.ctxCalGridNoShow.Click += new System.EventHandler(this.ctxCalGridNoShow_Click);
|
||||
//
|
||||
// ctxCalGridNoShowUndo
|
||||
//
|
||||
this.ctxCalGridNoShowUndo.Index = 7;
|
||||
this.ctxCalGridNoShowUndo.Index = 9;
|
||||
this.ctxCalGridNoShowUndo.Text = "Undo NoShow";
|
||||
this.ctxCalGridNoShowUndo.Click += new System.EventHandler(this.ctxCalGridNoShowUndo_Click);
|
||||
//
|
||||
// menuItem9
|
||||
// ctxCalGridSep2
|
||||
//
|
||||
this.menuItem9.Index = 8;
|
||||
this.menuItem9.Text = "-";
|
||||
this.ctxCalGridSep2.Index = 10;
|
||||
this.ctxCalGridSep2.Text = "-";
|
||||
//
|
||||
// ctxCalGridWalkin
|
||||
//
|
||||
this.ctxCalGridWalkin.Index = 9;
|
||||
this.ctxCalGridWalkin.Index = 11;
|
||||
this.ctxCalGridWalkin.Text = "Create Wal&k-In Appointment";
|
||||
this.ctxCalGridWalkin.Click += new System.EventHandler(this.ctxCalGridWalkin_Click);
|
||||
//
|
||||
// menuItem10
|
||||
// ctxCalGridSep3
|
||||
//
|
||||
this.menuItem10.Index = 10;
|
||||
this.menuItem10.Text = "-";
|
||||
this.ctxCalGridSep3.Index = 12;
|
||||
this.ctxCalGridSep3.Text = "-";
|
||||
//
|
||||
// ctxCalGridReprintApptSlip
|
||||
//
|
||||
this.ctxCalGridReprintApptSlip.Index = 11;
|
||||
this.ctxCalGridReprintApptSlip.Index = 13;
|
||||
this.ctxCalGridReprintApptSlip.Text = "&Reprint Appointment Slip";
|
||||
this.ctxCalGridReprintApptSlip.Click += new System.EventHandler(this.ctxCalGridReprintApptSlip_Click);
|
||||
//
|
||||
|
@ -907,7 +983,7 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
//
|
||||
this.panelBottom.Controls.Add(this.statusBar1);
|
||||
this.panelBottom.Dock = System.Windows.Forms.DockStyle.Bottom;
|
||||
this.panelBottom.Location = new System.Drawing.Point(136, 293);
|
||||
this.panelBottom.Location = new System.Drawing.Point(136, 368);
|
||||
this.panelBottom.Name = "panelBottom";
|
||||
this.panelBottom.Size = new System.Drawing.Size(857, 24);
|
||||
this.panelBottom.TabIndex = 8;
|
||||
|
@ -925,7 +1001,7 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
//
|
||||
this.splitter1.Location = new System.Drawing.Point(128, 24);
|
||||
this.splitter1.Name = "splitter1";
|
||||
this.splitter1.Size = new System.Drawing.Size(8, 293);
|
||||
this.splitter1.Size = new System.Drawing.Size(8, 368);
|
||||
this.splitter1.TabIndex = 9;
|
||||
this.splitter1.TabStop = false;
|
||||
//
|
||||
|
@ -934,7 +1010,7 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
this.splitter2.Dock = System.Windows.Forms.DockStyle.Right;
|
||||
this.splitter2.Location = new System.Drawing.Point(993, 24);
|
||||
this.splitter2.Name = "splitter2";
|
||||
this.splitter2.Size = new System.Drawing.Size(3, 293);
|
||||
this.splitter2.Size = new System.Drawing.Size(3, 368);
|
||||
this.splitter2.TabIndex = 10;
|
||||
this.splitter2.TabStop = false;
|
||||
//
|
||||
|
@ -957,7 +1033,7 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
this.calendarGrid1.Name = "calendarGrid1";
|
||||
this.calendarGrid1.Resources = ((System.Collections.ArrayList)(resources.GetObject("calendarGrid1.Resources")));
|
||||
this.calendarGrid1.SelectedAppointment = 0;
|
||||
this.calendarGrid1.Size = new System.Drawing.Size(857, 269);
|
||||
this.calendarGrid1.Size = new System.Drawing.Size(857, 344);
|
||||
this.calendarGrid1.StartDate = new System.DateTime(2003, 1, 27, 0, 0, 0, 0);
|
||||
this.calendarGrid1.TabIndex = 0;
|
||||
this.calendarGrid1.TimeScale = 20;
|
||||
|
@ -970,7 +1046,7 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
// CGView
|
||||
//
|
||||
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
|
||||
this.ClientSize = new System.Drawing.Size(1124, 317);
|
||||
this.ClientSize = new System.Drawing.Size(1124, 392);
|
||||
this.Controls.Add(this.panelCenter);
|
||||
this.Controls.Add(this.panelBottom);
|
||||
this.Controls.Add(this.splitter2);
|
||||
|
@ -1081,26 +1157,35 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
|
||||
#endregion
|
||||
|
||||
|
||||
#region AppointmentMenu Handlers
|
||||
|
||||
private void mnuAppointment_Popup(object sender, System.EventArgs e)
|
||||
{
|
||||
bool bEnabled = (this.Document.Resources.Count > 0)? true : false ;
|
||||
this.mnuFindAppt.Enabled = bEnabled;
|
||||
// our flags
|
||||
bool _findApptsEnabled = (this.Document.Resources.Count > 0)? true : false ;
|
||||
bool _addApptsEnabled = AddAppointmentEnabled();
|
||||
bool _editApptsEnabled = EditAppointmentEnabled();
|
||||
bool _isRadAppt = IsThisARadiologyResource();
|
||||
bool _noShowEnabled = NoShowEnabled();
|
||||
bool _undoCheckinEnabled = UndoCheckinEnabled();
|
||||
//end flags
|
||||
|
||||
//Toggle availability of make, edit, checkin and delete appointments
|
||||
//based on whether a range is selected.
|
||||
mnuNewAppointment.Enabled = _addApptsEnabled && !_isRadAppt;
|
||||
mnuWalkIn.Enabled = _addApptsEnabled && !_isRadAppt;
|
||||
mnuMkRadAppt.Enabled = _isRadAppt && _addApptsEnabled;
|
||||
|
||||
mnuNewAppointment.Enabled = AddAppointmentEnabled();
|
||||
this.mnuWalkIn.Enabled = mnuNewAppointment.Enabled;
|
||||
bool bEditAppointments = this.EditAppointmentEnabled();
|
||||
mnuEditAppointment.Enabled = _editApptsEnabled && !_isRadAppt;
|
||||
mnuDeleteAppointment.Enabled = _editApptsEnabled && !_isRadAppt;
|
||||
mnuCancelRadAppt.Enabled = _isRadAppt && _editApptsEnabled;
|
||||
mnuNoShow.Enabled = _noShowEnabled && _editApptsEnabled;
|
||||
mnuNoShowUndo.Enabled = !_noShowEnabled && _editApptsEnabled;
|
||||
mnuCheckIn.Enabled = _editApptsEnabled && !_isRadAppt;
|
||||
mnuUndoCheckin.Enabled = _undoCheckinEnabled && !_isRadAppt;
|
||||
|
||||
mnuDeleteAppointment.Enabled = bEditAppointments;
|
||||
mnuCheckIn.Enabled = bEditAppointments;
|
||||
mnuEditAppointment.Enabled = bEditAppointments;
|
||||
mnuNoShow.Enabled = bEditAppointments;
|
||||
mnuNoShowUndo.Enabled = bEditAppointments;
|
||||
mnuFindAppt.Enabled = _findApptsEnabled;
|
||||
mnuCopyAppointment.Enabled = _editApptsEnabled && !_isRadAppt;
|
||||
mnuViewPatientAppts.Enabled = true;
|
||||
mnuReprintApptSlip.Enabled = _editApptsEnabled;
|
||||
}
|
||||
|
||||
private void mnuCheckIn_Click(object sender, System.EventArgs e)
|
||||
|
@ -1117,12 +1202,12 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
{
|
||||
foreach (CGAppointment a in this.calendarGrid1.SelectedAppointments.AppointmentTable.Values)
|
||||
{
|
||||
if (m_ClipList.AppointmentTable.Contains((int) a.AppointmentKey))
|
||||
if (m_ClipList.AppointmentTable.Contains((int)a.AppointmentKey))
|
||||
{
|
||||
return;
|
||||
}
|
||||
m_ClipList.AddAppointment(a);
|
||||
lstClip.Items.Add(a.PatientName);
|
||||
lstClip.Items.Add(a);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
|
@ -1163,6 +1248,31 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
AppointmentUndoCheckin();
|
||||
}
|
||||
|
||||
private void mnuMkRadAppt_Click(object sender, EventArgs e)
|
||||
{
|
||||
AppointmentAddNewRadiology();
|
||||
}
|
||||
|
||||
private void mnuCancelRadAppt_Click(object sender, EventArgs e)
|
||||
{
|
||||
AppointmentDeleteOneRadiology();
|
||||
}
|
||||
|
||||
private void mnuUndoCheckin_Click(object sender, EventArgs e)
|
||||
{
|
||||
AppointmentUndoCheckin();
|
||||
}
|
||||
|
||||
private void mnuReprintApptSlip_Click(object sender, EventArgs e)
|
||||
{
|
||||
int apptID = this.CGrid.SelectedAppointment;
|
||||
if (apptID <= 0) return;
|
||||
|
||||
CGAppointment a = (CGAppointment)this.Appointments.AppointmentTable[apptID];
|
||||
|
||||
PrintAppointmentSlip(a);
|
||||
}
|
||||
|
||||
#endregion AppointmentMenu Handlers
|
||||
|
||||
#region ContextMenu1 Handlers
|
||||
|
@ -1291,20 +1401,60 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
|
||||
private void ctxCalendarGrid_Popup(object sender, System.EventArgs e)
|
||||
{
|
||||
bool bEditAppointments = (EditAppointmentEnabled() && (calendarGrid1.SelectedAppointment > 0)) ;
|
||||
|
||||
if (IsThisARadiologyResource())//this is a radiology resource
|
||||
{
|
||||
ctxCalGridAdd.Visible = false;
|
||||
ctxCalGridDelete.Visible = false;
|
||||
ctxCalGridEdit.Visible = false;
|
||||
ctxCalGridCheckIn.Visible = false;
|
||||
ctxCalGridNoShow.Visible = false;
|
||||
ctxCalGridNoShowUndo.Visible = false;
|
||||
ctxCalGridWalkin.Visible = false;
|
||||
ctxCalGridUndoCheckin.Visible = false;
|
||||
ctxCalGridSep1.Visible = false;
|
||||
ctxCalGridSep2.Visible = false;
|
||||
|
||||
ctxCalGridMkRadAppt.Visible = true;
|
||||
ctxCalGridCancelRadAppt.Visible = true;
|
||||
|
||||
|
||||
}
|
||||
|
||||
else // this is a normal resource
|
||||
{
|
||||
ctxCalGridAdd.Visible = true;
|
||||
ctxCalGridDelete.Visible = true;
|
||||
ctxCalGridEdit.Visible = true;
|
||||
ctxCalGridCheckIn.Visible = true;
|
||||
ctxCalGridNoShow.Visible = true;
|
||||
ctxCalGridNoShowUndo.Visible = true;
|
||||
ctxCalGridWalkin.Visible = true;
|
||||
ctxCalGridUndoCheckin.Visible = true;
|
||||
ctxCalGridSep1.Visible = true;
|
||||
ctxCalGridSep2.Visible = true;
|
||||
|
||||
ctxCalGridMkRadAppt.Visible = false;
|
||||
ctxCalGridCancelRadAppt.Visible = false;
|
||||
}
|
||||
|
||||
//Toggle availability of make, edit, checkin and delete appointments
|
||||
//based on whether appropriate element is selected.
|
||||
ctxCalGridAdd.Enabled = AddAppointmentEnabled();
|
||||
bool bEditAppointments = (EditAppointmentEnabled() && (calendarGrid1.SelectedAppointment > 0)) ;
|
||||
|
||||
ctxCalGridDelete.Enabled = bEditAppointments;
|
||||
ctxCalGridEdit.Enabled = bEditAppointments;
|
||||
ctxCalGridCheckIn.Enabled = bEditAppointments;
|
||||
ctxCalGridNoShow.Enabled = NoShowEnabled();
|
||||
ctxCalGridNoShowUndo.Enabled = !NoShowEnabled() && calendarGrid1.SelectedAppointment > 0;
|
||||
ctxCalGridWalkin.Enabled = ctxCalGridAdd.Enabled;
|
||||
//smh new code
|
||||
ctxCalGridReprintApptSlip.Enabled = bEditAppointments;
|
||||
ctxCalGridUndoCheckin.Enabled = UndoCheckinEnabled();
|
||||
//end new code
|
||||
|
||||
//if the rad ones are visible, then these apply
|
||||
ctxCalGridMkRadAppt.Enabled = !bEditAppointments;
|
||||
ctxCalGridCancelRadAppt.Enabled = bEditAppointments;
|
||||
}
|
||||
|
||||
private void ctxCalGridAdd_Click(object sender, System.EventArgs e)
|
||||
|
@ -1343,7 +1493,16 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
AppointmentNoShow(false);
|
||||
}
|
||||
|
||||
//new code smh
|
||||
private void ctxCalGridMkRadAppt_Click(object sender, EventArgs e)
|
||||
{
|
||||
AppointmentAddNewRadiology();
|
||||
}
|
||||
|
||||
private void ctxCalGridCancelRadAppt_Click(object sender, EventArgs e)
|
||||
{
|
||||
AppointmentDeleteOneRadiology();
|
||||
}
|
||||
|
||||
private void ctxCalGridReprintApptSlip_Click(object sender, EventArgs e)
|
||||
{
|
||||
int apptID = this.CGrid.SelectedAppointment;
|
||||
|
@ -1353,12 +1512,68 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
|
||||
PrintAppointmentSlip(a);
|
||||
}
|
||||
//end new code
|
||||
|
||||
#endregion ctxCalGridMenu Handlers
|
||||
|
||||
#region Methods
|
||||
|
||||
/// <summary>
|
||||
/// Decides whether this is a Radiology Resource. Local Helper to decide what menu items to enable/display
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
private bool IsThisARadiologyResource()
|
||||
{
|
||||
//I don't like this logic!!! but works for now!
|
||||
//Note: I use banana peeling model below
|
||||
|
||||
//If no cell is selected AND no appointment is selected, then it's false
|
||||
if (this.calendarGrid1.SelectedRange.Cells.CellCount < 1 && this.calendarGrid1.SelectedAppointment < 1)
|
||||
return false;
|
||||
|
||||
//If an appointment is selected then...
|
||||
if (this.calendarGrid1.SelectedAppointment > 0)
|
||||
{
|
||||
CGAppointment appt = this.Appointments.AppointmentTable[this.calendarGrid1.SelectedAppointment] as CGAppointment;
|
||||
if (appt == null) return false; //appt doesn't exist; old appointment and grid wasn't refreshed yet
|
||||
if (appt.RadiologyExamIEN.HasValue && appt.RadiologyExamIEN.Value > 0) return true; //this appointment is a radiology appointment since it has that member
|
||||
else return false;
|
||||
|
||||
}
|
||||
|
||||
//Otherwise, we are for sure dealing with a cell.
|
||||
//We need to determine if the cell resource is mapped to a Radiology Hospital Location.
|
||||
DateTime dStart;
|
||||
DateTime dEnd;
|
||||
string sResource;
|
||||
|
||||
// Get resource
|
||||
bool bRet = this.calendarGrid1.GetSelectedTime(out dStart, out dEnd, out sResource);
|
||||
|
||||
// If we fail, return false (but this is not supposed to ever happen)
|
||||
if (bRet == false)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// see if resource is mapped to a Radiology Hospital Location.
|
||||
return IsThisARadiologyResource(sResource);
|
||||
}
|
||||
|
||||
private bool IsThisARadiologyResource(string sResource)
|
||||
{
|
||||
// see if resource is mapped to a Radiology Hospital Location.
|
||||
return ( //select all Hospital Locations which are radiology locations
|
||||
from hl in CGDocumentManager.Current.GlobalDataSet.Tables["HospitalLocation"].AsEnumerable()
|
||||
where hl.Field<string>("IS_RADIOLOGY_LOCATION") == "1"
|
||||
//join this to the resources table using the foreign ID (plain jane relational join)
|
||||
join res in CGDocumentManager.Current.GlobalDataSet.Tables["Resources"].AsEnumerable()
|
||||
on hl.Field<int>("HOSPITAL_LOCATION_ID") equals res.Field<int>("HOSPITAL_LOCATION_ID")
|
||||
//then filter this down to the resource that we have
|
||||
where res.Field<string>("RESOURCE_NAME") == sResource
|
||||
//if we have any row left, then it is true.
|
||||
select hl).Any();
|
||||
}
|
||||
|
||||
private bool EditAppointmentEnabled()
|
||||
{
|
||||
try
|
||||
|
@ -1979,6 +2194,30 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Delete one Radiology Appointment
|
||||
/// </summary>
|
||||
private void AppointmentDeleteOneRadiology()
|
||||
{
|
||||
Debug.Assert(this.calendarGrid1.SelectedAppointment > 0);
|
||||
|
||||
CGAppointment a = this.Appointments.AppointmentTable[this.calendarGrid1.SelectedAppointment] as CGAppointment;
|
||||
|
||||
Debug.Assert(a.RadiologyExamIEN.HasValue);
|
||||
|
||||
//Prior to making expensive db calls, tell the grid nothing is selected anymore so nobody would try to pick it up
|
||||
this.calendarGrid1.SelectedAppointment = 0;
|
||||
|
||||
//Cancel Radiology Exam
|
||||
CGDocumentManager.Current.DAL.CancelRadiologyExam(a.PatientID, a.RadiologyExamIEN.Value);
|
||||
|
||||
//Now, Cancel the appointment
|
||||
this.Document.DeleteAppointment(a.AppointmentKey);
|
||||
|
||||
//redraw the grid to display new set of appointments after this appt was removed.
|
||||
this.UpdateArrays();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Delete appointment ApptID
|
||||
/// </summary>
|
||||
|
@ -2015,6 +2254,11 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
return;
|
||||
}
|
||||
|
||||
//At this point, the appointment will be deleted...
|
||||
//Remove the Selected Appointment from the grid because we don't anybody to think there's still
|
||||
//an appointment selected while we are still updating the grid
|
||||
this.calendarGrid1.SelectedAppointment = 0;
|
||||
|
||||
bool bClinic = dCancel.ClinicCancelled;
|
||||
int nReason = dCancel.CancelReason;
|
||||
string sRemarks = dCancel.CancelRemarks;
|
||||
|
@ -2380,6 +2624,85 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Add a new Radiology Appointment to VISTA (ÒÝÊì as my mom calls it)
|
||||
/// </summary>
|
||||
private void AppointmentAddNewRadiology()
|
||||
{
|
||||
DateTime dStart, dEnd; //return vales for below
|
||||
string sResource; //ditto
|
||||
int nAccessTypeID = 0; //ditto
|
||||
|
||||
this.calendarGrid1.GetSelectedTime(out dStart, out dEnd, out sResource);
|
||||
this.calendarGrid1.GetSelectedType(out nAccessTypeID);
|
||||
|
||||
Debug.Assert(sResource != null);
|
||||
Debug.Assert(dStart > DateTime.MinValue);
|
||||
|
||||
//Display a dialog to collect Patient Name
|
||||
DPatientLookup dPat = new DPatientLookup();
|
||||
dPat.DocManager = m_DocManager;
|
||||
|
||||
if (dPat.ShowDialog(this) == DialogResult.Cancel)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
int DFN = Int32.Parse(dPat.PatientIEN);
|
||||
// Hospital Location IEN
|
||||
int hlIEN = (from resource in CGDocumentManager.Current.GlobalDataSet.Tables["Resources"].AsEnumerable()
|
||||
where resource.Field<string>("RESOURCE_NAME") == sResource
|
||||
select resource.Field<int>("HOSPITAL_LOCATION_ID")).FirstOrDefault();
|
||||
|
||||
//Get Radiology Exams from the DB
|
||||
List<RadiologyExam> _radExams = CGDocumentManager.Current.DAL.GetRadiologyExamsForPatientinHL(DFN, hlIEN);
|
||||
|
||||
//If none found...
|
||||
if (!_radExams.Any())
|
||||
{
|
||||
MessageBox.Show("Patient does not have any radiology exams to register.");
|
||||
return;
|
||||
}
|
||||
|
||||
//Display a form for the user to select radiology exams.
|
||||
DRadExamsSelect _radform = new DRadExamsSelect(_radExams);
|
||||
|
||||
if (_radform.ShowDialog() == DialogResult.Cancel) return;
|
||||
|
||||
//Get some return values
|
||||
int _examien = _radform.ExamIEN;
|
||||
string _procedurename = _radform.ProcedureName;
|
||||
|
||||
//Save Radiology Exam Schedule Info to Radiology Package
|
||||
CGDocumentManager.Current.DAL.ScheduleRadiologyExam(DFN, _examien, dStart);
|
||||
|
||||
//Now create and save the appointment
|
||||
CGAppointment appt = new CGAppointment();
|
||||
string _sNote = "Radiology Exam (" + _examien + "): " + _procedurename;
|
||||
appt.CreateAppointment(dStart, dEnd, _sNote, 0, sResource);
|
||||
appt.PatientID = Int32.Parse(dPat.PatientIEN);
|
||||
appt.PatientName = dPat.PatientName;
|
||||
appt.AccessTypeID = nAccessTypeID;
|
||||
appt.RadiologyExamIEN = _examien;
|
||||
appt.Patient = new Patient
|
||||
{
|
||||
DFN = Convert.ToInt32(dPat.PatientIEN),
|
||||
ID = dPat.PatientPID,
|
||||
Name = dPat.PatientName,
|
||||
HRN = dPat.HealthRecordNumber,
|
||||
DOB = dPat.PatientDOB
|
||||
};
|
||||
|
||||
this.Document.CreateAppointment(appt);
|
||||
|
||||
//Print Appointment Slip if requested
|
||||
if (_radform.PrintAppointmentSlip) this.PrintAppointmentSlip(appt);
|
||||
|
||||
//Now redraw the grid to display the new appointments
|
||||
this.UpdateArrays();
|
||||
}
|
||||
|
||||
|
||||
#region BMX Event Processing and Callbacks
|
||||
/// <summary>
|
||||
/// Loosely typed delegate used several times below.
|
||||
|
@ -2891,9 +3214,25 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
{
|
||||
try
|
||||
{
|
||||
// added April 13 2011
|
||||
// Can't edit radiology appointments (Why? b/c it's intimately tied to Radiology Entry of the Hosp Loc)
|
||||
if (e.Appointment.RadiologyExamIEN.HasValue && e.Appointment.RadiologyExamIEN.Value > 0)
|
||||
{
|
||||
MessageBox.Show("You cannot move a radiology appointment.", "Clinical Scheduling");
|
||||
return;
|
||||
}
|
||||
|
||||
// added May 5 2011
|
||||
// Can't move an appointment to a radiology resource
|
||||
if (IsThisARadiologyResource(e.Resource))
|
||||
{
|
||||
MessageBox.Show("You cannot move an appointment to a radiology location.", "Clinical Scheduling");
|
||||
return;
|
||||
}
|
||||
|
||||
if (e.Appointment.CheckInTime.Ticks > 0)
|
||||
{
|
||||
MessageBox.Show("You cannot change the appointment time because the patient has already checked in.", "Clinical Scheduling", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
|
||||
MessageBox.Show("You cannot change the appointment time because the patient has already checked in.", "Clinical Scheduling");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -3565,8 +3904,5 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}//End class
|
||||
}
|
||||
|
|
|
@ -120,7 +120,7 @@
|
|||
<metadata name="mainMenu1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<metadata name="contextMenu1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<metadata name="ctxResourceTree.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>126, 17</value>
|
||||
</metadata>
|
||||
<metadata name="ctxApptClipMenu.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
|
|
|
@ -479,7 +479,7 @@
|
|||
if (bRet && (!appointment.WalkIn || this.m_bDrawWalkIns))
|
||||
{
|
||||
rect.Inflate(-10, 0);
|
||||
num = (int) this.m_ApptOverlapTable[appointment.m_nKey];
|
||||
num = (int) this.m_ApptOverlapTable[appointment.AppointmentKey];
|
||||
num2 = rect.Right - rect.Left;
|
||||
x = num2 / (num + 1);
|
||||
rect.Width = x;
|
||||
|
@ -1266,7 +1266,7 @@
|
|||
num2 = appointment.EndTime.Minute + (60 * appointment.EndTime.Hour);
|
||||
x = (this.m_sResourcesArray.Count > 1) ? (((int) this.m_ColumnInfoTable[resource]) + 1) : appointment.StartTime.DayOfYear;
|
||||
Rectangle rectangle = new Rectangle(x, y, 1, num2 - y);
|
||||
hashtable.Add(appointment.m_nKey, rectangle);
|
||||
hashtable.Add(appointment.AppointmentKey, rectangle);
|
||||
}
|
||||
}
|
||||
this.m_ApptOverlapTable.Clear();
|
||||
|
|
|
@ -139,7 +139,14 @@
|
|||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="DRadExamsSelect.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="DRadExamsSelect.Designer.cs">
|
||||
<DependentUpon>DRadExamsSelect.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Provider.cs" />
|
||||
<Compile Include="RadiologyExam.cs" />
|
||||
<Compile Include="strings.ar.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
|
@ -151,7 +158,6 @@
|
|||
<DependentUpon>strings.resx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="UserPreferences.cs" />
|
||||
<None Include="app.config" />
|
||||
<None Include="dsPatientApptDisplay2.xsc">
|
||||
<DependentUpon>dsPatientApptDisplay2.xsd</DependentUpon>
|
||||
</None>
|
||||
|
@ -391,6 +397,9 @@
|
|||
<DependentUpon>DPatientLookup.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="DRadExamsSelect.resx">
|
||||
<DependentUpon>DRadExamsSelect.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="DResource.resx">
|
||||
<DependentUpon>DResource.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
|
|
Binary file not shown.
|
@ -1,4 +1,6 @@
|
|||
using System;
|
||||
/* Licensed under LGPL */
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Data;
|
||||
|
@ -185,6 +187,52 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
return RPMSDataTable(cmd, "");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets All radiology exams for a Patient in a specific hospital location
|
||||
/// </summary>
|
||||
/// <param name="DFN"></param>
|
||||
/// <param name="SCIEN">Hospital Location IEN</param>
|
||||
/// <returns>Generic List of type RadiologyExam</returns>
|
||||
public List<RadiologyExam> GetRadiologyExamsForPatientinHL(int DFN, int SCIEN)
|
||||
{
|
||||
string cmd = string.Format("BSDX GET RAD EXAM FOR PT^{0}^{1}", DFN, SCIEN);
|
||||
DataTable tbl = RPMSDataTable(cmd, "");
|
||||
return (from row in tbl.AsEnumerable()
|
||||
select new RadiologyExam
|
||||
{
|
||||
IEN = row.Field<int>("BMXIEN"),
|
||||
Status = row.Field<string>("STATUS"),
|
||||
Procedure = row.Field<string>("PROCEDURE"),
|
||||
RequestDate = row.Field<DateTime>("REQUEST_DATE")
|
||||
}).ToList();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Schedules a Single Radiology Exam for a patient
|
||||
/// </summary>
|
||||
/// <param name="DFN"></param>
|
||||
/// <param name="examIEN">IEN of exam in 75.1 (RAD/NUC MED ORDERS) file</param>
|
||||
/// <param name="dStart">Start DateTime of appointment</param>
|
||||
/// <returns>should always return true</returns>
|
||||
public bool ScheduleRadiologyExam(int DFN, int examIEN, DateTime dStart)
|
||||
{
|
||||
string fmStartDate = FMDateTime.Create(dStart).FMDateString;
|
||||
string result = _thisConnection.bmxNetLib.TransmitRPC("BSDX SCHEDULE RAD EXAM", string.Format("{0}^{1}^{2}", DFN, examIEN, fmStartDate));
|
||||
return result == "1" ? true : false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Put the radiology exam on Hold because the appointment has been cancelled for it
|
||||
/// </summary>
|
||||
/// <param name="DFN"></param>
|
||||
/// <param name="examIEN">IEN of exam in 75.1 (RAD/NUC MED ORDERS) file</param>
|
||||
/// <returns>should always return true</returns>
|
||||
public bool CancelRadiologyExam(int DFN, int examIEN)
|
||||
{
|
||||
string result = _thisConnection.bmxNetLib.TransmitRPC("BSDX HOLD RAD EXAM", string.Format("{0}^{1}", DFN, examIEN));
|
||||
return result == "1" ? true : false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Save User Preference in DB For Printing Routing Slip
|
||||
/// Uses Parameter BSDX AUTO PRINT RS
|
||||
|
|
|
@ -0,0 +1,195 @@
|
|||
namespace IndianHealthService.ClinicalScheduling
|
||||
{
|
||||
partial class DRadExamsSelect
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.lstExams = new System.Windows.Forms.ListBox();
|
||||
this.tableOKCancel = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.btnOK = new System.Windows.Forms.Button();
|
||||
this.btnCancel = new System.Windows.Forms.Button();
|
||||
this.lblInfo = new System.Windows.Forms.Label();
|
||||
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
|
||||
this.splitContainer2 = new System.Windows.Forms.SplitContainer();
|
||||
this.chkPrint = new System.Windows.Forms.CheckBox();
|
||||
this.tableOKCancel.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
|
||||
this.splitContainer1.Panel1.SuspendLayout();
|
||||
this.splitContainer1.Panel2.SuspendLayout();
|
||||
this.splitContainer1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).BeginInit();
|
||||
this.splitContainer2.Panel1.SuspendLayout();
|
||||
this.splitContainer2.Panel2.SuspendLayout();
|
||||
this.splitContainer2.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// lstExams
|
||||
//
|
||||
this.lstExams.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.lstExams.FormattingEnabled = true;
|
||||
this.lstExams.Location = new System.Drawing.Point(0, 0);
|
||||
this.lstExams.Name = "lstExams";
|
||||
this.lstExams.Size = new System.Drawing.Size(497, 237);
|
||||
this.lstExams.TabIndex = 0;
|
||||
this.lstExams.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.lstExams_MouseDoubleClick);
|
||||
//
|
||||
// tableOKCancel
|
||||
//
|
||||
this.tableOKCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.tableOKCancel.ColumnCount = 2;
|
||||
this.tableOKCancel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
|
||||
this.tableOKCancel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
|
||||
this.tableOKCancel.Controls.Add(this.btnOK, 0, 0);
|
||||
this.tableOKCancel.Controls.Add(this.btnCancel, 1, 0);
|
||||
this.tableOKCancel.Location = new System.Drawing.Point(328, -1);
|
||||
this.tableOKCancel.Name = "tableOKCancel";
|
||||
this.tableOKCancel.RowCount = 1;
|
||||
this.tableOKCancel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
|
||||
this.tableOKCancel.Size = new System.Drawing.Size(166, 29);
|
||||
this.tableOKCancel.TabIndex = 1;
|
||||
//
|
||||
// btnOK
|
||||
//
|
||||
this.btnOK.Location = new System.Drawing.Point(3, 3);
|
||||
this.btnOK.Name = "btnOK";
|
||||
this.btnOK.Size = new System.Drawing.Size(75, 23);
|
||||
this.btnOK.TabIndex = 0;
|
||||
this.btnOK.Text = "OK";
|
||||
this.btnOK.UseVisualStyleBackColor = true;
|
||||
this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
|
||||
//
|
||||
// btnCancel
|
||||
//
|
||||
this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
||||
this.btnCancel.Location = new System.Drawing.Point(86, 3);
|
||||
this.btnCancel.Name = "btnCancel";
|
||||
this.btnCancel.Size = new System.Drawing.Size(75, 23);
|
||||
this.btnCancel.TabIndex = 1;
|
||||
this.btnCancel.Text = "Cancel";
|
||||
this.btnCancel.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// lblInfo
|
||||
//
|
||||
this.lblInfo.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.lblInfo.AutoSize = true;
|
||||
this.lblInfo.Location = new System.Drawing.Point(4, 6);
|
||||
this.lblInfo.Name = "lblInfo";
|
||||
this.lblInfo.Size = new System.Drawing.Size(245, 13);
|
||||
this.lblInfo.TabIndex = 2;
|
||||
this.lblInfo.Text = "Select an Exam from the exams listed to Schedule";
|
||||
//
|
||||
// splitContainer1
|
||||
//
|
||||
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.splitContainer1.Location = new System.Drawing.Point(0, 0);
|
||||
this.splitContainer1.Name = "splitContainer1";
|
||||
this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal;
|
||||
//
|
||||
// splitContainer1.Panel1
|
||||
//
|
||||
this.splitContainer1.Panel1.Controls.Add(this.lstExams);
|
||||
//
|
||||
// splitContainer1.Panel2
|
||||
//
|
||||
this.splitContainer1.Panel2.Controls.Add(this.splitContainer2);
|
||||
this.splitContainer1.Size = new System.Drawing.Size(497, 302);
|
||||
this.splitContainer1.SplitterDistance = 237;
|
||||
this.splitContainer1.TabIndex = 3;
|
||||
//
|
||||
// splitContainer2
|
||||
//
|
||||
this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.splitContainer2.Location = new System.Drawing.Point(0, 0);
|
||||
this.splitContainer2.Name = "splitContainer2";
|
||||
this.splitContainer2.Orientation = System.Windows.Forms.Orientation.Horizontal;
|
||||
//
|
||||
// splitContainer2.Panel1
|
||||
//
|
||||
this.splitContainer2.Panel1.Controls.Add(this.lblInfo);
|
||||
//
|
||||
// splitContainer2.Panel2
|
||||
//
|
||||
this.splitContainer2.Panel2.Controls.Add(this.chkPrint);
|
||||
this.splitContainer2.Panel2.Controls.Add(this.tableOKCancel);
|
||||
this.splitContainer2.Size = new System.Drawing.Size(497, 61);
|
||||
this.splitContainer2.SplitterDistance = 25;
|
||||
this.splitContainer2.TabIndex = 3;
|
||||
//
|
||||
// chkPrint
|
||||
//
|
||||
this.chkPrint.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.chkPrint.AutoSize = true;
|
||||
this.chkPrint.Location = new System.Drawing.Point(3, 11);
|
||||
this.chkPrint.Name = "chkPrint";
|
||||
this.chkPrint.Size = new System.Drawing.Size(131, 17);
|
||||
this.chkPrint.TabIndex = 2;
|
||||
this.chkPrint.Text = "Print Appointment Slip";
|
||||
this.chkPrint.UseVisualStyleBackColor = true;
|
||||
this.chkPrint.CheckedChanged += new System.EventHandler(this.chkPrint_CheckedChanged);
|
||||
//
|
||||
// DRadExamsSelect
|
||||
//
|
||||
this.AcceptButton = this.btnOK;
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.CancelButton = this.btnCancel;
|
||||
this.ClientSize = new System.Drawing.Size(497, 302);
|
||||
this.ControlBox = false;
|
||||
this.Controls.Add(this.splitContainer1);
|
||||
this.MinimumSize = new System.Drawing.Size(500, 250);
|
||||
this.Name = "DRadExamsSelect";
|
||||
this.Text = "Select an Exam";
|
||||
this.tableOKCancel.ResumeLayout(false);
|
||||
this.splitContainer1.Panel1.ResumeLayout(false);
|
||||
this.splitContainer1.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
|
||||
this.splitContainer1.ResumeLayout(false);
|
||||
this.splitContainer2.Panel1.ResumeLayout(false);
|
||||
this.splitContainer2.Panel1.PerformLayout();
|
||||
this.splitContainer2.Panel2.ResumeLayout(false);
|
||||
this.splitContainer2.Panel2.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit();
|
||||
this.splitContainer2.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.ListBox lstExams;
|
||||
private System.Windows.Forms.TableLayoutPanel tableOKCancel;
|
||||
private System.Windows.Forms.Button btnOK;
|
||||
private System.Windows.Forms.Button btnCancel;
|
||||
private System.Windows.Forms.Label lblInfo;
|
||||
private System.Windows.Forms.SplitContainer splitContainer1;
|
||||
private System.Windows.Forms.SplitContainer splitContainer2;
|
||||
private System.Windows.Forms.CheckBox chkPrint;
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,82 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace IndianHealthService.ClinicalScheduling
|
||||
{
|
||||
/// <summary>
|
||||
/// Form which displays exams for User so that the user would pick one of them
|
||||
/// for which to make an appointment
|
||||
/// </summary>
|
||||
public partial class DRadExamsSelect : Form
|
||||
{
|
||||
//return values
|
||||
public int ExamIEN { get; private set; }
|
||||
public string ProcedureName { get; private set; }
|
||||
public bool PrintAppointmentSlip { get { return chkPrint.Checked; } }
|
||||
//end return values
|
||||
|
||||
//private fields
|
||||
public bool _myCodeIsFiringIstheCheckBoxChangedEvent = false;
|
||||
//private fields
|
||||
|
||||
/// <summary>
|
||||
/// ctor
|
||||
/// </summary>
|
||||
/// <param name="_radExams">Strongly Typed Table of Exams</param>
|
||||
public DRadExamsSelect(List<RadiologyExam> _radExams)
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
this.lstExams.DataSource = _radExams;
|
||||
this.lstExams.SelectionMode = SelectionMode.One;
|
||||
|
||||
//Set Default Checkbox
|
||||
_myCodeIsFiringIstheCheckBoxChangedEvent = true;
|
||||
chkPrint.Checked = CGDocumentManager.Current.UserPreferences.PrintAppointmentSlipAutomacially;
|
||||
_myCodeIsFiringIstheCheckBoxChangedEvent = false;
|
||||
}
|
||||
|
||||
private void btnOK_Click(object sender, EventArgs e)
|
||||
{
|
||||
SharedFinishLine();
|
||||
}
|
||||
|
||||
private void lstExams_MouseDoubleClick(object sender, MouseEventArgs e)
|
||||
{
|
||||
SharedFinishLine();
|
||||
}
|
||||
|
||||
private void SharedFinishLine()
|
||||
{
|
||||
if (lstExams.SelectedIndex < 0)
|
||||
{
|
||||
this.DialogResult = DialogResult.None;
|
||||
return;
|
||||
}
|
||||
|
||||
ExamIEN = (lstExams.Items[lstExams.SelectedIndex] as RadiologyExam).IEN;
|
||||
ProcedureName = (lstExams.Items[lstExams.SelectedIndex] as RadiologyExam).Procedure;
|
||||
this.DialogResult = DialogResult.OK;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Save preference for Auto Printing Appointment Slip in the DB
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void chkPrint_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (_myCodeIsFiringIstheCheckBoxChangedEvent) return;
|
||||
|
||||
CGDocumentManager.Current.UserPreferences.PrintAppointmentSlipAutomacially = chkPrint.Checked;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,120 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
|
@ -16,7 +16,7 @@
|
|||
*
|
||||
*
|
||||
|
||||
Mods by Sam Habiel to use in Scheduling GUI.
|
||||
Modified by Sam Habiel to use in Scheduling GUI. Modified class licensed under LGPL.
|
||||
*/
|
||||
|
||||
|
||||
|
@ -249,6 +249,12 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
return Create (d, FMDateTimePrecision.DateAndTime);
|
||||
}
|
||||
|
||||
/*public static string FMDate (this DateTime d)
|
||||
{
|
||||
return Create(d, FMDateTimePrecision.DateAndTime).FMDateString;
|
||||
}*/
|
||||
|
||||
|
||||
public static FMDateTime Parse (string str)
|
||||
{
|
||||
return Parse (str, FMDateTime.ValidationMethod);
|
||||
|
|
|
@ -17,6 +17,7 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
/// <summary>
|
||||
/// Puppet standing for a Real Patient
|
||||
/// </summary>
|
||||
[Serializable]
|
||||
public class Patient
|
||||
{
|
||||
public int DFN { get; set; }
|
||||
|
|
|
@ -8,6 +8,7 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
/// <summary>
|
||||
/// Provider puppet
|
||||
/// </summary>
|
||||
[Serializable]
|
||||
public class Provider
|
||||
{
|
||||
public int IEN { get; set; }
|
||||
|
|
|
@ -0,0 +1,29 @@
|
|||
/* Licensed under LGPL */
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace IndianHealthService.ClinicalScheduling
|
||||
{
|
||||
/// <summary>
|
||||
/// Class to stand for a Radiology Exam Order from file 75.1 (RAD/NUC MED ORDERS)
|
||||
/// IEN: IEN in file 75.1
|
||||
/// Status: Text: Pending or Hold
|
||||
/// Procedure: Text
|
||||
/// RequestDate: Time procedure was requested by physician
|
||||
/// </summary>
|
||||
public class RadiologyExam
|
||||
{
|
||||
public int IEN { get; set; }
|
||||
public string Status { get; set; }
|
||||
public string Procedure { get; set; }
|
||||
public DateTime RequestDate { get; set; }
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return Procedure + "\t" + "Requested: " + RequestDate.ToString();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,4 +1,6 @@
|
|||
using System;
|
||||
/*Licensed under LGPL*/
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue