1 | IVMLSU2 ;ALB/MLI/KCL - IVM SSA/SSN UPLOAD OR PURGE ENTRIES ; 07-JAN-94
|
---|
2 | ;;Version 2.0 ; INCOME VERIFICATION MATCH ;; 21-OCT-94
|
---|
3 | ;;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
4 | ;
|
---|
5 | ; This routine contains the code to execute the mneumonics on the
|
---|
6 | ; list manager option. The line tag equals the mneumonic (and is
|
---|
7 | ; followed by a line mneumonic_Q which is the kill line for the
|
---|
8 | ; tag).
|
---|
9 | ;
|
---|
10 | ;
|
---|
11 | PU ; - (Action) Purge entries from list if inappropriate for uploading
|
---|
12 | ;
|
---|
13 | ; Input - ^TMP("IVMLST",$J,"IDX",#,#)=pt name_pt ssn_dfn_sp ien_date of death_da(1)_da
|
---|
14 | ; VALMY(n)=array of selections
|
---|
15 | ;
|
---|
16 | S IVMOUT=0,IVMWHERE="PU"
|
---|
17 | ;
|
---|
18 | ; - generic selector used within a list manager action call
|
---|
19 | D EN^VALM2($G(XQORNOD(0)),"S")
|
---|
20 | Q:'$D(VALMY)
|
---|
21 | S IVMENT=0 F S IVMENT=$O(VALMY(IVMENT)) Q:'IVMENT!IVMOUT D
|
---|
22 | .S IVMND=$G(^TMP("IVMLST",$J,"IDX",IVMENT,IVMENT)) I IVMND']"" Q
|
---|
23 | .S IVMNM=$P(IVMND,"^",1),IVMSSN=$P(IVMND,"^",2)
|
---|
24 | .S IVMI=$P(IVMND,"^",6),IVMJ=$P(IVMND,"^",7)
|
---|
25 | .W !,"Purge for patient: ",IVMNM
|
---|
26 | .;
|
---|
27 | .; - alert user if date of death
|
---|
28 | .I $P(IVMND,"^",5)]"" D DOD
|
---|
29 | .;
|
---|
30 | .D RUSURE^IVMLSU3 I 'IVMSURE Q
|
---|
31 | .W !,"Update SSN's for ",IVMNM
|
---|
32 | .D DELENT^IVMLSU3
|
---|
33 | .W " ...deleted.",!
|
---|
34 | .S DIR(0)="E",DIR("A")="Press RETURN to continue" D ^DIR K DIR
|
---|
35 | PUQ D QUIT
|
---|
36 | Q
|
---|
37 | ;
|
---|
38 | ;
|
---|
39 | UP ; - (Action) Upload data for patient
|
---|
40 | ;
|
---|
41 | ; Input - ^TMP("IVMLST",$J,"IDX",#,#)=pt name_pt ssn_dfn_sp ien_date of death_da(1)_da
|
---|
42 | ; VALMY(n)=array of selections
|
---|
43 | ;
|
---|
44 | ;
|
---|
45 | S IVMOUT=0,IVMWHERE="UP"
|
---|
46 | ;
|
---|
47 | ; - generic selector used within a list manager action call
|
---|
48 | D EN^VALM2($G(XQORNOD(0)),"S")
|
---|
49 | Q:'$D(VALMY)
|
---|
50 | S IVMENT=0 F S IVMENT=$O(VALMY(IVMENT)) Q:'IVMENT!IVMOUT D
|
---|
51 | .S IVMND=$G(^TMP("IVMLST",$J,"IDX",IVMENT,IVMENT)) I IVMND']"" Q
|
---|
52 | .S IVMNM=$P(IVMND,"^",1),IVMSSN=$P(IVMND,"^",2)
|
---|
53 | .S IVMI=$P(IVMND,"^",6),IVMJ=$P(IVMND,"^",7)
|
---|
54 | .; - get data node
|
---|
55 | .S IVMDND=^TMP("IVMUP",$J,IVMNM,IVMSSN,IVMI,IVMJ)
|
---|
56 | .S DFN=$P(IVMDND,"^",1),IVMSIEN=$P(IVMDND,"^",2),IVMLINE=$P(IVMDND,"^",4,99)
|
---|
57 | .S IVMVSSN=$P(IVMLINE,"^",3),IVMSSSN=$P(IVMLINE,"^",6)
|
---|
58 | .S IVMUP=$S(IVMVSSN&IVMSSSN:"B",IVMVSSN:"V",1:"S")
|
---|
59 | .W !,"Update for patient: ",IVMNM
|
---|
60 | .;
|
---|
61 | .; - alert user if date of death
|
---|
62 | .I $P(IVMND,"^",5)]"" D DOD
|
---|
63 | .;
|
---|
64 | .I IVMUP="B" D BOTH I IVMOUT Q
|
---|
65 | .;
|
---|
66 | .D RUSURE^IVMLSU3 I IVMOUT!'IVMSURE Q
|
---|
67 | .D SSNUP^IVMLSU3
|
---|
68 | UPQ D QUIT
|
---|
69 | Q
|
---|
70 | ;
|
---|
71 | ;
|
---|
72 | QUIT ; - Kill variables used from all protocols
|
---|
73 | ;
|
---|
74 | ; - reset array for display
|
---|
75 | D INIT^IVMLSU1
|
---|
76 | ;
|
---|
77 | S VALMBCK=$S(IVMOUT'=2:"R",1:"Q") ; redisplay or quit if timeout
|
---|
78 | K DFN,IVMDND,IVMENT,IVMI,IVMJ,IVMLINE,IVMND,IVMNM,IVMOUT
|
---|
79 | K IVMSSN,IVMSSSN,IVMSURE,IVMUP,IVMVSSN,IVMWHERE
|
---|
80 | Q
|
---|
81 | ;
|
---|
82 | ;
|
---|
83 | BOTH ; - Upload both ssn's?
|
---|
84 | ;
|
---|
85 | ; Input - None
|
---|
86 | ; Output - IVMUP as V for vet, S for spouse, B for both
|
---|
87 | ; IVMOUT = 1 for '^', 2 for time-out, 0 otherwise
|
---|
88 | ;
|
---|
89 | N X,Y
|
---|
90 | S DIR("A")="Update the SSN for the 'V'eteran, 'S'pouse, or 'B'oth?",DIR(0)="SB^V:VETERAN;S:SPOUSE;B:BOTH"
|
---|
91 | S DIR("?",1)="Answer 'V' to upload veteran SSN only, 'S' to upload spouse SSN only",DIR("?")="or 'B' to upload the SSN for both the veteran and the spouse"
|
---|
92 | S DIR("B")="BOTH" ; default both
|
---|
93 | D ^DIR
|
---|
94 | S IVMOUT=$S($D(DTOUT):2,$D(DUOUT):1,$D(DIROUT):1,1:0)
|
---|
95 | S IVMUP=$G(Y) I IVMUP="B" S IVMUP="VS"
|
---|
96 | K DIR,DIROUT,DTOUT,DUOUT
|
---|
97 | Q
|
---|
98 | ;
|
---|
99 | ;
|
---|
100 | DOD ; - Alert user of date of death reported in DHCP or from IVM Center
|
---|
101 | ;
|
---|
102 | W !,*7,"'Date of Death' reported for this patient "
|
---|
103 | W $S($E($P(IVMND,"^",5))="I":"by the IVM Center",$E($P(IVMND,"^",5))="D":"in DHCP")_" as "_$$DAT2^IVMUFNC4($E($P(IVMND,"^",5),2,99))_".",!
|
---|
104 | Q
|
---|