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