[613] | 1 | DG702PST ;BAY/JAT;
|
---|
| 2 | ;;5.3;Registration;**702**;Aug 13,1993
|
---|
| 3 | ;
|
---|
| 4 | ; This is a post-init routine for DG*5.3*702
|
---|
| 5 | ; The purpose is to relink File #2 and File #20 records
|
---|
| 6 | ;
|
---|
| 7 | ; do environment check
|
---|
| 8 | ENV S XPDABORT=""
|
---|
| 9 | D PROGCHK(.XPDABORT)
|
---|
| 10 | I XPDABORT="" K XPDABORT
|
---|
| 11 | Q
|
---|
| 12 | PROGCHK(XPDABORT) ; checks for necessary programmer variables
|
---|
| 13 | I '$G(DUZ)!($G(DUZ(0))'="@")!('$G(DT))!($G(U)'="^") D
|
---|
| 14 | .D MES^XPDUTL("Your programming variables are not set up properly.")
|
---|
| 15 | .D MES^XPDUTL("Installation aborted.")
|
---|
| 16 | .S XPDABORT=2
|
---|
| 17 | Q
|
---|
| 18 | ;
|
---|
| 19 | CLEANUP ;
|
---|
| 20 | D BMES^XPDUTL("Synchronize Patient file records with file #20")
|
---|
| 21 | N DGIEN,DG20IEN,DG2PTR,DG2NAME,DG20PTR,DG20NAME,FDATA,DIERR,DGSTUFF,DA,DIK,CNT
|
---|
| 22 | S CNT=0
|
---|
| 23 | S DGIEN=0
|
---|
| 24 | F S DGIEN=$O(^VA(20,"BB",2,.01,DGIEN)) Q:'DGIEN D
|
---|
| 25 | .Q:DGIEN'[",0,"
|
---|
| 26 | .S DG20IEN=$O(^VA(20,"BB",2,.01,DGIEN,0))
|
---|
| 27 | .S DG2PTR=$P(DGIEN,",")
|
---|
| 28 | .S DG2NAME=$P($G(^DPT(DG2PTR,0)),U)
|
---|
| 29 | .S DG20PTR=$P($G(^DPT(DG2PTR,"NAME")),U)
|
---|
| 30 | .S DG20NAME=$P(^VA(20,DG20IEN,1),U)_","_$P(^VA(20,DG20IEN,1),U,2)
|
---|
| 31 | .I $P(^VA(20,DG20IEN,1),U,3)'="" S DG20NAME=DG20NAME_" "_$P(^VA(20,DG20IEN,1),U,3)
|
---|
| 32 | .I $P(^VA(20,DG20IEN,1),U,5)'="" S DG20NAME=DG20NAME_" "_$P(^VA(20,DG20IEN,1),U,5)
|
---|
| 33 | .I DG2NAME'=DG20NAME Q
|
---|
| 34 | .;repoint the Patient file record to the good file 20 record
|
---|
| 35 | .K FDATA,DIERR
|
---|
| 36 | .S FDATA(2,DG2PTR_",",1.01)=DG20IEN
|
---|
| 37 | .D FILE^DIE("","FDATA","DIERR")
|
---|
| 38 | .K FDATA,DIERR
|
---|
| 39 | .;kill the bad file 20 record - MUST KILL BEFORE REPOINTING THE OTHER
|
---|
| 40 | .S DA=DG20PTR
|
---|
| 41 | .S DIK="^VA(20,"
|
---|
| 42 | .D ^DIK
|
---|
| 43 | .K DA,DIK
|
---|
| 44 | .;repoint the good file 20 record to the Patient file record
|
---|
| 45 | .S DGSTUFF=DG2PTR_","
|
---|
| 46 | .S FDATA(20,DG20IEN_",",.03)=DGSTUFF
|
---|
| 47 | .D FILE^DIE("","FDATA","DIERR")
|
---|
| 48 | .K FDATA,DIERR
|
---|
| 49 | .D MES^XPDUTL("Patient file DFN "_DG2PTR_" synchronized with file #20 record IEN "_DG20IEN)
|
---|
| 50 | .S CNT=CNT+1
|
---|
| 51 | D BMES^XPDUTL("Total number of Patient file records synchronized: "_CNT)
|
---|
| 52 | Q
|
---|