Commit Graph

51 Commits

Author SHA1 Message Date
faisal 5c5c4e21a7 BSDX Scheduling changes for version 2.0.1. 2016-04-28 13:49:25 +00:00
faisal 39a445ec8e ClinicalScheduling version 2.0. 2015-12-24 15:43:43 +00:00
sam 184e9fe456 lstClip_DragDrop is modified to create a copy of the appointment to put in the clipboard rather than having the original appointment reference there. What happened was that when the appointment was dropped into the grid, it changed the original appointment object (it's the same CLR object!), when the original appointment object should not have been modified in the first place. I.e., we really just wanted a copy of the original appointment all along in the clipboard, not the original appointment itself.
Fixes bug EHS#0000255.
2012-08-09 20:05:09 +00:00
sam f53b7a108e Fixed AddAppointmentEnabled to check for the presence of resources in a resource group; otherwise you are given the ability to make an appointment on the resource group itself which causes a crash. Fixes bug EHS#000342. 2012-08-09 17:30:57 +00:00
sam c2efb1f9d8 Finally, v 1.7 to the main repo. I will delete the branch after this.
This commit merges all the BMX4 changes in the Scheduling GUI back to the main trunk.
2012-07-06 19:37:41 +00:00
tariq 6107d26553 fixing bug "crash when user name has a single quote" 2011-09-04 06:28:56 +00:00
sam a607a101f9 grr... 2011-05-16 13:47:52 +00:00
sam b4340d7f66 CGView: Wording Change.
Updated exes.
2011-05-16 13:36:04 +00:00
sam 303881fbef CGView:
1. Check to see if Radiology Appointment is cancellable. Check made when cancelling radiology appointment.
2. Prevent user from copying radiology appointment to clipboard.

DAL:
1. Added CanCancelRadExam entry point to support change in CGView above.

Updated exes and dlls.
2011-05-16 11:31:39 +00:00
sam 931eaf0533 V 1.6 Beta Release
AssemblyInfo.cs: version bumped up to 1.6
CGView: 
1. Changed Popup calendar menu enable/disable code for specific menu items (simplification)
2. Bug fixed in AddAppointmentEnabled(): Checks to see if there are any slots using the new algorithm introduced in v 1.5
3. Resequence order of Saving/Canceling Radiology Package Call with Saving/Cancelling Appointment. Saving Cancelling appointment comes first because it may fail and thus cancel the whole transaction.
4. BMX Events will now be raised after making/cancelling a radiology appointment.
5. Better exception handling for making Radiology Appointments in AppointmentAddNewRadiology().

strings.ar.resx:
Fixed a mispelling.

Printing:
Improved the display of dates for Appointment Slips.
2011-05-11 11:41:51 +00:00
sam d17cc4fc56 Absorbed all changed from Radiology Support branch.
Patient and Provider classes now serializable to address new bug: Availablity slots cannot be saved b/c these classes are not serializable.
2011-05-08 09:17:53 +00:00
sam 0c5eac0eb5 A couple of final fixes before the v 1.5 Release.
1. Moved the header for appointment slip and routing slip up by 25 pixels.
2. Clarified and undo message in CGView.
2011-05-03 08:01:50 +00:00
sam bab7ccea69 CalendarGrid: Many changes:
1. Dragover handler to handle auto scrolling when dragging. Also highlights destination cell in dragging.
2. Solution for the click-right click problem by better handling of right click issues.
3. New method OnRButtonDown()
4. Extra comments everywhere.
5. Fix for single column being enabled when there are multiple resources. Columns property now calls this.SetColumnInfo() to rectify that problem.
CGDocument:
1. EditAppoitment Used to send request a refresh from the DB and update the view itself, rather than letting the view handle that. That's now changed.
CGDocumentManager:
1. MessageBox displayed during login splash now are shown BY the splash form.
CGView:
1. Shortcuts and some display text updated.
2. Splash screen when updating now removed.
3. If print appointment slip checkbox is checked when EditAppointment is chosen, now it will print the routing slip.
4. Tiny change in appointment structure generated during drag and drop (added Patient member, as it was causing a crash)
DApptSearch:
1. Change of name of Appointment to Slot, for better user understanding.
DSplash:
1. RemoteMessage box methods and associated delegates for mickey mousing the form from another thread.

Updated release exes and dlls
2011-04-14 12:33:14 +00:00
sam 3bcc1a88ca CGDocumentManager: Localization now works from CurrentCulture, not just CurrentUICulture.
CGView: Nothing important. Designer moves around stuff; again.
Printing: Routing slip arabized; page starts at a lower level to allow for a watermark. Graphics.Dispose now called at the end of all prints to allow for faster gc.
strings: Updated with more translations.
2011-04-04 10:11:50 +00:00
sam 7b38b8c6dd RefreshSchedule() now used in ForceRefresh rather than Force Document. This one does directly what's needed.
New exes.
2011-03-30 12:28:31 +00:00
sam 6de4b0037f CGView: Added menuitem and handler for Refresh. Invoke using F5.
New exes.
2011-03-30 10:54:56 +00:00
sam a0731cd122 Oh Boy! More fixes...
strings.resx and strings.resx.ar: AppoinmentRoutingSlip identifier and name in strings changed to AppointmentReminderSlip
Printing: Corresponding change.
CGView: Appointment Order to be passed to routing slip was wrong if there were more than one resource open.
2011-03-30 10:18:19 +00:00
sam 16b509e923 CGView: Appointment Object now has Patient subobject created for routing slip information.
DPatientLookup: Now returns DOB as well.
Routing Slip doesn't print Sex anymore.
Updated Release Exes.
2011-03-30 09:42:22 +00:00
sam 24115735d9 Updated Release exes.
CGDocument: Appointment Creation Code now reuses appt object passed in rather than creating a new one.
CGView:
ctxPrintScheduleT3 added. Print schedule in 3 days. For weekday after weekend.
Scaling of grid now restricted. You can't scale down from the original TimeScale, but you can scale up.
DCheckIn: Remove unused variables.
DResource: Remove unused variables.
2011-03-30 08:19:15 +00:00
sam b0028cef06 CGView:
- New Context Menu to Uncheck-in Patient
- New Context Menus to Print Clinic Schedules for today, tomorrow, and 3 days from now.
- ContextMenu for NoShow and Undo Noshow have changed logic for when they become enabled.
- New logic to prevent checked-in appointments from being deleted.
- PrintClinicSchedule method to be called by printing context menus just added.
- Events are now NOT raised back to us from CGView.
- In many circumstances, the job to update from the DB is not performed anymore after you make appointments or cancel appointments. We will rely on events to let us know of changes in the appointments in the DB.
2011-03-29 09:46:30 +00:00
sam d21580e4ab CGDocument: Minor Change: Add appointment ID to Appointment
CGDocumentManager: added parameter /culture to set Thread.CurrentThread.CurrentUICulture
CGView: Minor changes in CheckInAppointment: Printing of Routing Slip now always happens.
 Routing slip now get parameter for patient order.
Patient: i18n of UserFriendlyAge
Printing: Extensive changes. Support for i18n; new routing slip and appt slip. i18n support only for appt slip.
2011-03-24 13:26:14 +00:00
sam dfe0dd8e09 CGAppointment: Added Provider as a Member of Class. (auto property)
CGDocument: No changes
CGDocumentManager: Added UserPreferences as a member of a Class (private and property)
CGView: Changes to support printing of Routing Slip
DAppointPage: Changes to support UserPreferences member for auto printing the routing slips
DCheckIn: Extensive changes in load code (now uses LINQ instead of ADO.net). Changes to support UserPreferences member for auto printing the routing slips.
Patient: Documentation for UserFriendlyAge.
Provider: New class to represent Provider
UserPreferences: New class to represent User preferences. Does not interact with DB right now.
2011-03-23 09:15:51 +00:00
sam 45490945a8 CGDocument:
- Renamed RefreshDaysSchedule to RefereshAppointments
- When appointments are created, new patient object is also populated.
CGDocumentManager:
- Renamed CustomPrinting to Printing
CGView: (Changes to support printing of Appointment Slip)
- Changed name and text of context menu to say "print appointment slip"
- Logic to Print Appointment Slip
CustomPrinting.cs renamed to Printing.cs; old Printing.Cs removed.
DAppointPage:
- New checkbox to request printing of Appointment Slip
- Sex of patient now pulled and included in form.
DPatientLetter:
- Redirected to use new Printing framework.
Patient:
- Sex enum and Sex member
- Age Property
- UserFriendlyAge Property
Printing:
- CustomPrinting renamed to Printing
- Adding function PrintAppointmentSlip
2011-03-21 12:47:45 +00:00
sam dfefa179b2 CalendarGrid:
- Support for Autoscrolling corrected. 
- A little optimization: Grid is only drawn once now when starting, not twice (don't know why original code did that).
CGAppointment:
- Added member Patient (new Class)
CGDocument:
- OnOpenDocument now accepts input of DateTime to decide where to open document.
- SlotsAvailable algorithm now includes code for scaling according to timescale and code to merge Blocks if they are adjacent.
CGDocumentManager:
- Fix bug having to do with canceling log-in after first retry. BMX lib threw an exception which was not caught.
CGView: Many changes:
- SlotsAvailable signature changed in CGDocument. All references to it had to be changed.
- Opening a node in the tvSchedules by clicking on the plus sign did not select it. Code changes to make it select it.
- UpdateStatusBar now uses a string builder; and shows a more comprehensive message on the availability in the Status Bar.
- Focus issues on various controls.
- Support for printing a slip after an appointment is made automatically has been added.
CustomPrinting:
- now includes a method to print a single appointment slip
DAppointPage:
- Checkbox to decide whether to print appt slip added.
- New readonly property to get the appointment that has been made (of type CGAppointment).
DApptSearch:
- StartDate and EndDate now autoadjust based on each other.
- lblMessage added to show user message if no appointments are found.
2011-03-20 07:22:11 +00:00
sam d347c2d7d8 DPatientLookup.cs: Usings Cleanup
DApptSearch: Extensive refactoring. Now uses new algorithm to find appointments. Now outputs CGAvailability
CGView: Appointments checked in now set the Checkin time on the appointment structure; changes to support DApptSearch modified output.
CGSchedLib: Extensive refactoring; only 2 methods remain: CreateAppointmentSchedule and CreateAvailabilitySchedule
CGDocument: SlotsAvailable uses a new algorithm
CGAVView: Uses CalendarGrid.TimesOverlap instead of the removed one in CGSchedLib
CGAVDocument: Uses CalendarGrid.TimesOverlap instead of the removed one in CGSchedLib; CreateAssignedSlotSchedule reassigned to CreateAvailabilitySchedule
2011-03-03 09:44:18 +00:00
sam 23b1654177 Remove CGSchedLib.OutputArray everywhere. Used to be needed in VS 2003; not anymore as you can see tables now.
CalendarGrid:
 - Make MinSince80 and TimesOverlap static functions for use by other classes since they are done over and over again.
CGAppointments:
 - Documentation updates
CGAVDocument:
 - Removal of OutputArray
CGDocument:
 - Refactored RefreshAvailabilitySchedule
 - AddAvailability will not call UpdateAllViews any more. View will be responsible for redrawing itself.
 - Removal of OutputArray
CGDocumentManager:
 - Removal of OutputArray
 - Documentation updates
CGSchedLib: Lots of Changes
 - Class now static (new .net 2.0 feature)
 - Removed OutputArray
 - Documentation Updates
 - Commented out now unused CreateAssignedTypeSchedule
CGView:
 - OnUpdateScheduleCallback now has try catch when it this.Invokes the original form so that it won't crash if the form has been closed before it gets called.
2011-02-21 14:21:24 +00:00
sam e6ebdedc67 CGDocument: On Delete Appointment, no update done by Document method. View responsible for this request.
CGView: 
1. Drag and Dropped code made to be the same as the rest. Call Document for updating appointments, but not redraw the grid. Drag Drop does not request a refresh directly; but rather, it shoots RPMS events which when they are raised back update the grid.
2. Fixed bug in Drag and Drop where the source appointment resource is changed before passing it to Document.CreateAppointment() which saves it to the database. This causes the appointments maintained by Document to be temporarily corrupted if CreateAppointment fails during drag and drop.
3. View calls refershdocumentasync now after Document.DeleteAppointment call.
Last but not least: new version of ClinicalScheduling.exe and BMXNet23.dll (release).
2011-01-27 07:46:45 +00:00
sam 8e5d5f8665 New exe and dll
calendarGrid: Minor documentation updates.
CGAppointments: Object now supports Deep cloning
CGDocument: 
1. Major changes on how m_pAvArrays is handled. Now it is locked whenever it is updated or queried. Some refactoring to make sure there are no db calls during the locks so that the locks won't be expensive.
2. Removed ClearResources, an unused method.
3. Appointment aCopy walkin property is set to true if the appointment is a walkin. This makes sure that the grid draws it correctly between it is added to the appointment array and we fetch new data from the server.
4. Create appointment is not responsible anymore for requesting updates from the server. All requests to update data must be done through CGView, as it is the only party
 interested in displaying accurate data on the grid. Just send the create appt event to the server.
5. CheckInAppointment: Same thing. Now responsible for requesting updates from the server. Just send the checkin event to the server.
CGDocumentManager: Removed tracing. Done in BMX Library only now.
CGView:
1. CGAppointment fetched from Document, not from the copy maintained by the calendarGrid.
2. RefreshDocument calls before an appointment is made have been removed (need to find another way to make sure that the appointment has just not been booked). RefreshDocument & UpdateArrays are called async after appointments are made.
3. Appointment List passed to Calendar grid is now a copy, to prevent issues with concurrent access.
4. Message if a patient has apppointment at the same time vastly improved.
2011-01-26 11:01:39 +00:00
sam 700ea47212 CalendarGrid: Handling for mouse scroll wheel added.
CGAppointments: Now supports Deep Cloning with Clone().
Updated Exes
2011-01-23 13:00:56 +00:00
sam 3a03dc6871 calendarGrid: Removed MouseEnter event and added it to CGView which now has to handle it properly.
CGAppointments: now supports cloning.
CGDocument: Added RefreshDocumentAsync, which retrives data from the server w/o asking the grid to refersh.
CGDocumentManager: CGView.InitializeDocView does not take appointments as argument; callers are changed.
CGView: Many Changes:
 - Opening a Schedule nows calls up a splash and a wait cursor while loading.
 - Events coming from the server are now handled asynchronously (not on UI thread). This results in much better responsiveness.
 - Appointments, Availabilities, Resources are all set in the CalendarGrid by UpdateArrays; as a centralized point of drawing the grid.
 - A mistaken "feature"--stealing focus from each others windows, was removed--CalendarGrid.Focus event only fired now if the form is the Active Form. This is accomplished using GetActiveWindow() from user32.dll (a Win32 API).
LoadingSplash: Opacity removed; form resized.
2011-01-20 14:32:28 +00:00
sam fcb6ddfd95 CGDocument:
- Better constructor to set default values.
- Removed OnNewDocument and used constructor plus extra arguments instead.
- Added IsRefreshNeeded method to see if we need to get data from server.
CGDocumentManager:
- Refactored OnNewDocument out (was going to use Application.Run with the CGView form as argument, that didn't work for re-logging in)
- Refactored all ChangeServer and ChangeLogin handlers b/c they got broken with previous work.
CGView:
- this.Activate now in Load to show the form if you use Application.Run(view)
- Added shortcuts for chaning Server, Login, Division
- Position the Grid when doing OpenSelectedSchedule to start at the right day.
- Used IsRefreshNeeded to selectively load the splash screen and contact the database for refresh then close splash screen in RequestRefreshGrid.
2011-01-19 14:02:59 +00:00
sam 4db6055187 LoadingSplash: New Form that does... pretty much nothing. Just shows a splash when updating data from server.
CGView: 
- Refactoring for OpenSelectedSchedule. No major changes.
- Splash Screen and Wait Cursor support in RequestRefershGrid
CGDocumentManager:
- Use lambda (hurray!) for ParameterizedThreadStart
CGDocument:
- AddResource no longer updates views (they are empty at the point they added.)
- Removed unused SetDate method.
- Property SelectedDate no longer triggers updates to the database. Now you have to use RefershDocument instead.
2011-01-18 14:15:22 +00:00
sam 0c195fe52e CGView: Refactor PositionGrid into CalendarGrid. 2011-01-17 14:25:48 +00:00
sam c21d94372c CGView: dateTimePicker1 behavior changes:
- No longer update schedule based on value change, as this is too too too chatty.
- Update schedule based on:
-- Picking a date from the drop down
-- Leaving dateTimePicker1
-- Pressing the enter key
2011-01-16 10:41:21 +00:00
sam 1232289af5 CGView:
- Changed the parameters required for checkin.
- Removed references to PCC+ and Stop Code processing, as they don't apply in VISTA.
CGDocument:
- Changed RPC call parameters to check in an appointment (BSDX CHECKIN APPOINTMENT).
- Date passed to BSDX Checkin Appointment is now an FM Date.
- Both necessitated server side changes.
DCheckIn:
- Removed processing for PCC+ and Stop Codes.
CGDocumentManager
- Removed Clinic Stop Code table loading.
2011-01-09 12:13:00 +00:00
sam 3d51d124f2 calendarGrid now inherits from ScrollableControl rather than Panel to support easy mouse scrolling. Don't know if this works on Windows XP yet. 2010-11-24 06:42:07 +00:00
sam 4503323eb2 Several fixes:
1. Appointments in Past now trigger a warning.
2. Changes to support Division based management of Scheduling GUI.
2010-09-28 13:40:17 +00:00
sam 226b6cb7a1 2010-07-21 13:42:23 +00:00
sam e923b7c59f Updated Source Code for i18n.
Changes in DPatientLetter.cs
Changes in CGSchedLib.cs
2010-07-11 14:09:11 +00:00
sam 085c214c9f Fixing an ooopsie bug introduced when I was testing stuff. 2010-07-07 10:19:16 +00:00
sam 5c54e67cb8 Mostly commenting the code. 2010-07-04 05:25:13 +00:00
sam 8a3b5028e0 Support for Routing Slip printing.
Version change from 1.1 to 1.2 in preparation for release.
Printing.cs: Addition of PrintRoutingSlip method.
CGView.cs: Handling of printing of routing slip if chosen in DCheckIn.cs
CGView.cs: New context option to re-print routing slip
DCheckIn.cs: toolTip1 to explain that routing slip will print on the default printer.
2010-06-19 16:41:06 +00:00
sam a358427378 DCheckIn.cs: Handling of providers for hospital locations (HL). If provider(s) assigned to HL linked to resource, they are brought over and if a default one is in VISTA, it's picked as the default in the combobox. If no default, combobox defaults to <None>. If resource not linked to HL, then all providers in system brought over, and combobox default is <None>.
CGDocumentManager.cs: Remove loading of ClinicSetupParameters file. File doesn't exist in VISTA.
DResource.cs: Remove handling of same file.
2010-06-18 23:06:14 +00:00
sam 6b19ad0ac8 CGView: Added various shortcuts keys for menus; removed extra overbook prompt after booking if doing an overbook. You already get one before booking.
CGDocumentManager: Mickey mouse connection check to prevent prompting for access and verify if there's no connection to VISTA.
CGDocumentManager: Test SQL statement to retrieve Hospital Locations and default providers associated with them.
Remove garbage file {85FE etc}.rpt
2010-06-10 21:20:08 +00:00
sam 3b9b21d70f 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.
2010-06-07 00:59:53 +00:00
sam 55766d0a5c Some debugging code to attach the program to the console to print messages.
Letters:
- Cancellation letters now work.
- Initial work on Rebook Letters.
2010-06-05 02:19:48 +00:00
sam fdee4b85c0 Removal of Crystal Reports
Partial Rework of Clinic Patient List report
Other reports that used Crystal don't work yet.
Fixes for Strongly typed DataTables (change the RESOURCEID from uint to int) to support table merge from untyped table.
Support for command line arguments: /s= for server /p= for port /a= for access code /v= for verify code
Only the following combinations work: none; /s and /p; /s, /p, /a, /v
2010-05-22 01:03:45 +00:00
sam 9752fae5fe Removed user-interface references to RPMS. 2009-12-04 08:04:47 +00:00
sam 0a8d138b14 Remove references to IHS; typically "IHS Clinical Scheduling" becomes "Clinical Scheduling"
Deleted Debug folder--no need to version this.
2009-12-01 04:54:57 +00:00
sam a1ffacceb8 Removed references to "View EHR" from ctxCalendarGrid and DAppointPage. 2009-11-30 11:09:16 +00:00