Changeset 623 for WorldVistAEHR/trunk/r/SURGERY-SR
- Timestamp:
- Dec 4, 2009, 12:11:15 AM (16 years ago)
- Location:
- WorldVistAEHR/trunk/r/SURGERY-SR
- Files:
-
- 48 edited
-
SROABCH.m (modified) (1 diff)
-
SROACAR.m (modified) (1 diff)
-
SROACMP.m (modified) (1 diff)
-
SROACMP1.m (modified) (1 diff)
-
SROACOM.m (modified) (1 diff)
-
SROACOP.m (modified) (1 diff)
-
SROACPM.m (modified) (1 diff)
-
SROACPM1.m (modified) (1 diff)
-
SROACR2.m (modified) (1 diff)
-
SROALEC.m (modified) (1 diff)
-
SROALM.m (modified) (1 diff)
-
SROALOG.m (modified) (1 diff)
-
SROALT.m (modified) (1 diff)
-
SROALTP.m (modified) (1 diff)
-
SROALTS.m (modified) (1 diff)
-
SROALTSP.m (modified) (1 diff)
-
SROAMEAS.m (modified) (1 diff)
-
SROAMIS.m (modified) (1 diff)
-
SROAOP.m (modified) (1 diff)
-
SROAPAS.m (modified) (1 diff)
-
SROAPCA1.m (modified) (1 diff)
-
SROAPCA3.m (modified) (1 diff)
-
SROAPM.m (modified) (1 diff)
-
SROAPRE.m (modified) (1 diff)
-
SROAPRE1.m (modified) (1 diff)
-
SROAPRE2.m (modified) (1 diff)
-
SROAPRT1.m (modified) (1 diff)
-
SROAPRT2.m (modified) (1 diff)
-
SROAPRT4.m (modified) (1 diff)
-
SROAPRT5.m (modified) (1 diff)
-
SROAPS1.m (modified) (1 diff)
-
SROAPS2.m (modified) (1 diff)
-
SROASS.m (modified) (1 diff)
-
SROASSP.m (modified) (1 diff)
-
SROATCM3.m (modified) (1 diff)
-
SROATM1.m (modified) (1 diff)
-
SROATMNO.m (modified) (1 diff)
-
SROAUTL.m (modified) (1 diff)
-
SROAUTL1.m (modified) (1 diff)
-
SROAUTL3.m (modified) (1 diff)
-
SROAUTL4.m (modified) (1 diff)
-
SROAUTLC.m (modified) (1 diff)
-
SROCODE.m (modified) (1 diff)
-
SROESPR1.m (modified) (1 diff)
-
SROGMTS.m (modified) (1 diff)
-
SROMED.m (modified) (1 diff)
-
SROWL.m (modified) (1 diff)
-
SROXR4.m (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
WorldVistAEHR/trunk/r/SURGERY-SR/SROABCH.m
r613 r623 1 SROABCH ;BIR/MAM - BATCH PRINT ASSESSMENTS ;11/28/07 2 ;;3.0; Surgery ;**77,166**;24 Jun 93;Build 7 3 DATE ; get dates 4 S (SRSOUT,SRSP)=0 W @IOF,!!,"This report will print all completed or transmitted assessments that have a",!,"date of operation within the date range selected.",! 5 D DATE^SROUTL(.SRASTDT,.SRAENDT,.SRSOUT) G:SRSOUT END 6 D SPEC 7 W !!,"Depending on the date range entered, this report may be very long. You should",!,"QUEUE this report to the selected printer.",! 8 K %ZIS,IOP,POP,IO("Q") S %ZIS="Q",%ZIS("A")="Print on which Device: " D ^%ZIS S:POP SRSOUT=1 G:POP END 9 I $D(IO("Q")) K IO("Q") S ZTRTN="EN^SROABCH",(ZTSAVE("SRSITE*"),ZTSAVE("SRASTDT"),ZTSAVE("SRAENDT"),ZTSAVE("SRSP"))="",ZTDESC="Batch Print Risk Assessments" D ^%ZTLOAD S SRSOUT=1 G END 10 EN ; entry when queued 11 S SRSOUT=0,SRABATCH=1 12 U IO S SRAENDT=SRAENDT+.9999,SDATE=SRASTDT-.0001 F S SDATE=$O(^SRF("AC",SDATE)) Q:'SDATE!(SDATE>SRAENDT)!SRSOUT S SRTN=0 F S SRTN=$O(^SRF("AC",SDATE,SRTN)) Q:'SRTN!SRSOUT D STUFF 13 END I $D(ZTQUEUED) Q:$G(ZTSTOP) S ZTREQ="@" Q 14 D ^%ZISC K SRTN W @IOF D ^SRSKILL 15 Q 16 STUFF ; 17 I SRSP,$P(^SRF(SRTN,0),"^",4)'=SRSP Q 18 S DATE=$P(^SRF(SRTN,0),"^",9) 19 S SR("RA")=$G(^SRF(SRTN,"RA")),X=$P(SR("RA"),"^") I X'="T",X'="C" Q 20 I $P(SR("RA"),"^",6)'="Y" Q 21 K SRA D ^SROAPAS 22 Q 23 SPEC ; select specialty 24 W ! K DIR S DIR(0)="YA",DIR("A")="Print report for ALL surgical specialties ? ",DIR("B")="YES" 25 S DIR("?",1)="Enter YES to print the report for all surgical specialties, or NO to",DIR("?")="print the report for a specific surgical specialty." 26 D ^DIR K DIR I $D(DTOUT)!$D(DUOUT) S SRSOUT=1 Q 27 I 'Y W ! K DIC S DIC("S")="I '$P(^(0),""^"",3)",DIC("A")="Print the Report for which Surgical Specialty: ",DIC=137.45,DIC(0)="QEAMZ" D ^DIC K DIC S:Y<0 SRSOUT=1 Q:Y<0 S SRSP=+Y 28 Q 1 SROABCH ;B'HAM ISC/MAM - BATCH PRINT ASSESSMENTS ; [ 01/08/98 9:54 AM ] 2 ;;3.0; Surgery ;**77**;24 Jun 93 3 DATE ; get dates 4 S SRSOUT=0 W @IOF,!!,"This report will print all completed or transmitted assessments that have a",!,"'date completed' within the date range selected.",! 5 D DATE^SROUTL(.SRASTDT,.SRAENDT,.SRSOUT) G:SRSOUT END 6 W !!,"Depending on the date range entered, this report may be very long. You should",!,"QUEUE this report to the selected printer.",! 7 K %ZIS,IOP,POP,IO("Q") S %ZIS="Q",%ZIS("A")="Print on which Device: " D ^%ZIS S:POP SRSOUT=1 G:POP END 8 I $D(IO("Q")) K IO("Q") S ZTRTN="EN^SROABCH",(ZTSAVE("SRSITE*"),ZTSAVE("SRASTDT"),ZTSAVE("SRAENDT"))="",ZTDESC="Batch Print Risk Assessments" D ^%ZTLOAD S SRSOUT=1 G END 9 EN ; entry when queued 10 S SRSOUT=0,SRABATCH=1 11 U IO S SRAENDT=SRAENDT+.9999,SDATE=SRASTDT-.0001 F S SDATE=$O(^SRF("AC",SDATE)) Q:'SDATE!(SDATE>SRAENDT)!SRSOUT S SRTN=0 F S SRTN=$O(^SRF("AC",SDATE,SRTN)) Q:'SRTN!SRSOUT D STUFF 12 END I $D(ZTQUEUED) Q:$G(ZTSTOP) S ZTREQ="@" Q 13 I $E(IOST)'="P",'SRSOUT W !!,"Press RETURN to continue " R X:DTIME 14 D ^%ZISC K SRTN W @IOF D ^SRSKILL 15 Q 16 STUFF S DATE=$P(^SRF(SRTN,0),"^",9) 17 S SR("RA")=$G(^SRF(SRTN,"RA")),X=$P(SR("RA"),"^") I X'="T",X'="C" Q 18 I $P(SR("RA"),"^",6)'="Y" Q 19 K SRA D ^SROAPAS 20 Q -
WorldVistAEHR/trunk/r/SURGERY-SR/SROACAR.m
r613 r623 1 SROACAR ;BIR/MAM - OPEATIVE DATA ;12/03/07 2 ;;3.0; Surgery ;**38,71,93,95,100,125,142,153,166**;24 Jun 93;Build 7 3 I '$D(SRTN) W !!,"A Surgery Risk Assessment must be selected prior to using this option.",!!,"Press <RET> to continue " R X:DTIME G END 4 S SRACLR=0,SRSOUT=0,SRSUPCPT=1 D ^SROAUTL 5 START D:SRACLR RET G:SRSOUT END S SRACLR=0 K SRA,SRAO D ^SROACR1 6 ASK W !,"Select Cardiac Procedures Operative Information to Edit: " R X:DTIME I '$T!("^"[X) G END 7 S X=$S(X="a":"A",X="n":"N",1:X) I '$D(SRAO(X)),(X'?.N1":".N),(X'="A"),(X'="N") D HELP G:SRSOUT END G START 8 I X="A" S X="1:22" 9 I X?.N1":".N S Y=$E(X),Z=$P(X,":",2) I Y<1!(Z>22)!(Y>Z) D HELP G:SRSOUT END G START 10 I X="N" D G:SRSOUT END G START 11 .W ! K DIR S DIR(0)="Y",DIR("B")="NO",DIR("A")="Are you sure you want to set all fields on this page to NO" 12 .D ^DIR I $D(DTOUT)!$D(DUOUT) S SRSOUT=1 Q 13 .I Y D NO2ALL 14 D HDR^SROAUTL 15 I X?.N1":".N D RANGE G START 16 I $D(SRAO(X)),+X=X S EMILY=X D G START 17 .I $$LOCK^SROUTL(SRTN) W ! D ONE,UNLOCK^SROUTL(SRTN) 18 I $D(SRAO(X)) W ! S EMILY=X D G START 19 .I $$LOCK^SROUTL(SRTN) D ONE,UNLOCK^SROUTL(SRTN) 20 END I 'SRSOUT D ^SROACR2 21 W @IOF D ^SRSKILL 22 Q 23 HELP W @IOF,!!!!,"Enter the number or range of numbers you want to edit. Examples of proper",!,"responses are listed below." 24 W !!,"1. Enter 'A' to update all information.",!!,"2. Enter 'N' to set all fields on this page to NO." 25 W !!,"3. Enter a number (1-22) to update the information in that field. (For",!," example, enter '9' to update Valve Repair.)" 26 W !!,"4. Enter a range of numbers (1-22) separated by a ':' to enter a range of",!," information. (For example, enter '6:8' to enter Aortic Valve",!," Replacement, Mitral Valve Replacement, and Tricuspid Valve Replacement.)" 27 D RET 28 Q 29 RANGE ; range of numbers 30 I $$LOCK^SROUTL(SRTN) D D UNLOCK^SROUTL(SRTN) 31 .W ! S SHEMP=$P(X,":"),CURLEY=$P(X,":",2) F EMILY=SHEMP:1:CURLEY Q:SRSOUT D ONE 32 Q 33 ONE ; edit one item 34 ;I EMILY=16 D MIS^SROACR1 Q 35 I EMILY=22 D OPS Q 36 K DR,DIE S DA=SRTN,DR=$P(SRAO(EMILY),"^",2)_"T",DIE=130 D ^DIE K DR I $D(Y) S SRSOUT=1 37 I 'SRSOUT,EMILY=12!(EMILY=13) D OK 38 Q 39 NO2ALL ; set all fields to NO 40 N II K DR,DIE S DA=SRTN,DIE=130 41 F II=367,368,369,371,481,483,376,380,378,377,379,373,372,505,502 S DR=$S($D(DR):DR_";",1:"")_II_"////N" 42 F II=365,366,464,465,416 S DR=DR_";"_II_"////0" 43 S DR=DR_";"_370_"////5"_";"_512_"////N" 44 D ^DIE K DR 45 Q 46 OK N SRISCH,SRCPB S X=$G(^SRF(SRTN,206)),SRISCH=$P(X,"^",36),SRCPB=$P(X,"^",37) 47 I SRISCH,SRCPB,SRISCH>SRCPB W !!," *** NOTE: Ischemic Time is greater than CPB Time!! Please check. ***",! D RET W ! 48 Q 49 RET Q:SRSOUT W ! K DIR S DIR(0)="E" D ^DIR K DIR I $D(DTOUT)!$D(DUOUT) S SRSOUT=1 50 Q 51 OPS ; enter other cardiac procedures, specify 52 S DIE=130,DA=SRTN,DR="502T" D ^DIE K DR Q:$D(Y) 53 I X'="Y" K ^SRF(SRTN,209.1) Q 54 S DIE=130,DA=SRTN,DR="484T" D ^DIE K DR 55 Q 1 SROACAR ;BIR/MAM - OPEATIVE DATA ;03/29/06 2 ;;3.0; Surgery ;**38,71,93,95,100,125,142,153**;24 Jun 93;Build 11 3 I '$D(SRTN) W !!,"A Surgery Risk Assessment must be selected prior to using this option.",!!,"Press <RET> to continue " R X:DTIME G END 4 S SRACLR=0,SRSOUT=0,SRSUPCPT=1 D ^SROAUTL 5 START D:SRACLR RET G:SRSOUT END S SRACLR=0 K SRA,SRAO D ^SROACR1 6 ASK W !,"Select Operative Information to Edit: " R X:DTIME I '$T!("^"[X) G END 7 S:X="a" X="A" I '$D(SRAO(X)),(X'?.N1":".N),(X'="A") D HELP G:SRSOUT END G START 8 I X="A" S X="1:22" 9 I X?.N1":".N S Y=$E(X),Z=$P(X,":",2) I Y<1!(Z>22)!(Y>Z) D HELP G:SRSOUT END G START 10 D HDR^SROAUTL 11 I X?.N1":".N D RANGE G START 12 I $D(SRAO(X)),+X=X S EMILY=X D G START 13 .I $$LOCK^SROUTL(SRTN) W ! D ONE,UNLOCK^SROUTL(SRTN) 14 I $D(SRAO(X)) W ! S EMILY=X D G START 15 .I $$LOCK^SROUTL(SRTN) D ONE,UNLOCK^SROUTL(SRTN) 16 END I 'SRSOUT D ^SROACR2 17 W @IOF D ^SRSKILL 18 Q 19 HELP W @IOF,!!!!,"Enter the number or range of numbers you want to edit. Examples of proper",!,"responses are listed below." 20 W !!,"1. Enter 'A' to update all information.",!!,"2. Enter a number (1-22) to update the information in that field. (For",!," example, enter '9' to update Valve Repair.)" 21 W !!,"3. Enter a range of numbers (1-22) separated by a ':' to enter a range of",!," information. (For example, enter '6:8' to enter Aortic Valve",!," Replacement, Mitral Valve Replacement, and Tricuspid Valve Replacement.)" 22 D RET 23 Q 24 RANGE ; range of numbers 25 I $$LOCK^SROUTL(SRTN) D D UNLOCK^SROUTL(SRTN) 26 .W ! S SHEMP=$P(X,":"),CURLEY=$P(X,":",2) F EMILY=SHEMP:1:CURLEY Q:SRSOUT D ONE 27 Q 28 ONE ; edit one item 29 ;I EMILY=16 D MIS^SROACR1 Q 30 I EMILY=22 D OPS Q 31 K DR,DIE S DA=SRTN,DR=$P(SRAO(EMILY),"^",2)_"T",DIE=130 D ^DIE K DR I $D(Y) S SRSOUT=1 32 I 'SRSOUT,EMILY=12!(EMILY=13) D OK 33 Q 34 OK N SRISCH,SRCPB S X=$G(^SRF(SRTN,206)),SRISCH=$P(X,"^",36),SRCPB=$P(X,"^",37) 35 I SRISCH,SRCPB,SRISCH>SRCPB W !!," *** NOTE: Ischemic Time is greater than CPB Time!! Please check. ***",! D RET W ! 36 Q 37 RET Q:SRSOUT W ! K DIR S DIR(0)="E" D ^DIR K DIR I $D(DTOUT)!$D(DUOUT) S SRSOUT=1 38 Q 39 OPS ; enter other cardiac procedures, specify 40 S DIE=130,DA=SRTN,DR="502T" D ^DIE K DR Q:$D(Y) 41 I X'="Y" K ^SRF(SRTN,209.1) Q 42 S DIE=130,DA=SRTN,DR="484T" D ^DIE K DR 43 Q -
WorldVistAEHR/trunk/r/SURGERY-SR/SROACMP.m
r613 r623 1 SROACMP ;BIR/ADM - M&M VERIFICATION REPORT ;12/19/07 2 ;;3.0; Surgery ;**47,50,127,143,166**;24 Jun 93;Build 7 3 S DFN=0 F S DFN=$O(^TMP("SR",$J,DFN)) Q:'DFN S SRTN=0 F S SRTN=$O(^TMP("SR",$J,DFN,SRTN)) Q:'SRTN D UTIL 4 I SRFORM=1,SRSP D SS 5 D HDR^SROACMP1 I $D(^TMP("SR",$J)) S SRPAT="" F S SRPAT=$O(^TMP("SRPAT",$J,SRPAT)) Q:SRPAT="" D Q:SRSOUT S SRNM=0 I $Y+7<IOSL W !! F LINE=1:1:132 W "-" 6 .S SRX=^(SRPAT),SRNAME=">>> "_SRPAT_" ("_$P(SRX,"^",2)_")",SRDEATH=$P(SRX,"^",3) 7 .I SRDEATH S SRNAME=SRNAME_" - DIED "_$E(SRDEATH,4,5)_"/"_$E(SRDEATH,6,7)_"/"_$E(SRDEATH,2,3) S X=$E(SRDEATH,9,12) I X S X=X_"000",SRNAME=SRNAME_"@"_$E(X,1,2)_":"_$E(X,3,4) 8 .I $Y+9>IOSL D HDR^SROACMP1 I SRSOUT Q 9 .W !,SRNAME S SRNM=1,DFN=$P(SRX,"^"),SRTN=0 F S SRTN=$O(^TMP("SR",$J,DFN,SRTN)) Q:'SRTN!SRSOUT D SET 10 G:SRSOUT END^SROACMP1 I '$D(^TMP("SR",$J)) W !!,"There are no perioperative occurrences or deaths recorded for ",$S(SRFORM=1:"surgeries performed in the selected date range.",1:"completed assessments not yet transmitted.") 11 D HDR2^SROACMP1,END^SROACMP1 12 Q 13 UTIL ; list all cases within 30 days prior to postop occurrence and/or 90 days prior to death 14 S SRPOST=0 F S SRPOST=$O(^SRF(SRTN,16,SRPOST)) Q:'SRPOST S SRDATE=$E($P(^SRF(SRTN,16,SRPOST,0),"^",7),1,7) I SRDATE S SRBACK=-30 D PRIOR 15 D DEM^VADPT S ^TMP("SRPAT",$J,VADM(1))=DFN_"^"_VA("PID")_"^"_$P(VADM(6),"^") 16 S SRDATE=$P(VADM(6),"^") I SRDATE S SRBACK=-90 D PRIOR 17 Q 18 PRIOR ; list cases in 30 days before this occurrence or 90 days before death 19 S X1=SRDATE,X2=SRBACK D C^%DTC S SDATE=X,SRCASE=0 F S SRCASE=$O(^SRF("B",DFN,SRCASE)) Q:'SRCASE I '$D(^TMP("SR",$J,DFN,SRCASE)) D 20 .I $D(^XUSEC("SROCHIEF",+DUZ)) Q:'$$MANDIV^SROUTL0(SRINSTP,SRTN) 21 .I '$D(^XUSEC("SROCHIEF",+DUZ)) Q:'$$DIV^SROUTL0(SRTN) 22 .I '$P($G(^SRF(SRCASE,.2)),"^",12)!$P($G(^SRF(SRCASE,30)),"^")!($P($G(^SRF(SRCASE,"NON")),"^")="Y") Q 23 .S SRX=$E($P(^SRF(SRCASE,0),"^",9),1,7) I SRX<SDATE!(SRX>SRDATE) Q 24 .S ^TMP("SR",$J,DFN,SRCASE)=$P(^SRF(SRCASE,0),"^",4) 25 Q 26 SET ; set variables to print 27 N SRSEP,SRICDN 28 S SR(0)=^SRF(SRTN,0),(SRD,Y)=$P(SR(0),"^",9),SRSDATE=$E(Y,4,5)_"/"_$E(Y,6,7)_"/"_$E(Y,2,3),Y=$P(SR(0),"^",4) I Y S SRSS=$P(^SRO(137.45,Y,0),"^") 29 OPS S SROPER=$P(^SRF(SRTN,"OP"),"^") 30 K SRP,Z S:$L(SROPER)<121 SRP(1)=SROPER I $L(SROPER)>120 S SROPER=SROPER_" " F M=1:1 D OPER Q:Z="" 31 N SRL S SRL=109 D CPTS^SROAUTL0 I SRPROC(1)="" S SRPROC(1)="NOT ENTERED" 32 S SRCHK=0 I SRDEATH S X1=SRDEATH,X2=-90 D C^%DTC I SRD<X S SRCHK=1,SRREL="N/A" 33 I 'SRCHK S X=$P($G(^SRF(SRTN,.4)),"^",7),SRREL=$S(SRDEATH="":"N/A",X="U":"NO",X="R":"YES",1:"NOT ENTERED") 34 COMP ; perioperative occurrences 35 K SRC S (SRFG,SRIC)=0 F S SRIC=$O(^SRF(SRTN,10,SRIC)) Q:SRIC="" S SRFG=SRFG+1,SRO=^SRF(SRTN,10,SRIC,0),SRICD=$P(SRO,"^",3) D 36 .S Y=SRD D DATE S SRCAT=$P(SRO,"^",2) Q:'SRCAT S SRC(SRFG)=$P(^SRO(136.5,SRCAT,0),"^")_" "_SRY 37 .I SRICD S SRICDN=$$ICDDX^ICDCODE(SRICD,$P($G(^SRF(SRTN,0)),"^",9)),SRFG=SRFG+1,SRC(SRFG)=" ICD: "_$P(SRICDN,"^",2)_" "_$P(SRICDN,"^",4) 38 .S $P(SRC(SRFG),"^",2)="10;"_SRIC 39 S SRPC=0 F S SRPC=$O(^SRF(SRTN,16,SRPC)) Q:SRPC="" S SRFG=SRFG+1,SRO=^SRF(SRTN,16,SRPC,0),SRICD=$P(SRO,"^",3) D 40 .S Y=$E($P(SRO,"^",7),1,7) D DATE S SRCAT=$P(SRO,"^",2) Q:'SRCAT 41 .S SRSEP="" I SRCAT=3 S X=$P(SRO,"^",4) I X S SRSEP="/"_$S(X=2:"SEPSIS",X=3:"SEPTIC SHOCK",1:"SIRS")_" " 42 .S SRC(SRFG)=$P(^SRO(136.5,SRCAT,0),"^")_" ** POSTOP ** "_SRSEP_SRY 43 .I $P(SRO,"^",2)=3 S X=$P(SRO,"^",4) I X S SRSEP=$S(X=2:"SEPSIS",X=3:"SEPTIC SHOCK",1:"SIRS") 44 .I SRICD S SRICDN=$$ICDDX^ICDCODE(SRICD,$P($G(^SRF(SRTN,0)),"^",9)),SRFG=SRFG+1,SRC(SRFG)=" ICD: "_$P(SRICDN,"^",2)_" "_$P(SRICDN,"^",4) 45 .S $P(SRC(SRFG),"^",2)="16;"_SRPC 46 RA ; risk assessment type and status 47 S SRA=$G(^SRF(SRTN,"RA")),SRSTATUS=$P(SRA,"^"),SRTYPE=$P(SRA,"^",2),SRYN=$P(SRA,"^",6),SRE=$P(SRA,"^",7) D 48 .I SRTYPE="" S SRTYPE="NON-ASSESSED" Q 49 .S SRTYPE=$S(SRTYPE="C":"CARDIAC",SRYN="Y":"NON-CARDIAC",1:"EXCLUDED") 50 S SRSTATUS=$S(SRSTATUS="C":"COMPLETE",SRSTATUS="T":"TRANSMITTED",SRSTATUS="I":"INCOMPLETE",1:"N/A") 51 PRINT ; print case information 52 I $Y+8>IOSL D HDR^SROACMP1 I SRSOUT Q 53 W !!,SRSDATE,?11,SRTN,?25,SRSS,?80,SRTYPE,?98,SRSTATUS,?116,SRREL 54 W !,?11,SRP(1) W:$D(SRP(2)) !,?11,SRP(2) 55 W !,?11,"CPT Codes: ",SRPROC(1) W:$D(SRPROC(2)) !,?24,SRPROC(2) 56 W !,?11,"Occurrences: " I '$D(SRC(1)) S SRC(1)="NONE ENTERED" 57 S SRI=0 F S SRI=$O(SRC(SRI)) Q:'SRI D 58 .W:SRI>1 ! W ?24,$P(SRC(SRI),"^") 59 .I $Y+6>IOSL D HDR^SROACMP1 W ! I SRSOUT Q 60 .D TEXT D:SRT WP 61 S SRNDTH=$P($G(^SRF(SRTN,205)),"^",3) 62 I SRDEATH!SRNDTH D K SRNDTH 63 .I SRNDTH W !,?11,"Date of Death: "_$E(SRNDTH,4,5)_"/"_$E(SRNDTH,6,7)_"/"_$E(SRNDTH,2,3) S X=$E(SRNDTH,9,12) I X S X=X_"000" W "@"_$E(X,1,2)_":"_$E(X,3,4) 64 .W !,?11,"Review of Death Comments: " D 65 ..I '$O(^SRF(SRTN,47,0)) W "NONE ENTERED" Q 66 ..D DWP 67 Q 68 OPER ; break procedure if greater than 48 characters 69 S SRP(M)="" F LOOP=1:1 S Z=$P(SROPER," ") Q:Z="" Q:$L(SRP(M))+$L(Z)'<49 S SRP(M)=SRP(M)_Z_" ",SROPER=$P(SROPER," ",2,200) 70 Q 71 DATE S SRY=$S(Y:" ("_$E(Y,4,5)_"/"_$E(Y,6,7)_"/"_$E(Y,2,3)_")",1:" (NO DATE)") 72 Q 73 SS ; set up ^TMP for selected specialties 74 K ^TMP("SRSP",$J) S SRQ=0,SRNAME="" F S SRNAME=$O(^TMP("SRPAT",$J,SRNAME)) Q:SRNAME="" S DFN=$P(^TMP("SRPAT",$J,SRNAME),"^"),(SRQ,SRTN)=0 D 75 .F S SRTN=$O(^TMP("SR",$J,DFN,SRTN)) Q:'SRTN D Q:SRQ 76 ..S Y=$P(^SRF(SRTN,0),"^",4) S:'Y Y="ZZ" I $D(SRSP(Y)) S ^TMP("SRSP",$J,DFN)="",SRQ=1 Q 77 S SRNAME="" F S SRNAME=$O(^TMP("SRPAT",$J,SRNAME)) Q:SRNAME="" S DFN=$P(^TMP("SRPAT",$J,SRNAME),"^") I '$D(^TMP("SRSP",$J,DFN)) K ^TMP("SR",$J,DFN),^TMP("SRPAT",$J,SRNAME) 78 Q 79 WP ; print occurrence comments 80 N CM K ^UTILITY($J,"W") S CM=0 F S CM=$O(^SRF(SRTN,SRY,SRZ,1,CM)) Q:'CM S X=^SRF(SRTN,SRY,SRZ,1,CM,0),DIWL=30,DIWR=132 D ^DIWP 81 I $D(^UTILITY($J,"W")) F J=1:1:^UTILITY($J,"W",30) D 82 .I $Y+7>IOSL D HDR^SROACMP1 W ! I SRSOUT Q 83 .W !,?30,^UTILITY($J,"W",30,J,0) 84 Q 85 TEXT ; check for occurrence comments 86 S SRT=0,SRX=$P(SRC(SRI),"^",2) I SRX'="" S SRY=$P(SRX,";"),SRZ=$P(SRX,";",2) I $O(^SRF(SRTN,SRY,SRZ,1,0)) S SRT=1 W !,?26,">>> Comments:" 87 Q 88 DWP ; print review of death comments 89 N CM K ^UTILITY($J,"W") S CM=0 F S CM=$O(^SRF(SRTN,47,CM)) Q:'CM S X=^SRF(SRTN,47,CM,0),DIWL=38,DIWR=132 D ^DIWP 90 I $D(^UTILITY($J,"W")) F J=1:1:^UTILITY($J,"W",38) D 91 .I $Y+7>IOSL D HDR^SROACMP1 W ! I SRSOUT Q 92 .W ?38,^UTILITY($J,"W",38,J,0),! 93 Q 1 SROACMP ;BIR/ADM-M&M Verification Report ;02/20/05 2 ;;3.0; Surgery ;**47,50,127,143**;24 Jun 93 3 S DFN=0 F S DFN=$O(^TMP("SR",$J,DFN)) Q:'DFN S SRTN=0 F S SRTN=$O(^TMP("SR",$J,DFN,SRTN)) Q:'SRTN D UTIL 4 I SRFORM=1,SRSP D SS 5 D HDR^SROACMP1 I $D(^TMP("SR",$J)) S SRPAT="" F S SRPAT=$O(^TMP("SRPAT",$J,SRPAT)) Q:SRPAT="" D Q:SRSOUT S SRNM=0 I $Y+7<IOSL W !! F LINE=1:1:132 W "-" 6 .S SRX=^(SRPAT),SRNAME=">>> "_SRPAT_" ("_$P(SRX,"^",2)_")",SRDEATH=$P(SRX,"^",3) 7 .I SRDEATH S SRNAME=SRNAME_" - DIED "_$E(SRDEATH,4,5)_"/"_$E(SRDEATH,6,7)_"/"_$E(SRDEATH,2,3) S X=$E(SRDEATH,9,12) I X S X=X_"000",SRNAME=SRNAME_"@"_$E(X,1,2)_":"_$E(X,3,4) 8 .I $Y+9>IOSL D HDR^SROACMP1 I SRSOUT Q 9 .W !,SRNAME S SRNM=1,DFN=$P(SRX,"^"),SRTN=0 F S SRTN=$O(^TMP("SR",$J,DFN,SRTN)) Q:'SRTN!SRSOUT D SET 10 G:SRSOUT END^SROACMP1 I '$D(^TMP("SR",$J)) W !!,"There are no perioperative occurrences or deaths recorded for ",$S(SRFORM=1:"surgeries performed in the selected date range.",1:"completed assessments not yet transmitted.") 11 D HDR2^SROACMP1,END^SROACMP1 12 Q 13 UTIL ; list all cases within 90 days prior to postop occurrence and/or death 14 S SRPOST=0 F S SRPOST=$O(^SRF(SRTN,16,SRPOST)) Q:'SRPOST S SRDATE=$E($P(^SRF(SRTN,16,SRPOST,0),"^",7),1,7) I SRDATE S SRBACK=-30 D PRIOR 15 D DEM^VADPT S ^TMP("SRPAT",$J,VADM(1))=DFN_"^"_VA("PID")_"^"_$P(VADM(6),"^") 16 S SRDATE=$P(VADM(6),"^") I SRDATE S SRBACK=-90 D PRIOR 17 Q 18 PRIOR ; list cases in 30 days before this occurrence or 90 days before death 19 S X1=SRDATE,X2=SRBACK D C^%DTC S SDATE=X,SRCASE=0 F S SRCASE=$O(^SRF("B",DFN,SRCASE)) Q:'SRCASE I '$D(^TMP("SR",$J,DFN,SRCASE)) D 20 .I $D(^XUSEC("SROCHIEF",+DUZ)) Q:'$$MANDIV^SROUTL0(SRINSTP,SRTN) 21 .I '$D(^XUSEC("SROCHIEF",+DUZ)) Q:'$$DIV^SROUTL0(SRTN) 22 .I '$P($G(^SRF(SRCASE,.2)),"^",12)!$P($G(^SRF(SRCASE,30)),"^")!($P($G(^SRF(SRCASE,"NON")),"^")="Y") Q 23 .S SRX=$E($P(^SRF(SRCASE,0),"^",9),1,7) I SRX<SDATE!(SRX>SRDATE) Q 24 .S ^TMP("SR",$J,DFN,SRCASE)=$P(^SRF(SRCASE,0),"^",4) 25 Q 26 SET ; set variables to print 27 N SRSEP 28 S SR(0)=^SRF(SRTN,0),(SRD,Y)=$P(SR(0),"^",9),SRSDATE=$E(Y,4,5)_"/"_$E(Y,6,7)_"/"_$E(Y,2,3),Y=$P(SR(0),"^",4) I Y S SRSS=$E($P($P(^SRO(137.45,Y,0),"^")," "),1,13),SRSS=$P(SRSS," "),SRSS=$P(SRSS,"(") 29 OPS S SROPER=$P(^SRF(SRTN,"OP"),"^"),OPER=0 F S OPER=$O(^SRF(SRTN,13,OPER)) Q:OPER="" D OTHER 30 K SRP,Z S:$L(SROPER)<40 SRP(1)=SROPER I $L(SROPER)>39 S SROPER=SROPER_" " F M=1:1 D OPER Q:Z="" 31 S SRCHK=0 I SRDEATH S X1=SRDEATH,X2=-90 D C^%DTC I SRD<X S SRCHK=1,SRREL="N/A" 32 I 'SRCHK S X=$P($G(^SRF(SRTN,.4)),"^",7),SRREL=$S(SRDEATH="":"N/A",X="U":"NO",X="R":"YES",1:" ?") 33 COMP ; perioperative occurrences 34 K SRC S (SRFG,SRIC)=0 F S SRIC=$O(^SRF(SRTN,10,SRIC)) Q:SRIC="" S SRFG=SRFG+1,SRO=^SRF(SRTN,10,SRIC,0),SRICD=$P(SRO,"^",3) D 35 .S Y=SRD D DATE S SRCAT=$P(SRO,"^",2) Q:'SRCAT S SRC(SRFG)=$P(^SRO(136.5,SRCAT,0),"^")_" "_SRY 36 .I SRICD S SRICDN=$$ICDDX^ICDCODE(SRICD,$P($G(^SRF(SRTN,0)),"^",9)),SRFG=SRFG+1,SRC(SRFG)=" ICD: "_$P(SRICDN,"^",2)_" "_$P(SRICDN,"^",4) 37 S SRPC=0 F S SRPC=$O(^SRF(SRTN,16,SRPC)) Q:SRPC="" S SRFG=SRFG+1,SRO=^SRF(SRTN,16,SRPC,0),SRICD=$P(SRO,"^",3) D 38 .S Y=$E($P(SRO,"^",7),1,7) D DATE S SRCAT=$P(SRO,"^",2) Q:'SRCAT 39 .S SRSEP="" I SRCAT=3 S X=$P(SRO,"^",4) I X S SRSEP="/"_$S(X=2:"SEPSIS",X=3:"SEPTIC SHOCK",1:"SIRS")_" " 40 .S SRC(SRFG)=$P(^SRO(136.5,SRCAT,0),"^")_" * "_SRSEP_SRY 41 .I $P(SRO,"^",2)=3 S X=$P(SRO,"^",4) I X S SRSEP=$S(X=2:"SEPSIS",X=3:"SEPTIC SHOCK",1:"SIRS") 42 .I SRICD S SRICDN=$$ICDDX^ICDCODE(SRICD,$P($G(^SRF(SRTN,0)),"^",9)),SRFG=SRFG+1,SRC(SRFG)=" ICD: "_$P(SRICDN,"^",2)_" "_$P(SRICDN,"^",4) 43 RA ; risk assessment type and status 44 S SRA=$G(^SRF(SRTN,"RA")),SRSTATUS=$P(SRA,"^"),SRTYPE=$P(SRA,"^",2),SRYN=$P(SRA,"^",6),SRE=$P(SRA,"^",7) D 45 .I SRTYPE="" S SRA="NON-ASSESSED" Q 46 .S SRA=$S(SRTYPE="C":"CARDIAC",SRYN="Y":"NON-CARD",1:"EXCLUDED")_"/"_SRSTATUS 47 PRINT ; print case information 48 I $Y+8>IOSL D HDR^SROACMP1 I SRSOUT Q 49 W !!,SRSDATE,?11,SRSS,?25,SRP(1),?69,SRREL W:$D(SRC(1)) ?75,SRC(1) W ?120,SRA 50 F SRC=2:1 Q:'$D(SRP(SRC))&'$D(SRC(SRC)) D Q:SRSOUT 51 .I $Y+6>IOSL D HDR^SROACMP1 I SRSOUT Q 52 .W ! W:$D(SRP(SRC)) ?25,SRP(SRC) W:$D(SRC(SRC)) ?75,SRC(SRC) 53 Q 54 OTHER ; other operations 55 S SRLONG=1 I $L(SROPER)+$L($P(^SRF(SRTN,13,OPER,0),"^"))>250 S SRLONG=0,OPER=999,SROPERS=" ..." 56 I SRLONG S SROPERS=$P(^SRF(SRTN,13,OPER,0),"^") 57 S SROPER=SROPER_$S(SROPERS=" ...":SROPERS,1:", "_SROPERS) 58 Q 59 OPER ; break procedure if greater than 40 characters 60 S SRP(M)="" F LOOP=1:1 S Z=$P(SROPER," ") Q:Z="" Q:$L(SRP(M))+$L(Z)'<40 S SRP(M)=SRP(M)_Z_" ",SROPER=$P(SROPER," ",2,200) 61 Q 62 DATE S SRY=$S(Y:" ("_$E(Y,4,5)_"/"_$E(Y,6,7)_"/"_$E(Y,2,3)_")",1:" (NO DATE)") 63 Q 64 SS ; set up ^TMP for selected specialties 65 K ^TMP("SRSP",$J) S SRQ=0,SRNAME="" F S SRNAME=$O(^TMP("SRPAT",$J,SRNAME)) Q:SRNAME="" S DFN=$P(^TMP("SRPAT",$J,SRNAME),"^"),(SRQ,SRTN)=0 D 66 .F S SRTN=$O(^TMP("SR",$J,DFN,SRTN)) Q:'SRTN D Q:SRQ 67 ..S Y=$P(^SRF(SRTN,0),"^",4) S:'Y Y="ZZ" I $D(SRSP(Y)) S ^TMP("SRSP",$J,DFN)="",SRQ=1 Q 68 S SRNAME="" F S SRNAME=$O(^TMP("SRPAT",$J,SRNAME)) Q:SRNAME="" S DFN=$P(^TMP("SRPAT",$J,SRNAME),"^") I '$D(^TMP("SRSP",$J,DFN)) K ^TMP("SR",$J,DFN),^TMP("SRPAT",$J,SRNAME) 69 Q -
WorldVistAEHR/trunk/r/SURGERY-SR/SROACMP1.m
r613 r623 1 SROACMP1 ;BIR/ADM - M&M VERIFICATION REPORT (CONT'D) ;11/26/07 2 ;;3.0; Surgery ;**47,68,77,50,166**;24 Jun 93;Build 7 3 EN ; entry point 4 S (SRSOUT,SRSP)=0,SRINST=$P($$SITE^SROVAR,"^",2) W @IOF,!,?28,"M&M Verification Report" 5 W !!,"The M&M Verification Report is a tool to assist in the review of occurrences" 6 W !,"and their assignment to operations and in the review of death unrelated or",!,"related assignments to operations." 7 W !!,"The full report includes all patients who had operations within the selected" 8 W !,"date range who experienced intraoperative occurrences, postoperative" 9 W !,"occurrences or death within 90 days of surgery. The pre-transmission report" 10 W !,"is similar but includes only operations with completed risk assessments that" 11 W !,"have not yet transmitted to the national database.",! 12 D SEL G:SRSOUT END I SRFORM=2 G SPEC 13 D DATE^SROUTL(.SRSD,.SRED,.SRSOUT) G:SRSOUT END 14 SPEC I $D(^XUSEC("SROCHIEF",+DUZ)) N SRINSTP S SRINST=$$INST^SROUTL0() G:SRINST="^" END S SRINSTP=$P(SRINST,U),SRINST=$S(SRINST["ALL DIVISIONS":SRINST,1:$P(SRINST,U,2)) 15 W !! K DIR S DIR("A")="Do you want to print this report for all Surgical Specialties ",DIR("B")="YES",DIR(0)="Y" 16 S DIR("?",1)="Enter RETURN to print this report for all surgical specialties, or 'NO' to",DIR("?")="select a specific specialty." 17 D ^DIR K DIR I $D(DTOUT)!$D(DUOUT) S SRSOUT=1 G END 18 I 'Y D SP I SRSOUT G END 19 DEV K IOP,%ZIS,POP,IO("Q") S %ZIS("A")="Print the Report on which Device: ",%ZIS="QM" W !!,"This report is designed to use a 132 column format.",! D ^%ZIS I POP S SRSOUT=1 G END 20 I $D(IO("Q")) K IO("Q") S ZTDESC="M&M Verification Report",ZTRTN="BEG^SROACMP1",(ZTSAVE("SRFORM"),ZTSAVE("SRINST"),ZTSAVE("SRSP*"),ZTSAVE("SRINSTP"))="" S:SRFORM=1 (ZTSAVE("SRED"),ZTSAVE("SRSD"))="" D ^%ZTLOAD G END 21 BEG U IO S (SRHDR,SRNM,SRSOUT,SRSS)=0,PAGE=1,Y=DT X ^DD("DD") S SRPRINT="Report Generated: "_Y K ^TMP("SR",$J),^TMP("SRPAT",$J) 22 N SRFRTO I SRFORM=1 D 23 .S Y=SRSD X ^DD("DD") S SRFRTO="From: "_Y S Y=SRED X ^DD("DD") S SRFRTO=SRFRTO_" To: "_Y 24 .S SRSDT=SRSD-.0001,SREDT=SRED+.9999 F S SRSDT=$O(^SRF("AC",SRSDT)) Q:SRSDT>SREDT!'SRSDT!SRSOUT S SRTN=0 F S SRTN=$O(^SRF("AC",SRSDT,SRTN)) Q:'SRTN!SRSOUT D CASE 25 I SRFORM=2 F SRASS="C","N" S DFN=0 F S DFN=$O(^SRF("ARS",SRASS,"C",DFN)) Q:'DFN!SRSOUT S SRTN=0 F S SRTN=$O(^SRF("ARS",SRASS,"C",DFN,SRTN)) Q:'SRTN!SRSOUT D CASE 26 G:SRSOUT END G ^SROACMP 27 CASE ; examine case 28 Q:'$D(^SRF(SRTN,0)) 29 I $D(^XUSEC("SROCHIEF",+DUZ)) Q:'$$MANDIV^SROUTL0(SRINSTP,SRTN) 30 I '$D(^XUSEC("SROCHIEF",+DUZ)) Q:'$$DIV^SROUTL0(SRTN) 31 I SRFORM=2,SRSP S Y=$P(^SRF(SRTN,0),"^",4) S:'Y Y="ZZ" I '$D(SRSP(Y)) Q 32 I '$P($G(^SRF(SRTN,.2)),"^",12)!$P($G(^SRF(SRTN,30)),"^")!($P($G(^SRF(SRTN,"NON")),"^")="Y") Q 33 S DFN=$P(^SRF(SRTN,0),"^") I $O(^SRF(SRTN,10,0))!$O(^SRF(SRTN,16,0)) S ^TMP("SR",$J,DFN,SRTN)=$P(^SRF(SRTN,0),"^",4) Q 34 S SRDEATH=$P($G(^DPT(DFN,.35)),"^") I SRDEATH S X1=$P(^SRF(SRTN,0),"^",9),X2=90 D C^%DTC S SRDAY=X I SRDEATH'>SRDAY S ^TMP("SR",$J,DFN,SRTN)=$P(^SRF(SRTN,0),"^",4) 35 Q 36 END Q:'$D(SRSOUT) W @IOF K ^TMP("SRPAT",$J),^TMP("SRSP",$J) I $D(ZTQUEUED) K ^TMP("SR",$J) Q:$G(ZTSTOP) S ZTREQ="@" Q 37 D ^%ZISC,^SRSKILL K SRTN W @IOF 38 Q 39 SEL ; select report version 40 K DIR S DIR("A",1)="Print which report ?",DIR("A",2)=" ",DIR("A",3)="1. Full report for selected date range.",DIR("A",4)="2. Pre-transmission report for completed risk assessments." 41 S DIR("A",5)=" ",DIR("A")="Enter selection (1 or 2): ",DIR("B")=1,DIR("?")="Please enter the number (1 or 2) matching your choice of report",DIR(0)="NA^1:2" D ^DIR K DIR I $D(DTOUT)!$D(DUOUT) S SRSOUT=1 Q 42 S SRFORM=Y 43 Q 44 SP W !! S SRSP=1 K DIC S DIC("S")="I '$P(^(0),""^"",3)",DIC=137.45,DIC(0)="QEAMZ",DIC("A")="Print the report for which Specialty ? " D ^DIC I Y<0 S SRSOUT=1 Q 45 S SRCT=+Y,SRSP(SRCT)=+Y 46 MORE ; ask for more surgical specialties 47 K DIC S DIC("S")="I '$P(^(0),""^"",3)",DIC=137.45,DIC(0)="QEAMZ",DIC("A")="Select an Additional Specialty: " D ^DIC I Y>0 S SRCT=+Y,SRSP(SRCT)=+Y G MORE 48 Q 49 HDR ; print heading 50 I $D(ZTQUEUED) D ^SROSTOP I SRHALT S SRSOUT=1 Q 51 I SRHDR D HDR2 Q:SRSOUT S SRHDR=0 52 W:$Y @IOF W !,?(132-$L(SRINST)\2),SRINST,?124,"Page ",PAGE,!,?54,"M&M Verification Report" 53 W:SRFORM=1 !,?(132-$L(SRFRTO)\2),SRFRTO 54 W:SRFORM=2 !,?41,"PRE-TRANSMISSION REPORT FOR COMPLETED ASSESSMENTS" 55 W ?100,"REVIEWED BY:",!,?(132-$L(SRPRINT)\2),SRPRINT,?100,"DATE REVIEWED:",! 56 W !,"OP DATE",?11,"CASE #",?25,"SURGICAL SPECIALTY",?80,"ASSESSMENT TYPE STATUS",?116,"DEATH RELATED",!,?11,"PRINCIPAL PROCEDURE",! F LINE=1:1:132 W "=" 57 I SRNM W !,SRNAME_" * * Continued from previous page * *" 58 S PAGE=PAGE+1,SRHDR=1 I '$D(^TMP("SR",$J)) 59 Q 60 HDR2 ; more heading 61 ;I $Y+6<IOSL F I=$Y:1:IOSL-5 W ! 62 FOOT ; print footer 63 ;W ! F LINE=1:1:IOM W "-" 64 ;W !,"Occurrences(s): '*' Denotes Postop Occurrence",! F LINE=1:1:IOM W "-" 65 S SRHDR=0 I $E(IOST)'="P" W ! K DIR S DIR(0)="E" D ^DIR K DIR I 'Y S SRSOUT=1 66 Q 1 SROACMP1 ;BIR/ADM-M&M Verification Report (cont'd) ; [ 09/22/98 11:22 AM ] 2 ;;3.0; Surgery ;**47,68,77,50**;24 Jun 93 3 EN ; entry point 4 S (SRSOUT,SRSP)=0,SRINST=$P($$SITE^SROVAR,"^",2) W @IOF,!,?28,"M&M Verification Report",!!,"The M&M Verification Report is a tool to assist in the review of occurrences" 5 W !,"and their assignments to operations and in the review of death unrelated or",!,"related assignments to operations. Two varieties of this report are available." 6 W !,"The first variety provides a report of all patients who had operations within",!,"the selected date range who experienced introperative occurrences,",!,"postoperative occurrences, or death within 90 days of surgery. The second" 7 W !,"variety provides a similar report for all risk assessed operations that are in",!,"a completed state but have not yet transmitted to the national database.",! 8 D SEL G:SRSOUT END I SRFORM=2 G SPEC 9 D DATE^SROUTL(.SRSD,.SRED,.SRSOUT) G:SRSOUT END 10 SPEC I $D(^XUSEC("SROCHIEF",+DUZ)) N SRINSTP S SRINST=$$INST^SROUTL0() G:SRINST="^" END S SRINSTP=$P(SRINST,U),SRINST=$S(SRINST["ALL DIVISIONS":SRINST,1:$P(SRINST,U,2)) 11 W !! K DIR S DIR("A")="Do you want to print this report for all Surgical Specialties ",DIR("B")="YES",DIR(0)="Y" 12 S DIR("?",1)="Enter RETURN to print this report for all surgical specialties, or 'NO' to",DIR("?")="select a specific specialty." 13 D ^DIR K DIR I $D(DTOUT)!$D(DUOUT) S SRSOUT=1 G END 14 I 'Y D SP I SRSOUT G END 15 DEV K IOP,%ZIS,POP,IO("Q") S %ZIS("A")="Print the Report on which Device: ",%ZIS="QM" W !!,"This report is designed to use a 132 column format.",! D ^%ZIS I POP S SRSOUT=1 G END 16 I $D(IO("Q")) K IO("Q") S ZTDESC="M&M Verification Report",ZTRTN="BEG^SROACMP1",(ZTSAVE("SRFORM"),ZTSAVE("SRINST"),ZTSAVE("SRSP*"),ZTSAVE("SRINSTP"))="" S:SRFORM=1 (ZTSAVE("SRED"),ZTSAVE("SRSD"))="" D ^%ZTLOAD G END 17 BEG U IO S (SRHDR,SRNM,SRSOUT,SRSS)=0,PAGE=1,Y=DT X ^DD("DD") S SRPRINT="Report Generated: "_Y K ^TMP("SR",$J),^TMP("SRPAT",$J) 18 N SRFRTO I SRFORM=1 D 19 .S Y=SRSD X ^DD("DD") S SRFRTO="From: "_Y S Y=SRED X ^DD("DD") S SRFRTO=SRFRTO_" To: "_Y 20 .S SRSDT=SRSD-.0001,SREDT=SRED+.9999 F S SRSDT=$O(^SRF("AC",SRSDT)) Q:SRSDT>SREDT!'SRSDT!SRSOUT S SRTN=0 F S SRTN=$O(^SRF("AC",SRSDT,SRTN)) Q:'SRTN!SRSOUT D CASE 21 I SRFORM=2 F SRASS="C","N" S DFN=0 F S DFN=$O(^SRF("ARS",SRASS,"C",DFN)) Q:'DFN!SRSOUT S SRTN=0 F S SRTN=$O(^SRF("ARS",SRASS,"C",DFN,SRTN)) Q:'SRTN!SRSOUT D CASE 22 G:SRSOUT END G ^SROACMP 23 CASE ; examine case 24 Q:'$D(^SRF(SRTN,0)) 25 I $D(^XUSEC("SROCHIEF",+DUZ)) Q:'$$MANDIV^SROUTL0(SRINSTP,SRTN) 26 I '$D(^XUSEC("SROCHIEF",+DUZ)) Q:'$$DIV^SROUTL0(SRTN) 27 I SRFORM=2,SRSP S Y=$P(^SRF(SRTN,0),"^",4) S:'Y Y="ZZ" I '$D(SRSP(Y)) Q 28 I '$P($G(^SRF(SRTN,.2)),"^",12)!$P($G(^SRF(SRTN,30)),"^")!($P($G(^SRF(SRTN,"NON")),"^")="Y") Q 29 S DFN=$P(^SRF(SRTN,0),"^") I $O(^SRF(SRTN,10,0))!$O(^SRF(SRTN,16,0)) S ^TMP("SR",$J,DFN,SRTN)=$P(^SRF(SRTN,0),"^",4) Q 30 S SRDEATH=$P($G(^DPT(DFN,.35)),"^") I SRDEATH S X1=$P(^SRF(SRTN,0),"^",9),X2=90 D C^%DTC S SRDAY=X I SRDEATH'>SRDAY S ^TMP("SR",$J,DFN,SRTN)=$P(^SRF(SRTN,0),"^",4) 31 Q 32 END Q:'$D(SRSOUT) W @IOF K ^TMP("SRPAT",$J),^TMP("SRSP",$J) I $D(ZTQUEUED) K ^TMP("SR",$J) Q:$G(ZTSTOP) S ZTREQ="@" Q 33 D ^%ZISC,^SRSKILL K SRTN W @IOF 34 Q 35 SEL ; select report version 36 K DIR S DIR("A",1)="Print which variety of the report ?",DIR("A",2)=" ",DIR("A",3)="1. Print full report for selected date range.",DIR("A",4)="2. Print pre-transmission report for completed risk assessments." 37 S DIR("A",5)=" ",DIR("A")="Enter selection (1 or 2): ",DIR("B")=1,DIR("?")="Please enter the number (1 or 2) matching your choice of report",DIR(0)="NA^1:2" D ^DIR K DIR I $D(DTOUT)!$D(DUOUT) S SRSOUT=1 Q 38 S SRFORM=Y 39 Q 40 SP W !! S SRSP=1 K DIC S DIC("S")="I '$P(^(0),""^"",3)",DIC=137.45,DIC(0)="QEAMZ",DIC("A")="Print the report for which Specialty ? " D ^DIC I Y<0 S SRSOUT=1 Q 41 S SRCT=+Y,SRSP(SRCT)=+Y 42 MORE ; ask for more surgical specialties 43 K DIC S DIC("S")="I '$P(^(0),""^"",3)",DIC=137.45,DIC(0)="QEAMZ",DIC("A")="Select an Additional Specialty: " D ^DIC I Y>0 S SRCT=+Y,SRSP(SRCT)=+Y G MORE 44 Q 45 HDR ; print heading 46 I $D(ZTQUEUED) D ^SROSTOP I SRHALT S SRSOUT=1 Q 47 I SRHDR D HDR2 Q:SRSOUT S SRHDR=0 48 W:$Y @IOF W !,?(132-$L(SRINST)\2),SRINST,?124,"Page ",PAGE,!,?54,"M&M Verification Report" 49 W:SRFORM=1 !,?(132-$L(SRFRTO)\2),SRFRTO 50 W:SRFORM=2 !,?41,"Pre-Transmission Report for Completed Assessments" 51 W ?100,"Reviewed By:",!,?(132-$L(SRPRINT)\2),SRPRINT,?100,"Date Reviewed:",! 52 W !,?68,"Death",?120,"Assessment",!,"Op Date",?11,"Specialty",?25,"Procedure(s)",?67,"Related Occurrence(s) - (Date)",?120,"Type/Status",! F LINE=1:1:132 W "=" 53 I SRNM W !,SRNAME_" * * Continued from previous page * *" 54 S PAGE=PAGE+1,SRHDR=1 I '$D(^TMP("SR",$J)) 55 Q 56 HDR2 ; more heading 57 I $Y+5<IOSL F I=$Y:1:IOSL-5 W ! 58 FOOT ; print footer 59 W ! F LINE=1:1:IOM W "-" 60 W !,"Occurrences(s): '*' Denotes Postop Occurrence",?69,"Assessment Status - I:Incomplete, C:Complete, T:Transmitted",! F LINE=1:1:IOM W "-" 61 S SRHDR=0 I $E(IOST)'="P" W ! K DIR S DIR(0)="E" D ^DIR K DIR I 'Y S SRSOUT=1 62 Q -
WorldVistAEHR/trunk/r/SURGERY-SR/SROACOM.m
r613 r623 1 SROACOM ;BIR/MAM - COMPLETE ASSESSMENT ;12/19/07 2 ;;3.0; Surgery ;**38,55,63,65,88,93,95,102,100,125,134,142,160,166**;24 Jun 93;Build 7 3 I '$D(SRTN) Q 4 I $P($G(^SRF(SRTN,"RA")),"^",2)="C" G ^SROACOM1 5 S (SRSFLG,SRSOUT,SROVER)=0,SRA=$G(^SRF(SRTN,"RA")),Y=$P(SRA,"^") I Y'="I" W !!,"This assessment has a "_$S(Y="C":"'COMPLETE'",1:"'TRANSMITTED'")_" status.",!!,"No action taken." G END 6 I $P(SRA,"^",2)="N",$P(SRA,"^",6)="Y" D CHK^SROAUTL 7 I $P(SRA,"^",2)="N",$P(SRA,"^",6)="N" D CHK^SROAUTL3 8 S SRFLD="" I $O(SRX(SRFLD))'="" D LIST 9 YEP I '$P($G(^SRO(136,SRTN,10)),"^")!('$P($G(^SRO(136,SRTN,0)),"^",2))!('$P($G(^SRO(136,SRTN,0)),"^",3)) W !!,?6,"The coding for Procedure and Diagnosis is not complete." 10 W ! S SRFLD="" K DIR S DIR("A")="Are you sure you want to complete this assessment ? ",DIR("B")=$S($O(SRX(SRFLD)):"NO",1:"YES"),DIR(0)="YA" 11 S DIR("?",1)="Enter YES to complete this assessment, or enter NO to leave the status",DIR("?")="unchanged." D ^DIR K DIR I $D(DTOUT)!$D(DUOUT) S SRSOUT=1 G END 12 I 'Y W !!,"No action taken." G END 13 I $$LOCK^SROUTL(SRTN) D COMPLT Q 14 E W !!,"No action taken." G END 15 Q 16 COMPLT W !!,"Updating the current status to 'COMPLETE'..." K DR,DIE S DA=SRTN,DIE=130,DR="235///C" D ^DIE K STATUS 17 I $P(SRA,"^",5)="" K DR,DIE S DA=SRTN,DIE=130,DR="272///"_DT D ^DIE K STATUS 18 I $P(SRA,"^",2)="C" K DA,DIE,DIK,DR S DIK="^SRF(",DIK(1)=".232^AQ",DA=SRTN D EN1^DIK K DA,DIK 19 D UNLOCK^SROUTL(SRTN) 20 PRINT W !!,"Do you want to print the completed assessment ? YES// " R SRYN:DTIME I '$T!(SRYN["^") S SRSOUT=1 Q 21 S SRYN=$E(SRYN) S:SRYN="" SRYN="Y" I "Nn"[SRYN S SRSOUT=1 Q 22 I "Yy"'[SRYN W !!,"Enter <RET> to print the completed assessment, or 'NO' to return to the menu." G PRINT 23 W ! K %ZIS,IO("Q"),POP S %ZIS("A")="Print the Completed Assessment on which Device: ",%ZIS="Q" D ^%ZIS I POP S SRSOUT=1 Q 24 I $D(IO("Q")) K IO("Q") S ZTDESC="Completed Surgery Risk Assessment",(ZTSAVE("SRSITE*"),ZTSAVE("SRTN"))="",ZTRTN="EN^SROACOM" D ^%ZTLOAD S SRSOUT=1 G END 25 D EN,END 26 Q 27 EN U IO S SRABATCH=1 D ^SROAPAS Q 28 END I 'SRSOUT,$E(IOST)'="P" D RET 29 W @IOF I $E(IOST)="P" D ^%ZISC W @IOF 30 D ^SRSKILL K SRMD,SRMD1,SRSFLG 31 Q 32 LIST W @IOF,!,"This assessment is missing the following items:",! S SRZ="",SRCNT=1 33 F S SRZ=$O(SRX(SRZ)) Q:SRZ="" D:$Y+5>IOSL RET Q:SRSOUT W !,?5,$J(SRCNT,2)_". "_$P(SRX(SRZ),"^") S SRCNT=SRCNT+1 34 S SRSOUT=0 W ! K DIR S DIR(0)="Y",DIR("A")="Do you want to enter the missing items at this time",DIR("B")="NO" D ^DIR I $D(DTOUT)!$D(DUOUT) S SRSOUT=1 Q 35 Q:'Y I $$LOCK^SROUTL(SRTN) D PRT,UNLOCK^SROUTL(SRTN) 36 Q 37 PRT S SRSOUT=0,(SRMD,SRMD1)="",SRCNT=0 F S SRMD=$O(SRX(SRMD)) Q:SRMD="" S SRMD1=$P(SRX(SRMD),"^",2) D Q:$G(SRSFLG) 38 .I $E(SRMD,1,10)="ANESTHESIA" D ANES Q 39 .I $E(SRMD,1,6)="POSTOP"!($E(SRMD,1,6)="SEPSIS") D POST^SROCMPS Q 40 .K DR,DIE S DA=SRTN,DIE=130,DR=$S($G(SRMD1):SRMD1,1:SRMD)_"T" D ^DIE K DR I $D(Y) S SRSFLG=1 41 S:'$G(SRSOUT) SRSOUT=0 42 Q 43 ANES K DR,DIE,DA S DA=SRTN,DR=.37,DR(2,130.06)=".01T;.05T;42T",DIE=130 D ^DIE S:$D(Y) SRSFLG=1 K DR 44 Q 45 RET W !! K DIR S DIR(0)="E" D ^DIR K DIR W @IOF I $D(DTOUT)!$D(DUOUT) S SRSOUT=1 46 Q 47 PAGE I $E(IOST)'="P" D RET Q 48 W @IOF,!!! 49 Q 1 SROACOM ;BIR/MAM - COMPLETE ASSESSMENT ;02/08/07 2 ;;3.0; Surgery ;**38,55,63,65,88,93,95,102,100,125,134,142,160**;24 Jun 93;Build 7 3 I '$D(SRTN) Q 4 S (SRSFLG,SRSOUT,SROVER)=0,SRA=$G(^SRF(SRTN,"RA")),Y=$P(SRA,"^") I Y'="I" W !!,"This assessment has a "_$S(Y="C":"'COMPLETE'",1:"'TRANSMITTED'")_" status.",!!,"No action taken." G END 5 I $P(SRA,"^",2)="N",$P(SRA,"^",6)="Y" D CHK^SROAUTL 6 I $P(SRA,"^",2)="N",$P(SRA,"^",6)="N" D CHK^SROAUTL3 7 I $P(SRA,"^",2)="C" D CHK^SROAUTLC 8 S SRFLD="" I $O(SRX(SRFLD))'="" D LIST 9 I $P(SRA,"^",2)="C" D CHCK G:SRSOUT END 10 YEP I '$P($G(^SRO(136,SRTN,10)),"^")!('$P($G(^SRO(136,SRTN,0)),"^",2))!('$P($G(^SRO(136,SRTN,0)),"^",3)) W !!,?6,"The coding for Procedure and Diagnosis is not complete." 11 W ! S SRFLD="" K DIR S DIR("A")="Are you sure you want to complete this assessment ? ",DIR("B")=$S($O(SRX(SRFLD)):"NO",1:"YES"),DIR(0)="YA" 12 S DIR("?",1)="Enter YES to complete this assessment, or enter NO to leave the status",DIR("?")="unchanged." D ^DIR K DIR I $D(DTOUT)!$D(DUOUT) S SRSOUT=1 G END 13 I 'Y W !!,"No action taken." G END 14 I $$LOCK^SROUTL(SRTN) D COMPLT Q 15 E W !!,"No action taken." G END 16 Q 17 COMPLT W !!,"Updating the current status to 'COMPLETE'..." K DR,DIE S DA=SRTN,DIE=130,DR="235///C" D ^DIE K STATUS 18 I $P(SRA,"^",5)="" K DR,DIE S DA=SRTN,DIE=130,DR="272///"_DT D ^DIE K STATUS 19 I $P(SRA,"^",2)="C" K DA,DIE,DIK,DR S DIK="^SRF(",DIK(1)=".232^AQ",DA=SRTN D EN1^DIK K DA,DIK 20 D UNLOCK^SROUTL(SRTN) 21 PRINT W !!,"Do you want to print the completed assessment ? YES// " R SRYN:DTIME I '$T!(SRYN["^") S SRSOUT=1 Q 22 S SRYN=$E(SRYN) S:SRYN="" SRYN="Y" I "Nn"[SRYN S SRSOUT=1 Q 23 I "Yy"'[SRYN W !!,"Enter <RET> to print the completed assessment, or 'NO' to return to the menu." G PRINT 24 W ! K %ZIS,IO("Q"),POP S %ZIS("A")="Print the Completed Assessment on which Device: ",%ZIS="Q" D ^%ZIS I POP S SRSOUT=1 Q 25 I $D(IO("Q")) K IO("Q") S ZTDESC="Completed Surgery Risk Assessment",(ZTSAVE("SRSITE*"),ZTSAVE("SRTN"))="",ZTRTN="EN^SROACOM" D ^%ZTLOAD S SRSOUT=1 G END 26 D EN,END 27 Q 28 EN U IO S SRABATCH=1 D ^SROAPAS Q 29 END I 'SRSOUT,$E(IOST)'="P" D RET 30 W @IOF I $E(IOST)="P" D ^%ZISC W @IOF 31 D ^SRSKILL K SRSFLG 32 Q 33 LIST W @IOF,!,"This assessment is missing the following items:",! S SRZ="",SRCNT=1 34 ;I '$P($G(^SRO(136,SRTN,10)),"^")!('$P($G(^SRO(136,SRTN,0)),"^",2))!('$P($G(^SRO(136,SRTN,0)),"^",3)) W !,?6,"The coding for Procedure and Diagnosis is",!,?6,"not complete.",! 35 F S SRZ=$O(SRX(SRZ)) Q:SRZ="" D:$Y+5>IOSL RET Q:SRSOUT W !,?5,$J(SRCNT,2)_". "_$P(SRX(SRZ),"^") S SRCNT=SRCNT+1 36 S SRSOUT=0 W ! K DIR S DIR(0)="Y",DIR("A")="Do you want to enter the missing items at this time",DIR("B")="NO" D ^DIR I $D(DTOUT)!$D(DUOUT) S SRSOUT=1 Q 37 Q:'Y I $$LOCK^SROUTL(SRTN) D PRT,UNLOCK^SROUTL(SRTN) 38 Q 39 PRT S SRSOUT=0,(SRMD,SRMD1)="",SRCNT=0 F S SRMD=$O(SRX(SRMD)) Q:SRMD="" S SRMD1=$P(SRX(SRMD),"^",2) D Q:$G(SRSFLG) 40 .I $E(SRMD,1,10)="ANESTHESIA" D ANES Q 41 .I $E(SRMD,1,6)="POSTOP"!($E(SRMD,1,6)="SEPSIS") D POST^SROCMPS Q 42 .I SRMD=240 D FUNCT Q 43 .I SRMD=492 D FUNCTI^SROAPRE Q 44 .I SRMD=485 W @IOF,! D PRIOR^SROACL2 K DR,DIE S DA=SRTN,DR="485///"_$S(X="@":"@",1:$P(Y,"^")),DIE=130 D ^DIE K DR S:$D(Y) SRSFLG=1 Q 45 .K DR,DIE S DA=SRTN,DIE=130,DR=$S($G(SRMD1):SRMD1,1:SRMD)_"T" D ^DIE K DR I $D(Y) S SRSFLG=1 46 S:'$G(SRSOUT) SRSOUT=0 47 Q 48 FUNCT I $P($G(^SRF(SRTN,"RA")),"^",2)="C" D FUNCT^SROACLN Q 49 D FUNCTJ^SROAPRE 50 Q 51 ANES K DR,DIE,DA S DA=SRTN,DR=.37,DR(2,130.06)=".01T;.05T;42T",DIE=130 D ^DIE S:$D(Y) SRSFLG=1 K DR 52 Q 53 CHCK ; cardiac checks added by SR*3*93 54 N SRADM,SRDIS,SRISCH,SRCPB,SRRET S SRRET=0,X=$G(^SRF(SRTN,208)),SRADM=$P(X,"^",14),SRDIS=$P(X,"^",15),X=$G(^SRF(SRTN,206)),SRISCH=$P(X,"^",36),SRCPB=$P(X,"^",37) 55 I SRADM,SRDIS,SRADM'<SRDIS W !!," *** NOTE: Discharge Date precedes Admission Date!! Please check. ***" S SRRET=1,SRX(418)="" 56 I SRISCH,SRCPB,SRISCH>SRCPB W !!," *** NOTE: Ischemic Time is greater than CPB Time!! Please check. ***",! S SRRET=1,SRX(450)="" 57 I SRRET W ! K DIR S DIR(0)="E" D ^DIR K DIR S:$D(DTOUT)!$D(DUOUT) SRSOUT=1 W ! 58 Q 59 RET W !! K DIR S DIR(0)="E" D ^DIR K DIR W @IOF I $D(DTOUT)!$D(DUOUT) S SRSOUT=1 60 Q 61 PAGE I $E(IOST)'="P" D RET Q 62 W @IOF,!!! 63 Q -
WorldVistAEHR/trunk/r/SURGERY-SR/SROACOP.m
r613 r623 1 SROACOP ;BIR/MAM - CARDIAC OPERATIVE RISK SUMMARY ;12/20/07 2 ;;3.0; Surgery ;**38,47,71,88,95,107,100,125,142,153,160,166**;24 Jun 93;Build 7 3 I '$D(SRTN) W !!,"A Surgery Risk Assessment must be selected prior to using this option.",!!,"Press <RET> to continue " R X:DTIME G END 4 N SRCSTAT S SRACLR=0,SRSOUT=0,SRSUPCPT=1 D ^SROAUTL 5 START D:SRACLR RET G:SRSOUT END S SRACLR=0 K SRA,SRAO 6 F I=206,206.1,208 S SRA(I)=$G(^SRF(SRTN,I)) 7 I $P(SRA(206),"^",41)="" K DA,DIE,DR S DA=SRTN,DIE=130,DR="472////N" D ^DIE K DA,DIE,DR S SRA(206)=$G(^SRF(SRTN,206)) 8 S Y=$P($G(^SRF(SRTN,1.1)),"^",3),C=$P(^DD(130,1.13,0),"^",2) D:Y'="" Y^DIQ S SRAO(2)=Y_"^1.13" 9 S SRAO(1)=$P(SRA(206),"^",31)_"^364",SRAO(3)=$P(SRA(208),"^",12)_"^414" 10 S (X,Y)=$P(SRA(206),"^",32) D:Y DT S SRAO("1A")=X_"^364.1" 11 S Y=$P(SRAO(3),"^") I Y'="" S C=$P(^DD(130,414,0),"^",2) D Y^DIQ S $P(SRAO(3),"^")=Y 12 S Y=$P(SRA(208),"^",13) D DT S SRAO("3A")=X_"^414.1" 13 S Y=$P($G(^SRF(SRTN,.2)),"^",2) D DT S SRAO(4)=X_"^.22" 14 S Y=$P($G(^SRF(SRTN,.2)),"^",3) D DT S SRAO(5)=X_"^.23" 15 S SRAO(6)=SRA(206.1)_"^430" 16 S SRCSTAT=">> Coding "_$S($P($G(^SRO(136,SRTN,10)),"^"):"",1:"Not ")_"Complete <<" 17 S SRPAGE="PAGE: 1" D HDR^SROAUTL S SRAO(7)="" 18 S (X,X1)=$P(SRAO(1),"^"),X=$S(X?1.3N:X_"%",1:X) W !," 1. Physician's Preoperative Estimate of Operative Mortality: "_X 19 S X=$P(SRAO("1A"),"^") I X1'=""!(X'="") W !,?3," A. Date/Time Collected: "_X 20 W !," 2. ASA Classification:",?31,$P(SRAO(2),"^"),!," 3. Surgical Priority:",?31,$P(SRAO(3),"^") 21 S X=$P(SRAO("3A"),"^") I X'="" W !,?3," A. Date/Time Collected: "_X 22 W !," 4. Date/Time Operation Began:",?31,$P(SRAO(4),"^"),!," 5. Date/Time Operation Ended:",?31,$P(SRAO(5),"^") 23 W !," 6. Preoperative Risk Factors: " 24 I $P(SRAO(6),"^")'="" S SRQ=0 S X=$P(SRAO(6),"^") W:$L(X)<49 X,! I $L(X)>48 S Z=$L(X) D 25 .I X'[" " W ?25,X Q 26 .S I=0,LINE=1 F S SRL=$S(LINE=1:48,1:80) D Q:SRQ 27 ..I $E(X,1,SRL)'[" " W X,! S SRQ=1 Q 28 ..S J=SRL-I,Y=$E(X,J),I=I+1 I Y=" " W $E(X,1,J-1),! S X=$E(X,J+1,Z),Z=$L(X),I=0,LINE=LINE+1 I Z<SRL W X S SRQ=1 Q 29 N SRPROC,SRL S SRL=49 D CPTS^SROAUTL0 W !," 7. CPT Codes (view only):" 30 F I=1:1 Q:'$D(SRPROC(I)) W:I=1 ?31,SRPROC(I) W:I'=1 !,?31,SRPROC(I) 31 W ! D CHCK 32 W !! F MOE=1:1:80 W "-" 33 ASK W !,"Select Operative Risk Summary Information to Edit: " R X:DTIME I '$T!("^"[X) G END 34 S:X="a" X="A" I '$D(SRAO(X)),(X'?.N1":".N),(X'="A") D HELP G:SRSOUT END G START 35 I X="A" S X="1:7" 36 I X?.N1":".N S Y=$E(X),Z=$P(X,":",2) I Y<1!(Z>7)!(Y>Z) D HELP G:SRSOUT END G START 37 I X'=7 D HDR^SROAUTL 38 I X?.N1":".N D RANGE S SROERR=SRTN D ^SROERR0 G START 39 I $D(SRAO(X))!(X=6) S EMILY=X D S SROERR=SRTN D ^SROERR0 G START 40 .I $$LOCK^SROUTL(SRTN) W !! D ONE,UNLOCK^SROUTL(SRTN) 41 END I '$D(SREQST) W @IOF D ^SRSKILL 42 Q 43 DT I 'Y S X="" Q 44 X ^DD("DD") S X=$P(Y,"@")_" "_$P(Y,"@",2) 45 Q 46 HELP W @IOF,!!!!,"Enter the number or range of numbers you want to edit. Examples of proper",!,"responses are listed below." 47 W !!,"1. Enter 'A' to update all information.",!!,"2. Enter the corresponding number to update the information in a particular",!," field. (For example, enter '3' to update Surgical Priority)" 48 W !!,"3. Enter two numbers separated by a ':' to enter a range of information.",!," (For example, enter '1:2' to update Physician's Preoperative Estimate of",!," Mortality and ASA Classification.)" 49 W !!,"Press ENTER to continue, or '^' to quit " R X:DTIME I '$T!(X["^") S SRSOUT=1 50 Q 51 RANGE ; range of numbers 52 I $$LOCK^SROUTL(SRTN) D D UNLOCK^SROUTL(SRTN) 53 .W !! S SHEMP=$P(X,":"),CURLEY=$P(X,":",2) F EMILY=SHEMP:1:CURLEY Q:SRSOUT D ONE 54 Q 55 ONE ; edit one item 56 I EMILY=7 D DISP^SROAUTL0 Q 57 K DR,DIE S DA=SRTN,DIE=130,DR=$P(SRAO(EMILY),"^",2) 58 S DR=DR_"T",DIE=130 S DR=DR_$S(EMILY=3:";414.1T",1:"") D ^DIE K DR I $D(Y) S SRSOUT=1 59 I EMILY=1 D 60 .I $P(^SRF(SRTN,206),"^",31)="NS" S $P(^SRF(SRTN,206),"^",32)="NS" Q 61 .S DR="364.1T",DIE=130 D ^DIE K DR I $D(Y) S SRSOUT=1 62 Q 63 RET Q:SRSOUT W !!,"Press ENTER to continue, or '^' to quit " R X:DTIME I '$T!(X["^") S SRSOUT=1 Q 64 Q 65 NOW ; update date/time of estimate of mortality 66 N X D NOW^%DTC S $P(^SRF(DA,206),"^",32)=$E(%,1,12) 67 Q 68 KNOW ; delete date/time of estimate of mortality 69 S $P(^SRF(DA,206),"^",32)="" 70 Q 71 YN ; store answer 72 S SHEMP=$S(NYUK="NS":"Unknown",NYUK="N":"NO",NYUK="Y":"YES",1:"") 73 Q 74 CHCK ;compare dates 75 N SRINO,SRSP,SREM 76 S SRSP=$P($G(^SRF(SRTN,208)),"^",13),SRINO=$P($G(^SRF(SRTN,.2)),"^",10),SREM=$P($G(^SRF(SRTN,206)),"^",32) 77 I SRSP'="",SRINO'="",SRSP'<SRINO W !!,"*** NOTE: D/Time of Surgical Priority should be < the D/Time Patient in OR.***" 78 I SREM'="",SRINO'="",SREM'<SRINO W !!,"*** NOTE: D/Time of Estimate of Mortality should be < the D/Time PT in OR. ***" 79 Q 1 SROACOP ;BIR/MAM - CARDIAC OPERATIVE RISK SUMMARY ;02/14/07 2 ;;3.0; Surgery ;**38,47,71,88,95,107,100,125,142,153,160**;24 Jun 93;Build 7 3 I '$D(SRTN) W !!,"A Surgery Risk Assessment must be selected prior to using this option.",!!,"Press <RET> to continue " R X:DTIME G END 4 N SRCSTAT S SRACLR=0,SRSOUT=0,SRSUPCPT=1 D ^SROAUTL 5 START D:SRACLR RET G:SRSOUT END S SRACLR=0 K SRA,SRAO 6 F I=206,206.1,208 S SRA(I)=$G(^SRF(SRTN,I)) 7 I $P(SRA(206),"^",41)="" K DA,DIE,DR S DA=SRTN,DIE=130,DR="472////N" D ^DIE K DA,DIE,DR S SRA(206)=$G(^SRF(SRTN,206)) 8 S Y=$P($G(^SRF(SRTN,1.1)),"^",3),C=$P(^DD(130,1.13,0),"^",2) D:Y'="" Y^DIQ S SRAO(2)=Y_"^1.13" 9 S SRAO(1)=$P(SRA(206),"^",31)_"^364",SRAO(3)=$P(SRA(208),"^",12)_"^414" 10 S Y=$P(SRA(206),"^",32) D DT S SRAO("1A")=X_"^364.1" 11 S Y=$P(SRAO(3),"^") I Y'="" S C=$P(^DD(130,414,0),"^",2) D Y^DIQ S $P(SRAO(3),"^")=Y 12 S Y=$P(SRA(208),"^",13) D DT S SRAO("3A")=X_"^414.1" 13 S Y=$P($G(^SRF(SRTN,.2)),"^",2) D DT S SRAO(4)=X_"^.22" 14 S Y=$P($G(^SRF(SRTN,.2)),"^",3) D DT S SRAO(5)=X_"^.23" 15 S SRAO(6)=SRA(206.1)_"^430" 16 S SRCSTAT=">> Coding "_$S($P($G(^SRO(136,SRTN,10)),"^"):"",1:"Not ")_"Complete <<" 17 S SRPAGE="PAGE: 1" D HDR^SROAUTL S SRAO(7)="" 18 S X=$P(SRAO(1),"^"),X=$S(X?1.3N:X_"%",1:X) W !," 1. Physician's Preoperative Estimate of Operative Mortality: "_X 19 S X=$P(SRAO("1A"),"^") I X'="" W !,?3," A. Date/Time Collected: "_X 20 W !," 2. ASA Classification:",?31,$P(SRAO(2),"^"),!," 3. Surgical Priority:",?31,$P(SRAO(3),"^") 21 S X=$P(SRAO("3A"),"^") I X'="" W !,?3," A. Date/Time Collected: "_X 22 W !," 4. Date/Time Operation Began:",?31,$P(SRAO(4),"^"),!," 5. Date/Time Operation Ended:",?31,$P(SRAO(5),"^") 23 W !," 6. Preoperative Risk Factors: " 24 I $P(SRAO(6),"^")'="" S SRQ=0 S X=$P(SRAO(6),"^") W:$L(X)<49 X,! I $L(X)>48 S Z=$L(X) D 25 .I X'[" " W ?25,X Q 26 .S I=0,LINE=1 F S SRL=$S(LINE=1:48,1:80) D Q:SRQ 27 ..I $E(X,1,SRL)'[" " W X,! S SRQ=1 Q 28 ..S J=SRL-I,Y=$E(X,J),I=I+1 I Y=" " W $E(X,1,J-1),! S X=$E(X,J+1,Z),Z=$L(X),I=0,LINE=LINE+1 I Z<SRL W X S SRQ=1 Q 29 N SRPROC,SRL S SRL=49 D CPTS^SROAUTL0 W !," 7. CPT Codes (view only):" 30 F I=1:1 Q:'$D(SRPROC(I)) W:I=1 ?31,SRPROC(I) W:I'=1 !,?31,SRPROC(I) 31 W ! D CHCK 32 W !! F MOE=1:1:80 W "-" 33 ASK W !,"Select Operative Risk Summary Information to Edit: " R X:DTIME I '$T!("^"[X) G END 34 S:X="a" X="A" I '$D(SRAO(X)),(X'?.N1":".N),(X'="A") D HELP G:SRSOUT END G START 35 I X="A" S X="1:7" 36 I X?.N1":".N S Y=$E(X),Z=$P(X,":",2) I Y<1!(Z>7)!(Y>Z) D HELP G:SRSOUT END G START 37 I X'=7 D HDR^SROAUTL 38 I X?.N1":".N D RANGE S SROERR=SRTN D ^SROERR0 G START 39 I $D(SRAO(X))!(X=6) S EMILY=X D S SROERR=SRTN D ^SROERR0 G START 40 .I $$LOCK^SROUTL(SRTN) W !! D ONE,UNLOCK^SROUTL(SRTN) 41 END I '$D(SREQST) W @IOF D ^SRSKILL 42 Q 43 DT I 'Y S X="" Q 44 X ^DD("DD") S X=$P(Y,"@")_" "_$P(Y,"@",2) 45 Q 46 HELP W @IOF,!!!!,"Enter the number or range of numbers you want to edit. Examples of proper",!,"responses are listed below." 47 W !!,"1. Enter 'A' to update all information.",!!,"2. Enter the corresponding number to update the information in a particular",!," field. (For example, enter '3' to update Surgical Priority)" 48 W !!,"3. Enter two numbers separated by a ':' to enter a range of information.",!," (For example, enter '1:2' to update Physician's Preoperative Estimate of",!," Mortality and ASA Classification.)" 49 W !!,"Press ENTER to continue, or '^' to quit " R X:DTIME I '$T!(X["^") S SRSOUT=1 50 Q 51 RANGE ; range of numbers 52 I $$LOCK^SROUTL(SRTN) D D UNLOCK^SROUTL(SRTN) 53 .W !! S SHEMP=$P(X,":"),CURLEY=$P(X,":",2) F EMILY=SHEMP:1:CURLEY Q:SRSOUT D ONE 54 Q 55 ONE ; edit one item 56 I EMILY=7 D DISP^SROAUTL0 Q 57 K DR,DIE S DA=SRTN,DIE=130,DR=$P(SRAO(EMILY),"^",2) 58 S DR=DR_"T",DIE=130 S DR=DR_$S(EMILY=1:";364.1T",EMILY=3:";414.1T",1:"") D ^DIE K DR I $D(Y) S SRSOUT=1 59 Q 60 RET Q:SRSOUT W !!,"Press ENTER to continue, or '^' to quit " R X:DTIME I '$T!(X["^") S SRSOUT=1 Q 61 Q 62 NOW ; update date/time of estimate of mortality 63 N X D NOW^%DTC S $P(^SRF(DA,206),"^",32)=$E(%,1,12) 64 Q 65 KNOW ; delete date/time of estimate of mortality 66 S $P(^SRF(DA,206),"^",32)="" 67 Q 68 YN ; store answer 69 S SHEMP=$S(NYUK="NS":"Unknown",NYUK="N":"NO",NYUK="Y":"YES",1:"") 70 Q 71 CHCK ;compare dates 72 N SRINO,SRSP,SREM 73 S SRSP=$P($G(^SRF(SRTN,208)),"^",13),SRINO=$P($G(^SRF(SRTN,.2)),"^",10),SREM=$P($G(^SRF(SRTN,206)),"^",32) 74 I SRSP'="",SRINO'="",SRSP'<SRINO W !!,"*** NOTE: D/Time of Surgical Priority should be < the D/Time Patient in OR.***" 75 I SREM'="",SRINO'="",SREM'<SRINO W !!,"*** NOTE: D/Time of Estimate of Mortality should be < the D/Time PT in OR. ***" 76 Q -
WorldVistAEHR/trunk/r/SURGERY-SR/SROACPM.m
r613 r623 1 SROACPM ;BIR/ADM - CARDIAC RESOURCE INFO ;12/04/07 2 ;;3.0; Surgery ;**71,93,95,99,100,125,142,160,164,166**;24 Jun 93;Build 7 3 ; 4 ; Reference to ^DGPM("APTT1" supported by DBIA #565 5 ; 6 I '$D(SRTN) W !!,"A Surgery Risk Assessment must be selected prior to using this option.",!!,"Press <RET> to continue " R X:DTIME G END 7 S SRSOUT=0,SRSUPCPT=1 D ^SROAUTL 8 START G:SRSOUT END D HDR^SROAUTL 9 S DIR("A",1)="Enter/Edit Patient Resource Data",DIR("A",2)=" ",DIR("A",3)="1. Capture Information from PIMS Records",DIR("A",4)="2. Enter, Edit, or Review Information",DIR("A",5)=" " 10 S DIR("?",1)="Enter '1' if you want to capture patient information from PIMS",DIR("?",2)="records. Enter '2' if you want to enter, edit, or review patient",DIR("?")="other information on this screen." 11 S DIR("A")="Select Number",DIR(0)="NO^1:2" D ^DIR K DIR I $D(DTOUT)!$D(DUOUT)!'Y S SRSOUT=1 G END 12 I Y=1 D PIMS G START 13 EDIT N DAYS,HOURS,MINS 14 S:$P(^SRF(SRTN,206),"^",41)="" $P(^SRF(SRTN,206),"^",41)="N" 15 S SRR=0 S SRPAGE="PAGE: 1" D HDR^SROAUTL K DR S SRQ=0,(DR,SRDR)="418;419;440;.205;.232;470;471;473;472;431;442;513;515" 16 K DA,DIC,DIQ,SRY S DIC="^SRF(",DA=SRTN,DIQ="SRY",DIQ(0)="IE",DR=SRDR D EN^DIQ1 K DA,DIC,DIQ,DR 17 K SRZ S SRZ=0 F M=1:1 S I=$P(SRDR,";",M) Q:'I D 18 .D TR,GET 19 .S SRZ=SRZ+1,Y=$P(X,";;",2),SRFLD=$P(Y,"^"),(Z,SRZ(SRZ))=$P(Y,"^",2)_"^"_SRFLD,SREXT=SRY(130,SRTN,SRFLD,"E") 20 .W:M>1 ! W $J(SRZ,2)_". "_$P(Z,"^")_": " D EXT 21 D CHCK W ! F K=1:1:80 W "-" 22 D SEL G:SRR=1 EDIT 23 G START 24 Q 25 CHCK ; compare admission and discharge dates to each other 26 N SRADM,SRDIS,SROUT,SRDICU,SREXT 27 S SROUT=SRY(130,SRTN,.232,"I"),SRDICU=SRY(130,SRTN,471,"I"),SREXT=SRY(130,SRTN,470,"I") 28 S SRADM=SRY(130,SRTN,418,"I"),SRDIS=SRY(130,SRTN,419,"I") W ! 29 I SRADM,SRDIS,SRADM'<SRDIS W !,"*** NOTE: Discharge Date precedes Admission Date!! Please check. ***" 30 I SREXT,SROUT,SREXT'>SROUT W !,"*** NOTE: D/Time Pt Extubated should be later than the D/Time Pt Out of OR. ***" 31 I SREXT,SRDICU,SREXT'<SRDICU W !,"*** NOTE: D/Time Pt Extubated should be < the ICU Discharge D/Time. ***" 32 I SRDICU,SREXT,SRDICU'>SREXT W !,"*** NOTE: D/Time Discharged from ICU should be > the Extubation D/Time. ***" 33 I SRDICU,SRDIS,SRDICU>SRDIS W !,"*** NOTE: D/Time Discharged from ICU should be <= the Hospital Discharge D/Time*" 34 Q 35 EXT I SRFLD=440&(SREXT="NS") S SREXT=SREXT_"-"_$S(SREXT="NS":"No Study",1:SREXT) 36 I SRFLD=470,(SREXT="NS"!(SREXT="RI")) S SREXT=SREXT_"-"_$S(SREXT="NS":"Unable to determine",SREXT="RI":"Remains intubated at 30 days",1:SREXT) 37 I SRFLD=470,$G(SRY(130,SRTN,470,"I")) D Q 38 .S X=$$FMDIFF^XLFDT(SRY(130,SRTN,470,"I"),SRY(130,SRTN,.232,"I"),2) W ?39,SREXT,!,?10,"Postop Intubation Hrs: "_$FN((X/3600),"+",1) 39 I SRFLD=471,(SREXT="NS"!(SREXT="RI")) S SREXT=SREXT_"-"_$S(SREXT="NS":"Unable to determine",SREXT="RI":"Remains in ICU at 30 days",1:SREXT) 40 I $L(SREXT)<41 W ?39,SREXT W:SRFLD=247 $S(SREXT="":"",SREXT=1:" Day",SREXT=0:" Days",SREXT>1:" Days",1:"") Q 41 I SRFLD=431 D 42 .I $L(SREXT)<52 W ?28,SREXT Q 43 .N I,J,X,Y S X=SREXT F D W:$L(X) ! I $L(X)<52!($L(X)>51&(X'[" ")) W ?28,X Q 44 ..F I=0:1:50 S J=51-I,Y=$E(X,J) I Y=" " W ?28,$E(X,1,J-1) S X=$E(X,J+1,$L(X)) Q 45 Q 46 SEL S SRSOUT=0 W !!,"Select Resource Information to Edit: " R X:DTIME I '$T!(X["^") S SRSOUT=1 Q 47 Q:X="" S:X="a" X="A" I '$D(SRFLG),'$D(SRZ(X)),(X'?1.2N1":"1.2N),X'="A" D HELP S SRR=1 Q 48 I X?1.2N1":"1.2N S Y=$P(X,":"),Z=$P(X,":",2) I Y<1!(Z>SRZ)!(Y>Z) D HELP S SRR=1 Q 49 I X="A" S X="1:"_SRZ 50 I X?1.2N1":"1.2N D RANGE S SRR=1 Q 51 I $D(SRZ(X)),+X=X S EMILY=X D S SRR=1 52 .I $$LOCK^SROUTL(SRTN) D ONE,UNLOCK^SROUTL(SRTN) 53 Q 54 PIMS ; get update from PIMS records 55 W ! K DIR S DIR("A")="Are you sure you want to retrieve information from PIMS records ? ",DIR("B")="YES",DIR(0)="YOA" D ^DIR K DIR I $D(DTOUT)!$D(DUOUT)!'Y Q 56 W ! D WAIT^DICD D ^SROAPIMS 57 Q 58 HELP W @IOF,!!!!,"Enter the number or range of numbers you want to edit. Examples of proper",!,"responses are listed below." 59 W !!,"1. Enter 'A' to update all items.",!!,"2. Enter a number (1-"_SRZ_") to update an individual item. (For example,",!," enter '1' to update "_$P(SRZ(1),"^")_".)" 60 W !!,"3. Enter a range of numbers (1-"_SRZ_") separated by a ':' to enter a range",!," of items. (For example, enter '1:4' to update items 1, 2, 3 and 4.)",! 61 I $D(SRFLG) W !,"4. Enter 'N' or 'NO' to enter negative response for all items.",!!,"5. Enter '@' to delete information from all items.",! 62 PRESS W ! K DIR S DIR("A")="Press the return key to continue or '^' to exit: ",DIR(0)="FOA" D ^DIR K DIR I $D(DTOUT)!$D(DUOUT) S SRSOUT=1 63 Q 64 RANGE ; range of numbers 65 I $$LOCK^SROUTL(SRTN) D D UNLOCK^SROUTL(SRTN) 66 .S SHEMP=$P(X,":"),CURLEY=$P(X,":",2) F EMILY=SHEMP:1:CURLEY Q:SRSOUT D ONE 67 Q 68 ONE ; edit one item 69 I EMILY=7 D LIST 70 I EMILY'=7 K DR,DA,DIE S DR=$P(SRZ(EMILY),"^",2)_"T",DA=SRTN,DIE=130,SRDT=$P(SRZ(EMILY),"^",3) S:SRDT DR=DR_";"_SRDT_"T" D ^DIE K DR,DA I $D(Y) S SRSOUT=1 71 I 'SRSOUT,EMILY=1!(EMILY=2) D OK 72 I EMILY=12 D CHK 73 Q 74 OK ; compare admission date to discharge date 75 N SRADM,SRDIS S X=$G(^SRF(SRTN,208)),SRADM=$P(X,"^",14),SRDIS=$P(X,"^",15) 76 I SRADM,SRDIS,SRADM'<SRDIS W !!," *** NOTE: Discharge Date precedes Admission Date!! Please check. ***",! D PRESS W ! 77 Q 78 CHK ; compare date OF OPERATION to CT Surgery Consult Date 79 S X1=$P(^SRF(SRTN,0),"^",9),X2=$P($G(^SRF(SRTN,209)),"^",15) D ^%DTC I X'>30 S $P(^SRF(SRTN,209),"^",16)="N" Q 80 S $P(^SRF(SRTN,209),"^",16)="" K DR,DA,DIE S DR=$P(SRZ(13),"^",2)_"T",DA=SRTN,DIE=130,SRDT=$P(SRZ(13),"^",3) S:SRDT DR=DR_";"_SRDT_"T" D ^DIE K DR,DA I $D(Y) S SRSOUT=1 81 Q 82 LIST ; display list of patient movements 83 N CNT,SRADM,SRLOC,SRMOVE,SRMVMT,SRN,SRT,SRTYPE,SRZ,SRY 84 S DFN=$P(^SRF(SRTN,0),"^"),SRZ=$P($G(^SRF(SRTN,.2)),"^",12) 85 S SRADM=0 D ADM 86 S CNT=0 F Q:'SRZ D:SRZ MVMT 87 ;Q:CNT=0 88 W !!,?5,"To identify the date and time the patient was discharged from intensive",!,?5,"care following surgery, see the following list of patient movements" 89 W !,?5,"that occurred during the inpatient stay associated with this surgery.",! 90 S (CNT,SRN)=0 F S CNT=$O(SRMVMT(CNT)) Q:'CNT S X=SRMVMT(CNT),SRT=$P(X,"^",2),SRN=SRN+1 W !,$J(SRN,3)_".",?5,$P($P(X,"^"),":",1,2),?25,$P(X,"^",3),?37,$S(SRT=3:"From",1:"To")_": "_$P(X,"^",4) 91 I '$O(SRMVMT(0)) W !,?5,">> No postoperative patient movements were found for this patient." 92 W ! E K DIR S DIR("A")="Select patient movement from list",DIR(0)="NO^1:"_SRN_":0" D ^DIR K DIR I Y D Q 93 .S SRT=$P($P(SRMVMT(Y),"^"),":",1,2) K DA,DIE,DR S DA=SRTN,DIE=130,DR="471///"_SRT D ^DIE K DA,DIE,DR 94 K DA,DIE,DR S DA=SRTN,DIE=130,DR="471T" D ^DIE K DA,DIE,DR 95 Q 96 MVMT S VAIP("D")=SRZ D IN5^VADPT S SRY=$P(VAIP(3),"^") 97 I SRY S CNT=CNT+1 D 98 .S SRMOVE=$P(VAIP(3),"^",2),SRTYPE=$P(VAIP(2),"^",1,2),SRLOC=$P(VAIP(5),"^",2) 99 .S SRMVMT(CNT)=SRMOVE_"^"_SRTYPE_"^"_SRLOC 100 I 'SRY S SRZ="" Q 101 I VAIP(1)=VAIP(17) S SRZ="" Q 102 I VAIP(16),VAIP(16)=VAIP(17) S CNT=CNT+1,SRMOVE=$P(VAIP(16,1),"^",2),SRTYPE=$P(VAIP(16,2),"^",1,2),SRLOC=$P(VAIP(16,4),"^",2),SRMVMT(CNT)=SRMOVE_"^"_SRTYPE_"^"_SRLOC,SRZ="" Q 103 S SRZ=$P(VAIP(16,1),"^") 104 Q 105 ADM N SR24 S VAIP("D")=SRZ D IN5^VADPT 106 I 'VAIP(13) S X1=SRZ,X2=1 D C^%DTC S SR24=X,SRDT=$O(^DGPM("APTT1",DFN,SRZ)) Q:'SRDT!(SRDT>SR24) S VAIP("D")=SRDT D IN5^VADPT I 'VAIP(13) S SRZ="" Q 107 I VAIP(13) S SRZ=$P(VAIP(13,1),"^")+.000001 108 Q 109 TR S J=I,J=$TR(J,"1234567890.","ABCDEFGHIJP") 110 Q 111 GET S X=$T(@J) 112 Q 113 END W @IOF D ^SRSKILL 114 Q 115 DAH ;;418^Hospital Admission Date 116 DAI ;;419^Hospital Discharge Date 117 DDJ ;;440^Cardiac Catheterization Date 118 PBJE ;;.205^Time Patient In OR 119 PBCB ;;.232^Time Patient Out OR 120 DGJ ;;470^Date/Time Patient Extubated 121 DGA ;;471^Date/Time Discharged from ICU 122 DDB ;;442^Employment Status Preoperatively 123 DCA ;;431^Resource Data Comments 124 DGC ;;473^Homeless 125 DGB ;;472^Surg Performed at Non-VA Facility 126 EAC ;;513^CT Surgery Consult Date 127 EAE ;;515^Cause for Delay for Surgery 1 SROACPM ;BIR/ADM - CARDIAC RESOURCE INFO ;08/23/07 2 ;;3.0; Surgery ;**71,93,95,99,100,125,142,160,164**;24 Jun 93;Build 2 3 ; 4 ; Reference to ^DGPM("APTT1" supported by DBIA #565 5 ; 6 I '$D(SRTN) W !!,"A Surgery Risk Assessment must be selected prior to using this option.",!!,"Press <RET> to continue " R X:DTIME G END 7 S SRSOUT=0,SRSUPCPT=1 D ^SROAUTL 8 START G:SRSOUT END D HDR^SROAUTL 9 S DIR("A",1)="Enter/Edit Patient Resource Data",DIR("A",2)=" ",DIR("A",3)="1. Capture Information from PIMS Records",DIR("A",4)="2. Enter, Edit, or Review Information",DIR("A",5)=" " 10 S DIR("?",1)="Enter '1' if you want to capture patient information from PIMS",DIR("?",2)="records. Enter '2' if you want to enter, edit, or review patient",DIR("?")="other information on this screen." 11 S DIR("A")="Select Number",DIR(0)="NO^1:2" D ^DIR K DIR I $D(DTOUT)!$D(DUOUT)!'Y S SRSOUT=1 G END 12 I Y=1 D PIMS G START 13 EDIT S:$P(^SRF(SRTN,206),"^",41)="" $P(^SRF(SRTN,206),"^",41)="N" 14 S SRR=0 S SRPAGE="PAGE: 1" D HDR^SROAUTL K DR S SRQ=0,(DR,SRDR)="418;419;440;.205;.232;470;471;473;472;431;442;513" 15 K DA,DIC,DIQ,SRY S DIC="^SRF(",DA=SRTN,DIQ="SRY",DIQ(0)="IE",DR=SRDR D EN^DIQ1 K DA,DIC,DIQ,DR 16 K SRZ S SRZ=0 F M=1:1 S I=$P(SRDR,";",M) Q:'I D 17 .D TR,GET 18 .S SRZ=SRZ+1,Y=$P(X,";;",2),SRFLD=$P(Y,"^"),(Z,SRZ(SRZ))=$P(Y,"^",2)_"^"_SRFLD,SREXT=SRY(130,SRTN,SRFLD,"E") 19 .W:M>1 ! W $J(SRZ,2)_". "_$P(Z,"^")_": " D EXT 20 D CHCK W ! F K=1:1:80 W "-" 21 D SEL G:SRR=1 EDIT 22 G START 23 Q 24 CHCK ; compare admission and discharge dates to each other 25 N SRADM,SRDIS,SROUT,SRDICU,SREXT 26 S SROUT=SRY(130,SRTN,.232,"I"),SRDICU=SRY(130,SRTN,471,"I"),SREXT=SRY(130,SRTN,470,"I") 27 S SRADM=SRY(130,SRTN,418,"I"),SRDIS=SRY(130,SRTN,419,"I") W ! 28 I SRADM,SRDIS,SRADM'<SRDIS W !,"*** NOTE: Discharge Date precedes Admission Date!! Please check. ***" 29 I SREXT,SROUT,SREXT'>SROUT W !,"*** NOTE: D/Time Pt Extubated should be later than the D/Time Pt Out of OR. ***" 30 I SREXT,SRDICU,SREXT'<SRDICU W !,"*** NOTE: D/Time Pt Extubated should be < the ICU Discharge D/Time. ***" 31 I SRDICU,SREXT,SRDICU'>SREXT W !,"*** NOTE: D/Time Discharged from ICU should be > the Extubation D/Time. ***" 32 I SRDICU,SRDIS,SRDICU>SRDIS W !,"*** NOTE: D/Time Discharged from ICU should be <= the Hospital Discharge D/Time*" 33 Q 34 EXT I SRFLD=440&(SREXT="NS") S SREXT=SREXT_"-"_$S(SREXT="NS":"No Study",1:SREXT) 35 I SRFLD=470,(SREXT="NS"!(SREXT="RI")) S SREXT=SREXT_"-"_$S(SREXT="NS":"Unable to determine",SREXT="RI":"Remains intubated at 30 days",1:SREXT) 36 I SRFLD=471,(SREXT="NS"!(SREXT="RI")) S SREXT=SREXT_"-"_$S(SREXT="NS":"Unable to determine",SREXT="RI":"Remains in ICU at 30 days",1:SREXT) 37 I $L(SREXT)<41 W ?39,SREXT W:SRFLD=247 $S(SREXT="":"",SREXT=1:" Day",SREXT=0:" Days",SREXT>1:" Days",1:"") Q 38 I SRFLD=431 D 39 .I $L(SREXT)<52 W ?28,SREXT Q 40 .N I,J,X,Y S X=SREXT F D W:$L(X) ! I $L(X)<52!($L(X)>51&(X'[" ")) W ?28,X Q 41 ..F I=0:1:50 S J=51-I,Y=$E(X,J) I Y=" " W ?28,$E(X,1,J-1) S X=$E(X,J+1,$L(X)) Q 42 Q 43 SEL S SRSOUT=0 W !!,"Select number of item to edit: " R X:DTIME I '$T!(X["^") S SRSOUT=1 Q 44 Q:X="" S:X="a" X="A" I '$D(SRFLG),'$D(SRZ(X)),(X'?1.2N1":"1.2N),X'="A" D HELP S SRR=1 Q 45 I X?1.2N1":"1.2N S Y=$P(X,":"),Z=$P(X,":",2) I Y<1!(Z>SRZ)!(Y>Z) D HELP S SRR=1 Q 46 I X="A" S X="1:"_SRZ 47 I X?1.2N1":"1.2N D RANGE S SRR=1 Q 48 I $D(SRZ(X)),+X=X S EMILY=X D S SRR=1 49 .I $$LOCK^SROUTL(SRTN) D ONE,UNLOCK^SROUTL(SRTN) 50 Q 51 PIMS ; get update from PIMS records 52 W ! K DIR S DIR("A")="Are you sure you want to retrieve information from PIMS records ? ",DIR("B")="YES",DIR(0)="YOA" D ^DIR K DIR I $D(DTOUT)!$D(DUOUT)!'Y Q 53 W ! D WAIT^DICD D ^SROAPIMS 54 Q 55 HELP W @IOF,!!!!,"Enter the number or range of numbers you want to edit. Examples of proper",!,"responses are listed below." 56 W !!,"1. Enter 'A' to update all items.",!!,"2. Enter a number (1-"_SRZ_") to update an individual item. (For example,",!," enter '1' to update "_$P(SRZ(1),"^")_".)" 57 W !!,"3. Enter a range of numbers (1-"_SRZ_") separated by a ':' to enter a range",!," of items. (For example, enter '1:4' to update items 1, 2, 3 and 4.)",! 58 I $D(SRFLG) W !,"4. Enter 'N' or 'NO' to enter negative response for all items.",!!,"5. Enter '@' to delete information from all items.",! 59 PRESS W ! K DIR S DIR("A")="Press the return key to continue or '^' to exit: ",DIR(0)="FOA" D ^DIR K DIR I $D(DTOUT)!$D(DUOUT) S SRSOUT=1 60 Q 61 RANGE ; range of numbers 62 I $$LOCK^SROUTL(SRTN) D D UNLOCK^SROUTL(SRTN) 63 .S SHEMP=$P(X,":"),CURLEY=$P(X,":",2) F EMILY=SHEMP:1:CURLEY Q:SRSOUT D ONE 64 Q 65 ONE ; edit one item 66 I EMILY=7 D LIST 67 K DR,DA,DIE S DR=$P(SRZ(EMILY),"^",2)_"T",DA=SRTN,DIE=130,SRDT=$P(SRZ(EMILY),"^",3) S:SRDT DR=DR_";"_SRDT_"T" D ^DIE K DR,DA I $D(Y) S SRSOUT=1 68 I 'SRSOUT,EMILY=1!(EMILY=2) D OK 69 Q 70 OK ; compare admission date to discharge date 71 N SRADM,SRDIS S X=$G(^SRF(SRTN,208)),SRADM=$P(X,"^",14),SRDIS=$P(X,"^",15) 72 I SRADM,SRDIS,SRADM'<SRDIS W !!," *** NOTE: Discharge Date precedes Admission Date!! Please check. ***",! D PRESS W ! 73 Q 74 LIST ; display list of patient movements 75 N CNT,SRADM,SRLOC,SRMOVE,SRMVMT,SRT,SRTYPE,SRZ,SRY 76 S DFN=$P(^SRF(SRTN,0),"^"),SRZ=$P($G(^SRF(SRTN,.2)),"^",12) 77 S SRADM=0 D ADM Q:'SRZ 78 S CNT=0 F Q:'SRZ D MVMT 79 Q:CNT=0 80 W !!,?5,"To identify the date and time the patient was discharged from intensive",!,?5,"care following surgery, see the following list of patient movements" 81 W !,?5,"that occurred during the inpatient stay associated with this surgery.",! 82 S CNT=0 F S CNT=$O(SRMVMT(CNT)) Q:'CNT S X=SRMVMT(CNT),SRT=$P(X,"^",2) W !,?5,$P($P(X,"^"),":",1,2),?25,$P(X,"^",3),?37,$S(SRT=3:"From",1:"To")_": "_$P(X,"^",4) 83 W ! 84 Q 85 MVMT S VAIP("D")=SRZ D IN5^VADPT S SRY=$P(VAIP(3),"^") 86 I SRY S CNT=CNT+1 D 87 .S SRMOVE=$P(VAIP(3),"^",2),SRTYPE=$P(VAIP(2),"^",1,2),SRLOC=$P(VAIP(5),"^",2) 88 .S SRMVMT(CNT)=SRMOVE_"^"_SRTYPE_"^"_SRLOC 89 I 'SRY S SRZ="" Q 90 I VAIP(1)=VAIP(17) S SRZ="" Q 91 I VAIP(16),VAIP(16)=VAIP(17) S CNT=CNT+1,SRMOVE=$P(VAIP(16,1),"^",2),SRTYPE=$P(VAIP(16,2),"^",1,2),SRLOC=$P(VAIP(16,4),"^",2),SRMVMT(CNT)=SRMOVE_"^"_SRTYPE_"^"_SRLOC,SRZ="" Q 92 S SRZ=$P(VAIP(16,1),"^") 93 Q 94 ADM N SR24 S VAIP("D")=SRZ D IN5^VADPT 95 I 'VAIP(13) S X1=SRZ,X2=1 D C^%DTC S SR24=X,SRDT=$O(^DGPM("APTT1",DFN,SRZ)) Q:'SRDT!(SRDT>SR24) S VAIP("D")=SRDT D IN5^VADPT I 'VAIP(13) S SRZ="" Q 96 I VAIP(13) S SRZ=$P(VAIP(13,1),"^")+.000001 97 Q 98 TR S J=I,J=$TR(J,"1234567890.","ABCDEFGHIJP") 99 Q 100 GET S X=$T(@J) 101 Q 102 END W @IOF D ^SRSKILL 103 Q 104 DAH ;;418^Hospital Admission Date 105 DAI ;;419^Hospital Discharge Date 106 DDJ ;;440^Cardiac Catheterization Date 107 PBJE ;;.205^Time Patient In OR 108 PBCB ;;.232^Time Patient Out OR 109 DGJ ;;470^Date/Time Patient Extubated 110 DGA ;;471^Date/Time Discharged from ICU 111 DDB ;;442^Employment Status Preoperatively 112 DCA ;;431^Resource Data Comments 113 DGC ;;473^Homeless 114 DGB ;;472^Surg Performed at Non-VA Facility 115 EAC ;;513^CT Surgery Consult Date -
WorldVistAEHR/trunk/r/SURGERY-SR/SROACPM1.m
r613 r623 1 SROACPM1 ;BIR/SJA - LAB INFO ;01/14/08 2 ;;3.0; Surgery ;**125,153,166**;24 Jun 93;Build 7 3 I '$D(SRTN) W !!,"A Surgery Risk Assessment must be selected prior to using this option.",!!,"Press <RET> to continue " R X:DTIME G END 4 S SRSOUT=0 D ^SROAUTL 5 START G:SRSOUT END K SRA,SRAO D ^SROACPM2,DISP 6 ASK W !!,"Select Laboratory Information to Edit: " R X:DTIME I '$T!(X["^") S SRSOUT=1 D CONCC G END 7 I X="" D CONCC G END 8 S:X="a" X="A" I '$D(SRAO(X)),(X'?.N1":".N),(X'="A") D HELP G:SRSOUT END G START 9 I X="A" S X="1:10" 10 I X?.N1":".N S Y=$E(X),Z=$P(X,":",2) I Y<1!(Z>10)!(Y>Z) D HELP G:SRSOUT END G START 11 S SRPAGE="" D HDR^SROAUTL 12 I X?.N1":".N D RANGE G START 13 I $D(SRAO(X)) S EMILY=X D ONE G START 14 END W @IOF 15 Q 16 HELP W @IOF,!!!!,"Enter the number or range of numbers you want to edit. Examples of proper",!,"responses are listed below." 17 W !!,"1. Enter 'A' to update all information.",!!,"2. Enter a number (1-10) to update the information in that field. (For",!," example, enter '7' to update Serum Creatinine)" 18 W !!,"3. Enter a range of numbers (1-10) separated by a ':' to enter a range of",!," information. (For example, enter '5:7' to update Serum Potassium,",!," Serum Bilirubin, and Serum Creatinine)" 19 W !!,"Press <RET> to continue, or '^' to quit " R X:DTIME I '$T!(X["^") S SRSOUT=1 20 Q 21 RANGE ; range of numbers 22 S SRNOMORE=0,SHEMP=$P(X,":"),CURLEY=$P(X,":",2) F EMILY=SHEMP:1:CURLEY Q:SRNOMORE D ONE 23 Q 24 ONE ; edit one item 25 K DR,DIE S DA=SRTN,DR=$P(SRAO(EMILY),"^",3)_"T;"_$P(SRAO(EMILY),"^",4)_"T",DIE=130 D ^DIE S:$D(Y) SRNOMORE=1 K DR 26 Q 27 RET Q:SRSOUT W !!,"Press <RET> to continue, or '^' to quit " R X:DTIME I '$T!(X["^") S SRSOUT=1 Q 28 Q 29 DISP N SRX S SRPAGE="PAGE: 1",SRHDR(.5)="PREOPERATIVE LABORATORY RESULTS" D HDR^SROAUTL 30 S SRX=$P(SRAO(1),"^") W !," 1. HDL:",?25,$J(SRX,6),?35,$$NORCHK(21,SRX),?38,$P(SRAO(1),"^",2) 31 S SRX=$P(SRAO(2),"^") W !," 2. LDL:",?25,$J(SRX,6),?35,$$NORCHK(23,SRX),?38,$P(SRAO(2),"^",2) 32 S SRX=$P(SRAO(3),"^") W !," 3. Total Cholesterol:",?25,$J(SRX,6),?35,$$NORCHK(24,SRX),?38,$P(SRAO(3),"^",2) 33 S SRX=$P(SRAO(4),"^") W !," 4. Serum Triglyceride:",?25,$J(SRX,6),?35,$$NORCHK(22,SRX),?38,$P(SRAO(4),"^",2) 34 S SRX=$P(SRAO(5),"^") W !," 5. Serum Potassium:",?25,$J(SRX,6),?35,$$NORCHK(5,SRX),?38,$P(SRAO(5),"^",2) 35 S SRX=$P(SRAO(6),"^") W !," 6. Serum Bilirubin:",?25,$J(SRX,6),?35,$$NORCHK(14,SRX),?38,$P(SRAO(6),"^",2) 36 S SRX=$P(SRAO(7),"^") W !," 7. Serum Creatinine:",?25,$J(SRX,6),?35,$$NORCHK(7,SRX),?38,$P(SRAO(7),"^",2) 37 S SRX=$P(SRAO(8),"^") W !," 8. Serum Albumin:",?25,$J(SRX,6),?35,$$NORCHK(11,SRX),?38,$P(SRAO(8),"^",2) 38 S SRX=$P(SRAO(9),"^") W !," 9. Hemoglobin:",?25,$J(SRX,6),?35,$$NORCHK(1,SRX),?38,$P(SRAO(9),"^",2) 39 S SRX=$P(SRAO(10),"^") W !,"10. Hemoglobin A1c:",?25,$J(SRX,6),?35,$$NORCHK(27,SRX),?38,$P(SRAO(10),"^",2) 40 W !! F MOE=1:1:80 W "-" 41 Q 42 CONCC ; check for concurrent case and update if one exists 43 S SRCON=$P($G(^SRF(SRTN,"CON")),"^") Q:'SRCON 44 S SRI="" F S SRI=$O(SRAO(SRI)) Q:SRI="" S S1=$P(SRAO(SRI),"^",3),S2=$P(SRAO(SRI),"^",4) K DA,DIC,DIQ,DR,SRY D 45 .S DA=SRTN,DR=S1_";"_S2,DIC="^SRF(",DIQ="SRY",DIQ(0)="I" D EN^DIQ1 S P1=SRY(130,SRTN,S1,"I") S:P1="" P1="@" S P2=SRY(130,SRTN,S2,"I") S:P2="" P2="@" 46 .K DA,DIE,DR S DA=SRCON,DIE=130,DR=S1_"////"_P1_";"_S2_"////"_P2 D ^DIE K DR 47 Q 48 NORCHK(SRAT,RESULT) ; 49 I RESULT']""!(RESULT="NS") Q "" 50 N NODE,LOW,HIGH,SRY 51 S SRY="" S:"<>"[$E(RESULT) SRY=$E(RESULT),RESULT=$E(RESULT,2,99) 52 S NODE=$G(^SRO(139.2,SRAT,2)),LOW=$P(NODE,"^",2),HIGH=$P(NODE,"^",3) Q:LOW']""!(HIGH']"") 53 I SRY'="" Q $S(RESULT<(LOW+.01):"L",((RESULT>(HIGH-.01))&(SRY=">")):"H",1:"") 54 Q $S(RESULT<LOW:"L",RESULT>HIGH:"H",1:"") 1 SROACPM1 ;BIR/SJA - LAB INFO ;05/04/06 2 ;;3.0; Surgery ;**125,153**;24 Jun 93;Build 11 3 I '$D(SRTN) W !!,"A Surgery Risk Assessment must be selected prior to using this option.",!!,"Press <RET> to continue " R X:DTIME G END 4 S SRSOUT=0 D ^SROAUTL 5 START G:SRSOUT END K SRA,SRAO D ^SROACPM2,DISP 6 ASK W !!,"Select Laboratory Information to Edit: " R X:DTIME I '$T!(X["^") S SRSOUT=1 D CONCC G END 7 I X="" D CONCC G END 8 S:X="a" X="A" I '$D(SRAO(X)),(X'?.N1":".N),(X'="A") D HELP G:SRSOUT END G START 9 I X="A" S X="1:10" 10 I X?.N1":".N S Y=$E(X),Z=$P(X,":",2) I Y<1!(Z>10)!(Y>Z) D HELP G:SRSOUT END G START 11 S SRPAGE="" D HDR^SROAUTL 12 I X?.N1":".N D RANGE G START 13 I $D(SRAO(X)) S EMILY=X D ONE G START 14 END W @IOF 15 Q 16 HELP W @IOF,!!!!,"Enter the number or range of numbers you want to edit. Examples of proper",!,"responses are listed below." 17 W !!,"1. Enter 'A' to update all information.",!!,"2. Enter a number (1-10) to update the information in that field. (For",!," example, enter '7' to update Serum Creatinine)" 18 W !!,"3. Enter a range of numbers (1-10) separated by a ':' to enter a range of",!," information. (For example, enter '5:7' to update Serum Potassium,",!," Serum Bilirubin, and Serum Creatinine)" 19 W !!,"Press <RET> to continue, or '^' to quit " R X:DTIME I '$T!(X["^") S SRSOUT=1 20 Q 21 RANGE ; range of numbers 22 S SRNOMORE=0,SHEMP=$P(X,":"),CURLEY=$P(X,":",2) F EMILY=SHEMP:1:CURLEY Q:SRNOMORE D ONE 23 Q 24 ONE ; edit one item 25 K DR,DIE S DA=SRTN,DR=$P(SRAO(EMILY),"^",3)_"T;"_$P(SRAO(EMILY),"^",4)_"T",DIE=130 D ^DIE S:$D(Y) SRNOMORE=1 K DR 26 Q 27 RET Q:SRSOUT W !!,"Press <RET> to continue, or '^' to quit " R X:DTIME I '$T!(X["^") S SRSOUT=1 Q 28 Q 29 DISP S SRPAGE="PAGE: 1",SRHDR(.5)="PREOPERATIVE LABORATORY RESULTS" D HDR^SROAUTL 30 W !," 1. HDL:",?25,$J($P(SRAO(1),"^"),6),?35,$P(SRAO(1),"^",2) 31 W !," 2. LDL:",?25,$J($P(SRAO(2),"^"),6),?35,$P(SRAO(2),"^",2) 32 W !," 3. Total Cholesterol:",?25,$J($P(SRAO(3),"^"),6),?35,$P(SRAO(3),"^",2) 33 W !," 4. Serum Triglyceride:",?25,$J($P(SRAO(4),"^"),6),?35,$P(SRAO(4),"^",2) 34 W !," 5. Serum Potassium:",?25,$J($P(SRAO(5),"^"),6),?35,$P(SRAO(5),"^",2) 35 W !," 6. Serum Bilirubin:",?25,$J($P(SRAO(6),"^"),6),?35,$P(SRAO(6),"^",2) 36 W !," 7. Serum Creatinine:",?25,$J($P(SRAO(7),"^"),6),?35,$P(SRAO(7),"^",2) 37 W !," 8. Serum Albumin:",?25,$J($P(SRAO(8),"^"),6),?35,$P(SRAO(8),"^",2) 38 W !," 9. Hemoglobin:",?25,$J($P(SRAO(9),"^"),6),?35,$P(SRAO(9),"^",2) 39 W !,"10. Hemoglobin A1c:",?25,$J($P(SRAO(10),"^"),6),?35,$P(SRAO(10),"^",2) 40 W !! F MOE=1:1:80 W "-" 41 Q 42 CONCC ; check for concurrent case and update if one exists 43 S SRCON=$P($G(^SRF(SRTN,"CON")),"^") Q:'SRCON 44 S SRI="" F S SRI=$O(SRAO(SRI)) Q:SRI="" S S1=$P(SRAO(SRI),"^",3),S2=$P(SRAO(SRI),"^",4) K DA,DIC,DIQ,DR,SRY D 45 .S DA=SRTN,DR=S1_";"_S2,DIC="^SRF(",DIQ="SRY",DIQ(0)="I" D EN^DIQ1 S P1=SRY(130,SRTN,S1,"I") S:P1="" P1="@" S P2=SRY(130,SRTN,S2,"I") S:P2="" P2="@" 46 .K DA,DIE,DR S DA=SRCON,DIE=130,DR=S1_"////"_P1_";"_S2_"////"_P2 D ^DIE K DR 47 Q -
WorldVistAEHR/trunk/r/SURGERY-SR/SROACR2.m
r613 r623 1 SROACR2 ;BIR/SJA - OPERATIVE DATA, PAGE 2 ;12/03/072 ;;3.0; Surgery ;**125,153,160,166**;24 Jun 93;Build 73 ;4 I '$D(SRTN) W !!,"A Surgery Risk Assessment must be selected prior to using this option.",!!,"Press <RET> to continue " R X:DTIME G END5 S SRSOUT=0 D ^SROAUTL6 START G:SRSOUT END7 ;8 EDIT S SRR=0 S SRPAGE="PAGE: 2 OF 2" D HDR^SROAUTL W "Indicate other cardiac procedures only if done with cardiopulmonary bypass",! F K=1:1:80 W "-"9 ;10 K DR S SRQ=0,(DR,SRDR)="381;382;451;450;468;469"11 K DA,DIC,DIQ,SRY S DIC="^SRF(",DA=SRTN,DIQ="SRY",DIQ(0)="IE",DR=SRDR D EN^DIQ1 K DA,DIC,DIQ,DR12 K SRX S SRX=0 F M=1:1 S I=$P(SRDR,";",M) Q:'I D13 .K SREXT D TR,GET14 .S SRX=SRX+1,Y=$P(X,";;",2),SRFLD=$P(Y,"^"),(Z,SRX(SRX))=$P(Y,"^",2)_"^"_SRFLD,SREXT=SRY(130,SRTN,SRFLD,"E")15 .I SRFLD=451 W !,"Other Operative Data details:",!,"------------------------------"16 .W !,$J(SRX,2)_". "_$P(Z,"^")_":" D EXT17 .W:SRFLD=382 !18 D CHCK W ! F K=1:1:80 W "-"19 D SEL G:SRR=1 EDIT20 S SRSOUT=1 G END21 Q22 SEL S SRSOUT=0 W !!,"Select Cardiac ProceduresOperative Information to Edit: " R X:DTIME I '$T!(X["^") S SRSOUT=1 Q23 Q:X="" S:X="a" X="A" I '$D(SRFLG),'$D(SRX(X)),(X'?1.2N1":"1.2N),X'="A" D HELP S SRR=1 Q24 I X?1.2N1":"1.2N S Y=$P(X,":"),Z=$P(X,":",2) I Y<1!(Z>SRX)!(Y>Z) D HELP S SRR=1 Q25 I X="A" S X="1:"_SRX26 I X?1.2N1":"1.2N D RANGE S SRR=1 K SREXT Q27 I $D(SRX(X)),+X=X S EMILY=X D S SRR=128 .I $$LOCK^SROUTL(SRTN) W ! D ONE,UNLOCK^SROUTL(SRTN)29 Q30 EXT W ?30,SREXT31 Q32 HELP W @IOF,!!!!,"Enter the number or range of numbers you want to edit. Examples of proper",!,"responses are listed below."33 W !!,"1. Enter 'A' to update all information.",!!,"2. Enter a number (1-6) to update the information in that field. (For",!," example, enter '5' to update Incision Type.)"34 W !!,"3. Enter a range of numbers (1-6) separated by a ':' to enter a range of",!," information. (For example, enter '3:5' to enter Total CPB time,",!," Total Ischemic time, and Incision Type.)"35 D RET36 Q37 CHCK ; compare ischemic time to CPB time38 I '$D(IORVON) S X="IORVON;IORVOFF" D ENDR^%ZISS39 N SRISCH,SRCPB S SRISCH=SRY(130,SRTN,450,"E"),SRCPB=SRY(130,SRTN,451,"E")40 I SRISCH,SRCPB,SRISCH>SRCPB W !,IORVON_"*** NOTE: Ischemic Time is greater than CPB Time!! Please check. ***"_IORVOFF41 Q42 RET Q:SRSOUT W ! K DIR S DIR(0)="E" D ^DIR K DIR I $D(DTOUT)!$D(DUOUT) S SRSOUT=143 Q44 RANGE ; range of numbers45 I $$LOCK^SROUTL(SRTN) D D UNLOCK^SROUTL(SRTN)46 .W ! S SHEMP=$P(X,":"),CURLEY=$P(X,":",2) F EMILY=SHEMP:1:CURLEY Q:SRSOUT D ONE47 Q48 ONE ; edit one item49 K DR,DA,DIE S DR=$P(SRX(EMILY),"^",2)_"T",DA=SRTN,DIE=130,SRDT=$P(SRX(EMILY),"^",3) S:SRDT DR=DR_";"_SRDT_"T" D ^DIE K DR,DA I $D(Y) S SRSOUT=150 I EMILY=3,$P($G(^SRF(SRTN,206)),"^",37)>0,($P($G(^SRF(SRTN,207)),"^",27)=1) S $P(^SRF(SRTN,207),"^",27)=551 Q52 TR S J=I,J=$TR(J,"1234567890.","ABCDEFGHIJP")53 Q54 GET S X=$T(@J)55 Q56 END W @IOF D ^SRSKILL57 Q58 CHA ;;381^Foreign Body Removal59 CHB ;;382^Pericardiectomy60 DEA ;;451^Total CPB Time61 DEJ ;;450^Total Ischemic Time62 DFH ;;468^Incision Type63 DFI ;;469^Convert Off Pump to CPB1 SROACR2 ;BIR/SJA - OPERATIVE DATA, PAGE 2 ;04/12/06 2 ;;3.0; Surgery ;**125,153,160**;24 Jun 93;Build 7 3 ; 4 I '$D(SRTN) W !!,"A Surgery Risk Assessment must be selected prior to using this option.",!!,"Press <RET> to continue " R X:DTIME G END 5 S SRSOUT=0 D ^SROAUTL 6 START G:SRSOUT END 7 ; 8 EDIT S SRR=0 S SRPAGE="PAGE: 2 OF 2" D HDR^SROAUTL W "Indicate other cardiac procedures only if done with cardiopulmonary bypass",! F K=1:1:80 W "-" 9 ; 10 K DR S SRQ=0,(DR,SRDR)="381;382;451;450;468;469" 11 K DA,DIC,DIQ,SRY S DIC="^SRF(",DA=SRTN,DIQ="SRY",DIQ(0)="IE",DR=SRDR D EN^DIQ1 K DA,DIC,DIQ,DR 12 K SRX S SRX=0 F M=1:1 S I=$P(SRDR,";",M) Q:'I D 13 .K SREXT D TR,GET 14 .S SRX=SRX+1,Y=$P(X,";;",2),SRFLD=$P(Y,"^"),(Z,SRX(SRX))=$P(Y,"^",2)_"^"_SRFLD,SREXT=SRY(130,SRTN,SRFLD,"E") 15 .I SRFLD=451 W !,"Other Operative Data details:",!,"------------------------------" 16 .W !,$J(SRX,2)_". "_$P(Z,"^")_":" D EXT 17 .W:SRFLD=382 ! 18 D CHCK W ! F K=1:1:80 W "-" 19 D SEL G:SRR=1 EDIT 20 S SRSOUT=1 G END 21 Q 22 SEL S SRSOUT=0 W !!,"Select Operative Information to Edit: " R X:DTIME I '$T!(X["^") S SRSOUT=1 Q 23 Q:X="" S:X="a" X="A" I '$D(SRFLG),'$D(SRX(X)),(X'?1.2N1":"1.2N),X'="A" D HELP S SRR=1 Q 24 I X?1.2N1":"1.2N S Y=$P(X,":"),Z=$P(X,":",2) I Y<1!(Z>SRX)!(Y>Z) D HELP S SRR=1 Q 25 I X="A" S X="1:"_SRX 26 I X?1.2N1":"1.2N D RANGE S SRR=1 K SREXT Q 27 I $D(SRX(X)),+X=X S EMILY=X D S SRR=1 28 .I $$LOCK^SROUTL(SRTN) W ! D ONE,UNLOCK^SROUTL(SRTN) 29 Q 30 EXT W ?30,SREXT 31 Q 32 HELP W @IOF,!!!!,"Enter the number or range of numbers you want to edit. Examples of proper",!,"responses are listed below." 33 W !!,"1. Enter 'A' to update all information.",!!,"2. Enter a number (1-6) to update the information in that field. (For",!," example, enter '5' to update Incision Type.)" 34 W !!,"3. Enter a range of numbers (1-6) separated by a ':' to enter a range of",!," information. (For example, enter '3:5' to enter Total CPB time,",!," Total Ischemic time, and Incision Type.)" 35 D RET 36 Q 37 CHCK ; compare ischemic time to CPB time 38 I '$D(IORVON) S X="IORVON;IORVOFF" D ENDR^%ZISS 39 N SRISCH,SRCPB S SRISCH=SRY(130,SRTN,450,"E"),SRCPB=SRY(130,SRTN,451,"E") 40 I SRISCH,SRCPB,SRISCH>SRCPB W !,IORVON_"*** NOTE: Ischemic Time is greater than CPB Time!! Please check. ***"_IORVOFF 41 Q 42 RET Q:SRSOUT W ! K DIR S DIR(0)="E" D ^DIR K DIR I $D(DTOUT)!$D(DUOUT) S SRSOUT=1 43 Q 44 RANGE ; range of numbers 45 I $$LOCK^SROUTL(SRTN) D D UNLOCK^SROUTL(SRTN) 46 .W ! S SHEMP=$P(X,":"),CURLEY=$P(X,":",2) F EMILY=SHEMP:1:CURLEY Q:SRSOUT D ONE 47 Q 48 ONE ; edit one item 49 K DR,DA,DIE S DR=$P(SRX(EMILY),"^",2)_"T",DA=SRTN,DIE=130,SRDT=$P(SRX(EMILY),"^",3) S:SRDT DR=DR_";"_SRDT_"T" D ^DIE K DR,DA I $D(Y) S SRSOUT=1 50 I EMILY=3,$P($G(^SRF(SRTN,206)),"^",37)>0,($P($G(^SRF(SRTN,207)),"^",27)=1) S $P(^SRF(SRTN,207),"^",27)=5 51 Q 52 TR S J=I,J=$TR(J,"1234567890.","ABCDEFGHIJP") 53 Q 54 GET S X=$T(@J) 55 Q 56 END W @IOF D ^SRSKILL 57 Q 58 CHA ;;381^Foreign Body Removal 59 CHB ;;382^Pericardiectomy 60 DEA ;;451^Total CPB Time 61 DEJ ;;450^Total Ischemic Time 62 DFH ;;468^Incision Type 63 DFI ;;469^Convert Off Pump to CPB -
WorldVistAEHR/trunk/r/SURGERY-SR/SROALEC.m
r613 r623 1 SROALEC ;BIR/ADM - LIST OF ELIGIBLE CASES ;02/04/08 2 ;;3.0; Surgery ;**160,166**;24 Jun 93;Build 7 3 S (GRAND,SRNEW,SRSOUT,TOT)=0,(SRHDR,SRPAGE)=1,SRTITLE="CASES ELIGIBLE FOR ASSESSMENT" K ^TMP("SRA",$J) 4 I SRFLG,SRASP S SRSPEC=$P(^SRO(137.45,SRASP,0),"^") 5 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!SRSOUT I $D(^SRF(SRTN,0)),$$MANDIV^SROUTL0(SRINSTP,SRTN) D UTL 6 I SRSP S SRSS="" F S SRSS=$O(^TMP("SRA",$J,SRSS)) Q:SRSS="" D SRSD Q:SRSOUT D:TOT TOT 7 I 'SRSP S SRNEW=1,(SRSD,TOT)=0 F S SRSD=$O(^TMP("SRA",$J,SRSD)) Q:'SRSD!SRSOUT S SRTN=0 F S SRTN=$O(^TMP("SRA",$J,SRSD,SRTN)) Q:'SRTN S SRA=^(SRTN) D CASE Q:SRSOUT 8 Q:SRSOUT I SRSP,'SRFLG,GRAND D GRAND 9 I SRFLG,'GRAND S SRSS=SRSPEC D HDR,GRAND 10 I SRSP,'SRFLG,'GRAND S SRSS="" D HDR,GRAND 11 I 'SRSP,'GRAND S SRSS="" D HDR,GRAND 12 I 'SRSP,GRAND S SRSS="" D GRAND 13 Q 14 UTL ; set up TMP global 15 N SRCPLT 16 I '$P($G(^SRF(SRTN,.2)),"^",3)&'$P($G(^SRF(SRTN,.2)),"^",12) Q 17 I $P($G(^SRF(SRTN,30)),"^") Q 18 I SRFLG,$P(^SRF(SRTN,0),"^",4)'=SRASP Q 19 S SRCPLT=$P($G(^SRO(136,SRTN,10)),"^") I SRCPLT,'$$XL^SROAX(SRTN) Q 20 S SRA=$G(^SRF(SRTN,"RA")) 21 I SRAST=1 Q:'($P(SRA,"^",2)="N"!($P(SRA,"^",2)="C"))!'($P(SRA,"^",6)="Y") 22 I SRAST=2 Q:'($P(SRA,"^",2)="N"!($P(SRA,"^",2)="C"))!'($P(SRA,"^",6)="N") 23 I SRAST=3 Q:$P(SRA,"^",2)'="" 24 I SRSP S SRSS=$P(^SRF(SRTN,0),"^",4),SRSS=$S(SRSS:$P(^SRO(137.45,SRSS,0),"^"),1:"SPECIALTY NOT ENTERED"),^TMP("SRA",$J,SRSS,SRSD,SRTN)=SRA Q 25 S ^TMP("SRA",$J,SRSD,SRTN)=SRA 26 Q 27 SRSD S SRNEW=1,(SRSD,TOT)=0 F S SRSD=$O(^TMP("SRA",$J,SRSS,SRSD)) Q:'SRSD!SRSOUT S SRTN=0 F S SRTN=$O(^TMP("SRA",$J,SRSS,SRSD,SRTN)) Q:'SRTN S SRA=^(SRTN) D CASE Q:SRSOUT 28 Q 29 CASE N SRA2 S SRA2=$P(SRA,"^",2) D 30 .I SRA2="" S SRATYPE="NOT LOGGED" Q 31 .I SRA2="N" D Q 32 .. I $P(SRA,"^",6)="N" S SRATYPE="EXCLUDED" Q 33 .. S SRATYPE="NON-CARDIAC" 34 .I SRA2="C" S SRATYPE="CARDIAC" 35 S TOT=TOT+1,GRAND=GRAND+1 D PRINT 36 Q 37 PRINT ; print case info 38 N SRDA,SRPROCS,SRSP1,SRY S SRPROCS="" 39 I $Y+8>IOSL!SRNEW D PAGE I SRSOUT Q 40 S SRA(0)=^SRF(SRTN,0),DFN=$P(SRA(0),"^") N I D DEM^VADPT S SRANM=VADM(1),SRASSN=VA("PID") K VADM 41 I $L(SRANM)>19 S SRANM=$P(SRANM,",")_","_$E($P(SRANM,",",2))_"." 42 S SRSP1="",X=$P(SRA(0),"^",4) S:X SRSP1=$P(^SRO(137.45,X,0),"^") 43 S SROPER=$P(^SRF(SRTN,"OP"),"^") I $O(^SRF(SRTN,13,0)) S SROTHER=0 F I=0:0 S SROTHER=$O(^SRF(SRTN,13,SROTHER)) Q:'SROTHER D OTHER 44 K SROPS,MM,MMM S:$L(SROPER)<63 SROPS(1)=SROPER I $L(SROPER)>62 S SROPER=SROPER_" " F M=1:1 D LOOP Q:MMM="" 45 S X=$P(SRA,"^"),SRSTATUS=$S(X="T":"TRANSMITTED",X="C":"COMPLETE",X="I":"INCOMPLETE",1:"NO ASSESSMENT"),Y=SRSD D D^DIQ S SRDT=$P(Y,"@") 46 I $Y+7>IOSL D PAGE I SRSOUT Q 47 W !,SRTN,?18,SRANM_" "_VA("PID"),?53,SRATYPE,?67,SRSTATUS,!,SRDT,?18,SROPS(1),! D 48 .I 'SRSP W $E(SRSP1,1,17) F I=2:1 W:$D(SROPS(I)) ?18,SROPS(I),! I '$D(SROPS(I)) W ! Q 49 .I SRSP F I=2:1 Q:'$D(SROPS(I)) W ?18,SROPS(I),! 50 S SRY=$P($G(^SRO(136,SRTN,0)),"^",2) I SRY D CPT S SRPROCS=SRCODE 51 S SRDA=0 F S SRDA=$O(^SRO(136,SRTN,3,SRDA)) Q:'SRDA S SRY=$P($G(^SRO(136,SRTN,3,SRDA,0)),"^") I SRY D CPT D 52 .S SRPROCS=SRPROCS_", "_SRCODE 53 I '$P($G(^SRO(136,SRTN,10)),"^"),$L(SRPROCS) W !,">>> Final CPT Coding is not complete." 54 S:SRPROCS="" SRPROCS="NOT ENTERED" W !,"CPT Codes: ",SRPROCS 55 I 'SRSOUT W ! F LINE=1:1:80 W "-" 56 Q 57 CPT ; check code for exclusion and get output value 58 N Y,SREX S (SRCODE,SREX)="" 59 S Y=$$CPT^ICPTCOD(SRY,$P(SRSD,".")),SRCODE=$P(Y,"^",2) 60 S SREX="" I '$D(^SRO(137,SRY,0)) S SREX="*" 61 S SRCODE=SREX_SRCODE 62 Q 63 OTHER ; other operations 64 S SRLONG=1 I $L(SROPER)+$L($P(^SRF(SRTN,13,SROTHER,0),"^"))>125 S SRLONG=0,SROTHER=999,SROPERS=" ..." 65 I SRLONG S SROPERS=$P(^SRF(SRTN,13,SROTHER,0),"^") 66 S SROPER=SROPER_$S(SROPERS'=" ...":", "_SROPERS,1:SROPERS) 67 Q 68 LOOP ; break procedures 69 S SROPS(M)="" F LOOP=1:1 S MM=$P(SROPER," "),MMM=$P(SROPER," ",2,200) Q:MMM="" Q:$L(SROPS(M))+$L(MM)'<63 S SROPS(M)=SROPS(M)_MM_" ",SROPER=MMM 70 Q 71 PAGE I $E(IOST)="P"!SRHDR G HDR 72 W !!,"Press <RET> to continue, or '^' to quit " R X:DTIME I '$T!(X["^") S SRSOUT=1 Q 73 I X["?" W !!,"If you want to continue the listing, press the 'Enter' key.",!,"Type '^' to return to the menu." G PAGE 74 HDR ; print heading 75 W @IOF,!,?(80-$L(SRTITLE)\2),SRTITLE,?70,$J("PAGE "_SRPAGE,9) W:$E(IOST)="P" !,?(80-$L(SRINST)\2),SRINST W !,?(80-$L(SRFRTO)\2),SRFRTO 76 W:$E(IOST)="P" !,?(80-$L(SRPRINT)\2),SRPRINT 77 W !!,?50,"'*' Denotes Eligible CPT Code" I SRSP,SRSS'="" W !,">>> "_SRSS 78 W !!,"CASE #",?18,"PATIENT",?53,"TYPE",?67,"STATUS",!,"OP DATE",?18,"OPERATION(S)",! W:'SRSP "SURG SPECIALTY",! F LINE=1:1:80 W "=" 79 S SRHDR=0,SRNEW=0,SRPAGE=SRPAGE+1 80 Q 81 TOT W !!,"TOTAL FOR "_SRSS_": ",TOT 82 Q 83 GRAND I 'SRSP W !!,"TOTAL: ",GRAND Q 84 I SRSP,'SRFLG W !!,"TOTAL FOR ALL SPECIALTIES: ",GRAND Q 85 I SRSP,SRFLG S SRSS=SRSPEC D TOT 86 Q 1 SROALEC ;BIR/ADM - LIST OF ELIGIBLE CASES ;05/04/07 2 ;;3.0; Surgery ;**160**;24 Jun 93;Build 7 3 S (GRAND,SRNEW,SRSOUT,TOT)=0,(SRHDR,SRPAGE)=1,SRTITLE="CASES ELIGIBLE FOR ASSESSMENT" K ^TMP("SRA",$J) 4 I SRFLG,SRASP S SRSPEC=$P(^SRO(137.45,SRASP,0),"^") 5 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!SRSOUT I $D(^SRF(SRTN,0)),$$MANDIV^SROUTL0(SRINSTP,SRTN) D UTL 6 I SRSP S SRSS="" F S SRSS=$O(^TMP("SRA",$J,SRSS)) Q:SRSS="" D SRSD Q:SRSOUT D:TOT TOT 7 I 'SRSP S SRNEW=1,(SRSD,TOT)=0 F S SRSD=$O(^TMP("SRA",$J,SRSD)) Q:'SRSD!SRSOUT S SRTN=0 F S SRTN=$O(^TMP("SRA",$J,SRSD,SRTN)) Q:'SRTN S SRA=^(SRTN) D CASE Q:SRSOUT 8 Q:SRSOUT I SRSP,'SRFLG,GRAND D GRAND 9 I SRFLG,'GRAND S SRSS=SRSPEC D HDR,GRAND 10 I SRSP,'SRFLG,'GRAND S SRSS="" D HDR,GRAND 11 I 'SRSP,'GRAND S SRSS="" D HDR,GRAND 12 I 'SRSP,GRAND S SRSS="" D GRAND 13 Q 14 UTL ; set up TMP global 15 N SRCPLT 16 I '$P($G(^SRF(SRTN,.2)),"^",3)&'$P($G(^SRF(SRTN,.2)),"^",12) Q 17 I $P($G(^SRF(SRTN,30)),"^") Q 18 I SRFLG,$P(^SRF(SRTN,0),"^",4)'=SRASP Q 19 S SRCPLT=$P($G(^SRO(136,SRTN,10)),"^") I SRCPLT,'$$XL^SROAX(SRTN) Q 20 S SRA=$G(^SRF(SRTN,"RA")) 21 I SRSP S SRSS=$P(^SRF(SRTN,0),"^",4),SRSS=$S(SRSS:$P(^SRO(137.45,SRSS,0),"^"),1:"SPECIALTY NOT ENTERED"),^TMP("SRA",$J,SRSS,SRSD,SRTN)=SRA Q 22 S ^TMP("SRA",$J,SRSD,SRTN)=SRA 23 Q 24 SRSD S SRNEW=1,(SRSD,TOT)=0 F S SRSD=$O(^TMP("SRA",$J,SRSS,SRSD)) Q:'SRSD!SRSOUT S SRTN=0 F S SRTN=$O(^TMP("SRA",$J,SRSS,SRSD,SRTN)) Q:'SRTN S SRA=^(SRTN) D CASE Q:SRSOUT 25 Q 26 CASE N SRA2 S SRA2=$P(SRA,"^",2) D 27 .I SRA2="" S SRATYPE="NOT LOGGED" Q 28 .I SRA2="N" D Q 29 .. I $P(SRA,"^",6)="N" S SRATYPE="EXCLUDED" Q 30 .. S SRATYPE="NON-CARDIAC" 31 .I SRA2="C" S SRATYPE="CARDIAC" 32 S TOT=TOT+1,GRAND=GRAND+1 D PRINT 33 Q 34 PRINT ; print case info 35 N SRDA,SRPROCS,SRY S SRPROCS="" 36 I $Y+6>IOSL!SRNEW D PAGE I SRSOUT Q 37 S SRA(0)=^SRF(SRTN,0),DFN=$P(SRA(0),"^") N I D DEM^VADPT S SRANM=VADM(1),SRASSN=VA("PID") K VADM 38 I $L(SRANM)>19 S SRANM=$P(SRANM,",")_","_$E($P(SRANM,",",2))_"." 39 S SROPER=$P(^SRF(SRTN,"OP"),"^") I $O(^SRF(SRTN,13,0)) S SROTHER=0 F I=0:0 S SROTHER=$O(^SRF(SRTN,13,SROTHER)) Q:'SROTHER D OTHER 40 K SROPS,MM,MMM S:$L(SROPER)<63 SROPS(1)=SROPER I $L(SROPER)>62 S SROPER=SROPER_" " F M=1:1 D LOOP Q:MMM="" 41 S X=$P(SRA,"^"),SRSTATUS=$S(X="T":"TRANSMITTED",X="C":"COMPLETE",X="I":"INCOMPLETE",1:"NO ASSESSMENT"),Y=SRSD D D^DIQ S SRDT=$P(Y,"@") 42 I $Y+5>IOSL D PAGE I SRSOUT Q 43 W !,SRTN,?18,SRANM_" "_VA("PID"),?53,SRATYPE,?67,SRSTATUS,!,SRDT F I=1:1 Q:'$D(SROPS(I)) W ?18,SROPS(I),! 44 S SRY=$P($G(^SRO(136,SRTN,0)),"^",2) I SRY D CPT S SRPROCS=SRCODE 45 S SRDA=0 F S SRDA=$O(^SRO(136,SRTN,3,SRDA)) Q:'SRDA S SRY=$P($G(^SRO(136,SRTN,3,SRDA,0)),"^") I SRY D CPT D 46 .S SRPROCS=SRPROCS_", "_SRCODE 47 I '$P($G(^SRO(136,SRTN,10)),"^"),$L(SRPROCS) W !,">>> Final CPT Coding is not complete." 48 S:SRPROCS="" SRPROCS="NOT ENTERED" W !,"CPT Codes: ",SRPROCS 49 I 'SRSOUT W ! F LINE=1:1:80 W "-" 50 Q 51 CPT ; check code for exclusion and get output value 52 N Y,SREX S (SRCODE,SREX)="" 53 S Y=$$CPT^ICPTCOD(SRY,$P(SRSD,".")),SRCODE=$P(Y,"^",2) 54 S SREX="" I '$D(^SRO(137,SRY,0)) S SREX="*" 55 S SRCODE=SREX_SRCODE 56 Q 57 OTHER ; other operations 58 S SRLONG=1 I $L(SROPER)+$L($P(^SRF(SRTN,13,SROTHER,0),"^"))>125 S SRLONG=0,SROTHER=999,SROPERS=" ..." 59 I SRLONG S SROPERS=$P(^SRF(SRTN,13,SROTHER,0),"^") 60 S SROPER=SROPER_$S(SROPERS'=" ...":", "_SROPERS,1:SROPERS) 61 Q 62 LOOP ; break procedures 63 S SROPS(M)="" F LOOP=1:1 S MM=$P(SROPER," "),MMM=$P(SROPER," ",2,200) Q:MMM="" Q:$L(SROPS(M))+$L(MM)'<63 S SROPS(M)=SROPS(M)_MM_" ",SROPER=MMM 64 Q 65 PAGE I $E(IOST)="P"!SRHDR G HDR 66 W !!,"Press <RET> to continue, or '^' to quit " R X:DTIME I '$T!(X["^") S SRSOUT=1 Q 67 I X["?" W !!,"If you want to continue the listing, press the 'Enter' key.",!,"Type '^' to return to the menu." G PAGE 68 HDR ; print heading 69 W @IOF,!,?(80-$L(SRTITLE)\2),SRTITLE,?70,$J("PAGE "_SRPAGE,9) W:$E(IOST)="P" !,?(80-$L(SRINST)\2),SRINST W !,?(80-$L(SRFRTO)\2),SRFRTO 70 W:$E(IOST)="P" !,?(80-$L(SRPRINT)\2),SRPRINT 71 W !!,?50,"'*' Denotes Eligible CPT Code" I SRSP,SRSS'="" W !,">>> "_SRSS 72 W !!,"CASE #",?18,"PATIENT",?53,"TYPE",?67,"STATUS",!,"OP DATE",?18,"OPERATION(S)",! F LINE=1:1:80 W "=" 73 S SRHDR=0,SRNEW=0,SRPAGE=SRPAGE+1 74 Q 75 TOT W !!,"TOTAL FOR "_SRSS_": ",TOT 76 Q 77 GRAND I 'SRSP W !!,"TOTAL: ",GRAND Q 78 I SRSP,'SRFLG W !!,"TOTAL FOR ALL SPECIALTIES: ",GRAND Q 79 I SRSP,SRFLG S SRSS=SRSPEC D TOT 80 Q -
WorldVistAEHR/trunk/r/SURGERY-SR/SROALM.m
r613 r623 1 SROALM ;BIR/ADM - LIST OF ASSESSMENTS MISSING INFORMATION ;12/05/072 ;;3.0; Surgery ;**38,50,88,142,153,160,166**;24 Jun 93;Build 73 S (GRAND,SRNEW,SRSOUT,TOT)=0,(SRHDR,SRPAGE)=1,SRTITLE="COMPLETED/TRANSMITTED ASSESSMENTS MISSING INFORMATION" K ^TMP("SRA",$J)4 I SRFLG,SRASP S SRSPEC=$P(^SRO(137.45,SRASP,0),"^")5 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!SRSOUT D6 .S SR("RA")=$G(^SRF(SRTN,"RA")) I $P(SR("RA"),"^")="C"!($P(SR("RA"),"^")="T"),$D(^SRF(SRTN,0)),$$MANDIV^SROUTL0(SRINSTP,SRTN) D UTL7 I SRSP S SRSS="" F S SRSS=$O(^TMP("SRA",$J,SRSS)) Q:SRSS="" D SRSD Q:SRSOUT D:TOT TOT8 I 'SRSP S SRNEW=1,(SRSD,TOT)=0 F S SRSD=$O(^TMP("SRA",$J,SRSD)) Q:'SRSD!SRSOUT S SRTN=0 F S SRTN=$O(^TMP("SRA",$J,SRSD,SRTN)) Q:'SRTN S SRA=^(SRTN) D CASE Q:SRSOUT9 Q:SRSOUT I SRSP,'SRFLG,GRAND D GRAND10 I SRFLG,'GRAND S SRSS=SRSPEC D HDR,GRAND11 I SRSP,'SRFLG,'GRAND S SRSS="" D HDR,GRAND12 I 'SRSP,'GRAND S SRSS="" D HDR,GRAND13 I 'SRSP,GRAND S SRSS="" D GRAND14 Q15 UTL ; set up TMP global16 I SRFLG,$P(^SRF(SRTN,0),"^",4)'=SRASP Q17 I SRSP S SRSS=$P(^SRF(SRTN,0),"^",4),SRSS=$S(SRSS:$P(^SRO(137.45,SRSS,0),"^"),1:"SPECIALTY NOT ENTERED"),^TMP("SRA",$J,SRSS,SRSD,SRTN)=SR("RA") Q18 S ^TMP("SRA",$J,SRSD,SRTN)=SR("RA")19 Q20 SRSD S SRNEW=1,(SRSD,TOT)=0 F S SRSD=$O(^TMP("SRA",$J,SRSS,SRSD)) Q:'SRSD!SRSOUT S SRTN=0 F S SRTN=$O(^TMP("SRA",$J,SRSS,SRSD,SRTN)) Q:'SRTN S SRA=^(SRTN) D CASE Q:SRSOUT21 Q22 CASE I $P(SRA,"^",2)="N",$P(SRA,"^",6)="Y" S SRATYPE="NON-CARDIAC" D CHK^SROAUTL23 I $P(SRA,"^",2)="N",$P(SRA,"^",6)="N" S SRATYPE="EXCLUDED" D CHK^SROAUTL324 I $P(SRA,"^",2)="C" S SRATYPE="CARDIAC" D CHK^SROAUTLC25 S SRFLD="" I $O(SRX(SRFLD))'="" S TOT=TOT+1,GRAND=GRAND+1 D PRINT Q26 I '$P($G(^SRO(136,SRTN,10)),"^")!('$P($G(^SRO(136,SRTN,0)),"^",2))!('$P($G(^SRO(136,SRTN,0)),"^",3)) D PRINT27 Q28 PRINT ; print assessments29 K SRCPTT S SRCPTT="NOT ENTERED"30 I $Y+5>IOSL!SRNEW D PAGE I SRSOUT Q31 S SRA(0)=^SRF(SRTN,0),DFN=$P(SRA(0),"^") N I D DEM^VADPT S SRANM=VADM(1),SRASSN=VA("PID") K VADM32 I $L(SRANM)>19 S SRANM=$P(SRANM,",")_","_$E($P(SRANM,",",2))_"."33 S SROPER=$P(^SRF(SRTN,"OP"),"^") I $O(^SRF(SRTN,13,0)) S SROTHER=0 F I=0:0 S SROTHER=$O(^SRF(SRTN,13,SROTHER)) Q:'SROTHER D OTHER34 K SROPS,MM,MMM S:$L(SROPER)<63 SROPS(1)=SROPER I $L(SROPER)>62 S SROPER=SROPER_" " F M=1:1 D LOOP Q:MMM=""35 S SRSTATUS=$S($P(SRA,"^")="T":"TRANSMITTED",1:"COMPLETE"),Y=SRSD D D^DIQ S SRDT=$P(Y,"@")36 I $Y+5>IOSL D PAGE I SRSOUT Q37 W !,SRTN,?18,SRANM_" "_VA("PID"),?53,SRATYPE,?68,SRSTATUS,!,SRDT F I=1:1 Q:'$D(SROPS(I)) W ?18,SROPS(I),!38 N I,SRPROC,SRL S SRL=100 D CPTS^SROAUTL0 W ?18,"CPT Codes: "39 F I=1:1 Q:'$D(SRPROC(I)) W:I=1 ?29,SRPROC(I) W:I'=1 !,?29,SRPROC(I)40 S CNT=1 W !,?5,"Missing information:"41 I '$P($G(^SRO(136,SRTN,10)),"^")!('$P($G(^SRO(136,SRTN,0)),"^",2))!('$P($G(^SRO(136,SRTN,0)),"^",3)) W !,$J(CNT_". ",8),"The final coding for Procedure and Diagnosis is not complete." S CNT=CNT+142 F S SRFLD=$O(SRX(SRFLD)) Q:SRFLD="" D:$Y+5>IOSL PAGE Q:SRSOUT W !,$J(CNT_". ",8),$P(SRX(SRFLD),":") S CNT=CNT+143 I 'SRSOUT W ! F LINE=1:1:80 W "-"44 Q45 OTHER ; other operations46 S SRLONG=1 I $L(SROPER)+$L($P(^SRF(SRTN,13,SROTHER,0),"^"))>125 S SRLONG=0,SROTHER=999,SROPERS=" ..."47 I SRLONG S SROPERS=$P(^SRF(SRTN,13,SROTHER,0),"^")48 S SROPER=SROPER_$S(SROPERS'=" ...":", "_SROPERS,1:SROPERS)49 Q50 LOOP ; break procedures51 S SROPS(M)="" F LOOP=1:1 S MM=$P(SROPER," "),MMM=$P(SROPER," ",2,200) Q:MMM="" Q:$L(SROPS(M))+$L(MM)'<63 S SROPS(M)=SROPS(M)_MM_" ",SROPER=MMM52 Q53 PAGE I $E(IOST)="P"!SRHDR G HDR54 W !!,"Press <RET> to continue, or '^' to quit " R X:DTIME I '$T!(X["^") S SRSOUT=1 Q55 I X["?" W !!,"If you want to continue listing incomplete assessments, enter <RET>. Enter",!,"'^' to return to the menu." G PAGE56 HDR ; print heading57 W @IOF,!,?(80-$L(SRTITLE)\2),SRTITLE,?70,$J("PAGE "_SRPAGE,9) W:$E(IOST)="P" !,?(80-$L(SRINST)\2),SRINST W !,?(80-$L(SRFRTO)\2),SRFRTO58 W:$E(IOST)="P" !,?(80-$L(SRPRINT)\2),SRPRINT I SRSP,SRSS'="" W !!,"** "_SRSS59 W !!,"ASSESSMENT #",?18,"PATIENT",?53,"TYPE",?68,"STATUS",!,"OPERATION DATE",?18,"OPERATION(S)",! F LINE=1:1:80 W "="60 S SRHDR=0,SRNEW=0,SRPAGE=SRPAGE+161 Q62 TOT W !!,"TOTAL FOR "_SRSS_": ",TOT63 Q64 GRAND I 'SRSP W !!,"TOTAL: ",GRAND Q65 I SRSP,'SRFLG W !!,"TOTAL FOR ALL SPECIALTIES: ",GRAND Q66 I SRSP,SRFLG S SRSS=SRSPEC D TOT67 Q1 SROALM ;BIR/ADM - LIST OF ASSESSMENTS MISSING INFORMATION ;02/08/07 2 ;;3.0; Surgery ;**38,50,88,142,153,160**;24 Jun 93;Build 7 3 S (GRAND,SRNEW,SRSOUT,TOT)=0,(SRHDR,SRPAGE)=1,SRTITLE="COMPLETED/TRANSMITTED ASSESSMENTS MISSING INFORMATION" K ^TMP("SRA",$J) 4 I SRFLG,SRASP S SRSPEC=$P(^SRO(137.45,SRASP,0),"^") 5 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!SRSOUT D 6 .S SR("RA")=$G(^SRF(SRTN,"RA")) I $P(SR("RA"),"^")="C"!($P(SR("RA"),"^")="T"),$D(^SRF(SRTN,0)),$$MANDIV^SROUTL0(SRINSTP,SRTN) D UTL 7 I SRSP S SRSS="" F S SRSS=$O(^TMP("SRA",$J,SRSS)) Q:SRSS="" D SRSD Q:SRSOUT D:TOT TOT 8 I 'SRSP S SRNEW=1,(SRSD,TOT)=0 F S SRSD=$O(^TMP("SRA",$J,SRSD)) Q:'SRSD!SRSOUT S SRTN=0 F S SRTN=$O(^TMP("SRA",$J,SRSD,SRTN)) Q:'SRTN S SRA=^(SRTN) D CASE Q:SRSOUT 9 Q:SRSOUT I SRSP,'SRFLG,GRAND D GRAND 10 I SRFLG,'GRAND S SRSS=SRSPEC D HDR,GRAND 11 I SRSP,'SRFLG,'GRAND S SRSS="" D HDR,GRAND 12 I 'SRSP,'GRAND S SRSS="" D HDR,GRAND 13 I 'SRSP,GRAND S SRSS="" D GRAND 14 Q 15 UTL ; set up TMP global 16 I SRFLG,$P(^SRF(SRTN,0),"^",4)'=SRASP Q 17 I SRSP S SRSS=$P(^SRF(SRTN,0),"^",4),SRSS=$S(SRSS:$P(^SRO(137.45,SRSS,0),"^"),1:"SPECIALTY NOT ENTERED"),^TMP("SRA",$J,SRSS,SRSD,SRTN)=SR("RA") Q 18 S ^TMP("SRA",$J,SRSD,SRTN)=SR("RA") 19 Q 20 SRSD S SRNEW=1,(SRSD,TOT)=0 F S SRSD=$O(^TMP("SRA",$J,SRSS,SRSD)) Q:'SRSD!SRSOUT S SRTN=0 F S SRTN=$O(^TMP("SRA",$J,SRSS,SRSD,SRTN)) Q:'SRTN S SRA=^(SRTN) D CASE Q:SRSOUT 21 Q 22 CASE I $P(SRA,"^",2)="N",$P(SRA,"^",6)="Y" S SRATYPE="NON-CARDIAC" D CHK^SROAUTL 23 I $P(SRA,"^",2)="N",$P(SRA,"^",6)="N" S SRATYPE="EXCLUDED" D CHK^SROAUTL3 24 I $P(SRA,"^",2)="C" S SRATYPE="CARDIAC" D CHK^SROAUTLC 25 S SRFLD="" I $O(SRX(SRFLD))'="" S TOT=TOT+1,GRAND=GRAND+1 D PRINT Q 26 I '$P($G(^SRO(136,SRTN,10)),"^")!('$P($G(^SRO(136,SRTN,0)),"^",2))!('$P($G(^SRO(136,SRTN,0)),"^",3)) D PRINT 27 Q 28 PRINT ; print assessments 29 K SRCPTT S SRCPTT="NOT ENTERED" 30 I $Y+5>IOSL!SRNEW D PAGE I SRSOUT Q 31 S SRA(0)=^SRF(SRTN,0),DFN=$P(SRA(0),"^") N I D DEM^VADPT S SRANM=VADM(1),SRASSN=VA("PID") K VADM 32 I $L(SRANM)>19 S SRANM=$P(SRANM,",")_","_$E($P(SRANM,",",2))_"." 33 S SROPER=$P(^SRF(SRTN,"OP"),"^") I $O(^SRF(SRTN,13,0)) S SROTHER=0 F I=0:0 S SROTHER=$O(^SRF(SRTN,13,SROTHER)) Q:'SROTHER D OTHER 34 K SROPS,MM,MMM S:$L(SROPER)<63 SROPS(1)=SROPER I $L(SROPER)>62 S SROPER=SROPER_" " F M=1:1 D LOOP Q:MMM="" 35 S SRSTATUS=$S($P(SRA,"^")="T":"TRANSMITTED",1:"COMPLETE"),Y=SRSD D D^DIQ S SRDT=$P(Y,"@") 36 I $Y+5>IOSL D PAGE I SRSOUT Q 37 W !,SRTN,?18,SRANM_" "_VA("PID"),?53,SRATYPE,?68,SRSTATUS,!,SRDT F I=1:1 Q:'$D(SROPS(I)) W ?18,SROPS(I),! 38 N I,SRPROC,SRL S SRL=100 D CPTS^SROAUTL0 W ?18,"CPT Codes: " 39 F I=1:1 Q:'$D(SRPROC(I)) W:I=1 ?29,SRPROC(I) W:I'=1 !,?29,SRPROC(I) 40 S CNT=1 W !,?5,"Missing information:" 41 I '$P($G(^SRO(136,SRTN,10)),"^")!('$P($G(^SRO(136,SRTN,0)),"^",2))!('$P($G(^SRO(136,SRTN,0)),"^",3)) W !,$J(CNT_". ",8),"The final coding for Procedure and Diagnosis is not complete." S CNT=CNT+1 42 F S SRFLD=$O(SRX(SRFLD)) Q:SRFLD="" D:$Y+5>IOSL PAGE Q:SRSOUT W !,$J(CNT_". ",8),SRX(SRFLD) S CNT=CNT+1 43 I 'SRSOUT W ! F LINE=1:1:80 W "-" 44 Q 45 OTHER ; other operations 46 S SRLONG=1 I $L(SROPER)+$L($P(^SRF(SRTN,13,SROTHER,0),"^"))>125 S SRLONG=0,SROTHER=999,SROPERS=" ..." 47 I SRLONG S SROPERS=$P(^SRF(SRTN,13,SROTHER,0),"^") 48 S SROPER=SROPER_$S(SROPERS'=" ...":", "_SROPERS,1:SROPERS) 49 Q 50 LOOP ; break procedures 51 S SROPS(M)="" F LOOP=1:1 S MM=$P(SROPER," "),MMM=$P(SROPER," ",2,200) Q:MMM="" Q:$L(SROPS(M))+$L(MM)'<63 S SROPS(M)=SROPS(M)_MM_" ",SROPER=MMM 52 Q 53 PAGE I $E(IOST)="P"!SRHDR G HDR 54 W !!,"Press <RET> to continue, or '^' to quit " R X:DTIME I '$T!(X["^") S SRSOUT=1 Q 55 I X["?" W !!,"If you want to continue listing incomplete assessments, enter <RET>. Enter",!,"'^' to return to the menu." G PAGE 56 HDR ; print heading 57 W @IOF,!,?(80-$L(SRTITLE)\2),SRTITLE,?70,$J("PAGE "_SRPAGE,9) W:$E(IOST)="P" !,?(80-$L(SRINST)\2),SRINST W !,?(80-$L(SRFRTO)\2),SRFRTO 58 W:$E(IOST)="P" !,?(80-$L(SRPRINT)\2),SRPRINT I SRSP,SRSS'="" W !!,"** "_SRSS 59 W !!,"ASSESSMENT #",?18,"PATIENT",?53,"TYPE",?68,"STATUS",!,"OPERATION DATE",?18,"OPERATION(S)",! F LINE=1:1:80 W "=" 60 S SRHDR=0,SRNEW=0,SRPAGE=SRPAGE+1 61 Q 62 TOT W !!,"TOTAL FOR "_SRSS_": ",TOT 63 Q 64 GRAND I 'SRSP W !!,"TOTAL: ",GRAND Q 65 I SRSP,'SRFLG W !!,"TOTAL FOR ALL SPECIALTIES: ",GRAND Q 66 I SRSP,SRFLG S SRSS=SRSPEC D TOT 67 Q -
WorldVistAEHR/trunk/r/SURGERY-SR/SROALOG.m
r613 r623 1 SROALOG ;BIR/MAM - ASSESSMENT LOG ;01/24/08 2 ;;3.0; Surgery ;**38,55,62,77,50,153,160,166**;24 Jun 93;Build 7 3 K SRMNA S (SRSOUT,SRFLG,SRSP,SRAST)=0,SRSRT=1 4 START G:SRSOUT END W @IOF K DIR S DIR("A",1)="List of Surgery Risk Assessments",DIR("A",2)="",DIR("A",3)=" 1. List of Incomplete Assessments" 5 S DIR("A",4)=" 2. List of Completed Assessments",DIR("A",5)=" 3. List of Transmitted Assessments" 6 S DIR("A",6)=" 4. List of Non-Assessed Major Surgical Cases",DIR("A",7)=" 5. List of All Major Surgical Cases" 7 S DIR("A",8)=" 6. List of All Surgical Cases",DIR("A",9)=" 7. List of Completed/Transmitted Assessments Missing Information" 8 S DIR("A",10)=" 8. List of 1-Liner Cases Missing Information",DIR("A",11)=" 9. List of Eligible Cases" 9 S DIR("A",12)=" 10. List of Cases With No CPT Codes",DIR("A",13)=" 11. Summary List of Assessed Cases" 10 S DIR("A",14)="",DIR("A")="Select the Number of the Report Desired" 11 S DIR(0)="NO^1:11" D ^DIR K DIR I $D(DTOUT)!$D(DUOUT)!'Y S SRSOUT=1 G END 12 S SREPORT=X 13 DATE I SREPORT=3 D DSORT G:SRSOUT END 14 D DATE^SROUTL(.SRSD,.SRED,.SRSOUT) G:SRSOUT END 15 I SREPORT=9 D TYPE9 I SRSOUT G END 16 I SREPORT=3 D TYPE3 I SRSOUT G END 17 D SEL G:SRSOUT END 18 N SRINSTP S SRINST=$$INST^SROUTL0() G:SRINST="^" END S SRINSTP=$P(SRINST,"^"),SRINST=$S(SRINST["ALL DIVISIONS":SRINST,1:$P(SRINST,"^",2)) 19 I SREPORT<7 W @IOF,!,"This report is designed to print to your terminal screen or a printer. When",!,"using a printer, a 132 column format is used.",! 20 K IOP,%ZIS,POP,IO("Q") S %ZIS("A")="Print the List of Assessments to which Device: ",%ZIS="QM" D ^%ZIS I POP S SRSOUT=1 G END 21 I $D(IO("Q")) K IO("Q") D S ZTREQ="@" D ^%ZTLOAD G END 22 .S ZTRTN="EN^SROALOG",ZTDESC="List of Surgery Risk Assessments" 23 .S (ZTSAVE("SRSD"),ZTSAVE("SRED"),ZTSAVE("SREPORT"),ZTSAVE("SRASP"),ZTSAVE("SRFLG"),ZTSAVE("SRSP"),ZTSAVE("SRINSTP"),ZTSAVE("SRAST"),ZTSAVE("SRSRT"))="" 24 EN ; entry when queued 25 N SRFRTO S Y=SRSD X ^DD("DD") S SRFRTO="FROM: "_Y_" TO: ",Y=SRED X ^DD("DD") S SRFRTO=SRFRTO_Y 26 U IO S SRSD=SRSD-.0001,SRED=SRED_".9999",Y=DT X ^DD("DD") S SRPRINT="DATE PRINTED: "_Y 27 S SRINST=$S(SRINSTP["ALL DIV":$P($$SITE^SROVAR,"^",2)_" - ALL DIVISIONS",1:$$GET1^DIQ(4,SRINSTP,.01)) 28 I SREPORT=1 D:SRSP ^SROANTS D:'SRSP ^SROANT G END 29 I SREPORT=2 D:SRSP ^SROALCS D:'SRSP ^SROALC G END 30 I SREPORT=3 D:SRSP ^SROALTS D:'SRSP ^SROALT G END 31 I SREPORT=4 S SRMNA=1 D:SRSP ^SROALLS D:'SRSP ^SROALL G END 32 I SREPORT=5 D:SRSP ^SROALLS D:'SRSP ^SROALL G END 33 I SREPORT=7 D ^SROALM G END 34 I SREPORT=8 D ^SROALMN G END 35 I SREPORT=9 D ^SROALEC G END 36 I SREPORT=10 D ^SROALNC G END 37 I SREPORT=11 D ^SROALSL G END 38 D:SRSP ^SROALSS D:'SRSP ^SROALST 39 END I 'SRSOUT,$E(IOST)'="P" W !!,"Press ENTER to continue " R X:DTIME 40 W:$E(IOST)="P" @IOF K ^TMP("SRA",$J) I $D(ZTQUEUED) Q:$G(ZTSTOP) S ZTREQ="@" Q 41 D ^%ZISC K SRTN,SRAST,SRSRT W @IOF D ^SRSKILL 42 Q 43 TYPE3 ; select type of eligible cases 44 W ! K DIR S DIR("A",1)="Print which Transmitted Cases ?",DIR("A",2)="",DIR("A",3)=" 1. Assessed Cases Only" 45 S DIR("A",4)=" 2. Excluded Cases Only",DIR("A",5)=" 3. Both Assessed and Excluded",DIR("A",6)="" 46 S DIR("A")="Select Number",DIR("B")=1,DIR(0)="N^1:3" D ^DIR K DIR I $D(DTOUT)!$D(DUOUT) S SRSOUT=1 47 S SRAST=Y 48 Q 49 TYPE9 ; select type of transmitted case 50 W ! K DIR S DIR("A",1)="Print which Eligible Cases ?",DIR("A",2)="",DIR("A",3)=" 1. Assessed Cases Only" 51 S DIR("A",4)=" 2. Excluded Cases Only",DIR("A",5)=" 3. Non-Assessed Cases only",DIR("A",6)=" 4. All Cases",DIR("A",7)="" 52 S DIR("A")="Select Number",DIR("B")=1,DIR(0)="N^1:4" D ^DIR K DIR I $D(DTOUT)!$D(DUOUT) S SRSOUT=1 53 S SRAST=Y 54 Q 55 DSORT ; sort by op date or transmit date 56 W ! K DIR S DIR("A",1)="Print by Date of Operation or by Date of Transmission ?",DIR("A",2)="",DIR("A",3)=" 1. Date of Operation" 57 S DIR("A",4)=" 2. Date of Transmission",DIR("A",5)="",DIR("A")="Select Number",DIR("B")=1,DIR(0)="N^1:2" 58 D ^DIR K DIR I $D(DTOUT)!$D(DUOUT) S SRSOUT=1 59 S SRSRT=Y 60 Q 61 SEL ; select specialty 62 W ! K DIR S DIR(0)="YA",DIR("A")="Print by Surgical Specialty ? ",DIR("B")="YES" 63 S DIR("?",1)="Enter YES to print the report by surgical specialty, or NO to print",DIR("?")="the report listing all surgical cases." 64 D ^DIR K DIR I $D(DTOUT)!$D(DUOUT) S SRSOUT=1 Q 65 Q:'Y 66 SEL1 S SRSP=1 W ! K DIR S DIR(0)="YA",DIR("A")="Print report for ALL specialties ? ",DIR("B")="YES" 67 S DIR("?",1)="Enter YES to print the report for all surgical specialties, or NO to",DIR("?")="print the report for a specific surgical specialty." 68 D ^DIR K DIR I $D(DTOUT)!$D(DUOUT) S SRSOUT=1 Q 69 I 'Y W ! S DIC("S")="I '$P(^(0),""^"",3)",DIC("A")="Print the Report for which Surgical Specialty: ",DIC=137.45,DIC(0)="QEAMZ" D ^DIC K DIC I Y>0 S SRASP=+Y,SRFLG=1 Q 70 I Y'>0 S SRSOUT=1 Q 71 Q 1 SROALOG ;BIR/MAM - ASSESSMENT LOG ;01/22/07 2 ;;3.0; Surgery ;**38,55,62,77,50,153,160**;24 Jun 93;Build 7 3 K SRMNA S (SRSOUT,SRFLG,SRSP)=0 4 START G:SRSOUT END W @IOF,!,"List of Surgery Risk Assessments",!!," 1. List of Incomplete Assessments" 5 W !," 2. List of Completed Assessments",!," 3. List of Transmitted Assessments" 6 W !," 4. List of Non-Assessed Major Surgical Cases",!," 5. List of All Major Surgical Cases" 7 W !," 6. List of All Surgical Cases",!," 7. List of Completed/Transmitted Assessments Missing Information" 8 W !," 8. List of 1-Liner Cases Missing Information",!," 9. List of Eligible Cases" 9 W !!,"Select the Number of the Report Desired: " R X:DTIME I '$T!("^"[X) S SRSOUT=1 G END 10 I X<1!(X>9)!(X\1'=X) D HELP G START 11 S SREPORT=X 12 DATE D DATE^SROUTL(.SRSD,.SRED,.SRSOUT) G:SRSOUT END 13 D SEL G:SRSOUT END 14 N SRINSTP S SRINST=$$INST^SROUTL0() G:SRINST="^" END S SRINSTP=$P(SRINST,"^"),SRINST=$S(SRINST["ALL DIVISIONS":SRINST,1:$P(SRINST,"^",2)) 15 I SREPORT<7 W @IOF,!,"This report is designed to print to your terminal screen or a printer. When",!,"using a printer, a 132 column format is used.",! 16 K IOP,%ZIS,POP,IO("Q") S %ZIS("A")="Print the List of Assessments to which Device: ",%ZIS="QM" D ^%ZIS I POP S SRSOUT=1 G END 17 I $D(IO("Q")) K IO("Q") S ZTRTN="EN^SROALOG",ZTDESC="List of Surgery Risk Assessments",(ZTSAVE("SRSD"),ZTSAVE("SRED"),ZTSAVE("SREPORT"),ZTSAVE("SRASP"),ZTSAVE("SRFLG"),ZTSAVE("SRSP"),ZTSAVE("SRINSTP"))="",ZTREQ="@" D ^%ZTLOAD G END 18 EN ; entry when queued 19 N SRFRTO S Y=SRSD X ^DD("DD") S SRFRTO="FROM: "_Y_" TO: ",Y=SRED X ^DD("DD") S SRFRTO=SRFRTO_Y 20 U IO S SRSD=SRSD-.0001,SRED=SRED_".9999",Y=DT X ^DD("DD") S SRPRINT="DATE PRINTED: "_Y 21 S SRINST=$S(SRINSTP["ALL DIV":$P($$SITE^SROVAR,"^",2)_" - ALL DIVISIONS",1:$$GET1^DIQ(4,SRINSTP,.01)) 22 I SREPORT=1 D:SRSP ^SROANTS D:'SRSP ^SROANT G END 23 I SREPORT=2 D:SRSP ^SROALCS D:'SRSP ^SROALC G END 24 I SREPORT=3 D:SRSP ^SROALTS D:'SRSP ^SROALT G END 25 I SREPORT=4 S SRMNA=1 D:SRSP ^SROALLS D:'SRSP ^SROALL G END 26 I SREPORT=5 D:SRSP ^SROALLS D:'SRSP ^SROALL G END 27 I SREPORT=7 D ^SROALM G END 28 I SREPORT=8 D ^SROALMN G END 29 I SREPORT=9 D ^SROALEC G END 30 D:SRSP ^SROALSS D:'SRSP ^SROALST 31 END I 'SRSOUT,$E(IOST)'="P" W !!,"Press <RET> to continue " R X:DTIME 32 W:$E(IOST)="P" @IOF K ^TMP("SRA",$J) I $D(ZTQUEUED) Q:$G(ZTSTOP) S ZTREQ="@" Q 33 D ^%ZISC K SRTN W @IOF D ^SRSKILL 34 Q 35 HELP W !!,"Select the number corresponding to the type of report you want to print.",!!,"Press <RET> to continue " R X:DTIME I '$T!(X["^") S SRSOUT=1 36 Q 37 SEL ; select specialty 38 W !!,"Print by Surgical Specialty ? YES// " R X:DTIME S:'$T X="^" I X="^" S SRSOUT=1 Q 39 S X=$E(X) I "YyNn"'[X W !!,"Enter <RET> to print the report by surgical specialty, or 'N' to print",!,"the report listing all surgical cases." G SEL 40 Q:"Yy"'[X 41 SEL1 S SRSP=1 W !!,"Print report for ALL specialties ? YES// " R X:DTIME S:'$T X="^" I X="^" S SRSOUT=1 Q 42 S X=$E(X) I "YyNn"'[X W !!,"Enter <RET> to print the report for all surgical specialties, or 'N' to ",!,"print the report for a specific surgical specialty." G SEL1 43 I "Yy"'[X W ! S DIC("S")="I '$P(^(0),""^"",3)",DIC("A")="Print the Report for which Surgical Specialty: ",DIC=137.45,DIC(0)="QEAMZ" D ^DIC K DIC I Y>0 S SRASP=+Y,SRFLG=1 Q 44 I Y'>0 S SRSOUT=1 Q 45 Q -
WorldVistAEHR/trunk/r/SURGERY-SR/SROALT.m
r613 r623 1 SROALT ;BIR/MAM - TRANSMITTED ASSESSMENTS ;01/07/08 2 ;;3.0; Surgery ;**38,50,142,153,160,166**;24 Jun 93;Build 7 3 S SRFRTO=$S(SRSRT=2:"TRANSMISSION DATES ",1:"OPERATION DATES ")_SRFRTO 4 I $E(IOST)="P" D ^SROALTP Q 5 S SRSOUT=0 D HDR 6 I SRSRT=2 F S SRSD=$O(^SRF("AT",SRSD)) Q:'SRSD!(SRSD>SRED)!SRSOUT S SRTN=0 F S SRTN=$O(^SRF("AT",SRSD,SRTN)) Q:'SRTN!SRSOUT D 7 .S SR("RA")=$G(^SRF(SRTN,"RA")) I $P(SR("RA"),"^")="T",$D(^SRF(SRTN,0)),$$MANDIV^SROUTL0(SRINSTP,SRTN) D SET 8 I SRSRT=1 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!SRSOUT D 9 .S SR("RA")=$G(^SRF(SRTN,"RA")) I $P(SR("RA"),"^")="T",$D(^SRF(SRTN,0)),$$MANDIV^SROUTL0(SRINSTP,SRTN) D SET 10 Q 11 SET ; print assessments 12 K SRCPTT,SREX S SRCPTT="NOT ENTERED",SREX="" 13 I $Y+5>IOSL D PAGE I SRSOUT Q 14 S SR("RA")=^SRF(SRTN,"RA") 15 I SRAST=1 Q:'($P(SR("RA"),"^",2)="N"!($P(SR("RA"),"^",2)="C"))!'($P(SR("RA"),"^",6)="Y") 16 I SRAST=2 Q:'($P(SR("RA"),"^",2)="N"!($P(SR("RA"),"^",2)="C"))!'($P(SR("RA"),"^",6)="N") 17 S SRAT="",Y=$E($P(SR("RA"),"^",8),1,7) S:Y="" Y=$E($P(SR("RA"),"^",4),1,7) I Y D D^DIQ S SRAT=Y 18 S SRA(0)=^SRF(SRTN,0),DFN=$P(SRA(0),"^") N I D DEM^VADPT S SRANM=VADM(1),SRASSN=VA("PID") K VADM 19 I $L(SRANM)>19 S SRANM=$P(SRANM,",")_","_$E($P(SRANM,",",2))_"." 20 S SROPER=$P(^SRF(SRTN,"OP"),"^") I $O(^SRF(SRTN,13,0)) S SROTHER=0 F I=0:0 S SROTHER=$O(^SRF(SRTN,13,SROTHER)) Q:'SROTHER D OTHER 21 S X=$P(SR("RA"),"^",2) I X="C" S SROPER="* "_SROPER 22 K SROPS,MM,MMM S:$L(SROPER)<34 SROPS(1)=SROPER I $L(SROPER)>33 S SROPER=SROPER_" " F M=1:1 D LOOP Q:MMM="" 23 S SRSS=$P(SRA(0),"^",4),SRSS=$S(SRSS:$P(^SRO(137.45,SRSS,0),"^"),1:"SPECIALTY NOT ENTERED") 24 D TECH^SROPRIN 25 S Y=$P(SRA(0),"^",9) D D^DIQ S SRDT=$P(Y,"@") 26 S X=$P(SR("RA"),"^",7) I X'="" S SREX="EXCLUDED" 27 W !,SRTN,?20,SRANM_" "_VA("PID"),?55,$P(SRSS,"("),!,SRDT,?20,SROPS(1),?55,SRTECH,!,SRAT I $D(SROPS(2)) W ?20,SROPS(2) I $D(SROPS(3)) W !,?20,SROPS(3) 28 N I,SRPROC,SRL S SRL=48 D CPTS^SROAUTL0 W:$D(SROPS(2)) ! W SREX,?20,"CPT Codes: " 29 F I=1:1 Q:'$D(SRPROC(I)) W:I=1 ?31,SRPROC(I) W:I'=1 !,?31,SRPROC(I) 30 W ! F LINE=1:1:80 W "-" 31 Q 32 OTHER ; other operations 33 S SRLONG=1 I $L(SROPER)+$L($P(^SRF(SRTN,13,SROTHER,0),"^"))>125 S SRLONG=0,SROTHER=999,SROPERS=" ..." 34 I SRLONG S SROPERS=$P(^SRF(SRTN,13,SROTHER,0),"^") 35 S SROPER=SROPER_$S(SROPERS'=" ...":", "_SROPERS,1:SROPERS) 36 Q 37 LOOP ; break procedures 38 S SROPS(M)="" F LOOP=1:1 S MM=$P(SROPER," "),MMM=$P(SROPER," ",2,200) Q:MMM="" Q:$L(SROPS(M))+$L(MM)'<34 S SROPS(M)=SROPS(M)_MM_" ",SROPER=MMM 39 Q 40 PAGE W !!,"Press <RET> to continue, or '^' to quit " R X:DTIME I '$T!(X["^") S SRSOUT=1 Q 41 I X["?" W !!,"If you want to continue listing incomplete assessments, enter <RET>. Enter",!,"'^' to return to the menu." G PAGE 42 HDR W @IOF,!,?26,"TRANSMITTED RISK ASSESSMENTS",!,?(80-$L(SRFRTO)\2),SRFRTO,!!,"ASSESSMENT #",?20,"PATIENT",?55,"SURGICAL SPECIALTY",!,"OPERATION DATE",?20,"OPERATION(S)",?55,"ANESTHESIA TECHNIQUE",!,"TRANSMISSION DATE",! F LINE=1:1:80 W "=" 43 Q 1 SROALT ;BIR/MAM - TRANSMITTED ASSESSMENTS ;01/18/07 2 ;;3.0; Surgery ;**38,50,142,153,160**;24 Jun 93;Build 7 3 I $E(IOST)="P" D ^SROALTP Q 4 S SRSOUT=0 D HDR 5 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!SRSOUT S SR("RA")=$G(^SRF(SRTN,"RA")) I $P(SR("RA"),"^")="T",$D(^SRF(SRTN,0)),$$MANDIV^SROUTL0(SRINSTP,SRTN) D SET 6 Q 7 SET ; print assessments 8 K SRCPTT S SRCPTT="NOT ENTERED" 9 I $Y+5>IOSL D PAGE I SRSOUT Q 10 S SRA(0)=^SRF(SRTN,0),DFN=$P(SRA(0),"^") N I D DEM^VADPT S SRANM=VADM(1),SRASSN=VA("PID") K VADM 11 I $L(SRANM)>19 S SRANM=$P(SRANM,",")_","_$E($P(SRANM,",",2))_"." 12 S SROPER=$P(^SRF(SRTN,"OP"),"^") I $O(^SRF(SRTN,13,0)) S SROTHER=0 F I=0:0 S SROTHER=$O(^SRF(SRTN,13,SROTHER)) Q:'SROTHER D OTHER 13 S X=$P($G(^SRF(SRTN,"RA")),"^",2) I X="C" S SROPER="* "_SROPER 14 K SROPS,MM,MMM S:$L(SROPER)<34 SROPS(1)=SROPER I $L(SROPER)>33 S SROPER=SROPER_" " F M=1:1 D LOOP Q:MMM="" 15 S SRSS=$P(SRA(0),"^",4),SRSS=$S(SRSS:$P(^SRO(137.45,SRSS,0),"^"),1:"SPECIALTY NOT ENTERED") 16 D TECH^SROPRIN 17 S Y=$P(SRA(0),"^",9) D D^DIQ S SRDT=$P(Y,"@") 18 W !,SRTN,?20,SRANM_" "_VA("PID"),?55,$P(SRSS,"("),!,SRDT,?20,SROPS(1),?55,SRTECH I $D(SROPS(2)) W !,?20,SROPS(2) I $D(SROPS(3)) W !,?20,SROPS(3) 19 N I,SRPROC,SRL S SRL=48 D CPTS^SROAUTL0 W !,?20,"CPT Codes: " 20 F I=1:1 Q:'$D(SRPROC(I)) W:I=1 ?31,SRPROC(I) W:I'=1 !,?31,SRPROC(I) 21 W ! F LINE=1:1:80 W "-" 22 Q 23 OTHER ; other operations 24 S SRLONG=1 I $L(SROPER)+$L($P(^SRF(SRTN,13,SROTHER,0),"^"))>125 S SRLONG=0,SROTHER=999,SROPERS=" ..." 25 I SRLONG S SROPERS=$P(^SRF(SRTN,13,SROTHER,0),"^") 26 S SROPER=SROPER_$S(SROPERS'=" ...":", "_SROPERS,1:SROPERS) 27 Q 28 LOOP ; break procedures 29 S SROPS(M)="" F LOOP=1:1 S MM=$P(SROPER," "),MMM=$P(SROPER," ",2,200) Q:MMM="" Q:$L(SROPS(M))+$L(MM)'<34 S SROPS(M)=SROPS(M)_MM_" ",SROPER=MMM 30 Q 31 PAGE W !!,"Press <RET> to continue, or '^' to quit " R X:DTIME I '$T!(X["^") S SRSOUT=1 Q 32 I X["?" W !!,"If you want to continue listing incomplete assessments, enter <RET>. Enter",!,"'^' to return to the menu." G PAGE 33 HDR W @IOF,!,?26,"TRANSMITTED RISK ASSESSMENTS",!,?(80-$L(SRFRTO)\2),SRFRTO,!!,"ASSESSMENT #",?20,"PATIENT",?55,"SURGICAL SPECIALTY",!,"OPERATION DATE",?20,"OPERATION(S)",?55,"ANESTHESIA TECHNIQUE",! F LINE=1:1:80 W "=" 34 Q -
WorldVistAEHR/trunk/r/SURGERY-SR/SROALTP.m
r613 r623 1 SROALTP ;BIR/MAM - TRANSMITTED ASSESSMENTS (PRINTER) ;01/07/08 2 ;;3.0; Surgery ;**32,50,142,153,160,166**;24 Jun 93;Build 7 3 S SRPAGE=1,(SRSOUT,SRDFN)=0 D HDR Q:SRSOUT 4 I SRSRT=2 F S SRSD=$O(^SRF("AT",SRSD)) Q:'SRSD!(SRSD>SRED)!SRSOUT S SRTN=0 F S SRTN=$O(^SRF("AT",SRSD,SRTN)) Q:'SRTN!SRSOUT D 5 .S SR("RA")=$G(^SRF(SRTN,"RA")) I $P(SR("RA"),"^")="T",$D(^SRF(SRTN,0)),$$MANDIV^SROUTL0(SRINSTP,SRTN) D SET 6 I SRSRT=1 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!SRSOUT D 7 .S SR("RA")=$G(^SRF(SRTN,"RA")) I $P(SR("RA"),"^")="T",$D(^SRF(SRTN,0)),$$MANDIV^SROUTL0(SRINSTP,SRTN) D SET 8 Q 9 SET ; print assessments 10 K SRCPTT,SREX S SRCPTT="NOT ENTERED",SREX="" 11 I $Y+5>IOSL S SRPAGE=SRPAGE+1 D HDR I SRSOUT Q 12 S SR("RA")=^SRF(SRTN,"RA") 13 I SRAST=1 Q:'($P(SR("RA"),"^",2)="N"!($P(SR("RA"),"^",2)="C"))!'($P(SR("RA"),"^",6)="Y") 14 I SRAST=2 Q:'($P(SR("RA"),"^",2)="N"!($P(SR("RA"),"^",2)="C"))!'($P(SR("RA"),"^",6)="N") 15 S SRAT="",Y=$E($P(SR("RA"),"^",8),1,7) S:Y="" Y=$E($P(SR("RA"),"^",4),1,7) I Y D D^DIQ S SRAT=Y 16 S SRA(0)=^SRF(SRTN,0),DFN=$P(SRA(0),"^") N I D DEM^VADPT S SRANM=VADM(1),SRASSN=VA("PID") K VADM 17 S SROPER=$P(^SRF(SRTN,"OP"),"^") I $O(^SRF(SRTN,13,0)) S SROTHER=0 F S SROTHER=$O(^SRF(SRTN,13,SROTHER)) Q:'SROTHER D OTHER 18 S X=$P(SR("RA"),"^",2) I X="C" S SROPER="* "_SROPER 19 K SROPS,MM,MMM S:$L(SROPER)<81 SROPS(1)=SROPER I $L(SROPER)>80 S SROPER=SROPER_" " F M=1:1 D LOOP Q:MMM="" 20 S SRSS=$P(SRA(0),"^",4),SRSS=$S(SRSS:$P(^SRO(137.45,SRSS,0),"^"),1:"SPECIALTY NOT ENTERED") 21 S TYPE=$P(SR("RA"),"^",2) I SRSS="SPECIALTY NOT ENTERED",TYPE="C" S SRSS="N/A" 22 D TECH^SROPRIN 23 S Y=$P(SRA(0),"^",9) D D^DIQ S SRDT=$P(Y,"@") 24 S X=$P(SR("RA"),"^",7) I X'="" S SREX="EXCLUDED" 25 W !,SRTN,?20,SRANM_" "_VA("PID"),?67,$P(SRSS,"("),?107,SRTECH,!,SRDT,?20,SROPS(1),?107,SRAT I $D(SROPS(2)) W !,?20,SROPS(2) I $D(SROPS(3)) W !,?20,SROPS(3) I $D(SROPS(4)) W !,?20,SROPS(4) 26 N I,SRPROC,SRL S SRL=100 D CPTS^SROAUTL0 W !,SREX,?20,"CPT Codes: " 27 F I=1:1 Q:'$D(SRPROC(I)) W:I=1 ?31,SRPROC(I) W:I'=1 !,?31,SRPROC(I) 28 W ! F LINE=1:1:132 W "-" 29 Q 30 OTHER ; other operations 31 S SRLONG=1 I $L(SROPER)+$L($P(^SRF(SRTN,13,SROTHER,0),"^"))>165 S SRLONG=0,SROTHER=999,SROPERS=" ..." 32 I SRLONG S SROPERS=$P(^SRF(SRTN,13,SROTHER,0),"^") 33 S SROPER=SROPER_$S(SROPERS'=" ...":", "_SROPERS,1:SROPERS) 34 Q 35 LOOP ; break procedures 36 S SROPS(M)="" F LOOP=1:1 S MM=$P(SROPER," "),MMM=$P(SROPER," ",2,200) Q:MMM="" Q:$L(SROPS(M))+$L(MM)'<44 S SROPS(M)=SROPS(M)_MM_" ",SROPER=MMM 37 Q 38 HDR ; print heading 39 I $D(ZTQUEUED) D ^SROSTOP I SRHALT S SRSOUT=1 Q 40 W:$Y @IOF W !,?52,"TRANSMITTED RISK ASSESSMENTS",?120,"PAGE "_SRPAGE,!,?(132-$L(SRINST)\2),SRINST,!,?58,"SURGERY SERVICE",?100,"DATE REVIEWED:" 41 W !,?(132-$L(SRFRTO)\2),SRFRTO,?100,"REVIEWED BY:" 42 W !!,"ASSESSMENT #",?20,"PATIENT",?67,"SURGICAL SPECIALTY",?107,"ANESTHESIA TECHNIQUE",!,"OPERATION DATE",?20,"OPERATIVE PROCEDURE(S)",?107,"TRANSMISSION DATE",! F LINE=1:1:132 W "=" 43 Q 1 SROALTP ;BIR/MAM - TRANSMITTED ASSESSMENTS (PRINTER) ;01/18/07 2 ;;3.0; Surgery ;**32,50,142,153,160**;24 Jun 93;Build 7 3 S SRPAGE=1,(SRSOUT,SRDFN)=0 D HDR Q:SRSOUT 4 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!SRSOUT S SR("RA")=$G(^SRF(SRTN,"RA")) I $P(SR("RA"),"^")="T",$D(^SRF(SRTN,0)),$$MANDIV^SROUTL0(SRINSTP,SRTN) D SET 5 Q 6 SET ; print assessments 7 K SRCPTT S SRCPTT="NOT ENTERED" 8 I $Y+5>IOSL S SRPAGE=SRPAGE+1 D HDR I SRSOUT Q 9 S SRA(0)=^SRF(SRTN,0),DFN=$P(SRA(0),"^") N I D DEM^VADPT S SRANM=VADM(1),SRASSN=VA("PID") K VADM 10 S SROPER=$P(^SRF(SRTN,"OP"),"^") I $O(^SRF(SRTN,13,0)) S SROTHER=0 F S SROTHER=$O(^SRF(SRTN,13,SROTHER)) Q:'SROTHER D OTHER 11 S X=$P($G(^SRF(SRTN,"RA")),"^",2) I X="C" S SROPER="* "_SROPER 12 K SROPS,MM,MMM S:$L(SROPER)<81 SROPS(1)=SROPER I $L(SROPER)>80 S SROPER=SROPER_" " F M=1:1 D LOOP Q:MMM="" 13 S SRSS=$P(SRA(0),"^",4),SRSS=$S(SRSS:$P(^SRO(137.45,SRSS,0),"^"),1:"SPECIALTY NOT ENTERED") 14 S TYPE=$P(SR("RA"),"^",2) I SRSS="SPECIALTY NOT ENTERED",TYPE="C" S SRSS="N/A" 15 D TECH^SROPRIN 16 S Y=$P(SRA(0),"^",9) D D^DIQ S SRDT=$P(Y,"@") 17 W !,SRTN,?20,SRANM_" "_VA("PID"),?67,$P(SRSS,"("),?107,SRTECH,!,SRDT,?20,SROPS(1) I $D(SROPS(2)) W !,?20,SROPS(2) I $D(SROPS(3)) W !,?20,SROPS(3) I $D(SROPS(4)) W !,?20,SROPS(4) 18 N I,SRPROC,SRL S SRL=100 D CPTS^SROAUTL0 W !,?20,"CPT Codes: " 19 F I=1:1 Q:'$D(SRPROC(I)) W:I=1 ?31,SRPROC(I) W:I'=1 !,?31,SRPROC(I) 20 W ! F LINE=1:1:132 W "-" 21 Q 22 OTHER ; other operations 23 S SRLONG=1 I $L(SROPER)+$L($P(^SRF(SRTN,13,SROTHER,0),"^"))>165 S SRLONG=0,SROTHER=999,SROPERS=" ..." 24 I SRLONG S SROPERS=$P(^SRF(SRTN,13,SROTHER,0),"^") 25 S SROPER=SROPER_$S(SROPERS'=" ...":", "_SROPERS,1:SROPERS) 26 Q 27 LOOP ; break procedures 28 S SROPS(M)="" F LOOP=1:1 S MM=$P(SROPER," "),MMM=$P(SROPER," ",2,200) Q:MMM="" Q:$L(SROPS(M))+$L(MM)'<44 S SROPS(M)=SROPS(M)_MM_" ",SROPER=MMM 29 Q 30 HDR ; print heading 31 I $D(ZTQUEUED) D ^SROSTOP I SRHALT S SRSOUT=1 Q 32 W:$Y @IOF W !,?52,"TRANSMITTED RISK ASSESSMENTS",?120,"PAGE "_SRPAGE,!,?(132-$L(SRINST)\2),SRINST,!,?58,"SURGERY SERVICE",?100,"DATE REVIEWED:" 33 W !,?(132-$L(SRFRTO)\2),SRFRTO,?100,"REVIEWED BY:" 34 W !!,"ASSESSMENT #",?20,"PATIENT",?67,"SURGICAL SPECIALTY",?107,"ANESTHESIA TECHNIQUE",!,"OPERATION DATE",?20,"OPERATIVE PROCEDURE(S)",! F LINE=1:1:132 W "=" 35 Q -
WorldVistAEHR/trunk/r/SURGERY-SR/SROALTS.m
r613 r623 1 SROALTS ;BIR/MAM - TRANSMITTED ASSESSMENTS ;01/07/08 2 ;;3.0; Surgery ;**38,50,142,153,160,166**;24 Jun 93;Build 7 3 S SRFRTO=$S(SRSRT=2:"TRANSMISSION DATES ",1:"OPERATION DATES ")_SRFRTO 4 I $E(IOST)="P" D ^SROALTSP Q 5 S SRSOUT=0 D HDR 6 I SRSRT=2 F S SRSD=$O(^SRF("AT",SRSD)) Q:'SRSD!(SRSD>SRED)!SRSOUT S SRTN=0 F S SRTN=$O(^SRF("AT",SRSD,SRTN)) Q:'SRTN!SRSOUT D 7 .S SR("RA")=$G(^SRF(SRTN,"RA")) I $P(SR("RA"),"^")="T",$D(^SRF(SRTN,0)),$$MANDIV^SROUTL0(SRINSTP,SRTN) D UTL 8 I SRSRT=1 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!SRSOUT D 9 .S SR("RA")=$G(^SRF(SRTN,"RA")) I $P(SR("RA"),"^")="T",$D(^SRF(SRTN,0)),$$MANDIV^SROUTL0(SRINSTP,SRTN) D UTL 10 S SRSS="" F S SRSS=$O(^TMP("SRA",$J,SRSS)) Q:SRSS=""!SRSOUT D SS S SRTN=0 F J=0:0 S SRTN=$O(^TMP("SRA",$J,SRSS,SRTN)) Q:'SRTN!SRSOUT D SET 11 I '$D(^TMP("SRA",$J)) W $$NODATA^SROUTL0() 12 Q 13 UTL ; write to ^TMP("SRA",$J) 14 I SRFLG,$P(^SRF(SRTN,0),"^",4)'=SRASP Q 15 S SRSS=$P(^SRF(SRTN,0),"^",4),SRSS=$S(SRSS:$P(^SRO(137.45,SRSS,0),"^"),1:"SPECIALTY NOT ENTERED") 16 S SR("RA")=^SRF(SRTN,"RA") 17 I SRAST=1 Q:'($P(SR("RA"),"^",2)="N"!($P(SR("RA"),"^",2)="C"))!'($P(SR("RA"),"^",6)="Y") 18 I SRAST=2 Q:'($P(SR("RA"),"^",2)="N"!($P(SR("RA"),"^",2)="C"))!'($P(SR("RA"),"^",6)="N") 19 S ^TMP("SRA",$J,SRSS,SRTN)="" 20 Q 21 SET ; print assessments 22 K SRCPTT,SREX S SRCPTT="NOT ENTERED",SREX="" 23 I $Y+5>IOSL D PAGE I SRSOUT Q 24 S SR("RA")=^SRF(SRTN,"RA") 25 S SRAT="",Y=$E($P(SR("RA"),"^",8),1,7) S:Y="" Y=$E($P(SR("RA"),"^",4),1,7) I Y D D^DIQ S SRAT=Y 26 S SRA(0)=^SRF(SRTN,0),DFN=$P(SRA(0),"^") N I D DEM^VADPT S SRANM=VADM(1),SRASSN=VA("PID") K VADM 27 I $L(SRANM)>19 S SRANM=$P(SRANM,",")_","_$E($P(SRANM,",",2))_"." 28 S SROPER=$P(^SRF(SRTN,"OP"),"^") I $O(^SRF(SRTN,13,0)) S SROTHER=0 F I=0:0 S SROTHER=$O(^SRF(SRTN,13,SROTHER)) Q:'SROTHER D OTHER 29 S X=$P(SR("RA"),"^",2) I X="C" S SROPER="* "_SROPER 30 K SROPS,MM,MMM S:$L(SROPER)<34 SROPS(1)=SROPER I $L(SROPER)>33 S SROPER=SROPER_" " F M=1:1 D LOOP Q:MMM="" 31 D TECH^SROPRIN 32 S Y=$P(SRA(0),"^",9) D D^DIQ S SRDT=$P(Y,"@") 33 S X=$P(SR("RA"),"^",7) I X'="" S SREX="EXCLUDED" 34 W !,SRTN,?20,SRANM_" "_VA("PID"),?55,SRAT,!,SRDT,?20,SROPS(1),?55,SRTECH S SRAO=1 F I=0:0 S SRAO=$O(SROPS(SRAO)) Q:'SRAO W !,?20,SROPS(SRAO) 35 N I,SRPROC,SRL S SRL=48 D CPTS^SROAUTL0 W !,SREX,?20,"CPT Codes: " 36 F I=1:1 Q:'$D(SRPROC(I)) W:I=1 ?31,SRPROC(I) W:I'=1 !,?31,SRPROC(I) 37 W ! F LINE=1:1:80 W "-" 38 Q 39 OTHER ; other operations 40 S SRLONG=1 I $L(SROPER)+$L($P(^SRF(SRTN,13,SROTHER,0),"^"))>125 S SRLONG=0,SROTHER=999,SROPERS=" ..." 41 I SRLONG S SROPERS=$P(^SRF(SRTN,13,SROTHER,0),"^") 42 S SROPER=SROPER_$S(SROPERS'=" ...":", "_SROPERS,1:SROPERS) 43 Q 44 LOOP ; break procedures 45 S SROPS(M)="" F LOOP=1:1 S MM=$P(SROPER," "),MMM=$P(SROPER," ",2,200) Q:MMM="" Q:$L(SROPS(M))+$L(MM)'<34 S SROPS(M)=SROPS(M)_MM_" ",SROPER=MMM 46 Q 47 PAGE W !!,"Press <RET> to continue, or '^' to quit " R X:DTIME I '$T!(X["^") S SRSOUT=1 Q 48 I X["?" W !!,"If you want to continue listing incomplete assessments, enter <RET>. Enter",!,"'^' to return to the menu." G PAGE 49 HDR W @IOF,!,?26,"TRANSMITTED RISK ASSESSMENTS",!,?(80-$L(SRFRTO)\2),SRFRTO,!!,"ASSESSMENT #",?20,"PATIENT",?55,"TRANSMISSION DATE",!,"OPERATION DATE",?20,"OPERATION(S)",?55,"ANESTHESIA TECHNIQUE",! F LINE=1:1:80 W "=" 50 Q 51 SS ; print surgical specialty 52 I $Y+5>IOSL D PAGE Q:SRSOUT 53 W !!,"** SURGICAL SPECIALTY: ",SRSS," **",! 54 Q 1 SROALTS ;BIR/MAM - TRANSMITTED ASSESSMENTS ;01/18/07 2 ;;3.0; Surgery ;**38,50,142,153,160**;24 Jun 93;Build 7 3 I $E(IOST)="P" D ^SROALTSP Q 4 S SRSOUT=0 D HDR 5 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!SRSOUT S SR("RA")=$G(^SRF(SRTN,"RA")) I $P(SR("RA"),"^")="T",$D(^SRF(SRTN,0)),$$MANDIV^SROUTL0(SRINSTP,SRTN) D UTL 6 S SRSS="" F S SRSS=$O(^TMP("SRA",$J,SRSS)) Q:SRSS=""!SRSOUT D SS S SRTN=0 F J=0:0 S SRTN=$O(^TMP("SRA",$J,SRSS,SRTN)) Q:'SRTN!SRSOUT D SET 7 I '$D(^TMP("SRA",$J)) W $$NODATA^SROUTL0() 8 Q 9 UTL ; write to ^TMP("SRA",$J) 10 I SRFLG,$P(^SRF(SRTN,0),"^",4)'=SRASP Q 11 S SRSS=$P(^SRF(SRTN,0),"^",4),SRSS=$S(SRSS:$P(^SRO(137.45,SRSS,0),"^"),1:"SPECIALTY NOT ENTERED") 12 S ^TMP("SRA",$J,SRSS,SRTN)="" 13 Q 14 SET ; print assessments 15 K SRCPTT S SRCPTT="NOT ENTERED" 16 I $Y+5>IOSL D PAGE I SRSOUT Q 17 S SR("RA")=^SRF(SRTN,"RA"),SRAT="",Y=$E($P(SR("RA"),"^",4),1,7) I Y D D^DIQ S SRAT=Y 18 S SRA(0)=^SRF(SRTN,0),DFN=$P(SRA(0),"^") N I D DEM^VADPT S SRANM=VADM(1),SRASSN=VA("PID") K VADM 19 I $L(SRANM)>19 S SRANM=$P(SRANM,",")_","_$E($P(SRANM,",",2))_"." 20 S SROPER=$P(^SRF(SRTN,"OP"),"^") I $O(^SRF(SRTN,13,0)) S SROTHER=0 F I=0:0 S SROTHER=$O(^SRF(SRTN,13,SROTHER)) Q:'SROTHER D OTHER 21 S X=$P($G(^SRF(SRTN,"RA")),"^",2) I X="C" S SROPER="* "_SROPER 22 K SROPS,MM,MMM S:$L(SROPER)<34 SROPS(1)=SROPER I $L(SROPER)>33 S SROPER=SROPER_" " F M=1:1 D LOOP Q:MMM="" 23 D TECH^SROPRIN 24 S Y=$P(SRA(0),"^",9) D D^DIQ S SRDT=$P(Y,"@") 25 W !,SRTN,?20,SRANM_" "_VA("PID"),?55,SRAT,!,SRDT,?20,SROPS(1),?55,SRTECH S SRAO=1 F I=0:0 S SRAO=$O(SROPS(SRAO)) Q:'SRAO W !,?20,SROPS(SRAO) 26 N I,SRPROC,SRL S SRL=48 D CPTS^SROAUTL0 W !,?20,"CPT Codes: " 27 F I=1:1 Q:'$D(SRPROC(I)) W:I=1 ?31,SRPROC(I) W:I'=1 !,?31,SRPROC(I) 28 W ! F LINE=1:1:80 W "-" 29 Q 30 OTHER ; other operations 31 S SRLONG=1 I $L(SROPER)+$L($P(^SRF(SRTN,13,SROTHER,0),"^"))>125 S SRLONG=0,SROTHER=999,SROPERS=" ..." 32 I SRLONG S SROPERS=$P(^SRF(SRTN,13,SROTHER,0),"^") 33 S SROPER=SROPER_$S(SROPERS'=" ...":", "_SROPERS,1:SROPERS) 34 Q 35 LOOP ; break procedures 36 S SROPS(M)="" F LOOP=1:1 S MM=$P(SROPER," "),MMM=$P(SROPER," ",2,200) Q:MMM="" Q:$L(SROPS(M))+$L(MM)'<34 S SROPS(M)=SROPS(M)_MM_" ",SROPER=MMM 37 Q 38 PAGE W !!,"Press <RET> to continue, or '^' to quit " R X:DTIME I '$T!(X["^") S SRSOUT=1 Q 39 I X["?" W !!,"If you want to continue listing incomplete assessments, enter <RET>. Enter",!,"'^' to return to the menu." G PAGE 40 HDR W @IOF,!,?26,"TRANSMITTED RISK ASSESSMENTS",!,?(80-$L(SRFRTO)\2),SRFRTO,!!,"ASSESSMENT #",?20,"PATIENT",?55,"TRANSMISSION DATE",!,"OPERATION DATE",?20,"OPERATION(S)",?55,"ANESTHESIA TECHNIQUE",! F LINE=1:1:80 W "=" 41 Q 42 SS ; print surgical specialty 43 I $Y+5>IOSL D PAGE Q:SRSOUT 44 W !!,"** SURGICAL SPECIALTY: ",SRSS," **",! 45 Q -
WorldVistAEHR/trunk/r/SURGERY-SR/SROALTSP.m
r613 r623 1 SROALTSP ;BIR/MAM - TRANSMITTED ASSESSMENTS (PRINTER) ;01/07/08 2 ;;3.0; Surgery ;**32,50,142,153,160,166**;24 Jun 93;Build 7 3 K ^TMP("SRA",$J) S SRPAGE=0,(SRSOUT,SRDFN)=0 D HDR Q:SRSOUT 4 I SRSRT=2 F S SRSD=$O(^SRF("AT",SRSD)) Q:'SRSD!(SRSD>SRED)!SRSOUT S SRTN=0 F S SRTN=$O(^SRF("AT",SRSD,SRTN)) Q:'SRTN!SRSOUT D 5 .S SR("RA")=$G(^SRF(SRTN,"RA")) I $P(SR("RA"),"^")="T",$D(^SRF(SRTN,0)),$$MANDIV^SROUTL0(SRINSTP,SRTN) D UTL 6 I SRSRT=1 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!SRSOUT D 7 .S SR("RA")=$G(^SRF(SRTN,"RA")) I $P(SR("RA"),"^")="T",$D(^SRF(SRTN,0)),$$MANDIV^SROUTL0(SRINSTP,SRTN) D UTL 8 S SRSS="" F S SRSS=$O(^TMP("SRA",$J,SRSS)) Q:SRSS=""!SRSOUT D SS S SRTN=0 F S SRTN=$O(^TMP("SRA",$J,SRSS,SRTN)) Q:'SRTN!SRSOUT D SET 9 I '$D(^TMP("SRA",$J)) W $$NODATA^SROUTL0() 10 Q 11 UTL ; write to ^TMP("SRA",$J) 12 I SRFLG,$P(^SRF(SRTN,0),"^",4)'=SRASP Q 13 S SRSS=$P(^SRF(SRTN,0),"^",4),SRSS=$S(SRSS:$P(^SRO(137.45,SRSS,0),"^"),1:"SPECIALTY NOT ENTERED") 14 S TYPE=$P(SR("RA"),"^",2) I SRSS="SPECIALTY NOT ENTERED",TYPE="C" S SRSS="N/A" 15 S SR("RA")=^SRF(SRTN,"RA") 16 I SRAST=1 Q:'($P(SR("RA"),"^",2)="N"!($P(SR("RA"),"^",2)="C"))!'($P(SR("RA"),"^",6)="Y") 17 I SRAST=2 Q:'($P(SR("RA"),"^",2)="N"!($P(SR("RA"),"^",2)="C"))!'($P(SR("RA"),"^",6)="N") 18 S ^TMP("SRA",$J,SRSS,SRTN)="" 19 Q 20 SET ; print assessments 21 K SRCPTT,SREX S SRCPTT="NOT ENTERED",SREX="" 22 I $Y+5>IOSL D HDR I SRSOUT Q 23 S SR("RA")=^SRF(SRTN,"RA") 24 S SRAT="",Y=$E($P(SR("RA"),"^",8),1,7) S:Y="" Y=$E($P(SR("RA"),"^",4),1,7) I Y D D^DIQ S SRAT=Y 25 S SRA(0)=^SRF(SRTN,0),DFN=$P(SRA(0),"^") N I D DEM^VADPT S SRANM=VADM(1),SRASSN=VA("PID") K VADM 26 S SROPER=$P(^SRF(SRTN,"OP"),"^") I $O(^SRF(SRTN,13,0)) S SROTHER=0 F S SROTHER=$O(^SRF(SRTN,13,SROTHER)) Q:'SROTHER D OTHER 27 S X=$P(SR("RA"),"^",2) I X="C" S SROPER="* "_SROPER 28 K SROPS,MM,MMM S:$L(SROPER)<81 SROPS(1)=SROPER I $L(SROPER)>80 S SROPER=SROPER_" " F M=1:1 D LOOP Q:MMM="" 29 D TECH^SROPRIN 30 S Y=$P(SRA(0),"^",9) D D^DIQ S SRDT=$P(Y,"@") 31 S X=$P(SR("RA"),"^",7) I X'="" S SREX="EXCLUDED" 32 W !,SRTN,?20,SRANM_" "_VA("PID"),?67,SRAT,?107,SRTECH,!,SRDT,?20,SROPS(1) S SRAO=1 F S SRAO=$O(SROPS(SRAO)) Q:'SRAO W !,?20,SROPS(SRAO) 33 N I,SRPROC,SRL S SRL=100 D CPTS^SROAUTL0 W !,SREX,?20,"CPT Codes: " 34 F I=1:1 Q:'$D(SRPROC(I)) W:I=1 ?31,SRPROC(I) W:I'=1 !,?31,SRPROC(I) 35 D LINE 36 Q 37 OTHER ; other operations 38 S SRLONG=1 I $L(SROPER)+$L($P(^SRF(SRTN,13,SROTHER,0),"^"))>165 S SRLONG=0,SROTHER=999,SROPERS=" ..." 39 I SRLONG S SROPERS=$P(^SRF(SRTN,13,SROTHER,0),"^") 40 S SROPER=SROPER_$S(SROPERS'=" ...":", "_SROPERS,1:SROPERS) 41 Q 42 LOOP ; break procedures 43 S SROPS(M)="" F LOOP=1:1 S MM=$P(SROPER," "),MMM=$P(SROPER," ",2,200) Q:MMM="" Q:$L(SROPS(M))+$L(MM)'<44 S SROPS(M)=SROPS(M)_MM_" ",SROPER=MMM 44 Q 45 HDR ; print heading 46 I $D(ZTQUEUED) D ^SROSTOP I SRHALT S SRSOUT=1 Q 47 S SRPAGE=SRPAGE+1 W:$Y @IOF W !,?52,"TRANSMITTED RISK ASSESSMENTS",?120,"PAGE "_SRPAGE,!,?(132-$L(SRINST)\2),SRINST,!,?58,"SURGERY SERVICE",?100,"DATE REVIEWED:" 48 W !,?(132-$L(SRFRTO)\2),SRFRTO,?100,"REVIEWED BY:" 49 W !!,"ASSESSMENT #",?20,"PATIENT",?67,"TRANSMISSION DATE",?107,"ANESTHESIA TECHNIQUE",!,"OPERATION DATE",?20,"OPERATIVE PROCEDURE(S)",! F LINE=1:1:132 W "=" 50 Q 51 SS ;print surgical specialty 52 I $Y+5>IOSL D HDR 53 W !!,"** SURGICAL SPECIALTY: ",SRSS," **",! 54 Q 55 LINE W ! F L=1:1:132 W "-" 56 Q 1 SROALTSP ;BIR/MAM - TRANSMITTED ASSESSMENTS (PRINTER) ;01/18/07 2 ;;3.0; Surgery ;**32,50,142,153,160**;24 Jun 93;Build 7 3 K ^TMP("SRA",$J) S SRPAGE=0,(SRSOUT,SRDFN)=0 D HDR Q:SRSOUT 4 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!SRSOUT S SR("RA")=$G(^SRF(SRTN,"RA")) I $P(SR("RA"),"^")="T",$D(^SRF(SRTN,0)),$$MANDIV^SROUTL0(SRINSTP,SRTN) D UTL 5 S SRSS="" F S SRSS=$O(^TMP("SRA",$J,SRSS)) Q:SRSS=""!SRSOUT D SS S SRTN=0 F S SRTN=$O(^TMP("SRA",$J,SRSS,SRTN)) Q:'SRTN!SRSOUT D SET 6 I '$D(^TMP("SRA",$J)) W $$NODATA^SROUTL0() 7 Q 8 UTL ; write to ^TMP("SRA",$J) 9 I SRFLG,$P(^SRF(SRTN,0),"^",4)'=SRASP Q 10 S SRSS=$P(^SRF(SRTN,0),"^",4),SRSS=$S(SRSS:$P(^SRO(137.45,SRSS,0),"^"),1:"SPECIALTY NOT ENTERED") 11 S TYPE=$P(SR("RA"),"^",2) I SRSS="SPECIALTY NOT ENTERED",TYPE="C" S SRSS="N/A" 12 S ^TMP("SRA",$J,SRSS,SRTN)="" 13 Q 14 SET ; print assessments 15 K SRCPTT S SRCPTT="NOT ENTERED" 16 I $Y+5>IOSL D HDR I SRSOUT Q 17 S SR("RA")=^SRF(SRTN,"RA"),SRAT="",Y=$E($P(SR("RA"),"^",4),1,7) I Y D D^DIQ S SRAT=Y 18 S SRA(0)=^SRF(SRTN,0),DFN=$P(SRA(0),"^") N I D DEM^VADPT S SRANM=VADM(1),SRASSN=VA("PID") K VADM 19 S SROPER=$P(^SRF(SRTN,"OP"),"^") I $O(^SRF(SRTN,13,0)) S SROTHER=0 F S SROTHER=$O(^SRF(SRTN,13,SROTHER)) Q:'SROTHER D OTHER 20 S X=$P($G(^SRF(SRTN,"RA")),"^",2) I X="C" S SROPER="* "_SROPER 21 K SROPS,MM,MMM S:$L(SROPER)<81 SROPS(1)=SROPER I $L(SROPER)>80 S SROPER=SROPER_" " F M=1:1 D LOOP Q:MMM="" 22 D TECH^SROPRIN 23 S Y=$P(SRA(0),"^",9) D D^DIQ S SRDT=$P(Y,"@") 24 W !,SRTN,?20,SRANM_" "_VA("PID"),?67,SRAT,?107,SRTECH,!,SRDT,?20,SROPS(1) S SRAO=1 F S SRAO=$O(SROPS(SRAO)) Q:'SRAO W !,?20,SROPS(SRAO) 25 N I,SRPROC,SRL S SRL=100 D CPTS^SROAUTL0 W !,?20,"CPT Codes: " 26 F I=1:1 Q:'$D(SRPROC(I)) W:I=1 ?31,SRPROC(I) W:I'=1 !,?31,SRPROC(I) 27 D LINE 28 Q 29 OTHER ; other operations 30 S SRLONG=1 I $L(SROPER)+$L($P(^SRF(SRTN,13,SROTHER,0),"^"))>165 S SRLONG=0,SROTHER=999,SROPERS=" ..." 31 I SRLONG S SROPERS=$P(^SRF(SRTN,13,SROTHER,0),"^") 32 S SROPER=SROPER_$S(SROPERS'=" ...":", "_SROPERS,1:SROPERS) 33 Q 34 LOOP ; break procedures 35 S SROPS(M)="" F LOOP=1:1 S MM=$P(SROPER," "),MMM=$P(SROPER," ",2,200) Q:MMM="" Q:$L(SROPS(M))+$L(MM)'<44 S SROPS(M)=SROPS(M)_MM_" ",SROPER=MMM 36 Q 37 HDR ; print heading 38 I $D(ZTQUEUED) D ^SROSTOP I SRHALT S SRSOUT=1 Q 39 S SRPAGE=SRPAGE+1 W:$Y @IOF W !,?52,"TRANSMITTED RISK ASSESSMENTS",?120,"PAGE "_SRPAGE,!,?(132-$L(SRINST)\2),SRINST,!,?58,"SURGERY SERVICE",?100,"DATE REVIEWED:" 40 W !,?(132-$L(SRFRTO)\2),SRFRTO,?100,"REVIEWED BY:" 41 W !!,"ASSESSMENT #",?20,"PATIENT",?67,"TRANSMISSION DATE",?107,"ANESTHESIA TECHNIQUE",!,"OPERATION DATE",?20,"OPERATIVE PROCEDURE(S)",! F LINE=1:1:132 W "=" 42 Q 43 SS ;print surgical specialty 44 I $Y+5>IOSL D HDR 45 W !!,"** SURGICAL SPECIALTY: ",SRSS," **",! 46 Q 47 LINE W ! F L=1:1:132 W "-" 48 Q -
WorldVistAEHR/trunk/r/SURGERY-SR/SROAMEAS.m
r613 r623 1 SROAMEAS ;BIR/MAM - INPUT TRANSFORMS, HEIGHT & WEIGHT ;03/20/06 2 ;;3.0; Surgery ;**38,125,153,166**;24 Jun 93;Build 7 3 H Q:'$D(X) I X'?.N1"C"&(X'?.N1"c"),(+X'=X) K X Q 4 I +X=X S X=X+.5\1 I X'>47.9!(X'<86.1) K X Q 5 S:X["c" X=+X_"C" 6 I X?.N1"C",(X'>121.9!(X'<218.1)) K X 7 Q 8 W Q:'$D(X) I +X'=X,(X'?.N1"K")&(X'?.N1"k") K X Q 9 I +X=X S X=X+.5\1 I X'>49.9!(X'<700.1) K X Q 10 S:X["k" X=+X_"K" 11 I X?.N1"K",(X'>22.9!(X'<318.1)) K X 12 Q 13 HWC ; reject NS entry if the case is cardiac one 14 S X=$S(X="ns":"NS",1:X) 15 I $P($G(^SRF($S($G(SRTN):SRTN,1:DA),"RA")),"^",2)="C",X="NS" S X="" 16 Q 1 SROAMEAS ;BIR/MAM - INPUT TRANSFORMS, HEIGHT & WEIGHT ;03/20/06 2 ;;3.0; Surgery ;**38,125,153**;24 Jun 93;Build 11 3 H Q:'$D(X) I X'?.N1"C"&(X'?.N1"c"),(+X'=X) K X Q 4 I +X=X S X=X+.5\1 I X'>47.9!(X'<86.1) K X Q 5 S:X["c" X=+X_"C" 6 I X?.N1"C",(X'>121.9!(X'<218.1)) K X 7 Q 8 W Q:'$D(X) I +X'=X,(X'?.N1"K")&(X'?.N1"k") K X Q 9 I +X=X S X=X+.5\1 I X'>49.9!(X'<700.1) K X Q 10 S:X["k" X=+X_"K" 11 I X?.N1"K",(X'>22.9!(X'<318.1)) K X 12 Q -
WorldVistAEHR/trunk/r/SURGERY-SR/SROAMIS.m
r613 r623 1 SROAMIS ;BIR/MAM - ANESTHESIA AMIS REPORT ;11/26/07 2 ;;3.0; Surgery ;**22,34,38,77,50,86,166**;24 Jun 93;Build 7 3 UTL ; set up ^TMP("SROAMIS",$J 4 S PRIN=$P($G(^SRF(SRDFN,.3)),"^",8) I PRIN="" S PRIN="O" 5 S PROC=$S($D(^SRF(SRDFN,31)):$P(^(31),"^",9),1:""),DEATH="" 6 S:PRIN="O" TECH="L" I TECH="L",PRIN'="O" S TECH="O" 7 S S(0)=^SRF(SRDFN,0),DFN=$P(S(0),"^") S DEATH=$S('$D(^DPT(DFN,.35)):"",$P(^DPT(DFN,.35),"^")="":"",1:$P(^(.35),"^")) 8 I +DEATH S:$D(^TMP("SRTN",$J,DFN)) DEATH="" I +DEATH D DEAD 9 S $P(^TMP("SROAMIS",$J,"T",TECH),"^")=^TMP("SROAMIS",$J,"T",TECH)+1 I DEATH'="" S $P(^(TECH),"^",2)=$P(^(TECH),"^",2)+1 10 I PROC'="Y" S $P(^TMP("SROAMIS",$J,"P","SURG",PRIN),"^")=$P(^TMP("SROAMIS",$J,"P","SURG",PRIN),"^")+1 S:DEATH'="" $P(^(PRIN),"^",2)=$P(^(PRIN),"^",2)+1 11 I PROC="Y" S $P(^TMP("SROAMIS",$J,"P","DIAG",PRIN),"^")=$P(^TMP("SROAMIS",$J,"P","DIAG",PRIN),"^")+1 S:DEATH'="" $P(^(PRIN),"^",2)=$P(^(PRIN),"^",2)+1 12 Q 13 SET ; get anesthesia info from ^SRF(SRDFN,6 14 K SRTECH S (SRCNT,SRT,SRZ)=0,SRTN=SRDFN F S SRT=$O(^SRF(SRDFN,6,SRT)) Q:SRT=""!(SRZ) D ^SROPRIN S SRCNT=SRCNT+1 15 I '$D(SRTECH),SRCNT=1 S SRT=$O(^SRF(SRTN,6,0)),SRTECH=$P(^SRF(SRTN,6,SRT,0),"^") 16 K SRTN I $D(SRTECH) Q:SRTECH="N" S TECH=SRTECH D UTL 17 Q 18 HDR ; print heading 19 I $D(ZTQUEUED) D ^SROSTOP I SRHALT S SRSOUT=1 Q 20 W:$Y @IOF W !,?(132-$L(SRINST)\2),SRINST,!,?57,"ANESTHESIA SERVICE",?100,"REVIEWED BY: ",!,?58,"ANESTHESIA AMIS",?100,"DATE REVIEWED: " 21 W !,?(132-$L(SRFRTO)\2),SRFRTO,?100,SRPRINT 22 W !!!!! F I=1:1:IOM W "=" 23 W !,?38,"ANESTHETICS ADMINISTERED BY PRINCIPAL TECHNIQUE USED",! F I=1:1:IOM W "-" 24 W !,"TOTAL NO OF ANES- | | | | | |" 25 W !,"THETICS ADMINISTERED | GENERAL | MAC | SPINAL | EPIDURAL | OTHER | LOCAL",! F I=1:1:IOM W "-" 26 Q 27 END W:$E(IOST)="P" @IOF K ^TMP("SROAMIS",$J),^TMP("SRTN",$J) I $D(ZTQUEUED) Q:$G(ZTSTOP) S ZTREQ="@" Q 28 D ^%ZISC,^SRSKILL W @IOF 29 Q 30 DEAD ; check for death within 24 hrs. 31 S OPDATE=$S($D(^SRF(SRDFN,.2)):$P(^(.2),"^"),1:"") S:OPDATE="" OPDATE=$P(^SRF(SRDFN,0),"^",9) S X1=OPDATE,X2=1 D C^%DTC S OPONE=X S DEATH=$S(DEATH<(OPONE+.0001):1,1:"") 32 I DEATH S ^TMP("SRTN",$J,DFN)="" 33 Q 34 EN ; entry for SROAMIS option 35 W @IOF,!,"Anesthesia AMIS",!!,"This report is no longer available.",! 36 K DIR S DIR(0)="E" D ^DIR K DIR D END 37 Q 38 DATE D DATE^SROUTL(.SDATE,.EDATE,.SRSOUT) G:SRSOUT END S SRD=SDATE-.0001 39 N SRINSTP S SRINST=$$INST^SROUTL0() G:SRINST="^" END S SRINSTP=$P(SRINST,U),SRINST=$S(SRINST["ALL DIVISIONS":SRINST,1:$P(SRINST,U,2)) 40 W !!!,"This report is designed to use a 132 column format, and must be run",!,"on a printer.",!! 41 PTR K IOP,%ZIS,POP,IO("Q") S %ZIS("A")="Select Printer: ",%ZIS="QM" D ^%ZIS G:POP END W:$E(IOST)'="P" !!,"This report must be run on a printer.",!! G:$E(IOST)'="P" PTR 42 I $D(IO("Q")) K IO("Q") S ZTDESC="ANESTHESIA AMIS",ZTRTN="1^SROAMIS",(ZTSAVE("EDATE"),ZTSAVE("SDATE"),ZTSAVE("SRD"),ZTSAVE("SRINST"),ZTSAVE("SRINSTP"))="" D ^%ZTLOAD G END 43 1 ; entry when queued 44 U IO N SRFRTO K ^TMP("SROAMIS",$J),^TMP("SRTN",$J) S SRSOUT=0,Y=DT X ^DD("DD") S SRPRINT="DATE PRINTED: "_Y 45 S Y=SDATE X ^DD("DD") S SRFRTO="FROM: "_Y_" TO: ",Y=EDATE X ^DD("DD") S SRFRTO=SRFRTO_Y 46 F I="G","M","S","E","O","L" S ^TMP("SROAMIS",$J,"T",I)=0 F I="A","N","O" S ^TMP("SROAMIS",$J,"P","DIAG",I)=0,^TMP("SROAMIS",$J,"P","SURG",I)=0 K I 47 S SRDFN=0,Z=SRD F S Z=$O(^SRF("AC",Z)) Q:Z>(EDATE+.9999)!(Z="") F S SRDFN=$O(^SRF("AC",Z,SRDFN)) Q:SRDFN="" D 48 .I $D(^SRF(SRDFN,0)),$P($G(^SRF(SRDFN,.2)),"^",12)'=""!($P($G(^SRF(SRDFN,"NON")),"^")="Y"),$$MANDIV^SROUTL0(SRINSTP,SRDFN) D SET 49 D HDR G:SRSOUT END D PRINT^SROAMIS1 50 G END 1 SROAMIS ;B'HAM ISC/MAM - ANESTHESIA AMIS REPORT ; [ 12/16/98 2:06 PM ] 2 ;;3.0; Surgery ;**22,34,38,77,50,86**;24 Jun 93 3 UTL ; set up ^TMP("SROAMIS",$J 4 S PRIN=$P($G(^SRF(SRDFN,.3)),"^",8) I PRIN="" S PRIN="O" 5 S PROC=$S($D(^SRF(SRDFN,31)):$P(^(31),"^",9),1:""),DEATH="" 6 S:PRIN="O" TECH="L" I TECH="L",PRIN'="O" S TECH="O" 7 S S(0)=^SRF(SRDFN,0),DFN=$P(S(0),"^") S DEATH=$S('$D(^DPT(DFN,.35)):"",$P(^DPT(DFN,.35),"^")="":"",1:$P(^(.35),"^")) 8 I +DEATH S:$D(^TMP("SRTN",$J,DFN)) DEATH="" I +DEATH D DEAD 9 S $P(^TMP("SROAMIS",$J,"T",TECH),"^")=^TMP("SROAMIS",$J,"T",TECH)+1 I DEATH'="" S $P(^(TECH),"^",2)=$P(^(TECH),"^",2)+1 10 I PROC'="Y" S $P(^TMP("SROAMIS",$J,"P","SURG",PRIN),"^")=$P(^TMP("SROAMIS",$J,"P","SURG",PRIN),"^")+1 S:DEATH'="" $P(^(PRIN),"^",2)=$P(^(PRIN),"^",2)+1 11 I PROC="Y" S $P(^TMP("SROAMIS",$J,"P","DIAG",PRIN),"^")=$P(^TMP("SROAMIS",$J,"P","DIAG",PRIN),"^")+1 S:DEATH'="" $P(^(PRIN),"^",2)=$P(^(PRIN),"^",2)+1 12 Q 13 SET ; get anesthesia info from ^SRF(SRDFN,6 14 K SRTECH S (SRCNT,SRT,SRZ)=0,SRTN=SRDFN F S SRT=$O(^SRF(SRDFN,6,SRT)) Q:SRT=""!(SRZ) D ^SROPRIN S SRCNT=SRCNT+1 15 I '$D(SRTECH),SRCNT=1 S SRT=$O(^SRF(SRTN,6,0)),SRTECH=$P(^SRF(SRTN,6,SRT,0),"^") 16 K SRTN I $D(SRTECH) Q:SRTECH="N" S TECH=SRTECH D UTL 17 Q 18 HDR ; print heading 19 I $D(ZTQUEUED) D ^SROSTOP I SRHALT S SRSOUT=1 Q 20 W:$Y @IOF W !,?(132-$L(SRINST)\2),SRINST,!,?57,"ANESTHESIA SERVICE",?100,"REVIEWED BY: ",!,?58,"ANESTHESIA AMIS",?100,"DATE REVIEWED: " 21 W !,?(132-$L(SRFRTO)\2),SRFRTO,?100,SRPRINT 22 W !!!!! F I=1:1:IOM W "=" 23 W !,?38,"ANESTHETICS ADMINISTERED BY PRINCIPAL TECHNIQUE USED",! F I=1:1:IOM W "-" 24 W !,"TOTAL NO OF ANES- | | | | | |" 25 W !,"THETICS ADMINISTERED | GENERAL | MAC | SPINAL | EPIDURAL | OTHER | LOCAL",! F I=1:1:IOM W "-" 26 Q 27 END W:$E(IOST)="P" @IOF K ^TMP("SROAMIS",$J),^TMP("SRTN",$J) I $D(ZTQUEUED) Q:$G(ZTSTOP) S ZTREQ="@" Q 28 D ^%ZISC,^SRSKILL W @IOF 29 Q 30 DEAD ; check for death within 24 hrs. 31 S OPDATE=$S($D(^SRF(SRDFN,.2)):$P(^(.2),"^"),1:"") S:OPDATE="" OPDATE=$P(^SRF(SRDFN,0),"^",9) S X1=OPDATE,X2=1 D C^%DTC S OPONE=X S DEATH=$S(DEATH<(OPONE+.0001):1,1:"") 32 I DEATH S ^TMP("SRTN",$J,DFN)="" 33 Q 34 EN ; entry for SROAMIS option 35 W @IOF,!,"Anesthesia AMIS",! 36 DATE D DATE^SROUTL(.SDATE,.EDATE,.SRSOUT) G:SRSOUT END S SRD=SDATE-.0001 37 N SRINSTP S SRINST=$$INST^SROUTL0() G:SRINST="^" END S SRINSTP=$P(SRINST,U),SRINST=$S(SRINST["ALL DIVISIONS":SRINST,1:$P(SRINST,U,2)) 38 W !!!,"This report is designed to use a 132 column format, and must be run",!,"on a printer.",!! 39 PTR K IOP,%ZIS,POP,IO("Q") S %ZIS("A")="Select Printer: ",%ZIS="QM" D ^%ZIS G:POP END W:$E(IOST)'="P" !!,"This report must be run on a printer.",!! G:$E(IOST)'="P" PTR 40 I $D(IO("Q")) K IO("Q") S ZTDESC="ANESTHESIA AMIS",ZTRTN="1^SROAMIS",(ZTSAVE("EDATE"),ZTSAVE("SDATE"),ZTSAVE("SRD"),ZTSAVE("SRINST"),ZTSAVE("SRINSTP"))="" D ^%ZTLOAD G END 41 1 ; entry when queued 42 U IO N SRFRTO K ^TMP("SROAMIS",$J),^TMP("SRTN",$J) S SRSOUT=0,Y=DT X ^DD("DD") S SRPRINT="DATE PRINTED: "_Y 43 S Y=SDATE X ^DD("DD") S SRFRTO="FROM: "_Y_" TO: ",Y=EDATE X ^DD("DD") S SRFRTO=SRFRTO_Y 44 F I="G","M","S","E","O","L" S ^TMP("SROAMIS",$J,"T",I)=0 F I="A","N","O" S ^TMP("SROAMIS",$J,"P","DIAG",I)=0,^TMP("SROAMIS",$J,"P","SURG",I)=0 K I 45 S SRDFN=0,Z=SRD F S Z=$O(^SRF("AC",Z)) Q:Z>(EDATE+.9999)!(Z="") F S SRDFN=$O(^SRF("AC",Z,SRDFN)) Q:SRDFN="" D 46 .I $D(^SRF(SRDFN,0)),$P($G(^SRF(SRDFN,.2)),"^",12)'=""!($P($G(^SRF(SRDFN,"NON")),"^")="Y"),$$MANDIV^SROUTL0(SRINSTP,SRDFN) D SET 47 D HDR G:SRSOUT END D PRINT^SROAMIS1 48 G END -
WorldVistAEHR/trunk/r/SURGERY-SR/SROAOP.m
r613 r623 1 SROAOP ;BIR/MAM - ENTER OPERATION INFO ;11/27/07 2 ;;3.0; Surgery ;**19,38,47,63,67,81,86,97,100,125,142,153,160,166**;24 Jun 93;Build 7 3 I '$D(SRTN) W !!,"A Surgery Risk Assessment must be selected prior to using this option.",!!,"Press <RET> to continue " R X:DTIME G END 4 S SRSOUT=0,SRSUPCPT=1 D ^SROAUTL 5 START G:SRSOUT END K SRAOTH,SRACON D ^SROAOP1 6 ASK W !!,"Select Operative Information to Edit: " R SRASEL:DTIME I '$T!(SRASEL["^") S SRSOUT=1 G END 7 I SRASEL="" G END 8 S SRN=13 S:SRASEL="a" SRASEL="A" I '$D(SRAO(SRASEL)),(SRASEL'?.N1":".N),(SRASEL'="A") D HELP G:SRSOUT END G START 9 I SRASEL="A" S SRASEL="1:"_SRN 10 I SRASEL?.N1":".N S Y=$E(SRASEL),Z=$P(SRASEL,":",2) I Y<1!(Z>SRN)!(Y>Z) D HELP G:SRSOUT END G START 11 S MM=$E(SRASEL) I MM'=3,(MM'=4),(MM'=5) S SRHDR(.5)=SRDOC D HDR^SROAUTL 12 I SRASEL?.N1":".N D RANGE G START 13 Q:'$D(SRAO(SRASEL)) 14 S EMILY=SRASEL D G START 15 .I $$LOCK^SROUTL(SRTN) D ONE,UNLOCK^SROUTL(SRTN) 16 END I $D(SRSOUT),'SRSOUT D ^SROAOP2 17 I $D(SRTN) S SROERR=SRTN D ^SROERR0 18 W @IOF D ^SRSKILL 19 Q 20 HELP W @IOF,!!!!,"Enter the number or range of numbers you want to edit. Examples of proper" 21 W !,"responses are listed below.",!!,"1. Enter 'A' to update all information." 22 W !!,"2. Enter a number (1-"_SRN_") to update the information in that field. (For" 23 W !," example, enter '2' to update Principal Operation.)" 24 W !!,"3. Enter a range of numbers (1-"_SRN_") separated by a ':' to enter a range of" 25 W !," information. (For example, enter '6:8' to update PGY of Primary Surgeon," 26 W !," Surgical Priority and Wound Classification.)",! 27 PRESS K DIR S DIR(0)="E" D ^DIR K DIR I $D(DTOUT)!$D(DUOUT) S SRSOUT=1 28 Q 29 RANGE ; range of numbers 30 I $$LOCK^SROUTL(SRTN) D D UNLOCK^SROUTL(SRTN) 31 .S SHEMP=$P(SRASEL,":"),CURLEY=$P(SRASEL,":",2) F EMILY=SHEMP:1:CURLEY Q:SRSOUT D ONE 32 Q 33 ONE ; edit one item 34 I EMILY=3 D DISP^SROAUTL0 Q 35 I EMILY=10 D ANES Q 36 I EMILY=4 D ^SROTHER Q 37 I EMILY=5 D CONCUR Q 38 I EMILY=6,SRASEL[":",($P(SRASEL,":")'=6) S SRPAGE="" S SRHDR(.5)=SRDOC D HDR^SROAUTL 39 K DR,DIE S DA=SRTN,DR=$P(SRAO(EMILY),"^",2)_"T",DIE=130 D ^DIE K DR I $D(Y) S SRSOUT=1 40 I EMILY=2 D ^SROAUTL 41 Q 42 RET Q:SRSOUT W !!,"Press ENTER to continue, or '^' to quit " R X:DTIME I '$T!(X["^") S SRSOUT=1 Q 43 Q 44 CONCUR ; concurrent case information 45 N SRPROC,SRCSTAT S SRLINE="" F I=1:1:80 S SRLINE=SRLINE_"-" 46 S CON=$P($G(^SRF(SRTN,"CON")),"^") I CON,($P($G(^SRF(CON,30)),"^")!($P($G(^SRF(CON,31)),"^",8))) S CON="" 47 S SRPAGE="" D HDR^SROAUTL 48 W !,"Concurrent case information cannot be updated using the Risk Assessment" 49 W !,"Module. To update the CPT code of a concurrent case, please use an option" 50 W !,"contained within the CPT/ICD9 Coding Menu." 51 I CON D CC W !!,"Concurrent Procedure: ",?22,SROPS(1) I $D(SROPS(2)) W !,?22,SROPS(2) I $D(SROPS(3)) W !,?22,SROPS(3) I $D(SROPS(4)) W !,?22,SROPS(4) 52 I $D(SRCSTAT) W !!,?22,SRCSTAT 53 W !!,"Press ENTER to continue " R X:DTIME 54 Q 55 CC ; list concurrent procedure 56 N SRTN,SRL,SRZ S SRCSTAT=">> Coding "_$S($P($G(^SRO(136,CON,10)),"^"):"",1:"Not ")_"Complete <<" 57 S SRL=55,SRTN=CON D CPTS^SROAUTL0 58 I SRPROC(1)="NOT ENTERED"!'$D(SRPROC(1)) S SRPROC(1)="CPT NOT ENTERED" K SRCSTAT 59 S SROPER=$P(^SRF(CON,"OP"),"^")_" (" F I=1:1 Q:'$D(SRPROC(I)) S SROPER=SROPER_SRPROC(I) 60 S SROPER=SROPER_")" 61 K SROPS,MM,MMM S:$L(SROPER)<57 SROPS(1)=SROPER 62 I $L(SROPER)>56 S SROPER=SROPER_" " F M=1:1 D LOOP Q:MMM="" 63 Q 64 LOOP ; break procedures 65 S SROPS(M)="" F LOOP=1:1 S MM=$P(SROPER," "),MMM=$P(SROPER," ",2,200) Q:MMM="" Q:$L(SROPS(M))+$L(MM)'<57 S SROPS(M)=SROPS(M)_MM_" ",SROPER=MMM 66 Q 67 ANES N SRANE,SRNEW 68 I $P(SRAO(10),"^")="NOT ENTERED",'$O(^SRF(SRTN,6,0)) D Q 69 .K DIR S DIR("A")="Select ANESTHESIA TECHNIQUE: ",DIR(0)="130.06,.01OA" D ^DIR K DIR S SRANE=Y I $D(DTOUT)!$D(DUOUT)!(Y="") Q 70 .K DD,DO S DIC="^SRF(SRTN,6,",X=SRANE,DIC(0)="L" D FILE^DICN K DIC,DD,DO I '+Y Q 71 .S SRNEW=+Y 72 .K DA,DIE,DR S DA=SRNEW,DA(1)=SRTN,DIE="^SRF(SRTN,6,",DR=".05T;42T" D ^DIE 73 K DR,DIE,DA S DA=SRTN,DR=".37T",DR(2,130.06)=".01T;.05T;42T",DIE=130 D ^DIE K DR 74 Q 1 SROAOP ;BIR/MAM - ENTER OPERATION INFO ;04/24/07 2 ;;3.0; Surgery ;**19,38,47,63,67,81,86,97,100,125,142,153,160**;24 Jun 93;Build 7 3 I '$D(SRTN) W !!,"A Surgery Risk Assessment must be selected prior to using this option.",!!,"Press <RET> to continue " R X:DTIME G END 4 S SRSOUT=0,SRSUPCPT=1 D ^SROAUTL 5 START G:SRSOUT END K SRAOTH,SRACON D ^SROAOP1 6 ASK W !!,"Select Operative Information to Edit: " R SRASEL:DTIME I '$T!(SRASEL["^") S SRSOUT=1 G END 7 I SRASEL="" G END 8 S SRN=13 S:SRASEL="a" SRASEL="A" I '$D(SRAO(SRASEL)),(SRASEL'?.N1":".N),(SRASEL'="A") D HELP G:SRSOUT END G START 9 I SRASEL="A" S SRASEL="1:"_SRN 10 I SRASEL?.N1":".N S Y=$E(SRASEL),Z=$P(SRASEL,":",2) I Y<1!(Z>SRN)!(Y>Z) D HELP G:SRSOUT END G START 11 S MM=$E(SRASEL) I MM'=3,(MM'=4),(MM'=5) S SRHDR(.5)=SRDOC D HDR^SROAUTL 12 I SRASEL?.N1":".N D RANGE G START 13 Q:'$D(SRAO(SRASEL)) 14 S EMILY=SRASEL D G START 15 .I $$LOCK^SROUTL(SRTN) D ONE,UNLOCK^SROUTL(SRTN) 16 END I $D(SRSOUT),'SRSOUT D ^SROAOP2 17 I $D(SRTN) S SROERR=SRTN D ^SROERR0 18 W @IOF D ^SRSKILL 19 Q 20 HELP W @IOF,!!!!,"Enter the number or range of numbers you want to edit. Examples of proper" 21 W !,"responses are listed below.",!!,"1. Enter 'A' to update all information." 22 W !!,"2. Enter a number (1-"_SRN_") to update the information in that field. (For" 23 W !," example, enter '2' to update Principal Operation.)" 24 W !!,"3. Enter a range of numbers (1-"_SRN_") separated by a ':' to enter a range of" 25 W !," information. (For example, enter '6:8' to update PGY of Primary Surgeon," 26 W !," Surgical Priority and Wound Classification.)",! 27 PRESS K DIR S DIR(0)="E" D ^DIR K DIR I $D(DTOUT)!$D(DUOUT) S SRSOUT=1 28 Q 29 RANGE ; range of numbers 30 I $$LOCK^SROUTL(SRTN) D D UNLOCK^SROUTL(SRTN) 31 .S SHEMP=$P(SRASEL,":"),CURLEY=$P(SRASEL,":",2) F EMILY=SHEMP:1:CURLEY Q:SRSOUT D ONE 32 Q 33 ONE ; edit one item 34 I EMILY=3 D DISP^SROAUTL0 Q 35 I EMILY=10 D ANES Q 36 I EMILY=4 D ^SROTHER Q 37 I EMILY=5 D CONCUR Q 38 I EMILY=6,SRASEL[":",($P(SRASEL,":")'=6) S SRPAGE="" S SRHDR(.5)=SRDOC D HDR^SROAUTL 39 K DR,DIE S DA=SRTN,DR=$P(SRAO(EMILY),"^",2)_"T",DIE=130 D ^DIE K DR I $D(Y) S SRSOUT=1 40 I EMILY=2 D ^SROAUTL 41 Q 42 RET Q:SRSOUT W !!,"Press ENTER to continue, or '^' to quit " R X:DTIME I '$T!(X["^") S SRSOUT=1 Q 43 Q 44 CONCUR ; concurrent case information 45 N SRPROC,SRCSTAT S SRLINE="" F I=1:1:80 S SRLINE=SRLINE_"-" 46 S CON=$P($G(^SRF(SRTN,"CON")),"^") I CON,($P($G(^SRF(CON,30)),"^")!($P($G(^SRF(CON,31)),"^",8))) S CON="" 47 S SRPAGE="" D HDR^SROAUTL 48 W !,"Concurrent case information cannot be updated using the Risk Assessment" 49 W !,"Module. To update the CPT code of a concurrent case, please use an option" 50 W !,"contained within the CPT/ICD9 Coding Menu." 51 I CON D CC W !!,"Concurrent Procedure: ",?22,SROPS(1) I $D(SROPS(2)) W !,?22,SROPS(2) I $D(SROPS(3)) W !,?22,SROPS(3) I $D(SROPS(4)) W !,?22,SROPS(4) 52 I $D(SRCSTAT) W !!,?22,SRCSTAT 53 W !!,"Press ENTER to continue " R X:DTIME 54 Q 55 CC ; list concurrent procedure 56 N SRTN,SRL,SRZ S SRCSTAT=">> Coding "_$S($P($G(^SRO(136,CON,10)),"^"):"",1:"Not ")_"Complete <<" 57 S SRL=55,SRTN=CON D CPTS^SROAUTL0 58 I SRPROC(1)="NOT ENTERED"!'$D(SRPROC(1)) S SRPROC(1)="CPT NOT ENTERED" K SRCSTAT 59 S SROPER=$P(^SRF(CON,"OP"),"^")_" (" F I=1:1 Q:'$D(SRPROC(I)) S SROPER=SROPER_SRPROC(I) 60 S SROPER=SROPER_")" 61 K SROPS,MM,MMM S:$L(SROPER)<57 SROPS(1)=SROPER 62 I $L(SROPER)>56 S SROPER=SROPER_" " F M=1:1 D LOOP Q:MMM="" 63 Q 64 LOOP ; break procedures 65 S SROPS(M)="" F LOOP=1:1 S MM=$P(SROPER," "),MMM=$P(SROPER," ",2,200) Q:MMM="" Q:$L(SROPS(M))+$L(MM)'<57 S SROPS(M)=SROPS(M)_MM_" ",SROPER=MMM 66 Q 67 ANES K DR,DIE,DA S DA=SRTN,DR=".37T",DR(2,130.06)=".01T;.05T;42T",DIE=130 D ^DIE K DR 68 Q -
WorldVistAEHR/trunk/r/SURGERY-SR/SROAPAS.m
r613 r623 1 SROAPAS ;BIR/MAM - PRINT A COMPLETE ASSESSMENT ;03/03/08 2 ;;3.0; Surgery ;**38,47,81,88,111,112,100,125,153,166**;24 Jun 93;Build 7 3 S SRSOUT=0,SRPG=0,SR("RA")=$G(^SRF(SRTN,"RA")),SRATYPE=$P(SR("RA"),"^",2) F I=200:1:208,200.1 S SRA(I)=$G(^SRF(SRTN,I)) 4 S SRA("OP")=^SRF(SRTN,"OP"),SRA("CON")=$G(^SRF(SRTN,"CON")) 5 S SR(0)=^SRF(SRTN,0),DFN=$P(SR(0),"^"),SRSDATE=$P(SR(0),"^",9) D DEM^VADPT S SRANM=VADM(1)_" "_VA("PID"),Z=$P(VADM(3),"^"),Y=$E(SRSDATE,1,7),AGE=$E(Y,1,3)-$E(Z,1,3)-($E(Y,4,7)<$E(Z,4,7)) 6 I $P(SR("RA"),"^",2)="C" D ^SROAPCA G END 7 W:$E(IOST)'="P" @IOF D HDR G:SRSOUT END 8 W !,"Medical Center: "_SRSITE("SITE") 9 W !,"Age: ",?16,AGE S Y=SRSDATE D D^DIQ W ?40,"Operation Date: ",?59,$P(Y,"@") 10 S Y=$P($G(^SRF(SRTN,208)),"^",10),C=$P(^DD(130,417,0),"^",2) D Y^DIQ S X=$S(Y'="":Y,1:"NOT ENTERED") 11 ; 12 D DEM^VADPT 13 ;Find patient's ethnicity 14 S SROETH="" 15 I $G(VADM(11)) S SROETH=$P(VADM(11,1),U,2) 16 I '$G(VADM(11)) S SROETH="UNANSWERED" 17 ; 18 ;Find all race entries and place into a string with commas inbetween 19 S SRORC=0,C=1,SRORACE="",SROLINE="",N=1,SROL="" 20 F S SRORC=$O(VADM(12,SRORC)) Q:SRORC="" Q:C=11 D 21 .I $G(VADM(12,SRORC)) S SRORACE(C)=$P(VADM(12,SRORC),U,2) 22 .I SROLINE'="" S SROLINE=SROLINE_", "_SRORACE(C) 23 .I SROLINE="" S SROLINE=SRORACE(C) 24 .S C=C+1 25 ; 26 ;Find total length of 'race' string and wrap the text if necessary 27 I $L(SROLINE)=29!$L(SROLINE)<29 S SROL(N)=SROLINE,SRNUM1=2 28 I $L(SROLINE)>29 D WRAP 29 ; 30 W !,"Sex: ",?16,$P(VADM(5),"^",2),?40,"Ethnicity:",?51,SROETH 31 W !,?40,"Race:" 32 I $G(VADM(12)) F D=1:1:SRNUM1-1 D 33 .W:D=1 ?51,SROL(D) 34 .W:D'=1 !,?51,SROL(D) 35 I '$G(VADM(12)) W ?51,"UNANSWERED" 36 ; 37 K SROL,SROLINE,SRORC,SRORACE,SROLN,SROLN1,SROWRAP,SRNUM1 38 ; 39 S Y=$P($G(^SRF(SRTN,208)),"^",11),C=$P(^DD(130,413,0),"^",2) D Y^DIQ S X=$S(Y'="":Y,1:"NOT ENTERED") W !,"Transfer Status: ",X 40 F J=1,2,3 S Y=$P($G(^SRF(SRTN,208.1)),"^",J) D 41 .I J'=3 X:Y ^DD("DD") S Z=$P(Y,"@")_" "_$E($P(Y,"@",2),1,5) 42 .I J=3 S C=$P(^DD(130,454,0),"^",2) D Y^DIQ S Z=Y 43 .W !,"Observation "_$S(J=1:"Admission Date:",J=2:"Discharge Date:",1:"Treating Specialty:"),?47,Z 44 F J=14:1:17 S Y=$P($G(^SRF(SRTN,208)),"^",J) X ^DD("DD") S SRPTMODT(J)=Y 45 S (X,Z)=SRPTMODT(14) S:X'="" Z=$P(X,"@")_" "_$E($P(X,"@",2),1,5) W !,"Hospital Admission Date:",?47,Z 46 S (X,Z)=SRPTMODT(15) S:X'="" Z=$P(X,"@")_" "_$E($P(X,"@",2),1,5) W !,"Hospital Discharge Date:",?47,Z 47 S (X,Z)=SRPTMODT(16) S:X'="" Z=$P(X,"@")_" "_$E($P(X,"@",2),1,5) W !,"Admitted/Transferred to Surgical Service:",?47,Z 48 S (X,Z)=SRPTMODT(17) S:X'="" Z=$P(X,"@")_" "_$E($P(X,"@",2),1,5) W !,"Discharged/Transferred to Chronic Care:",?47,Z 49 W !,"In/Out-Patient Status:",?47,$S($P($G(^SRF(SRTN,0)),"^",12)="I":"INPATIENT",$P($G(^SRF(SRTN,0)),"^",12)="O":"OUTPATIENT",1:"") 50 S Y=$P($G(^SRF(SRTN,209)),"^",17) X ^DD("DD") W !,"Date Surgery Consult Requested:",?47,Y 51 S Y=$P($G(^SRF(SRTN,209)),"^",15) X ^DD("DD") W !,"Surgery Consult Date:",?47,Y 52 I $E(IOST)="P" W ! F MOE=1:1:80 W "-" 53 I $E(IOST)'="P" D PAGE I SRSOUT G END 54 D ^SROAPRT1 G:SRSOUT END I $Y+20>IOSL D PAGE I SRSOUT G END 55 D ^SROAPRT2 G:SRSOUT END I $Y+20>IOSL D PAGE I SRSOUT G END 56 D OPTIMES^SROAPRT3 G:SRSOUT END I $Y+20>IOSL D PAGE I SRSOUT G END 57 D ^SROAPRT3 G:SRSOUT END I $Y+24>IOSL D PAGE I SRSOUT G END 58 D ^SROAPRT4 G:SRSOUT END I $Y+20>IOSL D PAGE I SRSOUT G END 59 D ^SROAPRT5 G:SRSOUT END I $Y+20>IOSL D PAGE I SRSOUT G END 60 D ^SROAPRT6 61 END Q:$D(SRABATCH) I 'SRSOUT,$E(IOST)'="P" W !!,"Press <RET> to continue " R X:DTIME 62 W:$E(IOST)="P" @IOF I $D(ZTQUEUED) Q:$G(ZTSTOP) S ZTREQ="@" Q 63 D ^%ZISC K SROETH,SRTN W @IOF D ^SRSKILL 64 Q 65 ; 66 WRAP ;Wrap multiple race entries so that wrapped line 67 ;does not break in the middle of a word 68 ; 69 S SROLNGTH=$L(SROLINE),E=29,SROWRAP="",SROLN="",SROLN1="",SROL="" 70 F I=1:29:SROLNGTH S SROLN(I)=SROWRAP_$E(SROLINE,I,E) D 71 .F K=29:-1:1 I $E(SROLN(I),K)[" " D Q ;Break lines at space 72 ..S SROLN1(I)=$E(SROLN(I),1,K-1) 73 ..S SROWRAP=$E(SROLN(I),K+1,E) 74 .S E=E+29 75 ; 76 S:'$D(SROLN1(I)) SROLN1(I)=SROLN(I),SROWRAP="" 77 I $L(SROLN1(I))+$L(SROWRAP)>28 S SROLN1(I+1)=SROWRAP ;Last line 78 I $L(SROLN1(I))+$L(SROWRAP)'>28 S SROLN1(I)=SROLN1(I)_" "_SROWRAP 79 ; 80 ;Renumber the SROLN1 array to be in numeric order 81 S SRNUM=0,SRNUM1=1 82 F S SRNUM=$O(SROLN1(SRNUM)) Q:SRNUM="" D 83 .S SROL(SRNUM1)=SROLN1(SRNUM) 84 .S SRNUM1=SRNUM1+1 85 Q 86 ; 87 LOOP ; break procedures 88 S SROPS(M)="" F LOOP=1:1 S MM=$P(SROPER," "),MMM=$P(SROPER," ",2,200) Q:MMM="" Q:$L(SROPS(M))+$L(MM)'<55 S SROPS(M)=SROPS(M)_MM_" ",SROPER=MMM 89 Q 90 PAGE I $E(IOST)'="P" W !!,"Press <RET> to continue, or '^' to quit " R X:DTIME I '$T!(X["^") S SRSOUT=1 Q 91 I X["?" W !!,"Enter <RET> to continue printing the remaining pages of this assessment, or",!,"'^' to exit this option." G PAGE 92 W @IOF 93 HDR ; print heading 94 I $D(ZTQUEUED) D ^SROSTOP I SRHALT S SRSOUT=1 Q 95 S SRPG=SRPG+1 96 I $Y'=0 W @IOF 97 I SRATYPE="C" W !,"VA CARDIAC RISK ASSESSMENT",?70,"PAGE "_SRPG 98 I SRATYPE="N" W !,"VA NON-CARDIAC RISK ASSESSMENT Assessment: "_SRTN,?69,"PAGE "_SRPG 99 W !,"FOR "_SRANM S X=$P(SR("RA"),"^") W " ("_$S(X="I":"INCOMPLETE",X="C":"COMPLETED",X="T":"TRANSMITTED",1:"NO ASSESSMENT") I X="T" S Y=$P(SR("RA"),"^",4) W " "_$E(Y,4,5)_"/"_$E(Y,6,7)_"/"_$E(Y,2,3) 100 W ")",! F LINE=1:1:80 W "=" 101 W ! 102 Q 103 CODE ; print CPT Code 104 S X=$P(^SRF(SRTN,13,SR,0),"^",2) I X W " ("_$P($$CPT^ICPTCOD(X),"^",2)_")" 105 Q 1 SROAPAS ;BIR/MAM - PRINT A COMPLETE ASSESSMENT ; [ 04/13/04 2:50 PM ] 2 ;;3.0; Surgery ;**38,47,81,88,111,112,100,125,153**;24 Jun 93;Build 11 3 S SRSOUT=0,SRPG=0,SR("RA")=$G(^SRF(SRTN,"RA")),SRATYPE=$P(SR("RA"),"^",2) F I=200:1:208,200.1 S SRA(I)=$G(^SRF(SRTN,I)) 4 S SRA("OP")=^SRF(SRTN,"OP"),SRA("CON")=$G(^SRF(SRTN,"CON")) 5 S SR(0)=^SRF(SRTN,0),DFN=$P(SR(0),"^"),SRSDATE=$P(SR(0),"^",9) D DEM^VADPT S SRANM=VADM(1)_" "_VA("PID"),Z=$P(VADM(3),"^"),Y=$E(SRSDATE,1,7),AGE=$E(Y,1,3)-$E(Z,1,3)-($E(Y,4,7)<$E(Z,4,7)) 6 I $P(SR("RA"),"^",2)="C" D ^SROAPCA G END 7 W:$E(IOST)'="P" @IOF D HDR G:SRSOUT END 8 W !,"Medical Center: "_SRSITE("SITE") 9 W !,"Age: ",?16,AGE S Y=SRSDATE D D^DIQ W ?40,"Operation Date: ",?59,$P(Y,"@") 10 S Y=$P($G(^SRF(SRTN,208)),"^",10),C=$P(^DD(130,417,0),"^",2) D Y^DIQ S X=$S(Y'="":Y,1:"NOT ENTERED") 11 ; 12 D DEM^VADPT 13 ;Find patient's ethnicity 14 S SROETH="" 15 I $G(VADM(11)) S SROETH=$P(VADM(11,1),U,2) 16 I '$G(VADM(11)) S SROETH="UNANSWERED" 17 ; 18 ;Find all race entries and place into a string with commas inbetween 19 S SRORC=0,C=1,SRORACE="",SROLINE="",N=1,SROL="" 20 F S SRORC=$O(VADM(12,SRORC)) Q:SRORC="" Q:C=11 D 21 .I $G(VADM(12,SRORC)) S SRORACE(C)=$P(VADM(12,SRORC),U,2) 22 .I SROLINE'="" S SROLINE=SROLINE_", "_SRORACE(C) 23 .I SROLINE="" S SROLINE=SRORACE(C) 24 .S C=C+1 25 ; 26 ;Find total length of 'race' string and wrap the text if necessary 27 I $L(SROLINE)=29!$L(SROLINE)<29 S SROL(N)=SROLINE,SRNUM1=2 28 I $L(SROLINE)>29 D WRAP 29 ; 30 W !,"Sex: ",?16,$P(VADM(5),"^",2),?40,"Ethnicity:",?51,SROETH 31 W !,?40,"Race:" 32 I $G(VADM(12)) F D=1:1:SRNUM1-1 D 33 .W:D=1 ?51,SROL(D) 34 .W:D'=1 !,?51,SROL(D) 35 I '$G(VADM(12)) W ?51,"UNANSWERED" 36 ; 37 K SROL,SROLINE,SRORC,SRORACE,SROLN,SROLN1,SROWRAP,SRNUM1 38 ; 39 S Y=$P($G(^SRF(SRTN,208)),"^",11),C=$P(^DD(130,413,0),"^",2) D Y^DIQ S X=$S(Y'="":Y,1:"NOT ENTERED") W !,"Transfer Status: ",X 40 F J=1,2,3 S Y=$P($G(^SRF(SRTN,208.1)),"^",J) D 41 .I J'=3 X:Y ^DD("DD") S Z=$P(Y,"@")_" "_$E($P(Y,"@",2),1,5) 42 .I J=3 S C=$P(^DD(130,454,0),"^",2) D Y^DIQ S Z=Y 43 .W !,"Observation "_$S(J=1:"Admission Date:",J=2:"Discharge Date:",1:"Treating Specialty:"),?47,Z 44 F J=14:1:17 S Y=$P($G(^SRF(SRTN,208)),"^",J) X ^DD("DD") S SRPTMODT(J)=Y 45 S (X,Z)=SRPTMODT(14) S:X'="" Z=$P(X,"@")_" "_$E($P(X,"@",2),1,5) W !,"Hospital Admission Date:",?47,Z 46 S (X,Z)=SRPTMODT(15) S:X'="" Z=$P(X,"@")_" "_$E($P(X,"@",2),1,5) W !,"Hospital Discharge Date:",?47,Z 47 S (X,Z)=SRPTMODT(16) S:X'="" Z=$P(X,"@")_" "_$E($P(X,"@",2),1,5) W !,"Admitted/Transferred to Surgical Service:",?47,Z 48 S (X,Z)=SRPTMODT(17) S:X'="" Z=$P(X,"@")_" "_$E($P(X,"@",2),1,5) W !,"Discharged/Transferred to Chronic Care:",?47,Z 49 W !,"In/Out-Patient Status:",?47,$S($P($G(^SRF(SRTN,0)),"^",12)="I":"INPATIENT",$P($G(^SRF(SRTN,0)),"^",12)="O":"OUTPATIENT",1:"") 50 I $E(IOST)="P" W ! F MOE=1:1:80 W "-" 51 I $E(IOST)'="P" D PAGE I SRSOUT G END 52 D ^SROAPRT1 G:SRSOUT END I $Y+20>IOSL D PAGE I SRSOUT G END 53 D ^SROAPRT2 G:SRSOUT END I $Y+20>IOSL D PAGE I SRSOUT G END 54 D OPTIMES^SROAPRT3 G:SRSOUT END I $Y+20>IOSL D PAGE I SRSOUT G END 55 D ^SROAPRT3 G:SRSOUT END I $Y+24>IOSL D PAGE I SRSOUT G END 56 D ^SROAPRT4 G:SRSOUT END I $Y+20>IOSL D PAGE I SRSOUT G END 57 D ^SROAPRT5 G:SRSOUT END I $Y+20>IOSL D PAGE I SRSOUT G END 58 D ^SROAPRT6 59 END Q:$D(SRABATCH) I 'SRSOUT,$E(IOST)'="P" W !!,"Press <RET> to continue " R X:DTIME 60 W:$E(IOST)="P" @IOF I $D(ZTQUEUED) Q:$G(ZTSTOP) S ZTREQ="@" Q 61 D ^%ZISC K SRTN W @IOF D ^SRSKILL 62 Q 63 ; 64 WRAP ;Wrap multiple race entries so that wrapped line 65 ;does not break in the middle of a word 66 ; 67 S SROLNGTH=$L(SROLINE),E=29,SROWRAP="",SROLN="",SROLN1="",SROL="" 68 F I=1:29:SROLNGTH S SROLN(I)=SROWRAP_$E(SROLINE,I,E) D 69 .F K=29:-1:1 I $E(SROLN(I),K)[" " D Q ;Break lines at space 70 ..S SROLN1(I)=$E(SROLN(I),1,K-1) 71 ..S SROWRAP=$E(SROLN(I),K+1,E) 72 .S E=E+29 73 ; 74 S:'$D(SROLN1(I)) SROLN1(I)=SROLN(I),SROWRAP="" 75 I $L(SROLN1(I))+$L(SROWRAP)>28 S SROLN1(I+1)=SROWRAP ;Last line 76 I $L(SROLN1(I))+$L(SROWRAP)'>28 S SROLN1(I)=SROLN1(I)_" "_SROWRAP 77 ; 78 ;Renumber the SROLN1 array to be in numeric order 79 S SRNUM=0,SRNUM1=1 80 F S SRNUM=$O(SROLN1(SRNUM)) Q:SRNUM="" D 81 .S SROL(SRNUM1)=SROLN1(SRNUM) 82 .S SRNUM1=SRNUM1+1 83 Q 84 ; 85 LOOP ; break procedures 86 S SROPS(M)="" F LOOP=1:1 S MM=$P(SROPER," "),MMM=$P(SROPER," ",2,200) Q:MMM="" Q:$L(SROPS(M))+$L(MM)'<55 S SROPS(M)=SROPS(M)_MM_" ",SROPER=MMM 87 Q 88 PAGE I $E(IOST)'="P" W !!,"Press <RET> to continue, or '^' to quit " R X:DTIME I '$T!(X["^") S SRSOUT=1 Q 89 I X["?" W !!,"Enter <RET> to continue printing the remaining pages of this assessment, or",!,"'^' to exit this option." G PAGE 90 W @IOF 91 HDR ; print heading 92 I $D(ZTQUEUED) D ^SROSTOP I SRHALT S SRSOUT=1 Q 93 S SRPG=SRPG+1 94 I $Y'=0 W @IOF 95 I SRATYPE="C" W !,"VA CARDIAC RISK ASSESSMENT",?70,"PAGE "_SRPG 96 I SRATYPE="N" W !,"VA NON-CARDIAC RISK ASSESSMENT Assessment: "_SRTN,?69,"PAGE "_SRPG 97 W !,"FOR "_SRANM S X=$P(SR("RA"),"^") W " ("_$S(X="I":"INCOMPLETE",X="C":"COMPLETED",X="T":"TRANSMITTED",1:"NO ASSESSMENT") I X="T" S Y=$P(SR("RA"),"^",4) W " "_$E(Y,4,5)_"/"_$E(Y,6,7)_"/"_$E(Y,2,3) 98 W ")",! F LINE=1:1:80 W "=" 99 W ! 100 Q 101 CODE ; print CPT Code 102 S X=$P(^SRF(SRTN,13,SR,0),"^",2) I X W " ("_$P($$CPT^ICPTCOD(X),"^",2)_")" 103 Q -
WorldVistAEHR/trunk/r/SURGERY-SR/SROAPCA1.m
r613 r623 1 SROAPCA1 ;BIR/MAM - PRINT CARDIAC CATH INFO ;02/05/08 2 ;;3.0; Surgery ;**38,63,71,88,95,125,142,153,166**;24 Jun 93;Build 7 3 N SRX F I=200:1:202,206,208,209,202.1 S SRA(I)=$G(^SRF(SRTN,I)) 4 I $Y+14>IOSL D PAGE^SROAPCA I SRSOUT Q 5 D LAB^SROAPCA4 6 I $Y+16>IOSL D PAGE^SROAPCA I SRSOUT Q 7 S Y=$P(SRA(209),"^",4),SRAO(1)=$S(Y="C":"CATH",Y="I":"IVUS",Y="B":"BOTH",Y="NS":" NS",1:"")_"^476" 8 S Y=$P(SRA(206),"^",24),SRX=357,SRAO(2)=$$OUT(SRX,Y)_"^"_SRX 9 S Y=$P(SRA(206),"^",25),SRX=358,SRAO(3)=$$OUT(SRX,Y)_"^"_SRX 10 S Y=$P(SRA(206),"^",26),SRX=359,SRAO(4)=$$OUT(SRX,Y)_"^"_SRX 11 S Y=$P(SRA(206),"^",27),SRX=360,SRAO(5)=$$OUT(SRX,Y)_"^"_SRX 12 S NYUK=$P(SRA(206),"^",30) D LV S SRAO(6)=SHEMP_"^363" 13 S Y=$P(SRA(206),"^",9),SRX=415,SRAO(7)=$$OUT(SRX,Y)_"^"_SRX 14 S Y=$P(SRA(209),"^",5),SRX=477,SRAO(8)=$$OUT(SRX,Y)_"^"_SRX 15 S Y=$P(SRA(206),"^",28),SRX=361,SRAO(9)=$$OUT(SRX,Y)_"^"_SRX 16 S Y=$P(SRA(206),"^",33),SRX=362.1,SRAO(10)=$$OUT(SRX,Y)_"^"_SRX 17 S Y=$P(SRA(206),"^",34),SRX=362.2,SRAO(11)=$$OUT(SRX,Y)_"^"_SRX 18 S Y=$P(SRA(206),"^",35),SRX=362.3,SRAO(12)=$$OUT(SRX,Y)_"^"_SRX 19 S Y=$P(SRA(209),"^",6),SRX=478,SRAO(13)=$$OUT(SRX,Y)_"^"_SRX 20 S Y=$P(SRA(209),"^",7),SRX=479,SRAO(14)=$$OUT(SRX,Y)_"^"_SRX 21 S Y=$P(SRA(209),"^",8),SRX=480,SRAO(15)=$$OUT(SRX,Y)_"^"_SRX 22 W !!,"IV. CARDIAC CATHETERIZATION AND ANGIOGRAPHIC DATA" 23 S Y=$P($G(^SRF(SRTN,207)),"^",21) I Y>1 D DT S Y=X 24 D NS W !,"Cardiac Catheterization Date: ",$E(Y,1,8) 25 W !,"Procedure:",?26,$P(SRAO(1),"^"),?41,"Native Coronaries:" 26 S SRX=$P(SRAO(2),"^") W !,"LVEDP:",?26,$J(SRX,3) D MMHG 27 S SRX=$P(SRAO(9),"^") W ?41,"Left Main Stenosis:",?71,$J(SRX,3) I SRX?1.3N W "%" 28 S SRX=$P(SRAO(3),"^") W !,"Aortic Systolic Pressure:",?26,$J(SRX,3) D MMHG 29 S SRX=$P(SRAO(10),"^") W ?41,"LAD Stenosis:",?71,$J(SRX,3) I SRX?1.3N W "%" 30 S SRX=$P(SRAO(11),"^") W !,?41,"Right Coronary Stenosis:",?71,$J(SRX,3) I SRX?1.3N W "%" 31 W !,"For patients having right heart cath:" S SRX=$P(SRAO(12),"^") W ?41,"Circumflex Stenosis:",?71,$J(SRX,3) I SRX?1.3N W "%" 32 ; 33 S SRX=$P(SRAO(4),"^") W !,"PA Systolic Pressure:",?26,$J(SRX,3) D MMHG 34 S SRX=$P(SRAO(5),"^") W !,"PAW Mean Pressure:",?26,$J(SRX,3) D MMHG 35 W ?41,"If a Re-do, indicate stenosis",!,?44," in graft to:" 36 S SRX=$P(SRAO(13),"^") W !,?41,"LAD:",?71,$J(SRX,3) I SRX?1.3N W "%" 37 S SRX=$P(SRAO(14),"^") W !,?41,"Right coronary (include PDA): ",$J(SRX,3) I SRX?1.3N W "%" 38 S SRX=$P(SRAO(15),"^") W !,?41,"Circumflex:",?71,$J(SRX,3) I SRX?1.3N W "%" 39 W !,LN 40 W !,"LV Contraction Grade (from contrast or radionuclide angiogram or 2D Echo):",!,?7,"Grade",?17,"Ejection Fraction Range",?51,"Definition" 41 W !,?8,$P(SRAO(6),"^") 42 W !,LN,!,"Mitral Regurgitation:",?26,$P(SRAO(7),"^") 43 W !,"Aortic stenosis:",?26,$P(SRAO(8),"^") 44 I $Y+14>IOSL D PAGE^SROAPCA I SRSOUT Q 45 K SRAO S Y=$P(SRA(206),"^",31),SRX=364,SRAO(1)=$$OUT(SRX,Y)_"^"_SRX 46 S Y=$P($G(^SRF(SRTN,1.1)),"^",3),SRX=1.13,SRAO(2)=$$OUT(SRX,Y)_"^"_SRX 47 S Y=$P(SRA(208),"^",12),SRX=414,SRAO(3)=$$OUT(SRX,Y)_"^"_SRX 48 S Y=$P(SRA(206),"^",32),SRX=364.1 D DT S SRAO("1A")=X_"^"_SRX 49 S Y=$P(SRA(208),"^",13),SRX=414.1 D DT S SRAO("3A")=X_"^"_SRX 50 S Y=$P($G(^SRF(SRTN,.2)),"^",2),SRX=.22 D DT S SRAO(0)=X_"^"_SRX 51 W !!,"V. OPERATIVE RISK SUMMARY DATA" S X=$P(SRAO(0),"^") W ?40,"(Operation Began: "_X_")" 52 W !,?5,"Physician's Preoperative" S Y=$P($G(^SRF(SRTN,.2)),"^",3) D DT W ?40,"(Operation Ended: "_X_")" 53 W !,?7,"Estimate of Operative Mortality: "_$P(SRAO(1),"^") I $P(SRAO(1),"^")'=""&($P(SRAO(1),"^")'="NS") W "%" 54 S X=$P(SRAO("1A"),"^") I X'="" W ?57,"("_X_")" 55 W !,?5,"ASA Classification:",?35,$P(SRAO(2),"^") 56 S X=$P(SRAO(3),"^") W !,?5,"Surgical Priority:",?($S($L(X)>10:24,1:35)),X S X=$P(SRAO("3A"),"^") I X'="" W ?57,"("_X_")" 57 S X=$P($G(^SRO(136,SRTN,0)),"^",2) I X S Y=$P($$CPT^ICPTCOD(X),"^",2) D SSPRIN^SROCPT0 S X=Y 58 S X=$S(X'="":X,1:"CPT Code Missing") 59 W !,?5,"Principal CPT Code:",?35,X,!,?5,"Other Procedures CPT Codes: " 60 S CNT=32,OTH=0 F S OTH=$O(^SRO(136,SRTN,3,OTH)) Q:'OTH S CPT=$P($G(^SRO(136,SRTN,3,OTH,0)),"^") D 61 .I CPT S Y=$P($$CPT^ICPTCOD(CPT),"^",2) S SRDA=OTH D SSOTH^SROCPT0 S CPT=Y 62 .S:CPT="" CPT="NONE" S CNT=CNT+3 63 .I CNT+$L(CPT)'>80 W:CNT>35 ";" W ?(CNT),CPT S CNT=CNT+$L(CPT) Q 64 .W !,?35,CPT S CNT=35+$L(CPT) 65 W !,?5,"Preoperative Risk Factors: " 66 I $G(^SRF(SRTN,206.1))'="" S SRQ=0 S X=$G(^SRF(SRTN,206.1)) W:$L(X)<49 X,! I $L(X)>48 S Z=$L(X) D 67 .I X'[" " W ?25,X Q 68 .S I=0,LINE=1 F S SRL=$S(LINE=1:48,1:80) D Q:SRQ 69 ..I $E(X,1,SRL)'[" " W X,! S SRQ=1 Q 70 ..S J=SRL-I,Y=$E(X,J),I=I+1 I Y=" " W $E(X,1,J-1),!,?5 S X=$E(X,J+1,Z),Z=$L(X),I=0,LINE=LINE+1 I Z<SRL W X S SRQ=1 Q 71 I $Y+20>IOSL D PAGE^SROAPCA I SRSOUT Q 72 K SRA,SRAO D ^SROAPCA2 73 Q 74 YN ; store answer 75 S SHEMP=$S(NYUK="NS":"NS",NYUK="N":"NO",NYUK="Y":"YES",1:"") 76 Q 77 DT I 'Y S X="" Q 78 S Z=$E($P(Y,".",2),1,4),Z=Z_"0000",Z=$E(Z,1,4),X=$E(Y,4,5)_"/"_$E(Y,6,7)_"/"_$E(Y,2,3)_" "_$E(Z,1,2)_":"_$E(Z,3,4) 79 Q 80 OUT(SRFLD,SRY) ; get data in output form 81 N C,Y 82 S Y=SRY,C=$P(^DD(130,SRFLD,0),"^",2) D:Y'="" Y^DIQ 83 I Y="NO STUDY" S Y="NS" Q Y 84 Q Y 85 MMHG I SRX="NO STUDY"!(SRX="NS") Q 86 W " mm Hg" 87 Q 88 NS S Y=$S(Y="NS":"NO STUDY",1:Y) 89 Q 90 LV K SHEMP S SHEMP=$S(NYUK="I":" I > or = 0.55 NORMAL",NYUK="II":"II 0.45-0.54 MILD DYSFUNCTION",1:NYUK) 91 Q:SHEMP'=NYUK S SHEMP=$S(NYUK="III":"III 0.35-0.44 MODERATE DYSFUNCTION",1:NYUK) 92 Q:SHEMP'=NYUK S SHEMP=$S(NYUK="IIIa":"IIIa 0.40-0.44 MODERATE DYSFUNCTION A",1:NYUK) 93 Q:SHEMP'=NYUK S SHEMP=$S(NYUK="IIIb":"IIIb 0.35-0.39 MODERATE DYSFUNCTION B",1:NYUK) 94 Q:SHEMP'=NYUK S SHEMP=$S(NYUK="IV":"IV 0.25-0.34 SEVERE DYSFUNCTION",NYUK="V":" V <0.25 VERY SEVERE DYSFUNCTION",NYUK="NS":"NO LV STUDY",1:"") 95 Q 1 SROAPCA1 ;BIR/MAM - PRINT CARDIAC CATH INFO ;04/05/04 2 ;;3.0; Surgery ;**38,63,71,88,95,125,142,153**;24 Jun 93;Build 11 3 N SRX F I=200:1:202,206,208,209,202.1 S SRA(I)=$G(^SRF(SRTN,I)) 4 I $Y+14>IOSL D PAGE^SROAPCA I SRSOUT Q 5 D LAB^SROAPCA4 6 I $Y+16>IOSL D PAGE^SROAPCA I SRSOUT Q 7 S Y=$P(SRA(209),"^",4),SRAO(1)=$S(Y="C":"CATH",Y="I":"IVUS",Y="B":"BOTH",Y="NS":" NS",1:"")_"^476" 8 S Y=$P(SRA(206),"^",24),SRX=357,SRAO(2)=$$OUT(SRX,Y)_"^"_SRX 9 S Y=$P(SRA(206),"^",25),SRX=358,SRAO(3)=$$OUT(SRX,Y)_"^"_SRX 10 S Y=$P(SRA(206),"^",26),SRX=359,SRAO(4)=$$OUT(SRX,Y)_"^"_SRX 11 S Y=$P(SRA(206),"^",27),SRX=360,SRAO(5)=$$OUT(SRX,Y)_"^"_SRX 12 S NYUK=$P(SRA(206),"^",30) D LV S SRAO(6)=SHEMP_"^363" 13 S Y=$P(SRA(206),"^",9),SRX=415,SRAO(7)=$$OUT(SRX,Y)_"^"_SRX 14 S Y=$P(SRA(209),"^",5),SRX=477,SRAO(8)=$$OUT(SRX,Y)_"^"_SRX 15 S Y=$P(SRA(206),"^",28),SRX=361,SRAO(9)=$$OUT(SRX,Y)_"^"_SRX 16 S Y=$P(SRA(206),"^",33),SRX=362.1,SRAO(10)=$$OUT(SRX,Y)_"^"_SRX 17 S Y=$P(SRA(206),"^",34),SRX=362.2,SRAO(11)=$$OUT(SRX,Y)_"^"_SRX 18 S Y=$P(SRA(206),"^",35),SRX=362.3,SRAO(12)=$$OUT(SRX,Y)_"^"_SRX 19 S Y=$P(SRA(209),"^",6),SRX=478,SRAO(13)=$$OUT(SRX,Y)_"^"_SRX 20 S Y=$P(SRA(209),"^",7),SRX=479,SRAO(14)=$$OUT(SRX,Y)_"^"_SRX 21 S Y=$P(SRA(209),"^",8),SRX=480,SRAO(15)=$$OUT(SRX,Y)_"^"_SRX 22 W !!,"IV. CARDIAC CATHETERIZATION AND ANGIOGRAPHIC DATA" 23 S Y=$P($G(^SRF(SRTN,207)),"^",21) I Y>1 D DT S Y=X 24 D NS W !,"Cardiac Catheterization Date: ",$E(Y,1,8) 25 W !,"Procedure:",?26,$P(SRAO(1),"^"),?41,"Native Coronaries:" 26 S SRX=$P(SRAO(2),"^") W !,"LVEDP:",?26,$J(SRX,3) D MMHG 27 S SRX=$P(SRAO(9),"^") W ?41,"Left Main Stenosis:",?71,$J(SRX,3) I SRX?1.3N W "%" 28 S SRX=$P(SRAO(3),"^") W !,"Aortic Systolic Pressure:",?26,$J(SRX,3) D MMHG 29 S SRX=$P(SRAO(10),"^") W ?41,"LAD Stenosis:",?71,$J(SRX,3) I SRX?1.3N W "%" 30 S SRX=$P(SRAO(11),"^") W !,?41,"Right Coronary Stenosis:",?71,$J(SRX,3) I SRX?1.3N W "%" 31 W !,"For patients having right heart cath:" S SRX=$P(SRAO(12),"^") W ?41,"Circumflex Stenosis:",?71,$J(SRX,3) I SRX?1.3N W "%" 32 ; 33 S SRX=$P(SRAO(4),"^") W !,"PA Systolic Pressure:",?26,$J(SRX,3) D MMHG 34 S SRX=$P(SRAO(5),"^") W !,"PAW Mean Pressure:",?26,$J(SRX,3) D MMHG 35 W ?41,"If a Re-do, indicate stenosis",!,?44," in graft to:" 36 S SRX=$P(SRAO(13),"^") W !,?41,"LAD:",?71,$J(SRX,3) I SRX?1.3N W "%" 37 S SRX=$P(SRAO(14),"^") W !,?41,"Right coronary (include PDA): ",$J(SRX,3) I SRX?1.3N W "%" 38 S SRX=$P(SRAO(15),"^") W !,?41,"Circumflex:",?71,$J(SRX,3) I SRX?1.3N W "%" 39 W !,LN 40 W !,"LV Contraction Grade (from contrast or radionuclide angiogram or 2D Echo):",!,?7,"Grade",?17,"Ejection Fraction Range",?51,"Definition" 41 W !,?8,$P(SRAO(6),"^") 42 W !,LN,!,"Mitral Regurgitation:",?26,$P(SRAO(7),"^") 43 W !,"Aortic stenosis:",?26,$P(SRAO(8),"^") 44 I $Y+14>IOSL D PAGE^SROAPCA I SRSOUT Q 45 K SRAO S Y=$P(SRA(206),"^",31),SRX=364,SRAO(1)=$$OUT(SRX,Y)_"^"_SRX 46 S Y=$P($G(^SRF(SRTN,1.1)),"^",3),SRX=1.13,SRAO(2)=$$OUT(SRX,Y)_"^"_SRX 47 S Y=$P(SRA(208),"^",12),SRX=414,SRAO(3)=$$OUT(SRX,Y)_"^"_SRX 48 S Y=$P(SRA(206),"^",32),SRX=364.1,SRAO("1A")=$$OUT(SRX,Y)_"^"_SRX 49 S Y=$P(SRA(208),"^",13),SRX=414.1,SRAO("3A")=$$OUT(SRX,Y)_"^"_SRX 50 S Y=$P($G(^SRF(SRTN,.2)),"^",2),SRX=.22,SRAO(0)=$$OUT(SRX,Y)_"^"_SRX 51 W !!,"V. OPERATIVE RISK SUMMARY DATA" S X=$P(SRAO(0),"^") I X'="" W ?40,"(Operation Began: "_X_")" 52 W !,?5,"Physician's Preoperative" S Y=$P($G(^SRF(SRTN,.2)),"^",3) I Y'="" D DT W ?40,"(Operation Ended: "_X_")" 53 W !,?7,"Estimate of Operative Mortality: "_$P(SRAO(1),"^") I $P(SRAO(1),"^")'=""&($P(SRAO(1),"^")'="NS") W "%" 54 S X=$P(SRAO("1A"),"^") I X'="" W ?57,"("_X_")" 55 W !,?5,"ASA Classification:",?35,$P(SRAO(2),"^"),!,?5,"Surgical Priority:",?35,$P(SRAO(3),"^") S X=$P(SRAO("3A"),"^") I X'="" W ?57,"("_X_")" 56 S X=$P($G(^SRO(136,SRTN,0)),"^",2) I X S Y=$P($$CPT^ICPTCOD(X),"^",2) D SSPRIN^SROCPT0 S X=Y 57 S X=$S(X'="":X,1:"CPT Code Missing") 58 W !,?5,"Principal CPT Code:",?35,X,!,?5,"Other Procedures CPT Codes: " 59 S CNT=32,OTH=0 F S OTH=$O(^SRO(136,SRTN,3,OTH)) Q:'OTH S CPT=$P($G(^SRO(136,SRTN,3,OTH,0)),"^") D 60 .I CPT S Y=$P($$CPT^ICPTCOD(CPT),"^",2) S SRDA=OTH D SSOTH^SROCPT0 S CPT=Y 61 .S:CPT="" CPT="NONE" S CNT=CNT+3 62 .I CNT+$L(CPT)'>80 W:CNT>35 ";" W ?(CNT),CPT S CNT=CNT+$L(CPT) Q 63 .W !,?35,CPT S CNT=35+$L(CPT) 64 W !,?5,"Preoperative Risk Factors: " 65 I $G(^SRF(SRTN,206.1))'="" S SRQ=0 S X=$G(^SRF(SRTN,206.1)) W:$L(X)<49 X,! I $L(X)>48 S Z=$L(X) D 66 .I X'[" " W ?25,X Q 67 .S I=0,LINE=1 F S SRL=$S(LINE=1:48,1:80) D Q:SRQ 68 ..I $E(X,1,SRL)'[" " W X,! S SRQ=1 Q 69 ..S J=SRL-I,Y=$E(X,J),I=I+1 I Y=" " W $E(X,1,J-1),!,?5 S X=$E(X,J+1,Z),Z=$L(X),I=0,LINE=LINE+1 I Z<SRL W X S SRQ=1 Q 70 I $Y+20>IOSL D PAGE^SROAPCA I SRSOUT Q 71 K SRA,SRAO D ^SROAPCA2 72 Q 73 YN ; store answer 74 S SHEMP=$S(NYUK="NS":"NS",NYUK="N":"NO",NYUK="Y":"YES",1:"") 75 Q 76 DT I 'Y S X="" Q 77 S Z=$E($P(Y,".",2),1,4),Z=Z_"0000",Z=$E(Z,1,4),X=$E(Y,4,5)_"/"_$E(Y,6,7)_"/"_$E(Y,2,3)_" "_$E(Z,1,2)_":"_$E(Z,3,4) 78 Q 79 OUT(SRFLD,SRY) ; get data in output form 80 N C,Y 81 S Y=SRY,C=$P(^DD(130,SRFLD,0),"^",2) D:Y'="" Y^DIQ 82 I Y="NO STUDY" S Y="NS" Q Y 83 Q Y 84 MMHG I SRX="NO STUDY"!(SRX="NS") Q 85 W " mm Hg" 86 Q 87 NS S Y=$S(Y="NS":"NO STUDY",1:Y) 88 Q 89 LV K SHEMP S SHEMP=$S(NYUK="I":" I > or = 0.55 NORMAL",NYUK="II":"II 0.45-0.54 MILD DYSFUNCTION",1:NYUK) 90 Q:SHEMP'=NYUK S SHEMP=$S(NYUK="III":"III 0.35-0.44 MODERATE DYSFUNCTION",1:NYUK) 91 Q:SHEMP'=NYUK S SHEMP=$S(NYUK="IIIa":"IIIa 0.40-0.44 MODERATE DYSFUNCTION A",1:NYUK) 92 Q:SHEMP'=NYUK S SHEMP=$S(NYUK="IIIb":"IIIb 0.35-0.39 MODERATE DYSFUNCTION B",1:NYUK) 93 Q:SHEMP'=NYUK S SHEMP=$S(NYUK="IV":"IV 0.25-0.34 SEVERE DYSFUNCTION",NYUK="V":" V <0.25 VERY SEVERE DYSFUNCTION",NYUK="NS":"NO LV STUDY",1:"") 94 Q -
WorldVistAEHR/trunk/r/SURGERY-SR/SROAPCA3.m
r613 r623 1 SROAPCA3 ;B'HAM ISC/MAM - CARDIAC OCCURRENCE DATA ;02/05/08 2 ;;3.0; Surgery ;**38,71,95,101,125,160,164,166**;24 Jun 93;Build 7 3 D EN^SROCCAT K SRA S SRA(205)=$G(^SRF(SRTN,205)),SRA(208)=$G(^SRF(SRTN,208)),SRA(206)=$G(^SRF(SRTN,206)),SRA(209)=$G(^SRF(SRTN,209)) 4 S NYUK=$P(SRA(208),"^") D YN S SRAO(1)=SHEMP_"^384" 5 S Y=$P($G(^DPT(DFN,.35)),"^") D DT^SROAPCA1 S SRAO(2)=X 6 S NYUK=$P(SRA(208),"^",2) D YN S SRAO(3)=SHEMP_"^385",NYUK=$P(SRA(208),"^",3) D YN S SRAO(4)=SHEMP_"^386",NYUK=$P(SRA(205),"^",17) D YN S SRAO(5)=SHEMP_"^254",NYUK=$P(SRA(209),"^",12) D YN S SRAO(6)=SHEMP_"^490" 7 S NYUK=$P(SRA(208),"^",5) D YN S SRAO(7)=SHEMP_"^388",NYUK=$P(SRA(208),"^",6) D YN S SRAO(8)=SHEMP_"^389",NYUK=$P(SRA(205),"^",13) D YN S SRAO(9)=SHEMP_"^285" 8 S NYUK=$P(SRA(208),"^",7) D YN S SRAO(10)=SHEMP_"^391",NYUK=$P(SRA(205),"^",22) D YN S SRAO(11)=SHEMP_"^410" 9 S NYUK=$P(SRA(205),"^",21) D YN S SRAO(12)=SHEMP_"^256",NYUK=$P(SRA(205),"^",26) D YN S SRAO(13)=SHEMP_"^411" 10 S NYUK=$P(SRA(206),"^",39) D YN S SRAO(14)=SHEMP_"^466" 11 S NYUK=$P(SRA(206),"^",40) D YN S SRAO(15)=SHEMP_"^467" 12 I $Y+5>IOSL D PAGE^SROAPCA I SRSOUT Q 13 W !!,"VII. OUTCOMES" 14 W !,"Operative Death:",?18,$P(SRAO(1),"^"),?43,"Date of Death:",?58,$P(SRAO(2),"^") 15 ;I $Y+10>IOSL D PAGE^SROAPCA I SRSOUT Q 16 W !!,"Perioperative (30 day) Occurrences:" 17 W !,?2,"Perioperative MI:",?36,$P(SRAO(3),"^"),?42,"Repeat cardiac Surg procedure:",?74,$P(SRAO(10),"^") 18 W !,?2,"Endocarditis:",?36,$P(SRAO(4),"^"),?42,"Tracheostomy:",?74,$P(SRAO(14),"^") 19 W !,?2,"Renal Failure Requiring Dialysis:",?36,$P(SRAO(5),"^"),?42,"Ventilator supp within 30 days:",?74,$P(SRAO(6),"^") 20 W !,?2,"Mediastinitis:",?36,$P(SRAO(7),"^"),?42,"Stroke/CVA:",?74,$P(SRAO(12),"^") 21 W !,?2,"Cardiac Arrest Requiring CPR:",?36,$P(SRAO(13),"^"),?42,"Coma > or = 24 Hours:",?74,$P(SRAO(11),"^") 22 W !,?2,"Reoperation for Bleeding:",?36,$P(SRAO(8),"^"),?42,"New Mech Circulatory Support:",?74,$P(SRAO(15),"^") 23 W !,?2,"On ventilator > or = 48 hr:",?36,$P(SRAO(9),"^") 24 D RES 25 Q 26 YN ; store answer 27 S SHEMP=$S(NYUK="NS":"NS",NYUK="N":"NO",NYUK="Y":"YES",1:"") 28 Q 29 ; 30 RES I $Y+12>IOSL D PAGE^SROAPCA I SRSOUT Q 31 S SRA(208)=$G(^SRF(SRTN,208)) 32 S SRA(.2)=$G(^SRF(SRTN,.2)) 33 W !!,"VIII. RESOURCE DATA" 34 S Y=$P(SRA(208),"^",14) D DT^SROAPCA1 W !,"Hospital Admission Date:",?47,X 35 S Y=$P(SRA(208),"^",15) D DT^SROAPCA1 W !,"Hospital Discharge Date:",?47,X 36 S Y=$P(SRA(.2),"^",10) D DT^SROAPCA1 W !,"Time Patient In OR: ",?47,X 37 S Y=$P(SRA(.2),"^",12) D DT^SROAPCA1 W !,"Time Patient Out OR: ",?47,X 38 S Y=$P(SRA(208),"^",22) I Y>1 D DT^SROAPCA1 S Y=X 39 S Y=$S(Y="NS":"Unable to determine",Y="RI":"Remains intubated at 30 days",1:Y) W !,"Date and Time Patient Extubated: ",?47,Y 40 I $P(SRA(208),"^",22)>1,$P(SRA(.2),"^",12) D 41 .S X=$$FMDIFF^XLFDT($P(SRA(208),"^",22),$P(SRA(.2),"^",12),2) W !,?5,"Postop Intubation Hrs: "_$FN((X/3600),"+",1) 42 S Y=$P(SRA(208),"^",23) I Y>1 D DT^SROAPCA1 S Y=X 43 S Y=$S(Y="NS":"Unable to determine",Y="RI":"Remains in ICU at 30 days",1:Y) W !,"Date and Time Patient Discharged from ICU: ",?47,Y 44 S Y=$P(SRA(209),"^") W !,"Patient is Homeless: ",?47,$S(Y="Y":"YES",Y="N":"NO",Y="NS":"NS",1:"") 45 S Y=$P(SRA(206),"^",41) W !,"Cardiac Surg Performed at Non-VA Facility: ",?47,$S(Y="Y":"YES",Y="N":"NO",Y="NS":"UNKNOWN",1:"") 46 S Y=$P(SRA(209),"^",15) D DT^SROAPCA1 W !,"CT Surgery Consult Date: ",?47,$P(X," ") 47 S Y=$P(SRA(209),"^",16),C=$P(^DD(130,515,0),"^",2) D:Y'="" Y^DIQ W !,"Cause for Delay for Surgery: ",?47,Y 48 W !,"Resource Data Comments: " 49 I $G(^SRF(SRTN,206.2))'="" S SRQ=0 S X=$G(^SRF(SRTN,206.2)) W:$L(X)<49 X,! I $L(X)>48 S Z=$L(X) D 50 .I X'[" " W ?25,X Q 51 .S I=0,LINE=1 F S SRL=$S(LINE=1:48,1:80) D Q:SRQ 52 ..I $E(X,1,SRL)'[" " W X,! S SRQ=1 Q 53 ..S J=SRL-I,Y=$E(X,J),I=I+1 I Y=" " W $E(X,1,J-1),!,?5 S X=$E(X,J+1,Z),Z=$L(X),I=0,LINE=LINE+1 I Z<SRL W X S SRQ=1 Q 54 I $Y+7>IOSL D PAGE^SROAPCA I SRSOUT Q 55 W ! F MOE=1:1:80 W "=" 56 W !,"IX. SOCIOECONOMIC, ETHNICITY, AND RACE" 57 N SREMP S SREMP=$P(SRA(208),"^",18) S SREMP=$S(SREMP=1:"EMPLOYED FULL TIME",SREMP=2:"EMPLOYED PART TIME",SREMP=3:"NOT EMPLOYED",SREMP=4:"SELF EMPLOYED",SREMP=5:"RETIRED",SREMP=6:"ACTIVE MILITARY DUTY",SREMP=9:"UNKNOWN",1:" ") 58 W !,?1,"Employment Status Preoperatively: ",?40,SREMP 59 K SRA,SRAO 60 ; Race/Ethnic 61 D ENTH^SRORACE 62 I $Y+7>IOSL D PAGE^SROAPCA I SRSOUT Q 63 D ^SROAPCA4 64 W !!," *** End of report for "_SRANM_" assessment #"_SRTN_" ***" 65 I $E(IOST)'="P" W ! K DIR S DIR(0)="E" D ^DIR K DIR 66 Q 1 SROAPCA3 ;B'HAM ISC/MAM - CARDIAC OCCURRENCE DATA ;08/23/07 2 ;;3.0; Surgery ;**38,71,95,101,125,160,164**;24 Jun 93;Build 2 3 D EN^SROCCAT K SRA S SRA(205)=$G(^SRF(SRTN,205)),SRA(208)=$G(^SRF(SRTN,208)),SRA(206)=$G(^SRF(SRTN,206)),SRA(209)=$G(^SRF(SRTN,209)) 4 S NYUK=$P(SRA(208),"^") D YN S SRAO(1)=SHEMP_"^384" 5 S Y=$P($G(^DPT(DFN,.35)),"^") D DT^SROAPCA1 S SRAO(2)=X 6 S NYUK=$P(SRA(208),"^",2) D YN S SRAO(3)=SHEMP_"^385",NYUK=$P(SRA(208),"^",3) D YN S SRAO(4)=SHEMP_"^386",NYUK=$P(SRA(205),"^",17) D YN S SRAO(5)=SHEMP_"^254",NYUK=$P(SRA(209),"^",12) D YN S SRAO(6)=SHEMP_"^490" 7 S NYUK=$P(SRA(208),"^",5) D YN S SRAO(7)=SHEMP_"^388",NYUK=$P(SRA(208),"^",6) D YN S SRAO(8)=SHEMP_"^389",NYUK=$P(SRA(205),"^",13) D YN S SRAO(9)=SHEMP_"^285" 8 S NYUK=$P(SRA(208),"^",7) D YN S SRAO(10)=SHEMP_"^391",NYUK=$P(SRA(205),"^",22) D YN S SRAO(11)=SHEMP_"^410" 9 S NYUK=$P(SRA(205),"^",21) D YN S SRAO(12)=SHEMP_"^256",NYUK=$P(SRA(205),"^",26) D YN S SRAO(13)=SHEMP_"^411" 10 S NYUK=$P(SRA(206),"^",39) D YN S SRAO(14)=SHEMP_"^466" 11 S NYUK=$P(SRA(206),"^",40) D YN S SRAO(15)=SHEMP_"^467" 12 I $Y+5>IOSL D PAGE^SROAPCA I SRSOUT Q 13 W !!,"VII. OUTCOMES" 14 W !,"Operative Death:",?18,$P(SRAO(1),"^"),?43,"Date of Death:",?58,$P(SRAO(2),"^") 15 ;I $Y+10>IOSL D PAGE^SROAPCA I SRSOUT Q 16 W !!,"Perioperative (30 day) Occurrences:" 17 W !,?2,"Perioperative MI:",?36,$P(SRAO(3),"^"),?42,"Repeat cardiac Surg procedure:",?74,$P(SRAO(10),"^") 18 W !,?2,"Endocarditis:",?36,$P(SRAO(4),"^"),?42,"Tracheostomy:",?74,$P(SRAO(14),"^") 19 W !,?2,"Renal Failure Requiring Dialysis:",?36,$P(SRAO(5),"^"),?42,"Ventilator supp within 30 days:",?74,$P(SRAO(6),"^") 20 W !,?2,"Mediastinitis:",?36,$P(SRAO(7),"^"),?42,"Stroke/CVA:",?74,$P(SRAO(12),"^") 21 W !,?2,"Cardiac Arrest Requiring CPR:",?36,$P(SRAO(13),"^"),?42,"Coma > or = 24 Hours:",?74,$P(SRAO(11),"^") 22 W !,?2,"Reoperation for Bleeding:",?36,$P(SRAO(8),"^"),?42,"New Mech Circulatory Support:",?74,$P(SRAO(15),"^") 23 W !,?2,"On ventilator > or = 48 hr:",?36,$P(SRAO(9),"^") 24 D RES 25 Q 26 YN ; store answer 27 S SHEMP=$S(NYUK="NS":"NS",NYUK="N":"NO",NYUK="Y":"YES",1:"") 28 Q 29 ; 30 RES I $Y+12>IOSL D PAGE^SROAPCA I SRSOUT Q 31 S SRA(208)=$G(^SRF(SRTN,208)) 32 S SRA(.2)=$G(^SRF(SRTN,.2)) 33 W !!,"VIII. RESOURCE DATA" 34 S Y=$P($G(^SRF(SRTN,208)),"^",14) D DT^SROAPCA1 W !,"Hospital Admission Date:",?47,X 35 S Y=$P($G(^SRF(SRTN,208)),"^",15) D DT^SROAPCA1 W !,"Hospital Discharge Date:",?47,X 36 S Y=$P(SRA(.2),"^",10) D DT^SROAPCA1 W !,"Time Patient In OR: ",?47,X 37 S Y=$P(SRA(.2),"^",12) D DT^SROAPCA1 W !,"Time Patient Out OR: ",?47,X 38 S Y=$P($G(^SRF(SRTN,208)),"^",22) I Y>1 D DT^SROAPCA1 S Y=X 39 S Y=$S(Y="NS":"Unable to determine",Y="RI":"Remains intubated at 30 days",1:Y) W !,"Date and Time Patient Extubated: ",?47,Y 40 S Y=$P($G(^SRF(SRTN,208)),"^",23) I Y>1 D DT^SROAPCA1 S Y=X 41 S Y=$S(Y="NS":"Unable to determine",Y="RI":"Remains in ICU at 30 days",1:Y) W !,"Date and Time Patient Discharged from ICU: ",?47,Y 42 S Y=$P(SRA(209),"^") W !,"Patient is Homeless: ",?47,$S(Y="Y":"YES",Y="N":"NO",Y="NS":"NS",1:"") 43 S Y=$P(SRA(206),"^",41) W !,"Cardiac Surg Performed at Non-VA Facility: ",?47,$S(Y="Y":"YES",Y="N":"NO",Y="NS":"UNKNOWN",1:"") 44 S Y=$P(SRA(209),"^",15) D DT^SROAPCA1 W !,"CT Surgery Consult Date: ",?47,$P(X," ") 45 W !,"Resource Data Comments: " 46 I $G(^SRF(SRTN,206.2))'="" S SRQ=0 S X=$G(^SRF(SRTN,206.2)) W:$L(X)<49 X,! I $L(X)>48 S Z=$L(X) D 47 .I X'[" " W ?25,X Q 48 .S I=0,LINE=1 F S SRL=$S(LINE=1:48,1:80) D Q:SRQ 49 ..I $E(X,1,SRL)'[" " W X,! S SRQ=1 Q 50 ..S J=SRL-I,Y=$E(X,J),I=I+1 I Y=" " W $E(X,1,J-1),!,?5 S X=$E(X,J+1,Z),Z=$L(X),I=0,LINE=LINE+1 I Z<SRL W X S SRQ=1 Q 51 I $Y+7>IOSL D PAGE^SROAPCA I SRSOUT Q 52 W ! F MOE=1:1:80 W "=" 53 W !,"IX. SOCIOECONOMIC, ETHNICITY, AND RACE" 54 N SREMP S SREMP=$P(SRA(208),"^",18) S SREMP=$S(SREMP=1:"EMPLOYED FULL TIME",SREMP=2:"EMPLOYED PART TIME",SREMP=3:"NOT EMPLOYED",SREMP=4:"SELF EMPLOYED",SREMP=5:"RETIRED",SREMP=6:"ACTIVE MILITARY DUTY",SREMP=9:"UNKNOWN",1:" ") 55 W !,?1,"Employment Status Preoperatively: ",?40,SREMP 56 K SRA,SRAO 57 ; Race/Ethnic 58 D ENTH^SRORACE 59 I $Y+7>IOSL D PAGE^SROAPCA I SRSOUT Q 60 D ^SROAPCA4 61 W !!," *** End of report for "_SRANM_" assessment #"_SRTN_" ***" 62 I $E(IOST)'="P" W ! K DIR S DIR(0)="E" D ^DIR K DIR 63 Q -
WorldVistAEHR/trunk/r/SURGERY-SR/SROAPM.m
r613 r623 1 SROAPM ;BIR/ADM - PATIENT DEMOGRAPHIC INFO ;03/03/08 2 ;;3.0; Surgery ;**47,81,111,107,100,125,142,160,166**;24 Jun 93;Build 7 3 I '$D(SRTN) W !!,"A Surgery Risk Assessment must be selected prior to using this option.",!!,"Press <RET> to continue " R X:DTIME G END 4 S SRSOUT=0,SRSUPCPT=1 D ^SROAUTL 5 START G:SRSOUT END D HDR^SROAUTL 6 S DIR("A",1)="Enter/Edit Patient Demographic Information",DIR("A",2)=" ",DIR("A",3)="1. Capture Information from PIMS Records",DIR("A",4)="2. Enter, Edit, or Review Information",DIR("A",5)=" " 7 S DIR("?",1)="Enter '1' if you want to capture patient movement information from PIMS",DIR("?",2)="records. Enter '2' if you want to enter, edit, or review patient",DIR("?")="movement and other information on this screen." 8 S DIR("A")="Select Number",DIR(0)="NO^1:2" D ^DIR K DIR I $D(DTOUT)!$D(DUOUT)!'Y S SRSOUT=1 G END 9 I Y=1 D PIMS G START 10 EDIT S SRR=0 D HDR^SROAUTL K DR S SRQ=0,(DR,SRDR)="413;452;453;454;418;419;420;421;247;.011" 11 K DA,DIC,DIQ,SRY S DIC="^SRF(",DA=SRTN,DIQ="SRY",DIQ(0)="E",DR=SRDR D EN^DIQ1 K DA,DIC,DIQ,DR 12 K SRZ S SRZ=0 F M=1:1 S I=$P(SRDR,";",M) Q:'I D 13 .D TR,GET 14 .S SRZ=SRZ+1,Y=$P(X,";;",2),SRFLD=$P(Y,"^"),(Z,SRZ(SRZ))=$P(Y,"^",2)_"^"_SRFLD,SREXT=SRY(130,SRTN,SRFLD,"E") 15 .W !,$S($L(SRZ)<2:" "_SRZ,1:SRZ)_". "_$P(Z,"^")_":" D EXT 16 ; 17 D DEM^VADPT 18 ;Find patient's ethnicity and list it on the display 19 W !,"11. Patient's Ethnicity:" S SRZ(11)="" D 20 .I $G(VADM(11)) W ?40,$P(VADM(11,1),U,2) 21 .I '$G(VADM(11)) W ?40,"UNANSWERED" 22 ; 23 ;Find all race entries and place into a string with commas inbetween 24 S SRORC=0,C=1,SRORACE="",SROLINE="",N=1,SROL="" 25 F S SRORC=$O(VADM(12,SRORC)) Q:SRORC="" Q:C=11 D 26 .I $G(VADM(12,SRORC)) S SRORACE(C)=$P(VADM(12,SRORC),U,2) 27 .I SROLINE'="" S SROLINE=SROLINE_", "_SRORACE(C) 28 .I SROLINE="" S SROLINE=SRORACE(C) 29 .S C=C+1 30 ; 31 ;Find total length of 'race' string and wrap the text if necessary 32 I $L(SROLINE)=40!$L(SROLINE)<40 S SROL(N)=SROLINE,SRNUM1=2 33 I $L(SROLINE)>40 D WRAP 34 ; 35 W !,"12. Patient's Race:" S SRZ(12)="" 36 I $G(VADM(12)) F D=1:1:SRNUM1-1 D 37 .W:D=1 ?40,SROL(D) 38 .W:D'=1 !,?40,SROL(D) 39 ; 40 I '$G(VADM(12)) W ?40,"UNANSWERED" 41 ; 42 K DA,DIC,DIQ,DR,SRY S (DR,SRDR)="342;516;513",DIC="^SRF(",DA=SRTN,DIQ="SRY",DIQ(0)="E",DR=SRDR D EN^DIQ1 K DA,DIC,DIQ,DR 43 S SRZ=12 F M=1:1 S I=$P(SRDR,";",M) Q:'I D 44 .D TR,GET 45 .S SRZ=SRZ+1,Y=$P(X,";;",2),SRFLD=$P(Y,"^"),(Z,SRZ(SRZ))=$P(Y,"^",2)_"^"_SRFLD,SREXT=SRY(130,SRTN,SRFLD,"E") 46 .W !,$S($L(SRZ)<2:" "_SRZ,1:SRZ)_". "_$P(Z,"^")_":" D EXT 47 ;S SRZ=15,SRZ(13)="Date of Death^342",SREXT=SRY(130,SRTN,342,"E") W !,"13. Date/Time of Death:",?40,SREXT 48 ;S SRZ(14)="Surgery Consult Date^513",SREXT=SRY(130,SRTN,513,"E") W !,"14. Surgery Consult Date:",?40,SREXT 49 ;S SRZ(15)="Date Surgery Consult Requested^516",SREXT=SRY(130,SRTN,516,"E") W !,"15. Date Surgery Consult Requested:",?40,SREXT 50 K SROL,SROLINE,SRORC,SRORACE,SROLN,SROLN1,SROWRAP,SRNUM1 51 ; 52 W !! F K=1:1:80 W "-" 53 D SEL G:SRR=1 EDIT 54 S SROERR=SRTN D ^SROERR0 55 G START 56 Q 57 ; 58 WRAP ;Wrap multiple race entries so that wrapped line 59 ;does not break in the middle of a word 60 ; 61 N SROLNGTH S SROLNGTH=$L(SROLINE),E=40,SROWRAP="",SROLN="",SROLN1="",SROL="" 62 F I=1:40:SROLNGTH S SROLN(I)=SROWRAP_$E(SROLINE,I,E) D 63 .F K=40:-1:1 I $E(SROLN(I),K)[" " D Q ;Break lines at space 64 ..S SROLN1(I)=$E(SROLN(I),1,K-1) 65 ..S SROWRAP=$E(SROLN(I),K+1,E) 66 .S E=E+40 67 ; 68 S:'$D(SROLN1(I)) SROLN1(I)=SROLN(I),SROWRAP="" 69 I $L(SROLN1(I))+$L(SROWRAP)>39 S SROLN1(I+1)=SROWRAP ;Last line 70 I $L(SROLN1(I))+$L(SROWRAP)'>39 S SROLN1(I)=SROLN1(I)_" "_SROWRAP 71 ; 72 ;Renumber the SROLN1 array to be in numeric order 73 S SRNUM=0,SRNUM1=1 74 F S SRNUM=$O(SROLN1(SRNUM)) Q:SRNUM="" D 75 .S SROL(SRNUM1)=SROLN1(SRNUM) 76 .S SRNUM1=SRNUM1+1 77 Q 78 ; 79 EXT I $L(SREXT)<40 W ?40,SREXT W:SRFLD=247 $S(SREXT="":"",SREXT=1:" Day",SREXT=0:" Days",SREXT>1:" Days",1:"") Q 80 N I,J,X,Y S X=SREXT F D W:$L(X) ! I $L(X)<40!(X'[" ") W ?40,X Q 81 .F I=0:1:38 S J=39-I,Y=$E(X,J) I Y=" " W ?40,$E(X,1,J-1) S X=$E(X,J+1,$L(X)) Q 82 Q 83 SEL W !!,"Select Patient Demographics Information to Edit: " R X:DTIME I '$T!(X["^") S SRSOUT=1 Q 84 I (X=11)!(X=12) S SRR=1 W !!,"The Patient's Race and Ethnicity information cannot be updated through the" D Q 85 .W !,"Surgery package options." 86 .W !!,"Press RETURN to continue " R X:DTIME 87 Q:X="" S:X="a" X="A" I '$D(SRFLG),'$D(SRZ(X)),(X'?1.2N1":"1.2N),X'="A" D HELP S SRR=1 Q 88 I X?1.2N1":"1.2N S Y=$P(X,":"),Z=$P(X,":",2) I Y<1!(Z>SRZ)!(Y>Z) D HELP S SRR=1 Q 89 I X="A" S X="1:"_SRZ 90 I X?1.2N1":"1.2N D RANGE S SRR=1 Q 91 I $D(SRZ(X)),+X=X S EMILY=X D S SRR=1 92 .I $$LOCK^SROUTL(SRTN) D ONE,UNLOCK^SROUTL(SRTN) 93 Q 94 PIMS ; get update from PIMS records 95 W ! K DIR S DIR("A")="Are you sure you want to retrieve information from PIMS records ? ",DIR("B")="YES",DIR(0)="YOA" D ^DIR K DIR I $D(DTOUT)!$D(DUOUT)!'Y Q 96 I $$LOCK^SROUTL(SRTN) D D UNLOCK^SROUTL(SRTN) 97 .W ! D WAIT^DICD D ^SROAPIMS 98 Q 99 HELP W @IOF,!!!!,"Enter the number or range of numbers you want to edit. Examples of proper",!,"responses are listed below.",!!,"NOTE: Items 11 and 12 cannot be updated through the surgery package options." 100 W !!,"1. Enter 'A' to update items 1 through 10 and items 13 through 15.",!!,"2. Enter a number (1-"_SRZ_") to update an individual item. (For example,",!," enter '1' to update "_$P(SRZ(1),"^")_")" 101 W !!,"3. Enter a range of numbers (1-"_SRZ_") separated by a ':' to enter a range",!," of items. (For example, enter '1:4' to update items 1, 2, 3 and 4.)",! 102 I $D(SRFLG) W !,"4. Enter 'N' or 'NO' to enter negative response for all items.",!!,"5. Enter '@' to delete information from all items.",! 103 PRESS W ! K DIR S DIR("A")="Press the return key to continue or '^' to exit: ",DIR(0)="FOA" D ^DIR K DIR I $D(DTOUT)!$D(DUOUT) S SRSOUT=1 104 Q 105 RANGE ; range of numbers 106 I $$LOCK^SROUTL(SRTN) D D UNLOCK^SROUTL(SRTN) 107 .S SHEMP=$P(X,":"),CURLEY=$P(X,":",2) D 108 ..I SHEMP<13 F EMILY=SHEMP:1:10,13:1:15 Q:SRSOUT D ONE 109 ..I SHEMP>12 F EMILY=SHEMP:1:15 Q:SRSOUT D ONE 110 Q 111 ONE ; edit one item 112 K DR,DA,DIE S DR=$P(SRZ(EMILY),"^",2)_"T",DA=SRTN,DIE=130,SRDT=$P(SRZ(EMILY),"^",3) S:SRDT DR=DR_";"_SRDT_"T" D ^DIE K DR,DA I $D(Y) S SRSOUT=1 113 Q 114 TR S J=I,J=$TR(J,"1234567890.","ABCDEFGHIJP") 115 Q 116 GET S X=$T(@J) 117 Q 118 END W @IOF D ^SRSKILL 119 Q 120 PJAA ;;.011^In/Out-Patient Status 121 BDG ;;247^Length of Postop Hospital Stay 122 CDB ;;342^Date of Death 123 DAC ;;413^Transfer Status 124 DAG ;;417^Patient's Race 125 DAH ;;418^Hospital Admission Date/Time 126 DAI ;;419^Hospital Discharge Date/Time 127 DBJ ;;420^Admit/Transfer to Surgical Svc. 128 DBA ;;421^Discharge/Transfer to Chronic Care 129 DEB ;;452^Observation Admission Date/Time 130 DEC ;;453^Observation Discharge Date/Time 131 DED ;;454^Observation Treating Specialty 132 EAC ;;513^Surgery Consult Date 133 EAF ;;516^Date Surgery Consult Requested 1 SROAPM ;BIR/ADM - PATIENT DEMOGRAPHIC INFO ;01/23/07 2 ;;3.0; Surgery ;**47,81,111,107,100,125,142,160**;24 Jun 93;Build 7 3 I '$D(SRTN) W !!,"A Surgery Risk Assessment must be selected prior to using this option.",!!,"Press <RET> to continue " R X:DTIME G END 4 S SRSOUT=0,SRSUPCPT=1 D ^SROAUTL 5 START G:SRSOUT END D HDR^SROAUTL 6 S DIR("A",1)="Enter/Edit Patient Demographic Information",DIR("A",2)=" ",DIR("A",3)="1. Capture Information from PIMS Records",DIR("A",4)="2. Enter, Edit, or Review Information",DIR("A",5)=" " 7 S DIR("?",1)="Enter '1' if you want to capture patient movement information from PIMS",DIR("?",2)="records. Enter '2' if you want to enter, edit, or review patient",DIR("?")="movement and other information on this screen." 8 S DIR("A")="Select Number",DIR(0)="NO^1:2" D ^DIR K DIR I $D(DTOUT)!$D(DUOUT)!'Y S SRSOUT=1 G END 9 I Y=1 D PIMS G START 10 EDIT S SRR=0 D HDR^SROAUTL K DR S SRQ=0,(DR,SRDR)="413;452;453;454;418;419;420;421;247;.011" 11 K DA,DIC,DIQ,SRY S DIC="^SRF(",DA=SRTN,DIQ="SRY",DIQ(0)="E",DR=SRDR D EN^DIQ1 K DA,DIC,DIQ,DR 12 K SRZ S SRZ=0 F M=1:1 S I=$P(SRDR,";",M) Q:'I D 13 .D TR,GET 14 .S SRZ=SRZ+1,Y=$P(X,";;",2),SRFLD=$P(Y,"^"),(Z,SRZ(SRZ))=$P(Y,"^",2)_"^"_SRFLD,SREXT=SRY(130,SRTN,SRFLD,"E") 15 .W !,$S($L(SRZ)<2:" "_SRZ,1:SRZ)_". "_$P(Z,"^")_":" D EXT 16 ; 17 D DEM^VADPT 18 ;Find patient's ethnicity and list it on the display 19 W !,"11. Patient's Ethnicity:" S SRZ(11)="" D 20 .I $G(VADM(11)) W ?40,$P(VADM(11,1),U,2) 21 .I '$G(VADM(11)) W ?40,"UNANSWERED" 22 ; 23 ;Find all race entries and place into a string with commas inbetween 24 S SRORC=0,C=1,SRORACE="",SROLINE="",N=1,SROL="" 25 F S SRORC=$O(VADM(12,SRORC)) Q:SRORC="" Q:C=11 D 26 .I $G(VADM(12,SRORC)) S SRORACE(C)=$P(VADM(12,SRORC),U,2) 27 .I SROLINE'="" S SROLINE=SROLINE_", "_SRORACE(C) 28 .I SROLINE="" S SROLINE=SRORACE(C) 29 .S C=C+1 30 ; 31 ;Find total length of 'race' string and wrap the text if necessary 32 I $L(SROLINE)=40!$L(SROLINE)<40 S SROL(N)=SROLINE,SRNUM1=2 33 I $L(SROLINE)>40 D WRAP 34 ; 35 W !,"12. Patient's Race:" S SRZ(12)="" 36 I $G(VADM(12)) F D=1:1:SRNUM1-1 D 37 .W:D=1 ?40,SROL(D) 38 .W:D'=1 !,?40,SROL(D) 39 ; 40 I '$G(VADM(12)) W ?40,"UNANSWERED" 41 ; 42 K DA,DIC,DIQ,DR,SRY S (DR,SRDR)="342",DIC="^SRF(",DA=SRTN,DIQ="SRY",DIQ(0)="E",DR=SRDR D EN^DIQ1 K DA,DIC,DIQ,DR 43 S SRZ=13,SRZ(13)="Date of Death^342",SREXT=SRY(130,SRTN,342,"E") 44 W !,"13. Date/Time of Death:",?40,SREXT 45 K SROL,SROLINE,SRORC,SRORACE,SROLN,SROLN1,SROWRAP,SRNUM1 46 ; 47 W !! F K=1:1:80 W "-" 48 D SEL G:SRR=1 EDIT 49 S SROERR=SRTN D ^SROERR0 50 G START 51 Q 52 ; 53 WRAP ;Wrap multiple race entries so that wrapped line 54 ;does not break in the middle of a word 55 ; 56 N SROLNGTH S SROLNGTH=$L(SROLINE),E=40,SROWRAP="",SROLN="",SROLN1="",SROL="" 57 F I=1:40:SROLNGTH S SROLN(I)=SROWRAP_$E(SROLINE,I,E) D 58 .F K=40:-1:1 I $E(SROLN(I),K)[" " D Q ;Break lines at space 59 ..S SROLN1(I)=$E(SROLN(I),1,K-1) 60 ..S SROWRAP=$E(SROLN(I),K+1,E) 61 .S E=E+40 62 ; 63 S:'$D(SROLN1(I)) SROLN1(I)=SROLN(I),SROWRAP="" 64 I $L(SROLN1(I))+$L(SROWRAP)>39 S SROLN1(I+1)=SROWRAP ;Last line 65 I $L(SROLN1(I))+$L(SROWRAP)'>39 S SROLN1(I)=SROLN1(I)_" "_SROWRAP 66 ; 67 ;Renumber the SROLN1 array to be in numeric order 68 S SRNUM=0,SRNUM1=1 69 F S SRNUM=$O(SROLN1(SRNUM)) Q:SRNUM="" D 70 .S SROL(SRNUM1)=SROLN1(SRNUM) 71 .S SRNUM1=SRNUM1+1 72 Q 73 ; 74 EXT I $L(SREXT)<40 W ?40,SREXT W:SRFLD=247 $S(SREXT="":"",SREXT=1:" Day",SREXT=0:" Days",SREXT>1:" Days",1:"") Q 75 N I,J,X,Y S X=SREXT F D W:$L(X) ! I $L(X)<40!(X'[" ") W ?40,X Q 76 .F I=0:1:38 S J=39-I,Y=$E(X,J) I Y=" " W ?40,$E(X,1,J-1) S X=$E(X,J+1,$L(X)) Q 77 Q 78 SEL W !!,"Select number of item to edit: " R X:DTIME I '$T!(X["^") S SRSOUT=1 Q 79 I (X=11)!(X=12) S SRR=1 W !!,"The Patient's Race and Ethnicity information cannot be updated through the" D Q 80 .W !,"Surgery package options." 81 .W !!,"Press RETURN to continue " R X:DTIME 82 Q:X="" S:X="a" X="A" I '$D(SRFLG),'$D(SRZ(X)),(X'?1.2N1":"1.2N),X'="A" D HELP S SRR=1 Q 83 I X?1.2N1":"1.2N S Y=$P(X,":"),Z=$P(X,":",2) I Y<1!(Z>SRZ)!(Y>Z) D HELP S SRR=1 Q 84 I X="A" S X="1:"_SRZ 85 I X?1.2N1":"1.2N D RANGE S SRR=1 Q 86 I $D(SRZ(X)),+X=X S EMILY=X D S SRR=1 87 .I $$LOCK^SROUTL(SRTN) D ONE,UNLOCK^SROUTL(SRTN) 88 Q 89 PIMS ; get update from PIMS records 90 W ! K DIR S DIR("A")="Are you sure you want to retrieve information from PIMS records ? ",DIR("B")="YES",DIR(0)="YOA" D ^DIR K DIR I $D(DTOUT)!$D(DUOUT)!'Y Q 91 I $$LOCK^SROUTL(SRTN) D D UNLOCK^SROUTL(SRTN) 92 .W ! D WAIT^DICD D ^SROAPIMS 93 Q 94 HELP W @IOF,!!!!,"Enter the number or range of numbers you want to edit. Examples of proper",!,"responses are listed below.",!!,"NOTE: Items 11 and 12 cannot be updated through the surgery package options." 95 W !!,"1. Enter 'A' to update items 1 through 10 and item 13.",!!,"2. Enter a number (1-"_SRZ_") to update an individual item. (For example,",!," enter '1' to update "_$P(SRZ(1),"^")_")" 96 W !!,"3. Enter a range of numbers (1-"_SRZ_") separated by a ':' to enter a range",!," of items. (For example, enter '1:4' to update items 1, 2, 3 and 4.)",! 97 I $D(SRFLG) W !,"4. Enter 'N' or 'NO' to enter negative response for all items.",!!,"5. Enter '@' to delete information from all items.",! 98 PRESS W ! K DIR S DIR("A")="Press the return key to continue or '^' to exit: ",DIR(0)="FOA" D ^DIR K DIR I $D(DTOUT)!$D(DUOUT) S SRSOUT=1 99 Q 100 RANGE ; range of numbers 101 I $$LOCK^SROUTL(SRTN) D D UNLOCK^SROUTL(SRTN) 102 .S SHEMP=$P(X,":"),CURLEY=$P(X,":",2) F EMILY=SHEMP:1:10,13 Q:SRSOUT D ONE 103 Q 104 ONE ; edit one item 105 K DR,DA,DIE S DR=$P(SRZ(EMILY),"^",2)_"T",DA=SRTN,DIE=130,SRDT=$P(SRZ(EMILY),"^",3) S:SRDT DR=DR_";"_SRDT_"T" D ^DIE K DR,DA I $D(Y) S SRSOUT=1 106 Q 107 TR S J=I,J=$TR(J,"1234567890.","ABCDEFGHIJP") 108 Q 109 GET S X=$T(@J) 110 Q 111 END W @IOF D ^SRSKILL 112 Q 113 PJAA ;;.011^In/Out-Patient Status 114 BDG ;;247^Length of Postop Hospital Stay 115 CDB ;;342^Date of Death 116 DAC ;;413^Transfer Status 117 DAG ;;417^Patient's Race 118 DAH ;;418^Hospital Admission Date/Time 119 DAI ;;419^Hospital Discharge Date/Time 120 DBJ ;;420^Admit/Transfer to Surgical Svc. 121 DBA ;;421^Discharge/Transfer to Chronic Care 122 DEB ;;452^Observation Admission Date/Time 123 DEC ;;453^Observation Discharge Date/Time 124 DED ;;454^Observation Treating Specialty -
WorldVistAEHR/trunk/r/SURGERY-SR/SROAPRE.m
r613 r623 1 SROAPRE ;BIR/MAM - PREOPERATIVE INFO ;11/26/07 2 ;;3.0; Surgery ;**38,47,55,88,100,125,142,166**;24 Jun 93;Build 7 3 I '$D(SRTN) W !!,"A Surgery Risk Assessment must be selected prior to using this option.",!!,"Press <RET> to continue " R X:DTIME G END 4 S (SRSOUT,SRACLR)=0,SRSUPCPT=1 D ^SROAUTL,DUP^SROAUTL G:SRSOUT END 5 START D:SRACLR RET G:SRSOUT END S SRACLR=0 K SRA,SRAO D ^SROAPS1 6 ASK W !,"Select Preoperative Information to Edit: " R X:DTIME I '$T!(X["^") D CONCC G END 7 S:X="" X="+1" S:X="a" X="A" S:X="n" X="N" 8 I $L(X)=2,'$D(SRAO(X)),X?1N1A S Z=$E(X,2),Z=$TR(Z,"abcdefghijklmnopqrstuvwxyz","ABCDEFGHIJKLMNOPQRSTUVWXYZ") I $D(SRAO($E(X)_Z)) S X=$E(X)_Z 9 I '$D(SRAO(X)),(X'?.N1":".N),(X'="A"),(X'="N"),(X'="+1") D HELP G:SRSOUT END G START 10 I X="+1" D CONCC,^SROAPR2 G START 11 I X="A" S X="1:6" 12 I X?.N1":".N S Y=$E(X),Z=$P(X,":",2) I Y<1!(Z>6)!(Y>Z) D HELP G:SRSOUT END G START 13 I X="N" D G:SRSOUT END G START 14 .W ! K DIR S DIR(0)="Y",DIR("B")="NO",DIR("A")="Are you sure you want to set all fields on this page to NO" 15 .D ^DIR I $D(DTOUT)!$D(DUOUT) S SRSOUT=1 Q 16 .I Y D NO2ALL^SROAPRE1 17 S SRPAGE="" D HDR^SROAUTL 18 I X?.N1":".N D RANGE G START 19 I $D(SRAO(X)),+X=X S EMILY=X D G START 20 .I $$LOCK^SROUTL(SRTN) W ! D:EMILY<4 ^SROAPRE1 D:EMILY>3 ^SROAPR1A D UNLOCK^SROUTL(SRTN) 21 I $D(SRAO(X)),$$LOCK^SROUTL(SRTN) D D UNLOCK^SROUTL(SRTN) 22 .I X="1H" D FUNCTH Q 23 .S SRX=X W ! K DR,DIE S DA=SRTN,DR=$P(SRAO(X),"^",2)_"T",DIE=130 D ^DIE K DR 24 G START 25 END I '$D(SREQST) W @IOF D ^SRSKILL 26 Q 27 FUNCTH N X K DA,DIR S DA=SRTN,DIR(0)="130,492",DIR("A")="Functional Health Status at Evaluation for Surgery" D ^DIR K DIR D Q 28 .I $D(DTOUT)!$D(DUOUT) Q 29 .I X="@" K DIE,DR S DIE=130,DR="492///@" D ^DIE K DA,DIE,DR Q 30 .K DIE,DR S DIE=130,DR="492////"_Y D ^DIE K DA,DIE,DR 31 Q 32 HELP W @IOF,!!!!,"Enter the number, number/letter combination, or range of numbers you want to",!,"edit. Examples of proper responses are listed below." 33 W !!,"1. Enter 'A' to update all information.",!!,"2. Enter 'N' to set all fields on this page to NO." 34 W !!,"3. Enter a number (1-6) to update the information in that group. (For",!," example, enter '5' to update all cardiac information)" 35 W !!,"4. Enter a number/letter combination to update a specific occurrence. (To ",!," update Current Pneumonia, enter '2C'.)" 36 W !!,"5. Enter a range of numbers (1-6) separated by a ':' to enter a range of",!," occurrences. (For example, enter '2:4' to enter all pulmonary,",!," hepatobiliary, and gastrointestinal information)" 37 W !!,"6. Press <RET> to continue to page 2 of this option." 38 W !!,"Press <RET> to continue, or '^' to quit " R X:DTIME I '$T!(X["^") S SRSOUT=1 39 Q 40 RANGE ; range of numbers 41 I $$LOCK^SROUTL(SRTN) D D UNLOCK^SROUTL(SRTN) 42 .S SHEMP=$P(X,":"),CURLEY=$P(X,":",2) W:SHEMP<9 ! F EMILY=SHEMP:1:CURLEY Q:SRSOUT D:EMILY<4 ^SROAPRE1 D:EMILY>3 ^SROAPR1A 43 Q 44 RET Q:SRSOUT W !!,"Press <RET> to continue, or '^' to quit " R X:DTIME I '$T!(X["^") S SRSOUT=1 Q 45 Q 46 CONCC ; check for concurrent case and update if one exists 47 S SRCON=$P($G(^SRF(SRTN,"CON")),"^") Q:'SRCON 48 Q:$P($G(^SRF(SRCON,"RA")),"^",2)="C" 49 S SRI="" F S SRI=$O(SRAO(SRI)) Q:SRI="" S SRZ=$P(SRAO(SRI),"^",2) K DA,DIC,DIQ,DR,SRY D 50 .S DA=SRTN,DR=SRZ,DIC="^SRF(",DIQ="SRY",DIQ(0)="I" D EN^DIQ1 S SRX=SRY(130,SRTN,SRZ,"I") S:SRX="" SRX="@" 51 .I $$LOCK^SROUTL(SRTN) K DA,DIE,DR S DA=SRCON,DIE=130,DR=SRZ_"////"_SRX D ^DIE K DR D UNLOCK^SROUTL(SRTN) 52 Q 1 SROAPRE ;BIR/MAM - PREOPERATIVE INFO ;06/03/05 2 ;;3.0; Surgery ;**38,47,55,88,100,125,142**;24 Jun 93 3 I '$D(SRTN) W !!,"A Surgery Risk Assessment must be selected prior to using this option.",!!,"Press <RET> to continue " R X:DTIME G END 4 S (SRSOUT,SRACLR)=0,SRSUPCPT=1 D ^SROAUTL,DUP^SROAUTL G:SRSOUT END 5 START D:SRACLR RET G:SRSOUT END S SRACLR=0 K SRA,SRAO D ^SROAPS1 6 ASK W !,"Select Preoperative Information to Edit: " R X:DTIME I '$T!(X["^") D CONCC G END 7 S:X="" X="+1" S:X="a" X="A" S:X="n" X="N" 8 I $L(X)=2,'$D(SRAO(X)),X?1N1A S Z=$E(X,2),Z=$TR(Z,"abcdefghijklmnopqrstuvwxyz","ABCDEFGHIJKLMNOPQRSTUVWXYZ") I $D(SRAO($E(X)_Z)) S X=$E(X)_Z 9 I '$D(SRAO(X)),(X'?.N1":".N),(X'="A"),(X'="N"),(X'="+1") D HELP G:SRSOUT END G START 10 I X="+1" D CONCC,^SROAPR2 G START 11 I X="A" S X="1:6" 12 I X?.N1":".N S Y=$E(X),Z=$P(X,":",2) I Y<1!(Z>6)!(Y>Z) D HELP G:SRSOUT END G START 13 I X="N" D G:SRSOUT END G START 14 .W ! K DIR S DIR(0)="Y",DIR("B")="NO",DIR("A")="Are you sure you want to set all fields on this page to NO" 15 .D ^DIR I $D(DTOUT)!$D(DUOUT) S SRSOUT=1 Q 16 .I Y D NO2ALL^SROAPRE1 17 S SRPAGE="" D HDR^SROAUTL 18 I X?.N1":".N D RANGE G START 19 I $D(SRAO(X)),+X=X S EMILY=X D G START 20 .I $$LOCK^SROUTL(SRTN) W ! D:EMILY<4 ^SROAPRE1 D:EMILY>3 ^SROAPR1A D UNLOCK^SROUTL(SRTN) 21 I $D(SRAO(X)),$$LOCK^SROUTL(SRTN) D D UNLOCK^SROUTL(SRTN) 22 .I X="1J" D FUNCTI Q 23 .I X="1I" D FUNCTJ Q 24 .S SRX=X W ! K DR,DIE S DA=SRTN,DR=$P(SRAO(X),"^",2)_"T",DIE=130 D ^DIE K DR 25 G START 26 END I '$D(SREQST) W @IOF D ^SRSKILL 27 Q 28 FUNCTI N X K DA,DIR S DA=SRTN,DIR(0)="130,492",DIR("A")="Functional Health Status at Evaluation for Surgery" D ^DIR K DIR D Q 29 .I $D(DTOUT)!$D(DUOUT) Q 30 .I X="@" K DIE,DR S DIE=130,DR="492///@" D ^DIE K DA,DIE,DR Q 31 .K DIE,DR S DIE=130,DR="492////"_Y D ^DIE K DA,DIE,DR 32 Q 33 FUNCTJ N X K DA,DIR S DA=SRTN,DIR(0)="130,240",DIR("A")="Functional Health Status Prior to Current Illness" D ^DIR K DIR D Q 34 .I $D(DTOUT)!$D(DUOUT) Q 35 .I X="@" K DIE,DR S DIE=130,DR="240///@" D ^DIE K DA,DIE,DR Q 36 .K DIE,DR S DIE=130,DR="240////"_Y D ^DIE K DA,DIE,DR 37 Q 38 HELP W @IOF,!!!!,"Enter the number, number/letter combination, or range of numbers you want to",!,"edit. Examples of proper responses are listed below." 39 W !!,"1. Enter 'A' to update all information.",!!,"2. Enter 'N' to set all fields on this page to NO." 40 W !!,"3. Enter a number (1-6) to update the information in that group. (For",!," example, enter '5' to update all cardiac information)" 41 W !!,"4. Enter a number/letter combination to update a specific occurrence. (To ",!," update Current Pneumonia, enter '2C'.)" 42 W !!,"5. Enter a range of numbers (1-6) separated by a ':' to enter a range of",!," occurrences. (For example, enter '2:4' to enter all pulmonary,",!," hepatobiliary, and gastrointestinal information)" 43 W !!,"6. Press <RET> to continue to page 2 of this option." 44 W !!,"Press <RET> to continue, or '^' to quit " R X:DTIME I '$T!(X["^") S SRSOUT=1 45 Q 46 RANGE ; range of numbers 47 I $$LOCK^SROUTL(SRTN) D D UNLOCK^SROUTL(SRTN) 48 .S SHEMP=$P(X,":"),CURLEY=$P(X,":",2) W:SHEMP<9 ! F EMILY=SHEMP:1:CURLEY Q:SRSOUT D:EMILY<4 ^SROAPRE1 D:EMILY>3 ^SROAPR1A 49 Q 50 RET Q:SRSOUT W !!,"Press <RET> to continue, or '^' to quit " R X:DTIME I '$T!(X["^") S SRSOUT=1 Q 51 Q 52 CONCC ; check for concurrent case and update if one exists 53 S SRCON=$P($G(^SRF(SRTN,"CON")),"^") Q:'SRCON 54 Q:$P($G(^SRF(SRCON,"RA")),"^",2)="C" 55 S SRI="" F S SRI=$O(SRAO(SRI)) Q:SRI="" S SRZ=$P(SRAO(SRI),"^",2) K DA,DIC,DIQ,DR,SRY D 56 .S DA=SRTN,DR=SRZ,DIC="^SRF(",DIQ="SRY",DIQ(0)="I" D EN^DIQ1 S SRX=SRY(130,SRTN,SRZ,"I") S:SRX="" SRX="@" 57 .I $$LOCK^SROUTL(SRTN) K DA,DIE,DR S DA=SRCON,DIE=130,DR=SRZ_"////"_SRX D ^DIE K DR D UNLOCK^SROUTL(SRTN) 58 Q -
WorldVistAEHR/trunk/r/SURGERY-SR/SROAPRE1.m
r613 r623 1 SROAPRE1 ;BIR/MAM - EDIT PAGE 1 PREOP ;11/26/07 2 ;;3.0; Surgery ;**38,47,125,135,141,166**;24 Jun 93;Build 7 3 K DA D @EMILY Q 4 1 ; edit general information 5 W ! K DIR S X=$P(SRAO(1),"^") I X'="" S DIR("B")=X 6 S DIR(0)="130,402",DIR("A")="GENERAL" D ^DIR K DIR I $D(DUOUT) S SRSOUT=1 Q 7 I X="@" S SRCAT="General" D SURE Q:SRSOUT G:'SRYN 1 S (SRAX,X)="",$P(^SRF(SRTN,200),"^")="" D NOGEN Q 8 S SRAX=Y,$P(^SRF(SRTN,200),"^")=SRAX I Y["N" D NOGEN Q 9 I Y["Y" D GEN 10 Q 11 2 ; edit pulmonary information 12 W ! K DIR S X=$P(SRAO(2),"^") I X'="" S DIR("B")=X 13 S DIR(0)="130,241",DIR("A")="PULMONARY" D ^DIR K DIR I $D(DUOUT) S SRSOUT=1 Q 14 I X="@" S SRCAT="Pulmonary" D SURE Q:SRSOUT G:'SRYN 2 S (SRAX,X)="",$P(^SRF(SRTN,200),"^",9)="" D NOPULM Q 15 S SRAX=Y,$P(^SRF(SRTN,200),"^",9)=SRAX I Y["N" D NOPULM Q 16 I Y["Y" D PULM 17 Q 18 3 ; edit hepatobiliary information 19 W ! K DIR S X=$P(SRAO(3),"^") I X'="" S DIR("B")=X 20 S DIR(0)="130,244",DIR("A")="HEPATOBILIARY" D ^DIR K DIR I $D(DUOUT) S SRSOUT=1 Q 21 I X="@" S SRCAT="Hepatobiliary" D SURE Q:SRSOUT G:'SRYN 3 S (SRAX,X)="",$P(^SRF(SRTN,200),"^",13)="" D NOHEP Q 22 S SRAX=Y,$P(^SRF(SRTN,200),"^",13)=SRAX I Y["N" D NOHEP Q 23 I Y["Y" D HEP 24 Q 25 GEN ; general 26 N SRUP S SRUP="" 27 W ! K DR,DIE S DA=SRTN,DIE=130,DR="236T;237T;346T;202T;246T;325T;238T" D ^DIE K DIE,DR I $D(Y) Q 28 K DIR S DA=SRTN,DIR(0)="130,492",DIR("A")="Functional Health Status at Evaluation for Surgery" D ^DIR K DIR D 29 .I $D(DTOUT)!$D(DUOUT) Q 30 .I X="@" K DIE,DR S DIE=130,DR="492///@" D ^DIE K DA,DIE,DR Q 31 .K DIE,DR S DIE=130,DR="492////"_Y D ^DIE K DA,DIE,DR 32 S SRACLR=0 33 Q 34 NOGEN ; no general problems 35 S $P(^SRF(SRTN,200),"^",6)=$S(X="":"",1:1) F I=2,3,4,7 S $P(^SRF(SRTN,200),"^",I)=SRAX 36 S $P(^SRF(SRTN,200.1),"^",2)=$S(X="":"",X="NS":"NS",1:1) 37 Q 38 PULM ; pulmonary 39 W ! K DR,DIE S DA=SRTN,DIE=130,DR="204T;203T;326T" D ^DIE K DR 40 S SRACLR=0 41 Q 42 NOPULM ; no pulmonary problems 43 F I=10:1:12 S $P(^SRF(SRTN,200),"^",I)=SRAX 44 Q 45 HEP ; hepatobiliary 46 K DR,DIE S DIE=130,DA=SRTN,DR="212////Y" D ^DIE K DR 47 S SRACLR=0 48 Q 49 NOHEP ; no hepatobiliary problems 50 S $P(^SRF(SRTN,200),"^",15)=SRAX 51 Q 52 RET W !! K DIR S DIR(0)="E" D ^DIR I $D(DTOUT)!$D(DUOUT) S SRSOUT=1 53 Q 54 SURE W ! K DIR S DIR("A")=" Sure you want to delete all "_SRCAT_" information ? ",DIR("B")="NO",DIR(0)="YA" D ^DIR K DIR S SRYN=Y I $D(DTOUT)!$D(DUOUT) S SRSOUT=1 55 Q 56 NO2ALL ; set all fields to NO 57 S SRAX="N",$P(^SRF(SRTN,200),"^")=SRAX D NOGEN 58 S $P(^SRF(SRTN,200),"^",9)=SRAX D NOPULM 59 S $P(^SRF(SRTN,200),"^",13)=SRAX D NOHEP 60 S $P(^SRF(SRTN,200.1),"^")=SRAX D NOGAST^SROAPR1A 61 S $P(^SRF(SRTN,200),"^",30)=SRAX D NOCARD^SROAPR1A 62 S $P(^SRF(SRTN,200),"^",40)=SRAX D NOVAS^SROAPR1A 63 Q 1 SROAPRE1 ;B'HAM ISC/MAM - EDIT PAGE 1 PREOP ;01/05/05 2 ;;3.0; Surgery ;**38,47,125,135,141**;24 Jun 93 3 K DA D @EMILY Q 4 1 ; edit general information 5 W ! K DIR S X=$P(SRAO(1),"^") I X'="" S DIR("B")=X 6 S DIR(0)="130,402",DIR("A")="GENERAL" D ^DIR K DIR I $D(DUOUT) S SRSOUT=1 Q 7 I X="@" S SRCAT="General" D SURE Q:SRSOUT G:'SRYN 1 S (SRAX,X)="",$P(^SRF(SRTN,200),"^")="" D NOGEN Q 8 S SRAX=Y,$P(^SRF(SRTN,200),"^")=SRAX I Y["N" D NOGEN Q 9 I Y["Y" D GEN 10 Q 11 2 ; edit pulmonary information 12 W ! K DIR S X=$P(SRAO(2),"^") I X'="" S DIR("B")=X 13 S DIR(0)="130,241",DIR("A")="PULMONARY" D ^DIR K DIR I $D(DUOUT) S SRSOUT=1 Q 14 I X="@" S SRCAT="Pulmonary" D SURE Q:SRSOUT G:'SRYN 2 S (SRAX,X)="",$P(^SRF(SRTN,200),"^",9)="" D NOPULM Q 15 S SRAX=Y,$P(^SRF(SRTN,200),"^",9)=SRAX I Y["N" D NOPULM Q 16 I Y["Y" D PULM 17 Q 18 3 ; edit hepatobiliary information 19 W ! K DIR S X=$P(SRAO(3),"^") I X'="" S DIR("B")=X 20 S DIR(0)="130,244",DIR("A")="HEPATOBILIARY" D ^DIR K DIR I $D(DUOUT) S SRSOUT=1 Q 21 I X="@" S SRCAT="Hepatobiliary" D SURE Q:SRSOUT G:'SRYN 3 S (SRAX,X)="",$P(^SRF(SRTN,200),"^",13)="" D NOHEP Q 22 S SRAX=Y,$P(^SRF(SRTN,200),"^",13)=SRAX I Y["N" D NOHEP Q 23 I Y["Y" D HEP 24 Q 25 GEN ; general 26 N SRUP S SRUP="" 27 W ! K DR,DIE S DA=SRTN,DIE=130,DR="236T;237T;346T;202T;202.1T;246T;325T;238T" D ^DIE K DIE,DR I $D(Y) Q 28 K DIR S DA=SRTN,DIR(0)="130,240",DIR("A")="Functional Health Status Prior to Current Illness" D ^DIR K DIR D Q:SRUP 29 .I $D(DTOUT) Q 30 .I $D(DUOUT) S SRUP=1 Q 31 .I X="@" K DIE,DR S DIE=130,DR="240///@" D ^DIE K DA,DIE,DR Q 32 .K DIE,DR S DIE=130,DR="240////"_Y D ^DIE K DA,DIE,DR 33 S DA=SRTN,DIR(0)="130,492",DIR("A")="Functional Health Status at Evaluation for Surgery" D ^DIR K DIR D 34 .I $D(DTOUT)!$D(DUOUT) Q 35 .I X="@" K DIE,DR S DIE=130,DR="492///@" D ^DIE K DA,DIE,DR Q 36 .K DIE,DR S DIE=130,DR="492////"_Y D ^DIE K DA,DIE,DR 37 S SRACLR=0 38 Q 39 NOGEN ; no general problems 40 S $P(^SRF(SRTN,200),"^",6)=$S(X="":"",1:1) F I=2,3,4,7 S $P(^SRF(SRTN,200),"^",I)=SRAX 41 S $P(^SRF(SRTN,200),"^",8)=$S(X="":"",X="NS":"NS",1:1),$P(^SRF(SRTN,208),"^",9)=$S(X="":"",X="NS":"NS",1:0),$P(^SRF(SRTN,200.1),"^",2)=$S(X="":"",X="NS":"NS",1:1) 42 Q 43 PULM ; pulmonary 44 W ! K DR,DIE S DA=SRTN,DIE=130,DR="204T;203T;326T" D ^DIE K DR 45 S SRACLR=0 46 Q 47 NOPULM ; no pulmonary problems 48 F I=10:1:12 S $P(^SRF(SRTN,200),"^",I)=SRAX 49 Q 50 HEP ; hepatobiliary 51 K DR,DIE S DIE=130,DA=SRTN,DR="212////Y" D ^DIE K DR 52 S SRACLR=0 53 Q 54 NOHEP ; no hepatobiliary problems 55 S $P(^SRF(SRTN,200),"^",15)=SRAX 56 Q 57 RET W !! K DIR S DIR(0)="E" D ^DIR I $D(DTOUT)!$D(DUOUT) S SRSOUT=1 58 Q 59 SURE W ! K DIR S DIR("A")=" Sure you want to delete all "_SRCAT_" information ? ",DIR("B")="NO",DIR(0)="YA" D ^DIR K DIR S SRYN=Y I $D(DTOUT)!$D(DUOUT) S SRSOUT=1 60 Q 61 NO2ALL ; set all fields to NO 62 S SRAX="N",$P(^SRF(SRTN,200),"^")=SRAX D NOGEN 63 S $P(^SRF(SRTN,200),"^",9)=SRAX D NOPULM 64 S $P(^SRF(SRTN,200),"^",13)=SRAX D NOHEP 65 S $P(^SRF(SRTN,200.1),"^")=SRAX D NOGAST^SROAPR1A 66 S $P(^SRF(SRTN,200),"^",30)=SRAX D NOCARD^SROAPR1A 67 S $P(^SRF(SRTN,200),"^",40)=SRAX D NOVAS^SROAPR1A 68 Q -
WorldVistAEHR/trunk/r/SURGERY-SR/SROAPRE2.m
r613 r623 1 SROAPRE2 ;BIR/MAM - EDIT PAGE 2 PREOP ;11/26/072 ;;3.0; Surgery ;**38,47,125,153,166**;24 Jun 93;Build 7 3 D @EMILY Q4 1 ; edit renal information5 W ! K DIR S X=$P(SRAO(1),"^") I X'="" S DIR("B")=X6 S DIR(0)="130,243",DIR("A")="RENAL" D ^DIR K DIR I $D(DUOUT) S SRSOUT=1 Q7 I X="@" S SRCAT="Renal" D SURE Q:SRSOUT G:'SRYN 1 S $P(^SRF(SRTN,200),"^",37)="" S (SRAX,X)="" D NOREN Q8 S SRAX=Y,$P(^SRF(SRTN,200),"^",37)=SRAX I Y["N" D NOREN Q9 I Y["Y" D REN10 Q11 2 ; edit CNS information12 W ! K DIR S X=$P(SRAO(2),"^") I X'="" S DIR("B")=X13 S DIR(0)="130,210",DIR("A")="CENTRAL NERVOUS SYSTEM" D ^DIR K DIR I $D(DUOUT) S SRSOUT=1 Q14 I X="@" S SRCAT="Central Nervous System" D SURE Q:SRSOUT G:'SRYN 2 S $P(^SRF(SRTN,200),"^",18)="" S (SRAX,X)="" D NOCNS Q15 S SRAX=Y,$P(^SRF(SRTN,200),"^",18)=SRAX I Y["N" D NOCNS Q16 I Y["Y" D CNS17 Q18 3 ; edit nutritional/immune/other info19 W ! K DIR S X=$P(SRAO(3),"^") I X'="" S DIR("B")=X20 S DIR(0)="130,245",DIR("A")="NUTRITIONAL/IMMUNE/OTHER" D ^DIR K DIR I $D(DUOUT) S SRSOUT=1 Q21 I X="@" S SRCAT="Nutritional/Immune/Other" D SURE Q:SRSOUT G:'SRYN 3 S $P(^SRF(SRTN,200),"^",44)="" S (SRAX,X)="" D NONUT Q22 S SRAX=Y,$P(^SRF(SRTN,200),"^",44)=SRAX I Y["N" D NONUT Q23 I Y["Y" D NUT24 Q25 REN ; renal26 W ! K DR,DIE S DA=SRTN,DIE=130,DR="328T;211T" D ^DIE K DR27 S SRACLR=028 Q29 NOREN ; no renal problems30 F I=38,39 S $P(^SRF(SRTN,200),"^",I)=SRAX31 Q32 CNS ; cns33 W ! K DR,DIE S DIE=130,DA=SRTN,DR="332T;333T;400T;334T;335T;336T;401T;" D ^DIE K DR,DIE34 S SRACLR=035 Q36 NOCNS ; no CNS problems37 F I=19,21,24:1:27,29 S $P(^SRF(SRTN,200),"^",I)=SRAX38 Q39 NUT ; nutritional/immune/other40 W ! K DR,DIE S DIE=130,DA=SRTN,DR="338T;218T;339T;215T;216T;217T;338.1T;338.2T;218.1T;269T" D ^DIE K DA,DIE,DR41 S SRACLR=042 Q43 NONUT ; no nutritional/immune/other44 F I=45:1:50 S $P(^SRF(SRTN,200),"^",I)=SRAX45 F I=3,4,8 S $P(^SRF(SRTN,206),"^",I)=SRAX46 S:SRAX="N" $P(^SRF(SRTN,200.1),"^",3)=$S($P($G(VADM(5)),"^")="M":"NA",1:"NO")47 S:SRAX="" $P(^SRF(SRTN,200.1),"^",3)=""48 Q49 RET W !! K DIR S DIR(0)="E" D ^DIR I $D(DTOUT)!$D(DUOUT) S SRSOUT=150 Q51 SURE W ! K DIR S DIR("A")=" Sure you want to delete all "_SRCAT_" information ? ",DIR("B")="NO",DIR(0)="YA" D ^DIR K DIR S SRYN=Y I $D(DTOUT)!$D(DUOUT) S SRSOUT=152 Q53 DEL W !!,?10,"Deleting all "_SRCAT_" information... "54 Q55 NO2ALL ; set all fields to NO56 S SRAX="N",$P(^SRF(SRTN,200),"^",37)=SRAX D NOREN57 S $P(^SRF(SRTN,200),"^",18)=SRAX D NOCNS58 S $P(^SRF(SRTN,200),"^",44)=SRAX D NONUT59 Q1 SROAPRE2 ;BIR/MAM - EDIT PAGE 2 PREOP ;06/27/06 2 ;;3.0; Surgery ;**38,47,125,153**;24 Jun 93;Build 11 3 D @EMILY Q 4 1 ; edit renal information 5 W ! K DIR S X=$P(SRAO(1),"^") I X'="" S DIR("B")=X 6 S DIR(0)="130,243",DIR("A")="RENAL" D ^DIR K DIR I $D(DUOUT) S SRSOUT=1 Q 7 I X="@" S SRCAT="Renal" D SURE Q:SRSOUT G:'SRYN 1 S $P(^SRF(SRTN,200),"^",37)="" S (SRAX,X)="" D NOREN Q 8 S SRAX=Y,$P(^SRF(SRTN,200),"^",37)=SRAX I Y["N" D NOREN Q 9 I Y["Y" D REN 10 Q 11 2 ; edit CNS information 12 W ! K DIR S X=$P(SRAO(2),"^") I X'="" S DIR("B")=X 13 S DIR(0)="130,210",DIR("A")="CENTRAL NERVOUS SYSTEM" D ^DIR K DIR I $D(DUOUT) S SRSOUT=1 Q 14 I X="@" S SRCAT="Central Nervous System" D SURE Q:SRSOUT G:'SRYN 2 S $P(^SRF(SRTN,200),"^",18)="" S (SRAX,X)="" D NOCNS Q 15 S SRAX=Y,$P(^SRF(SRTN,200),"^",18)=SRAX I Y["N" D NOCNS Q 16 I Y["Y" D CNS 17 Q 18 3 ; edit nutritional/immune/other info 19 W ! K DIR S X=$P(SRAO(3),"^") I X'="" S DIR("B")=X 20 S DIR(0)="130,245",DIR("A")="NUTRITIONAL/IMMUNE/OTHER" D ^DIR K DIR I $D(DUOUT) S SRSOUT=1 Q 21 I X="@" S SRCAT="Nutritional/Immune/Other" D SURE Q:SRSOUT G:'SRYN 3 S $P(^SRF(SRTN,200),"^",44)="" S (SRAX,X)="" D NONUT Q 22 S SRAX=Y,$P(^SRF(SRTN,200),"^",44)=SRAX I Y["N" D NONUT Q 23 I Y["Y" D NUT 24 Q 25 REN ; renal 26 W ! K DR,DIE S DA=SRTN,DIE=130,DR="328T;211T" D ^DIE K DR 27 S SRACLR=0 28 Q 29 NOREN ; no renal problems 30 F I=38,39 S $P(^SRF(SRTN,200),"^",I)=SRAX 31 Q 32 CNS ; cns 33 W ! K DR,DIE S DIE=130,DA=SRTN,DR="332T;333T;400T;334T;335T;336T;401T;399T;398T;" D ^DIE K DR,DIE 34 S SRACLR=0 35 Q 36 NOCNS ; no CNS problems 37 F I=19,21:1:27,29 S $P(^SRF(SRTN,200),"^",I)=SRAX 38 Q 39 NUT ; nutritional/immune/other 40 W ! K DR,DIE S DIE=130,DA=SRTN,DR="338T;218T;339T;215T;216T;217T;338.1T;338.2T;218.1T;269T" D ^DIE K DA,DIE,DR 41 S SRACLR=0 42 Q 43 NONUT ; no nutritional/immune/other 44 F I=45:1:50 S $P(^SRF(SRTN,200),"^",I)=SRAX 45 F I=3,4,8 S $P(^SRF(SRTN,206),"^",I)=SRAX 46 S:SRAX="N" $P(^SRF(SRTN,200.1),"^",3)=$S($P($G(VADM(5)),"^")="M":"NA",1:"NO") 47 S:SRAX="" $P(^SRF(SRTN,200.1),"^",3)="" 48 Q 49 RET W !! K DIR S DIR(0)="E" D ^DIR I $D(DTOUT)!$D(DUOUT) S SRSOUT=1 50 Q 51 SURE W ! K DIR S DIR("A")=" Sure you want to delete all "_SRCAT_" information ? ",DIR("B")="NO",DIR(0)="YA" D ^DIR K DIR S SRYN=Y I $D(DTOUT)!$D(DUOUT) S SRSOUT=1 52 Q 53 DEL W !!,?10,"Deleting all "_SRCAT_" information... " 54 Q 55 NO2ALL ; set all fields to NO 56 S SRAX="N",$P(^SRF(SRTN,200),"^",37)=SRAX D NOREN 57 S $P(^SRF(SRTN,200),"^",18)=SRAX D NOCNS 58 S $P(^SRF(SRTN,200),"^",44)=SRAX D NONUT 59 Q -
WorldVistAEHR/trunk/r/SURGERY-SR/SROAPRT1.m
r613 r623 1 SROAPRT1 ;BIR/MAM - PREOP INFO (PAGE 1) ;11/28/07 2 ;;3.0; Surgery ;**38,47,125,153,166**;24 Jun 93;Build 7 3 N SRX,Y F I=200,206 S SRA(I)=$G(^SRF(SRTN,I)) 4 S Y=$P(SRA(200),"^"),SRX=402,SRAO(1)=$$OUT(SRX,Y)_"^"_SRX 5 S Y=$P(SRA(206),"^"),SRX=236,SRAO("1A")=$$OUT(SRX,Y)_"^"_SRX 6 S Y=$P(SRA(206),"^",2),SRX=237,SRAO("1B")=$$OUT(SRX,Y)_"^"_SRX 7 S Y=$P(SRA(200),"^",2),SRX=346,SRAO("1C")=$$OUT(SRX,Y)_"^"_SRX 8 S Y=$P(SRA(200),"^",3),SRX=202,SRAO("1D")=$$OUT(SRX,Y)_"^"_SRX 9 S Y=$P(SRA(200),"^",4),SRX=246,SRAO("1E")=$$OUT(SRX,Y)_"^"_SRX 10 S Y=$P(SRA(200),"^",6),SRX=325,SRAO("1F")=$$OUT(SRX,Y)_"^"_SRX 11 S Y=$P(SRA(200),"^",7),SRX=238,SRAO("1G")=$$OUT(SRX,Y)_"^"_SRX 12 S Y=$P($G(^SRF(SRTN,200.1)),"^",2),SRX=492,SRAO("1H")=$$OUT(SRX,Y)_"^"_SRX 13 S Y=$P(SRA(200),"^",9),SRX=241,SRAO(2)=$$OUT(SRX,Y)_"^"_SRX 14 S Y=$P(SRA(200),"^",10),SRX=204,SRAO("2A")=$$OUT(SRX,Y)_"^"_SRX 15 S Y=$P(SRA(200),"^",11),SRX=203,SRAO("2B")=$$OUT(SRX,Y)_"^"_SRX 16 S Y=$P(SRA(200),"^",12),SRX=326,SRAO("2C")=$$OUT(SRX,Y)_"^"_SRX 17 S Y=$P(SRA(200),"^",13),SRX=244,SRAO(3)=$$OUT(SRX,Y)_"^"_SRX 18 S Y=$P(SRA(200),"^",15),SRX=212,SRAO("3A")=$$OUT(SRX,Y)_"^"_SRX 19 S Y=$P($G(^SRF(SRTN,200.1)),"^"),SRX=486,SRAO(4)=$$OUT(SRX,Y)_"^"_SRX 20 S Y=$P(SRA(200),"^",16),SRX=213,SRAO("4A")=$$OUT(SRX,Y)_"^"_SRX 21 S Y=$P(SRA(200),"^",30),SRX=242,SRAO(5)=$$OUT(SRX,Y)_"^"_SRX 22 S Y=$P(SRA(200),"^",35),SRX=396,SRAO("5A")=$$OUT(SRX,Y)_"^"_SRX 23 S Y=$P(SRA(200),"^",31),SRX=394,SRAO("5B")=$$OUT(SRX,Y)_"^"_SRX 24 S Y=$P(SRA(200),"^",32),SRX=220,SRAO("5C")=$$OUT(SRX,Y)_"^"_SRX 25 S Y=$P(SRA(200),"^",33),SRX=266,SRAO("5D")=$$OUT(SRX,Y)_"^"_SRX 26 S Y=$P(SRA(200),"^",34),SRX=395,SRAO("5E")=$$OUT(SRX,Y)_"^"_SRX 27 S Y=$P(SRA(200),"^",36),SRX=208,SRAO("5F")=$$OUT(SRX,Y)_"^"_SRX 28 S Y=$P(SRA(200),"^",40),SRX=206,SRAO(6)=$$OUT(SRX,Y)_"^"_SRX 29 S Y=$P(SRA(200),"^",41),SRX=329,SRAO("6A")=$$OUT(SRX,Y)_"^"_SRX 30 S Y=$P(SRA(200),"^",42),SRX=330,SRAO("6B")=$$OUT(SRX,Y)_"^"_SRX 31 W:$E(IOST)="P" ! W !,?28,"PREOPERATIVE INFORMATION",!! 32 W "GENERAL:",?31,$P(SRAO(1),"^"),?40,"GASTROINTESTINAL:",?72,$P(SRAO(4),"^") 33 W !,"Height: ",?22,$J($P(SRAO("1A"),"^"),15),?40,"Esophageal Varices:",?72,$P(SRAO("4A"),"^") 34 W !,"Weight:",?22,$J($P(SRAO("1B"),"^"),15) 35 W !,"Diabetes Mellitus:",?31,$P(SRAO("1C"),"^"),?40,"CARDIAC:",?72,$P(SRAO(5),"^") 36 W !,"Current Smoker W/I 1 Year:",?31,$P(SRAO("1D"),"^"),?40,"CHF Within 1 Month:",?72,$P(SRAO("5A"),"^") 37 W !,"ETOH > 2 Drinks/Day:",?31,$P(SRAO("1E"),"^"),?40,"MI Within 6 Months:",?72,$P(SRAO("5B"),"^") 38 W !,"Dyspnea: ",?13,$J($P(SRAO("1F"),"^"),25),?40,"Previous PCI:",?72,$P(SRAO("5C"),"^") 39 W !,"DNR Status: ",?31,$P(SRAO("1G"),"^"),?40,"Previous Cardiac Surgery:",?72,$P(SRAO("5D"),"^") 40 W !,"Preop Funct Status: ",$J($P(SRAO("1H"),"^"),17),?40,"Angina Within 1 Month:",?72,$P(SRAO("5E"),"^") 41 W !,?40,"Hypertension Requiring Meds:",?72,$P(SRAO("5F"),"^") 42 W !,"PULMONARY:",?31,$P(SRAO(2),"^") 43 W !,"Ventilator Dependent:",?31,$P(SRAO("2A"),"^"),?40,"VASCULAR:",?72,$P(SRAO(6),"^") 44 W !,"History of Severe COPD:",?31,$P(SRAO("2B"),"^"),?40,"Revascularization/Amputation:",?72,$P(SRAO("6A"),"^") 45 W !,"Current Pneumonia:",?31,$P(SRAO("2C"),"^"),?40,"Rest Pain/Gangrene:",?72,$P(SRAO("6B"),"^") 46 W !!,"HEPATOBILIARY:",?31,$P(SRAO(3),"^"),!,"Ascites:",?31,$P(SRAO("3A"),"^") 47 Q 48 OUT(SRFLD,SRY) ; get data in output form 49 N C,Y 50 S Y=SRY,C=$P(^DD(130,SRFLD,0),"^",2) D:Y'="" Y^DIQ 51 I Y="NO STUDY" S Y="NS" 52 I SRFLD=236!(SRFLD=237)!(SRFLD=346) S Y=$E(Y,1,15) 53 I SRFLD=240!(SRFLD=492) D 54 .I SRY=2 S Y="PARTIAL DEPENDENT" Q 55 .I SRY=4 S Y=Y_" " 56 I SRFLD=325,$L(Y)=2 S Y=Y_" " 57 Q Y 1 SROAPRT1 ;BIR/MAM - PREOP INFO (PAGE 1) ;02/23/06 2 ;;3.0; Surgery ;**38,47,125,153**;24 Jun 93;Build 11 3 N SRX,Y F I=200,206 S SRA(I)=$G(^SRF(SRTN,I)) 4 S Y=$P(SRA(200),"^"),SRX=402,SRAO(1)=$$OUT(SRX,Y)_"^"_SRX 5 S Y=$P(SRA(206),"^"),SRX=236,SRAO("1A")=$$OUT(SRX,Y)_"^"_SRX 6 S Y=$P(SRA(206),"^",2),SRX=237,SRAO("1B")=$$OUT(SRX,Y)_"^"_SRX 7 S Y=$P(SRA(200),"^",2),SRX=346,SRAO("1C")=$$OUT(SRX,Y)_"^"_SRX 8 S Y=$P(SRA(200),"^",3),SRX=202,SRAO("1D")=$$OUT(SRX,Y)_"^"_SRX 9 S Y=$P($G(^SRF(SRTN,208)),"^",9),SRX=202.1,SRAO("1E")=$$OUT(SRX,Y)_"^"_SRX 10 S Y=$P(SRA(200),"^",4),SRX=246,SRAO("1F")=$$OUT(SRX,Y)_"^"_SRX 11 S Y=$P(SRA(200),"^",6),SRX=325,SRAO("1G")=$$OUT(SRX,Y)_"^"_SRX 12 S Y=$P(SRA(200),"^",7),SRX=238,SRAO("1H")=$$OUT(SRX,Y)_"^"_SRX 13 S Y=$P(SRA(200),"^",8),SRX=240,SRAO("1I")=$$OUT(SRX,Y)_"^"_SRX 14 S Y=$P($G(^SRF(SRTN,200.1)),"^",2),SRX=492,SRAO("1J")=$$OUT(SRX,Y)_"^"_SRX 15 S Y=$P(SRA(200),"^",9),SRX=241,SRAO(2)=$$OUT(SRX,Y)_"^"_SRX 16 S Y=$P(SRA(200),"^",10),SRX=204,SRAO("2A")=$$OUT(SRX,Y)_"^"_SRX 17 S Y=$P(SRA(200),"^",11),SRX=203,SRAO("2B")=$$OUT(SRX,Y)_"^"_SRX 18 S Y=$P(SRA(200),"^",12),SRX=326,SRAO("2C")=$$OUT(SRX,Y)_"^"_SRX 19 S Y=$P(SRA(200),"^",13),SRX=244,SRAO(3)=$$OUT(SRX,Y)_"^"_SRX 20 S Y=$P(SRA(200),"^",15),SRX=212,SRAO("3A")=$$OUT(SRX,Y)_"^"_SRX 21 S Y=$P($G(^SRF(SRTN,200.1)),"^"),SRX=486,SRAO(4)=$$OUT(SRX,Y)_"^"_SRX 22 S Y=$P(SRA(200),"^",16),SRX=213,SRAO("4A")=$$OUT(SRX,Y)_"^"_SRX 23 S Y=$P(SRA(200),"^",30),SRX=242,SRAO(5)=$$OUT(SRX,Y)_"^"_SRX 24 S Y=$P(SRA(200),"^",35),SRX=396,SRAO("5A")=$$OUT(SRX,Y)_"^"_SRX 25 S Y=$P(SRA(200),"^",31),SRX=394,SRAO("5B")=$$OUT(SRX,Y)_"^"_SRX 26 S Y=$P(SRA(200),"^",32),SRX=220,SRAO("5C")=$$OUT(SRX,Y)_"^"_SRX 27 S Y=$P(SRA(200),"^",33),SRX=266,SRAO("5D")=$$OUT(SRX,Y)_"^"_SRX 28 S Y=$P(SRA(200),"^",34),SRX=395,SRAO("5E")=$$OUT(SRX,Y)_"^"_SRX 29 S Y=$P(SRA(200),"^",36),SRX=208,SRAO("5F")=$$OUT(SRX,Y)_"^"_SRX 30 S Y=$P(SRA(200),"^",40),SRX=206,SRAO(6)=$$OUT(SRX,Y)_"^"_SRX 31 S Y=$P(SRA(200),"^",41),SRX=329,SRAO("6A")=$$OUT(SRX,Y)_"^"_SRX 32 S Y=$P(SRA(200),"^",42),SRX=330,SRAO("6B")=$$OUT(SRX,Y)_"^"_SRX 33 W:$E(IOST)="P" ! W !,?28,"PREOPERATIVE INFORMATION",!! 34 W "GENERAL:",?31,$P(SRAO(1),"^"),?40,"HEPATOBILIARY:",?72,$P(SRAO(3),"^") 35 W !,"Height: ",?22,$J($P(SRAO("1A"),"^"),15),?40,"Ascites:",?72,$P(SRAO("3A"),"^") 36 W !,"Weight:",?22,$J($P(SRAO("1B"),"^"),15) 37 W !,"Diabetes Mellitus:",?31,$P(SRAO("1C"),"^"),?40,"GASTROINTESTINAL:",?72,$P(SRAO(4),"^") 38 W !,"Current Smoker W/I 1 Year:",?31,$P(SRAO("1D"),"^"),?40,"Esophageal Varices:",?72,$P(SRAO("4A"),"^") 39 W !,"Pack/Years:",?31,$P(SRAO("1E"),"^") 40 W !,"ETOH > 2 Drinks/Day:",?31,$P(SRAO("1F"),"^"),?40,"CARDIAC:",?72,$P(SRAO(5),"^") 41 W !,"Dyspnea: ",?13,$J($P(SRAO("1G"),"^"),25),?40,"CHF Within 1 Month:",?72,$P(SRAO("5A"),"^") 42 W !,"DNR Status: ",?31,$P(SRAO("1H"),"^"),?40,"MI Within 6 Months:",?72,$P(SRAO("5B"),"^") 43 W !,"Pre-illness Funct",?40,"Previous PCI:",?72,$P(SRAO("5C"),"^") 44 W !,?12,"Status: ",$J($P(SRAO("1I"),"^"),17),?40,"Previous Cardiac Surgery:",?72,$P(SRAO("5D"),"^") 45 W !,"Preop Funct Status: ",$J($P(SRAO("1J"),"^"),17),?40,"Angina Within 1 Month:",?72,$P(SRAO("5E"),"^") 46 W !,?40,"Hypertension Requiring Meds:",?72,$P(SRAO("5F"),"^") 47 W !,"PULMONARY:",?31,$P(SRAO(2),"^") 48 W !,"Ventilator Dependent:",?31,$P(SRAO("2A"),"^"),?40,"VASCULAR:",?72,$P(SRAO(6),"^") 49 W !,"History of Severe COPD:",?31,$P(SRAO("2B"),"^"),?40,"Revascularization/Amputation:",?72,$P(SRAO("6A"),"^") 50 W !,"Current Pneumonia:",?31,$P(SRAO("2C"),"^"),?40,"Rest Pain/Gangrene:",?72,$P(SRAO("6B"),"^") 51 Q 52 OUT(SRFLD,SRY) ; get data in output form 53 N C,Y 54 S Y=SRY,C=$P(^DD(130,SRFLD,0),"^",2) D:Y'="" Y^DIQ 55 I Y="NO STUDY" S Y="NS" 56 I SRFLD=236!(SRFLD=237)!(SRFLD=346) S Y=$E(Y,1,15) 57 I SRFLD=240!(SRFLD=492) D 58 .I SRY=2 S Y="PARTIAL DEPENDENT" Q 59 .I SRY=4 S Y=Y_" " 60 I SRFLD=325,$L(Y)=2 S Y=Y_" " 61 Q Y -
WorldVistAEHR/trunk/r/SURGERY-SR/SROAPRT2.m
r613 r623 1 SROAPRT2 ;BIR/MAM - PRINT PREOP INFO (PAGE 2) ;11/28/07 2 ;;3.0; Surgery ;**38,125,137,153,160,166**;24 Jun 93;Build 7 3 I $E(IOST)'="P" W !,?28,"PREOPERATIVE INFORMATION" 4 N SRX,Y S SRA(200)=$G(^SRF(SRTN,200)),SRA(206)=$G(^SRF(SRTN,206)) 5 S Y=$P(SRA(200),"^",37),SRX=243,SRAO(1)=$$OUT(SRX,Y)_"^"_SRX 6 S Y=$P(SRA(200),"^",38),SRX=328,SRAO("1A")=$$OUT(SRX,Y)_"^"_SRX 7 S Y=$P(SRA(200),"^",39),SRX=211,SRAO("1B")=$$OUT(SRX,Y)_"^"_SRX 8 S Y=$P(SRA(200),"^",18),SRX=210,SRAO(2)=$$OUT(SRX,Y)_"^"_SRX 9 S Y=$P(SRA(200),"^",44),SRX=245,SRAO(3)=$$OUT(SRX,Y)_"^"_SRX 10 S Y=$P(SRA(200),"^",19),SRX=332,SRAO("2A")=$$OUT(SRX,Y)_"^"_SRX 11 S Y=$P(SRA(200),"^",21),SRX=333,SRAO("2B")=$$OUT(SRX,Y)_"^"_SRX 12 S Y=$P(SRA(200),"^",24),SRX=400,SRAO("2C")=$$OUT(SRX,Y)_"^"_SRX 13 S Y=$P(SRA(200),"^",25),SRX=334,SRAO("2D")=$$OUT(SRX,Y)_"^"_SRX 14 S Y=$P(SRA(200),"^",26),SRX=335,SRAO("2E")=$$OUT(SRX,Y)_"^"_SRX 15 S Y=$P(SRA(200),"^",27),SRX=336,SRAO("2F")=$$OUT(SRX,Y)_"^"_SRX 16 S Y=$P(SRA(200),"^",29),SRX=401,SRAO("2G")=$$OUT(SRX,Y)_"^"_SRX 17 S Y=$P(SRA(200),"^",45),SRX=338,SRAO("3A")=$$OUT(SRX,Y)_"^"_SRX 18 S Y=$P(SRA(200),"^",46),SRX=218,SRAO("3B")=$$OUT(SRX,Y)_"^"_SRX 19 S Y=$P(SRA(200),"^",47),SRX=339,SRAO("3C")=$$OUT(SRX,Y)_"^"_SRX 20 S Y=$P(SRA(200),"^",48),SRX=215,SRAO("3D")=$$OUT(SRX,Y)_"^"_SRX 21 S Y=$P(SRA(200),"^",49),SRX=216,SRAO("3E")=$$OUT(SRX,Y)_"^"_SRX 22 S Y=$P(SRA(200),"^",50),SRX=217,SRAO("3F")=$$OUT(SRX,Y)_"^"_SRX 23 S Y=$P(SRA(206),"^",3),SRX=338.1,SRAO("3G")=$$OUT(SRX,Y)_"^"_SRX 24 S Y=$P(SRA(206),"^",4),SRX=338.2,SRAO("3H")=$$OUT(SRX,Y)_"^"_SRX 25 S Y=$P(SRA(206),"^",8),SRX=218.1,SRAO("3I")=$$OUT(SRX,Y)_"^"_SRX 26 S Y=$P($G(^SRF(SRTN,200.1)),"^",3),SRX=269,SRAO("3J")=$$OUT(SRX,Y)_"^"_SRX 27 W !!,"RENAL:",?31,$P(SRAO(1),"^"),?40,"NUTRITIONAL/IMMUNE/OTHER:",?72,$P(SRAO(3),"^") 28 W !,"Acute Renal Failure:",?31,$P(SRAO("1A"),"^"),?40,"Disseminated Cancer:",?72,$P(SRAO("3A"),"^") 29 W !,"Currently on Dialysis:",?31,$P(SRAO("1B"),"^"),?40,"Open Wound:",?72,$P(SRAO("3B"),"^") 30 W !,?40,"Steroid Use for Chronic Cond.:",?72,$P(SRAO("3C"),"^") 31 W !,"CENTRAL NERVOUS SYSTEM:",?31,$P(SRAO(2),"^"),?40,"Weight Loss > 10%:",?72,$P(SRAO("3D"),"^") 32 W !,"Impaired Sensorium: ",?31,$P(SRAO("2A"),"^"),?40,"Bleeding Disorders:",?72,$P(SRAO("3E"),"^") 33 W !,"Coma:",?31,$P(SRAO("2B"),"^"),?40,"Transfusion > 4 RBC Units:",?72,$P(SRAO("3F"),"^") 34 W !,"Hemiplegia:",?31,$P(SRAO("2C"),"^"),?40,"Chemotherapy W/I 30 Days:",?72,$P(SRAO("3G"),"^") 35 W !,"History of TIAs:",?31,$P(SRAO("2D"),"^"),?40,"Radiotherapy W/I 90 Days:",?72,$P(SRAO("3H"),"^") 36 W !,"CVA/Stroke w. Neuro Deficit:",?31,$P(SRAO("2E"),"^"),?40,"Preoperative Sepsis:",?(74-$L($P(SRAO("3I"),"^"))),$P(SRAO("3I"),"^") 37 W !,"CVA/Stroke w/o Neuro Deficit:",?31,$P(SRAO("2F"),"^"),?40,"Pregnancy:",?(74-$L($P(SRAO("3J"),"^"))),$P(SRAO("3J"),"^") 38 W !,"Tumor Involving CNS:",?31,$P(SRAO("2G"),"^") 39 I $E(IOST)="P" W ! 40 Q 41 OUT(SRFLD,SRY) ; get data in output form 42 N C,Y 43 S Y=SRY,C=$P(^DD(130,SRFLD,0),"^",2) D:Y'="" Y^DIQ 44 I Y="NO STUDY" S Y="NS" 45 Q Y 1 SROAPRT2 ;BIR/MAM - PRINT PREOP INFO (PAGE 2) ;04/24/07 2 ;;3.0; Surgery ;**38,125,137,153,160**;24 Jun 93;Build 7 3 I $E(IOST)'="P" W !,?28,"PREOPERATIVE INFORMATION" 4 N SRX,Y S SRA(200)=$G(^SRF(SRTN,200)),SRA(206)=$G(^SRF(SRTN,206)) 5 S Y=$P(SRA(200),"^",37),SRX=243,SRAO(1)=$$OUT(SRX,Y)_"^"_SRX 6 S Y=$P(SRA(200),"^",38),SRX=328,SRAO("1A")=$$OUT(SRX,Y)_"^"_SRX 7 S Y=$P(SRA(200),"^",39),SRX=211,SRAO("1B")=$$OUT(SRX,Y)_"^"_SRX 8 S Y=$P(SRA(200),"^",18),SRX=210,SRAO(2)=$$OUT(SRX,Y)_"^"_SRX 9 S Y=$P(SRA(200),"^",44),SRX=245,SRAO(3)=$$OUT(SRX,Y)_"^"_SRX 10 S Y=$P(SRA(200),"^",19),SRX=332,SRAO("2A")=$$OUT(SRX,Y)_"^"_SRX 11 S Y=$P(SRA(200),"^",21),SRX=333,SRAO("2B")=$$OUT(SRX,Y)_"^"_SRX 12 S Y=$P(SRA(200),"^",22),SRX=398,SRAO("2I")=$$OUT(SRX,Y)_"^"_SRX 13 S Y=$P(SRA(200),"^",23),SRX=399,SRAO("2H")=$$OUT(SRX,Y)_"^"_SRX 14 S Y=$P(SRA(200),"^",24),SRX=400,SRAO("2C")=$$OUT(SRX,Y)_"^"_SRX 15 S Y=$P(SRA(200),"^",25),SRX=334,SRAO("2D")=$$OUT(SRX,Y)_"^"_SRX 16 S Y=$P(SRA(200),"^",26),SRX=335,SRAO("2E")=$$OUT(SRX,Y)_"^"_SRX 17 S Y=$P(SRA(200),"^",27),SRX=336,SRAO("2F")=$$OUT(SRX,Y)_"^"_SRX 18 S Y=$P(SRA(200),"^",29),SRX=401,SRAO("2G")=$$OUT(SRX,Y)_"^"_SRX 19 S Y=$P(SRA(200),"^",45),SRX=338,SRAO("3A")=$$OUT(SRX,Y)_"^"_SRX 20 S Y=$P(SRA(200),"^",46),SRX=218,SRAO("3B")=$$OUT(SRX,Y)_"^"_SRX 21 S Y=$P(SRA(200),"^",47),SRX=339,SRAO("3C")=$$OUT(SRX,Y)_"^"_SRX 22 S Y=$P(SRA(200),"^",48),SRX=215,SRAO("3D")=$$OUT(SRX,Y)_"^"_SRX 23 S Y=$P(SRA(200),"^",49),SRX=216,SRAO("3E")=$$OUT(SRX,Y)_"^"_SRX 24 S Y=$P(SRA(200),"^",50),SRX=217,SRAO("3F")=$$OUT(SRX,Y)_"^"_SRX 25 S Y=$P(SRA(206),"^",3),SRX=338.1,SRAO("3G")=$$OUT(SRX,Y)_"^"_SRX 26 S Y=$P(SRA(206),"^",4),SRX=338.2,SRAO("3H")=$$OUT(SRX,Y)_"^"_SRX 27 S Y=$P(SRA(206),"^",8),SRX=218.1,SRAO("3I")=$$OUT(SRX,Y)_"^"_SRX 28 S Y=$P($G(^SRF(SRTN,200.1)),"^",3),SRX=269,SRAO("3J")=$$OUT(SRX,Y)_"^"_SRX 29 W !!,"RENAL:",?31,$P(SRAO(1),"^"),?40,"NUTRITIONAL/IMMUNE/OTHER:",?72,$P(SRAO(3),"^") 30 W !,"Acute Renal Failure:",?31,$P(SRAO("1A"),"^"),?40,"Disseminated Cancer:",?72,$P(SRAO("3A"),"^") 31 W !,"Currently on Dialysis:",?31,$P(SRAO("1B"),"^"),?40,"Open Wound:",?72,$P(SRAO("3B"),"^") 32 W !,?40,"Steroid Use for Chronic Cond.:",?72,$P(SRAO("3C"),"^") 33 W !,"CENTRAL NERVOUS SYSTEM:",?31,$P(SRAO(2),"^"),?40,"Weight Loss > 10%:",?72,$P(SRAO("3D"),"^") 34 W !,"Impaired Sensorium: ",?31,$P(SRAO("2A"),"^"),?40,"Bleeding Disorders:",?72,$P(SRAO("3E"),"^") 35 W !,"Coma:",?31,$P(SRAO("2B"),"^"),?40,"Transfusion > 4 RBC Units:",?72,$P(SRAO("3F"),"^") 36 W !,"Hemiplegia:",?31,$P(SRAO("2C"),"^"),?40,"Chemotherapy W/I 30 Days:",?72,$P(SRAO("3G"),"^") 37 W !,"History of TIAs:",?31,$P(SRAO("2D"),"^"),?40,"Radiotherapy W/I 90 Days:",?72,$P(SRAO("3H"),"^") 38 W !,"CVA/Stroke w. Neuro Deficit:",?31,$P(SRAO("2E"),"^"),?40,"Preoperative Sepsis:",?(74-$L($P(SRAO("3I"),"^"))),$P(SRAO("3I"),"^") 39 W !,"CVA/Stroke w/o Neuro Deficit:",?31,$P(SRAO("2F"),"^"),?40,"Pregnancy:",?(74-$L($P(SRAO("3J"),"^"))),$P(SRAO("3J"),"^") 40 W !,"Tumor Involving CNS:",?31,$P(SRAO("2G"),"^") 41 W !,"Paraplegia:",?31,$P(SRAO("2H"),"^") 42 W !,"Quadriplegia:",?31,$P(SRAO("2I"),"^") 43 I $E(IOST)="P" W ! 44 Q 45 OUT(SRFLD,SRY) ; get data in output form 46 N C,Y 47 S Y=SRY,C=$P(^DD(130,SRFLD,0),"^",2) D:Y'="" Y^DIQ 48 I Y="NO STUDY" S Y="NS" 49 Q Y -
WorldVistAEHR/trunk/r/SURGERY-SR/SROAPRT4.m
r613 r623 1 SROAPRT4 ;BIR/MAM - PRINT ASSESSMENT (CONT.) ;01/14/082 ;;3.0; Surgery ;**38,125,153,160,166**;24 Jun 93;Build 73 ;K SRA S SRA(201)=$G(^SRF(SRTN,201)),SRA(202)=$G(^SRF(SRTN,202))4 K SRA F I=201,202,203,204,202.1 S SRA(I)=$G(^SRF(SRTN,I))5 W !,?20,"PREOPERATIVE LABORATORY TEST RESULTS"6 W !!,$J("Anion Gap (in 48 hrs.): ",39) S X=$P(SRA(203),"^",15) W X S X=$P(SRA(204),"^",15) I X D DATE W ?48,"("_Y_")"7 W !,$J("Serum Sodium: ",39) S X=$P(SRA(201),"^") W X S X=$P(SRA(202),"^") I X D DATE W ?48,"("_Y_")"8 W !,$J("Serum Creatinine: ",39) S X=$P(SRA(201),"^",4) W X S X=$P(SRA(202),"^",4) I X D DATE W ?48,"("_Y_")"9 W !,$J("BUN: ",39) S X=$P(SRA(201),"^",5) WX S X=$P(SRA(202),"^",5) I X D DATE W ?48,"("_Y_")"10 W !,$J("Serum Albumin: ",39) S X=$P(SRA(201),"^",8) WX S X=$P(SRA(202),"^",8) I X D DATE W ?48,"("_Y_")"11 W !,$J("Total Bilirubin: ",39) S X=$P(SRA(201),"^",9) W X S X=$P(SRA(202),"^",9) I X D DATE W ?48,"("_Y_")"12 W !,$J("SGOT: ",39) S X=$P(SRA(201),"^",11) WX S X=$P(SRA(202),"^",11) I X D DATE W ?48,"("_Y_")"13 W !,$J("Alkaline Phosphatase: ",39) S X=$P(SRA(201),"^",12) WX S X=$P(SRA(202),"^",12) I X D DATE W ?48,"("_Y_")"14 W !,$J("White Blood Count: ",39) S X=$P(SRA(201),"^",13) W X S X=$P(SRA(202),"^",13) I X D DATE W ?48,"("_Y_")"15 W !,$J("Hematocrit: ",39) S X=$P(SRA(201),"^",14) WX S X=$P(SRA(202),"^",14) I X D DATE W ?48,"("_Y_")"16 W !,$J("Platelet Count: ",39) S X=$P(SRA(201),"^",15) W X S X=$P(SRA(202),"^",15) I X D DATE W ?48,"("_Y_")"17 W !,$J("PTT: ",39) S X=$P(SRA(201),"^",16) W X S X=$P(SRA(202),"^",16) I X D DATE W ?48,"("_Y_")"18 W !,$J("PT: ",39) S X=$P(SRA(201),"^",17) WX S X=$P(SRA(202),"^",17) I X D DATE W ?48,"("_Y_")"19 W !,$J("INR: ",39) S X=$P(SRA(201),"^",27) WX S X=$P(SRA(202),"^",27) I X D DATE W ?48,"("_Y_")"20 W !,$J("Hemoglobin A1c: ",39) S X=$P(SRA(201),"^",28) W X S X=$P(SRA(202.1),"^") I XD DATE W ?48,"("_Y_")"21 I $E(IOST)="P" W !!22 Q23 DATE S Y=X X ^DD("DD")24 Q1 SROAPRT4 ;BIR/MAM - PRINT ASSESSMENT (CONT.) ;06/28/06 2 ;;3.0; Surgery ;**38,125,153,160**;24 Jun 93;Build 7 3 ;K SRA S SRA(201)=$G(^SRF(SRTN,201)),SRA(202)=$G(^SRF(SRTN,202)) 4 K SRA F I=201,202,203,204,202.1 S SRA(I)=$G(^SRF(SRTN,I)) 5 W !,?20,"PREOPERATIVE LABORATORY TEST RESULTS" 6 W !!,$J("Anion Gap (in 48 hrs.): ",39) S X=$P(SRA(203),"^",15) W X S X=$P(SRA(204),"^",15) I X D DATE W ?48,"("_Y_")" 7 W !,$J("Serum Sodium: ",39) S X=$P(SRA(201),"^") W X S X=$P(SRA(202),"^") I X D DATE W ?48,"("_Y_")" 8 W !,$J("Serum Creatinine: ",39) S X=$P(SRA(201),"^",4) W X S X=$P(SRA(202),"^",4) I X D DATE W ?48,"("_Y_")" 9 W !,$J("BUN: ",39) S X=$P(SRA(201),"^",5) W X I X S X=$P(SRA(202),"^",5) I X D DATE W ?48,"("_Y_")" 10 W !,$J("Serum Albumin: ",39) S X=$P(SRA(201),"^",8) W X I X S X=$P(SRA(202),"^",8) I X D DATE W ?48,"("_Y_")" 11 W !,$J("Total Bilirubin: ",39) S X=$P(SRA(201),"^",9) W X S X=$P(SRA(202),"^",9) I X D DATE W ?48,"("_Y_")" 12 W !,$J("SGOT: ",39) S X=$P(SRA(201),"^",11) W X I X S X=$P(SRA(202),"^",11) I X D DATE W ?48,"("_Y_")" 13 W !,$J("Alkaline Phosphatase: ",39) S X=$P(SRA(201),"^",12) W X I X S X=$P(SRA(202),"^",12) I X D DATE W ?48,"("_Y_")" 14 W !,$J("White Blood Count: ",39) S X=$P(SRA(201),"^",13) W X S X=$P(SRA(202),"^",13) I X D DATE W ?48,"("_Y_")" 15 W !,$J("Hematocrit: ",39) S X=$P(SRA(201),"^",14) W X I X S X=$P(SRA(202),"^",14) I X D DATE W ?48,"("_Y_")" 16 W !,$J("Platelet Count: ",39) S X=$P(SRA(201),"^",15) W X S X=$P(SRA(202),"^",15) I X D DATE W ?48,"("_Y_")" 17 W !,$J("PTT: ",39) S X=$P(SRA(201),"^",16) W X S X=$P(SRA(202),"^",16) I X D DATE W ?48,"("_Y_")" 18 W !,$J("PT: ",39) S X=$P(SRA(201),"^",17) W X I X S X=$P(SRA(202),"^",17) I X D DATE W ?48,"("_Y_")" 19 W !,$J("INR: ",39) S X=$P(SRA(201),"^",27) W X I X S X=$P(SRA(202),"^",27) I X D DATE W ?48,"("_Y_")" 20 W !,$J("Hemoglobin A1c: ",39) S X=$P(SRA(201),"^",28) W X I X S X=$P(SRA(202.1),"^") D DATE W ?48,"("_Y_")" 21 I $E(IOST)="P" W !! 22 Q 23 DATE S Y=X X ^DD("DD") 24 Q -
WorldVistAEHR/trunk/r/SURGERY-SR/SROAPRT5.m
r613 r623 1 SROAPRT5 ;BIR/MAM - PRINT ASSESSMENT (CONT) ;01/14/082 ;;3.0; Surgery ;**38,88,153,166**;24 Jun 93;Build 7 3 K SRA S SRA(203)=$G(^SRF(SRTN,203)),SRA(204)=$G(^SRF(SRTN,204))4 W:$E(IOST)="P" ! W !,?22,"POSTOPERATIVE LABORATORY RESULTS",!!,?29," * Highest Value",!,?29,"** Lowest Value"5 W !!,$J("* Anion Gap: ",39) S X=$P(SRA(203),"^",16) W X S X=$P(SRA(204),"^",16) I X D DATE W ?48,"("_Y_")"6 W !,$J("* Serum Sodium: ",39) S X=$P(SRA(203),"^") W X S X=$P(SRA(204),"^") I X D DATE W ?48,"("_Y_")"7 W !,$J("** Serum Sodium: ",39) S X=$P(SRA(203),"^",2) W X S X=$P(SRA(204),"^",2) I X D DATE W ?48,"("_Y_")"8 W !,$J("* Potassium: ",39) S X=$P(SRA(203),"^",3) W X S X=$P(SRA(204),"^",3) I X D DATE W ?48,"("_Y_")"9 W !,$J("** Potassium: ",39) S X=$P(SRA(203),"^",4) W X S X=$P(SRA(204),"^",4) I X D DATE W ?48,"("_Y_")"10 W !,$J("* Serum Creatinine: ",39) S X=$P(SRA(203),"^",6) W X S X=$P(SRA(204),"^",6) I X D DATE W ?48,"("_Y_")"11 W !,$J("* CPK: ",39) S X=$P(SRA(203),"^",7) WX S X=$P(SRA(204),"^",7) I X D DATE W ?48,"("_Y_")"12 W !,$J("* CPK-MB Band: ",39) S X=$P(SRA(203),"^",8) W X S X=$P(SRA(204),"^",8) I X D DATE W ?48,"("_Y_")"13 W !,$J("* Total Bilirubin: ",39) S X=$P(SRA(203),"^",9) WX S X=$P(SRA(204),"^",9) I X D DATE W ?48,"("_Y_")"14 W !,$J("* White Blood Count: ",39) S X=$P(SRA(203),"^",10) W X S X=$P(SRA(204),"^",10) I X D DATE W ?48,"("_Y_")"15 W !,$J("** Hematocrit: ",39) S X=$P(SRA(203),"^",12) W X S X=$P(SRA(204),"^",12) I X D DATE W ?48,"("_Y_")"16 W !,$J("* Troponin I: ",39) S X=$P(SRA(203),"^",13) W X S X=$P(SRA(204),"^",13) I X D DATE W ?48,"("_Y_")"17 W !,$J("* Troponin T: ",39) S X=$P(SRA(203),"^",14) W X S X=$P(SRA(204),"^",14) I X D DATE W ?48,"("_Y_")"18 I $E(IOST)="P" W !!19 Q20 DATE S Y=X X ^DD("DD")21 Q1 SROAPRT5 ;BIR/MAM - PRINT ASSESSMENT (CONT) ;06/28/06 2 ;;3.0; Surgery ;**38,88,153**;24 Jun 93;Build 11 3 K SRA S SRA(203)=$G(^SRF(SRTN,203)),SRA(204)=$G(^SRF(SRTN,204)) 4 W:$E(IOST)="P" ! W !,?22,"POSTOPERATIVE LABORATORY RESULTS",!!,?29," * Highest Value",!,?29,"** Lowest Value" 5 W !!,$J("* Anion Gap: ",39) S X=$P(SRA(203),"^",16) W X S X=$P(SRA(204),"^",16) I X D DATE W ?48,"("_Y_")" 6 W !,$J("* Serum Sodium: ",39) S X=$P(SRA(203),"^") W X S X=$P(SRA(204),"^") I X D DATE W ?48,"("_Y_")" 7 W !,$J("** Serum Sodium: ",39) S X=$P(SRA(203),"^",2) W X S X=$P(SRA(204),"^",2) I X D DATE W ?48,"("_Y_")" 8 W !,$J("* Potassium: ",39) S X=$P(SRA(203),"^",3) W X S X=$P(SRA(204),"^",3) I X D DATE W ?48,"("_Y_")" 9 W !,$J("** Potassium: ",39) S X=$P(SRA(203),"^",4) W X S X=$P(SRA(204),"^",4) I X D DATE W ?48,"("_Y_")" 10 W !,$J("* Serum Creatinine: ",39) S X=$P(SRA(203),"^",6) W X S X=$P(SRA(204),"^",6) I X D DATE W ?48,"("_Y_")" 11 W !,$J("* CPK: ",39) S X=$P(SRA(203),"^",7) W X I X S X=$P(SRA(204),"^",7) I X D DATE W ?48,"("_Y_")" 12 W !,$J("* CPK-MB Band: ",39) S X=$P(SRA(203),"^",8) W X S X=$P(SRA(204),"^",8) I X D DATE W ?48,"("_Y_")" 13 W !,$J("* Total Bilirubin: ",39) S X=$P(SRA(203),"^",9) W X I X S X=$P(SRA(204),"^",9) I X D DATE W ?48,"("_Y_")" 14 W !,$J("* White Blood Count: ",39) S X=$P(SRA(203),"^",10) W X S X=$P(SRA(204),"^",10) I X D DATE W ?48,"("_Y_")" 15 W !,$J("** Hematocrit: ",39) S X=$P(SRA(203),"^",12) W X S X=$P(SRA(204),"^",12) I X D DATE W ?48,"("_Y_")" 16 W !,$J("* Troponin I: ",39) S X=$P(SRA(203),"^",13) W X S X=$P(SRA(204),"^",13) I X D DATE W ?48,"("_Y_")" 17 W !,$J("* Troponin T: ",39) S X=$P(SRA(203),"^",14) W X S X=$P(SRA(204),"^",14) I X D DATE W ?48,"("_Y_")" 18 I $E(IOST)="P" W !! 19 Q 20 DATE S Y=X X ^DD("DD") 21 Q -
WorldVistAEHR/trunk/r/SURGERY-SR/SROAPS1.m
r613 r623 1 SROAPS1 ;BIR/MAM - PREOP INFO (PAGE 1) ;12/12/07 2 ;;3.0; Surgery ;**38,47,125,153,166**;24 Jun 93;Build 7 3 ; 4 ; Reference to EN1^GMRVUT0 supported by DBIA #1446 5 ; 6 N I S SRPAGE="PAGE: 1 OF 2" D HDR^SROAUTL,PRE1 7 W ! F I=1:1:80 W "-" 8 Q 9 PRE1 N SRX,Y D HW F I=200,206 S SRA(I)=$G(^SRF(SRTN,I)) 10 S Y=$P(SRA(200),"^"),SRX=402,SRAO(1)=$$OUT(SRX,Y)_"^"_SRX 11 S Y=$P(SRA(206),"^"),SRX=236,SRAO("1A")=$$OUT(SRX,Y)_"^"_SRX 12 S Y=$P(SRA(206),"^",2),SRX=237,SRAO("1B")=$$OUT(SRX,Y)_"^"_SRX 13 S Y=$P(SRA(200),"^",2),SRX=346,SRAO("1C")=$$OUT(SRX,Y)_"^"_SRX 14 S Y=$P(SRA(200),"^",3),SRX=202,SRAO("1D")=$$OUT(SRX,Y)_"^"_SRX 15 S Y=$P(SRA(200),"^",4),SRX=246,SRAO("1E")=$$OUT(SRX,Y)_"^"_SRX 16 S Y=$P(SRA(200),"^",6),SRX=325,SRAO("1F")=$$OUT(SRX,Y)_"^"_SRX 17 S Y=$P(SRA(200),"^",7),SRX=238,SRAO("1G")=$$OUT(SRX,Y)_"^"_SRX 18 S Y=$P($G(^SRF(SRTN,200.1)),"^",2),SRX=492,SRAO("1H")=$$OUT(SRX,Y)_"^"_SRX 19 S Y=$P(SRA(200),"^",9),SRX=241,SRAO(2)=$$OUT(SRX,Y)_"^"_SRX 20 S Y=$P(SRA(200),"^",10),SRX=204,SRAO("2A")=$$OUT(SRX,Y)_"^"_SRX 21 S Y=$P(SRA(200),"^",11),SRX=203,SRAO("2B")=$$OUT(SRX,Y)_"^"_SRX 22 S Y=$P(SRA(200),"^",12),SRX=326,SRAO("2C")=$$OUT(SRX,Y)_"^"_SRX 23 S Y=$P(SRA(200),"^",13),SRX=244,SRAO(3)=$$OUT(SRX,Y)_"^"_SRX 24 S Y=$P(SRA(200),"^",15),SRX=212,SRAO("3A")=$$OUT(SRX,Y)_"^"_SRX 25 S Y=$P($G(^SRF(SRTN,200.1)),"^"),SRX=486,SRAO(4)=$$OUT(SRX,Y)_"^"_SRX 26 S Y=$P(SRA(200),"^",16),SRX=213,SRAO("4A")=$$OUT(SRX,Y)_"^"_SRX 27 S Y=$P(SRA(200),"^",30),SRX=242,SRAO(5)=$$OUT(SRX,Y)_"^"_SRX 28 S Y=$P(SRA(200),"^",35),SRX=396,SRAO("5A")=$$OUT(SRX,Y)_"^"_SRX 29 S Y=$P(SRA(200),"^",31),SRX=394,SRAO("5B")=$$OUT(SRX,Y)_"^"_SRX 30 S Y=$P(SRA(200),"^",32),SRX=220,SRAO("5C")=$$OUT(SRX,Y)_"^"_SRX 31 S Y=$P(SRA(200),"^",33),SRX=266,SRAO("5D")=$$OUT(SRX,Y)_"^"_SRX 32 S Y=$P(SRA(200),"^",34),SRX=395,SRAO("5E")=$$OUT(SRX,Y)_"^"_SRX 33 S Y=$P(SRA(200),"^",36),SRX=208,SRAO("5F")=$$OUT(SRX,Y)_"^"_SRX 34 S Y=$P(SRA(200),"^",40),SRX=206,SRAO(6)=$$OUT(SRX,Y)_"^"_SRX 35 S Y=$P(SRA(200),"^",41),SRX=329,SRAO("6A")=$$OUT(SRX,Y)_"^"_SRX 36 S Y=$P(SRA(200),"^",42),SRX=330,SRAO("6B")=$$OUT(SRX,Y)_"^"_SRX K SRA 37 W "1. GENERAL:",?32,$P(SRAO(1),"^"),?41,"4. GASTROINTESTINAL:",?76,$P(SRAO(4),"^") 38 W !," A. Height:" S Y=$P(SRAO("1A"),"^") W:Y'="NS" ?14,$J($P(Y,"^"),25) W:Y="NS" ?32,Y 39 W ?43,"A. Esophageal Varices:",?76,$P(SRAO("4A"),"^") 40 W !," B. Weight:" S Y=$P(SRAO("1B"),"^") W ?($S(Y="NS":19,1:24)),$J(Y,15) 41 W !," C. Diabetes Mellitus:",?32,$P(SRAO("1C"),"^"),?41,"5. CARDIAC:",?76,$P(SRAO(5),"^") 42 W !," D. Current Smoker W/I 1 Year:",?32,$P(SRAO("1D"),"^"),?43,"A. CHF Within 1 Month:",?76,$P(SRAO("5A"),"^") 43 W !," E. ETOH > 2 Drinks/Day:",?32,$P(SRAO("1E"),"^"),?43,"B. MI Within 6 Months:",?76,$P(SRAO("5B"),"^") 44 W !," F. Dyspnea: ",?14,$J($P(SRAO("1F"),"^"),25),?43,"C. Previous PCI:",?76,$P(SRAO("5C"),"^") 45 W !," G. DNR Status: ",?32,$P(SRAO("1G"),"^"),?43,"D. Previous Cardiac Surgery:",?76,$P(SRAO("5D"),"^") 46 W !," H. Preop Funct Status: ",$J($P(SRAO("1H"),"^"),17),?43,"E. Angina Within 1 Month:",?76,$P(SRAO("5E"),"^") 47 W !,?43,"F. Hypertension Requiring Meds:",?76,$P(SRAO("5F"),"^") 48 W !,"2. PULMONARY:",?32,$P(SRAO(2),"^") 49 W !," A. Ventilator Dependent:",?32,$P(SRAO("2A"),"^"),?41,"6. VASCULAR:",?76,$P(SRAO(6),"^") 50 W !," B. History of Severe COPD:",?32,$P(SRAO("2B"),"^"),?43,"A. Revascularization/Amputation:",?76,$P(SRAO("6A"),"^") 51 W !," C. Current Pneumonia:",?32,$P(SRAO("2C"),"^"),?43,"B. Rest Pain/Gangrene:",?76,$P(SRAO("6B"),"^") 52 W !!,"3. HEPATOBILIARY:",?32,$P(SRAO(3),"^"),!," A. Ascites:",?32,$P(SRAO("3A"),"^") 53 Q 54 OUT(SRFLD,SRY) ; get data in output form 55 N C,Y,Z 56 S Y=SRY,C=$P(^DD(130,SRFLD,0),"^",2) D:Y'="" Y^DIQ 57 I Y="NO STUDY" S Y="NS" 58 I SRFLD=237!(SRFLD=346) S Y=$E(Y,1,15) 59 I SRFLD=236 S Z=$P($G(^SRF(SRTN,200.1)),"^",7) I Z'="" S Y="("_$E(Z,4,5)_"/"_$E(Z,6,7)_"/"_$E(Z,2,3)_") "_Y 60 I SRFLD=492 D 61 .I SRY=2 S Y="PARTIAL DEPENDENT" Q 62 .I SRY=1 S Y=Y_" " Q 63 .I SRY=4 S Y=Y_" " 64 I SRFLD=325,$L(Y)=2 S Y=Y_" " 65 Q Y 66 HW ; get weight & height from Vitals 67 N SREND,SREQ,SREX,SREY,SRSTRT 68 WT I $P($G(^SRF(SRTN,206)),"^",2)="" D 69 .S SREND=$P($G(^SRF(SRTN,0)),"^",9),SRSTRT=$$FMADD^XLFDT(SREND,-30),SREX=$$HW^SROACL1(SRSTRT,SREND,"WT") 70 .I SREX'="" S SREX=SREX+.5\1 D CHK^DIE(130,237,"E",SREX,.SREY) I SREY'="^" S $P(^SRF(SRTN,206),"^",2)=SREY 71 HT I $P($G(^SRF(SRTN,206)),"^")'="" Q 72 N GMRVSTR,SRBRDT,SRBIEN,SRBDATA,SRHTDT 73 K ^UTILITY($J,"GMRVD"),RESULTS S SREND=$P($G(^SRF(SRTN,0)),"^",9),GMRVSTR="HT",GMRVSTR(0)="^"_SREND_"^^0" 74 D EN1^GMRVUT0 Q:'$D(^UTILITY($J,"GMRVD")) 75 S SRBRDT="",SRBRDT=$O(^UTILITY($J,"GMRVD","HT",SRBRDT)) Q:'SRBRDT D 76 .S SRBIEN=0 F S SRBIEN=$O(^UTILITY($J,"GMRVD","HT",SRBRDT,SRBIEN)) Q:'SRBIEN D 77 ..S SRBDATA=$G(^UTILITY($J,"GMRVD","HT",SRBRDT,SRBIEN)),SREX=$P(SRBDATA,"^",8) 78 ..I SREX'="" S SREX=SREX+.5\1 D CHK^DIE(130,236,"E",SREX,.SREY) I SREY'="^" D 79 ...S $P(^SRF(SRTN,206),"^")=SREY 80 ...S SRHTDT=$P(SRBDATA,"^") I SRHTDT'="" S $P(^SRF(SRTN,200.1),"^",7)=SRHTDT 81 Q 1 SROAPS1 ;BIR/MAM - PREOP INFO (PAGE 1) ;06/08/06 2 ;;3.0; Surgery ;**38,47,125,153**;24 Jun 93;Build 11 3 N I S SRPAGE="PAGE: 1 OF 2" D HDR^SROAUTL,PRE1 4 W ! F I=1:1:80 W "-" 5 Q 6 PRE1 N SRX,Y D HW F I=200,206 S SRA(I)=$G(^SRF(SRTN,I)) 7 S Y=$P(SRA(200),"^"),SRX=402,SRAO(1)=$$OUT(SRX,Y)_"^"_SRX 8 S Y=$P(SRA(206),"^"),SRX=236,SRAO("1A")=$$OUT(SRX,Y)_"^"_SRX 9 S Y=$P(SRA(206),"^",2),SRX=237,SRAO("1B")=$$OUT(SRX,Y)_"^"_SRX 10 S Y=$P(SRA(200),"^",2),SRX=346,SRAO("1C")=$$OUT(SRX,Y)_"^"_SRX 11 S Y=$P(SRA(200),"^",3),SRX=202,SRAO("1D")=$$OUT(SRX,Y)_"^"_SRX 12 S Y=$P($G(^SRF(SRTN,208)),"^",9),SRX=202.1,SRAO("1E")=$$OUT(SRX,Y)_"^"_SRX 13 S Y=$P(SRA(200),"^",4),SRX=246,SRAO("1F")=$$OUT(SRX,Y)_"^"_SRX 14 S Y=$P(SRA(200),"^",6),SRX=325,SRAO("1G")=$$OUT(SRX,Y)_"^"_SRX 15 S Y=$P(SRA(200),"^",7),SRX=238,SRAO("1H")=$$OUT(SRX,Y)_"^"_SRX 16 S Y=$P(SRA(200),"^",8),SRX=240,SRAO("1I")=$$OUT(SRX,Y)_"^"_SRX 17 S Y=$P($G(^SRF(SRTN,200.1)),"^",2),SRX=492,SRAO("1J")=$$OUT(SRX,Y)_"^"_SRX 18 S Y=$P(SRA(200),"^",9),SRX=241,SRAO(2)=$$OUT(SRX,Y)_"^"_SRX 19 S Y=$P(SRA(200),"^",10),SRX=204,SRAO("2A")=$$OUT(SRX,Y)_"^"_SRX 20 S Y=$P(SRA(200),"^",11),SRX=203,SRAO("2B")=$$OUT(SRX,Y)_"^"_SRX 21 S Y=$P(SRA(200),"^",12),SRX=326,SRAO("2C")=$$OUT(SRX,Y)_"^"_SRX 22 S Y=$P(SRA(200),"^",13),SRX=244,SRAO(3)=$$OUT(SRX,Y)_"^"_SRX 23 S Y=$P(SRA(200),"^",15),SRX=212,SRAO("3A")=$$OUT(SRX,Y)_"^"_SRX 24 S Y=$P($G(^SRF(SRTN,200.1)),"^"),SRX=486,SRAO(4)=$$OUT(SRX,Y)_"^"_SRX 25 S Y=$P(SRA(200),"^",16),SRX=213,SRAO("4A")=$$OUT(SRX,Y)_"^"_SRX 26 S Y=$P(SRA(200),"^",30),SRX=242,SRAO(5)=$$OUT(SRX,Y)_"^"_SRX 27 S Y=$P(SRA(200),"^",35),SRX=396,SRAO("5A")=$$OUT(SRX,Y)_"^"_SRX 28 S Y=$P(SRA(200),"^",31),SRX=394,SRAO("5B")=$$OUT(SRX,Y)_"^"_SRX 29 S Y=$P(SRA(200),"^",32),SRX=220,SRAO("5C")=$$OUT(SRX,Y)_"^"_SRX 30 S Y=$P(SRA(200),"^",33),SRX=266,SRAO("5D")=$$OUT(SRX,Y)_"^"_SRX 31 S Y=$P(SRA(200),"^",34),SRX=395,SRAO("5E")=$$OUT(SRX,Y)_"^"_SRX 32 S Y=$P(SRA(200),"^",36),SRX=208,SRAO("5F")=$$OUT(SRX,Y)_"^"_SRX 33 S Y=$P(SRA(200),"^",40),SRX=206,SRAO(6)=$$OUT(SRX,Y)_"^"_SRX 34 S Y=$P(SRA(200),"^",41),SRX=329,SRAO("6A")=$$OUT(SRX,Y)_"^"_SRX 35 S Y=$P(SRA(200),"^",42),SRX=330,SRAO("6B")=$$OUT(SRX,Y)_"^"_SRX K SRA 36 W "1. GENERAL:",?32,$P(SRAO(1),"^"),?41,"3. HEPATOBILIARY:",?76,$P(SRAO(3),"^") 37 W !," A. Height:" S Y=$P(SRAO("1A"),"^") W ?($S(Y="NS":19,1:24)),$J($P(Y,"^"),15),?43,"A. Ascites:",?76,$P(SRAO("3A"),"^") 38 W !," B. Weight:" S Y=$P(SRAO("1B"),"^") W ?($S(Y="NS":19,1:24)),$J(Y,15) 39 W !," C. Diabetes Mellitus:",?32,$P(SRAO("1C"),"^"),?41,"4. GASTROINTESTINAL:",?76,$P(SRAO(4),"^") 40 W !," D. Current Smoker W/I 1 Year:",?32,$P(SRAO("1D"),"^"),?43,"A. Esophageal Varices:",?76,$P(SRAO("4A"),"^") 41 W !," E. Pack/Years:",?32,$P(SRAO("1E"),"^") 42 W !," F. ETOH > 2 Drinks/Day:",?32,$P(SRAO("1F"),"^"),?41,"5. CARDIAC:",?76,$P(SRAO(5),"^") 43 W !," G. Dyspnea: ",?14,$J($P(SRAO("1G"),"^"),25),?43,"A. CHF Within 1 Month:",?76,$P(SRAO("5A"),"^") 44 W !," H. DNR Status: ",?32,$P(SRAO("1H"),"^"),?43,"B. MI Within 6 Months:",?76,$P(SRAO("5B"),"^") 45 W !," I. Pre-illness Funct",?43,"C. Previous PCI:",?76,$P(SRAO("5C"),"^") 46 W !,?17,"Status: ",$J($P(SRAO("1I"),"^"),17),?43,"D. Previous Cardiac Surgery:",?76,$P(SRAO("5D"),"^") 47 W !," J. Preop Funct Status: ",$J($P(SRAO("1J"),"^"),17),?43,"E. Angina Within 1 Month:",?76,$P(SRAO("5E"),"^") 48 W !,?43,"F. Hypertension Requiring Meds:",?76,$P(SRAO("5F"),"^") 49 W !,"2. PULMONARY:",?32,$P(SRAO(2),"^") 50 W !," A. Ventilator Dependent:",?32,$P(SRAO("2A"),"^"),?41,"6. VASCULAR:",?76,$P(SRAO(6),"^") 51 W !," B. History of Severe COPD:",?32,$P(SRAO("2B"),"^"),?43,"A. Revascularization/Amputation:",?76,$P(SRAO("6A"),"^") 52 W !," C. Current Pneumonia:",?32,$P(SRAO("2C"),"^"),?43,"B. Rest Pain/Gangrene:",?76,$P(SRAO("6B"),"^") 53 Q 54 OUT(SRFLD,SRY) ; get data in output form 55 N C,Y 56 S Y=SRY,C=$P(^DD(130,SRFLD,0),"^",2) D:Y'="" Y^DIQ 57 I Y="NO STUDY" S Y="NS" 58 I SRFLD=236!(SRFLD=237)!(SRFLD=346) S Y=$E(Y,1,15) 59 I SRFLD=240!(SRFLD=492) D 60 .I SRY=2 S Y="PARTIAL DEPENDENT" Q 61 .I SRY=1 S Y=Y_" " Q 62 .I SRY=4 S Y=Y_" " 63 I SRFLD=325,$L(Y)=2 S Y=Y_" " 64 Q Y 65 HW ; get weight & height from Vitals 66 N SREND,SREX,SRSTRT 67 WT I $P($G(^SRF(SRTN,206)),"^",2)="" D 68 .S SREND=$P($G(^SRF(SRTN,0)),"^",9),SRSTRT=$$FMADD^XLFDT(SREND,-30),SREX=$$HW^SROACL1(SRSTRT,SREND,"WT") 69 .I SREX'="" S SREX=SREX+.5\1,$P(^SRF(SRTN,206),"^",2)=SREX 70 HT I $P($G(^SRF(SRTN,206)),"^")="" D 71 .S SREND=$P($G(^SRF(SRTN,0)),"^",9),SRSTRT=$$FMADD^XLFDT(SREND,-365),SREX=$$HW^SROACL1(SRSTRT,SREND,"HT") 72 .I SREX'="" S SREX=SREX+.5\1,$P(^SRF(SRTN,206),"^")=SREX 73 Q -
WorldVistAEHR/trunk/r/SURGERY-SR/SROAPS2.m
r613 r623 1 SROAPS2 ;BIR/MAM - PREOP INFO (PAGE 2) ;11/26/07 2 ;;3.0; Surgery ;**38,47,125,153,160,166**;24 Jun 93;Build 7 3 S SRPAGE="PAGE: 2 OF 2" D HDR^SROAUTL,PRE2 4 W !! F I=1:1:80 W "-" 5 Q 6 PRE2 N SRX,Y S Y=$P($G(^SRF(SRTN,200.1)),"^",3) I Y="",$P(VADM(5),"^")="M" S $P(^SRF(SRTN,200.1),"^",3)="NA" 7 S SRA(200)=$G(^SRF(SRTN,200)),SRA(206)=$G(^SRF(SRTN,206)),SRA(200.1)=$G(^SRF(SRTN,200.1)) 8 S Y=$P(SRA(200),"^",37),SRX=243,SRAO(1)=$$OUT(SRX,Y)_"^"_SRX 9 S Y=$P(SRA(200),"^",38),SRX=328,SRAO("1A")=$$OUT(SRX,Y)_"^"_SRX 10 S Y=$P(SRA(200),"^",39),SRX=211,SRAO("1B")=$$OUT(SRX,Y)_"^"_SRX 11 S Y=$P(SRA(200),"^",18),SRX=210,SRAO(2)=$$OUT(SRX,Y)_"^"_SRX 12 S Y=$P(SRA(200),"^",44),SRX=245,SRAO(3)=$$OUT(SRX,Y)_"^"_SRX 13 S Y=$P(SRA(200),"^",19),SRX=332,SRAO("2A")=$$OUT(SRX,Y)_"^"_SRX 14 S Y=$P(SRA(200),"^",21),SRX=333,SRAO("2B")=$$OUT(SRX,Y)_"^"_SRX 15 S Y=$P(SRA(200),"^",24),SRX=400,SRAO("2C")=$$OUT(SRX,Y)_"^"_SRX 16 S Y=$P(SRA(200),"^",25),SRX=334,SRAO("2D")=$$OUT(SRX,Y)_"^"_SRX 17 S Y=$P(SRA(200),"^",26),SRX=335,SRAO("2E")=$$OUT(SRX,Y)_"^"_SRX 18 S Y=$P(SRA(200),"^",27),SRX=336,SRAO("2F")=$$OUT(SRX,Y)_"^"_SRX 19 S Y=$P(SRA(200),"^",29),SRX=401,SRAO("2G")=$$OUT(SRX,Y)_"^"_SRX 20 S Y=$P(SRA(200),"^",45),SRX=338,SRAO("3A")=$$OUT(SRX,Y)_"^"_SRX 21 S Y=$P(SRA(200),"^",46),SRX=218,SRAO("3B")=$$OUT(SRX,Y)_"^"_SRX 22 S Y=$P(SRA(200),"^",47),SRX=339,SRAO("3C")=$$OUT(SRX,Y)_"^"_SRX 23 S Y=$P(SRA(200),"^",48),SRX=215,SRAO("3D")=$$OUT(SRX,Y)_"^"_SRX 24 S Y=$P(SRA(200),"^",49),SRX=216,SRAO("3E")=$$OUT(SRX,Y)_"^"_SRX 25 S Y=$P(SRA(200),"^",50),SRX=217,SRAO("3F")=$$OUT(SRX,Y)_"^"_SRX 26 S Y=$P(SRA(206),"^",3),SRX=338.1,SRAO("3G")=$$OUT(SRX,Y)_"^"_SRX 27 S Y=$P(SRA(206),"^",4),SRX=338.2,SRAO("3H")=$$OUT(SRX,Y)_"^"_SRX 28 S Y=$P(SRA(206),"^",8),SRX=218.1,SRAO("3I")=$$OUT(SRX,Y)_"^"_SRX 29 S Y=$P(SRA(200.1),"^",3),SRX=269,SRAO("3J")=$$OUT(SRX,Y)_"^"_SRX K SRA 30 W !,"1. RENAL:",?(38-$L($P(SRAO(1),"^"))),$P(SRAO(1),"^"),?40,"3. NUTRITIONAL/IMMUNE/OTHER:",?(79-$L($P(SRAO(3),"^"))),$P(SRAO(3),"^") 31 W !," A. Acute Renal Failure:",?(38-$L($P(SRAO("1A"),"^"))),$P(SRAO("1A"),"^"),?40," A. Disseminated Cancer:",?(79-$L($P(SRAO("3A"),"^"))),$P(SRAO("3A"),"^") 32 W !," B. Currently on Dialysis:",?(38-$L($P(SRAO("1B"),"^"))),$P(SRAO("1B"),"^"),?40," B. Open Wound:",?(79-$L($P(SRAO("3B"),"^"))),$P(SRAO("3B"),"^") 33 W !,?40," C. Steroid Use for Chronic Cond.:",?(79-$L($P(SRAO("3C"),"^"))),$P(SRAO("3C"),"^") 34 W !,"2. CENTRAL NERVOUS SYSTEM:",?(38-$L($P(SRAO(2),"^"))),$P(SRAO(2),"^"),?40," D. Weight Loss > 10%:",?(79-$L($P(SRAO("3D"),"^"))),$P(SRAO("3D"),"^") 35 W !," A. Impaired Sensorium: ",?(38-$L($P(SRAO("2A"),"^"))),$P(SRAO("2A"),"^"),?40," E. Bleeding Disorders:",?(79-$L($P(SRAO("3E"),"^"))),$P(SRAO("3E"),"^") 36 W !," B. Coma:",?(38-$L($P(SRAO("2B"),"^"))),$P(SRAO("2B"),"^"),?40," F. Transfusion > 4 RBC Units:",?(79-$L($P(SRAO("3F"),"^"))),$P(SRAO("3F"),"^") 37 W !," C. Hemiplegia:",?(38-$L($P(SRAO("2C"),"^"))),$P(SRAO("2C"),"^"),?40," G. Chemotherapy W/I 30 Days:",?(79-$L($P(SRAO("3G"),"^"))),$P(SRAO("3G"),"^") 38 W !," D. History of TIAs:",?(38-$L($P(SRAO("2D"),"^"))),$P(SRAO("2D"),"^"),?40," H. Radiotherapy W/I 90 Days:",?(79-$L($P(SRAO("3H"),"^"))),$P(SRAO("3H"),"^") 39 W !," E. CVA/Stroke w. Neuro Deficit:",?(38-$L($P(SRAO("2E"),"^"))),$P(SRAO("2E"),"^"),?40," I. Preoperative Sepsis:",?(79-$L($P(SRAO("3I"),"^"))),$P(SRAO("3I"),"^") 40 W !," F. CVA/Stroke w/o Neuro Deficit:",?(38-$L($P(SRAO("2F"),"^"))),$P(SRAO("2F"),"^"),?40," J. Pregnancy:",?(79-$L($P(SRAO("3J"),"^"))),$P(SRAO("3J"),"^") 41 W !," G. Tumor Involving CNS:",?(38-$L($P(SRAO("2G"),"^"))),$P(SRAO("2G"),"^") 42 Q 43 OUT(SRFLD,SRY) ; get data in output form 44 N C,Y 45 S Y=SRY,C=$P(^DD(130,SRFLD,0),"^",2) D:Y'="" Y^DIQ 46 I Y="NO STUDY" S Y="NS" 47 Q Y 1 SROAPS2 ;BIR/MAM - PREOP INFO (PAGE 2) ;04/24/07 2 ;;3.0; Surgery ;**38,47,125,153,160**;24 Jun 93;Build 7 3 S SRPAGE="PAGE: 2 OF 2" D HDR^SROAUTL,PRE2 4 W !! F I=1:1:80 W "-" 5 Q 6 PRE2 N SRX,Y S Y=$P($G(^SRF(SRTN,200.1)),"^",3) I Y="",$P(VADM(5),"^")="M" S $P(^SRF(SRTN,200.1),"^",3)="NA" 7 S SRA(200)=$G(^SRF(SRTN,200)),SRA(206)=$G(^SRF(SRTN,206)),SRA(200.1)=$G(^SRF(SRTN,200.1)) 8 S Y=$P(SRA(200),"^",37),SRX=243,SRAO(1)=$$OUT(SRX,Y)_"^"_SRX 9 S Y=$P(SRA(200),"^",38),SRX=328,SRAO("1A")=$$OUT(SRX,Y)_"^"_SRX 10 S Y=$P(SRA(200),"^",39),SRX=211,SRAO("1B")=$$OUT(SRX,Y)_"^"_SRX 11 S Y=$P(SRA(200),"^",18),SRX=210,SRAO(2)=$$OUT(SRX,Y)_"^"_SRX 12 S Y=$P(SRA(200),"^",44),SRX=245,SRAO(3)=$$OUT(SRX,Y)_"^"_SRX 13 S Y=$P(SRA(200),"^",19),SRX=332,SRAO("2A")=$$OUT(SRX,Y)_"^"_SRX 14 S Y=$P(SRA(200),"^",21),SRX=333,SRAO("2B")=$$OUT(SRX,Y)_"^"_SRX 15 S Y=$P(SRA(200),"^",22),SRX=398,SRAO("2I")=$$OUT(SRX,Y)_"^"_SRX 16 S Y=$P(SRA(200),"^",23),SRX=399,SRAO("2H")=$$OUT(SRX,Y)_"^"_SRX 17 S Y=$P(SRA(200),"^",24),SRX=400,SRAO("2C")=$$OUT(SRX,Y)_"^"_SRX 18 S Y=$P(SRA(200),"^",25),SRX=334,SRAO("2D")=$$OUT(SRX,Y)_"^"_SRX 19 S Y=$P(SRA(200),"^",26),SRX=335,SRAO("2E")=$$OUT(SRX,Y)_"^"_SRX 20 S Y=$P(SRA(200),"^",27),SRX=336,SRAO("2F")=$$OUT(SRX,Y)_"^"_SRX 21 S Y=$P(SRA(200),"^",29),SRX=401,SRAO("2G")=$$OUT(SRX,Y)_"^"_SRX 22 S Y=$P(SRA(200),"^",45),SRX=338,SRAO("3A")=$$OUT(SRX,Y)_"^"_SRX 23 S Y=$P(SRA(200),"^",46),SRX=218,SRAO("3B")=$$OUT(SRX,Y)_"^"_SRX 24 S Y=$P(SRA(200),"^",47),SRX=339,SRAO("3C")=$$OUT(SRX,Y)_"^"_SRX 25 S Y=$P(SRA(200),"^",48),SRX=215,SRAO("3D")=$$OUT(SRX,Y)_"^"_SRX 26 S Y=$P(SRA(200),"^",49),SRX=216,SRAO("3E")=$$OUT(SRX,Y)_"^"_SRX 27 S Y=$P(SRA(200),"^",50),SRX=217,SRAO("3F")=$$OUT(SRX,Y)_"^"_SRX 28 S Y=$P(SRA(206),"^",3),SRX=338.1,SRAO("3G")=$$OUT(SRX,Y)_"^"_SRX 29 S Y=$P(SRA(206),"^",4),SRX=338.2,SRAO("3H")=$$OUT(SRX,Y)_"^"_SRX 30 S Y=$P(SRA(206),"^",8),SRX=218.1,SRAO("3I")=$$OUT(SRX,Y)_"^"_SRX 31 S Y=$P(SRA(200.1),"^",3),SRX=269,SRAO("3J")=$$OUT(SRX,Y)_"^"_SRX K SRA 32 W !,"1. RENAL:",?(38-$L($P(SRAO(1),"^"))),$P(SRAO(1),"^"),?40,"3. NUTRITIONAL/IMMUNE/OTHER:",?(79-$L($P(SRAO(3),"^"))),$P(SRAO(3),"^") 33 W !," A. Acute Renal Failure:",?(38-$L($P(SRAO("1A"),"^"))),$P(SRAO("1A"),"^"),?40," A. Disseminated Cancer:",?(79-$L($P(SRAO("3A"),"^"))),$P(SRAO("3A"),"^") 34 W !," B. Currently on Dialysis:",?(38-$L($P(SRAO("1B"),"^"))),$P(SRAO("1B"),"^"),?40," B. Open Wound:",?(79-$L($P(SRAO("3B"),"^"))),$P(SRAO("3B"),"^") 35 W !,?40," C. Steroid Use for Chronic Cond.:",?(79-$L($P(SRAO("3C"),"^"))),$P(SRAO("3C"),"^") 36 W !,"2. CENTRAL NERVOUS SYSTEM:",?(38-$L($P(SRAO(2),"^"))),$P(SRAO(2),"^"),?40," D. Weight Loss > 10%:",?(79-$L($P(SRAO("3D"),"^"))),$P(SRAO("3D"),"^") 37 W !," A. Impaired Sensorium: ",?(38-$L($P(SRAO("2A"),"^"))),$P(SRAO("2A"),"^"),?40," E. Bleeding Disorders:",?(79-$L($P(SRAO("3E"),"^"))),$P(SRAO("3E"),"^") 38 W !," B. Coma:",?(38-$L($P(SRAO("2B"),"^"))),$P(SRAO("2B"),"^"),?40," F. Transfusion > 4 RBC Units:",?(79-$L($P(SRAO("3F"),"^"))),$P(SRAO("3F"),"^") 39 W !," C. Hemiplegia:",?(38-$L($P(SRAO("2C"),"^"))),$P(SRAO("2C"),"^"),?40," G. Chemotherapy W/I 30 Days:",?(79-$L($P(SRAO("3G"),"^"))),$P(SRAO("3G"),"^") 40 W !," D. History of TIAs:",?(38-$L($P(SRAO("2D"),"^"))),$P(SRAO("2D"),"^"),?40," H. Radiotherapy W/I 90 Days:",?(79-$L($P(SRAO("3H"),"^"))),$P(SRAO("3H"),"^") 41 W !," E. CVA/Stroke w. Neuro Deficit:",?(38-$L($P(SRAO("2E"),"^"))),$P(SRAO("2E"),"^"),?40," I. Preoperative Sepsis:",?(79-$L($P(SRAO("3I"),"^"))),$P(SRAO("3I"),"^") 42 W !," F. CVA/Stroke w/o Neuro Deficit:",?(38-$L($P(SRAO("2F"),"^"))),$P(SRAO("2F"),"^"),?40," J. Pregnancy:",?(79-$L($P(SRAO("3J"),"^"))),$P(SRAO("3J"),"^") 43 W !," G. Tumor Involving CNS:",?(38-$L($P(SRAO("2G"),"^"))),$P(SRAO("2G"),"^") 44 W !," H. Paraplegia:",?(38-$L($P(SRAO("2H"),"^"))),$P(SRAO("2H"),"^") 45 W !," I. Quadriplegia:",?(38-$L($P(SRAO("2I"),"^"))),$P(SRAO("2I"),"^") 46 Q 47 OUT(SRFLD,SRY) ; get data in output form 48 N C,Y 49 S Y=SRY,C=$P(^DD(130,SRFLD,0),"^",2) D:Y'="" Y^DIQ 50 I Y="NO STUDY" S Y="NS" 51 Q Y -
WorldVistAEHR/trunk/r/SURGERY-SR/SROASS.m
r613 r623 1 SROASS ;BIR/MAM - SELECT ASSESSMENT ;01/18/072 ;;3.0; Surgery ;**38,47,64,94,121,100,160,166**;24 Jun 93;Build 73 PST K:$D(DUZ("SAV")) SRNEW K SRTN W !! S SRSOUT=04 N SRSEL D ^SROPSEL G:'$D(DFN) END S SRANM=VADM(1)_" "_VA("PID")5 START ; start display6 G:SRSOUT END W:SRSEL=1 @IOF,!,?1,SRANM7 I $D(^DPT(DFN,.35)),$P(^(.35),"^") S SRDT=$P(^(.35),"^") W " * DIED "_$E(SRDT,4,5)_"/"_$E(SRDT,6,7)_"/"_$E(SRDT,2,3)_" *"8 I SRSEL=2 S CNT=0 D ^SROASSN G:$D(SRTN) ENTER G PST9 D ^SROASS1 I SRSOUT G END10 I $D(SRTN) G ENTER11 I $D(SRNEW) S CNT=CNT+1,SRCASE(CNT)="" W CNT,". ---- CREATE NEW ASSESSMENT"12 I '$D(SRCASE(1)) W !!,"There are no Surgery Risk Assessments entered for "_VADM(1)_".",!! K DIR S DIR(0)="FOA",DIR("A")=" Press RETURN to continue. " D ^DIR Q13 OPT W !!!,"Select Surgical Case: " R X:DTIME I '$T!("^"[X) S SRSOUT=1 G END14 I '$D(SRCASE(X)) W !!,"Enter the number of the desired assessment." W:$D(SRNEW) " Select '"_CNT_"' to create an",!,"assessment for another surgical case." G OPT15 I $D(SRNEW),X=CNT D ^SROANEW G END16 I '$D(SRTN) S SRTN=+SRCASE(X)17 ENTER ; edit, complete, or delete18 I $D(SRPRINT)!'($D(SRNEW)) Q19 S SR("RA")=$G(^SRF(SRTN,"RA")) I $P(SR("RA"),"^")="T" D TRANS I 'SRYN K SRASS,SRTN S:SRSEL=2 SRSOUT=1 G START20 I SRATYPE="N"&($P(SR("RA"),"^",2)="C") W !!,"You've selected a Cardiac assessment, using a Non-Cardiac Option," K DIR S DIR(0)="Y",DIR("A")="Do you wish to continue",DIR("B")="NO" D ^DIR S X=$E(X) I "Yy"'[X K SRTN S SRSOUT=1 G END21 I SRATYPE="C"&($P(SR("RA"),"^",2)="N") W !!,"You've selected a Non-Cardiac assessment, using a Cardiac Option," K DIR S DIR(0)="Y",DIR("A")="Do you wish to continue",DIR("B")="NO" D ^DIR S X=$E(X) I "Yy"'[X K SRTN S SRSOUT=1 G END22 W @IOF,!,?1,SRANM,!! S SRSDATE=$P(^SRF(SRTN,0),"^",9) S SRASS=SRTN D DISP^SROASS123 I SRATYPE="N" D EXCL24 W !!,"1. Enter Risk Assessment Information",!,"2. Delete Risk Assessment Entry",!,"3. Update Assessment Status to 'COMPLETE'"25 W !!,"Select Number: 1// " R X:DTIME I '$T!(X["^") K SRTN,SRASS S SRSOUT=1 G END26 S:X="" X=1 I X<1!(X>3)!(X'?.N) D HELP G ENTER27 I X=2 D ^SROADEL W !!,"Press <RET> to continue " R X:DTIME W @IOF K SRTN G END28 I X=3 D @($S($P(SR("RA"),"^",2)="C":"^SROACOM1",1:"^SROACOM"))K SRTN G END29 Q30 EXCL I $P($G(^SRO(136,SRTN,10)),"^"),'$$XL^SROAX(SRTN) D31 .W !!,">>> Based on CPT Codes assigned for this case, this case should be excluded." Q32 N SRPROC,SRL S SRL=49 D CPTS^SROAUTL0 I SRPROC(1)="NOT ENTERED" D33 .W !!,">>> No CPT Codes have been assigned for this case."34 Q35 END S:'$D(SRSOUT) SRSOUT=1 W:SRSOUT @IOF D ^SRSKILL36 Q37 HELP ;38 W !!,"Enter <RET> or '1' to enter or edit information related to this Risk ",!,"Assessment entry. If you want to delete the Assessment, enter '2'."39 W !,"Enter '3' to update the status of this Assessment to 'COMPLETE'."40 W !!,"Press <RET> to continue " R X:DTIME41 Q42 TRANS W @IOF,!,"This assessment has already been transmitted. The information contained",!,"in it cannot be altered unless you first change the status to 'INCOMPLETE'."43 S SRYN=0 K DIR S DIR("A")="Do you wish to change the status of this assessment to 'INCOMPLETE'",DIR("B")="NO",DIR(0)="Y" D ^DIR I $D(DTOUT)!$D(DUOUT) S SRSOUT=1 Q44 S SRYN=Y I 'SRYN Q45 I $$LOCK^SROUTL(SRTN) K DA,DIE,DR S DIE=130,DA=SRTN,DR="235////I;393////1" D ^DIE K DA,DIE,DR D UNLOCK^SROUTL(SRTN)46 Q1 SROASS ;BIR/MAM - SELECT ASSESSMENT ;01/18/07 2 ;;3.0; Surgery ;**38,47,64,94,121,100,160**;24 Jun 93;Build 7 3 PST K:$D(DUZ("SAV")) SRNEW K SRTN W !! S SRSOUT=0 4 N SRSEL D ^SROPSEL G:'$D(DFN) END S SRANM=VADM(1)_" "_VA("PID") 5 START ; start display 6 G:SRSOUT END W:SRSEL=1 @IOF,!,?1,SRANM 7 I $D(^DPT(DFN,.35)),$P(^(.35),"^") S SRDT=$P(^(.35),"^") W " * DIED "_$E(SRDT,4,5)_"/"_$E(SRDT,6,7)_"/"_$E(SRDT,2,3)_" *" 8 I SRSEL=2 S CNT=0 D ^SROASSN G:$D(SRTN) ENTER G PST 9 D ^SROASS1 I SRSOUT G END 10 I $D(SRTN) G ENTER 11 I $D(SRNEW) S CNT=CNT+1,SRCASE(CNT)="" W CNT,". ---- CREATE NEW ASSESSMENT" 12 I '$D(SRCASE(1)) W !!,"There are no Surgery Risk Assessments entered for "_VADM(1)_".",!! K DIR S DIR(0)="FOA",DIR("A")=" Press RETURN to continue. " D ^DIR Q 13 OPT W !!!,"Select Surgical Case: " R X:DTIME I '$T!("^"[X) S SRSOUT=1 G END 14 I '$D(SRCASE(X)) W !!,"Enter the number of the desired assessment." W:$D(SRNEW) " Select '"_CNT_"' to create an",!,"assessment for another surgical case." G OPT 15 I $D(SRNEW),X=CNT D ^SROANEW G END 16 I '$D(SRTN) S SRTN=+SRCASE(X) 17 ENTER ; edit, complete, or delete 18 I $D(SRPRINT)!'($D(SRNEW)) Q 19 S SR("RA")=$G(^SRF(SRTN,"RA")) I $P(SR("RA"),"^")="T" D TRANS I 'SRYN K SRASS,SRTN S:SRSEL=2 SRSOUT=1 G START 20 I SRATYPE="N"&($P(SR("RA"),"^",2)="C") W !!,"You've selected a Cardiac assessment, using a Non-Cardiac Option," K DIR S DIR(0)="Y",DIR("A")="Do you wish to continue",DIR("B")="NO" D ^DIR S X=$E(X) I "Yy"'[X K SRTN S SRSOUT=1 G END 21 I SRATYPE="C"&($P(SR("RA"),"^",2)="N") W !!,"You've selected a Non-Cardiac assessment, using a Cardiac Option," K DIR S DIR(0)="Y",DIR("A")="Do you wish to continue",DIR("B")="NO" D ^DIR S X=$E(X) I "Yy"'[X K SRTN S SRSOUT=1 G END 22 W @IOF,!,?1,SRANM,!! S SRSDATE=$P(^SRF(SRTN,0),"^",9) S SRASS=SRTN D DISP^SROASS1 23 I SRATYPE="N" D EXCL 24 W !!,"1. Enter Risk Assessment Information",!,"2. Delete Risk Assessment Entry",!,"3. Update Assessment Status to 'COMPLETE'" 25 W !!,"Select Number: 1// " R X:DTIME I '$T!(X["^") K SRTN,SRASS S SRSOUT=1 G END 26 S:X="" X=1 I X<1!(X>3)!(X'?.N) D HELP G ENTER 27 I X=2 D ^SROADEL W !!,"Press <RET> to continue " R X:DTIME W @IOF K SRTN G END 28 I X=3 D ^SROACOM K SRTN G END 29 Q 30 EXCL I $P($G(^SRO(136,SRTN,10)),"^"),'$$XL^SROAX(SRTN) D 31 .W !!,">>> Based on CPT Codes assigned for this case, this case should be excluded." Q 32 N SRPROC,SRL S SRL=49 D CPTS^SROAUTL0 I SRPROC(1)="NOT ENTERED" D 33 .W !!,">>> No CPT Codes have been assigned for this case." 34 Q 35 END S:'$D(SRSOUT) SRSOUT=1 W:SRSOUT @IOF D ^SRSKILL 36 Q 37 HELP ; 38 W !!,"Enter <RET> or '1' to enter or edit information related to this Risk ",!,"Assessment entry. If you want to delete the Assessment, enter '2'." 39 W !,"Enter '3' to update the status of this Assessment to 'COMPLETE'." 40 W !!,"Press <RET> to continue " R X:DTIME 41 Q 42 TRANS W @IOF,!,"This assessment has already been transmitted. The information contained",!,"in it cannot be altered unless you first change the status to 'INCOMPLETE'." 43 S SRYN=0 K DIR S DIR("A")="Do you wish to change the status of this assessment to 'INCOMPLETE'",DIR("B")="NO",DIR(0)="Y" D ^DIR I $D(DTOUT)!$D(DUOUT) S SRSOUT=1 Q 44 S SRYN=Y I 'SRYN Q 45 I $$LOCK^SROUTL(SRTN) K DA,DIE,DR S DIE=130,DA=SRTN,DR="235////I;393////1" D ^DIE K DA,DIE,DR D UNLOCK^SROUTL(SRTN) 46 Q -
WorldVistAEHR/trunk/r/SURGERY-SR/SROASSP.m
r613 r623 1 SROASSP ;BIR/MAM - PRINT A COMPLETED ASSESSMENT ;12/05/072 ;;3.0; Surgery ;**38,94,166**;24 Jun 93;Build 7 3 BATCH ;4 W ! K DIR S DIR("?",1)="Enter YES to batch print all completed or transmitted assessments for a",DIR("?",2)="selected date range. Enter NO or press return to print one specific",DIR("?")="assessment."5 S DIR("A")="Do you want to batch print assessments for a specific date range ? ",DIR(0)="YA",DIR("B")="NO" D ^DIR K DIR I $D(DTOUT)!$D(DUOUT) S SRSOUT=1 G END6 I Y D ^SROABCH Q7 S SRPRINT=1 K SRNEW D ^SROASS I '$D(SRTN) S SRSOUT=1 G END8 W ! K %ZIS,IO("Q"),POP S %ZIS("A")="Print the Completed Assessment on which Device: ",%ZIS="Q" D ^%ZIS I POP S SRSOUT=1 G END9 I $D(IO("Q")) K IO("Q") S ZTDESC="Completed Surgery Risk Assessment",ZTSAVE("SRSITE*")="",ZTSAVE("SRTN")="",ZTRTN=$S($P($G(^SRF(SRTN,"RA")),"^",2)="C":"EN^SROACOM1",1:"EN^SROACOM")D ^%ZTLOAD G END10 D @($S($P($G(^SRF(SRTN,"RA")),"^",2)="C":"EN^SROACOM1",1:"EN^SROACOM")) 11 END D ^%ZISC W @IOF K SRTN D ^SRSKILL12 Q1 SROASSP ;B'HAM ISC/MAM - PRINT A COMPLETED ASSESSMENT ; [04/06/00 12:05 PM ] 2 ;;3.0; Surgery ;**38,94**;24 Jun 93 3 BATCH ; 4 W ! K DIR S DIR("?",1)="Enter YES to batch print all completed or transmitted assessments for a",DIR("?",2)="selected date range. Enter NO or press return to print one specific",DIR("?")="assessment." 5 S DIR("A")="Do you want to batch print assessments for a specific date range ? ",DIR(0)="YA",DIR("B")="NO" D ^DIR K DIR I $D(DTOUT)!$D(DUOUT) S SRSOUT=1 G END 6 I Y D ^SROABCH Q 7 S SRPRINT=1 K SRNEW D ^SROASS I '$D(SRTN) S SRSOUT=1 G END 8 W ! K %ZIS,IO("Q"),POP S %ZIS("A")="Print the Completed Assessment on which Device: ",%ZIS="Q" D ^%ZIS I POP S SRSOUT=1 G END 9 I $D(IO("Q")) K IO("Q") S ZTDESC="Completed Surgery Risk Assessment",ZTSAVE("SRSITE*")="",ZTSAVE("SRTN")="",ZTRTN="EN^SROACOM" D ^%ZTLOAD G END 10 D EN^SROACOM 11 END D ^%ZISC W @IOF K SRTN D ^SRSKILL 12 Q -
WorldVistAEHR/trunk/r/SURGERY-SR/SROATCM3.m
r613 r623 1 SROATCM3 ;BIR/SJA - STUFF TRANMISSION IN ^TMP ;12/03/07 2 ;;3.0; Surgery ;**125,135,153,164,166**;24 Jun 93;Build 7 3 N SRDISP,NYUK S SRDISP="",NYUK=$P(SRRES(1),U,2),SRA(209.1)=$G(^SRF(SRTN,209.1)),SRA(207.1)=$G(^SRF(SRTN,207.1)) 4 I NYUK'="" D 5 .S SRDISP=$S(NYUK="BOARDING HOUSE":16,NYUK="COMMUNITY HOSPITAL":6,NYUK="COMMUNITY NURSING HOME":8,NYUK="FOSTER HOME":14,NYUK="HALFWAY HOUSE":15,NYUK="HOME-BASED PRIMARY CARE (HBPC)":20,1:NYUK) 6 .Q:SRDISP'=NYUK S SRDISP=$S(NYUK="HOSPICE CARE":22,NYUK="MILITARY HOSPITAL":3,NYUK="NURSE CARE CONTD ANOTHER COMM ":10,NYUK="NURSING CARE CONT AT SAME NURS":9,NYUK="OTHER FEDERAL HOSPITAL":4,1:NYUK) 7 .Q:SRDISP'=NYUK S SRDISP=$S(NYUK="OTHER GOVERNMENT HOSPITAL":5,NYUK="OTHER PLACEMENT/UNKNOWN (NOT S":19,NYUK="PENAL INSTITUTION":17,NYUK="REFER MEDICARE HOME HEALTH CAR":25,NYUK="REFER OTHER AGENCY-PD HOME HEA":26,1:NYUK) 8 .Q:SRDISP'=NYUK S SRDISP=$S(NYUK="REFER VA-PD HOME/COMMUNITY HEA":24,NYUK="RESIDENTIAL HOTEL/RESIDENT (IE":18,NYUK="RESPITE CARE":23,NYUK="RETURN TO COMMUNITY-INDEPENDEN":1,NYUK="SPINAL CORD INJURY-VACO APPROV":21,1:NYUK) 9 .Q:SRDISP'=NYUK S SRDISP=$S(NYUK="STATE HOME":11,NYUK="STATE HOME":13,NYUK="VA DOMICILLARY":12,NYUK="VA MEDICAL CENTER":2,NYUK="VA NURSING HOME CARE UNIT (NHC":7,1:"") 10 ; 11 LN26 S SHEMP=$E(SHEMP,1,11)_" 26"_$J(SRDISP,2)_$J($P(SRA(206),"^",13),2)_$J($P(SRA(206),"^",15),2)_$J($P(SRA(207),"^",6),2)_$J($P(SRA(207),"^",27),2)_$J($P(SRA(209),"^"),2)_$J($P(SRA(209),"^",2),2) 12 S SHEMP=SHEMP_$J($P(SRA(209),"^",3),2)_$J($P(SRA(209),"^",4),2)_$J($P(SRA(209),"^",5),2)_$J($P(SRA(209),"^",6),3)_$J($P(SRA(209),"^",7),3)_$J($P(SRA(209),"^",8),3)_$J($P(SRA(209),"^",9),2)_$J($P(SRA(209),"^",10),2) 13 S X=$P(SRA(206),"^",42),Y="" F I=1:1:5 S Y=Y_$P(X,",",I) 14 S SHEMP=SHEMP_$J($P(SRA(209),"^",11),2)_$J(Y,5) 15 S X=$P(SRA(209),"^",12) S:X="" X="N" S SHEMP=SHEMP_$J(X,2) 16 ; CT Surgery Consult Date and cause for delay 17 S SRDATE=$P(SRA(209),"^",15),SRDATE=$$LJ^XLFSTR(SRDATE,7,0),SHEMP=SHEMP_SRDATE 18 S X=$P(SRA(209),"^",16),SHEMP=SHEMP_$J(X,2) 19 S ^TMP("SRA",$J,SRAMNUM,SRACNT,0)=SHEMP,SRACNT=SRACNT+1 20 LN27 ;Line #27 - Other Cardiac Procedures 21 S SHEMP=$E(SHEMP,1,11)_" 27"_$TR($E($G(SRA(209.1)),1,65),",","^") 22 S ^TMP("SRA",$J,SRAMNUM,SRACNT,0)=SHEMP,SRACNT=SRACNT+1 23 LN28 ;Lines 28 - New fields added in 2006 update 24 S SHEMP=$E(SHEMP,1,11)_" 28"_$J($P(SRA(209),"^",13),2)_$J($P(SRA(209),"^",14),2)_$J($P(SRA(207.1),"^",2),2)_$J($P(SRA(201),"^",28),6)_$J($P(SRA(202.1),"^"),7) 25 S ^TMP("SRA",$J,SRAMNUM,SRACNT,0)=SHEMP,SRACNT=SRACNT+1 26 Q 1 SROATCM3 ;BIR/SJA - STUFF TRANMISSION IN ^TMP ;08/24/07 2 ;;3.0; Surgery ;**125,135,153,164**;24 Jun 93;Build 2 3 N SRDISP,NYUK S SRDISP="",NYUK=$P(SRRES(1),U,2),SRA(209.1)=$G(^SRF(SRTN,209.1)),SRA(207.1)=$G(^SRF(SRTN,207.1)) 4 I NYUK'="" D 5 .S SRDISP=$S(NYUK="BOARDING HOUSE":16,NYUK="COMMUNITY HOSPITAL":6,NYUK="COMMUNITY NURSING HOME":8,NYUK="FOSTER HOME":14,NYUK="HALFWAY HOUSE":15,NYUK="HOME-BASED PRIMARY CARE (HBPC)":20,1:NYUK) 6 .Q:SRDISP'=NYUK S SRDISP=$S(NYUK="HOSPICE CARE":22,NYUK="MILITARY HOSPITAL":3,NYUK="NURSE CARE CONTD ANOTHER COMM ":10,NYUK="NURSING CARE CONT AT SAME NURS":9,NYUK="OTHER FEDERAL HOSPITAL":4,1:NYUK) 7 .Q:SRDISP'=NYUK S SRDISP=$S(NYUK="OTHER GOVERNMENT HOSPITAL":5,NYUK="OTHER PLACEMENT/UNKNOWN (NOT S":19,NYUK="PENAL INSTITUTION":17,NYUK="REFER MEDICARE HOME HEALTH CAR":25,NYUK="REFER OTHER AGENCY-PD HOME HEA":26,1:NYUK) 8 .Q:SRDISP'=NYUK S SRDISP=$S(NYUK="REFER VA-PD HOME/COMMUNITY HEA":24,NYUK="RESIDENTIAL HOTEL/RESIDENT (IE":18,NYUK="RESPITE CARE":23,NYUK="RETURN TO COMMUNITY-INDEPENDEN":1,NYUK="SPINAL CORD INJURY-VACO APPROV":21,1:NYUK) 9 .Q:SRDISP'=NYUK S SRDISP=$S(NYUK="STATE HOME":11,NYUK="STATE HOME":13,NYUK="VA DOMICILLARY":12,NYUK="VA MEDICAL CENTER":2,NYUK="VA NURSING HOME CARE UNIT (NHC":7,1:"") 10 ; 11 LN26 S SHEMP=$E(SHEMP,1,11)_" 26"_$J(SRDISP,2)_$J($P(SRA(206),"^",13),2)_$J($P(SRA(206),"^",15),2)_$J($P(SRA(207),"^",6),2)_$J($P(SRA(207),"^",27),2)_$J($P(SRA(209),"^"),2)_$J($P(SRA(209),"^",2),2) 12 S SHEMP=SHEMP_$J($P(SRA(209),"^",3),2)_$J($P(SRA(209),"^",4),2)_$J($P(SRA(209),"^",5),2)_$J($P(SRA(209),"^",6),3)_$J($P(SRA(209),"^",7),3)_$J($P(SRA(209),"^",8),3)_$J($P(SRA(209),"^",9),2)_$J($P(SRA(209),"^",10),2) 13 S X=$P(SRA(206),"^",42),Y="" F I=1:1:5 S Y=Y_$P(X,",",I) 14 S SHEMP=SHEMP_$J($P(SRA(209),"^",11),2)_$J(Y,5) 15 S X=$P(SRA(209),"^",12) S:X="" X="N" S SHEMP=SHEMP_$J(X,2) 16 ; CT Surgery Consult Date 17 S SRDATE=$P(SRA(209),"^",15),SRDATE=$$LJ^XLFSTR(SRDATE,7,0),SHEMP=SHEMP_SRDATE 18 S ^TMP("SRA",$J,SRAMNUM,SRACNT,0)=SHEMP,SRACNT=SRACNT+1 19 LN27 ;Line #27 - Other Cardiac Procedures 20 S SHEMP=$E(SHEMP,1,11)_" 27"_$TR($E($G(SRA(209.1)),1,65),",","^") 21 S ^TMP("SRA",$J,SRAMNUM,SRACNT,0)=SHEMP,SRACNT=SRACNT+1 22 LN28 ;Lines 28 - New fields added in 2006 update 23 S SHEMP=$E(SHEMP,1,11)_" 28"_$J($P(SRA(209),"^",13),2)_$J($P(SRA(209),"^",14),2)_$J($P(SRA(207.1),"^",2),2)_$J($P(SRA(201),"^",28),6)_$J($P(SRA(202.1),"^"),7) 24 S ^TMP("SRA",$J,SRAMNUM,SRACNT,0)=SHEMP,SRACNT=SRACNT+1 25 Q -
WorldVistAEHR/trunk/r/SURGERY-SR/SROATM1.m
r613 r623 1 SROATM1 ;BIR/MAM - NON CARDIAC TRANSMISSION ;12/10/07 2 ;;3.0; Surgery ;**27,38,47,60,62,81,88,93,95,125,153,160,166**;24 Jun 93;Build 7 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 ; Reference to ^DIC(45.3 supported by DBIA #218 8 ; 9 N SRINTUB,SRDTH,SRPID,SRCDT,SRCREQ F I=0,200,200.1,206 S SRA(I)=$G(^SRF(SRTN,I)) 10 S DFN=$P(SRA(0),"^") N I D DEM^VADPT S SRANAME=VADM(1),SEX=$P(VADM(5),"^"),Z=$P(VADM(3),"^"),SRSDATE=$E($P(SRA(0),"^",9),1,12),Y=$E(SRSDATE,1,7),AGE=$E(Y,1,3)-$E(Z,1,3)-($E(Y,4,7)<$E(Z,4,7)) 11 S SRPID=VA("PID"),SRPID=$TR(SRPID,"-","") ; remove hyphens from PID 12 S X=$$SITE^SROUTL0(SRTN),SRDIV=$S(X:$P(^SRO(133,X,0),"^"),1:""),SRDIV=$S(SRDIV:$$GET1^DIQ(4,SRDIV,99),1:SRASITE) 13 S X=$P($G(^SRF(SRTN,205)),"^",3),SRDTH=$S(X:X,1:$P(VADM(6),"^")) 14 S SRCDT=$P($G(^SRF(SRTN,209)),"^",15),SRCREQ=$P($G(^SRF(SRTN,209)),"^",17) 15 S SHEMP=">"_$J(SRASITE,3)_$J(SRTN,7)_" 1"_DT_$J(AGE,3)_$J(SEX,1)_$J(SRSDATE,12)_$J(SRPID,20)_$J(SRDIV,6)_$J(SRDTH,12)_$J(SRCDT,7)_$J(SRCREQ,7) 16 S ^TMP("SRA",$J,SRAMNUM,SRACNT,0)=SHEMP,SHEMP=$E(SHEMP,1,11)_" 2",SRACNT=SRACNT+1 17 S NYUK=$P(SRA(200),"^",2) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",3) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",4) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200.1),"^",2) D ONE S SHEMP=SHEMP_MOE 18 S NYUK=$P(SRA(200),"^",6) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",7) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",8) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",10) D ONE S SHEMP=SHEMP_MOE 19 S NYUK=$P(SRA(200),"^",11) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",12) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200.1),"^",6) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",15) D ONE S SHEMP=SHEMP_MOE 20 S NYUK=$P(SRA(200),"^",16) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",17) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",31) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",32) D ONE S SHEMP=SHEMP_MOE 21 S NYUK=$P(SRA(200),"^",33) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",34) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",35) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",36) D ONE S SHEMP=SHEMP_MOE 22 S NYUK=$P(SRA(200),"^",38) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",39) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",41) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",42) D ONE S SHEMP=SHEMP_MOE 23 S NYUK=$P(SRA(200),"^",43) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",19) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",20) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",21) D ONE S SHEMP=SHEMP_MOE 24 S NYUK=$P(SRA(200),"^",22) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",23) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",24) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",25) D ONE S SHEMP=SHEMP_MOE 25 S NYUK=$P(SRA(200),"^",26) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",27) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",28) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",29) D ONE S SHEMP=SHEMP_MOE 26 S NYUK=$P(SRA(200),"^",45) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",46) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",47) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",48) D ONE S SHEMP=SHEMP_MOE 27 S NYUK=$P(SRA(200),"^",49) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",50) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200.1),"^",3),SHEMP=SHEMP_$J(NYUK,2) 28 S NYUK=$P(SRA(0),"^",4) S:NYUK NYUK=$E($P(^DIC(45.3,$P(^SRO(137.45,NYUK,0),"^",2),0),"^"),1,3) S SHEMP=SHEMP_$J(NYUK,3) 29 S NYUK=$P(SRA(200),"^",52),SHEMP=SHEMP_$J(NYUK,2),X=$P(SRA(0),"^",10),NYUK=$S(X="EM":"Y",1:"N") D ONE S SHEMP=SHEMP_MOE 30 S NYUK=$P($G(^SRF(SRTN,"1.0")),"^",8),SHEMP=SHEMP_$J(NYUK,2),NYUK=$P(SRA(200),"^",53) D ONE S SHEMP=SHEMP_MOE 31 S SRASA="",Y=$P($G(^SRF(SRTN,1.1)),"^",3) S:Y X=$P($P($G(^SRO(132.8,Y,0)),"^"),"-"),SRASA=X S NYUK=$E(SRASA,1,1) D ONE S SHEMP=SHEMP_MOE 32 K SRTECH,SRZ,SRTRAUMA S SRT=0 F S SRT=$O(^SRF(SRTN,6,SRT)) Q:'SRT D ^SROPRIN Q:$D(SRZ) 33 I $D(SRTECH) S SRTRAUMA=$P(^SRF(SRTN,6,SRT,0),"^",14),SRINTUB=$P($G(^SRF(SRTN,6,SRT,8)),"^",2) 34 I '$D(SRTECH) S (SRTECH,SRTRAUMA,SRINTUB)="" 35 S SHEMP=SHEMP_$J(SRTECH,1)_$J($E(SRASA,2),1)_$J(SRINTUB,1)_" " 36 S NYUK=$P(SRA(206),"^"),SHEMP=SHEMP_$J(NYUK,4),NYUK=$P(SRA(206),"^",2),SHEMP=SHEMP_$J(NYUK,4) 37 S ^TMP("SRA",$J,SRAMNUM,SRACNT,0)=SHEMP,SHEMP=$E(SHEMP,1,11)_" 3",SRACNT=SRACNT+1 38 D ^SROATM2 39 Q 40 ONE S MOE=$S(NYUK="NS":"S",NYUK="":" ",1:NYUK) 41 Q 1 SROATM1 ;BIR/MAM - NON CARDIAC TRANSMISSION ;05/10/07 2 ;;3.0; Surgery ;**27,38,47,60,62,81,88,93,95,125,153,160**;24 Jun 93;Build 7 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 ; Reference to ^DIC(45.3 supported by DBIA #218 8 ; 9 N SRINTUB,SRDTH,SRPID F I=0,200,200.1,206 S SRA(I)=$G(^SRF(SRTN,I)) 10 S DFN=$P(SRA(0),"^") N I D DEM^VADPT S SRANAME=VADM(1),SEX=$P(VADM(5),"^"),Z=$P(VADM(3),"^"),SRSDATE=$E($P(SRA(0),"^",9),1,12),Y=$E(SRSDATE,1,7),AGE=$E(Y,1,3)-$E(Z,1,3)-($E(Y,4,7)<$E(Z,4,7)) 11 S SRPID=VA("PID"),SRPID=$TR(SRPID,"-","") ; remove hyphens from PID 12 S X=$$SITE^SROUTL0(SRTN),SRDIV=$S(X:$P(^SRO(133,X,0),"^"),1:""),SRDIV=$S(SRDIV:$$GET1^DIQ(4,SRDIV,99),1:SRASITE) 13 S X=$P($G(^SRF(SRTN,205)),"^",3),SRDTH=$S(X:X,1:$P(VADM(6),"^")) 14 S SHEMP=">"_$J(SRASITE,3)_$J(SRTN,7)_" 1"_DT_$J(AGE,3)_$J(SEX,1)_$J(SRSDATE,12)_$J(SRPID,20)_$J(SRDIV,6)_$J(SRDTH,12) 15 S ^TMP("SRA",$J,SRAMNUM,SRACNT,0)=SHEMP,SHEMP=$E(SHEMP,1,11)_" 2",SRACNT=SRACNT+1 16 S NYUK=$P(SRA(200),"^",2) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",3) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",4) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200.1),"^",2) D ONE S SHEMP=SHEMP_MOE 17 S NYUK=$P(SRA(200),"^",6) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",7) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",8) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",10) D ONE S SHEMP=SHEMP_MOE 18 S NYUK=$P(SRA(200),"^",11) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",12) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200.1),"^",6) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",15) D ONE S SHEMP=SHEMP_MOE 19 S NYUK=$P(SRA(200),"^",16) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",17) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",31) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",32) D ONE S SHEMP=SHEMP_MOE 20 S NYUK=$P(SRA(200),"^",33) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",34) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",35) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",36) D ONE S SHEMP=SHEMP_MOE 21 S NYUK=$P(SRA(200),"^",38) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",39) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",41) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",42) D ONE S SHEMP=SHEMP_MOE 22 S NYUK=$P(SRA(200),"^",43) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",19) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",20) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",21) D ONE S SHEMP=SHEMP_MOE 23 S NYUK=$P(SRA(200),"^",22) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",23) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",24) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",25) D ONE S SHEMP=SHEMP_MOE 24 S NYUK=$P(SRA(200),"^",26) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",27) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",28) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",29) D ONE S SHEMP=SHEMP_MOE 25 S NYUK=$P(SRA(200),"^",45) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",46) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",47) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",48) D ONE S SHEMP=SHEMP_MOE 26 S NYUK=$P(SRA(200),"^",49) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200),"^",50) D ONE S SHEMP=SHEMP_MOE,NYUK=$P(SRA(200.1),"^",3),SHEMP=SHEMP_$J(NYUK,2) 27 S NYUK=$P(SRA(0),"^",4) S:NYUK NYUK=$E($P(^DIC(45.3,$P(^SRO(137.45,NYUK,0),"^",2),0),"^"),1,3) S SHEMP=SHEMP_$J(NYUK,3) 28 S NYUK=$P(SRA(200),"^",52),SHEMP=SHEMP_$J(NYUK,2),X=$P(SRA(0),"^",10),NYUK=$S(X="EM":"Y",1:"N") D ONE S SHEMP=SHEMP_MOE 29 S NYUK=$P($G(^SRF(SRTN,"1.0")),"^",8),SHEMP=SHEMP_$J(NYUK,2),NYUK=$P(SRA(200),"^",53) D ONE S SHEMP=SHEMP_MOE 30 S SRASA="",Y=$P($G(^SRF(SRTN,1.1)),"^",3) S:Y X=$P($P($G(^SRO(132.8,Y,0)),"^"),"-"),SRASA=X S NYUK=$E(SRASA,1,1) D ONE S SHEMP=SHEMP_MOE 31 K SRTECH,SRZ,SRTRAUMA S SRT=0 F S SRT=$O(^SRF(SRTN,6,SRT)) Q:'SRT D ^SROPRIN Q:$D(SRZ) 32 I $D(SRTECH) S SRTRAUMA=$P(^SRF(SRTN,6,SRT,0),"^",14),SRINTUB=$P($G(^SRF(SRTN,6,SRT,8)),"^",2) 33 I '$D(SRTECH) S (SRTECH,SRTRAUMA,SRINTUB)="" 34 S SHEMP=SHEMP_$J(SRTECH,1)_$J($E(SRASA,2),1)_$J(SRINTUB,1)_" " 35 S NYUK=$P(SRA(206),"^"),SHEMP=SHEMP_$J(NYUK,4),NYUK=$P(SRA(206),"^",2),SHEMP=SHEMP_$J(NYUK,4) 36 S ^TMP("SRA",$J,SRAMNUM,SRACNT,0)=SHEMP,SHEMP=$E(SHEMP,1,11)_" 3",SRACNT=SRACNT+1 37 D ^SROATM2 38 Q 39 ONE S MOE=$S(NYUK="NS":"S",NYUK="":" ",1:NYUK) 40 Q -
WorldVistAEHR/trunk/r/SURGERY-SR/SROATMNO.m
r613 r623 1 SROATMNO ;BIR/MAM - TRANSMIT NO ASSESSMENT ;12/18/07 2 ;;3.0; Surgery ;**27,38,47,62,68,79,83,81,88,93,95,97,129,125,142,153,160,166**;24 Jun 93;Build 7 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 ; Reference to ^DIC(45.3 supported by DBIA #218 8 ; 9 N SR10SP,SRINTUB,SR95PO,SRLO,SRPID,TDATE K ^TMP("SRA",$J) S SRATOT=0,SRASITE=+$P($$SITE^SROVAR,"^",3),(SRAMNUM,SRACNT)=1 10 S Z=$E(DT,1,3)-1,SRLO=Z_"0214" 11 S TDATE=0 F S TDATE=$O(^SRF("AQ",TDATE)) Q:TDATE="" I DT'<TDATE S SRTN=0 F S SRTN=$O(^SRF("AQ",TDATE,SRTN)) Q:'SRTN D SET 12 S SRATOTM=SRAMNUM D ^SROATM4 13 Q 14 SET I $P($G(^SRF(SRTN,.4)),"^",2)="T"!(TDATE<SRLO) K ^SRF("AQ",TDATE,SRTN) Q 15 I $P($G(^SRF(SRTN,30)),"^")!$P($G(^SRF(SRTN,31)),"^",8)!'$P($G(^SRF(SRTN,.2)),"^",12)!($P($G(^SRF(SRTN,"NON")),"^")="Y") K ^SRF("AQ",TDATE,SRTN) S $P(^SRF(SRTN,.4),"^",2)="" Q 16 I $P($G(^SRF(SRTN,"RA")),"^",6)="Y",$P($G(^SRF(SRTN,"RA")),"^",2)="N" K ^SRF("AQ",TDATE,SRTN) Q 17 I $P($G(^SRF(SRTN,0)),"^",9)="" K ^SRF("AQ",TDATE,SRTN) Q 18 S SR10SP=" " K DA,DIE,DR S DA=SRTN,DIE=130,DR="905///R" D ^DIE K DR,DA,DIE 19 S SRA(0)=^SRF(SRTN,0),DATE=$E($P(SRA(0),"^",9),1,7),SPEC=$P(SRA(0),"^",4) S:SPEC SPEC=$P(^DIC(45.3,$P(^SRO(137.45,SPEC,0),"^",2),0),"^") 20 S EMERG=$P(SRA(0),"^",10),EMERG=$S(EMERG="EM":"Y",1:"N") 21 K SRTECH,SRZ S SRT=0 F S SRT=$O(^SRF(SRTN,6,SRT)) Q:'SRT D ^SROPRIN Q:$D(SRZ) 22 I $D(SRTECH) S SRINTUB=$P($G(^SRF(SRTN,6,SRT,8)),"^",2) 23 I '$D(SRTECH) S (SRTECH,SRINTUB)="" 24 S CPT=$P($G(^SRO(136,SRTN,0)),"^",2),SRPMOD="" I CPT S CPT=$P($$CPT^ICPTCOD(CPT),"^",2) D 25 .S SRM=0,SRCNT=1 F S SRM=$O(^SRO(136,SRTN,1,SRM)) Q:'SRM D Q:SRCNT>5 26 ..S X=$P(^SRO(136,SRTN,1,SRM,0),"^") I X S Y=$P($$MOD^ICPTMOD(X,"I"),"^",2),SRPMOD=SRPMOD_Y,SRCNT=SRCNT+1 27 S DFN=$P(SRA(0),"^") N I D DEM^VADPT S SRDOB=$E($P(VADM(3),"^"),1,7),SRDEATH=$P(VADM(6),U) 28 S SRPID=VA("PID"),SRPID=$TR(SRPID,"-","") ; remove hyphens from PID 29 S X=$$SITE^SROUTL0(SRTN),SRDIV=$S(X:$P(^SRO(133,X,0),"^"),1:""),SRDIV=$S(SRDIV:$$GET1^DIQ(4,SRDIV,99),1:SRASITE) 30 D RS^SROATM2 31 S SRMAJMIN=$E($P($G(^SRF(SRTN,0)),U,3),1) 32 S SRDTHUR=$E($P($G(^SRF(SRTN,.4)),U,7),1) 33 S SRSTATUS=$E($P($G(^SRF(SRTN,0)),U,12),1) I SRSTATUS'="I"&(SRSTATUS'="O") S VAIP("D")=$P(SRA(0),"^",9) D IN5^VADPT S SRSTATUS=$S(VAIP(13):"I",1:"O") K VAIP 34 S SRAGE="" I $P(VADM(3),"^") S SRAGE=$E(DATE,1,3)-$E($P(VADM(3),"^"),1,3)-($E(DATE,4,7)<$E($P(VADM(3),"^"),4,7)) 35 S SRASA="",Y=$P($G(^SRF(SRTN,1.1)),"^",3) S:Y X=$P($P($G(^SRO(132.8,Y,0)),"^"),"-"),SRASA=$E(X,1,2) 36 ; Admission wi 14 days following outpatient surgery due to an Occurrence 37 S (SRADMIT,SRADMT)=0 I SRSTATUS="O" D ADM^SROQ0A S SRADMIT=$S(SRADMT=0:"0",1:"1") 38 S EXC=$P($G(^SRF(SRTN,"RA")),"^",7),SRWOUND=$P($G(^SRF(SRTN,"1.0")),"^",8) 39 D OCC 40 S SRNODE=" X" S:$P($G(^SRF(SRTN,"RA")),U,6)="N" SRNODE=" *" S:$P($G(^SRF(SRTN,"RA")),U,2)="C" SRNODE=" C" 41 S SRTEMP="/"_$J(SRASITE,3)_$J(SRTN,7)_SRNODE_$J(DATE,7)_$J(SRTECH,3)_$J(EMERG,1)_$J(SPEC,3)_$J(CPT,5)_$J(EXC,1)_$J(SRPID,20)_$J(SRDIV,6)_" " 42 S SRTEMP=SRTEMP_$J(SRMAJMIN,1)_$J($E(SRDEATH,1,7),7)_$J(SRDTHUR,1)_$J(SRSTATUS,1)_$J(SRAGE,3)_$J(SRASA,2)_$J(SRADMIT,1)_SRTMP 43 K CPT,SRMOD F SRZ=1:1:10 S (CPT(SRZ),SRMOD(SRZ))="" 44 S (OPS,CNT)=0 F S OPS=$O(^SRO(136,SRTN,3,OPS)) Q:'OPS!(CNT=10) S CNT=CNT+1,X=$P($G(^SRO(136,SRTN,3,OPS,0)),"^") I X S CPT(CNT)=$P($$CPT^ICPTCOD(X),"^",2) D MOD 45 S SRCC=$P($G(^SRF(SRTN,"CON")),"^"),SRBLANK=" " 46 I SRCC,$P($G(^SRF(SRCC,30)),"^")!($P($G(^SRF(SRCC,31)),"^",8)) S SRCC="" 47 S SRTEMP=SRTEMP_$J(CPT(1),5)_$J(CPT(2),5)_$J(CPT(3),5)_$J(CPT(4),5)_$J(CPT(5),5)_$J(CPT(6),5)_$J(CPT(7),5)_$J(CPT(8),5)_$J(CPT(9),5)_$J(CPT(10),5)_$J(SRWOUND,2)_$J(SROCTYPE,1)_SRBLANK_$J(SRCC,10)_$J(SRDEATH,12) 48 S ^TMP("SRA",$J,SRAMNUM,SRACNT,0)=SRTEMP,SRACNT=SRACNT+1 49 S SRICD=$P($G(^SRO(136,SRTN,0)),"^",3) S:SRICD SRICD=$P(^ICD9(SRICD,0),"^") 50 S SRA(.2)=$G(^SRF(SRTN,.2)) 51 S SRTEMP="/"_$J(SRASITE,3)_$J(SRTN,7)_" B"_$J($E($P(SRA(.2),"^"),1,12),12)_$J($E($P(SRA(.2),"^",4),1,12),12)_$E(SRPMOD_SR10SP,1,10) 52 F I=1:1:10 S SRTEMP=SRTEMP_$E(SRMOD(I)_SR10SP,1,10) 53 S ^TMP("SRA",$J,SRAMNUM,SRACNT,0)=SRTEMP_$J(SRINTUB,1)_SR95PO_$J(SRATT,2)_$J(SRDOB,7)_$J(SRICD,6)_$J(SROC(38),2),SRACNT=SRACNT+1 54 I SRACNT>100 S SRACNT=1,SRAMNUM=SRAMNUM+1 55 S SRATOT=SRATOT+1 56 S X=$E($P(^SRF(SRTN,0),"^",9),1,5)_"00",^TMP("SRWL",$J,X)="" 57 K DATE,ANES,EMERG,EXC,SPEC,SRADMIT,SRADMT,SRATT,SRBLANK,SRCC,SRDIV,SRDOB,SRDTHUR,SRICD,SRIO,SRMAJMIN,SROCTYPE,SRTEMP,SRTMP,SRWOUND,SRZ,SR14,CPT 58 Q 59 OCC ; total of each occurrence by category 60 N SRIOFLAG,SRPOFLAG 61 F SRK=1:1:38 S SROC(SRK)="" 62 S (SRPO,SRIOFLAG)=0 F S SRPO=$O(^SRF(SRTN,10,SRPO)) Q:'SRPO S SRSUB=$P(^SRF(SRTN,10,SRPO,0),U,2) I SRSUB'="" D 63 .S SROC(SRSUB)=SROC(SRSUB)+1,SRIOFLAG=1 64 S (SRPO,SRPOFLAG)=0 F S SRPO=$O(^SRF(SRTN,16,SRPO)) Q:'SRPO S SRSUB=$P(^SRF(SRTN,16,SRPO,0),U,2) I SRSUB'="" D 65 .S SROC(SRSUB)=SROC(SRSUB)+1,SRPOFLAG=1 66 S (SROCTYPE,SRTMP)="" F SRK=1:1:10 S SRTMP=SRTMP_$J(SROC(SRK),2) 67 S SRTMP=SRTMP_$J(SROC(37),2) F SRK=12:1:32 S SRTMP=SRTMP_$J(SROC(SRK),2) 68 S SR95PO=$J(SROC(33),2)_$J(SROC(34),2)_$J(SROC(35),2)_$J(SROC(36),2) 69 I SRIOFLAG=1,(SRPOFLAG=0) S SROCTYPE="I" 70 I SRIOFLAG=0,(SRPOFLAG=1) S SROCTYPE="P" 71 I SRIOFLAG=1,(SRPOFLAG=1) S SROCTYPE="B" 72 I SRIOFLAG=0,(SRPOFLAG=0) S SROCTYPE="" 73 Q 74 MOD N SRM S SRM=0,SRCNT=1 F S SRM=$O(^SRO(136,SRTN,3,OPS,1,SRM)) Q:'SRM D Q:SRCNT>5 75 .S X=$P(^SRO(136,SRTN,3,OPS,1,SRM,0),"^"),Y=$P($$MOD^ICPTMOD(X,"I"),"^",2) 76 .I Y'="" S SRMOD(CNT)=SRMOD(CNT)_Y,SRCNT=SRCNT+1 77 Q 1 SROATMNO ;BIR/MAM - TRANSMIT NO ASSESSMENT ;05/10/07 2 ;;3.0; Surgery ;**27,38,47,62,68,79,83,81,88,93,95,97,129,125,142,153,160**;24 Jun 93;Build 7 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 ; Reference to ^DIC(45.3 supported by DBIA #218 8 ; 9 N SR10SP,SRINTUB,SR95PO,SRLO,SRPID,TDATE K ^TMP("SRA",$J) S SRATOT=0,SRASITE=+$P($$SITE^SROVAR,"^",3),(SRAMNUM,SRACNT)=1 10 S Z=$E(DT,1,3)-1,SRLO=Z_"0214" 11 S TDATE=0 F S TDATE=$O(^SRF("AQ",TDATE)) Q:TDATE="" I DT'<TDATE S SRTN=0 F S SRTN=$O(^SRF("AQ",TDATE,SRTN)) Q:'SRTN D SET 12 S SRATOTM=SRAMNUM D ^SROATM4 13 Q 14 SET I $P($G(^SRF(SRTN,.4)),"^",2)="T"!(TDATE<SRLO) K ^SRF("AQ",TDATE,SRTN) Q 15 I $P($G(^SRF(SRTN,30)),"^")!$P($G(^SRF(SRTN,31)),"^",8)!'$P($G(^SRF(SRTN,.2)),"^",12)!($P($G(^SRF(SRTN,"NON")),"^")="Y") K ^SRF("AQ",TDATE,SRTN) S $P(^SRF(SRTN,.4),"^",2)="" Q 16 I $P($G(^SRF(SRTN,"RA")),"^",6)="Y",$P($G(^SRF(SRTN,"RA")),"^",2)="N" K ^SRF("AQ",TDATE,SRTN) Q 17 S SR10SP=" " K DA,DIE,DR S DA=SRTN,DIE=130,DR="905///R" D ^DIE K DR,DA,DIE 18 S SRA(0)=^SRF(SRTN,0),DATE=$E($P(SRA(0),"^",9),1,7),SPEC=$P(SRA(0),"^",4) S:SPEC SPEC=$P(^DIC(45.3,$P(^SRO(137.45,SPEC,0),"^",2),0),"^") 19 S EMERG=$P(SRA(0),"^",10),EMERG=$S(EMERG="EM":"Y",1:"N") 20 K SRTECH,SRZ S SRT=0 F S SRT=$O(^SRF(SRTN,6,SRT)) Q:'SRT D ^SROPRIN Q:$D(SRZ) 21 I $D(SRTECH) S SRINTUB=$P($G(^SRF(SRTN,6,SRT,8)),"^",2) 22 I '$D(SRTECH) S (SRTECH,SRINTUB)="" 23 S CPT=$P($G(^SRO(136,SRTN,0)),"^",2),SRPMOD="" I CPT S CPT=$P($$CPT^ICPTCOD(CPT),"^",2) D 24 .S SRM=0,SRCNT=1 F S SRM=$O(^SRO(136,SRTN,1,SRM)) Q:'SRM D Q:SRCNT>5 25 ..S X=$P(^SRO(136,SRTN,1,SRM,0),"^") I X S Y=$P($$MOD^ICPTMOD(X,"I"),"^",2),SRPMOD=SRPMOD_Y,SRCNT=SRCNT+1 26 S DFN=$P(SRA(0),"^") N I D DEM^VADPT S SRDOB=$E($P(VADM(3),"^"),1,7),SRDEATH=$P(VADM(6),U) 27 S SRPID=VA("PID"),SRPID=$TR(SRPID,"-","") ; remove hyphens from PID 28 S X=$$SITE^SROUTL0(SRTN),SRDIV=$S(X:$P(^SRO(133,X,0),"^"),1:""),SRDIV=$S(SRDIV:$$GET1^DIQ(4,SRDIV,99),1:SRASITE) 29 D RS^SROATM2 30 S SRMAJMIN=$E($P($G(^SRF(SRTN,0)),U,3),1) 31 S SRDTHUR=$E($P($G(^SRF(SRTN,.4)),U,7),1) 32 S SRSTATUS=$E($P($G(^SRF(SRTN,0)),U,12),1) I SRSTATUS'="I"&(SRSTATUS'="O") S VAIP("D")=$P(SRA(0),"^",9) D IN5^VADPT S SRSTATUS=$S(VAIP(13):"I",1:"O") K VAIP 33 S SRAGE="" I $P(VADM(3),"^") S SRAGE=$E(DATE,1,3)-$E($P(VADM(3),"^"),1,3)-($E(DATE,4,7)<$E($P(VADM(3),"^"),4,7)) 34 S SRASA="",Y=$P($G(^SRF(SRTN,1.1)),"^",3) S:Y X=$P($P($G(^SRO(132.8,Y,0)),"^"),"-"),SRASA=$E(X,1,2) 35 ; Admission wi 14 days following outpatient surgery due to an Occurrence 36 S (SRADMIT,SRADMT)=0 I SRSTATUS="O" D ADM^SROQ0A S SRADMIT=$S(SRADMT=0:"0",1:"1") 37 S EXC=$P($G(^SRF(SRTN,"RA")),"^",7),SRWOUND=$P($G(^SRF(SRTN,"1.0")),"^",8) 38 D OCC 39 S SRNODE=" X" S:$P($G(^SRF(SRTN,"RA")),U,6)="N" SRNODE=" *" S:$P($G(^SRF(SRTN,"RA")),U,2)="C" SRNODE=" C" 40 S SRTEMP="/"_$J(SRASITE,3)_$J(SRTN,7)_SRNODE_DATE_$J(SRTECH,3)_$J(EMERG,1)_$J(SPEC,3)_$J(CPT,5)_$J(EXC,1)_$J(SRPID,20)_$J(SRDIV,6)_" " 41 S SRTEMP=SRTEMP_$J(SRMAJMIN,1)_$J($E(SRDEATH,1,7),7)_$J(SRDTHUR,1)_$J(SRSTATUS,1)_$J(SRAGE,3)_$J(SRASA,2)_$J(SRADMIT,1)_SRTMP 42 K CPT,SRMOD F SRZ=1:1:10 S (CPT(SRZ),SRMOD(SRZ))="" 43 S (OPS,CNT)=0 F S OPS=$O(^SRO(136,SRTN,3,OPS)) Q:'OPS!(CNT=10) S CNT=CNT+1,X=$P($G(^SRO(136,SRTN,3,OPS,0)),"^") I X S CPT(CNT)=$P($$CPT^ICPTCOD(X),"^",2) D MOD 44 S SRCC=$P($G(^SRF(SRTN,"CON")),"^"),SRBLANK=" " 45 I SRCC,$P($G(^SRF(SRCC,30)),"^")!($P($G(^SRF(SRCC,31)),"^",8)) S SRCC="" 46 S SRTEMP=SRTEMP_$J(CPT(1),5)_$J(CPT(2),5)_$J(CPT(3),5)_$J(CPT(4),5)_$J(CPT(5),5)_$J(CPT(6),5)_$J(CPT(7),5)_$J(CPT(8),5)_$J(CPT(9),5)_$J(CPT(10),5)_$J(SRWOUND,2)_$J(SROCTYPE,1)_SRBLANK_$J(SRCC,10)_$J(SRDEATH,12) 47 S ^TMP("SRA",$J,SRAMNUM,SRACNT,0)=SRTEMP,SRACNT=SRACNT+1 48 S SRICD=$P($G(^SRO(136,SRTN,0)),"^",3) S:SRICD SRICD=$P(^ICD9(SRICD,0),"^") 49 S SRA(.2)=$G(^SRF(SRTN,.2)) 50 S SRTEMP="/"_$J(SRASITE,3)_$J(SRTN,7)_" B"_$J($E($P(SRA(.2),"^"),1,12),12)_$J($E($P(SRA(.2),"^",4),1,12),12)_$E(SRPMOD_SR10SP,1,10) 51 F I=1:1:10 S SRTEMP=SRTEMP_$E(SRMOD(I)_SR10SP,1,10) 52 S ^TMP("SRA",$J,SRAMNUM,SRACNT,0)=SRTEMP_$J(SRINTUB,1)_SR95PO_$J(SRATT,2)_$J(SRDOB,7)_$J(SRICD,6)_$J(SROC(38),2),SRACNT=SRACNT+1 53 I SRACNT>100 S SRACNT=1,SRAMNUM=SRAMNUM+1 54 S SRATOT=SRATOT+1 55 S X=$E($P(^SRF(SRTN,0),"^",9),1,5)_"00",^TMP("SRWL",$J,X)="" 56 K DATE,ANES,EMERG,EXC,SPEC,SRADMIT,SRADMT,SRATT,SRBLANK,SRCC,SRDIV,SRDOB,SRDTHUR,SRICD,SRIO,SRMAJMIN,SROCTYPE,SRTEMP,SRTMP,SRWOUND,SRZ,SR14,CPT 57 Q 58 OCC ; total of each occurrence by category 59 N SRIOFLAG,SRPOFLAG 60 F SRK=1:1:38 S SROC(SRK)="" 61 S (SRPO,SRIOFLAG)=0 F S SRPO=$O(^SRF(SRTN,10,SRPO)) Q:'SRPO S SRSUB=$P(^SRF(SRTN,10,SRPO,0),U,2) I SRSUB'="" D 62 .S SROC(SRSUB)=SROC(SRSUB)+1,SRIOFLAG=1 63 S (SRPO,SRPOFLAG)=0 F S SRPO=$O(^SRF(SRTN,16,SRPO)) Q:'SRPO S SRSUB=$P(^SRF(SRTN,16,SRPO,0),U,2) I SRSUB'="" D 64 .S SROC(SRSUB)=SROC(SRSUB)+1,SRPOFLAG=1 65 S (SROCTYPE,SRTMP)="" F SRK=1:1:10 S SRTMP=SRTMP_$J(SROC(SRK),2) 66 S SRTMP=SRTMP_$J(SROC(37),2) F SRK=12:1:32 S SRTMP=SRTMP_$J(SROC(SRK),2) 67 S SR95PO=$J(SROC(33),2)_$J(SROC(34),2)_$J(SROC(35),2)_$J(SROC(36),2) 68 I SRIOFLAG=1,(SRPOFLAG=0) S SROCTYPE="I" 69 I SRIOFLAG=0,(SRPOFLAG=1) S SROCTYPE="P" 70 I SRIOFLAG=1,(SRPOFLAG=1) S SROCTYPE="B" 71 I SRIOFLAG=0,(SRPOFLAG=0) S SROCTYPE="" 72 Q 73 MOD N SRM S SRM=0,SRCNT=1 F S SRM=$O(^SRO(136,SRTN,3,OPS,1,SRM)) Q:'SRM D Q:SRCNT>5 74 .S X=$P(^SRO(136,SRTN,3,OPS,1,SRM,0),"^"),Y=$P($$MOD^ICPTMOD(X,"I"),"^",2) 75 .I Y'="" S SRMOD(CNT)=SRMOD(CNT)_Y,SRCNT=SRCNT+1 76 Q -
WorldVistAEHR/trunk/r/SURGERY-SR/SROAUTL.m
r613 r623 1 SROAUTL ;BIR/ADM - RISK ASSESSMENT UTILITY ;03/03/082 ;;3.0; Surgery ;**38,46,47,63,81,88,95,112,100,125,134,142,153,160,166**;24 Jun 93;Build 73 I $G(SRSUPCPT)=2 G NCODE4 N SRCMOD,SRCOMMA,X K SRHDR S DFN=$P(^SRF(SRTN,0),"^") D DEM^VADPT S SRHDR=VADM(1)_" ("_VA("PID")_") Case #"_SRTN5 S Y=$E($P(^SRF(SRTN,0),"^",9),1,7) X ^DD("DD") S SRSDATE=Y6 S X=^SRF(SRTN,"OP"),SROPER=$P(X,"^"),Y=$P(X,"^",2),SRCPT=$S(Y:$P($$CPT^ICPTCOD(Y),"^",2),1:"CPT MISSING") I SRCPT,$O(^SRF(SRTN,"OPMOD",0)) D7 .S (SRCOMMA,SRI)=0,SRCMOD="",SRCPT=SRCPT_"-" F S SRI=$O(^SRF(SRTN,"OPMOD",SRI)) Q:'SRI D8 ..S SRM=$P(^SRF(SRTN,"OPMOD",SRI,0),"^"),SRCMOD=$P($$MOD^ICPTMOD(SRM,"I"),"^",2)9 ..S SRCPT=SRCPT_$S(SRCOMMA:",",1:"")_SRCMOD,SRCOMMA=110 S SRCPT=$S($G(SRSUPCPT)=1:"",1:"("_SRCPT_")")11 S SROPER=SROPER_" "_SRCPT D LOOP S SRHDR(1)=SRSDATE_" "_SRHDR(1)12 Q13 NCODE N SRCMOD,SRCOMMA,X K SRHDR S DFN=$P(^SRF(SRTN,0),"^") D DEM^VADPT S SRHDR=VADM(1)_" ("_VA("PID")_") Case #"_SRTN14 S Y=$E($P(^SRF(SRTN,0),"^",9),1,7) X ^DD("DD") S SRSDATE=Y15 S X=^SRF(SRTN,"OP"),SROPER=$P(X,"^"),Y=$P($G(^SRO(136,SRTN,0)),"^",2),SRCPT=$S(Y:$P($$CPT^ICPTCOD(Y),"^",2),1:"CPT MISSING") I SRCPT,$O(^SRO(136,SRTN,1,0)) D16 .S (SRCOMMA,SRI)=0,SRCMOD="",SRCPT=SRCPT_"-" F S SRI=$O(^SRO(136,SRTN,1,SRI)) Q:'SRI D17 ..S SRM=$P(^SRO(136,SRTN,1,SRI,0),"^"),SRCMOD=$P($$MOD^ICPTMOD(SRM,"I"),"^",2)18 ..S SRCPT=SRCPT_$S(SRCOMMA:",",1:"")_SRCMOD,SRCOMMA=119 S SRCPT="(CPT Code: "_SRCPT_")"20 S SROPER=SROPER_" "_SRCPT D LOOP S SRHDR(1)=SRSDATE_" "_SRHDR(1)21 Q22 LOOP I $L(SROPER)<68 S SRHDR(1)=SROPER Q23 I $L(SROPER)>67 S X=SROPER,K=1 F D I $L(X)<68 S SRHDR(K)=X Q24 .F I=0:1:66 S J=67-I,Y=$E(X,J) I Y=" " S SRHDR(K)=$E(X,1,J-1),X=$E(X,J+1,$L(X)) S K=K+1 Q25 Q26 HDR ; print screen header27 W @IOF,!,SRHDR W:$G(SRPAGE)'="" ?(79-$L(SRPAGE)),SRPAGE28 S I=0 F S I=$O(SRHDR(I)) Q:'I W !,SRHDR(I) I I=.5,$L($G(SRCSTAT)) W ?(79-$L(SRCSTAT)),SRCSTAT29 W:$D(SRCSTAT)&'$D(SRHDR(.5)) !,SRCSTAT30 K SRHDR(.5),SRCSTAT,SRPAGE W ! F I=1:1:80 W "-"31 W !32 Q33 FUNCT() ; called by screen on functional health status field (#240)34 N SRSCR S SRSCR="I 1"35 I $$CARD S SRSCR="I Y'=4"36 Q SRSCR37 CARD() ; is this a cardiac assessed case?38 N SRX S SRX=$S($D(SRTN):SRTN,$D(DA):DA,1:"") I 'SRX Q 039 I $P($G(^SRF(SRX,"RA")),"^",2)="C" Q 140 Q 041 NC ; called from input transform to kill X if case is cardiac assessed42 I $$CARD,X="NA"!(X="NS") K X43 Q44 DATE ; called by output transform on several date fields45 I $D(Y),Y="NA"!(Y="NS") Q46 N SRY S SRY=Y D DD^%DT47 Q48 INDX ; set airway index49 S SRY=$S(SRI>4:5,SRI>3:4,SRI>2:3,SRI>0:2,1:1),$P(^SRF(DA,.3),"^",9)=SRY50 K SRI,SRMS,SROP,SRY51 Q52 OP ; set logic for AOP cross reference on Oral-Pharyngeal field (901.1)53 N SRI,SRMS,SRY S SRMS=$P(^SRF(DA,.3),"^",12) I SRMS'="" S SRMS=SRMS*.1,SRI=2.5*X-SRMS D INDX54 Q55 MS ; set logic for AMS cross reference on Mandibular Space field (901.2)56 N SRI,SRY,SRMS,SROP S SROP=$P(^SRF(DA,.3),"^",11) I SROP'="" S SRMS=X*.1,SRI=2.5*SROP-SRMS D INDX57 Q58 K901 ; kill logic for AOP and AMS cross references59 S $P(^SRF(DA,.3),"^",9)=""60 Q61 DUP ; duplicate preop information from prior operation within 60 days62 S SR200=$G(^SRF(SRTN,200)) S NOGO="" F I=1,9,13,18,30,37,44 S X=$P(SR200,"^",I) I X'="" S NOGO=1 K SR200 Q63 S X=$P($G(^SRF(SRTN,200.1)),"^") I X'="" S NOGO=164 I NOGO K NOGO Q65 K SRCASE S SR=^SRF(SRTN,0),DFN=$P(SR,"^"),(SRSDATE,X1)=$P(SR,"^",9),X2=-60 D C^%DTC S SRENDT=X,SRCASE=0 F S SRCASE=$O(^SRF("B",DFN,SRCASE)) Q:'SRCASE I SRCASE,SRCASE'=SRTN D66 .S SRX=$P(^SRF(SRCASE,0),"^",9) I SRX>SRSDATE!(SRX<SRENDT) Q67 .Q:$P($G(^SRF(SRCASE,"NON")),"^")="Y"!$P($G(^SRF(SRCASE,30)),"^")!$P($G(^SRF(SRCASE,31)),"^",8)!($P($G(^SRF(SRCASE,"CON")),"^")=SRTN)!'$P($G(^SRF(SRCASE,.2)),"^",12)68 .S SRX=9999999-SRX,SRCASE(SRX,SRCASE)=""69 K SRDT S (SRX,Y)=0 F S SRX=$O(SRCASE(SRX)) Q:'SRX!$D(SRDT) S SRCASE="" F S SRCASE=$O(SRCASE(SRX,SRCASE)) Q:'SRCASE S SR=$G(^SRF(SRCASE,"RA")) I $P(SR,"^",2)="N",$P(SR,"^",6)="Y" D Q70 .S Y=$P(^SRF(SRCASE,0),"^",9) X ^DD("DD") S SRDT=Y K DIR71 .W !! S DIR("A",1)="This patient had a previous non-cardiac operation on "_SRDT_".",DIR("A",2)="",DIR("A",3)="Case #"_SRCASE_" "_$P(^SRF(SRCASE,"OP"),"^")72 .S DIR("A",4)="",DIR("A",5)="Do you want to duplicate the preoperative information from the earlier",DIR("A")="assessment in this assessment? "73 .S DIR("B")="YES",DIR(0)="YA" D ^DIR K DIR I $D(DTOUT)!$D(DUOUT) S SRSOUT=1 Q74 .D:Y STUFF75 Q76 STUFF ; stuff preop information from previous case77 I $$LOCK^SROUTL(SRCASE) D D UNLOCK^SROUTL(SRCASE)78 .K DA,DIC,DIQ,DR,SRY S DIC="^SRF(",DA=SRCASE,DIQ="SRY",DIQ(0)="I" D PREHD D EN^DIQ1 K DA,DIC,DIQ,DR79 .S SRZ=0 F S SRZ=$O(SRY(130,SRCASE,SRZ)) Q:'SRZ S DIE=130,DA=SRTN,DR=SRZ_"////"_SRY(130,SRCASE,SRZ,"I") D ^DIE K DA,DIE,DR80 Q81 CHK ; check for missing non-cardiac assessment data items82 N SRSEP K SRX83 F SRC="PREOP","DEM" K DA,DIC,DIQ,DR,SRY S DIC="^SRF(",DA=SRTN,DIQ="SRY",DIQ(0)="I" D @SRC D EN^DIQ1 D ^SROAUTL184 F SRC="LAB","REM" K DA,DIC,DIQ,DR,SRY S DIC="^SRF(",DA=SRTN,DIQ="SRY",DIQ(0)="I" D @SRC D EN^DIQ1 D ^SROAUTL285 OTH K DA,DIC,DIQ,DR,SRY,SRZ D TECH^SROPRIN I SRTECH="NOT ENTERED" S SRX("ANESTHESIA TECHNIQUE")="Anesthesia Technique"86 ;D RELATE^SROAUTL287 OCC D EN^SROCCAT S SRSDATE=$E($P(^SRF(SRTN,0),"^",9),1,7) K ^TMP("SROCC",$J),SRO88 S SRPO=0 F S SRPO=$O(^SRF(SRTN,10,SRPO)) Q:'SRPO S ^TMP("SROCC",$J,$P(^SRF(SRTN,10,SRPO,0),"^",2),SRSDATE)=""89 S SRPO=0 F S SRPO=$O(^SRF(SRTN,16,SRPO)) Q:'SRPO S SRDATE=$E($P(^SRF(SRTN,16,SRPO,0),"^",7),1,7) D90 .S SRSEP=$P(^SRF(SRTN,16,SRPO,0),"^",4)91 .I '$G(SRDATE) S SRDATE="NO DATE"92 .S ^TMP("SROCC",$J,$P(^SRF(SRTN,16,SRPO,0),"^",2),SRDATE)=SRSEP93 I '$D(^TMP("SROCC",$J)) D OCCEND Q94 S SRPO=0 F S SRPO=$O(^TMP("SROCC",$J,SRPO)) Q:'SRPO S SRDATE="" F S SRDATE=$O(^TMP("SROCC",$J,SRPO,SRDATE)) Q:SRDATE S SRX("POSTOP OCCURRENCE DATE"_SRPO)="Date Noted on "_$P(^SRO(136.5,SRPO,0),"^")_" (Postop Occurrence)" Q95 S SRDATE="",SRDATE=$O(^TMP("SROCC",$J,3,SRDATE)) Q:SRDATE="" I ^TMP("SROCC",$J,3,SRDATE)="" S SRX("SEPSIS CATEGORY")="SEPSIS CATEGORY on SYSTEMIC SEPSIS (Postop Occurrence)"96 OCCEND K ^TMP("SROCC",$J)97 Q98 PREOP S DR="236;237;346;202;246;325;238;492;204;203;326;212;213;396;394;220;266;395;208;329;330;328;211;332;333;400;334;335;336;401;338;218;339;215;216;217;338.1;338.2;218.1;269"99 Q100 DEM S DR="413;.011;247;418;419;420;421;452;453;454;342;513;516"101 Q102 LAB S DR="270;304;224;291;223;290;225;292;228;295;227;294;229;296;230;297;234;301;231;298;233;300;232;299;487;487.1;274;305;405;407;275;306;406;408;277;308;278;309;279;310;280;311;281;312;283;314;455;455.1;456;456.1;444;444.1;445;445.1"103 Q104 REM S DR="214;.035;1.09;1.13;.22;.23;340;443;446;504;504.1"105 Q106 PREHD D PREOP S DR=DR_";402;241;244;242;243;210;245"107 Q1 SROAUTL ;BIR/ADM - RISK ASSESSMENT UTILITY ;02/14/07 2 ;;3.0; Surgery ;**38,46,47,63,81,88,95,112,100,125,134,142,153,160**;24 Jun 93;Build 7 3 I $G(SRSUPCPT)=2 G NCODE 4 N SRCMOD,SRCOMMA,X K SRHDR S DFN=$P(^SRF(SRTN,0),"^") D DEM^VADPT S SRHDR=VADM(1)_" ("_VA("PID")_") Case #"_SRTN 5 S Y=$E($P(^SRF(SRTN,0),"^",9),1,7) X ^DD("DD") S SRSDATE=Y 6 S X=^SRF(SRTN,"OP"),SROPER=$P(X,"^"),Y=$P(X,"^",2),SRCPT=$S(Y:$P($$CPT^ICPTCOD(Y),"^",2),1:"CPT MISSING") I SRCPT,$O(^SRF(SRTN,"OPMOD",0)) D 7 .S (SRCOMMA,SRI)=0,SRCMOD="",SRCPT=SRCPT_"-" F S SRI=$O(^SRF(SRTN,"OPMOD",SRI)) Q:'SRI D 8 ..S SRM=$P(^SRF(SRTN,"OPMOD",SRI,0),"^"),SRCMOD=$P($$MOD^ICPTMOD(SRM,"I"),"^",2) 9 ..S SRCPT=SRCPT_$S(SRCOMMA:",",1:"")_SRCMOD,SRCOMMA=1 10 S SRCPT=$S($G(SRSUPCPT)=1:"",1:"("_SRCPT_")") 11 S SROPER=SROPER_" "_SRCPT D LOOP S SRHDR(1)=SRSDATE_" "_SRHDR(1) 12 Q 13 NCODE N SRCMOD,SRCOMMA,X K SRHDR S DFN=$P(^SRF(SRTN,0),"^") D DEM^VADPT S SRHDR=VADM(1)_" ("_VA("PID")_") Case #"_SRTN 14 S Y=$E($P(^SRF(SRTN,0),"^",9),1,7) X ^DD("DD") S SRSDATE=Y 15 S X=^SRF(SRTN,"OP"),SROPER=$P(X,"^"),Y=$P($G(^SRO(136,SRTN,0)),"^",2),SRCPT=$S(Y:$P($$CPT^ICPTCOD(Y),"^",2),1:"CPT MISSING") I SRCPT,$O(^SRO(136,SRTN,1,0)) D 16 .S (SRCOMMA,SRI)=0,SRCMOD="",SRCPT=SRCPT_"-" F S SRI=$O(^SRO(136,SRTN,1,SRI)) Q:'SRI D 17 ..S SRM=$P(^SRO(136,SRTN,1,SRI,0),"^"),SRCMOD=$P($$MOD^ICPTMOD(SRM,"I"),"^",2) 18 ..S SRCPT=SRCPT_$S(SRCOMMA:",",1:"")_SRCMOD,SRCOMMA=1 19 S SRCPT="(CPT Code: "_SRCPT_")" 20 S SROPER=SROPER_" "_SRCPT D LOOP S SRHDR(1)=SRSDATE_" "_SRHDR(1) 21 Q 22 LOOP I $L(SROPER)<68 S SRHDR(1)=SROPER Q 23 I $L(SROPER)>67 S X=SROPER,K=1 F D I $L(X)<68 S SRHDR(K)=X Q 24 .F I=0:1:66 S J=67-I,Y=$E(X,J) I Y=" " S SRHDR(K)=$E(X,1,J-1),X=$E(X,J+1,$L(X)) S K=K+1 Q 25 Q 26 HDR ; print screen header 27 W @IOF,!,SRHDR W:$G(SRPAGE)'="" ?(79-$L(SRPAGE)),SRPAGE 28 S I=0 F S I=$O(SRHDR(I)) Q:'I W !,SRHDR(I) I I=.5,$L($G(SRCSTAT)) W ?(79-$L(SRCSTAT)),SRCSTAT 29 W:$D(SRCSTAT)&'$D(SRHDR(.5)) !,SRCSTAT 30 K SRHDR(.5),SRCSTAT,SRPAGE W ! F I=1:1:80 W "-" 31 W ! 32 Q 33 FUNCT() ; called by screen on functional health status field (#240) 34 N SRSCR S SRSCR="I 1" 35 I $$CARD S SRSCR="I Y'=4" 36 Q SRSCR 37 CARD() ; is this a cardiac assessed case? 38 N SRX S SRX=$S($D(SRTN):SRTN,$D(DA):DA,1:"") I 'SRX Q 0 39 I $P($G(^SRF(SRX,"RA")),"^",2)="C" Q 1 40 Q 0 41 NC ; called from input transform to kill X if case is cardiac assessed 42 I $$CARD,X="NA"!(X="NS") K X 43 Q 44 DATE ; called by output transmform on several date fields 45 I $D(Y),Y="NA"!(Y="NS") Q 46 N SRY S SRY=Y D DD^%DT 47 Q 48 INDX ; set airway index 49 S SRY=$S(SRI>4:5,SRI>3:4,SRI>2:3,SRI>0:2,1:1),$P(^SRF(DA,.3),"^",9)=SRY 50 K SRI,SRMS,SROP,SRY 51 Q 52 OP ; set logic for AOP cross reference on Oral-Pharyngeal field (901.1) 53 N SRI,SRMS,SRY S SRMS=$P(^SRF(DA,.3),"^",12) I SRMS'="" S SRMS=SRMS*.1,SRI=2.5*X-SRMS D INDX 54 Q 55 MS ; set logic for AMS cross reference on Mandibular Space field (901.2) 56 N SRI,SRY,SRMS,SROP S SROP=$P(^SRF(DA,.3),"^",11) I SROP'="" S SRMS=X*.1,SRI=2.5*SROP-SRMS D INDX 57 Q 58 K901 ; kill logic for AOP and AMS cross references 59 S $P(^SRF(DA,.3),"^",9)="" 60 Q 61 DUP ; duplicate preop information from prior operation within 60 days 62 S SR200=$G(^SRF(SRTN,200)) S NOGO="" F I=1,9,13,18,30,37,44 S X=$P(SR200,"^",I) I X'="" S NOGO=1 K SR200 Q 63 S X=$P($G(^SRF(SRTN,200.1)),"^") I X'="" S NOGO=1 64 I NOGO K NOGO Q 65 K SRCASE S SR=^SRF(SRTN,0),DFN=$P(SR,"^"),(SRSDATE,X1)=$P(SR,"^",9),X2=-60 D C^%DTC S SRENDT=X,SRCASE=0 F S SRCASE=$O(^SRF("B",DFN,SRCASE)) Q:'SRCASE I SRCASE,SRCASE'=SRTN D 66 .S SRX=$P(^SRF(SRCASE,0),"^",9) I SRX>SRSDATE!(SRX<SRENDT) Q 67 .Q:$P($G(^SRF(SRCASE,"NON")),"^")="Y"!$P($G(^SRF(SRCASE,30)),"^")!$P($G(^SRF(SRCASE,31)),"^",8)!($P($G(^SRF(SRCASE,"CON")),"^")=SRTN)!'$P($G(^SRF(SRCASE,.2)),"^",12) 68 .S SRX=9999999-SRX,SRCASE(SRX,SRCASE)="" 69 K SRDT S (SRX,Y)=0 F S SRX=$O(SRCASE(SRX)) Q:'SRX!$D(SRDT) S SRCASE="" F S SRCASE=$O(SRCASE(SRX,SRCASE)) Q:'SRCASE S SR=$G(^SRF(SRCASE,"RA")) I $P(SR,"^",2)="N",$P(SR,"^",6)="Y" D Q 70 .S Y=$P(^SRF(SRCASE,0),"^",9) X ^DD("DD") S SRDT=Y K DIR 71 .W !! S DIR("A",1)="This patient had a previous non-cardiac operation on "_SRDT_".",DIR("A",2)="",DIR("A",3)="Case #"_SRCASE_" "_$P(^SRF(SRCASE,"OP"),"^") 72 .S DIR("A",4)="",DIR("A",5)="Do you want to duplicate the preoperative information from the earlier",DIR("A")="assessment in this assessment? " 73 .S DIR("B")="YES",DIR(0)="YA" D ^DIR K DIR I $D(DTOUT)!$D(DUOUT) S SRSOUT=1 Q 74 .D:Y STUFF 75 Q 76 STUFF ; stuff preop information from previous case 77 I $$LOCK^SROUTL(SRCASE) D D UNLOCK^SROUTL(SRCASE) 78 .K DA,DIC,DIQ,DR,SRY S DIC="^SRF(",DA=SRCASE,DIQ="SRY",DIQ(0)="I" D PREHD D EN^DIQ1 K DA,DIC,DIQ,DR 79 .S SRZ=0 F S SRZ=$O(SRY(130,SRCASE,SRZ)) Q:'SRZ S DIE=130,DA=SRTN,DR=SRZ_"////"_SRY(130,SRCASE,SRZ,"I") D ^DIE K DA,DIE,DR 80 Q 81 CHK ; check for missing non-cardiac assessment data items 82 N SRSEP K SRX 83 F SRC="PREOP","DEM" K DA,DIC,DIQ,DR,SRY S DIC="^SRF(",DA=SRTN,DIQ="SRY",DIQ(0)="I" D @SRC D EN^DIQ1 D ^SROAUTL1 84 F SRC="LAB","REM" K DA,DIC,DIQ,DR,SRY S DIC="^SRF(",DA=SRTN,DIQ="SRY",DIQ(0)="I" D @SRC D EN^DIQ1 D ^SROAUTL2 85 OTH K DA,DIC,DIQ,DR,SRY,SRZ D TECH^SROPRIN I SRTECH="NOT ENTERED" S SRX("ANESTHESIA TECHNIQUE")="Anesthesia Technique" 86 ;D RELATE^SROAUTL2 87 OCC D EN^SROCCAT S SRSDATE=$E($P(^SRF(SRTN,0),"^",9),1,7) K ^TMP("SROCC",$J),SRO 88 S SRPO=0 F S SRPO=$O(^SRF(SRTN,10,SRPO)) Q:'SRPO S ^TMP("SROCC",$J,$P(^SRF(SRTN,10,SRPO,0),"^",2),SRSDATE)="" 89 S SRPO=0 F S SRPO=$O(^SRF(SRTN,16,SRPO)) Q:'SRPO S SRDATE=$E($P(^SRF(SRTN,16,SRPO,0),"^",7),1,7) D 90 .S SRSEP=$P(^SRF(SRTN,16,SRPO,0),"^",4) 91 .I '$G(SRDATE) S SRDATE="NO DATE" 92 .S ^TMP("SROCC",$J,$P(^SRF(SRTN,16,SRPO,0),"^",2),SRDATE)=SRSEP 93 I '$D(^TMP("SROCC",$J)) D OCCEND Q 94 S SRPO=0 F S SRPO=$O(^TMP("SROCC",$J,SRPO)) Q:'SRPO S SRDATE="" F S SRDATE=$O(^TMP("SROCC",$J,SRPO,SRDATE)) Q:SRDATE S SRX("POSTOP OCCURRENCE DATE"_SRPO)="Date Noted on "_$P(^SRO(136.5,SRPO,0),"^")_" (Postop Occurrence)" Q 95 S SRDATE="",SRDATE=$O(^TMP("SROCC",$J,3,SRDATE)) Q:SRDATE="" I ^TMP("SROCC",$J,3,SRDATE)="" S SRX("SEPSIS CATEGORY")="SEPSIS CATEGORY on SYSTEMIC SEPSIS (Postop Occurrence)" 96 OCCEND K ^TMP("SROCC",$J) 97 Q 98 PREOP S DR="236;237;346;202;202.1;246;325;238;240;492;204;203;326;212;213;396;394;220;266;395;208;329;330;328;211;332;333;398;399;400;334;335;336;401;338;218;339;215;216;217;338.1;338.2;218.1;269" 99 Q 100 DEM S DR="413;.011;247;418;419;420;421;452;453;454;342" 101 Q 102 LAB S DR="270;304;224;291;223;290;225;292;228;295;227;294;229;296;230;297;234;301;231;298;233;300;232;299;487;487.1;274;305;405;407;275;306;406;408;277;308;278;309;279;310;280;311;281;312;283;314;455;455.1;456;456.1;444;444.1;445;445.1" 103 Q 104 REM S DR="214;.035;1.09;1.13;.22;.23;340;443;446;504;504.1" 105 Q 106 PREHD D PREOP S DR=DR_";402;241;244;242;243;210;245" 107 Q -
WorldVistAEHR/trunk/r/SURGERY-SR/SROAUTL1.m
r613 r623 1 SROAUTL1 ;BIR/ADM - RISK ASSESSMENT UTILITY ;12/10/07 2 ;;3.0; Surgery ;**38,47,81,125,153,160,166**;24 Jun 93;Build 7 3 S SRZ=0 F S SRZ=$O(SRY(130,SRTN,SRZ)) Q:'SRZ I SRY(130,SRTN,SRZ,"I")="" D TR S X=$T(@SRP),SRFLD=$P(X,";;",2),SRX(SRZ)=$P(SRFLD,"^",2) 4 Q 5 TR S SRP=SRZ,SRP=$TR(SRP,"1234567890.","ABCDEFGHIJP") 6 Q 7 GET S X=$T(@J) 8 Q 9 BJH ;;208^History of Hypertension Requiring Medication (Y/N)^Hypertension Requiring Meds^ 10 BAC ;;213^Esophageal Varices (Y/N)^Esophogeal Varices^ 11 BBJ ;;220^Previous PCI (Y/N)^Previous PCI^ 12 BFF ;;266^Previous Cardiac Surgery (Y/N)^Previous Cardiac Surgery^ 13 CBI ;;329^History of Revascularization/Amputation for PVD (Y/N)^Revascularization/Amputation^ 14 CCJ ;;330^Rest Pain/Gangrene (Y/N)^Rest Pain/Gangrene^ 15 CID ;;394^History of MI Within Past 6 Months (Y/N)^MI Within 6 Months^ 16 CIE ;;395^Angina within One Month Preceding Surgery (Y/N)^Angina Within 1 Month^ 17 BCF ;;236^Patient's Height^Height^ 18 BCG ;;237^Patient's Weight^Weight^ 19 CDF ;;346^Diabetes^Diabetes Mellitus^ 20 BJB ;;202^Current Smoker within 1 Year prior to Surgery (Y/N)^Current SmokerW/I 1 Year^ 21 BDF ;;246^ETOH Greater than 2 Drinks/Day (Y/N)^ETOH > 2 Drinks/Day^ 22 CBE ;;325^Dyspnea^Dyspnea^ 23 BCH ;;238^DNR Status (Y/N)^DNR Status^ 24 DIB ;;492^Functional Health Status at Evaluation for Surgery^Preop Functional Status 25 BJD ;;204^Ventilator Dependent Greater than 48 Hrs (Y/N)^Ventilator Dependent^ 26 BJC ;;203^History of COPD (Y/N)^History of Severe COPD^ 27 CBF ;;326^Current Pneumonia (Y/N)^Current Pneumonia^ 28 BAB ;;212^Ascites (Y/N)^Ascites^ 29 CIF ;;396^CHF within One Month Preceding Surgery (Y/N)^CHF Within 1 Month^ 30 CBH ;;328^Acute Renal Failure (Y/N)^Acute Renal Failure^ 31 BAA ;;211^Currently on Dialysis (Y/N)^Currently on Dialysis^ 32 CCB ;;332^Impaired Sensorium (Y/N)^Impaired Sensorium^ 33 CCC ;;333^Coma (Y/N)^Coma^ 34 DJJ ;;400^Hemiplegia (Y/N)^Hemiplegia^ 35 CCD ;;334^History of TIAs (Y/N)^History of TIAs^ 36 CCE ;;335^CVA/Residual Neurologic Deficit (Y/N)^CVA/Residual Neuro Deficit^ 37 CCF ;;336^CVA/No Neurologic Deficit (Y/N)^CVA/No Neuro Deficit^ 38 DJA ;;401^Tumor Involving CNS (Y/N)^Tumor Involving CNS^ 39 CCH ;;338^Disseminated Cancer (Y/N)^Disseminated Cancer^ 40 BAH ;;218^Open Wound or Skin Infection (Y/N)^Open Wound or Infection^ 41 CCI ;;339^Steroid Use for Chronic Condition (Y/N)^Steroid Use for Chronic Cond.^ 42 BAE ;;215^Weight Loss > 10% of Usual Body Weight (Y/N)^Weight Loss > 10%^ 43 BAF ;;216^History of Bleeding Disorders (Y/N)^Bleeding Disorders^ 44 BAG ;;217^Transfusion Greater than 4 RBC Units this Admission (Y/N)^Transfusion > 4 RBC Units^ 45 CCHPA ;;338.1^Chemotherapy Within Last 30 Days (Y/N)^Chemotherapy W/I 30 Days^ 46 CCHPB ;;338.2^Radiotherapy Within Last 90 Days (Y/N)^Radiotherapy W/I 90 Days^ 47 BAHPA ;;218.1^Preoperative Sepsis (Y/N)^Preoperative Sepsis^ 48 BFI ;;269^Pregnancy Status^Pregnancy Status^ 49 DAC ;;413^Transfer Status^Transfer Status^ 50 PJAA ;;.011^In/Out-Patient Status 51 BDG ;;247^Length of Postoperative Hospital Stay 52 CDB ;;342^Date/Time of Death^Date/Time of Death 53 DAG ;;417^Patient's Race 54 DAH ;;418^Hospital Admission Date 55 DAI ;;419^Hospital Discharge Date 56 DBJ ;;420^Admitted/Transferred to Surgical Service 57 DBA ;;421^Discharged/Transferred to Chronic Care 58 DEB ;;452^Observation Admission Date/Time 59 DEC ;;453^Observation Discharge Date/Time 60 DED ;;454^Observation Treating Specialty 61 EAC ;;513^Surgery Consult Date 62 EAF ;;516^Date Surgery Consult Requested 1 SROAUTL1 ;BIR/ADM - RISK ASSESSMENT UTILITY ;04/24/07 2 ;;3.0; Surgery ;**38,47,81,125,153,160**;24 Jun 93;Build 7 3 S SRZ=0 F S SRZ=$O(SRY(130,SRTN,SRZ)) Q:'SRZ I SRY(130,SRTN,SRZ,"I")="" D TR S X=$T(@SRP),SRFLD=$P(X,";;",2),SRX(SRZ)=$P(SRFLD,"^",2) 4 Q 5 TR S SRP=SRZ,SRP=$TR(SRP,"1234567890.","ABCDEFGHIJP") 6 Q 7 GET S X=$T(@J) 8 Q 9 BJH ;;208^History of Hypertension Requiring Medication (Y/N)^Hypertension Requiring Meds^ 10 BAC ;;213^Esophageal Varices (Y/N)^Esophogeal Varices^ 11 BBJ ;;220^Previous PCI (Y/N)^Previous PCI^ 12 BFF ;;266^Previous Cardiac Surgery (Y/N)^Previous Cardiac Surgery^ 13 CBI ;;329^History of Revascularization/Amputation for PVD (Y/N)^Revascularization/Amputation^ 14 CCJ ;;330^Rest Pain/Gangrene (Y/N)^Rest Pain/Gangrene^ 15 CID ;;394^History of MI Within Past 6 Months (Y/N)^MI Within 6 Months^ 16 CIE ;;395^Angina within One Month Preceding Surgery (Y/N)^Angina Within 1 Month^ 17 CIH ;;398^Quadriplegia/Tetraplegia/Quadriparesis (Y/N)^Quadriplegia^ 18 CII ;;399^Paraplegia (Y/N)^Paraplegia^ 19 BCF ;;236^Patient's Height^Height^ 20 BCG ;;237^Patient's Weight^Weight^ 21 CDF ;;346^Diabetes^Diabetes Mellitus^ 22 BJB ;;202^Current Smoker within 1 Year prior to Surgery (Y/N)^Current SmokerW/I 1 Year^ 23 BJBPA ;;202.1^Pack/Years^Pack/Years^ 24 BDF ;;246^ETOH Greater than 2 Drinks/Day (Y/N)^ETOH > 2 Drinks/Day^ 25 CBE ;;325^Dyspnea^Dyspnea^ 26 BCH ;;238^DNR Status (Y/N)^DNR Status^ 27 BDJ ;;240^Functional Health Status Prior to Current Illness^Pre-Illness Functional Status^ 28 DIB ;;492^Functional Health Status at Evaluation for Surgery^Preop Functional Status 29 BJD ;;204^Ventilator Dependent Greater than 48 Hrs (Y/N)^Ventilator Dependent^ 30 BJC ;;203^History of COPD (Y/N)^History of Severe COPD^ 31 CBF ;;326^Current Pneumonia (Y/N)^Current Pneumonia^ 32 BAB ;;212^Ascites (Y/N)^Ascites^ 33 CIF ;;396^CHF within One Month Preceding Surgery (Y/N)^CHF Within 1 Month^ 34 CBH ;;328^Acute Renal Failure (Y/N)^Acute Renal Failure^ 35 BAA ;;211^Currently on Dialysis (Y/N)^Currently on Dialysis^ 36 CCB ;;332^Impaired Sensorium (Y/N)^Impaired Sensorium^ 37 CCC ;;333^Coma (Y/N)^Coma^ 38 DJJ ;;400^Hemiplegia (Y/N)^Hemiplegia^ 39 CCD ;;334^History of TIAs (Y/N)^History of TIAs^ 40 CCE ;;335^CVA/Residual Neurologic Deficit (Y/N)^CVA/Residual Neuro Deficit^ 41 CCF ;;336^CVA/No Neurologic Deficit (Y/N)^CVA/No Neuro Deficit^ 42 DJA ;;401^Tumor Involving CNS (Y/N)^Tumor Involving CNS^ 43 CCH ;;338^Disseminated Cancer (Y/N)^Disseminated Cancer^ 44 BAH ;;218^Open Wound or Skin Infection (Y/N)^Open Wound or Infection^ 45 CCI ;;339^Steroid Use for Chronic Condition (Y/N)^Steroid Use for Chronic Cond.^ 46 BAE ;;215^Weight Loss > 10% of Usual Body Weight (Y/N)^Weight Loss > 10%^ 47 BAF ;;216^History of Bleeding Disorders (Y/N)^Bleeding Disorders^ 48 BAG ;;217^Transfusion Greater than 4 RBC Units this Admission (Y/N)^Transfusion > 4 RBC Units^ 49 CCHPA ;;338.1^Chemotherapy Within Last 30 Days (Y/N)^Chemotherapy W/I 30 Days^ 50 CCHPB ;;338.2^Radiotherapy Within Last 90 Days (Y/N)^Radiotherapy W/I 90 Days^ 51 BAHPA ;;218.1^Preoperative Sepsis (Y/N)^Preoperative Sepsis^ 52 BFI ;;269^Pregnancy Status^Pregnancy Status^ 53 DAC ;;413^Transfer Status^Transfer Status^ 54 PJAA ;;.011^In/Out-Patient Status 55 BDG ;;247^Length of Postoperative Hospital Stay 56 CDB ;;342^Date/Time of Death^Date/Time of Death 57 DAG ;;417^Patient's Race 58 DAH ;;418^Hospital Admission Date 59 DAI ;;419^Hospital Discharge Date 60 DBJ ;;420^Admitted/Transferred to Surgical Service 61 DBA ;;421^Discharged/Transferred to Chronic Care 62 DEB ;;452^Observation Admission Date/Time 63 DEC ;;453^Observation Discharge Date/Time 64 DED ;;454^Observation Treating Specialty -
WorldVistAEHR/trunk/r/SURGERY-SR/SROAUTL3.m
r613 r623 1 SROAUTL3 ;BIR/ADM - RISK ASSESSMENT UTILITY ;01/07/08 2 ;;3.0; Surgery ;**38,47,63,77,142,163,166**;24 Jun 93;Build 7 3 ; 4 ; Reference to ^DIC(45.3 supported by DBIA #218 5 ; 6 Q 7 RISK ; allow entry of risk assessment preop information with case request 8 S Y=$P(^SRO(133,SRSITE,0),"^",14) I 'Y Q 9 W ! K DIR S DIR("A")="Enter risk assessment preop information for this patient (Y/N)",DIR(0)="Y",DIR("B")="YES" D ^DIR K DIR I $D(DTOUT)!$D(DUOUT)!'Y Q 10 S SREQST=1,SRCARD=0 I $$CARD^SROAUTLC S SRSP=$P(^DIC(45.3,$P(^SRO(137.45,$P(^SRF(SRTN,0),"^",4),0),"^",2),0),"^") I SRSP=48!(SRSP=58) D I SRCARD Q 11 .S SRCARD=1 W ! K DIR S DIR("A")="Will this procedure require cardiopulmonary bypass (Y/N) ? ",DIR(0)="YA" D ^DIR K DIR I $D(DTOUT)!$D(DUOUT) Q 12 .I 'Y S SRCARD=0 Q 13 .D CARD S SRCARD=1 14 I 'SRCARD D ^SROAPRE 15 Q 16 CARD ; allow input of cardiac risk assessment preop information 17 N SRSDATE,SRNM,SRSOUT 18 W @IOF,!,"Enter Cardiac Preoperative information",!!," 1. Clinical Information",!," 2. Cardiac Catheterization & Angiographic Data",!," 3. Operative Risk Summary Data",! 19 K DIR S DIR(0)="NO^1:3:0",DIR("?")="Enter the number of the selection to be edited." D ^DIR K DIR I $D(DTOUT)!$D(DUOUT)!'Y Q 20 I Y=1 D ^SROACLN G CARD 21 I Y=2 D ^SROACAT G CARD 22 D ^SROACOP G CARD 23 Q 24 PREOP ; print preop information (managerial) 25 W:$E(IOST)="P" !! D PREOP^SROAUTL0 S SRDR=DR W !,?28,"PREOPERATIVE INFORMATION",! S SRQ=1 D OUT 26 Q 27 OUT K DA,DIC,DIQ,SRY S DIC="^SRF(",DA=SRTN,DIQ="SRY",DIQ(0)="E",DR=SRDR D EN^DIQ1 K DA,DIC,DIQ,DR 28 K SRX S SRX=0 F M=1:1 S I=$P(SRDR,";",M) Q:'I D 29 .Q:I=413 D TR D:SRQ GET^SROAUTL1 D:'SRQ GET^SROAUTL2 30 .S SRX=SRX+1,Y=$P(X,";;",2),SRFLD=$P(Y,"^"),(Z,SRX(SRX))=$S($P(Y,"^",3)'="":$P(Y,"^",3),1:$P(Y,"^",2))_"^"_SRFLD 31 .W !,$J($P(Z,"^")_": ",39) S SREXT=SRY(130,SRTN,SRFLD,"E") D EXT 32 Q 33 EXT I SRFLD=27 S SREXT=$S(SREXT="":"MISSING",1:$E(SREXT,1,5)) 34 I $L(SREXT)<40 W SREXT Q 35 N I,J,X,Y S X=SREXT F D W:$L(X) ! I $L(X)<40!(X'[" ") W ?40,X Q 36 .F I=0:1:38 S J=39-I,Y=$E(X,J) I Y=" " W ?40,$E(X,1,J-1) S X=$E(X,J+1,$L(X)) Q 37 Q 38 LAB ; print preoperative laboratory test information (managerial) 39 W !,?20,"PREOPERATIVE LABORATORY TEST INFORMATION",! 40 D LR^SROAUTL0 S SRDR=DR K DA,DIC,DIQ,SRY S DIC="^SRF(",DA=SRTN,DIQ="SRY",DIQ(0)="E",DR=SRDR D EN^DIQ1 K DA,DIC,DIQ,DR 41 K SRX S SRX=0 F M=1:2 S L=$P(SRDR,";",M) Q:'L S I=L D 42 .D TR D GET^SROAUTL2 S SRX=SRX+1,Y=$P(X,";;",2),SRFLD=$P(Y,"^"),SRDT=$P(Y,"^",4),(Z,SRX(SRX))=$S($P(Y,"^",3)'="":$P(Y,"^",3),1:$P(Y,"^",2))_"^"_SRFLD_"^"_SRDT 43 .W !,$J($P(Z,"^")_": ",39),SRY(130,SRTN,SRFLD,"E") W:SRY(130,SRTN,SRDT,"E")'="" ?50,"("_$P(SRY(130,SRTN,SRDT,"E"),"@")_")" 44 Q 45 TR S J=I,J=$TR(J,"1234567890.","ABCDEFGHIJP") 46 Q 47 NON S DR=".03;102;.035" 48 Q 49 CHK ; check for missing information for excluded cases 50 K SRX,DA,DIC,DIQ,DR,SRY S DIC="^SRF(",DA=SRTN,DIQ="SRY",DIQ(0)="I" D NON D EN^DIQ1 D ^SROAUTL2 51 K DA,DIC,DIQ,DR,SRY,SRZ D TECH^SROPRIN I SRTECH="NOT ENTERED" S SRX("ANESTHESIA TECHNIQUE")="Anesthesia Technique" 52 Q 1 SROAUTL3 ;BIR/ADM - RISK ASSESSMENT UTILITY ;08/16/07 2 ;;3.0; Surgery ;**38,47,63,77,142,163**;24 Jun 93;Build 2 3 ; 4 ; Reference to ^DIC(45.3 supported by DBIA #218 5 ; 6 Q 7 RISK ; allow entry of risk assessment preop information with case request 8 S Y=$P(^SRO(133,SRSITE,0),"^",14) I 'Y Q 9 W ! K DIR S DIR("A")="Enter risk assessment preop information for this patient (Y/N)",DIR(0)="Y",DIR("B")="YES" D ^DIR K DIR I $D(DTOUT)!$D(DUOUT)!'Y Q 10 S SREQST=1,SRCARD=0 I $$CARD^SROAUTLC S SRSP=$P(^DIC(45.3,$P(^SRO(137.45,$P(^SRF(SRTN,0),"^",4),0),"^",2),0),"^") I SRSP=48!(SRSP=58) D I SRCARD Q 11 .S SRCARD=1 W ! K DIR S DIR("A")="Will this procedure require cardiopulmonary bypass (Y/N) ? ",DIR(0)="YA" D ^DIR K DIR I $D(DTOUT)!$D(DUOUT) Q 12 .I 'Y S SRCARD=0 Q 13 .D CARD S SRCARD=1 14 I 'SRCARD D ^SROAPRE 15 Q 16 CARD ; allow input of cardiac risk assessment preop information 17 W @IOF,!,"Enter Cardiac Preoperative information",!!," 1. Clinical Information",!," 2. Cardiac Catheterization & Angiographic Data",!," 3. Operative Risk Summary Data",! 18 K DIR S DIR(0)="NO^1:3:0",DIR("?")="Enter the number of the selection to be edited." D ^DIR K DIR I $D(DTOUT)!$D(DUOUT)!'Y Q 19 I Y=1 D ^SROACLN G CARD 20 I Y=2 D ^SROACAT G CARD 21 D ^SROACOP G CARD 22 Q 23 PREOP ; print preop information (managerial) 24 W:$E(IOST)="P" !! D PREOP^SROAUTL0 S SRDR=DR W !,?28,"PREOPERATIVE INFORMATION",! S SRQ=1 D OUT 25 Q 26 OUT K DA,DIC,DIQ,SRY S DIC="^SRF(",DA=SRTN,DIQ="SRY",DIQ(0)="E",DR=SRDR D EN^DIQ1 K DA,DIC,DIQ,DR 27 K SRX S SRX=0 F M=1:1 S I=$P(SRDR,";",M) Q:'I D 28 .Q:I=413 D TR D:SRQ GET^SROAUTL1 D:'SRQ GET^SROAUTL2 29 .S SRX=SRX+1,Y=$P(X,";;",2),SRFLD=$P(Y,"^"),(Z,SRX(SRX))=$S($P(Y,"^",3)'="":$P(Y,"^",3),1:$P(Y,"^",2))_"^"_SRFLD 30 .W !,$J($P(Z,"^")_": ",39) S SREXT=SRY(130,SRTN,SRFLD,"E") D EXT 31 Q 32 EXT I SRFLD=27 S SREXT=$S(SREXT="":"MISSING",1:$E(SREXT,1,5)) 33 I $L(SREXT)<40 W SREXT Q 34 N I,J,X,Y S X=SREXT F D W:$L(X) ! I $L(X)<40!(X'[" ") W ?40,X Q 35 .F I=0:1:38 S J=39-I,Y=$E(X,J) I Y=" " W ?40,$E(X,1,J-1) S X=$E(X,J+1,$L(X)) Q 36 Q 37 LAB ; print preoperative laboratory test information (managerial) 38 W !,?20,"PREOPERATIVE LABORATORY TEST INFORMATION",! 39 D LR^SROAUTL0 S SRDR=DR K DA,DIC,DIQ,SRY S DIC="^SRF(",DA=SRTN,DIQ="SRY",DIQ(0)="E",DR=SRDR D EN^DIQ1 K DA,DIC,DIQ,DR 40 K SRX S SRX=0 F M=1:2 S L=$P(SRDR,";",M) Q:'L S I=L D 41 .D TR D GET^SROAUTL2 S SRX=SRX+1,Y=$P(X,";;",2),SRFLD=$P(Y,"^"),SRDT=$P(Y,"^",4),(Z,SRX(SRX))=$S($P(Y,"^",3)'="":$P(Y,"^",3),1:$P(Y,"^",2))_"^"_SRFLD_"^"_SRDT 42 .W !,$J($P(Z,"^")_": ",39),SRY(130,SRTN,SRFLD,"E") W:SRY(130,SRTN,SRDT,"E")'="" ?50,"("_$P(SRY(130,SRTN,SRDT,"E"),"@")_")" 43 Q 44 TR S J=I,J=$TR(J,"1234567890.","ABCDEFGHIJP") 45 Q 46 NON S DR=".03;102;.035" 47 Q 48 CHK ; check for missing information for excluded cases 49 K SRX,DA,DIC,DIQ,DR,SRY S DIC="^SRF(",DA=SRTN,DIQ="SRY",DIQ(0)="I" D NON D EN^DIQ1 D ^SROAUTL2 50 K DA,DIC,DIQ,DR,SRY,SRZ D TECH^SROPRIN I SRTECH="NOT ENTERED" S SRX("ANESTHESIA TECHNIQUE")="Anesthesia Technique" 51 Q -
WorldVistAEHR/trunk/r/SURGERY-SR/SROAUTL4.m
r613 r623 1 SROAUTL4 ;BIR/ADM - RISK ASSESSMENT UTILITY ;01/10/08 2 ;;3.0; Surgery ;**38,71,95,125,153,160,164,166**;24 Jun 93;Build 7 3 N SRZZ,SRXX,SRX1 4 S SRZ=0 F S SRZ=$O(SRY(130,SRTN,SRZ)) Q:'SRZ D 5 .I SRY(130,SRTN,SRZ,"I")="" D TR S (SRX1,X)=$T(@SRP),SRFLD=$P(X,";;",2) D 6 ..I SRZ=513,$P(^SRF(SRTN,0),"^",9)<3071001 Q 7 ..I SRZ=515 S X1=$P(^SRF(SRTN,0),"^",9),X2=$P($G(^SRF(SRTN,209)),"^",15) D ^%DTC I X'>30 Q 8 ..I SRZ=484,$P($G(^SRF(SRTN,209)),"^",13)'="Y" Q 9 ..S X=SRX1,SRX(SRZ)=$P(SRFLD,"^",2)_"^"_$P(X,";;",3) 10 .I SRY(130,SRTN,SRZ,"I")="NS" D TR S X=$T(@SRP),SRFLD=$P(X,";;",2),SRDT=$P(SRFLD,"^",4) S:SRDT'="" SRLR(SRDT)="" 11 S SRDT=0 F S SRDT=$O(SRLR(SRDT)) Q:'SRDT K SRX(SRDT) 12 Q 13 RED M SRZZ=SRX S SRZ=0 F S SRZ=$O(SRX(SRZ)) Q:'SRZ S SRZZ=$P($G(SRX(SRZ)),"^",2),SRXX(SRZZ)=$P($G(SRX(SRZ)),"^")_":"_SRZ 14 K SRX M SRX=SRXX K SRXX 15 Q 16 TR S SRP=SRZ,SRP=$TR(SRP,"1234567890.","ABCDEFGHIJP") 17 Q 18 GET S X=$T(@J) 19 Q 20 BCF ;;236^Patient's Height^Height^;;1-01 21 BCG ;;237^Patient's Weight^Weight^;;1-02 22 DGE ;;475^Diabetes (Cardiac);;1-03 23 BJC ;;203^History of COPD (Y/N)^COPD^;;1-04 24 CDG ;;347^FEV1^FEV1^;;1-05 25 BJI ;;209^Cardiomegaly on Chest X-Ray (Y/N)^Cardiomegaly (X-ray)^;;1-06 26 CDH ;;348^Pulmonary Rales (Y/N)^Pulmonary Rales^;;1-07 27 EAJ ;;510^Current Smoker^Current Smoker^;;1-08 28 CDI ;;349^Active Endocarditis (Y/N)^Active Endocarditis^;;1-09 29 CEJ ;;350^Resting ST Depression (Y/N)^Resting ST Depression^;;1-10 30 BDJ ;;240^Functional Health Status^Functional Status^;;1-11 31 CEA ;;351^PCI Status^PCI^;;1-12 32 BJE ;;205^Prior Myocardial Infarction^Prior MI^;;1-13 33 CEB ;;352^Number of Prior Heart Surgeries^Number of Prior Heart Surgeries^;;1-14 34 DHE ;;485^Prior Heart Surgeries;;1-15 35 BFE ;;265^Peripheral Vascular Disease (Y/N)^Peripheral Vascular Disease^;;1-16 36 BFD ;;264^Cerebral Vascular Disease (Y/N)^Cerebral Vascular Disease^;;1-17 37 BFG ;;267^Angina (use NYHA Functional Class)^Angina (use CCS Class)^;;1-18 38 BJG ;;207^Congestive Heart Failure (use NYHA Functional Class)^CHF (use NYHA Class)^;;1-19 39 CEC ;;353^Current Diuretic Use (Y/N)^Current Diuretic Use^;;1-20 40 CED ;;354^Current Digoxin Use (Y/N)^Current Digoxin Use^;;1-21 41 CEE ;;355^IV NTG within 48 Hours Preceding Surgery (Y/N)^IV NTG within 48 Hours^;;1-22 42 DGD ;;474^Preop use of circulatory Device;;1-23 43 DFC ;;463^Hypertension^;;1-24 44 DEG ;;457^HDL^^457.1;;2-01 45 DEGPA ;;457.1^HDL, Date;;2-02 46 DFA ;;461^LDL^^461.1;;2-03 47 DFAPA ;;461.1^LDL, Date;;2-04 48 DFB ;;462^Total Cholesterol^^462.1;;2-05 49 DFBPA ;;462.1^Total Cholesterol, Date;;2-06 50 DEH ;;458^Serum Triglyceride^^458.1;;2-07 51 DEHPA ;;458.1^Serum Triglyceride, Date;;2-08 52 DEI ;;459^Serum Potassium^^459.1;;2-09 53 DEIPA ;;459.1^Serum Potassium, Date;;2-10 54 DFJ ;;460^Serum Total Bilirubin^^460.1;;2-11 55 DFJPA ;;460.1^Serum Total Bilirubin, Date;;2-12 56 BBC ;;223^Preoperative Serum Creatinine^Creatinine^290;;2-13 57 BIJ ;;290^Creatinine Date;;2-14 58 BBE ;;225^Preoperative Serum Albumin^^292;;2-15 59 BIB ;;292^Preoperative Serum Albumin Date;;2-16 60 BAI ;;219^Preoperative Hemoglobin^^239;;2-17 61 BCI ;;239^Preoperative Hemoglobin Date;;2-18 62 EJD ;;504^Hemoglobin A1c^^504.1;;2-19 63 EJDPA ;;504.1^Hemoglobin A1c, Date;;2-20 64 DGF ;;476^Procedure Type;;3-01 65 CEG ;;357^Left Ventricular End-Diastolic Pressure^LVEDP^;;3-02 66 CEH ;;358^Aortic Systolic Pressure^Aortic Systolic Pressure^;;3-03 67 CEI ;;359^PA Systolic Pressure^*PA Systolic Pressure^;;3-04 68 CFJ ;;360^PAW Mean Pressure^*PAW Mean Pressure^;;3-05 69 CFC ;;363^LV Contraction Grade^LV Contraction Grade (from contrast or radionuclide angiogram or 2D echo^;;3-06 70 DAE ;;415^Mitral Regurgitation^Mitral Regurgitation^;;3-07 71 DGG ;;477^Aortic Stenosis;;3-08 72 CFA ;;361^Left Main Stenosis^Left Main Stenosis^;;3-09 73 CFBPA ;;362.1^Left Anterior Descending (LAD) Stenosis^LAD Stenosis^;;3-10 74 CFBPB ;;362.2^Right Coronary Artery Stenosis^Right Coronary Stenosis^;;3-11 75 CFBPC ;;362.3^Circumflex Coronary Artery Stenosis^Circumflex Stenosis^;;3-12 76 DGH ;;478^Re-Do Lad Stenosis;;3-13 77 DGI ;;479^Re-Do Right Coronary Stenosis;;3-14 78 DHJ ;;480^Re-Do Circumflex Stenosis;;3-15 79 CFD ;;364^Physician's Preoperative Estimate of Operative Mortality^Physician's Preoperative Estimate of Operative Mortality^;;4-01 80 CFDPA ;;364.1^Date/Time of Estimate of Operative Mortality^Date/Time of Estimate of Operative Mortality^;;4-02 81 APAC ;;1.13^ASA Class^ASA Classification^;;4-03 82 DAD ;;414^Cardiac Surgical Priority^Surgical Priority^;;4-04 83 DADPA ;;414.1^Date/Time of Cardiac Surgical Priority^Date/Time of Cardiac Surgical Priority^;;4-05 84 PBB ;;.22^Time the Operation Began^Date/Time Operation Began^;;4-06 85 PBC ;;.23^Time the Operation Ended^Date/Time Operation Ended^;;4-07 86 CFE ;;365^CABG Distal Anastomoses with Vein^^;;5-01 87 CFF ;;366^CABG Distal Anastomoses with IMA^^;;5-02 88 DFD ;;464^Number with Radial Artery^;;5-03 89 DFE ;;465^Number with Other Artery^;;5-04 90 DAF ;;416^CABG Distal Anastomoses with Other Conduit^^;;5-05 91 CFG ;;367^Aortic Valve Replacement (Y/N)^Aortic Valve Replacement^;;5-06 92 CFH ;;368^Mitral Valve Replacement (Y/N)^Mitral Valve Replacement^;;5-07 93 CFI ;;369^Tricuspid Valve Replacement (Y/N)^Tricuspid Valve Replacement^;;5-08 94 CGJ ;;370^Valve Repair (Y/N)^Valve Repair^;;5-09 95 CGA ;;371^LV Aneurysmectomy (Y/N)^LV Aneurysmectomy^;;5-10 96 DHA ;;481^Bridge to transplant/Device;;5-11 97 DHC ;;483^Transmyocardial Laser Revascularization;;5-12 98 EAB ;;512^Maze Procedure;;5-13 99 CGF ;;376^ASD Repair (Y/N)^ASD Repair^;;5-14 100 CHJ ;;380^VSD Repair (Y/N)^VSD Repair^;;5-15 101 CGH ;;378^Myectomy for IHSS (Y/N)^Myectomy for IHSS^;;5-16 102 CGG ;;377^Myxoma Resection (Y/N)^Myxoma Resection^;;5-17 103 CGI ;;379^Other Tumor Resection (Y/N)^Other Tumor Resection^;;5-18 104 CGC ;;373^Cardiac Transplant (Y/N)^Cardiac Transplant^;;5-19 105 CGB ;;372^Great Vessel Repair(Y/N)^Great Vessel Repair^;;5-20 106 EJE ;;505^Endovascular Repair of Descending Thoracic Aorta (Y/N)^Endovascular Repair;;5-21 107 EJB ;;502^Other Cardiac Procedures (Y/N);;5-22 108 DHD ;;484^Other cardiac procedures (specify);;5-23 109 CHA ;;381^Foreign Body Removal (Y/N)^Foreign Body Removal^;;5-24 110 CHB ;;382^Pericardiectomy (Y/N)^Pericardiectomy^;;5-25 111 DEA ;;451^Total CPB Time;;5-26 112 DEJ ;;450^Total Ischemic Time;;5-27 113 DFH ;;468^Incision Type^;;5-28 114 DFI ;;469^Covert From Off Pump to CPB;;5-29 115 CHD ;;384^Operative Death (Y/N)^Operative Death^;;6-01 116 DAH ;;418^Hospital Admission Date And Time;;7-01 117 DAI ;;419^Hospital Discharge Date And Time;;7-02 118 DDJ ;;440^Cardiac Catheterization Date;;7-03 119 PBJE ;;.205^Time Patient In OR;;7-04 120 PBCB ;;.232^Time Patient Out OR;;7-05 121 DGJ ;;470^Date and Time Patient Extubated;;7-06 122 DGA ;;471^Date and Time Patient Discharged from ICU;;7-07 123 DGC ;;473^Homeless(Y/N);;7-08 124 DGB ;;472^Cardiac Surgery to NON-VA Facility;;7-09 125 DDB ;;442^Employment Status;;7-10 126 EAC ;;513^CT Surgery Consult Date;;7-11 127 EAE ;;515^Cause for Delay for Cardiac Surgery;;7-12 1 SROAUTL4 ;BIR/ADM - RISK ASSESSMENT UTILITY ;08/24/07 2 ;;3.0; Surgery ;**38,71,95,125,153,160,164**;24 Jun 93;Build 2 3 S SRZ=0 F S SRZ=$O(SRY(130,SRTN,SRZ)) Q:'SRZ D 4 .I SRY(130,SRTN,SRZ,"I")="" D TR S X=$T(@SRP),SRFLD=$P(X,";;",2) D 5 ..I SRZ=451!(SRZ=450) S SRX($P(SRFLD,"^",2))=$P(SRFLD,"^",2)_"^"_SRZ Q 6 ..I SRZ=513,$P(^SRF(SRTN,0),"^",9)<3071001 Q 7 ..S SRX(SRZ)=$P(SRFLD,"^",2) 8 .I SRY(130,SRTN,SRZ,"I")="NS" D TR S X=$T(@SRP),SRFLD=$P(X,";;",2),SRDT=$P(SRFLD,"^",4) S:SRDT'="" SRLR(SRDT)="" 9 S SRDT=0 F S SRDT=$O(SRLR(SRDT)) Q:'SRDT K SRX(SRDT) 10 Q 11 TR S SRP=SRZ,SRP=$TR(SRP,"1234567890.","ABCDEFGHIJP") 12 Q 13 GET S X=$T(@J) 14 Q 15 PBB ;;.22^Time the Operation Began^Date/Time Operation Began^ 16 PBC ;;.23^Time the Operation Ended^Date/Time Operation Ended^ 17 BCF ;;236^Patient's Height^Height^ 18 BCG ;;237^Patient's Weight^Weight^ 19 CDF ;;346^Diabetes^Diabetes^ 20 BJC ;;203^History of COPD (Y/N)^COPD^ 21 CDG ;;347^FEV1^FEV1^ 22 BJI ;;209^Cardiomegaly on Chest X-Ray (Y/N)^Cardiomegaly (X-ray)^ 23 CDH ;;348^Pulmonary Rales (Y/N)^Pulmonary Rales^ 24 EAJ ;;510^Current Smoker^Current Smoker^ 25 BBC ;;223^Preoperative Serum Creatinine^Creatinine^290 26 CDI ;;349^Active Endocarditis (Y/N)^Active Endocarditis^ 27 CEJ ;;350^Resting ST Depression (Y/N)^Resting ST Depression^ 28 BDJ ;;240^Functional Health Status^Functional Status^ 29 CEA ;;351^PCI Status^PCI^ 30 BJE ;;205^Prior Myocardial Infarction^Prior MI^ 31 CEB ;;352^Number of Prior Heart Surgeries^Number of Prior Heart Surgeries^ 32 BFE ;;265^Peripheral Vascular Disease (Y/N)^Peripheral Vascular Disease^ 33 BFD ;;264^Cerebral Vascular Disease (Y/N)^Cerebral Vascular Disease^ 34 BFG ;;267^Angina (use NYHA Functional Class)^Angina (use CCS Class)^ 35 BJG ;;207^Congestive Heart Failure (use NYHA Functional Class)^CHF (use NYHA Class)^ 36 CEC ;;353^Current Diuretic Use (Y/N)^Current Diuretic Use^ 37 CED ;;354^Current Digoxin Use (Y/N)^Current Digoxin Use^ 38 CEE ;;355^IV NTG within 48 Hours Preceding Surgery (Y/N)^IV NTG within 48 Hours^ 39 CEF ;;356^Preoperative use of IABP (Y/N)^Preop Use of IABP^ 40 CEG ;;357^Left Ventricular End-Diastolic Pressure^LVEDP^ 41 CEH ;;358^Aortic Systolic Pressure^Aortic Systolic Pressure^ 42 CEI ;;359^PA Systolic Pressure^*PA Systolic Pressure^ 43 CFJ ;;360^PAW Mean Pressure^*PAW Mean Pressure^ 44 CFA ;;361^Left Main Stenosis^Left Main Stenosis^ 45 CFBPA ;;362.1^Left Anterior Descending (LAD) Stenosis^LAD Stenosis^ 46 CFBPB ;;362.2^Right Coronary Artery Stenosis^Right Coronary Stenosis^ 47 CFBPC ;;362.3^Circumflex Coronary Artery Stenosis^Circumflex Stenosis^ 48 CFC ;;363^LV Contraction Grade^LV Contraction Grade (from contrast or radionuclide angiogram or 2D echo^ 49 DAE ;;415^Mitral Regurgitation^Mitral Regurgitation^ 50 CFD ;;364^Physician's Preoperative Estimate of Operative Mortality^Physician's Preoperative Estimate of Operative Mortality^ 51 CFDPA ;;364.1^Date/Time of Estimate of Operative Mortality^Date/Time of Estimate of Operative Mortality^ 52 APAC ;;1.13^ASA Class^ASA Classification^ 53 DAD ;;414^Cardiac Surgical Priority^Surgical Priority^ 54 DADPA ;;414.1^Date/Time of Cardiac Surgical Priority^Date/Time of Cardiac Surgical Priority^ 55 CHD ;;384^Operative Death (Y/N)^Operative Death^ 56 CFE ;;365^CABG Distal Anastomoses with Vein^^ 57 CFF ;;366^CABG Distal Anastomoses with IMA^^ 58 CFG ;;367^Aortic Valve Replacement (Y/N)^Aortic Valve Replacement^ 59 CFH ;;368^Mitral Valve Replacement (Y/N)^Mitral Valve Replacement^ 60 CFI ;;369^Tricuspid Valve Replacement (Y/N)^Tricuspid Valve Replacement^ 61 CGJ ;;370^Valve Repair (Y/N)^Valve Repair^ 62 CGA ;;371^LV Aneurysmectomy (Y/N)^LV Aneurysmectomy^ 63 CGB ;;372^Great Vessel Repair(Y/N)^Great Vessel Repair^ 64 EJE ;;505^Endovascular Repair of Descending Thoracic Aorta (Y/N)^Endovascular Repair 65 CGC ;;373^Cardiac Transplant (Y/N)^Cardiac Transplant^ 66 CGF ;;376^ASD Repair (Y/N)^ASD Repair^ 67 CHJ ;;380^VSD Repair (Y/N)^VSD Repair^ 68 CGG ;;377^Myxoma Resection (Y/N)^Myxoma Resection^ 69 CHA ;;381^Foreign Body Removal (Y/N)^Foreign Body Removal^ 70 CGH ;;378^Myectomy for IHSS (Y/N)^Myectomy for IHSS^ 71 CHB ;;382^Pericardiectomy (Y/N)^Pericardiectomy^ 72 CGI ;;379^Other Tumor Resection (Y/N)^Other Tumor Resection^ 73 DAF ;;416^CABG Distal Anastomoses with Other Conduit^^ 74 DDB ;;442^Employment Status 75 BAI ;;219^Preoperative Hemoglobin^^239 76 BCI ;;239^Preoperative Hemoglobin Date 77 BBE ;;225^Preoperative Serum Albumin^^292 78 BIB ;;292^Preoperative Serum Albumin Date 79 BIJ ;;290^Creatinine Date 80 DEA ;;451^Total CPB Time 81 DEJ ;;450^Total Ischemic Time 82 DDJ ;;440^Cardiac Catheterization Date 83 DAH ;;418^Hospital Admission Date And Time 84 DAI ;;419^Hospital Discharge Date And Time 85 DFC ;;463^Hypertension^ 86 DFD ;;464^Number with Radial Artery^ 87 DFE ;;465^Number with Other Artery^ 88 DFH ;;468^Incision Type^ 89 DFI ;;469^Covert From Off Pump to CPB 90 DGJ ;;470^Date and Time Patient Extubated 91 DGA ;;471^Date and Time Patient Discharged from ICU 92 DGB ;;472^Cardiac Surgery to NON-VA Facility 93 PBJE ;;.205^Time Patient In OR 94 PBCB ;;.232^Time Patient Out OR 95 DEG ;;457^HDL^^457.1 96 DEGPA ;;457.1^HDL, Date 97 DEH ;;458^Serum Triglyceride^^458.1 98 DEHPA ;;458.1^Serum Triglyceride, Date 99 DEI ;;459^Serum Potassium^^459.1 100 DEIPA ;;459.1^Serum Potassium, Date 101 DFJ ;;460^Serum Total Bilirubin^^460.1 102 DFJPA ;;460.1^Serum Total Bilirubin, Date 103 DFA ;;461^LDL^^461.1 104 DFAPA ;;461.1^LDL, Date 105 DFB ;;462^Total Cholesterol^^462.1 106 DFBPA ;;462.1^Total Cholesterol, Date 107 EJD ;;504^Hemoglobin A1c^^504.1 108 EJDPA ;;504.1^Hemoglobin A1c, Date 109 DGE ;;475^Diabetes (Cardiac) 110 DGD ;;474^Preop use of circulatory Device 111 DGF ;;476^Procedure Type 112 DGG ;;477^Aortic Stenosis 113 DGH ;;478^Re-Do Lad Stenosis 114 DGI ;;479^Re-Do Right Coronary Stenosis 115 DHJ ;;480^Re-Do Circumflex Stenosis 116 DHA ;;481^Bridge to transplant/Device 117 EAB ;;512^Maze Procedure 118 DHC ;;483^Transmyocardial Laser Revascularization 119 EJB ;;502^Other Cardiac Procedures (Y/N) 120 DHD ;;484^Other cardiac procedures (specify) 121 DHE ;;485^Prior Heart Surgeries 122 EAC ;;513^CT Surgery Consult Date -
WorldVistAEHR/trunk/r/SURGERY-SR/SROAUTLC.m
r613 r623 1 SROAUTLC ;BIR/ADM - CARDIAC RISK ASSESSMENT UTILITY ;08/23/07 2 ;;3.0; Surgery ;**38,71,90,88,95,97,102,96,125,153,163,164,166**;24 Jun 93;Build 7 3 ; 4 ; Reference to ^DIC(45.3 supported by DBIA #218 5 ; 6 SITE ; determine if site is a cardiac facility 7 I $$CARD Q 8 W @IOF,!,"The SURGERY SITE PARAMETERS file indicates this site/division does not use ",!,"the Cardiac Risk Assessment module. Therefore, this option is not available",!,"for use.",! 9 S XQUIT="" W !!,"Press RETURN to continue " R X:DTIME W @IOF 10 Q 11 CARD() ; extrinsic call to determine if site is cardiac facility 12 N CARD S CARD=0 Q:'$G(SRSITE) CARD 13 I $P($G(^SRO(133,SRSITE,0)),"^",5)="Y" S CARD=1 14 Q CARD 15 NOW ; update date/time of surgical priority entry 16 N X I $$CARD,$P($G(^SRF(DA,208)),"^",12)'="" D NOW^%DTC S $P(^SRF(DA,208),"^",13)=$E(%,1,12) 17 Q 18 KNOW ; delete date/time of surgical priority entry 19 I $D(^SRF(DA,208)) S $P(^SRF(DA,208),"^",13)="" 20 Q 21 EM ; input transform logic on Case Schedule Type field (.035) 22 Q:'$$CARD N DIR,SREM,SRNOT,SRQ,SRSP 23 I X'="EM" S:X="U" $P(^SRF(DA,208),"^",12)=2 S:X'="U" $P(^SRF(DA,208),"^",12)=1 D NOW Q 24 S SRQ=0,SRSP=$P(^DIC(45.3,$P(^SRO(137.45,$P(^SRF(DA,0),"^",4),0),"^",2),0),"^") Q:SRSP'=48&(SRSP'=58) D:SRSP=58 YN Q:SRQ 25 D CAT 26 Q 27 CAT N X K DIR S DIR("A",1)="",DIR("A",2)=" Enter category of emergency.",DIR("A",3)=" 1. Emergent (ongoing ischemia)",DIR("A",4)=" 2. Emergent (hemodynamic compromise)",DIR("A",5)=" 3. Emergent (arrest with CPR)" 28 S DIR("A",6)="",DIR("A")=" Enter number (1, 2 or 3): ",DIR(0)="NA^1:3",DIR("?")="^D HELP^SROAUTLC" D ^DIR I $D(DTOUT)!$D(DUOUT) Q 29 S SREM=Y,$P(^SRF(DA,208),"^",12)=SREM+2 D NOW 30 Q 31 YN N X K DIR S DIR("A",1)="",DIR("A",2)=" Is this emergency case a cardiac procedure requiring cardiopulmonary",DIR("A")=" bypass (Y/N)? ",DIR(0)="YA" D ^DIR I $D(DTOUT)!$D(DUOUT) S SRQ=1 Q 32 I 'Y S SRQ=1 33 Q 34 HELP K SRHLP S SRHLP(1)="This is the category of emergency reflecting the patient's cardiovascular",SRHLP(2)="condition at the time of transport to the operating room:",SRHLP(3)="" 35 S SRHLP(4)="1. Emergent (ongoing ischemia) - Clinical condition mandates immediate",SRHLP(5)="surgery usually on day of catheterization because of ischemia despite" 36 S SRHLP(6)="medical therapy, such as intravenous nitroglycerine. Ischemia should",SRHLP(7)="be manifested as chest pain and/or ST-segment depression." 37 S SRHLP(8)="",SRHLP(9)="2. Emergent (hemodynamic compromise) - Persistent hypotension (arterial",SRHLP(10)="systolic pressure < 80 mm Hg) and/or low cardiac output (cardiac index" 38 S SRHLP(11)="< 2.0 L/min/MxM) despite iontropic and/or mechanical circulatory",SRHLP(12)="support mandates immediates surgery within hours of the cardiac",SRHLP(13)="catheterization." 39 S SRHLP(14)="",SRHLP(15)="3. Emergent (arrest with CPR) - Patient is taken to the operating room in",SRHLP(16)="full cardiac arrest with the circulation supported by cardiopulmonary" 40 S SRHLP(17)="resuscitation (excludes patients being adequately perfused by a",SRHLP(18)="cardiopulmonary support system).",SRHLP(19)="" 41 S SRHLP(20)="Enter the appropriate number to designate the category of emergency.",SRHLP(21)="",SRHLP(22)="" D EN^DDIOL(.SRHLP) K SRHLP 42 N DIR S DIR(0)="FOA",DIR("A")="Enter RETURN to continue: " D ^DIR I $D(DTOUT)!$D(DUOUT) S SRQ=1 Q 43 Q 44 CHK ; check for missing cardiac assessment information 45 K SRX,SRZZ F SRC="CLIN","LAB","CATH","OP","CAR","OUT","R" K DA,DIC,DIQ,DR,SRY S DIC="^SRF(",DA=SRTN,DIQ="SRY",DIQ(0)="I" D @SRC D EN^DIQ1 D ^SROAUTL4 46 D RED^SROAUTL4 47 Q 48 CLIN S DR="236;237;475;203;347;209;348;510;349;350;240;351;205;352;485;265;264;267;207;353;354;355;474;463" 49 Q 50 CATH S DR="476;357;358;359;360;363;415;477;361;362.1;362.2;362.3;478;479;480" 51 Q 52 R S DR="418;419;440;.205;.232;470;471;473;472;442;513;515" 53 Q 54 OP S DR="364;364.1;1.13;414;414.1;.22;.23" 55 Q 56 OUT S DR="384" 57 Q 58 CAR S DR="365;366;464;465;416;367;368;369;370;371;481;483;512;376;380;378;377;379;373;372;505;502;381;382;451;450;468;469" 59 I $P($G(^SRF(SRTN,209)),"^",13)="Y"!($P($G(^SRF(SRTN,209)),"^",13)="") S DR=DR_";484" 60 Q 61 LAB S DR="457;457.1;461;461.1;462;462.1;458;458.1;459;459.1;460;460.1;223;290;225;292;219;239;504;504.1" 62 Q 1 SROAUTLC ;BIR/ADM - CARDIAC RISK ASSESSMENT UTILITY ;08/23/07 2 ;;3.0; Surgery ;**38,71,90,88,95,97,102,96,125,153,163,164**;24 Jun 93;Build 2 3 ; 4 ; Reference to ^DIC(45.3 supported by DBIA #218 5 ; 6 SITE ; determine if site is a cardiac facility 7 I $$CARD Q 8 W @IOF,!,"The SURGERY SITE PARAMETERS file indicates this site/division does not use ",!,"the Cardiac Risk Assessment module. Therefore, this option is not available",!,"for use.",! 9 S XQUIT="" W !!,"Press RETURN to continue " R X:DTIME W @IOF 10 Q 11 CARD() ; extrinsic call to determine if site is cardiac facility 12 N CARD S CARD=0 Q:'$G(SRSITE) CARD 13 I $P($G(^SRO(133,SRSITE,0)),"^",5)="Y" S CARD=1 14 Q CARD 15 NOW ; update date/time of surgical priority entry 16 N X I $$CARD,$P($G(^SRF(DA,208)),"^",12)'="" D NOW^%DTC S $P(^SRF(DA,208),"^",13)=$E(%,1,12) 17 Q 18 KNOW ; delete date/time of surgical priority entry 19 I $D(^SRF(DA,208)) S $P(^SRF(DA,208),"^",13)="" 20 Q 21 EM ; input transform logic on Case Schedule Type field (.035) 22 Q:'$$CARD N DIR,SREM,SRNOT,SRQ,SRSP 23 I X'="EM" S:X="U" $P(^SRF(DA,208),"^",12)=2 S:X'="U" $P(^SRF(DA,208),"^",12)=1 D NOW Q 24 S SRQ=0,SRSP=$P(^DIC(45.3,$P(^SRO(137.45,$P(^SRF(DA,0),"^",4),0),"^",2),0),"^") Q:SRSP'=48&(SRSP'=58) D:SRSP=58 YN Q:SRQ 25 D CAT 26 Q 27 CAT N X K DIR S DIR("A",1)="",DIR("A",2)=" Enter category of emergency.",DIR("A",3)=" 1. Emergent (ongoing ischemia)",DIR("A",4)=" 2. Emergent (hemodynamic compromise)",DIR("A",5)=" 3. Emergent (arrest with CPR)" 28 S DIR("A",6)="",DIR("A")=" Enter number (1, 2 or 3): ",DIR(0)="NA^1:3",DIR("?")="^D HELP^SROAUTLC" D ^DIR I $D(DTOUT)!$D(DUOUT) Q 29 S SREM=Y,$P(^SRF(DA,208),"^",12)=SREM+2 D NOW 30 Q 31 YN N X K DIR S DIR("A",1)="",DIR("A",2)=" Is this emergency case a cardiac procedure requiring cardiopulmonary",DIR("A")=" bypass (Y/N)? ",DIR(0)="YA" D ^DIR I $D(DTOUT)!$D(DUOUT) S SRQ=1 Q 32 I 'Y S SRQ=1 33 Q 34 HELP K SRHLP S SRHLP(1)="This is the category of emergency reflecting the patient's cardiovascular",SRHLP(2)="condition at the time of transport to the operating room:",SRHLP(3)="" 35 S SRHLP(4)="1. Emergent (ongoing ischemia) - Clinical condition mandates immediate",SRHLP(5)="surgery usually on day of catheterization because of ischemia despite" 36 S SRHLP(6)="medical therapy, such as intravenous nitroglycerine. Ischemia should",SRHLP(7)="be manifested as chest pain and/or ST-segment depression." 37 S SRHLP(8)="",SRHLP(9)="2. Emergent (hemodynamic compromise) - Persistent hypotension (arterial",SRHLP(10)="systolic pressure < 80 mm Hg) and/or low cardiac output (cardiac index" 38 S SRHLP(11)="< 2.0 L/min/MxM) despite iontropic and/or mechanical circulatory",SRHLP(12)="support mandates immediates surgery within hours of the cardiac",SRHLP(13)="catheterization." 39 S SRHLP(14)="",SRHLP(15)="3. Emergent (arrest with CPR) - Patient is taken to the operating room in",SRHLP(16)="full cardiac arrest with the circulation supported by cardiopulmonary" 40 S SRHLP(17)="resuscitation (excludes patients being adequately perfused by a",SRHLP(18)="cardiopulmonary support system).",SRHLP(19)="" 41 S SRHLP(20)="Enter the appropriate number to designate the category of emergency.",SRHLP(21)="",SRHLP(22)="" D EN^DDIOL(.SRHLP) K SRHLP 42 N DIR S DIR(0)="FOA",DIR("A")="Enter RETURN to continue: " D ^DIR I $D(DTOUT)!$D(DUOUT) S SRQ=1 Q 43 Q 44 CHK ; check for missing cardiac assessment information 45 K SRX F SRC="CLIN","COC","CP","CLR" K DA,DIC,DIQ,DR,SRY S DIC="^SRF(",DA=SRTN,DIQ="SRY",DIQ(0)="I" D @SRC D EN^DIQ1 D ^SROAUTL4 46 Q 47 CLIN S DR="236;237;475;203;347;209;348;510;223;290;219;239;225;292;349;350;240;351;205;352;485;265;264;267;207;353;354;355;463;474" 48 Q 49 COC S DR="476;477;357;358;359;360;361;362.1;362.2;362.3;363;415;474;364;364.1;1.13;414;414.1;384;.22;.23;472;478;479;480" 50 Q 51 CP S DR="365;366;464;465;416;367;368;369;370;371;372;505;450;451;373;376;380;377;381;378;382;379;468;469;.205;.232;470;471;418;419;440;481;512;483;502;513" 52 I $P($G(^SRF(SRTN,209)),"^",13)="Y"!($P($G(^SRF(SRTN,209)),"^",13)="") S DR=DR_";484" 53 Q 54 CLR S DR="457;457.1;458;458.1;459;459.1;460;460.1;461;461.1;462;462.1;504;504.1" 55 Q -
WorldVistAEHR/trunk/r/SURGERY-SR/SROCODE.m
r613 r623 1 SROCODE ;BIR/MAM - SET UP FLAG FOR ANESTHESIA AGENTS ;01/30/082 ;;3.0; Surgery ;**72,41,114,151,166**;24 Jun 93;Build 7 3 ;4 ; Reference to ENS^PSSGIU supported by DBIA #8955 ; 6 1 N SRTEST S SRTEST=50,SRTEST(0)="AEQSZ",SRTEST("A")="Enter the name of the drug you wish to flag: " 7 D DIC^PSSDI(50,"SR",.SRTEST) G:+Y<1 DONE S SROIUDA=+Y,SROIRX=$P(Y,"^",2),SROIUX="S^SURGERY" D SROIU8 G 19 SROIU Q:'$D(SROIUDA)!'$D(SROIUX) Q:SROIUX'?1E1"^"1.E10 N SRRX D DATA^PSS50(SROIUDA,,,,,"SRRX") S SRRX=$G(^TMP($J,"SRRX",SROIUDA,63)) D11 .S SROIUY=$S($D(SRRX):SRRX,1:""),SROIUT=$P(SROIUX,"^",2),SROIUT=$E("N","AEIOU"[$E(SROIUT))_" "_SROIUT K ^TMP($J,"SRRX",SROIUDA)12 I SROIUY["S" W !!,"This drug is already flagged for SURGERY." K DIR S DIR("A")="Do you want to remove the flag (Y/N)",DIR(0)="Y" D ^DIR D:Y OFF D DONE Q13 W !! K DIR S DIR("A")="Do you want to flag this drug for SURGERY (Y/N)",DIR(0)="Y" D ^DIR D:Y FLAG14 DONE W @IOF K SROIRX D ^SRSKILL15 Q16 FLAG S PSIUDA=SROIUDA,PSIUX=SROIUX_"^1"17 S X="PSSGIU" X ^%ZOSF("TEST") I $T D ENS^PSSGIU18 ;HL7 master file update (addition) to anesthesia agent list19 N SRTBL,SRENT,FEC,REC S SRTBL="ANESTHESIA AGENT^50^.01",FEC="UPD",REC="MAD",SRENT=SROIUDA_U_SROIRX D MSG^SRHLMFN(SRTBL,FEC,REC,SRENT)20 ;A call to PDM to possibly generate an HL7 outgoing drug message21 S X="PSSHUIDG" X ^%ZOSF("TEST") I $T D DRG^PSSHUIDG(PSIUDA)22 K PSIUDA,PSIUX23 Q24 OFF S PSIUDA=SROIUDA,PSIUX=SROIUX_"^1"25 S X="PSSGIU" X ^%ZOSF("TEST") I $T D END^PSSGIU26 ;HL7 master file update (deletion) to anesthesia agent list27 N SRTBL,SRENT,FEC,REC S SRTBL="ANESTHESIA AGENT^50^.01",FEC="UPD",REC="MDL" D DATA^PSS50(SROIUDA,,,,,"SRRX")28 S SRENT=SROIUDA_U_$P($G(^TMP($J,"SRRX",SROIUDA,.01)),"^") K ^TMP($J,"SRRX",SROIUDA) D MSG^SRHLMFN(SRTBL,FEC,REC,SRENT)29 ;A call to PDM to possibly generate an HL7 outgoing drug message30 S X="PSSHUIDG" X ^%ZOSF("TEST") I $T D DRG^PSSHUIDG(PSIUDA)31 K PSIUDA,PSIUX32 Q1 SROCODE ;B'HAM ISC/MAM - SET UP FLAG FOR ANESTHESIA AGENTS ; [ 05/06/98 7:14 AM ] 2 ;;3.0; Surgery ;**72,41,114,151**;24 Jun 93 3 ; 4 ; Reference to ENS^PSSGIU supported by DBIA #895 5 ; Reference to ^PSS50 supported by DBIA #4533 6 ; 7 1 W !! K DIR S DIR(0)="P^50:QEAM",DIR("A")="Enter the name of the drug you wish to flag" D ^DIR G:Y<1 DONE S SROIUDA=+Y,SROIRX=$P(Y,"^",2),SROIUX="S^SURGERY" D SROIU 8 G 1 9 SROIU Q:'$D(SROIUDA)!'$D(SROIUX) Q:SROIUX'?1E1"^"1.E 10 N SRRX D DATA^PSS50(SROIUDA,,,,,"SRRX") S SRRX=$G(^TMP($J,"SRRX",SROIUDA,63)) D 11 .S SROIUY=$S($D(SRRX):SRRX,1:""),SROIUT=$P(SROIUX,"^",2),SROIUT=$E("N","AEIOU"[$E(SROIUT))_" "_SROIUT K ^TMP($J,"SRRX",SROIUDA) 12 I SROIUY["S" W !!,"This drug is already flagged for SURGERY." K DIR S DIR("A")="Do you want to remove the flag (Y/N)",DIR(0)="Y" D ^DIR D:Y OFF D DONE Q 13 W !! K DIR S DIR("A")="Do you want to flag this drug for SURGERY (Y/N)",DIR(0)="Y" D ^DIR D:Y FLAG 14 DONE W @IOF K SROIRX D ^SRSKILL 15 Q 16 FLAG S PSIUDA=SROIUDA,PSIUX=SROIUX_"^1" 17 S X="PSSGIU" X ^%ZOSF("TEST") I $T D ENS^PSSGIU 18 ;HL7 master file update (addition) to anesthesia agent list 19 N SRTBL,SRENT,FEC,REC S SRTBL="ANESTHESIA AGENT^50^.01",FEC="UPD",REC="MAD",SRENT=SROIUDA_U_SROIRX D MSG^SRHLMFN(SRTBL,FEC,REC,SRENT) 20 ;A call to PDM to possibly generate an HL7 outgoing drug message 21 S X="PSSHUIDG" X ^%ZOSF("TEST") I $T D DRG^PSSHUIDG(PSIUDA) 22 K PSIUDA,PSIUX 23 Q 24 OFF S PSIUDA=SROIUDA,PSIUX=SROIUX_"^1" 25 S X="PSSGIU" X ^%ZOSF("TEST") I $T D END^PSSGIU 26 ;HL7 master file update (deletion) to anesthesia agent list 27 N SRTBL,SRENT,FEC,REC S SRTBL="ANESTHESIA AGENT^50^.01",FEC="UPD",REC="MDL" D DATA^PSS50(SROIUDA,,,,,"SRRX") 28 S SRENT=SROIUDA_U_$P($G(^TMP($J,"SRRX",SROIUDA,.01)),"^") K ^TMP($J,"SRRX",SROIUDA) D MSG^SRHLMFN(SRTBL,FEC,REC,SRENT) 29 ;A call to PDM to possibly generate an HL7 outgoing drug message 30 S X="PSSHUIDG" X ^%ZOSF("TEST") I $T D DRG^PSSHUIDG(PSIUDA) 31 K PSIUDA,PSIUX 32 Q -
WorldVistAEHR/trunk/r/SURGERY-SR/SROESPR1.m
r613 r623 1 SROESPR1 ;BIR/ADM - SURGERY E-SIG UTILITY ; [ 04/21/04 12:08 PM ] 2 ;;3.0; Surgery ;**100,128,162**;24 Jun 93;Build 4 3 ; 4 ;** NOTICE: This routine is part of an implementation of a nationally 5 ;** controlled procedure. Local modifications to this routine 6 ;** are prohibited. 7 ; 8 ; Reference to EXTRACT^TIULQ supported by DBIA #2693 9 ; 10 ; This routine was cloned in part or in whole from TIUPRPN1. 11 PRINT(SRFLAG,SRSPG) ; Print Summary 12 ; ^TMP("SRPR",$J) is array of records passed by reference 13 ; SRFLAG=1 --> Chart Copy SRSPG=1 --> Contiguous 14 ; SRFLAG=0 --> Work Copy SRSPG=0 --> Fresh Page- each note 15 N SRI,SRJ,SRPAGE,SRFOOT,SRK,SRDA,SRCONT,SRPGRP,SRTYP 16 N SRPFHDR,SRPFNBR,SROPAGE 17 S SRFLAG=+$G(SRFLAG),SRSPG=+$G(SRSPG) 18 S SRI=0 F S SRI=$O(^TMP("SRPR",$J,SRI)) Q:SRI="" D Q:'SRCONT 19 . N DFN,SR,SRERR 20 . I SRI["$" S SRPGRP=$P(SRI,"$"),SRPFHDR=$P($P(SRI,";"),"$",2) 21 . E S SRPFHDR="Surgery Reports" 22 . I $G(SRPGRP)'=2 S SRSPG=0 23 . S DFN=$P(SRI,";",2) 24 . D PAT^SROESPR(.SRFOOT,DFN) 25 . I +$G(SRSPG) D HEADER^SROESPR2(.SRFOOT,SRFLAG,.SRPFHDR) 26 . S SRJ=0 F S SRJ=$O(^TMP("SRPR",$J,SRI,SRJ)) Q:'SRJ D Q:'SRCONT 27 . . S SRK=0 F S SRK=$O(^TMP("SRPR",$J,SRI,SRJ,SRK)) Q:'SRK D Q:'+$G(SRCONT) 28 . . . N SRERR1,SRW K SRCONT1 S SRPFNBR=^(SRK) 29 . . . ; If the document has been deleted, QUIT 30 . . . D EXTRACT^TIULQ(SRK,"SRW",.SRERR1,".01") I $P($G(SRERR1),"^")=1 S SRCONT=1 Q 31 . . . I '+$G(SRSPG) D HEADER^SROESPR2(.SRFOOT,SRFLAG,.SRPFHDR) 32 . . . S SRDA=SRK 33 . . . D REPORT(SRDA) Q:'+$G(SRCONT) 34 . . . I '+$G(SRSPG) K SRCONT1 D SETCONT(1) 35 . . . I $E(IOST)="C",'$O(^TMP("SRPR",$J,SRI,SRJ,SRK)) S SRCONT=0 36 . Q:'SRCONT I $E(IOST)="C" S SRCONT=$$STOP^SROESPR2() Q:'SRCONT 37 . I +$G(SRSPG),$E(IOST)'="C" K SRCONT1 D SETCONT(1) 38 Q 39 REPORT(SRDA) ; Report Text 40 N DIW,DIWF,DIWL,DIWR,DIWT,SRERR,SR,SRI,SRLINE,X,Z,SRY,LOC 41 K ^TMP("SRLQ",$J) 42 S SRLINE=0 43 D EXTRACT^TIULQ(+SRDA,"^TMP(""SRLQ"",$J)",.SRERR,"",SRLINE,1) 44 I +$G(SRERR) W !,$P(SRERR,U,2) Q 45 Q:'$D(^TMP("SRLQ",$J)) 46 S SRY=4,SRCONT=1 47 D SETCONT() Q:'SRCONT 48 W "NOTE DATED: " 49 W $$DATE^SROESPR(^TMP("SRLQ",$J,SRDA,1301,"I"),"MM/DD/CCYY HR:MIN") 50 W ?30,$$UP^XLFSTR(^TMP("SRLQ",$J,SRDA,.01,"E")),! 51 I +$G(^TMP("SRLQ",$J,SRDA,1205,"I")) D 52 .S LOC=$G(^TMP("SRLQ",$J,SRDA,1205,"I")) Q:'$D(^SC(LOC,0)) 53 .W $S($P(^SC(LOC,0),U,3)="W":"ADMITTED: ",1:"VISIT: ") 54 .W $$DATE^SROESPR(^TMP("SRLQ",$J,SRDA,.07,"I"),"MM/DD/CCYY HR:MIN") 55 .W " ",$G(^TMP("SRLQ",$J,SRDA,1205,"E")) 56 I ^TMP("SRLQ",$J,SRDA,1701,"E")]"" W !,"SUBJECT: ",^("E"),! 57 S SRCONT1=1 58 I $D(^TMP("SRLQ",$J,SRDA,"PROBLEM")) D Q:'SRCONT 59 .D SETCONT() Q:'SRCONT 60 .W !,"ASSOCIATED PROBLEMS:" 61 .N SRI S SRI=0 62 .F S SRI=$O(^TMP("SRLQ",$J,SRDA,"PROBLEM",SRI)) Q:'SRI D Q:'SRCONT 63 ..W !,^(SRI,0) 64 ..D SETCONT() Q:'SRCONT 65 W ! 66 ; 67 S SRI=0,DIWF="WN",DIWL=1,DIWR=79 K ^UTILITY($J,"W") 68 F S SRI=$O(^TMP("SRLQ",$J,SRDA,"TEXT",SRI)) Q:SRI'>0 D Q:'SRCONT ; D ^DIWW 69 . D SETCONT() Q:'SRCONT 70 . S X=^TMP("SRLQ",$J,SRDA,"TEXT",SRI,0) S:X="" X=" " D ^DIWP 71 D ^DIWW K ^UTILITY($J,"W") 72 Q:'SRCONT 73 RPTSIG ; Signature should be on bottom of form, Addenda on Subsequent pages 74 N AUTHOR,EXPSIGNR,EXPCOSNR,SIGNDATE,SIGNEDBY,SIGNNAME,SIGTITL,SIGNMODE 75 N COSGDATE,COSGEDBY,COSGNAME,COSGTITL,COSGMODE,SIGCHRT,COSCHRT,SRLINE 76 S $P(SRLINE,"-",81)="" 77 S AUTHOR=$G(^TMP("SRLQ",$J,SRDA,1202,"I"))_";"_$G(^("E")) 78 S EXPSIGNR=$G(^TMP("SRLQ",$J,SRDA,1204,"I"))_";"_$G(^("E")) 79 S EXPCOSNR=$G(^TMP("SRLQ",$J,SRDA,1208,"I"))_";"_$G(^("E")) 80 S SIGNDATE=$G(^TMP("SRLQ",$J,SRDA,1501,"I")) 81 S SIGNEDBY=$G(^TMP("SRLQ",$J,SRDA,1502,"I"))_";"_$G(^("E")) 82 S SIGNNAME=$G(^TMP("SRLQ",$J,SRDA,1503,"E")) 83 S SIGTITL=$G(^TMP("SRLQ",$J,SRDA,1504,"E")) 84 S SIGNMODE=$G(^TMP("SRLQ",$J,SRDA,1505,"I"))_";"_$G(^("E")) 85 S COSGDATE=$G(^TMP("SRLQ",$J,SRDA,1507,"I")) 86 S COSGEDBY=$G(^TMP("SRLQ",$J,SRDA,1508,"I"))_";"_$G(^("E")) 87 S COSGNAME=$G(^TMP("SRLQ",$J,SRDA,1509,"E")) 88 S COSGTITL=$G(^TMP("SRLQ",$J,SRDA,1510,"E")) 89 S COSGMODE=$G(^TMP("SRLQ",$J,SRDA,1511,"I"))_";"_$G(^("E")) 90 S SIGCHRT=$G(^TMP("SRLQ",$J,SRDA,1512,"I"))_";"_$G(^("E")) 91 S COSCHRT=$G(^TMP("SRLQ",$J,SRDA,1513,"I"))_";"_$G(^("E")) 92 D SETCONT() Q:'SRCONT W ! 93 D SIGBLK Q:'SRCONT 94 ADDENDA ; Surgery Reports Addenda 95 N DIW,DIWF,DIWL,DIWR,DIWT,X,Z,SRI,SRADD 96 S SRADD=0,DIWF="WN",DIWL=1,DIWR=79 K ^UTILITY($J,"W") 97 F S SRADD=$O(^TMP("SRLQ",$J,SRDA,"ZADD",SRADD)) Q:SRADD'>0 D Q:'SRCONT 98 . S SRY=4 D SETCONT() Q:'SRCONT 99 . W !!,$$DATE^SROESPR(^TMP("SRLQ",$J,SRDA,"ZADD",SRADD,1301,"I"),"MM/DD/CCYY HR:MIN"),?21,"ADDENDUM" 100 . W ?41,"STATUS: ",^TMP("SRLQ",$J,SRDA,"ZADD",SRADD,.05,"E") 101 . S SRI=0 102 . F S SRI=$O(^TMP("SRLQ",$J,SRDA,"ZADD",SRADD,"TEXT",SRI)) Q:SRI'>0 D Q:'SRCONT 103 . . D SETCONT() Q:'SRCONT 104 . . S X=^TMP("SRLQ",$J,SRDA,"ZADD",SRADD,"TEXT",SRI,0) S:X="" X=" " D ^DIWP 105 . D ^DIWW 106 . D:SRCONT ADDENSIG 107 K ^UTILITY($J,"W") 108 ; Write 2 linefeeds between records 109 Q:'SRCONT W !! 110 Q 111 ADDENSIG ; 112 N AUTHOR,EXPSIGNR,ATTNDING,SIGNDATE,SIGNEDBY,SIGNNAME,SIGNMODE 113 N COSGDATE,COSGEDBY,COSGNAME,COSGMODE,SRLINE S $P(SRLINE,"-",80)="" 114 S AUTHOR=$G(^TMP("SRLQ",$J,SRDA,"ZADD",SRADD,1202,"I"))_";"_$G(^("E")) 115 S EXPSIGNR=$G(^TMP("SRLQ",$J,SRDA,"ZADD",SRADD,1204,"I"))_";"_$G(^("E")) 116 S ATTNDING=$G(^TMP("SRLQ",$J,SRDA,"ZADD",SRADD,1209,"I"))_";"_$G(^("E")) 117 S SIGNDATE=$G(^TMP("SRLQ",$J,SRDA,"ZADD",SRADD,1501,"I")) 118 S SIGNEDBY=$G(^TMP("SRLQ",$J,SRDA,"ZADD",SRADD,1502,"I"))_";"_$G(^("E")) 119 S SIGNNAME=$G(^TMP("SRLQ",$J,SRDA,"ZADD",SRADD,1503,"E")) 120 S SIGTITL=$G(^TMP("SRLQ",$J,SRDA,"ZADD",SRADD,1504,"E")) 121 S SIGNMODE=$G(^TMP("SRLQ",$J,SRDA,"ZADD",SRADD,1505,"I"))_";"_$G(^("E")) 122 S COSGDATE=$G(^TMP("SRLQ",$J,SRDA,"ZADD",SRADD,1507,"I")) 123 S COSGEDBY=$G(^TMP("SRLQ",$J,SRDA,"ZADD",SRADD,1508,"I"))_";"_$G(^("E")) 124 S COSGNAME=$G(^TMP("SRLQ",$J,SRDA,"ZADD",SRADD,1509,"E")) 125 S COSGTITL=$G(^TMP("SRLQ",$J,SRDA,"ZADD",SRADD,1510,"E")) 126 S COSGMODE=$G(^TMP("SRLQ",$J,SRDA,"ZADD",SRADD,1511,"I"))_";"_$G(^("E")) 127 S SRY=11 128 SIGBLK N SRGROOT S SRGROOT=$NA(^TMP("SRLQ",$J,SRDA)) 129 I '+SIGNDATE D D SETCONT() Q:'SRCONT 130 .I $$STATUS^SROESUTL(SRDA)'=7 W !,"**DRAFT COPY - DRAFT COPY -- ABOVE NOTE IS UNSIGNED-- DRAFT COPY - DRAFT COPY**" 131 I SIGNEDBY]"",(+SIGNEDBY'=+AUTHOR) D 132 . W ?21,"Author: ",$P(AUTHOR,";",2),! 133 I +SIGNDATE D SETCONT() Q:'SRCONT D 134 . W ?18,"Signed by:",$S($P(SIGNMODE,";")="C":" /s/ ",1:" /es/ "),?34,$S(SIGNNAME]"":SIGNNAME,1:$P(SIGNEDBY,";",2)) 135 . W !?34,SIGTITL 136 . I $L(SIGTITL)>30 W !?34 137 . E W " " 138 . W $$DATE^SROESPR(+SIGNDATE,"MM/DD/CCYY HR:MIN") 139 . I '+$G(SRFLAG)!($E(IOST)="C") D 140 . . I $P($$BEEP^SROESPR(+SIGNEDBY),U) W !?34,"Analog Pager: ",$P($$BEEP^SROESPR(+SIGNEDBY),U) 141 . . I $P($$BEEP^SROESPR(+SIGNEDBY),U,2) W !?34,"Digital Pager: ",$P($$BEEP^SROESPR(+SIGNEDBY),U,2) 142 I $G(^TMP("SRLQ",$J,SRDA,.05,"E"))="UNCOSIGNED" D 143 . W !?34,"**REQUIRES COSIGNATURE**",! 144 I +SIGCHRT,$P(SIGNMODE,";")="C" D SETCONT() Q:'SRCONT D 145 . W !?2,"Marked signed on chart by:",?34,$P(SIGCHRT,";",2) 146 I +$G(SRADD) S SRGROOT=$NA(^TMP("SRLQ",$J,SRDA,"ZADD",SRADD)) 147 I +$D(@SRGROOT@("EXTRASGNR")) D 148 . N SRI S SRI=0 149 . D SETCONT() Q:'SRCONT W !?4,"Receipt Acknowledged By:" 150 . F S SRI=$O(@SRGROOT@("EXTRASGNR",SRI)) Q:'SRI D 151 . . I +$G(@SRGROOT@("EXTRASGNR",SRI,"DATE"))'>0 Q 152 . . I SRI>1 D SETCONT() Q:'SRCONT W ! 153 . . W ?29,"/es/ ",$G(@SRGROOT@("EXTRASGNR",SRI,"NAME")) 154 . . W !?34,$G(@SRGROOT@("EXTRASGNR",SRI,"TITLE")) 155 . . I $L($G(@SRGROOT@("EXTRASGNR",SRI,"TITLE")))>30 W !?34 156 . . E W " " 157 . . W $$DATE^SROESPR($G(@SRGROOT@("EXTRASGNR",SRI,"DATE")),"MM/DD/CCYY HR:MIN") 158 . . I '+$G(SRFLAG)!($E(IOST)="C") D 159 . . . N BEEP 160 . . . S BEEP=$$BEEP^SROESPR(+$G(@SRGROOT@("EXTRASGNR",SRI,"EXTRA"))) 161 . . . I +BEEP W !?34,"Analog Pager: ",$P(BEEP,U) 162 . . . I +$P(BEEP,U,2) W !?34,"Digital Pager: ",$P(BEEP,U,2) 163 . K @SRGROOT@("EXTRASGNR") 164 I +COSGDATE,(+COSGEDBY'=+SIGNEDBY) D SETCONT() Q:'SRCONT D 165 . W !?16,"Cosigned by:",$S($P(COSGMODE,";")="C":" /s/ ",1:" /es/ "),?34,$S(COSGNAME]"":COSGNAME,1:$P(COSGEDBY,";",2)) 166 . W !?34,COSGTITL," " 167 . W $$DATE^SROESPR(+COSGDATE,"MM/DD/CCYY HR:MIN") 168 . I '+$G(SRFLAG)!($E(IOST)="C") D 169 . . I $P($$BEEP^SROESPR(+COSGEDBY),U) W !?34,"Analog Pager: ",$P($$BEEP^SROESPR(+COSGEDBY),U) 170 . . I $P($$BEEP^SROESPR(+COSGEDBY),U,2) W !?34,"Digital Pager:",$P($$BEEP^SROESPR(+COSGEDBY),U,2) 171 I +COSCHRT,$P(COSGMODE,";")="C" D SETCONT() Q:'SRCONT D 172 . W !,"Marked cosigned on chart by:",?34,$P(COSCHRT,";",2) 173 W ! 174 K SRCONT1 175 AMEND ; signature blocks of amender 176 S SRY=4 D SETCONT() Q:'SRCONT 177 I +$G(@SRGROOT@(1601,"I")) D 178 . W !!?12,"Amendment Filed:",?34,$$DATE^SROESPR(@SRGROOT@(1601,"I"),"MM/DD/CCYY HR:MIN") 179 . I $G(@SRGROOT@(1603,"E"))']"" D 180 . . W !!?29 F SRI=1:1:40 W "_" 181 . . W !?29,$$SIGNAME^SROESPR(@SRGROOT@(1602,"I")) 182 . . W !?29,$$SIGTITL^SROESPR(@SRGROOT@(1602,"I")) 183 . I $G(@SRGROOT@(1604,"E"))]"" D 184 . . W !?29,"/es/",?34,@SRGROOT@(1604,"E") 185 . . W !?34,@SRGROOT@(1605,"E") 186 Q 187 SETCONT(SRHEAD) ;Does footer and sets SRCONT 188 S SRCONT=$$FOOTER^SROESPR2(.SRFOOT,SRFLAG,SRPFNBR,$G(SRHEAD),$G(SRCONT1),SRDA) 189 Q 1 SROESPR1 ;BIR/ADM - SURGERY E-SIG UTILITY ; [ 04/21/04 12:08 PM ] 2 ;;3.0; Surgery ;**100,128**;24 Jun 93 3 ; 4 ;** NOTICE: This routine is part of an implementation of a nationally 5 ;** controlled procedure. Local modifications to this routine 6 ;** are prohibited. 7 ; 8 ; Reference to EXTRACT^TIULQ supported by DBIA #2693 9 ; 10 ; This routine was cloned in part or in whole from TIUPRPN1. 11 PRINT(SRFLAG,SRSPG) ; Print Summary 12 ; ^TMP("SRPR",$J) is array of records passed by reference 13 ; SRFLAG=1 --> Chart Copy SRSPG=1 --> Contiguous 14 ; SRFLAG=0 --> Work Copy SRSPG=0 --> Fresh Page- each note 15 N SRI,SRJ,SRPAGE,SRFOOT,SRK,SRDA,SRCONT,SRPGRP,SRTYP 16 N SRPFHDR,SRPFNBR,SROPAGE 17 S SRFLAG=+$G(SRFLAG),SRSPG=+$G(SRSPG) 18 S SRI=0 F S SRI=$O(^TMP("SRPR",$J,SRI)) Q:SRI="" D Q:'SRCONT 19 . N DFN,SR,SRERR 20 . I SRI["$" S SRPGRP=$P(SRI,"$"),SRPFHDR=$P($P(SRI,";"),"$",2) 21 . E S SRPFHDR="Surgery Reports" 22 . I $G(SRPGRP)'=2 S SRSPG=0 23 . S DFN=$P(SRI,";",2) 24 . D PAT^SROESPR(.SRFOOT,DFN) 25 . I +$G(SRSPG) D HEADER^SROESPR2(.SRFOOT,SRFLAG,.SRPFHDR) 26 . S SRJ=0 F S SRJ=$O(^TMP("SRPR",$J,SRI,SRJ)) Q:'SRJ D Q:'SRCONT 27 . . S SRK=0 F S SRK=$O(^TMP("SRPR",$J,SRI,SRJ,SRK)) Q:'SRK D Q:'+$G(SRCONT) 28 . . . N SRERR1,SRW K SRCONT1 S SRPFNBR=^(SRK) 29 . . . ; If the document has been deleted, QUIT 30 . . . D EXTRACT^TIULQ(SRK,"SRW",.SRERR1,".01") I $P($G(SRERR1),"^")=1 S SRCONT=1 Q 31 . . . I '+$G(SRSPG) D HEADER^SROESPR2(.SRFOOT,SRFLAG,.SRPFHDR) 32 . . . S SRDA=SRK 33 . . . D REPORT(SRDA) Q:'+$G(SRCONT) 34 . . . I '+$G(SRSPG) K SRCONT1 D SETCONT(1) 35 . . . I $E(IOST)="C",'$O(^TMP("SRPR",$J,SRI,SRJ,SRK)) S SRCONT=0 36 . Q:'SRCONT I $E(IOST)="C" S SRCONT=$$STOP^SROESPR2() Q:'SRCONT 37 . I +$G(SRSPG),$E(IOST)'="C" K SRCONT1 D SETCONT(1) 38 Q 39 REPORT(SRDA) ; Report Text 40 N DIW,DIWF,DIWL,DIWR,DIWT,SRERR,SR,SRI,SRLINE,X,Z,SRY,LOC 41 K ^TMP("SRLQ",$J) 42 S SRLINE=0 43 D EXTRACT^TIULQ(+SRDA,"^TMP(""SRLQ"",$J)",.SRERR,"",SRLINE,1) 44 I +$G(SRERR) W !,$P(SRERR,U,2) Q 45 Q:'$D(^TMP("SRLQ",$J)) 46 S SRY=4,SRCONT=1 47 D SETCONT() Q:'SRCONT 48 W "NOTE DATED: " 49 W $$DATE^SROESPR(^TMP("SRLQ",$J,SRDA,1301,"I"),"MM/DD/CCYY HR:MIN") 50 W ?30,$$UP^XLFSTR(^TMP("SRLQ",$J,SRDA,.01,"E")),! 51 I +$G(^TMP("SRLQ",$J,SRDA,1205,"I")) D 52 .S LOC=$G(^TMP("SRLQ",$J,SRDA,1205,"I")) Q:'$D(^SC(LOC,0)) 53 .W $S($P(^SC(LOC,0),U,3)="W":"ADMITTED: ",1:"VISIT: ") 54 .W $$DATE^SROESPR(^TMP("SRLQ",$J,SRDA,.07,"I"),"MM/DD/CCYY HR:MIN") 55 .W " ",$G(^TMP("SRLQ",$J,SRDA,1205,"E")) 56 I ^TMP("SRLQ",$J,SRDA,1701,"E")]"" W !,"SUBJECT: ",^("E"),! 57 S SRCONT1=1 58 I $D(^TMP("SRLQ",$J,SRDA,"PROBLEM")) D Q:'SRCONT 59 .D SETCONT() Q:'SRCONT 60 .W !,"ASSOCIATED PROBLEMS:" 61 .N SRI S SRI=0 62 .F S SRI=$O(^TMP("SRLQ",$J,SRDA,"PROBLEM",SRI)) Q:'SRI D Q:'SRCONT 63 ..W !,^(SRI,0) 64 ..D SETCONT() Q:'SRCONT 65 W ! 66 ; 67 S SRI=0,DIWF="WN",DIWL=1,DIWR=79 K ^UTILITY($J,"W") 68 F S SRI=$O(^TMP("SRLQ",$J,SRDA,"TEXT",SRI)) Q:SRI'>0 D Q:'SRCONT ; D ^DIWW 69 . D SETCONT() Q:'SRCONT 70 . S X=^TMP("SRLQ",$J,SRDA,"TEXT",SRI,0) S:X="" X=" " D ^DIWP 71 D ^DIWW K ^UTILITY($J,"W") 72 Q:'SRCONT 73 RPTSIG ; Signature should be on bottom of form, Addenda on Subsequent pages 74 N AUTHOR,EXPSIGNR,EXPCOSNR,SIGNDATE,SIGNEDBY,SIGNNAME,SIGTITL,SIGNMODE 75 N COSGDATE,COSGEDBY,COSGNAME,COSGTITL,COSGMODE,SIGCHRT,COSCHRT,SRLINE 76 S $P(SRLINE,"-",81)="" 77 S AUTHOR=$G(^TMP("SRLQ",$J,SRDA,1202,"I"))_";"_$G(^("E")) 78 S EXPSIGNR=$G(^TMP("SRLQ",$J,SRDA,1204,"I"))_";"_$G(^("E")) 79 S EXPCOSNR=$G(^TMP("SRLQ",$J,SRDA,1208,"I"))_";"_$G(^("E")) 80 S SIGNDATE=$G(^TMP("SRLQ",$J,SRDA,1501,"I")) 81 S SIGNEDBY=$G(^TMP("SRLQ",$J,SRDA,1502,"I"))_";"_$G(^("E")) 82 S SIGNNAME=$G(^TMP("SRLQ",$J,SRDA,1503,"E")) 83 S SIGTITL=$G(^TMP("SRLQ",$J,SRDA,1504,"E")) 84 S SIGNMODE=$G(^TMP("SRLQ",$J,SRDA,1505,"I"))_";"_$G(^("E")) 85 S COSGDATE=$G(^TMP("SRLQ",$J,SRDA,1507,"I")) 86 S COSGEDBY=$G(^TMP("SRLQ",$J,SRDA,1508,"I"))_";"_$G(^("E")) 87 S COSGNAME=$G(^TMP("SRLQ",$J,SRDA,1509,"E")) 88 S COSGTITL=$G(^TMP("SRLQ",$J,SRDA,1510,"E")) 89 S COSGMODE=$G(^TMP("SRLQ",$J,SRDA,1511,"I"))_";"_$G(^("E")) 90 S SIGCHRT=$G(^TMP("SRLQ",$J,SRDA,1512,"I"))_";"_$G(^("E")) 91 S COSCHRT=$G(^TMP("SRLQ",$J,SRDA,1513,"I"))_";"_$G(^("E")) 92 D SETCONT() Q:'SRCONT W ! 93 D SIGBLK Q:'SRCONT 94 ADDENDA ; Surgery Reports Addenda 95 N DIW,DIWF,DIWL,DIWR,DIWT,X,Z,SRI,SRADD 96 S SRADD=0,DIWF="WN",DIWL=1,DIWR=79 K ^UTILITY($J,"W") 97 F S SRADD=$O(^TMP("SRLQ",$J,SRDA,"ZADD",SRADD)) Q:SRADD'>0 D Q:'SRCONT 98 . S SRY=4 D SETCONT() Q:'SRCONT 99 . W !!,$$DATE^SROESPR(^TMP("SRLQ",$J,SRDA,"ZADD",SRADD,1301,"I"),"MM/DD/CCYY HR:MIN"),?21,"ADDENDUM" 100 . S SRI=0 101 . F S SRI=$O(^TMP("SRLQ",$J,SRDA,"ZADD",SRADD,"TEXT",SRI)) Q:SRI'>0 D Q:'SRCONT 102 . . D SETCONT() Q:'SRCONT 103 . . S X=^TMP("SRLQ",$J,SRDA,"ZADD",SRADD,"TEXT",SRI,0) S:X="" X=" " D ^DIWP 104 . D ^DIWW 105 . D:SRCONT ADDENSIG 106 K ^UTILITY($J,"W") 107 ; Write 2 linefeeds between records 108 Q:'SRCONT W !! 109 Q 110 ADDENSIG ; 111 N AUTHOR,EXPSIGNR,ATTNDING,SIGNDATE,SIGNEDBY,SIGNNAME,SIGNMODE 112 N COSGDATE,COSGEDBY,COSGNAME,COSGMODE,SRLINE S $P(SRLINE,"-",80)="" 113 S AUTHOR=$G(^TMP("SRLQ",$J,SRDA,"ZADD",SRADD,1202,"I"))_";"_$G(^("E")) 114 S EXPSIGNR=$G(^TMP("SRLQ",$J,SRDA,"ZADD",SRADD,1204,"I"))_";"_$G(^("E")) 115 S ATTNDING=$G(^TMP("SRLQ",$J,SRDA,"ZADD",SRADD,1209,"I"))_";"_$G(^("E")) 116 S SIGNDATE=$G(^TMP("SRLQ",$J,SRDA,"ZADD",SRADD,1501,"I")) 117 S SIGNEDBY=$G(^TMP("SRLQ",$J,SRDA,"ZADD",SRADD,1502,"I"))_";"_$G(^("E")) 118 S SIGNNAME=$G(^TMP("SRLQ",$J,SRDA,"ZADD",SRADD,1503,"E")) 119 S SIGTITL=$G(^TMP("SRLQ",$J,SRDA,"ZADD",SRADD,1504,"E")) 120 S SIGNMODE=$G(^TMP("SRLQ",$J,SRDA,"ZADD",SRADD,1505,"I"))_";"_$G(^("E")) 121 S COSGDATE=$G(^TMP("SRLQ",$J,SRDA,"ZADD",SRADD,1507,"I")) 122 S COSGEDBY=$G(^TMP("SRLQ",$J,SRDA,"ZADD",SRADD,1508,"I"))_";"_$G(^("E")) 123 S COSGNAME=$G(^TMP("SRLQ",$J,SRDA,"ZADD",SRADD,1509,"E")) 124 S COSGTITL=$G(^TMP("SRLQ",$J,SRDA,"ZADD",SRADD,1510,"E")) 125 S COSGMODE=$G(^TMP("SRLQ",$J,SRDA,"ZADD",SRADD,1511,"I"))_";"_$G(^("E")) 126 S SRY=11 127 SIGBLK N SRGROOT S SRGROOT=$NA(^TMP("SRLQ",$J,SRDA)) 128 I '+SIGNDATE D D SETCONT() Q:'SRCONT 129 .I $$STATUS^SROESUTL(SRDA)'=7 W !,"**DRAFT COPY - DRAFT COPY -- ABOVE NOTE IS UNSIGNED-- DRAFT COPY - DRAFT COPY**" 130 I SIGNEDBY]"",(+SIGNEDBY'=+AUTHOR) D 131 . W ?21,"Author: ",$P(AUTHOR,";",2),! 132 I +SIGNDATE D SETCONT() Q:'SRCONT D 133 . W ?18,"Signed by:",$S($P(SIGNMODE,";")="C":" /s/ ",1:" /es/ "),?34,$S(SIGNNAME]"":SIGNNAME,1:$P(SIGNEDBY,";",2)) 134 . W !?34,SIGTITL 135 . I $L(SIGTITL)>30 W !?34 136 . E W " " 137 . W $$DATE^SROESPR(+SIGNDATE,"MM/DD/CCYY HR:MIN") 138 . I '+$G(SRFLAG)!($E(IOST)="C") D 139 . . I $P($$BEEP^SROESPR(+SIGNEDBY),U) W !?34,"Analog Pager: ",$P($$BEEP^SROESPR(+SIGNEDBY),U) 140 . . I $P($$BEEP^SROESPR(+SIGNEDBY),U,2) W !?34,"Digital Pager: ",$P($$BEEP^SROESPR(+SIGNEDBY),U,2) 141 I $G(^TMP("SRLQ",$J,SRDA,.05,"E"))="UNCOSIGNED" D 142 . W !?34,"**REQUIRES COSIGNATURE**",! 143 I +SIGCHRT,$P(SIGNMODE,";")="C" D SETCONT() Q:'SRCONT D 144 . W !?2,"Marked signed on chart by:",?34,$P(SIGCHRT,";",2) 145 I +$G(SRADD) S SRGROOT=$NA(^TMP("SRLQ",$J,SRDA,"ZADD",SRADD)) 146 I +$D(@SRGROOT@("EXTRASGNR")) D 147 . N SRI S SRI=0 148 . D SETCONT() Q:'SRCONT W !?4,"Receipt Acknowledged By:" 149 . F S SRI=$O(@SRGROOT@("EXTRASGNR",SRI)) Q:'SRI D 150 . . I +$G(@SRGROOT@("EXTRASGNR",SRI,"DATE"))'>0 Q 151 . . I SRI>1 D SETCONT() Q:'SRCONT W ! 152 . . W ?29,"/es/ ",$G(@SRGROOT@("EXTRASGNR",SRI,"NAME")) 153 . . W !?34,$G(@SRGROOT@("EXTRASGNR",SRI,"TITLE")) 154 . . I $L($G(@SRGROOT@("EXTRASGNR",SRI,"TITLE")))>30 W !?34 155 . . E W " " 156 . . W $$DATE^SROESPR($G(@SRGROOT@("EXTRASGNR",SRI,"DATE")),"MM/DD/CCYY HR:MIN") 157 . . I '+$G(SRFLAG)!($E(IOST)="C") D 158 . . . N BEEP 159 . . . S BEEP=$$BEEP^SROESPR(+$G(@SRGROOT@("EXTRASGNR",SRI,"EXTRA"))) 160 . . . I +BEEP W !?34,"Analog Pager: ",$P(BEEP,U) 161 . . . I +$P(BEEP,U,2) W !?34,"Digital Pager: ",$P(BEEP,U,2) 162 . K @SRGROOT@("EXTRASGNR") 163 I +COSGDATE,(+COSGEDBY'=+SIGNEDBY) D SETCONT() Q:'SRCONT D 164 . W !?16,"Cosigned by:",$S($P(COSGMODE,";")="C":" /s/ ",1:" /es/ "),?34,$S(COSGNAME]"":COSGNAME,1:$P(COSGEDBY,";",2)) 165 . W !?34,COSGTITL," " 166 . W $$DATE^SROESPR(+COSGDATE,"MM/DD/CCYY HR:MIN") 167 . I '+$G(SRFLAG)!($E(IOST)="C") D 168 . . I $P($$BEEP^SROESPR(+COSGEDBY),U) W !?34,"Analog Pager: ",$P($$BEEP^SROESPR(+COSGEDBY),U) 169 . . I $P($$BEEP^SROESPR(+COSGEDBY),U,2) W !?34,"Digital Pager:",$P($$BEEP^SROESPR(+COSGEDBY),U,2) 170 I +COSCHRT,$P(COSGMODE,";")="C" D SETCONT() Q:'SRCONT D 171 . W !,"Marked cosigned on chart by:",?34,$P(COSCHRT,";",2) 172 W ! 173 K SRCONT1 174 AMEND ; signature blocks of amender 175 S SRY=4 D SETCONT() Q:'SRCONT 176 I +$G(@SRGROOT@(1601,"I")) D 177 . W !!?12,"Amendment Filed:",?34,$$DATE^SROESPR(@SRGROOT@(1601,"I"),"MM/DD/CCYY HR:MIN") 178 . I $G(@SRGROOT@(1603,"E"))']"" D 179 . . W !!?29 F SRI=1:1:40 W "_" 180 . . W !?29,$$SIGNAME^SROESPR(@SRGROOT@(1602,"I")) 181 . . W !?29,$$SIGTITL^SROESPR(@SRGROOT@(1602,"I")) 182 . I $G(@SRGROOT@(1604,"E"))]"" D 183 . . W !?29,"/es/",?34,@SRGROOT@(1604,"E") 184 . . W !?34,@SRGROOT@(1605,"E") 185 Q 186 SETCONT(SRHEAD) ;Does footer and sets SRCONT 187 S SRCONT=$$FOOTER^SROESPR2(.SRFOOT,SRFLAG,SRPFNBR,$G(SRHEAD),$G(SRCONT1),SRDA) 188 Q -
WorldVistAEHR/trunk/r/SURGERY-SR/SROGMTS.m
r613 r623 1 SROGMTS ;BIR/ADM - SURGERY HEALTH SUMMARY ; [ 08/08/01 7:12 AM ] 2 ;;3.0; Surgery ;**100,127,162**;24 Jun 93;Build 4 3 ; 4 ;** NOTICE: This routine is part of an implementation of a nationally 5 ;** controlled procedure. Local modifications to this routine 6 ;** are prohibited. 7 ; 8 ; Reference to $$MOD^ICPTMOD supported by DBIA #1996 9 ; Reference to $$CPT^ICPTCOD supported by DBIA #1995 10 ; 11 Q 12 HS(X) ; return case information for a surical or non-OR case 13 ; X - case number (IEN) in file 130 14 K REC N SRCPTM,SRSG,DA,DR,DIC,DIQ,IEN,IENS,FILE,FLD,FLDS,FLDI 15 N FLDA,FLDB,FLDR,FLDRT,IEN,SRI,SRRT,SRT,SRS,SRC,SRCS 16 S SRCPTM=1 17 Q:'$D(^SRF(X,0)) S (IENS,IEN,X)=+($G(X)),U="^" 18 S:'$D(DT) DT=$$HTFM^XLFDT($H,1) S:'$D(DTIME) DTIME=300 19 S (FILE,DIC)=130,DA=+($G(X)),DIQ="REC(",DIQ(0)="IE" 20 S SRSG=$$SG(IEN),REC(130,IEN,118,"E")=$S(SRSG=0:"YES",1:""),REC(130,IEN,118,"I")=$S(SRSG=0:"Y",1:"") 21 S:+SRSG DR=".09;.04;.14;.164;.205;.22;.23;.31;10;15;17;26;27;32;34;36;39;43;49;50" 22 S:'SRSG DR=".09;.31;26;27;33;50;55;59;66;121;122;123;124;125" 23 D EN^DIQ1 S REC(130,IEN,"STATUS")=$$OS(IEN) S:+SRSG REC(130,IEN,"VERIFIED")=$S($G(REC(130,IEN,43,"I"))'="Y":"(Unverified)",1:"") 24 S SRM=$G(REC(130,IEN,27,"I")) I SRM>0 D CPT(SRM,$P($G(^SRF(IEN,0)),"^",9),130,27) 25 D DICT^SROGMTS0,SUB,SPD 26 S:$D(REC(130,IEN,32)) REC(130,IEN,32,"S")=$$EN2^SROGMTS0($G(REC(130,IEN,32,"E"))) 27 S:$D(REC(130,IEN,33)) REC(130,IEN,33,"S")=$$EN2^SROGMTS0($G(REC(130,IEN,33,"E"))) 28 S:$D(REC(130,IEN,34)) REC(130,IEN,34,"S")=$$EN2^SROGMTS0($G(REC(130,IEN,34,"E"))) 29 S:$D(REC(130,IEN,.04)) REC(130,IEN,.04,"S")=$$EN2^SROGMTS0($G(REC(130,IEN,.04,"E"))) 30 S:$D(REC(130,IEN,125)) REC(130,IEN,125,"S")=$$EN2^SROGMTS0($G(REC(130,IEN,125,"E"))) 31 I $L($G(REC(130,IEN,33,"S"))) D 32 . S:'$L($G(REC(130,IEN,66,"E"))) REC(130,IEN,33,"S")=$G(REC(130,IEN,33,"S"))_" (Unknown)" 33 . S:$L($G(REC(130,IEN,66,"E"))) REC(130,IEN,33,"S")=$G(REC(130,IEN,33,"S"))_" (ICD "_$G(REC(130,IEN,66,"E"))_")" 34 S:+($G(REC(130,IEN,.09,"I")))>0 REC(130,IEN,.09,"S")=$$ED^SROGMTS0($G(REC(130,IEN,.09,"I"))) 35 S:+($G(REC(130,IEN,15,"I")))>0 REC(130,IEN,15,"S")=$$EDT^SROGMTS0($G(REC(130,IEN,15,"I"))) 36 S:+($G(REC(130,IEN,39,"I"))) REC(130,IEN,39,"S")=$$EDT^SROGMTS0($G(REC(130,IEN,39,"I"))) 37 S:+SRSG REC(130,IEN,"LAB")=$S($O(REC(130,IEN,49,0))>0:"Yes",1:"") 38 I 'SRSG D:+($O(REC(130,IEN,55,0)))>0 WP(IEN,55,58) D:+($O(REC(130,IEN,59,0)))>0 WP(IEN,59,58) 39 Q 40 ED(X) ; external date 41 S X=$G(X) Q:'$L(X) "" 42 S X=$TR($$FMTE^XLFDT(X,"5DZ"),"@"," ") 43 Q X 44 EDT(X) ; external date and time 45 S X=$G(X) Q:'$L(X) "" 46 S X=$TR($$FMTE^XLFDT(X,"2ZM"),"@"," ") 47 Q X 48 WP(X,Y,Z) ; 49 N SRI,SRF,SRW,SRGI,DIWF,DIWL,DIWR 50 S SRI=+($G(X)) Q:SRI=0!('$D(REC(130,SRI))) 51 S SRF=+($G(Y)) Q:SRF=0!('$D(REC(130,SRI,SRF))) 52 S SRW=+($G(Z)) Q:SRW'>0!(SRW>79) 53 Q:+($O(REC(130,SRI,SRF,0)))'>0 54 K ^UTILITY($J,"W") S DIWF="C"_SRW,DIWL=0,DIWR=0,SRGI=0 55 F S SRGI=$O(REC(130,SRI,SRF,SRGI)) Q:+SRGI=0 D 56 . S X=$G(REC(130,SRI,SRF,SRGI)) 57 . D ^DIWP 58 S SRGI=0 F S SRGI=$O(^UTILITY($J,"W",0,SRGI)) Q:+SRGI=0 D 59 . S REC(130,SRI,SRF,"S",SRGI)=$G(^UTILITY($J,"W",0,SRGI,0)) 60 . S REC(130,SRI,SRF,"S",0)=$G(REC(130,SRI,SRF,"S",0))+1 61 K ^UTILITY($J,"W") 62 Q 63 OS(X) ; Obtains status for OR procedures 64 N SRN S SRN=+($G(X)) S X="" I $G(REC(130,SRN,118,"I"))="Y" D Q X 65 . S:+($G(REC(130,SRN,122,"I")))>0 X="(Completed)" 66 . S:+($G(REC(130,SRN,121,"I")))>0&(+($G(REC(130,SRN,122,"I")))'>0) X="Incomplete" 67 . S:X="" X="Unknown" 68 I +($G(REC(130,SRN,17,"I")))>0 D Q X 69 . S X=$S(+($G(REC(130,SRN,.205,"I")))>0:"(Aborted)",1:"Cancelled") 70 I +($G(REC(130,SRN,.23,"I")))>0 S X="(Completed)" Q X 71 I +($G(REC(130,SRN,.22,"I")))>0 S X="Incomplete" Q X 72 I +($G(REC(130,SRN,10,"I")))>0 S X="Scheduled" Q X 73 I +($G(REC(130,SRN,36,"I")))>0,+($G(REC(130,SRN,.22,"I")))'>0 S X="Requested" Q X 74 S X="Unknown" 75 Q X 76 SUB ; 77 N DA,DR,DIC,DIQ,IENS,FILE,FLD,FLDS,FLDI,FLDA,FLDB,FLDR,FLDRT,SRM,SRC,SRI,SRJ,STXT,SNAM,SCOD,SUB 78 I +SRSG D 79 . ; 80 . ; ^SRF(DO,14,I) .72 Other Preop Diag 14;0 130.17 81 . ; $P(^SRF(DO,14,I,0),U) .01 Other Preop Diag 0;1 Text 82 . ; 83 . S DA=IEN,(FILE,DIC)=130,SUB=130.17,DR=.72,DR(SUB)=".01",DIQ="REC(130,"_IEN_",",DIQ(0)="IE" 84 . K REC(SUB) S SRI=0 F S SRI=$O(^SRF(+($G(IEN)),14,SRI)) Q:+SRI=0 D 85 . . S DA(SUB)=SRI 86 . . D EN^DIQ1 87 . . S REC(130,IEN,130.17,SRI,.01,"S")=$$EN2^SROGMTS0($G(REC(130,IEN,130.17,SRI,.01,"E"))) 88 . ; 89 . ; ^SRF(DO,15,I) .74 Other Postop Diags 15;0 130.18 90 . ; $P(^SRF(DO,15,I,0),U) .01 Other Postop Diags 0;1 Text 91 . ; 92 . S DA=IEN,(FILE,DIC)=130,SUB=130.18,DR=.74,DR(SUB)=".01",DIQ="REC(130,"_IEN_",",DIQ(0)="IE" 93 . K REC(SUB) S SRI=0 F S SRI=$O(^SRF(+($G(IEN)),15,SRI)) Q:+SRI=0 D 94 . . S DA(SUB)=SRI 95 . . D EN^DIQ1 96 . . S REC(130,IEN,130.18,SRI,.01,"S")=$$EN2^SROGMTS0($G(REC(130,IEN,130.18,SRI,.01,"E"))) 97 ; 98 ; ^SRF(SRN,"OPMOD",I) 28 Pri Pro CPT Mod OPMOD;0 130.028 99 ; $P(^SRF(SRN,"OPMOD",I,0),U) .01 Pri Pro CPT Mod 0;1 Ptr 81.3 100 ; 101 I SRCPTM D 102 . S DA=IEN,(FILE,DIC)=130,SUB=130.028,DR=28,DR(SUB)=".01",DIQ="REC(130,"_IEN_",",DIQ(0)="IE" 103 . K REC(SUB) S SRI=0 F S SRI=$O(^SRF(+($G(IEN)),"OPMOD",SRI)) Q:+SRI=0 D 104 . . S DA(SUB)=SRI 105 . . D EN^DIQ1 106 . . S SRM=+($G(REC(130,+($G(IEN)),SUB,+($G(SRI)),.01,"I"))) I SRM>0 D MOD(SRM,FILE,SUB) 107 ; 108 ; ^SRF(DO,13,I) .42 Other Proc 13;0 130.16 109 ; $P(^SRF(DO,13,I,0),U) .01 Other Proc 0;1 Text 110 ; $P(^SRF(DO,13,I,2),U) 3 Other Proc CPT Code 2;1 Ptr 81 111 ; 112 S DA=IEN,(FILE,DIC)=130,SUB=130.16,DR=.42,DR(SUB)=".01;3",DIQ="REC(130,"_IEN_",",DIQ(0)="IE" 113 K REC(SUB) S SRI=0 F S SRI=$O(^SRF(+($G(IEN)),13,SRI)) Q:+SRI=0 D 114 . S DA(SUB)=SRI 115 . D EN^DIQ1 S SRM=+($G(REC(130,IEN,130.16,SRI,3,"I"))) 116 . S:SRM>0 REC(130,IEN,130.16,SRI,3,"N")=$P($$CPT^ICPTCOD(+SRM,$P($G(^SRF(IEN,0)),"^",9)),"^",3) 117 . N SRT,SRS,SRC S SRM=$G(REC(130,IEN,130.16,SRI,3,"I")) I SRM>0 D 118 . . S SRC=$$CPT^ICPTCOD(SRM,$P($G(^SRF(IEN,0)),"^",9)),(SRCS,SRS)=$$EN2^SROGMTS0($P(SRC,"^",3)) 119 . . S REC(130,IEN,130.16,SRI,3,"X")=$P(SRC,"^",2)_"^"_$P(SRC,"^",3) 120 . . S SRC=$P(SRC,"^",2) 121 . . S SRT=$$EN2^SROGMTS0($G(REC(130,IEN,130.16,SRI,.01,"E"))) 122 . . S:$L(SRS)&(SRS'=SRT) SRT=SRT_" - "_$$EN2^SROGMTS0(SRS) 123 . . S:$L(SRC)=5 SRT=SRT_" (CPT "_SRC_")",SRCS=SRCS_" (CPT "_SRC_")" 124 . . S REC(130,IEN,130.16,SRI,3,"N")=SRS 125 . . S REC(130,IEN,130.16,SRI,.01,"S")=SRT 126 . . S REC(130,IEN,130.16,SRI,3,"S")=SRCS 127 . ; 128 . ; ^SRF(8,13,2,"MOD",0) 4 Oth Proc CPT Mod MOD;0 130.164 129 . ; ^SRF(8,13,2,"MOD",1,0) .01 Oth Proc CPT Mod 0;1 Ptr 81.3 130 . ; 131 . I SRCPTM D 132 . . N SRJ S SRJ=0 F S SRJ=$O(^SRF(+($G(IEN)),13,SRI,"MOD",SRJ)) Q:+SRJ=0 D 133 . . . N DA,FILE,DIC,SUB,DR,DIQ S DA=IEN,DR=.42,FILE=130,SUB=130.16,DR(SUB)="4",DA(SUB)=SRI,SUB=130.164,DR(SUB)=".01",DA(SUB)=SRJ,DIC=130,DIQ="REC(130,"_IEN_",130.16,"_SRI_",",DIQ(0)="IE" 134 . . . D EN^DIQ1 135 . . . S SRM=+($G(REC(130,IEN,130.16,SRI,130.164,SRJ,.01,"I"))) 136 . . . I SRM>0 N SRMOD1 D 137 . . . . S SRMOD1=$$MOD^ICPTMOD(+SRM,"I",$P($G(^SRF(IEN,0)),"^",9)) 138 . . . . S SRC=$P(SRMOD1,"^",2) 139 . . . . S SRS=$P(SRMOD1,"^",3) 140 . . . . S REC(130,IEN,130.16,SRI,SUB,SRJ,.01,"MID")=SRC 141 . . . . S REC(130,IEN,130.16,SRI,SUB,SRJ,.01,"MOD")=SRS 142 . . . . S REC(130,IEN,130.16,SRI,SUB,SRJ,.01,"X")=SRC_"^"_SRS 143 . . . . S SRT=$$EN2^SROGMTS0(SRS) S:$L(SRC) SRT=SRT_" (CPT Mod "_SRC_")" 144 . . . . S REC(130,IEN,130.16,SRI,SUB,SRJ,.01,"S")=SRT 145 . . . K REC(130,IEN,130.16,SRI,130) 146 Q 147 SG(X) ; Surgical (Operative) Record 148 S X=$$GET1^DIQ(130,+($G(X)),118,"I") S X=$S(X["Y":0,1:1) Q X 149 CPT(SRM,SRDOO,SRFIL,SRFLD) ;Set CPT code into REC array 150 S SRC=$$CPT^ICPTCOD(SRM,SRDOO),(SRCS,SRS)=$$EN2^SROGMTS0($P(SRC,"^",3)) 151 S REC(SRFIL,IEN,SRFLD,"X")=$P(SRC,"^",2)_"^"_$P(SRC,"^",3) 152 S SRC=$P(SRC,"^",2),SRT=$$EN2^SROGMTS0($G(REC(130,IEN,26,"E"))) 153 S:$L(SRS)&(SRS'=SRT) SRT=SRT_" - "_SRS 154 S:$L(SRC)=5 SRT=SRT_" (CPT "_SRC_")",SRCS=SRCS_" (CPT "_SRC_")" 155 S REC(SRFIL,IEN,SRFLD,"N")=SRS 156 S:SRFIL=130 REC(130,IEN,26,"S")=SRT 157 S REC(SRFIL,IEN,SRFLD,"S")=SRT 158 S REC(SRFIL,IEN,SRFLD,"S")=SRCS 159 Q 160 MOD(SRM,SRFIL,SUB) ;Set CPT Modifier into REC array 161 S SRMOD=$$MOD^ICPTMOD(+SRM,"I",$P($G(^SRF(IEN,0)),"^",9)) 162 S SRC=$P(SRMOD,"^",2) 163 S SRS=$P(SRMOD,"^",3) 164 S REC(SRFIL,IEN,SUB,SRI,.01,"MID")=SRC 165 S REC(SRFIL,IEN,SUB,SRI,.01,"MOD")=SRS 166 S SRT=$$EN2^SROGMTS0(SRS) 167 S:$L(SRC) SRT=SRT_" (CPT Mod "_SRC_")" 168 S REC(SRFIL,IEN,SUB,SRI,.01,"S")=SRT 169 Q 170 SPD ;Obtain Surgery Procedure/Diagnosis Code File entry 171 S (FILE,DIC)=136,DA=+($G(IEN)),DIQ="REC(",DIQ(0)="IE" 172 S DR=".01;.02;.03;10" 173 D EN^DIQ1 174 Q:'+$G(REC(FILE,IEN,10,"I")) 175 S SRM=+$G(REC(FILE,IEN,.02,"I")) 176 Q:'(SRM>0) D CPT(SRM,$P($G(^SRF(IEN,0)),"^",9),FILE,.02) 177 S SUB=136.01,DR=1,DR(SUB)=".01",DIQ="REC(136,"_IEN_"," 178 K REC(FILE,IEN,SUB) S SRI=0 F S SRI=$O(^SRO(FILE,(+$G(IEN)),DR,SRI)) Q:+SRI=0 D 179 .S DA(SUB)=SRI 180 .D EN^DIQ1 181 .S SRM=REC(FILE,IEN,SUB,SRI,.01,"I") I SRM>0 D MOD(SRM,FILE,SUB) 182 N DA S DA=IEN,SUB=136.011,DR=11,DR(SUB)=".01;1" 183 K REC(FILE,IEN,SUB) S SRI=0 F S SRI=$O(^SRO(FILE,(+$G(IEN)),DR,SRI)) Q:+SRI=0 D 184 . S DA(SUB)=SRI 185 . D EN^DIQ1 186 S $P(REC(130,IEN,26,"S"),"-",2)=" "_REC(FILE,IEN,.02,"S") 187 K REC(130,IEN,130.028) M REC(130,IEN,130.028)=REC(FILE,IEN,136.01) 188 Q 1 SROGMTS ;BIR/ADM - SURGERY HEALTH SUMMARY ; [ 08/08/01 7:12 AM ] 2 ;;3.0; Surgery ;**100,127**;24 Jun 93 3 ; 4 ;** NOTICE: This routine is part of an implementation of a nationally 5 ;** controlled procedure. Local modifications to this routine 6 ;** are prohibited. 7 ; 8 ; Reference to $$MOD^ICPTMOD supported by DBIA #1996 9 ; Reference to $$CPT^ICPTCOD supported by DBIA #1995 10 ; 11 Q 12 HS(X) ; return case information for a surical or non-OR case 13 ; X - case number (IEN) in file 130 14 K REC N SRCPTM,SRSG,DA,DR,DIC,DIQ,IEN,IENS,FILE,FLD,FLDS,FLDI 15 N FLDA,FLDB,FLDR,FLDRT,IEN,SRI,SRRT,SRT,SRS,SRC,SRCS 16 S SRCPTM=1 17 Q:'$D(^SRF(X,0)) S (IENS,IEN,X)=+($G(X)),U="^" 18 S:'$D(DT) DT=$$HTFM^XLFDT($H,1) S:'$D(DTIME) DTIME=300 19 S (FILE,DIC)=130,DA=+($G(X)),DIQ="REC(",DIQ(0)="IE" 20 S SRSG=$$SG(IEN),REC(130,IEN,118,"E")=$S(SRSG=0:"YES",1:""),REC(130,IEN,118,"I")=$S(SRSG=0:"Y",1:"") 21 S:+SRSG DR=".09;.04;.14;.164;.205;.22;.23;.31;10;15;17;26;27;32;34;36;39;43;49;50" 22 S:'SRSG DR=".09;.31;26;27;33;50;55;59;66;121;122;123;124;125" 23 D EN^DIQ1 S REC(130,IEN,"STATUS")=$$OS(IEN) S:+SRSG REC(130,IEN,"VERIFIED")=$S($G(REC(130,IEN,43,"I"))'="Y":"(Unverified)",1:"") 24 S SRM=$G(REC(130,IEN,27,"I")) I SRM>0 D 25 . S SRC=$$CPT^ICPTCOD(SRM,$P($G(^SRF(IEN,0)),"^",9)),(SRCS,SRS)=$$EN2^SROGMTS0($P(SRC,"^",3)) 26 . S REC(130,IEN,27,"X")=$P(SRC,"^",2)_"^"_$P(SRC,"^",3) 27 . S SRC=$P(SRC,"^",2),SRT=$$EN2^SROGMTS0($G(REC(130,IEN,26,"E"))) 28 . S:$L(SRS)&(SRS'=SRT) SRT=SRT_" - "_SRS 29 . S:$L(SRC)=5 SRT=SRT_" (CPT "_SRC_")",SRCS=SRCS_" (CPT "_SRC_")" 30 . S REC(130,IEN,27,"N")=SRS 31 . S (REC(130,IEN,26,"S"),REC(130,IEN,27,"S"))=SRT 32 . S REC(130,IEN,27,"S")=SRCS 33 D DICT^SROGMTS0,SUB 34 S:$D(REC(130,IEN,32)) REC(130,IEN,32,"S")=$$EN2^SROGMTS0($G(REC(130,IEN,32,"E"))) 35 S:$D(REC(130,IEN,33)) REC(130,IEN,33,"S")=$$EN2^SROGMTS0($G(REC(130,IEN,33,"E"))) 36 S:$D(REC(130,IEN,34)) REC(130,IEN,34,"S")=$$EN2^SROGMTS0($G(REC(130,IEN,34,"E"))) 37 S:$D(REC(130,IEN,.04)) REC(130,IEN,.04,"S")=$$EN2^SROGMTS0($G(REC(130,IEN,.04,"E"))) 38 S:$D(REC(130,IEN,125)) REC(130,IEN,125,"S")=$$EN2^SROGMTS0($G(REC(130,IEN,125,"E"))) 39 I $L($G(REC(130,IEN,33,"S"))) D 40 . S:'$L($G(REC(130,IEN,66,"E"))) REC(130,IEN,33,"S")=$G(REC(130,IEN,33,"S"))_" (Unknown)" 41 . S:$L($G(REC(130,IEN,66,"E"))) REC(130,IEN,33,"S")=$G(REC(130,IEN,33,"S"))_" (ICD "_$G(REC(130,IEN,66,"E"))_")" 42 S:+($G(REC(130,IEN,.09,"I")))>0 REC(130,IEN,.09,"S")=$$ED^SROGMTS0($G(REC(130,IEN,.09,"I"))) 43 S:+($G(REC(130,IEN,15,"I")))>0 REC(130,IEN,15,"S")=$$EDT^SROGMTS0($G(REC(130,IEN,15,"I"))) 44 S:+($G(REC(130,IEN,39,"I"))) REC(130,IEN,39,"S")=$$EDT^SROGMTS0($G(REC(130,IEN,39,"I"))) 45 S:+SRSG REC(130,IEN,"LAB")=$S($O(REC(130,IEN,49,0))>0:"Yes",1:"") 46 I 'SRSG D:+($O(REC(130,IEN,55,0)))>0 WP(IEN,55,58) D:+($O(REC(130,IEN,59,0)))>0 WP(IEN,59,58) 47 Q 48 ED(X) ; external date 49 S X=$G(X) Q:'$L(X) "" 50 S X=$TR($$FMTE^XLFDT(X,"5DZ"),"@"," ") 51 Q X 52 EDT(X) ; external date and time 53 S X=$G(X) Q:'$L(X) "" 54 S X=$TR($$FMTE^XLFDT(X,"2ZM"),"@"," ") 55 Q X 56 WP(X,Y,Z) ; 57 N SRI,SRF,SRW,SRGI,DIWF,DIWL,DIWR 58 S SRI=+($G(X)) Q:SRI=0!('$D(REC(130,SRI))) 59 S SRF=+($G(Y)) Q:SRF=0!('$D(REC(130,SRI,SRF))) 60 S SRW=+($G(Z)) Q:SRW'>0!(SRW>79) 61 Q:+($O(REC(130,SRI,SRF,0)))'>0 62 K ^UTILITY($J,"W") S DIWF="C"_SRW,DIWL=0,DIWR=0,SRGI=0 63 F S SRGI=$O(REC(130,SRI,SRF,SRGI)) Q:+SRGI=0 D 64 . S X=$G(REC(130,SRI,SRF,SRGI)) 65 . D ^DIWP 66 S SRGI=0 F S SRGI=$O(^UTILITY($J,"W",0,SRGI)) Q:+SRGI=0 D 67 . S REC(130,SRI,SRF,"S",SRGI)=$G(^UTILITY($J,"W",0,SRGI,0)) 68 . S REC(130,SRI,SRF,"S",0)=$G(REC(130,SRI,SRF,"S",0))+1 69 K ^UTILITY($J,"W") 70 Q 71 OS(X) ; Obtains status for OR procedures 72 N SRN S SRN=+($G(X)) S X="" I $G(REC(130,SRN,118,"I"))="Y" D Q X 73 . S:+($G(REC(130,SRN,122,"I")))>0 X="(Completed)" 74 . S:+($G(REC(130,SRN,121,"I")))>0&(+($G(REC(130,SRN,122,"I")))'>0) X="Incomplete" 75 . S:X="" X="Unknown" 76 I +($G(REC(130,SRN,17,"I")))>0 D Q X 77 . S X=$S(+($G(REC(130,SRN,.205,"I")))>0:"(Aborted)",1:"Cancelled") 78 I +($G(REC(130,SRN,.23,"I")))>0 S X="(Completed)" Q X 79 I +($G(REC(130,SRN,.22,"I")))>0 S X="Incomplete" Q X 80 I +($G(REC(130,SRN,10,"I")))>0 S X="Scheduled" Q X 81 I +($G(REC(130,SRN,36,"I")))>0,+($G(REC(130,SRN,.22,"I")))'>0 S X="Requested" Q X 82 S X="Unknown" 83 Q X 84 SUB ; 85 N DA,DR,DIC,DIQ,IENS,FILE,FLD,FLDS,FLDI,FLDA,FLDB,FLDR,FLDRT,SRM,SRC,SRI,SRJ,STXT,SNAM,SCOD,SUB 86 I +SRSG D 87 . ; 88 . ; ^SRF(DO,14,I) .72 Other Preop Diag 14;0 130.17 89 . ; $P(^SRF(DO,14,I,0),U) .01 Other Preop Diag 0;1 Text 90 . ; 91 . S DA=IEN,(FILE,DIC)=130,SUB=130.17,DR=.72,DR(SUB)=".01",DIQ="REC(130,"_IEN_",",DIQ(0)="IE" 92 . K REC(SUB) S SRI=0 F S SRI=$O(^SRF(+($G(IEN)),14,SRI)) Q:+SRI=0 D 93 . . S DA(SUB)=SRI 94 . . D EN^DIQ1 95 . . S REC(130,IEN,130.17,SRI,.01,"S")=$$EN2^SROGMTS0($G(REC(130,IEN,130.17,SRI,.01,"E"))) 96 . ; 97 . ; ^SRF(DO,15,I) .74 Other Postop Diags 15;0 130.18 98 . ; $P(^SRF(DO,15,I,0),U) .01 Other Postop Diags 0;1 Text 99 . ; 100 . S DA=IEN,(FILE,DIC)=130,SUB=130.18,DR=.74,DR(SUB)=".01",DIQ="REC(130,"_IEN_",",DIQ(0)="IE" 101 . K REC(SUB) S SRI=0 F S SRI=$O(^SRF(+($G(IEN)),15,SRI)) Q:+SRI=0 D 102 . . S DA(SUB)=SRI 103 . . D EN^DIQ1 104 . . S REC(130,IEN,130.18,SRI,.01,"S")=$$EN2^SROGMTS0($G(REC(130,IEN,130.18,SRI,.01,"E"))) 105 ; 106 ; ^SRF(SRN,"OPMOD",I) 28 Pri Pro CPT Mod OPMOD;0 130.028 107 ; $P(^SRF(SRN,"OPMOD",I,0),U) .01 Pri Pro CPT Mod 0;1 Ptr 81.3 108 ; 109 I SRCPTM D 110 . S DA=IEN,(FILE,DIC)=130,SUB=130.028,DR=28,DR(SUB)=".01",DIQ="REC(130,"_IEN_",",DIQ(0)="IE" 111 . K REC(SUB) S SRI=0 F S SRI=$O(^SRF(+($G(IEN)),"OPMOD",SRI)) Q:+SRI=0 D 112 . . S DA(SUB)=SRI 113 . . D EN^DIQ1 114 . . S SRM=+($G(REC(130,+($G(IEN)),SUB,+($G(SRI)),.01,"I"))) 115 . . I SRM>0 N SRMOD D 116 . . . S SRMOD=$$MOD^ICPTMOD(+SRM,"I",$P($G(^SRF(IEN,0)),"^",9)) 117 . . . S SRC=$P(SRMOD,"^",2) 118 . . . S SRS=$P(SRMOD,"^",3) 119 . . . S REC(130,IEN,SUB,SRI,.01,"MID")=SRC 120 . . . S REC(130,IEN,SUB,SRI,.01,"MOD")=SRS 121 . . . S SRT=$$EN2^SROGMTS0(SRS) 122 . . . S:$L(SRC) SRT=SRT_" (CPT Mod "_SRC_")" 123 . . . S REC(130,IEN,SUB,SRI,.01,"S")=SRT 124 ; 125 ; ^SRF(DO,13,I) .42 Other Proc 13;0 130.16 126 ; $P(^SRF(DO,13,I,0),U) .01 Other Proc 0;1 Text 127 ; $P(^SRF(DO,13,I,2),U) 3 Other Proc CPT Code 2;1 Ptr 81 128 ; 129 S DA=IEN,(FILE,DIC)=130,SUB=130.16,DR=.42,DR(SUB)=".01;3",DIQ="REC(130,"_IEN_",",DIQ(0)="IE" 130 K REC(SUB) S SRI=0 F S SRI=$O(^SRF(+($G(IEN)),13,SRI)) Q:+SRI=0 D 131 . S DA(SUB)=SRI 132 . D EN^DIQ1 S SRM=+($G(REC(130,IEN,130.16,SRI,3,"I"))) 133 . S:SRM>0 REC(130,IEN,130.16,SRI,3,"N")=$P($$CPT^ICPTCOD(+SRM,$P($G(^SRF(IEN,0)),"^",9)),"^",3) 134 . N SRT,SRS,SRC S SRM=$G(REC(130,IEN,130.16,SRI,3,"I")) I SRM>0 D 135 . . S SRC=$$CPT^ICPTCOD(SRM,$P($G(^SRF(IEN,0)),"^",9)),(SRCS,SRS)=$$EN2^SROGMTS0($P(SRC,"^",3)) 136 . . S REC(130,IEN,130.16,SRI,3,"X")=$P(SRC,"^",2)_"^"_$P(SRC,"^",3) 137 . . S SRC=$P(SRC,"^",2) 138 . . S SRT=$$EN2^SROGMTS0($G(REC(130,IEN,130.16,SRI,.01,"E"))) 139 . . S:$L(SRS)&(SRS'=SRT) SRT=SRT_" - "_$$EN2^SROGMTS0(SRS) 140 . . S:$L(SRC)=5 SRT=SRT_" (CPT "_SRC_")",SRCS=SRCS_" (CPT "_SRC_")" 141 . . S REC(130,IEN,130.16,SRI,3,"N")=SRS 142 . . S REC(130,IEN,130.16,SRI,.01,"S")=SRT 143 . . S REC(130,IEN,130.16,SRI,3,"S")=SRCS 144 . ; 145 . ; ^SRF(8,13,2,"MOD",0) 4 Oth Proc CPT Mod MOD;0 130.164 146 . ; ^SRF(8,13,2,"MOD",1,0) .01 Oth Proc CPT Mod 0;1 Ptr 81.3 147 . ; 148 . I SRCPTM D 149 . . N SRJ S SRJ=0 F S SRJ=$O(^SRF(+($G(IEN)),13,SRI,"MOD",SRJ)) Q:+SRJ=0 D 150 . . . N DA,FILE,DIC,SUB,DR,DIQ S DA=IEN,DR=.42,FILE=130,SUB=130.16,DR(SUB)="4",DA(SUB)=SRI,SUB=130.164,DR(SUB)=".01",DA(SUB)=SRJ,DIC=130,DIQ="REC(130,"_IEN_",130.16,"_SRI_",",DIQ(0)="IE" 151 . . . D EN^DIQ1 152 . . . S SRM=+($G(REC(130,IEN,130.16,SRI,130.164,SRJ,.01,"I"))) 153 . . . I SRM>0 N SRMOD1 D 154 . . . . S SRMOD1=$$MOD^ICPTMOD(+SRM,"I",$P($G(^SRF(IEN,0)),"^",9)) 155 . . . . S SRC=$P(SRMOD1,"^",2) 156 . . . . S SRS=$P(SRMOD1,"^",3) 157 . . . . S REC(130,IEN,130.16,SRI,SUB,SRJ,.01,"MID")=SRC 158 . . . . S REC(130,IEN,130.16,SRI,SUB,SRJ,.01,"MOD")=SRS 159 . . . . S REC(130,IEN,130.16,SRI,SUB,SRJ,.01,"X")=SRC_"^"_SRS 160 . . . . S SRT=$$EN2^SROGMTS0(SRS) S:$L(SRC) SRT=SRT_" (CPT Mod "_SRC_")" 161 . . . . S REC(130,IEN,130.16,SRI,SUB,SRJ,.01,"S")=SRT 162 . . . K REC(130,IEN,130.16,SRI,130) 163 Q 164 SG(X) ; Surgical (Operative) Record 165 S X=$$GET1^DIQ(130,+($G(X)),118,"I") S X=$S(X["Y":0,1:1) Q X -
WorldVistAEHR/trunk/r/SURGERY-SR/SROMED.m
r613 r623 1 SROMED ;BIR/MAM - ENTER/EDIT MEDICATIONS ;01/30/08 2 ;;3.0; Surgery ;**21,44,79,100,151,166**;24 Jun 93;Build 7 3 ; 4 I '$D(^XUSEC("SROEDIT",DUZ))&'$D(^XUSEC("SROANES",DUZ)) W !!!,$C(7),"You must hold the SROEDIT key or the SROANES key to use this option !",! Q 5 D ^SROLOCK G:SROLOCK END Q:'$D(SRTN) 6 N SRLCK S SRLCK=$$LOCK^SROUTL(SRTN) I 'SRLCK G END 7 START S SRQ=0,SRSMED=1 G:SRTN<1 END W @IOF S SRF=0 R !!,"ENTER MEDICATION/DOSE(MG)/ROUTE/TIME: ",M:DTIME S:'$T M="^" G:M=""!(M="^") END S SRM=$P(M,"/",1),SRD=$P(M,"/",2),SRR=$P(M,"/",3),SRT=$P(M,"/",4) W !! 8 I M="?" W !!,"Enter the medication, dose, route and time, separated by slashes (/).",!,"The Medication and time MUST be included, however the route and dose",!,"can be omitted. i.e. 'MEDICATION/DOSE//TIME' will omit the route." 9 I M="?" W !!,"Enter '??' to get a list of available drugs.",! D RET G:SRQ END G START 10 I M?.E1C.E W !!,"Your answer has a control character in it, please re-type it.",! D RET G:SRQ END G START 11 S (X,SRMM)=SRM D 12 .N SRDIC,SRD S SRDIC=50,SRDIC(0)="EMQSZ",SRD="B^C" D MIX^PSSDI(50,"SR",.SRDIC,SRD,X,,DT) 13 S SRM=$S(Y<0:"",1:$P(Y,"^",2)) 14 I SRM="",SRMM'["?" W !!,"The Drug '",SRMM,"' does not exist in your Drug file. Please re-enter. " D RET G:SRQ END G START 15 I SRMM="??" D RET G:SRQ END G START 16 D TIME G:'$D(SRT) FLAG S X=SRT D FIELD^DID(130,.204,"","INPUT TRANSFORM","SRX") S SRX=SRX("INPUT TRANSFORM") X:SRT'="" SRX S SRT=$S(X="":SRT,1:X) D ROUTE G:'$D(SRR) FLAG D DOSE G:'$D(SRD) FLAG 17 FLAG S SRF=$S('$D(SRT)!('$D(SRD))!('$D(SRR)):0,1:1) I 'SRF W !!!,"NO ACTION TAKEN",! H 2 G END 18 DIE S DA=SRTN,DIE=130,DR=".375///"_SRM,DR(2,130.33)="1///"_SRT,DR(3,130.34)="1///"_SRD_";4///"_SRR D ^DIE W !!!,"MEDICATION ENTERED ...." K DR H 2 19 G START 20 END W @IOF D ^SRSKILL D:$G(SRLCK) UNLOCK^SROUTL(SRTN) 21 Q 22 RET R !!,"Press RETURN to Continue. ",Z:DTIME S:'$T Z="^" S:Z="^" SRQ=1 Q 23 Q 24 ROUTE ; check for route of administration 25 Q:SRR="" N SRHELP,SRVALUE D CHK^DIE(130.34,4,"E",SRR,.SRVALUE) I SRVALUE'="^" S SRR=SRVALUE Q 26 D HELP^DIE(130.34,"",4,"S","SRHELP(1)") 27 W !!,"Route entered is not one of the available choices.",!,"Please enter medication route again.",!! 28 I $G(SRHELP(1,"DIHELP")) F I=1:1:SRHELP(1,"DIHELP") W SRHELP(1,"DIHELP",I),! 29 S DIR("A")="Enter ROUTE",DIR(0)="130.34,4O" D ^DIR K DIR I $D(DTOUT)!$D(DUOUT) S SRR="" Q 30 S SRR=$P(Y,"^") 31 Q 32 TIME ; check for time 33 K %DT S X=SRT,%DT="R" D ^%DT I Y>0 Q 34 W:SRT="" !!,"A time MUST be entered !" 35 I '(SRT?1N!(SRT?2N&(SRT<13))!(SRT?4N)!(SRT?3N)!(SRT?2N1":"2N)!(SRT?1N1":"2N))!(+SRT>2400)!(SRT="") S SRF=1 36 I SRF W !!,?5,"Enter the time in one of the following formats:",!,?9,"7:45, 0745, 745, 07:45, Date@Time, or NOW",!!,?5,"Time is required." 37 T1 S:SRT="" SRF=1 Q:SRF=0 R !!,"Enter Time: ",SRT:DTIME S:'$T!(SRT="") SRT="^" G:SRT["^" END W:SRT["?" !!,"Enter a time in the format above, or RETURN to bypass. An '^' will exit this option." G:SRT["?" T1 S SRF=0 G TIME 38 Q 39 DOSE ; check dosage 40 Q:SRD="" I $L(SRD)>15!($L(SRD)<1) W !!,"Dosage entered incorrectly." S SRF=1 41 I SRD="?" W !!,"Dosage must be 1 to 15 characters in length, i.e. 15 mg." S SRF=1 42 D1 I SRF=1 R !!,"ENTER DOSE: ",SRD1:DTIME S:'$T SRD1="^" K:SRD1["^" SRD Q:SRD1["^" W:SRD1["?" !!,"Dosage must be 1 to 15 characters in length" G:SRD1["?" D1 S SRD=SRD1,SRF=0 G DOSE 43 Q 44 SCR(SRFL,SRPK) ; screening for fields point to the DRUG file (#50) 45 N SRDT,SRN0,SRNODE,SROK,SRY S SROK=0,SRY=+Y K ^TMP($J,"SR") 46 I $G(SRFL)=1 S SRTN=$S($G(SRTN):SRTN,1:DA),SRN0=$G(^SRF(SRTN,0)),SRDT=$S($P(SRN0,"^",9):$P($P(SRN0,"^",9),"."),1:DT) 47 D DATA^PSS50(SRY,,$S($G(SRFL):SRDT,1:""),,,"SR") 48 I SRPK="S" D Q SROK 49 .S SRNODE=$P($G(^TMP($J,"SR",SRY,63)),"^") K ^TMP($J,"SR") I SRNODE["S" S SROK=1 50 S SROK=$S($P($G(^TMP($J,"SR",0)),"^")=-1:0,1:1) K ^TMP($J,"SR") Q SROK 1 SROMED ;B'HAM ISC/MAM - ENTER/EDIT MEDICATIONS ; [ 01/30/01 12:22 AM ] 2 ;;3.0; Surgery ;**21,44,79,100,151**;24 Jun 93 3 ; 4 ; Reference to ^PSDRUG supported by DBIA #221 5 ; 6 I '$D(^XUSEC("SROEDIT",DUZ))&'$D(^XUSEC("SROANES",DUZ)) W !!!,$C(7),"You must hold the SROEDIT key or the SROANES key to use this option !",! Q 7 D ^SROLOCK G:SROLOCK END Q:'$D(SRTN) 8 N SRLCK S SRLCK=$$LOCK^SROUTL(SRTN) I 'SRLCK G END 9 START S SRQ=0,SRSMED=1 G:SRTN<1 END W @IOF S SRF=0 R !!,"ENTER MEDICATION/DOSE(MG)/ROUTE/TIME: ",M:DTIME S:'$T M="^" G:M=""!(M="^") END S SRM=$P(M,"/",1),SRD=$P(M,"/",2),SRR=$P(M,"/",3),SRT=$P(M,"/",4) W !! 10 I M="?" W !!,"Enter the medication, dose, route and time, separated by slashes (/).",!,"The Medication and time MUST be included, however the route and dose",!,"can be omitted. i.e. 'MEDICATION/DOSE//TIME' will omit the route." 11 I M="?" W !!,"Enter '??' to get a list of available drugs.",! D RET G:SRQ END G START 12 I M?.E1C.E W !!,"Your answer has a control character in it, please re-type it.",! D RET G:SRQ END G START 13 S (X,SRMM)=SRM D 14 .I $L($T(SCREEN^PSSDI)) N SRTEST S SRTEST=50,SRTEST(0)="EQSZ" D DIC^PSSDI(50,"SR",.SRTEST,X,,DT) Q ;call PSSDI if PSS*1*104 is released 15 .S DIC="^PSDRUG(",DIC(0)="QEZM",DIC("S")="I $S('$G(^PSDRUG(Y,""I"")):1,DT'>^(""I""):1,1:0)" D ^DIC K DIC 16 S SRM=$S(Y<0:"",1:$P(Y,"^",2)) 17 I SRM="",SRMM'["?" W !!,"The Drug '",SRMM,"' does not exist in your Drug file. Please re-enter. " D RET G:SRQ END G START 18 I SRMM="??" D RET G:SRQ END G START 19 D TIME G:'$D(SRT) FLAG S X=SRT D FIELD^DID(130,.204,"","INPUT TRANSFORM","SRX") S SRX=SRX("INPUT TRANSFORM") X:SRT'="" SRX S SRT=$S(X="":SRT,1:X) D ROUTE G:'$D(SRR) FLAG D DOSE G:'$D(SRD) FLAG 20 FLAG S SRF=$S('$D(SRT)!('$D(SRD))!('$D(SRR)):0,1:1) I 'SRF W !!!,"NO ACTION TAKEN",! H 2 G END 21 DIE S DA=SRTN,DIE=130,DR=".375///"_SRM,DR(2,130.33)="1///"_SRT,DR(3,130.34)="1///"_SRD_";4///"_SRR D ^DIE W !!!,"MEDICATION ENTERED ...." K DR H 2 22 G START 23 END W @IOF D ^SRSKILL D:$G(SRLCK) UNLOCK^SROUTL(SRTN) 24 Q 25 RET R !!,"Press RETURN to Continue. ",Z:DTIME S:'$T Z="^" S:Z="^" SRQ=1 Q 26 Q 27 ROUTE ; check for route of administration 28 Q:SRR="" N SRHELP,SRVALUE D CHK^DIE(130.34,4,"E",SRR,.SRVALUE) I SRVALUE'="^" S SRR=SRVALUE Q 29 D HELP^DIE(130.34,"",4,"S","SRHELP(1)") 30 W !!,"Route entered is not one of the available choices.",!,"Please enter medication route again.",!! 31 I $G(SRHELP(1,"DIHELP")) F I=1:1:SRHELP(1,"DIHELP") W SRHELP(1,"DIHELP",I),! 32 S DIR("A")="Enter ROUTE",DIR(0)="130.34,4O" D ^DIR K DIR I $D(DTOUT)!$D(DUOUT) S SRR="" Q 33 S SRR=$P(Y,"^") 34 Q 35 TIME ; check for time 36 K %DT S X=SRT,%DT="R" D ^%DT I Y>0 Q 37 W:SRT="" !!,"A time MUST be entered !" 38 I '(SRT?1N!(SRT?2N&(SRT<13))!(SRT?4N)!(SRT?3N)!(SRT?2N1":"2N)!(SRT?1N1":"2N))!(+SRT>2400)!(SRT="") S SRF=1 39 I SRF W !!,?5,"Enter the time in one of the following formats:",!,?9,"7:45, 0745, 745, 07:45, Date@Time, or NOW",!!,?5,"Time is required." 40 T1 S:SRT="" SRF=1 Q:SRF=0 R !!,"Enter Time: ",SRT:DTIME S:'$T!(SRT="") SRT="^" G:SRT["^" END W:SRT["?" !!,"Enter a time in the format above, or RETURN to bypass. An '^' will exit this option." G:SRT["?" T1 S SRF=0 G TIME 41 Q 42 DOSE ; check dosage 43 Q:SRD="" I $L(SRD)>15!($L(SRD)<1) W !!,"Dosage entered incorrectly." S SRF=1 44 I SRD="?" W !!,"Dosage must be 1 to 15 characters in length, i.e. 15 mg." S SRF=1 45 D1 I SRF=1 R !!,"ENTER DOSE: ",SRD1:DTIME S:'$T SRD1="^" K:SRD1["^" SRD Q:SRD1["^" W:SRD1["?" !!,"Dosage must be 1 to 15 characters in length" G:SRD1["?" D1 S SRD=SRD1,SRF=0 G DOSE 46 Q -
WorldVistAEHR/trunk/r/SURGERY-SR/SROWL.m
r613 r623 1 SROWL ;B'HAM ISC/MAM - ENTER PATIENT ON WAITING LIST ; 4/18/07 11:55am 2 ;;3.0;Surgery;**58,119,162**;24 Jun 93;Build 4 3 ; 4 ENTER ; enter a patient on the waiting list 5 S SRSOUT=0 W @IOF K DIC S DIC(0)="QEAMZL",(DIC,DLAYGO)=133.8,DIC("A")=" Select Surgical Specialty: " D ^DIC K DIC,DLAYGO G:Y<0 END S SRSS=+Y,SRSS1=+Y(0) 6 S SRSSNM=$P(^SRO(137.45,SRSS1,0),"^") 7 PAT W ! S DIC=2,DIC(0)="QEAMZ",DIC("A")=" Select Patient: " D ^DIC K DIC I Y<0 W !!,"No action taken." G END 8 S DFN=+Y,SRNM=$P(Y(0),"^") I $D(^DPT(DFN,.35)),$P(^(.35),"^")'="" S Y=$E($P(^(.35),"^"),1,7) D D^DIQ W !!,"The records show that "_SRNM_" died on "_Y_".",! G PAT 9 I $O(^SRO(133.8,"AP",DFN,SRSS,0)) D CHK G:"Yy"'[ECYN END 10 OP W ! K DIR S DIR("A")=" Select Operative Procedure",DIR(0)="133.801,1" D ^DIR I $D(DTOUT)!$D(DUOUT) W !!,"No action taken." G END 11 S SROPER=Y 12 W ! D NOW^%DTC S SRSDT=% 13 K DD,DO,DIC,DR,DA S DIC(0)="L",DIC="^SRO(133.8,SRSS,1,",DA(1)=SRSS,X=DFN D FILE^DICN I +Y S SROFN=+Y 14 K DA,DIE,DR S DA=SRSS,DIE=133.8,DR="1///"_SRNM,DR(2,133.801)="1////"_SROPER_";2///"_SRSDT_";4T;W !;5T;6T;W !;3T",DR(3,133.8013)=".01T;1T;2T;3T;4T;5T" D ^DIE K DIE,DR 15 D WL^SROPCE1 I SRSOUT G DEL 16 W @IOF,!,SRNM_" has been entered on the waiting list",!,"for "_SRSSNM 17 END D PRESS,^SRSKILL W @IOF 18 Q 19 PRESS W ! K DIR S DIR("A")="Press RETURN to continue ",DIR(0)="FOA" D ^DIR K DIR 20 Q 21 DEL S DA(1)=SRSS,DA=SROFN,DIK="^SRO(133.8,"_DA(1)_",1," D ^DIK 22 W @IOF,!,"Classification information is incomplete. No action taken." G END 23 Q 24 HELP W !!,"Enter RETURN if you want to continue entering a new procedure on the waiting",!,"list for "_SRNM_". If the procedure you are about to enter appears",!,"above, enter 'NO' to quit this option." 25 W !!,"Press RETURN to continue " R X:DTIME 26 Q 27 CHK ; check for existing entries for a patient 28 W @IOF,!,"Procedure(s) already entered for "_SRNM,!,"on the Waiting List for "_SRSSNM,! 29 S SROFN=0 F S SROFN=$O(^SRO(133.8,"AP",DFN,SRSS,SROFN)) Q:'SROFN D LIST 30 W !!,"Do you wish to continue entering a new procedure for "_SRNM_" on",!,"the waiting list for "_SRSSNM_" ? YES// " R ECYN:DTIME I '$T!(ECYN["^") S ECYN="N" Q 31 S ECYN=$E(ECYN) S:"y"[ECYN ECYN="Y" 32 I "YNn"'[ECYN D HELP G CHK 33 Q 34 LIST ; list existing procedures for specialty selected 35 S SROPER=$P(^SRO(133.8,SRSS,1,SROFN,0),"^",2),SRDT=$P(^(0),"^",3),SROPDT=$P(^(0),"^",5),Y=SRDT D D^DIQ S SRDT=$E(Y,1,12) I SROPDT S Y=SROPDT D D^DIQ S SROPDT=$E(Y,1,12) 36 K SROP,MM,MMM S:$L(SROPER)<36 SROP(1)=SROPER I $L(SROPER)>35 S SROPER=SROPER_" " S SROPER=SROPER_" " F M=1:1 D LOOP Q:MMM="" 37 W !,SRNM,?40,"Date Entered on List:",?66,SRDT,!,?3,SROP(1),?40,"Tentative Operation Date: ",?66,SROPDT 38 I $D(SROP(2)) W !,?3,SROP(2) 39 W ! 40 Q 41 LOOP ; break procedure if greater than 36 characters 42 S SROP(M)="" F LOOP=1:1 S MM=$P(SROPER," "),MMM=$P(SROPER," ",2,200) Q:MMM="" Q:$L(SROP(M))+$L(MM)'<36 S SROP(M)=SROP(M)_MM_" ",SROPER=MMM 43 Q 44 REFPHY ; Look up Referring Physician in "New Person" file with filter and auto-populate Referring Physician demographic fields 45 N SRCONT,Y,SRDEMO 46 S SRCONT="" 47 PRMPT R !,"Is this a VA Physician from this facility? (Y/N): <Y> ",SRCONT:DTIME I '$T Q 48 I SRCONT["?" D G PRMPT 49 .W !!,"Enter 'Y' if you would like to select the Referring Physician from this facility's VA personnel.",!,"Enter 'N' to continue data entry.",! 50 S:SRCONT="" SRCONT="Y" 51 I SRCONT="^" S X="" Q 52 Q:(SRCONT'["Y")&(SRCONT'["y") 53 ; Store FileMan variables and arrays 54 M SRDABAK=DA,SRDICBAK=DIC,SRDZERO=D0,SRDRBAK=DR,SRXBAK=X,SRDOBAK=DO 55 ; Setup variables and call ^DIC to lookup REFERRING PHYSICIAN from NEW PERSON file 56 S DIC="^VA(200,",DIC(0)="E",DIC("B")=X 57 D ^DIC 58 ; Restore FileMan's variables and arrays 59 M DA=SRDABAK,DIC=SRDICBAK,D0=SRDZERO,DR=SRDRBAK,X=SRXBAK,DO=SRDOBAK 60 K SRCONT,SRDABAK,SRDICBAK,SRDZERO,SRDRBAK,SRXBAK,SRDOBAK 61 Q:Y="-1" ; Quit if no record was selected from the NEW PERSON file 62 S SRNPREC=$P(Y,U,1)_"," ;The record number of the NEW PERSON file 63 ; Retrieve demographic data from the NEW PERSON file. 64 D GETS^DIQ(200,SRNPREC,".01:.116;.132","","SRDEMO") 65 ; Build SRDEMO array for "stuffing" into REFERRING PHYSICIAN demographic fields 66 S X=SRDEMO(200,SRNPREC,".01") ;Name 67 S SRDEMO(1)=SRDEMO(200,SRNPREC,".111") ;Address 68 S:$L(SRDEMO(200,SRNPREC,".112"))>0 SRDEMO(1)=SRDEMO(1)_" "_SRDEMO(200,SRNPREC,".112") ;Concatenate Address 2 to single address 69 S:$L(SRDEMO(200,SRNPREC,".113"))>0 SRDEMO(1)=SRDEMO(1)_" "_SRDEMO(200,SRNPREC,".113") ;Concatenate Address 3 to single address 70 S SRDEMO(1)=$E(SRDEMO(1),1,75) 71 S SRDEMO(2)=SRDEMO(200,SRNPREC,".114") ;City 72 S SRDEMO(3)=SRDEMO(200,SRNPREC,".115") ;State 73 S SRDEMO(4)=SRDEMO(200,SRNPREC,".116") ;Zip 74 S SRDEMO(5)=SRDEMO(200,SRNPREC,".132") ;Office Phone 75 ; Set up DR array that FileMan will use, with a call to ^DIE, after this subroutine Quits to "stuff" the demographic data. 76 ; all fields except STATE will ignore input transform (SR*3.0*162) 77 S DIC("DR")="1////"_SRDEMO(1)_";2////"_SRDEMO(2)_";3///"_SRDEMO(3)_";4////"_SRDEMO(4)_";5////"_SRDEMO(5)_";6////"_$P(Y,U,1) 78 S DIC(0)="Z" ;Tells FileMan to file the data without any more user input 79 Q 1 SROWL ;B'HAM ISC/MAM - ENTER PATIENT ON WAITING LIST ;13 Feb 1989 11:32 AM 2 ;;3.0;Surgery;**58,119**;24 Jun 93 3 ENTER ; enter a patient on the waiting list 4 S SRSOUT=0 W @IOF K DIC S DIC(0)="QEAMZL",(DIC,DLAYGO)=133.8,DIC("A")=" Select Surgical Specialty: " D ^DIC K DIC,DLAYGO G:Y<0 END S SRSS=+Y,SRSS1=+Y(0) 5 S SRSSNM=$P(^SRO(137.45,SRSS1,0),"^") 6 PAT W ! S DIC=2,DIC(0)="QEAMZ",DIC("A")=" Select Patient: " D ^DIC K DIC I Y<0 W !!,"No action taken." G END 7 S DFN=+Y,SRNM=$P(Y(0),"^") I $D(^DPT(DFN,.35)),$P(^(.35),"^")'="" S Y=$E($P(^(.35),"^"),1,7) D D^DIQ W !!,"The records show that "_SRNM_" died on "_Y_".",! G PAT 8 I $O(^SRO(133.8,"AP",DFN,SRSS,0)) D CHK G:"Yy"'[ECYN END 9 OP W ! K DIR S DIR("A")=" Select Operative Procedure",DIR(0)="133.801,1" D ^DIR I $D(DTOUT)!$D(DUOUT) W !!,"No action taken." G END 10 S SROPER=Y 11 W ! D NOW^%DTC S SRSDT=% 12 K DD,DO,DIC,DR,DA S DIC(0)="L",DIC="^SRO(133.8,SRSS,1,",DA(1)=SRSS,X=DFN D FILE^DICN I +Y S SROFN=+Y 13 K DA,DIE,DR S DA=SRSS,DIE=133.8,DR="1///"_SRNM,DR(2,133.801)="1////"_SROPER_";2///"_SRSDT_";4T;W !;5T;6T;W !;3T",DR(3,133.8013)=".01T;1T;2T;3T;4T;5T" D ^DIE K DIE,DR 14 D WL^SROPCE1 I SRSOUT G DEL 15 W @IOF,!,SRNM_" has been entered on the waiting list",!,"for "_SRSSNM 16 END D PRESS,^SRSKILL W @IOF 17 Q 18 PRESS W ! K DIR S DIR("A")="Press RETURN to continue ",DIR(0)="FOA" D ^DIR K DIR 19 Q 20 DEL S DA(1)=SRSS,DA=SROFN,DIK="^SRO(133.8,"_DA(1)_",1," D ^DIK 21 W @IOF,!,"Classification information is incomplete. No action taken." G END 22 Q 23 HELP W !!,"Enter RETURN if you want to continue entering a new procedure on the waiting",!,"list for "_SRNM_". If the procedure you are about to enter appears",!,"above, enter 'NO' to quit this option." 24 W !!,"Press RETURN to continue " R X:DTIME 25 Q 26 CHK ; check for existing entries for a patient 27 W @IOF,!,"Procedure(s) already entered for "_SRNM,!,"on the Waiting List for "_SRSSNM,! 28 S SROFN=0 F S SROFN=$O(^SRO(133.8,"AP",DFN,SRSS,SROFN)) Q:'SROFN D LIST 29 W !!,"Do you wish to continue entering a new procedure for "_SRNM_" on",!,"the waiting list for "_SRSSNM_" ? YES// " R ECYN:DTIME I '$T!(ECYN["^") S ECYN="N" Q 30 S ECYN=$E(ECYN) S:"y"[ECYN ECYN="Y" 31 I "YNn"'[ECYN D HELP G CHK 32 Q 33 LIST ; list existing procedures for specialty selected 34 S SROPER=$P(^SRO(133.8,SRSS,1,SROFN,0),"^",2),SRDT=$P(^(0),"^",3),SROPDT=$P(^(0),"^",5),Y=SRDT D D^DIQ S SRDT=$E(Y,1,12) I SROPDT S Y=SROPDT D D^DIQ S SROPDT=$E(Y,1,12) 35 K SROP,MM,MMM S:$L(SROPER)<36 SROP(1)=SROPER I $L(SROPER)>35 S SROPER=SROPER_" " S SROPER=SROPER_" " F M=1:1 D LOOP Q:MMM="" 36 W !,SRNM,?40,"Date Entered on List:",?66,SRDT,!,?3,SROP(1),?40,"Tentative Operation Date: ",?66,SROPDT 37 I $D(SROP(2)) W !,?3,SROP(2) 38 W ! 39 Q 40 LOOP ; break procedure if greater than 36 characters 41 S SROP(M)="" F LOOP=1:1 S MM=$P(SROPER," "),MMM=$P(SROPER," ",2,200) Q:MMM="" Q:$L(SROP(M))+$L(MM)'<36 S SROP(M)=SROP(M)_MM_" ",SROPER=MMM 42 Q 43 REFPHY ; Look up Referring Physician in "New Person" file with filter and auto-populate Referring Physician demographic fields 44 N SRCONT,Y,SRDEMO 45 S SRCONT="" 46 PRMPT R !,"Is this a VA Physician from this facility? (Y/N): <Y> ",SRCONT:DTIME I '$T Q 47 I SRCONT["?" D G PRMPT 48 .W !!,"Enter 'Y' if you would like to select the Referring Physician from this facility's VA personnel.",!,"Enter 'N' to continue data entry.",! 49 S:SRCONT="" SRCONT="Y" 50 I SRCONT="^" S X="" Q 51 Q:(SRCONT'["Y")&(SRCONT'["y") 52 ; Store FileMan variables and arrays 53 M SRDABAK=DA,SRDICBAK=DIC,SRDZERO=D0,SRDRBAK=DR,SRXBAK=X,SRDOBAK=DO 54 ; Setup variables and call ^DIC to lookup REFERRING PHYSICIAN from NEW PERSON file 55 S DIC="^VA(200,",DIC(0)="E",DIC("B")=X 56 D ^DIC 57 ; Restore FileMan's variables and arrays 58 M DA=SRDABAK,DIC=SRDICBAK,D0=SRDZERO,DR=SRDRBAK,X=SRXBAK,DO=SRDOBAK 59 K SRCONT,SRDABAK,SRDICBAK,SRDZERO,SRDRBAK,SRXBAK,SRDOBAK 60 Q:Y="-1" ; Quit if no record was selected from the NEW PERSON file 61 S SRNPREC=$P(Y,U,1)_"," ;The record number of the NEW PERSON file 62 ; Retrieve demographic data from the NEW PERSON file. 63 D GETS^DIQ(200,SRNPREC,".01:.116;.132","","SRDEMO") 64 ; Build SRDEMO array for "stuffing" into REFERRING PHYSICIAN demographic fields 65 S X=SRDEMO(200,SRNPREC,".01") ;Name 66 S SRDEMO(1)=SRDEMO(200,SRNPREC,".111") ;Address 67 S:$L(SRDEMO(200,SRNPREC,".112"))>0 SRDEMO(1)=SRDEMO(1)_" "_SRDEMO(200,SRNPREC,".112") ;Concatenate Address 2 to single address 68 S:$L(SRDEMO(200,SRNPREC,".113"))>0 SRDEMO(1)=SRDEMO(1)_" "_SRDEMO(200,SRNPREC,".113") ;Concatenate Address 3 to single address 69 S SRDEMO(1)=$E(SRDEMO(1),1,75) 70 S SRDEMO(2)=SRDEMO(200,SRNPREC,".114") ;City 71 S SRDEMO(3)=SRDEMO(200,SRNPREC,".115") ;State 72 S SRDEMO(4)=SRDEMO(200,SRNPREC,".116") ;Zip 73 S SRDEMO(5)=SRDEMO(200,SRNPREC,".132") ;Office Phone 74 ; Set up DR array that FileMan will use, with a call to ^DIE, after this subroutine Quits to "stuff" the demographic data. 75 S DIC("DR")="1///"_SRDEMO(1)_";2///"_SRDEMO(2)_";3///"_SRDEMO(3)_";4///"_SRDEMO(4)_";5///"_SRDEMO(5)_";6///"_$P(Y,U,1) 76 S DIC(0)="Z" ;Tells FileMan to file the data without any more user input 77 Q -
WorldVistAEHR/trunk/r/SURGERY-SR/SROXR4.m
r613 r623 1 SROXR4 ;BIR/MAM - CROSS REFERENCES ;11/05/07 2 ;;3.0; Surgery ;**62,83,100,153,166**;24 Jun 93;Build 7 3 Q 4 PRO ; stuff default prosthesis info 5 I '$D(SRTN) Q 6 S ^SRF(SRTN,1,DA,0)=^SRF(SRTN,1,DA,0)_"^"_$P(^SRO(131.9,X,0),"^",2,99) 7 I $D(^SRO(131.9,X,1)) S ^SRF(SRTN,1,DA,1)=^(1) 8 Q 9 CAN ; 'SET' logic of the 'ACAN' x-ref on the 'CANCEL REASON' 10 ; field in the SURGERY file (130) 11 S $P(^SRF(DA,30),"^",2)=$P(^SRO(135,X,0),"^",3) I $P(^SRO(135,X,0),"^",3)="" S $P(^SRF(DA,30),"^",2)="Y" 12 I $P(^SRF(DA,30),"^",3)="" S $P(^SRF(DA,30),"^",3)=DUZ 13 S SHEMP=$P($G(^SRF(DA,.2)),"^",10) I SHEMP,$D(^SRF(DA,"RA")) S ZTDESC="Clean up Risk Assessment Information, Canceled Case",ZTRTN="RISK^SROXR4",ZTDTH=$H,ZTSAVE("DA")="" D ^%ZTLOAD 14 Q 15 KCAN ; 'KILL' logic of the 'ACAN' x-ref on the 'CANCEL REASON' 16 ; field in the SURGERY file (130) 17 S $P(^SRF(DA,30),"^",2)="" I '$P($G(^SRF(DA,30)),"^") S $P(^SRF(DA,30),"^",3)="" 18 Q 19 AS ; 'SET' logic of the 'AS' x-ref on the SCHEDULED START TIME 20 ; field in the SURGERY file (130) 21 S OR=$P(^SRF(DA,0),"^",2) I 'OR Q 22 S ^SRF("AS",OR,X,DA)="" 23 Q 24 KAS ; 'KILL' logic of the 'AS' x-ref on the SCHEDULED FINISH TIME 25 ; field in the SURGERY file (130) 26 S OR=$P(^SRF(DA,0),"^",2) I 'OR Q 27 K ^SRF("AS",OR,X,DA) 28 Q 29 SCH ; 'SET' logic of the 'AC' x-ref of the REQUIRED FIELDS FOR SCHEDULING 30 ; field in the SURGERY SITE PARAMETERS file (133) 31 S MM=$O(^DD(130,"B",X,0)),$P(^SRO(133,DA(1),4,DA,0),"^",2)=MM K MM 32 Q 33 KSCH ; 'KILL' logic of the 'AC' x-ref of the REQUIRED FIELDS FOR SCHEDULING 34 ; field in the SURGERY SITE PARAMETERS file (133) 35 S $P(^SRO(133,DA(1),4,DA,0),"^",2)="" 36 Q 37 RISK ; clean up risk data for canceled cases 38 S DIE=130,DR="102///@;235///@;284///@;323///@" D ^DIE K DR,DA S ZTREQ="@" 39 Q 40 AQ ; set logic for AQ x-ref 41 N SRTD,SRLO D AQDT I SRTD'<SRLO S $P(^SRF(DA,.4),"^",2)="R",^SRF("AQ",SRTD,DA)="" 42 Q 43 KAQ ; kill logic for AQ x-ref 44 N SRTD,SRLO D AQDT S $P(^SRF(DA,.4),"^",2)="" K ^SRF("AQ",SRTD,DA) 45 Q 46 AQDT ; get quarterly transmission date 47 N SRDAY,SRSDATE,SRQTR,SRX,SRYR S SRSDATE=$E($P(^SRF(DA,0),"^",9),1,7) 48 S SRYR=$E(SRSDATE,1,3),SRDAY=$E(SRSDATE,4,7),SRQTR=$S(SRDAY<401:2,SRDAY<701:3,SRDAY<1001:4,1:1) I SRQTR=1 S SRYR=SRYR+1 49 S SRTD=SRYR_$S(SRQTR=1:"0214",SRQTR=2:"0515",SRQTR=3:"0814",1:"1114") 50 S SRX=$E(DT,1,3),SRLO=SRX-1_"0214" 51 Q 52 AQ1 ; set logic for AQ1 x-ref 53 I X="R" N SRTD,SRLO D AQDT I SRTD'<SRLO S ^SRF("AQ",SRTD,DA)="" 54 Q 55 KAQ1 ; kill logic for AQ1 x-ref 56 N SRTD,SRLO D AQDT K ^SRF("AQ",SRTD,DA) 57 Q 58 AT ; set logic for AT x-ref on DATE OF LAST TRANSMISSION 59 N SRX S ^SRF("AT",X,DA)="" 60 S SRX=$P($G(^SRF(DA,"RA")),"^",4) I SRX,SRX'=X K ^SRF("AT",SRX,DA) 61 Q 62 KAT ; kill logic for AT x-ref on DATE OF LAST TRANSMISSION 63 N SRX K ^SRF("AT",X,DA) 64 S SRX=$P($G(^SRF(DA,"RA")),"^",4) I SRX,SRX'=X K ^SRF("AT",SRX,DA) 65 Q 66 AT1 ; set logic for AT x-ref on DATE TRANSMITTED 67 N SRX S SRX=$P($G(^SRF(DA,"RA")),"^",8) I SRX Q 68 S ^SRF("AT",X,DA)="" 69 Q 70 KAT1 ; kill logic for AT x-ref on DATE TRANSMITTED 71 N SRX S SRX=$P($G(^SRF(DA,"RA")),"^",8) 72 I SRX'=X K ^SRF("AT",X,DA) 73 Q 1 SROXR4 ;BIR/MAM - CROSS REFERENCES ;03/15/06 2 ;;3.0; Surgery ;**62,83,100,153**;24 Jun 93;Build 11 3 Q 4 PRO ; stuff default prosthesis info 5 I '$D(SRTN) Q 6 S ^SRF(SRTN,1,DA,0)=^SRF(SRTN,1,DA,0)_"^"_$P(^SRO(131.9,X,0),"^",2,99) 7 I $D(^SRO(131.9,X,1)) S ^SRF(SRTN,1,DA,1)=^(1) 8 Q 9 CAN ; 'SET' logic of the 'ACAN' x-ref on the 'CANCEL REASON' 10 ; field in the SURGERY file (130) 11 S $P(^SRF(DA,30),"^",2)=$P(^SRO(135,X,0),"^",3) I $P(^SRO(135,X,0),"^",3)="" S $P(^SRF(DA,30),"^",2)="Y" 12 I $P(^SRF(DA,30),"^",3)="" S $P(^SRF(DA,30),"^",3)=DUZ 13 S SHEMP=$P($G(^SRF(DA,.2)),"^",10) I SHEMP,$D(^SRF(DA,"RA")) S ZTDESC="Clean up Risk Assessment Information, Canceled Case",ZTRTN="RISK^SROXR4",ZTDTH=$H,ZTSAVE("DA")="" D ^%ZTLOAD 14 Q 15 KCAN ; 'KILL' logic of the 'ACAN' x-ref on the 'CANCEL REASON' 16 ; field in the SURGERY file (130) 17 S $P(^SRF(DA,30),"^",2)="" I '$P($G(^SRF(DA,30)),"^") S $P(^SRF(DA,30),"^",3)="" 18 Q 19 AS ; 'SET' logic of the 'AS' x-ref on the SCHEDULED START TIME 20 ; field in the SURGERY file (130) 21 S OR=$P(^SRF(DA,0),"^",2) I 'OR Q 22 S ^SRF("AS",OR,X,DA)="" 23 Q 24 KAS ; 'KILL' logic of the 'AS' x-ref on the SCHEDULED FINISH TIME 25 ; field in the SURGERY file (130) 26 S OR=$P(^SRF(DA,0),"^",2) I 'OR Q 27 K ^SRF("AS",OR,X,DA) 28 Q 29 SCH ; 'SET' logic of the 'AC' x-ref of the REQUIRED FIELDS FOR SCHEDULING 30 ; field in the SURGERY SITE PARAMETERS file (133) 31 S MM=$O(^DD(130,"B",X,0)),$P(^SRO(133,DA(1),4,DA,0),"^",2)=MM K MM 32 Q 33 KSCH ; 'KILL' logic of the 'AC' x-ref of the REQUIRED FIELDS FOR SCHEDULING 34 ; field in the SURGERY SITE PARAMETERS file (133) 35 S $P(^SRO(133,DA(1),4,DA,0),"^",2)="" 36 Q 37 RISK ; clean up risk data for canceled cases 38 S DIE=130,DR="102///@;235///@;284///@;323///@" D ^DIE K DR,DA S ZTREQ="@" 39 Q 40 AQ ; set logic for AQ x-ref 41 N SRTD,SRLO D AQDT I SRTD'<SRLO S $P(^SRF(DA,.4),"^",2)="R",^SRF("AQ",SRTD,DA)="" 42 Q 43 KAQ ; kill logic for AQ x-ref 44 N SRTD,SRLO D AQDT S $P(^SRF(DA,.4),"^",2)="" K ^SRF("AQ",SRTD,DA) 45 Q 46 AQDT ; get quarterly transmission date 47 N SRDAY,SRSDATE,SRQTR,SRX,SRYR S SRSDATE=$E($P(^SRF(DA,0),"^",9),1,7) 48 S SRYR=$E(SRSDATE,1,3),SRDAY=$E(SRSDATE,4,7),SRQTR=$S(SRDAY<401:2,SRDAY<701:3,SRDAY<1001:4,1:1) I SRQTR=1 S SRYR=SRYR+1 49 S SRTD=SRYR_$S(SRQTR=1:"0214",SRQTR=2:"0515",SRQTR=3:"0814",1:"1114") 50 S SRX=$E(DT,1,3),SRLO=SRX-1_"0214" 51 Q 52 AQ1 ; set logic for AQ1 x-ref 53 I X="R" N SRTD,SRLO D AQDT I SRTD'<SRLO S ^SRF("AQ",SRTD,DA)="" 54 Q 55 KAQ1 ; kill logic for AQ1 x-ref 56 N SRTD,SRLO D AQDT K ^SRF("AQ",SRTD,DA) 57 Q
Note:
See TracChangeset
for help on using the changeset viewer.
