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

BPMXLR2.m

Go to the documentation of this file.
  1. BPMXLR2 ;IHS/PHXAO/AEF - REPOINT LAB ^LR("BLRA") ESIG XREF
  1. ;;1.0;IHS PATIENT MERGE;;MAR 01, 2010
  1. ;IHS/OIT/LJF 10/26/2006 routine originated from Phoenix Area Office
  1. ; changed namespace from BZXM to BPM; BLR to BPM
  1. ;;
  1. DESC ;----- ROUTINE DESCRIPTION
  1. ;;BPMXLR2:
  1. ;;THIS ROUTINE LOOPS THROUGH THE "BLRA" XREF ON THE LAB DATA FILE AND FINDS ALL
  1. ;;ENTRIES BELONGING TO THE PAIENT BEING MERGED FROM AND REPOINTS THEM TO THE
  1. ;;PATIENT BEING MERGED TO.
  1. ;;
  1. ;;INPUT:
  1. ;;BPMFM = LRDFN OF PATIENT BEING MERGED FROM
  1. ;;BPMTO = LRDFN OF PATIENT BEING MERGED TO
  1. ;;
  1. ;;$$END
  1. ;
  1. N I,X F I=1:1 S X=$P($T(DESC+I),";;",2) Q:X["$$END" D EN^DDIOL(X)
  1. Q
  1. EN(BPMFM,BPMTO) ;EP
  1. ;----- MAIN ENTRY POINT
  1. ;
  1. D ^XBKVAR
  1. D HOME^%ZIS
  1. ;
  1. D FIND(BPMFM)
  1. D MERGE(BPMFM,BPMTO)
  1. ;
  1. K ^TMP("BLRA",$J)
  1. ;
  1. Q
  1. FIND(BPMFM) ;
  1. ;----- FIND "BLRA" XREFS FOR THE "FROM" PATIENT
  1. ;
  1. N BPMAPHY,BPMARFL,BPMDFN,BPMIDT,BPMSS
  1. ;
  1. K ^TMP("BPMLRA",$J)
  1. ;
  1. S BPMAPHY=0
  1. F S BPMAPHY=$O(^LR("BLRA",BPMAPHY)) Q:'BPMAPHY D
  1. . S BPMARFL=""
  1. . F S BPMARFL=$O(^LR("BLRA",BPMAPHY,BPMARFL)) Q:BPMARFL']"" D
  1. . . S BPMIDT=""
  1. . . F S BPMIDT=$O(^LR("BLRA",BPMAPHY,BPMARFL,BPMIDT)) Q:'BPMIDT D
  1. . . . S BPMDFN=0
  1. . . . F S BPMDFN=$O(^LR("BLRA",BPMAPHY,BPMARFL,BPMIDT,BPMDFN)) Q:'BPMDFN D
  1. . . . . Q:BPMDFN'=BPMFM
  1. . . . . S BPMSS=""
  1. . . . . S BPMSS=$O(^LR("BLRA",BPMAPHY,BPMARFL,BPMIDT,BPMDFN,""))
  1. . . . . S ^TMP("BPMLRA",$J,BPMDFN,BPMIDT)=BPMAPHY_U_BPMARFL_U_BPMIDT_U_BPMDFN_U_BPMSS
  1. Q
  1. ;
  1. MERGE(BPMFM,BPMTO) ;
  1. ;----- MERGE ENTRIES
  1. ;
  1. N BPMAPHY,BPMARFL,DATA,DATE,BPMDFN,BPMIDT,BPMSS
  1. ;
  1. S DATE=0
  1. F S DATE=$O(^TMP("BPMLRA",$J,BPMFM,DATE)) Q:'DATE D
  1. . S DATA=^TMP("BPMLRA",$J,BPMFM,DATE)
  1. . S BPMAPHY=$P(DATA,U)
  1. . S BPMARFL=$P(DATA,U,2)
  1. . S BPMIDT=$P(DATA,U,3)
  1. . S BPMDFN=$P(DATA,U,4)
  1. . S BPMSS=$P(DATA,U,5)
  1. . Q:'$D(^LR("BLRA",BPMAPHY,BPMARFL,BPMIDT,BPMFM))
  1. . ;S ^LR("BLRA",BPMAPHY,BPMARFL,BPMIDT,BPMTO)=BPMSS
  1. . S ^LR("BLRA",BPMAPHY,BPMARFL,BPMIDT,BPMTO,BPMSS)=BPMSS ; IHS/OIT/MKK - Data structure Change
  1. . K ^LR("BLRA",BPMAPHY,BPMARFL,BPMIDT,BPMFM)
  1. . K ^TMP("BPMLRA",$J,BPMFM,DATE)
  1. ;
  1. Q
  1. ;