CGView: Added various shortcuts keys for menus; removed extra overbook prompt after booking if doing an overbook. You already get one before booking.

CGDocumentManager: Mickey mouse connection check to prevent prompting for access and verify if there's no connection to VISTA.
CGDocumentManager: Test SQL statement to retrieve Hospital Locations and default providers associated with them.
Remove garbage file {85FE etc}.rpt
This commit is contained in:
sam 2010-06-10 21:20:08 +00:00
parent c0b912a62f
commit 6b19ad0ac8
6 changed files with 115 additions and 91 deletions

View File

@ -239,41 +239,67 @@ namespace IndianHealthService.ClinicalScheduling
m_ds.SetStatus("Connecting to VistA Server...");
m_ds.Refresh();
bool bRetry = true;
//Try to connect using supplied values for Server and Port
//Why am I doing this? The library BMX net uses prompts for access and verify code
//whether you can connect or not. Not good. So I test first whether
//we can connect at all by doing a simple connection and disconnect.
//TODO: Make this more robust by sending a TCPConnect message and seeing if you get a response.
if (m_Server != "" && m_Port != 0)
{
System.Net.Sockets.TcpClient tcpClient = new System.Net.Sockets.TcpClient();
try
{
tcpClient.Connect(m_Server, m_Port); // open it
tcpClient.Close(); // then close it
}
catch (System.Net.Sockets.SocketException ex)
{
throw ex;
}
}
do
{
try
{
if (bReLogin == true)
{
//Prompt for Access and Verify codes
_current.m_ConnectInfo.LoadConnectInfo("", "");
}
else
{
try
{
if (bReLogin == true)
{
//Prompt for Access and Verify codes
_current.m_ConnectInfo.LoadConnectInfo("", "");
}
else
{
if (m_Server != String.Empty && m_Port != 0 && m_AccessCode != String.Empty
&& m_VerifyCode != String.Empty)
{
m_ConnectInfo.LoadConnectInfo(m_Server, m_Port, m_AccessCode, m_VerifyCode);
}
else if (m_Server != String.Empty && m_Port != 0)
m_ConnectInfo.LoadConnectInfo(m_Server, m_Port, "", "");
else
m_ConnectInfo.LoadConnectInfo();
}
bRetry = false;
}
catch (Exception ex)
{
m_ds.Close();
if (MessageBox.Show("Unable to connect to VistA. " + ex.Message , "Clinical Scheduling", MessageBoxButtons.RetryCancel) == DialogResult.Retry)
{
bRetry = true;
_current.m_ConnectInfo.ChangeServerInfo();
}
else
{
bRetry = false;
throw ex;
}
}
bRetry = false;
}
catch (System.Net.Sockets.SocketException)
{
MessageBox.Show("Cannot connect to VistA. ");
}
catch (Exception ex)
{
m_ds.Close();
if (MessageBox.Show("Unable to connect to VistA. " + ex.Message, "Clinical Scheduling", MessageBoxButtons.RetryCancel) == DialogResult.Retry)
{
bRetry = true;
_current.m_ConnectInfo.ChangeServerInfo();
}
else
{
bRetry = false;
throw ex;
}
}
}while (bRetry == true);
//Create global dataset
@ -414,6 +440,7 @@ namespace IndianHealthService.ClinicalScheduling
Debug.Write("LoadGlobalRecordsets -- AccessGroupTypes loaded\n");
}
//TODO:REMOVE THIS
public void LoadClinicSetupTable()
{
string sCommandText = "BSDX CLINIC SETUP";
@ -612,7 +639,7 @@ namespace IndianHealthService.ClinicalScheduling
m_dsGlobal.Relations.Add(dr);
//Build active provider table
sCommandText = "SELECT BMXIEN, NAME FROM NEW_PERSON WHERE INACTIVE_DATE = '' AND INTERNAL[PROVIDER_CLASS] > 0";
sCommandText = "SELECT BMXIEN, NAME FROM NEW_PERSON WHERE INACTIVE_DATE = ''";
ConnectInfo.RPMSDataTable(sCommandText, "Provider", m_dsGlobal);
Debug.Write("LoadGlobalRecordsets -- Provider loaded\n");
@ -625,6 +652,11 @@ namespace IndianHealthService.ClinicalScheduling
//Build the HOLIDAY table
sCommandText = "SELECT NAME, DATE FROM HOLIDAY WHERE DATE > '" + DateTime.Today.ToShortDateString() + "'";
ConnectInfo.RPMSDataTable(sCommandText, "HOLIDAY", m_dsGlobal);
Debug.Write("LoadingGlobalRecordsets -- Holidays loaded\n");
sCommandText = @"SELECT HOSPITAL_LOCATION.BMXIEN 'BMXIEN', HOSPITAL_LOCATION.PROVIDER.PROVIDER 'PROVIDER', HOSPITAL_LOCATION.PROVIDER.DEFAULT_PROVIDER 'DEFAULT' FROM HOSPITAL_LOCATION";
ConnectInfo.RPMSDataTable(sCommandText, "ClinicProviders", m_dsGlobal);
Debug.Write("LoadingGlobalRecordsets -- ClinicProviders loaded\n");
//Save the xml schema
//m_dsGlobal.WriteXmlSchema(@"..\..\csSchema20060526.xsd");

View File

@ -265,6 +265,7 @@ namespace IndianHealthService.ClinicalScheduling
this.dateTimePicker1 = new System.Windows.Forms.DateTimePicker();
this.lblResource = new System.Windows.Forms.Label();
this.panelCenter = new System.Windows.Forms.Panel();
this.calendarGrid1 = new IndianHealthService.ClinicalScheduling.CalendarGrid();
this.ctxCalendarGrid = new System.Windows.Forms.ContextMenu();
this.ctxCalGridAdd = new System.Windows.Forms.MenuItem();
this.ctxCalGridEdit = new System.Windows.Forms.MenuItem();
@ -279,7 +280,6 @@ namespace IndianHealthService.ClinicalScheduling
this.statusBar1 = new System.Windows.Forms.StatusBar();
this.splitter1 = new System.Windows.Forms.Splitter();
this.splitter2 = new System.Windows.Forms.Splitter();
this.calendarGrid1 = new IndianHealthService.ClinicalScheduling.CalendarGrid();
this.panelRight.SuspendLayout();
this.panelClip.SuspendLayout();
this.panelTop.SuspendLayout();
@ -330,6 +330,7 @@ namespace IndianHealthService.ClinicalScheduling
// mnuOpenMultipleSchedules
//
this.mnuOpenMultipleSchedules.Index = 1;
this.mnuOpenMultipleSchedules.Shortcut = System.Windows.Forms.Shortcut.CtrlM;
this.mnuOpenMultipleSchedules.Text = "Open M&ultiple Schedules";
this.mnuOpenMultipleSchedules.Click += new System.EventHandler(this.mnuOpenMultipleSchedules_Click);
//
@ -532,18 +533,21 @@ namespace IndianHealthService.ClinicalScheduling
// mnu1Day
//
this.mnu1Day.Index = 1;
this.mnu1Day.Shortcut = System.Windows.Forms.Shortcut.Ctrl1;
this.mnu1Day.Text = "&1-Day View";
this.mnu1Day.Click += new System.EventHandler(this.mnu1Day_Click);
//
// mnu5Day
//
this.mnu5Day.Index = 2;
this.mnu5Day.Shortcut = System.Windows.Forms.Shortcut.Ctrl5;
this.mnu5Day.Text = "&5-Day View";
this.mnu5Day.Click += new System.EventHandler(this.mnu5Day_Click);
//
// mnu7Day
//
this.mnu7Day.Index = 3;
this.mnu7Day.Shortcut = System.Windows.Forms.Shortcut.Ctrl7;
this.mnu7Day.Text = "&7-Day View";
this.mnu7Day.Click += new System.EventHandler(this.mnu7Day_Click);
//
@ -565,24 +569,28 @@ namespace IndianHealthService.ClinicalScheduling
// mnu10Minute
//
this.mnu10Minute.Index = 0;
this.mnu10Minute.Shortcut = System.Windows.Forms.Shortcut.Ctrl0;
this.mnu10Minute.Text = "&10-Minute";
this.mnu10Minute.Click += new System.EventHandler(this.mnu10Minute_Click);
//
// mnu15Minute
//
this.mnu15Minute.Index = 1;
this.mnu15Minute.Shortcut = System.Windows.Forms.Shortcut.Ctrl4;
this.mnu15Minute.Text = "1&5-Minute";
this.mnu15Minute.Click += new System.EventHandler(this.mnu15Minute_Click);
//
// mnu20Minute
//
this.mnu20Minute.Index = 2;
this.mnu20Minute.Shortcut = System.Windows.Forms.Shortcut.Ctrl3;
this.mnu20Minute.Text = "&20-Minute";
this.mnu20Minute.Click += new System.EventHandler(this.mnu20Minute_Click);
//
// mnu30Minute
//
this.mnu30Minute.Index = 3;
this.mnu30Minute.Shortcut = System.Windows.Forms.Shortcut.Ctrl2;
this.mnu30Minute.Text = "&30-Minute";
this.mnu30Minute.Click += new System.EventHandler(this.mnu30Minute_Click);
//
@ -634,7 +642,7 @@ namespace IndianHealthService.ClinicalScheduling
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, 410);
this.tvSchedules.Size = new System.Drawing.Size(128, 422);
this.tvSchedules.Sorted = true;
this.tvSchedules.TabIndex = 1;
this.tvSchedules.DoubleClick += new System.EventHandler(this.tvSchedules_DoubleClick);
@ -680,9 +688,9 @@ namespace IndianHealthService.ClinicalScheduling
//
this.panelRight.Controls.Add(this.panelClip);
this.panelRight.Dock = System.Windows.Forms.DockStyle.Right;
this.panelRight.Location = new System.Drawing.Point(676, 0);
this.panelRight.Location = new System.Drawing.Point(807, 0);
this.panelRight.Name = "panelRight";
this.panelRight.Size = new System.Drawing.Size(128, 410);
this.panelRight.Size = new System.Drawing.Size(128, 422);
this.panelRight.TabIndex = 3;
this.panelRight.Visible = false;
//
@ -748,7 +756,7 @@ namespace IndianHealthService.ClinicalScheduling
this.panelTop.Dock = System.Windows.Forms.DockStyle.Top;
this.panelTop.Location = new System.Drawing.Point(128, 0);
this.panelTop.Name = "panelTop";
this.panelTop.Size = new System.Drawing.Size(548, 24);
this.panelTop.Size = new System.Drawing.Size(679, 24);
this.panelTop.TabIndex = 6;
//
// dateTimePicker1
@ -756,7 +764,7 @@ namespace IndianHealthService.ClinicalScheduling
this.dateTimePicker1.Dock = System.Windows.Forms.DockStyle.Right;
this.dateTimePicker1.DropDownAlign = System.Windows.Forms.LeftRightAlignment.Right;
this.dateTimePicker1.Format = System.Windows.Forms.DateTimePickerFormat.Short;
this.dateTimePicker1.Location = new System.Drawing.Point(420, 0);
this.dateTimePicker1.Location = new System.Drawing.Point(551, 0);
this.dateTimePicker1.Name = "dateTimePicker1";
this.dateTimePicker1.Size = new System.Drawing.Size(128, 20);
this.dateTimePicker1.TabIndex = 1;
@ -778,9 +786,37 @@ 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(537, 362);
this.panelCenter.Size = new System.Drawing.Size(668, 374);
this.panelCenter.TabIndex = 7;
//
// calendarGrid1
//
this.calendarGrid1.AllowDrop = true;
this.calendarGrid1.Appointments = null;
this.calendarGrid1.ApptDragSource = null;
this.calendarGrid1.AutoScroll = true;
this.calendarGrid1.AutoScrollMinSize = new System.Drawing.Size(600, 1898);
this.calendarGrid1.AvailabilityArray = null;
this.calendarGrid1.BackColor = System.Drawing.SystemColors.Window;
this.calendarGrid1.Columns = 5;
this.calendarGrid1.ContextMenu = this.ctxCalendarGrid;
this.calendarGrid1.Dock = System.Windows.Forms.DockStyle.Fill;
this.calendarGrid1.DrawWalkIns = true;
this.calendarGrid1.GridBackColor = null;
this.calendarGrid1.GridEnter = false;
this.calendarGrid1.Location = new System.Drawing.Point(0, 0);
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(668, 374);
this.calendarGrid1.StartDate = new System.DateTime(2003, 1, 27, 0, 0, 0, 0);
this.calendarGrid1.TabIndex = 0;
this.calendarGrid1.TimeScale = 20;
this.calendarGrid1.DoubleClick += new System.EventHandler(this.calendarGrid1_DoubleClick);
this.calendarGrid1.CGSelectionChanged += new IndianHealthService.ClinicalScheduling.CGSelectionChangedHandler(this.calendarGrid1_CGSelectionChanged);
this.calendarGrid1.CGAppointmentChanged += new IndianHealthService.ClinicalScheduling.CGAppointmentChangedHandler(this.calendarGrid1_CGAppointmentChanged);
this.calendarGrid1.CGAppointmentAdded += new IndianHealthService.ClinicalScheduling.CGAppointmentChangedHandler(this.calendarGrid1_CGAppointmentAdded);
//
// ctxCalendarGrid
//
this.ctxCalendarGrid.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
@ -851,9 +887,9 @@ 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, 386);
this.panelBottom.Location = new System.Drawing.Point(136, 398);
this.panelBottom.Name = "panelBottom";
this.panelBottom.Size = new System.Drawing.Size(537, 24);
this.panelBottom.Size = new System.Drawing.Size(668, 24);
this.panelBottom.TabIndex = 8;
//
// statusBar1
@ -861,7 +897,7 @@ namespace IndianHealthService.ClinicalScheduling
this.statusBar1.Dock = System.Windows.Forms.DockStyle.Fill;
this.statusBar1.Location = new System.Drawing.Point(0, 0);
this.statusBar1.Name = "statusBar1";
this.statusBar1.Size = new System.Drawing.Size(537, 24);
this.statusBar1.Size = new System.Drawing.Size(668, 24);
this.statusBar1.SizingGrip = false;
this.statusBar1.TabIndex = 0;
//
@ -869,51 +905,23 @@ namespace IndianHealthService.ClinicalScheduling
//
this.splitter1.Location = new System.Drawing.Point(128, 24);
this.splitter1.Name = "splitter1";
this.splitter1.Size = new System.Drawing.Size(8, 386);
this.splitter1.Size = new System.Drawing.Size(8, 398);
this.splitter1.TabIndex = 9;
this.splitter1.TabStop = false;
//
// splitter2
//
this.splitter2.Dock = System.Windows.Forms.DockStyle.Right;
this.splitter2.Location = new System.Drawing.Point(673, 24);
this.splitter2.Location = new System.Drawing.Point(804, 24);
this.splitter2.Name = "splitter2";
this.splitter2.Size = new System.Drawing.Size(3, 386);
this.splitter2.Size = new System.Drawing.Size(3, 398);
this.splitter2.TabIndex = 10;
this.splitter2.TabStop = false;
//
// calendarGrid1
//
this.calendarGrid1.AllowDrop = true;
this.calendarGrid1.Appointments = null;
this.calendarGrid1.ApptDragSource = null;
this.calendarGrid1.AutoScroll = true;
this.calendarGrid1.AutoScrollMinSize = new System.Drawing.Size(600, 1898);
this.calendarGrid1.AvailabilityArray = null;
this.calendarGrid1.BackColor = System.Drawing.SystemColors.Window;
this.calendarGrid1.Columns = 5;
this.calendarGrid1.ContextMenu = this.ctxCalendarGrid;
this.calendarGrid1.Dock = System.Windows.Forms.DockStyle.Fill;
this.calendarGrid1.DrawWalkIns = true;
this.calendarGrid1.GridBackColor = null;
this.calendarGrid1.GridEnter = false;
this.calendarGrid1.Location = new System.Drawing.Point(0, 0);
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(537, 362);
this.calendarGrid1.StartDate = new System.DateTime(2003, 1, 27, 0, 0, 0, 0);
this.calendarGrid1.TabIndex = 0;
this.calendarGrid1.TimeScale = 20;
this.calendarGrid1.DoubleClick += new System.EventHandler(this.calendarGrid1_DoubleClick);
this.calendarGrid1.CGSelectionChanged += new IndianHealthService.ClinicalScheduling.CGSelectionChangedHandler(this.calendarGrid1_CGSelectionChanged);
this.calendarGrid1.CGAppointmentChanged += new IndianHealthService.ClinicalScheduling.CGAppointmentChangedHandler(this.calendarGrid1_CGAppointmentChanged);
this.calendarGrid1.CGAppointmentAdded += new IndianHealthService.ClinicalScheduling.CGAppointmentChangedHandler(this.calendarGrid1_CGAppointmentAdded);
//
// CGView
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(804, 410);
this.ClientSize = new System.Drawing.Size(935, 422);
this.Controls.Add(this.panelCenter);
this.Controls.Add(this.panelBottom);
this.Controls.Add(this.splitter2);
@ -1949,7 +1957,9 @@ namespace IndianHealthService.ClinicalScheduling
sProv = drHL["DEFAULT_PROVIDER"].ToString();
sStopCode = drHL["STOP_CODE_NUMBER"].ToString();
DataRow[] draCS = drHL.GetChildRows(m_DocManager.GlobalDataSet.Relations["HospitalLocationClinic"]);
//TODO: Remove this. This doesn't exist in VISTA.
DataRow[] draCS = drHL.GetChildRows(m_DocManager.GlobalDataSet.Relations["HospitalLocationClinic"]);
if (draCS.GetLength(0) > 0)
{
DataRow drCS = draCS[0];
@ -2150,10 +2160,6 @@ namespace IndianHealthService.ClinicalScheduling
int nDuration = (int) tsDuration.TotalMinutes;
Debug.Assert(nDuration > 0);
/*
* 7-19-05 Added overbook prompt
* 8-10-05 Copied code block prior to patient selection
*/
this.Document.RefreshDocument();
string sAccessType = "";
string sAvailabilityMessage = "";
@ -2201,24 +2207,10 @@ namespace IndianHealthService.ClinicalScheduling
appt.HealthRecordNumber = dPat.HealthRecordNumber;
appt.AccessTypeID = nAccessTypeID;
/*
* 7-19-05 Added overbook prompt
* 8-10-05 Copied code block prior to patient selection
*/
this.Document.RefreshDocument();
m_nSlots = m_Document.SlotsAvailable(dStart, dEnd, sResource, out sAccessType, out sAvailabilityMessage);
if (m_nSlots < 1)
{
DialogResult dr = MessageBox.Show(this, "There are no slots available at the selected time. Do you want to overbook this appointment?", "Clinical Scheduling",MessageBoxButtons.YesNo);
if (dr != DialogResult.Yes)
{
return;
}
}
//Call Document to add a new appointment
this.Document.CreateAppointment(appt);
this.Document.RefreshDocument();
}
catch (Exception ex)
{

View File

@ -35,7 +35,7 @@
<RemoteDebugMachine>
</RemoteDebugMachine>
<StartAction>Project</StartAction>
<StartArguments>/s=192.168.254.129 /p=9260 /a=shabiel12 /v=catdog.44</StartArguments>
<StartArguments>/s=s0110.sequencemanagers.com /p=8110 /a=wizard.11 /v=storm.11</StartArguments>
<StartPage>
</StartPage>
<StartProgram>C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\IEExec.exe</StartProgram>
@ -54,7 +54,7 @@
<RemoteDebugMachine>
</RemoteDebugMachine>
<StartAction>Project</StartAction>
<StartArguments>/s=192.168.254.129 /p=9260 /a=shabiel12 /v=catdog.44</StartArguments>
<StartArguments>/s=s0110.sequencemanagers.com /p=8110 /a=wizard.11 /v=storm.11</StartArguments>
<StartPage>
</StartPage>
<StartProgram>