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

BPMKALK.m

Go to the documentation of this file.
  1. BPMKALK ;IHS/PHXAO/AEF - KILL "ALK" XREF ON FILE 15 FOR DUPLICATE RECORD MERGE
  1. ;;1.0;IHS PATIENT MERGE;;MAR 01, 2010
  1. ;IHS/OIT/LJF 10/27/2006 routine originated from Phoenix Area Office
  1. ; changed namespace from BZXM to BPM
  1. ;
  1. DESC ;----- ROUTINE DESCRIPTION
  1. ;;
  1. ;;BPMKALK:
  1. ;;THIS ROUTINE ENSURES THAT ALL "ALK" CROSSREFERENCES ARE KILLED FOR A
  1. ;;MERGED PAIR OF RECORDS CONTAINED IN THE DUPLICATE RECORD FILE #15
  1. ;;WHEN THE MERGE IS COMPLETED. THE "AIHSKALK" CROSSREFERENCE CALLS
  1. ;;THIS ROUTINE TO KILL THE "ALK" CROSSREFERENCES WHEN THE MERGE STATUS
  1. ;;FIELD IS SET TO 2 'MERGED'. FOR SOME REASON THIS CROSSREFERENCE WAS
  1. ;;NOT GETTING KILLED WHEN THE ENTRIES WERE MERGED AND THIS INTERFERES
  1. ;;WITH THE ^AUPNLK LOOKUP ROUTINE ON THE PATIENT FILE. IF THERE IS AN
  1. ;;"ALK" CROSSREFERENCE THEN THE LOOKUP ROUTINE DISPLAYS 'DUPLICATE
  1. ;;PATIENT' INFORMATION WHICH IS INAPPROPRIATE IF THE PATIENT BEING
  1. ;;SELECTED HAS ALREADY COMPLETED THE MERGE
  1. ;;
  1. ;;$$END
  1. ;
  1. N I,X F I=1:1 S X=$T(DESC+I) Q:X["$$END" W !,$P(X,";;",2)
  1. Q
  1. EN(ST,DA) ;EP
  1. ;----- KILL "ALK" CROSSREFERENCES IN FILE 15 FOR ENTRY DA
  1. ;
  1. ; ST = MERGE STATUS FROM RECORD DA IN FILE 15
  1. ; DA = RECORD IEN IN FILE 15
  1. ;
  1. N FL,R1,R2,X
  1. ;
  1. Q:ST'=2 ;QUIT IF STATUS NOT EQUAL 'MERGED'
  1. ;
  1. S X=^VA(15,DA,0)
  1. S FL=$P($P(X,U),";",2)
  1. Q:FL']""
  1. S R1=+$P(X,U)
  1. S R2=+$P(X,U,2)
  1. K ^VA(15,"ALK",""_FL_"",R1,2,R2,DA)
  1. K ^VA(15,"ALK",""_FL_"",R2,2,R1,DA)
  1. Q