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

SROXR1.m

Go to the documentation of this file.
  1. SROXR1 ;B'HAM ISC/MAM - CROSS REFERENCES (CONT) ;10/05/04
  1. ;;3.0; Surgery ;**34,72,79,100,134**;24 Jun 93
  1. ATT ; ATT x-ref on surgeon to update attend surg
  1. N SRDIV,SREQ S SRDIV=$$SITE^SROUTL0(DA) Q:'SRDIV
  1. I $P(^SRO(133,SRDIV,0),"^",19)'=0 Q
  1. S SREQ(130,DA_",",.164)=X D FILE^DIE("","SREQ","^TMP(""SR"",$J)")
  1. Q
  1. KATT ; kill logic for ATT x-ref
  1. Q
  1. ATTP ; ATTP x-ref on provider to update attend provider
  1. N SRDIV,SREQ S SRDIV=$$SITE^SROUTL0(DA) Q:'SRDIV
  1. I $P(^SRO(133,SRDIV,0),"^",19)'=0 Q
  1. S SREQ(130,DA_",",124)=X D FILE^DIE("","SREQ","^TMP(""SR"",$J)")
  1. Q
  1. KATTP ; kill logic for ATTP x-ref
  1. Q
  1. AR ; 'AR' x-ref on the 'DATE OF OPERATION'
  1. ; field in the SURGERY file (130)
  1. Q:'$D(^SRF(DA,"REQ")) I $P(^SRF(DA,"REQ"),"^")'=1 Q
  1. I $D(^SRF(DA,31)),$P(^(31),"^",4) Q
  1. S:$E(X,1,7)'<DT DFN=$P(^SRF(DA,0),"^"),^SRF("AR",$E(X,1,7),DFN,DA)=""
  1. Q
  1. KAR ; 'KILL' logic of the 'AR' x-ref on the 'DATE OF
  1. ; OPERATION' field in the SURGERY file (130)
  1. S DFN=$P(^SRF(DA,0),"^") K ^SRF("AR",$E(X,1,7),DFN,DA)
  1. Q
  1. SP ; set 'ASP' and 'AOR' x-refs when date is changed
  1. I $P(^SRF(DA,0),"^",4) S ^SRF("ASP",$P(^(0),"^",4),$E(X,1,7),DA)=DA
  1. OR I $P(^SRF(DA,0),"^",2) S ^SRF("AOR",$P(^(0),"^",2),$E(X,1,7),DA)=""
  1. Q
  1. KSP ; kill 'ASP' and 'AOR' x-refs when date is changed
  1. I $P(^SRF(DA,0),"^",4) K ^SRF("ASP",$P(^(0),"^",4),$E(X,1,7),DA)
  1. KOR S DFN=$P(^SRF(DA,0),"^") I $P(^SRF(DA,0),"^",2) K ^SRF("AOR",$P(^(0),"^",2),$E(X,1,7),DA)
  1. Q
  1. IV ; delete IV orders
  1. S SRT("X")=X D NOW^%DTC S X=SRT("X"),X1=$E(%,1,12) D MINS^SRSUTL2
  1. I X>1440 D OUT Q
  1. I X>60 D
  1. .D EN^DDIOL("A considerable amount of time has passed since the "_$S($P($G(^SRF(SRTN,"NON")),"^")="Y":"procedure",1:"operation")_" start",,"!!,?2")
  1. .D EN^DDIOL("time and the present time.",,"!,?2")
  1. D IV1
  1. OUT S X=SRT("X") K SRT,X1,Y
  1. Q
  1. IV1 K DIR W ! S DIR("?",1)="Enter 'YES' to cancel current IV orders. Enter 'NO' or '^' to continue",DIR("?")="without cancelling the patient's current IV orders.",DIR("B")=$S($P($G(^SRF(SRTN,"NON")),"^")="Y":"NO",1:"YES")
  1. S DIR("A")="Do you want to cancel all current IV orders for this patient (Y/N)",DIR(0)="Y" D ^DIR I $D(DTOUT)!(Y=0)!$D(DUOUT) Q
  1. S X="PSIVACT" X ^%ZOSF("TEST") Q:'$T
  1. S ZTDESC="Cancel IV Orders from Surgery",ZTDTH=$H,ZTIO="",ZTRTN="DCOR^SROXR1",ZTSAVE("PSIVRES")="SURGERY PACKAGE",ZTSAVE("DFN")=DFN N X,Y D ^%ZTLOAD
  1. Q
  1. DCOR ; entry for tasked job to cancel IVs
  1. D DCOR^PSIVACT S ZTREQ="@"
  1. Q
  1. END K DFN,I,S,SRSC1,SRSDAT,SRSOR
  1. Q
  1. STAFF ; update STAFF/RESIDENT field
  1. S STAFF="R" I $D(^XUSEC("SR STAFF SURGEON",X)) S STAFF="S"
  1. S $P(^SRF(DA,.1),"^",3)=STAFF
  1. Q
  1. KSTAFF ; update STAFF/RESIDENT when deleted
  1. S $P(^SRF(DA,.1),"^",3)=""
  1. Q
  1. ANES ; update ANESTHETIST CATEGORY field
  1. N SRASITE,SRAML,SRACAT S SRASITE=$O(^SRO(133,0)) I SRASITE S SRAML=$P(^SRO(133,SRASITE,0),"^",4)
  1. S SRACAT=$S($D(^XUSEC("SR ANESTHESIOLOGIST",X)):"A",$D(^XUSEC("SR SURGEON",X)):"A",$D(^XUSEC("SR NURSE ANESTHETIST",X)):"N",1:"O")
  1. I SRACAT="A",SRAML'=$P($G(^VA(200,X,5)),"^",2) S SRACAT="O"
  1. S $P(^SRF(DA,.3),"^",8)=SRACAT K SRASITE,SRAML,SRACAT
  1. Q
  1. KANES ; update ANESTHETIST CATEGORY when deleted
  1. S $P(^SRF(DA,.3),"^",8)=""
  1. Q