diff --git a/cs/bsdx0200GUISourceCode/AssemblyInfo.cs b/cs/bsdx0200GUISourceCode/AssemblyInfo.cs
index dd165cb..834d793 100644
--- a/cs/bsdx0200GUISourceCode/AssemblyInfo.cs
+++ b/cs/bsdx0200GUISourceCode/AssemblyInfo.cs
@@ -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)]
diff --git a/cs/bsdx0200GUISourceCode/CGAppointment.cs b/cs/bsdx0200GUISourceCode/CGAppointment.cs
index ea44962..810e418 100644
--- a/cs/bsdx0200GUISourceCode/CGAppointment.cs
+++ b/cs/bsdx0200GUISourceCode/CGAppointment.cs
@@ -3,48 +3,76 @@
using System;
using System.Drawing;
///
- /// Data Structuer to Represent an Appointment
- ///
+ /// Data Structure to Represent an Appointment
///
[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; }
- }
}
diff --git a/cs/bsdx0200GUISourceCode/CGDocument.cs b/cs/bsdx0200GUISourceCode/CGDocument.cs
index 28da426..845ad6d 100644
--- a/cs/bsdx0200GUISourceCode/CGDocument.cs
+++ b/cs/bsdx0200GUISourceCode/CGDocument.cs
@@ -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);
diff --git a/cs/bsdx0200GUISourceCode/CGSchedLib.cs b/cs/bsdx0200GUISourceCode/CGSchedLib.cs
index 39e1125..cbca9cd 100644
--- a/cs/bsdx0200GUISourceCode/CGSchedLib.cs
+++ b/cs/bsdx0200GUISourceCode/CGSchedLib.cs
@@ -1,8 +1,6 @@
using System;
using System.Data;
using System.Collections;
-using System.Diagnostics;
-using System.Drawing;
namespace IndianHealthService.ClinicalScheduling
{
diff --git a/cs/bsdx0200GUISourceCode/CGView.cs b/cs/bsdx0200GUISourceCode/CGView.cs
index 51be879..45b302e 100644
--- a/cs/bsdx0200GUISourceCode/CGView.cs
+++ b/cs/bsdx0200GUISourceCode/CGView.cs
@@ -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
+ ///
+ /// Decides whether this is a Radiology Resource. Local Helper to decide what menu items to enable/display
+ ///
+ ///
+ 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("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("HOSPITAL_LOCATION_ID") equals res.Field("HOSPITAL_LOCATION_ID")
+ //then filter this down to the resource that we have
+ where res.Field("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
}
}
+ ///
+ /// Delete one Radiology Appointment
+ ///
+ 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();
+ }
+
///
/// Delete appointment ApptID
///
@@ -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
}
}
+ ///
+ /// Add a new Radiology Appointment to VISTA (ÒÝÊì as my mom calls it)
+ ///
+ 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("RESOURCE_NAME") == sResource
+ select resource.Field("HOSPITAL_LOCATION_ID")).FirstOrDefault();
+
+ //Get Radiology Exams from the DB
+ List _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
///
/// 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
}
diff --git a/cs/bsdx0200GUISourceCode/CGView.resx b/cs/bsdx0200GUISourceCode/CGView.resx
index 1e41e14..5e70d0f 100644
--- a/cs/bsdx0200GUISourceCode/CGView.resx
+++ b/cs/bsdx0200GUISourceCode/CGView.resx
@@ -120,7 +120,7 @@
17, 17
-
+
126, 17
diff --git a/cs/bsdx0200GUISourceCode/CalendarGrid.cs b/cs/bsdx0200GUISourceCode/CalendarGrid.cs
index 94c2a23..cd5dff1 100644
--- a/cs/bsdx0200GUISourceCode/CalendarGrid.cs
+++ b/cs/bsdx0200GUISourceCode/CalendarGrid.cs
@@ -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();
diff --git a/cs/bsdx0200GUISourceCode/ClinicalScheduling.csproj b/cs/bsdx0200GUISourceCode/ClinicalScheduling.csproj
index 4798f44..33b0894 100644
--- a/cs/bsdx0200GUISourceCode/ClinicalScheduling.csproj
+++ b/cs/bsdx0200GUISourceCode/ClinicalScheduling.csproj
@@ -139,7 +139,14 @@
+
+ Form
+
+
+ DRadExamsSelect.cs
+
+
True
True
@@ -151,7 +158,6 @@
strings.resx
-
dsPatientApptDisplay2.xsd
@@ -391,6 +397,9 @@
DPatientLookup.cs
Designer
+
+ DRadExamsSelect.cs
+
DResource.cs
Designer
diff --git a/cs/bsdx0200GUISourceCode/ClinicalScheduling.suo b/cs/bsdx0200GUISourceCode/ClinicalScheduling.suo
index 1d5cfa6..5fae8a6 100644
Binary files a/cs/bsdx0200GUISourceCode/ClinicalScheduling.suo and b/cs/bsdx0200GUISourceCode/ClinicalScheduling.suo differ
diff --git a/cs/bsdx0200GUISourceCode/DAL.cs b/cs/bsdx0200GUISourceCode/DAL.cs
index 2ca24d9..ed3794c 100644
--- a/cs/bsdx0200GUISourceCode/DAL.cs
+++ b/cs/bsdx0200GUISourceCode/DAL.cs
@@ -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, "");
}
+ ///
+ /// Gets All radiology exams for a Patient in a specific hospital location
+ ///
+ ///
+ /// Hospital Location IEN
+ /// Generic List of type RadiologyExam
+ public List 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("BMXIEN"),
+ Status = row.Field("STATUS"),
+ Procedure = row.Field("PROCEDURE"),
+ RequestDate = row.Field("REQUEST_DATE")
+ }).ToList();
+ }
+
+ ///
+ /// Schedules a Single Radiology Exam for a patient
+ ///
+ ///
+ /// IEN of exam in 75.1 (RAD/NUC MED ORDERS) file
+ /// Start DateTime of appointment
+ /// should always return true
+ 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;
+ }
+
+ ///
+ /// Put the radiology exam on Hold because the appointment has been cancelled for it
+ ///
+ ///
+ /// IEN of exam in 75.1 (RAD/NUC MED ORDERS) file
+ /// should always return true
+ 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;
+ }
+
///
/// Save User Preference in DB For Printing Routing Slip
/// Uses Parameter BSDX AUTO PRINT RS
diff --git a/cs/bsdx0200GUISourceCode/DRadExamsSelect.Designer.cs b/cs/bsdx0200GUISourceCode/DRadExamsSelect.Designer.cs
new file mode 100644
index 0000000..15fe9b8
--- /dev/null
+++ b/cs/bsdx0200GUISourceCode/DRadExamsSelect.Designer.cs
@@ -0,0 +1,195 @@
+namespace IndianHealthService.ClinicalScheduling
+{
+ partial class DRadExamsSelect
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ 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;
+
+
+
+ }
+}
\ No newline at end of file
diff --git a/cs/bsdx0200GUISourceCode/DRadExamsSelect.cs b/cs/bsdx0200GUISourceCode/DRadExamsSelect.cs
new file mode 100644
index 0000000..210f7f7
--- /dev/null
+++ b/cs/bsdx0200GUISourceCode/DRadExamsSelect.cs
@@ -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
+{
+ ///
+ /// Form which displays exams for User so that the user would pick one of them
+ /// for which to make an appointment
+ ///
+ 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
+
+ ///
+ /// ctor
+ ///
+ /// Strongly Typed Table of Exams
+ public DRadExamsSelect(List _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;
+ }
+
+ ///
+ /// Save preference for Auto Printing Appointment Slip in the DB
+ ///
+ ///
+ ///
+ private void chkPrint_CheckedChanged(object sender, EventArgs e)
+ {
+ if (_myCodeIsFiringIstheCheckBoxChangedEvent) return;
+
+ CGDocumentManager.Current.UserPreferences.PrintAppointmentSlipAutomacially = chkPrint.Checked;
+ }
+
+
+ }
+}
diff --git a/cs/bsdx0200GUISourceCode/DRadExamsSelect.resx b/cs/bsdx0200GUISourceCode/DRadExamsSelect.resx
new file mode 100644
index 0000000..29dcb1b
--- /dev/null
+++ b/cs/bsdx0200GUISourceCode/DRadExamsSelect.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/cs/bsdx0200GUISourceCode/FMDateTime.cs b/cs/bsdx0200GUISourceCode/FMDateTime.cs
index 8b37b19..23ad858 100644
--- a/cs/bsdx0200GUISourceCode/FMDateTime.cs
+++ b/cs/bsdx0200GUISourceCode/FMDateTime.cs
@@ -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);
diff --git a/cs/bsdx0200GUISourceCode/Patient.cs b/cs/bsdx0200GUISourceCode/Patient.cs
index 869b4a6..f12d174 100644
--- a/cs/bsdx0200GUISourceCode/Patient.cs
+++ b/cs/bsdx0200GUISourceCode/Patient.cs
@@ -17,6 +17,7 @@ namespace IndianHealthService.ClinicalScheduling
///
/// Puppet standing for a Real Patient
///
+ [Serializable]
public class Patient
{
public int DFN { get; set; }
diff --git a/cs/bsdx0200GUISourceCode/Provider.cs b/cs/bsdx0200GUISourceCode/Provider.cs
index 4c287e6..3bf7348 100644
--- a/cs/bsdx0200GUISourceCode/Provider.cs
+++ b/cs/bsdx0200GUISourceCode/Provider.cs
@@ -8,6 +8,7 @@ namespace IndianHealthService.ClinicalScheduling
///
/// Provider puppet
///
+ [Serializable]
public class Provider
{
public int IEN { get; set; }
diff --git a/cs/bsdx0200GUISourceCode/RadiologyExam.cs b/cs/bsdx0200GUISourceCode/RadiologyExam.cs
new file mode 100644
index 0000000..fba6cd8
--- /dev/null
+++ b/cs/bsdx0200GUISourceCode/RadiologyExam.cs
@@ -0,0 +1,29 @@
+/* Licensed under LGPL */
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace IndianHealthService.ClinicalScheduling
+{
+ ///
+ /// 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
+ ///
+ 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();
+ }
+ }
+}
diff --git a/cs/bsdx0200GUISourceCode/UserPreferences.cs b/cs/bsdx0200GUISourceCode/UserPreferences.cs
index e04d79c..0957a09 100644
--- a/cs/bsdx0200GUISourceCode/UserPreferences.cs
+++ b/cs/bsdx0200GUISourceCode/UserPreferences.cs
@@ -1,4 +1,6 @@
-using System;
+/*Licensed under LGPL*/
+
+using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
diff --git a/cs/bsdx0200GUISourceCode/bin/Release/BMXNet23.dll b/cs/bsdx0200GUISourceCode/bin/Release/BMXNet23.dll
index 415d960..9688a58 100644
Binary files a/cs/bsdx0200GUISourceCode/bin/Release/BMXNet23.dll and b/cs/bsdx0200GUISourceCode/bin/Release/BMXNet23.dll differ
diff --git a/cs/bsdx0200GUISourceCode/bin/Release/ClinicalScheduling.exe b/cs/bsdx0200GUISourceCode/bin/Release/ClinicalScheduling.exe
index f9da1c4..23eff4a 100644
Binary files a/cs/bsdx0200GUISourceCode/bin/Release/ClinicalScheduling.exe and b/cs/bsdx0200GUISourceCode/bin/Release/ClinicalScheduling.exe differ
diff --git a/cs/bsdx0200GUISourceCode/bin/Release/ar/ClinicalScheduling.resources.dll b/cs/bsdx0200GUISourceCode/bin/Release/ar/ClinicalScheduling.resources.dll
index d462849..f5084b2 100644
Binary files a/cs/bsdx0200GUISourceCode/bin/Release/ar/ClinicalScheduling.resources.dll and b/cs/bsdx0200GUISourceCode/bin/Release/ar/ClinicalScheduling.resources.dll differ