| 1 | EASECU2 ;ALB/LBD - Income Utilities ;14 AUG 2001 | 
|---|
| 2 | ;;1.0;ENROLLMENT APPLICATION SYSTEM;**5**;Mar 15, 2001 | 
|---|
| 3 | ; | 
|---|
| 4 | GETIENS(DFN,DGPRI,DGDT) ;Look-up individual annual income and income relation | 
|---|
| 5 | ;                 Input  -- DFN    Patient file IEN | 
|---|
| 6 | ;                           DGPRI  Patient Relation IEN | 
|---|
| 7 | ;                           DGDT   Date/Time | 
|---|
| 8 | ;                 Output -- DGINI  Individual Annual Income IEN | 
|---|
| 9 | ;                           DGIRI  Income Relation IEN | 
|---|
| 10 | ;                           DGERR  1=ERROR and 0=NO ERROR | 
|---|
| 11 | S DGERR=0 | 
|---|
| 12 | S DGINI=$$GETIN(DFN,DGPRI,DGDT) S:DGINI<0 DGERR=1 | 
|---|
| 13 | I 'DGERR S DGIRI=$$GETIR(DFN,DGINI) S:DGIRI<0 DGERR=1 | 
|---|
| 14 | Q | 
|---|
| 15 | ; | 
|---|
| 16 | GETIN(DFN,DGPRI,DGDT) ;Look-up individual annual income | 
|---|
| 17 | ;                Add a new entry if one is not found | 
|---|
| 18 | ;                 Input  -- DFN    Patient file IEN | 
|---|
| 19 | ;                           DGPRI  Patient Relation IEN | 
|---|
| 20 | ;                           DGDT   Date/Time | 
|---|
| 21 | ;                 Output -- Individual Annual Income IEN | 
|---|
| 22 | N DGINI,DGYR | 
|---|
| 23 | S DGYR=$E(DGDT,1,3)_"0000" | 
|---|
| 24 | ; get IEN of individual annual income for LTC co-pay (test type 3) | 
|---|
| 25 | S DGINI=+$$IAI^DGMTU3(DGPRI,DGYR,3) | 
|---|
| 26 | I '$D(^DGMT(408.21,DGINI,0)) S DGINI=$$ADDIN(DFN,DGPRI,DGYR) | 
|---|
| 27 | GETINQ Q $S(DGINI>0:DGINI,1:-1) | 
|---|
| 28 | ; | 
|---|
| 29 | ADDIN(DFN,DGPRI,DGYR) ;Add a new individual annual income entry | 
|---|
| 30 | ;                 Input  -- DFN    Patient file IEN | 
|---|
| 31 | ;                           DGPRI  Patient Relation IEN | 
|---|
| 32 | ;                           DGYR   Test Year | 
|---|
| 33 | ;                 Output -- New Individual Annual Income IEN | 
|---|
| 34 | N DA,DD,DGINI,DGNOW,DIC,DIK,DINUM,DLAYGO,DO,X,Y,% | 
|---|
| 35 | D NOW^%DTC S DGNOW=% | 
|---|
| 36 | S X=DGYR,(DIC,DIK)="^DGMT(408.21,",DIC(0)="L",DLAYGO=408.21 | 
|---|
| 37 | D FILE^DICN S DGINI=+Y | 
|---|
| 38 | I DGINI>0 D | 
|---|
| 39 | .L +^DGMT(408.21,DGINI) | 
|---|
| 40 | .S $P(^DGMT(408.21,DGINI,0),"^",2)=DGPRI,^("USR")=DUZ_"^"_DGNOW | 
|---|
| 41 | .I $G(DGMTI) S ^DGMT(408.21,DGINI,"MT")=DGMTI | 
|---|
| 42 | .S DA=DGINI D IX1^DIK L -^DGMT(408.21,DGINI) | 
|---|
| 43 | ADDINQ Q $S(DGINI>0:DGINI,1:-1) | 
|---|
| 44 | ; | 
|---|
| 45 | GETIR(DFN,DGINI) ;Look-up income relation | 
|---|
| 46 | ;                Add a new entry if one is not found | 
|---|
| 47 | ;                 Input  -- DFN    Patient file IEN | 
|---|
| 48 | ;                           DGINI  Individual Annual Income IEN | 
|---|
| 49 | ;                 Output -- Income Relation IEN | 
|---|
| 50 | N DGIRI | 
|---|
| 51 | S DGIRI=+$O(^DGMT(408.22,"AIND",DGINI,0)) | 
|---|
| 52 | I '$D(^DGMT(408.22,DGIRI,0)) S DGIRI=$$ADDIR(DFN,DGINI) | 
|---|
| 53 | GETIRQ Q $S(DGIRI>0:DGIRI,1:-1) | 
|---|
| 54 | ; | 
|---|
| 55 | ADDIR(DFN,DGINI) ;Add a new income relation entry | 
|---|
| 56 | ;                 Input  -- DFN    Patient file IEN | 
|---|
| 57 | ;                           DGINI  Individual Annual Income IEN | 
|---|
| 58 | ;                 Output -- New Income Relation IEN | 
|---|
| 59 | N DA,DD,DGIRI,DIC,DIK,DINUM,DLAYGO,DO,X,Y | 
|---|
| 60 | S X=DFN,(DIC,DIK)="^DGMT(408.22,",DIC(0)="L",DLAYGO=408.22 | 
|---|
| 61 | D FILE^DICN S DGIRI=+Y | 
|---|
| 62 | I DGIRI>0 L +^DGMT(408.22,DGIRI) S $P(^DGMT(408.22,DGIRI,0),"^",2)=DGINI,DA=DGIRI D IX1^DIK L -^DGMT(408.22,DGIRI) | 
|---|
| 63 | ADDIRQ Q $S(DGIRI>0:DGIRI,1:-1) | 
|---|