| 1 | SROQN ;BIR/ADM - REPORT OF MISSING DATA FOR QUARTERLY REPORT ;07/20/04  9:11 AM
 | 
|---|
| 2 |  ;;3.0; Surgery ;**62,77,92,129,142**;24 Jun 93
 | 
|---|
| 3 |  ;** NOTICE: This routine is part of an implementation of a nationally
 | 
|---|
| 4 |  ;**         controlled procedure. Local modifications to this routine
 | 
|---|
| 5 |  ;**         are prohibited.
 | 
|---|
| 6 |  ;
 | 
|---|
| 7 |  S SRSOUT=0,SRSPEC="" W @IOF,!,?18,"Report of Missing Quarterly Report Data",!!
 | 
|---|
| 8 |  W !,"For surgical cases with an entry in the TIME PAT IN OR field and that are not",!,"aborted, this option generates a report of cases missing any of the following",!,"pieces of information used by the Quarterly Report:"
 | 
|---|
| 9 |  W !!,?10,"In/Out-Patient Status",!,?10,"Major/Minor",!,?10,"Case Schedule Type",!,?10,"Attending Code",!,?10,"Time Pat Out OR",!,?10,"Wound Classification",!,?10,"ASA Class",!,?10,"CPT Code (Principal)",!
 | 
|---|
| 10 | SEL ; select date range and specialty
 | 
|---|
| 11 |  D DATE^SROUTL(.SDATE,.EDATE,.SRSOUT) G:SRSOUT END D SPEC^SROUTL G:SRSOUT END
 | 
