Board index » delphi » Help wth design

Help wth design


2005-03-16 03:22:31 PM
delphi155
Kiaora;
I've been struggling with this so I thought I'd ask the gurus;
Currently I have a TPatient class with a TVisitCollection;
The patient number will be rarely used for this small project, with most
users interacting with the system via
scanning of a visit number. Using the visit number I'd like to end up
with the relevant Patient object and
all of their related visits including the current visit. Seemed a bit messy
capturing the visit number, looking up the
visit, reading the patient number from the visit and then populating the
patient and visit objects.
I have read posts that indicate that the above is probably not the best
design anyway and I should look at incorporating a third
class ie TAppointmentBook(??) which could handle such intracacies with a bit
more style.
Any comments/pointers appreciated
Regards
Kern Carboni
Fulford Radiology
New Zealand
 
 

Re:Help wth design

"Kern Carboni" <XXXX@XXXXX.COM>a écrit dans le message de news:
XXXX@XXXXX.COM...
Quote
Currently I have a TPatient class with a TVisitCollection;
The patient number will be rarely used for this small project, with most
users interacting with the system via
scanning of a visit number. Using the visit number I'd like to end up
with the relevant Patient object and
all of their related visits including the current visit. Seemed a bit
messy
capturing the visit number, looking up the
visit, reading the patient number from the visit and then populating the
patient and visit objects.

I have read posts that indicate that the above is probably not the best
design anyway and I should look at incorporating a third
class ie TAppointmentBook(??) which could handle such intracacies with a
bit
more style.
I would certainly look at using the 'manager-like' behaviour implied in an
Appointment or Visit Book. It nicely encapsulates the ability to perform
queries on related classes; you could also record Treatments per Visit and
query for those as well.
Joanna
Consultant Software Engineer
TeamBUG support for UK-BUG
TeamMM support for ModelMaker
 

Re:Help wth design

Kern:
You may be tackling the object design a little early in the process --
but then maybe you just haven't told us the whole story. :-)
See below...
***********
Kern Carboni writes:
Quote
Kiaora;
I've been struggling with this so I thought I'd ask the gurus;

Currently I have a TPatient class with a TVisitCollection;
The patient number will be rarely used for this small project, with most
users interacting with the system via
scanning of a visit number. Using the visit number I'd like to end up
with the relevant Patient object and
all of their related visits including the current visit.
Don't see the relationship between visit and patient -- unless there is
an appointment. Do all visitors have appointments? (Read requisition if
that terminology is better.) Hospitals (and clinics that handle
emergencies) can behave a bit differently than clinics -- that is why I
ask...
This sounds like a clinic -- as opposed to a hospital application. Is
that correct? If so then yes -- you _need_ an appointment book -- other
wise the design gets messy.
Hospitals should always -- but might not -- have a requisition --
assuming emergency cases where the paper might follow later or the
requisition might be made up later (...if during a surgery another view
is requested and you are recording what happened as opposed to a
prescribed set of views).
Quote
Seemed a bit messy
capturing the visit number, looking up the
visit, reading the patient number from the visit and then populating the
patient and visit objects.

It is -- see above.
Quote
I have read posts that indicate that the above is probably not the best
design anyway and I should look at incorporating a third
class ie TAppointmentBook(??) which could handle such intracacies
with a bit
Quote
more style.
Yes see above. and below...
Quote

Any comments/pointers appreciated

