GENERAL DESCRIPTION |
The Scheduling Calendar View (MBAA namespace) RPCs,
MBAA APPOINTMENT MAKE, MBAA CANCEL APPOINTMENT, MBAA PATIENT PENDING APPT,
MBAA GET CLINIC AVAILABILITY, and MBAA PROVIDER TO CLINIC and the routines
below make reads and writes to the Hospital Location file (#44). The Routines
and Linetags list below describe the access:
Routine: MBAAMDA1 reads and writes from/to the Hospital Location file (#44) in
order to make and cancel appointments.
Linetags:
1. GETCLNX makes a FileMan read of the Hospital Location file (#44) to see if
a clinic exists.
2. GETPATT does a FileMan read of the ^SC(D0,"ST" node to get the clinic
availability for a specified date.
3. GETSCAP does a direct global read of the ^SC(D0,"S" node to get clinic
appointment information for a specific patient and date/time.
4. GETCAPT does a FileMan read to get appointment data for a patient. Fields
read are: Patient (.01), Length of Appointment (1), Other (3), Data Entry
Clerk (7), Date Appointment Made (8), OverBook (9), Eligibility (30),
Checked-in (309), Check in User (302), Checked Out (303), Check Out User
(304), Check Out Entered (306), Consult Link (688)
5. LOCKST locks the ^SC(D0,"ST" node for a specified date prior to record for
an appointment.
6. UNLCKST unlocks the ^SC(D0,"ST" node for a specified date after updating
the record for an appointment.
7. LOCKS locks the ^SC(D0,"S" node for a specific date/time in order to enter
a new appointment.
8. UNLCKS unlocks the ^SC(D0,"S", node for a specific date/time after an
appointment record has been created.
9. SETST uses FileMan to set the ^SC(D0,"ST",Date,1 node in order to set
appointment availability. This call updates fields .01, Pattern Date and 1
Current Availability.
10. MAKE uses UPDATE^DIE to make a clinic appointment in the Hospital Location
file (#44). The Appointment multiple is updated with a new appointment. Fields
that are updated are .01, 1, 3, 7, 8, 10, 688.
The SC("ARAD" cross reference is being hardset in existing SD namespaced
routines. The SDCNP0 routine is hardsetting this cross reference to be equal
to 'N'.
CANCEL updates the Hospital Location file (#44) when an appointment is
canceled:
a. The ^SC("ARAD" cross reference is hard set to "N".
b. The ^SC(D0,"S" node with the appointment record is deleted using
a KILL command.
c. A FileMan read (GETS^DIQ) is used to get the values of the Hour
Clinic Display Begins (#1914) and Display Increments Per Hour
(#1917). These fields are used to calculate the value to be used
to update the Current Availability field in the Pattern multiple
(See d and e below).
d. The value of the ^SC(D0,"ST",Date,1 node is read with a
FileMan read. (Date is the date the appointment is being canceled).
e. The ^SC(D0,"ST",Date/Time,1 node is set using a FileMan write to
the newly calculated Current Availability as calculated when
canceling an appointment. Steps c, d and e are making the
calculations to reset the current availability pattern to recover
the slot that was used when making the appointment.
11. COVERB checks to see if the clinic is overbooked for a specific date/time.
If so, the first overbooking is deleted using a KILL command.
12. GETFSTA gets the first available day for an appointment by reading the
^SC(D0,"T", node.
13. GETDAYA loops through the ^SC(D0,"S" nodes from a beginning date to get
the appointment status and overbooking status for each date/time where an
appointment is booked.
14. GETDST does a direct global read of the ^SC(D0,"ST",Date/Time, 1 node and
returns the current availability status for the date/time.
15. GETDPATT returns the day pattern for a specific date. Does a direct global
read of the ^SC(D0,"ST",date,D1,1) read and returns the data on this node.
16. ADDPATT uses UPDATE^DIE to update the PATTERN multiple for a specific
date.
Routine: MBAAMDA2 makes calls to read data from the Hospital Location file
(#44) to get information in order to make or cancel appointments.
Linetags: SLOTS does a FileMan read of the ^SC(D0,"ST" node for a clinic to
get the .01, Pattern Date and 1, Current Availability fields. Returns all
nodes for the clinic in the RETURN array.
Routine MBAAMDA4 makes calls to read and update the Hospital Location file
(#44) in order to make or cancel appointments.
Linetag:
1. UPDCAPT uses UPDATE^DIE to update the APPOINTMENT multiple for a new
appointment.
2. GETCAPT does a direct global read of the ^SC(D0,"S",Appointment Date/Time
to check if the appointment exists. If it exists, uses an EN^DIQ call to read
the appointment record. Fields that are read are Patient (.01), Length of
Appointment (1), Other (3), Data Entry Clerk (7), Date Appointment Made (8),
OverBook (9), Eligibility (30), Checked-in (309), Check in User (302), Checked
Out (303), Check Out User (304), Check Out Entered (306)
Routine MBAARPC1 In linetag PROVCLIN a direct global read is made to the
^SC(D0,"PR" to get the pointer to the NEW PERSON file (#200) for each Provider
that is associated with the specified clinic.
Routine MBAARPC2 makes direct global reads of the HOSPITAL LOCATION file (#44)
to read appointment information.
Linetag:
1. CLNDATA does a FileMan read of the ^SC(D0,0 node to get fields, STOP CODE
NUMBER (8), TREATING SPECIALTY (9.5), CREDIT STOP CODE (2503).
2. RECALL does a FileMan read to check to see if the Clinic ID entered exists
in the Hospital Location file (#44).
|
GLOBAL REFERENCE |
GLOBAL REFERENCE |
FIELD NUMBER |
GLOBAL DESCRIPTION |
SC(D0 |
FIELD NUMBER |
ACCESS |
FIELD NAME |
LOCATION |
.01 |
Read w/Fileman |
NAME |
0:1 |
8 |
Read w/Fileman |
STOP CODE NUMBER |
0:7 |
2503 |
Read w/Fileman |
CREDIT STOP CODE |
0:18 |
9.5 |
Read w/Fileman |
TREATING SPECIALTY |
0:20 |
|
|
SC(D0,'ST',D1,1 |
FIELD NUMBER |
ACCESS |
FIELD NAME |
LOCATION |
1 |
Both R/W w/Fileman |
CURRENT AVAILABILITY |
0;1 |
|
|
SC(D0,'ST',D1,0 |
FIELD NUMBER |
ACCESS |
FIELD NAME |
LOCATION |
.01 |
Both R/W w/Fileman |
PATTERN DATE |
0;1 |
|
|
SC(D0,'PR',D1,0 |
FIELD NUMBER |
ACCESS |
FIELD NAME |
LOCATION |
.01 |
Direct Global Read & w/Fileman |
PROVIDER |
0;1 |
|
|
SC(D0,'T',D1,0 |
FIELD NUMBER |
ACCESS |
FIELD NAME |
LOCATION |
.01 |
Direct Global Read & w/Fileman |
AVAILABILITY |
0;1 |
|
|
SC(D0,'SL' |
FIELD NUMBER |
ACCESS |
FIELD NAME |
LOCATION |
1914 |
Read w/Fileman |
HOUR CLINIC DISPLAY BEGINES |
SL;2 |
1917 |
Read w/Fileman |
DISPLAY INCREMENTS PER HOUR |
SL;6 |
|
|
SC(D0,'S',D1,1,D2,'CONS' |
FIELD NUMBER |
ACCESS |
FIELD NAME |
LOCATION |
688 |
Both R/W w/Fileman |
CONSULT LINK |
CONS;1 |
|
|
SC(D0,'S',D1,1,D2,0 |
FIELD NUMBER |
ACCESS |
FIELD NAME |
LOCATION |
.01 |
Direct Global R/W & w/Fileman |
PATIENT |
0;1 |
1 |
Both R/W w/Fileman |
LENGTH OF APPT |
0;2 |
2 |
Direct Global R/W & w/Fileman |
XRAY |
0;3 |
3 |
Direct Global R/W & w/Fileman |
OTHER |
0;4 |
4 |
Direct Global R/W & w/Fileman |
WARD LOC |
0;5 |
7 |
Direct Global R/W & w/Fileman |
DATA ENTRY CLERK |
0;6 |
8 |
Direct Global R/W & w/Fileman |
DATE APPOINTMENT MADE |
0;7 |
10 |
Direct Global R/W & w/Fileman |
PRIOR X-RAY RESULTS TO CLINIC |
0;8 |
310 |
Direct Global R/W & w/Fileman |
APPOINTMENT CANCELLED |
0;9 |
30 |
Read w/Fileman |
ELIGIBILITY OF VISIT |
0;10 |
|
|
SC(D0,'S',D1,1,D2,'OB' |
FIELD NUMBER |
ACCESS |
FIELD NAME |
LOCATION |
9 |
Direct Global R/W & w/Fileman |
OVERBOOK |
0;1 |
|
|
SC(D0,'S',D1,1,D2,'C' |
FIELD NUMBER |
ACCESS |
FIELD NAME |
LOCATION |
309 |
Read w/Fileman |
CHECKED-IN |
C;1 |
302 |
Read w/Fileman |
CHECK IN USER |
C;2 |
303 |
Read w/Fileman |
CHECKED OUT |
C;3 |
304 |
Read w/Fileman |
CHECKED OUT USER |
C;4 |
306 |
Read w/Fileman |
CHECK OUT ENTERED |
C;6 |
|
|
SC(D0,'S',D1,0 |
FIELD NUMBER |
ACCESS |
FIELD NAME |
LOCATION |
.01 |
Both R/W w/Fileman |
APPOINTMENT DATE/TIME |
0;1 |
|
|
SC('ARAD',D2,D1,DO |
FIELD NUMBER |
ACCESS |
FIELD NAME |
LOCATION |
10 |
Both R/W w/Fileman |
PRIOR X-RAY RESULTS TO CLINIC |
0;8 |
|
|
|
|
|
When an appointment is cancelled, the "ARAD" cross
reference is set equal to "N". It was discovered routine SDCNP0 is checking
to see if this cross reference is set to 'N'. The SCV/VAR package sets this
cross reference when an appointment is cancelled to be consistent with
existing legacy Scheduling functionality.
|
|