ClinicalScheduling version 2.0.

This commit is contained in:
faisal 2015-12-24 15:43:43 +00:00
parent a3ea0a0024
commit 39a445ec8e
23 changed files with 5215 additions and 131 deletions

View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="useEmail" value="true" />
<add key="organization" value="Astronaut EHR" />
<add key="inviteSubject" value="Followup Appointment" />
<add key="userEmail" value="faisalsami78@gmail.com" />
<add key="address" value="ABC Street" />
<add key="phone" value="+92-321-415-2543" />
<add key="smtpHost" value="smtp.gmail.com" />
<add key="smtpPort" value="25" />
<add key="userPassword" value="lyhlobkkvvqieebd" />
<add key="enableSSL" value="true" />
</appSettings>
</configuration>

View File

@ -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.7.0.*")]
[assembly: AssemblyVersion("2.0.0.*")]
//
// 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.7.0.0")]
[assembly: AssemblyFileVersion("2.0.0.0")]
[assembly: ComVisibleAttribute(false)]

View File

@ -35,11 +35,15 @@ namespace IndianHealthService.ClinicalScheduling
public string m_sHandle = "0"; // Not Used
//Connection variables (tied to command line parameters /a /v /s /p /e)
//New variables for ssh
private string m_AccessCode="";
private string m_VerifyCode="";
private string m_Server="";
private string m_SshUser = "";
private string m_SshPassword = "";
private int m_Port=0;
private string m_Encoding=""; //Encoding is "" by default;
public Process m_SsshProcess;
//Globalization Object (tied to command line parameter /culture)
private string m_CultureName = "";
@ -211,6 +215,8 @@ namespace IndianHealthService.ClinicalScheduling
{ "a=", a => _current.m_AccessCode = a },
{ "v=", v => _current.m_VerifyCode = v },
{ "e=", e => _current.m_Encoding = e},
{ "su=",su => _current.m_SshUser = su },
{ "sp=",sp => _current.m_SshPassword = sp },
{ "culture=", culture => _current.m_CultureName = culture }
};
@ -376,6 +382,22 @@ namespace IndianHealthService.ClinicalScheduling
*/
LoginProcess login;
this.WinFramework = WinFramework.CreateWithNetworkBroker(true, RPCLogger);
if (m_SshUser != "")
{
string path = System.IO.Directory.GetCurrentDirectory();
path = path.Substring(0, path.LastIndexOf('\\'));
//path = path.Substring(0, path.LastIndexOf('\\'));
path = path + '\\' + "Putty\\putty.exe";
if (System.IO.File.Exists(path))
{
string prms = "-ssh -l " + m_SshUser + " -pw " + m_SshPassword + " -L " + m_Port + ":127.0.0.1:" + m_Port + " " + m_Server;
//m_SsshProcess = System.Diagnostics.Process.Start(path, prms);
ProcessStartInfo si = new ProcessStartInfo(path, prms);
si.WindowStyle = ProcessWindowStyle.Minimized;
m_SsshProcess = Process.Start(si);
}
}
if (bReLogin) // if logging in again...
{
@ -409,6 +431,10 @@ namespace IndianHealthService.ClinicalScheduling
spec.Name = "Command Line Server";
spec.Port = m_Port;
spec.Server = m_Server;
if (m_SsshProcess != null)
{
spec.Server = "127.0.0.1";
}
spec.UseWindowsAuthentication = false; //for now
spec.UseDefaultNamespace = true; //for now
@ -443,6 +469,13 @@ namespace IndianHealthService.ClinicalScheduling
DoneTrying:
if (!login.WasSuccessful)
{
if (m_SsshProcess != null)
{
if (!m_SsshProcess.HasExited)
{
m_SsshProcess.Kill();
}
}
return false;
}
@ -450,6 +483,13 @@ DoneTrying:
if ((this.WinFramework.Context.User.Division == null) && !this.WinFramework.AttemptUserInputSetDivision("Set Initial Division", firstSplash))
{
if (m_SsshProcess != null)
{
if (!m_SsshProcess.HasExited)
{
m_SsshProcess.Kill();
}
}
return false;
}
@ -649,6 +689,13 @@ DoneTrying:
"Major, Minor and Build versions must match",
"Version Mismatch");
closeSplashDelegate();
if (m_SsshProcess != null)
{
if (!m_SsshProcess.HasExited)
{
m_SsshProcess.Kill();
}
}
return false;
}

View File