Most "large" systems are messy... BTW
You really should do the System and Database design first or this gets
really messy. Or maybe you have and aren't sharing -- yet. :-)
This is a classic scheduling and data collection problem. (Presuming it
is a clinic and I think it is by your questions.)
E.G. ...
Requisition is supplied and appointment is made...
So you have the appointment and the "work" to be done. The appointment
book method will be used I presume - and is fairly easy -- one db entry
per patient per visit -- and any number of procedures in a "test
schedule" DB... attached to the visit item (we have at least the
following DBs at this point -- patient, appt record, test items)
The patient arrives (in the future) and gets "logged in".
(we now need a visit log to tie to the appt. you might get a 2nd visit
tied to the appt. or you might insist on a new appt. -- your call)
The diagnostic procedure is done and the data is collected.
(results get attached to req. test items -- so we need at least one
m,ore DB - and set of objects here.)
I presume that in some procedures the examination is repeated. (The
patient is asked to wait while the film is developed, or computer images
are reviewed by the rad. or the rad. tech. makes the decision to repeat
if image quality is not up to standard. (So you need to log quality info
in a DB as well.) (At least one more DB and object set here.)
(If you do mamos, I know that here at least they have a quality
assessment program which means additional tracking and reporting. --
this can wait...)
The exam may then be repeated. So each exam may actual collect multiple
data sets.
You need then to attach diagnostic info and reporting. (another DB and
object set here)
You may also need to link previous visits to new requisitions so that
you can tie events together. (at least one table here...)
You may also want to consider a machine DB and a machine availability
schedule - since they are your limiting factor and are usually easier to
schedule than the techs... (and you then have to design all the related
objects.) Besides -- if the machine is "down" or has scheduled
maintenance you want your appoints either moved, or simply not booked in
the affected periods.
I have used DB where I was not sure if more than one table is
appropriate and table where I was sure that it was a simple relation.
(But remember what you paid... :-) )
Haven't covered anything I think would be obvious to you -- Tables (DB)
for Rads, Techs, etc. (And associated objects...) Nor Have I covered the
availability schedule for same as I think the extension from the info
above should be obvious... If not you can always ask.
Hope that helps.
And yes - I have designed scheduling systems since you ask. :-) And yes
I do know a bit about Rad. depts. since that would be your second
question. And to answer your third question - No -- not as much as you
about the Rad. depts. -- but that person is a desk away. :-)
Quote
Regards
Kern Carboni
Fulford Radiology
New Zealand


--
Dave.
PMC Consulting
pmccl.com
 

Re:Help wth design

Hi Dave;
Yeah; I have been dropped in the deep end but surviving so far;
I need to knock up a dictation system pronto to replace our existing system
which has
proved unusable since purchased.
A simple use case - radiologist scans an unreported xray film which has a
visitnumber barcode;
The screen then needs to be populated with the patient's details plus entire
visit history incase
radiologist needs to view previous visit. The radiologist then dictates
report. On saving,
the report is attached to visit, visit updated and sent to intranet. The
patient object is then
moved to a workflow list on screen so radiologist can monitor workload.
Problem is I am designing for an existing legacy db (15 year old c-isam) so
a new db or refactoring is impossible;
The database has the following tables which I have loosely mapped to
corresponding objects:
Patient - no links to visits
Visit - linked to Patient via patient_number
VisitReport - linked to visit via visit_number and each line in a report is
a row in db ie visit number + line number + report text (80 characters)
Doctor - linked to visit via doctor_code
I am really just fiddling at the moment, trying to get a feel of things;
hence the questions of the patient->visit relationship;
Thanks for the comments
Kern
"DaveR" <XXXX@XXXXX.COM>writes
Quote
Kern:

You may be tackling the object design a little early in the process --
but then maybe you just haven't told us the whole story. :-)

See below...

***********

Kern Carboni writes:
>Kiaora;
>I've been struggling with this so I thought I'd ask the gurus;
>
>Currently I have a TPatient class with a TVisitCollection;
>The patient number will be rarely used for this small project, with
most
>users interacting with the system via
>scanning of a visit number. Using the visit number I'd like to end
up
>with the relevant Patient object and
>all of their related visits including the current visit.

Don't see the relationship between visit and patient -- unless there is
an appointment. Do all visitors have appointments? (Read requisition if
that terminology is better.) Hospitals (and clinics that handle
emergencies) can behave a bit differently than clinics -- that is why I
ask...

This sounds like a clinic -- as opposed to a hospital application. Is
that correct? If so then yes -- you _need_ an appointment book -- other
wise the design gets messy.

Hospitals should always -- but might not -- have a requisition --
assuming emergency cases where the paper might follow later or the
requisition might be made up later (...if during a surgery another view
is requested and you are recording what happened as opposed to a
prescribed set of views).

>Seemed a bit messy
>capturing the visit number, looking up the
>visit, reading the patient number from the visit and then populating
the
>patient and visit objects.
>

It is -- see above.

>I have read posts that indicate that the above is probably not the best
>design anyway and I should look at incorporating a third
>class ie TAppointmentBook(??) which could handle such intracacies
with a bit
>more style.

