| 1 | GMRCDRFR ;SLC/JFR - DEFAULT REASON FOR REQUEST UTILS ; 11/12/00 12:00
 | 
|---|
| 2 |  ;;3.0;CONSULT/REQUEST TRACKING;**12,15**;DEC 27, 1997
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 |  ; This routine invokes IA #2876
 | 
|---|
| 5 |  ;
 | 
|---|
| 6 | EN ; -- main entry point for GMRC DEFAULT REASON
 | 
|---|
| 7 |  N GMRCSV,GMRCDFN,DIR,X,Y,DUOUT,DTOUT,DIROUT,DIRUT
 | 
|---|
| 8 |  S DIR(0)="SOA^S:service;P:procedure"
 | 
|---|
| 9 |  S DIR("A")="Test default for service or procedure? "
 | 
|---|
| 10 |  D ^DIR I $D(DIRUT) Q
 | 
|---|
| 11 |  I Y="S" D SELSS Q:'$D(GMRCSV)
 | 
|---|
| 12 |  I Y="P" D SELPROC Q:'$D(GMRCPROC)
 | 
|---|
| 13 |  D SELPT Q:'$D(GMRCPAT)
 | 
|---|
| 14 |  D INIT
 | 
|---|
| 15 |  D EN^VALM("GMRC DEFAULT REASON")
 | 
|---|
| 16 |  Q
 | 
|---|
| 17 |  ;
 | 
|---|
| 18 | SELPT ;get new patient 
 | 
|---|
| 19 |  N DIR,X,Y,DIRUT,DUOUT,DTOUT
 | 
|---|
| 20 |  D FULL^VALM1
 | 
|---|
| 21 |  S DIR(0)="PO^2:EQM" D ^DIR
 | 
|---|
| 22 |  I $D(DIRUT) Q
 | 
|---|
| 23 |  S GMRCPAT=+Y
 | 
|---|
| 24 |  K ^TMP("GMRCRFR",$J)
 | 
|---|
| 25 |  Q
 | 
|---|
| 26 |  ;
 | 
|---|
| 27 | SELSS ; get new service
 | 
|---|
| 28 |  N DIR,X,Y,DIRUT,DUOUT,DTOUT
 | 
|---|
| 29 |  D FULL^VALM1
 | 
|---|
| 30 |  K GMRCSV,GMRCPROC
 | 
|---|
| 31 |  S DIR(0)="PO^123.5:EMQ",DIR("A")="Select Service"
 | 
|---|
| 32 |  D ^DIR
 | 
|---|
| 33 |  I $D(DIRUT) Q
 | 
|---|
| 34 |  S GMRCSV=+Y_";99CON"
 | 
|---|
| 35 |  K ^TMP("GMRCRFR",$J)
 | 
|---|
| 36 |  Q
 | 
|---|
| 37 |  ;
 | 
|---|
| 38 | SELPROC ; get a new procedure
 | 
|---|
| 39 |  ;
 | 
|---|
| 40 |  N DIR,X,Y,DIRUT,DUOUT,DTOUT
 | 
|---|
| 41 |  D FULL^VALM1
 | 
|---|
| 42 |  K GMRCSV,GMRCPROC
 | 
|---|
| 43 |  S DIR(0)="PO^123.3:EMQ",DIR("A")="Select Procedure"
 | 
|---|
| 44 |  D ^DIR
 | 
|---|
| 45 |  I $D(DIRUT) Q
 | 
|---|
| 46 |  S GMRCPROC=+Y_";99PRC"
 | 
|---|
| 47 |  K ^TMP("GMRCRFR",$J)
 | 
|---|
| 48 |  Q
 | 
|---|
| 49 |  ;
 | 
|---|
| 50 | HDR ; -- header code
 | 
|---|
| 51 |  I $D(GMRCPROC) S VALMHDR(1)="Procedure: "_$P(^GMR(123.3,+GMRCPROC,0),U)
 | 
|---|
| 52 |  I $D(GMRCSV) S VALMHDR(1)="Service: "_$P(^GMR(123.5,+GMRCSV,0),U)
 | 
|---|
| 53 |  S VALMHDR(2)="Patient: "_$$GET1^DIQ(2,+GMRCPAT,.01)
 | 
|---|
| 54 |  Q
 | 
|---|
| 55 |  ;
 | 
