Released SR*3*173 SEQ #170 Extracted from mail message **KIDS**:SR*3.0*173^ **INSTALL NAME** SR*3.0*173 "BLD",8434,0) SR*3.0*173^SURGERY^0^3120626^y "BLD",8434,1,0) ^^9^9^3100903^^ "BLD",8434,1,1,0) "BLD",8434,1,2,0) This patch addresses the following issues: "BLD",8434,1,3,0) "BLD",8434,1,4,0) (1) Users are receiving an UNDEFINED error at SRHLXTMP+7^SRHLXTMP when "BLD",8434,1,5,0) their system runs the nightly task SRTASK-NIGHT option. (2) A user "BLD",8434,1,6,0) reported that addendums created in VistA are not always being "BLD",8434,1,7,0) transmitted to CPRS. The reason being it appears that TIU BUSINESS RULES "BLD",8434,1,8,0) for certain document types or user classes are being created which can "BLD",8434,1,9,0) cause unforeseen issues. "BLD",8434,4,0) ^9.64PA^^ "BLD",8434,6.3) 8 "BLD",8434,"ABPKG") n "BLD",8434,"KRN",0) ^9.67PA^779.2^20 "BLD",8434,"KRN",.4,0) .4 "BLD",8434,"KRN",.401,0) .401 "BLD",8434,"KRN",.402,0) .402 "BLD",8434,"KRN",.403,0) .403 "BLD",8434,"KRN",.5,0) .5 "BLD",8434,"KRN",.84,0) .84 "BLD",8434,"KRN",3.6,0) 3.6 "BLD",8434,"KRN",3.8,0) 3.8 "BLD",8434,"KRN",9.2,0) 9.2 "BLD",8434,"KRN",9.8,0) 9.8 "BLD",8434,"KRN",9.8,"NM",0) ^9.68A^2^2 "BLD",8434,"KRN",9.8,"NM",1,0) SRHLXTMP^^0^B708492 "BLD",8434,"KRN",9.8,"NM",2,0) SROESAD^^0^B32374327 "BLD",8434,"KRN",9.8,"NM","B","SRHLXTMP",1) "BLD",8434,"KRN",9.8,"NM","B","SROESAD",2) "BLD",8434,"KRN",19,0) 19 "BLD",8434,"KRN",19.1,0) 19.1 "BLD",8434,"KRN",101,0) 101 "BLD",8434,"KRN",409.61,0) 409.61 "BLD",8434,"KRN",771,0) 771 "BLD",8434,"KRN",779.2,0) 779.2 "BLD",8434,"KRN",870,0) 870 "BLD",8434,"KRN",8989.51,0) 8989.51 "BLD",8434,"KRN",8989.52,0) 8989.52 "BLD",8434,"KRN",8994,0) 8994 "BLD",8434,"KRN","B",.4,.4) "BLD",8434,"KRN","B",.401,.401) "BLD",8434,"KRN","B",.402,.402) "BLD",8434,"KRN","B",.403,.403) "BLD",8434,"KRN","B",.5,.5) "BLD",8434,"KRN","B",.84,.84) "BLD",8434,"KRN","B",3.6,3.6) "BLD",8434,"KRN","B",3.8,3.8) "BLD",8434,"KRN","B",9.2,9.2) "BLD",8434,"KRN","B",9.8,9.8) "BLD",8434,"KRN","B",19,19) "BLD",8434,"KRN","B",19.1,19.1) "BLD",8434,"KRN","B",101,101) "BLD",8434,"KRN","B",409.61,409.61) "BLD",8434,"KRN","B",771,771) "BLD",8434,"KRN","B",779.2,779.2) "BLD",8434,"KRN","B",870,870) "BLD",8434,"KRN","B",8989.51,8989.51) "BLD",8434,"KRN","B",8989.52,8989.52) "BLD",8434,"KRN","B",8994,8994) "BLD",8434,"QUES",0) ^9.62^^ "BLD",8434,"REQB",0) ^9.611^2^2 "BLD",8434,"REQB",1,0) SR*3.0*41^2 "BLD",8434,"REQB",2,0) SR*3.0*100^2 "BLD",8434,"REQB","B","SR*3.0*100",2) "BLD",8434,"REQB","B","SR*3.0*41",1) "MBREQ") 0 "PKG",308,-1) 1^1 "PKG",308,0) SURGERY^SR^SURGICAL DATA COLLECTION AND OPERATIONS SCHEDULING "PKG",308,20,0) ^9.402P^^ "PKG",308,22,0) ^9.49I^1^1 "PKG",308,22,1,0) 3.0^2930624^2940818 "PKG",308,22,1,"PAH",1,0) 173^3120626 "PKG",308,22,1,"PAH",1,1,0) ^^9^9^3120626 "PKG",308,22,1,"PAH",1,1,1,0) "PKG",308,22,1,"PAH",1,1,2,0) This patch addresses the following issues: "PKG",308,22,1,"PAH",1,1,3,0) "PKG",308,22,1,"PAH",1,1,4,0) (1) Users are receiving an UNDEFINED error at SRHLXTMP+7^SRHLXTMP when "PKG",308,22,1,"PAH",1,1,5,0) their system runs the nightly task SRTASK-NIGHT option. (2) A user "PKG",308,22,1,"PAH",1,1,6,0) reported that addendums created in VistA are not always being "PKG",308,22,1,"PAH",1,1,7,0) transmitted to CPRS. The reason being it appears that TIU BUSINESS RULES "PKG",308,22,1,"PAH",1,1,8,0) for certain document types or user classes are being created which can "PKG",308,22,1,"PAH",1,1,9,0) cause unforeseen issues. "QUES","XPF1",0) Y "QUES","XPF1","??") ^D REP^XPDH "QUES","XPF1","A") Shall I write over your |FLAG| File "QUES","XPF1","B") YES "QUES","XPF1","M") D XPF1^XPDIQ "QUES","XPF2",0) Y "QUES","XPF2","??") ^D DTA^XPDH "QUES","XPF2","A") Want my data |FLAG| yours "QUES","XPF2","B") YES "QUES","XPF2","M") D XPF2^XPDIQ "QUES","XPI1",0) YO "QUES","XPI1","??") ^D INHIBIT^XPDH "QUES","XPI1","A") Want KIDS to INHIBIT LOGONs during the install "QUES","XPI1","B") NO "QUES","XPI1","M") D XPI1^XPDIQ "QUES","XPM1",0) PO^VA(200,:EM "QUES","XPM1","??") ^D MG^XPDH "QUES","XPM1","A") Enter the Coordinator for Mail Group '|FLAG|' "QUES","XPM1","B") "QUES","XPM1","M") D XPM1^XPDIQ "QUES","XPO1",0) Y "QUES","XPO1","??") ^D MENU^XPDH "QUES","XPO1","A") Want KIDS to Rebuild Menu Trees Upon Completion of Install "QUES","XPO1","B") NO "QUES","XPO1","M") D XPO1^XPDIQ "QUES","XPZ1",0) Y "QUES","XPZ1","??") ^D OPT^XPDH "QUES","XPZ1","A") Want to DISABLE Scheduled Options, Menu Options, and Protocols "QUES","XPZ1","B") NO "QUES","XPZ1","M") D XPZ1^XPDIQ "QUES","XPZ2",0) Y "QUES","XPZ2","??") ^D RTN^XPDH "QUES","XPZ2","A") Want to MOVE routines to other CPUs "QUES","XPZ2","B") NO "QUES","XPZ2","M") D XPZ2^XPDIQ "RTN") 2 "RTN","SRHLXTMP") 0^1^B708492^B639857 "RTN","SRHLXTMP",1,0) SRHLXTMP ;B'HAM ISC/DLR - Surgery Interface Purge ^XTMP("SRHL7"_CASE# ; 9/3/10 10:04am "RTN","SRHLXTMP",2,0) ;;3.0; Surgery ;**41,173**;24 Jun 93;Build 8 "RTN","SRHLXTMP",3,0) ; Per VHA Directive 10-93-142, this routine SHOULD NOT be modified. "RTN","SRHLXTMP",4,0) ;this routine is used to purge entries from the XTMP global "RTN","SRHLXTMP",5,0) N SRX,SRX1 "RTN","SRHLXTMP",6,0) S SRX="" F S SRX=$O(^XTMP(SRX)) Q:SRX="" I SRX["SRHL7" S SRX1=0 F S SRX1=$O(^XTMP(SRX,SRX1)) Q:'SRX1 D "RTN","SRHLXTMP",7,0) .I '$D(^XTMP(SRX,SRX1,0)) K ^XTMP(SRX,SRX1) Q "RTN","SRHLXTMP",8,0) .S X1=DT,X2=-1 D C^%DTC I +$G(^XTMP(SRX,SRX1,0))'>X K ^XTMP(SRX,SRX1) "RTN","SRHLXTMP",9,0) Q "RTN","SROESAD") 0^2^B32374327^B31263685 "RTN","SROESAD",1,0) SROESAD ;BIR/ADM - SURGERY E-SIG UTILITY ; [ 09/04/03 1:03 PM ] "RTN","SROESAD",2,0) ;;3.0; Surgery ;**100,173**;24 Jun 93;Build 8 "RTN","SROESAD",3,0) ; "RTN","SROESAD",4,0) ;** NOTICE: This routine is part of an implementation of a nationally "RTN","SROESAD",5,0) ;** controlled procedure. Local modifications to this routine "RTN","SROESAD",6,0) ;** are prohibited. "RTN","SROESAD",7,0) ; "RTN","SROESAD",8,0) ; Reference to MAKEADD^TIUSRVP supported by DBIA #3535 "RTN","SROESAD",9,0) ; Reference to ES^TIUSROI supported by DBIA #3537 "RTN","SROESAD",10,0) ; "RTN","SROESAD",11,0) Q:'$D(SRNDOC(SRTN))&'$D(SRADOC(SRTN)) D DISPLAY I SRESNOT D NOAD Q "RTN","SROESAD",12,0) ASK N SRSCOM W @IOF,! S DIR(0)="Y",DIR("A")="Do you want to add a comment for this case",DIR("B")="NO" D ^DIR K DIR S SRSCOM=Y I $D(DTOUT) D NOAD Q "RTN","SROESAD",13,0) I $D(DUOUT) D SURE I 'SRESNOT G ASK "RTN","SROESAD",14,0) I SRESNOT D NOAD Q "RTN","SROESAD",15,0) I 'SRSCOM G SIG "RTN","SROESAD",16,0) I SRSCOM W !! S DIR(0)="F^3:80",DIR("A")="Comment" D ^DIR K DIR I $D(DTOUT) S SRESNOT=1 Q "RTN","SROESAD",17,0) I X=""!$D(DUOUT) G SIG "RTN","SROESAD",18,0) D COM "RTN","SROESAD",19,0) REV2 ; display addendum with comment for 2nd review "RTN","SROESAD",20,0) D DISPLAY I SRESNOT D NOAD Q "RTN","SROESAD",21,0) SIG ; enter e-sig "RTN","SROESAD",22,0) N SRNOW,SRSBN,SRSIG "RTN","SROESAD",23,0) D SIG^XUSESIG I X1="" D NOAD Q "RTN","SROESAD",24,0) S SRSBN=X1,SRNOW=$$NOW^XLFDT "RTN","SROESAD",25,0) I $D(SRNDOC(SRTN)) D POSTN(SRTN,SRSBN,SRNOW) I SRESNOT=1 Q "RTN","SROESAD",26,0) I $D(SRADOC(SRTN)) D POSTA(SRTN,SRSBN,SRNOW) I SRESNOT=1 Q "RTN","SROESAD",27,0) W ! K DIR S DIR(0)="FOA",DIR("A")="Press RETURN to continue... " D ^DIR K DIR "RTN","SROESAD",28,0) Q "RTN","SROESAD",29,0) NOAD ; no addendum created "RTN","SROESAD",30,0) W !!,"No addendum created for case #"_SRTN_". Original data will be restored.",!! S SRESNOT=1 "RTN","SROESAD",31,0) Q "RTN","SROESAD",32,0) COM ; add comment to end of addendum "RTN","SROESAD",33,0) N SRCOM S SRCOM=X I $D(SRNDOC(SRTN)) S SRLN=$O(^TMP("SRNR",$J,SRTN,""),-1) I SRLN D "RTN","SROESAD",34,0) .I ^TMP("SRNR",$J,SRTN,SRLN)'="" S SRLN=SRLN+1,^TMP("SRNR",$J,SRTN,SRLN)="" "RTN","SROESAD",35,0) .S SRLN=SRLN+1,^TMP("SRNR",$J,SRTN,SRLN)="Addendum Comment: "_$S($L(SRCOM)<63:SRCOM,1:"") "RTN","SROESAD",36,0) .I $L(SRCOM)>62 S SRLN=SRLN+1,^TMP("SRNR",$J,SRTN,SRLN)=SRCOM "RTN","SROESAD",37,0) I $D(SRADOC(SRTN)) S SRLN=$O(^TMP("SRAR",$J,SRTN,""),-1) I SRLN D "RTN","SROESAD",38,0) .I ^TMP("SRAR",$J,SRTN,SRLN)'="" S SRLN=SRLN+1,^TMP("SRAR",$J,SRTN,SRLN)="" "RTN","SROESAD",39,0) .S SRLN=SRLN+1,^TMP("SRAR",$J,SRTN,SRLN)="Addendum Comment: "_$S($L(SRCOM)<63:SRCOM,1:"") "RTN","SROESAD",40,0) .I $L(SRCOM)>62 S SRLN=SRLN+1,^TMP("SRAR",$J,SRTN,SRLN)=SRCOM "RTN","SROESAD",41,0) S SRLN=$O(^TMP("SRADDEND",$J,SRTN,""),-1) I SRLN D "RTN","SROESAD",42,0) .I ^TMP("SRADDEND",$J,SRTN,SRLN)'="" S SRLN=SRLN+1,^TMP("SRADDEND",$J,SRTN,SRLN)="" "RTN","SROESAD",43,0) .S SRLN=SRLN+1,^TMP("SRADDEND",$J,SRTN,SRLN)="Addendum Comment: "_$S($L(SRCOM)<63:SRCOM,1:"") "RTN","SROESAD",44,0) .I $L(SRCOM)>62 S SRLN=SRLN+1,^TMP("SRADDEND",$J,SRTN,SRLN)=SRCOM "RTN","SROESAD",45,0) Q "RTN","SROESAD",46,0) GET ; gather data for modified fields for addendum display before signing "RTN","SROESAD",47,0) F SRS=1,2 F SRPRE="SRARAD","SRNRAD" S SRFLD="",SRSUB=SRPRE_SRS F S SRFLD=$O(^TMP(SRSUB,$J,SRTN,130,SRFLD)) Q:SRFLD="" D "RTN","SROESAD",48,0) .I SRFLD[";W" S SRLN="" D Q "RTN","SROESAD",49,0) ..F S SRLN=$O(^TMP(SRSUB,$J,SRTN,130,SRFLD,SRLN)) Q:SRLN="" S ^TMP("SRAD"_SRS,$J,SRTN,130,SRFLD,SRLN)=^TMP(SRSUB,$J,SRTN,130,SRFLD,SRLN) "RTN","SROESAD",50,0) .S ^TMP("SRAD"_SRS,$J,SRTN,130,SRFLD)=^TMP(SRSUB,$J,SRTN,130,SRFLD) "RTN","SROESAD",51,0) F SRS=1,2 F SRPRE="SRARAD","SRNRAD" S SRMULT="A",SRSUB=SRPRE_SRS F S SRMULT=$O(^TMP(SRSUB,$J,SRTN,SRMULT)) Q:SRMULT="" S SRE="" D "RTN","SROESAD",52,0) .F S SRE=$O(^TMP(SRSUB,$J,SRTN,SRMULT,SRE)) Q:'SRE S SRE1="" F S SRE1=$O(^TMP(SRSUB,$J,SRTN,SRMULT,SRE,SRE1)) Q:SRE1="" S SRFLD="" F S SRFLD=$O(^TMP(SRSUB,$J,SRTN,SRMULT,SRE,SRE1,SRFLD)) Q:SRFLD="" D "RTN","SROESAD",53,0) ..I SRFLD[";W" S SRLN="" D Q "RTN","SROESAD",54,0) ...F S SRLN=$O(^TMP(SRSUB,$J,SRTN,SRMULT,SRE,SRE1,SRFLD,SRLN)) Q:SRLN="" S ^TMP("SRAD"_SRS,$J,SRTN,SRMULT,SRE,SRE1,SRFLD,SRLN)=^TMP(SRSUB,$J,SRTN,SRMULT,SRE,SRE1,SRFLD,SRLN) "RTN","SROESAD",55,0) ..S ^TMP("SRAD"_SRS,$J,SRTN,SRMULT,SRE,SRE1,SRFLD)=^TMP(SRSUB,$J,SRTN,SRMULT,SRE,SRE1,SRFLD) "RTN","SROESAD",56,0) F SRS=1,2 F SRPRE="SRARMULT","SRNRMULT" S SRMULT="A",SRSUB=SRPRE_SRS F S SRMULT=$O(^TMP(SRSUB,$J,SRTN,SRMULT)) Q:SRMULT="" S SRE="" D "RTN","SROESAD",57,0) .F S SRE=$O(^TMP(SRSUB,$J,SRTN,SRMULT,SRE)) Q:'SRE S SRE1="" F S SRE1=$O(^TMP(SRSUB,$J,SRTN,SRMULT,SRE,SRE1)) Q:SRE1="" S SRFLD="" F S SRFLD=$O(^TMP(SRSUB,$J,SRTN,SRMULT,SRE,SRE1,SRFLD)) Q:SRFLD="" D "RTN","SROESAD",58,0) ..I SRFLD[";W" S SRLN="" D Q "RTN","SROESAD",59,0) ...F S SRLN=$O(^TMP(SRSUB,$J,SRTN,SRMULT,SRE,SRE1,SRFLD,SRLN)) Q:SRLN="" S ^TMP("SRADM"_SRS,$J,SRTN,SRMULT,SRE,SRE1,SRFLD,SRLN)=^TMP(SRSUB,$J,SRTN,SRMULT,SRE,SRE1,SRFLD,SRLN) "RTN","SROESAD",60,0) ..S ^TMP("SRADM"_SRS,$J,SRTN,SRMULT,SRE,SRE1,SRFLD)=^TMP(SRSUB,$J,SRTN,SRMULT,SRE,SRE1,SRFLD) "RTN","SROESAD",61,0) Q "RTN","SROESAD",62,0) DISPLAY ; display addenda to nurse/anesthesia report(s) "RTN","SROESAD",63,0) S SRLN=0 "RTN","SROESAD",64,0) D HDR F S SRLN=$O(^TMP("SRADDEND",$J,SRTN,SRLN)) Q:'SRLN D Q:SRESNOT "RTN","SROESAD",65,0) .I $Y+4>IOSL D PAGE Q:SRESNOT D HDR "RTN","SROESAD",66,0) .W !,^TMP("SRADDEND",$J,SRTN,SRLN) "RTN","SROESAD",67,0) D:'SRESNOT PAGE "RTN","SROESAD",68,0) Q "RTN","SROESAD",69,0) PAGE W ! K DIR S DIR(0)="E" D ^DIR K DIR I $D(DTOUT) S SRESNOT=1 Q "RTN","SROESAD",70,0) I $D(DUOUT) D SURE "RTN","SROESAD",71,0) Q "RTN","SROESAD",72,0) SURE W ! S DIR("A",1)="No addendum will be created and the original data will be restored.",DIR("A")="Are you sure you want to exit",DIR("B")="NO",DIR(0)="Y" D ^DIR K DIR I Y!$D(DTOUT)!$D(DUOUT) S SRESNOT=1 "RTN","SROESAD",73,0) Q "RTN","SROESAD",74,0) HDR ; header for addendum display "RTN","SROESAD",75,0) W @IOF,!,"Addendum for Case #"_SRTN_" - "_SRSDATE,!,"Patient: "_VADM(1)_" ("_VA("PID")_")",! "RTN","SROESAD",76,0) F I=1:1:80 W "-" "RTN","SROESAD",77,0) Q "RTN","SROESAD",78,0) POSTA(SRTN,SRSBN,SRNOW) ;post signed addendum to anesthesia report "RTN","SROESAD",79,0) N SRADD,SRAY,SRTIU,SRMSGS "RTN","SROESAD",80,0) S SRAY(1405)=SRTN_";SRF(",SRAY(1701)="Case #: "_SRTN "RTN","SROESAD",81,0) F I=1:1 Q:'$D(^TMP("SRAR",$J,SRTN,I)) S SRAY("TEXT",I,0)=^TMP("SRAR",$J,SRTN,I) "RTN","SROESAD",82,0) S SRTIU=$P($G(^SRF(SRTN,"TIU")),"^",4) Q:'SRTIU "RTN","SROESAD",83,0) D MAKEADD^TIUSRVP(.SRADD,SRTIU,.SRAY,1) I +SRADD'>0 D Q "RTN","SROESAD",84,0) .S SRMSGS=$P($G(SRADD),U,2) "RTN","SROESAD",85,0) .W !!!!,SRMSGS "RTN","SROESAD",86,0) .D NOAD "RTN","SROESAD",87,0) .Q "RTN","SROESAD",88,0) S SRTIU=+SRADD K SRAY "RTN","SROESAD",89,0) D ES^TIUSROI(SRTIU,DUZ) "RTN","SROESAD",90,0) Q "RTN","SROESAD",91,0) POSTN(SRTN,SRSBN,SRNOW) ; post signed addendum "RTN","SROESAD",92,0) N SRADD,SRAY,SRTIU,SRMSGS "RTN","SROESAD",93,0) S SRAY(1405)=SRTN_";SRF(",SRAY(1701)="Case #: "_SRTN "RTN","SROESAD",94,0) F I=1:1 Q:'$D(^TMP("SRNR",$J,SRTN,I)) S SRAY("TEXT",I,0)=^TMP("SRNR",$J,SRTN,I) "RTN","SROESAD",95,0) S SRTIU=$P($G(^SRF(SRTN,"TIU")),"^",2) Q:'SRTIU "RTN","SROESAD",96,0) D MAKEADD^TIUSRVP(.SRADD,SRTIU,.SRAY,1) I +SRADD'>0 D Q "RTN","SROESAD",97,0) .S SRMSGS=$P($G(SRADD),U,2) "RTN","SROESAD",98,0) .W !!!!,SRMSGS "RTN","SROESAD",99,0) .D NOAD "RTN","SROESAD",100,0) .Q "RTN","SROESAD",101,0) S SRTIU=+SRADD K SRAY "RTN","SROESAD",102,0) D ES^TIUSROI(SRTIU,DUZ) "RTN","SROESAD",103,0) Q "VER") 8.0^22.0 "BLD",8434,6) ^170 **END** **END**