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

BWPATCH9.m

Go to the documentation of this file.
  1. BWPATCH9 ;IHS/CIA/DKM/PLS - KIDS Inits- Patch 9;19-Oct-2003 07:13;PLS
  1. ;;2.0;WOMEN'S HEALTH;**9**;MAY 16, 1996
  1. ; Environment check
  1. EC D FIXIT
  1. ; The following line prevents the "Disable Options..." and "Move
  1. ; Routines..." questions from being asked during the install.
  1. S XPDENV=1,(XPDDIQ("XPZ1"),XPDDIQ("XPZ2"))=0
  1. ; Check for duplicate RACE file entries
  1. N RVAL,IEN,DUP
  1. S RVAL=0 F S RVAL=$O(^DIC(10,"B",RVAL)) Q:RVAL="" D
  1. .S IEN=$O(^DIC(10,"B",RVAL,0))
  1. .S:$O(^DIC(10,"B",RVAL,IEN))>0 DUP=1
  1. D:$G(DUP) MES("THERE ARE DUPLICATE RACE VALUES IN THE RACE FILE!",1)
  1. ;
  1. ;D:'$L($$GET1^DID(9002086,.09,"","LABEL")) MES("The verified version of patch BW*2.0*8 is required to continue!",1)
  1. Q
  1. ; Pre-init
  1. PRE ;
  1. N BWFIEN,DIK,DA
  1. S XPDENV=1,(XPDDIQ("XPZ1"),XPDDIQ("XPZ2"))=0
  1. ; Set Wise Woman Flag
  1. ; If flag =0 the fix in the post-init will not be run.
  1. S @XPDGREF@("WW")=$D(^BWPN(39,0))
  1. ;
  1. ; Purge entries in BW RACE MAPPINGS (NBCCEDP) File
  1. D MES("Preparing BW RACE MAPPINGS (NBCCEDP) for updates...")
  1. S DIK="^BWRACE("
  1. S DA=0 F S DA=$O(^BWRACE(DA)) Q:'DA D
  1. .D ^DIK
  1. ;
  1. ; Purge entries in BW General Retrieval Items File
  1. D MES("Preparing BW GENERAL RETRIEVAL ITEMS File for new entries...")
  1. S DIK="^BWGRI("
  1. S DA=0 F S DA=$O(^BWGRI(DA)) Q:'DA D
  1. .D ^DIK
  1. ;
  1. ; Purge entries in BW MAMMOGRAPHY EXPORT DEFINITIONS File
  1. D MES("Preparing BW MAMMOGRAPHY EXPORT DEFINITIONS File for new entries...")
  1. S DIK="^BWMPEXP("
  1. S DA=0 F S DA=$O(^BWMPEXP(DA)) Q:'DA D
  1. .D ^DIK
  1. ;
  1. ; Remove BW EXPORT RECORD Form and associated Block(s)
  1. S BWFIEN=$O(^DIST(.403,"B","BW EXPORT RECORD",0))
  1. D:BWFIEN EN^DDSDFRM(BWFIEN)
  1. Q
  1. ; Post-init
  1. POST ; Converts (seeds) the new field CDC RESULTS OF PAP TEST (2001) (#.241) based on the existing
  1. ; field CDC RESULTS OF PAP TEST (1991) (#.24) (old field name CDC EQUIV SCREENING PAP DX) in
  1. ; file BW RESULTS/DIAGNOSIS (#9002086.31) to handle 2001 Bethesda System Categories.
  1. ;
  1. N FDA,BWDA,BWDIE,X,Y,TXT,BWRIEN
  1. ;
  1. D MES("Resolving Race File Pointers in BW RACE MAPPINGS (NBCCEDP) File.")
  1. K ^BWRACE("B")
  1. S BWRIEN=0
  1. F S BWRIEN=$O(@XPDGREF@("RACEPTRS",BWRIEN)) Q:BWRIEN<1 D
  1. .S TXT=@XPDGREF@("RACEPTRS",BWRIEN)
  1. .D MES("Processing entry: "_BWRIEN_" = "_TXT)
  1. .S $P(^BWRACE(BWRIEN,0),U)=$O(^DIC(10,"B",TXT,0))
  1. ; Re-index "B" x-ref of BW RACE MAPPINGS File
  1. S DIK="^BWRACE(",DIK(1)=".01^B" D ENALL^DIK
  1. ;
  1. S BWDA=0
  1. F S BWDA=$O(^BWDIAG(BWDA)) Q:'BWDA D
  1. . S X=+$P(^BWDIAG(BWDA,0),"^",24)
  1. . I X<1 Q
  1. . S Y=$S(X=2:1,X=3:2,X=4:3,X=7:8,X=14:7,1:X)
  1. . S FDA(1,9002086.31,BWDA_",",.241)=Y
  1. . D FILE^DIE("","FDA(1)","BWDIE(1)")
  1. . D CLEAN^DILF
  1. ;
  1. ; Set Bethesda 1991 (#.51) and 2001 (#.52) start dates in BW SITE file.
  1. ; Set MDE version to 4.1 if no value is defined.
  1. ; Set Default Specimen Type
  1. S BWDA=0
  1. F S BWDA=$O(^BWSITE(BWDA)) Q:'BWDA D
  1. . S X=$P(^BWSITE(BWDA,0),"^",17)
  1. . I X<1 S X=2910101
  1. . S:'$P($G(^BWSITE(BWDA,.51)),U) FDA(2,9002086.02,BWDA_",",.51)=X
  1. . S:'$P($G(^BWSITE(BWDA,.51)),U,2) FDA(2,9002086.02,BWDA_",",.52)=3021001
  1. . S:'$$GET1^DIQ(9002086.02,BWDA,.18,"I") FDA(2,9002086.02,BWDA_",",.18)=41
  1. . S:'$$GET1^DIQ(9002086.02,BWDA,.24,"I") FDA(2,9002086.02,BWDA_",",.24)=1
  1. . D:$D(FDA(2)) FILE^DIE("","FDA(2)","BWDIE(2)")
  1. . D CLEAN^DILF
  1. ;
  1. ; Importing Race into BW Patient File
  1. D MES("Importing Patient Race...")
  1. D START^BWUCVRC
  1. ;
  1. ; Add procedure type to existing Wise Woman Procedures if needed
  1. Q:'@XPDGREF@("WW") ;Site has no WW Procedures to correct
  1. D MES("Repairing Wise Woman procedures...")
  1. S BWDA=0
  1. F S BWDA=$O(^BWPCD(BWDA)) Q:'BWDA D
  1. .Q:'$D(^BWPCD(BWDA,4)) ; Not a Wise Woman procedure
  1. .W "."
  1. .I '$P(^BWPCD(BWDA,0),U,4) D
  1. ..W ":"
  1. ..S $P(^BWPCD(BWDA,0),U,4)=39
  1. Q
  1. ; Delete DD for corrupted file #9002086.94 which is cross linked to
  1. ; same global as file #9002086.92. Must repoint 9002086.94 to a
  1. ; temporary global in order to delete safely.
  1. FIXIT N $ET,DIU,BWFN,X
  1. S $ET=""
  1. S X="DELERR^BWMDEINI",@^%ZOSF("TRAP"),BWFN=9002086.94
  1. Q:'$D(^DD(BWFN))
  1. Q:$G(^DIC(BWFN,0,"GL"))="^BWFLT("
  1. S ^DIC(BWFN,0,"GL")="^DIZ("_BWFN_",",^DIZ(BWFN,0)="BW EXPORT^"_BWFN
  1. S DIU(0)="D",DIU=BWFN
  1. D EN^DIU2
  1. D:$D(^DD(BWFN)) SHOWERR("Access denied")
  1. Q
  1. DELERR D SHOWERR($$EC^%ZOSV)
  1. Q
  1. SHOWERR(ERR) ;
  1. D MES("An error occurred deleting file #"_$G(BWFN))
  1. D MES("The error was: "_ERR)
  1. D MES("After correcting the problem, please try the installation again.")
  1. S XPDQUIT=1
  1. Q
  1. ;
  1. ; Display message in MSG and optionally set quit flag to QUIT
  1. MES(MSG,QUIT) ;
  1. D BMES^XPDUTL(" "_$G(MSG))
  1. S:$G(QUIT) XPDQUIT=QUIT
  1. Q
  1. ; Pre-Transport global for BW RACE file mappings
  1. PRETRAN ;
  1. N IEN,VAL,TXT
  1. S IEN=0
  1. F S IEN=$O(^BWRACE(IEN)) Q:IEN<1 D
  1. .S VAL=$P(^BWRACE(IEN,0),U),TXT=$$GET1^DIQ(10,VAL,.01,"E")
  1. .S @XPDGREF@("RACEPTRS",IEN)=TXT
  1. Q