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

DG702PST.m

Go to the documentation of this file.
  1. DG702PST ;BAY/JAT;
  1. ;;5.3;Registration;**702,1015**;Aug 13,1993;Build 21
  1. ;
  1. ; This is a post-init routine for DG*5.3*702
  1. ; The purpose is to relink File #2 and File #20 records
  1. ;
  1. ; do environment check
  1. ENV S XPDABORT=""
  1. D PROGCHK(.XPDABORT)
  1. I XPDABORT="" K XPDABORT
  1. Q
  1. PROGCHK(XPDABORT) ; checks for necessary programmer variables
  1. I '$G(DUZ)!($G(DUZ(0))'="@")!('$G(DT))!($G(U)'="^") D
  1. .D MES^XPDUTL("Your programming variables are not set up properly.")
  1. .D MES^XPDUTL("Installation aborted.")
  1. .S XPDABORT=2
  1. Q
  1. ;
  1. CLEANUP ;
  1. D BMES^XPDUTL("Synchronize Patient file records with file #20")
  1. N DGIEN,DG20IEN,DG2PTR,DG2NAME,DG20PTR,DG20NAME,FDATA,DIERR,DGSTUFF,DA,DIK,CNT
  1. S CNT=0
  1. S DGIEN=0
  1. F S DGIEN=$O(^VA(20,"BB",2,.01,DGIEN)) Q:'DGIEN D
  1. .Q:DGIEN'[",0,"
  1. .S DG20IEN=$O(^VA(20,"BB",2,.01,DGIEN,0))
  1. .S DG2PTR=$P(DGIEN,",")
  1. .S DG2NAME=$P($G(^DPT(DG2PTR,0)),U)
  1. .S DG20PTR=$P($G(^DPT(DG2PTR,"NAME")),U)
  1. .S DG20NAME=$P(^VA(20,DG20IEN,1),U)_","_$P(^VA(20,DG20IEN,1),U,2)
  1. .I $P(^VA(20,DG20IEN,1),U,3)'="" S DG20NAME=DG20NAME_" "_$P(^VA(20,DG20IEN,1),U,3)
  1. .I $P(^VA(20,DG20IEN,1),U,5)'="" S DG20NAME=DG20NAME_" "_$P(^VA(20,DG20IEN,1),U,5)
  1. .I DG2NAME'=DG20NAME Q
  1. .;repoint the Patient file record to the good file 20 record
  1. .K FDATA,DIERR
  1. .S FDATA(2,DG2PTR_",",1.01)=DG20IEN
  1. .D FILE^DIE("","FDATA","DIERR")
  1. .K FDATA,DIERR
  1. .;kill the bad file 20 record - MUST KILL BEFORE REPOINTING THE OTHER
  1. .S DA=DG20PTR
  1. .S DIK="^VA(20,"
  1. .D ^DIK
  1. .K DA,DIK
  1. .;repoint the good file 20 record to the Patient file record
  1. .S DGSTUFF=DG2PTR_","
  1. .S FDATA(20,DG20IEN_",",.03)=DGSTUFF
  1. .D FILE^DIE("","FDATA","DIERR")
  1. .K FDATA,DIERR
  1. .D MES^XPDUTL("Patient file DFN "_DG2PTR_" synchronized with file #20 record IEN "_DG20IEN)
  1. .S CNT=CNT+1
  1. D BMES^XPDUTL("Total number of Patient file records synchronized: "_CNT)
  1. Q