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

AGTMPMRG.m

Go to the documentation of this file.
  1. AGTMPMRG ; IHS/ASDS/EFG - MERGE POLICY HOLDERS ;
  1. ;;7.1;PATIENT REGISTRATION;;AUG 25,2005
  1. ;
  1. S U="^"
  1. SEL W !
  1. K DTOUT,DUOUT
  1. K DIC S AG("MODE")="SEL"
  1. S AG("XIT")=0,DIC="^AUPN3PPH(",DIC(0)="QEA",DIC("A")="Select POLICY HOLDER (to Search against): ",D="B^C^D" D MIX^DIC1 K DIC
  1. G XIT:X=""!$D(DTOUT)!$D(DUOUT)
  1. I +Y<1 G SEL
  1. I '$D(^AUPN3PPH(+Y,0)) W *7 K ^AUPN3PPH("B",$P(Y,U,2),+Y) G SEL
  1. S AG("X")=+Y,AG("X0")=^AUPN3PPH(+Y,0)
  1. D CHK
  1. G XIT:AG("XIT"),SEL
  1. CHK W !!,"Dup-Check for: ",$P(AG("X0"),U),!?15
  1. S AG("PDFN")=$P(AG("X0"),U,2) D HRN
  1. W !?15,$P($G(^AUTNINS($P(AG("X0"),U,3),0)),U)
  1. W !,"================================================"
  1. S DIC="^AUPN3PPH(",DIC(0)="QEAM",DIC("S")="I Y'=AG(""X""),$P(^(0),U,3)=$P(AG(""X0""),U,3)",DIC("A")="Select (SEARCH) for Duplicate POLICY HOLDER: " D ^DIC K DIC
  1. I $D(DTOUT)!$D(DUOUT) S AG("XIT")=1 Q
  1. I +Y<1 W *7,!,"No other Policy Holders having the same insurer found.",! G CONT
  1. S AG("Y")=+Y,AG("Y0")=^AUPN3PPH(+Y,0)
  1. DISP W !,"_______________________________________________________________________________"
  1. W !,"[1] ",$P(AG("X0"),U),?39,"| [2] ",$P(AG("Y0"),U)
  1. W !," " S AG("PDFN")=$P(AG("X0"),U,2) D HRN
  1. W ?39,"| " S AG("PDFN")=$P(AG("Y0"),U,2) D HRN
  1. W !,"-------------------------------------------------------------------------------"
  1. W !!,"The CRT Screen will display each of the Policy Holders in turn ",!,"until you enter an ""^"" to end the displays.",!
  1. S DIR(0)="E" D ^DIR
  1. G:($G(DUOUT)!$G(DTOUT)!$G(DIROUT)) CONT
  1. K DTOUT,DUOUT,DROUT,DIROUT
  1. F D Q:($G(DUOUT)!$G(DTOUT)!$G(DIROUT))
  1. .S AGELP("PH")=AG("X"),AGELP("INS")=$P(AG("X0"),U,3) D ^AGELA
  1. .W !!!,"Above Information for [1] ",$P(AG("X0"),U)," ",$P(AG("X0"),U,4),!!
  1. .S DIR(0)="E" D ^DIR
  1. .Q:($G(DUOUT)!$G(DTOUT)!$G(DIROUT))
  1. .S AGELP("PH")=AG("Y"),AGELP("INS")=$P(AG("Y0"),U,3) D ^AGELA
  1. .Q:($G(DUOUT)!$G(DTOUT)!$G(DIROUT))
  1. .W !!!,"Above Information for [2] ",$P(AG("Y0"),U)," ",$P(AG("Y0"),U,4),!!
  1. .S DIR(0)="E" D ^DIR
  1. K AGELP
  1. W ! K DIR S DIR(0)="Y",DIR("A")=" Are the two POLICY HOLDERS duplicates (Y/N)" D ^DIR K DIR I Y'=1 G CONT
  1. W ! K DIR S DIR(0)="SO^1:"_$P(AG("X0"),U)_" "_$P(AG("X0"),U,4)_";2:"_$P(AG("Y0"),U)_" "_$P(AG("Y0"),U,4),DIR("A")=" Which of the two is most accurate" D ^DIR K DIR I Y=1!(Y=2) G MOVE
  1. CONT W !! K DIR S DIR(0)="Y",DIR("A")="Do you want to dup-check "_$P(AG("X0"),U)_" any more",DIR("B")="Y" D ^DIR K DIR I Y=1 G CHK
  1. VERF W !! K DIR S DIR(0)="Y",DIR("A")="Do you wish to continue running this program",DIR("B")="Y" D ^DIR K DIR I Y'=1 S AG("XIT")=1
  1. Q
  1. MOVE ;
  1. I Y=1 S AG=AG("X"),AG("X")=AG("Y"),AG("Y")=AG
  1. D MV2 G VERF
  1. MV1 S %X="^AUPN3PPH("_AG("X")_","
  1. S %Y="^AUPN3PPH("_AG("Y")_","
  1. D %XY^%RCR
  1. S DA=AG("Y"),DIK="^AUPN3PPH(" D IX1^DIK
  1. MV2 S DIK="^AUPN3PPH(",DA=AG("X") D ^DIK
  1. W !!,"Re-directing Pointers..."
  1. S DA(1)=0 F S DA(1)=$O(^AUPNPRVT("C",AG("X"),DA(1))) Q:'DA(1) D
  1. .S DA=0 F S DA=$O(^AUPNPRVT("C",AG("X"),DA(1),DA)) Q:'DA D
  1. ..S DIE="^AUPNPRVT("_DA(1)_",11,"
  1. ..I $D(^AUPNPRVT("C",AG("Y"),DA(1))) S DIK=DIE D ^DIK Q
  1. ..S DR=".08////"_AG("Y") D ^DIE K DR
  1. Q
  1. HRN W "(HRN: ",$S('$G(AG("PDFN")):"not Registered",'$G(DUZ(2)):"DUZ(2) undefined",$P($G(^AUPNPAT(AG("PDFN"),41,DUZ(2),0)),U,2):$P(^(0),U,2),1:"no HRN at "_$P(^AUTTLOC(DUZ(2),0),U,2)),")"
  1. Q
  1. XIT K AG
  1. Q