LJFPV200 ;IHS/ORDC/LJF - DUPLICATE PROV DATA IN FILE 200; [ 04/27/93 1:03 PM ]
;;7.0I4;Kernel;;Jul 17, 1992
;This routine is called from XUINEND in Kernel 7 postinits
;
Q ;no direct entry to rtn
;
START ;EP; ENTRY POINT called by Kernel 7 post init
Q:'$O(^DIC(6,0)) ;no data in provider file
W !!,"Duplicating provider data into New Person file "
S LJFPV=0
F S LJFPV=$O(^DIC(6,LJFPV)) Q:LJFPV'=+LJFPV D
.Q:'$D(^DIC(6,LJFPV,0)) ;bad entry
.Q:$P(^DIC(6,LJFPV,0),U)'=LJFPV ;also bad entry
.I LJFPV#10=0 W ". "
.I '$D(^DIC(16,LJFPV,"A3")) D Q ;MWR
..W !,"^DIC(16,",LJFPV,",""A3"" DOES NOT EXIST.",! ;MWR
.S LJF200=$P(^DIC(16,LJFPV,"A3"),U) ;user pointer
.I LJF200="" D Q ;MWR
..W !,"^DIC(16,",LJFPV," HAS NO A3 POINTER TO ^DIC(3.",! ;MWR
.Q:'$D(^VA(200,LJF200)) ;no entry in file 200
.Q:$D(^VA(200,LJF200,9999999)) ;already converted
.D DUPL ;duplicate fields into VA(200
.D MOVE ;move then delete licensure multiple
.Q ;get next provider
;
;
END ;***> eoj
K LJFPV,LJF200,LJFI,LJFF,LJFN6,LJFN200,LJFF6,LJFF200,LJFXREF,LJFDATA
K X,Y Q
;
;
DUPL ;**> SUBRTN to duplicate data into file 200
F LJFI=1:1:4 D ;loop thru nodes
.S LJFN6=$P($T(@LJFI),";;",2),LJFN200=$P($T(@LJFI),";;",3)
.Q:'$D(^DIC(6,LJFPV,LJFN6)) ;node doesn't exist in file 6
.F LJFJ=1:1 Q:$P($T(@LJFI+LJFJ),";;",2)="END" D ;loop thru fields
..;
..S LJFF6=$P($T(@LJFI+LJFJ),";;",2) ;field piece number in file 6
..Q:$P(^DIC(6,LJFPV,LJFN6),U,LJFF6)="" ;don't overwrite if null
..S LJFDATA=$P(^DIC(6,LJFPV,LJFN6),U,LJFF6) ;data to duplicate
..S LJFF200=$P($T(@LJFI+LJFJ),";;",3) ;field piece number in file 200
..I '$D(^VA(200,LJF200,LJFN200)) S ^VA(200,LJF200,LJFN200)=""
..Q:$P(^VA(200,LJF200,LJFN200),U,LJFF200)'="" ;don't overwrite if data
..;
..S $P(^VA(200,LJF200,LJFN200),U,LJFF200)=LJFDATA ;set data
..;
..S LJFXREF=$P($T(@LJFI+LJFJ),";;",4) Q:LJFXREF="" ;no xref to set
..S ^VA(200,LJFXREF,LJFDATA,LJF200)="" ;set xref
..;
..Q ;get next field for this node
.Q ;get next node in file
Q ;quit subrtn
;
;
MOVE ;**> SUBRTN to move licensure data to file 200 then delete in file 6
Q:'$O(^DIC(6,LJFPV,999999921,0)) ;no data to move
I $D(^VA(200,LJF200,"PS1")) G MOVE1 ;data in file 200; don't overwrite
S ^VA(200,LJF200,"PS1",0)="^200.541P^"_$P(^DIC(6,LJFPV,999999921,0),U,3,4) ;set zero node
W "+ " S X=0
F S X=$O(^DIC(6,LJFPV,999999921,X)) Q:X'=+X D
.S ^VA(200,LJF200,"PS1",X,0)=^DIC(6,LJFPV,999999921,X,0)
.S ^VA(200,LJF200,"PS1","B",+^VA(200,LJF200,"PS1",X,0),X)=""
MOVE1 K ^DIC(6,LJFPV,999999921) ;remove data from file 6
Q
;
;
1 ;;0;;PS
;;3;;2;;APS1
;;4;;5;;
;;5;;6;;
;;6;;3;;APS2
;;END
2 ;;.11;;.11
;;1;;1;;
;;2;;2;;
;;3;;3;;
;;4;;4;;
;;5;;5;;
;;6;;6;;
;;END
3 ;;9999999;;9999999
;;1;;1;;
;;2;;2;;F
;;5;;5;;H
;;6;;6;;
;;7;;7;;
;;8;;8;;
;;END
4 ;;I;;I
;;1;;1;;
;;END