[623] | 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
|
---|