Scheduling Issues

From VistApedia
Revision as of 17:27, 13 December 2008 by Kdtop (talk | contribs)
Jump to: navigation, search

This will contain notes as the data structures for clinic scheduling is explored.

Outpatient clinics are stored in the HOSPITAL LOCATION FILE.

Appointment slots are held in the AVAILABILITY field, node "T"

Here is the relevant DD definitions:

   T;0               1920  AVAILABILITY                    <-Mult [44.002DA]
80   -0;1              .01   -AVAILABILITY                              [MDX]
     -2;0                2   -SCHEDULE TIME                  <-Mult [44.004A]
81    --0;1            .01    --SCHEDULE TIME                           [MFX]
82    --0;2              1    --NUMBER OF PATIENTS                    [NJ2,0]
83   -Computed           3   -DAY OF WEEK                              [CJ15]
84   -Computed           4   -NUMBEROFDAY                               [CJ1]
85  STT;1           1920.9  AVAILABILITY FLAG                             [D]
    ST;0              1921  PATTERN                     W:^ <-Mult [44.005DA]
86   -0;1              .01   -PATTERN DATE                              [MDX]
87   -1;E1,90            1   -CURRENT AVAILABILITY                        [F]
88   -Computed           2   -MAINTENANCE                              [CJ8X]
89   -9;1                3   -SPECIAL AVAILABILITY FLAG                  [DX]
    OST;0           1921.5  SPECIAL PATTERN            W:^ <-Mult [44.0002DA]
90   -0;1              .01   -PATTERN DATE                               [DX]
91   -1;E1,90            1   -ORIGINAL AVAILABILITY                       [F]
   T;0               1920  AVAILABILITY                    <-Mult [44.002DA]
80   -0;1              .01   -AVAILABILITY                              [MDX]
     -2;0                2   -SCHEDULE TIME                  <-Mult [44.004A]
81    --0;1            .01    --SCHEDULE TIME                           [MFX]
82    --0;2              1    --NUMBER OF PATIENTS                    [NJ2,0]
83   -Computed           3   -DAY OF WEEK                              [CJ15]
84   -Computed           4   -NUMBEROFDAY                               [CJ1]
85  STT;1           1920.9  AVAILABILITY FLAG                             [D]
    ST;0              1921  PATTERN                     W:^ <-Mult [44.005DA]
86   -0;1              .01   -PATTERN DATE                              [MDX]
87   -1;E1,90            1   -CURRENT AVAILABILITY                        [F]
88   -Computed           2   -MAINTENANCE                              [CJ8X]
89   -9;1                3   -SPECIAL AVAILABILITY FLAG                  [DX]
    OST;0           1921.5  SPECIAL PATTERN            W:^ <-Mult [44.0002DA]
90   -0;1              .01   -PATTERN DATE                               [DX]
91   -1;E1,90            1   -ORIGINAL AVAILABILITY                       [F]
   T0;0              1922  SUNDAY TEMPLATE               W:^ <-Mult [44.06A]
92   -0;1              .01   -LIMIT DATE                             [NJ7,0X]
93   -1;E1,80            1   -MASTER PATTERN                              [F]
    T1;0              1923  MONDAY TEMPLATE               W:^ <-Mult [44.07A]
94   -0;1              .01   -LIMIT DATE                             [NJ7,0X]
95   -1;E1,80            1   -MASTER PATTERN                              [F]
    T2;0              1924  TUESDAY TEMPLATE              W:^ <-Mult [44.08A]
96   -0;1              .01   -LIMIT DATE                             [NJ7,0X]
97   -1;E1,80            1   -MASTER PATTERN                              [F]
    T3;0              1925  WEDNESDAY TEMPLATE            W:^ <-Mult [44.09A]
98   -0;1              .01   -LIMIT DATE                             [NJ7,0X]
99   -1;1                1   -MASTER PATTERN                              [F]
    T4;0              1926  THURSDAY TEMPLATE            W:^ <-Mult [44.008A]
100  -0;1              .01   -LIMIT DATE                             [NJ7,0X]
101  -1;E1,80            1   -MASTER PATTERN                              [F]
    T5;0              1927  FRIDAY TEMPLATE              W:^ <-Mult [44.009A]
