| 1 | SROESX0 ;BIR/ADM - SURGERY E-SIG UTILITY ; [ 02/13/02  12:03 PM ] | 
|---|
| 2 | ;;3.0; Surgery ;**100**;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 UPDATE^TIUSRVP supported by DBIA #3535 | 
|---|
| 9 | ; Reference to EXTRACT^TIULQ supported by DBIA #2693 | 
|---|
| 10 | ; Reference to FILE^TIUSRVP supported by DBIA #3540 | 
|---|
| 11 | ; | 
|---|
| 12 | Q | 
|---|
| 13 | SET ; set logic for AES1 and AES2 x-refs | 
|---|
| 14 | N SRPHY,SRSTAT,SRTN,SRTIU,SRX,ZTDESC,ZTRTN,ZTIO,ZTDTH,ZTSAVE,ZTSK | 
|---|
| 15 | S SRPHY=X2 D NEXT Q:'SRTIU | 
|---|
| 16 | TASK ; task call to TIU | 
|---|
| 17 | S ZTDESC="Update Signer in TIU",ZTRTN="SIGNER^SROESX0",ZTIO="",ZTDTH=$H,(ZTSAVE("SRTIU"),ZTSAVE("SRPHY"))="" D ^%ZTLOAD | 
|---|
| 18 | Q | 
|---|
| 19 | SIGNER ; make call to TIU to update author and expected signer | 
|---|
| 20 | D STATUS S SRAY(.05)=$S(SRSTAT:SRSTAT,1:1),(SRAY(1202),SRAY(1204))=SRPHY | 
|---|
| 21 | D UPDATE^TIUSRVP(.SRDOC,SRTIU,.SRAY,1) | 
|---|
| 22 | END I $D(ZTQUEUED) S ZTREQ="@" | 
|---|
| 23 | Q | 
|---|
| 24 | NEXT S SRTN=DA,SRX=$G(^SRF(SRTN,"TIU")) | 
|---|
| 25 | S SRTIU=$S($P($G(^SRF(SRTN,"NON")),"^")="Y":$P(SRX,"^",3),1:$P(SRX,"^")) | 
|---|
| 26 | Q | 
|---|
| 27 | STATUS ; get TIU document status | 
|---|
| 28 | D EXTRACT^TIULQ(SRTIU,"SRY",.SRERR,".05",1) S SRSTAT=$G(SRY(SRTIU,.05,"I")) | 
|---|
| 29 | Q | 
|---|
| 30 | SET1 ; set logic for AES3 and AES4 and x-refs | 
|---|
| 31 | N SRPHY,SRSTAT,SRTN,SRTIU,SRX,ZTDESC,ZTRTN,ZTIO,ZTDTH,ZTSAVE,ZTSK | 
|---|
| 32 | S SRPHY=X2 D NEXT Q:'SRTIU | 
|---|
| 33 | TASK1 ; task call to TIU | 
|---|
| 34 | S ZTDESC="Update Cosigner in TIU",ZTRTN="COSIG^SROESX0",ZTIO="",ZTDTH=$H,(ZTSAVE("SRTIU"),ZTSAVE("SRPHY"))="" D ^%ZTLOAD | 
|---|
| 35 | Q | 
|---|
| 36 | COSIG ; make call to TIU to update attending and expected cosigner | 
|---|
| 37 | D STATUS S SRAY(.05)=$S(SRSTAT:SRSTAT,1:1),(SRAY(1208),SRAY(1209))=SRPHY | 
|---|
| 38 | D UPDATE^TIUSRVP(.SRDOC,SRTIU,.SRAY,1) D END | 
|---|
| 39 | Q | 
|---|
| 40 | SET2 ; set logic for AES5 x-ref | 
|---|
| 41 | N SRPHY,SRSTAT,SRTN,SRTIU,SRX,ZTDESC,ZTRTN,ZTIO,ZTDTH,ZTSAVE,ZTSK | 
|---|
| 42 | S SRPHY=X2,SRTN=DA,SRX=$G(^SRF(SRTN,"TIU")),SRTIU=$P(SRX,"^",4) Q:'SRTIU | 
|---|
| 43 | D TASK,ALTSK | 
|---|
| 44 | Q | 
|---|
| 45 | SET3 ; set logic for AES6 x-ref | 
|---|
| 46 | N SRPHY,SRSTAT,SRTN,SRTIU,SRX,ZTDESC,ZTRTN,ZTIO,ZTDTH,ZTSAVE,ZTSK | 
|---|
| 47 | S SRPHY=X2,SRTN=DA,SRX=$G(^SRF(SRTN,"TIU")),SRTIU=$P(SRX,"^",4) Q:'SRTIU | 
|---|
| 48 | D TASK1 | 
|---|
| 49 | ALTSK S ZTDESC="Task Alerts to Anesthesia",ZTRTN="ANLRT^SROESX0",ZTIO="",ZTDTH=$H,(ZTSAVE("SRTIU"),ZTSAVE("SRTN"))="" D ^%ZTLOAD | 
|---|
| 50 | Q | 
|---|
| 51 | ANLRT ; for anesthesia report, delete and re-issue alert | 
|---|
| 52 | N SRSTAT D STATUS I SRSTAT=1 D ALERT^SROESXA,END | 
|---|
| 53 | Q | 
|---|
| 54 | SET4 ; set logic for AES7 x-ref | 
|---|
| 55 | N SRTN,SRTIU,SRX,ZTDESC,ZTRTN,ZTIO,ZTDTH,ZTSAVE,ZTSK | 
|---|
| 56 | S SRTN=DA(1),SRX=$G(^SRF(SRTN,"TIU")),SRTIU=$P(SRX,"^",2) Q:'SRTIU | 
|---|
| 57 | S ZTDESC="Update Nurse Report Signer in TIU",ZTRTN="RNSIG^SROESX0",ZTIO="",ZTDTH=$H,(ZTSAVE("SRTIU"),ZTSAVE("SRTN"))="" D ^%ZTLOAD | 
|---|
| 58 | S ZTDESC="Task Alerts to Circulating Nurses",ZTRTN="RNLRT^SROESX0",ZTIO="",ZTDTH=$H,(ZTSAVE("SRTIU"),ZTSAVE("SRTN"))="" D ^%ZTLOAD | 
|---|
| 59 | Q | 
|---|
| 60 | RNSIG ; update signer/author of nurse report | 
|---|
| 61 | ; get first circulating nurse as author and expected signer | 
|---|
| 62 | S SRPHY="",SRRN=$O(^SRF(SRTN,19,0)) S:SRRN SRPHY=$P($G(^SRF(SRTN,19,SRRN,0)),"^") | 
|---|
| 63 | D SIGNER | 
|---|
| 64 | Q | 
|---|
| 65 | RNLRT ; for nurse report, delete and re-issue alert | 
|---|
| 66 | N SRSTAT D STATUS I SRSTAT=1 D ALERT^SROESX,END | 
|---|
| 67 | Q | 
|---|
| 68 | AES8 ; set logic for AES7 cross-reference | 
|---|
| 69 | N II,SR0,SRAY,SRTDA,SRTN,SRTIU | 
|---|
| 70 | S SRTN=$S($D(SRTN):SRTN,1:DA) | 
|---|
| 71 | S SR0=^SRF(SRTN,0),SRTIU=$G(^SRF(SRTN,"TIU")),SRAY(1301)=$P(SR0,"^",9) | 
|---|
| 72 | F II=1,2,3,4 I $P(SRTIU,"^",II) S SRTDA=$P(SRTIU,"^",II) D | 
|---|
| 73 | .D FILE^TIUSRVP(.SRERR,SRTDA,.SRAY,1) | 
|---|
| 74 | Q | 
|---|