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

APCDELMP.m

Go to the documentation of this file.
  1. APCDELMP ; IHS/CMI/LAB - prcess visit in list man ;
  1. ;;2.0;IHS PCC SUITE;;MAY 14, 2009
  1. ;
  1. ;
  1. ;This routine in the driver routine for data entry option
  1. ;ENTER DATA W/ITEM LIST. It prompts for enough information
  1. ;to create or select a visit and then uses list manager to
  1. ;present the data entry items to the user for selection.
  1. ;
  1. EN ;PEP - called from option - called from TIU
  1. HDR ; Write Header
  1. D EN1^APCDEKL ;clean up before starting
  1. D EN2^APCDEKL
  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,APCDEXIT
  1. W !!
  1. D ^APCDEIN ;set up data entry site parameters
  1. Q:APCDFLG
  1. S APCDTPLT("NAME")="MNEMONIC",APCDTPLT=0 ;these are needed for data entry routines
  1. S APCDPAT=""
  1. F D GETPAT^APCDEAP Q:APCDPAT="" D GETVISIT^APCDEAP I APCDVSIT D LM^APCDELM K AUPNVSIT
  1. D EOJ
  1. Q
  1. ;
  1. ;
  1. ;
  1. PROCESS ;process each visit
  1. GETLOC ; GET LOCATION OF ENCOUNTER
  1. S APCDLOC="" I $D(APCDDEFL),APCDDEFL]"" S DIC("B")=$P(^DIC(4,APCDDEFL,0),U)
  1. S DIC="^AUTTLOC(",DIC(0)="AEMQ" D ^DIC K DIC
  1. Q:Y<0
  1. S APCDLOC=+Y
  1. ;
  1. GETTYPE ; GET TYPE OF ENCOUNTER
  1. S APCDTYPE=""
  1. K DTOUT,DUOUT,DIRUT,DIROUT,DIR,DA
  1. I $D(APCDDEFT),APCDDEFT]"" S DIR("B")=APCDDEFT
  1. S DIR(0)="9000010,.03",DIR("A")="TYPE" D ^DIR K DIR
  1. G:$D(DIRUT) GETLOC
  1. S APCDTYPE=X
  1. ;
  1. GETCAT ; GET SERVICE CATEGORY
  1. S APCDCAT=""
  1. K DTOUT,DUOUT,DIRUT,DIROUT,DIR,DA
  1. I $D(APCDDEFS),APCDDEFS]"" S DIR("B")=APCDDEFS
  1. S DIR(0)="9000010,.07",DIR("A")="SERVICE CATEGORY" D ^DIR K DIR
  1. G:$D(DIRUT) GETTYPE
  1. S APCDCAT=X
  1. ;
  1. GETDATE ; GET DATE OF ENCOUNTER
  1. S APCDDATE=""
  1. W !!,"VISIT DATE: " R X:$S($D(DTIME):DTIME,1:300) S:'$T X=""
  1. G:X=""!(X="^") GETCAT
  1. S %DT="ET" D ^%DT G:Y<0 GETDATE
  1. I Y>DT W " <Future dates not allowed>",$C(7),$C(7) K X G GETDATE
  1. S APCDDATE=Y
  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. I $D(APCDPARM),$P(APCDPARM,U,3)="Y" W !?25,"Ok" S %=1 D YN^DICN Q:%'=1
  1. S APCDPAT=+Y
  1. I DUZ("AG")="I" D ^APCDEMDI I $D(^APCDSITE(DUZ(2),11)) D ^APCDECC
  1. GETVISIT ;
  1. S APCDNOXV="" D ^APCDALV K APCDNOXV
  1. I $D(APCDAFLG)#2,APCDAFLG=2 W $C(7),!,"VISIT date not valid for current patient!",! S APCDFLG=1 Q
  1. I APCDVSIT="" W !!,"No visit selected." Q
  1. S APCDLVST=APCDVSIT
  1. S DIE="^AUPNPAT(",DR=".16///TODAY",DA=APCDPAT D ^DIE
  1. S AUPNVSIT=APCDVSIT D MOD^AUPNVSIT
  1. I AUPNDOB]"" S X2=AUPNDOB,X1=APCDDATE D ^%DTC S AUPNDAYS=X
  1. CLN ;
  1. G:$P(^AUPNVSIT(APCDVSIT,0),U,8) LM
  1. W !!,"Please enter the clinic this patient is attending.",!
  1. S APCDCLN=""
  1. S DIC("A")="Enter CLINIC: ",DIC="^DIC(40.7,",DIC(0)="AEMQ" D ^DIC K DIC
  1. I X="" W !,"Clinic is Required." K APCDDATE,APCDVSIT G GETDATE
  1. I Y<0 G CLN
  1. S APCDCLN=+Y
  1. S DIE="^AUPNVSIT(",DA=APCDVSIT,DR=".08///`"_APCDCLN D ^DIE K DIE,DA,DR
  1. LM ;
  1. D EN^APCDEFL
  1. I $G(APCDVSIT) D EP^APCDKDE
  1. Q
  1. ;
  1. ;
  1. EOJ ; END OF JOB
  1. D KILL^AUPNPAT
  1. K APCDHIGH,APCDSEL,APCDCUT,APCDDISP,APCDANS,APCDC,APCDI,APCDCRIT,APCDTEXT
  1. K ^TMP("APCDEF",$J)
  1. D ^APCDEKL,EN2^APCDEKL
  1. D ^XBFMK
  1. Q
  1. TEXT ;
  1. ;;PCC Data Entry Module
  1. ;;
  1. ;;************************************************
  1. ;;***** PCC DATA ENTRY UPDATE VISIT BY ITEM *****
  1. ;;************************************************
  1. ;;
  1. Q