Yes see above. and below...

>
>Any comments/pointers appreciated
>

Most "large" systems are messy... BTW

You really should do the System and Database design first or this gets
really messy. Or maybe you have and aren't sharing -- yet. :-)

This is a classic scheduling and data collection problem. (Presuming it
is a clinic and I think it is by your questions.)


E.G. ...

Requisition is supplied and appointment is made...
So you have the appointment and the "work" to be done. The appointment
book method will be used I presume - and is fairly easy -- one db entry
per patient per visit -- and any number of procedures in a "test
schedule" DB... attached to the visit item (we have at least the
following DBs at this point -- patient, appt record, test items)

The patient arrives (in the future) and gets "logged in".
(we now need a visit log to tie to the appt. you might get a 2nd visit
tied to the appt. or you might insist on a new appt. -- your call)

The diagnostic procedure is done and the data is collected.
(results get attached to req. test items -- so we need at least one
m,ore DB - and set of objects here.)

I presume that in some procedures the examination is repeated. (The
patient is asked to wait while the film is developed, or computer images
are reviewed by the rad. or the rad. tech. makes the decision to repeat
if image quality is not up to standard. (So you need to log quality info
in a DB as well.) (At least one more DB and object set here.)

(If you do mamos, I know that here at least they have a quality
assessment program which means additional tracking and reporting. --
this can wait...)

The exam may then be repeated. So each exam may actual collect multiple
data sets.

You need then to attach diagnostic info and reporting. (another DB and
object set here)

You may also need to link previous visits to new requisitions so that
you can tie events together. (at least one table here...)

You may also want to consider a machine DB and a machine availability
schedule - since they are your limiting factor and are usually easier to
schedule than the techs... (and you then have to design all the related
objects.) Besides -- if the machine is "down" or has scheduled
maintenance you want your appoints either moved, or simply not booked in
the affected periods.


I have used DB where I was not sure if more than one table is
appropriate and table where I was sure that it was a simple relation.
(But remember what you paid... :-) )

Haven't covered anything I think would be obvious to you -- Tables (DB)
for Rads, Techs, etc. (And associated objects...) Nor Have I covered the
availability schedule for same as I think the extension from the info
above should be obvious... If not you can always ask.


Hope that helps.

And yes - I have designed scheduling systems since you ask. :-) And yes
I do know a bit about Rad. depts. since that would be your second
question. And to answer your third question - No -- not as much as you
about the Rad. depts. -- but that person is a desk away. :-)



>Regards
>Kern Carboni
>Fulford Radiology
>New Zealand
>
>


--
Dave.
PMC Consulting
pmccl.com
 

Re:Help wth design

Kern:
Understand. Not an easy situation. But entirely normal in this field of
endeavor.
Did not snip anything on this post. If it carries on pieces should be
snipped....
Kern Carboni writes:
Quote
Hi Dave;

Yeah; I have been dropped in the deep end but surviving so far;
I need to knock up a dictation system pronto to replace our existing system
which has
proved unusable since purchased.
Situation normal.
Quote
A simple use case - radiologist scans an unreported xray film which has a
visitnumber barcode;
If everything is being driven from the visit -- then I'd consider
the design wrong. Others may think different. Presuming this is a
clinic... still
As I asked previously -- Is this a clinic taking only appointments? If
so the design is simpler than emergency + appointments. What is your
situation?
Quote
The screen then needs to be populated with the patient's details plus entire
visit history incase radiologist needs to view previous visit.
Why the patient details at this point? Looks like there is no Patient DB
filled in previously? This should be a lookup since I presume that a
Patient Record must be created at some point. Or you create an appt, a
dummy patient ID and then fill in the other details when they arrive. Do
you not need to know the nature of the exam so you can allocate
equipment and schedule beforehand? If you have one piece of equip. this
is not relevant of course... (MRI, CAT scan, _small_ clinic.)
Adding Appt. DB and Patient file could do some wonders for your design?
Is this in Delphi? If so you could use the Old Paradox File format if
you are version 7 or below and add some DB tables that could make the
work flow issues simpler to deal with.
Quote
The radiologist then dictates report. On saving,
the report is attached to visit, visit updated and sent to intranet. The
patient object is then
moved to a workflow list on screen so radiologist can monitor workload.
This tells you what happened.... Doesn't tell you future workload --
which in my opinion is more important... Unless you mean that you want
to display a tally sheet showing finished reports vs. waiting cases. The
it does - sort of. What are the issues?
Quote
Problem is I am designing for an existing legacy db (15 year old c-isam) so
a new db or refactoring is impossible;
Not really. Add needed DB's in a new DB format. Paradox, Interbase or
whatever. It does add some complexity -- but it is manageable. Done that
before. It can work. If you have not tackled it before it can seem
overwhelming though. Just step by step, inch by inch... :-))
Quote
The database has the following tables which I have loosely mapped to
corresponding objects:
Patient - no links to visits
Visit - linked to Patient via patient_number
Ahhh!! This is correct. You add a table or do queries to support this.
Whether OO or SQL queries or other ways - doesn't matter. Missing appts.
is problematic in the entire project though...
Quote
VisitReport - linked to visit via visit_number and each line in a report is
a row in db ie visit number + line number + report text (80 characters)
Doctor - linked to visit via doctor_code
No problem here this is as it should be.
Quote
I am really just fiddling at the moment, trying to get a feel of things;
hence the questions of the patient->visit relationship;

