1 | GMRCSLM ;SLC/DCM,JFR - List Mgr routine for consult tracking list ;9/8/99 14:52
|
---|
2 | ;;3.0;CONSULT/REQUEST TRACKING;**1,4,14,12,22**;DEC 27, 1997
|
---|
3 | EN ; -- main entry point for GMRC CONSULT TRACKING
|
---|
4 | K GMRCOER
|
---|
5 | S GMRCEN=1 K GMRCQUT
|
---|
6 | ;IF Consults
|
---|
7 | I $D(GMRCIS) D I $D(GMRCQUT) K GMRCEN,GMRCIS,GMRCQUT Q
|
---|
8 | .N DIR,DIRUT,DTOUT,DUOUT,Y
|
---|
9 | .S DIR(0)="SB^R:REQUESTING;C:CONSULTING"
|
---|
10 | .S DIR("A")="Are you the Requesting site or the Consulting site"
|
---|
11 | .D ^DIR I $D(DIRUT) S GMRCQUT=1 Q
|
---|
12 | .S GMRCIS=Y
|
---|
13 | D SP K GMRCEN I $D(GMRCQUT) K GMRCQUT Q
|
---|
14 | D EN^VALM("GMRC CONSULT TRACKING")
|
---|
15 | Q
|
---|
16 | ;
|
---|
17 | HDR ; -- header code
|
---|
18 | ;override title if IF Consults
|
---|
19 | I $D(GMRCIS) S VALM("TITLE")="IFC Requests: "_$S(GMRCIS="R":"Requesting",1:"Consulting")_" Site"
|
---|
20 | D HDR1 ;format line 1 of header
|
---|
21 | D:$L(GMRCWT) HDR2("")
|
---|
22 | Q
|
---|
23 | ;
|
---|
24 | HDR1 ;format VALMHDR(1) with patient information
|
---|
25 | N GMRCX,GMRCX1,GMRCX2,GMRCX3,TIUCWAD,GMRVSTR,X
|
---|
26 | ;Expects DFN
|
---|
27 | S GMRVSTR="WT" D EN6^GMRVUTL
|
---|
28 | S GMRCWT="Wt.(lb): "_$S($L($P(X,U,8)):$P(X,U,8),1:"No Entry")
|
---|
29 | D DEM^GMRCU ;returns GMRCPNM,GMRCSN,GMRCAGE,SEX,GMRCWARD,GMRCRB,GMRCDOB,GMRCWLI
|
---|
30 | S GMRCX1=GMRCPNM_" "_GMRCSN
|
---|
31 | ;
|
---|
32 | S GMRCLOC=+$G(^DIC(42,+GMRCWLI,44))_";SC(" I 'GMRCLOC,'$D(XQAID) S GMRCLOC=""
|
---|
33 | S GMRCX2="" I +$G(GMRCLOC) D
|
---|
34 | . N L S L=$G(^SC(+GMRCLOC,0)),GMRCX2=$P(L,U,2)
|
---|
35 | . S:'$L(GMRCX2) GMRCX2=$E($P(L,U),1,4)
|
---|
36 | S:$L($G(GMRCRB)) GMRCX2=GMRCX2_"/"_GMRCRB
|
---|
37 | ;
|
---|
38 | S GMRCX=GMRCX1_$J(GMRCX2,40+($L(GMRCX2)\2)-$L(GMRCX1))
|
---|
39 | S GMRCX3=" "_GMRCDOB_" ("_GMRCAGE_")"
|
---|
40 | S TIUCWAD=$$CWAD^ORQPT2(+DFN) S:TIUCWAD]"" GMRCX3=GMRCX3_" <"_TIUCWAD_">"
|
---|
41 | S VALMHDR(1)=GMRCX_$J(GMRCX3,79-$L(GMRCX))
|
---|
42 | K VALMHDR(2)
|
---|
43 | Q
|
---|
44 | HDR2(GMRCX) ;format VALMHDR(2) with patient weight
|
---|
45 | S VALMHDR(2)=$G(GMRCX)_$J($G(GMRCWT),79-$L($G(GMRCX)))
|
---|
46 | Q
|
---|
47 | ;
|
---|
48 | INIT ; -- init variables and list array
|
---|
49 | K ^TMP("GMRCR",$J,"LIST")
|
---|
50 | S DSPLINE=0,DATA="",VALMAR="^TMP(""GMRCR"",$J,""LIST"")"
|
---|
51 | F LINE=1:1:LNCT S DSPLINE=$O(^TMP("GMRCR",$J,"CS",DSPLINE)) Q:DSPLINE=""!(DSPLINE?1A.E) S DATA=^(DSPLINE,0) D SET^VALM10(LINE,DATA)
|
---|
52 | S VALMCNT=LNCT,VALMPGE=1,XQORM("A")="Select Action: "
|
---|
53 | K DSPLINE,DATA,LINE
|
---|
54 | S:$D(^TMP("GMRC",$J,"CURRENT","MENU")) XQORM("HIJACK")=^("MENU")
|
---|
55 | Q
|
---|
56 | ;
|
---|
57 | HELP ; -- help code
|
---|
58 | N X,DX,DY D FULL^VALM1
|
---|
59 | W !!,"Enter the display number of the item you wish to act on, or select an action."
|
---|
60 | W !!,"If you'd like another view of the consults, enter CV."
|
---|
61 | W !!,"Status key:",!?5,"'a' - active",?27,"'c' - complete",?50,"'dc' - discontinued",!?5,"'p' - pending",?27,"'x' - cancelled",?50,"'pr' - partial results",!?5,"'s' - scheduled",?27,"'e' - expired"
|
---|
62 | W !!,"Enter ?? to see a list of actions available for navigating the list."
|
---|
63 | W !!,"Press <return> to continue ..." R X:DTIME
|
---|
64 | S VALMBCK="R"
|
---|
65 | ; S VALMSG=$$MSG
|
---|
66 | S (DX,DY)=0 X ^%ZOSF("XY")
|
---|
67 | D EXIT^GMRCSLMA("R")
|
---|
68 | Q
|
---|
69 | ;
|
---|
70 | EXIT ; -- exit code
|
---|
71 | K ^TMP("GMRCR",$J,"LIST")
|
---|
72 | K VALMCNT,VALMBCK,VALMPGE
|
---|
73 | D ^GMRCREXT
|
---|
74 | Q
|
---|
75 | ;
|
---|
76 | PHYEN ;Entry Point When Provider's service is known and only needs to look at consults for that service
|
---|
77 | Q:'$D(DUZ) Q:'$D(^VA(200,DUZ,5)) Q:'$L(^VA(200,DUZ,5))
|
---|
78 | S DIC="^DIC(49,",DIC(0)="MNO",X=^VA(200,DUZ,5) D ^DIC K DIC S GMRCSSNM=$S($L($P(Y,"^",2)):$P(Y,"^",2),1:"") I $L(GMRCSSNM) S GMRCSS=$O(^GMR(123.5,"B",GMRCSSNM,0))
|
---|
79 | S GMRCFL=1 D SP I $D(GMRCQUT),GMRCQUT=1 Q
|
---|
80 | D SPD I $D(GMRCQUT) D END,EXIT Q
|
---|
81 | K GMRCFL
|
---|
82 | D AD^GMRCSLM1
|
---|
83 | I GMRCSSNM'["MEDICINE" D EN^VALM("GMRC CONSULT TRACKING"),END,EXIT Q
|
---|
84 | D EN^VALM("GMRC TRK MEDICINE CONSULTS"),END,EXIT Q
|
---|
85 | Q
|
---|
86 | SP ;;Select a new patient and return DFN and GMRCSSNM to display consults and requested Service.
|
---|
87 | I $D(VALM) D FULL^VALM1
|
---|
88 | K GMRCQUT S GMRCDFN1=$S($D(DFN):DFN,1:0)
|
---|
89 | D SELPT^GMRCS I $S($D(GMRCQUT):1,'$D(DFN):1,1:0) S GMRCQUT=1,DFN=GMRCDFN1 G SPK
|
---|
90 | I $D(Y),Y<0&(X["^") S GMRCQUT=1 G SPK
|
---|
91 | I $D(Y),Y<0 S DFN=GMRCDFN1 S GMRCQUT=1 G SPK
|
---|
92 | I $D(GMRC("NMBR")) D RESET^GMRCSLMV(GMRC("NMBR")) K GMRC("NMBR")
|
---|
93 | S GMRCWRD=GMRCWARD
|
---|
94 | I $D(GMRCFL) D SPK Q
|
---|
95 | D ASRV^GMRCASV I $S($D(GMRCQUT):1,$D(DTOUT):1,$D(DUOUT):1,1:0) K DTOUT,DIROUT,DUOUT S (GMRCQUT,GMRCQIT)=1 Q
|
---|
96 | S GMRCSS=GMRCDG,GMRCSSNM=$P(^GMR(123.5,GMRCSS,0),"^",1) S GMRCSTCK=""
|
---|
97 | D EN^GMRCMENU
|
---|
98 | SPD ;Enter a date range for serching consults; null entry selects all consults and does not exclude by date
|
---|
99 | D ^GMRCSPD Q:$D(GMRCQUT)
|
---|
100 | I $D(GMRCEN) D SPK Q ;GMRCEN defined if branched to here from EN^GMRCSLM
|
---|
101 | S GMRCOER=0
|
---|
102 | D AD^GMRCSLM1 ;Do not delete. Needed to get new Pt. data into ^TMP("GMRCR",
|
---|
103 | S VALMCNT=LNCT,VALMBCK="R",VALMPGE=1 K GMRCDFN1
|
---|
104 | Q
|
---|
105 | SPQ ;New patient has not been selected - keep current patient
|
---|
106 | I '$D(DFN),GMRCDFN1<1 S GMRCQUT=1 K GMRCDFN1 Q
|
---|
107 | S DFN=GMRCDFN1 Q:DFN<1 W " "_GMRCPNM K GMRCDFN1
|
---|
108 | S VALMBCK="R",GMRCQUT=1 K GMRCDFN1
|
---|
109 | SPK ;Kill variables
|
---|
110 | ;I $D(GMRCTM),$D(GMRCBM),$D(IOSTBM) S IOTM=GMRCTM,IOBM=IOSTBM
|
---|
111 | K GMRCDFN1,GMRCBM,GMRCTM
|
---|
112 | Q
|
---|
113 | SS ;Select A New Service or ALL SERVICES to Display Patient Consults
|
---|
114 | K GMRCQUT,GMRCVP S GMRCOER=0
|
---|
115 | D FULL^VALM1
|
---|
116 | D ASRV^GMRCASV I $D(GMRCQUT),GMRCQUT=1 Q
|
---|
117 | S GMRCSS=GMRCDG,GMRCSSNM=$P(^GMR(123.5,GMRCSS,0),"^",1)
|
---|
118 | D AD^GMRCSLM1,INIT,HDR
|
---|
119 | S VALMBCK="R",VALMCNT=LNCT
|
---|
120 | D EN^GMRCACTM,EN^GMRCMENU
|
---|
121 | I $D(GMRC("NMBR")) D RESET^GMRCSLMV(GMRC("NMBR")) K GMRC("NMBR")
|
---|
122 | Q
|
---|
123 | STS ;Select a status for view. i.e., only active, pendings, DC'd, etc.
|
---|
124 | I $D(IOTM),$D(IOBM),$D(IOSTBM) D FULL^VALM1
|
---|
125 | S GMRCERR=0
|
---|
126 | N DIR,X,Y
|
---|
127 | S DIR(0)="SAOM^dc:Discontinued;c:Complete;p:Pending;a:Active;pr:Partial Results;s:Scheduled;x:Cancelled"
|
---|
128 | S $P(DIR(0),U,2)="al:All Status's;"_$P(DIR(0),U,2)
|
---|
129 | S DIR("A")="Only Display Consults With Status of: "
|
---|
130 | S DIR("B")="All Status's"
|
---|
131 | I $G(GMRCSTCK) D
|
---|
132 | . S DIR("A")="Another Status to display: "
|
---|
133 | . K DIR("B")
|
---|
134 | D ^DIR
|
---|
135 | I $D(DUOUT)!($D(DTOUT))!('$L(Y)) G END
|
---|
136 | D STCK($$LOW^XLFSTR(Y)) I $G(GMRCSTCK)="" D:$D(GMRC("NMBR")) G END
|
---|
137 | . D RESET^GMRCSLMV(GMRC("NMBR"))
|
---|
138 | . K GMRC("NMBR")
|
---|
139 | . Q
|
---|
140 | I $D(GMRC("NMBR")) D RESET^GMRCSLMV(GMRC("NMBR")) K GMRC("NMBR")
|
---|
141 | G STS
|
---|
142 | STCK(RES) ;change code to status
|
---|
143 | N CODE
|
---|
144 | I RES="al" S GMRCSTCK="" Q
|
---|
145 | I RES="dc" S CODE=1
|
---|
146 | I RES="c" S CODE=2
|
---|
147 | I RES="p" S CODE=5
|
---|
148 | I RES="a" S CODE=6
|
---|
149 | I RES="pr" S CODE=9
|
---|
150 | I RES="x" S CODE=13
|
---|
151 | I RES="s" S CODE=8
|
---|
152 | I $D(GMRCSTCK) I $$FND(CODE) W $C(7),!,"Already selected" Q
|
---|
153 | I +$G(GMRCSTCK) S GMRCSTCK=GMRCSTCK_","_CODE Q
|
---|
154 | S GMRCSTCK=CODE
|
---|
155 | Q
|
---|
156 | FND(CD) ;status already selected?
|
---|
157 | I GMRCSTCK=CD Q 1
|
---|
158 | I $F(GMRCSTCK,(CD_",")) Q 1
|
---|
159 | I $E(GMRCSTCK,$L(GMRCSTCK))=CD Q 1
|
---|
160 | Q 0
|
---|
161 | END K DIR,GMRCERR,Y
|
---|
162 | Q
|
---|