| 1 | GMRCEDIT ;SLC/DCM,JFR - EDIT CANCELLED CONSULT-MAIN DRIVER ; 11/25/2000
 | 
|---|
| 2 |  ;;3.0;CONSULT/REQUEST TRACKING;**1,5,10,18,47**;DEC 27, 1997
 | 
|---|
| 3 |  ; Patch 18 newed variable DFN and added line tag VALPROV
 | 
|---|
| 4 |  ; This routine invokes IA #2638,#2713,#2801,#10060
 | 
|---|
| 5 | EN(XQCON,XQDFN) ; -- main entry point for GMRCEDIT
 | 
|---|
| 6 |  ;XQDFN=XQAID   XQCON=XQADATA from CPRS alerts
 | 
|---|
| 7 |  N GMRCNOTF,GMRCCORY,GMRCDA,GMRCO,DFN
 | 
|---|
| 8 |  S DFN=$P(XQDFN,",",2),GMRCDA=$S(XQCON=+XQCON:+XQCON,+$P($P(XQCON,",",2),";",2):+$P($P(XQCON,",",2),";",2),XQCON?1N.N1",GMRC".E:+XQCON,1:$P($P(XQCON,";",3),",",1))
 | 
|---|
| 9 |  S GMRCNOTF=+$P(XQDFN,",",3)
 | 
|---|
| 10 |  I '+GMRCDA S XQAKILL=$$XQAKILL^ORB3F1(GMRCNOTF) D DEL^ORB3FUP1(.GMRCCORY,XQDFN),END Q
 | 
|---|
| 11 |  S GMRCDAP=GMRCDA
 | 
|---|
| 12 |  I '$$LOCK^GMRCA1(+GMRCDAP) D END Q
 | 
|---|
| 13 |  N GMRCLCK S GMRCLCK=1 ;JFR
 | 
|---|
| 14 |  ;S GMRCDAP=GMRCDA I +$P(^GMR(123,+GMRCDA,0),"^",5)
 | 
