Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: DGREGCOP

DGREGCOP.m

Go to the documentation of this file.
DGREGCOP ;ALB/CLT,JAM - COPY RESIDENTIAL TO PERM AND PERM TO RESIDENTIAL ADDRESS ;23 May 2017  1:38 PM
 ;;5.3;Registration;**941,1127,1143**;Aug 13, 1993;Build 36
 ;
 ; TOTDO - REMOVE 1143 CODE FROM HERE
EN(DFN) ;PRIMARY ENTRY POINT
R2P(DFN) ;RESIDENTIAL TO PERMANENT ADDRESS COPY
 N DGAR,I,DGZIP,IENS,FDA
 S DGAR=^DPT(DFN,.115)
 ; DG*5.3*1127 - Add RESIDENTIAL ADDR OVERRIDE IND field .11591 (piece 20) to the copy
 F I=1:1:10,19,20 S DGAR(I)=$P(DGAR,U,I)
 K ^DPT(DFN,.11)
 S DGZIP=$E(DGAR(6),1,5)
 S IENS=DFN_","
 S FDA(2,IENS,.111)=DGAR(1)
 S FDA(2,IENS,.112)=DGAR(2)
 S FDA(2,IENS,.113)=DGAR(3)
 S FDA(2,IENS,.114)=DGAR(4)
 S FDA(2,IENS,.115)=DGAR(5)
 S FDA(2,IENS,.116)=DGZIP
 S FDA(2,IENS,.1112)=DGAR(6)
 S FDA(2,IENS,.117)=DGAR(7)
 S FDA(2,IENS,.1171)=DGAR(8)
 S FDA(2,IENS,.1172)=DGAR(9)
 S FDA(2,IENS,.1173)=DGAR(10)
 S FDA(2,IENS,.1118)=DGAR(19)
 ; DG*5.3*1127 - Copy RESIDENTIAL ADDR OVERRIDE IND field to MAILING ADDR OVERRIDE IND field .1119
 S FDA(2,IENS,.1119)=DGAR(20)
 D FILE^DIE("","FDA")
 Q
 ;
R2PLOCAL(DFN) ; DG*5.3*1143 - RESIDENTIAL TO PERMANENT ADDRESS COPY - with RTA active
 ; If the DGADDGRP1 local array for Residential Address exists, copy mailing address data from Group 1 array to Group 2
 I $G(DGADDGRP1(.1151))'="" D
 .; LINE 1
 .S DGADDGRP2(.111)=$G(DGADDGRP1(.1151))
 .; LINE 2
 .S DGADDGRP2(.112)=$G(DGADDGRP1(.1152))
 .; LINE 3
 .S DGADDGRP2(.113)=$G(DGADDGRP1(.1153))
 .; CITY
 .S DGADDGRP2(.114)=$G(DGADDGRP1(.1154))
 .; STATE
 .S DGADDGRP2(.115)=$G(DGADDGRP1(.1155))
 .; ZIP
 .S DGADDGRP2(.116)=$E($G(DGADDGRP1(.1156)),1,5)
 .; ZIP+4
 .S DGADDGRP2(.1112)=$G(DGADDGRP1(.1156))
 .; COUNTY
 .S DGADDGRP2(.117)=$G(DGADDGRP1(.1157))
 .; PROVINCE
 .S DGADDGRP2(.1171)=$G(DGADDGRP1(.11571))
 .; POSTAL CODE
 .S DGADDGRP2(.1172)=$G(DGADDGRP1(.11572))
 .; COUNTRY
 .S DGADDGRP2(.1173)=$G(DGADDGRP1(.11573))
 .; CASS INDICATOR
 .S DGADDGRP2(.1118)=$G(DGADDGRP1(.1159))
 .; OVERRIDE KEY
 .S DGADDGRP2(.1119)=$G(DGADDGRP1(.11591))
 E  D
 .; Else, DGADDGRP1 local array not defined, so copy Residential Address from the DB to the local array DGADDGRP2
 .N DGAR,DGI,DGZIP
 .S DGAR=^DPT(DFN,.115)
 .F DGI=1:1:10,19,20 S DGAR(DGI)=$P(DGAR,U,DGI)
 .S DGZIP=$E(DGAR(6),1,5)
 .; LINE 1
 .S DGADDGRP2(.111)=DGAR(1)
 .; LINE 2
 .S DGADDGRP2(.112)=DGAR(2)
 .; LINE 3
 .S DGADDGRP2(.113)=DGAR(3)
 .; CITY
 .S DGADDGRP2(.114)=DGAR(4)
 .; STATE
 .S DGADDGRP2(.115)=DGAR(5)
 .; ZIP
 .S DGADDGRP2(.116)=DGZIP
 .; ZIP+4
 .S DGADDGRP2(.1112)=DGAR(6)
 .; COUNTY
 .S DGADDGRP2(.117)=DGAR(7)
 .; PROVINCE
 .S DGADDGRP2(.1171)=DGAR(8)
 .; POSTAL CODE
 .S DGADDGRP2(.1172)=DGAR(9)
 .; COUNTRY
 .S DGADDGRP2(.1173)=DGAR(10)
 .; CASS INDICATOR
 .S DGADDGRP2(.1118)=DGAR(19)
 .; OVDERRIDE KEY
 .S DGADDGRP2(.1119)=DGAR(20)
 ;
 ; Clear out the Mailing address BAI field
 S DGADDGRP2(.121)=""
 ; Set edit flag for group 2
 S DGADDEDIT(2)=1
 Q
 ;
