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

SDAL0.m

Go to the documentation of this file.
  1. SDAL0 ;ALB/GRR,TMP,MJK - APPOINTMENT LIST (CONTINUED FROM SDAL) ; 29 Jun 99 04:11PM
  1. ;;5.3;PIMS;**28,37,106,149,171,177,193,305,373,266,1015,1016**;JUN 30, 2012;Build 20
  1. LOOP I 'VAUTC,$G(^SC(SC,"ST",SDD,1))["CANCELLED" D Q
  1. .S SDPAGE=1 D HED^SDAL
  1. .S SDPCT="Clinic cancelled for this date!"
  1. .W !!?(IOM-$L(SDPCT)\2),SDPCT
  1. I $$CHECK(),$$NCHECK(),$$ACTIVE() D
  1. .S SDPAGE=1 D HED^SDAL Q:SDEND S SDPCT=0,SDFLG=1 ;SD*572 set flag
  1. .;loop through sorted appointment data for the clinic
  1. .N SDT,SDDFN,SDDATA,SDDATAC S SDT="" F S SDT=$O(^TMP($J,"SDAMA301","S",SC,SDT)) Q:'SDT D
  1. ..S SDDFN="" F S SDDFN=$O(^TMP($J,"SDAMA301","S",SC,SDT,SDDFN)) Q:'SDDFN!SDEND D
  1. ...;store appt data and comments for later reference
  1. ...S SDDATA=$G(^TMP($J,"SDAMA301","S",SC,SDT,SDDFN)),SDDATAC=$G(^(SDDFN,"C"))
  1. ...D MORE
  1. .W ! D CCLK Q:SDEND
  1. .I 'SDPCT S SDPCT="No activity found for this clinic date!" W !!?(IOM-$L(SDPCT)\2),SDPCT
  1. S SDPAGE=1 Q
  1. ;
  1. PTL N SDAPPT
  1. S DFN=+$P(SDDATA,"^",4),SDOI=$G(SDDATAC)
  1. S SDAPPT=""
  1. D ^VAUQWK,GETA
  1. I ($Y+7>IOSL) D HED^SDAL Q:SDEND
  1. I '$D(SDFS) S SDFS=1,X=PT D TM^SDROUT0 W !,$J(X,8)
  1. N SDCLY D CL^SDCO21(DFN,SDT,"",.SDCLY)
  1. N SDY S SDY=$Y
  1. W ! D:SDBC BARC^SDAL(85,$P(VAQK(2),"^"))
  1. ;check for Combat Vet
  1. N SDCV
  1. S SDCV=$$CVEDT^DGCV(DFN,$G(SDD))
  1. S SDCV=$P(SDCV,U,3)
  1. W !?3,$S($G(SDCV)=1:"(CV)",1:""),?9,$S($P(SDDATA,"^",7)="Y":"*",1:""),?10,$S(VAQK(1)]"":VAQK(1),1:"UNKNOWN PATIENT"),?41,$S(VAQK(2)]"":$E(VAQK(2),1,9),1:"")
  1. S INC=0 F SDZ=3,4,5 S X=SDZ(SDZ) D:X]"" TM^SDROUT0 S INC=SDZ#3*8+3 W ?48+INC,$J(X,8) W:INC<16 " "
  1. I VAQK(12)]"" W !,?41,VAQK(12) W:VAQK(13)]"" !,?41,VAQK(13)
  1. W:SDOI]"" !,?15,SDOI W:SDEM]"" !,?15,SDEM,$S($D(SDCP):$P(^SC(SDCP,0),"^"),1:$P(^SC(SC,0),"^")),!,?15,SDEM1
  1. W !,?10,"Phone #: ",$P($G(^DPT(DFN,.13)),"^",1) ;Phone Number [Residence]
  1. S SDX="" F I=7:1:9 I VAQK(I) S SDX=1 Q
  1. ;Primary Care information
  1. I +$G(SDPCMM) D TDATA^SDPPTEM(DFN,"",SDD,"P",15)
  1. ;; GAF SCORE CHECK
  1. N SDGAF,SDGAFST
  1. ;use Appt Type here since COLLATERAL VISIT field not supported by encapsulation API
  1. I $$MHCLIN^SDUTL2(SC),'($$COLLAT^SDUTL2(+VAQK(6))!$P($P(SDDATA,"^",10),";",2)["COLLATERAL OF VET") D
  1. . S SDGAF=$$NEWGAF^SDUTL2(DFN),SDGAFST=$P(SDGAF,"^")
  1. . W:SDGAFST !,?15,"** New GAF Score Required **"
  1. ;;
  1. I $O(SDCLY(0)) D
  1. .N PCL
  1. .S PCL=0
  1. .W !,?15,"** Required for facility workload credit => "
  1. .F S PCL=$O(SDCLY(PCL)) Q:'PCL D
  1. .. W " ",SDCLAR(PCL)," "
  1. .. I (SDCLAR(PCL)="SC")&($G(^DPT(DFN,0))]"") D
  1. ... K SDELAR
  1. ... S VAROOT="SDELAR"
  1. ... D ELIG^VADPT
  1. ... Q:'$P($G(SDELAR(3)),"^")
  1. ... W $P(SDELAR(3),"^",2),"% "
  1. ... K SDELAR,VAROOT
  1. .W "**"
  1. I $P(VAQK(11),"^",2)]"" W !,?15,"Means Test: ** ",$P(VAQK(11),"^",2)," **" W " Last Test: ",$$FDATE^SDUL1($P($$LST^DGMTU(DFN),U,2))
  1. S SDCOPS=$$LST^DGMTU(DFN,DT,2) I +SDCOPS W !,?15,"Co-Pay Status: ","**"_$P(SDCOPS,U,3)_"**"," Last Test: ",$$FDATE^SDUL1($P(SDCOPS,U,2)) K SDCOPS
  1. I $D(^DIC(8,+VAQK(6),0)),$P(^(0),U,9)=13 W !,?15,"** COLLATERAL **" G Q
  1. I +$P(SDDATA,"^",8)]"" D I V W !,?15,"** COLLATERAL **" G Q
  1. .S V=+$P(SDDATA,"^",8),V=$S($D(^DIC(8,+V,0)):$P(^(0),"^",9)=13,1:0)
  1. ;use Appt Type here since COLLATERAL VISIT field not supported by encapsulation API
  1. I $P($P(SDDATA,"^",10),";",2)["COLLATERAL OF VET" W !,?15,"** COLLATERAL VISIT **"
  1. I +$P($G(SDDATA),"^",8)=0 S V=0
  1. Q I SDBC,(SDY+5)>$Y F I=1:1 Q:(SDY+5)'>$Y W !
  1. I SDBC W !?9,$E(SDASH,9,255)
  1. S SDPCT=SDPCT+1 K V,SDX,SDMT,VAQK Q
  1. ;
  1. GETA K SDCP S SDZ(3)=$P($G(SDDATA),"^",21),SDZ(4)=$P($G(SDDATA),"^",20),SDZ(5)=$P($G(SDDATA),"^",19)
  1. S SDEM="",SDEC=+VAQK(6) Q:'SDEC
  1. S SDXX=$S('$D(^DIC(8,SDEC,0)):1,$P(^(0),"^",5)'="Y":1,$P(^(0),"^",4)=4:0,$P(^(0),"^",4)=5:0,1:1) Q:SDXX
  1. I $D(^SC(SC,"SL")),$P(^("SL"),U,5)]"",$D(^SC($P(^("SL"),U,5),0)) S SDCP=$P(^SC(SC,"SL"),U,5)
  1. S SDCP=$S($D(SDCP):SDCP,1:SC) I $D(^DPT(DFN,"DE","B",SDCP)),VAQK(12)']"" S SDEA=$O(^DPT(DFN,"DE","B",SDCP,0)) I $D(^DPT(DFN,"DE",+SDEA,0)),$P(^(0),"^",2)']"",$O(^(1,0))'="" D CKCED
  1. Q
  1. ;
  1. MORE K SDFS S PT=SDT D PTL
  1. Q
  1. ;
  1. CCLK S SDCC=0 F S SDCC=$O(^SC(SC,"C",SDD,1,SDCC)) Q:'SDCC!SDEND S SDPT0=$G(^DPT(+^(SDCC,0),0)) I $L(SDPT0) D
  1. .I ($Y+4>IOSL) D HED^SDAL Q:SDEND W !
  1. .W !,"CHART REQUEST: ",$P(SDPT0,"^",1),?34,$P(SDPT0,"^",9)
  1. Q
  1. ;
  1. CKCED S A=0 F S A=$O(^DPT(DFN,"DE",SDEA,1,A)) Q:'A I $P(^DPT(DFN,"DE",SDEA,1,A,0),"^",3)']"" D ENR Q
  1. Q
  1. ;
  1. ENR S SDEDT=$P(^(0),"^",1)\1,SDDIF=DT-SDEDT,SDREV=$P(^(0),"^",5),SDDIF1=$S(SDREV:DT-SDREV,1:"") ;NAKED REFERENCE - ^DPT(DFN,"DE",SDEA,1,A,0)
  1. I $P(^DPT(DFN,"DE",SDEA,1,A,0),"^",2)="O",$S(SDDIF1']""&(SDDIF>10000):1,SDDIF1>10000:1,1:0) S SDEM="PATIENT HAS BEEN ENROLLED IN ",SDEM1="FOR MORE THAN 1 YEAR, PLEASE RE-EVALUATE"
  1. Q
  1. ;
  1. CHECK() I $D(^SC(SC,0)),$P(^(0),"^",3)="C",$S(VAUTD:1,$D(VAUTD(+$P(^(0),"^",15))):1,'$P(^(0),"^",15)&$D(VAUTD(+$O(^DG(40.8,0)))):1,1:0)
  1. I $T,$D(^SC(SC,"ST",SDD,1)),^(1)'["**CANCELLED",$S('$D(^SC(SC,"I")):1,+^("I")'>0:1,+^("I")>SDD:1,+^("I")'>SDD&(+$P(^("I"),"^",2)>SDD!(+$P(^("I"),"^",2)=0)):0,1:1) Q 1
  1. Q 0
  1. ;
  1. NCOUNT ;COUNT, NON-COUNT, or BOTH FOR CLINIC SELECTION
  1. W !,"Count, Non Count, or Both: C//" R SDCONC:DTIME
  1. I '$T!(SDCONC="") S SDCONC="C" Q
  1. Q:SDCONC=U
  1. I $L(SDCONC)=1,$E(SDCONC)="?" W !,"Type C, N or B" G NCOUNT
  1. I $E(SDCONC,1,2)="??" D G NCOUNT
  1. . W !!,"Choosing ""C"" will limit the selection to COUNT clinics."
  1. . W !," ""N"" will limit the selection to NON COUNT clinics."
  1. . W !," ""B"" will give BOTH count and non count clinics.",!
  1. S SDCONC=$E(SDCONC),SDCONC=$TR(SDCONC,"bcn","BCN")
  1. I "BCN"'[SDCONC W !,"C, N or B" G NCOUNT
  1. Q
  1. ;
  1. NCHECK() ;EXTEND $T LOGIC COUNT, NO COUNT,or BOTH
  1. N NOC S NOC=$P($G(^SC(SC,0)),U,17)
  1. I SDCONC="B" Q 1
  1. I SDCONC="C"&(NOC="N") Q 1
  1. I SDCONC="N"&(NOC="Y") Q 1
  1. Q 0
  1. ;
  1. NCLINIC ;SCREEN CLINICS
  1. N NOCC
  1. I SDCONC="B" S NOCC="&1"
  1. I SDCONC="N" S NOCC="&($P(^(0),U,17)=""Y"")"
  1. I SDCONC="C" S NOCC="&($P(^(0),U,17)=""N"")"
  1. S DIC="^SC(",DIC("S")="I $P(^(0),U,3)=""C""&'$G(^(""OOS""))"_NOCC_"&$S(VAUTD:1,$D(VAUTD(+$P(^(0),U,15))):1,'+$P(^(0),U,15)&$D(VAUTD(+$O(^DG(40.8,0)))):1,1:0)",VAUTSTR="clinic",VAUTVB="VAUTC" G FIRST^VAUTOMA
  1. ;
  1. ACTIVE() ;Determine if clinic has activity to print
  1. ;Output: '1' if activity or selected clinic, '0' otherwise
  1. Q:'VAUTC 1 ;selected clinics
  1. Q:$O(^SC(SC,"C",SDD,1,0)) 1 ;chart request list
  1. ;if clinic has no appts, return 0
  1. S SDX=1 I '$D(^TMP($J,"SDAMA301",SC)) S SDX=0
  1. Q SDX