Look at the visit as the "centre of the universe" - with links radiating
to the visit, and the report (and the appt. and requisition links --
which do not exist). :-)
The visit and the report should be the result of the appointment +
requisition. In other words it is data collection.
This gives you a simpler model for the DB and the OO design.
Not sure what your table design here is exactly it should be .... (I think)
Visit (table) (V) (Visit#, PatientID, other req info)
-->Exam Item (Table with rows) (EI) Visit#, ExamID
-->Procedures Performed (PP)
Visit#, ExamID,Procedure(exam/film)# (row in PP table
Reports should be something like (IMO)
Report (Table) (R) (ReportID, Visit#, RadID etc...)
-->Report Lines Table (RL) (ReportID,VisitID,ExamID,Line# etc...)
(: Note 3 FK's in above table)
I am ignoring supporting DB's as there should be a table of coded
allowable exams - there always is a set of exams which are allowed by a
gov't medical systems and anything else won't be paid -- this I know...
There should be a report record (and Object) for each diagnostic
procedure performed -- at least in the local rad. universe -- according
to my specialist here. :-)
It should even allow multiple reports (lines) on the same ExamId as
often second opinions are garnered... And it should allow multiple
reports by the same physician -- as they often re-examine films/records.
(Verified by in-house specialist.) In other words... Multiple reports by
any number of rads.. Or consider it "pre-broken".
The if you "load up" a record it becomes easy to create and populate the
objects on the fly.
Quote
Thanks for the comments
Other people may have other opinions.... :-)
However, this while very terse should give you a "kick-start" if you
have never done a scheduling/data collection integrated application.
However (#2) this is only an open ended data collection system as it is
with no "closed loop". This allows missed reports and missed appt.
verification. IMO -- a bad system. (Others may disagree here too.) But I
do not see the system as professional and "workable. Again peoples
opinions may vary, and I see design like this all the time. Did I say I
did not like that methodology? :-)
Quote

Kern


"DaveR" <XXXX@XXXXX.COM>writes
news:XXXX@XXXXX.COM...

>Kern:
>
>You may be tackling the object design a little early in the process --
>but then maybe you just haven't told us the whole story. :-)
>
>See below...
>
>***********
>
>Kern Carboni writes:
>>Kiaora;
>>I've been struggling with this so I thought I'd ask the gurus;
>>
>>Currently I have a TPatient class with a TVisitCollection;
>>The patient number will be rarely used for this small project, with

most

>>users interacting with the system via
>>scanning of a visit number. Using the visit number I'd like to end

up

>>with the relevant Patient object and
>>all of their related visits including the current visit.
>
>Don't see the relationship between visit and patient -- unless there is
>an appointment. Do all visitors have appointments? (Read requisition if
>that terminology is better.) Hospitals (and clinics that handle
>emergencies) can behave a bit differently than clinics -- that is why I
>ask...
>
>This sounds like a clinic -- as opposed to a hospital application. Is
>that correct? If so then yes -- you _need_ an appointment book -- other
>wise the design gets messy.
>
>Hospitals should always -- but might not -- have a requisition --
>assuming emergency cases where the paper might follow later or the
>requisition might be made up later (...if during a surgery another view
>is requested and you are recording what happened as opposed to a
>prescribed set of views).
>
>>Seemed a bit messy
>>capturing the visit number, looking up the
>>visit, reading the patient number from the visit and then populating

the

>>patient and visit objects.
>>
>
>It is -- see above.
>
>>I have read posts that indicate that the above is probably not the best
>>design anyway and I should look at incorporating a third
>>class ie TAppointmentBook(??) which could handle such intracacies
>with a bit
>>more style.
>
>Yes see above. and below...
>
>>
>>Any comments/pointers appreciated
>>
>
>Most "large" systems are messy... BTW
>
>You really should do the System and Database design first or this gets
>really messy. Or maybe you have and aren't sharing -- yet. :-)
>
>This is a classic scheduling and data collection problem. (Presuming it
>is a clinic and I think it is by your questions.)
>
>
>E.G. ...
>
>Requisition is supplied and appointment is made...
>So you have the appointment and the "work" to be done. The appointment
>book method will be used I presume - and is fairly easy -- one db entry
>per patient per visit -- and any number of procedures in a "test
>schedule" DB... attached to the visit item (we have at least the
>following DBs at this point -- patient, appt record, test items)
>
>The patient arrives (in the future) and gets "logged in".
>(we now need a visit log to tie to the appt. you might get a 2nd visit
>tied to the appt. or you might insist on a new appt. -- your call)
>
>The diagnostic procedure is done and the data is collected.
>(results get attached to req. test items -- so we need at least one
>m,ore DB - and set of objects here.)
>
>I presume that in some procedures the examination is repeated. (The
>patient is asked to wait while the film is developed, or computer images
>are reviewed by the rad. or the rad. tech. makes the decision to repeat
>if image quality is not up to standard. (So you need to log quality info
>in a DB as well.) (At least one more DB and object set here.)
>
>(If you do mamos, I know that here at least they have a quality
>assessment program which means additional tracking and reporting. --
>this can wait...)
>
>The exam may then be repeated. So each exam may actual collect multiple
>data sets.
>
>You need then to attach diagnostic info and reporting. (another DB and
>object set here)
>
>You may also need to link previous visits to new requisitions so that
>you can tie events together. (at least one table here...)
>
>You may also want to consider a machine DB and a machine availability
>schedule - since they are your limiting factor and are usually easier to
>schedule than the techs... (and you then have to design all the related
>objects.) Besides -- if the machine is "down" or has scheduled
>maintenance you want your appoints either moved, or simply not booked in
>the affected periods.
>
>
>I have used DB where I was not sure if more than one table is
>appropriate and table where I was sure that it was a simple relation.
>(But remember what you paid... :-) )
>
>Haven't covered anything I think would be obvious to you -- Tables (DB)
>for Rads, Techs, etc. (And associated objects...) Nor Have I covered the
>availability schedule for same as I think the extension from the info
>above should be obvious... If not you can always ask.
>
>
>Hope that helps.
>
>And yes - I have designed scheduling systems since you ask. :-) And yes
>I do know a bit about Rad. depts. since that would be your second
>question. And to answer your third question - No -- not as much as you
>about the Rad. depts. -- but that person is a desk away. :-)
>
>
>
>>Regards
>>Kern Carboni
>>Fulford Radiology
>>New Zealand
>>
>>
>
>
>--
>Dave.
>PMC Consulting
>pmccl.com



