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.
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.
- Some arabic phrases and spelling changed.
- Printing Routing Slip now does not include next appointment instructions per Al-Najjar's request.
New Exe's and Dlls
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
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.
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.
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.
- 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.
- 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.
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.
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.
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.
- 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
- 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.
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
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.