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

XT73P44.m

Go to the documentation of this file.
  1. XT73P44 ;SF-CIOFO/JDS KIDs Post-Init for XT*7.3*44 ;11/10/99 08:35 [ 01/07/2003 2:34 PM ]
  1. ;;KIDs Post-Init
  1. ;
  1. ; LR - Entry point for clean-up of the ^DPT(ien,"LR") node
  1. ; that was corrected in patch XT*7.3*36. All past merge
  1. ; pairs will be search to see if a two piece "LR" node
  1. ; exist on the "TO" record and clean-up where necessary.
  1. ;
  1. ; XREF - Entry point for clean-up of records that didn't get
  1. ; completely merged because of problems in the x-ref
  1. ; processing. These problems have been fixed in patch
  1. ; XT*7.3*44.
  1. ;
  1. EN ;
  1. D LR
  1. D XREF
  1. Q
  1. ;
  1. LR ;
  1. N I,IEN
  1. W !,"Processing merged pairs to check 'LR' node's .."
  1. F I=0:0 S I=$O(^XDRM(I)) Q:I'>0 D
  1. . S IEN=+$P(^XDRM(I,0),U,2)
  1. . I $D(^DPT(IEN,"LR")) S ^DPT(IEN,"LR")=$P(^DPT(IEN,"LR"),U)
  1. . W "."
  1. W !!,"'LR' node clean-up completed"
  1. Q
  1. ;
  1. XREF ;
  1. N I,X,DFN,XARRAY,XT38DATE
  1. S XARRAY=$NA(^TMP("XDRXREF",$J))
  1. K @XARRAY
  1. ;
  1. ; set XT*7.3*38 date
  1. S I=""
  1. ;S I=$O(^XPD(9.7,"B","XT*7.3*38",I)) Q:I'>0 S XT38DATE=$P($P(^XPD(9.7,I,1),U,3),".") ;AEF 01/02/03 COMMENTED OUT AND REPLACED BY LINE BELOW
  1. S I=$O(^XPD(9.7,"B","XT*7.3*38",I)) Q:I'>0 S XT38DATE=$P($P(^XPD(9.7,I,0),U,3),".") ;AEF 01/02/03 TO CHANGE NODE FROM 1 TO 0 TO PREVENT <UNDEF>XREF+7^XT73P44 ERROR
  1. ;
  1. ; build dup pair list
  1. F I=0:0 S I=$O(^VA(15,I)) Q:I'>0 S X=^(I,0) I $P($P(X,U),";",2)="DPT(",$P(X,U,5)=2,XT38DATE'>$P(X,U,8) D
  1. . S DFN=+$P(X,U,$P(X,U,4)) ;from ien
  1. . S @XARRAY@(DFN,+$P(X,U,$S($P(X,U,4)=1:2,1:1)))=I
  1. . Q
  1. ;
  1. ; setup merge process
  1. I $D(@XARRAY) D
  1. . N XDRXX,XDRYY,XDRMA,XDRFDA,XDRIENS
  1. . S XDRXX(15.2,"+1,",.01)="FIX XREF PROCESS"
  1. . S XDRXX(15.2,"+1,",.02)=2
  1. . S XDRXX(15.2,"+1,",.04)="U"
  1. . S XDRXX(15.2,"+1,",.09)=1
  1. . D UPDATE^DIE("","XDRXX","XDRYY","XDRMA")
  1. . W !!,"FIX XREF PROCESS has been initialize."
  1. . W !,"This merge process will need to be restart via the MERGE package"
  1. . S XDRFDA=$G(XDRYY(1))
  1. . ;
  1. . ; move dup pair list into processing array
  1. . S XDRIENS="+1,"_XDRFDA_","
  1. . F XDRI=0:0 S XDRI=$O(@XARRAY@(XDRI)) Q:XDRI'>0 D
  1. . . S XDRJ=$O(@XARRAY@(XDRI,0))
  1. . . S XDRK=@XARRAY@(XDRI,XDRJ)
  1. . . K XDRXX,XDRYY
  1. . . S XDRXX(15.22,XDRIENS,.01)=XDRI ; ien1
  1. . . S XDRXX(15.22,XDRIENS,.02)=XDRJ ; ien2
  1. . . S XDRXX(15.22,XDRIENS,.03)=XDRK ; entry # in file #15
  1. . . D UPDATE^DIE("","XDRXX","XDRYY","XDRMA")
  1. . . K XDRXX,XDRYY,XDRMA
  1. . . ;
  1. . . ; indicate that they are in this merge process in file #15
  1. . . S XDRXX(15,XDRK_",",.2)=XDRFDA
  1. . . D FILE^DIE("","XDRXX")
  1. . . K XDRXX
  1. . ;
  1. . ; setup files to be processed
  1. . S XDRXX(15.23,XDRIENS,.01)="DATA CHECKING"
  1. . S XDRXX(15.23,XDRIENS,.02)=$$NOW^XLFDT
  1. . S XDRXX(15.23,XDRIENS,.03)="C"
  1. . D UPDATE^DIE("","XDRXX","XDRYY","XDRMA")
  1. . K XDRXX,XDRYY,XDRMA
  1. . F XDRPACK=0:0 S XDRPACK=$O(^DIC(9.4,XDRPACK)) Q:XDRPACK'>0 D
  1. . . F XDRSFILE=0:0 S XDRSFILE=$O(^DIC(9.4,XDRPACK,20,XDRSFILE)) Q:XDRSFILE'>0 D
  1. . . . I $P(^DIC(9.4,XDRPACK,20,XDRSFILE,0),U)=2 D
  1. . . . . S XDRXX(15.23,XDRIENS,.01)=$P(^DIC(9.4,XDRPACK,0),U)
  1. . . . . S XDRXX(15.23,XDRIENS,.02)=$$NOW^XLFDT
  1. . . . . S XDRXX(15.23,XDRIENS,.03)="C"
  1. . . . . D UPDATE^DIE("","XDRXX","XDRYY","XDRMA")
  1. . . . . K XDRXX,XDRYY,XDRMA
  1. . ;
  1. . S XDRXX(15.23,XDRIENS,.01)="PATIENT FILE"
  1. . S XDRXX(15.23,XDRIENS,.02)=$$NOW^XLFDT
  1. . S XDRXX(15.23,XDRIENS,.03)="H"
  1. . S XDRXX(15.23,XDRIENS,1.01)=$$NOW^XLFDT
  1. . S XDRXX(15.23,XDRIENS,1.02)=0
  1. . D UPDATE^DIE("","XDRXX","XDRYY","XDRMA")
  1. . Q
  1. Q