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

APCDEAP.m

Go to the documentation of this file.
  1. APCDEAP ; IHS/CMI/LAB - APPEND MODE ;
  1. ;;2.0;IHS PCC SUITE;**17**;MAY 14, 2009;Build 18
  1. ;
  1. ; APCDFLG=0 ... RUN
  1. ; APCDFLG=1 ... ERROR
  1. ;
  1. ; APCDMODE=A ... ADD
  1. ; APCDMODE=M ... MOD
  1. ;
  1. HDR ; Write Header
  1. W:$D(IOF) @IOF
  1. F APCDJ=1:1:5 S APCDX=$P($T(TEXT+APCDJ),";;",2) W !?80-$L(APCDX)\2,APCDX
  1. K APCDX,APCDJ
  1. W !!
  1. D ^APCDEIN
  1. Q:APCDFLG
  1. I '$D(APCDPARM) D ^APCDVAR
  1. S APCDPAT="",APCDNOXV=""
  1. F D GETPAT Q:APCDPAT="" D GETVISIT I APCDVSIT D MNEPROC
  1. D EOJ
  1. Q
  1. ;
  1. GETPAT ;EP - 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. I APCDPAT S DIE="^AUPNPAT(",DR=".16///TODAY",DA=APCDPAT D ^DIE
  1. I DUZ("AG")="I" D ^APCDEMDI
  1. Q
  1. ;
  1. GETVISIT ;EP - GET VISIT
  1. K APCDCAT,APCDTYPE,APCDTLOC,APCDTTYP,APCDTCAT,APCDTVST
  1. S APCDVSIT=""
  1. D ^APCDVLK
  1. ;I APCDVSIT S DA=APCDVSIT,DIE="^AUPNVSIT(",DR=".13////"_DT D ^DIE K DA,DIE,DR
  1. I APCDVSIT S AUPNVSIT=APCDVSIT D MOD^AUPNVSIT
  1. I APCDVSIT,AUPNDOB]"" S X2=AUPNDOB,X1=APCDDATE D ^%DTC S AUPNDAYS=X ; re-set days of age to visit date-dob
  1. I APCDVSIT K DR S APCDVDSP=APCDVSIT D ^APCDEWHA K APCDVDSP
  1. Q
  1. ;
  1. MNEPROC ;EP - PROCESS MNEMONICS UNTIL DONE
  1. S APCDMPQ=0
  1. F D GETMNE D:$D(APCDEQX) CHKEHR2^APCDVCHK I APCDMPQ Q
  1. D EP^APCDKDE
  1. D GETMNEK
  1. K APCDMPQ
  1. Q
  1. ;
  1. GETMNE ; GET MNEMONIC
  1. W !
  1. S DIC="^APCDTKW(",DIC(0)="AEMQ",DIC("A")="MNEMONIC: ",DIC("S")="I $L($P(^APCDTKW(+Y,0),U))<5,'$P(^(0),U,7)" D ^DIC K DIC("A"),DIC("S")
  1. I Y<0 D CHECK Q
  1. S APCDMNE=+Y,APCDMNE("NAME")=$P(Y,U,2)
  1. K APCDMOD
  1. D ^APCDEA3
  1. I $D(APCDEQX) D ^APCDEQX I $D(APCDEQX) S APCDMPQ=1 Q
  1. I $D(APCDMOD) W !!,"Switching to Modify Mode for ONE Mnemonic ONLY!" S APCDMODE="M",APCDVLK=APCDVSIT D GETMNE K APCDVLK,APCDMOD S APCDMODE="A" W !!,"Switching back to ENTER Mode!" Q
  1. Q
  1. ;
  1. GETMNEK ; KILL GETMNE SPECIFIC VARIABLES
  1. K APCDVSIT,APCDX,APCDEQX
  1. Q
  1. ;
  1. CHECK ; SEE IF PV AND PRO ENTERED CORRECTLY
  1. Q:$D(APCDMOD)
  1. S APCDMPQ=1
  1. I $P(^AUPNVSIT(APCDVSIT,0),U,7)="E" Q
  1. K APCDNOCL D ^APCDVCHK
  1. I APCDMODE'="M",'$D(^AUPNVPOV("AD",APCDVSIT)),'$D(^AUPNVPRN("AD",APCDVSIT)) W !,"PV mnemonic required!",!,APCDBEEP S:'$D(DTOUT) APCDMPQ=0 Q
  1. I APCDMODE'="M",'$D(^AUPNVPRV("AD",APCDVSIT)) W !,"PRV mnemonic required!",!,APCDBEEP S:'$D(DTOUT) APCDMPQ=0 Q
  1. I APCDMODE'="M",$D(APCDNOCL) W !,"CL mnemonic required!",!,$C(7) S:'$D(DTOUT) APCDMPQ=0 K APCDNOCL Q
  1. I APCDMODE'="M",$P(^AUPNVSIT(APCDVSIT,0),U,7)="H",$P(^(0),U,3)'="C",'$D(^AUPNVINP("AD",APCDVSIT)) W !,"IP Mnemonic required on Hospitalizations!",$C(7) S:'$D(DTOUT) APCDMPQ=0 Q
  1. I APCDMODE'="M",$P(^AUPNVSIT(APCDVSIT,0),U,3)="C",'$D(^AUPNVCHS("AD",APCDVSIT)) W !,"CHA, CHH or CHI mnemonic required with Contract Visits!",$C(7) S:'$D(DTOUT) APCDMPQ=0 Q
  1. D DEDT^APCDEA2(APCDVSIT) I $P(APCDPARM,U,5)="Y",'$D(^APCDFORM("AB",APCDVSIT)) S APCDFV=APCDVSIT D ^APCDFORM K APCDFV
  1. I $P(APCDPARM,U,5)="Y",$D(^AUPNVTC("AD",APCDVSIT)) S APCDFV=APCDVSIT D ^APCDFCTC K APCDFV ;IHS/CMI/LAB - patch 2,4 added this line for tc tracking
  1. Q
  1. ;
  1. EOJ ; END OF JOB
  1. D ^APCDEKL
  1. K DX,S,A,POP,IOY,%,%DT,X,Y,DI,DIGG,DIPGM,DISYS,DI,%1,DQ
  1. K APCDEQX,APCDMPQ,APCDNOXV
  1. Q
  1. TEXT ;
  1. ;;PCC Data Entry Module
  1. ;;
  1. ;;***************
  1. ;;* APPEND Mode *
  1. ;;***************
  1. Q