|---|
| 56 | INIT ; -- init variables and list array
 | 
|---|
| 57 |  Q:$D(^TMP("GMRCRFR",$J))
 | 
|---|
| 58 |  D GETDEF($NA(^TMP("GMRCRFR",$J)),$S($D(GMRCSV):GMRCSV,1:GMRCPROC),GMRCPAT,1)
 | 
|---|
| 59 |  I '$D(^TMP("GMRCRFR",$J)) D
 | 
|---|
| 60 |  . S ^TMP("GMRCRFR",$J,1,0)="No default Reason for Request exists for the selected item."
 | 
|---|
| 61 |  S VALMCNT=$O(^TMP("GMRCRFR",$J,999999),-1)
 | 
|---|
| 62 |  S VALMBG=1
 | 
|---|
| 63 |  Q
 | 
|---|
| 64 |  ;
 | 
|---|
| 65 | HELP ; -- help code
 | 
|---|
| 66 |  S X="?" D DISP^XQORM1 W !!
 | 
|---|
| 67 |  Q
 | 
|---|
| 68 |  ;
 | 
|---|
| 69 | EXIT ; -- exit code
 | 
|---|
| 70 |  K GMRCSV,GMRCPAT,GMRCPROC
 | 
|---|
| 71 |  Q
 | 
|---|
| 72 |  ;
 | 
|---|
| 73 | EXPND ; -- expand code
 | 
|---|
| 74 |  Q
 | 
|---|
| 75 |  ;
 | 
|---|
| 76 | GETDEF(GMRCARR,GMRCSRV,GMRCDFN,RESOLV) ; return default reason for request
 | 
|---|
| 77 |  ; GMRCARR = array to return containing default RFR
 | 
|---|
| 78 |  ; GMRCSRV = reference to file 123.5 (#;99CON) or file 123.3 (#;99PRC)
 | 
|---|
| 79 |  ; GMRCDFN = patient identifier if to return resolved
 | 
|---|
| 80 |  ; RESOLV = 1 or 0 ; if RESOLV=1 GMRCARR will be returned resolved 
 | 
|---|
| 81 |  Q:'+GMRCSRV
 | 
|---|
| 82 |  N GMRCFIL
 | 
|---|
| 83 |  S GMRCFIL=$S(GMRCSRV[";99PRC":123.3,1:123.5)
 | 
|---|
| 84 |  Q:'$D(^GMR(GMRCFIL,+GMRCSRV,124))
 | 
|---|
| 85 |  I '$D(GMRCDFN)!('$G(RESOLV)) D  Q
 | 
|---|
| 86 |  . M @GMRCARR=^GMR(GMRCFIL,+GMRCSRV,124)
 | 
|---|
| 87 |  D BLRPLT^TIUSRVD(,,GMRCDFN,,$NA(^GMR(GMRCFIL,+GMRCSRV,124)))
 | 
|---|
| 88 |  I $D(^TMP("TIUBOIL",$J)) M @GMRCARR=^TMP("TIUBOIL",$J)
 | 
|---|
| 89 |  K ^TMP("TIUBOIL",$J)
 | 
|---|
| 90 |  Q
 | 
|---|
| 91 | REAF(GMRCOI) ;return value of RESTRICT DEFAULT REASON EDIT field to CPRS
 | 
|---|
| 92 |  ;Input:
 | 
|---|
| 93 |  ;  GMRCOI - ref to file 123.5 (ien;99CON) or file 123.3 (ien;99PRC)
 | 
|---|
| 94 |  ;Output:
 | 
|---|
| 95 |  ; Integer    0 - unrestricted
 | 
|---|
| 96 |  ;            1 - ask on edit only
 | 
|---|
| 97 |  ;            2 - no editing
 | 
|---|
| 98 |  ;
 | 
|---|
| 99 |  N FILE
 | 
|---|
| 100 |  S FILE=$S(GMRCOI["99PRC":123.3,1:123.5)
 | 
|---|
| 101 |  I '$O(^GMR(FILE,+GMRCOI,124,0)) Q 0
 | 
|---|
| 102 |  I FILE=123.5 Q +$P($G(^GMR(FILE,+GMRCOI,1)),U,3) ;cslt service
 | 
|---|
| 103 |  Q +$P($G(^GMR(FILE,+GMRCOI,0)),U,9) ;procedure
 | 
|---|