1 | SROESUTL ;BIR/ADM - SURGERY E-SIG UTILITY ;09/22/04
|
---|
2 | ;;3.0; Surgery ;**100,134**;24 Jun 93
|
---|
3 | ;** NOTICE: This routine is part of an implementation of a nationally
|
---|
4 | ;** controlled procedure. Local modifications to this routine
|
---|
5 | ;** are prohibited.
|
---|
6 | ;
|
---|
7 | ; Reference to EXTRACT^TIULQ supported by DBIA #2693
|
---|
8 | ;
|
---|
9 | TIU ; get document specifics from TIU
|
---|
10 | D EXTRACT^TIULQ(SRTIU,"SRT",.SRERR)
|
---|
11 | S SRDOC=SRT(SRTIU,.01,"E"),SRCASE=$P(SRT(SRTIU,1405,"I"),";")
|
---|
12 | Q
|
---|
13 | DELETE(SRTIU) ; delete action
|
---|
14 | N SR,SRCASE,SRDOC,SRERR,SRFLD,SRT D TIU
|
---|
15 | S SRFLD=$S(SRDOC["OPERATION":1000,SRDOC["NURSE INTRAOP":1001,SRDOC["PROCEDURE":1002,1:1003) D
|
---|
16 | .S SR=$G(^SRF(SRCASE,"TIU"))
|
---|
17 | .I SRFLD=1000,$P(SR,"^")=SRTIU D AT Q
|
---|
18 | .I SRFLD=1001,$P(SR,"^",2)=SRTIU D AT Q
|
---|
19 | .I SRFLD=1002,$P(SR,"^",3)=SRTIU D AT Q
|
---|
20 | .I SRFLD=1003,$P(SR,"^",4)=SRTIU D AT
|
---|
21 | Q
|
---|
22 | AT N SRY S SRY(130,SROP_",",SRFLD)="@" D FILE^DIE("","SRY")
|
---|
23 | Q
|
---|
24 | RETRACT(SRTIU) ; retraction action
|
---|
25 | D DELETE(SRTIU),ALERT(SRTIU)
|
---|
26 | Q
|
---|
27 | ALERT(SRTIU) ; issue alert to author of document
|
---|
28 | N SRAUTHOR,SRDOC,SRCASE,SRERR,SRT
|
---|
29 | D TIU S SRAUTHOR=SRT(SRTIU,1202,"I") Q:'SRAUTHOR
|
---|
30 | S XQAMSG=SRDOC_" retracted on case #"_SRCASE_"."
|
---|
31 | S XQA(SRAUTHOR)="",XQADATA=SRCASE_"^"_SRDOC,XQAROU="ACTION^SROESUTL"
|
---|
32 | D SETUP^XQALERT
|
---|
33 | Q
|
---|
34 | ACTION ; alert action
|
---|
35 | Q:'$D(XQADATA) N DFN,SR,SRSDT,SRTN,SRDOC,SRY,VA,VADM,Y
|
---|
36 | S SRTN=$P(XQADATA,"^"),SRDOC=$P(XQADATA,"^",2) Q:'SRTN!(SRDOC="")
|
---|
37 | S SR=$G(^SRF(SRTN,0)) Q:SR=""
|
---|
38 | S DFN=$P(SR,"^") D DEM^VADPT S Y=$P(SR,"^",9) D DD^%DT S SRSDT=Y
|
---|
39 | S SRY(1)=SRDOC_" retracted on case #"_SRTN,SRY(1,"F")="!!!"
|
---|
40 | S SRY(2)=VADM(1)_" ("_VA("PID")_") Op Date: "_SRSDT
|
---|
41 | S SRY(3)="Principal Procedure: "_$P(^SRF(SRTN,"OP"),"^"),SRY(4)=" " D EN^DDIOL(.SRY)
|
---|
42 | Q
|
---|
43 | STATUS(SRTIU) ; get signature status
|
---|
44 | N SRT,STATUS
|
---|
45 | D EXTRACT^TIULQ(SRTIU,"SRT",.SRERR,".05") S STATUS=SRT(SRTIU,.05,"I")
|
---|
46 | Q STATUS
|
---|
47 | SIGNED(SRCASE) ;is NIR or AR on this case or on concurrent case signed?
|
---|
48 | N SRCONCC,SRI,SRND,SRSINED
|
---|
49 | S SRSINED=0,SRND=$G(^SRF(SRCASE,"TIU"))
|
---|
50 | F SRI=2,4 S SRTIU=$P(SRND,"^",SRI) I SRTIU,$$STATUS(SRTIU)=7 S SRSINED=1 Q
|
---|
51 | S SRCONCC=$P($G(^SRF(SRCASE,"CON")),"^") I SRCONCC D
|
---|
52 | .S SRND=$G(^SRF(SRCONCC,"TIU"))
|
---|
53 | .F SRI=2,4 S SRTIU=$P(SRND,"^",SRI) I SRTIU,$$STATUS(SRTIU)=7 S SRSINED=1 Q
|
---|
54 | Q SRSINED
|
---|