source: WorldVistAEHR/trunk/r/HINQ-DVB--DVBA--DVBE--DVBC/DVBHT1.m@ 660

Last change on this file since 660 was 613, checked in by George Lilly, 15 years ago

initial load of WorldVistAEHR

File size: 4.5 KB
Line 
1DVBHT1 ;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
8MSG 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
11ACHK S DVBNOALR=""
12 ;called from batch or direct
13EN Q:'$D(DFN) Q:'DFN
14 N X,Y,I,M,N,P
15 S DVBDATA="^^^^^^^^^"
16EDT ; 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 ;
27DX 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 ;
49VER ;with DVB*4*49 no BIRLS only records & Dx, Verified not sent
50 D MSG Q
51 ;
52DIQ ;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"
55DIQDR 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
59AA 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
70ENTIT 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
93COMB 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 ;
114CN 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
118FOLD 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 ;
130CHECK 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
Note: See TracBrowser for help on using the repository browser.