| 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
 | 
|---|