|---|
| 12 |  N SRINSTP S SRINST=$$INST^SROUTL0() G:SRINST="^" END S SRINSTP=$P(SRINST,"^"),SRINST=$S(SRINST["ALL DIVISIONS":SRINST,1:$P(SRINST,"^",2))
 | 
|---|
| 13 | IO W !!,"This report is designed to use a 132 column format.",!
 | 
|---|
| 14 |  K %ZIS,IOP,IO("Q"),POP S %ZIS("A")="Print the report to which Printer ? ",%ZIS("B")="",%ZIS="Q" D ^%ZIS I POP S SRSOUT=1 G END
 | 
|---|
| 15 |  I $D(IO("Q")) K IO("Q") S ZTDESC="Report of Missing Data for Quarterly Report",(ZTSAVE("EDATE"),ZTSAVE("SDATE"),ZTSAVE("SRINSTP"),ZTSAVE("SRSPEC*"))="",ZTRTN="EN^SROQN" D ^%ZTLOAD S SRSOUT=1 G END
 | 
|---|
| 16 | EN U IO S (SRTOT,SRSOUT)=0,(SRHDR,SRPAGE)=1,SRSD=SDATE-.0001,SRED=EDATE+.9999,Y=SDATE X ^DD("DD") S STARTDT=Y,Y=EDATE X ^DD("DD") S ENDATE=Y K ^TMP("SR",$J)
 | 
|---|
| 17 |  S SRRPT="Report of Missing Data for Quarterly Report",SRFRTO="From: "_STARTDT_"  To: "_ENDATE
 | 
|---|
| 18 |  S SRINST=$S(SRINSTP["ALL DIV":$P($$SITE^SROVAR,"^",2)_" - ALL DIVISIONS",1:$$GET1^DIQ(4,SRINSTP,.01))
 | 
|---|
| 19 |  D NOW^%DTC S Y=$E(%,1,12) X ^DD("DD") S SRPRINT="Report Printed: "_Y
 | 
|---|
| 20 |  D HDR,AC
 | 
|---|
| 21 |  I '$O(^TMP("SR",$J,0)) W !!,"No data for selected date range." G END
 | 
|---|
| 22 |  S SRSD=0 F  S SRSD=$O(^TMP("SR",$J,SRSD)) Q:'SRSD!SRSOUT  S SRTN=0 F  S SRTN=$O(^TMP("SR",$J,SRSD,SRTN)) Q:'SRTN!SRSOUT  S SRTOT=SRTOT+1,SRZ=^TMP("SR",$J,SRSD,SRTN) D PRINT
 | 
|---|
| 23 |  G:SRSOUT END D:$Y+8>IOSL PAGE G:SRSOUT END W !!,"TOTAL CASES MISSING DATA: ",SRTOT
 | 
|---|
| 24 |  D CODES
 | 
|---|
| 25 | END W:$E(IOST)="P" @IOF I $D(ZTQUEUED) Q:$G(ZTSTOP)  S ZTREQ="@" Q
 | 
|---|
| 26 |  I 'SRSOUT,$E(IOST)'="P" D PRESS
 | 
|---|
| 27 |  D ^%ZISC K ^TMP("SR",$J),SRFRTO,SRIO,SRTOT,SRRPT,SRTN D ^SRSKILL W @IOF
 | 
|---|
| 28 |  Q
 | 
|---|
| 29 | AC F  S SRSD=$O(^SRF("AC",SRSD)) Q:'SRSD!(SRSD>SRED)!SRSOUT  S SRTN=0 F  S SRTN=$O(^SRF("AC",SRSD,SRTN)) Q:'SRTN  I $D(^SRF(SRTN,0)),$$MANDIV^SROUTL0(SRINSTP,SRTN) D CASE
 | 
|---|
| 30 |  Q
 | 
|---|
| 31 | CASE ; examine case for missing items
 | 
|---|
| 32 |  Q:'$P($G(^SRF(SRTN,.2)),"^",10)!($P($G(^SRF(SRTN,"NON")),"^")="Y")!$P($G(^SRF(SRTN,30)),"^")
 | 
|---|
| 33 |  S SR(0)=^SRF(SRTN,0),DFN=$P(SR(0),"^"),SRSS=$P(SR(0),"^",4) I SRSPEC Q:SRSS'=SRSPEC
 | 
|---|
| 34 |  S SRIO=$P(SR(0),"^",12) I SRIO'="O"&(SRIO'="I") S SRIO=""
 | 
|---|
| 35 |  S SRMM=$P(SR(0),"^",3),SRTYPE=$P(SR(0),"^",10),SRASA=$P($G(^SRF(SRTN,1.1)),"^",3),SRATT=$P($G(^SRF(SRTN,.1)),"^",10),SRWC=$P($G(^SRF(SRTN,"1.0")),"^",8) I SRATT="" D RS^SROQ0A
 | 
|---|
| 36 |  S SROUT=$P($G(^SRF(SRTN,.2)),"^",12),SRCPT=$P($G(^SRO(136,SRTN,0)),"^",2)
 | 
|---|
| 37 |  S (SRMISS,X)="" S:SRIO="" X="A," S:SRMM="" X=X_"B," S:SRTYPE="" X=X_"C," S:SRATT=99 X=X_"D," S:'SROUT X=X_"E," S:SRWC="" X=X_"F," S:SRASA="" X=X_"G," S:'SRCPT X=X_"H,"
 | 
|---|
| 38 |  S Y=$L(X),SRMISS=$E(X,1,Y-1) I SRMISS'="" S ^TMP("SR",$J,SRSD,SRTN)=DFN_"^"_SRSS_"^"_SRMISS
 | 
|---|
| 39 |  Q
 | 
|---|
| 40 | PRINT ; print case information
 | 
|---|
| 41 |  D:$Y+9>IOSL PAGE Q:SRSOUT  S DFN=$P(SRZ,"^"),SRSS=$P(SRZ,"^",2),SRSS=$S(SRSS:$P(^SRO(137.45,SRSS,0),"^"),1:"SPECIALTY NOT ENTERED"),Y=SRSD X ^DD("DD") S SRSDATE=Y
 | 
|---|
| 42 |  S SRDOC=$P($G(^SRF(SRTN,.1)),"^",4) I SRDOC S SRDOC=$P(^VA(200,SRDOC,0),"^")
 | 
|---|
| 43 |  D DEM^VADPT S SRSNM=VADM(1),SRSSN=VA("PID"),X1=$E(SRSD,1,7),X2=$P(VADM(3),"^"),SRAGE=$E(X1,1,3)-$E(X2,1,3)-($E(X1,4,7)<$E(X2,4,7)),SRMISS=$P(SRZ,"^",3)
 | 
|---|
| 44 |  K SRPROC S X=$P(^SRF(SRTN,"OP"),"^") I $L(X)<79 S SRPROC(1)=X
 | 
|---|
| 45 |  I $L(X)>78 S K=1 F  D  I $L(X)<56 S SRPROC(K)=X Q
 | 
|---|
| 46 |  .F I=0:1:54 S J=78-I,Y=$E(X,J) I Y=" " S SRPROC(K)=$E(X,1,J-1),X=$E(X,J+1,$L(X)) S K=K+1 Q
 | 
|---|
| 47 |  W !,SRSDATE,?22,SRSNM,?54,$S(SRSPEC:SRDOC,1:SRSS),?97,SRMISS,!,SRTN,?22,SRSSN_"  ("_SRAGE_")",?54,SRPROC(1),!
 | 
|---|
| 48 |  W:$D(SRPROC(2)) ?54,SRPROC(2),!
 | 
|---|
| 49 |  Q
 | 
|---|
| 50 | PRESS W !! K DIR S DIR(0)="E" D ^DIR K DIR I $D(DTOUT)!$D(DUOUT) S SRSOUT=1
 | 
|---|
| 51 |  Q
 | 
|---|
| 52 | PAGE D CODES I $E(IOST)="P"!SRHDR G HDR
 | 
|---|
| 53 |  D PRESS I SRSOUT Q
 | 
|---|
| 54 | HDR ; print heading
 | 
|---|
| 55 |  I $D(ZTQUEUED) D ^SROSTOP I SRHALT S SRSOUT=1 Q
 | 
|---|
| 56 |  W:$Y @IOF W:$E(IOST)="P" !,?(IOM-$L(SRINST)\2),SRINST W !,?(IOM-$L(SRRPT)\2),SRRPT,?(IOM-10),$J("PAGE "_SRPAGE,9),!,?(IOM-$L(SRFRTO)\2),SRFRTO W:$E(IOST)="P" !,?(IOM-$L(SRPRINT)\2),SRPRINT
 | 
|---|
| 57 |  I SRSPEC S X="SURGICAL SPECIALTY: "_SRSPECN W !,?(IOM-$L(X)\2),X
 | 
|---|
| 58 |  W !!,"DATE OF OPERATION",?22,"PATIENT NAME",?54,$S(SRSPEC:"SURGEON",1:"SURGICAL SPECIALTY"),?97,"MISSING ITEMS",!,"CASE #",?22,"PATIENT ID  (AGE)",?54,"PRINCIPAL PROCEDURE"
 | 
|---|
| 59 |  S SRHDR=0,SRPAGE=SRPAGE+1 W ! F I=1:1:IOM W "="
 | 
|---|
| 60 |  Q
 | 
|---|
| 61 | CODES ; missing items code definition
 | 
|---|
| 62 |  F I=$Y:1:(IOSL-8) W !
 | 
|---|
| 63 |  W ! F I=1:1:IOM W "-"
 | 
|---|
| 64 |  W !,"MISSING ITEMS CODES:  A-IN/OUT-PATIENT STATUS,   B-MAJOR/MINOR,   C-CASE SCHEDULE TYPE,     D-ATTENDING CODE,"
 | 
|---|
| 65 |  W !,"E-TIME PAT OUT OR,    F-WOUND CLASSIFICATION,    G-ASA CLASS,     H-CPT CODE (PRINCIPAL)"
 | 
|---|
| 66 |  Q
 | 
|---|