Difference between revisions of "Scheduling Issues"
(Added a glossary link to Action~) |
|||
(37 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
This will contain notes as the data structures for clinic scheduling is explored. | This will contain notes as the data structures for clinic scheduling is explored. | ||
+ | === DATA DICTIONARY NOTES === | ||
Outpatient clinics are stored in the HOSPITAL LOCATION FILE. | Outpatient clinics are stored in the HOSPITAL LOCATION FILE. | ||
Line 11: | Line 12: | ||
------------------------------------------------------------- | ------------------------------------------------------------- | ||
T;0 1920 AVAILABILITY <-Mult [44.002DA] | T;0 1920 AVAILABILITY <-Mult [44.002DA] | ||
− | + | -0;1 .01 -AVAILABILITY [MDX] | |
-2;0 2 -SCHEDULE TIME <-Mult [44.004A] | -2;0 2 -SCHEDULE TIME <-Mult [44.004A] | ||
− | + | --0;1 .01 --SCHEDULE TIME [MFX] | |
− | + | --0;2 1 --NUMBER OF PATIENTS [NJ2,0] | |
− | + | -Computed 3 -DAY OF WEEK [CJ15] | |
− | + | -Computed 4 -NUMBEROFDAY [CJ1] | |
Date/Time set up for clinic availability | Date/Time set up for clinic availability | ||
------------------------------------------------------------- | ------------------------------------------------------------- | ||
− | + | STT;1 1920.9 AVAILABILITY FLAG [D] | |
PATTERN subfile. For a given date, it shows avail slots | PATTERN subfile. For a given date, it shows avail slots | ||
------------------------------------------------------------- | ------------------------------------------------------------- | ||
ST;0 1921 PATTERN W:^ <-Mult [44.005DA] | ST;0 1921 PATTERN W:^ <-Mult [44.005DA] | ||
− | + | -0;1 .01 -PATTERN DATE [MDX] | |
− | + | -1;E1,90 1 -CURRENT AVAILABILITY [F] | |
− | + | -Computed 2 -MAINTENANCE [CJ8X] | |
− | + | -9;1 3 -SPECIAL AVAILABILITY FLAG [DX] | |
OST;0 1921.5 SPECIAL PATTERN W:^ <-Mult [44.0002DA] | OST;0 1921.5 SPECIAL PATTERN W:^ <-Mult [44.0002DA] | ||
− | + | -0;1 .01 -PATTERN DATE [DX] | |
− | + | -1;E1,90 1 -ORIGINAL AVAILABILITY [F] | |
XDAY TEMPLATE subfile entries. | XDAY TEMPLATE subfile entries. | ||
Line 38: | Line 39: | ||
------------------------------------------------------------- | ------------------------------------------------------------- | ||
T0;0 1922 SUNDAY TEMPLATE W:^ <-Mult [44.06A] | T0;0 1922 SUNDAY TEMPLATE W:^ <-Mult [44.06A] | ||
− | + | -0;1 .01 -LIMIT DATE [NJ7,0X] | |
− | + | -1;E1,80 1 -MASTER PATTERN [F] | |
T1;0 1923 MONDAY TEMPLATE W:^ <-Mult [44.07A] | T1;0 1923 MONDAY TEMPLATE W:^ <-Mult [44.07A] | ||
− | + | -0;1 .01 -LIMIT DATE [NJ7,0X] | |
− | + | -1;E1,80 1 -MASTER PATTERN [F] | |
T2;0 1924 TUESDAY TEMPLATE W:^ <-Mult [44.08A] | T2;0 1924 TUESDAY TEMPLATE W:^ <-Mult [44.08A] | ||
− | + | -0;1 .01 -LIMIT DATE [NJ7,0X] | |
− | + | -1;E1,80 1 -MASTER PATTERN [F] | |
T3;0 1925 WEDNESDAY TEMPLATE W:^ <-Mult [44.09A] | T3;0 1925 WEDNESDAY TEMPLATE W:^ <-Mult [44.09A] | ||
− | + | -0;1 .01 -LIMIT DATE [NJ7,0X] | |
− | + | -1;1 1 -MASTER PATTERN [F] | |
T4;0 1926 THURSDAY TEMPLATE W:^ <-Mult [44.008A] | T4;0 1926 THURSDAY TEMPLATE W:^ <-Mult [44.008A] | ||
− | + | -0;1 .01 -LIMIT DATE [NJ7,0X] | |
− | + | -1;E1,80 1 -MASTER PATTERN [F] | |
T5;0 1927 FRIDAY TEMPLATE W:^ <-Mult [44.009A] | T5;0 1927 FRIDAY TEMPLATE W:^ <-Mult [44.009A] | ||
− | + | -0;1 .01 -LIMIT DATE [NJ7,0X] | |
− | + | -1;E1,80 1 -MASTER PATTERN [F] | |
T6;0 1928 SATURDAY TEMPLATE W:^ <-Mult [44.0001A] | T6;0 1928 SATURDAY TEMPLATE W:^ <-Mult [44.0001A] | ||
− | + | -0;1 .01 -LIMIT DATE [NJ7,0X] | |
− | + | -1;E1,80 1 -MASTER PATTERN [F] | |
− | '''Below is a dump of a sample record''' | + | APPOINTMENTS subfile entries. |
+ | For a given LIMIT DATE, it stores actual appts. | ||
+ | ------------------------------------------------------------- | ||
+ | |||
+ | S;0 1900 APPOINTMENT W:^ <-Mult [44.001DA] | ||
+ | -0;1 .01 -APPOINTMENT DATE/TIME [MDX] | ||
+ | -1;0 2 -PATIENT <-Mult [44.003PA] | ||
+ | --0;1 .01 --PATIENT <-Pntr [MP2'] | ||
+ | --0;2 1 --LENGTH OF APP'T [NJ3,0] | ||
+ | --0;3 2 --XRAY [F] | ||
+ | --0;4 3 --OTHER [F] | ||
+ | --0;5 4 --WARD LOC [F] | ||
+ | --0;6 7 --DATA ENTRY CLERK <-Pntr [P200'] | ||
+ | --0;7 8 --DATE APPOINTMENT MADE [D] | ||
+ | --0;8 10 --PRIOR X-RAY RESULTS TO CLINIC? [S] | ||
+ | --0;9 310 --APPOINTMENT CANCELLED? [S] | ||
+ | --0;10 30 --ELIGIBILITY OF VISIT <-Pntr [*P8'X] | ||
+ | --OB;1 9 --OVERBOOK [S] | ||
+ | --RTR;1 200 --PARENT [[Record~|Record]] REQUEST # <-Pntr [*P190.1'] | ||
+ | --C;1 309 --CHECKED-I N [DX] | ||
+ | --C;2 302 --CHECK IN USER <-Pntr [P200'] | ||
+ | --C;3 303 --CHECKED OUT [DX] | ||
+ | --C;4 304 --CHECK OUT USER <-Pntr [P200'] | ||
+ | --C;5 305 --CHECK IN ENTERED [D] | ||
+ | --C;6 306 --CHECK OUT ENTERED [D] | ||
+ | |||
+ | === SAMPLE [[RECORD~|Record]] === | ||
+ | '''Below is a dump of a sample [[record~|Record]]''' | ||
GTM>zwr ^SC(6,*) | GTM>zwr ^SC(6,*) | ||
Line 223: | Line 251: | ||
^SC(6,"TMG")="FPG" | ^SC(6,"TMG")="FPG" | ||
− | === | + | === EXAMPLE OF INDEFINITE SLOT PATTERN === |
'''Below is a location that had just 1 day added''', specified to be used indefinitely. (Note: I cleared out all slots prior to running ^SDB) | '''Below is a location that had just 1 day added''', specified to be used indefinitely. (Note: I cleared out all slots prior to running ^SDB) | ||
Line 233: | Line 261: | ||
CLINIC MEETS AT THIS FACILITY?: YES// | CLINIC MEETS AT THIS FACILITY?: YES// | ||
SERVICE: MEDICINE// ^ | SERVICE: MEDICINE// ^ | ||
− | + | ||
− | AVAILABILITY DATE: t+2 (DEC 15, 2008) | + | AVAILABILITY DATE: t+2 (DEC 15, 2008) MONDAY |
− | |||
− | |||
TIME: 0830-1000 # APPTS/SLOT : 1// 2 | TIME: 0830-1000 # APPTS/SLOT : 1// 2 | ||
Line 281: | Line 307: | ||
Comments: | Comments: | ||
− | * When adding a pattern indefinitely, it adds slots for | + | * When adding a pattern indefinitely, it adds PATTERN slots for 5 weeks. |
+ | * The "ST" node holds PATTERN entries for 5 weeks, starting at given date. | ||
* The "T" node holds the 10 min interval slots, starting at the given date. | * The "T" node holds the 10 min interval slots, starting at the given date. | ||
− | * The | + | * The TEMPLATE itself is stored in the T1 node. Because there was no prior entry, and no end date, then 9999999 ending date is used |
− | === | + | === EXAMPLE OF SLOT PATTERN FOR SET DAYS === |
'''Below is another pattern'''. Again, I cleared the location first. | '''Below is another pattern'''. Again, I cleared the location first. | ||
Line 350: | Line 377: | ||
* When NOT adding a pattern indefinitely, it adds slots only for the days indicated by the user. | * When NOT adding a pattern indefinitely, it adds slots only for the days indicated by the user. | ||
* The "T" node holds the 10 min interval slots, starting at the given date, no change vs. indefinite addition | * The "T" node holds the 10 min interval slots, starting at the given date, no change vs. indefinite addition | ||
+ | * The "ST" node holds the PATTERN entry for each of the 2 days specified by the user | ||
* There is no Tx entries. | * There is no Tx entries. | ||
* There is are OST node (SPECIAL PATTERN) entries for the specified days. Thus is seems that the OST node entries replace the Tx nodes. | * There is are OST node (SPECIAL PATTERN) entries for the specified days. Thus is seems that the OST node entries replace the Tx nodes. | ||
− | =================================================== | + | === EXAMPLE OF MULTIPLE FIXED DAYS === |
+ | |||
+ | Select CLINIC NAME: x_TEST_OFFICE TOPPENBERG,KEVIN S | ||
+ | NAME: X_TEST_OFFICE// | ||
+ | ABBREVIATION: ^ | ||
+ | |||
+ | AVAILABILITY DATE: t+1 (JAN 05, 2009) MONDAY | ||
+ | TIME: 0830-1130 # APPTS/SLOT : 1// | ||
+ | TIME: | ||
+ | | [1 1|1 1 1 1|1 1 1 1|1 1] | ||
+ | ...PATTERN OK FOR MONDAYS INDEFINITELY? y (Yes) | ||
+ | ...EXCUSE ME, LET ME THINK ABOUT THAT A MOMENT... | ||
+ | PATTERN FILED! | ||
+ | |||
+ | AVAILABILITY DATE: t+2 (JAN 06, 2009) TUESDAY | ||
+ | TIME: 0830-1130 # APPTS/SLOT : 1// 2 | ||
+ | TIME: | ||
+ | | [2 2|2 2 2 2|2 2 2 2|2 2] | ||
+ | ...PATTERN OK FOR TUESDAYS INDEFINITELY? y (Yes) | ||
+ | ...EXCUSE ME, HOLD ON... | ||
+ | PATTERN FILED! | ||
+ | |||
+ | AVAILABILITY DATE: t+3 (JAN 07, 2009) WEDNESDAY | ||
+ | TIME: 0830-1130 # APPTS/SLOT : 1// 3 | ||
+ | TIME: | ||
+ | | [3 3|3 3 3 3|3 3 3 3|3 3] | ||
+ | ...PATTERN OK FOR WEDNESDAYS INDEFINITELY? y (Yes) | ||
+ | ...SORRY, HOLD ON... | ||
+ | PATTERN FILED! | ||
+ | |||
+ | AVAILABILITY DATE: | ||
+ | Select CLINIC NAME: | ||
+ | |||
+ | GTM>zwr ^SC(10,*) | ||
+ | ^SC(10,0)="X_TEST_OFFICE^^C^^^^342^M^^^lo^^^^^^N^^Y^^^1" | ||
+ | ^SC(10,"AT")=9 | ||
+ | ^SC(10,"OST",0)="^44.0002DA^^" | ||
+ | ^SC(10,"PC")=1 | ||
+ | ^SC(10,"PR",0)="^44.1P^1^1" | ||
+ | ^SC(10,"PR",1,0)="73^1" | ||
+ | ^SC(10,"PR","B",73,1)="" | ||
+ | ^SC(10,"PS")=0 | ||
+ | ^SC(10,"S",0)="^44.001DA^^" | ||
+ | ^SC(10,"S",3090105.09,0)=3090105.09 | ||
+ | ^SC(10,"S",3090105.09,1,0)="^44.003PA^^" | ||
+ | ^SC(10,"S",3090105.09,1,1,0)="1^15^^^^73^3090104" | ||
+ | ... | ||
+ | ^SC(10,"S",3090223.083,1,0)="^44.003PA^^" | ||
+ | ^SC(10,"S",3090223.083,1,1,0)="1^15^^^^73^3081213" | ||
+ | ^SC(10,"SDP")="5^365^^365" | ||
+ | ^SC(10,"SL")="15^^8^^^4^5" | ||
+ | ^SC(10,"ST",0)="^44.005" | ||
+ | ^SC(10,"ST",3090105,0)=3090105 | ||
+ | ^SC(10,"ST",3090105,1)="MO 05 | [1 1|0 1 1 1|1 1 1 1|1 1] " | ||
+ | ^SC(10,"ST",3090106,0)=3090106 | ||
+ | ^SC(10,"ST",3090106,1)="TU 06 | [2 2|2 2 2 2|2 2 2 2|2 2] " | ||
+ | ^SC(10,"ST",3090107,0)=3090107 | ||
+ | ^SC(10,"ST",3090107,1)="WE 07 | [3 3|3 3 3 3|3 3 3 3|3 3] " | ||
+ | ^SC(10,"ST",3090112,0)=3090112 | ||
+ | ^SC(10,"ST",3090112,1)="MO 12 | [1 1|1 1 1 1|1 1 1 1|1 1] " | ||
+ | ^SC(10,"ST",3090113,0)=3090113 | ||
+ | ^SC(10,"ST",3090113,1)="TU 13 | [2 2|2 2 2 2|2 2 2 2|2 2] " | ||
+ | ^SC(10,"ST",3090114,0)=3090114 | ||
+ | ^SC(10,"ST",3090114,1)="WE 14 | [3 3|3 3 3 3|3 3 3 3|3 3] " | ||
+ | ^SC(10,"ST",3090119,0)=3090119 | ||
+ | ^SC(10,"ST",3090119,1)="MO 19 | [1 1|1 1 1 1|1 1 1 1|1 1] " | ||
+ | ^SC(10,"ST",3090120,0)=3090120 | ||
+ | ^SC(10,"ST",3090120,1)="TU 20 | [2 2|2 2 2 2|2 2 2 2|2 2] " | ||
+ | ^SC(10,"ST",3090121,0)=3090121 | ||
+ | ^SC(10,"ST",3090121,1)="WE 21 | [3 3|3 3 3 3|3 3 3 3|3 3] " | ||
+ | ^SC(10,"ST",3090126,0)=3090126 | ||
+ | ^SC(10,"ST",3090126,1)="MO 26 | [1 1|1 1 1 1|1 1 1 1|1 1] " | ||
+ | ^SC(10,"ST",3090127,0)=3090127 | ||
+ | ^SC(10,"ST",3090127,1)="TU 27 | [2 2|2 2 2 2|2 2 2 2|2 2] " | ||
+ | ^SC(10,"ST",3090128,0)=3090128 | ||
+ | ^SC(10,"ST",3090128,1)="WE 28 | [3 3|3 3 3 3|3 3 3 3|3 3] " | ||
+ | ^SC(10,"ST",3090202,0)=3090202 | ||
+ | ^SC(10,"ST",3090202,1)="MO 02 | [1 1|1 1 1 1|1 1 1 1|1 1] " | ||
+ | ^SC(10,"ST",3090203,0)=3090203 | ||
+ | ^SC(10,"ST",3090203,1)="TU 03 | [2 2|2 2 2 2|2 2 2 2|2 2] " | ||
+ | ^SC(10,"ST",3090204,0)=3090204 | ||
+ | ^SC(10,"ST",3090204,1)="WE 04 | [3 3|3 3 3 3|3 3 3 3|3 3] " | ||
+ | ^SC(10,"ST",3090210,0)=3090210 | ||
+ | ^SC(10,"ST",3090210,1)="TU 10 | [2 2|1 2 2 2|2 2 2 2|2 2] " | ||
+ | ^SC(10,"ST",3090223,0)=3090223 | ||
+ | ^SC(10,"ST",3090223,1)="MO 23 | [0 1|1 1 1 1|1 1 1 1|1 1] " | ||
+ | ^SC(10,"T",0)="^44.002D^3090107^6" | ||
+ | ^SC(10,"T",3090105,0)=3090105 | ||
+ | ^SC(10,"T",3090105,2,0)="^44.004A^12^12" | ||
+ | ^SC(10,"T",3090105,2,1,0)="0830^1" | ||
+ | ^SC(10,"T",3090105,2,2,0)="0845^1" | ||
+ | ^SC(10,"T",3090105,2,3,0)="0900^1" | ||
+ | ^SC(10,"T",3090105,2,4,0)="0915^1" | ||
+ | ^SC(10,"T",3090105,2,5,0)="0930^1" | ||
+ | ^SC(10,"T",3090105,2,6,0)="0945^1" | ||
+ | ^SC(10,"T",3090105,2,7,0)="1000^1" | ||
+ | ^SC(10,"T",3090105,2,8,0)="1015^1" | ||
+ | ^SC(10,"T",3090105,2,9,0)="1030^1" | ||
+ | ^SC(10,"T",3090105,2,10,0)="1045^1" | ||
+ | ^SC(10,"T",3090105,2,11,0)="1100^1" | ||
+ | ^SC(10,"T",3090105,2,12,0)="1115^1" | ||
+ | ^SC(10,"T",3090106,0)=3090106 | ||
+ | ^SC(10,"T",3090106,2,0)="^44.004A^12^12" | ||
+ | ^SC(10,"T",3090106,2,1,0)="0830^2" | ||
+ | ^SC(10,"T",3090106,2,2,0)="0845^2" | ||
+ | ^SC(10,"T",3090106,2,3,0)="0900^2" | ||
+ | ^SC(10,"T",3090106,2,4,0)="0915^2" | ||
+ | ^SC(10,"T",3090106,2,5,0)="0930^2" | ||
+ | ^SC(10,"T",3090106,2,6,0)="0945^2" | ||
+ | ^SC(10,"T",3090106,2,7,0)="1000^2" | ||
+ | ^SC(10,"T",3090106,2,8,0)="1015^2" | ||
+ | ^SC(10,"T",3090106,2,9,0)="1030^2" | ||
+ | ^SC(10,"T",3090106,2,10,0)="1045^2" | ||
+ | ^SC(10,"T",3090106,2,11,0)="1100^2" | ||
+ | ^SC(10,"T",3090106,2,12,0)="1115^2" | ||
+ | ^SC(10,"T",3090107,0)=3090107 | ||
+ | ^SC(10,"T",3090107,2,0)="^44.004A^12^12" | ||
+ | ^SC(10,"T",3090107,2,1,0)="0830^3" | ||
+ | ^SC(10,"T",3090107,2,2,0)="0845^3" | ||
+ | ^SC(10,"T",3090107,2,3,0)="0900^3" | ||
+ | ^SC(10,"T",3090107,2,4,0)="0915^3" | ||
+ | ^SC(10,"T",3090107,2,5,0)="0930^3" | ||
+ | ^SC(10,"T",3090107,2,6,0)="0945^3" | ||
+ | ^SC(10,"T",3090107,2,7,0)="1000^3" | ||
+ | ^SC(10,"T",3090107,2,8,0)="1015^3" | ||
+ | ^SC(10,"T",3090107,2,9,0)="1030^3" | ||
+ | ^SC(10,"T",3090107,2,10,0)="1045^3" | ||
+ | ^SC(10,"T",3090107,2,11,0)="1100^3" | ||
+ | ^SC(10,"T",3090107,2,12,0)="1115^3" | ||
+ | ^SC(10,"T0",0)="^44.06A^^" | ||
+ | ^SC(10,"T1",0)="^44.07A^^" | ||
+ | ^SC(10,"T1",9999999,0)=9999999 | ||
+ | ^SC(10,"T1",9999999,1)="| [1 1|1 1 1 1|1 1 1 1|1 1] " | ||
+ | ^SC(10,"T2",0)="^44.08A^^" | ||
+ | ^SC(10,"T2",9999999,0)=9999999 | ||
+ | ^SC(10,"T2",9999999,1)="| [2 2|2 2 2 2|2 2 2 2|2 2] " | ||
+ | ^SC(10,"T3",0)="^44.09A^^" | ||
+ | ^SC(10,"T3",9999999,0)=9999999 | ||
+ | ^SC(10,"T3",9999999,1)="| [3 3|3 3 3 3|3 3 3 3|3 3] " | ||
+ | ^SC(10,"T6",0)="^44.0001A^^" | ||
+ | |||
+ | '''Notes:''' | ||
+ | * The T node contains 3 different patterns, one for each of the days entered. To determine which of these patterns applies, one would have to determine which day of the week each pattern exists on, and then find the appropriate pattern. | ||
+ | * The ST nodes have been filled in due to browsing for making an appt (not shown here). | ||
+ | |||
+ | === TEMP === | ||
+ | |||
+ | A dump of trying to do the same setup as above, using custome API (still in dev). | ||
+ | |||
+ | API CALL | ||
+ | |||
+ | Here is Clinic array now: | ||
+ | ^SC(10,0)="X_TEST_OFFICE^^C^^^^342^M^^^lo^^^^^^N^^Y^^^1" | ||
+ | ^SC(10,"AT")=9 | ||
+ | ^SC(10,"OST",0)="^44.0002DA^^" | ||
+ | ^SC(10,"PC")=1 | ||
+ | ^SC(10,"PR",0)="^44.1P^1^1" | ||
+ | ^SC(10,"PR",1,0)="73^1" | ||
+ | ^SC(10,"PR","B",73,1)="" | ||
+ | ^SC(10,"PS")=0 | ||
+ | ^SC(10,"S",0)="^44.001DA^^" | ||
+ | ^SC(10,"S",3090105.09,0)=3090105.09 | ||
+ | ^SC(10,"S",3090105.09,1,0)="^44.003PA^^" | ||
+ | ^SC(10,"S",3090105.09,1,1,0)="1^15^^^^73^3090104" | ||
+ | ^SC(10,"S",3090110.083,0)=3090110.083 | ||
+ | ^SC(10,"S",3090110.083,1,0)="^44.003PA^^" | ||
+ | ^SC(10,"S",3090110.083,1,1,0)="2^15^^^^73^3090104" | ||
+ | ^SC(10,"S",3090110.09,0)=3090110.09 | ||
+ | ^SC(10,"S",3090110.09,1,0)="^44.003PA^^" | ||
+ | ^SC(10,"S",3090110.09,1,1,0)="1^15^^^^73^3090104" | ||
+ | ^SC(10,"S",3090110.0915,0)=3090110.0915 | ||
+ | ^SC(10,"S",3090110.0915,1,0)="^44.003PA^^" | ||
+ | ^SC(10,"S",3090110.0915,1,1,0)="70695^15^^^^73^3090104" | ||
+ | ^SC(10,"S",3090110.093,0)=3090110.093 | ||
+ | ^SC(10,"S",3090110.093,1,0)="^44.003PA^^" | ||
+ | ^SC(10,"S",3090110.093,1,1,0)="70773^15^^^^73^3090104" | ||
+ | ^SC(10,"S",3090110.0945,0)=3090110.0945 | ||
+ | ^SC(10,"S",3090110.0945,1,0)="^44.003PA^^" | ||
+ | ^SC(10,"S",3090110.0945,1,1,0)="70774^15^^^^73^3090104" | ||
+ | ^SC(10,"S",3090110.1,0)=3090110.1 | ||
+ | ^SC(10,"S",3090110.1,1,0)="^44.003PA^^" | ||
+ | ^SC(10,"S",3090110.1,1,1,0)="70774^15^^^^73^3090104" | ||
+ | ^SC(10,"S",3090110.1015,0)=3090110.1015 | ||
+ | ^SC(10,"S",3090110.1015,1,0)="^44.003PA^^" | ||
+ | ^SC(10,"S",3090110.1015,1,1,0)="70787^15^^^^73^3090104" | ||
+ | ^SC(10,"S",3090110.103,0)=3090110.103 | ||
+ | ^SC(10,"S",3090110.103,1,0)="^44.003PA^^" | ||
+ | ^SC(10,"S",3090110.103,1,1,0)="70787^15^^^^73^3090104" | ||
+ | ^SC(10,"S",3090110.1045,0)=3090110.1045 | ||
+ | ^SC(10,"S",3090110.1045,1,0)="^44.003PA^^" | ||
+ | ^SC(10,"S",3090110.1045,1,1,0)="74274^15^^^^73^3090104" | ||
+ | ^SC(10,"S",3090210.09,0)=3090210.09 | ||
+ | ^SC(10,"S",3090210.09,1,0)="^44.003PA^^" | ||
+ | ^SC(10,"S",3090210.09,1,1,0)="70774^15^^^^73^3081213" | ||
+ | ^SC(10,"S",3090214.09,0)=3090214.09 | ||
+ | ^SC(10,"S",3090214.09,1,0)="^44.003PA^^" | ||
+ | ^SC(10,"S",3090214.09,1,1,0)="70774^15^^^^73^3090104" | ||
+ | ^SC(10,"S",3090214.09,1,1,"OB")="O" | ||
+ | ^SC(10,"S",3090223.083,0)=3090223.083 | ||
+ | ^SC(10,"S",3090223.083,1,0)="^44.003PA^^" | ||
+ | ^SC(10,"S",3090223.083,1,1,0)="1^15^^^^73^3081213" | ||
+ | ^SC(10,"SDP")="5^365^^365" | ||
+ | ^SC(10,"SL")="15^^8^^^4^5" | ||
+ | ^SC(10,"ST",0)="^44.005" | ||
+ | ^SC(10,"ST",3090105,0)=3090105 | ||
+ | ^SC(10,"ST",3090105,1)="MO 05 | [1 1|0 1 1 1|1 1 1 1|1 1] " | ||
+ | ^SC(10,"ST",3090223,0)=3090223 | ||
+ | ^SC(10,"ST",3090223,1)="MO 23 | [0 1|1 1 1 1|1 1 1 1|1 1] " | ||
+ | ^SC(10,"T",0)="^44.002D^3090107^3" | ||
+ | ^SC(10,"T",3090105,0)=3090105 | ||
+ | ^SC(10,"T",3090105,2,0)="^44.004A^12^12" | ||
+ | ^SC(10,"T",3090105,2,1,0)="0830^1" | ||
+ | ^SC(10,"T",3090105,2,2,0)="0845^1" | ||
+ | ^SC(10,"T",3090105,2,3,0)="0900^1" | ||
+ | ^SC(10,"T",3090105,2,4,0)="0915^1" | ||
+ | ^SC(10,"T",3090105,2,5,0)="0930^1" | ||
+ | ^SC(10,"T",3090105,2,6,0)="0945^1" | ||
+ | ^SC(10,"T",3090105,2,7,0)="1000^1" | ||
+ | ^SC(10,"T",3090105,2,8,0)="1015^1" | ||
+ | ^SC(10,"T",3090105,2,9,0)="1030^1" | ||
+ | ^SC(10,"T",3090105,2,10,0)="1045^1" | ||
+ | ^SC(10,"T",3090105,2,11,0)="1100^1" | ||
+ | ^SC(10,"T",3090105,2,12,0)="1115^1" | ||
+ | ^SC(10,"T",3090106,0)=3090106 | ||
+ | ^SC(10,"T",3090106,2,0)="^44.004A^12^12" | ||
+ | ^SC(10,"T",3090106,2,1,0)="0830^2" | ||
+ | ^SC(10,"T",3090106,2,2,0)="0845^2" | ||
+ | ^SC(10,"T",3090106,2,3,0)="0900^2" | ||
+ | ^SC(10,"T",3090106,2,4,0)="0915^2" | ||
+ | ^SC(10,"T",3090106,2,5,0)="0930^2" | ||
+ | ^SC(10,"T",3090106,2,6,0)="0945^2" | ||
+ | ^SC(10,"T",3090106,2,7,0)="1000^2" | ||
+ | ^SC(10,"T",3090106,2,8,0)="1015^2" | ||
+ | ^SC(10,"T",3090106,2,9,0)="1030^2" | ||
+ | ^SC(10,"T",3090106,2,10,0)="1045^2" | ||
+ | ^SC(10,"T",3090106,2,11,0)="1100^2" | ||
+ | ^SC(10,"T",3090106,2,12,0)="1115^2" | ||
+ | ^SC(10,"T",3090107,0)=3090107 | ||
+ | ^SC(10,"T",3090107,2,0)="^44.004A^12^12" | ||
+ | ^SC(10,"T",3090107,2,1,0)="0830^3" | ||
+ | ^SC(10,"T",3090107,2,2,0)="0845^3" | ||
+ | ^SC(10,"T",3090107,2,3,0)="0900^3" | ||
+ | ^SC(10,"T",3090107,2,4,0)="0915^3" | ||
+ | ^SC(10,"T",3090107,2,5,0)="0930^3" | ||
+ | ^SC(10,"T",3090107,2,6,0)="0945^3" | ||
+ | ^SC(10,"T",3090107,2,7,0)="1000^3" | ||
+ | ^SC(10,"T",3090107,2,8,0)="1015^3" | ||
+ | ^SC(10,"T",3090107,2,9,0)="1030^3" | ||
+ | ^SC(10,"T",3090107,2,10,0)="1045^3" | ||
+ | ^SC(10,"T",3090107,2,11,0)="1100^3" | ||
+ | ^SC(10,"T",3090107,2,12,0)="1115^3" | ||
+ | ^SC(10,"T0",0)="^44.06A^^" | ||
+ | ^SC(10,"T1",0)="^44.07A^^" | ||
+ | ^SC(10,"T1",9999999,0)=9999999 | ||
+ | ^SC(10,"T1",9999999,1)="| [1 1|1 1 1 1|1 1 1 1|1 1] " | ||
+ | ^SC(10,"T2",0)="^44.08A^^" | ||
+ | ^SC(10,"T2",9999999,0)=9999999 | ||
+ | ^SC(10,"T2",9999999,1)="| [2 2|2 2 2 2|2 2 2 2|2 2] " | ||
+ | ^SC(10,"T3",0)="^44.09A^^" | ||
+ | ^SC(10,"T3",9999999,0)=9999999 | ||
+ | ^SC(10,"T3",9999999,1)="| [3 3|3 3 3 3|3 3 3 3|3 3] " | ||
+ | ^SC(10,"T4",0)="^44.08A^^" | ||
+ | ^SC(10,"T5",0)="^44.09A^^" | ||
+ | ^SC(10,"T6",0)="^44.0001A^^" | ||
+ | |||
+ | '''Notes:''' | ||
+ | |||
+ | === EXAMPLE OF MIXED FIXED AND THEN INDEFINITE DAYS === | ||
Below is a pattern were I created a set pattern in the future, then attempted to create an indefinite pattern starting BEFORE this fixed period. The result is that the pattern end date is set to the future date. | Below is a pattern were I created a set pattern in the future, then attempted to create an indefinite pattern starting BEFORE this fixed period. The result is that the pattern end date is set to the future date. | ||
Line 404: | Line 699: | ||
^SC(10,"OST",0)="^44.0002DA^^" | ^SC(10,"OST",0)="^44.0002DA^^" | ||
^SC(10,"OST",3081221,0)=3081221 | ^SC(10,"OST",3081221,0)=3081221 | ||
− | ^SC(10,"OST",3081221,1)="SU 21 [1 1 1 1|1 1 1 1] | + | ^SC(10,"OST",3081221,1)="SU 21 [1 1 1 1|1 1 1 1] |
^SC(10,"OST",3081228,0)=3081228 | ^SC(10,"OST",3081228,0)=3081228 | ||
− | ^SC(10,"OST",3081228,1)="SU 28 [1 1 1 1|1 1 1 1] | + | ^SC(10,"OST",3081228,1)="SU 28 [1 1 1 1|1 1 1 1] |
^SC(10,"OST",3090104,0)=3090104 | ^SC(10,"OST",3090104,0)=3090104 | ||
− | ^SC(10,"OST",3090104,1)="SU 04 [1 1 1 1|1 1 1 1] | + | ^SC(10,"OST",3090104,1)="SU 04 [1 1 1 1|1 1 1 1] |
^SC(10,"PC")=1 | ^SC(10,"PC")=1 | ||
^SC(10,"PR",0)="^44.1P^1^1" | ^SC(10,"PR",0)="^44.1P^1^1" | ||
Line 418: | Line 713: | ||
^SC(10,"ST",0)="^44.005" | ^SC(10,"ST",0)="^44.005" | ||
^SC(10,"ST",3081214,0)=3081214 | ^SC(10,"ST",3081214,0)=3081214 | ||
− | ^SC(10,"ST",3081214,1)="SU 14 | [2 2 2 2|2 2 2 2] | + | ^SC(10,"ST",3081214,1)="SU 14 | [2 2 2 2|2 2 2 2] |
^SC(10,"ST",3081221,0)=3081221 | ^SC(10,"ST",3081221,0)=3081221 | ||
− | ^SC(10,"ST",3081221,1)="SU 21 [1 1 1 1|1 1 1 1] | + | ^SC(10,"ST",3081221,1)="SU 21 [1 1 1 1|1 1 1 1] |
^SC(10,"ST",3081221,9)=10 | ^SC(10,"ST",3081221,9)=10 | ||
^SC(10,"ST",3081228,0)=3081228 | ^SC(10,"ST",3081228,0)=3081228 | ||
− | ^SC(10,"ST",3081228,1)="SU 28 [1 1 1 1|1 1 1 1] | + | ^SC(10,"ST",3081228,1)="SU 28 [1 1 1 1|1 1 1 1] |
^SC(10,"ST",3081228,9)=10 | ^SC(10,"ST",3081228,9)=10 | ||
^SC(10,"ST",3090104,0)=3090104 | ^SC(10,"ST",3090104,0)=3090104 | ||
− | ^SC(10,"ST",3090104,1)="SU 04 [1 1 1 1|1 1 1 1] | + | ^SC(10,"ST",3090104,1)="SU 04 [1 1 1 1|1 1 1 1] |
^SC(10,"ST",3090104,9)=10 | ^SC(10,"ST",3090104,9)=10 | ||
^SC(10,"T",0)="^44.002D^3081214^19" | ^SC(10,"T",0)="^44.002D^3081214^19" | ||
Line 451: | Line 746: | ||
^SC(10,"T0",0)="^44.06A^^" | ^SC(10,"T0",0)="^44.06A^^" | ||
^SC(10,"T0",3081221,0)=3081221 | ^SC(10,"T0",3081221,0)=3081221 | ||
− | ^SC(10,"T0",3081221,1)="| [2 2 2 2|2 2 2 2] | + | ^SC(10,"T0",3081221,1)="| [2 2 2 2|2 2 2 2] |
^SC(10,"T1",0)="^44.07A^^" | ^SC(10,"T1",0)="^44.07A^^" | ||
Line 457: | Line 752: | ||
* Because I first added a set pattern (not indefinite) at t+8, I was then not given the option to add an indefinite pattern. Instead, I was given the option for a pattern from now until t+8. | * Because I first added a set pattern (not indefinite) at t+8, I was then not given the option to add an indefinite pattern. Instead, I was given the option for a pattern from now until t+8. | ||
* OST nodes were made for the first fixed pattern, and then T0 node was set for PATTERN entry. | * OST nodes were made for the first fixed pattern, and then T0 node was set for PATTERN entry. | ||
− | * T node entries were made for each of the two sets | + | * T node entries were made for each of the two sets. There is one pattern starting at 3081214, which changes at 3081221. |
+ | * ST node entries again show availability PATTERN combined from both the SPECIAL and TEMPLATE entries. | ||
+ | * Notice presences of ^SC(IEN,"ST",FMDate,9)=IEN nodes. This means that the pattern should be taken from the OST node of the same date, not the T0 nodes | ||
+ | |||
+ | === EXAMPLE OF INDEFINITE PATTERN, AND THEN FIXED DAYS ADDED === | ||
+ | |||
+ | Select CLINIC NAME: x_TEST_OFFICE TOPPENBERG,KEVIN S | ||
+ | NAME: X_TEST_OFFICE// | ||
+ | ABBREVIATION: | ||
+ | CLINIC MEETS AT THIS FACILITY?: YES// ^ | ||
+ | |||
+ | AVAILABILITY DATE: t (DEC 15, 2008) | ||
+ | |||
+ | MONDAY | ||
+ | |||
+ | |||
+ | TIME: 0800-1000 # APPTS/SLOT : 1// | ||
+ | |||
+ | TIME: | ||
+ | [1 1 1 1|1 1 1 1] | ||
+ | ...PATTERN OK FOR MONDAYS INDEFINITELY? y (Yes) | ||
+ | ...HMMM, I'M WORKING AS FAST AS I CAN... | ||
+ | PATTERN FILED! | ||
+ | |||
+ | |||
+ | AVAILABILITY DATE: t+14 (DEC 29, 2008) | ||
+ | |||
+ | MONDAY | ||
+ | |||
+ | |||
+ | TIME: 0900-1100 # APPTS/SLOT : 1// 2 | ||
+ | |||
+ | TIME: | ||
+ | | [2 2 2 2|2 2 2 2] | ||
+ | ...PATTERN OK FOR MONDAYS INDEFINITELY? n (No) | ||
+ | ...FOR DEC 29,2008? No// y (Yes) ...OK | ||
+ | ...FOR JAN 5,2009? No// y (Yes) ...OK | ||
+ | ...FOR JAN 12,2009? No// ^ | ||
+ | |||
+ | AVAILABILITY DATE: | ||
+ | GTM>zwr ^SC(10,*) | ||
+ | ^SC(10,0)="X_TEST_OFFICE^^C^^^^342^M^^^lo^^^^^^N^^Y^^^1" | ||
+ | ^SC(10,"AT")=9 | ||
+ | ^SC(10,"OST",0)="^44.0002DA^^" | ||
+ | ^SC(10,"OST",3081229,0)=3081229 | ||
+ | ^SC(10,"OST",3081229,1)="MO 29 | [2 2 2 2|2 2 2 2] | ||
+ | ^SC(10,"OST",3090105,0)=3090105 | ||
+ | ^SC(10,"OST",3090105,1)="MO 05 | [2 2 2 2|2 2 2 2] | ||
+ | ^SC(10,"PC")=1 | ||
+ | ^SC(10,"PR",0)="^44.1P^1^1" | ||
+ | ^SC(10,"PR",1,0)="73^1" | ||
+ | ^SC(10,"PR","B",73,1)="" | ||
+ | ^SC(10,"PS")=0 | ||
+ | ^SC(10,"S",0)="^44.001DA^^" | ||
+ | ^SC(10,"S",3081215.09,0)=3081215.09 | ||
+ | ^SC(10,"S",3081215.09,1,0)="^44.003PA^^" | ||
+ | ^SC(10,"S",3081215.09,1,1,0)="70774^15^^^^73^3081213" | ||
+ | ^SC(10,"S",3090223.083,0)=3090223.083 | ||
+ | ^SC(10,"S",3090223.083,1,0)="^44.003PA^^" | ||
+ | ^SC(10,"S",3090223.083,1,1,0)="1^15^^^^73^3081213" | ||
+ | ^SC(10,"SDP")="5^365^^365" | ||
+ | ^SC(10,"SL")="15^^8^^^4^5" | ||
+ | ^SC(10,"ST",0)="^44.005" | ||
+ | ^SC(10,"ST",3081215,0)=3081215 | ||
+ | ^SC(10,"ST",3081215,1)="MO 15 [1 1 1 1|0 1 1 1] | ||
+ | ^SC(10,"ST",3081222,0)=3081222 | ||
+ | ^SC(10,"ST",3081222,1)="MO 22 [1 1 1 1|1 1 1 1] " | ||
+ | ^SC(10,"ST",3081229,0)=3081229 | ||
+ | ^SC(10,"ST",3081229,1)="MO 29 | [2 2 2 2|2 2 2 2] | ||
+ | ^SC(10,"ST",3081229,9)=10 | ||
+ | ^SC(10,"ST",3090105,0)=3090105 | ||
+ | ^SC(10,"ST",3090105,1)="MO 05 | [2 2 2 2|2 2 2 2] | ||
+ | ^SC(10,"ST",3090105,9)=10 | ||
+ | ^SC(10,"ST",3090112,0)=3090112 | ||
+ | ^SC(10,"ST",3090112,1)="MO 12 [1 1 1 1|1 1 1 1] " | ||
+ | ^SC(10,"ST",3090223,0)=3090223 | ||
+ | ^SC(10,"ST",3090223,1)="MO 23 [1 1 0 1|1 1 1 1] | ||
+ | ^SC(10,"T",0)="^44.002D^3081229^25" | ||
+ | ^SC(10,"T",3081215,0)=3081215 | ||
+ | ^SC(10,"T",3081215,2,0)="^44.004A^8^8" | ||
+ | ^SC(10,"T",3081215,2,1,0)="0800^1" | ||
+ | ^SC(10,"T",3081215,2,2,0)="0815^1" | ||
+ | ^SC(10,"T",3081215,2,3,0)="0830^1" | ||
+ | ^SC(10,"T",3081215,2,4,0)="0845^1" | ||
+ | ^SC(10,"T",3081215,2,5,0)="0900^1" | ||
+ | ^SC(10,"T",3081215,2,6,0)="0915^1" | ||
+ | ^SC(10,"T",3081215,2,7,0)="0930^1" | ||
+ | ^SC(10,"T",3081215,2,8,0)="0945^1" | ||
+ | ^SC(10,"T",3081229,0)=3081229 | ||
+ | ^SC(10,"T",3081229,2,0)="^44.004A^8^8" | ||
+ | ^SC(10,"T",3081229,2,1,0)="0900^2" | ||
+ | ^SC(10,"T",3081229,2,2,0)="0915^2" | ||
+ | ^SC(10,"T",3081229,2,3,0)="0930^2" | ||
+ | ^SC(10,"T",3081229,2,4,0)="0945^2" | ||
+ | ^SC(10,"T",3081229,2,5,0)="1000^2" | ||
+ | ^SC(10,"T",3081229,2,6,0)="1015^2" | ||
+ | ^SC(10,"T",3081229,2,7,0)="1030^2" | ||
+ | ^SC(10,"T",3081229,2,8,0)="1045^2" | ||
+ | ^SC(10,"T0",0)="^44.06A^^" | ||
+ | ^SC(10,"T1",0)="^44.07A^^" | ||
+ | ^SC(10,"T1",9999999,0)=9999999 | ||
+ | ^SC(10,"T1",9999999,1)="[1 1 1 1|1 1 1 1] " | ||
+ | |||
+ | '''Comments''' | ||
+ | * The TEMPLATE node (T1) is not changed by the subsequent addition of fixed days. | ||
+ | * The PATTERN node (ST) shows the mixture of the repeating template with superimposed fixed days. | ||
+ | * The AVAILABILITY node (T) has the availability times change starting at 3081229. This means that one can't simply look at the latest date in the T nodes and use that to determine slots. | ||
+ | |||
+ | === EXAMPLE OF APPOINTMENT ADDED === | ||
+ | |||
+ | Below is a [[record~|Record]] with just 1 appt was made for 12/15/08@0900 | ||
+ | |||
+ | GTM>zwr ^SC(10,*) | ||
+ | ^SC(10,0)="X_TEST_OFFICE^^C^^^^342^M^^^lo^^^^^^N^^Y^^^1" | ||
+ | ^SC(10,"AT")=9 | ||
+ | ^SC(10,"OST",0)="^44.0002DA^^" | ||
+ | ^SC(10,"OST",3081215,0)=3081215 | ||
+ | ^SC(10,"OST",3081215,1)="MO 15 | [2 2|2 2 2 2] " | ||
+ | ^SC(10,"OST",3081222,0)=3081222 | ||
+ | ^SC(10,"OST",3081222,1)="MO 22 | [2 2|2 2 2 2] " | ||
+ | ^SC(10,"PC")=1 | ||
+ | ^SC(10,"PR",0)="^44.1P^1^1" | ||
+ | ^SC(10,"PR",1,0)="73^1" | ||
+ | ^SC(10,"PR","B",73,1)="" | ||
+ | ^SC(10,"PS")=0 | ||
+ | ^SC(10,"S",0)="^44.001DA^^" | ||
+ | ^SC(10,"S",3081215.09,0)=3081215.09 | ||
+ | ^SC(10,"S",3081215.09,1,0)="^44.003PA^^" | ||
+ | ^SC(10,"S",3081215.09,1,1,0)="70774^15^^^^73^3081213" | ||
+ | ^SC(10,"SDP")="5^365^^365" | ||
+ | ^SC(10,"SL")="15^^8^^^4^5" | ||
+ | ^SC(10,"ST",0)="^44.005" | ||
+ | ^SC(10,"ST",3081215,0)=3081215 | ||
+ | ^SC(10,"ST",3081215,1)="MO 15 | [2 2|1 2 2 2] " | ||
+ | ^SC(10,"ST",3081215,9)=10 | ||
+ | ^SC(10,"ST",3081222,0)=3081222 | ||
+ | ^SC(10,"ST",3081222,1)="MO 22 | [2 2|2 2 2 2] " | ||
+ | ^SC(10,"ST",3081222,9)=10 | ||
+ | ^SC(10,"T",0)="^44.002D^3081215^20" | ||
+ | ^SC(10,"T",3081215,0)=3081215 | ||
+ | ^SC(10,"T",3081215,2,0)="^44.004A^6^6" | ||
+ | ^SC(10,"T",3081215,2,1,0)="0830^2" | ||
+ | ^SC(10,"T",3081215,2,2,0)="0845^2" | ||
+ | ^SC(10,"T",3081215,2,3,0)="0900^2" | ||
+ | ^SC(10,"T",3081215,2,4,0)="0915^2" | ||
+ | ^SC(10,"T",3081215,2,5,0)="0930^2" | ||
+ | ^SC(10,"T",3081215,2,6,0)="0945^2" | ||
+ | ^SC(10,"T0",0)="^44.06A^^" | ||
+ | ^SC(10,"T1",0)="^44.07A^^" | ||
+ | |||
+ | Comments: | ||
+ | * Notice that the PATTERN node ("ST"), shows only 1 (not 2) spaces available at the appt time. Thus this is where the [[record~|Record]] of CURRENT AVAILABILITY is stored. | ||
+ | * The AVAILABILITY "T" node value of "2" patients allowd at 0900 is NOT changed. | ||
+ | |||
+ | |||
+ | === Example of DELETING appt slots === | ||
+ | |||
+ | Below shows an example of deleting appts, done by redefining the available appts for the same date. | ||
+ | |||
+ | Select CLINIC NAME: x_TEST_OFFICE TOPPENBERG,KEVIN S | ||
+ | NAME: X_TEST_OFFICE// | ||
+ | ABBREVIATION: | ||
+ | CLINIC MEETS AT THIS FACILITY?: YES// ^ | ||
+ | |||
+ | AVAILABILITY DATE: t+2 (DEC 15, 2008) MONDAY | ||
+ | |||
+ | |||
+ | TIME: 0830-0840 [ TIME SPAN ENTERED NOT CONSISTENT WITH 15 MIN APPT LENGTH ] | ||
+ | TIME: 0830-0845 # APPTS/SLOT : 1// 2 | ||
+ | TIME: 0900-1130 # APPTS/SLOT : 1// | ||
+ | TIME: 1300-1315 # APPTS/SLOT : 1// | ||
+ | TIME: 1330-1630 # APPTS/SLOT : 1// | ||
+ | TIME: | ||
+ | | [2] [1 1 1 1|1 1 1 1|1 1] | [1] [1 1|1 1 1 1|1 1 1 1|1 1] | ||
+ | ...PATTERN OK FOR MONDAYS INDEFINITELY? y (Yes) | ||
+ | ...HMMM, LET ME THINK ABOUT THAT A MOMENT... | ||
+ | PATTERN FILED! | ||
+ | |||
+ | AVAILABILITY DATE: | ||
+ | |||
+ | |||
+ | |||
+ | Select CLINIC NAME: | ||
+ | GTM>zwr ^SC(10,*) | ||
+ | ^SC(10,0)="X_TEST_OFFICE^^C^^^^342^M^^^lo^^^^^^N^^Y^^^1" | ||
+ | ^SC(10,"AT")=9 | ||
+ | ^SC(10,"OST",0)="^44.0002DA^^" | ||
+ | ^SC(10,"PC")=1 | ||
+ | ^SC(10,"PR",0)="^44.1P^1^1" | ||
+ | ^SC(10,"PR",1,0)="73^1" | ||
+ | ^SC(10,"PR","B",73,1)="" | ||
+ | ^SC(10,"PS")=0 | ||
+ | ^SC(10,"S",0)="^44.001DA^^" | ||
+ | ^SC(10,"S",3081215.09,0)=3081215.09 | ||
+ | ^SC(10,"S",3081215.09,1,0)="^44.003PA^^" | ||
+ | ^SC(10,"S",3081215.09,1,1,0)="70774^15^^^^73^3081213" | ||
+ | ^SC(10,"SDP")="5^365^^365" | ||
+ | ^SC(10,"SL")="15^^8^^^4^5" | ||
+ | ^SC(10,"ST",0)="^44.005" | ||
+ | ^SC(10,"ST",3081215,0)=3081215 | ||
+ | ^SC(10,"ST",3081215,1)="MO 15 | [2] [0 1 1 1|1 1 1 1|1 1] | [1] [1 1|1 1 1 1|1 1 1 1|1 1]" | ||
+ | ^SC(10,"ST",3081222,0)=3081222 | ||
+ | ^SC(10,"ST",3081222,1)="MO 22 | [2] [1 1 1 1|1 1 1 1|1 1] | [1] [1 1|1 1 1 1|1 1 1 1|1 1] " | ||
+ | ^SC(10,"ST",3081229,0)=3081229 | ||
+ | ^SC(10,"ST",3081229,1)="MO 29 | [2] [1 1 1 1|1 1 1 1|1 1] | [1] [1 1|1 1 1 1|1 1 1 1|1 1] " | ||
+ | ^SC(10,"ST",3090105,0)=3090105 | ||
+ | ^SC(10,"ST",3090105,1)="MO 05 | [2] [1 1 1 1|1 1 1 1|1 1] | [1] [1 1|1 1 1 1|1 1 1 1|1 1] " | ||
+ | ^SC(10,"ST",3090112,0)=3090112 | ||
+ | ^SC(10,"ST",3090112,1)="MO 12 | [2] [1 1 1 1|1 1 1 1|1 1] | [1] [1 1|1 1 1 1|1 1 1 1|1 1] " | ||
+ | ^SC(10,"T",0)="^44.002D^3081215^21" | ||
+ | ^SC(10,"T",3081215,0)=3081215 | ||
+ | ^SC(10,"T",3081215,2,0)="^44.004A^24^24" | ||
+ | ^SC(10,"T",3081215,2,1,0)="0830^2" | ||
+ | ^SC(10,"T",3081215,2,2,0)="0900^1" | ||
+ | ^SC(10,"T",3081215,2,3,0)="0915^1" | ||
+ | ^SC(10,"T",3081215,2,4,0)="0930^1" | ||
+ | ^SC(10,"T",3081215,2,5,0)="0945^1" | ||
+ | ^SC(10,"T",3081215,2,6,0)="1000^1" | ||
+ | ^SC(10,"T",3081215,2,7,0)="1015^1" | ||
+ | ^SC(10,"T",3081215,2,8,0)="1030^1" | ||
+ | ^SC(10,"T",3081215,2,9,0)="1045^1" | ||
+ | ^SC(10,"T",3081215,2,10,0)="1100^1" | ||
+ | ^SC(10,"T",3081215,2,11,0)="1115^1" | ||
+ | ^SC(10,"T",3081215,2,12,0)="1300^1" | ||
+ | ^SC(10,"T",3081215,2,13,0)="1330^1" | ||
+ | ^SC(10,"T",3081215,2,14,0)="1345^1" | ||
+ | ^SC(10,"T",3081215,2,15,0)="1400^1" | ||
+ | ^SC(10,"T",3081215,2,16,0)="1415^1" | ||
+ | ^SC(10,"T",3081215,2,17,0)="1430^1" | ||
+ | ^SC(10,"T",3081215,2,18,0)="1445^1" | ||
+ | ^SC(10,"T",3081215,2,19,0)="1500^1" | ||
+ | ^SC(10,"T",3081215,2,20,0)="1515^1" | ||
+ | ^SC(10,"T",3081215,2,21,0)="1530^1" | ||
+ | ^SC(10,"T",3081215,2,22,0)="1545^1" | ||
+ | ^SC(10,"T",3081215,2,23,0)="1600^1" | ||
+ | ^SC(10,"T",3081215,2,24,0)="1615^1" | ||
+ | ^SC(10,"T0",0)="^44.06A^^" | ||
+ | ^SC(10,"T1",0)="^44.07A^^" | ||
+ | ^SC(10,"T1",9999999,0)=9999999 | ||
+ | ^SC(10,"T1",9999999,1)="| [2] [1 1 1 1|1 1 1 1|1 1] | [1] [1 1|1 1 1 1|1 1 1 1|1 1] " | ||
+ | |||
+ | GTM>do ^SDB | ||
+ | |||
+ | Select CLINIC NAME: x_TEST_OFFICE TOPPENBERG,KEVIN S | ||
+ | NAME: X_TEST_OFFICE// | ||
+ | ABBREVIATION: | ||
+ | CLINIC MEETS AT THIS FACILITY?: YES// ^ | ||
+ | |||
+ | AVAILABILITY DATE: t+2 (DEC 15, 2008) MONDAY | ||
+ | |||
+ | TIME: 0830-0845 # APPTS/SLOT : 1// | ||
+ | TIME: | ||
+ | | [1] | ||
+ | ...PATTERN OK FOR MONDAYS INDEFINITELY? y (Yes) | ||
+ | ...HMMM, LET ME PUT YOU ON 'HOLD' FOR A SECOND... | ||
+ | PATTERN FILED! | ||
+ | AVAILABILITY DATE: | ||
+ | Select CLINIC NAME: | ||
+ | |||
+ | GTM>zwr ^SC(10,*) | ||
+ | ^SC(10,0)="X_TEST_OFFICE^^C^^^^342^M^^^lo^^^^^^N^^Y^^^1" | ||
+ | ^SC(10,"AT")=9 | ||
+ | ^SC(10,"OST",0)="^44.0002DA^^" | ||
+ | ^SC(10,"PC")=1 | ||
+ | ^SC(10,"PR",0)="^44.1P^1^1" | ||
+ | ^SC(10,"PR",1,0)="73^1" | ||
+ | ^SC(10,"PR","B",73,1)="" | ||
+ | ^SC(10,"PS")=0 | ||
+ | ^SC(10,"S",0)="^44.001DA^^" | ||
+ | ^SC(10,"S",3081215.09,0)=3081215.09 | ||
+ | ^SC(10,"S",3081215.09,1,0)="^44.003PA^^" | ||
+ | ^SC(10,"S",3081215.09,1,1,0)="70774^15^^^^73^3081213" | ||
+ | ^SC(10,"S",3081215.09,1,1,"OB")="O" | ||
+ | ^SC(10,"SDP")="5^365^^365" | ||
+ | ^SC(10,"SL")="15^^8^^^4^5" | ||
+ | ^SC(10,"ST",0)="^44.005" | ||
+ | ^SC(10,"ST",3081215,0)=3081215 | ||
+ | ^SC(10,"ST",3081215,1)="MO 15 | [1] * " | ||
+ | ^SC(10,"ST",3081222,0)=3081222 | ||
+ | ^SC(10,"ST",3081222,1)="MO 22 | [1] " | ||
+ | ^SC(10,"ST",3081229,0)=3081229 | ||
+ | ^SC(10,"ST",3081229,1)="MO 29 | [1] " | ||
+ | ^SC(10,"ST",3090105,0)=3090105 | ||
+ | ^SC(10,"ST",3090105,1)="MO 05 | [1] " | ||
+ | ^SC(10,"ST",3090112,0)=3090112 | ||
+ | ^SC(10,"ST",3090112,1)="MO 12 | [1] " | ||
+ | ^SC(10,"T",0)="^44.002D^3081215^22" | ||
+ | ^SC(10,"T",3081215,0)=3081215 | ||
+ | ^SC(10,"T",3081215,2,0)="^44.004A^1^1" | ||
+ | ^SC(10,"T",3081215,2,1,0)="0830^1" | ||
+ | ^SC(10,"T0",0)="^44.06A^^" | ||
+ | ^SC(10,"T1",0)="^44.07A^^" | ||
+ | ^SC(10,"T1",3081215,0)=3081215 | ||
+ | ^SC(10,"T1",3081215,1)="| [2] [1 1 1 1|1 1 1 1|1 1] | [1] [1 1|1 1 1 1|1 1 1 1|1 1] " | ||
+ | ^SC(10,"T1",9999999,0)=9999999 | ||
+ | ^SC(10,"T1",9999999,1)="| [1] " | ||
+ | |||
+ | Comments: | ||
+ | * The "T" nodes are simply erased and replaced by the new pattern | ||
+ | * The "T1" node has 2 date ranges. 1st is up to (but not including) 3081215, and the 2nd is from 3081215 onward | ||
+ | * The "ST" node shows a * that I think indicates an appt with no slot | ||
+ | |||
+ | === Example of Browsing into the Future === | ||
+ | |||
+ | |||
+ | GTM>zwr ^SC(10,*) | ||
+ | ^SC(10,0)="X_TEST_OFFICE^^C^^^^342^M^^^lo^^^^^^N^^Y^^^1" | ||
+ | ^SC(10,"AT")=9 | ||
+ | ^SC(10,"OST",0)="^44.0002DA^^" | ||
+ | ^SC(10,"PC")=1 | ||
+ | ^SC(10,"PR",0)="^44.1P^1^1" | ||
+ | ^SC(10,"PR",1,0)="73^1" | ||
+ | ^SC(10,"PR","B",73,1)="" | ||
+ | ^SC(10,"PS")=0 | ||
+ | ^SC(10,"S",0)="^44.001DA^^" | ||
+ | ^SC(10,"S",3081215.09,0)=3081215.09 | ||
+ | ^SC(10,"S",3081215.09,1,0)="^44.003PA^^" | ||
+ | ^SC(10,"S",3081215.09,1,1,0)="70774^15^^^^73^3081213" | ||
+ | ^SC(10,"S",3090223.083,0)=3090223.083 | ||
+ | ^SC(10,"S",3090223.083,1,0)="^44.003PA^^" | ||
+ | ^SC(10,"S",3090223.083,1,1,0)="1^15^^^^73^3081213" | ||
+ | ^SC(10,"SDP")="5^365^^365" | ||
+ | ^SC(10,"SL")="15^^8^^^4^5" | ||
+ | ^SC(10,"ST",0)="^44.005" | ||
+ | ^SC(10,"ST",3081215,0)=3081215 | ||
+ | ^SC(10,"ST",3081215,1)="MO 15 | [1 1|0 1 1 1] | ||
+ | ^SC(10,"ST",3081222,0)=3081222 | ||
+ | ^SC(10,"ST",3081222,1)="MO 22 | [1 1|1 1 1 1] " | ||
+ | ^SC(10,"ST",3081229,0)=3081229 | ||
+ | ^SC(10,"ST",3081229,1)="MO 29 | [1 1|1 1 1 1] " | ||
+ | ^SC(10,"ST",3090105,0)=3090105 | ||
+ | ^SC(10,"ST",3090105,1)="MO 05 | [1 1|1 1 1 1] " | ||
+ | ^SC(10,"ST",3090112,0)=3090112 | ||
+ | ^SC(10,"ST",3090112,1)="MO 12 | [1 1|1 1 1 1] " | ||
+ | ^SC(10,"ST",3090119,0)=3090119 | ||
+ | ^SC(10,"ST",3090119,1)="MO 19 | [1 1|1 1 1 1] " | ||
+ | ^SC(10,"ST",3090126,0)=3090126 | ||
+ | ^SC(10,"ST",3090126,1)="MO 26 | [1 1|1 1 1 1] " | ||
+ | ^SC(10,"ST",3090202,0)=3090202 | ||
+ | ^SC(10,"ST",3090202,1)="MO 02 | [1 1|1 1 1 1] " | ||
+ | ^SC(10,"ST",3090209,0)=3090209 | ||
+ | ^SC(10,"ST",3090209,1)="MO 09 | [1 1|1 1 1 1] " | ||
+ | ^SC(10,"ST",3090216,0)=3090216 | ||
+ | ^SC(10,"ST",3090216,1)="MO 16 | [1 1|1 1 1 1] " | ||
+ | ^SC(10,"ST",3090223,0)=3090223 | ||
+ | ^SC(10,"ST",3090223,1)="MO 23 | [0 1|1 1 1 1] " | ||
+ | ^SC(10,"T",0)="^44.002D^3081215^23" | ||
+ | ^SC(10,"T",3081215,0)=3081215 | ||
+ | ^SC(10,"T",3081215,2,0)="^44.004A^6^6" | ||
+ | ^SC(10,"T",3081215,2,1,0)="0830^1" | ||
+ | ^SC(10,"T",3081215,2,2,0)="0845^1" | ||
+ | ^SC(10,"T",3081215,2,3,0)="0900^1" | ||
+ | ^SC(10,"T",3081215,2,4,0)="0915^1" | ||
+ | ^SC(10,"T",3081215,2,5,0)="0930^1" | ||
+ | ^SC(10,"T",3081215,2,6,0)="0945^1" | ||
+ | ^SC(10,"T0",0)="^44.06A^^" | ||
+ | ^SC(10,"T1",0)="^44.07A^^" | ||
+ | ^SC(10,"T1",9999999,0)=9999999 | ||
+ | ^SC(10,"T1",9999999,1)="| [1 1|1 1 1 1] " | ||
+ | |||
+ | Comments: | ||
+ | * An inital ^SDB was used, and 5 week's worth of MONDAY's were created | ||
+ | * Then, as I used the MAKE AN APPOINTMENT menu option, and browsed into the future, more days were automatically added to the "ST" nodes | ||
+ | * Finally, an appt was set at 2/23/09@0800 | ||
+ | * Notee: As I have cleared this test clinic each time between tests, I have not cleared out the S nodes, which are actual existing appts. Notice that when the current availability string is constructed for the given date, pre-existing appts are taken into account, and automatically notes (e.g. 12/15/08@0900 appt is shown.) | ||
+ | |||
+ | === Patterns to consider === | ||
+ | |||
+ | Below are possible scheduling patterns to consider. I will use *** to indicated days using a TEMPLATE, and !!! indicate days that were specified as specialized patterns (i.e. fixed days). 1**** means that *** days were added first. 2***** means that these were added second, 3!!!! would be added third etc. | ||
+ | |||
+ | * 1***** 2!!! **** 3!!! | ||
+ | * 2***** 1!!! 3******** | ||
+ | * others... | ||
+ | |||
+ | === Cancelling Appts for Individual Patients === | ||
+ | |||
+ | Here is an example appt for patient `70685 on 2/23/09 at 0900 | ||
+ | |||
+ | Below is data from the HOSPITAL LOCATION file, in the "S" node | ||
+ | |||
+ | ^SC(10,"S",3090223.09,0)=3090223.09 | ||
+ | ^SC(10,"S",3090223.09,1,0)="^44.003PA^^" | ||
+ | ^SC(10,"S",3090223.09,1,1,0)="70685^15^Bring xrays!^^^73^3090221.1335" | ||
+ | |||
+ | Information about the appt is also stored is the PATIENT file, in the "S" node. Below is is the same appt as above: | ||
+ | |||
+ | ^DPT(70685,"S",3090223.09,0)="10^^^^^^3^^^^^^^^^9^^^3090223^^^^^0^C^0" | ||
+ | ^DPT(70685,"S",3090223.09,1)="3090223^1" | ||
+ | |||
+ | The above appt was cancelled via the roll-and-scroll interface. Below is the same appt re-dumped. Notice that the [[record~|Record]] structure remains, but the information pointing the the patient etc are simply removed. | ||
+ | |||
+ | ^SC(10,"S",3090223.09,0)=3090223.09 | ||
+ | ^SC(10,"S",3090223.09,1,0)="^44.003PA^^" | ||
+ | |||
+ | Below is the appt information stored in the PATIENT file. Notice that the appt [[record~|Record]] remains, but it is now marked as cancelled. | ||
+ | ^DPT(70685,"S",3090223.09,0)="10^C^^^^^3^^^^^73^^3090222.0922^13^9^^73^3090221.1335^^^^^0^C^0" | ||
+ | ^DPT(70685,"S",3090223.09,1)="3090223^1" | ||
+ | ^DPT(70685,"S",3090223.09,"R")="Testing cancellation" | ||
+ | |||
+ | Also, a new index entry is created: | ||
+ | ^DPT("ASDCN",10,3090223.09,70685)="" ;<-- 1 if patient canceled, otherwise "" | ||
+ | |||
+ | Below is the above ^DPT entry with field names: | ||
+ | |||
+ | [[Record~|Record]]# 3090127.083,70685, | ||
+ | .001-APPOINTMENT DATE/TIME : JAN 27, 2009@08:30 | ||
+ | .01-CLINIC : X_TEST_OFFICE | ||
+ | 4-REAL APPOINTMENT : 1 | ||
+ | 9-PURPOSE OF VISIT : SCHEDULED VISIT | ||
+ | 9.5-APPOINTMENT TYPE : REGULAR | ||
+ | 20-DATE APPT. MADE : JAN 27, 2009 | ||
+ | 25-SCHEDULING REQUEST TYPE : OTHER THAN 'NEXT AVA.' (CLINICIAN REQ.) | ||
+ | 26-NEXT AVA. APPT. INDICATOR : NOT INDICATED TO BE A 'NEXT AVA.' APPT. | ||
+ | 27-DESIRED DATE OF APPOINTMENT : JAN 27, 2009 | ||
+ | 28-FOLLOW-UP VISIT : YES | ||
+ | 100-CURRENT STATUS : NO [[ACTION~|Action]] TAKEN | ||
+ | |||
+ | For some reason, field 3 is not shown. It is a set as below. So the C means 'Cancelled': | ||
+ | |||
+ | N: NO-SHOW | ||
+ | C: CANCELLED BY CLINIC | ||
+ | NA: NO-SHOW & AUTO RE-BOOK | ||
+ | CA: CANCELLED BY CLINIC & AUTO RE-BOOK | ||
+ | I: INPATIENT APPOINTMENT | ||
+ | PC: CANCELLED BY PATIENT | ||
+ | PCA:CANCELLED BY PATIENT & AUTO-REBOOK | ||
+ | NT: NO [[ACTION~|Action]] TAKEN | ||
+ | |||
+ | 1 2 7 12 14 15 18 19 | ||
+ | ^DPT(70685,"S",3090223.09,0)="10^ ^^^^^3^^^^^ ^^ ^ ^9^^ ^3090223 ^^^^^0^C^0" | ||
+ | ^DPT(70685,"S",3090223.09,0)="10^C^^^^^3^^^^^73^^3090222.0922^13^9^^73^3090221.1335^^^^^0^C^0" | ||
+ | |||
+ | Notice that the fields that are changed | ||
+ | upon deletion of an appt are as follows: | ||
+ | Piece# NAME (Field Num): Value change | ||
+ | --------------------------------------- | ||
+ | 2 STATUS (#3): null --> C | ||
+ | 12 NO-SHOW/CANCELLED BY (#14): null --> 73 (a pointer) | ||
+ | 14 NO-SHOW/CANCEL DATE/TIME (#15): null --> date | ||
+ | 15 CANCELLATION REASON (#16): null --> 13 ( pointer) | ||
+ | 18 DATA ENTRY CLERK (#19): null --? 73 | ||
+ | 19 DATE APPT. MADE (#20): date1 --> date2 | ||
+ | |||
+ | |||
+ | Below is the data dictionary for the entry in the PATIENT file | ||
+ | |||
+ | S;0 1900 APPOINTMENT W:^ <-Mult [2.98P] | ||
+ | - .001 -APPOINTMENT DATE/TIME [D] | ||
+ | -0;1 .01 -CLINIC <-Pntr [MP44'X] | ||
+ | -Computed .02 -TELEPHONE OF CLINIC [CJ14] | ||
+ | -0;2 3 -STATUS [S] | ||
+ | -Computed 4 -REAL APPOINTMENT [BC] | ||
+ | -0;3 5 -LAB DATE/TIME [D] | ||
+ | -0;4 6 -X-RAY DATE/TIME [D] | ||
+ | -0;5 7 -EKG DATE/TIME [D] | ||
+ | -0;6 8 -[[ROUTING SLIP~|Routing Slip]] PRINTED [S] | ||
+ | -0;13 8.5 -{[ROUTING SLIP~|Routing Slip]] PRINT DATE [D] | ||
+ | -0;7 9 -PURPOSE OF VISIT [RS] | ||
+ | -0;16 9.5 -APPOINTMENT TYPE <-Pntr [P409.1'] | ||
+ | -0;8 10 -[[SPECIAL SURVEY~|Special Survey]] DISPOSITION [NJ1,0] | ||
+ | -0;9 11 -NUMBER OF COLLATERAL SEEN [NJ1,0] | ||
+ | -0;10 12 -AUTO-REBOOKED APPT. DATE/TIME [D] | ||
+ | -0;11 13 -[[COLLATERAL VISIT~|Collateral Visit]] [S] | ||
+ | -0;12 14 -NO-SHOW/CANCELLED BY <-Pntr [P200'] | ||
+ | -0;14 15 -NO-SHOW/CANCEL DATE/TIME [D] | ||
+ | -0;15 16 -CANCELLATION REASON <-Pntr [R*P409.2'] | ||
+ | -R;1 17 -CANCELLATION REMARKS [F] | ||
+ | -0;17 18 -APPT. CANCELLED <-Pntr [P44'] | ||
+ | -0;18 19 -DATA ENTRY CLERK <-Pntr [P200'] | ||
+ | -0;19 20 -DATE APPT. MADE [D] | ||
+ | -0;20 21 -OUTPATIENT ENCOUNTER <-Pntr [P409.68'] | ||
+ | -0;21 22 -ENCOUNTER FORMS PRINTED [S] | ||
+ | -0;22 23 -ENCOUNTER FORMS AS ADD-ONS [S] | ||
+ | -0;23 23.1 -ENCOUNTER CONVERSION STATUS [S] | ||
+ | -0;24 24 -APPOINTMENT TYPE SUB-CATEGORY <-Pntr [P35.2'] | ||
+ | -0;25 25 -SCHEDULING REQUEST TYPE [RS] | ||
+ | -0;26 26 -NEXT AVA. APPT. INDICATOR [RS] | ||
+ | -1;1 27 -DESIRED DATE OF APPOINTMENT [D] | ||
+ | -1;2 28 -FOLLOW-UP VISIT [S] | ||
+ | -Computed 100 -CURRENT STATUS [CJ35] |
Latest revision as of 19:58, 24 July 2012
This will contain notes as the data structures for clinic scheduling is explored.
Contents
- 1 DATA DICTIONARY NOTES
- 2 SAMPLE Record
- 3 EXAMPLE OF INDEFINITE SLOT PATTERN
- 4 EXAMPLE OF SLOT PATTERN FOR SET DAYS
- 5 EXAMPLE OF MULTIPLE FIXED DAYS
- 6 TEMP
- 7 EXAMPLE OF MIXED FIXED AND THEN INDEFINITE DAYS
- 8 EXAMPLE OF INDEFINITE PATTERN, AND THEN FIXED DAYS ADDED
- 9 EXAMPLE OF APPOINTMENT ADDED
- 10 Example of DELETING appt slots
- 11 Example of Browsing into the Future
- 12 Patterns to consider
- 13 Cancelling Appts for Individual Patients
DATA DICTIONARY NOTES
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:
AVAILABILITY subfile, and the SCHEDULE TIME sub-subfile. For a given date, it specifies the number of patients allowed in each slot ------------------------------------------------------------- T;0 1920 AVAILABILITY <-Mult [44.002DA] -0;1 .01 -AVAILABILITY [MDX] -2;0 2 -SCHEDULE TIME <-Mult [44.004A] --0;1 .01 --SCHEDULE TIME [MFX] --0;2 1 --NUMBER OF PATIENTS [NJ2,0] -Computed 3 -DAY OF WEEK [CJ15] -Computed 4 -NUMBEROFDAY [CJ1]
Date/Time set up for clinic availability ------------------------------------------------------------- STT;1 1920.9 AVAILABILITY FLAG [D]
PATTERN subfile. For a given date, it shows avail slots ------------------------------------------------------------- ST;0 1921 PATTERN W:^ <-Mult [44.005DA] -0;1 .01 -PATTERN DATE [MDX] -1;E1,90 1 -CURRENT AVAILABILITY [F] -Computed 2 -MAINTENANCE [CJ8X] -9;1 3 -SPECIAL AVAILABILITY FLAG [DX]
OST;0 1921.5 SPECIAL PATTERN W:^ <-Mult [44.0002DA] -0;1 .01 -PATTERN DATE [DX] -1;E1,90 1 -ORIGINAL AVAILABILITY [F]
XDAY TEMPLATE subfile entries. For a given LIMIT DATE, it stores a master pattern. ------------------------------------------------------------- T0;0 1922 SUNDAY TEMPLATE W:^ <-Mult [44.06A] -0;1 .01 -LIMIT DATE [NJ7,0X] -1;E1,80 1 -MASTER PATTERN [F] T1;0 1923 MONDAY TEMPLATE W:^ <-Mult [44.07A] -0;1 .01 -LIMIT DATE [NJ7,0X] -1;E1,80 1 -MASTER PATTERN [F] T2;0 1924 TUESDAY TEMPLATE W:^ <-Mult [44.08A] -0;1 .01 -LIMIT DATE [NJ7,0X] -1;E1,80 1 -MASTER PATTERN [F] T3;0 1925 WEDNESDAY TEMPLATE W:^ <-Mult [44.09A] -0;1 .01 -LIMIT DATE [NJ7,0X] -1;1 1 -MASTER PATTERN [F] T4;0 1926 THURSDAY TEMPLATE W:^ <-Mult [44.008A] -0;1 .01 -LIMIT DATE [NJ7,0X] -1;E1,80 1 -MASTER PATTERN [F] T5;0 1927 FRIDAY TEMPLATE W:^ <-Mult [44.009A] -0;1 .01 -LIMIT DATE [NJ7,0X] -1;E1,80 1 -MASTER PATTERN [F] T6;0 1928 SATURDAY TEMPLATE W:^ <-Mult [44.0001A] -0;1 .01 -LIMIT DATE [NJ7,0X] -1;E1,80 1 -MASTER PATTERN [F]
APPOINTMENTS subfile entries. For a given LIMIT DATE, it stores actual appts. -------------------------------------------------------------
S;0 1900 APPOINTMENT W:^ <-Mult [44.001DA] -0;1 .01 -APPOINTMENT DATE/TIME [MDX] -1;0 2 -PATIENT <-Mult [44.003PA] --0;1 .01 --PATIENT <-Pntr [MP2'] --0;2 1 --LENGTH OF APP'T [NJ3,0] --0;3 2 --XRAY [F] --0;4 3 --OTHER [F] --0;5 4 --WARD LOC [F] --0;6 7 --DATA ENTRY CLERK <-Pntr [P200'] --0;7 8 --DATE APPOINTMENT MADE [D] --0;8 10 --PRIOR X-RAY RESULTS TO CLINIC? [S] --0;9 310 --APPOINTMENT CANCELLED? [S] --0;10 30 --ELIGIBILITY OF VISIT <-Pntr [*P8'X] --OB;1 9 --OVERBOOK [S] --RTR;1 200 --PARENT Record REQUEST # <-Pntr [*P190.1'] --C;1 309 --CHECKED-I N [DX] --C;2 302 --CHECK IN USER <-Pntr [P200'] --C;3 303 --CHECKED OUT [DX] --C;4 304 --CHECK OUT USER <-Pntr [P200'] --C;5 305 --CHECK IN ENTERED [D] --C;6 306 --CHECK OUT ENTERED [D]
SAMPLE Record
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
Below are the "OST" node entries, which hold "SPECIAL PATTERN" subfile
^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",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"
EXAMPLE OF INDEFINITE SLOT PATTERN
Below is a location that had just 1 day added, specified to be used indefinitely. (Note: I cleared out all slots prior to running ^SDB)
Select CLINIC NAME: x_TEST_OFFICE TOPPENBERG,KEVIN S NAME: X_TEST_OFFICE// ABBREVIATION: CLINIC MEETS AT THIS FACILITY?: YES// SERVICE: MEDICINE// ^
AVAILABILITY DATE: t+2 (DEC 15, 2008) MONDAY TIME: 0830-1000 # APPTS/SLOT : 1// 2 TIME: | [2 2|2 2 2 2] ...PATTERN OK FOR MONDAYS INDEFINITELY? y (Yes) ...EXCUSE ME, THIS MAY TAKE A FEW MOMENTS... PATTERN FILED!
GTM>zwr ^SC(10,*) ^SC(10,0)="X_TEST_OFFICE^^C^^^^342^M^^^lo^^^^^^N^^Y^^^1" ^SC(10,"AT")=9 ^SC(10,"PC")=1 ^SC(10,"PR",0)="^44.1P^1^1" ^SC(10,"PR",1,0)="73^1" ^SC(10,"PR","B",73,1)="" ^SC(10,"PS")=0 ^SC(10,"SDP")="5^365^^365" ^SC(10,"SL")="15^^8^^^4^5" ^SC(10,"ST",0)="^44.005" ^SC(10,"ST",3081215,0)=3081215 ^SC(10,"ST",3081215,1)="MO 15 | [2 2|2 2 2 2] " ^SC(10,"ST",3081222,0)=3081222 ^SC(10,"ST",3081222,1)="MO 22 | [2 2|2 2 2 2] " ^SC(10,"ST",3081229,0)=3081229 ^SC(10,"ST",3081229,1)="MO 29 | [2 2|2 2 2 2] " ^SC(10,"ST",3090105,0)=3090105 ^SC(10,"ST",3090105,1)="MO 05 | [2 2|2 2 2 2] " ^SC(10,"ST",3090112,0)=3090112 ^SC(10,"ST",3090112,1)="MO 12 | [2 2|2 2 2 2] " ^SC(10,"T",0)="^44.002D^3081215^11" ^SC(10,"T",3081215,0)=3081215 ^SC(10,"T",3081215,2,0)="^44.004A^6^6" ^SC(10,"T",3081215,2,1,0)="0830^2" ^SC(10,"T",3081215,2,2,0)="0845^2" ^SC(10,"T",3081215,2,3,0)="0900^2" ^SC(10,"T",3081215,2,4,0)="0915^2" ^SC(10,"T",3081215,2,5,0)="0930^2" ^SC(10,"T",3081215,2,6,0)="0945^2" ^SC(10,"T1",0)="^44.07A^^" ^SC(10,"T1",9999999,0)=9999999 ^SC(10,"T1",9999999,1)="| [2 2|2 2 2 2] "
Comments:
- When adding a pattern indefinitely, it adds PATTERN slots for 5 weeks.
- The "ST" node holds PATTERN entries for 5 weeks, starting at given date.
- The "T" node holds the 10 min interval slots, starting at the given date.
- The TEMPLATE itself is stored in the T1 node. Because there was no prior entry, and no end date, then 9999999 ending date is used
EXAMPLE OF SLOT PATTERN FOR SET DAYS
Below is another pattern. Again, I cleared the location first.
GTM>do ^SDB Select CLINIC NAME: x_TEST_OFFICE TOPPENBERG,KEVIN S NAME: X_TEST_OFFICE// ABBREVIATION: CLINIC MEETS AT THIS FACILITY?: YES// SERVICE: MEDICINE// NON-COUNT CLINIC? (Y OR N): NO// ^ AVAILABILITY DATE: t+2 (DEC 15, 2008) MONDAY
TIME: 0830-1000 # APPTS/SLOT : 1// 2 TIME: | [2 2|2 2 2 2] ...PATTERN OK FOR MONDAYS INDEFINITELY? n (No) ...FOR DEC 15,2008? No// y (Yes) ...OK ...FOR DEC 22,2008? No// y (Yes) ...OK ...FOR DEC 29,2008? No// (No) ...FOR JAN 5,2009? No// (No) ...FOR JAN 12,2009? No// (No) ...FOR JAN 19,2009? No// (No) ...FOR JAN 26,2009? No// ^ AVAILABILITY DATE: GTM>zwr ^SC(10,*) ^SC(10,0)="X_TEST_OFFICE^^C^^^^342^M^^^lo^^^^^^N^^Y^^^1" ^SC(10,"AT")=9 ^SC(10,"OST",0)="^44.0002DA^^" ^SC(10,"OST",3081215,0)=3081215 ^SC(10,"OST",3081215,1)="MO 15 | [2 2|2 2 2 2] " ^SC(10,"OST",3081222,0)=3081222 ^SC(10,"OST",3081222,1)="MO 22 | [2 2|2 2 2 2] " ^SC(10,"PC")=1 ^SC(10,"PR",0)="^44.1P^1^1" ^SC(10,"PR",1,0)="73^1" ^SC(10,"PR","B",73,1)="" ^SC(10,"PS")=0 ^SC(10,"SDP")="5^365^^365" ^SC(10,"SL")="15^^8^^^4^5" ^SC(10,"ST",0)="^44.005" ^SC(10,"ST",3081215,0)=3081215 ^SC(10,"ST",3081215,1)="MO 15 | [2 2|2 2 2 2] " ^SC(10,"ST",3081215,9)=10 ^SC(10,"ST",3081222,0)=3081222 ^SC(10,"ST",3081222,1)="MO 22 | [2 2|2 2 2 2] " ^SC(10,"ST",3081222,9)=10 ^SC(10,"T",0)="^44.002D^3081215^13" ^SC(10,"T",3081215,0)=3081215 ^SC(10,"T",3081215,2,0)="^44.004A^6^6" ^SC(10,"T",3081215,2,1,0)="0830^2" ^SC(10,"T",3081215,2,2,0)="0845^2" ^SC(10,"T",3081215,2,3,0)="0900^2" ^SC(10,"T",3081215,2,4,0)="0915^2" ^SC(10,"T",3081215,2,5,0)="0930^2" ^SC(10,"T",3081215,2,6,0)="0945^2" ^SC(10,"T1",0)="^44.07A^^"
Comments:
- When NOT adding a pattern indefinitely, it adds slots only for the days indicated by the user.
- The "T" node holds the 10 min interval slots, starting at the given date, no change vs. indefinite addition
- The "ST" node holds the PATTERN entry for each of the 2 days specified by the user
- There is no Tx entries.
- There is are OST node (SPECIAL PATTERN) entries for the specified days. Thus is seems that the OST node entries replace the Tx nodes.
EXAMPLE OF MULTIPLE FIXED DAYS
Select CLINIC NAME: x_TEST_OFFICE TOPPENBERG,KEVIN S NAME: X_TEST_OFFICE// ABBREVIATION: ^
AVAILABILITY DATE: t+1 (JAN 05, 2009) MONDAY TIME: 0830-1130 # APPTS/SLOT : 1// TIME: | [1 1|1 1 1 1|1 1 1 1|1 1] ...PATTERN OK FOR MONDAYS INDEFINITELY? y (Yes) ...EXCUSE ME, LET ME THINK ABOUT THAT A MOMENT... PATTERN FILED!
AVAILABILITY DATE: t+2 (JAN 06, 2009) TUESDAY TIME: 0830-1130 # APPTS/SLOT : 1// 2 TIME: | [2 2|2 2 2 2|2 2 2 2|2 2] ...PATTERN OK FOR TUESDAYS INDEFINITELY? y (Yes) ...EXCUSE ME, HOLD ON... PATTERN FILED!
AVAILABILITY DATE: t+3 (JAN 07, 2009) WEDNESDAY TIME: 0830-1130 # APPTS/SLOT : 1// 3 TIME: | [3 3|3 3 3 3|3 3 3 3|3 3] ...PATTERN OK FOR WEDNESDAYS INDEFINITELY? y (Yes) ...SORRY, HOLD ON... PATTERN FILED!
AVAILABILITY DATE: Select CLINIC NAME:
GTM>zwr ^SC(10,*) ^SC(10,0)="X_TEST_OFFICE^^C^^^^342^M^^^lo^^^^^^N^^Y^^^1" ^SC(10,"AT")=9 ^SC(10,"OST",0)="^44.0002DA^^" ^SC(10,"PC")=1 ^SC(10,"PR",0)="^44.1P^1^1" ^SC(10,"PR",1,0)="73^1" ^SC(10,"PR","B",73,1)="" ^SC(10,"PS")=0 ^SC(10,"S",0)="^44.001DA^^" ^SC(10,"S",3090105.09,0)=3090105.09 ^SC(10,"S",3090105.09,1,0)="^44.003PA^^" ^SC(10,"S",3090105.09,1,1,0)="1^15^^^^73^3090104" ... ^SC(10,"S",3090223.083,1,0)="^44.003PA^^" ^SC(10,"S",3090223.083,1,1,0)="1^15^^^^73^3081213" ^SC(10,"SDP")="5^365^^365" ^SC(10,"SL")="15^^8^^^4^5" ^SC(10,"ST",0)="^44.005" ^SC(10,"ST",3090105,0)=3090105 ^SC(10,"ST",3090105,1)="MO 05 | [1 1|0 1 1 1|1 1 1 1|1 1] " ^SC(10,"ST",3090106,0)=3090106 ^SC(10,"ST",3090106,1)="TU 06 | [2 2|2 2 2 2|2 2 2 2|2 2] " ^SC(10,"ST",3090107,0)=3090107 ^SC(10,"ST",3090107,1)="WE 07 | [3 3|3 3 3 3|3 3 3 3|3 3] " ^SC(10,"ST",3090112,0)=3090112 ^SC(10,"ST",3090112,1)="MO 12 | [1 1|1 1 1 1|1 1 1 1|1 1] " ^SC(10,"ST",3090113,0)=3090113 ^SC(10,"ST",3090113,1)="TU 13 | [2 2|2 2 2 2|2 2 2 2|2 2] " ^SC(10,"ST",3090114,0)=3090114 ^SC(10,"ST",3090114,1)="WE 14 | [3 3|3 3 3 3|3 3 3 3|3 3] " ^SC(10,"ST",3090119,0)=3090119 ^SC(10,"ST",3090119,1)="MO 19 | [1 1|1 1 1 1|1 1 1 1|1 1] " ^SC(10,"ST",3090120,0)=3090120 ^SC(10,"ST",3090120,1)="TU 20 | [2 2|2 2 2 2|2 2 2 2|2 2] " ^SC(10,"ST",3090121,0)=3090121 ^SC(10,"ST",3090121,1)="WE 21 | [3 3|3 3 3 3|3 3 3 3|3 3] " ^SC(10,"ST",3090126,0)=3090126 ^SC(10,"ST",3090126,1)="MO 26 | [1 1|1 1 1 1|1 1 1 1|1 1] " ^SC(10,"ST",3090127,0)=3090127 ^SC(10,"ST",3090127,1)="TU 27 | [2 2|2 2 2 2|2 2 2 2|2 2] " ^SC(10,"ST",3090128,0)=3090128 ^SC(10,"ST",3090128,1)="WE 28 | [3 3|3 3 3 3|3 3 3 3|3 3] " ^SC(10,"ST",3090202,0)=3090202 ^SC(10,"ST",3090202,1)="MO 02 | [1 1|1 1 1 1|1 1 1 1|1 1] " ^SC(10,"ST",3090203,0)=3090203 ^SC(10,"ST",3090203,1)="TU 03 | [2 2|2 2 2 2|2 2 2 2|2 2] " ^SC(10,"ST",3090204,0)=3090204 ^SC(10,"ST",3090204,1)="WE 04 | [3 3|3 3 3 3|3 3 3 3|3 3] " ^SC(10,"ST",3090210,0)=3090210 ^SC(10,"ST",3090210,1)="TU 10 | [2 2|1 2 2 2|2 2 2 2|2 2] " ^SC(10,"ST",3090223,0)=3090223 ^SC(10,"ST",3090223,1)="MO 23 | [0 1|1 1 1 1|1 1 1 1|1 1] " ^SC(10,"T",0)="^44.002D^3090107^6" ^SC(10,"T",3090105,0)=3090105 ^SC(10,"T",3090105,2,0)="^44.004A^12^12" ^SC(10,"T",3090105,2,1,0)="0830^1" ^SC(10,"T",3090105,2,2,0)="0845^1" ^SC(10,"T",3090105,2,3,0)="0900^1" ^SC(10,"T",3090105,2,4,0)="0915^1" ^SC(10,"T",3090105,2,5,0)="0930^1" ^SC(10,"T",3090105,2,6,0)="0945^1" ^SC(10,"T",3090105,2,7,0)="1000^1" ^SC(10,"T",3090105,2,8,0)="1015^1" ^SC(10,"T",3090105,2,9,0)="1030^1" ^SC(10,"T",3090105,2,10,0)="1045^1" ^SC(10,"T",3090105,2,11,0)="1100^1" ^SC(10,"T",3090105,2,12,0)="1115^1" ^SC(10,"T",3090106,0)=3090106 ^SC(10,"T",3090106,2,0)="^44.004A^12^12" ^SC(10,"T",3090106,2,1,0)="0830^2" ^SC(10,"T",3090106,2,2,0)="0845^2" ^SC(10,"T",3090106,2,3,0)="0900^2" ^SC(10,"T",3090106,2,4,0)="0915^2" ^SC(10,"T",3090106,2,5,0)="0930^2" ^SC(10,"T",3090106,2,6,0)="0945^2" ^SC(10,"T",3090106,2,7,0)="1000^2" ^SC(10,"T",3090106,2,8,0)="1015^2" ^SC(10,"T",3090106,2,9,0)="1030^2" ^SC(10,"T",3090106,2,10,0)="1045^2" ^SC(10,"T",3090106,2,11,0)="1100^2" ^SC(10,"T",3090106,2,12,0)="1115^2" ^SC(10,"T",3090107,0)=3090107 ^SC(10,"T",3090107,2,0)="^44.004A^12^12" ^SC(10,"T",3090107,2,1,0)="0830^3" ^SC(10,"T",3090107,2,2,0)="0845^3" ^SC(10,"T",3090107,2,3,0)="0900^3" ^SC(10,"T",3090107,2,4,0)="0915^3" ^SC(10,"T",3090107,2,5,0)="0930^3" ^SC(10,"T",3090107,2,6,0)="0945^3" ^SC(10,"T",3090107,2,7,0)="1000^3" ^SC(10,"T",3090107,2,8,0)="1015^3" ^SC(10,"T",3090107,2,9,0)="1030^3" ^SC(10,"T",3090107,2,10,0)="1045^3" ^SC(10,"T",3090107,2,11,0)="1100^3" ^SC(10,"T",3090107,2,12,0)="1115^3" ^SC(10,"T0",0)="^44.06A^^" ^SC(10,"T1",0)="^44.07A^^" ^SC(10,"T1",9999999,0)=9999999 ^SC(10,"T1",9999999,1)="| [1 1|1 1 1 1|1 1 1 1|1 1] " ^SC(10,"T2",0)="^44.08A^^" ^SC(10,"T2",9999999,0)=9999999 ^SC(10,"T2",9999999,1)="| [2 2|2 2 2 2|2 2 2 2|2 2] " ^SC(10,"T3",0)="^44.09A^^" ^SC(10,"T3",9999999,0)=9999999 ^SC(10,"T3",9999999,1)="| [3 3|3 3 3 3|3 3 3 3|3 3] " ^SC(10,"T6",0)="^44.0001A^^"
Notes: * The T node contains 3 different patterns, one for each of the days entered. To determine which of these patterns applies, one would have to determine which day of the week each pattern exists on, and then find the appropriate pattern. * The ST nodes have been filled in due to browsing for making an appt (not shown here).
TEMP
A dump of trying to do the same setup as above, using custome API (still in dev).
API CALL
Here is Clinic array now: ^SC(10,0)="X_TEST_OFFICE^^C^^^^342^M^^^lo^^^^^^N^^Y^^^1" ^SC(10,"AT")=9 ^SC(10,"OST",0)="^44.0002DA^^" ^SC(10,"PC")=1 ^SC(10,"PR",0)="^44.1P^1^1" ^SC(10,"PR",1,0)="73^1" ^SC(10,"PR","B",73,1)="" ^SC(10,"PS")=0 ^SC(10,"S",0)="^44.001DA^^" ^SC(10,"S",3090105.09,0)=3090105.09 ^SC(10,"S",3090105.09,1,0)="^44.003PA^^" ^SC(10,"S",3090105.09,1,1,0)="1^15^^^^73^3090104" ^SC(10,"S",3090110.083,0)=3090110.083 ^SC(10,"S",3090110.083,1,0)="^44.003PA^^" ^SC(10,"S",3090110.083,1,1,0)="2^15^^^^73^3090104" ^SC(10,"S",3090110.09,0)=3090110.09 ^SC(10,"S",3090110.09,1,0)="^44.003PA^^" ^SC(10,"S",3090110.09,1,1,0)="1^15^^^^73^3090104" ^SC(10,"S",3090110.0915,0)=3090110.0915 ^SC(10,"S",3090110.0915,1,0)="^44.003PA^^" ^SC(10,"S",3090110.0915,1,1,0)="70695^15^^^^73^3090104" ^SC(10,"S",3090110.093,0)=3090110.093 ^SC(10,"S",3090110.093,1,0)="^44.003PA^^" ^SC(10,"S",3090110.093,1,1,0)="70773^15^^^^73^3090104" ^SC(10,"S",3090110.0945,0)=3090110.0945 ^SC(10,"S",3090110.0945,1,0)="^44.003PA^^" ^SC(10,"S",3090110.0945,1,1,0)="70774^15^^^^73^3090104" ^SC(10,"S",3090110.1,0)=3090110.1 ^SC(10,"S",3090110.1,1,0)="^44.003PA^^" ^SC(10,"S",3090110.1,1,1,0)="70774^15^^^^73^3090104" ^SC(10,"S",3090110.1015,0)=3090110.1015 ^SC(10,"S",3090110.1015,1,0)="^44.003PA^^" ^SC(10,"S",3090110.1015,1,1,0)="70787^15^^^^73^3090104" ^SC(10,"S",3090110.103,0)=3090110.103 ^SC(10,"S",3090110.103,1,0)="^44.003PA^^" ^SC(10,"S",3090110.103,1,1,0)="70787^15^^^^73^3090104" ^SC(10,"S",3090110.1045,0)=3090110.1045 ^SC(10,"S",3090110.1045,1,0)="^44.003PA^^" ^SC(10,"S",3090110.1045,1,1,0)="74274^15^^^^73^3090104" ^SC(10,"S",3090210.09,0)=3090210.09 ^SC(10,"S",3090210.09,1,0)="^44.003PA^^" ^SC(10,"S",3090210.09,1,1,0)="70774^15^^^^73^3081213" ^SC(10,"S",3090214.09,0)=3090214.09 ^SC(10,"S",3090214.09,1,0)="^44.003PA^^" ^SC(10,"S",3090214.09,1,1,0)="70774^15^^^^73^3090104" ^SC(10,"S",3090214.09,1,1,"OB")="O" ^SC(10,"S",3090223.083,0)=3090223.083 ^SC(10,"S",3090223.083,1,0)="^44.003PA^^" ^SC(10,"S",3090223.083,1,1,0)="1^15^^^^73^3081213" ^SC(10,"SDP")="5^365^^365" ^SC(10,"SL")="15^^8^^^4^5" ^SC(10,"ST",0)="^44.005" ^SC(10,"ST",3090105,0)=3090105 ^SC(10,"ST",3090105,1)="MO 05 | [1 1|0 1 1 1|1 1 1 1|1 1] " ^SC(10,"ST",3090223,0)=3090223 ^SC(10,"ST",3090223,1)="MO 23 | [0 1|1 1 1 1|1 1 1 1|1 1] " ^SC(10,"T",0)="^44.002D^3090107^3" ^SC(10,"T",3090105,0)=3090105 ^SC(10,"T",3090105,2,0)="^44.004A^12^12" ^SC(10,"T",3090105,2,1,0)="0830^1" ^SC(10,"T",3090105,2,2,0)="0845^1" ^SC(10,"T",3090105,2,3,0)="0900^1" ^SC(10,"T",3090105,2,4,0)="0915^1" ^SC(10,"T",3090105,2,5,0)="0930^1" ^SC(10,"T",3090105,2,6,0)="0945^1" ^SC(10,"T",3090105,2,7,0)="1000^1" ^SC(10,"T",3090105,2,8,0)="1015^1" ^SC(10,"T",3090105,2,9,0)="1030^1" ^SC(10,"T",3090105,2,10,0)="1045^1" ^SC(10,"T",3090105,2,11,0)="1100^1" ^SC(10,"T",3090105,2,12,0)="1115^1" ^SC(10,"T",3090106,0)=3090106 ^SC(10,"T",3090106,2,0)="^44.004A^12^12" ^SC(10,"T",3090106,2,1,0)="0830^2" ^SC(10,"T",3090106,2,2,0)="0845^2" ^SC(10,"T",3090106,2,3,0)="0900^2" ^SC(10,"T",3090106,2,4,0)="0915^2" ^SC(10,"T",3090106,2,5,0)="0930^2" ^SC(10,"T",3090106,2,6,0)="0945^2" ^SC(10,"T",3090106,2,7,0)="1000^2" ^SC(10,"T",3090106,2,8,0)="1015^2" ^SC(10,"T",3090106,2,9,0)="1030^2" ^SC(10,"T",3090106,2,10,0)="1045^2" ^SC(10,"T",3090106,2,11,0)="1100^2" ^SC(10,"T",3090106,2,12,0)="1115^2" ^SC(10,"T",3090107,0)=3090107 ^SC(10,"T",3090107,2,0)="^44.004A^12^12" ^SC(10,"T",3090107,2,1,0)="0830^3" ^SC(10,"T",3090107,2,2,0)="0845^3" ^SC(10,"T",3090107,2,3,0)="0900^3" ^SC(10,"T",3090107,2,4,0)="0915^3" ^SC(10,"T",3090107,2,5,0)="0930^3" ^SC(10,"T",3090107,2,6,0)="0945^3" ^SC(10,"T",3090107,2,7,0)="1000^3" ^SC(10,"T",3090107,2,8,0)="1015^3" ^SC(10,"T",3090107,2,9,0)="1030^3" ^SC(10,"T",3090107,2,10,0)="1045^3" ^SC(10,"T",3090107,2,11,0)="1100^3" ^SC(10,"T",3090107,2,12,0)="1115^3" ^SC(10,"T0",0)="^44.06A^^" ^SC(10,"T1",0)="^44.07A^^" ^SC(10,"T1",9999999,0)=9999999 ^SC(10,"T1",9999999,1)="| [1 1|1 1 1 1|1 1 1 1|1 1] " ^SC(10,"T2",0)="^44.08A^^" ^SC(10,"T2",9999999,0)=9999999 ^SC(10,"T2",9999999,1)="| [2 2|2 2 2 2|2 2 2 2|2 2] " ^SC(10,"T3",0)="^44.09A^^" ^SC(10,"T3",9999999,0)=9999999 ^SC(10,"T3",9999999,1)="| [3 3|3 3 3 3|3 3 3 3|3 3] " ^SC(10,"T4",0)="^44.08A^^" ^SC(10,"T5",0)="^44.09A^^" ^SC(10,"T6",0)="^44.0001A^^"
Notes:
EXAMPLE OF MIXED FIXED AND THEN INDEFINITE DAYS
Below is a pattern were I created a set pattern in the future, then attempted to create an indefinite pattern starting BEFORE this fixed period. The result is that the pattern end date is set to the future date.
Select CLINIC NAME: x_TEST_OFFICE TOPPENBERG,KEVIN S NAME: X_TEST_OFFICE// ABBREVIATION: CLINIC MEETS AT THIS FACILITY?: YES// SERVICE: MEDICINE// ^ AVAILABILITY DATE: t+8 (DEC 21, 2008) SUNDAY TIME: 0800-1000 # APPTS/SLOT : 1// TIME: [1 1 1 1|1 1 1 1] ...PATTERN OK FOR SUNDAYS INDEFINITELY? n (No) ...FOR DEC 21,2008? No// y (Yes) ...OK ...FOR DEC 28,2008? No// y (Yes) ...OK ...FOR JAN 4,2009? No// y (Yes) ...OK ...FOR JAN 11,2009? No// (No) ...FOR JAN 18,2009? No// ^ AVAILABILITY DATE: GTM>do ^SDB Select CLINIC NAME: x_TEST_OFFICE TOPPENBERG,KEVIN S NAME: X_TEST_OFFICE// ABBREVIATION: CLINIC MEETS AT THIS FACILITY?: YES// ^ AVAILABILITY DATE: t+1 (DEC 14, 2008) SUNDAY TIME: 0900-1100 # APPTS/SLOT : 1// 2 TIME: | [2 2 2 2|2 2 2 2] ...PATTERN OK FOR SUNDAYS UNTIL DEC 21,2008? y (Yes) ...EXCUSE ME, I'M WORKING AS FAST AS I CAN... PATTERN FILED! AVAILABILITY DATE: Select CLINIC NAME:
GTM>zwr ^SC(10,*) ^SC(10,0)="X_TEST_OFFICE^^C^^^^342^M^^^lo^^^^^^N^^Y^^^1" ^SC(10,"AT")=9 ^SC(10,"OST",0)="^44.0002DA^^" ^SC(10,"OST",3081221,0)=3081221 ^SC(10,"OST",3081221,1)="SU 21 [1 1 1 1|1 1 1 1] ^SC(10,"OST",3081228,0)=3081228 ^SC(10,"OST",3081228,1)="SU 28 [1 1 1 1|1 1 1 1] ^SC(10,"OST",3090104,0)=3090104 ^SC(10,"OST",3090104,1)="SU 04 [1 1 1 1|1 1 1 1] ^SC(10,"PC")=1 ^SC(10,"PR",0)="^44.1P^1^1" ^SC(10,"PR",1,0)="73^1" ^SC(10,"PR","B",73,1)="" ^SC(10,"PS")=0 ^SC(10,"SDP")="5^365^^365" ^SC(10,"SL")="15^^8^^^4^5" ^SC(10,"ST",0)="^44.005" ^SC(10,"ST",3081214,0)=3081214 ^SC(10,"ST",3081214,1)="SU 14 | [2 2 2 2|2 2 2 2] ^SC(10,"ST",3081221,0)=3081221 ^SC(10,"ST",3081221,1)="SU 21 [1 1 1 1|1 1 1 1] ^SC(10,"ST",3081221,9)=10 ^SC(10,"ST",3081228,0)=3081228 ^SC(10,"ST",3081228,1)="SU 28 [1 1 1 1|1 1 1 1] ^SC(10,"ST",3081228,9)=10 ^SC(10,"ST",3090104,0)=3090104 ^SC(10,"ST",3090104,1)="SU 04 [1 1 1 1|1 1 1 1] ^SC(10,"ST",3090104,9)=10 ^SC(10,"T",0)="^44.002D^3081214^19" ^SC(10,"T",3081214,0)=3081214 ^SC(10,"T",3081214,2,0)="^44.004A^8^8" ^SC(10,"T",3081214,2,1,0)="0900^2" ^SC(10,"T",3081214,2,2,0)="0915^2" ^SC(10,"T",3081214,2,3,0)="0930^2" ^SC(10,"T",3081214,2,4,0)="0945^2" ^SC(10,"T",3081214,2,5,0)="1000^2" ^SC(10,"T",3081214,2,6,0)="1015^2" ^SC(10,"T",3081214,2,7,0)="1030^2" ^SC(10,"T",3081214,2,8,0)="1045^2" ^SC(10,"T",3081221,0)=3081221 ^SC(10,"T",3081221,2,0)="^44.004A^8^8" ^SC(10,"T",3081221,2,1,0)="0800^1" ^SC(10,"T",3081221,2,2,0)="0815^1" ^SC(10,"T",3081221,2,3,0)="0830^1" ^SC(10,"T",3081221,2,4,0)="0845^1" ^SC(10,"T",3081221,2,5,0)="0900^1" ^SC(10,"T",3081221,2,6,0)="0915^1" ^SC(10,"T",3081221,2,7,0)="0930^1" ^SC(10,"T",3081221,2,8,0)="0945^1" ^SC(10,"T0",0)="^44.06A^^" ^SC(10,"T0",3081221,0)=3081221 ^SC(10,"T0",3081221,1)="| [2 2 2 2|2 2 2 2] ^SC(10,"T1",0)="^44.07A^^"
Comments:
- Because I first added a set pattern (not indefinite) at t+8, I was then not given the option to add an indefinite pattern. Instead, I was given the option for a pattern from now until t+8.
- OST nodes were made for the first fixed pattern, and then T0 node was set for PATTERN entry.
- T node entries were made for each of the two sets. There is one pattern starting at 3081214, which changes at 3081221.
- ST node entries again show availability PATTERN combined from both the SPECIAL and TEMPLATE entries.
- Notice presences of ^SC(IEN,"ST",FMDate,9)=IEN nodes. This means that the pattern should be taken from the OST node of the same date, not the T0 nodes
EXAMPLE OF INDEFINITE PATTERN, AND THEN FIXED DAYS ADDED
Select CLINIC NAME: x_TEST_OFFICE TOPPENBERG,KEVIN S NAME: X_TEST_OFFICE// ABBREVIATION: CLINIC MEETS AT THIS FACILITY?: YES// ^ AVAILABILITY DATE: t (DEC 15, 2008) MONDAY TIME: 0800-1000 # APPTS/SLOT : 1// TIME: [1 1 1 1|1 1 1 1] ...PATTERN OK FOR MONDAYS INDEFINITELY? y (Yes) ...HMMM, I'M WORKING AS FAST AS I CAN... PATTERN FILED! AVAILABILITY DATE: t+14 (DEC 29, 2008) MONDAY TIME: 0900-1100 # APPTS/SLOT : 1// 2 TIME: | [2 2 2 2|2 2 2 2] ...PATTERN OK FOR MONDAYS INDEFINITELY? n (No) ...FOR DEC 29,2008? No// y (Yes) ...OK ...FOR JAN 5,2009? No// y (Yes) ...OK ...FOR JAN 12,2009? No// ^ AVAILABILITY DATE: GTM>zwr ^SC(10,*) ^SC(10,0)="X_TEST_OFFICE^^C^^^^342^M^^^lo^^^^^^N^^Y^^^1" ^SC(10,"AT")=9 ^SC(10,"OST",0)="^44.0002DA^^" ^SC(10,"OST",3081229,0)=3081229 ^SC(10,"OST",3081229,1)="MO 29 | [2 2 2 2|2 2 2 2] ^SC(10,"OST",3090105,0)=3090105 ^SC(10,"OST",3090105,1)="MO 05 | [2 2 2 2|2 2 2 2] ^SC(10,"PC")=1 ^SC(10,"PR",0)="^44.1P^1^1" ^SC(10,"PR",1,0)="73^1" ^SC(10,"PR","B",73,1)="" ^SC(10,"PS")=0 ^SC(10,"S",0)="^44.001DA^^" ^SC(10,"S",3081215.09,0)=3081215.09 ^SC(10,"S",3081215.09,1,0)="^44.003PA^^" ^SC(10,"S",3081215.09,1,1,0)="70774^15^^^^73^3081213" ^SC(10,"S",3090223.083,0)=3090223.083 ^SC(10,"S",3090223.083,1,0)="^44.003PA^^" ^SC(10,"S",3090223.083,1,1,0)="1^15^^^^73^3081213" ^SC(10,"SDP")="5^365^^365" ^SC(10,"SL")="15^^8^^^4^5" ^SC(10,"ST",0)="^44.005" ^SC(10,"ST",3081215,0)=3081215 ^SC(10,"ST",3081215,1)="MO 15 [1 1 1 1|0 1 1 1] ^SC(10,"ST",3081222,0)=3081222 ^SC(10,"ST",3081222,1)="MO 22 [1 1 1 1|1 1 1 1] " ^SC(10,"ST",3081229,0)=3081229 ^SC(10,"ST",3081229,1)="MO 29 | [2 2 2 2|2 2 2 2] ^SC(10,"ST",3081229,9)=10 ^SC(10,"ST",3090105,0)=3090105 ^SC(10,"ST",3090105,1)="MO 05 | [2 2 2 2|2 2 2 2] ^SC(10,"ST",3090105,9)=10 ^SC(10,"ST",3090112,0)=3090112 ^SC(10,"ST",3090112,1)="MO 12 [1 1 1 1|1 1 1 1] " ^SC(10,"ST",3090223,0)=3090223 ^SC(10,"ST",3090223,1)="MO 23 [1 1 0 1|1 1 1 1] ^SC(10,"T",0)="^44.002D^3081229^25" ^SC(10,"T",3081215,0)=3081215 ^SC(10,"T",3081215,2,0)="^44.004A^8^8" ^SC(10,"T",3081215,2,1,0)="0800^1" ^SC(10,"T",3081215,2,2,0)="0815^1" ^SC(10,"T",3081215,2,3,0)="0830^1" ^SC(10,"T",3081215,2,4,0)="0845^1" ^SC(10,"T",3081215,2,5,0)="0900^1" ^SC(10,"T",3081215,2,6,0)="0915^1" ^SC(10,"T",3081215,2,7,0)="0930^1" ^SC(10,"T",3081215,2,8,0)="0945^1" ^SC(10,"T",3081229,0)=3081229 ^SC(10,"T",3081229,2,0)="^44.004A^8^8" ^SC(10,"T",3081229,2,1,0)="0900^2" ^SC(10,"T",3081229,2,2,0)="0915^2" ^SC(10,"T",3081229,2,3,0)="0930^2" ^SC(10,"T",3081229,2,4,0)="0945^2" ^SC(10,"T",3081229,2,5,0)="1000^2" ^SC(10,"T",3081229,2,6,0)="1015^2" ^SC(10,"T",3081229,2,7,0)="1030^2" ^SC(10,"T",3081229,2,8,0)="1045^2" ^SC(10,"T0",0)="^44.06A^^" ^SC(10,"T1",0)="^44.07A^^" ^SC(10,"T1",9999999,0)=9999999 ^SC(10,"T1",9999999,1)="[1 1 1 1|1 1 1 1] "
Comments
- The TEMPLATE node (T1) is not changed by the subsequent addition of fixed days.
- The PATTERN node (ST) shows the mixture of the repeating template with superimposed fixed days.
- The AVAILABILITY node (T) has the availability times change starting at 3081229. This means that one can't simply look at the latest date in the T nodes and use that to determine slots.
EXAMPLE OF APPOINTMENT ADDED
Below is a Record with just 1 appt was made for 12/15/08@0900
GTM>zwr ^SC(10,*) ^SC(10,0)="X_TEST_OFFICE^^C^^^^342^M^^^lo^^^^^^N^^Y^^^1" ^SC(10,"AT")=9 ^SC(10,"OST",0)="^44.0002DA^^" ^SC(10,"OST",3081215,0)=3081215 ^SC(10,"OST",3081215,1)="MO 15 | [2 2|2 2 2 2] " ^SC(10,"OST",3081222,0)=3081222 ^SC(10,"OST",3081222,1)="MO 22 | [2 2|2 2 2 2] " ^SC(10,"PC")=1 ^SC(10,"PR",0)="^44.1P^1^1" ^SC(10,"PR",1,0)="73^1" ^SC(10,"PR","B",73,1)="" ^SC(10,"PS")=0 ^SC(10,"S",0)="^44.001DA^^" ^SC(10,"S",3081215.09,0)=3081215.09 ^SC(10,"S",3081215.09,1,0)="^44.003PA^^" ^SC(10,"S",3081215.09,1,1,0)="70774^15^^^^73^3081213" ^SC(10,"SDP")="5^365^^365" ^SC(10,"SL")="15^^8^^^4^5" ^SC(10,"ST",0)="^44.005" ^SC(10,"ST",3081215,0)=3081215 ^SC(10,"ST",3081215,1)="MO 15 | [2 2|1 2 2 2] " ^SC(10,"ST",3081215,9)=10 ^SC(10,"ST",3081222,0)=3081222 ^SC(10,"ST",3081222,1)="MO 22 | [2 2|2 2 2 2] " ^SC(10,"ST",3081222,9)=10 ^SC(10,"T",0)="^44.002D^3081215^20" ^SC(10,"T",3081215,0)=3081215 ^SC(10,"T",3081215,2,0)="^44.004A^6^6" ^SC(10,"T",3081215,2,1,0)="0830^2" ^SC(10,"T",3081215,2,2,0)="0845^2" ^SC(10,"T",3081215,2,3,0)="0900^2" ^SC(10,"T",3081215,2,4,0)="0915^2" ^SC(10,"T",3081215,2,5,0)="0930^2" ^SC(10,"T",3081215,2,6,0)="0945^2" ^SC(10,"T0",0)="^44.06A^^" ^SC(10,"T1",0)="^44.07A^^"
Comments:
- Notice that the PATTERN node ("ST"), shows only 1 (not 2) spaces available at the appt time. Thus this is where the Record of CURRENT AVAILABILITY is stored.
- The AVAILABILITY "T" node value of "2" patients allowd at 0900 is NOT changed.
Example of DELETING appt slots
Below shows an example of deleting appts, done by redefining the available appts for the same date.
Select CLINIC NAME: x_TEST_OFFICE TOPPENBERG,KEVIN S NAME: X_TEST_OFFICE// ABBREVIATION: CLINIC MEETS AT THIS FACILITY?: YES// ^ AVAILABILITY DATE: t+2 (DEC 15, 2008) MONDAY TIME: 0830-0840 [ TIME SPAN ENTERED NOT CONSISTENT WITH 15 MIN APPT LENGTH ] TIME: 0830-0845 # APPTS/SLOT : 1// 2 TIME: 0900-1130 # APPTS/SLOT : 1// TIME: 1300-1315 # APPTS/SLOT : 1// TIME: 1330-1630 # APPTS/SLOT : 1// TIME: | [2] [1 1 1 1|1 1 1 1|1 1] | [1] [1 1|1 1 1 1|1 1 1 1|1 1] ...PATTERN OK FOR MONDAYS INDEFINITELY? y (Yes) ...HMMM, LET ME THINK ABOUT THAT A MOMENT... PATTERN FILED!
AVAILABILITY DATE:
Select CLINIC NAME: GTM>zwr ^SC(10,*) ^SC(10,0)="X_TEST_OFFICE^^C^^^^342^M^^^lo^^^^^^N^^Y^^^1" ^SC(10,"AT")=9 ^SC(10,"OST",0)="^44.0002DA^^" ^SC(10,"PC")=1 ^SC(10,"PR",0)="^44.1P^1^1" ^SC(10,"PR",1,0)="73^1" ^SC(10,"PR","B",73,1)="" ^SC(10,"PS")=0 ^SC(10,"S",0)="^44.001DA^^" ^SC(10,"S",3081215.09,0)=3081215.09 ^SC(10,"S",3081215.09,1,0)="^44.003PA^^" ^SC(10,"S",3081215.09,1,1,0)="70774^15^^^^73^3081213" ^SC(10,"SDP")="5^365^^365" ^SC(10,"SL")="15^^8^^^4^5" ^SC(10,"ST",0)="^44.005" ^SC(10,"ST",3081215,0)=3081215 ^SC(10,"ST",3081215,1)="MO 15 | [2] [0 1 1 1|1 1 1 1|1 1] | [1] [1 1|1 1 1 1|1 1 1 1|1 1]" ^SC(10,"ST",3081222,0)=3081222 ^SC(10,"ST",3081222,1)="MO 22 | [2] [1 1 1 1|1 1 1 1|1 1] | [1] [1 1|1 1 1 1|1 1 1 1|1 1] " ^SC(10,"ST",3081229,0)=3081229 ^SC(10,"ST",3081229,1)="MO 29 | [2] [1 1 1 1|1 1 1 1|1 1] | [1] [1 1|1 1 1 1|1 1 1 1|1 1] " ^SC(10,"ST",3090105,0)=3090105 ^SC(10,"ST",3090105,1)="MO 05 | [2] [1 1 1 1|1 1 1 1|1 1] | [1] [1 1|1 1 1 1|1 1 1 1|1 1] " ^SC(10,"ST",3090112,0)=3090112 ^SC(10,"ST",3090112,1)="MO 12 | [2] [1 1 1 1|1 1 1 1|1 1] | [1] [1 1|1 1 1 1|1 1 1 1|1 1] " ^SC(10,"T",0)="^44.002D^3081215^21" ^SC(10,"T",3081215,0)=3081215 ^SC(10,"T",3081215,2,0)="^44.004A^24^24" ^SC(10,"T",3081215,2,1,0)="0830^2" ^SC(10,"T",3081215,2,2,0)="0900^1" ^SC(10,"T",3081215,2,3,0)="0915^1" ^SC(10,"T",3081215,2,4,0)="0930^1" ^SC(10,"T",3081215,2,5,0)="0945^1" ^SC(10,"T",3081215,2,6,0)="1000^1" ^SC(10,"T",3081215,2,7,0)="1015^1" ^SC(10,"T",3081215,2,8,0)="1030^1" ^SC(10,"T",3081215,2,9,0)="1045^1" ^SC(10,"T",3081215,2,10,0)="1100^1" ^SC(10,"T",3081215,2,11,0)="1115^1" ^SC(10,"T",3081215,2,12,0)="1300^1" ^SC(10,"T",3081215,2,13,0)="1330^1" ^SC(10,"T",3081215,2,14,0)="1345^1" ^SC(10,"T",3081215,2,15,0)="1400^1" ^SC(10,"T",3081215,2,16,0)="1415^1" ^SC(10,"T",3081215,2,17,0)="1430^1" ^SC(10,"T",3081215,2,18,0)="1445^1" ^SC(10,"T",3081215,2,19,0)="1500^1" ^SC(10,"T",3081215,2,20,0)="1515^1" ^SC(10,"T",3081215,2,21,0)="1530^1" ^SC(10,"T",3081215,2,22,0)="1545^1" ^SC(10,"T",3081215,2,23,0)="1600^1" ^SC(10,"T",3081215,2,24,0)="1615^1" ^SC(10,"T0",0)="^44.06A^^" ^SC(10,"T1",0)="^44.07A^^" ^SC(10,"T1",9999999,0)=9999999 ^SC(10,"T1",9999999,1)="| [2] [1 1 1 1|1 1 1 1|1 1] | [1] [1 1|1 1 1 1|1 1 1 1|1 1] " GTM>do ^SDB Select CLINIC NAME: x_TEST_OFFICE TOPPENBERG,KEVIN S NAME: X_TEST_OFFICE// ABBREVIATION: CLINIC MEETS AT THIS FACILITY?: YES// ^ AVAILABILITY DATE: t+2 (DEC 15, 2008) MONDAY TIME: 0830-0845 # APPTS/SLOT : 1// TIME: | [1] ...PATTERN OK FOR MONDAYS INDEFINITELY? y (Yes) ...HMMM, LET ME PUT YOU ON 'HOLD' FOR A SECOND... PATTERN FILED! AVAILABILITY DATE: Select CLINIC NAME:
GTM>zwr ^SC(10,*) ^SC(10,0)="X_TEST_OFFICE^^C^^^^342^M^^^lo^^^^^^N^^Y^^^1" ^SC(10,"AT")=9 ^SC(10,"OST",0)="^44.0002DA^^" ^SC(10,"PC")=1 ^SC(10,"PR",0)="^44.1P^1^1" ^SC(10,"PR",1,0)="73^1" ^SC(10,"PR","B",73,1)="" ^SC(10,"PS")=0 ^SC(10,"S",0)="^44.001DA^^" ^SC(10,"S",3081215.09,0)=3081215.09 ^SC(10,"S",3081215.09,1,0)="^44.003PA^^" ^SC(10,"S",3081215.09,1,1,0)="70774^15^^^^73^3081213" ^SC(10,"S",3081215.09,1,1,"OB")="O" ^SC(10,"SDP")="5^365^^365" ^SC(10,"SL")="15^^8^^^4^5" ^SC(10,"ST",0)="^44.005" ^SC(10,"ST",3081215,0)=3081215 ^SC(10,"ST",3081215,1)="MO 15 | [1] * " ^SC(10,"ST",3081222,0)=3081222 ^SC(10,"ST",3081222,1)="MO 22 | [1] " ^SC(10,"ST",3081229,0)=3081229 ^SC(10,"ST",3081229,1)="MO 29 | [1] " ^SC(10,"ST",3090105,0)=3090105 ^SC(10,"ST",3090105,1)="MO 05 | [1] " ^SC(10,"ST",3090112,0)=3090112 ^SC(10,"ST",3090112,1)="MO 12 | [1] " ^SC(10,"T",0)="^44.002D^3081215^22" ^SC(10,"T",3081215,0)=3081215 ^SC(10,"T",3081215,2,0)="^44.004A^1^1" ^SC(10,"T",3081215,2,1,0)="0830^1" ^SC(10,"T0",0)="^44.06A^^" ^SC(10,"T1",0)="^44.07A^^" ^SC(10,"T1",3081215,0)=3081215 ^SC(10,"T1",3081215,1)="| [2] [1 1 1 1|1 1 1 1|1 1] | [1] [1 1|1 1 1 1|1 1 1 1|1 1] " ^SC(10,"T1",9999999,0)=9999999 ^SC(10,"T1",9999999,1)="| [1] "
Comments:
- The "T" nodes are simply erased and replaced by the new pattern
- The "T1" node has 2 date ranges. 1st is up to (but not including) 3081215, and the 2nd is from 3081215 onward
- The "ST" node shows a * that I think indicates an appt with no slot
Example of Browsing into the Future
GTM>zwr ^SC(10,*) ^SC(10,0)="X_TEST_OFFICE^^C^^^^342^M^^^lo^^^^^^N^^Y^^^1" ^SC(10,"AT")=9 ^SC(10,"OST",0)="^44.0002DA^^" ^SC(10,"PC")=1 ^SC(10,"PR",0)="^44.1P^1^1" ^SC(10,"PR",1,0)="73^1" ^SC(10,"PR","B",73,1)="" ^SC(10,"PS")=0 ^SC(10,"S",0)="^44.001DA^^" ^SC(10,"S",3081215.09,0)=3081215.09 ^SC(10,"S",3081215.09,1,0)="^44.003PA^^" ^SC(10,"S",3081215.09,1,1,0)="70774^15^^^^73^3081213" ^SC(10,"S",3090223.083,0)=3090223.083 ^SC(10,"S",3090223.083,1,0)="^44.003PA^^" ^SC(10,"S",3090223.083,1,1,0)="1^15^^^^73^3081213" ^SC(10,"SDP")="5^365^^365" ^SC(10,"SL")="15^^8^^^4^5" ^SC(10,"ST",0)="^44.005" ^SC(10,"ST",3081215,0)=3081215 ^SC(10,"ST",3081215,1)="MO 15 | [1 1|0 1 1 1] ^SC(10,"ST",3081222,0)=3081222 ^SC(10,"ST",3081222,1)="MO 22 | [1 1|1 1 1 1] " ^SC(10,"ST",3081229,0)=3081229 ^SC(10,"ST",3081229,1)="MO 29 | [1 1|1 1 1 1] " ^SC(10,"ST",3090105,0)=3090105 ^SC(10,"ST",3090105,1)="MO 05 | [1 1|1 1 1 1] " ^SC(10,"ST",3090112,0)=3090112 ^SC(10,"ST",3090112,1)="MO 12 | [1 1|1 1 1 1] " ^SC(10,"ST",3090119,0)=3090119 ^SC(10,"ST",3090119,1)="MO 19 | [1 1|1 1 1 1] " ^SC(10,"ST",3090126,0)=3090126 ^SC(10,"ST",3090126,1)="MO 26 | [1 1|1 1 1 1] " ^SC(10,"ST",3090202,0)=3090202 ^SC(10,"ST",3090202,1)="MO 02 | [1 1|1 1 1 1] " ^SC(10,"ST",3090209,0)=3090209 ^SC(10,"ST",3090209,1)="MO 09 | [1 1|1 1 1 1] " ^SC(10,"ST",3090216,0)=3090216 ^SC(10,"ST",3090216,1)="MO 16 | [1 1|1 1 1 1] " ^SC(10,"ST",3090223,0)=3090223 ^SC(10,"ST",3090223,1)="MO 23 | [0 1|1 1 1 1] " ^SC(10,"T",0)="^44.002D^3081215^23" ^SC(10,"T",3081215,0)=3081215 ^SC(10,"T",3081215,2,0)="^44.004A^6^6" ^SC(10,"T",3081215,2,1,0)="0830^1" ^SC(10,"T",3081215,2,2,0)="0845^1" ^SC(10,"T",3081215,2,3,0)="0900^1" ^SC(10,"T",3081215,2,4,0)="0915^1" ^SC(10,"T",3081215,2,5,0)="0930^1" ^SC(10,"T",3081215,2,6,0)="0945^1" ^SC(10,"T0",0)="^44.06A^^" ^SC(10,"T1",0)="^44.07A^^" ^SC(10,"T1",9999999,0)=9999999 ^SC(10,"T1",9999999,1)="| [1 1|1 1 1 1] "
Comments:
- An inital ^SDB was used, and 5 week's worth of MONDAY's were created
- Then, as I used the MAKE AN APPOINTMENT menu option, and browsed into the future, more days were automatically added to the "ST" nodes
- Finally, an appt was set at 2/23/09@0800
- Notee: As I have cleared this test clinic each time between tests, I have not cleared out the S nodes, which are actual existing appts. Notice that when the current availability string is constructed for the given date, pre-existing appts are taken into account, and automatically notes (e.g. 12/15/08@0900 appt is shown.)
Patterns to consider
Below are possible scheduling patterns to consider. I will use *** to indicated days using a TEMPLATE, and !!! indicate days that were specified as specialized patterns (i.e. fixed days). 1**** means that *** days were added first. 2***** means that these were added second, 3!!!! would be added third etc.
- 1***** 2!!! **** 3!!!
- 2***** 1!!! 3********
- others...
Cancelling Appts for Individual Patients
Here is an example appt for patient `70685 on 2/23/09 at 0900
Below is data from the HOSPITAL LOCATION file, in the "S" node
^SC(10,"S",3090223.09,0)=3090223.09 ^SC(10,"S",3090223.09,1,0)="^44.003PA^^" ^SC(10,"S",3090223.09,1,1,0)="70685^15^Bring xrays!^^^73^3090221.1335"
Information about the appt is also stored is the PATIENT file, in the "S" node. Below is is the same appt as above:
^DPT(70685,"S",3090223.09,0)="10^^^^^^3^^^^^^^^^9^^^3090223^^^^^0^C^0" ^DPT(70685,"S",3090223.09,1)="3090223^1"
The above appt was cancelled via the roll-and-scroll interface. Below is the same appt re-dumped. Notice that the Record structure remains, but the information pointing the the patient etc are simply removed.
^SC(10,"S",3090223.09,0)=3090223.09 ^SC(10,"S",3090223.09,1,0)="^44.003PA^^"
Below is the appt information stored in the PATIENT file. Notice that the appt Record remains, but it is now marked as cancelled.
^DPT(70685,"S",3090223.09,0)="10^C^^^^^3^^^^^73^^3090222.0922^13^9^^73^3090221.1335^^^^^0^C^0" ^DPT(70685,"S",3090223.09,1)="3090223^1" ^DPT(70685,"S",3090223.09,"R")="Testing cancellation"
Also, a new index entry is created:
^DPT("ASDCN",10,3090223.09,70685)="" ;<-- 1 if patient canceled, otherwise ""
Below is the above ^DPT entry with field names:
Record# 3090127.083,70685, .001-APPOINTMENT DATE/TIME : JAN 27, 2009@08:30 .01-CLINIC : X_TEST_OFFICE 4-REAL APPOINTMENT : 1 9-PURPOSE OF VISIT : SCHEDULED VISIT 9.5-APPOINTMENT TYPE : REGULAR 20-DATE APPT. MADE : JAN 27, 2009 25-SCHEDULING REQUEST TYPE : OTHER THAN 'NEXT AVA.' (CLINICIAN REQ.) 26-NEXT AVA. APPT. INDICATOR : NOT INDICATED TO BE A 'NEXT AVA.' APPT. 27-DESIRED DATE OF APPOINTMENT : JAN 27, 2009 28-FOLLOW-UP VISIT : YES 100-CURRENT STATUS : NO Action TAKEN
For some reason, field 3 is not shown. It is a set as below. So the C means 'Cancelled':
N: NO-SHOW C: CANCELLED BY CLINIC NA: NO-SHOW & AUTO RE-BOOK CA: CANCELLED BY CLINIC & AUTO RE-BOOK I: INPATIENT APPOINTMENT PC: CANCELLED BY PATIENT PCA:CANCELLED BY PATIENT & AUTO-REBOOK NT: NO Action TAKEN
1 2 7 12 14 15 18 19 ^DPT(70685,"S",3090223.09,0)="10^ ^^^^^3^^^^^ ^^ ^ ^9^^ ^3090223 ^^^^^0^C^0" ^DPT(70685,"S",3090223.09,0)="10^C^^^^^3^^^^^73^^3090222.0922^13^9^^73^3090221.1335^^^^^0^C^0"
Notice that the fields that are changed upon deletion of an appt are as follows: Piece# NAME (Field Num): Value change --------------------------------------- 2 STATUS (#3): null --> C 12 NO-SHOW/CANCELLED BY (#14): null --> 73 (a pointer) 14 NO-SHOW/CANCEL DATE/TIME (#15): null --> date 15 CANCELLATION REASON (#16): null --> 13 ( pointer) 18 DATA ENTRY CLERK (#19): null --? 73 19 DATE APPT. MADE (#20): date1 --> date2
Below is the data dictionary for the entry in the PATIENT file
S;0 1900 APPOINTMENT W:^ <-Mult [2.98P] - .001 -APPOINTMENT DATE/TIME [D] -0;1 .01 -CLINIC <-Pntr [MP44'X] -Computed .02 -TELEPHONE OF CLINIC [CJ14] -0;2 3 -STATUS [S] -Computed 4 -REAL APPOINTMENT [BC] -0;3 5 -LAB DATE/TIME [D] -0;4 6 -X-RAY DATE/TIME [D] -0;5 7 -EKG DATE/TIME [D] -0;6 8 -Routing Slip PRINTED [S] -0;13 8.5 -{[ROUTING SLIP~|Routing Slip]] PRINT DATE [D] -0;7 9 -PURPOSE OF VISIT [RS] -0;16 9.5 -APPOINTMENT TYPE <-Pntr [P409.1'] -0;8 10 -Special Survey DISPOSITION [NJ1,0] -0;9 11 -NUMBER OF COLLATERAL SEEN [NJ1,0] -0;10 12 -AUTO-REBOOKED APPT. DATE/TIME [D] -0;11 13 -Collateral Visit [S] -0;12 14 -NO-SHOW/CANCELLED BY <-Pntr [P200'] -0;14 15 -NO-SHOW/CANCEL DATE/TIME [D] -0;15 16 -CANCELLATION REASON <-Pntr [R*P409.2'] -R;1 17 -CANCELLATION REMARKS [F] -0;17 18 -APPT. CANCELLED <-Pntr [P44'] -0;18 19 -DATA ENTRY CLERK <-Pntr [P200'] -0;19 20 -DATE APPT. MADE [D] -0;20 21 -OUTPATIENT ENCOUNTER <-Pntr [P409.68'] -0;21 22 -ENCOUNTER FORMS PRINTED [S] -0;22 23 -ENCOUNTER FORMS AS ADD-ONS [S] -0;23 23.1 -ENCOUNTER CONVERSION STATUS [S] -0;24 24 -APPOINTMENT TYPE SUB-CATEGORY <-Pntr [P35.2'] -0;25 25 -SCHEDULING REQUEST TYPE [RS] -0;26 26 -NEXT AVA. APPT. INDICATOR [RS] -1;1 27 -DESIRED DATE OF APPOINTMENT [D] -1;2 28 -FOLLOW-UP VISIT [S] -Computed 100 -CURRENT STATUS [CJ35]