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

APCDVMDD.m

Go to the documentation of this file.
  1. APCDVMDD ; IHS/CMI/LAB - VISIT MERGE ;
  1. ;;2.0;IHS PCC SUITE;;MAY 14, 2009
  1. ;
  1. W !!,"This option is used to merge 2 visits on 2 different dates.",!,"Be very careful in using this option. This will normally need to be used only",!,"when a lab or radiology visit that occurred after midnight needs to be merged",!
  1. W "to a visit that occurred before midnight.",!!
  1. ;merge 2 visits during data entry process.
  1. D GETPAT
  1. I 'APCDPAT D EOJ Q
  1. W !!,"Select 'From' visit.",!
  1. S APCDVV="APCDVMF" D GETVISIT
  1. I 'APCDVMF D EOJ Q
  1. ;S APCDVLDT=+^AUPNVSIT(APCDVMF,0)\1
  1. W !!,"Select 'To' visit.",!
  1. S APCDVV="APCDVMT" D GETVISIT
  1. I 'APCDVMT D EOJ Q
  1. I APCDVMF=APCDVMT W !!,"'From' and 'To' the same. Bye!" D EOJ Q
  1. I $D(^ABSBITMS(9002302,"AD",APCDVMF)) W !!,"Cannot merge from a visit that has a Claim associate with it." D EOJ Q ;IHS/CMI/LAB - patch 3 per FSI
  1. W !!!,"You will be merging the following 2 visits:"
  1. W !,"FROM VISIT:" S APCDAX=APCDVMF D WRITE
  1. W !,"TO VISIT:" S APCDAX=APCDVMT D WRITE
  1. W !! S DIR(0)="Y",DIR("A")="Do you want to continue",DIR("B")="N" KILL DA D ^DIR KILL DIR
  1. I $D(DIRUT) D EOJ Q
  1. I 'Y D EOJ Q
  1. W !!,"*** FROM VISIT ***"
  1. K DR S APCDVDSP=APCDVMF D ^APCDVDSP
  1. W !!,"*** TO VISIT ***"
  1. K DR S APCDVDSP=APCDVMT D ^APCDVDSP
  1. EN1 ;EP
  1. RDR ;EP
  1. I 'APCDVMT W !!,$C(7),$C(7),"'TO' VISIT NOT DEFINED" D EOJ Q
  1. I 'APCDVMF W !!,$C(7),$C(7),"'FROM' VISIT NOT DEFINED" D EOJ Q
  1. R !!,"Do you want to merge the two visits? (Y/N) Y//",APCDVMX:$S($D(DTIME):DTIME,1:300) S:'$T APCDVMX="N" S:APCDVMX="" APCDVMX="Y" S APCDVMX=$E(APCDVMX) I "YyNn"'[APCDVMX W $C(7) G RDR
  1. I "Nn"[APCDVMX D EOJ Q
  1. D ^APCDVM2
  1. I $D(APCDVMQF) W !!,"*** ERROR encountered. QFLG=",APCDVMQF D EOJ Q
  1. S $P(^AUPNVSIT(APCDVMF,0),U,37)=APCDVMT ;direct set as visit is being deleted. set for billing
  1. S $P(^AUPNVSIT(APCDVMF,22),U)="MERGED TO VISIT IEN "_APCDVMT
  1. ;UPDATE DELETE LOG
  1. D UPDLOG^APCDVDEL(APCDVMF,APCDVMT)
  1. S AUPNVSIT=APCDVMF D DEL^AUPNVSIT
  1. W !!,"*** MERGED VISIT ***"
  1. D ZTSK
  1. K DR S APCDVDSP=APCDVMT D ^APCDVDSP
  1. S APCDVSIT=APCDVMT D ^APCDVCHK K APCDVSIT
  1. D EOJ
  1. Q
  1. ;
  1. GETPAT ; GET PATIENT
  1. W !
  1. S APCDPAT=""
  1. S DIC="^AUPNPAT(",DIC(0)="AEMQ" D ^DIC K DIC
  1. Q:Y<0
  1. S APCDPAT=+Y
  1. Q
  1. ;
  1. GETVISIT ;
  1. K APCDVLK
  1. S APCDLOOK=""
  1. D ^APCDVLK
  1. S @APCDVV=APCDLOOK
  1. K APCDLOOK
  1. Q
  1. ;
  1. ZTSK ;
  1. S X="APCDVM3" X ^%ZOSF("TEST") Q:'$T
  1. K ZTSAVE F %="APCDVMF","APCDVMT" S ZTSAVE(%)=""
  1. S ZTRTN="^APCDVM3",ZTDESC="PACKAGE VISIT MERGE",ZTIO="",ZTDTH=DT D ^%ZTLOAD
  1. K ZTSK
  1. Q
  1. ;
  1. ;
  1. WRITE ; WRITE VISITS FOR SELECT
  1. NEW APCDA11,APCDAT
  1. S APCDA11=$G(^AUPNVSIT(APCDAX,11)),APCDAX=^AUPNVSIT(APCDAX,0)
  1. S APCDAT=$P(+APCDAX,".",2),APCDAT=$S(APCDAT="":"<NONE>",$L(APCDAT)=1:APCDAT_"0:00 ",1:$E(APCDAT,1,2)_":"_$E(APCDAT,3,4)_$E("00",1,2-$L($E(APCDAT,3,4)))_" ")
  1. W !,$$FMTE^XLFDT($P($P(APCDAX,U),"."))," TIME: ",APCDAT,"TYPE: ",$P(APCDAX,U,3)," CATEGORY: ",$P(APCDAX,U,7)
  1. W " CLINIC: ",$S($P(APCDAX,U,8)]"":$E($P(^DIC(40.7,$P(APCDAX,U,8),0),U),1,8),1:"<NONE>"),?56,"DEC: ",$S($P(APCDAX,U,9):$P(APCDAX,U,9),1:0)
  1. I $P(APCDA11,U,3)]"" W ?64,"VCN: ",$P(APCDA11,U,3)
  1. K APCDAT
  1. Q
  1. EOJ ; EOJ CLEAN UP
  1. K APCDCAT,APCDCLN,APCDDATE,APCDDOB,APCDDOD,APCDLOC,APCDPAT,APCDSEX,APCDTYPE,APCDVSIT,APCDVMF,APCDVMT,APCDVMX,APCDVV
  1. K AUPNPAT,AUPNSEX,AUPNDAYS,AUPNDOB,AUPNVSIT,AUPNDOD
  1. Q