102  -0;1              .01   -LIMIT DATE                             [NJ7,0X]
103  -1;E1,80            1   -MASTER PATTERN                              [F]
    T6;0              1928  SATURDAY TEMPLATE           W:^ <-Mult [44.0001A]
104  -0;1              .01   -LIMIT DATE                             [NJ7,0X]
105   -1;E1,80            1   -MASTER PATTERN                              [F]


Below is a dump of a sample record

GTM>zwr ^SC(6,*)
^SC(6,0)="Laughlin_Office^lo^C^69^^^295^M^^^Laughlin MOB-1^^^^1^^Y^295^Y^^0^1^^1^^^^^^0"
^SC(6,99)="423-787-7000"
^SC(6,"AT")=9
^SC(6,"HUIAUTOPRINTER")=65
^SC(6,"HUIAUTOSITE")=2
^SC(6,"LTR")=1
^SC(6,"OST",0)="^44.0002DA^^"
^SC(6,"OST",3081123,0)=3081123
^SC(6,"OST",3081123,1)="SU 23  [   |   |   |   |   |   |   |   |   |   |   |  |   |   |   ]   "
^SC(6,"OST",3081207,0)=3081207
^SC(6,"OST",3081207,1)="SU 07  [   |   |   |   |   |   |   |   |   |   |   |  |   |   |   ]   "
^SC(6,"PC")=1
^SC(6,"PR",0)="^44.1P^2^2"
^SC(6,"PR",1,0)="73^1"
^SC(6,"PR",2,0)="83^0"
^SC(6,"PR","B",73,1)=""
^SC(6,"PR","B",83,2)=""
^SC(6,"PS")=1

Below are the "S" node entries, which are actual appts.

