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

LJFPV200.m

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