1 | GMRCAR ;SLC/DLT,JFR - Associate Results ;7/21/00 12:20
|
---|
2 | ;;3.0;CONSULT/REQUEST TRACKING;**1,15**;DEC 27, 1997
|
---|
3 | AR ;Associate results with request
|
---|
4 | I $D(IOTM),$D(IOBM),$D(IOSTBM) D FULL^VALM1
|
---|
5 | I '$D(GMRCSEL) D SEL^GMRCA2 I $D(DTOUT)!$D(DIROUT) S GMRCQIT="" Q
|
---|
6 | I 'GMRCSEL G END
|
---|
7 | S GMRCO=$O(^TMP("GMRCR",$J,"CS","AD",GMRCSEL,GMRCSEL,0)),GMRC(0)=^GMR(123,GMRCO,0)
|
---|
8 | I $P(GMRC(0),"^",12)=1 W !!,"THIS ORDER HAS BEEN DISCONTINUED, PLEASE SELECT OR ADD ANOTHER ORDER!",!! G END
|
---|
9 | S GMRCQIT="" Q
|
---|
10 | ARMED ;Entry to associate results with a consult/request
|
---|
11 | N GMRCQIT,GMRCQUT,GMRCPROC,GMRCSR,MCROOT,MCFILE,Y
|
---|
12 | I '$$VERSION^XPDUTL("MC") D Q
|
---|
13 | . N GMRCMSG
|
---|
14 | . S GMRCMSG="Medicine Package Not Installed. Can't Associate Results."
|
---|
15 | . D EXAC^GMRCADC(GMRCMSG)
|
---|
16 | I $$VERSION^XPDUTL("MC")'>2.0 D Q
|
---|
17 | . N GMRCMSG
|
---|
18 | . S GMRCMSG="**Version 2.2 of Medicine required to associate results with Consults**"
|
---|
19 | . D EXAC^GMRCADC(GMRCMSG)
|
---|
20 | . S GMRCQUT=1
|
---|
21 | I $D(XQY0),$E(XQY0,1,2)="MC" G AR
|
---|
22 | I '$D(GMRCO) D SEL^GMRCA2 I 'GMRCSEL G END
|
---|
23 | I $D(VALM) D FULL^VALM1
|
---|
24 | I '$D(GMRCO) S GMRCO=$O(^TMP("GMRCR",$J,"CS","AD",GMRCSEL,GMRCSEL,0))
|
---|
25 | S GMRC(0)=^GMR(123,GMRCO,0)
|
---|
26 | S GMRCPROC=$P(GMRC(0),"^",8)
|
---|
27 | I GMRCPROC="" D G END
|
---|
28 | . S GMRCMSG="No Procedure was ordered - Cannot Associate Results."
|
---|
29 | . D EXAC^GMRCADC(GMRCMSG) S GMRCQIT=1
|
---|
30 | I '$P(^GMR(123.3,+GMRCPROC,0),U,5) D I $G(GMRCQIT)=1 G END
|
---|
31 | . D EXAC^GMRCADC("This procedure not configured for Medicine Resulting")
|
---|
32 | . S GMRCQIT=1
|
---|
33 | I $P(GMRC(0),"^",12)=1 D G END
|
---|
34 | . S GMRCMSG="THIS ORDER HAS BEEN DISCONTINUED!"
|
---|
35 | . D EXAC^GMRCADC(GMRCMSG) S GMRCQUT=1
|
---|
36 | I +$P(GMRC(0),"^",15),$P(GMRC(0),U,15)["MCAR" D
|
---|
37 | . S GMRCSR=$P(GMRC(0),"^",15)
|
---|
38 | . S GMRCSR=U_$P(GMRCSR,";",2)_$P(GMRCSR,";")_",0)"
|
---|
39 | . I '$D(@GMRCSR) D I $G(GMRCQIT)=1 Q
|
---|
40 | .. S GMRCMSG="This request is currently associated with results "
|
---|
41 | .. S GMRCMSG=GMRCMSG_"no longer available" D EXAC^GMRCADC(GMRCMSG),END
|
---|
42 | .. S GMRCQIT=1
|
---|
43 | .S X=$P(@GMRCSR,"^",1) D REGDTM^GMRCU S X1=X
|
---|
44 | .S X=$P(^GMR(123,GMRCO,0),"^",7) D REGDTM^GMRCU
|
---|
45 | .W !," Results entered on "_X1_" are associated "
|
---|
46 | .W !," with this request ordered on "_X
|
---|
47 | . S DIR(0)="YA",DIR("A")="Would you like to continue? "
|
---|
48 | . S DIR("B")="No" D ^DIR I Y<1 S GMRCQIT=1 Q
|
---|
49 | . Q
|
---|
50 | I $G(GMRCQIT)=1 Q
|
---|
51 | S MCROOT=$$GET1^DIQ(697.2,+$P(^GMR(123.3,+GMRCPROC,0),U,5),1)
|
---|
52 | D RESULTS^GMRCMED(MCROOT,$P(^GMR(123,+GMRCO,0),U,2))
|
---|
53 | I $D(^TMP("GMRCR",$J,"DT")) D EN^GMRCMER S VALMBCK="R",GMRCQIT=1
|
---|
54 | I '$D(^TMP("GMRCR",$J,"DT"))&'($G(GMRCQIT)) D
|
---|
55 | . N MSG
|
---|
56 | . S MSG="No results are available to associate with this request."
|
---|
57 | . D EXAC^GMRCADC(MSG)
|
---|
58 | Q
|
---|
59 | LKUP ;look up on procedure file using "C" cross-reference
|
---|
60 | N Y,DIC
|
---|
61 | S GMRCDIC="^"_GMRCGL_",""C"","_DFN_")" I '$D(@GMRCDIC) S GMRCMSG="No "_GMRCPRNM_" results available for "_$P(^DPT(DFN,0),"^") D EXAC^GMRCADC(GMRCMSG) G END
|
---|
62 | S DIC="^"_GMRCGL_",",DIC(0)="XEZ",D="C",X=$P(^DPT(DFN,0),"^"),DIC("S")="I $P(^(0),U,2)=DFN" W !,"Results for "_$P(^DPT(DFN,0),"^")
|
---|
63 | D MIX^DIC1 G:+Y<0 END
|
---|
64 | S GMRCSR=+Y_";"_GMRCGL_",",GMRCSRDT=Y(0,0)
|
---|
65 | N GMRCEND S GMRCEND=0 W ! S DIR(0)="Y",DIR("A")="Do you want to review these results first",DIR("B")="Y" D ^DIR K DIR I Y D G:GMRCEND END
|
---|
66 | .W @IOF S GMRCSRS=GMRCSR D AREN^GMRCSLM3(GMRCO,GMRCSR),EN^GMRCMER S GMRCSR=GMRCSRS
|
---|
67 | .I GMRCCT=1 S GMRCEND=1 Q
|
---|
68 | .N DIR,DIROUT,DTOUT,DUOUT
|
---|
69 | .W !! S DIR(0)="Y",DIR("A")="Are these the right results to be associated with the selected request",DIR("B")="N" D ^DIR K DIR S:$D(DIROUT)!$D(DTOUT)!(X="^") GMRCEND=1
|
---|
70 | .I Y=0 K GMRCSR S GMRCEND=1
|
---|
71 | I GMRCEND K GMRCEND G END
|
---|
72 | I '$D(GMRCSR) K GMRCEND W ! G LKUP
|
---|
73 | I '+GMRCSR G END
|
---|
74 | ORSTS ;Check if status needs update to complete
|
---|
75 | N ORSTS
|
---|
76 | I $P(GMRC(0),"^",12)=2 W !,"This request is already completed, no updating performed for this request",!,"Press the <ENTER> key to EXIT " R X:DTIME G END
|
---|
77 | W ! S DIR(0)="Y",DIR("A")="Shall I update the order status to complete",DIR("B")="N",DIR("?")="Type 'Y' for 'YES' or 'N' for 'NO' and press <ENTER> key." D ^DIR K DIR I $D(DTOUT)!$D(DIROUT)!$D(DUOUT) G END
|
---|
78 | S ORSTS=$S(Y:2,1:9)
|
---|
79 | I $P(^GMR(123,GMRCO,0),"^",12)=ORSTS&(+$P(^GMR(123,GMRCO,0),"^",15)) G END
|
---|
80 | S GETPROV="Clinician responsible for results" D GETPROV^GMRCAU I '$D(GMRCORNP) S GMRCQIT="" G END
|
---|
81 | S GMRCSVSS=GMRCSVCN D RESULT^GMRCR S GMRCSS=GMRCSVSS K GMRCSVSS,ORIFN
|
---|
82 | S GMRCVP=$O(^ORD(101,"B","GMRCR "_GMRCPROC,0)) I GMRCVP]"" S GMRCVP=GMRCVP_";ORD(101," D AD^GMRCSLM1,INIT^GMRCSLM
|
---|
83 | END ;
|
---|
84 | K ORIFN,GMRCO,GMRCEND,GMRCGL,GMRCDIC,GMRCMSG,GMRCVP,DIC,D,GMRCSR,GMRCSRDT,GMRCSRS,GMRCTM,GMRCBM,X,X1,GETPROV
|
---|
85 | K GMRCO,GMRC(0),GMRCSR,MCFILE,MCPROC,GMRCPROC,GMRCPRNM
|
---|
86 | I $D(DTOUT)!$D(DIROUT) S GMRCQIT=""
|
---|
87 | Q
|
---|