P2R(DFN) ;PERMANENT TO RESIDENTIAL ADDRESS COPY
 N DGAR,I,IENS,FDA
 S DGAR=^DPT(DFN,.11)
 ; DG*5.3*1127 - Add MAILING ADDR OVERRIDE IND field .1119 (piece 19) to the copy
 F I=1:1:12,18,19 S DGAR(I)=$P(DGAR,U,I)
 K ^DPT(DFN,.115)
 S IENS=DFN_","
 S FDA(2,IENS,.1151)=DGAR(1)
 S FDA(2,IENS,.1152)=DGAR(2)
 S FDA(2,IENS,.1153)=DGAR(3)
 S FDA(2,IENS,.1154)=DGAR(4)
 S FDA(2,IENS,.1155)=DGAR(5)
 S FDA(2,IENS,.1156)=DGAR(12)
 S FDA(2,IENS,.1157)=DGAR(7)
 S FDA(2,IENS,.11571)=DGAR(8)
 S FDA(2,IENS,.11572)=DGAR(9)
 S FDA(2,IENS,.11573)=DGAR(10)
 S FDA(2,IENS,.1159)=DGAR(18)
 ; DG*5.3*1127 - Copy MAILING ADDR OVERRIDE IND field to RESIDENTIAL ADDR OVERRIDE IND field .11591
 S FDA(2,IENS,.11591)=DGAR(19)
 D FILE^DIE("","FDA")
 Q
 ;
P2RLOCAL(DFN) ; DG*5.3*1143 - PERMANENT TO RESIDENTIAL ADDRESS COPY with RTA active
 ; If the local array DGADDGRP2 for Mailing Address exists, copy address data from Group 2 array to Group 1 array DGADDGRP1
 I $G(DGADDGRP2(.111))'="" D
 .; LINE 1
 .S DGADDGRP1(.1151)=$G(DGADDGRP2(.111))
 .; LINE 2
 .S DGADDGRP1(.1152)=$G(DGADDGRP2(.112))
 .; LINE 3
 .S DGADDGRP1(.1153)=$G(DGADDGRP2(.113))
 .; CITY
 .S DGADDGRP1(.1154)=$G(DGADDGRP2(.114))
 .; STATE
 .S DGADDGRP1(.1155)=$G(DGADDGRP2(.115))
 .; ZIP+4
 .S DGADDGRP1(.1156)=$G(DGADDGRP2(.1112))
 .; COUNTY
 .S DGADDGRP1(.1157)=$G(DGADDGRP2(.117))
 .; PROVINCE
 .S DGADDGRP1(.11571)=$G(DGADDGRP2(.1171))
 .; POSTAL CODE
 .S DGADDGRP1(.11572)=$G(DGADDGRP2(.1172))
 .; COUNTRY
 .S DGADDGRP1(.11573)=$G(DGADDGRP2(.1173))
 .; CASS INDICATOR
 .S DGADDGRP1(.1159)=$G(DGADDGRP2(.1118))
 .; OVERRIDE KEY
 .S DGADDGRP1(.11591)=$G(DGADDGRP2(.1119))
 E  D
 .; Local array not defined, so copy Mailing Address from the DB to the local array for Residential Address
 .N DGAR,DGI
 .S DGAR=^DPT(DFN,.11)
 .F DGI=1:1:12,18,19 S DGAR(DGI)=$P(DGAR,U,DGI)
 .; LINE 1
 .S DGADDGRP1(.1151)=DGAR(1)
 .; LINE 2
 .S DGADDGRP1(.1152)=DGAR(2)
 .; LINE 3
 .S DGADDGRP1(.1153)=DGAR(3)
 .; CITY
 .S DGADDGRP1(.1154)=DGAR(4)
 .; STATE
 .S DGADDGRP1(.1155)=DGAR(5)
 .; ZIP+4
 .S DGADDGRP1(.1156)=DGAR(12)
 .; COUNTY
 .S DGADDGRP1(.1157)=DGAR(7)
 .; PROVINCE
 .S DGADDGRP1(.11571)=DGAR(8)
 .; POSTAL CODE
 .S DGADDGRP1(.11572)=DGAR(9)
 .; COUNTRY
 .S DGADDGRP1(.11573)=DGAR(10)
 .; CASS INDICATOR
 .S DGADDGRP1(.1159)=DGAR(18)
 .; OVERRIDE KEY
 .S DGADDGRP1(.11591)=DGAR(19)
 ;
 ; If no phone number fields currently defined in the group 1 array, load them from the database into the Group 1 local array so they are preserved
 I '$D(DGADDGRP1(.131)) S DGADDGRP1(.131)=$P($G(^DPT(DFN,.13)),"^",1)
 I '$D(DGADDGRP1(.132)) S DGADDGRP1(.132)=$P($G(^DPT(DFN,.13)),"^",2)
 ;
 ; Set edit flag for group 1
 S DGADDEDIT(1)=1
 Q