1 | PXCEVFI2 ;ISL/dee,ESW - Supporting routines for editing a visit or v-file entry ; 4/24/07 4:27pm
|
---|
2 | ;;1.0;PCE PATIENT CARE ENCOUNTER;**22,73,95,96,124,158,184**;Aug 12, 1996;Build 30
|
---|
3 | ;
|
---|
4 | Q
|
---|
5 | ASK(PXCVIEN,PXCFIEN,PXCEAUPN,PXCCATT,PXCCODE) ; -- Display a selection list from one V-File for this visit
|
---|
6 | N PXCEINDX,PXCECNT,PXCEASK,PXCEREF
|
---|
7 | N DIR,DA,X,Y
|
---|
8 | S PXCEINDX=""
|
---|
9 | F PXCECNT=0:1 S PXCEINDX=$O(@(PXCEAUPN_"(""AD"",PXCVIEN,PXCEINDX)")) Q:'PXCEINDX D
|
---|
10 | . I PXCECNT=0&(PXCCATT="Diagnosis") D SC($P(^AUPNVSIT(PXCEVIEN,0),U,5))
|
---|
11 | . I PXCECNT=0&(PXCCATT="CPT") D SC($P(^AUPNVSIT(PXCEVIEN,0),U,5))
|
---|
12 | . W:PXCECNT=0 !!,"--- "_PXCCATT_" ---",!
|
---|
13 | . S PXCEASK(PXCECNT+1)=PXCEINDX
|
---|
14 | . W !,$J(PXCECNT+1,3),?6,@("$$DISPLY01^"_PXCCODE_"("_PXCEAUPN_"(PXCEINDX,0))")
|
---|
15 | Q:PXCECNT'>0
|
---|
16 | ASKLOOP S DIR(0)="FAO^1:"_$L(PXCECNT)
|
---|
17 | S DIR("A")="Enter 1-"_PXCECNT_" to Edit, or 'A' to Add: "
|
---|
18 | S DIR("?")="Enter the number of the "_PXCCATT_" you wish to edit or A to add a new "_PXCCATT_"."
|
---|
19 | D ^DIR
|
---|
20 | K DIR,DA
|
---|
21 | I $D(DIRUT) S PXCEQUIT=1 Q
|
---|
22 | Q:"Aa"[Y
|
---|
23 | G:Y<1!(Y>PXCECNT) ASKLOOP
|
---|
24 | G:$G(PXCEASK(Y))'>0 ASKLOOP
|
---|
25 | S PXCFIEN=$G(PXCEASK(Y))
|
---|
26 | Q
|
---|
27 | ;
|
---|
28 | SAVE ; -- Save this edited and quit editing.
|
---|
29 | I PXCECAT="CSTP" S PXCEFIEN=$$STOPCODE^PXUTLSTP(PXCESOR,$P(PXCEAFTR(0),"^",8),PXCEVIEN)
|
---|
30 | E D
|
---|
31 | . N PXCENODS,PXCEFOR,PXCENODE,PXCESEQ
|
---|
32 | . S PXCENODS=$P($T(FORMAT^@PXCECODE),"~",3)
|
---|
33 | . F PXCEFOR=1:1 S PXCENODE=$P(PXCENODS,",",PXCEFOR) Q:PXCENODE']"" D
|
---|
34 | .. I PXCENODE=1,PXCECATS="CPT" D Q
|
---|
35 | ... S PXCESEQ=""
|
---|
36 | ... F S PXCESEQ=$O(PXCEAFTR(PXCENODE,PXCESEQ)) Q:PXCESEQ="" D
|
---|
37 | .... S ^TMP("PXK",$J,PXCECATS,1,PXCENODE,PXCESEQ,"AFTER")=PXCEAFTR(PXCENODE,PXCESEQ)
|
---|
38 | .. S ^TMP("PXK",$J,PXCECATS,1,PXCENODE,"AFTER")=PXCEAFTR(PXCENODE)
|
---|
39 | . I PXCECAT="SK",$G(^TMP("PXK",$J,PXCECATS,1,"IEN"))]"" D SAVE^PXCESK
|
---|
40 | . D EN1^PXKMAIN
|
---|
41 | . I PXCECAT="SIT"!(PXCECAT="APPM")!(PXCECAT="HIST") S PXCEVIEN=^TMP("PXK",$J,"VST",1,"IEN")
|
---|
42 | Q
|
---|
43 | ;
|
---|
44 | DEL(PXCECAT) ; -- Delete this V-File entry from the List if all the visit information.
|
---|
45 | I PXCEFIEN'>0!(PXCEVIEN'>0) W !!,$C(7),"Error: Cannot delete this an unknown V-File entry." D PAUSE^PXCEHELP Q
|
---|
46 | I PXCEKEYS'["D",PXCEKEYS'["d" W !!,$C(7),"Error: You do not have delete access." D PAUSE^PXCEHELP Q
|
---|
47 | ;
|
---|
48 | N PXCENODS,PXCEFOR,PXCENODE,PXCECATS,PXCECATT,PXCECODE,PXCEAUPN,PXCEQUIT
|
---|
49 | S PXCECODE="PXCE"_$S(PXCECAT="IMM":"VIMM",1:PXCECAT)
|
---|
50 | S PXCECATS=$S(PXCECAT="CSTP":"VST",PXCECAT="HIST":"VST",1:PXCECAT)
|
---|
51 | S PXCEAUPN=$P($T(FORMAT^@PXCECODE),"~",5)
|
---|
52 | S PXCECATT=$P($P($T(FORMAT^@PXCECODE),";;",2),"~",1)
|
---|
53 | ;
|
---|
54 | I '$D(@(PXCEAUPN_"(PXCEFIEN)")) Q
|
---|
55 | I $P($G(@(PXCEAUPN_"(PXCEFIEN,812)")),"^",1) D Q
|
---|
56 | . W !!,"Error on deleting "_PXCECATT_" ",@("$$DISPLY01^"_PXCECODE_"(@(PXCEAUPN_""(PXCEFIEN,0)""))")
|
---|
57 | . W !,"Error: You cannot delete this entry it has been ""Verified""." D WAIT^PXCEHELP
|
---|
58 | I PXCEKEYS'["D" D Q:PXCEQUIT
|
---|
59 | . N PXCECHK
|
---|
60 | . S PXCEQUIT=0
|
---|
61 | . I PXCECATS="VST" S PXCECHK=$P($G(@(PXCEAUPN_"(PXCEFIEN,0)")),"^",23)
|
---|
62 | . E S PXCECHK=$P($P($P($G(@(PXCEAUPN_"(PXCEFIEN,801)")),"^",2),";",1)," ",2)
|
---|
63 | . I DUZ'=PXCECHK D
|
---|
64 | .. S PXCEQUIT=1
|
---|
65 | .. N NODE0
|
---|
66 | .. S NODE0=@(PXCEAUPN_"(PXCEFIEN,0)")
|
---|
67 | .. W !!,"Error on deleting "_PXCECATT_" ",@("$$DISPLY01^"_PXCECODE_"(NODE0)")
|
---|
68 | .. W !,"Error: You cannot delete an entry you did not create." D WAIT^PXCEHELP
|
---|
69 | ;
|
---|
70 | I PXCECAT="CSTP" D
|
---|
71 | . W !!,"Deleting "_PXCECATT_" "
|
---|
72 | . W @("$$DISPLY01^"_PXCECODE_"($G(@(PXCEAUPN_""(PXCEFIEN,0)"")))")
|
---|
73 | . Q:'$$SURE^PXCEAE2
|
---|
74 | . N PXCERESU
|
---|
75 | . S PXCERESU=$$STOPCODE^PXUTLSTP(PXCESOR,"@",PXCEVIEN,PXCEFIEN)
|
---|
76 | . S:$D(PXCELOOP) PXCELOOP=1
|
---|
77 | E I PXCECATS="VST" D
|
---|
78 | . W !!,"Deleting "_PXCECATT_" "
|
---|
79 | . W @("$$DISPLY01^"_PXCECODE_"($G(@(PXCEAUPN_""(PXCEFIEN,0)"")))")
|
---|
80 | . Q:'$$SURE^PXCEAE2
|
---|
81 | . N PXCERESU
|
---|
82 | . S PXCERESU=$$KILL^VSITKIL(PXCEVIEN)
|
---|
83 | . I PXCERESU D
|
---|
84 | .. I PXCERESU=1,$O(^SCE("AVSIT",PXCEVIEN,"")) Q
|
---|
85 | .. W !,$C(7),"Could not delete the encounter. There are still users of it." D WAIT^PXCEHELP
|
---|
86 | . I 'PXCERESU S PXCEVDEL=1 S:$D(PXCELOOP) (PXCELOOP,PXCEQUIT,PXCENOER)=1
|
---|
87 | . D EVENT^PXKMAIN
|
---|
88 | ;
|
---|
89 | E D
|
---|
90 | . K ^TMP("PXK",$J)
|
---|
91 | . S ^TMP("PXK",$J,"VST",1,"IEN")=PXCEVIEN
|
---|
92 | . F PXCENODE=0,21,150,800,811,812 D
|
---|
93 | .. S (^TMP("PXK",$J,"VST",1,PXCENODE,"AFTER"),^TMP("PXK",$J,"VST",1,PXCENODE,"BEFORE"))=$G(^AUPNVSIT(PXCEVIEN,PXCENODE))
|
---|
94 | . ;
|
---|
95 | . S ^TMP("PXK",$J,"SOR")=PXCESOR
|
---|
96 | . S ^TMP("PXK",$J,PXCECATS,1,"IEN")=PXCEFIEN
|
---|
97 | . ;
|
---|
98 | . S PXCENODS=$P($T(FORMAT^@PXCECODE),"~",3)
|
---|
99 | . F PXCEFOR=1:1 S PXCENODE=$P(PXCENODS,",",PXCEFOR) Q:PXCENODE']"" D
|
---|
100 | .. S ^TMP("PXK",$J,PXCECATS,1,PXCENODE,"BEFORE")=$G(@(PXCEAUPN_"(PXCEFIEN,PXCENODE)"))
|
---|
101 | . ;
|
---|
102 | . N DIK,DA
|
---|
103 | . W !!,"Deleting "_PXCECATT_" "
|
---|
104 | . W @("$$DISPLY01^"_PXCECODE_"(^TMP(""PXK"",$J,PXCECATS,1,0,""BEFORE""))")
|
---|
105 | . Q:'$$SURE^PXCEAE2 ;DELQUIT
|
---|
106 | . S PXCENODS=$P($T(FORMAT^@PXCECODE),"~",3)
|
---|
107 | . F PXCEFOR=1:1 S PXCENODE=$P(PXCENODS,",",PXCEFOR) Q:PXCENODE']"" S ^TMP("PXK",$J,PXCECATS,1,PXCENODE,"AFTER")=$S(PXCENODE=0:"@",1:"")
|
---|
108 | . D EN1^PXKMAIN
|
---|
109 | . S:$D(PXCELOOP) PXCELOOP=1
|
---|
110 | . I $D(PXCENOER)#2 S PXCENOER=1
|
---|
111 | ;
|
---|
112 | DELQUIT ;
|
---|
113 | K ^TMP("PXK",$J)
|
---|
114 | Q
|
---|
115 | ;
|
---|
116 | SC(PXDFN) ;Service Connected Help
|
---|
117 | ; Input -- DFN Patient file IEN
|
---|
118 | ; Output -- Help
|
---|
119 | N I,SDCNT,SDDC,SDRD0
|
---|
120 | W !!,"Patient's Service Connection and Rated Disabilities:"
|
---|
121 | W !!,$S($P($G(^DPT(PXDFN,.3)),"^")="Y":" SC Percent: "_$P(^(.3),"^",2)_"%",1:" Service Connected: No")
|
---|
122 | W !,"Rated Disabilities: "
|
---|
123 | I $P($G(^DPT(PXDFN,"VET")),"^")'="Y",$S('$D(^DIC(391,+$G(^DPT(PXDFN,"TYPE")),0)):1,$P(^(0),"^",2):0,1:1) W "Not a Veteran" Q
|
---|
124 | S (SDCNT,I)=0
|
---|
125 | F S I=$O(^DPT(PXDFN,.372,I)) Q:'I I $P($G(^(I,0)),"^",3) S SDRD0=^(0) D
|
---|
126 | .S SDCNT=SDCNT+1
|
---|
127 | .S SDDC=$S('$D(^DIC(31,+SDRD0,0)):"",$P(^(0),"^",4)]"":$P(^(0),"^",4),1:$P(^(0),"^"))
|
---|
128 | .W:SDCNT>1 !
|
---|
129 | .W ?20,$P($G(^DIC(31,+SDRD0,0)),"^",3),?25,SDDC," (",$P(SDRD0,"^",2),"%-",$S($P(SDRD0,"^",3):"SC",1:""),")"
|
---|
130 | I 'SDCNT W $S('$O(^DPT(PXDFN,.372,0)):"None Stated",1:"No Service Connected Disabilities Listed")
|
---|
131 | ;
|
---|