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

DVBAB1B.m

Go to the documentation of this file.
  1. DVBAB1B ;ALB/SPH - CAPRI UTILITIES ; 8/21/18 9:58am
  1. ;;2.7;AMIE;**104,143,193**;Apr 10, 1995;Build 84
  1. ;
  1. DPA(LIST,DFN,CHOICE) ;Display Patient Appointments
  1. N DVBABCNT,CKCHOICE
  1. S LIST="",DVBABCNT=1,CKCHOICE="A,F,P",DFN=$G(DFN),CHOICE=$G(CHOICE) K ^TMP("DVBAAPPT",$J)
  1. I DFN="" S ^TMP("DVBAAPPT",$J,DUZ,DVBABCNT)="MISSING PATIENT NAME",LIST=$NA(^TMP("DVBAAPPT",$J,DUZ)) Q
  1. I CHOICE="" S ^TMP("DVBAAPPT",$J,DUZ,DVBABCNT)="MISSING ALL, PAST, OR FUTURE",LIST=$NA(^TMP("DVBAAPPT",$J,DUZ)) Q
  1. I CKCHOICE'[CHOICE S ^TMP("DVBAAPPT",$J,DUZ,DVBABCNT)="INVALID SELECTION",LIST=$NA(^TMP("DVBAAPPT",$J,DUZ)) Q
  1. I CHOICE["A" D
  1. .S SDT=0
  1. .S X="T+730" D ^%DT
  1. .I Y<0 S ^TMP("DVBAAPPT",$J,DUZ,DVBABCNT)="ERROR IN CALCULATING ENDING DATE RANGE",LIST=$NA(^TMP("DVBAAPPT",$J,DUZ))
  1. .S EDT=Y+.9
  1. I CHOICE["F" D
  1. .S X="T+1" D ^%DT
  1. .I Y<0 S ^TMP("DVBAAPPT",$J,DUZ,DVBABCNT)="ERROR IN CALCULATING START DATE RANGE",LIST=$NA(^TMP("DVBAAPPT",$J,DUZ))
  1. .S SDT=Y
  1. .K X,Y
  1. .S X="T+730" D ^%DT
  1. .I Y<0 S ^TMP("DVBAAPPT",$J,DUZ,DVBABCNT)="ERROR IN CALCULATING ENDING DATE RANGE",LIST=$NA(^TMP("DVBAAPPT",$J,DUZ))
  1. .S EDT=Y+.9
  1. I CHOICE["P" D
  1. .S X="T" D ^%DT
  1. .I Y<0 S ^TMP("DVBAAPPT",$J,DUZ,DVBABCNT)="ERROR IN CALCULATING ENDING DATE RANGE",LIST=$NA(^TMP("DVBAAPPT",$J,DUZ))
  1. .S EDT=Y+.9
  1. .K X,Y
  1. .S SDT=0
  1. Q:LIST["ERROR"
  1. I $O(^DPT(DFN,"S",SDT))'>0 S ^TMP("DVBAAPPT",$J,DUZ,DVBABCNT)="NO APPOINTMENTS FOUND FOR YOUR DATE RANGE",LIST=$NA(^TMP("DVBAAPPT",$J,DUZ)) Q
  1. F S SDT=$O(^DPT(DFN,"S",SDT)) Q:'SDT!(SDT>EDT) D
  1. .S CLN=$P(^DPT(DFN,"S",SDT,0),"^") Q:'CLN
  1. .Q:'$D(^SC(CLN,0))
  1. .S CLN=$P(^SC(CLN,0),"^")
  1. .S ZZ=$L(CLN)
  1. .I ZZ<31 D
  1. ..F ZZZ=ZZ:1:30 S CLN=CLN_" "
  1. .S Y=SDT X ^DD("DD")
  1. .S ZZ2=$L(Y)
  1. .I ZZ2<21 D
  1. ..F ZZZ2=ZZ2:1:20 S Y=Y_" "
  1. .S STATUS=$P(^DPT(DFN,"S",SDT,0),"^",2)
  1. .I STATUS'="" D
  1. ..I STATUS="N" S STATUS="NO-SHOW"
  1. ..I STATUS="C" S STATUS="CANCELLED BY CLINIC"
  1. ..I STATUS="CA" S STATUS="CANCELLED BY CLINIC & AUTO RE-BOOK"
  1. ..I STATUS="NA" S STATUS="NO-SHOW & AUTO-REBOOK"
  1. ..I STATUS="I" S STATUS="INPATIENT APPOINTMENT"
  1. ..I STATUS="PC" S STATUS="CANCELLED BY PATIENT"
  1. ..I STATUS="PCA" S STATUS="CANCELLED BY PATIENT & AUTO RE-BOOK"
  1. ..I STATUS="NT" S STATUS="NO ACTION TAKEN"
  1. . I $D(^DPT(DFN,"S",SDT,"R")) S REMARK=$P(^DPT(DFN,"S",SDT,"R"),"^",1) ;ADDED
  1. .S ^TMP("DVBAAPPT",$J,DUZ,DVBABCNT)=CLN_" "_Y_" "_STATUS,DVBABCNT=DVBABCNT+1
  1. . I $D(REMARK) S ^TMP("DVBAAPPT",$J,DUZ,DVBABCNT)=" Cancellation Remarks: "_REMARK,DVBABCNT=DVBABCNT+1
  1. . I $D(REMARK) K REMARK
  1. .S LIST=$NA(^TMP("DVBAAPPT",$J,DUZ))
  1. K DFN,X,%DT,CLN,CHOICE,Y,SDT,EDT
  1. Q
  1. ;
  1. CHECK(DVBRSLTS,DVBPATCH) ; Checks for KIDS Patch install
  1. ; RPC: DVBA CHECK PATCH
  1. ; Input: DVBPATCH - Patch Number (i.e. DVBA*2.7*142)
  1. ; Output: Returns "1^Patch Is Installed" on success;
  1. ; otherwise returns "0^Patch Is Not Installed"
  1. N DVBX
  1. S DVBX=$$PATCH^XPDUTL(DVBPATCH)
  1. S DVBRSLTS=$S(DVBX:"1^Patch Is Installed",1:"0^Patch Is Not Installed")
  1. Q