--
Dave.
PMC Consulting
pmccl.com
 

Re:Help wth design

Hi Dave
Quote
As I asked previously -- Is this a clinic taking only appointments? If
so the design is simpler than emergency + appointments. What is your
situation?
We are a large radiology company based within a hospital; we receive
requests for xrays from inhouse doctors and consultants, from doctors in
private practice and from the emergency department. We have a dos based
radiology
management system which handles all the patient details, visits, modalities
used - this
is the old informix 3 database I mentioned.
Quote
Why the patient details at this point? Looks like there is no Patient DB
filled in previously? This should be a lookup since I presume that a
Patient Record must be created at some point. Or you create an appt, a
dummy patient ID and then fill in the other details when they arrive. Do
you not need to know the nature of the exam so you can allocate
equipment and schedule beforehand? If you have one piece of equip. this
is not relevant of course... (MRI, CAT scan, _small_ clinic.)

The radiologist would like to see patient details ie name, address,
referring doctor. Plus it is easy to use as screen filler and impresses the
computer
illiterate ie radiologist
Quote
Is this in Delphi? If so you could use the Old Paradox File format if
you are version 7 or below and add some DB tables that could make the
work flow issues simpler to deal with.
Delphi 7
Quote
This tells you what happened.... Doesn't tell you future workload --
which in my opinion is more important... Unless you mean that you want
to display a tally sheet showing finished reports vs. waiting cases. The
it does - sort of. What are the issues?
The radiologists are nervous bunch. This is understandable as our SLA
requires every standard patient report to be posted on the hospital intranet
with 12 hours,
less for emergency cases.
The current dictation system provides no feedback to the user as to whether
the report was even saved correctly. I was hoping to use the the screen
history as
a visual feedback to the radiologist ie showing the various status changes
of the visit
as it passes through the system..
Quote
Not really. Add needed DB's in a new DB format. Paradox, Interbase or
whatever. It does add some complexity -- but it is manageable. Done that
before. It can work. If you have not tackled it before it can seem
overwhelming though. Just step by step, inch by inch... :-))
I thought of doing the entire system in Interbase and having a "scheduler";
this would pull any new/updated reports, convert them, and insert/update
into
legacy database.
Kern
 