@ -10,6 +10,11 @@ using IndianHealthService.BMXNet;
using System.Runtime.InteropServices;
using System.Drawing.Printing;
using System.Linq;
using System.Text;
using System.Net.Mail;
using System.Configuration;
using System.Net;
using System.IO;
namespace IndianHealthService.ClinicalScheduling
{
@ -93,7 +98,6 @@ namespace IndianHealthService.ClinicalScheduling
private System.Windows.Forms.MenuItem sepApptMenu1;
private System.Windows.Forms.MenuItem sepApptMenu2;
private System.Windows.Forms.MenuItem ctxCalGridWalkin;
private System.Windows.Forms.MenuItem ctxCalGridSep1;
private System.Windows.Forms.MenuItem ctxCalGridSep2;
private System.Windows.Forms.MenuItem mnuOpenMultipleSchedules;
private System.Windows.Forms.MenuItem mnuDisplayWalkIns;
@ -114,6 +118,10 @@ namespace IndianHealthService.ClinicalScheduling
private MenuItem sepApptMenu3;
private MenuItem mnuReprintApptSlip;
private MenuItem mnuViewBrokerLog;
private MenuItem ctxCalGridSep1;
private MenuItem ctxCalGridCloneForward;
private MenuItem ctxCalGridExportInvite;
private MenuItem ctxCopyAppointment;
private IContainer components;
#region Initialization
@ -254,17 +262,21 @@ 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.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.ctxCalGridCloneForward = new System.Windows.Forms.MenuItem();
this.ctxCopyAppointment = new System.Windows.Forms.MenuItem();
this.ctxCalGridCheckIn = new System.Windows.Forms.MenuItem();
this.ctxCalGridUndoCheckin = 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.ctxCalGridSep1 = new System.Windows.Forms.MenuItem();
this.ctxCalGridExportInvite = new System.Windows.Forms.MenuItem();
this.ctxCalGridSep2 = new System.Windows.Forms.MenuItem();
this.ctxCalGridWalkin = new System.Windows.Forms.MenuItem();
this.ctxCalGridSep3 = new System.Windows.Forms.MenuItem();
@ -273,7 +285,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();
@ -715,7 +726,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, 347);
this.tvSchedules.Size = new System.Drawing.Size(128, 305);
this.tvSchedules.Sorted = true;
this.tvSchedules.TabIndex = 1;
this.tvSchedules.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.tvSchedules_AfterSelect);
@ -784,7 +795,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, 347);
this.panelRight.Size = new System.Drawing.Size(128, 305);
this.panelRight.TabIndex = 3;
this.panelRight.Visible = false;
//
@ -880,9 +891,38 @@ 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, 299);
this.panelCenter.Size = new System.Drawing.Size(857, 257);
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(857, 257);
this.calendarGrid1.StartDate = new System.DateTime(2003, 1, 27, 0, 0, 0, 0);
this.calendarGrid1.TabIndex = 0;
this.calendarGrid1.TimeScale = 20;
this.calendarGrid1.CGAppointmentChanged += new IndianHealthService.ClinicalScheduling.CalendarGrid.CGAppointmentChangedHandler(this.calendarGrid1_CGAppointmentChanged);
this.calendarGrid1.CGAppointmentAdded += new IndianHealthService.ClinicalScheduling.CalendarGrid.CGAppointmentChangedHandler(this.calendarGrid1_CGAppointmentAdded);
this.calendarGrid1.CGSelectionChanged += new IndianHealthService.ClinicalScheduling.CalendarGrid.CGSelectionChangedHandler(this.calendarGrid1_CGSelectionChanged);
this.calendarGrid1.DoubleClick += new System.EventHandler(this.calendarGrid1_DoubleClick);
this.calendarGrid1.MouseEnter += new System.EventHandler(this.calendarGrid1_MouseEnter);
//
// ctxCalendarGrid
//
this.ctxCalendarGrid.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
@ -891,11 +931,14 @@ namespace IndianHealthService.ClinicalScheduling
this.ctxCalGridEdit,
this.ctxCalGridDelete,
this.ctxCalGridCancelRadAppt,
this.ctxCalGridCloneForward,
this.ctxCopyAppointment,
this.ctxCalGridCheckIn,
this.ctxCalGridUndoCheckin,
this.ctxCalGridSep1,
this.ctxCalGridNoShow,
this.ctxCalGridNoShowUndo,
this.ctxCalGridSep1,
this.ctxCalGridExportInvite,
this.ctxCalGridSep2,
this.ctxCalGridWalkin,
this.ctxCalGridSep3,
@ -932,54 +975,72 @@ namespace IndianHealthService.ClinicalScheduling
this.ctxCalGridCancelRadAppt.Text = "Cancel Radiology Appointment";
this.ctxCalGridCancelRadAppt.Click += new System.EventHandler(this.ctxCalGridCancelRadAppt_Click);
//
// ctxCalGridCloneForward
//
this.ctxCalGridCloneForward.Index = 5;
this.ctxCalGridCloneForward.Text = "Copy/Forward Appointment";
this.ctxCalGridCloneForward.Click += new System.EventHandler(this.ctxCalGridCloneForward_Click);
//
// ctxCopyAppointment
//
this.ctxCopyAppointment.Index = 6;
this.ctxCopyAppointment.Text = "Copy to Clipboard";
this.ctxCopyAppointment.Click += new System.EventHandler(this.ctxCopyAppointment_Click);
//
// ctxCalGridCheckIn
//
this.ctxCalGridCheckIn.Index = 5;
this.ctxCalGridCheckIn.Index = 7;
this.ctxCalGridCheckIn.Text = "Check In Patient";
this.ctxCalGridCheckIn.Click += new System.EventHandler(this.ctxCalGridCheckIn_Click);
//
// ctxCalGridUndoCheckin
//
this.ctxCalGridUndoCheckin.Index = 6;
this.ctxCalGridUndoCheckin.Index = 8;
this.ctxCalGridUndoCheckin.Text = "&Undo Check In";
this.ctxCalGridUndoCheckin.Click += new System.EventHandler(this.ctxCalGridUndoCheckin_Click);
//
// ctxCalGridSep1
//
this.ctxCalGridSep1.Index = 7;
this.ctxCalGridSep1.Text = "-";
//
// ctxCalGridNoShow
//
this.ctxCalGridNoShow.Index = 8;
this.ctxCalGridNoShow.Index = 9;
this.ctxCalGridNoShow.Text = "Mark as No Show";
this.ctxCalGridNoShow.Click += new System.EventHandler(this.ctxCalGridNoShow_Click);
//
// ctxCalGridNoShowUndo
//
this.ctxCalGridNoShowUndo.Index = 9;
this.ctxCalGridNoShowUndo.Index = 10;
this.ctxCalGridNoShowUndo.Text = "Undo NoShow";
this.ctxCalGridNoShowUndo.Click += new System.EventHandler(this.ctxCalGridNoShowUndo_Click);
//
// ctxCalGridSep1
//
this.ctxCalGridSep1.Index = 11;
this.ctxCalGridSep1.Text = "-";
//
// ctxCalGridExportInvite
//
this.ctxCalGridExportInvite.Index = 12;
this.ctxCalGridExportInvite.Text = "Export Canendar Invite";
this.ctxCalGridExportInvite.Click += new System.EventHandler(this.ctxExportInvite_Click);
//
// ctxCalGridSep2
//
this.ctxCalGridSep2.Index = 10;
this.ctxCalGridSep2.Index = 13;
this.ctxCalGridSep2.Text = "-";
//
// ctxCalGridWalkin
//
this.ctxCalGridWalkin.Index = 11;
this.ctxCalGridWalkin.Index = 14;
this.ctxCalGridWalkin.Text = "Create Wal&k-In Appointment";
this.ctxCalGridWalkin.Click += new System.EventHandler(this.ctxCalGridWalkin_Click);
//
// ctxCalGridSep3
//
this.ctxCalGridSep3.Index = 12;
this.ctxCalGridSep3.Index = 15;
this.ctxCalGridSep3.Text = "-";
//
// ctxCalGridReprintApptSlip
//
this.ctxCalGridReprintApptSlip.Index = 13;
this.ctxCalGridReprintApptSlip.Index = 16;
this.ctxCalGridReprintApptSlip.Text = "&Reprint Appointment Slip";
this.ctxCalGridReprintApptSlip.Click += new System.EventHandler(this.ctxCalGridReprintApptSlip_Click);
//
@ -987,7 +1048,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, 323);
this.panelBottom.Location = new System.Drawing.Point(136, 281);
this.panelBottom.Name = "panelBottom";
this.panelBottom.Size = new System.Drawing.Size(857, 24);
this.panelBottom.TabIndex = 8;
@ -1005,7 +1066,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, 323);
this.splitter1.Size = new System.Drawing.Size(8, 281);
this.splitter1.TabIndex = 9;
this.splitter1.TabStop = false;
//
@ -1014,43 +1075,14 @@ 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, 323);
this.splitter2.Size = new System.Drawing.Size(3, 281);
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(857, 299);
this.calendarGrid1.StartDate = new System.DateTime(2003, 1, 27, 0, 0, 0, 0);
this.calendarGrid1.TabIndex = 0;
this.calendarGrid1.TimeScale = 20;
this.calendarGrid1.CGAppointmentChanged += new IndianHealthService.ClinicalScheduling.CalendarGrid.CGAppointmentChangedHandler(this.calendarGrid1_CGAppointmentChanged);
this.calendarGrid1.CGAppointmentAdded += new IndianHealthService.ClinicalScheduling.CalendarGrid.CGAppointmentChangedHandler(this.calendarGrid1_CGAppointmentAdded);
this.calendarGrid1.CGSelectionChanged += new IndianHealthService.ClinicalScheduling.CalendarGrid.CGSelectionChangedHandler(this.calendarGrid1_CGSelectionChanged);
this.calendarGrid1.DoubleClick += new System.EventHandler(this.calendarGrid1_DoubleClick);
this.calendarGrid1.MouseEnter += new System.EventHandler(this.calendarGrid1_MouseEnter);
//
// CGView
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(1124, 347);
this.ClientSize = new System.Drawing.Size(1124, 305);
this.Controls.Add(this.panelCenter);
this.Controls.Add(this.panelBottom);
this.Controls.Add(this.splitter2);
@ -1211,6 +1243,7 @@ namespace IndianHealthService.ClinicalScheduling
m_ClipList.AddAppointment(a);
lstClip.Items.Add(a);
}
copyAppointmentToClipBoard();
}
catch (Exception ex)
{
@ -1397,9 +1430,37 @@ namespace IndianHealthService.ClinicalScheduling
mnuRemoveClipItem.Enabled = (lstClip.SelectedIndex > -1);
}
#endregion ctxApptClipMenu Handlers
#endregion ctxApptClipMenu Handlers
#region ctxCalGridMenu Handlers
#region ctxCalGridMenu Handlers
private Configuration GetConfiguration() {
Configuration conf = null;
var fileName = Path.Combine(Environment.GetFolderPath(
Environment.SpecialFolder.ApplicationData), "ClinicalScheduling.exe.config");
if (!File.Exists(fileName))
{
try
{
Configuration temp = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
File.Copy(temp.FilePath, fileName);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return conf;
}
}
if (!File.Exists(fileName))
{
MessageBox.Show("Unable to locate the app.config file.");
return conf;
}
ExeConfigurationFileMap mapping = new ExeConfigurationFileMap();
mapping.ExeConfigFilename = fileName;
conf = ConfigurationManager.OpenMappedExeConfiguration(mapping, ConfigurationUserLevel.None);
return conf;
}
private void ctxCalendarGrid_Popup(object sender, System.EventArgs e)
{
@ -1410,6 +1471,9 @@ namespace IndianHealthService.ClinicalScheduling
bool _isRadAppt = IsThisARadiologyResource();
bool _noShowEnabled = NoShowEnabled();
bool _undoCheckinEnabled = UndoCheckinEnabled();
bool _cloneForwardEnabled = CloneForwardEnabled();
bool _exportCalendarInviteEnabled = ExportCalendarInviteEnabled();
bool _copyAppointmentEnabled = CopyAppointmentEnabled();
//end flags
if (_isRadAppt)//this is a radiology resource
@ -1422,8 +1486,11 @@ namespace IndianHealthService.ClinicalScheduling
ctxCalGridNoShowUndo.Visible = false;
ctxCalGridWalkin.Visible = false;
ctxCalGridUndoCheckin.Visible = false;
ctxCalGridSep1.Visible = false;
ctxCalGridSep2.Visible = false;
ctxCalGridCloneForward.Visible = false;
ctxCalGridExportInvite.Visible = false;
ctxCalGridSep1.Visible = false;
ctxCopyAppointment.Visible = false;
ctxCalGridMkRadAppt.Visible = true;
ctxCalGridCancelRadAppt.Visible = true;
@ -1441,8 +1508,11 @@ namespace IndianHealthService.ClinicalScheduling
ctxCalGridNoShowUndo.Visible = true;
ctxCalGridWalkin.Visible = true;
ctxCalGridUndoCheckin.Visible = true;
ctxCalGridSep1.Visible = true;
ctxCalGridSep2.Visible = true;
ctxCalGridCloneForward.Visible = true;
ctxCalGridExportInvite.Visible = true;
ctxCalGridSep1.Visible = true;
ctxCopyAppointment.Visible = true;
ctxCalGridMkRadAppt.Visible = false;
ctxCalGridCancelRadAppt.Visible = false;
@ -1464,6 +1534,17 @@ namespace IndianHealthService.ClinicalScheduling
//if the rad ones are visible, then these apply
ctxCalGridMkRadAppt.Enabled = _isRadAppt && _addApptsEnabled;
ctxCalGridCancelRadAppt.Enabled = _isRadAppt && _editApptsEnabled;
ctxCalGridCloneForward.Enabled = !_isRadAppt && _cloneForwardEnabled;
ctxCalGridExportInvite.Enabled = !_isRadAppt && _exportCalendarInviteEnabled;
ctxCopyAppointment.Enabled = !_isRadAppt && _copyAppointmentEnabled;
//Configuration conf = GetConfiguration();
//MessageBox.Show(conf.ConnectionStrings["useEmail"]);
Configuration conf = GetConfiguration();
if (conf.AppSettings.Settings["useEmail"].Value == "true")
{
ctxCalGridExportInvite.Text = "Email Canlendar Invite";
}
}
private void ctxCalGridAdd_Click(object sender, System.EventArgs e)
@ -1678,6 +1759,51 @@ namespace IndianHealthService.ClinicalScheduling
return !appt.NoShow;
}
private bool CloneForwardEnabled() {
if (calendarGrid1.SelectedAppointment < 1)
return false;
return true;
}
private bool CopyAppointmentEnabled()
{
return EditAppointmentEnabled();
}
private bool ExportCalendarInviteEnabled()
{
if (calendarGrid1.SelectedAppointment < 1)
return false;
CGAppointment appt = (CGAppointment)this.Appointments.AppointmentTable[calendarGrid1.SelectedAppointment];
if (appt.StartTime < DateTime.Now)
{
return false;
}
if (appt.Patient.Email == null)
{
try
{
string sSql;
sSql = "BSDX GET BASIC REG INFO^" + appt.PatientID.ToString();
DataTable tb = m_DocManager.RPMSDataTable(sSql, "PatientRegInfo");
Debug.Assert(tb.Rows.Count == 1);
DataRow r = tb.Rows[0];
appt.Patient.Email = r["EMAIL ADDRESS"].ToString();
}
catch (Exception e)
{
MessageBox.Show("DAppointPage::InitializePage -- Unable to retrieve patient information from VistA. " + e.Message);
}
if (appt.Patient.Email == "")
{
return false;
}
}
return true;
}
private bool UndoCheckinEnabled()
{
if (calendarGrid1.SelectedAppointment < 1) return false;
@ -2046,6 +2172,7 @@ namespace IndianHealthService.ClinicalScheduling
DAppointPage dAppt = new DAppointPage();
dAppt.DocManager = this.m_DocManager;
dAppt.InitializePage(a);
dAppt.HideCloneForwardTab();
calendarGrid1.CGToolTip.Active = false;
@ -2078,6 +2205,62 @@ namespace IndianHealthService.ClinicalScheduling
}
}
private void AppointmentCloneForward(ArrayList alResources)
{
try
{
int nApptID = this.calendarGrid1.SelectedAppointment;
Debug.Assert(nApptID != 0);
CGAppointment a = (CGAppointment)this.Appointments.AppointmentTable[nApptID];
DAppointPage dAppt = new DAppointPage();
dAppt.DocManager = this.m_DocManager;
dAppt.InitializePage(a);
calendarGrid1.CGToolTip.Active = false;
dAppt.SetCloneForwardable(alResources, a);
if (dAppt.ShowDialog(this) == DialogResult.Cancel)
{
calendarGrid1.CGToolTip.Active = true;
return;
}
calendarGrid1.CGToolTip.Active = true;
string sNote = dAppt.Note;
CGAppointment appt = dAppt.Appointment;
//Call Document to add a new appointment. Document adds appointment to CGAppointments array.
this.Document.CreateAppointment(appt);
if (dAppt.PrintAppointmentSlip)
{
PrintAppointmentSlip(appt);
}
//Show the new set of appointments by calling UpdateArrays. Fetches Document's CGAppointments
this.UpdateArrays();
RaiseRPMSEvent("BSDX SCHEDULE", appt.Resource);
}
catch (Exception ex)
{
string msg;
if (M.Piece(ex.Message, "~", 1) == "-10") // -10 means that BSDXAPI reported an error.
msg = M.Piece(ex.Message, "~", 4);
else
msg = ex.Message;
MessageBox.Show("VISTA says: \r\n" + msg, "Unable to Make Appointment");
return;
}
}
/// <summary>
/// Marks all selected appointments as No Show from this.calendarGrid1.SelectedAppointments
/// </summary>
@ -2589,14 +2772,15 @@ namespace IndianHealthService.ClinicalScheduling
CGAvailability resultantAvail;
m_nSlots = m_Document.SlotsAvailable(dStart, dEnd, sResource, this.calendarGrid1.TimeScale, out resultantAvail);
if (m_nSlots < 1)
/* Faisal Don't show overbood popup
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;
}
}
}*/
//Display a dialog to collect Patient Name
DPatientLookup dPat = new DPatientLookup();
@ -2616,6 +2800,7 @@ namespace IndianHealthService.ClinicalScheduling
dAppt.DocManager = this.m_DocManager;
string sNote = "";
dAppt.InitializePage(dPat.PatientIEN, dStart, dEnd, sResource, sNote, nAccessTypeID);
dAppt.HideCloneForwardTab();
if (dAppt.ShowDialog(this) == DialogResult.Cancel)
{
@ -3214,7 +3399,14 @@ namespace IndianHealthService.ClinicalScheduling
{
CGDocumentManager.Current.RemoteSession.EventServices.RpmsEvent -= BMXNetEventHandler;
this.calendarGrid1.CloseGrid();
}
if (this.DocManager.m_SsshProcess != null)
{
if (!this.DocManager.m_SsshProcess.HasExited)
{
this.DocManager.m_SsshProcess.Kill();
}
}
}
catch (Exception ex)
{
Debug.Write("CGView_Closing exception: " + ex.Message + "\n");
@ -3965,6 +4157,131 @@ namespace IndianHealthService.ClinicalScheduling
view.Show();
}
private void ctxCalGridCloneForward_Click(object sender, EventArgs e)
{
AppointmentCloneForward(m_alSelectedTreeResourceArray);
}
private void menuItem8_Click(object sender, EventArgs e)
{
}
private StringBuilder GetCalendarInvite(CGAppointment appt, String emailSubject, String emailBody)
{
StringBuilder sb = new StringBuilder();
Configuration conf = GetConfiguration();
sb.AppendLine("BEGIN:VCALENDAR");
sb.AppendLine(string.Format("PRODID:-//{0}//BSDX Scheduling 1.7//EN", conf.AppSettings.Settings["organization"].Value));
sb.AppendLine("VERSION:2.0");
sb.AppendLine("CALSCALE:GREGORIAN");
sb.AppendLine("METHOD:REQUEST");
sb.AppendLine("X-WR-CALDESC:");
sb.AppendLine("BEGIN:VEVENT");
sb.AppendLine(string.Format("DTSTART;VALUE=DATE-TIME:{0:yyyyMMddTHHmmssZ}", appt.StartTime.ToUniversalTime().ToString("yyyyMMdd\\THHmmss\\Z")));
sb.AppendLine(string.Format("DTEND;VALUE=DATE-TIME:{0:yyyyMMddTHHmmssZ}", appt.EndTime.ToUniversalTime().ToString("yyyyMMdd\\THHmmss\\Z")));
sb.AppendLine(string.Format("DTSTAMP:{0:yyyyMMddTHHmmssZ}", DateTime.Now.ToUniversalTime().ToString("yyyyMMdd\\THHmmss\\Z")));
sb.AppendLine(string.Format("UID:{0}", Guid.NewGuid()));
sb.AppendLine(string.Format("DESCRIPTION:{0}", emailBody));
sb.AppendLine(string.Format("X-ALT-DESC;FMTTYPE=text/html:{0}", emailBody));
sb.AppendLine(string.Format("SUMMARY:{0}", emailSubject));
sb.AppendLine(string.Format("ORGANIZER:MAILTO:{0}", conf.AppSettings.Settings["userEmail"].Value)); //
sb.AppendLine(string.Format("ATTENDEE;CN=\"{0}\";RSVP=TRUE:mailto:{1}", appt.Patient.Name, appt.Patient.Email));
sb.AppendLine("LOCATION:" + appt.Resource + ", " + conf.AppSettings.Settings["address"].Value); //appt.Resource);
sb.AppendLine("SEQUENCE:0");
sb.AppendLine("STATUS:CONFIRMED");
sb.AppendLine("TRANSP:TRANSPARENT");
sb.AppendLine("END:VEVENT");
sb.AppendLine("END:VCALENDAR");
return sb;
}
private void ExportCalendarInvite(CGAppointment appt, string emailSubject, string emailBody)
{
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
saveFileDialog1.Filter = "iCalendar File|*.ics";
saveFileDialog1.Title = "Save Calendar Invite";
saveFileDialog1.ShowDialog();
if (saveFileDialog1.FileName != "")
{
StringBuilder str = GetCalendarInvite(appt, emailSubject, emailBody);
FileStream fs = new FileStream(saveFileDialog1.FileName, FileMode.Create);
StreamWriter sw = new StreamWriter(fs);
sw.Write(str.ToString());
sw.Close();
fs.Close();
}
}
private void EmailCalendarInvite(CGAppointment appt, String emailSubject, String emailBody)
{
Configuration conf = GetConfiguration();
SmtpClient sc = new SmtpClient(conf.AppSettings.Settings["smtpHost"].Value);
System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage();
msg.From = new MailAddress(conf.AppSettings.Settings["userEmail"].Value);
msg.To.Add(new MailAddress(appt.Patient.Email, appt.Patient.Name));
msg.Bcc.Add(new MailAddress(conf.AppSettings.Settings["userEmail"].Value));
msg.Subject = emailSubject;
msg.IsBodyHtml = true;
msg.Body = emailBody;
StringBuilder str = GetCalendarInvite(appt, emailSubject, emailBody);
System.Net.Mime.ContentType ct = new System.Net.Mime.ContentType("text/calendar");
ct.Parameters.Add("method", "REQUEST");
//ct.Parameters.Add("name", "meeting.ics");
AlternateView avCal = AlternateView.CreateAlternateViewFromString(str.ToString(), ct);
msg.AlternateViews.Add(avCal);
NetworkCredential nc = new NetworkCredential(conf.AppSettings.Settings["userEmail"].Value, conf.AppSettings.Settings["userPassword"].Value);
sc.Port = Convert.ToInt32(conf.AppSettings.Settings["smtpPort"].Value);
sc.EnableSsl = Convert.ToBoolean(conf.AppSettings.Settings["enableSSL"].Value);
sc.Credentials = nc;
try
{
sc.Send(msg);
}
catch (Exception e)
{
MessageBox.Show("Unable to send email. " + e.Message);
}
}
private void copyAppointmentToClipBoard() {
int apptID = this.CGrid.SelectedAppointment;
Configuration conf = GetConfiguration();
if (apptID <= 0) return;
CGAppointment a = (CGAppointment)this.Appointments.AppointmentTable[apptID];
string str = "Clinic Title: " + a.Resource + "\n" +
"Date/Time: " + a.StartTime.ToString() + "\n" +
"Location: " + conf.AppSettings.Settings["address"].Value + "\n" +
"Phone: " + conf.AppSettings.Settings["phone"].Value;
Clipboard.SetText(str);
}
private void ctxExportInvite_Click(object sender, EventArgs e)
{
Configuration conf = GetConfiguration();
String emailBody = "Your Appointment is Scheduled.";
String emailSubject = conf.AppSettings.Settings["inviteSubject"].Value;
int apptID = this.CGrid.SelectedAppointment;
if (apptID <= 0) return;
CGAppointment a = (CGAppointment)this.Appointments.AppointmentTable[apptID];
if (conf.AppSettings.Settings["useEmail"].Value == "true")
{
EmailCalendarInvite(a, emailSubject, emailBody);
}
else
{
ExportCalendarInvite(a, emailSubject, emailBody);
}
}
private void ctxCopyAppointment_Click(object sender, EventArgs e)
{
copyAppointmentToClipBoard();
}
}//End class
}

