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

ACDPCCLS.m

Go to the documentation of this file.
  1. ACDPCCLS ;IHS/ADC/EDE/KML - GEN PCC LINK/HC;
  1. ;;4.1;CHEMICAL DEPENDENCY MIS;;MAY 11, 1998
  1. ;
  1. ; This routine generates a PCC link or prints a hardcopy from a
  1. ; patient's CDMIS visit.
  1. ;
  1. START ;
  1. NEW ACDFHCP,ACDFPCC
  1. D INIT
  1. I ACDQ D EOJ Q
  1. D MAIN
  1. Q
  1. ;
  1. INIT ;
  1. D:'$D(ACD6DIG) ^ACD
  1. S ACDQ=1
  1. S DIR(0)="SO^1:PCC LINK;2:HARDCOPY",DIR("A")="Generate PCC link or hardcopy",DIR("B")="2" K DA D ^DIR K DIR
  1. Q:$D(DIRUT)
  1. S ACDOPT=Y
  1. S (ACDFHCP,ACDFPCC)=0
  1. S:ACDOPT=1 ACDFPCC=1
  1. S:ACDOPT=2 ACDFHCP=1
  1. I ACDFPCC S X=1 D ^ACDPCCLC I '$D(X) H 3 Q
  1. S ACDMODE="A" ; ***** ADD, EDIT, or DELETE *****
  1. S ACDQ=0
  1. Q
  1. ;
  1. HCP ; EP-GENERATE HARDCOPY FOR SELECTED PATIENTS/VISITS
  1. ;//option file
  1. NEW ACDFHCP,ACDFPCC
  1. S ACDFPCC=0
  1. S ACDFHCP=1,ACDMODE="A",ACDQ=0
  1. D MAIN
  1. Q
  1. ;
  1. MAIN ;
  1. F D PATLOOP Q:ACDQ
  1. D EOJ
  1. Q
  1. ;
  1. PATLOOP ; DISPLAY PATIENTS UNTIL DONE
  1. D GETPAT
  1. Q:ACDQ
  1. D GETVSITS^ACDDEU ; gather all visits for patient
  1. Q:ACDQ
  1. D SELECT ; select visit to display
  1. Q:ACDQ
  1. D GENOUTP ; print hardcopy or gen pcc link
  1. Q
  1. ;
  1. GETPAT ; GET PATIENT
  1. S ACDQ=1
  1. S AUPNLK("ALL")=1
  1. S DIC="^AUPNPAT(",DIC(0)="AEMQ",DIC("S")="I $D(^ACDVIS(""D"",Y))" D DIC^ACDFMC
  1. K AUPNLK("ALL")
  1. Q:Y<0
  1. S ACDDFNP=+Y,ACDDFN=$P(^DPT(ACDDFNP,0),U)
  1. S ACDQ=0
  1. Q
  1. ;
  1. SELECT ; SELECT A CDMIS VISIT
  1. S ACDQ=1
  1. W !
  1. S ACDVIEN=0
  1. K ACDVLST
  1. I $O(^TMP("ACD",$J,"VISITS",0))="" W !,"----------",!,"No CDMIS visits!",!,"----------",! Q
  1. S ACDDTLOW=0,ACDDTHI=9999999
  1. I ACDVCNT>20 D GETDTRNG Q:ACDQ W !
  1. S ACDQ=1
  1. W !
  1. S ACDLC=0
  1. S ACDX=ACDDTLOW S:ACDX>0 ACDX=ACDX-1
  1. F S ACDX=$O(^TMP("ACD",$J,"VISITS",ACDX)) Q:ACDX="" I ACDX'<ACDDTLOW,ACDX'>ACDDTHI S ACDY=0 F S ACDY=$O(^TMP("ACD",$J,"VISITS",ACDX,ACDY)) Q:'ACDY D Q:ACDQ
  1. . S ACDQ=0
  1. . S ACDLC=ACDLC+1
  1. . S ACDVLST(ACDLC)=ACDY
  1. . S DIC="9002172.1",DA=ACDY,DR=".01;1;3;5",DIQ="ACDPDD("
  1. . D DIQ1^ACDFMC
  1. . W ACDLC,?5,ACDPDD(9002172.1,ACDY,.01),?18," - ",ACDPDD(9002172.1,ACDY,1),"/",ACDPDD(9002172.1,ACDY,5)," ",ACDPDD(9002172.1,ACDY,3),!
  1. . K ACDPDD
  1. . I '(ACDLC#20) D PAUSE^ACDDEU S:$D(DIRUT) ACDQ=1
  1. . Q
  1. S ACDQ=1
  1. I 'ACDLC W !,"No visits in date range",! Q
  1. S DIR(0)="NO^1:"_ACDLC,DIR("A")="Select one of the listed visits" K DA D ^DIR K DIR
  1. S:Y ACDVIEN=ACDVLST(Y)
  1. K ACDLC,ACDVLST
  1. Q:'ACDVIEN
  1. S ACDQ=0
  1. Q
  1. ;
  1. GETDTRNG ; GET DATE RANGE FOR VISIT
  1. S ACDQ=1
  1. S ACDDTLOW=$O(^TMP("ACD",$J,"VISITS",0)),ACDDTHI=$O(^TMP("ACD",$J,"VISITS","Z"),-1)
  1. W !,"Patient has ",ACDVCNT," visits between ",$$FMTE^XLFDT(ACDDTLOW,"1")," and ",$$FMTE^XLFDT(ACDDTHI,"1"),".",!,"Enter date range of desired visit.",!
  1. S DIR(0)="DO^::E",DIR("A")="Enter beginning date" K DA D ^DIR K DIR
  1. Q:'Y
  1. S ACDDTLOW=Y
  1. S DIR(0)="D^"_Y_"::E",DIR("A")="Enter ending date",DIR("B")=X K DA D ^DIR K DIR
  1. Q:$D(DIRUT)
  1. S ACDDTHI=Y
  1. S ACDQ=0
  1. Q
  1. ;
  1. GENOUTP ; EP - PRINT HARDCOPY OR GENERATE PCC LINK FOR CDMIS VISIT
  1. I ACDFPCC,$O(^ACDVIS(ACDVIEN,21,0)) W !!,"This visit already has an associated PCC visit!",! Q
  1. S X=$P(^ACDVIS(ACDVIEN,0),U,4)
  1. I X'="IN",X'="RE",X'="FU",X'="IR",X'="OT",X'="TD",X'="CS" W !,"INVALID TYPE CONTACT",!
  1. E S ACDCONT=X D @("SET"_ACDCONT)
  1. I 'ACDQ S ACDPCCLS=1 D VISIT^ACDPCCL K ACDPCCLS
  1. Q
  1. ;
  1. SETIN ; INITIAL
  1. D SETIIF
  1. Q
  1. ;
  1. SETRE ; REOPEN
  1. D SETIIF
  1. Q
  1. ;
  1. SETFU ; FOLLOWUP
  1. D SETIIF
  1. Q
  1. ;
  1. SETIIF ; HARDCOPY FROM IIF ENTRY
  1. S ACDQ=1
  1. K ACDPCCL
  1. S Y=$O(^ACDIIF("C",ACDVIEN,0))
  1. Q:'Y
  1. S ACDPCCL(ACDDFNP,ACDVIEN,"IIF",Y)=""
  1. S ACDPCCL(ACDDFNP,ACDVIEN)=""
  1. S ACDQ=0
  1. Q
  1. ;
  1. SETTD ; HARDCOPY FROM TDC ENTRY
  1. S ACDQ=1
  1. K ACDPCCL
  1. S Y=$O(^ACDTDC("C",ACDVIEN,0))
  1. Q:'Y
  1. S ACDPCCL(ACDDFNP,ACDVIEN,"TDC",Y)=""
  1. S ACDPCCL(ACDDFNP,ACDVIEN)=""
  1. S ACDQ=0
  1. Q
  1. ;
  1. SETCS ; HARDCOPY OR PCC LINK FROM CLIENT SERVICES
  1. S ACDY=0
  1. F S ACDY=$O(^ACDCS("C",ACDVIEN,ACDY)) Q:'ACDY D
  1. . S ACDPCCL(ACDDFNP,ACDVIEN,"CS",ACDY)=""
  1. . Q
  1. Q
  1. ;
  1. EOJ ;
  1. K ACDEV,ACDPCCL
  1. D ^ACDKILL
  1. Q