[613] | 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
|
---|