View File

@ -38,10 +38,10 @@
<IsWebBootstrapper>false</IsWebBootstrapper>
<ManifestCertificateThumbprint>3202DD11CA9F64F7E52CF7BBED5F17D6E8A1B395</ManifestCertificateThumbprint>
<ManifestKeyFile>ClinicalScheduling_TemporaryKey.pfx</ManifestKeyFile>
<GenerateManifests>false</GenerateManifests>
<GenerateManifests>true</GenerateManifests>
<SignManifests>false</SignManifests>
<TargetZone>LocalIntranet</TargetZone>
<NoWin32Manifest>true</NoWin32Manifest>
<TargetFrameworkProfile />
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
@ -53,11 +53,10 @@
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>1</ApplicationRevision>
<ApplicationVersion>2.1.0.%2a</ApplicationVersion>
<ApplicationVersion>2.0.0.%2a</ApplicationVersion>
<UseApplicationTrust>false</UseApplicationTrust>
<PublishWizardCompleted>true</PublishWizardCompleted>
<BootstrapperEnabled>true</BootstrapperEnabled>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<OutputPath>bin\Release\</OutputPath>
@ -108,6 +107,9 @@
<ErrorReport>prompt</ErrorReport>
<UseVSHostingProcess>false</UseVSHostingProcess>
</PropertyGroup>
<PropertyGroup>
<ApplicationManifest>Properties\app.manifest</ApplicationManifest>
</PropertyGroup>
<ItemGroup>
<Reference Include="PrintPreview, Version=1.0.4570.15574, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
@ -169,6 +171,9 @@
<DependentUpon>strings.resx</DependentUpon>
</Compile>
<Compile Include="UserPreferences.cs" />
<None Include="App.config">
<SubType>Designer</SubType>
</None>
<None Include="dsPatientApptDisplay2.xsc">
<DependentUpon>dsPatientApptDisplay2.xsd</DependentUpon>
</None>
@ -307,7 +312,6 @@
</Compile>
<Compile Include="dsRebookAppts.cs">
<DependentUpon>dsRebookAppts.xsd</DependentUpon>
<SubType>Component</SubType>
</Compile>
<Compile Include="dsRebookAppts.Designer.cs">
<AutoGen>True</AutoGen>
@ -456,6 +460,7 @@
<EmbeddedResource Include="UCPatientAppts.resx">
<DependentUpon>UCPatientAppts.cs</DependentUpon>
</EmbeddedResource>
<None Include="Properties\app.manifest" />
</ItemGroup>
<ItemGroup>
<Service Include="{967B4E0D-AD0C-4609-AB67-0FA40C0206D8}" />
@ -488,16 +493,14 @@
<Install>false</Install>
</BootstrapperPackage>
</ItemGroup>
<ItemGroup />
<ItemGroup>
<Folder Include="Properties\" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\BMX4\IndianHealthService.BMXNet.WinForm\IndianHealthService.BMXNet.WinForm.csproj">
<Project>{3B9011B5-59F4-4F6B-ADC7-54ADC6948F4D}</Project>
<ProjectReference Include="..\..\..\..\BMXNET_RPMS_dotNET_UTILITIES-BMX\branch\BMX41000\IHS BMX Framework\IndianHealthService.BMXNet.WinForm\IndianHealthService.BMXNet.WinForm.csproj">
<Project>{3b9011b5-59f4-4f6b-adc7-54adc6948f4d}</Project>
<Name>IndianHealthService.BMXNet.WinForm</Name>
</ProjectReference>
<ProjectReference Include="..\..\BMX4\IndianHealthService.BMXNet\IndianHealthService.BMXNet.csproj">
<Project>{DE8E4CC9-4F3A-4E32-8DFE-EE5692E8FC45}</Project>
<ProjectReference Include="..\..\..\..\BMXNET_RPMS_dotNET_UTILITIES-BMX\branch\BMX41000\IHS BMX Framework\IndianHealthService.BMXNet\IndianHealthService.BMXNet.csproj">
<Project>{de8e4cc9-4f3a-4e32-8dfe-ee5692e8fc45}</Project>
<Name>IndianHealthService.BMXNet</Name>
</ProjectReference>
</ItemGroup>

