Commit Graph

179 Commits

Author SHA1 Message Date
sam 6c386491b2 Several Fixes found in my own testing:
- CalendarGrid needs to have StartDate as 12:00:00, otherwise a subtraction to calculate the column number of each availability doesn't work properly
- CGDocument needs to have SelectedDate set otherwise when it refreshes, it uses the selected date and makes the screen suddenly blank.
- DApptSearch needs to make date/times proper to send over to DB. CGSchedLib.CreateAvailabilitySchedule needs the startDate to be the beginning of the day and end date to be the end of the day. Now this is done.
- Updated exes.
2011-03-29 14:29:04 +00:00
sam 410bed6c38 Added (maybe) better uncaught Exception handling. We'll see if it works at all.
Release exes, again.
2011-03-29 11:34:41 +00:00
sam 6b124a0bf7 CGDocumentManager: Version Check Added.
Release versions, again
2011-03-29 10:07:31 +00:00
sam af43384cd7 Committing Release exes/dlls for 1.5 Alpha 3. 2011-03-29 09:55:53 +00:00
sam adfec89d10 Adding arabization files. 2011-03-29 09:49:12 +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 0e73482b11 CGAVDocument: Don't Update Grid. Leave that to CGAVView.
CGAVView: When updating grid, make a copy of appointments, and use the copy, so there won't be clashes when updating appointments in the background.
CGDocument: Minor Changes in AppointmentNoShow; New method AppointmentUndoCheckIn
CGDocumentManager: Resequenced load order b/c UserPreferences now talks to DB.
DAL: New Methods to save autoprint preferences; new delegate to enable some async stuff
DCheckIn & DAppointPage: _myCodeIsFiringIstheCheckBoxChangedEvent added to protect against firing event when setting checkbox in the code.
DPatientLetter: No changes.
UserPreferences: Now gets and saves user preferences from DB.
2011-03-29 09:38:18 +00:00
sam 5860f06e6a Alpha 3 version files 2011-03-28 14:40:45 +00:00
sam d0ccf1c8a9 BSDX01: New EP to Get and Set the new paramters that come with BSDX
BSDX2E: Initial values for the new parameters at package level
BSDX25: Minor correction. BSDXY should not be newed.
2011-03-28 14:38:15 +00:00
sam 1ac96efefa BSDX25, now past Unit Tests 2011-03-27 12:51:38 +00:00
sam f3208b546e Added EP for RPC to remove check-in 2011-03-27 05:33: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 76ef239371 some comments in BSDX02 2011-03-21 12:17:08 +00:00
sam 1a65cba5ce BSDX02 now returns Sex, DOB and PID in appointment list 2011-03-21 07:41:06 +00:00
sam 7e34215b78 Patient class added. Simple class to represent guess what. 2011-03-20 07:22:52 +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 5a07602950 Minor mods to BSDX07 to accept an End Date at midnight 2011-03-15 09:47:26 +00:00
sam a1450850d8 CGDocumentManager: Holiday SQL statement relied on Windows Date which is culture specific. Now sent as culture insensitive FM Date for query. 2011-03-07 10:59:47 +00:00
sam 8e886f069a Updated Readme with latest bugs and fixes 2011-03-03 10:20:16 +00:00
sam 454bc36de8 New Kids build for V1.5 alpha 2 2011-03-03 10:05:38 +00:00
sam 6a9d00a3ae Updated Version numbers for routines: new version 1.5V2 2011-03-03 10:01:53 +00:00
sam d4d78c981c Release version for svn. 2011-03-03 09:56:31 +00:00
sam cc5b33051b CGDocumentManager: Integrating Tariq's changes to CGDocumentManager to support Custom Printing. 2011-03-03 09:52:41 +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 7524c52392 Updated BSDX04 to support querying availabilities for multiple resources at the same time. Also, due to algorithm changes on the C# side, algo changed here, removing some unnecessary data that was returned 2011-02-27 11:31:10 +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 ae035bbbd1 Updated README with more bugs and feature requests 2011-01-27 14:11:57 +00:00
sam facdab15e3 Updated notes for 1.42 release plus 1.5 fixes 2011-01-27 13:59:05 +00:00
sam d5af78c41d 2011-01-27 13:24:20 +00:00
sam f48d6e0322 BSDX 1.5 Kids file, alpha 1 2011-01-27 10:22:37 +00:00
sam 5ea906809b Updated routine version numbers to 1.5 2011-01-27 09:31:19 +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 53308c9a60 Updated BSDXAPI to spit out a user friendly message if Patient has same appointment;BSDX07 has a tiny update in the formatting of the error message so it can be easily parsed by the GUI 2011-01-26 10:38:11 +00:00
sam 2800143ac1 Final checkin. Completed ability to be able to remove appointments that have been checked in. Also, fixed not being able to make an appointment at midnight issue. 2011-01-25 10:58:58 +00:00
sam 95362c15d8 added an enhancement request 2011-01-25 07:27:04 +00:00
sam 066a791d94 Added a new feature request to README.txt 2011-01-24 14:55:42 +00:00
sam 95db63abcf Updates to M routines to support deletion of check-in 2011-01-24 14:52:50 +00:00
sam 951f83c1d3 Updates to M routines to support deletion of check-in 2011-01-24 14:21:52 +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 f7d20e4da3 Updated bugs, enhancement lists, and fixes 2011-01-23 10:18:07 +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 5cf703c69c New BMXNet dll. 2011-01-20 08:32:23 +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 b2d2f1beca CalendarGrid:
- Added PositionGrid from CGView
- Added Delegates from other classes that contained just one line.
CGAppointmentChangedArgs & CGSelectionChangedArgs:
- Changed to use automatic properties
CGAvailability:
- Added override ToString()
2011-01-17 14:12:38 +00:00
sam 36caf08c92 Deleting some files due to refactoring. 2011-01-17 14:06:36 +00:00