| 1 | IVMCM3 ;ALB/SEK - ADD NEW DCD DEPENDENT TO PATIENT RELATION FILE ; 25-APR-95 | 
|---|
| 2 | ;;2.0;INCOME VERIFICATION MATCH;**17,101**;21-OCT-94;Build 5 | 
|---|
| 3 | ;;Per VHA Directive 10-93-142, this routine should not be modified. | 
|---|
| 4 | ; | 
|---|
| 5 | EN ; this routine will add entries for new dependents to PATIENT | 
|---|
| 6 | ; RELATION file-408.12 (including 408.1275) or will add new entries | 
|---|
| 7 | ; to effective date multiple (408.1275) for all DCD spouses and | 
|---|
| 8 | ; dependents.  if only adding to 408.1275 and DCD relationship is | 
|---|
| 9 | ; different then VAMC relationship, change in 408.12 and add to | 
|---|
| 10 | ; MEANS TEST CHANGES file (408.41). | 
|---|
| 11 | ; | 
|---|
| 12 | ; input  dfn        ien of file #2 | 
|---|
| 13 | ;        dgipi      408.13 ien | 
|---|
| 14 | ;        dgmti      408.31 ien | 
|---|
| 15 | ;        dgpri      408.12 ien | 
|---|
| 16 | ;        ivmeffdt   effective (dependent) date of spouse/dependent | 
|---|
| 17 | ;        ivmreln    DCD relationship | 
|---|
| 18 | ;        ivmrelo    VAMC relationship | 
|---|
| 19 | ;        ivmseg     ZDP segment of spouse/dependent | 
|---|
| 20 | ; | 
|---|
| 21 | ; | 
|---|
| 22 | I IVMFLG2 G NEWPR | 
|---|
| 23 | ; | 
|---|
| 24 | ; add new entry to 408.1275 | 
|---|
| 25 | ; | 
|---|
| 26 | N X,Y | 
|---|
| 27 | K DINUM | 
|---|
| 28 | S DA(1)=DGPRI | 
|---|
| 29 | S (DIK,DIC)="^DGPR(408.12,DA(1),""E"",",DIC(0)="L",DLAYGO=408.1275,X=IVMEFFDT K DD,DO D FILE^DICN S DA=+Y K DLAYGO | 
|---|
| 30 | ; | 
|---|
| 31 | ; if can't create stub notify site & IVM Center | 
|---|
| 32 | I DA'>0 D  Q | 
|---|
| 33 | .S (IVMTEXT(6))="Can't create stub for file 408.1275" | 
|---|
| 34 | .D PROB^IVMCMC(IVMTEXT(6)) | 
|---|
| 35 | .D ERRBULL^IVMPREC7,MAIL^IVMUFNC("DGMT MT/CT UPLOAD ALERTS") | 
|---|
| 36 | .S IVMFERR="" | 
|---|
| 37 | ; | 
|---|
| 38 | ;Set value of FILED BY IVM field : GTS - IVM*2*101 | 
|---|
| 39 | ;DGFIVM is YES when source of Means Test is DCD or IVM | 
|---|
| 40 | N DGFIVM ;IVM*2*101 | 
|---|
| 41 | S DGFIVM=$$SRCOFMT(DGMTI) ;IVM*2*101 | 
|---|
| 42 | ; | 
|---|
| 43 | L +^DGPR(408.12,+DGPRI) S $P(^DGPR(408.12,DA(1),"E",DA,0),"^",2,4)=1_"^"_DGFIVM_$S(IVMTYPE=3:"",1:"^"_DGMTI) D IX1^DIK L -^DGPR(408.12,+DGPRI) | 
|---|
| 44 | K IVMEFFDT,DA,DIC,DIK | 
|---|
| 45 | ; | 
|---|
| 46 | ; replace relationship in 408.12 with DCD relationship if different | 
|---|
| 47 | ; and add both values to 408.41 | 
|---|
| 48 | ; | 
|---|
| 49 | Q:IVMRELN=IVMRELO | 
|---|
| 50 | S DA=DGPRI,DIE="^DGPR(408.12,",DR=".02////^S X=IVMRELN" D ^DIE K DA,DIE,DR | 
|---|
| 51 | S DGMTYPT=$S(IVMTYPE=3:"",1:IVMTYPE),DGMTACT="REL",DGMTSOLD=IVMRELO,DGMTSNEW=IVMRELN,DGDEPI=DGIPI | 
|---|
| 52 | I IVMMTIEN S DGMTA=$G(^DGMT(408.31,IVMMTIEN,0)) | 
|---|
| 53 | S $P(DGMTA,"^",2)=DFN | 
|---|
| 54 | D SET^DGMTAUD | 
|---|
| 55 | K DGDEPI,DGMTA,DGMTACT,DGMTSNEW,DGMTSOLD | 
|---|
| 56 | Q | 
|---|
| 57 | ; | 
|---|
| 58 | NEWPR ;Add entry to file #408.12 | 
|---|
| 59 | ;In -  dgrp0nd  0 node of 408.12 | 
|---|
| 60 | ;      ivmeffdt effective date of dependent | 
|---|
| 61 | ;      ivmreln  DCD relationship | 
|---|
| 62 | ;Out - dgpri ien of new 408.12 entry | 
|---|
| 63 | ; | 
|---|
| 64 | S DGRP0ND=DFN_"^"_IVMRELN_"^"_+DGIPI_";DGPR(408.13," | 
|---|
| 65 | ; | 
|---|
| 66 | N DGFIVM ;IVM*2*101 | 
|---|
| 67 | N X,Y | 
|---|
| 68 | K DINUM | 
|---|
| 69 | S (DIK,DIC)="^DGPR(408.12,",DIC(0)="L",DLAYGO=408.12,X=+DGRP0ND K DD,DO D FILE^DICN S (DGPRI,DA)=+Y K DLAYGO | 
|---|
| 70 | ; | 
|---|
| 71 | ; if can't create stub notify site & IVM Center | 
|---|
| 72 | I DGPRI'>0 D  Q | 
|---|
| 73 | .S (IVMTEXT(6))="Can't create stub for file 408.12" | 
|---|
| 74 | .D PROB^IVMCMC(IVMTEXT(6)) | 
|---|
| 75 | .D ERRBULL^IVMPREC7,MAIL^IVMUFNC("DGMT MT/CT UPLOAD ALERTS") | 
|---|
| 76 | .S IVMFERR="" | 
|---|
| 77 | ; | 
|---|
| 78 | ;Set value of FILED BY IVM field : GTS - IVM*2*101 | 
|---|
| 79 | ;DGFIVM is YES when source of Means Test is DCD or IVM | 
|---|
| 80 | S DGFIVM=$$SRCOFMT(DGMTI) | 
|---|
| 81 | ; | 
|---|
| 82 | ;Create Patient Relation record : GTS - IVM*2*101 (DGFIVM replaces default of 1) | 
|---|
| 83 | L +^DGPR(408.12,+DGPRI) S ^DGPR(408.12,+DGPRI,0)=DGRP0ND,^DGPR(408.12,+DGPRI,"E",0)="^408.1275D^1^1",^(1,0)=IVMEFFDT_"^1^"_DGFIVM_$S(IVMTYPE=3:"",1:"^"_DGMTI) D IX1^DIK L -^DGPR(408.12,+DGPRI) | 
|---|
| 84 | K IVMEFFDT,DA,DIC,DIK | 
|---|
| 85 | ; | 
|---|
| 86 | ; to prevent the logic in IVMCM2 from matching a dependent sent from | 
|---|
| 87 | ; the IVM Center (with no 408.12 ien) with this dependent, an entry | 
|---|
| 88 | ; is made in array IVMAR.  subscripts of this array is ien of 408.12 | 
|---|
| 89 | ; transmitted by the IVM Center or created or found by upload. | 
|---|
| 90 | S IVMAR(DGPRI)="" | 
|---|
| 91 | Q | 
|---|
| 92 | ; | 
|---|
| 93 | NEWVET ; if no entry in file #408.12 for vet add | 
|---|
| 94 | N DGRPDOB,DA,DIC,DIK,X,Y | 
|---|
| 95 | S DGPRI=$O(^DGPR(408.12,"C",DFN_";DPT(",0)) | 
|---|
| 96 | I '$D(^DGPR(408.12,+DGPRI,0)) S DGRP0ND=DFN_"^"_1_"^"_DFN_";DPT(",DGRPDOB=$P($G(^DPT(+DFN,0)),"^",3) D | 
|---|
| 97 | .K DINUM | 
|---|
| 98 | .S (DIK,DIC)="^DGPR(408.12,",DIC(0)="L",DLAYGO=408.12,X=+DGRP0ND K DD,DO D FILE^DICN S (DGPRI,DA)=+Y K DLAYGO | 
|---|
| 99 | .; | 
|---|
| 100 | .; if can't create stub notify site & IVM Center | 
|---|
| 101 | .I DGPRI'>0 D  Q | 
|---|
| 102 | ..S (IVMTEXT(6))="Can't create stub for file 408.12" | 
|---|
| 103 | ..D PROB^IVMCMC(IVMTEXT(6)) | 
|---|
| 104 | ..D ERRBULL^IVMPREC7,MAIL^IVMUFNC("DGMT MT/CT UPLOAD ALERTS") | 
|---|
| 105 | ..S IVMFERR="" | 
|---|
| 106 | .L +^DGPR(408.12,+DGPRI) S ^DGPR(408.12,+DGPRI,0)=DGRP0ND,^DGPR(408.12,+DGPRI,"E",0)="^408.1275D^1^1",^(1,0)=DGRPDOB_"^1^1"_$S(IVMTYPE=3:"",1:"^"_DGMTI) D IX1^DIK L -^DGPR(408.12,+DGPRI) | 
|---|
| 107 | ; | 
|---|
| 108 | Q | 
|---|
| 109 | ; | 
|---|
| 110 | SRCOFMT(DGMTI) ;Define value of FILED BY IVM field : GTS - IVM*2*101 | 
|---|
| 111 | ; | 
|---|
| 112 | ; Input:   DGMTI - IEN for related Annual Means Test record (408.31) | 
|---|
| 113 | ; Output:  DGFIVM - Null when Source of Means Test is Other Facility or VAMC | 
|---|
| 114 | ;                 - 1 when source of Means Test is DCD or IVM | 
|---|
| 115 | N DGFIVM | 
|---|
| 116 | S:(+$G(DGMTI)'>0) DGFIVM="" | 
|---|
| 117 | I +$G(DGMTI)>0 DO | 
|---|
| 118 | . N DGSOURCE | 
|---|
| 119 | . S DGSOURCE=$P($G(^DGMT(408.31,DGMTI,0)),"^",23) | 
|---|
| 120 | . I (DGSOURCE=1)!(DGSOURCE=4) S DGFIVM="" | 
|---|
| 121 | . I (DGSOURCE=2)!(DGSOURCE=3) S DGFIVM=1 | 
|---|
| 122 | Q DGFIVM | 
|---|