SROATT2 ;B'HAM ISC/MAM - ATTENDING SURGEON REPORT (ALL SPECIALTIES) ; [ 05/11/04  2:33 PM ]
 ;;3.0; Surgery ;**50,129**;24 Jun 93
 K ^TMP("SR",$J)
 S SRSS=0 F  S SRSS=$O(^SRO(137.45,SRSS)) Q:'SRSS  S SRSSN=$P(^SRO(137.45,SRSS,0),"^") D UT
 S (^TMP("SRTOT",$J,"ZZ SPECIALTY NOT ENTERED"),^TMP("SRTOT",$J,"ZZ SPECIALTY NOT ENTERED","ZZ"))=0
 S (SRFLG,SRSOUT)=0,SRSDATE=SRSD-.0001,SREDT=SRED+.9999
 F  S SRSDATE=$O(^SRF("AC",SRSDATE)) Q:'SRSDATE!(SRSDATE>SREDT)!(SRSOUT)  S SRTN=0 F  S SRTN=$O(^SRF("AC",SRSDATE,SRTN)) Q:'SRTN!(SRSOUT)  I $D(^SRF(SRTN,0)),$$DIV^SROUTL0(SRTN) D UTIL
 I SRBOTH'=2 D ^SROAT2P
 Q:SRSOUT  I SRBOTH'=1 D RET Q:SRSOUT  D ^SROAT2T S SRSOUT=1
 Q
UTIL ; set ^TMP
 I '$D(^SRF(SRTN,.2)) Q
 I '$P(^SRF(SRTN,.2),"^",12) Q
 S SRSS=$P(^SRF(SRTN,0),"^",4) S SRSS=$S(SRSS:$P(^SRO(137.45,SRSS,0),"^"),1:"ZZ SPECIALTY NOT ENTERED")
 S SR(.1)=$S($D(^SRF(SRTN,.1)):^(.1),1:""),SRATT=$P(SR(.1),"^",13),SRATT=$S(SRATT:$P(^VA(200,SRATT,0),"^"),1:"ZZ ATTENDING NOT ENTERED")
 S SRCODE=$P(SR(.1),"^",10) S:SRCODE="" SRCODE="ZZ"
 S ^TMP("SR",$J,SRSS,SRATT,SRCODE,SRSDATE,SRTN)=""
 I '$D(^TMP("SRTOT",$J,SRSS,SRCODE)) S ^TMP("SRTOT",$J,SRSS,SRCODE)=0
 I '$D(^TMP("SRTC",$J,SRCODE)) S ^TMP("SRTC",$J,SRCODE)=0
 I '$D(^TMP("SRTOT",$J,"ZZ SPECIALTY NOT ENTERED",SRCODE)) S ^TMP("SRTOT",$J,"ZZ SPECIALTY NOT ENTERED",SRCODE)=0
 S ^TMP("SRTOT",$J)=^TMP("SRTOT",$J)+1
 S ^TMP("SRTOT",$J,SRSS)=^TMP("SRTOT",$J,SRSS)+1
 S ^TMP("SRTOT",$J,SRSS,SRCODE)=^TMP("SRTOT",$J,SRSS,SRCODE)+1
 S ^TMP("SRTC",$J,SRCODE)=^TMP("SRTC",$J,SRCODE)+1
 Q
UT ; initialize ^TMP
 S ^TMP("SRTOT",$J,SRSSN,"ZZ")=0,^TMP("SRTC",$J,"ZZ")=0
 S (^TMP("SRTOT",$J),^TMP("SRTOT",$J,SRSSN),SRCODE)=0
 ;F SRCD=0:1:3 S (^TMP("SRTOT",$J,SRSSN,SRCD),^TMP("SRTC",$J,SRCD),^TMP("SRTOT",$J,"ZZ SPECIALTY NOT ENTERED",SRCD))=0
 Q
