[613] | 1 | SROXR1 ;B'HAM ISC/MAM - CROSS REFERENCES (CONT) ;10/05/04
|
---|
| 2 | ;;3.0; Surgery ;**34,72,79,100,134**;24 Jun 93
|
---|
| 3 | ATT ; ATT x-ref on surgeon to update attend surg
|
---|
| 4 | N SRDIV,SREQ S SRDIV=$$SITE^SROUTL0(DA) Q:'SRDIV
|
---|
| 5 | I $P(^SRO(133,SRDIV,0),"^",19)'=0 Q
|
---|
| 6 | S SREQ(130,DA_",",.164)=X D FILE^DIE("","SREQ","^TMP(""SR"",$J)")
|
---|
| 7 | Q
|
---|
| 8 | KATT ; kill logic for ATT x-ref
|
---|
| 9 | Q
|
---|
| 10 | ATTP ; ATTP x-ref on provider to update attend provider
|
---|
| 11 | N SRDIV,SREQ S SRDIV=$$SITE^SROUTL0(DA) Q:'SRDIV
|
---|
| 12 | I $P(^SRO(133,SRDIV,0),"^",19)'=0 Q
|
---|
| 13 | S SREQ(130,DA_",",124)=X D FILE^DIE("","SREQ","^TMP(""SR"",$J)")
|
---|
| 14 | Q
|
---|
| 15 | KATTP ; kill logic for ATTP x-ref
|
---|
| 16 | Q
|
---|
| 17 | AR ; 'AR' x-ref on the 'DATE OF OPERATION'
|
---|
| 18 | ; field in the SURGERY file (130)
|
---|
| 19 | Q:'$D(^SRF(DA,"REQ")) I $P(^SRF(DA,"REQ"),"^")'=1 Q
|
---|
| 20 | I $D(^SRF(DA,31)),$P(^(31),"^",4) Q
|
---|
| 21 | S:$E(X,1,7)'<DT DFN=$P(^SRF(DA,0),"^"),^SRF("AR",$E(X,1,7),DFN,DA)=""
|
---|
| 22 | Q
|
---|
| 23 | KAR ; 'KILL' logic of the 'AR' x-ref on the 'DATE OF
|
---|
| 24 | ; OPERATION' field in the SURGERY file (130)
|
---|
| 25 | S DFN=$P(^SRF(DA,0),"^") K ^SRF("AR",$E(X,1,7),DFN,DA)
|
---|
| 26 | Q
|
---|
| 27 | SP ; set 'ASP' and 'AOR' x-refs when date is changed
|
---|
| 28 | I $P(^SRF(DA,0),"^",4) S ^SRF("ASP",$P(^(0),"^",4),$E(X,1,7),DA)=DA
|
---|
| 29 | OR I $P(^SRF(DA,0),"^",2) S ^SRF("AOR",$P(^(0),"^",2),$E(X,1,7),DA)=""
|
---|
| 30 | Q
|
---|
| 31 | KSP ; kill 'ASP' and 'AOR' x-refs when date is changed
|
---|
| 32 | I $P(^SRF(DA,0),"^",4) K ^SRF("ASP",$P(^(0),"^",4),$E(X,1,7),DA)
|
---|
| 33 | KOR S DFN=$P(^SRF(DA,0),"^") I $P(^SRF(DA,0),"^",2) K ^SRF("AOR",$P(^(0),"^",2),$E(X,1,7),DA)
|
---|
| 34 | Q
|
---|
| 35 | IV ; delete IV orders
|
---|
| 36 | S SRT("X")=X D NOW^%DTC S X=SRT("X"),X1=$E(%,1,12) D MINS^SRSUTL2
|
---|
| 37 | I X>1440 D OUT Q
|
---|
| 38 | I X>60 D
|
---|
| 39 | .D EN^DDIOL("A considerable amount of time has passed since the "_$S($P($G(^SRF(SRTN,"NON")),"^")="Y":"procedure",1:"operation")_" start",,"!!,?2")
|
---|
| 40 | .D EN^DDIOL("time and the present time.",,"!,?2")
|
---|
| 41 | D IV1
|
---|
| 42 | OUT S X=SRT("X") K SRT,X1,Y
|
---|
| 43 | Q
|
---|
| 44 | 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")
|
---|
| 45 | 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
|
---|
| 46 | S X="PSIVACT" X ^%ZOSF("TEST") Q:'$T
|
---|
| 47 | 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
|
---|
| 48 | Q
|
---|
| 49 | DCOR ; entry for tasked job to cancel IVs
|
---|
| 50 | D DCOR^PSIVACT S ZTREQ="@"
|
---|
| 51 | Q
|
---|
| 52 | END K DFN,I,S,SRSC1,SRSDAT,SRSOR
|
---|
| 53 | Q
|
---|
| 54 | STAFF ; update STAFF/RESIDENT field
|
---|
| 55 | S STAFF="R" I $D(^XUSEC("SR STAFF SURGEON",X)) S STAFF="S"
|
---|
| 56 | S $P(^SRF(DA,.1),"^",3)=STAFF
|
---|
| 57 | Q
|
---|
| 58 | KSTAFF ; update STAFF/RESIDENT when deleted
|
---|
| 59 | S $P(^SRF(DA,.1),"^",3)=""
|
---|
| 60 | Q
|
---|
| 61 | ANES ; update ANESTHETIST CATEGORY field
|
---|
| 62 | N SRASITE,SRAML,SRACAT S SRASITE=$O(^SRO(133,0)) I SRASITE S SRAML=$P(^SRO(133,SRASITE,0),"^",4)
|
---|
| 63 | S SRACAT=$S($D(^XUSEC("SR ANESTHESIOLOGIST",X)):"A",$D(^XUSEC("SR SURGEON",X)):"A",$D(^XUSEC("SR NURSE ANESTHETIST",X)):"N",1:"O")
|
---|
| 64 | I SRACAT="A",SRAML'=$P($G(^VA(200,X,5)),"^",2) S SRACAT="O"
|
---|
| 65 | S $P(^SRF(DA,.3),"^",8)=SRACAT K SRASITE,SRAML,SRACAT
|
---|
| 66 | Q
|
---|
| 67 | KANES ; update ANESTHETIST CATEGORY when deleted
|
---|
| 68 | S $P(^SRF(DA,.3),"^",8)=""
|
---|
| 69 | Q
|
---|