| 1 | EASUM8 ;ALB/GN - DELETE IVM MEANS TEST (CON'T) ; 6/16/04 1:09am | 
|---|
| 2 | ;;1.0;ENROLLMENT APPLICATION SYSTEM;**42**;21-OCT-94 | 
|---|
| 3 | ;;Per VHA Directive 10-93-142, this routine should not be modified. | 
|---|
| 4 | ; | 
|---|
| 5 | ;EAS*1*42 this routine patterned after IVMUM8 | 
|---|
| 6 | ;         - add RX Copay Testing indentification to this routine. | 
|---|
| 7 | ;         - added language to the bulletin message specific to the | 
|---|
| 8 | ;           type of test being deleted.      type = 1 (Means Test) | 
|---|
| 9 | ;                                                 = 2 (RX Copay Test) | 
|---|
| 10 | ; | 
|---|
| 11 | EN ; change demo data in 408.12 & 408.13 back to VAMC values | 
|---|
| 12 | ; ivm12     408.12 ien | 
|---|
| 13 | ; ivm13     408.13 ien | 
|---|
| 14 | ; ivmmtien  408.31 ien | 
|---|
| 15 | ; | 
|---|
| 16 | ; note: 408.13 fields were added to 408.41 before 408.12 field | 
|---|
| 17 | ; | 
|---|
| 18 | K DR S IVM41=0 | 
|---|
| 19 | F  S IVM41=$O(^DGMT(408.41,"D",IVMMTIEN,IVM41)) Q:'IVM41  D | 
|---|
| 20 | .S IVM411=$G(^DGMT(408.41,+IVM41,0)) | 
|---|
| 21 | .Q:$P(IVM411,"^",10)'=IVM13 | 
|---|
| 22 | .S IVMOLD=$P(IVM411,"^",5) | 
|---|
| 23 | .S IVMOLD=$S(IVMOLD="":"@",1:IVMOLD) | 
|---|
| 24 | .S IVMFILE=$P(IVMAR1($P(IVM411,"^",2)),";") | 
|---|
| 25 | .S IVMNOD=$P(IVMAR1($P(IVM411,"^",2)),";",2) | 
|---|
| 26 | .I IVMFILE=408.13 S DA=IVM13,DIE="^DGPR(408.13," | 
|---|
| 27 | .I IVMFILE=408.12 S DA=IVM12,DIE="^DGPR(408.12," | 
|---|
| 28 | .S DR=IVMNOD_"////^S X=IVMOLD" D ^DIE K DA,DR,DIE | 
|---|
| 29 | .Q | 
|---|
| 30 | Q | 
|---|
| 31 | ; | 
|---|
| 32 | EN1 ; change primary income test for year? code from 0 to 1 for VAMC MT | 
|---|
| 33 | I IVMVAMC D | 
|---|
| 34 | . S DA=IVMVAMC,DIE="^DGMT(408.31,",DR="2////1" D ^DIE K DA,DIE,DR | 
|---|
| 35 | ; | 
|---|
| 36 | ; Check link field, remove link before deleting record | 
|---|
| 37 | N LNKTEST S LNKTEST=$P($G(^DGMT(408.31,IVMMTIEN,2)),U,6) | 
|---|
| 38 | I LNKTEST S DA=LNKTEST,DIE="^DGMT(408.31,",DR="2.06////@" D ^DIE K DA,DIE,DR,LNKTEST | 
|---|
| 39 | ; | 
|---|
| 40 | ; delete 408.31 | 
|---|
| 41 | S DA=IVMMTIEN,DIK="^DGMT(408.31," D ^DIK | 
|---|
| 42 | ; | 
|---|
| 43 | ; open IVM case record which was closed during upload | 
|---|
| 44 | S DA=$O(^IVM(301.5,"APT",+DFN,+DGLY,0)) | 
|---|
| 45 | I $G(^IVM(301.5,+DA,0))']"" G MTBULL | 
|---|
| 46 | S DR=".04////0",DIE="^IVM(301.5," D ^DIE | 
|---|
| 47 | K ^IVM(301.5,DA,1) | 
|---|
| 48 | ; | 
|---|
| 49 | MTBULL ; Build and transmit mail message to IVM mail group notifying site | 
|---|
| 50 | ; that an income test was deleted.  Run MT event driver or only IB | 
|---|
| 51 | ; event driver | 
|---|
| 52 | ; | 
|---|
| 53 | ;if deleting a previous IVM RXCT that had no previous VAMC 408.31, | 
|---|
| 54 | ;then only call IB event driver for the IB delete | 
|---|
| 55 | I '$D(IVMVNO) D | 
|---|
| 56 | . S DGMTACT="DEL" | 
|---|
| 57 | . D ^IBAMTED | 
|---|
| 58 | E  D | 
|---|
| 59 | . ; call event driver | 
|---|
| 60 | . S DGMTINF=1,DGMTP=IVMNO,DGMTA=IVMVNO | 
|---|
| 61 | . S DGMTACT="DUP",DGMTI=IVMVAMC D EN^DGMTEVT | 
|---|
| 62 | . S DGMTACT="DEL",DGMTI=IVMMTIEN D EN^DGMTEVT | 
|---|
| 63 | ; | 
|---|
| 64 | S IVMPAT=$$PT^IVMUFNC4(DFN) | 
|---|
| 65 | S XMSUB="IVM - INCOME TEST DELETED" | 
|---|
| 66 | S IVMTEXT(1)="An Income Verification Match " | 
|---|
| 67 | S IVMTEXT(1)=IVMTEXT(1)_^DG(408.33,DGMTYPT,0)_" was deleted" | 
|---|
| 68 | S IVMTEXT(2)="for the following patient:" | 
|---|
| 69 | S IVMTEXT(3)=" " | 
|---|
| 70 | S IVMTEXT(4)="    NAME:          "_$P(IVMPAT,"^") | 
|---|
| 71 | S IVMTEXT(5)="    ID:            "_$P(IVMPAT,"^",2) | 
|---|
| 72 | S Y=IVMMTDT X ^DD("DD") | 
|---|
| 73 | S IVMTEXT(6)="    DATE OF TEST:  "_Y | 
|---|
| 74 | S IVMTEXT(7)=" " | 
|---|
| 75 | S IVMTEXT(8)="NOTE:  The original DHCP " | 
|---|
| 76 | S IVMTEXT(8)=IVMTEXT(8)_^DG(408.33,DGMTYPT,0)_" is now primary" | 
|---|
| 77 | S IVMTEXT(9)=" " | 
|---|
| 78 | S IVMTEXT(10)="  PREV CATEGORY:  "_DGCAT | 
|---|
| 79 | ; | 
|---|
| 80 | S IVMTEXT(11)="   NEW CATEGORY:  " | 
|---|
| 81 | I DGMTYPT=2 D | 
|---|
| 82 | . S IVMTEXT(11)=IVMTEXT(11)_$P($$RXST^IBARXEU(DFN),"^",2) | 
|---|
| 83 | E  D | 
|---|
| 84 | . Q:'IVMVAMC | 
|---|
| 85 | . S IVMTEXT(11)=IVMTEXT(11)_$P($G(^DG(408.32,+$P(IVMVNO,"^",3),0)),"^",1) | 
|---|
| 86 | D MAIL^IVMUFNC() | 
|---|
| 87 | ; | 
|---|
| 88 | ; cleanup | 
|---|
| 89 | K DA,DFN,DGINC,DGINR,DGLY,DGMTA,DGMTACT,DGMTI,DGMTINF,DGMTP | 
|---|
| 90 | K DIE,DIK,DR,IVM12,IVM121,IVM13,IVM41,IVM411,IVMFILE | 
|---|
| 91 | K IVMFLGC,IVMMTDT,IVMMTIEN,IVMN,IVMNO,IVMNOD,IVMOLD | 
|---|
| 92 | K IVMPAT,IVMSOT,IVMTEXT,IVMVAMC,IVMVAMCA,IVMVNO,XMSUB,Y | 
|---|
| 93 | Q | 
|---|
| 94 | ; | 
|---|
| 95 | SETUPAR ; create array ivmar1 | 
|---|
| 96 | ; subscript is 408.42 node (type of change - name, dob, ssn, sex, relationship) | 
|---|
| 97 | ; 1st piece is file 408.12 or 408.13 | 
|---|
| 98 | ; 2nd piece is 408.12 or 408.13 field # | 
|---|
| 99 | F IVM41=4:1 S IVM411=$P($T(TYPECH+IVM41),";;",2) Q:IVM411="QUIT"  D | 
|---|
| 100 | .S IVMAR1($P(IVM411,";"))=$P(IVM411,";",2,3) | 
|---|
| 101 | K IVM41,IVM411 | 
|---|
| 102 | Q | 
|---|
| 103 | ; | 
|---|
| 104 | TYPECH ; type of dependent changes 408.41/408.42 | 
|---|
| 105 | ; 1st piece - 408.42 table file node | 
|---|
| 106 | ; 2nd piece - file (408.12/408.13) | 
|---|
| 107 | ; 3rd piece - 408.12/408.13 field | 
|---|
| 108 | ;;16;408.13;.01 | 
|---|
| 109 | ;;17;408.13;.03 | 
|---|
| 110 | ;;18;408.13;.09 | 
|---|
| 111 | ;;19;408.13;.02 | 
|---|
| 112 | ;;20;408.12;.02 | 
|---|
| 113 | ;;QUIT | 
|---|