[613] | 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)
|
---|