| 1 | SRSCPT2 ;BIR/MAM - MISSING CPTS (ALL SPECIALTIES) ;03/29/06
 | 
|---|
| 2 |  ;;3.0; Surgery ;**59,50,88,142,144**;24 Jun 93
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 |  ; Reference to ^ECC(723 supported by DBIA #205
 | 
|---|
| 5 |  ;
 | 
|---|
| 6 |  F  S SRSDT=$O(^SRF("AC",SRSDT)) Q:'SRSDT!(SRSDT>SRSEDT)  S SRTN=0 F  S SRTN=$O(^SRF("AC",SRSDT,SRTN)) Q:'SRTN  I $P($G(^SRF(SRTN,30)),"^")="",$D(^SRF(SRTN,0)),$$DIV^SROUTL0(SRTN) D UTIL
 | 
|---|
| 7 |  S (SRSPEC,SRHDR,SRSOUT)=0 F  S SRSPEC=$O(^TMP("SR",$J,SRSPEC)) Q:SRSPEC=""!(SRSOUT)  D HDR S SRHDR=1 S SRSDT=0 F  S SRSDT=$O(^TMP("SR",$J,SRSPEC,SRSDT)) Q:'SRSDT!(SRSOUT)  D CASE
 | 
|---|
| 8 |  I '$D(^TMP("SR",$J)) S SRSPEC="" D HDR W $$NODATA^SROUTL0()
 | 
|---|
| 9 |  Q
 | 
|---|
| 10 | CASE ; get case number
 | 
|---|
| 11 |  S SRTN=0 F  S SRTN=$O(^TMP("SR",$J,SRSPEC,SRSDT,SRTN)) Q:'SRTN!(SRSOUT)  K SR,SROP D SET
 | 
|---|
| 12 |  Q
 | 
|---|
| 13 | SET ; set variables & print info
 | 
|---|
| 14 |  I $Y+8>IOSL D HDR I SRSOUT Q
 | 
|---|
| 15 |  S SRNON=0 I $P($G(^SRF(SRTN,"NON")),"^")="Y" S SRNON=1
 | 
|---|
| 16 |  S SR(0)=^SRF(SRTN,0),DFN=+SR(0) D DEM^VADPT S SRSNM=VADM(1),SRSSN=VA("PID"),Y=$P(SR(0),"^",9) D D^DIQ S SRSDATE=$E(Y,1,12) I $L(SRSNM)>23 S SRSNM=$P(VADM(1),",")_","_$E($P(VADM(1),",",2))_"."
 | 
|---|
| 17 |  S SROP(1)=$P(^SRF(SRTN,"OP"),"^")
 | 
|---|
| 18 |  S CNT=1,OP=0 F  S OP=$O(^SRF(SRTN,13,OP)) Q:'OP  D
 | 
|---|
| 19 |  .S CNT=CNT+1,SROP(CNT)=$P(^SRF(SRTN,13,OP,0),"^")
 | 
|---|
| 20 |  S SR(.1)=$S($D(^SRF(SRTN,.1)):^(.1),1:"")
 | 
|---|
| 21 |  S SRSUR=$S(SRNON:$P(^SRF(SRTN,"NON"),"^",6),1:$P(SR(.1),"^",4)) S:SRSUR="" SRSUR="NOT ENTERED" I SRSUR S SRSUR=$P(^VA(200,SRSUR,0),"^") I $L(SRSUR)>19 S SRSUR=$P(SRSUR,",")_","_$E($P(SRSUR,",",2))_"."
 | 
|---|
| 22 |  W !,SRSDATE,?18,SRSNM_" ("_VA("PID")_")",?60,SRSUR,!,SRTN W:SRFLG=3&(SRNON) !,"NON-O.R."
 | 
|---|
| 23 |  S CNT=0 F  S CNT=$O(SROP(CNT)) Q:'CNT  S SROPER="* "_SROP(CNT) D OPS
 | 
|---|
| 24 |  W ! F LINE=1:1:80 W "-"
 | 
|---|
| 25 |  Q
 | 
|---|
| 26 | UTIL ; set ^TMP("SR",$J)
 | 
|---|
| 27 |  S SRNON=0 I $P($G(^SRF(SRTN,"NON")),"^")="Y" S SRNON=1
 | 
|---|
| 28 |  I SRFLG=1!(SRFLG=3&('SRNON)) Q:$P($G(^SRF(SRTN,.2)),"^",12)=""
 | 
|---|
| 29 |  I SRFLG=2 Q:'SRNON
 | 
|---|
| 30 |  S SRMISS=0 I '$P($G(^SRO(136,SRTN,0)),"^",2) S SRMISS=1
 | 
|---|
| 31 |  I 'SRMISS Q
 | 
|---|
| 32 | UT I SRNON S SRSPEC=$P(^SRF(SRTN,"NON"),"^",8),SRSPECN=$S(SRSPEC:$P(^ECC(723,SRSPEC,0),"^"),1:"UNKNOWN")
 | 
|---|
| 33 |  I 'SRNON S SRSPEC=$P(^SRF(SRTN,0),"^",4),SRSPECN=$S('SRSPEC:"UNKNOWN",1:$P(^SRO(137.45,SRSPEC,0),"^"))
 | 
|---|
| 34 |  S ^TMP("SR",$J,SRSPECN,SRSDT,SRTN)=""
 | 
|---|
| 35 |  Q
 | 
|---|
| 36 | HDR ; print heading
 | 
|---|
| 37 |  I $D(ZTQUEUED) D ^SROSTOP I SRHALT S SRSOUT=1 Q
 | 
|---|
| 38 |  I SRHDR,$E(IOST)'="P" W !!,"Press RETURN to continue, or '^' to quit:.  " R X:DTIME I '$T!(X["^") S SRSOUT=1 Q
 | 
|---|
| 39 |  S SRTITLE=$S(SRFLG=1:"O.R. Surgical Procedures",SRFLG=2:"Non-O.R. Procedures",1:"O.R. Surgical and Non-O.R. Procedures")
 | 
|---|
| 40 |  W:$Y @IOF W !,?(80-$L(SRINST)\2),SRINST,!,?23,"Completed Cases Missing CPT Codes",!,?(80-$L(SRTITLE)\2),SRTITLE,!,?(80-$L(SRFRTO)\2),SRFRTO
 | 
|---|
| 41 |  W:SRSPEC'="" !,?(80-$L("Specialty: "_SRSPEC)\2),"Specialty: "_SRSPEC W !!,"Operation Date",?18,"Patient (ID#)",?60,"Surgeon/Provider",!,"Case #",! F LINE=1:1:80 W "="
 | 
|---|
| 42 |  Q
 | 
|---|
| 43 | OPS ; print operations
 | 
|---|
| 44 |  K SROPS,MM,MMM S:$L(SROPER)<60 SROPS(1)=SROPER I $L(SROPER)>59 S SROPER=SROPER_"  " F M=1:1 D LOOP Q:MMM=""
 | 
|---|
| 45 |  W !,?18,SROPS(1) I $D(SROPS(2)) W !,?18,SROPS(2) I $D(SROPS(3)) W !,?18,SROPS(3) I $D(SROPS(4)) W !,?18,SROPS(4)
 | 
|---|
| 46 |  Q
 | 
|---|
| 47 | LOOP ; break procedure if greater than 59 characters
 | 
|---|
| 48 |  S SROPS(M)="" F LOOP=1:1 S MM=$P(SROPER," "),MMM=$P(SROPER," ",2,200) Q:MMM=""  Q:$L(SROPS(M))+$L(MM)'<60  S SROPS(M)=SROPS(M)_MM_" ",SROPER=MMM
 | 
|---|
| 49 |  Q
 | 
|---|