| 1 | SRSWL15 ;B'HAM ISC/MAM - WAITING LIST, EXTENDED-ONE ; 17 OCT 1989  7:35 AM
 | 
|---|
| 2 |  ;;3.0; Surgery ;**34**;24 Jun 93
 | 
|---|
| 3 |  W ! K %ZIS,POP,IOP,IO("Q") S %ZIS("A")="Print the Waiting List on which Device: ",%ZIS="Q" D ^%ZIS Q:POP
 | 
|---|
| 4 |  I $D(IO("Q")) K IO("Q") S ZTDESC="SURGERY WAITING LIST",ZTRTN="BEG^SRSWL15" D ^%ZTLOAD G END
 | 
|---|
| 5 | BEG ; entry when queued
 | 
|---|
| 6 |  K ^TMP("SR",$J)
 | 
|---|
| 7 |  U IO S (SRSOUT,SRHDR)=0 D NOW^%DTC S Y=% D D^DIQ S SRTIME=$E(Y,1,12)_" at "_$E(Y,14,18)
 | 
|---|
| 8 |  ;
 | 
|---|
| 9 |  ; The AP cross reference is used to get the Patient Number, the record
 | 
|---|
| 10 |  ; number and sub-record number associated with that Patient.
 | 
|---|
| 11 |  ; SRPNM is set to Patient Number; SRSS=the record #; SROFN =
 | 
|---|
| 12 |  ; sub-record; SRSNM is set to the Surgical Specialty. The TMP
 | 
|---|
| 13 |  ; global is set to contain the Surgical Specialty, Tentative Date
 | 
|---|
| 14 |  ; of Operation, and corresponding record and sub-record numbers.
 | 
|---|
| 15 |  ;
 | 
|---|
| 16 |  S SRPNM="" F  S SRPNM=$O(^SRO(133.8,"AP",SRPNM)) Q:SRPNM=""  S SROFN="" F  S SROFN=$O(^SRO(133.8,"AP",SRPNM,SRSS,SROFN)) Q:SROFN=""  D MORE
 | 
|---|
| 17 |  ;
 | 
|---|
| 18 |  ; Below, extract information from TMP  in order of Surgical
 | 
|---|
| 19 |  ; Specialty and within Surgical Specialty in order by Tentative Date
 | 
|---|
| 20 |  ; of Operation.
 | 
|---|
| 21 |  ;
 | 
|---|
| 22 |  D HDR S SROPDT="" F  S SROPDT=$O(^TMP("SR",$J,SRSNM,SROPDT)) Q:SROPDT=""!(SRSOUT)  S SRSS="" F  S SRSS=$O(^TMP("SR",$J,SRSNM,SROPDT,SRSS)) Q:'SRSS!(SRSOUT)  D ANOTHER
 | 
|---|
| 23 | END I $E(IOST)="P" W ! S SRSOUT=1 W @IOF
 | 
|---|
| 24 |  I $D(ZTQUEUED) K ^TMP("SR",$J) Q:$G(ZTSTOP)  S ZTREQ="@" Q
 | 
|---|
| 25 |  I 'SRSOUT W !!,"Press RETURN to continue  " R X:DTIME W @IOF
 | 
|---|
| 26 |  D ^%ZISC,^SRSKILL K SRTN
 | 
|---|
| 27 |  Q
 | 
|---|
| 28 | MORE S SRTEMP=^SRO(133.8,SRSS,1,SROFN,0),SROPDT=$P($G(SRTEMP),"^",5),SROPDT=$S(SROPDT'="":SROPDT,1:"None Specified") S ^TMP("SR",$J,SRSNM,SROPDT,SRSS,SROFN)=""
 | 
|---|
| 29 |  Q
 | 
|---|
| 30 | ANOTHER S SROFN="" F  S SROFN=$O(^TMP("SR",$J,SRSNM,SROPDT,SRSS,SROFN)) Q:'SROFN!(SRSOUT)  D PRINT
 | 
|---|
| 31 |  Q
 | 
|---|
| 32 | PRINT ; print information
 | 
|---|
| 33 |  I $Y+20>IOSL D PAGE Q:SRSOUT
 | 
|---|
| 34 |  S SRW=^SRO(133.8,SRSS,1,SROFN,0),DFN=$P(SRW,"^") D DEM^VADPT S SRSDPT=VADM(1)_" ("_VA("PID")_")",SROPER=$P(SRW,"^",2),Y=$P(SRW,"^",3) D D^DIQ S SRDT=$E(Y,1,12)_" "_$E(Y,14,18)
 | 
|---|
| 35 |  D OUT^SRSWL3
 | 
|---|
| 36 |  Q
 | 
|---|
| 37 | PAGE ; end of page
 | 
|---|
| 38 |  I 'SRHDR S SRHDR=1 D HDR Q
 | 
|---|
| 39 |  I $E(IOST)'="P" W !!,"Press RETURN to continue, or '^' to quit:  " R X:DTIME I '$T!(X["^") S SRSOUT=1 Q
 | 
|---|
| 40 |  D HDR
 | 
|---|
| 41 |  Q
 | 
|---|
| 42 | HDR ; print heading
 | 
|---|
| 43 |  I $D(ZTQUEUED) D ^SROSTOP I SRHALT S SRSOUT=1 Q
 | 
|---|
| 44 |  S SRHDR=1 W:$Y @IOF W !,"Surgery Waiting List for ",SRSNM,!,"Printed "_SRTIME,! F LINE=1:1:80 W "="
 | 
|---|
| 45 |  Q
 | 
|---|
| 46 | LOOP ; break operation if greater than 59 characters
 | 
|---|
| 47 |  S SROPS(M)="" F LOOP=1:1 S MM=$P(SROPER," "),MMM=$P(SROPER," ",2,200) Q:MMM=""  Q:$L(SROPS(M))+$L(MM)'<59  S SROPS(M)=SROPS(M)_MM_" ",SROPER=MMM
 | 
|---|
| 48 |  Q
 | 
|---|
| 49 | AGAIN ; reprint patient name, date entered, and procedure when referring
 | 
|---|
| 50 |  ; physician will not fit on first page
 | 
|---|
| 51 |  Q:$Y+6<IOSL
 | 
|---|
| 52 |  D PAGE Q:SRSOUT
 | 
|---|
| 53 |  W !,"Patient:",?14,SRSDPT,?65,"(continued)",!,"Date Entered:",?14,SRDT,!,"Procedure:",?14,SROPS(1) I $D(SROPS(2)) W !,?14,SROPS(2)
 | 
|---|
| 54 |  Q
 | 
|---|