1 | GMPLEDT1 ; SLC/MKB/KER/AJB -- Edit Problem List fields ; 04/21/2003
|
---|
2 | ;;2.0;Problem List;**17,20,26,28**;Aug 25, 1994
|
---|
3 | ;
|
---|
4 | ; External References
|
---|
5 | ; DBIA 10006 ^DIC
|
---|
6 | ; DBIA 10026 ^DIR
|
---|
7 | ; DBIA 341 DIS^SDROUT2
|
---|
8 | ;
|
---|
9 | ONSET ; Edit Date of Onset - field .13
|
---|
10 | N X,Y,ENTERED,PROMPT,HELPMSG,DEFAULT
|
---|
11 | S ENTERED=$S($G(GMPFLD(.08)):+GMPFLD(.08),1:DT),DEFAULT=$G(GMPFLD(.13))
|
---|
12 | S PROMPT="DATE OF ONSET: ",HELPMSG="Enter the date this problem was first observed, as precisely as known."
|
---|
13 | O1 ; Get Date of Onset
|
---|
14 | D DATE^GMPLEDT2 Q:$D(GMPQUIT)!($G(GMPLJUMP))
|
---|
15 | I Y>ENTERED W !!,"Date of Onset cannot be later than the date the problem was entered!",$C(7) G O1
|
---|
16 | I +$P(GMPDFN,U,4),Y>$P(GMPDFN,U,4) W !!,"Date of Onset cannot be later than the date of death!",$C(7) G O1
|
---|
17 | S GMPFLD(.13)=Y S:Y'="" GMPFLD(.13)=GMPFLD(.13)_U_$$EXTDT^GMPLX(Y)
|
---|
18 | Q
|
---|
19 | STATUS ; Edit Status - field .12
|
---|
20 | ; Then Edit Date Resolved - Field 1.07, if inactive
|
---|
21 | N DIR,X,Y
|
---|
22 | S DIR(0)="9000011,.12"
|
---|
23 | S:$L($G(GMPFLD(.12))) DIR("B")=$P(GMPFLD(.12),U,2)
|
---|
24 | ST1 ; Get Status
|
---|
25 | D ^DIR I $D(DTOUT)!(Y="^") S GMPQUIT=1 Q
|
---|
26 | I Y?1"^".E D JUMP^GMPLEDT3(Y) Q:$D(GMPQUIT)!($G(GMPLJUMP)) K:$G(GMPIFN) GMPLJUMP G ST1
|
---|
27 | S:Y'="" Y=Y_U_$S(Y="A":"ACTIVE",1:"INACTIVE") S GMPFLD(.12)=Y
|
---|
28 | S:$E(Y)'="I" GMPFLD(1.07)="" S:$E(Y)'="A" GMPFLD(1.14)=""
|
---|
29 | D:$E(GMPFLD(.12))="I" RESOLVED^GMPLEDT4
|
---|
30 | D:$E(GMPFLD(.12))="A" PRIORITY^GMPLEDT4
|
---|
31 | Q
|
---|
32 | RECORDED ; Edit Date Recorded - field 1.09
|
---|
33 | N X,Y,PROMPT,HELPMSG,DEFAULT,ENTERED
|
---|
34 | S ENTERED=$S($G(GMPFLD(.08)):+GMPFLD(.08),1:DT),DEFAULT=$G(GMPFLD(1.09))
|
---|
35 | S PROMPT="DATE RECORDED: ",HELPMSG="Enter the date this problem was first recorded, as precisely as known."
|
---|
36 | RC1 ; Get Date
|
---|
37 | D DATE^GMPLEDT2 Q:$D(GMPQUIT)!($G(GMPLJUMP))
|
---|
38 | I Y>ENTERED W !!,"Date Recorded cannot be later than the problem was entered!",$C(7) G RC1
|
---|
39 | S GMPFLD(1.09)=Y S:Y'="" GMPFLD(1.09)=GMPFLD(1.09)_U_$$EXTDT^GMPLX(Y)
|
---|
40 | Q
|
---|
41 | SC ; Edit Service Connected - field 1.1
|
---|
42 | N DFN,DIR,X,Y
|
---|
43 | ;
|
---|
44 | ; The following allows changing a problem's SC/NSC to
|
---|
45 | ; NSC if there is no SC on file for patient and Problem
|
---|
46 | ; original SC was set to "YES"
|
---|
47 | ;
|
---|
48 | I +$G(GMPORIG(1.1))=1 D
|
---|
49 | . W !!,">>> Currently known service-connection data for "_$P(GMPDFN,U,2)_":"
|
---|
50 | ELSE Q:'GMPSC
|
---|
51 | S DFN=+GMPDFN D DIS^SDROUT2
|
---|
52 | I +GMPSC=0,+$G(GMPORIG(1.1))=1 D
|
---|
53 | . S DIR("A")="Patient has no service-connected condition !! "
|
---|
54 | . S DIR("B")="NO"
|
---|
55 | ELSE D
|
---|
56 | . S DIR("A")="Is this problem related to a service-connected condition? "
|
---|
57 | . S:$L($G(GMPFLD(1.1))) DIR("B")=$P(GMPFLD(1.1),U,2) W !
|
---|
58 | S DIR("?",1)="If this problem is due to a service-connected condition, enter YES;",DIR("?")="press <return> and leave blank if this is unknown.",DIR(0)="YAO"
|
---|
59 | SC1 ; Get Service Connection
|
---|
60 | D ^DIR I $D(DTOUT)!(Y="^") S GMPQUIT=1 Q
|
---|
61 | I Y?1"^".E D JUMP^GMPLEDT3(Y) Q:$D(GMPQUIT)!($G(GMPLJUMP)) K:$G(GMPIFN) GMPLJUMP G SC1
|
---|
62 | I X="@" G:'$$SURE^GMPLX SC1 S Y=""
|
---|
63 | S GMPFLD(1.1)=Y S:Y'="" GMPFLD(1.1)=GMPFLD(1.1)_U_$S(Y:"YES",1:"NO")
|
---|
64 | Q
|
---|
65 | SP ; Edit Exposures/Conditions
|
---|
66 | ; Agent Orange - field 1.11
|
---|
67 | ; Ionizing Radiation - field 1.12
|
---|
68 | ; Persian Gulf/Environmental Contaminants - field 1.13
|
---|
69 | ; Head and/or Neck Cancer - field 1.15
|
---|
70 | ; Military Sexual Trauma - field 1.16
|
---|
71 | G SPEXP^GMPLEDT2
|
---|
72 | Q
|
---|
73 | SOURCE ; Edit Service - field 1.06
|
---|
74 | ; or Clinic - field 1.08
|
---|
75 | N DIC,X,Y,HELPMSG,PROMPT,DEFAULT,VIEW S VIEW=$E(GMPLVIEW("VIEW"))
|
---|
76 | S DIC=$S(VIEW="S":"^DIC(49,",1:"^SC("),DIC(0)="EMQ"
|
---|
77 | S DIC("S")="I $P(^(0),U,"_$S(VIEW="S":9,1:3)_")=""C"""
|
---|
78 | I VIEW="S" S PROMPT="SERVICE: ",DEFAULT=$P(GMPFLD(1.06),U,2)
|
---|
79 | E S PROMPT="CLINIC: ",DEFAULT=$P(GMPFLD(1.08),U,2)
|
---|
80 | S HELPMSG="Enter the clinic"_$S(VIEW="S":"al service",1:"")_" to be associated with this problem."
|
---|
81 | S1 ; Get Service/Clinic
|
---|
82 | W !,PROMPT_$S($L(DEFAULT):DEFAULT_"//",1:"")
|
---|
83 | R X:DTIME S:'$T X="^",DTOUT=1 S:X="^" GMPQUIT=1 Q:(X="^")!(X="")
|
---|
84 | I X?1"^".E D JUMP^GMPLEDT3(X) Q:$D(GMPQUIT)!($G(GMPLJUMP)) K:$G(GMPIFN) GMPLJUMP G S1
|
---|
85 | I X="?" W !!,HELPMSG,! G S1
|
---|
86 | I X["??" D @("LIST"_$S(VIEW="S":"SERV",1:"CLIN")_"^GMPLMGR1") W !,HELPMSG G S1
|
---|
87 | I X="@" G:'$$SURE^GMPLX S1 S Y="" G SQ
|
---|
88 | D ^DIC I Y'>0 W !?5,"Only clinic"_$S(VIEW="S":"al service",1:"")_"s are allowed!",! G S1
|
---|
89 | SQ ; Quit Service/Clinic
|
---|
90 | S:VIEW'="S" GMPFLD(1.08)=Y S:VIEW="S" GMPFLD(1.06)=Y
|
---|
91 | Q
|
---|
92 | AUTHOR ; Edit Recording Provider - field 1.04
|
---|
93 | N X,Y,PROMPT,HELPMSG,DEFAULT S PROMPT="RECORDING PROVIDER: "
|
---|
94 | S DEFAULT=$G(GMPFLD(1.04)),HELPMSG="Enter the name of the provider responsible for the recording of this data."
|
---|
95 | D NPERSON^GMPLEDT2 Q:$D(GMPQUIT)!($G(GMPLJUMP))
|
---|
96 | S GMPFLD(1.04)=$S(+Y>0:Y,1:"")
|
---|
97 | Q
|
---|
98 | PROV ; Edit Responsible Provider - field 1.05
|
---|
99 | N X,Y,PROMPT,DEFAULT,HELPMSG S DEFAULT=$G(GMPFLD(1.05))
|
---|
100 | S PROMPT="PROVIDER: ",HELPMSG="Enter the name of the local provider treating this problem."
|
---|
101 | D NPERSON^GMPLEDT2 Q:$D(GMPQUIT)!($G(GMPLJUMP))
|
---|
102 | S GMPFLD(1.05)=$S(+Y>0:Y,1:"")
|
---|
103 | Q
|
---|
104 | ICD ; Edit ICD-9-CM Code - field .01
|
---|
105 | N DIC,DIR,X,Y
|
---|
106 | ICD0 ; Prompt for ICD Code
|
---|
107 | K DIR S DIR(0)="FAO^2:6",DIR("A")="ICD CODE: "
|
---|
108 | S:$P($G(GMPFLD(.01)),U,2)="799.9" DIR("A")=IORVON_"ICD CODE: "
|
---|
109 | S:+$G(GMPFLD(.01)) DIR("B")=$P(GMPFLD(.01),U,2)
|
---|
110 | S DIR("?")="Enter the ICD code to be associated with this problem"
|
---|
111 | ICD1 ; Get ICD Code
|
---|
112 | D ^DIR W IORVOFF I $D(DTOUT)!(Y="^") S GMPQUIT=1 Q
|
---|
113 | I Y?1"^".E D JUMP^GMPLEDT3(Y) Q:$D(GMPQUIT)!($G(GMPLJUMP)) K:$G(GMPIFN) GMPLJUMP G ICD1
|
---|
114 | I X="@" W !!,"ICD Code may not be deleted!",!,$C(7) G ICD1
|
---|
115 | Q:X="" Q:$P($G(GMPFLD(.01)),U,2)=Y
|
---|
116 | S DIC=80,DIC(0)="EQM" D ^DIC G:Y'>0 ICD0
|
---|
117 | S GMPFLD(.01)=Y
|
---|
118 | Q
|
---|
119 | NOTE ; Attach a note to problem - field 11
|
---|
120 | N X,Y,I,DEFAULT,PROMPT,DONE,NXT,NCNT S (I,NCNT,DONE)=0
|
---|
121 | ; added for Code Set Versioning (CSV)
|
---|
122 | I $G(GMPICD),'+$$STATCHK^ICDAPIU(GMPICD,DT) D Q
|
---|
123 | . W !!,"This problem has an inactive ICD code. Please edit the problem before using.",! H 3
|
---|
124 | I $G(GMPIFN),'$$CODESTS^GMPLX(GMPIFN,DT) D Q
|
---|
125 | . W !!,"This problem has an inactive ICD code. Please edit the problem before using.",! H 3
|
---|
126 | F D Q:$D(GMPQUIT)!($G(GMPLJUMP))!DONE
|
---|
127 | . S NXT=$O(GMPFLD(10,"NEW",I)) S:'NXT NXT=I+1
|
---|
128 | . S I=NXT,NCNT=NCNT+1
|
---|
129 | . S PROMPT=$S(NCNT=1:"",1:"ANOTHER ")_"COMMENT"_$S(NCNT=1:" (<60 char): ",1:": "),DEFAULT=$G(GMPFLD(10,"NEW",I))
|
---|
130 | . D EDNOTE^GMPLEDT4 Q:$D(GMPQUIT)!($G(GMPLJUMP))
|
---|
131 | . I X="@" K GMPFLD(10,"NEW",I) Q
|
---|
132 | . I Y="" S DONE=1 Q
|
---|
133 | . S GMPFLD(10,"NEW",I)=Y
|
---|
134 | Q
|
---|
135 | TERM ; Edit Problem - field 1.01
|
---|
136 | G TERM^GMPLEDT4
|
---|
137 | Q
|
---|
138 | Q ; No Editing
|
---|
139 | Q
|
---|