Changeset 1454 for Scheduling/trunk/m/BSDX08.m
- Timestamp:
- Jun 21, 2012, 7:24:56 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Scheduling/trunk/m/BSDX08.m
r1452 r1454 1 BSDX08 ; VW/UJO/SMH - WINDOWS SCHEDULING RPCS ; 6/2 0/12 3:52pm1 BSDX08 ; VW/UJO/SMH - WINDOWS SCHEDULING RPCS ; 6/21/12 4:49pm 2 2 ;;1.6;BSDX;;Aug 31, 2011;Build 18 3 3 ; … … 38 38 Q 39 39 ; 40 UT ; Unit Tests41 N RESNAM S RESNAM="UTCLINIC"42 N HLRESIENS ; holds output of UTCR^BSDX35 - HL IEN^Resource IEN43 D44 . N $ET S $ET="D ^%ZTER B"45 . S HLRESIENS=$$UTCR^BSDX35(RESNAM)46 . I HLRESIENS<0 S $EC=",U1," ; not supposed to happen - hard crash if so47 ;48 N HLIEN,RESIEN49 S HLIEN=$P(HLRESIENS,U)50 S RESIEN=$P(HLRESIENS,U,2)51 ;52 ; Get start and end times53 N TIMES S TIMES=$$TIMES^BSDX35 ; appt time^end time54 N APPTTIME S APPTTIME=$P(TIMES,U)55 N ENDTIME S ENDTIME=$P(TIMES,U,2)56 ;57 ; Test 1: Make normal appointment and cancel it. See if every thing works58 N ZZZ,DFN59 S DFN=360 D APPADD^BSDX07(.ZZZ,APPTTIME,ENDTIME,DFN,RESNAM,30,"Sam's Note",1)61 S APPID=+$P(^BSDXTMP($J,1),U)62 D APPDEL^BSDX08(.ZZZ,APPID,"PC",1,"Sam's Cancel Note")63 I $P(^BSDXAPPT(APPID,0),U,12)'>0 W "Error in Cancellation-1"64 I $O(^SC(2,"S",APPTTIME,1,0))]"" W "Error in Cancellation-2"65 I $P(^DPT(4,"S",APPTTIME,0),U,2)'="PC" W "Error in Cancellation-3"66 I ^DPT(4,"S",3110123.2,"R")'="Sam's Cancel Note" W "Error in Cancellation-4"67 ;68 ; Test 2: Check for -169 ; Make appt70 D APPADD^BSDX07(.ZZZ,3110125.2,3110125.3,4,"Dr Office",10,"Sam's Note",1)71 ; Lock the node in another job72 S APPID=+$P(^BSDXTMP($J,1),U)73 ; W "Lock ^BSDXAPPT("_APPID_") in another session. You have 10 seconds." H 1074 D APPDEL^BSDX08(.ZZZ,APPID,"PC",1,"Sam's Cancel Note")75 ;76 ; Test 3: Check for -10077 S bsdxdie=178 D APPADD^BSDX07(.ZZZ,3110126.2,3110126.3,4,"Dr Office",10,"Sam's Note",1)79 S APPID=+$P(^BSDXTMP($J,1),U)80 D APPDEL^BSDX08(.ZZZ,APPID,"PC",1,"Reasons")81 I $P(^BSDXTMP($J,1),"~")'=-100 W "Error in -100",!82 K bsdxdie83 ;84 ; Test 4: Restartable transaction85 S bsdxrestart=186 D APPADD^BSDX07(.ZZZ,3110128.2,3110128.3,4,"Dr Office",10,"Sam's Note",1)87 S APPID=+$P(^BSDXTMP($J,1),U)88 D APPDEL^BSDX08(.ZZZ,APPID,"PC",1,"Reasons")89 I $P(^DPT(4,"S",3110128.2,0),U,2)'="PC" W "Error in Restartable Transaction",!90 ;91 ; Test 5: for invalid Appointment ID (-2 and -3)92 D APPDEL^BSDX08(.ZZZ,0,"PC",1,"Reasons")93 I $P(^BSDXTMP($J,1),"~")'=-2 W "Error in -2",!94 D APPDEL^BSDX08(.ZZZ,999999,"PC",1,"Reasons")95 I $P(^BSDXTMP($J,1),"~")'=-3 W "Error in -3",!96 UT2 ; More unit Tests97 ;98 ; Test 6: for Cancelling walkin and checked-in appointments99 S BSDXSTART=$E($$NOW^XLFDT,1,12),BSDXEND=BSDXSTART+.0001100 D APPADD^BSDX07(.ZZZ,BSDXSTART,BSDXEND,4,"Dr Office",10,"Sam's Note",1) ; Add appt101 S APPID=+$P(^BSDXTMP($J,1),U)102 I APPID=0 W "Error in test 6",!103 D CHECKIN^BSDX25(.ZZZ,APPID,$$NOW^XLFDT) ; check-in104 D APPDEL^BSDX08(.ZZZ,APPID,"PC",10,"Cancel Note") ; Delete appt105 I $P(^BSDXTMP($J,1),$C(30))'="" W "Error in test 6",!106 ;107 ; Test 7: for cancelling walkin and checked-in appointments108 S BSDXSTART=$E($$NOW^XLFDT,1,12)+.0001,BSDXEND=BSDXSTART+.0001109 D APPADD^BSDX07(.ZZZ,BSDXSTART,BSDXEND,4,"Dr Office",10,"Sam's Note",1) ; Add appt110 S APPID=+$P(^BSDXTMP($J,1),U)111 I APPID=0 W "Error in test 6",!112 D CHECKIN^BSDX25(.ZZZ,APPID,$$NOW^XLFDT) ; Checkin113 S BSDXRES=$O(^BSDXRES("B","Dr Office",""))114 S BSDXCLN=$P(^BSDXRES(BSDXRES,0),U,4)115 S BSDXRESULT=$$RMCI^BSDXAPI(4,BSDXCLN,BSDXSTART) ; remove checkin116 D APPDEL^BSDX08(.ZZZ,APPID,"PC",10,"Cancel Note") ; delete appt117 I $P(^BSDXTMP($J,1),$C(30))'="" W "Error in test 6",!118 QUIT119 40 APPDEL(BSDXY,BSDXAPTID,BSDXTYP,BSDXCR,BSDXNOT) ;EP 120 41 ;Called by RPC: BSDX CANCEL APPOINTMENT … … 141 62 ; Counter 142 63 N BSDXI S BSDXI=0 64 ; 143 65 ; Header Node 144 66 S ^BSDXTMP($J,BSDXI)="T00100ERRORID"_$C(30) … … 158 80 ; 159 81 ;;;test for error inside transaction. See if %ZTER works 160 I $G( bsdxdie) S X=1/082 I $G(BSDXDIE) S X=1/0 161 83 ;;;test 162 84 ;;;test for TRESTART 163 I $G( bsdxrestart) K bsdxrestart TRESTART85 I $G(BSDXRESTART) K BSDXRESTART tRESTART 164 86 ;;;test 165 87 ; … … 187 109 N BSDXERR S BSDXERR=0 188 110 ; Only file in 2/44 if there is an associated hospital location 189 I BSDXLOC D QUIT:BSDXERR 111 I BSDXLOC D QUIT:BSDXERR 190 112 . I '$D(^SC(BSDXLOC,0)) S BSDXERR=1 D ERR(BSDXI,"-6~BSDX08: Invalid Hosp Location stored in Database") QUIT 191 113 . ; Get the IEN of the appointment in the "S" node of ^SC … … 215 137 ;See SDCNP0 216 138 N SD,S ; Start Date 217 S (SD,S)=BSDXSTART 139 S (SD,S)=BSDXSTART 218 140 N I ; Clinic IEN in 44 219 141 S I=BSDXSCD … … 244 166 ; Y#1 -> Minutes; *SI -> * Slots per hour; \.6 trunc min to hour 245 167 ; Y\1 -> Hours since start of day; * SI: * slots 246 S ST=Y#1*SI\.6+(Y\1*SI) 168 S ST=Y#1*SI\.6+(Y\1*SI) 247 169 N SS ; how many slots are supposed to be taken by appointment 248 170 S SS=SL*HSI/60 ; (nb: try SL: 30 min; HSI: 4 slots) … … 251 173 . ; loop through pattern. Tired of documenting. 252 174 . F I=ST+ST:SDDIF D Q:Y="" Q:SS'>0 253 . . S Y=$E(STR,$F(STR,$E(S,I+1))) Q:Y="" 175 . . S Y=$E(STR,$F(STR,$E(S,I+1))) Q:Y="" 254 176 . . S S=$E(S,1,I)_Y_$E(S,I+2,999) 255 . . S SS=SS-1 177 . . S SS=SS-1 256 178 . . Q:SS'>0 257 179 S ^SC(BSDXSCD,"ST",SD\1,1)=S ; new pattern; global set
Note:
See TracChangeset
for help on using the changeset viewer.