View File

@ -36,7 +36,8 @@
<RemoteDebugMachine>
</RemoteDebugMachine>
<StartAction>Project</StartAction>
<StartArguments>/s=10.0.1.13 /p=9431 /a=shabiel12 /v=catdog.33</StartArguments>
<StartArguments>
</StartArguments>
<StartPage>
</StartPage>
<StartProgram>C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\IEExec.exe</StartProgram>
@ -67,4 +68,7 @@
</StartWorkingDirectory>
<StartWithIE>false</StartWithIE>
</PropertyGroup>
<PropertyGroup>
<EnableSecurityDebugging>false</EnableSecurityDebugging>
</PropertyGroup>
</Project>

View File

@ -1,13 +1,13 @@
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual C# Express 2010
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Express 2012 for Windows Desktop
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClinicalScheduling", "ClinicalScheduling.csproj", "{8C05C4F7-FE81-479F-87A0-44E04C7F6E0F}"
ProjectSection(ProjectDependencies) = postProject
{DE8E4CC9-4F3A-4E32-8DFE-EE5692E8FC45} = {DE8E4CC9-4F3A-4E32-8DFE-EE5692E8FC45}
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IndianHealthService.BMXNet", "..\..\BMX4\IndianHealthService.BMXNet\IndianHealthService.BMXNet.csproj", "{DE8E4CC9-4F3A-4E32-8DFE-EE5692E8FC45}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IndianHealthService.BMXNet", "..\..\..\..\BMXNET_RPMS_dotNET_UTILITIES-BMX\branch\BMX41000\IHS BMX Framework\IndianHealthService.BMXNet\IndianHealthService.BMXNet.csproj", "{DE8E4CC9-4F3A-4E32-8DFE-EE5692E8FC45}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IndianHealthService.BMXNet.WinForm", "..\..\BMX4\IndianHealthService.BMXNet.WinForm\IndianHealthService.BMXNet.WinForm.csproj", "{3B9011B5-59F4-4F6B-ADC7-54ADC6948F4D}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IndianHealthService.BMXNet.WinForm", "..\..\..\..\BMXNET_RPMS_dotNET_UTILITIES-BMX\branch\BMX41000\IHS BMX Framework\IndianHealthService.BMXNet.WinForm\IndianHealthService.BMXNet.WinForm.csproj", "{3B9011B5-59F4-4F6B-ADC7-54ADC6948F4D}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution

View File

@ -48,7 +48,7 @@ namespace IndianHealthService.ClinicalScheduling
/// <returns>Datatable with one column: "MANAGER": One Row that's "YES" or "NO"</returns>
public DataTable GetUserInfo(string DUZ)
{
string cmd = String.Format("BSDX SCHEDULING USER INFO^{0}", DUZ);
string cmd = String.Format("BSDX SCHEDULING USER INFO^{0}^{1}", DUZ, "BSDXZMGR");
return _thisConnection.TableFromCommand(cmd);
}

View File

