| 1 | SDACSCGB ;ALBISC/TET - BATCH UPDATE COMP GEN APPT TYPES FOR C&P'S ;3/23/92  13:59 | 
|---|
| 2 | ;;5.3;Scheduling;**132**;Aug 13, 1993 | 
|---|
| 3 | ; | 
|---|
| 4 | BATCH ; - enter here for batch update cg appt types fm cg (possible C&P) to C&P | 
|---|
| 5 | READ ;enter here to read | 
|---|
| 6 | D ASK2^SDDIV G EXIT:Y<0 | 
|---|
| 7 | ; | 
|---|
| 8 | R1 ; -- get date range | 
|---|
| 9 | S DIR(0)="D^::ET" | 
|---|
| 10 | S DIR("A")="Enter Beginning Date" | 
|---|
| 11 | S DIR("?")="^D HELP^%DTC" | 
|---|
| 12 | D ^DIR K DIR G:$D(DIRUT) EXIT | 
|---|
| 13 | S SDBEG=Y | 
|---|
| 14 | I SDBEG>DT W !,"   Future dates are not allowed.",*7 G R1 | 
|---|
| 15 | D DD^%DT S FR=Y | 
|---|
| 16 | ; | 
|---|
| 17 | S DIR(0)="D^"_SDBEG_":NOW:TE" | 
|---|
| 18 | S DIR("A")="Enter Ending Date" | 
|---|
| 19 | S DIR("?")="^D HELP^%DTC" | 
|---|
| 20 | D ^DIR K DIR G:$D(DIRUT) EXIT | 
|---|
| 21 | S SDBEG=SDBEG-.0001,SDEND=Y_".9999" | 
|---|
| 22 | D DD^%DT S TO=Y | 
|---|
| 23 | ; | 
|---|
| 24 | ; -- display selections | 
|---|
| 25 | W !!?8,"Selected date range begins on ",FR," and ends on ",TO | 
|---|
| 26 | W !?8,"Division:  ",$S(VAUTD:"ALL",1:"") | 
|---|
| 27 | IF 'VAUTD S SDDIV=0 F I=1:1 S SDDIV=$O(VAUTD(SDDIV)) Q:'SDDIV  D | 
|---|
| 28 | . W:'(I#2) ?45,VAUTD(SDDIV),! | 
|---|
| 29 | . W:(I#2) ?20,VAUTD(SDDIV) | 
|---|
| 30 | W !! | 
|---|
| 31 | ; | 
|---|
| 32 | S DIR("A",1)="   This option will automatically update the Computer Generated" | 
|---|
| 33 | S DIR("A",2)="   appointment types which are possible C&P to C&P appointment" | 
|---|
| 34 | S DIR("A",3)="   type for the above parameters." | 
|---|
| 35 | S DIR("A",4)="" | 
|---|
| 36 | S DIR("A")="   Are you sure you wish to continue" | 
|---|
| 37 | S DIR("?")="Enter 'Yes' to automatically update appointment type, 'No' to exit." | 
|---|
| 38 | S DIR("?",1)="You should exercise this option after you have reviewed" | 
|---|
| 39 | S DIR("?",2)="visits which have an appointment type of 'Computer Generated'" | 
|---|
| 40 | S DIR("?",3)="AND after you have selectively edited any possible C&Ps which are not." | 
|---|
| 41 | S DIR("?",4)="   " | 
|---|
| 42 | S DIR("?",5)="This option will then update all remaining visits which have" | 
|---|
| 43 | S DIR("?",6)="a computer generated appointment type due to a possible C&P visit" | 
|---|
| 44 | S DIR("?",7)="to a Comp & Pen appointment type for the parameters selected." | 
|---|
| 45 | S DIR("?",8)="  " | 
|---|
| 46 | S DIR(0)="YO" | 
|---|
| 47 | D ^DIR K DIR G:$D(DIRUT)!('Y) EXIT | 
|---|
| 48 | ; | 
|---|
| 49 | ; -- queue job | 
|---|
| 50 | S DGVAR="SDBEG^SDEND^VAUTD#" | 
|---|
| 51 | S DGPGM="UPD^SDACSCGB" | 
|---|
| 52 | D ZIS^DGUTQ | 
|---|
| 53 | G:POP EXIT | 
|---|
| 54 | ; | 
|---|
| 55 | UPD ; -- queue entry point | 
|---|
| 56 | N SDT,SDOE,SDOE0,SDOECG,SDDIV,DFN,SDDAT,DASH,PG,CT,SDAPTYPR,Y,VA | 
|---|
| 57 | ; | 
|---|
| 58 | S (PG,CT)=0 | 
|---|
| 59 | S DASH="",$P(DASH,"-",79)="" | 
|---|
| 60 | W:$E(IOST,1,2)="C-" @IOF | 
|---|
| 61 | D HDR | 
|---|
| 62 | ; | 
|---|
| 63 | S SDT=0 | 
|---|
| 64 | F  S SDT=$O(^SCE("ACG",SDT)) Q:'SDT  D  G:$D(DIRUT) EXIT | 
|---|
| 65 | . S SDOE=0 | 
|---|
| 66 | . F  S SDOE=$O(^SCE("ACG",SDT,SDOE)) Q:'SDOE  D  Q:$D(DIRUT) | 
|---|
| 67 | . . S SDOE0=$G(^SCE(SDOE,0)) | 
|---|
| 68 | . . S SDOECG=$G(^SCE(SDOE,"CG")) | 
|---|
| 69 | . . S SDDAT=+SDOE0 | 
|---|
| 70 | . . S SDDIV=+$P(SDOE0,U,11) | 
|---|
| 71 | . . S DFN=$P(SDOE0,U,2) | 
|---|
| 72 | . . S SDAPTYPR=+$P(SDOECG,U,2) | 
|---|
| 73 | . . IF VAUTD!($D(VAUTD(SDDIV))),SDDAT'<SDBEG,SDDAT'>SDEND D  Q:$D(DIRUT) | 
|---|
| 74 | . . . S Y=SDDAT D DD^%DT S SDY=Y | 
|---|
| 75 | . . . D DEM^VADPT | 
|---|
| 76 | . . . IF SDAPTYPR=2 D DIE | 
|---|
| 77 | ; | 
|---|
| 78 | W !?10,CT," Visit"_$S(CT=1:"",1:"s")_" updated ...Batch update complete.",*7 | 
|---|
| 79 | ; | 
|---|
| 80 | EXIT ; -- exit logic | 
|---|
| 81 | K %DT,CT,D,DA,DASH,DE,DFN,DFN0,DGPGM,DIC,DIE,DIRUT,DQ,DR | 
|---|
| 82 | K DTOUT,DUOUT,FR,I,J,PG,POP,SDA,SDAPTYPR,SDBEG,SDCSNODE | 
|---|
| 83 | K SDDAT,SDDIV,SDEND,SDUPDT,SDY,SDZN,SDTYPE,TO,VADM,VAEL | 
|---|
| 84 | K VAERR,VAUTD,VA,X,Y | 
|---|
| 85 | D CLOSE^DGUTQ | 
|---|
| 86 | Q | 
|---|
| 87 | ; | 
|---|
| 88 | DIE ; -- update entry | 
|---|
| 89 | N DIE,DR,DA,DE,DQ | 
|---|
| 90 | S DIE="^SCE(",DA=SDOE,DR=".1////^S X=1;202///@" D ^DIE | 
|---|
| 91 | ; | 
|---|
| 92 | S CT=CT+1 | 
|---|
| 93 | D:$Y+6>IOSL CR Q:$D(DIRUT) | 
|---|
| 94 | W !,SDY,?35,$S('VAERR:$E(VADM(1),1,30),1:"UNKNOWN") | 
|---|
| 95 | Q | 
|---|
| 96 | ; | 
|---|
| 97 | CR ; -- end of page processing | 
|---|
| 98 | I $D(IOST),$E(IOST,1,2)="C-" D  Q:$G(DIRUT) | 
|---|
| 99 | . S DIR(0)="E" | 
|---|
| 100 | . W ! D ^DIR K DIR | 
|---|
| 101 | . I $D(DUOUT)!($D(DTOUT)) D | 
|---|
| 102 | . . S DIRUT=1 | 
|---|
| 103 | . . W !,SDY,?35,$S('VAERR:$E(VADM(1),1,30),1:"UNKNOWN"),!!,"Update incomplete!",*7 | 
|---|
| 104 | W @IOF D HDR | 
|---|
| 105 | Q | 
|---|
| 106 | ; | 
|---|
| 107 | HDR ; -- header processing | 
|---|
| 108 | S PG=PG+1 | 
|---|
| 109 | W !?17,"UPDATED COMPUTER GENERATED APPOINTMENT TYPES",!!,"Date/Time",?35,"Name",?68,"Page ",PG,!,DASH,!! | 
|---|
| 110 | Q | 
|---|
| 111 | ; | 
|---|