|---|
| 15 |  S GMRCOK=$P(^ORD(100.01,$P(^GMR(123,+GMRCDA,0),"^",12),0),"^",1),GMRCOK=$S(GMRCOK["CANCELLED":1,1:0)
 | 
|---|
| 16 |  I '$D(GMRCOK) S XQAKILL=$$XQAKILL^ORB3F1(GMRCNOTF) D DEL^ORB3FUP1(.GMRCCORY,XQDFN),END Q
 | 
|---|
| 17 |  S GMRCPNM=$P(^DPT(DFN,0),"^",1)
 | 
|---|
| 18 |  S GMRCPROV=$P($G(^GMR(123,GMRCDA,0)),"^",14) I 'GMRCPROV S GMRCPROV=$P($G(^GMR(123,GMRCDA,12)),"^",6)
 | 
|---|
| 19 |  I +GMRCPROV S GMRCPROV=$P(^VA(200,GMRCPROV,0),"^",1)
 | 
|---|
| 20 |  D EN^VALM("GMRC EDIT CONSULT")  ;********* CALL TO LIST MANAGER
 | 
|---|
| 21 |  I $S($O(GMRCED(0)):1,$D(^TMP("GMRCED",$J)):1,1:0),'$D(GMRCRSUB) D
 | 
|---|
| 22 |  . N DIR,DTOUT,DUOUT,X,Y
 | 
|---|
| 23 |  . W !,$C(7),"This Consult Has Not Been Resubmitted!!"
 | 
|---|
| 24 |  . W !,"Resubmit Or All Edits Will Be Lost!!",!!
 | 
|---|
| 25 |  . S DIR(0)="Y",DIR("A")="Do you wish to resubmit now? ",DIR("B")="YES"
 | 
|---|
| 26 |  . D ^DIR I $D(DUOUT)!($D(DTOUT))!(Y<1) W !!,"No changes made!" Q
 | 
|---|
| 27 |  . D EN^GMRCEDT2(GMRCDAP)
 | 
|---|
| 28 |  . Q
 | 
|---|
| 29 |  S XQAKILL=$$XQAKILL^ORB3F1(GMRCNOTF) D DEL^ORB3FUP1(.GMRCCORY,XQDFN)
 | 
|---|
| 30 |  D END
 | 
|---|
| 31 |  Q
 | 
|---|
| 32 |  ;
 | 
|---|
| 33 | HDR ; -- header code
 | 
|---|
| 34 |  S VALMHDR(1)="Edit Consult for Patient "_GMRCPNM_"  Consult Number: "_GMRCDA
 | 
|---|
| 35 |  S VALMHDR(2)="Sending Provider: "_GMRCPROV
 | 
|---|
| 36 |  Q
 | 
|---|
| 37 |  ;
 | 
|---|
| 38 | INIT ; -- init variables and list array
 | 
|---|
| 39 |  K ^TMP("GMRCR",$J,"EDLIST")
 | 
|---|
| 40 |  S DSPLINE=0,DATA="",VALMAR="^TMP(""GMRCR"",$J,""EDLIST"")"
 | 
|---|
| 41 |  F LINE=1:1:GMRCLNO S DSPLINE=$O(^TMP("GMRCR",$J,"ED",DSPLINE)) Q:DSPLINE=""!(DSPLINE?1A.E)  S DATA=^(DSPLINE,0) D SET^VALM10(LINE,DATA)
 | 
|---|
| 42 |  S VALMCNT=GMRCLNO,VALMPGE=1,XQORM("A")="Select Action: "
 | 
|---|
| 43 |  K DSPLINE,DATA,LINE
 | 
|---|
| 44 |  Q
 | 
|---|
| 45 |  ;
 | 
|---|
| 46 | HELP ; -- help code
 | 
|---|
| 47 |  S X="?" D DISP^XQORM1 W !!
 | 
|---|
| 48 |  Q
 | 
|---|
| 49 |  ;
 | 
|---|
| 50 | VALPROV(GMRCIEN) ; Check Provider or Update authority.      
 | 
|---|
| 51 |  I DUZ=$P(^GMR(123,+GMRCIEN,0),"^",14) Q 1
 | 
|---|
| 52 |  I $$VALID^GMRCAU($P(^GMR(123,+GMRCIEN,0),"^",5)) Q 1
 | 
|---|
| 53 |  Q 0
 | 
|---|
| 54 | EXIT ;
 | 
|---|
| 55 |  ;Don't kill anything here
 | 
|---|
| 56 |  Q
 | 
|---|
| 57 | END ; -- exit code
 | 
|---|
| 58 |  I $G(GMRCLCK) D UNLOCK^GMRCA1(+GMRCDAP) ;JFR
 | 
|---|
| 59 |  K ^TMP("GMRCR",$J,"EDLIST"),^TMP("GMRCR",$J,"ED")
 | 
|---|
| 60 |  K ^TMP("GMRCED",$J),^TMP("GMRCSUB",$J),^TMP("GMRCFLD20",$J)
 | 
|---|
| 61 |  K CMDA,DFN,DIC,DIE,DR,DA,FLDA,FLDNM,GMRCA,GMRCATN,GMRCD,GMRCDD,GMRCANS,GMRCDIAG,GMRCED,GMRCEDCM,GMRCIND,GMRCINO,GMRCKEEP,GMRCLNO,GMRCND,GMRCND1,GMRCO,GMRCOK,GMRCPC,GMRCPL,GMRCPR,GMRCPNM,GMRCPROC,GMRCPROV,GMRCREQ,GMRCRQT
 | 
|---|
| 62 |  K GMRCFLD,GMRCOUNT,GMRCRSUB,GMRCSS,GMRCURG,GMRCDA,GMRCDAP,GMRCDA1,ND,TRKDA,XQAKILL
 | 
|---|
| 63 |  Q
 | 
|---|
| 64 |  ;
 | 
|---|
| 65 | EXPND ; -- expand code
 | 
|---|
| 66 |  Q
 | 
|---|
| 67 |  ;
 | 
|---|