Re:Help wth design

Kern Carboni writes:
Quote
Hi Dave


>As I asked previously -- Is this a clinic taking only appointments? If
>so the design is simpler than emergency + appointments. What is your
>situation?


We are a large radiology company based within a hospital; we receive
requests for xrays from inhouse doctors and consultants, from doctors in
private practice and from the emergency department. We have a dos based
radiology
management system which handles all the patient details, visits, modalities
used - this
is the old informix 3 database I mentioned.
So in other words you get the full gamut of exams -- including emergency
situations with a "fill the details in later" approach -- this latter
situation being "if necessary only". I am assuming. So that means you
cannot insist on filling in data "in sequence". -- is this a valid
assumption??? It does affect your design. (Windows _is_ a better choice
for the latter.)
Quote


>Why the patient details at this point? Looks like there is no Patient DB
>filled in previously? This should be a lookup since I presume that a
>Patient Record must be created at some point. Or you create an appt, a
>dummy patient ID and then fill in the other details when they arrive. Do
>you not need to know the nature of the exam so you can allocate
>equipment and schedule beforehand? If you have one piece of equip. this
>is not relevant of course... (MRI, CAT scan, _small_ clinic.)
>


The radiologist would like to see patient details ie name, address,
referring doctor. Plus it is easy to use as screen filler and impresses the
computer
illiterate ie radiologist
It does impress them...
Agreed. It prevents errors too. [ aside... There is a person born in my
home town -- no relation -- same birth date. Same name, different birth
time, same date -- different middle name -- which is not always given.
Mix-ups were common till people pulled the entire records. Glad I moved
away before he started appearing in police blotters... The town was only
4000 people by the time we were in our {*word*249}s.]
There have been some spectacular incidents in North American hospitals
with confused records -- so it would be a "good thing".
Quote
>Is this in Delphi? If so you could use the Old Paradox File format if
>you are version 7 or below and add some DB tables that could make the
>work flow issues simpler to deal with.


Delphi 7

That gives you a great language and a wide choice of DB's and
techniques. Including Paradox and Access if they won't spring for the
Interbase Noted below...
I prefer IB 7.x because of the logical variables -- save thinking and
conversion. You have enough serious work ahead of you.
Quote

>This tells you what happened.... Doesn't tell you future workload --
>which in my opinion is more important... Unless you mean that you want
>to display a tally sheet showing finished reports vs. waiting cases. The
>it does - sort of. What are the issues?


The radiologists are nervous bunch.
Something to do with their insurance perhaps? Checked with the rad
person here. Apparently a wide spread standard -- they insisted on
giving me their reasoning. Ok Ok -- I will accept it.
Quote
This is understandable as our SLA
requires every standard patient report to be posted on the hospital intranet
with 12 hours,
less for emergency cases.
Same standard here apparently.
Quote
The current dictation system provides no feedback to the user as to whether
the report was even saved correctly. I was hoping to use the the screen
history as
a visual feedback to the radiologist ie showing the various status changes
of the visit
as it passes through the system..