@ -4,6 +4,7 @@ using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Collections.Generic;
//using System.Data.OleDb;
using System.Diagnostics;
using IndianHealthService.BMXNet;
@ -65,6 +66,25 @@ namespace IndianHealthService.ClinicalScheduling
private CheckBox chkPrint;
private Label label18;
private TextBox txtSex;
private TabPage tabCloneForward;
private GroupBox grpCloneForward;
private Button button1;
private ComboBox cboDuration;
private TextBox txtFUOther;
private Label label21;
private RadioButton rdbFU90;
private RadioButton rdbFU60;
private RadioButton rdbFU30;
private Label label19;
private DateTimePicker dtCloneAppointment;
private ComboBox cboSlots;
private Label label25;
private Label label24;
private Label txtClinic;
private TextBox textBox1;
private Label label20;
private Label label22;
private Label label23;
private IContainer components;
public DAppointPage()
@ -103,6 +123,25 @@ namespace IndianHealthService.ClinicalScheduling
this.txtDOB = new System.Windows.Forms.TextBox();
this.label2 = new System.Windows.Forms.Label();
this.txtPatientName = new System.Windows.Forms.TextBox();
this.tabCloneForward = new System.Windows.Forms.TabPage();
this.grpCloneForward = new System.Windows.Forms.GroupBox();
this.button1 = new System.Windows.Forms.Button();
this.cboDuration = new System.Windows.Forms.ComboBox();
this.txtFUOther = new System.Windows.Forms.TextBox();
this.label21 = new System.Windows.Forms.Label();
this.rdbFU90 = new System.Windows.Forms.RadioButton();
this.rdbFU60 = new System.Windows.Forms.RadioButton();
this.rdbFU30 = new System.Windows.Forms.RadioButton();
this.label19 = new System.Windows.Forms.Label();
this.dtCloneAppointment = new System.Windows.Forms.DateTimePicker();
this.cboSlots = new System.Windows.Forms.ComboBox();
this.label25 = new System.Windows.Forms.Label();
this.label24 = new System.Windows.Forms.Label();
this.txtClinic = new System.Windows.Forms.Label();
this.textBox1 = new System.Windows.Forms.TextBox();
this.label20 = new System.Windows.Forms.Label();
this.label22 = new System.Windows.Forms.Label();
this.label23 = new System.Windows.Forms.Label();
this.tabPatientInfo = new System.Windows.Forms.TabPage();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.label17 = new System.Windows.Forms.Label();
@ -134,6 +173,8 @@ namespace IndianHealthService.ClinicalScheduling
this.tabAppointment.SuspendLayout();
this.groupBox3.SuspendLayout();
this.groupBox1.SuspendLayout();
this.tabCloneForward.SuspendLayout();
this.grpCloneForward.SuspendLayout();
this.tabPatientInfo.SuspendLayout();
this.groupBox2.SuspendLayout();
this.panel1.SuspendLayout();
@ -145,12 +186,13 @@ namespace IndianHealthService.ClinicalScheduling
// tabControl1
//
this.tabControl1.Controls.Add(this.tabAppointment);
this.tabControl1.Controls.Add(this.tabCloneForward);
this.tabControl1.Controls.Add(this.tabPatientInfo);
this.tabControl1.Dock = System.Windows.Forms.DockStyle.Fill;
this.tabControl1.Location = new System.Drawing.Point(0, 0);
this.tabControl1.Name = "tabControl1";
this.tabControl1.SelectedIndex = 0;
this.tabControl1.Size = new System.Drawing.Size(471, 526);
this.tabControl1.Size = new System.Drawing.Size(475, 524);
this.tabControl1.TabIndex = 0;
//
// tabAppointment
@ -160,7 +202,7 @@ namespace IndianHealthService.ClinicalScheduling
this.tabAppointment.Controls.Add(this.groupBox1);
this.tabAppointment.Location = new System.Drawing.Point(4, 22);
this.tabAppointment.Name = "tabAppointment";
this.tabAppointment.Size = new System.Drawing.Size(463, 500);
this.tabAppointment.Size = new System.Drawing.Size(467, 498);
this.tabAppointment.TabIndex = 1;
this.tabAppointment.Text = "Appointment";
//
@ -175,8 +217,6 @@ namespace IndianHealthService.ClinicalScheduling
//
// groupBox3
//
this.groupBox3.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.groupBox3.Controls.Add(this.lblClinic);
this.groupBox3.Controls.Add(this.label15);
this.groupBox3.Controls.Add(this.txtNote);
@ -294,7 +334,7 @@ namespace IndianHealthService.ClinicalScheduling
this.label18.AutoSize = true;
this.label18.Location = new System.Drawing.Point(238, 44);
this.label18.Name = "label18";
this.label18.Size = new System.Drawing.Size(29, 13);
this.label18.Size = new System.Drawing.Size(28, 13);
this.label18.TabIndex = 14;
this.label18.Text = "Sex:";
//
@ -366,12 +406,207 @@ namespace IndianHealthService.ClinicalScheduling
this.txtPatientName.Size = new System.Drawing.Size(337, 20);
this.txtPatientName.TabIndex = 0;
//
// tabCloneForward
//
this.tabCloneForward.BackColor = System.Drawing.SystemColors.Control;
this.tabCloneForward.Controls.Add(this.grpCloneForward);
this.tabCloneForward.Location = new System.Drawing.Point(4, 22);
this.tabCloneForward.Name = "tabCloneForward";
this.tabCloneForward.Size = new System.Drawing.Size(467, 498);
this.tabCloneForward.TabIndex = 2;
this.tabCloneForward.Text = "Clone/Forward";
//
// grpCloneForward
//
this.grpCloneForward.Controls.Add(this.button1);
this.grpCloneForward.Controls.Add(this.cboDuration);
this.grpCloneForward.Controls.Add(this.txtFUOther);
this.grpCloneForward.Controls.Add(this.label21);
this.grpCloneForward.Controls.Add(this.rdbFU90);
this.grpCloneForward.Controls.Add(this.rdbFU60);
this.grpCloneForward.Controls.Add(this.rdbFU30);
this.grpCloneForward.Controls.Add(this.label19);
this.grpCloneForward.Controls.Add(this.dtCloneAppointment);
this.grpCloneForward.Controls.Add(this.cboSlots);
this.grpCloneForward.Controls.Add(this.label25);
this.grpCloneForward.Controls.Add(this.label24);
this.grpCloneForward.Controls.Add(this.txtClinic);
this.grpCloneForward.Controls.Add(this.textBox1);
this.grpCloneForward.Controls.Add(this.label20);
this.grpCloneForward.Controls.Add(this.label22);
this.grpCloneForward.Controls.Add(this.label23);
this.grpCloneForward.Location = new System.Drawing.Point(8, 13);
this.grpCloneForward.Name = "grpCloneForward";
this.grpCloneForward.Size = new System.Drawing.Size(439, 206);
this.grpCloneForward.TabIndex = 16;
this.grpCloneForward.TabStop = false;
this.grpCloneForward.Text = "Clone/Forward Appointment";
//
// button1
//
this.button1.Location = new System.Drawing.Point(357, 82);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(51, 24);
this.button1.TabIndex = 37;
this.button1.Text = "Update";
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// cboDuration
//
this.cboDuration.FormattingEnabled = true;
this.cboDuration.Location = new System.Drawing.Point(80, 51);
this.cboDuration.Name = "cboDuration";
this.cboDuration.Size = new System.Drawing.Size(66, 21);
this.cboDuration.TabIndex = 36;
this.cboDuration.SelectedIndexChanged += new System.EventHandler(this.cboDuration_SelectedIndexChanged);
//
// txtFUOther
//
this.txtFUOther.Location = new System.Drawing.Point(297, 84);
this.txtFUOther.Name = "txtFUOther";
this.txtFUOther.Size = new System.Drawing.Size(54, 20);
this.txtFUOther.TabIndex = 35;
this.txtFUOther.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txtFUOther_KeyPress);
//
// label21
//
this.label21.AutoSize = true;
this.label21.Location = new System.Drawing.Point(255, 88);
this.label21.Name = "label21";
this.label21.Size = new System.Drawing.Size(36, 13);
this.label21.TabIndex = 34;
this.label21.Text = "Other:";
//
// rdbFU90
//
this.rdbFU90.AutoSize = true;
this.rdbFU90.Location = new System.Drawing.Point(203, 85);
this.rdbFU90.Name = "rdbFU90";
this.rdbFU90.Size = new System.Drawing.Size(37, 17);
this.rdbFU90.TabIndex = 33;
this.rdbFU90.TabStop = true;
this.rdbFU90.Text = "90";
this.rdbFU90.UseVisualStyleBackColor = true;
this.rdbFU90.CheckedChanged += new System.EventHandler(this.rdbFUCheckedChanged);
//
// rdbFU60
//
this.rdbFU60.AutoSize = true;
this.rdbFU60.Location = new System.Drawing.Point(160, 85);
this.rdbFU60.Name = "rdbFU60";
this.rdbFU60.Size = new System.Drawing.Size(37, 17);
this.rdbFU60.TabIndex = 32;
this.rdbFU60.TabStop = true;
this.rdbFU60.Text = "60";
this.rdbFU60.UseVisualStyleBackColor = true;
this.rdbFU60.CheckedChanged += new System.EventHandler(this.rdbFUCheckedChanged);
//
// rdbFU30
//
this.rdbFU30.AutoSize = true;
this.rdbFU30.Location = new System.Drawing.Point(117, 85);
this.rdbFU30.Name = "rdbFU30";
this.rdbFU30.Size = new System.Drawing.Size(37, 17);
this.rdbFU30.TabIndex = 31;
this.rdbFU30.TabStop = true;
this.rdbFU30.Text = "30";
this.rdbFU30.UseVisualStyleBackColor = true;
this.rdbFU30.CheckedChanged += new System.EventHandler(this.rdbFUCheckedChanged);
//
// label19
//
this.label19.Location = new System.Drawing.Point(4, 85);
this.label19.Name = "label19";
this.label19.Size = new System.Drawing.Size(103, 16);
this.label19.TabIndex = 30;
this.label19.Text = "Quick Follow up:";
this.label19.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// dtCloneAppointment
//
this.dtCloneAppointment.Location = new System.Drawing.Point(80, 26);
this.dtCloneAppointment.Name = "dtCloneAppointment";
this.dtCloneAppointment.Size = new System.Drawing.Size(136, 20);
this.dtCloneAppointment.TabIndex = 29;
this.dtCloneAppointment.ValueChanged += new System.EventHandler(this.dtCloneAppointment_ValueChanged);
//
// cboSlots
//
this.cboSlots.FormattingEnabled = true;
this.cboSlots.Location = new System.Drawing.Point(303, 24);
this.cboSlots.Name = "cboSlots";
this.cboSlots.Size = new System.Drawing.Size(121, 21);
this.cboSlots.TabIndex = 28;
this.cboSlots.SelectedIndexChanged += new System.EventHandler(this.cboSlots_SelectedIndexChanged);
//
// label25
//
this.label25.AutoSize = true;
this.label25.Location = new System.Drawing.Point(238, 29);
this.label25.Name = "label25";
this.label25.Size = new System.Drawing.Size(59, 13);
this.label25.TabIndex = 27;
this.label25.Text = "Time Slots:";
//
// label24
//
this.label24.Location = new System.Drawing.Point(152, 53);
this.label24.Name = "label24";
this.label24.Size = new System.Drawing.Size(40, 16);
this.label24.TabIndex = 26;
this.label24.Text = "Clinic:";
this.label24.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// txtClinic
//
this.txtClinic.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
this.txtClinic.Location = new System.Drawing.Point(200, 53);
this.txtClinic.Name = "txtClinic";
this.txtClinic.Size = new System.Drawing.Size(233, 16);
this.txtClinic.TabIndex = 25;
//
// textBox1
//
this.textBox1.AcceptsReturn = true;
this.textBox1.Location = new System.Drawing.Point(80, 123);
this.textBox1.Multiline = true;
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(353, 60);
this.textBox1.TabIndex = 24;
//
// label20
//
this.label20.Location = new System.Drawing.Point(4, 131);
this.label20.Name = "label20";
this.label20.Size = new System.Drawing.Size(56, 16);
this.label20.TabIndex = 23;
this.label20.Text = "Notes:";
this.label20.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// label22
//
this.label22.Location = new System.Drawing.Point(16, 53);
this.label22.Name = "label22";
this.label22.Size = new System.Drawing.Size(56, 16);
this.label22.TabIndex = 21;
this.label22.Text = "Duration:";
this.label22.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// label23
//
this.label23.Location = new System.Drawing.Point(8, 29);
this.label23.Name = "label23";
this.label23.Size = new System.Drawing.Size(64, 16);
this.label23.TabIndex = 20;
this.label23.Text = "Start Time:";
this.label23.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// tabPatientInfo
//
this.tabPatientInfo.Controls.Add(this.groupBox2);
this.tabPatientInfo.Location = new System.Drawing.Point(4, 22);
this.tabPatientInfo.Name = "tabPatientInfo";
this.tabPatientInfo.Size = new System.Drawing.Size(463, 500);
this.tabPatientInfo.Size = new System.Drawing.Size(467, 498);
this.tabPatientInfo.TabIndex = 0;
this.tabPatientInfo.Text = "Contact Information";
//
@ -561,9 +796,9 @@ namespace IndianHealthService.ClinicalScheduling
this.panel1.Controls.Add(this.cmdCancel);
this.panel1.Controls.Add(this.cmdOK);
this.panel1.Dock = System.Windows.Forms.DockStyle.Bottom;
this.panel1.Location = new System.Drawing.Point(0, 486);
this.panel1.Location = new System.Drawing.Point(0, 484);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(471, 40);
this.panel1.Size = new System.Drawing.Size(475, 40);
this.panel1.TabIndex = 1;
//
// chkPrint
@ -571,7 +806,7 @@ namespace IndianHealthService.ClinicalScheduling
this.chkPrint.AutoSize = true;
this.chkPrint.Location = new System.Drawing.Point(13, 14);
this.chkPrint.Name = "chkPrint";
this.chkPrint.Size = new System.Drawing.Size(144, 17);
this.chkPrint.Size = new System.Drawing.Size(139, 17);
this.chkPrint.TabIndex = 2;
this.chkPrint.Text = "Print Appointment Letter";
this.chkPrint.UseVisualStyleBackColor = true;
@ -588,7 +823,6 @@ namespace IndianHealthService.ClinicalScheduling
//
// cmdOK
//
this.cmdOK.DialogResult = System.Windows.Forms.DialogResult.OK;
this.cmdOK.Location = new System.Drawing.Point(317, 8);
this.cmdOK.Name = "cmdOK";
this.cmdOK.Size = new System.Drawing.Size(64, 24);
@ -616,19 +850,23 @@ namespace IndianHealthService.ClinicalScheduling
this.AcceptButton = this.cmdOK;
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.CancelButton = this.cmdCancel;
this.ClientSize = new System.Drawing.Size(471, 526);
this.ClientSize = new System.Drawing.Size(475, 524);
this.Controls.Add(this.panel1);
this.Controls.Add(this.tabControl1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Name = "DAppointPage";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Patient Appointment";
this.Load += new System.EventHandler(this.DAppointPage_Load);
this.tabControl1.ResumeLayout(false);
this.tabAppointment.ResumeLayout(false);
this.groupBox3.ResumeLayout(false);
this.groupBox3.PerformLayout();
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
this.tabCloneForward.ResumeLayout(false);
this.grpCloneForward.ResumeLayout(false);
this.grpCloneForward.PerformLayout();
this.tabPatientInfo.ResumeLayout(false);
this.groupBox2.ResumeLayout(false);
this.groupBox2.PerformLayout();
@ -646,6 +884,12 @@ namespace IndianHealthService.ClinicalScheduling
private CGDocumentManager m_DocManager;
private ArrayList alResources;
private bool isCloning = false;
private DateTime originalAppointment;
private string m_sPatientName;
private Sex m_enumPatientSex;
private string m_sPatientHRN;
@ -674,9 +918,167 @@ namespace IndianHealthService.ClinicalScheduling
#endregion //fields
#region Methods
#region
public void InitializePage(CGAppointment a)
private void SetDurations(DateTime apptDate)
{
DateTime m_dStart = apptDate; // move to 1200
DateTime m_dEnd = m_dStart.Date.AddHours(23).AddMinutes(59).AddSeconds(59); //move to 235959
string sSearchInfo = "1|both" + "|";
ArrayList m_alResources = alResources;
ArrayList m_alAccessTypes = new ArrayList();
DataTable m_availTable = CGSchedLib.CreateAvailabilitySchedule(m_DocManager, m_alResources, m_dStart, m_dEnd, m_alAccessTypes, ScheduleType.Resource, sSearchInfo);
if (m_availTable.Rows.Count > 0)
{
foreach (DataRow row in m_availTable.Rows)
{
double minPerSlot = (row.Field<DateTime>("END_TIME") - row.Field<DateTime>("START_TIME")).TotalMinutes / row.Field<int>("SLOTS");
int totalSlots = row.Field<int>("SLOTS");
double duration = 0;
for (int i = 0; i < totalSlots; i++)
{
duration = duration + minPerSlot;
cboDuration.Items.Add(duration);
}
}
}
else
{
CGView v = this.DocManager.GetViewByResource(m_alResources);
int scale = v.CGrid.TimeScale;
//cboDuration.Items.Clear();
cboDuration.Items.Add((double)scale);
//cboDuration.SelectedIndex = 0;
}
}
private void GetAppointmentSlots(DateTime apptDate)
{
DateTime m_dStart = apptDate; // move to 1200
DateTime m_dEnd = m_dStart.Date.AddHours(23).AddMinutes(59).AddSeconds(59); //move to 235959
string sSearchInfo = "1|both" + "|";
ArrayList m_alResources = alResources;
ArrayList m_alAccessTypes = new ArrayList();
DataTable m_availTable = CGSchedLib.CreateAvailabilitySchedule(m_DocManager, m_alResources, m_dStart, m_dEnd, m_alAccessTypes, ScheduleType.Resource, sSearchInfo);
DataTable m_apptTable = CGSchedLib.CreateAppointmentSchedule(m_DocManager, m_alResources, m_dStart, m_dEnd);
cboSlots.Items.Clear();
if (m_availTable.Rows.Count>0)
{
foreach (DataRow row in m_availTable.Rows)
{
string resource = row.Field<string>("RESOURCE");
DateTime start_time = row.Field<DateTime>("START_TIME");
DateTime end_time = row.Field<DateTime>("END_TIME");
double minPerSlot = (row.Field<DateTime>("END_TIME") - row.Field<DateTime>("START_TIME")).TotalMinutes / row.Field<int>("SLOTS");
double duration = minPerSlot;
if (cboDuration.SelectedIndex >= 0)
{
duration = (double)cboDuration.SelectedItem;
}
int totalSlots = row.Field<int>("SLOTS");
DateTime aStartTime = start_time;
DateTime aEndTime = start_time.AddMinutes(duration);
for (int i = 0; i < totalSlots; i++)
{
bool flag = true;
foreach (DataRow appt in m_apptTable.Rows)
{
if (resource == appt.Field<string>("RESOURCENAME"))
{
DateTime apptStartTime = appt.Field<DateTime>("START_TIME");
DateTime apptEndTime = appt.Field<DateTime>("END_TIME");
DateTimeRange dRange1 = new DateTimeRange();
dRange1.Start = aStartTime;
dRange1.End = aEndTime;
DateTimeRange dRange2 = new DateTimeRange();
dRange2.Start = apptStartTime;
dRange2.End = apptEndTime.AddSeconds(-1);
if (dRange1.Intersects(dRange2))
{
flag = false;
}
/*if(aStartTime.Ticks >= apptStartTime.Ticks && aStartTime.Ticks <= apptEndTime.AddSeconds(-1).Ticks)
{
flag = false;
}
if (aEndTime.Ticks <= apptStartTime.Ticks && aEndTime.Ticks >= apptEndTime.AddSeconds(-1).Ticks)
{
flag = false;
}*/
}
}
if (flag)
{
AppointmentComboboxItem item = new AppointmentComboboxItem();
item.Value = aStartTime;
item.Text = aStartTime.TimeOfDay.ToString();
cboSlots.Items.Add(item);
}
aStartTime = aStartTime.AddMinutes(minPerSlot);
aEndTime = aStartTime.AddMinutes(duration);
}
}
}
else
{
CGView v= this.DocManager.GetViewByResource(m_alResources);
int scale = v.CGrid.TimeScale;
cboSlots.Items.Clear();
DateTime dStartTime = apptDate.Date;
while (dStartTime.Day == apptDate.Date.Day)
{
AppointmentComboboxItem item = new AppointmentComboboxItem();
item.Value = dStartTime;
item.Text = dStartTime.TimeOfDay.ToString();
cboSlots.Items.Add(item);
dStartTime = dStartTime.AddMinutes((double)scale);
}
}
}
public void HideCloneForwardTab() {
tabControl1.TabPages.Remove(tabCloneForward);
}
public void SetCloneForwardable(ArrayList alResources, CGAppointment a) {
originalAppointment = a.StartTime;
//grpCloneForward.Visible = true;
isCloning = true;
//grpCloneForward.Top = groupBox4.Top;
//groupBox4.Top = groupBox4.Top + grpCloneForward.Height + 10;
txtNote.Enabled = false;
//this.Height = this.Height + grpCloneForward.Height + 20;
this.alResources = alResources;
cboSlots.DropDownStyle = ComboBoxStyle.DropDownList;
cboDuration.DropDownStyle = ComboBoxStyle.DropDownList;
cboDuration.Items.Clear();
GetAppointmentSlots(dtCloneAppointment.Value);
SetDurations(dtCloneAppointment.Value);
txtClinic.Text = alResources[0].ToString();
m_sClinic = txtClinic.Text;
if (cboSlots.Items.Count > 0)
{
bool flag = true;
cboDuration.SelectedIndex = 0;
foreach (AppointmentComboboxItem item in cboSlots.Items)
{
if (originalAppointment.TimeOfDay.ToString() == item.Text)
{
flag = false;
cboSlots.SelectedIndex = cboSlots.Items.IndexOf(item);
}
}
if (flag)
{
cboSlots.SelectedIndex = 0;
}
m_dStartTime = ((AppointmentComboboxItem)cboSlots.SelectedItem).Value;
m_dEndTime = m_dStartTime.AddMinutes((double)cboDuration.SelectedItem);
}
tabControl1.SelectedIndex = tabControl1.TabPages.IndexOf(tabCloneForward);
}
public void InitializePage(CGAppointment a)
{
InitializePage(a.PatientID.ToString(), a.StartTime, a.EndTime, "", a.Note, a.AccessTypeID);
}
@ -770,6 +1172,15 @@ namespace IndianHealthService.ClinicalScheduling
private void cmdOK_Click(object sender, System.EventArgs e)
{
this.UpdateDialogData(false);
if (isCloning)
{
if (cboSlots.Items.Count <=0)
{
MessageBox.Show("Please select the Appointment Slot before submitting the form");
return;
}
}
this.DialogResult = System.Windows.Forms.DialogResult.OK;
}
/// <summary>
@ -875,6 +1286,139 @@ namespace IndianHealthService.ClinicalScheduling
CGDocumentManager.Current.UserPreferences.PrintAppointmentSlipAutomacially = chkPrint.Checked;
}
private void DAppointPage_Load(object sender, EventArgs e)
{
} //end Class
}
private void dtCloneAppointment_ValueChanged(object sender, EventArgs e)
{
cboDuration.Items.Clear();
GetAppointmentSlots(dtCloneAppointment.Value);
SetDurations(dtCloneAppointment.Value);
txtClinic.Text = alResources[0].ToString();
m_sClinic = txtClinic.Text;
if (cboSlots.Items.Count > 0)
{
cboDuration.SelectedIndex = 0;
cboSlots.SelectedIndex = cboSlots.FindStringExact(originalAppointment.TimeOfDay.ToString());
m_dStartTime = ((AppointmentComboboxItem)cboSlots.SelectedItem).Value;
m_dEndTime = m_dStartTime.AddMinutes((double)cboDuration.SelectedItem);
}
}
private void rdbFUCheckedChanged(object sender, EventArgs e)
{
if (((RadioButton)sender).Checked)
{
// This is the correct control.
RadioButton rb = (RadioButton)sender;
dtCloneAppointment.Value = originalAppointment.AddDays(Convert.ToDouble(rb.Text));
AppointmentComboboxItem item = new AppointmentComboboxItem();
item.Value = dtCloneAppointment.Value;
item.Text = dtCloneAppointment.Value.TimeOfDay.ToString();
if (cboSlots.Items.Count > 0)
{
cboSlots.SelectedIndex = cboSlots.FindStringExact(dtCloneAppointment.Value.TimeOfDay.ToString());
}
}
}
private void cboDuration_SelectedIndexChanged(object sender, EventArgs e)
{
GetAppointmentSlots(dtCloneAppointment.Value);
if (cboSlots.Items.Count >0)
{
cboSlots.SelectedIndex = 0;
m_dStartTime = ((AppointmentComboboxItem)cboSlots.SelectedItem).Value;
m_dEndTime = m_dStartTime.AddMinutes((double)cboDuration.SelectedItem);
}
}
private void txtFUOther_KeyPress(object sender, KeyPressEventArgs e)
{
if (!char.IsDigit(e.KeyChar))
{
e.Handled = true;
}
}
private void button1_Click(object sender, EventArgs e)
{
if (Convert.ToInt32(txtFUOther.Text)>0)
{
if (Convert.ToInt32(txtFUOther.Text) <= 365)
{
dtCloneAppointment.Value = originalAppointment.AddDays(Convert.ToInt32(txtFUOther.Text));
AppointmentComboboxItem item = new AppointmentComboboxItem();
item.Value = dtCloneAppointment.Value;
item.Text = dtCloneAppointment.Value.TimeOfDay.ToString();
if (cboSlots.Items.Count > 0)
{
cboSlots.SelectedIndex = cboSlots.FindStringExact(dtCloneAppointment.Value.TimeOfDay.ToString());
}
}
else
{
MessageBox.Show("Please enter number less then 365.");
}
}
else
{
MessageBox.Show("Please enter number of days before updating.");
}
}
private void cboSlots_SelectedIndexChanged(object sender, EventArgs e)
{
m_dStartTime = ((AppointmentComboboxItem)cboSlots.SelectedItem).Value;
m_dEndTime = m_dStartTime.AddMinutes((double)cboDuration.SelectedItem);
}
} //end Class
public class AppointmentComboboxItem
{
public string Text { get; set; }
public DateTime Value { get; set; }
public override string ToString()
{
return Text;
}
}
public class DateTimeRange
{
public DateTime Start { get; set; }
public DateTime End { get; set; }
public bool Intersects(DateTimeRange test)
{
if (this.Start == this.End || test.Start == test.End)
return false; // No actual date range
if (this.Start == test.Start || this.End == test.End)
return true; // If any set is the same time, then by default there must be some overlap.
if (this.Start < test.Start)
{
if (this.End > test.Start && this.End < test.End)
return true; // Condition 1
if (this.End > test.End)
return true; // Condition 3
}
else
{
if (test.End > this.Start && test.End < this.End)
return true; // Condition 2
if (test.End > this.End)
return true; // Condition 4
}
return false;
}
}
}

