| 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
 | 
|---|