^SC(6,"S",0)="^44.001DA^^"
^SC(6,"S",3081123.103,0)=3081123.103
^SC(6,"S",3081123.103,1,0)="^44.003PA^^"
^SC(6,"S",3081123.103,1,1,0)="1^15^^^^73^3081123^^^"
^SC(6,"S",3081123.103,1,1,"C")="3081203.15^73^3081203.15^73^3081203^3081203"
^SC(6,"S",3081123.103,1,1,"OB")="O"
^SC(6,"S",3081124.12,0)=3081124.12
^SC(6,"S",3081124.12,1,0)="^44.003PA^^"
^SC(6,"S",3081124.12,1,1,0)="70774^30^^^^73^3081123^^^"
^SC(6,"S",3081124.12,1,1,"C")="^^3081127.180003^73^^3081127.180003"
^SC(6,"S",3081203.09,0)=3081203.09
^SC(6,"S",3081203.09,1,0)="^44.003PA^^"
^SC(6,"S",3081204.083,0)=3081204.083
^SC(6,"S",3081204.083,1,0)="^44.003PA^^"
^SC(6,"S",3081204.083,1,1,0)="71264^15^^^^73^3081203"
^SC(6,"S",3081204.0945,0)=3081204.0945
^SC(6,"S",3081204.0945,1,0)="^44.003PA^^"
^SC(6,"S",3081204.0945,1,1,0)="41463^15^^^^73^3081203"
^SC(6,"S",3081204.1,0)=3081204.1
^SC(6,"S",3081204.1,1,0)="^44.003PA^^"
^SC(6,"S",3081204.1,1,1,0)="33957^15^^^^73^3081203"
^SC(6,"S",3081204.1015,0)=3081204.1015
^SC(6,"S",3081204.1015,1,0)="^44.003PA^^"
^SC(6,"S",3081204.1015,1,1,0)="14459^15^^^^73^3081203"
^SC(6,"S",3081204.103,0)=3081204.103
^SC(6,"S",3081204.103,1,0)="^44.003PA^^"
^SC(6,"S",3081204.103,1,1,0)="30235^15^^^^73^3081203"
^SC(6,"S",3081204.1045,0)=3081204.1045
^SC(6,"S",3081204.1045,1,0)="^44.003PA^^"
^SC(6,"S",3081204.1045,1,1,0)="55036^15^^^^73^3081203"
^SC(6,"S",3081204.11,0)=3081204.11
^SC(6,"S",3081204.11,1,0)="^44.003PA^^"
^SC(6,"S",3081204.11,1,1,0)="8465^15^^^^73^3081203"
^SC(6,"S",3081204.11,1,1,"OB")="O"
^SC(6,"S",3081204.13,0)=3081204.13
^SC(6,"S",3081204.13,1,0)="^44.003PA^^"
^SC(6,"S",3081204.13,1,1,0)="13354^15^^^^73^3081203"
^SC(6,"S",3081204.14,0)=3081204.14
^SC(6,"S",3081204.14,1,0)="^44.003PA^^"
^SC(6,"S",3081204.14,1,1,0)="54906^15^^^^73^3081203"
^SC(6,"S",3081204.1415,0)=3081204.1415
^SC(6,"S",3081204.1415,1,0)="^44.003PA^^"
^SC(6,"S",3081204.1415,1,1,0)="50674^15^^^^73^3081203"
^SC(6,"S",3081204.143,0)=3081204.143
^SC(6,"S",3081204.143,1,0)="^44.003PA^^"
^SC(6,"S",3081204.143,1,1,0)="68774^15^^^^73^3081203"
^SC(6,"S",3081204.1445,0)=3081204.1445
^SC(6,"S",3081204.1445,1,0)="^44.003PA^^"
^SC(6,"S",3081204.1445,1,1,0)="49913^15^^^^73^3081203"
^SC(6,"S",3081204.15,0)=3081204.15
^SC(6,"S",3081204.15,1,0)="^44.003PA^^"
^SC(6,"S",3081204.15,1,1,0)="19560^15^^^^73^3081203"
^SC(6,"S",3081204.1515,0)=3081204.1515
^SC(6,"S",3081204.1515,1,0)="^44.003PA^^"
^SC(6,"S",3081204.1515,1,1,0)="894^15^^^^73^3081203"
^SC(6,"S",3081204.153,0)=3081204.153
^SC(6,"S",3081204.153,1,0)="^44.003PA^^"
^SC(6,"S",3081204.153,1,1,0)="10788^15^^^^73^3081203"
^SC(6,"S",3081204.1545,0)=3081204.1545
^SC(6,"S",3081204.1545,1,0)="^44.003PA^^"
^SC(6,"S",3081204.1545,1,1,0)="14828^15^^^^73^3081203"
^SC(6,"S",3081204.16,0)=3081204.16
^SC(6,"S",3081204.16,1,0)="^44.003PA^^"
^SC(6,"S",3081204.16,1,1,0)="58543^15^^^^73^3081203"
^SC(6,"S",3081204.16,1,1,"OB")="O"
^SC(6,"S",3081205.133,0)=3081205.133
^SC(6,"S",3081205.133,1,0)="^44.003PA^^"
^SC(6,"S",3081205.133,1,1,0)="70774^10^^^^73^3081204"
^SC(6,"S",3081215.083,0)=3081215.083
^SC(6,"S",3081215.083,1,0)="^44.003PA^^"
^SC(6,"SDP")="3^365^^30"
^SC(6,"SL")="10^^^^^6^5^Y"

Below is the PATTERN subfile. For a given date, it shows avail slots

