1 | DVBHT1 ;ISC-ALBANY/PKE/PHH - HINQ alert parser ; 3/23/06 8:04am
|
---|
2 | ;;4.0;HINQ;**12,15,20,43,49,57**;03/25/92
|
---|
3 | ;
|
---|
4 | ; cn foldloc sc diag comb% chk a&a hb pension disablity
|
---|
5 | ; .313,.312/.314,.3731/2.05,.302,.36295,.36205,.36215,.36235,.3025
|
---|
6 | Q
|
---|
7 | ;S DVBDATAT(+Y)="",DVBDATA=DVBDATA_"^"_Y
|
---|
8 | MSG S DVBDATA(+Y)="",DVBDATA=$S($L(DVBDATA)>100:DVBDATA,$P(DVBDATA,"^",16):DVBDATA,1:DVBDATA_"^"_Y) Q
|
---|
9 | ;
|
---|
10 | ;check on return from HINQUP processing
|
---|
11 | ACHK S DVBNOALR=""
|
---|
12 | ;called from batch or direct
|
---|
13 | EN Q:'$D(DFN) Q:'DFN
|
---|
14 | N X,Y,I,M,N,P
|
---|
15 | S DVBDATA="^^^^^^^^^"
|
---|
16 | EDT ; DX,DIQ,AA,ENTIT,COMB,CN,FOLD,CHECK
|
---|
17 | ;
|
---|
18 | D DX,DIQ,AA,ENTIT,COMB,CN,FOLD,CHECK
|
---|
19 | I DVBDATA'="^^^^^^^^^" DO
|
---|
20 | .I '$D(DVBNOALR) D ALERT^DVBHT Q
|
---|
21 | .S (I,Y)=0 F S Y=$O(DVBDATA(Y)) Q:'Y DO
|
---|
22 | ..S $P(DVBDATA,"^",I+1)=Y,I=I+1
|
---|
23 | .K DVBNOALR
|
---|
24 | K DVBENT,DVBSCONN
|
---|
25 | Q
|
---|
26 | ;
|
---|
27 | DX Q:'$D(DVBDX) Q:'$D(DVBDXNO)
|
---|
28 | S (DVBDXNO,I)=0 F S I=$O(DVBDX(I)) Q:I="" S DVBDXNO=DVBDXNO+1
|
---|
29 | K M F I=1:1:DVBDXNO D
|
---|
30 | .S M(I)=$P(DVBDX(I),U,2,3)
|
---|
31 | .I M(I)["X0" S $P(M(I),U,2)="100"
|
---|
32 | .S $P(M(I),U,2)=+$P(M(I),U,2)
|
---|
33 | .S $P(M(I),U,3)=1
|
---|
34 | .I $P(DVBDX(I),U,4)]"" S $P(M(I),U,4)=$P(DVBDX(I),U,4)
|
---|
35 | .I $P(DVBDX(I),U,5)]"" S $P(M(I),U,5)=$$HL7TFM^XLFDT($E($P(DVBDX(I),U,5),5,8)_$E($P(DVBDX(I),U,5),1,4))
|
---|
36 | .I $P(DVBDX(I),U,6)]"" S $P(M(I),U,6)=$$HL7TFM^XLFDT($E($P(DVBDX(I),U,6),5,8)_$E($P(DVBDX(I),U,6),1,4))
|
---|
37 | .I '$D(DVBSCONN) S DVBSCONN=$P(M(I),"^",2) Q
|
---|
38 | .I DVBSCONN<$P(M(I),U,2) S DVBSCONN=$P(M(I),U,2)
|
---|
39 | S (N,P)=0
|
---|
40 | F S N=$O(^DPT(DFN,.372,N)) Q:'N I $D(^(N,0)) DO
|
---|
41 | .S M=0
|
---|
42 | .F S M=$O(M(M)) Q:'M I M(M)=^(0) K M(M) Q ;tag dx+6
|
---|
43 | .I M Q ;sc match
|
---|
44 | .I $P(^(0),U,3) S P=P+1 ; tag dx+6,naked ref to ^dpt(dfn,.372,n,0)
|
---|
45 | I P S Y="3-SC Disabilities" D VER
|
---|
46 | I $D(M)>9 S Y="3+SC Disabilities" D VER
|
---|
47 | K I,M,N,P Q
|
---|
48 | ;
|
---|
49 | VER ;with DVB*4*49 no BIRLS only records & Dx, Verified not sent
|
---|
50 | D MSG Q
|
---|
51 | ;
|
---|
52 | DIQ ;K DVBDIQ(2)
|
---|
53 | F LP2=.361,.302,.3025,.312,.313,.314,.36205,.36215,.36235,.36295 S X="DVBDIQ(2,"_DFN_","_LP2_")" K @X
|
---|
54 | S DR=".302;.3025;.312;.313;.314;.361;.36205;.36215;.36235;.36295"
|
---|
55 | DIQDR S DIC="^DPT(",DA=DFN,DIQ(0)="E",DIQ="DVBDIQ(" D EN^DIQ1 Q
|
---|
56 | ;
|
---|
57 | ; I V=0 HBa/oA&A term V=1 Hospitlize pay HB, A&A entitled
|
---|
58 | ; I V=2 A&A V=3 HB V=" " HB a/o A&A not granted
|
---|
59 | AA I $D(DVBAAHB) S V1=DVBAAHB S V=V1 S:V1>3&(V1<8) V=V1-4
|
---|
60 | I '$D(DVBAAHB) S V=9
|
---|
61 | I $D(DVBBAS(1)),$P(DVBBAS(1),"^",6)="E" S V=0 ;terminated pending purge
|
---|
62 | I DVBDIQ(2,DFN,.36205,"E")="YES","0 9"[V S Y="5-A&A" D MSG
|
---|
63 | I DVBDIQ(2,DFN,.36205,"E")'="YES","12"[V S Y="5+A&A" D MSG
|
---|
64 | ;
|
---|
65 | I DVBDIQ(2,DFN,.36215,"E")="YES","0 9"[V S Y="5-HB" D MSG
|
---|
66 | I DVBDIQ(2,DFN,.36215,"E")'="YES","13"[V S Y="5+HB" D MSG
|
---|
67 | Q
|
---|
68 | ;
|
---|
69 | ;compensation, pension
|
---|
70 | ENTIT S DVBENT=" " I $D(DVBP(1)) S T1=$P(DVBP(1),U,4) D
|
---|
71 | . I T1'="" S DVBENT=$S(T1="01":"Compensation",T1="0L":"Pension",1:" ")
|
---|
72 | S Y=0
|
---|
73 | I DVBDIQ(2,DFN,.36235,"E")="YES" DO
|
---|
74 | .;terminated pending purge
|
---|
75 | .I $G(DVBCHECK)'>0,$G(DVBDXNO)>0 S DVBENT=" "
|
---|
76 | .;all record types now "A", so had to check if no VA Check and has
|
---|
77 | .;SC disabilities instead of checking for type "E" record - DVB*4*49
|
---|
78 | .I DVBENT["Pension" Q
|
---|
79 | .S Y="5-Pension"
|
---|
80 | E I DVBENT["Pension" S Y="5+Pension"
|
---|
81 | I Y D MSG
|
---|
82 | ;
|
---|
83 | S Y=0
|
---|
84 | I DVBDIQ(2,DFN,.3025,"E")="YES" DO
|
---|
85 | .I DVBENT["ompensation" Q
|
---|
86 | .I DVBENT["Disability" Q
|
---|
87 | .S Y="5-Compensation"
|
---|
88 | E I DVBENT'=" " DO
|
---|
89 | .I DVBENT["ompensation"!(DVBENT["Disability") S Y="5+Compensation"
|
---|
90 | I Y D MSG
|
---|
91 | Q
|
---|
92 | ;DVBSCONN is biggest SC disability
|
---|
93 | COMB I '$D(DVBSCONN) S Y=""
|
---|
94 | E DO
|
---|
95 | .S Y=DVBSCONN
|
---|
96 | .I $D(DVBCAP) Q ;birls
|
---|
97 | .I DVBENT["Pension" Q
|
---|
98 | .S Y=$S($D(DVBDXPCT):$S(+DVBDXPCT?1N.N:+DVBDXPCT,1:DVBSCONN))
|
---|
99 | .S DVBSCONN=Y
|
---|
100 | I +DVBDIQ(2,DFN,.302,"E")=+Y S Y=0
|
---|
101 | E DO
|
---|
102 | .S Y=0
|
---|
103 | .;c&p
|
---|
104 | .I '$D(DVBSCONN)!(DVBENT["ompensation")!(DVBENT["Disability") DO Q
|
---|
105 | . .S Y="5?SC Combined %"
|
---|
106 | .;birls,pension
|
---|
107 | .I DVBDIQ(2,DFN,.361,"E")["SERVICE CONNECTED",DVBSCONN>49 Q
|
---|
108 | .I DVBDIQ(2,DFN,.361,"E")["SC LESS THAN",DVBSCONN<50 Q
|
---|
109 | .S Y="5?SC Combined %"
|
---|
110 | I Y D MSG
|
---|
111 | K DVBALERT,DVBSCONN
|
---|
112 | Q
|
---|
113 | ;
|
---|
114 | CN I +DVBDIQ(2,DFN,.313,"E")=$S($D(DVBCN):+DVBCN,1:0)
|
---|
115 | E S Y="2?Claim #" D MSG
|
---|
116 | Q
|
---|
117 | ; --check in xman
|
---|
118 | FOLD Q:'$D(DVBFL) S Y=0
|
---|
119 | I $G(DVBFL)=" " S DVBFL=""
|
---|
120 | I '$D(DVBDIQ(2,DFN,.314,"E")) DO
|
---|
121 | .I +DVBDIQ(2,DFN,.312,"E")=$S($D(DVBFL):+DVBFL,1:0) Q
|
---|
122 | .S Y="2?Folder Location"
|
---|
123 | E DO ;pims v5.3 y => abc_ro, 323, or ""
|
---|
124 | .S Y=$S($D(DVBFL):$S($P(DVBFL,"- ",2)]"":$P(DVBFL,"- ",2),1:DVBFL),1:"")
|
---|
125 | .I DVBDIQ(2,DFN,.314,"E")=Y Q
|
---|
126 | .S Y="2?Folder Location"
|
---|
127 | I Y D MSG
|
---|
128 | Q
|
---|
129 | ;
|
---|
130 | CHECK S Y=0
|
---|
131 | I $D(DVBDIQ(2,DFN,.36295,"E")) DO ;pims v5.3
|
---|
132 | .I $D(DVBBAS(1)),$L($P(DVBBAS(1),"^",20)) S Y=$P(DVBBAS(1),"^",20)
|
---|
133 | .I +DVBDIQ(2,DFN,.36295,"E")=+$S(Y:Y*12,$D(DVBCHECK):DVBCHECK*12,1:"") S Y=0 Q
|
---|
134 | .S Y="5?VA Check/Net Award"
|
---|
135 | I Y D MSG
|
---|
136 | Q
|
---|