View File

@ -123,6 +123,12 @@
<metadata name="dsPatientApptDisplay2BindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>179, 17</value>
</metadata>
<metadata name="dsPatientApptDisplay2BindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>179, 17</value>
</metadata>
<metadata name="dsPatientApptDisplay2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="dsPatientApptDisplay2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>

View File

@ -14,11 +14,9 @@ namespace IndianHealthService.ClinicalScheduling
/// </summary>
public class DSplash : System.Windows.Forms.Form
{
private System.Windows.Forms.Label label1;
private System.Windows.Forms.LinkLabel lnkMail;
private System.Windows.Forms.Label lblStatus;
private Label lblVersion;
private Label label2;
private ProgressBar progressBar1;
/// <summary>
/// Required designer variable.
@ -60,63 +58,50 @@ namespace IndianHealthService.ClinicalScheduling
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DSplash));
this.label1 = new System.Windows.Forms.Label();
this.lnkMail = new System.Windows.Forms.LinkLabel();
this.lblStatus = new System.Windows.Forms.Label();
this.lblVersion = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.progressBar1 = new System.Windows.Forms.ProgressBar();
this.SuspendLayout();
//
// label1
//
this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 21.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label1.Location = new System.Drawing.Point(12, 67);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(464, 40);
this.label1.TabIndex = 0;
this.label1.Text = "Clinical Scheduling";
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// lnkMail
//
this.lnkMail.Location = new System.Drawing.Point(0, 0);
this.lnkMail.BackColor = System.Drawing.Color.Gray;
this.lnkMail.ForeColor = System.Drawing.SystemColors.HotTrack;
this.lnkMail.Location = new System.Drawing.Point(489, 229);
this.lnkMail.Name = "lnkMail";
this.lnkMail.Size = new System.Drawing.Size(100, 23);
this.lnkMail.TabIndex = 4;
this.lnkMail.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.lnkMail_LinkClicked);
//
// lblStatus
//
this.lblStatus.BackColor = System.Drawing.Color.Gray;
this.lblStatus.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
this.lblStatus.Location = new System.Drawing.Point(80, 159);
this.lblStatus.ForeColor = System.Drawing.SystemColors.HotTrack;
this.lblStatus.Location = new System.Drawing.Point(261, 202);
this.lblStatus.Name = "lblStatus";
this.lblStatus.Size = new System.Drawing.Size(328, 16);
this.lblStatus.TabIndex = 3;
this.lblStatus.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
this.lblStatus.Click += new System.EventHandler(this.lblStatus_Click);
//
// lblVersion
//
this.lblVersion.AutoSize = true;
this.lblVersion.Location = new System.Drawing.Point(210, 117);
this.lblVersion.BackColor = System.Drawing.Color.Gray;
this.lblVersion.ForeColor = System.Drawing.SystemColors.HotTrack;
this.lblVersion.Location = new System.Drawing.Point(239, 9);
this.lblVersion.Name = "lblVersion";
this.lblVersion.Size = new System.Drawing.Size(52, 13);
this.lblVersion.TabIndex = 5;
this.lblVersion.Text = "lblVersion";
this.lblVersion.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label2
//
this.label2.AutoSize = true;
this.label2.Font = new System.Drawing.Font("Book Antiqua", 27.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label2.Location = new System.Drawing.Point(180, 21);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(130, 46);
this.label2.TabIndex = 6;
this.label2.Text = "VISTA";
//
// progressBar1
//
this.progressBar1.Location = new System.Drawing.Point(18, 207);
this.progressBar1.BackColor = System.Drawing.Color.Gray;
this.progressBar1.Location = new System.Drawing.Point(60, 164);
this.progressBar1.Name = "progressBar1";
this.progressBar1.Size = new System.Drawing.Size(458, 14);
this.progressBar1.Style = System.Windows.Forms.ProgressBarStyle.Continuous;
@ -126,14 +111,13 @@ namespace IndianHealthService.ClinicalScheduling
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
this.ClientSize = new System.Drawing.Size(488, 252);
this.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("$this.BackgroundImage")));
this.ClientSize = new System.Drawing.Size(601, 403);
this.ControlBox = false;
this.Controls.Add(this.progressBar1);
this.Controls.Add(this.label2);
this.Controls.Add(this.lblVersion);
this.Controls.Add(this.lblStatus);
this.Controls.Add(this.lnkMail);
this.Controls.Add(this.label1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "DSplash";
@ -223,8 +207,19 @@ namespace IndianHealthService.ClinicalScheduling
this.progressBar1.Value = val;
}
}
private void label2_Click(object sender, EventArgs e)
{
}
private void lblStatus_Click(object sender, EventArgs e)
{
}
private void lnkMail_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
}
}
}

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly xsi:schemaLocation="urn:schemas-microsoft-com:asm.v1 assembly.adaptive.xsd" manifestVersion="1.0" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns="urn:schemas-microsoft-com:asm.v2" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xrml="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:co.v1="urn:schemas-microsoft-com:clickonce.v1" xmlns:co.v2="urn:schemas-microsoft-com:clickonce.v2">
<assemblyIdentity name="ClinicalScheduling.application" version="2.0.0.1" publicKeyToken="0000000000000000" language="neutral" processorArchitecture="msil" xmlns="urn:schemas-microsoft-com:asm.v1" />
<description asmv2:publisher="ClinicalScheduling" asmv2:product="ClinicalScheduling" xmlns="urn:schemas-microsoft-com:asm.v1" />
<deployment install="true" mapFileExtensions="true" />
<compatibleFrameworks xmlns="urn:schemas-microsoft-com:clickonce.v2">
<framework targetVersion="4.0" profile="Full" supportedRuntime="4.0.30319" />
</compatibleFrameworks>
<dependency>
<dependentAssembly dependencyType="install" codebase="ClinicalScheduling.exe.manifest" size="8350">
<assemblyIdentity name="ClinicalScheduling.exe" version="2.0.0.1" publicKeyToken="0000000000000000" language="neutral" processorArchitecture="msil" type="win32" />
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<dsig:DigestValue>j5w40iyHj1z9mmfDIEACj+b+ltk=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
</asmv1:assembly>