^SC(6,"ST",0)="^44.005"
^SC(6,"ST",3081205,0)=3081205
^SC(6,"ST",3081205,1)="FR 05      |     [1]   [1 1 1 1 1] [1 1 1 1 1] [1 1 1]     |           [1 11 0 1] [1 1 1 1 1] [1 1 1 1 1] [1 1 1] "
^SC(6,"ST",3081208,0)=3081208
^SC(6,"ST",3081208,1)="MO 08      |     [1]   [1 1 1 1 1] [1 1 1 1 1] |           |           [1] [1 1] [1 1 1 1 1] [1 1 1 1 1] [1 1 1] "
^SC(6,"ST",3081209,0)=3081209
^SC(6,"ST",3081209,1)="TU 09      |     [1]   [1 1 1 1 1] [1 1 1 1 1] |           |           [1] [1 1] [1 1 1 1 1] [1 1 1 1 1] [1 1 1] "
^SC(6,"ST",3081212,0)=3081212
^SC(6,"ST",3081212,1)="FR 12      |     [1]   [1 1 1 1 1] [1 1 1 1 1] [1 1 1]     |           [1 11 1 1] [1 1 1 1 1] [1 1 1 1 1] [1 1 1] "
^SC(6,"ST",3081215,0)=3081215
^SC(6,"ST",3081215,1)="MO 15      |     [1]   [1 1 1 1 1] [1 1 1 1 1] |           |           [1] [1 1] [1 1 1 1 1] [1 1 1 1 1] [1 1 1] "
^SC(6,"ST",3081216,0)=3081216
^SC(6,"ST",3081216,1)="TU 16      |     [1]   [1 1 1 1 1] [1 1 1 1 1] |           |           [1] [1 1] [1 1 1 1 1] [1 1 1 1 1] [1 1 1] "
^SC(6,"ST",3081219,0)=3081219
^SC(6,"ST",3081219,1)="FR 19      |     [1]   [1 1 1 1 1] [1 1 1 1 1] [1 1 1]     |           [1 11 1 1] [1 1 1 1 1] [1 1 1 1 1] [1 1 1] "
^SC(6,"ST",3081222,0)=3081222
^SC(6,"ST",3081222,1)="MO 22      |     [1]   [1 1 1 1 1] [1 1 1 1 1] |           |           [1] [1 1] [1 1 1 1 1] [1 1 1 1 1] [1 1 1] "
^SC(6,"ST",3081223,0)=3081223
^SC(6,"ST",3081223,1)="TU 23      |     [1]   [1 1 1 1 1] [1 1 1 1 1] |           |           [1] [1 1] [1 1 1 1 1] [1 1 1 1 1] [1 1 1] "
^SC(6,"ST",3081226,0)=3081226
^SC(6,"ST",3081226,1)="FR 26      |     [1]   [1 1 1 1 1] [1 1 1 1 1] [1 1 1]     |           [1 11 1 1] [1 1 1 1 1] [1 1 1 1 1] [1 1 1] "
^SC(6,"ST",3081229,0)=3081229
^SC(6,"ST",3081229,1)="MO 29      |     [1]   [1 1 1 1 1] [1 1 1 1 1] |           |           [1] [1 1] [1 1 1 1 1] [1 1 1 1 1] [1 1 1] "
^SC(6,"ST",3081230,0)=3081230
^SC(6,"ST",3081230,1)="TU 30      |     [1]   [1 1 1 1 1] [1 1 1 1 1] |           |           [1] [1 1] [1 1 1 1 1] [1 1 1 1 1] [1 1 1] "
^SC(6,"ST",3090102,0)=3090102
^SC(6,"ST",3090102,1)="FR 02      |     [1]   [1 1 1 1 1] [1 1 1 1 1] [1 1 1]     |           [1 11 1 1] [1 1 1 1 1] [1 1 1 1 1] [1 1 1] "
^SC(6,"ST",3090105,0)=3090105
^SC(6,"ST",3090105,1)="MO 05      |     [1]   [1 1 1 1 1] [1 1 1 1 1] |           |           [1] [1 1] [1 1 1 1 1] [1 1 1 1 1] [1 1 1] "
^SC(6,"ST",3090106,0)=3090106
^SC(6,"ST",3090106,1)="TU 06      |     [1]   [1 1 1 1 1] [1 1 1 1 1] |           |           [1] [1 1] [1 1 1 1 1] [1 1 1 1 1] [1 1 1] "
^SC(6,"ST",3090109,0)=3090109
^SC(6,"ST",3090109,1)="FR 09      |     [1]   [1 1 1 1 1] [1 1 1 1 1] [1 1 1]     |           [1 11 1 1] [1 1 1 1 1] [1 1 1 1 1] [1 1 1] "

Below is the AVAILABILITY subfile, and the SCHEDULE TIME sub-subfile. For a given date, it specifies the number of patients allowed in each slot.

^SC(6,"T",0)="^44.002DA^3081211^32"
^SC(6,"T",3081204,0)=3081204
^SC(6,"T",3081204,2,0)="^44.004A^20^20"
^SC(6,"T",3081204,2,1,0)="0830^1"
^SC(6,"T",3081204,2,2,0)="0900^1"

...

^SC(6,"T",3081204,2,19,0)="1530^1"
^SC(6,"T",3081204,2,20,0)="1545^1"
^SC(6,"T",3081205,0)=3081205
^SC(6,"T",3081205,2,0)="^44.004A^32^32"
^SC(6,"T",3081205,2,1,0)="0830^1"
^SC(6,"T",3081205,2,2,0)="0900^1"
^SC(6,"T",3081205,2,3,0)="0910^1"
^SC(6,"T",3081205,2,4,0)="0920^1"
^SC(6,"T",3081205,2,5,0)="0930^1"

