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

ACDPCCL.m

Go to the documentation of this file.
  1. ACDPCCL ;IHS/ADC/EDE/KML - PCC LINK;
  1. ;;4.1;CHEMICAL DEPENDENCY MIS;;MAY 11, 1998
  1. ;
  1. ; Local array set as CDMIS entries added or edited:
  1. ; ACDPCCL(patient ien,visit ien)=""
  1. ; ACDPCCL(patient ien,visit ien,"CS",cs ien)=""
  1. ; ACDPCCL(patient ien,visit ien,"IIF",iif ien)=""
  1. ; ACDPCCL(patient ien,visit ien,"TDC",tdc ien)=""
  1. ;
  1. ; Local array set by this routine for PROTOCOL file:
  1. ; PGM
  1. ; ACDEV("TYPE")=add/edit/delete (i.e., A,E,D)
  1. ; ACDEV("SITE TYPE")=pcc visit type (e.g. I, 6)
  1. ; ACDEV("CLINIC")=clinic stop ien
  1. ; ACDEV("LOCATION")=location ien
  1. ; VIS
  1. ; ACDEV("VISIT")=visit ien
  1. ; ACDEV("PAT")=patient ien
  1. ; ACDEV("TC")=type contact (e.g. IN, CS)
  1. ; ACDEV("V DATE")=date of CDMIS visit
  1. ; ACDEV("PRI PROV")=primary provider ien
  1. ; ACDEV("SVC CAT")=service category (e.g. A)
  1. ; IIF & TDC
  1. ; ACDEV("POV",n)=icd9 ien:code:CHEMICAL DEPENDENCY-problem narr
  1. ; ACDEV("TIME")=time in minutes
  1. ; CS
  1. ; *ACDEV("V DATE")=date of CDMIS visit
  1. ; *ACDEV("LOCATION")=location ien
  1. ; *ACDEV("TIME")=time in minutes
  1. ; *ACDEV("POV",1)=icd9 ien:code:CONSULTING ON SUBSTANCE USE & ABUSE
  1. ; ACDEV("PROC",date,loc,n,"CS IEN")=ien of client svc entry
  1. ; ACDEV("PROC",date,loc,n,"NARR")=
  1. ; cpt ien:code:CHEMICAL DEPENDENCY-CS narr
  1. ; ACDEV("PROC",date,loc,n,"TIME")=time in minutes
  1. ; ACDEV("PROC",date,loc,n,"PROV",provider ien)=""
  1. ;
  1. ; ACDEV("PROC",date,loc,"PROV",provider ien)=""
  1. ;
  1. START ;
  1. NEW ACDPROV
  1. S ACDQ=0
  1. ;W !!,"Generating CDMIS event array for visit data",!
  1. W !!,"Generating PCC link",!
  1. I '$O(ACDPCCL(0)) D ERROR("No visit data found",3) Q
  1. D PATLOOP
  1. D EOJ
  1. S ACDQ=0
  1. K ACDDFNP,ACDVIEN
  1. Q
  1. ;
  1. PATLOOP ; GENERATE PCC LINK OR BILL FOR ALL VISITS FOR EACH PATIENT
  1. S ACDDFNP=0
  1. F S ACDDFNP=$O(ACDPCCL(ACDDFNP)) Q:'ACDDFNP S ACDVIEN=0 F S ACDVIEN=$O(ACDPCCL(ACDDFNP,ACDVIEN)) Q:'ACDVIEN D VISIT
  1. Q
  1. ;
  1. VISIT ; EP - BUILD EVENT ARRAY AND GENERATE LINK/BILL FOR ONE VISIT
  1. ;//^ACDPCCLS
  1. D VISIT2
  1. K ACDEV,ACDPCCL(ACDDFNP,ACDVIEN),ACDPDD,ACDPRD
  1. Q
  1. ;
  1. VISIT2 ;
  1. I ACDFHCP D CHKCOV I 'ACD3PCOV,'ACDFPCC Q ;quit if no coverage/pcc
  1. K ACD3PCOV
  1. ;----- if edit mode delete v file entries and then add back
  1. I ACDMODE="E" D ^ACDPCCL7 S ACDMODEE=""
  1. Q:'$D(ACDPCCL(ACDDFNP,ACDVIEN)) ; quit if should not be added back
  1. NEW ACDMODE
  1. S ACDMODE="A"
  1. ;-----
  1. D GENEVENT^ACDPCCL2
  1. Q:ACDQ
  1. D:ACDFHCP GENBILL^ACDPCCL4
  1. D:ACDFPCC GENLINK^ACDPCCL5
  1. Q
  1. ;
  1. CHKCOV ; EP-CHECK PATIENT 3RD PARTY COVERAGE ON VISIT DATE
  1. ;//^ACDBILLP
  1. S ACD3PCOV=0
  1. S ACD3PDAT=$P($G(^ACDVIS(ACDVIEN,0)),U)
  1. Q:ACD3PDAT=""
  1. S ACD3PCOV=$$MCD^AUPNPAT(ACDDFNP,ACD3PDAT)
  1. Q:ACD3PCOV
  1. S ACD3PCOV=$$MCR^AUPNPAT(ACDDFNP,ACD3PDAT)
  1. Q:ACD3PCOV
  1. S ACD3PCOV=$$PI^AUPNPAT(ACDDFNP,ACD3PDAT)
  1. Q:ACD3PCOV
  1. Q:'$D(ACDPCCLS)
  1. W !
  1. S DIR(0)="Y",DIR("A")="There is no 3rd party coverage for this visit. Print a hardcopy anyway?",DIR("B")="N" K DA D ^DIR K DIR
  1. S:Y ACD3PCOV=1
  1. Q
  1. ;
  1. ERROR(MSG,TIME) ; EP - WRITE ERROR TO OPERATOR
  1. S:$G(MSG)="" MSG="***** ERROR^ACDPCCL - NOTIFY PROGRAMMER *****"
  1. W !,$G(IORVON),MSG,$G(IORVOFF),!
  1. I $G(TIME) H TIME
  1. Q
  1. ;
  1. EOJ ;
  1. K %,A,C,W,X,Y,Z
  1. K AGE
  1. K ACDPCCL,ACDEV
  1. K ACD3PCOV,ACD3PDAT
  1. Q