[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Tue, 7 May 2002 12:13:09 +1000
I am in the process of creating a functional appointment system - has to
work by Monday, sort of. I have started a new CVS section "drafts" in the
CVS tree. I have scavenged as much as possible from Ian's previous work,
but it turned out quite different in approach now.
Anything in "drafts" may or may not end up in the final gnumed version. Due
to time constraints, I have to cut corners, so the code is not well
documented, and may use tables we will not use in the final version.
However, in order to avoid duplicate work, I suggest nobody else focuses on
appointments unless they want to help me out in the "drafts" tree.
I have tested a dummy version on our receptionist, and she had no
difficulties using it after telling her in less than 5 minutes:
1.) select a date from the calendar if it is not already displayed
2.) click on the time in the "spread sheet"
3.) enter a couple of characters from the patient's surname
- to narrow down search, you may enter a few characters from teh first
name as well
- to make longer appointments than the preset "standard", simply write
a '+' for every preset standard time increment
4.) hit enter
5.) confirm/select patient or hit new button
6.) To modify an appointment, simply repeat the process
7.) For further options, right-click the appointment
- a spreadsheet like panel (horizontal days of week, vertical time slots)
displays the names of people who made an appointment at a specific time.
- To enter a patient, one clicks into the vacant time slot, and enters as
many characters of the surname +/- given names as one likes, plus
optionally a sequence of "+" characters.
Once enter is pressed or the cell looses it's focus, the cell contents are
parsed for surname fraction and, if existing, given names fraction. The
database is then searched for patients with matching criteria. If only one
is found, it is pre-selected in an otherwise empty selection, accepted by
"enter key" and entered into the cell. If multiple entries match, a list
box drops down from the cell with the cursor at the first entry.
Cursor+enter selects, tab escapes into the "new patient" entry dialogue.
If one or more '+' characters are found following the name fractions, the
appointment time is increased in fixed increments. The increments are
defined in each doctor's preferences.
The spread sheet greys out time slots where the doctor is not available buy
default (like free afternoons), but allows to override this (receptionist
still can enter data into the greyed section). It colour codes the column
representing the current day, and the "selected" day as well.
A combo box above the spread sheet widget displays the doctors name. By
selecting another doctor, the spreadsheet displays that doctors schedule.
A container widget hosts as many of these schedule widgets as doctors are
working in the practice.
A top row with buttons allows to quickly jump between days, weeks and
months ahead; a "calendar" button pops up a calendar for convenient date
selection. As the calendar is not needed that often, I decided not to
waste screen real estate with it by default (can be overridden, and
calendar dispayed left hand / right hand/top/bottom of schedules
I have yet to write an overview widget which displays all appointments of
all doctors for a given time span at once
|[Prev in Thread]
||[Next in Thread]|
- [Gnumed-devel] appointments,
Horst Herb <=