View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="useEmail" value="true" />
<add key="organization" value="Astronaut EHR" />
<add key="inviteSubject" value="Followup Appointment" />
<add key="userEmail" value="faisalsami78@gmail.com" />
<add key="address" value="ABC Street" />
<add key="phone" value="+92-321-415-2543" />
<add key="smtpHost" value="smtp.gmail.com" />
<add key="smtpPort" value="25" />
<add key="userPassword" value="lyhlobkkvvqieebd" />
<add key="enableSSL" value="true" />
</appSettings>
</configuration>

View File

@ -0,0 +1,158 @@
<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly xsi:schemaLocation="urn:schemas-microsoft-com:asm.v1 assembly.adaptive.xsd" manifestVersion="1.0" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns="urn:schemas-microsoft-com:asm.v2" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:co.v1="urn:schemas-microsoft-com:clickonce.v1" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:co.v2="urn:schemas-microsoft-com:clickonce.v2">
<asmv1:assemblyIdentity name="ClinicalScheduling.exe" version="2.0.0.1" publicKeyToken="0000000000000000" language="neutral" processorArchitecture="msil" type="win32" />
<description asmv2:iconFile="hwIco281.ICO" xmlns="urn:schemas-microsoft-com:asm.v1" />
<application />
<entryPoint>
<assemblyIdentity name="ClinicalScheduling" version="2.0.0.18765" language="neutral" processorArchitecture="msil" />
<commandLine file="ClinicalScheduling.exe" parameters="" />
</entryPoint>
<trustInfo>
<security>
<applicationRequestMinimum>
<PermissionSet version="1" class="System.Security.NamedPermissionSet" Name="LocalIntranet" Description="Default rights given to applications on the local intranet" Unrestricted="true" ID="Custom" SameSite="site" />
<defaultAssemblyRequest permissionSetReference="Custom" />
</applicationRequestMinimum>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<!-- UAC Manifest Options
If you want to change the Windows User Account Control level replace the
requestedExecutionLevel node with one of the following.
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
Specifying requestedExecutionLevel element will disable file and registry virtualization.
Remove this element if your application requires this virtualization for backwards
compatibility.
-->
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
<dependency>
<dependentOS>
<osVersionInfo>
<os majorVersion="5" minorVersion="1" buildNumber="2600" servicePackMajor="0" />
</osVersionInfo>
</dependentOS>
</dependency>
<dependency>
<dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true">
<assemblyIdentity name="Microsoft.Windows.CommonLanguageRuntime" version="4.0.30319.0" />
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="BMXNET40.dll" size="102400">
<assemblyIdentity name="BMXNET40" version="4.0.0.1" language="neutral" processorArchitecture="msil" />
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<dsig:DigestValue>87hyS0Cc8g0C25p8lM/YJxDWmS0=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="BMXWIN40.dll" size="89600">
<assemblyIdentity name="BMXWIN40" version="4.0.0.1" language="neutral" processorArchitecture="msil" />
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<dsig:DigestValue>Bat1XLf4HJ6KVnk8jAG0GWO3Btw=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="ClinicalScheduling.exe" size="724992">
<assemblyIdentity name="ClinicalScheduling" version="2.0.0.18765" language="neutral" processorArchitecture="msil" />
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<dsig:DigestValue>kLWcOlE0wrV4llowt87RoKjIMgg=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="ar\ClinicalScheduling.resources.dll" size="5120">
<assemblyIdentity name="ClinicalScheduling.resources" version="2.0.0.18765" language="ar" processorArchitecture="msil" />
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<dsig:DigestValue>uGPZoM38EhWW3xqvMljNbIyrwX0=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="PrintPreview.dll" size="73728">
<assemblyIdentity name="PrintPreview" version="1.0.4570.15574" language="neutral" processorArchitecture="msil" />
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<dsig:DigestValue>EW3c6pGdAEgQCLj9aAuAK1ExPNU=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
<file name="ClinicalScheduling.exe.config" size="613">
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<dsig:DigestValue>lEUsBWWQtJix6v4p2Q8lns1f5Vk=</dsig:DigestValue>
</hash>
</file>
<file name="dsPatientApptDisplay2.xsd" size="8748">
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<dsig:DigestValue>yUrOvp3mxJdfK8+rGgxVWba36KI=</dsig:DigestValue>
</hash>
</file>
<file name="dsRebookAppts.xsd" size="9677">
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<dsig:DigestValue>yMs3iFbgBSkr2LT0/v87a/PCX4w=</dsig:DigestValue>
</hash>
</file>
<file name="hwIco281.ICO" size="2734">
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<dsig:DigestValue>9DGznP1wU2isPgkAsqsd9mTzSz0=</dsig:DigestValue>
</hash>
</file>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!-- A list of the Windows versions that this application has been tested on and is
is designed to work with. Uncomment the appropriate elements and Windows will
automatically selected the most compatible environment. -->
<!-- Windows Vista -->
<!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />-->
<!-- Windows 7 -->
<!--<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />-->
<!-- Windows 8 -->
<!--<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />-->
<!-- Windows 8.1 -->
<!--<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />-->
<!-- Windows 10 -->
<!--<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />-->
</application>
</compatibility>
</asmv1:assembly>

File diff suppressed because it is too large Load Diff