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

ACDPVDSP.m

Go to the documentation of this file.
  1. ACDPVDSP ;IHS/ADC/EDE/KML - DISPLAY PATIENT VISIT;
  1. ;;4.1;CHEMICAL DEPENDENCY MIS;;MAY 11, 1998
  1. ;
  1. ; This routine displays a patient's CDMIS visit with subordinate
  1. ; file entries.
  1. ;
  1. START ;
  1. W !
  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 DISPLAY
  1. D DEV^ACDDEU Q:ACDQ
  1. I $D(ACDSLAVE)!(IO'=IO(0)) D DISPTAG
  1. K ACDSLAVE S IO=IO(0)
  1. U 0
  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. DISPLAY ; EP - DISPLAY VISIT AND SUBORDINATE FILE ENTRIES
  1. I $O(^ACDVIS(ACDVIEN,21,0)) D
  1. . W !!,"This CDMIS visit has linked PCC visits."
  1. . S DIR(0)="Y",DIR("A")="Do you want to display the PCC visits also",DIR("B")="N" K DA D ^DIR K DIR
  1. . S:Y ACDPCCL=1
  1. . Q
  1. DISPTAG I $D(IO("Q")) D Q
  1. . S ZTRTN="DISPLAYQ^ACDPVDSP",ZTDESC="CDMIS VISIT DISPLAY",ZTDTH=$H,ZTSAVE("ACD*")=""
  1. . D ^%ZTLOAD
  1. . Q
  1. D DISPLAYQ S ACDQ=0
  1. Q
  1. ;
  1. DISPLAYQ ; EP - FOR TASKMAN
  1. I $D(ACDSLAVE) S IOP=ACDSLAVE D ^%ZIS
  1. U IO
  1. W:IO'=IO(0) @IOF
  1. D:$E(IOST,1,2)="P-" CONF^ACDDEU
  1. W !
  1. D DSPVSIT^ACDDEU(ACDVIEN)
  1. D:$E(IOST,1,2)'="P-" PAUSE^ACDDEU
  1. Q:$D(DIRUT)
  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 @("DSP"_ACDCONT)
  1. I $G(ACDPCCL) NEW ACDPCCV S ACDPCCL=0 F S ACDPCCL=$O(^ACDVIS(ACDVIEN,21,ACDPCCL)) Q:'ACDPCCL S ACDPCCV=$P(^(ACDPCCL,0),U,2) I ACDPCCV S APCDVDSP=ACDPCCV D ^APCDVDSP Q:$D(DIRUT)
  1. I $D(ACDSLAVE) W @IOF D ^%ZISC
  1. I $D(ZTQUEUED) D EOJ S ZTREQ="@"
  1. Q
  1. ;
  1. DSPIN ; DISPLAY INITIAL
  1. D DSPIIF
  1. Q
  1. ;
  1. DSPRE ; DISPLAY REOPEN
  1. D DSPIIF
  1. Q
  1. ;
  1. DSPFU ; DISPLAY FOLLOWUP
  1. D DSPIIF
  1. Q
  1. ;
  1. DSPIR ; DISPLAY INFO/REFERRAL
  1. D DSPIIF
  1. Q
  1. ;
  1. DSPOT ; DISPLAY CRISIS BRIEF
  1. D DSPIIF
  1. Q
  1. ;
  1. DSPIIF ; DISPLAY IIF ENTRY
  1. S DIC="^ACDIIF(",DA=$O(^ACDIIF("C",ACDVIEN,0))
  1. I 'DA W !,"NO IIF ENTRY TO DISPLAY",!
  1. E D DIQ^ACDFMC
  1. D:$E(IOST,1,2)'="P-" PAUSE^ACDDEU
  1. Q
  1. ;
  1. DSPTD ; DISPLAY TDC ENTRY
  1. S DIC="^ACDTDC(",DA=$O(^ACDTDC("C",ACDVIEN,0))
  1. I 'DA W !,"NO TDC ENTRY TO DISPLAY",!
  1. E D DIQ^ACDFMC
  1. D:$E(IOST,1,2)'="P-" PAUSE^ACDDEU
  1. Q
  1. ;
  1. DSPCS ; DISPLAY CLIENT SERVICES
  1. S ACDY=0
  1. S ACDQ=0
  1. F S ACDY=$O(^ACDCS("C",ACDVIEN,ACDY)) Q:'ACDY D Q:$D(DIRUT)
  1. . S DIC="^ACDCS(",DA=ACDY
  1. . D DIQ^ACDFMC
  1. . I $E(IOST,1,2)'="P-" D PAUSE^ACDDEU
  1. . Q
  1. S ACDQ=0
  1. Q
  1. ;
  1. EOJ ;
  1. D ^%ZISC
  1. D ^ACDKILL
  1. Q