1 | GMPLDISP ; SLC/MKB -- Problem List detailed display ; 04/15/2002
|
---|
2 | ;;2.0;Problem List;**21,26**;Aug 25, 1994
|
---|
3 | ;
|
---|
4 | ; External References
|
---|
5 | ; DBIA 3106 ^DIC(49
|
---|
6 | ; DBIA 10082 ^ICD9( file 80
|
---|
7 | ; DBIA 10040 ^SC( file 44
|
---|
8 | ; DBIA 10060 ^VA(200
|
---|
9 | ; DBIA 10116 $$SETSTR^VALM1
|
---|
10 | ; DBIA 10117 CLEAN^VALM10
|
---|
11 | ; DBIA 10117 CNTRL^VALM10
|
---|
12 | ; DBIA 10103 $$FMTE^XLFDT
|
---|
13 | ; DBIA 10103 $$HTFM^XLFDT
|
---|
14 | ; DBIA 10104 $$REPEAT^XLFSTR
|
---|
15 | ;
|
---|
16 | EN ; Init Variables (need GMPLSEL,GMPLNO) and List Array
|
---|
17 | G:'$D(GMPLSEL) ERROR G:'$G(GMPLNO) ERROR
|
---|
18 | S GMPI=+$G(GMPI)+1 I GMPI>GMPLNO D Q
|
---|
19 | . W !!,"There are no more problems that have been selected to view!",! S VALMBCK="" H 2
|
---|
20 | S GMPLNUM=$P(GMPLSEL,",",GMPI) G:GMPLNUM'>0 ERROR
|
---|
21 | S GMPIFN=$P($G(^TMP("GMPLIDX",$J,+GMPLNUM)),U,2) G:GMPIFN'>0 ERROR
|
---|
22 | W !!,"Retrieving current data for problem #"_GMPLNUM_" ...",!
|
---|
23 | ;
|
---|
24 | PROB ; Display problem GMPIFN
|
---|
25 | N LINE,STR,I,TEXT,NOTE,GMPL0,GMPL1,X,Y,IDT,FAC,AIFN,SP,LCNT,NIFN
|
---|
26 | G:'$G(GMPIFN) ERROR D CLEAN^VALM10
|
---|
27 | S GMPL0=$G(^AUPNPROB(GMPIFN,0)),GMPL1=$G(^(1)),LCNT=1,SP=""
|
---|
28 | F I=11,12,13,15,16 S:+$P(GMPL1,U,I) SP=SP_$S(I=11:"AGENT ORANGE",I=12:"RADIATION",I=13:"ENV CONTAMINANTS",I=15:"HEAD/NECK CANCER",1:"MIL SEXUAL TRAUMA")_U
|
---|
29 | F Q:$E(SP,$L(SP))'="^" S SP=$E(SP,1,($L(SP)-1))
|
---|
30 | D WRAP^GMPLX($$PROBTEXT^GMPLX(GMPIFN),65,.TEXT)
|
---|
31 | S GMPDT(LCNT,0)=" Problem: "_TEXT(1)
|
---|
32 | I TEXT>1 F I=2:1:TEXT S LCNT=LCNT+1,GMPDT(LCNT,0)=TEXT(I)
|
---|
33 | S LCNT=LCNT+1,GMPDT(LCNT,0)=" "
|
---|
34 | PR1 ; Onset
|
---|
35 | ; SC Condition
|
---|
36 | ; Status
|
---|
37 | ; Exposure
|
---|
38 | ; Provider
|
---|
39 | ; Service/Clinic
|
---|
40 | S LINE=" Onset: "_$S($P(GMPL0,U,13):$$EXTDT^GMPLX($P(GMPL0,U,13)),1:"date unknown"),STR=""
|
---|
41 | S:GMPVA STR="SC Condition: "_$S(+$P(GMPL1,U,10):"YES",$P(GMPL1,U,10)=0:"NO",1:"unknown")
|
---|
42 | S LINE=$$SETSTR^VALM1(STR,LINE,49,30),LCNT=LCNT+1,GMPDT(LCNT,0)=LINE
|
---|
43 | S X=$P(GMPL0,U,12),LINE=" Status: "_$S(X="A":"ACTIVE",1:"INACTIVE")
|
---|
44 | I X="A",$L($P(GMPL1,U,14)) S LINE=LINE_"/"_$S($P(GMPL1,U,14)="A":"ACUTE",1:"CHRONIC")
|
---|
45 | I X="I",$P(GMPL1,U,7) S LINE=LINE_", Resolved "_$$EXTDT^GMPLX($P(GMPL1,U,7))
|
---|
46 | S STR="",LCNT=LCNT+1
|
---|
47 | S:GMPVA STR=" Exposure: "_$S('$L(SP):"none",1:$P(SP,U))
|
---|
48 | S LINE=$$SETSTR^VALM1(STR,LINE,49,30),GMPDT(LCNT,0)=LINE
|
---|
49 | S LINE=" Provider: "_$P($G(^VA(200,+$P(GMPL1,U,5),0)),U),LCNT=LCNT+1,STR=""
|
---|
50 | I GMPVA,$L(SP,U)>1 S STR=$P(SP,U,2)
|
---|
51 | S LINE=$$SETSTR^VALM1(STR,LINE,63,16),GMPDT(LCNT,0)=LINE
|
---|
52 | I $E(GMPLVIEW("VIEW"))="S" S LINE=" Service: "_$P($G(^DIC(49,+$P(GMPL1,U,6),0)),U)
|
---|
53 | E S LINE=" Clinic: "_$P($G(^SC(+$P(GMPL1,U,8),0)),U)
|
---|
54 | S LCNT=LCNT+1,STR="" I GMPVA,$L(SP,U)>2 S STR=$P(SP,U,3)
|
---|
55 | S LINE=$$SETSTR^VALM1(STR,LINE,63,16),GMPDT(LCNT,0)=LINE
|
---|
56 | S LCNT=LCNT+1,GMPDT(LCNT,0)=" "
|
---|
57 | PR2 ; Recorded
|
---|
58 | ; Entered
|
---|
59 | ; Provider Narrative
|
---|
60 | ; ICD code
|
---|
61 | S LINE=" Recorded: "_$S($P(GMPL1,U,9):$$EXTDT^GMPLX($P(GMPL1,U,9)),1:"date unknown")
|
---|
62 | S:$P(GMPL1,U,4) LINE=LINE_", by "_$P($G(^VA(200,+$P(GMPL1,U,4),0)),U)
|
---|
63 | S LCNT=LCNT+1,GMPDT(LCNT,0)=LINE
|
---|
64 | S LINE=" Entered: "_$$EXTDT^GMPLX($P(GMPL0,U,8))
|
---|
65 | S LINE=LINE_", by "_$P($G(^VA(200,+$P(GMPL1,U,3),0)),U),LCNT=LCNT+1
|
---|
66 | S:GMPARAM("VER")&($P(GMPL1,U,2)="T") LINE=LINE_" <unconfirmed>"
|
---|
67 | S GMPDT(LCNT,0)=LINE
|
---|
68 | S LINE=" ICD Code: "_$P($G(^ICD9(+GMPL0,0)),U),LCNT=LCNT+1,GMPDT(LCNT,0)=LINE
|
---|
69 | S LCNT=LCNT+1,GMPDT(LCNT,0)=" "
|
---|
70 | PR3 ; Comments
|
---|
71 | S LCNT=LCNT+1,GMPDT(LCNT,0)="Comments:"
|
---|
72 | D CNTRL^VALM10(LCNT,1,8,IOUON,IOUOFF)
|
---|
73 | ; By Facility
|
---|
74 | F FAC=0:0 S FAC=$O(^AUPNPROB(GMPIFN,11,FAC)) Q:+FAC'>0 D
|
---|
75 | . I 'FAC S LCNT=LCNT+1,GMPDT(LCNT,0)=" <None>" G PR4
|
---|
76 | . F NIFN=0:0 S NIFN=$O(^AUPNPROB(GMPIFN,11,FAC,11,NIFN)) Q:+NIFN'>0 D
|
---|
77 | . . S NOTE=$G(^AUPNPROB(GMPIFN,11,FAC,11,NIFN,0)) Q:NOTE=""
|
---|
78 | . . S LINE=$J($$EXTDT^GMPLX($P(NOTE,U,5)),10)_": "_$P(NOTE,U,3)
|
---|
79 | . . S LCNT=LCNT+1,GMPDT(LCNT,0)=LINE
|
---|
80 | . . I $P(NOTE,U,6) S LINE=" "_$P($G(^VA(200,+$P(NOTE,U,6),0)),U),LCNT=LCNT+1,GMPDT(LCNT,0)=LINE
|
---|
81 | S:'($G(NOTE)) LCNT=LCNT+1,GMPDT(LCNT,0)=" <None>"
|
---|
82 | PR4 ; Audit Trail
|
---|
83 | S LCNT=LCNT+1,GMPDT(LCNT,0)=" "
|
---|
84 | S LCNT=LCNT+1,GMPDT(LCNT,0)="History:"
|
---|
85 | D CNTRL^VALM10(LCNT,1,7,IOUON,IOUOFF)
|
---|
86 | I '$D(^GMPL(125.8,"B",GMPIFN)) S LCNT=LCNT+1,GMPDT(LCNT,0)=" <No changes>" G PRQ
|
---|
87 | F IDT=0:0 S IDT=$O(^GMPL(125.8,"AD",GMPIFN,IDT)) Q:IDT'>0 D
|
---|
88 | . F AIFN=0:0 S AIFN=$O(^GMPL(125.8,"AD",GMPIFN,IDT,AIFN)) Q:AIFN'>0 D DT^GMPLHIST
|
---|
89 | PRQ ; Header Node
|
---|
90 | S VALMCNT=LCNT,GMPDT(0)=VALMCNT,VALMSG=$$MSG^GMPLX,VALMBG=1,VALMBCK="R"
|
---|
91 | Q
|
---|
92 | ;
|
---|
93 | HDR ; Header Code (uses GMPDFN, GMPIFN)
|
---|
94 | N LASTMOD,PAT S PAT=$P(GMPDFN,U,2)_" ("_$P(GMPDFN,U,3)_")"
|
---|
95 | S LASTMOD=$S($G(GMPIFN):$P(^AUPNPROB(GMPIFN,0),U,3),1:$E($$HTFM^XLFDT($H),1,12))
|
---|
96 | S LASTMOD="Last Updated: "_$$FMTE^XLFDT(LASTMOD)
|
---|
97 | S VALMHDR(1)=PAT_$$REPEAT^XLFSTR(" ",(79-$L(PAT)-$L(LASTMOD)))_LASTMOD
|
---|
98 | Q
|
---|
99 | ;
|
---|
100 | HELP ; Help Code
|
---|
101 | N X W !!?4,"You may view detailed information here on this problem;"
|
---|
102 | W !?4,"more data may be available by entering 'Next Screen'."
|
---|
103 | W !?4,"If you have selected multiple problems to view, you may"
|
---|
104 | W !?4,"enter 'Continue to Next Selected Problem'; to return to"
|
---|
105 | W !?4,"the patient's problem list, enter 'Quit to Problem List'."
|
---|
106 | W !!,"Press <return> to continue ... " R X:DTIME
|
---|
107 | S VALMSG=$$MSG^GMPLX,VALMBCK=$S(VALMCC:"",1:"R")
|
---|
108 | Q
|
---|
109 | ;
|
---|
110 | DEFLT() ; Default Action, using GMPI and GMPLNO
|
---|
111 | I GMPI<GMPLNO Q "Continue to Next Selected Problem"
|
---|
112 | Q "Quit to Problem List"
|
---|
113 | ;
|
---|
114 | ERROR ; Error Message - drop into EXIT
|
---|
115 | W !!,"ERROR -- Cannot continue ... Returning to Problem List.",!
|
---|
116 | S VALMBCK="Q" H 1
|
---|
117 | EXIT ; Exit Code
|
---|
118 | K GMPDT Q
|
---|