1 | RABUL ;HISC/FPT,GJC AISC/DMK-Generate 'RAD/NUC MED REQUEST CANCELLED' or 'RAD/NUC MED REQUEST HELD' Bulletin ;9/9/94 09:53
|
---|
2 | ;;5.0;Radiology/Nuclear Medicine;**2,15,75**;Mar 16, 1998;Build 4
|
---|
3 | ; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
---|
4 | ; The variables DA and RAOSTS must be defined.
|
---|
5 | ; The variable DA must be greater than 0, and RAOSTS must
|
---|
6 | ; equal 1 (cancelled) or 3 (held) for the RAD/NUC MED REQUEST CANCELLED
|
---|
7 | ; or the RAD/NUC MED REQUEST HELD bulletin to execute.
|
---|
8 | ; Called from: ^DD(75.1,5,0) fifth piece
|
---|
9 | ; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
---|
10 | ; ***** Variable List *****
|
---|
11 | ; 'RADFN' -> IEN of the patient in the PATIENT file (2)
|
---|
12 | ; 'RAFN1' -> internal format of a FM date/time data element
|
---|
13 | ; 'RAFN2' -> FM data definition for RAFN1, used in XTERNAL^RAUTL5
|
---|
14 | ; 'Z' -> Zero node of the RADIOLOGY/NUCLEAR MEDICINE ORDERS
|
---|
15 | ; file (75.1)
|
---|
16 | ; Format: Data to be fired;local var name;XMB array representation
|
---|
17 | ; Patient ; RANAME ; XMB(1) <---> Req. Physician ; RARPHY ; XMB(5)
|
---|
18 | ; Patient SSN ; RASSN ; XMB(2) <---> Req. Location ; RARLOC ; XMB(6)
|
---|
19 | ; Procedure ; RAPNAM ; XMB(3) <---> Reason ; RARCR ; XMB(7)
|
---|
20 | ; Date Desired ; RADTDS ; XMB(4) <---> Current User ; RAUSER ; XMB(8)
|
---|
21 | ;
|
---|
22 | EN(RAX) ; Pass in the request status (RAX)
|
---|
23 | ; also called during request status edit.
|
---|
24 | Q:+$G(DA)'>0
|
---|
25 | Q:+$G(RAOSTS)'=1&(+$G(RAOSTS)'=3)
|
---|
26 | N RADFN,RADTDS,RAFN1,RAFN2,RASSN,RAUSER,RAXMB,Z
|
---|
27 | S RAXMB="RAD/NUC MED REQUEST",Z=$G(^RAO(75.1,DA,0))
|
---|
28 | S (RADFN,RANAME)=+$P(Z,U)
|
---|
29 | S RANAME=$S($D(^DPT(RANAME,0)):$P(^(0),U),1:"Unknown")
|
---|
30 | S RASSN=$$SSN^RAUTL(),RAPNAM=+$P(Z,U,2)
|
---|
31 | S RAPNAM=$S($D(^RAMIS(71,RAPNAM,0)):$P(^(0),U),1:"Unknown")
|
---|
32 | S RARLOC=+$P(Z,U,22)
|
---|
33 | S RARLOC=$S($D(^SC(RARLOC,0)):$P(^(0),U),1:"Unknown")
|
---|
34 | S RAFN1=$P(Z,U,21),RAFN2=$P($G(^DD(75.1,21,0)),U,2)
|
---|
35 | S RADTDS=$$XTERNAL^RAUTL5(RAFN1,RAFN2)
|
---|
36 | S:RADTDS']"" RADTDS="Unknown" S RARPHY=+$P(Z,U,14)
|
---|
37 | S RARPHY=$S($D(^VA(200,RARPHY,0)):$P(^(0),U),1:"Unknown")
|
---|
38 | S RARCR=+$P(Z,U,10)
|
---|
39 | S RARCR=$S($D(^RA(75.2,RARCR,0)):$P(^(0),U),1:"Unknown")
|
---|
40 | S:RARCR="Unknown" RARCR=$S($P(Z,U,27)]"":$P(Z,U,27),1:"Unknown")
|
---|
41 | S RAUSER=$S($D(^VA(200,DUZ,0)):$P(^(0),U),1:"Unknown")
|
---|
42 | ; --- P75 define the REASON FOR STUDY ---
|
---|
43 | S RASTYREA=$P($G(^RAO(75.1,DA,.1)),U)
|
---|
44 | S:RASTYREA="" RASTYREA="Unknown" ;req'd if missing error
|
---|
45 | ;
|
---|
46 | S XMB(1)=RANAME,XMB(2)=RASSN,XMB(3)=RAPNAM,XMB(4)=RASTYREA,XMB(5)=RADTDS
|
---|
47 | S XMB(6)=RARPHY,XMB(7)=RARLOC,XMB(8)=RARCR,XMB(9)=RAUSER
|
---|
48 | S XMB=RAXMB_$S(RAX=1:" CANCELLED",1:" HELD")
|
---|
49 | D ^XMB:$D(^XMB(3.6,"B",XMB))
|
---|
50 | K RANAME,RAPNAM,RARLOC,RARPHY,RARCR,RASTYREA,XMB,XMB0,XMC0,XMDT,XMM,XMMG
|
---|
51 | Q
|
---|
52 | OE3(DA) ; Trigger the Rad/Nuc Med Request Cancelled bulletin when
|
---|
53 | ; the order is discontinued through CPRS (frontdoor).
|
---|
54 | ; Input: DA-ien of the Rad/Nuc Med order record
|
---|
55 | S RAOSTS=$P($G(^RAO(75.1,DA,0)),"^",5)
|
---|
56 | I RAOSTS'=1 K RAOSTS Q ; status must be discontinued
|
---|
57 | D EN(RAOSTS) K RAOSTS
|
---|
58 | Q
|
---|