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

BPCPCCUP.m

Go to the documentation of this file.
  1. BPCPCCUP ; IHS/OIT/MJL - GUI V FILE VISIT CREATION ;
  1. ;;1.5;BPC;;MAY 26, 2005
  1. ;;
  1. EN(BPCARRAY,BPCVFILE,BPCUPDF,BPCPARM,BPCRTN) ;EP CALL
  1. D
  1. .D PRECHECK Q:BPCERR'=""
  1. .D INIT
  1. .D PARSE I BPCUPDF="C" D VISITCKS Q:BPCERR'=""
  1. .I BPCRTN'="" D @$TR(BPCRTN,"|","^") Q:BPCERR'=""
  1. .D UPDATE
  1. I BPCERR'="" D ERROR(BPCERR)
  1. D KILL
  1. Q
  1. ;
  1. INIT ;
  1. K APCDALVR
  1. K X,Y,DINUM,DLAYGO,DR,DIC,DA,D0,DIU,DIW,DIY,DIV ; KILL FILEMAN VAR
  1. S APCDALVR("APCDAUTO")="" ;BACKGROUND SILENT VISIT CREATION
  1. S APCDALVR("AUPNTALK")="" ;BACKGROUND SILENT VISIT CREATION
  1. S (APCDAUTO,AUPNTALK)=""
  1. S BPCRTN=$G(BPCRTN)
  1. Q
  1. ;
  1. PARSE ;
  1. F BPCN=1:1:$L(BPCPARM,$C(30)) S BPCVAL=$P(BPCPARM,$C(30),BPCN),APCDALVR("APCD"_$P(BPCVAL,$C(20)))=$P(BPCVAL,$C(20),2)
  1. Q
  1. ;
  1. UPDATE ;
  1. D
  1. .I BPCUPDF="C" D ^APCDALV I $G(APCDALVR("APCDAFLG"))'="" S BPCERR="PCC Visit not created" Q
  1. .S APCDALVR("APCDATMP")="[APCDALVR "_BPCVFILE_" ("_$S(BPCUPDF="C":"ADD",1:"MOD")_")]"
  1. .I '$D(APCDALVR("APCDVSIT")),$G(APCDALVR("APCDADFN")) S APCDALVR("APCDVSIT")=$P(@$P(^DIC(BPCVFILE,0,"GL"),"(")@(APCDALVR("APCDADFN"),0),U,3),APCDALVR("APCDLOOK")=APCDALVR("APCDADFN")
  1. .I '$G(APCDALVR("APCDVSIT")) S BPCERR=$P(^DIC(BPCVFILE,0),U)_" not updated - Visit IEN not set!" Q
  1. .D ^APCDALVR
  1. .;D ^BPCEDM
  1. .I $G(APCDALVR("APCDAFLG"))'="" S BPCERR=$P(^DIC(BPCVFILE,0),U)_" not updated" Q
  1. I BPCERR'="" S:$G(APCDALVR("APCDAFLG"))'="" BPCERR=BPCERR_" - "_APCDALVR("APCDAFLG") S:$G(APCDAFLG("ERR"))'="" BPCERR=BPCERR_$C(13,10)_APCDAFLG("ERR") Q
  1. D MSG("2"_$C(30)_APCDALVR("APCDVSIT")_$C(30)_APCDALVR("APCD"_$S(BPCUPDF="C":"ADFN",1:"LOOK")))
  1. Q
  1. ;
  1. ERROR(BPCX) ;
  1. D MSG("-1"_$C(30)_BPCX)
  1. Q
  1. ;
  1. MSG(BPCX) ;
  1. S BPCARRAY=BPCX
  1. Q
  1. ;
  1. PRECHECK ;
  1. ;check for FILE NAME
  1. S BPCERR=""
  1. I $G(BPCVFILE)="" S BPCERR="FILE NAME NOT SENT!" Q
  1. S:'BPCVFILE BPCVFILE=$O(^DIC("B",BPCVFILE,""))
  1. ;check for CREATE/MOD flag
  1. I $G(BPCUPDF)="" S BPCERR="CREATE/MOD FLAG NOT SENT!" Q
  1. ;check for PCC parameter/value pairs string
  1. I $G(BPCPARM)="" S BPCERR="NO PARAMETERS SET" Q
  1. Q
  1. ;
  1. VISITCKS ;
  1. ;check patient IEN
  1. I $G(APCDALVR("APCDPAT"))="" S BPCERR="PATIENT IEN NOT SENT!" Q
  1. ;check patient
  1. I '$D(^AUPNPAT($P(APCDALVR("APCDPAT"),"`",2),0)) S BPCERR="PATIENT ENTRY IS NOT DEFINED!" Q
  1. ;check for DUZ(2)
  1. I $G(APCDALVR("APCDLOC"))="" S BPCERR="LOCATION (DUZ(2)) NOT SENT!" Q
  1. ;Set VISIT TYPE
  1. I $G(APCDALVR("APCDTYPE"))="" S APCDALVR("APCDTYPE")=$P($G(^APCCCTRL(APCDALVR("APCDLOC"),0)),U,4) S:APCDALVR("APCDTYPE")="" APCDALVR("APCDTYPE")="I"
  1. ;check for good visit type
  1. I "^I^C^T^O^6^V^P^U^S^"'[U_APCDALVR("APCDTYPE")_U S BPCERR="VISIT TYPE NOT DEFINED!" Q
  1. ;check for SERVICE CATEGORY
  1. I $G(APCDALVR("APCDCAT"))="" S BPCERR="SERVICE CATEGORY NOT SENT!" Q
  1. I "^A^H^I^C^T^N^S^O^E^R^D^X^"'[U_APCDALVR("APCDCAT")_U S BPCERR="SERVICE CATEGORY NOT DEFINED!" Q
  1. ;check for VISIT DATE
  1. I $G(APCDALVR("APCDDATE"))="" S BPCERR="VISIT DATE NOT SENT!" Q
  1. ;check for provider
  1. ;I $G(APCDALVR("APCDTPRV"))="" S BPCERR="PROVIDER NOT SENT!" Q
  1. ;check for ORDERING PROVIDER ENTRY IN VA200
  1. I $G(APCDALVR("APCDTPRO"))'="" S BPCERR=$$PROVCK($P(APCDALVR("APCDTPRO"),"`",2),.05) Q:BPCERR'=""
  1. ;check for ORDERING PROVIDER ENTRY IN VA200
  1. I $G(APCDALVR("APCDTPRV"))'="" S BPCERR=$$PROVCK($P(APCDALVR("APCDTPRV"),"`",2),1202) Q:BPCERR'=""
  1. ;check for ENCOUNTER PROVIDER
  1. ;I $G(APCDALVR("APCDTEPR"))="" S BPCERR="INVALID ENCOUNTER PROVIDER SENT!" Q
  1. ;check for ENCOUNTER PROVIDER ENTRY IN VA200
  1. I $G(APCDALVR("APCDTEPR"))'="" S BPCERR=$$PROVCK($P(APCDALVR("APCDTEPR"),"`",2),1204) Q:BPCERR'=""
  1. Q
  1. ;
  1. PROVCK(BPCX,BPCFLD) ;
  1. ;Provider check
  1. I $P($P($G(^DD(BPCVFILE,BPCFLD,0)),U,2),"'",1)["P200" Q:$D(^VA(200,BPCX,0)) "" Q $P(^DD(BPCVFILE,BPCFLD,0),U,1)_" NOT DEFINED IN THE NEW PERSON FILE!"
  1. S BPCX=$G(^DIC(16,BPCX,"A3")) I BPCX S BPCX=$P($G(^VA(200,BPCX,0)),U,16) I BPCX,$D(^DIC(6,BPCX,0)) Q ""
  1. Q "No entry in Provider file for the "_$P(^DD(BPCVFILE,BPCFLD,0),U,1)_" field entry"
  1. ;
  1. KILL ;
  1. K APCDALVR,BPCPARM,BPCERR,BPCVAL
  1. Q