1 | GMRCADC ;SLC/DLT/DCM - DC taken from List Manager ; 7/11/05 1:40pm
|
---|
2 | ;;3.0;CONSULT/REQUEST TRACKING;**1,5,10,12,35,39,47**;DEC 27, 1997
|
---|
3 | EXAC(MSG) ;Exit message asking for user to press <ENTER>; EXAC=Exit Action
|
---|
4 | N ND,X
|
---|
5 | W $C(7),!,MSG I $O(MSG(0)) S ND=0 F S ND=$O(MSG(ND)) Q:ND="" D
|
---|
6 | . W !,MSG(ND)
|
---|
7 | W !,"Press <RETURN> to continue: " R X:DTIME W !!
|
---|
8 | Q
|
---|
9 | DC(GMRCO,GMRCA) ;Discontinue a consult logic from DC^GMRCA1
|
---|
10 | I $D(IOTM),$D(IOBM),$D(IOSTBM) D FULL^VALM1
|
---|
11 | N GMRCDA,GMRCACTM,GMRCADUZ,GMRCSERV,GMRCAD,GMRC
|
---|
12 | K GMRCQUT,GMRCQIT
|
---|
13 | I '+$G(GMRCO) D SELECT^GMRCA2(.GMRCO) I $D(GMRCQUT) Q
|
---|
14 | I '+$G(GMRCO) S GMRCQUT=1 Q
|
---|
15 | I $P($G(^GMR(123,GMRCO,12)),U,5)="P" D Q
|
---|
16 | . N DIR
|
---|
17 | . W !,"The requesting facility may not take this action on an "
|
---|
18 | . W "inter-facility consult."
|
---|
19 | . S DIR(0)="E" D ^DIR
|
---|
20 | . S GMRCQUT=1
|
---|
21 | I '$$LOCK^GMRCA1(GMRCO) S GMRCQUT=1 Q
|
---|
22 | ;
|
---|
23 | S GMRC(0)=^GMR(123,GMRCO,0),GMRCDA=GMRCO
|
---|
24 | S (GMRCDFN,DFN)=$P(GMRC(0),"^",2)
|
---|
25 | I $D(GMRCA),+GMRCA S GMRCACTM=$S(GMRCA=6:"Discontinued",GMRCA=19:"Cancelled",1:$P($G(^GMR(123.1,+GMRCA,0)),"^",1))
|
---|
26 | ;
|
---|
27 | D PROC I $D(GMRCQUT) D UNLOCK^GMRCA1(GMRCO) S GMRCQUT=1 Q
|
---|
28 | ;send 513 back to service printer if request DC'd or Cancelled
|
---|
29 | I GMRCA=6,$$DCPRNT^GMRCUTL1(+GMRCO,DUZ) D
|
---|
30 | . D PRNT^GMRCUTL1(+$P(GMRC(0),U,5),+GMRCO)
|
---|
31 | S GMRCTRLC=$S(GMRCA=19:"OC",1:"OD")
|
---|
32 | D EN^GMRCHL7(DFN,GMRCO,$G(GMRCTYPE),$G(GMRCRB),GMRCTRLC,GMRCORNP,$G(GMRCVSIT),.GMRCOM,,$G(GMRCAD))
|
---|
33 | D UNLOCK^GMRCA1(GMRCO)
|
---|
34 | Q
|
---|
35 | ;
|
---|
36 | PROC ;Check validity of action and if valid process the discontinue action
|
---|
37 | N DIROUT,DTOUT,DUOUT,GMRCMSG,GMRCFL,GMRCACT
|
---|
38 | I $P(GMRC(0),"^",12)=1 S GMRCMSG="This consult has already been discontinued!" D EXAC(GMRCMSG) S GMRCQUT=1 Q
|
---|
39 | I $P(GMRC(0),"^",12)=2 S GMRCMSG="This consult has already been completed!" D EXAC(GMRCMSG) S GMRCQUT=1 Q
|
---|
40 | I $P(GMRC(0),"^",12)=9 S GMRCMSG="Action invalid. This consult has partial results!",GMRCMSG(1)="Remove the associated results and then discontinue." D EXAC(.GMRCMSG) S GMRCQUT=1 Q
|
---|
41 | I $P(GMRC(0),"^",12)=13 S GMRCMSG="This consult has already been cancelled!" D EXAC(GMRCMSG) S GMRCQUT=1 Q
|
---|
42 | ;
|
---|
43 | S GMRCORVP=GMRCDFN_";DPT("
|
---|
44 | N GETPROV
|
---|
45 | FRGTPRV D GETPROV^GMRCAU I $D(DIROUT)!$D(DTOUT)!$D(DUOUT) S GMRCQUT=1 Q
|
---|
46 | S GMRCACT=$$PROVIDER^XUSER(GMRCORNP) I $P(GMRCACT,U)'=1 D G FRGTPRV
|
---|
47 | .W !!,"***User account is TERMINATED please choose another responsible user.***"
|
---|
48 | S GMRCAD=$$GETDT^GMRCUTL1 ;Returns GMRCAD as the entered date
|
---|
49 | I GMRCAD="^" S GMRCQUT=1 Q
|
---|
50 | S GMRCSTS=$S(GMRCA=6:1,1:13),$P(GMRC(0),"^",12)=GMRCSTS
|
---|
51 | S GMRCOM=1
|
---|
52 | D STATUS^GMRCP
|
---|
53 | D AUDIT^GMRCP
|
---|
54 | ;
|
---|
55 | S GMRCORTX=$S($L($G(GMRCACTM)):GMRCACTM,+GMRCA:$P(^GMR(123.1,GMRCA,0),U,1),1:"ACTION UNKNOWN FOR")_" consult "_$$ORTX^GMRCAU(+GMRCO)
|
---|
56 | S GMRCADUZ="",GMRCFL=0
|
---|
57 | I +$P($G(^GMR(123,+GMRCO,0)),"^",14),+$P(^(0),"^",14)'=DUZ S GMRCADUZ($P(^(0),"^",14))=""
|
---|
58 | ;I +$P($G(^GMR(123,+GMRCO,0)),"^",14)=DUZ S GMRCFL=1
|
---|
59 | I GMRCA=6 S GMRCFL=$$DCNOTE(GMRCO,DUZ) ;check NOTIFY SERVICE ON DC
|
---|
60 | ;I GMRCA=19 S GMRCFL=1
|
---|
61 | ;send notification info to routine to be sent to OERR
|
---|
62 | N NOTYPE S NOTYPE=$S(GMRCA=6:23,1:30)
|
---|
63 | D MSG^GMRCP(GMRCDFN,GMRCORTX,+GMRCO,NOTYPE,.GMRCADUZ,GMRCFL)
|
---|
64 | Q
|
---|
65 | DCNOTE(IEN,USER) ;determine if service users receive alerts based on 1.04
|
---|
66 | N SERV,DCFLG
|
---|
67 | S SERV=$P(^GMR(123,IEN,0),U,5)
|
---|
68 | S DCFLG=$P($G(^GMR(123.5,SERV,1)),U,4)
|
---|
69 | I 'DCFLG Q 1
|
---|
70 | I DCFLG=2 Q 0
|
---|
71 | I DCFLG=1,'$$VALID^GMRCAU(SERV,IEN,USER) Q 1
|
---|
72 | Q 0
|
---|