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

APCHS2D.m

Go to the documentation of this file.
APCHS2D ; IHS/CMI/LAB - PART 2D OF APCHS -- SUMMARY PRODUCTION COMPONENTS ;
 ;;2.0;IHS PCC SUITE;**2**;MAY 14, 2009
 ;
 ;
SCHENC ; ********** SCHEDULED ENCOUNTERS * 2/44 **********
 ; <SETUP>
 Q:'$D(^DPT(APCHSPAT,"S"))
 X APCHSCKP Q:$D(APCHSQIT)  X:'APCHSNPG APCHSBRK
 ; <DISPLAY>
 S APCHSI=$O(^DPT(APCHSPAT,"S",0)) I APCHSI,APCHSI<DT D PAST
 D:$O(^DPT(APCHSPAT,"S",DT)) PEND
 ; <CLEANUP>
SCHENCX K APCHSVDT,APCHSVD1,APCHSIVD,APCHSDAT,APCHSPVD,APCHSN,APCHSVT,APCHSCN,APCHSCP,APCHSTST,APCHSI,APCHSJ,APCHSET,APCHSHP,APCHSVN,APCHSVNT,Y
 Q
 ;
PAST ;
 K ^TMP($J,"APCHS")
 S APCHSVD1=9999999-APCHSDLM,APCHSDAT=0,APCHSI=0
 S APCHSVDT=APCHSVD1 F APCHSQ=0:0 S APCHSVDT=$O(^DPT(APCHSPAT,"S",APCHSVDT)) Q:'APCHSVDT!(APCHSVDT>DT)  D ADDONE
 Q:'$O(^TMP($J,"APCHS",""))
 S APCHSET="PAST:" X APCHSCKP Q:$D(APCHSQIT)  W APCHSET,!
 S APCHSIVD=0 F APCHSQ=0:0 S APCHSIVD=$O(^TMP($J,"APCHS",APCHSIVD)) Q:'APCHSIVD  S APCHSVDT=^(APCHSIVD) D ONEVIS Q:$D(APCHSQIT)
 K ^TMP($J,"APCHS")
 Q
 ;
ADDONE S APCHSIVD=9999999.9999-APCHSVDT
 S APCHSI=APCHSI+1,^TMP($J,"APCHS",APCHSIVD)=APCHSVDT,^TMP($J,"APCHS","B",APCHSVDT)=""
 I APCHSNDM>0,APCHSI>APCHSNDM S APCHSI=APCHSI-1,APCHSJ=$O(^TMP($J,"APCHS","B","")) K ^(APCHSJ) K ^TMP($J,"APCHS",9999999.9999-APCHSJ)
 Q
PEND ;
 S APCHSET="PENDING:" X APCHSCKP Q:$D(APCHSQIT)  W APCHSET,!
 S APCHSDAT=0,APCHSVDT=DT-.01 F APCHSQ=0:0 S APCHSVDT=$O(^DPT(APCHSPAT,"S",APCHSVDT)) Q:'APCHSVDT  D ONEVIS Q:$D(APCHSQIT)
 Q
 ;
ONEVIS S APCHSN=^DPT(APCHSPAT,"S",APCHSVDT,0)
 Q:"CP"[$E($P(APCHSN,U,2)_" ")
 S APCHSAM="am"
 ;Q:$P(APCHSN,U,7)=4  ;skip unscheduled
 I APCHSVDT\1'=APCHSDAT S Y=APCHSVDT\1 X APCHSCVD S (APCHSPVD,APCHSDAT)=Y,APCHSNDM=APCHSNDM-1
 S APCHSVT=$E($P(APCHSVDT,".",2)_"000",1,4) S:APCHSVT>1159 APCHSAM="pm" S:APCHSVT>1300 APCHSVT=APCHSVT-1200 S:$L(APCHSVT)=3 APCHSVT=" "_APCHSVT S:$E(APCHSVT)="0" APCHSVT=" "_$E(APCHSVT,2,4) S APCHSVT=$E(APCHSVT,1,2)_":"_$E(APCHSVT,3,4)
 S APCHSTST="" F APCHSI=3,4,5 S APCHSJ=$P(APCHSN,U,APCHSI) I APCHSJ S:APCHSTST]"" APCHSTST=APCHSTST_"," S APCHSTST=APCHSTST_$P("^^LAB^XRAY^EKG^",U,APCHSI)
 S APCHSCP=+APCHSN,APCHSCN=$P($G(^SC(APCHSCP,0)),U,1) Q:APCHSCN=""
 S APCHSTST="",APCHSVNT=""
 S APCHSVN=0 F APCHSQ=0:0 S APCHSVN=$O(^SC(APCHSCP,"S",APCHSVDT,1,APCHSVN)) Q:'APCHSVN  I +^(APCHSVN,0)=APCHSPAT S APCHSTST=$P(^(0),U,2),APCHSVNT=$P(^(0),U,4) S:APCHSTST APCHSTST=APCHSTST_" min."
 F APCHSI=3,4,5 S APCHSJ=$P(APCHSN,U,APCHSI) I APCHSJ S:APCHSTST]"" APCHSTST=APCHSTST_"," S APCHSTST=APCHSTST_$P("^^LAB^XRAY^EKG^",U,APCHSI)
 D L1
 I APCHSVNT]"" X APCHSCKP Q:$D(APCHSQIT)  D:APCHSNPG L1 W ?20,APCHSVNT,!
 Q
L1 X APCHSCKP Q:$D(APCHSQIT)  I APCHSNPG W APCHSET,! S APCHSDAT=APCHSPVD
 W ?2,APCHSDAT,?11,APCHSVT,APCHSAM,?20,APCHSCN W:APCHSTST]"" " (",APCHSTST,")"
 W:$P(APCHSN,U,2)["N" ?37,"*** DNKA ***" W !
 Q
WAIT ;EP - active wait list entries for patient
 I $T(WLDATA^BSDWLV)="" W !!,"The scheduling routine for Wait List is missing, cannot display data." Q
 K APCHWAIT
 D WLDATA^BSDWLV(APCHSPAT,,.APCHWAIT)
 Q:'$D(APCHWAIT)
 X APCHSCKP Q:$D(APCHSQIT)  X:'APCHSNPG APCHSBRK
 ; <DISPLAY>
 W APCHWAIT(0),!
 S APCHSD="" F  S APCHSD=$O(APCHWAIT(APCHSD)) Q:APCHSD=""!($D(APCHSQIT))  D
 .S APCHSX=0 F  S APCHSX=$O(APCHWAIT(APCHSD,APCHSX)) Q:APCHSX=""!($D(APCHSQIT))  D
 ..X APCHSCKP Q:$D(APCHSQIT)
 ..W $P(APCHWAIT(APCHSD,APCHSX),U,2),!
 ; <CLEANUP>
WAITX K APCHWAIT
 Q