...

^SC(6,"T",3081205,2,31,0)="1610^1"
^SC(6,"T",3081205,2,32,0)="1620^1"
^SC(6,"T",3081207,0)=3081207
^SC(6,"T",3081208,0)=3081208
^SC(6,"T",3081208,2,0)="^44.004A^27^27"
^SC(6,"T",3081208,2,1,0)="0830^1"

..

^SC(6,"T",3081208,2,26,0)="1610^1"
^SC(6,"T",3081208,2,27,0)="1620^1"
^SC(6,"T",3081209,0)=3081209
^SC(6,"T",3081209,2,0)="^44.004A^27^27"
^SC(6,"T",3081209,2,1,0)="0830^1"
^SC(6,"T",3081209,2,2,0)="0900^1"
^SC(6,"T",3081209,2,3,0)="0910^1"
^SC(6,"T",3081209,2,4,0)="0920^1"
^SC(6,"T",3081209,2,5,0)="0930^1"
^SC(6,"T",3081209,2,6,0)="0940^1"
^SC(6,"T",3081209,2,7,0)="1000^1"
^SC(6,"T",3081209,2,8,0)="1010^1"
^SC(6,"T",3081209,2,9,0)="1020^1"
^SC(6,"T",3081209,2,10,0)="1030^1"
^SC(6,"T",3081209,2,11,0)="1040^1"
^SC(6,"T",3081209,2,12,0)="1300^1"
^SC(6,"T",3081209,2,13,0)="1330^1"
^SC(6,"T",3081209,2,14,0)="1340^1"
^SC(6,"T",3081209,2,15,0)="1400^1"
^SC(6,"T",3081209,2,16,0)="1410^1"
^SC(6,"T",3081209,2,17,0)="1420^1"
^SC(6,"T",3081209,2,18,0)="1430^1"
^SC(6,"T",3081209,2,19,0)="1440^1" 
^SC(6,"T",3081209,2,20,0)="1500^1"
^SC(6,"T",3081209,2,21,0)="1510^1"
^SC(6,"T",3081209,2,22,0)="1520^1"
^SC(6,"T",3081209,2,23,0)="1530^1"
^SC(6,"T",3081209,2,24,0)="1540^1"
^SC(6,"T",3081209,2,25,0)="1600^1"
^SC(6,"T",3081209,2,26,0)="1610^1"
^SC(6,"T",3081209,2,27,0)="1620^1"
^SC(6,"T",3081211,0)=3081211

Below are the ___DAY TEMPLATE subfile entries. For a given LIMIT DATE, it stores a master pattern.

Monday

^SC(6,"T1",0)="^44.07A^^"
^SC(6,"T1",9999999,0)=9999999
^SC(6,"T1",9999999,1)="|     [1]   [1 1 1 1 1] [1 1 1 1 1] |          |           [1]   [1 1] [1 1 1 1 1] [1 1 1 1 1] [1 1 1] "

Tuesday

^SC(6,"T2",0)="^44.08A^^"
^SC(6,"T2",9999999,0)=9999999
^SC(6,"T2",9999999,1)="|     [1]   [1 1 1 1 1] [1 1 1 1 1] |           |           [1]   [1 1] [1 1 1 1 1] [1 1 1 1 1] [1 1 1] "

Wednesday

^SC(6,"T3",0)="^44.09A^^"

Thursday

^SC(6,"T4",0)="^44.08A^^"

Friday

^SC(6,"T5",0)="^44.09A^^"
^SC(6,"T5",3081205,0)=3081205
^SC(6,"T5",3081205,1)="|     [1 1] [1 1 1 1 1] [1 1 1 1 1] [1 1 1] "
^SC(6,"T5",9999999,0)=9999999
^SC(6,"T5",9999999,1)="|     [1]   [1 1 1 1 1] [1 1 1 1 1] [1 1 1]     |           [1 1 1 1 1] [1 1 1 1 1] [1 1 1 1 1] [1 1 1] "
^SC(6,"TMG")="FPG"