Ahhhh -- so you saw it. I am impressed. Most people never notice the
"state system" which (IMO) a good scheduling system must have. This
actually should (It does in the systems I have done.) fit neatly into an
Object Oriented system. There is a paper on the web site -- it is about
manufacturing -- but the techniques are virtually identical. If you are
interested have a look.... It has a set of state diagrams. Just adapt them.
This technique is really useful for AI/Decision making systems.
Just make sure you include the _entire_ process including quality
assessment and re-scheduling of any unsatisfactory exams -- assuming
that you do a scheduler.
Treat each task (exam) with a series of stages with a scheduled and you
can't go to far wrong.
The visit would be a "job", with the exams representing "tasks" in
standard scheduling terminology. You don't need the calculation phase of
a manufacturing scheduler - that can simplify things greatly.
Your booking system should immediately create what is known as a
"feasible" schedule -- if you see any jargon in scheduling books.
However, if you ever look at throwing the daily requirements into a
"hopper" and optimizing them you can often achieve surprising
efficiencies...
The you trow in the daily requirements into a "feasible" schedule by
looking for holes in the "main schedule". it is easier than it sounds.
Since you were sharp enough to spot a state engine application that's
probably the only hint you need...
Quote

>Not really. Add needed DB's in a new DB format. Paradox, Interbase or
>whatever. It does add some complexity -- but it is manageable. Done that
>before. It can work. If you have not tackled it before it can seem
>overwhelming though. Just step by step, inch by inch... :-))


I thought of doing the entire system in Interbase and having a "scheduler";
this would pull any new/updated reports, convert them, and insert/update
into
legacy database.

Good choice. IB is my DB of choice. If you have never used it before --
understanding "Transactions" in the IB sense can be tricky -- but it
does a marvelous job of maintaining a consistent view of the data on a
per user basis and for each set of grouped operations. (Have a good look
at the companion disk or the Borland site for companion products if you
don't like CS2. -- www.casestudio.com/enu/default.aspx )
Have a look at Case Studio 2 to do the data model and you should be
pleased with it. Less that $400 US -- so about $500 - $550 NZ I would
think. (I was looking at buying some specialty tools from NZ yesterday
-- so I vaguely remember the rough translations in currency. :-) )
If you want I can send you one of the PDF's (if you can not find them) --
you will have to twist your thinking a bit. But then it sounds like you
are thinking of some of the same approaches we used anyway.
One note. The visit has a state model, and each task has a state model.
(in our system it would anyway...)
The optimizer also has a set of states, as does the order, any way I am
sure you get the message. LOL
Quote
Kern


--
Dave.
PMC Consulting
pmccl.com
 

Re:Help wth design

Kern Carboni writes:
I also followed up to you with a private email. Hope that helps as well.
Good luck with this project.
I am sure other people can add as well...
--
Dave.
PMC Consulting
pmccl.com
 

Re:Help wth design

Kern Carboni writes:
Quote
Hi Dave

Did a bit of digging. That is a complex situation. Good luck. :-)
Hopefully you either have a full crew, lots of time or a stripped down
project. :-)
Just one serious question? Are you under pressure to produce results
based on "tight" time frame? That would alter my perspective a fair bit.
What are the expectations? What are "the deliverables"? (There's usually
about -- at least I mean -- three perceptions of the deliverables...)
Spent some time negotiating with a senior manager at a hospital this
summer -- it was brief -- but interesting... Expectations might be much
higher than you realize.
Don't think it should necessarily be discussed publicly -- but thought I
would mention it. We all forget this item from time to time -- except
present company -- of course.
Quote
>As I asked previously -- Is this a clinic taking only appointments? If
>so the design is simpler than emergency + appointments. What is your
>situation?


We are a large radiology company based within a hospital; we receive
requests for xrays from inhouse doctors and consultants, from doctors in
private practice and from the emergency department. We have a dos based
radiology
management system which handles all the patient details, visits, modalities
used - this
is the old informix 3 database I mentioned.


--
Dave.
PMC Consulting
pmccl.com