DGINS ;ALB/MRL - INSURANCE COMPANY ADD/EDIT; 13 SEP 88@2200
;;5.3;Registration;;Aug 13, 1993
1 W !! D Q S DGINS="",DGINSW=1,DIC="^DIC(36,",DIC(0)="AEQMLZ" D ^DIC G Q:Y'>0 S DGINS=+Y,DGNEW=+$P(Y,"^",3) D ED G 1
;
ED D OLD S DIE=DIC,DR=".01;1;2;.05:.08;.09;.1;.111;S:X="""" Y=.114;.112;S:X="""" Y=.114;.113:.116;.131;.132;.133;",(DA,Y)=DGINS D ^DIE:DGINSW F I=.11,.13 S DGINS1(I)=$S($D(^DIC(36,DGINS,I)):^(I),1:"")
I DGINSW S C=0 F I=1,4,5,6 S:$P(DGINS(.11),"^",I)'=$P(DGINS1(.11),"^",I) C=1 S X1=$S(I=1:.01,1:(I-2)),DGINSE(X1)=$P(DGINS1(.11),"^",I)
I DGINSW S:$P(DGINS(.13),"^",1)'=$P(DGINS1(.13),"^",1) C=1 S DGINSE(5)=$P(DGINS1(.13),"^",1)
I DGNEW S C=1,DGINSE(5)=$P(DGINS1(.13),"^",1) F I=1,4,5,6 S X1=$S(I=1:.01,1:(I-2)) I $P(DGINS1(.11),"^",I)]"" S DGINSE(X1)=$P(DGINS1(.11),"^",I)
Q:'C W:DGINSW !!,"...Updating multiple ADDRESS field with new information...",!
I $D(^DIC(36,+DGINS,2,1,0)) S:'$D(^DIC(36,+DGINS,2,0)) ^(0)="^36.02I^1^1" S DIK="^DIC(36,"_DGINS_",2,",DA(2)=36,DA(1)=DGINS,DA=1 D ^DIK K DIK W:DGINSW "...."
S DIC(0)="QMZL",DIC="^DIC(36,"_DGINS_",2,",DA(2)=36,DA(1)=DGINS,(DA,DINUM)=1,X=$P(DGINS1(.11),"^",1) I X]"" S:'$D(^DIC(36,+DGINS,2,0)) ^(0)="^36.02I^^" K DD,DO D DR,FILE^DICN K DINUM W:DGINSW !!,"DONE...",*7 Q
;
DR K DR S DIC("DR")="" F I=0:0 S I=$O(DGINSE(I)) Q:'I S DIC("DR")=DIC("DR")_I_"///"_DGINSE(I)_";" W:DGINSW "...."
S DIC("DR")=DIC("DR")_"6///"_DGINS_";" K DGINSE Q
;
Q K DGNEW,X,X1,DIC,DIE,DR,I,C,DGINS,DGINS1,DGINSE,DGINSW,DA,Y Q
;
ALL F DGINS=0:0 S DGINS=$O(^DIC(36,DGINS)) Q:'DGINS S DIC="^DIC(36,",DGNEW=1,DGINSW=0 D ED W "."
W !!,"DONE!",*7 G Q
OLD F I=.11,.13 S DGINS(I)=$S($D(^DIC(36,+DGINS,I)):^(I),1:"")
Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HDGINS 1688 printed Sep 02, 2024@19:29:20 Page 2
DGINS ;ALB/MRL - INSURANCE COMPANY ADD/EDIT; 13 SEP 88@2200
+1 ;;5.3;Registration;;Aug 13, 1993
1 WRITE !!
DO Q
SET DGINS=""
SET DGINSW=1
SET DIC="^DIC(36,"
SET DIC(0)="AEQMLZ"
DO ^DIC
if Y'>0
GOTO Q
SET DGINS=+Y
SET DGNEW=+$PIECE(Y,"^",3)
DO ED
GOTO 1
+1 ;
ED DO OLD
SET DIE=DIC
SET DR=".01;1;2;.05:.08;.09;.1;.111;S:X="""" Y=.114;.112;S:X="""" Y=.114;.113:.116;.131;.132;.133;"
SET (DA,Y)=DGINS
if DGINSW
DO ^DIE
FOR I=.11,.13
SET DGINS1(I)=$SELECT($DATA(^DIC(36,DGINS,I)):^(I),1:"")
+1 IF DGINSW
SET C=0
FOR I=1,4,5,6
if $PIECE(DGINS(.11),"^",I)'=$PIECE(DGINS1(.11),"^",I)
SET C=1
SET X1=$SELECT(I=1:.01,1:(I-2))
SET DGINSE(X1)=$PIECE(DGINS1(.11),"^",I)
+2 IF DGINSW
if $PIECE(DGINS(.13),"^",1)'=$PIECE(DGINS1(.13),"^",1)
SET C=1
SET DGINSE(5)=$PIECE(DGINS1(.13),"^",1)
+3 IF DGNEW
SET C=1
SET DGINSE(5)=$PIECE(DGINS1(.13),"^",1)
FOR I=1,4,5,6
SET X1=$SELECT(I=1:.01,1:(I-2))
IF $PIECE(DGINS1(.11),"^",I)]""
SET DGINSE(X1)=$PIECE(DGINS1(.11),"^",I)
+4 if 'C
QUIT
if DGINSW
WRITE !!,"...Updating multiple ADDRESS field with new information...",!
+5 IF $DATA(^DIC(36,+DGINS,2,1,0))
if '$DATA(^DIC(36,+DGINS,2,0))
SET ^(0)="^36.02I^1^1"
SET DIK="^DIC(36,"_DGINS_",2,"
SET DA(2)=36
SET DA(1)=DGINS
SET DA=1
DO ^DIK
KILL DIK
if DGINSW
WRITE "...."
+6 SET DIC(0)="QMZL"
SET DIC="^DIC(36,"_DGINS_",2,"
SET DA(2)=36
SET DA(1)=DGINS
SET (DA,DINUM)=1
SET X=$PIECE(DGINS1(.11),"^",1)
IF X]""
if '$DATA(^DIC(36,+DGINS,2,0))
SET ^(0)="^36.02I^^"
KILL DD,DO
DO DR
DO FILE^DICN
KILL DINUM
if DGINSW
WRITE !!,"DONE...",*7
QUIT
+7 ;
DR KILL DR
SET DIC("DR")=""
FOR I=0:0
SET I=$ORDER(DGINSE(I))
if 'I
QUIT
SET DIC("DR")=DIC("DR")_I_"///"_DGINSE(I)_";"
if DGINSW
WRITE "...."
+1 SET DIC("DR")=DIC("DR")_"6///"_DGINS_";"
KILL DGINSE
QUIT
+2 ;
Q KILL DGNEW,X,X1,DIC,DIE,DR,I,C,DGINS,DGINS1,DGINSE,DGINSW,DA,Y
QUIT
+1 ;
ALL FOR DGINS=0:0
SET DGINS=$ORDER(^DIC(36,DGINS))
if 'DGINS
QUIT
SET DIC="^DIC(36,"
SET DGNEW=1
SET DGINSW=0
DO ED
WRITE "."
+1 WRITE !!,"DONE!",*7
GOTO Q
OLD FOR I=.11,.13
SET DGINS(I)=$SELECT($DATA(^DIC(36,+DGINS,I)):^(I),1:"")
+1 QUIT