Scheduling Issues

From VistApedia
Revision as of 23:28, 10 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,3,0)="0915^1"
^SC(6,"T",3081204,2,4,0)="0930^1"
^SC(6,"T",3081204,2,5,0)="0945^1"
^SC(6,"T",3081204,2,6,0)="1000^1"
^SC(6,"T",3081204,2,7,0)="1015^1"
^SC(6,"T",3081204,2,8,0)="1030^1"
^SC(6,"T",3081204,2,9,0)="1045^1"
^SC(6,"T",3081204,2,10,0)="1300^1"
^SC(6,"T",3081204,2,11,0)="1330^1"
^SC(6,"T",3081204,2,12,0)="1345^1"
^SC(6,"T",3081204,2,13,0)="1400^1"
^SC(6,"T",3081204,2,14,0)="1415^1"
^SC(6,"T",3081204,2,15,0)="1430^1"
^SC(6,"T",3081204,2,16,0)="1445^1"
^SC(6,"T",3081204,2,17,0)="1500^1"
^SC(6,"T",3081204,2,18,0)="1515^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,6,0)="0940^1"
^SC(6,"T",3081205,2,7,0)="1000^1"
^SC(6,"T",3081205,2,8,0)="1010^1"
^SC(6,"T",3081205,2,9,0)="1020^1"
^SC(6,"T",3081205,2,10,0)="1030^1"
^SC(6,"T",3081205,2,11,0)="1040^1"
^SC(6,"T",3081205,2,12,0)="1100^1"
^SC(6,"T",3081205,2,13,0)="1110^1"
^SC(6,"T",3081205,2,14,0)="1120^1"
^SC(6,"T",3081205,2,15,0)="1300^1"
^SC(6,"T",3081205,2,16,0)="1310^1"
^SC(6,"T",3081205,2,17,0)="1320^1"
^SC(6,"T",3081205,2,18,0)="1330^1"
^SC(6,"T",3081205,2,19,0)="1340^1"
^SC(6,"T",3081205,2,20,0)="1400^1"
^SC(6,"T",3081205,2,21,0)="1410^1"
^SC(6,"T",3081205,2,22,0)="1420^1"
^SC(6,"T",3081205,2,23,0)="1430^1"
^SC(6,"T",3081205,2,24,0)="1440^1"
^SC(6,"T",3081205,2,25,0)="1500^1"
^SC(6,"T",3081205,2,26,0)="1510^1"
^SC(6,"T",3081205,2,27,0)="1520^1"
^SC(6,"T",3081205,2,28,0)="1530^1"
^SC(6,"T",3081205,2,29,0)="1540^1"
^SC(6,"T",3081205,2,30,0)="1600^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,2,0)="0900^1"
^SC(6,"T",3081208,2,3,0)="0910^1"
^SC(6,"T",3081208,2,4,0)="0920^1"
^SC(6,"T",3081208,2,5,0)="0930^1"
^SC(6,"T",3081208,2,6,0)="0940^1"
^SC(6,"T",3081208,2,7,0)="1000^1"
^SC(6,"T",3081208,2,8,0)="1010^1"
^SC(6,"T",3081208,2,9,0)="1020^1"
^SC(6,"T",3081208,2,10,0)="1030^1"
^SC(6,"T",3081208,2,11,0)="1040^1"
^SC(6,"T",3081208,2,12,0)="1300^1"
^SC(6,"T",3081208,2,13,0)="1330^1"
^SC(6,"T",3081208,2,14,0)="1340^1"
^SC(6,"T",3081208,2,15,0)="1400^1"
^SC(6,"T",3081208,2,16,0)="1410^1"
^SC(6,"T",3081208,2,17,0)="1420^1"
^SC(6,"T",3081208,2,18,0)="1430^1"
^SC(6,"T",3081208,2,19,0)="1440^1"
^SC(6,"T",3081208,2,20,0)="1500^1"
^SC(6,"T",3081208,2,21,0)="1510^1"
^SC(6,"T",3081208,2,22,0)="1520^1"
^SC(6,"T",3081208,2,23,0)="1530^1"
^SC(6,"T",3081208,2,24,0)="1540^1"
^SC(6,"T",3081208,2,25,0)="1600^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"