Provided framework for Rebook letters; but they don't work.
Added the appointment dates to the printed letters. Made more shortcuts on the main menu. Changed version to 1.1, to be more congruous with the state of the software.
This commit is contained in:
parent
55766d0a5c
commit
3b9b21d70f
|
@ -1,13 +1,14 @@
|
|||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
//
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
//
|
||||
[assembly: AssemblyTitle("ClinicalScheduling")]
|
||||
[assembly: AssemblyDescription("Windows Scheduling Application")]
|
||||
[assembly: AssemblyTitle("Clinical Scheduling")]
|
||||
[assembly: AssemblyDescription("Windows Scheduling Application for VistA")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("WorldVistA")]
|
||||
[assembly: AssemblyProduct("")]
|
||||
|
@ -26,7 +27,7 @@ using System.Runtime.CompilerServices;
|
|||
// You can specify all the values or you can default the Revision and Build Numbers
|
||||
// by using the '*' as shown below:
|
||||
|
||||
[assembly: AssemblyVersion("2.2.*")]
|
||||
[assembly: AssemblyVersion("1.1.*")]
|
||||
|
||||
//
|
||||
// In order to sign your assembly you must specify a key to use. Refer to the
|
||||
|
@ -56,4 +57,5 @@ using System.Runtime.CompilerServices;
|
|||
[assembly: AssemblyDelaySign(false)]
|
||||
[assembly: AssemblyKeyFile("")]
|
||||
[assembly: AssemblyKeyName("")]
|
||||
[assembly: AssemblyFileVersionAttribute("2.2.0.0")]
|
||||
[assembly: AssemblyFileVersionAttribute("1.1.0.0")]
|
||||
[assembly: ComVisibleAttribute(false)]
|
||||
|
|
|
@ -265,7 +265,6 @@ 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();
|
||||
|
@ -280,6 +279,7 @@ 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();
|
||||
|
@ -403,6 +403,7 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
// mnuPrintPatientLetter
|
||||
//
|
||||
this.mnuPrintPatientLetter.Index = 13;
|
||||
this.mnuPrintPatientLetter.Shortcut = System.Windows.Forms.Shortcut.CtrlL;
|
||||
this.mnuPrintPatientLetter.Text = "Print Patient Le&tter";
|
||||
this.mnuPrintPatientLetter.Click += new System.EventHandler(this.mnuPrintPatientLetter_Click);
|
||||
//
|
||||
|
@ -414,6 +415,7 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
// mnuClose
|
||||
//
|
||||
this.mnuClose.Index = 15;
|
||||
this.mnuClose.Shortcut = System.Windows.Forms.Shortcut.CtrlW;
|
||||
this.mnuClose.Text = "&Close Schedule";
|
||||
this.mnuClose.Click += new System.EventHandler(this.mnuClose_Click);
|
||||
//
|
||||
|
@ -632,7 +634,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, 473);
|
||||
this.tvSchedules.Size = new System.Drawing.Size(128, 410);
|
||||
this.tvSchedules.Sorted = true;
|
||||
this.tvSchedules.TabIndex = 1;
|
||||
this.tvSchedules.DoubleClick += new System.EventHandler(this.tvSchedules_DoubleClick);
|
||||
|
@ -680,7 +682,7 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
this.panelRight.Dock = System.Windows.Forms.DockStyle.Right;
|
||||
this.panelRight.Location = new System.Drawing.Point(676, 0);
|
||||
this.panelRight.Name = "panelRight";
|
||||
this.panelRight.Size = new System.Drawing.Size(128, 473);
|
||||
this.panelRight.Size = new System.Drawing.Size(128, 410);
|
||||
this.panelRight.TabIndex = 3;
|
||||
this.panelRight.Visible = false;
|
||||
//
|
||||
|
@ -776,37 +778,9 @@ 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, 425);
|
||||
this.panelCenter.Size = new System.Drawing.Size(537, 362);
|
||||
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(537, 425);
|
||||
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[] {
|
||||
|
@ -877,7 +851,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, 449);
|
||||
this.panelBottom.Location = new System.Drawing.Point(136, 386);
|
||||
this.panelBottom.Name = "panelBottom";
|
||||
this.panelBottom.Size = new System.Drawing.Size(537, 24);
|
||||
this.panelBottom.TabIndex = 8;
|
||||
|
@ -895,7 +869,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, 449);
|
||||
this.splitter1.Size = new System.Drawing.Size(8, 386);
|
||||
this.splitter1.TabIndex = 9;
|
||||
this.splitter1.TabStop = false;
|
||||
//
|
||||
|
@ -904,14 +878,42 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
this.splitter2.Dock = System.Windows.Forms.DockStyle.Right;
|
||||
this.splitter2.Location = new System.Drawing.Point(673, 24);
|
||||
this.splitter2.Name = "splitter2";
|
||||
this.splitter2.Size = new System.Drawing.Size(3, 449);
|
||||
this.splitter2.Size = new System.Drawing.Size(3, 386);
|
||||
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, 473);
|
||||
this.ClientSize = new System.Drawing.Size(804, 410);
|
||||
this.Controls.Add(this.panelCenter);
|
||||
this.Controls.Add(this.panelBottom);
|
||||
this.Controls.Add(this.splitter2);
|
||||
|
@ -1783,7 +1785,8 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
if (a.Contains(appt.Resource) == false)
|
||||
a.Add(appt.Resource);
|
||||
}
|
||||
//Call rebook letters RPC to get datatable
|
||||
|
||||
// Print rebooks
|
||||
string sClinicList = "";
|
||||
foreach (string sRes in a)
|
||||
{
|
||||
|
|
Binary file not shown.
|
@ -30,6 +30,7 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
//dataset to load the results of queries into and set to print routines
|
||||
dsPatientApptDisplay2 _dsApptDisplay;
|
||||
private PrintDocument printCancelLetters;
|
||||
private PrintDocument printRebookLetters;
|
||||
dsRebookAppts _dsRebookAppts;
|
||||
#endregion Fields
|
||||
|
||||
|
@ -72,7 +73,14 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
}
|
||||
}
|
||||
|
||||
public void InitializeFormRebookLetters(CGDocumentManager docManager,
|
||||
/// <summary>
|
||||
/// Print Rebook Letters by Date
|
||||
/// </summary>
|
||||
/// <param name="docManager">This docManger</param>
|
||||
/// <param name="sClinicList">Clinics for which to print</param>
|
||||
/// <param name="dtBegin">Beginning Date</param>
|
||||
/// <param name="dtEnd">End Date</param>
|
||||
public void InitializeFormRebookLetters(CGDocumentManager docManager,
|
||||
string sClinicList,
|
||||
DateTime dtBegin,
|
||||
DateTime dtEnd)
|
||||
|
@ -88,17 +96,29 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
string sEnd = dtEnd.ToString("M/d/yyyy@HH:mm");
|
||||
|
||||
//Call RPC to get list of appt ids that have been rebooked for these clinics on these dates
|
||||
string sSql1 = "BSDX REBOOK CLINIC LIST^" + sClinicList + "^" + sBegin + "^" + sEnd;
|
||||
DataTable dtLetters = docManager.RPMSDataTable(sSql1, "PatientAppts");
|
||||
|
||||
string sSql1 = "BSDX REBOOK CLINIC LIST^" + sClinicList + "^" + sBegin + "^" + sEnd;
|
||||
string sSql2 = "BSDX RESOURCE LETTERS^" + sClinicList;
|
||||
DataTable dt = docManager.RPMSDataTable(sSql2, "Resources");
|
||||
|
||||
_dsRebookAppts = new dsRebookAppts();
|
||||
_dsRebookAppts.PatientAppts.Merge(docManager.RPMSDataTable(sSql1, "PatientAppts"));
|
||||
_dsRebookAppts.BSDXResource.Merge(docManager.RPMSDataTable(sSql2, "Resources"));
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw ex;
|
||||
}
|
||||
|
||||
PrintPreviewControl.Document = printRebookLetters;
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Print Rebook Letters by Date
|
||||
/// </summary>
|
||||
/// <param name="docManager">This docManger</param>
|
||||
/// <param name="sClinicList">Clinics for which to print</param>
|
||||
/// <param name="sApptIDList">List of appointments IENs in ^BSDXAPPT, delimited by |</param>
|
||||
public void InitializeFormRebookLetters(CGDocumentManager docManager,
|
||||
string sClinicList,
|
||||
string sApptIDList)
|
||||
|
@ -110,17 +130,21 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
throw new Exception("At least one clinic must be selected.");
|
||||
}
|
||||
|
||||
string sSql = "BSDX REBOOK LIST^" + sApptIDList;
|
||||
DataTable dtLetters = docManager.RPMSDataTable(sSql, "PatientAppts");
|
||||
|
||||
string sSql1 = "BSDX REBOOK LIST^" + sApptIDList;
|
||||
string sSql2 = "BSDX RESOURCE LETTERS^" + sClinicList;
|
||||
DataTable dt = docManager.RPMSDataTable(sSql2, "Resources");
|
||||
|
||||
_dsRebookAppts = new dsRebookAppts();
|
||||
_dsRebookAppts.PatientAppts.Merge(docManager.RPMSDataTable(sSql1, "PatientAppts"));
|
||||
_dsRebookAppts.BSDXResource.Merge(docManager.RPMSDataTable(sSql2, "Resources"));
|
||||
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw ex;
|
||||
}
|
||||
|
||||
PrintPreviewControl.Document = printRebookLetters;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -202,7 +226,9 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Ctor
|
||||
/// </summary>
|
||||
public DPatientLetter() : base()
|
||||
{
|
||||
//
|
||||
|
@ -240,6 +266,7 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
this.printAppts = new System.Drawing.Printing.PrintDocument();
|
||||
this.printReminderLetters = new System.Drawing.Printing.PrintDocument();
|
||||
this.printCancelLetters = new System.Drawing.Printing.PrintDocument();
|
||||
this.printRebookLetters = new System.Drawing.Printing.PrintDocument();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// printAppts
|
||||
|
@ -254,6 +281,10 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
//
|
||||
this.printCancelLetters.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(this.printCancelLetters_PrintPage);
|
||||
//
|
||||
// printRebookLetters
|
||||
//
|
||||
this.printRebookLetters.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(this.printRebookLetters_PrintPage);
|
||||
//
|
||||
// DPatientLetter
|
||||
//
|
||||
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
|
||||
|
@ -331,5 +362,26 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
private void printRebookLetters_PrintPage(object sender, PrintPageEventArgs e)
|
||||
{
|
||||
// no patients
|
||||
if (_dsRebookAppts.PatientAppts.Count == 0)
|
||||
{
|
||||
ClinicalScheduling.Printing.PrintMessage("No Appointments found", e);
|
||||
return;
|
||||
}
|
||||
// if there are patients
|
||||
else if (_currentApptPrinting < _dsRebookAppts.PatientAppts.Count)
|
||||
{
|
||||
dsRebookAppts.BSDXResourceRow c = (dsRebookAppts.BSDXResourceRow)
|
||||
_dsRebookAppts.PatientAppts[_currentApptPrinting].GetParentRow(_dsRebookAppts.Relations[0]);
|
||||
//XXX: Rebook letter rather oddly currently stored in NO SHOW LETTER field. What gives???
|
||||
ClinicalScheduling.Printing.PrintRebookLetter(_dsRebookAppts.PatientAppts[_currentApptPrinting], e, c.NO_SHOW_LETTER, "Rebook Letter");
|
||||
_currentApptPrinting++;
|
||||
if (_currentApptPrinting < _dsRebookAppts.PatientAppts.Count)
|
||||
e.HasMorePages = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -126,4 +126,7 @@
|
|||
<metadata name="printCancelLetters.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>374, 17</value>
|
||||
</metadata>
|
||||
<metadata name="printRebookLetters.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>515, 17</value>
|
||||
</metadata>
|
||||
</root>
|
|
@ -147,7 +147,16 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
g.DrawLine(Pens.Black, printArea.Location, new Point(printArea.Right, printArea.Y));
|
||||
printArea.Y += 15;
|
||||
printArea.Height -= 15;
|
||||
|
||||
|
||||
// write appointment date
|
||||
string str = "Appointment Date: " + ptRow.ApptDate + "\n\n";
|
||||
g.DrawString(str, fBody, Brushes.Black, printArea);
|
||||
|
||||
// move down
|
||||
int strHeight = (int)g.MeasureString(str, fBody, printArea.Width).Height;
|
||||
printArea.Y += strHeight;
|
||||
printArea.Height -= strHeight;
|
||||
|
||||
// write missive
|
||||
g.DrawString(letter, fBody, Brushes.Black, printArea);
|
||||
|
||||
|
@ -164,9 +173,9 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
}
|
||||
|
||||
/// <summary>
|
||||
/// Print Letter to be given or mailed to the patient
|
||||
/// Cancellation Letter to be given or mailed to the patient
|
||||
/// </summary>
|
||||
/// <param name="ptrow">Strongly typed PatientApptsRow to pass (just one ApptRow)</param>
|
||||
/// <param name="ptRow">Strongly typed PatientApptsRow to pass (just one ApptRow)</param>
|
||||
/// <param name="e">You know what that is</param>
|
||||
/// <param name="letter">Contains letter string</param>
|
||||
/// <param name="title">Title of the letter</param>
|
||||
|
@ -190,6 +199,15 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
printArea.Y += 15;
|
||||
printArea.Height -= 15;
|
||||
|
||||
// write appointment date
|
||||
string str = "Appointment Date: " + ptRow.OldApptDate + "\n\n";
|
||||
g.DrawString(str, fBody, Brushes.Black, printArea);
|
||||
|
||||
// move down
|
||||
int strHeight = (int)g.MeasureString(str, fBody, printArea.Width).Height;
|
||||
printArea.Y += strHeight;
|
||||
printArea.Height -= strHeight;
|
||||
|
||||
// write missive
|
||||
g.DrawString(letter, fBody, Brushes.Black, printArea);
|
||||
|
||||
|
@ -205,6 +223,64 @@ namespace IndianHealthService.ClinicalScheduling
|
|||
g.DrawString(address.ToString(), fBody, Brushes.Black, printArea, sf);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Print rebook letters. Prints old and new appointments dates then the missive.
|
||||
/// </summary>
|
||||
/// <param name="ptRow">Strongly typed appointment row</param>
|
||||
/// <param name="e">etc</param>
|
||||
/// <param name="letter">Text of the letter to print</param>
|
||||
/// <param name="title">Title to print at the top of the letter</param>
|
||||
public static void PrintRebookLetter(dsRebookAppts.PatientApptsRow ptRow, PrintPageEventArgs e, string letter, string title)
|
||||
{
|
||||
Rectangle printArea = e.MarginBounds;
|
||||
Graphics g = e.Graphics;
|
||||
StringFormat sf = new StringFormat();
|
||||
sf.Alignment = StringAlignment.Center; //for title
|
||||
Font fTitle = new Font(FontFamily.GenericSerif, 24, FontStyle.Bold); //for title
|
||||
Font fBody = new Font(FontFamily.GenericSerif, 12);
|
||||
g.DrawString(title, fTitle, Brushes.Black, printArea, sf); //title
|
||||
|
||||
// move down
|
||||
int titleHeight = (int)g.MeasureString(title, fTitle, printArea.Width).Height;
|
||||
printArea.Y += titleHeight;
|
||||
printArea.Height -= titleHeight;
|
||||
|
||||
// draw underline
|
||||
g.DrawLine(Pens.Black, printArea.Location, new Point(printArea.Right, printArea.Y));
|
||||
printArea.Y += 15;
|
||||
printArea.Height -= 15;
|
||||
|
||||
// write old and new appointment dates
|
||||
string str = "Old Appointment Date:\t\t" + ptRow.OldApptDate + "\n";
|
||||
str += "New Appointment Date:\t\t" + ptRow.NewApptDate + "\n\n";
|
||||
g.DrawString(str, fBody, Brushes.Black, printArea);
|
||||
|
||||
// move down
|
||||
int strHeight = (int)g.MeasureString(str, fBody, printArea.Width).Height;
|
||||
printArea.Y += strHeight;
|
||||
printArea.Height -= strHeight;
|
||||
|
||||
// write missive
|
||||
g.DrawString(letter, fBody, Brushes.Black, printArea);
|
||||
|
||||
//print Address in lower left corner for windowed envolopes
|
||||
printArea.Location = new Point(e.MarginBounds.X, (int)(e.PageBounds.Height * 0.66));
|
||||
printArea.Height = (int)(e.MarginBounds.Height * 0.20);
|
||||
sf.Alignment = StringAlignment.Near;
|
||||
sf.LineAlignment = StringAlignment.Center;
|
||||
StringBuilder address = new StringBuilder(100);
|
||||
address.AppendLine(ptRow.Name);
|
||||
address.AppendLine(ptRow.STREET);
|
||||
address.AppendLine(ptRow.CITY + ", " + ptRow.STATE + " " + ptRow.ZIP);
|
||||
g.DrawString(address.ToString(), fBody, Brushes.Black, printArea, sf);
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Print message on a page; typically that there are no appointments to be found.
|
||||
/// </summary>
|
||||
/// <param name="msg">The exact string to print.</param>
|
||||
/// <param name="e">Print Page event args</param>
|
||||
public static void PrintMessage(string msg, PrintPageEventArgs e)
|
||||
{
|
||||
e.Graphics.DrawString(msg, new Font(FontFamily.GenericSerif, 14),
|
||||
|
|
|
@ -167,6 +167,55 @@
|
|||
Required designer variable.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:IndianHealthService.ClinicalScheduling.DPatientLetter.InitializeFormClinicSchedule(IndianHealthService.ClinicalScheduling.CGDocumentManager,System.String,System.DateTime,System.DateTime)">
|
||||
<summary>
|
||||
Print Clinic Schedules
|
||||
</summary>
|
||||
<param name="docManager">This docManger</param>
|
||||
<param name="sClinicList">Clinics for which to print</param>
|
||||
<param name="dtBegin">Beginning Date</param>
|
||||
<param name="dtEnd">End Date</param>
|
||||
</member>
|
||||
<member name="M:IndianHealthService.ClinicalScheduling.DPatientLetter.InitializeFormRebookLetters(IndianHealthService.ClinicalScheduling.CGDocumentManager,System.String,System.DateTime,System.DateTime)">
|
||||
<summary>
|
||||
Print Rebook Letters by Date
|
||||
</summary>
|
||||
<param name="docManager">This docManger</param>
|
||||
<param name="sClinicList">Clinics for which to print</param>
|
||||
<param name="dtBegin">Beginning Date</param>
|
||||
<param name="dtEnd">End Date</param>
|
||||
</member>
|
||||
<member name="M:IndianHealthService.ClinicalScheduling.DPatientLetter.InitializeFormRebookLetters(IndianHealthService.ClinicalScheduling.CGDocumentManager,System.String,System.String)">
|
||||
<summary>
|
||||
Print Rebook Letters by Date
|
||||
</summary>
|
||||
<param name="docManager">This docManger</param>
|
||||
<param name="sClinicList">Clinics for which to print</param>
|
||||
<param name="sApptIDList">List of appointments IENs in ^BSDXAPPT, delimited by |</param>
|
||||
</member>
|
||||
<member name="M:IndianHealthService.ClinicalScheduling.DPatientLetter.InitializeFormCancellationLetters(IndianHealthService.ClinicalScheduling.CGDocumentManager,System.String,System.DateTime,System.DateTime)">
|
||||
<summary>
|
||||
Print Cancellation letters to mail to patients
|
||||
</summary>
|
||||
<param name="docManager">This Docmanager</param>
|
||||
<param name="sClinicList">| delemited clinic list (IEN's)</param>
|
||||
<param name="dtBegin">Beginning Date</param>
|
||||
<param name="dtEnd">Ending Date</param>
|
||||
</member>
|
||||
<member name="M:IndianHealthService.ClinicalScheduling.DPatientLetter.InitializeFormPatientReminderLetters(IndianHealthService.ClinicalScheduling.CGDocumentManager,System.String,System.DateTime,System.DateTime)">
|
||||
<summary>
|
||||
Print Reminder Letters to give or mail to patients
|
||||
</summary>
|
||||
<param name="docManager">This docManger</param>
|
||||
<param name="sClinicList">Clinics for which to print</param>
|
||||
<param name="dtBegin">Beginning Date</param>
|
||||
<param name="dtEnd">End Date</param>
|
||||
</member>
|
||||
<member name="M:IndianHealthService.ClinicalScheduling.DPatientLetter.#ctor">
|
||||
<summary>
|
||||
Ctor
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:IndianHealthService.ClinicalScheduling.DPatientLetter.Dispose(System.Boolean)">
|
||||
<summary>
|
||||
Clean up any resources being used.
|
||||
|
@ -504,15 +553,40 @@
|
|||
Class that encapsulates printing functions in Clinical Scheduling
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:IndianHealthService.ClinicalScheduling.Printing.PrintAppointments(IndianHealthService.ClinicalScheduling.dsPatientApptDisplay2,System.Drawing.Printing.PrintPageEventArgs,System.DateTime,System.DateTime,System.Int32,System.Int32@)">
|
||||
<!-- Badly formed XML comment ignored for member "M:IndianHealthService.ClinicalScheduling.Printing.PrintAppointments(IndianHealthService.ClinicalScheduling.dsPatientApptDisplay2,System.Drawing.Printing.PrintPageEventArgs,System.DateTime,System.DateTime,System.Int32,System.Int32@,System.Int32)" -->
|
||||
<member name="M:IndianHealthService.ClinicalScheduling.Printing.PrintReminderLetter(IndianHealthService.ClinicalScheduling.dsPatientApptDisplay2.PatientApptsRow,System.Drawing.Printing.PrintPageEventArgs,System.String,System.String)">
|
||||
<summary>
|
||||
Print Appointments
|
||||
Print Letter to be given or mailed to the patient
|
||||
</summary>
|
||||
<param name="ds">Strongly Typed DataSet contains Resources and Appointments</param>
|
||||
<param name="e">PrintPageEventArgs from PrintDocument Print handler</param>
|
||||
<param name="beg">Begin Datetime to print appointments</param>
|
||||
<param name="end">End Datetime to print appointments</param>
|
||||
<remarks>beg and end have no effect on operation--they are there for documentation for user only</remarks>
|
||||
<param name="ptrow">Strongly typed PatientApptsRow to pass (just one ApptRow)</param>
|
||||
<param name="e">You know what that is</param>
|
||||
<param name="letter">Contains letter string</param>
|
||||
<param name="title">Title of the letter</param>
|
||||
</member>
|
||||
<member name="M:IndianHealthService.ClinicalScheduling.Printing.PrintCancelLetter(IndianHealthService.ClinicalScheduling.dsRebookAppts.PatientApptsRow,System.Drawing.Printing.PrintPageEventArgs,System.String,System.String)">
|
||||
<summary>
|
||||
Cancellation Letter to be given or mailed to the patient
|
||||
</summary>
|
||||
<param name="ptRow">Strongly typed PatientApptsRow to pass (just one ApptRow)</param>
|
||||
<param name="e">You know what that is</param>
|
||||
<param name="letter">Contains letter string</param>
|
||||
<param name="title">Title of the letter</param>
|
||||
</member>
|
||||
<member name="M:IndianHealthService.ClinicalScheduling.Printing.PrintRebookLetter(IndianHealthService.ClinicalScheduling.dsRebookAppts.PatientApptsRow,System.Drawing.Printing.PrintPageEventArgs,System.String,System.String)">
|
||||
<summary>
|
||||
Print rebook letters. Prints old and new appointments dates then the missive.
|
||||
</summary>
|
||||
<param name="ptRow">Strongly typed appointment row</param>
|
||||
<param name="e">etc</param>
|
||||
<param name="letter">Text of the letter to print</param>
|
||||
<param name="title">Title to print at the top of the letter</param>
|
||||
</member>
|
||||
<member name="M:IndianHealthService.ClinicalScheduling.Printing.PrintMessage(System.String,System.Drawing.Printing.PrintPageEventArgs)">
|
||||
<summary>
|
||||
Print message on a page; typically that there are no appointments to be found.
|
||||
</summary>
|
||||
<param name="msg">The exact string to print.</param>
|
||||
<param name="e">Print Page event args</param>
|
||||
</member>
|
||||
<member name="T:IndianHealthService.ClinicalScheduling.DResourceGroupItem">
|
||||
<summary>
|
||||
|
|
Binary file not shown.
Loading…
Reference in New Issue