Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: SROESX0

SROESX0.m

Go to the documentation of this file.
  1. SROESX0 ;BIR/ADM - SURGERY E-SIG UTILITY ; [ 02/13/02 12:03 PM ]
  1. ;;3.0; Surgery ;**100**;24 Jun 93
  1. ;
  1. ;** NOTICE: This routine is part of an implementation of a nationally
  1. ;** controlled procedure. Local modifications to this routine
  1. ;** are prohibited.
  1. ;
  1. ; Reference to UPDATE^TIUSRVP supported by DBIA #3535
  1. ; Reference to EXTRACT^TIULQ supported by DBIA #2693
  1. ; Reference to FILE^TIUSRVP supported by DBIA #3540
  1. ;
  1. Q
  1. SET ; set logic for AES1 and AES2 x-refs
  1. N SRPHY,SRSTAT,SRTN,SRTIU,SRX,ZTDESC,ZTRTN,ZTIO,ZTDTH,ZTSAVE,ZTSK
  1. S SRPHY=X2 D NEXT Q:'SRTIU
  1. TASK ; task call to TIU
  1. S ZTDESC="Update Signer in TIU",ZTRTN="SIGNER^SROESX0",ZTIO="",ZTDTH=$H,(ZTSAVE("SRTIU"),ZTSAVE("SRPHY"))="" D ^%ZTLOAD
  1. Q
  1. SIGNER ; make call to TIU to update author and expected signer
  1. D STATUS S SRAY(.05)=$S(SRSTAT:SRSTAT,1:1),(SRAY(1202),SRAY(1204))=SRPHY
  1. D UPDATE^TIUSRVP(.SRDOC,SRTIU,.SRAY,1)
  1. END I $D(ZTQUEUED) S ZTREQ="@"
  1. Q
  1. NEXT S SRTN=DA,SRX=$G(^SRF(SRTN,"TIU"))
  1. S SRTIU=$S($P($G(^SRF(SRTN,"NON")),"^")="Y":$P(SRX,"^",3),1:$P(SRX,"^"))
  1. Q
  1. STATUS ; get TIU document status
  1. D EXTRACT^TIULQ(SRTIU,"SRY",.SRERR,".05",1) S SRSTAT=$G(SRY(SRTIU,.05,"I"))
  1. Q
  1. SET1 ; set logic for AES3 and AES4 and x-refs
  1. N SRPHY,SRSTAT,SRTN,SRTIU,SRX,ZTDESC,ZTRTN,ZTIO,ZTDTH,ZTSAVE,ZTSK
  1. S SRPHY=X2 D NEXT Q:'SRTIU
  1. TASK1 ; task call to TIU
  1. S ZTDESC="Update Cosigner in TIU",ZTRTN="COSIG^SROESX0",ZTIO="",ZTDTH=$H,(ZTSAVE("SRTIU"),ZTSAVE("SRPHY"))="" D ^%ZTLOAD
  1. Q
  1. COSIG ; make call to TIU to update attending and expected cosigner
  1. D STATUS S SRAY(.05)=$S(SRSTAT:SRSTAT,1:1),(SRAY(1208),SRAY(1209))=SRPHY
  1. D UPDATE^TIUSRVP(.SRDOC,SRTIU,.SRAY,1) D END
  1. Q
  1. SET2 ; set logic for AES5 x-ref
  1. N SRPHY,SRSTAT,SRTN,SRTIU,SRX,ZTDESC,ZTRTN,ZTIO,ZTDTH,ZTSAVE,ZTSK
  1. S SRPHY=X2,SRTN=DA,SRX=$G(^SRF(SRTN,"TIU")),SRTIU=$P(SRX,"^",4) Q:'SRTIU
  1. D TASK,ALTSK
  1. Q
  1. SET3 ; set logic for AES6 x-ref
  1. N SRPHY,SRSTAT,SRTN,SRTIU,SRX,ZTDESC,ZTRTN,ZTIO,ZTDTH,ZTSAVE,ZTSK
  1. S SRPHY=X2,SRTN=DA,SRX=$G(^SRF(SRTN,"TIU")),SRTIU=$P(SRX,"^",4) Q:'SRTIU
  1. D TASK1
  1. ALTSK S ZTDESC="Task Alerts to Anesthesia",ZTRTN="ANLRT^SROESX0",ZTIO="",ZTDTH=$H,(ZTSAVE("SRTIU"),ZTSAVE("SRTN"))="" D ^%ZTLOAD
  1. Q
  1. ANLRT ; for anesthesia report, delete and re-issue alert
  1. N SRSTAT D STATUS I SRSTAT=1 D ALERT^SROESXA,END
  1. Q
  1. SET4 ; set logic for AES7 x-ref
  1. N SRTN,SRTIU,SRX,ZTDESC,ZTRTN,ZTIO,ZTDTH,ZTSAVE,ZTSK
  1. S SRTN=DA(1),SRX=$G(^SRF(SRTN,"TIU")),SRTIU=$P(SRX,"^",2) Q:'SRTIU
  1. S ZTDESC="Update Nurse Report Signer in TIU",ZTRTN="RNSIG^SROESX0",ZTIO="",ZTDTH=$H,(ZTSAVE("SRTIU"),ZTSAVE("SRTN"))="" D ^%ZTLOAD
  1. S ZTDESC="Task Alerts to Circulating Nurses",ZTRTN="RNLRT^SROESX0",ZTIO="",ZTDTH=$H,(ZTSAVE("SRTIU"),ZTSAVE("SRTN"))="" D ^%ZTLOAD
  1. Q
  1. RNSIG ; update signer/author of nurse report
  1. ; get first circulating nurse as author and expected signer
  1. S SRPHY="",SRRN=$O(^SRF(SRTN,19,0)) S:SRRN SRPHY=$P($G(^SRF(SRTN,19,SRRN,0)),"^")
  1. D SIGNER
  1. Q
  1. RNLRT ; for nurse report, delete and re-issue alert
  1. N SRSTAT D STATUS I SRSTAT=1 D ALERT^SROESX,END
  1. Q
  1. AES8 ; set logic for AES7 cross-reference
  1. N II,SR0,SRAY,SRTDA,SRTN,SRTIU
  1. S SRTN=$S($D(SRTN):SRTN,1:DA)
  1. S SR0=^SRF(SRTN,0),SRTIU=$G(^SRF(SRTN,"TIU")),SRAY(1301)=$P(SR0,"^",9)
  1. F II=1,2,3,4 I $P(SRTIU,"^",II) S SRTDA=$P(SRTIU,"^",II) D
  1. .D FILE^TIUSRVP(.SRERR,SRTDA,.SRAY,1)
  1. Q