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

BPMXVST.m

Go to the documentation of this file.
  1. BPMXVST ;IHS/OIT/LJF - REPOINT VISIT FILE POINTERS - 6/26/12 ;
  1. ;;1.0;IHS PATIENT MERGE;**2**;MAR 01, 2010;Build 1
  1. ;IHS/OIT/NKD 6/13/2012 Removed unused local variables
  1. ; Moved processing check from BPMXDRV
  1. ;
  1. DESC ;---- ROUTINE DESCRIPTION
  1. ;;
  1. ;;BPMXVST:
  1. ;;This routine loops through the Visit file looking for DELETED visits
  1. ;;belonging to the "FROM" patient, which it then repoints to the "TO"
  1. ;;patient.
  1. ;;
  1. ;;Only called if REPOINT DELETED VISITS parameter is turned ON
  1. ;;
  1. ;;This routine is called by the special merge routine driver - BPMXDRV
  1. ;;$$END
  1. ;
  1. N I,X F I=1:1 S X=$P($T(DESC+I),";;",2) Q:X["$$END" W !,X
  1. Q
  1. EN(BPMRY) ;EP; entry point from ^BPMXDRV
  1. ; BPMRY = TEMP GLOBAL SET UP BY THE PATIENT MERGE SOFTWARE,
  1. ; I.E., "^TMP(""XDFROM"",$J)"
  1. ;
  1. ;IHS/OIT/NKD BPM*1.0*2 QUIT IF PARAMETER IS NOT SET TO 'YES'
  1. Q:$$GET1^DIQ(15.1,2,99999.01)'="YES"
  1. ;IHS/OIT/NKD BPM*1.0*2 REMOVED UNUSED LOCAL VARIABLES
  1. ;NEW BPMFR,BPMGFR,BPMGTO,BPMTO,FILE,GLOB
  1. N BPMFR,BPMTO
  1. ;
  1. S BPMFR=$O(@BPMRY@(0)) Q:'BPMFR
  1. S BPMTO=$O(@BPMRY@(BPMFR,0)) Q:'BPMTO
  1. ;IHS/OIT/NKD BPM*1.0*2 REMOVED UNUSED LOCAL VARIABLES
  1. ;S BPMGFR=$O(@BPMRY@(BPMFR,BPMTO,0)) Q:'+BPMGFR
  1. ;S BPMGTO=$O(@BPMRY@(BPMFR,BPMTO,BPMGFR,0)) Q:'+BPMGTO
  1. ;S GLOB="^TMP(""XDRFROM"""_","_$J_","_BPMFR_","_BPMTO_","_""""_BPMGFR_""""_","_""""_BPMGTO_""""_")"
  1. ;S FILE=@GLOB
  1. ;
  1. D REPOINT(BPMFR,BPMTO)
  1. Q
  1. ;
  1. REPOINT(BPMFR,BPMTO) ; loop through visit file and change pointer
  1. NEW BPMD0
  1. S BPMD0=0
  1. F S BPMD0=$O(^AUPNVSIT(BPMD0)) Q:'BPMD0 D
  1. . Q:$P($G(^AUPNVSIT(BPMD0,0)),U,5)'=BPMFR
  1. . Q:$P(^AUPNVSIT(BPMD0,0),U,11)'=1 ;skip if not a deleted visit
  1. . S $P(^AUPNVSIT(BPMD0,0),U,5)=BPMTO ;stuff TO patient pointer
  1. Q