RET I $E(IOST)="P"!('SRFLG) S SRFLG=1 Q
 W !!,"Press RETURN to continue, or '^' to quit: " R X:DTIME I '$T!(X["^") S SRSOUT=1 Q
 Q
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HSROATT2   1947     printed  Sep 23, 2025@20:18:43                                                                                                                                                                                                     Page 2
SROATT2   ;B'HAM ISC/MAM - ATTENDING SURGEON REPORT (ALL SPECIALTIES) ; [ 05/11/04  2:33 PM ]
 +1       ;;3.0; Surgery ;**50,129**;24 Jun 93
 +2        KILL ^TMP("SR",$JOB)
 +3        SET SRSS=0
           FOR 
               SET SRSS=$ORDER(^SRO(137.45,SRSS))
               if 'SRSS
                   QUIT 
               SET SRSSN=$PIECE(^SRO(137.45,SRSS,0),"^")
               DO UT
 +4        SET (^TMP("SRTOT",$JOB,"ZZ SPECIALTY NOT ENTERED"),^TMP("SRTOT",$JOB,"ZZ SPECIALTY NOT ENTERED","ZZ"))=0
 +5        SET (SRFLG,SRSOUT)=0
           SET SRSDATE=SRSD-.0001
           SET SREDT=SRED+.9999
 +6        FOR 
               SET SRSDATE=$ORDER(^SRF("AC",SRSDATE))
               if 'SRSDATE!(SRSDATE>SREDT)!(SRSOUT)
                   QUIT 
               SET SRTN=0
               FOR 
                   SET SRTN=$ORDER(^SRF("AC",SRSDATE,SRTN))
                   if 'SRTN!(SRSOUT)
                       QUIT 
                   IF $DATA(^SRF(SRTN,0))
                       IF $$DIV^SROUTL0(SRTN)
                           DO UTIL
 +7        IF SRBOTH'=2
               DO ^SROAT2P
 +8        if SRSOUT
               QUIT 
           IF SRBOTH'=1
               DO RET
               if SRSOUT
                   QUIT 
               DO ^SROAT2T
               SET SRSOUT=1
 +9        QUIT 
UTIL      ; set ^TMP
 +1        IF '$DATA(^SRF(SRTN,.2))
               QUIT 
 +2        IF '$PIECE(^SRF(SRTN,.2),"^",12)
               QUIT 
 +3        SET SRSS=$PIECE(^SRF(SRTN,0),"^",4)
           SET SRSS=$SELECT(SRSS:$PIECE(^SRO(137.45,SRSS,0),"^"),1:"ZZ SPECIALTY NOT ENTERED")
 +4        SET SR(.1)=$SELECT($DATA(^SRF(SRTN,.1)):^(.1),1:"")
           SET SRATT=$PIECE(SR(.1),"^",13)
           SET SRATT=$SELECT(SRATT:$PIECE(^VA(200,SRATT,0),"^"),1:"ZZ ATTENDING NOT ENTERED")
 +5        SET SRCODE=$PIECE(SR(.1),"^",10)
           if SRCODE=""
               SET SRCODE="ZZ"
 +6        SET ^TMP("SR",$JOB,SRSS,SRATT,SRCODE,SRSDATE,SRTN)=""
 +7        IF '$DATA(^TMP("SRTOT",$JOB,SRSS,SRCODE))
               SET ^TMP("SRTOT",$JOB,SRSS,SRCODE)=0
 +8        IF '$DATA(^TMP("SRTC",$JOB,SRCODE))
               SET ^TMP("SRTC",$JOB,SRCODE)=0
 +9        IF '$DATA(^TMP("SRTOT",$JOB,"ZZ SPECIALTY NOT ENTERED",SRCODE))
               SET ^TMP("SRTOT",$JOB,"ZZ SPECIALTY NOT ENTERED",SRCODE)=0
 +10       SET ^TMP("SRTOT",$JOB)=^TMP("SRTOT",$JOB)+1
 +11       SET ^TMP("SRTOT",$JOB,SRSS)=^TMP("SRTOT",$JOB,SRSS)+1
 +12       SET ^TMP("SRTOT",$JOB,SRSS,SRCODE)=^TMP("SRTOT",$JOB,SRSS,SRCODE)+1
 +13       SET ^TMP("SRTC",$JOB,SRCODE)=^TMP("SRTC",$JOB,SRCODE)+1
 +14       QUIT 
UT        ; initialize ^TMP
 +1        SET ^TMP("SRTOT",$JOB,SRSSN,"ZZ")=0
           SET ^TMP("SRTC",$JOB,"ZZ")=0
 +2        SET (^TMP("SRTOT",$JOB),^TMP("SRTOT",$JOB,SRSSN),SRCODE)=0
 +3       ;F SRCD=0:1:3 S (^TMP("SRTOT",$J,SRSSN,SRCD),^TMP("SRTC",$J,SRCD),^TMP("SRTOT",$J,"ZZ SPECIALTY NOT ENTERED",SRCD))=0
 +4        QUIT 
RET        IF $EXTRACT(IOST)="P"!('SRFLG)
               SET SRFLG=1
               QUIT 
 +1        WRITE !!,"Press RETURN to continue, or '^' to quit: "
           READ X:DTIME
           IF '$TEST!(X["^")
               SET SRSOUT=1
               QUIT 
 +2        QUIT