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

SDMHNS.m

Go to the documentation of this file.
  1. SDMHNS ;MAF/ALB - MENTAL HEALTH NO SHOW REPORT (BGJ);SEPTEMBER 9, 2010
  1. ;;5.3;Scheduling;**578,588**;Aug 13,1993;Build 53
  1. ;
  1. EN ;entry point for the automatic generation of the No Show Report from BGJ
  1. N SDBEG,SDEND,VAUTD,Y,SDUP,SDXFLG,SDDAT,X1,X2,SDTL,X,VAUTCL,SDPAG,SDX,TOTAL,IOM,SDNSDT,%
  1. K ^TMP("SDNS1",$J)
  1. S SDXFLG=1 ; This flag is set to 1 when it is from the background Job
  1. D NOW^%DTC S Y=$E(%,1,12) S SDDAT=$$FMTE^XLFDT(Y,"5") S X1=Y,X2=-1 D C^%DTC S SDBEG=$P(X,".",1)_".0000",SDEND=$P(X,".",1)_".2359"
  1. S SDNSDT=$$FMTE^XLFDT(X,"2")
  1. S VAUTD=1 ;All the divisions in the facility
  1. S SDTL="CLIN" ; sort by clinc for the BGJ
  1. S IOM=80
  1. N SDLN
  1. S X="",SDLN=0
  1. D START^SDMHAD
  1. N XMSUB,XMY,XMTEXT,XMDUZ,SDGRP
  1. S SDGRP=$O(^XMB(3.8,"B","SD MH NO SHOW NOTIFICATION",""))
  1. Q:'SDGRP
  1. D XMY^SDUTL2(SDGRP,0,0)
  1. S XMSUB="HRMH NO SHOW NIGHTLY REPORT"_" MESSAGE # "
  1. S XMTEXT="^TMP(""SDNS1"",$J,"
  1. S XMDUZ="POSTMASTER"
  1. D ^XMD
  1. K ^TMP("SDNS1",$J)
  1. Q
  1. SET(X) ; SET UP THE STRING
  1. S SDLN=SDLN+1,^TMP("SDNS1",$J,SDLN,0)=X
  1. Q
  1. ;
  1. N SDX
  1. S SDX="",X=""
  1. S SDPAG=SDPAG+1,SDX=$$SETSTR^SDMHNS1("HIGH RISK MENTAL HEALTH NO SHOW NIGHTLY REPORT",X,1,46)_$$SETSTR^SDMHNS1(" PAGE ",X,20,6)_$$SETSTR^SDMHNS1(SDPAG,X,4,4) D SET1^SDMHNS1(SDX)
  1. S SDX=$$SETSTR^SDMHNS1("By "_$S(SDTL="MEN":"MH CLINIC LIST",SDTL="STOP":"STOPCODE",1:"CLINIC")_" for Appointments on "_$P(SDNSDT,"@",1),X,1,50)_$$SETSTR^SDMHNS1("Run: "_SDDAT,X,9,30) D SET1^SDMHNS1(SDX)
  1. S SDX=$$SETSTR^SDMHNS1("*STATUS: NS = No Show NSA = No Show Auto Rebook NAT = No Action Taken",X,1,80) D SET1^SDMHNS1(SDX)
  1. S SDX=$$SETSTR^SDMHNS1("#",X,1,2)_$$SETSTR^SDMHNS1("PATIENT",X,4,7)_$$SETSTR^SDMHNS1("PT ID",X,15,5)_$$SETSTR^SDMHNS1("APPT D/T",X,2,17)_$$SETSTR^SDMHNS1("CLINIC/STATUS/PROVIDER",X,1,22) D SET1^SDMHNS1(SDX)
  1. S SDX=$$SETSTR^SDMHNS1($$LINE^SDMHAD(""),X,1,80) D SET1^SDMHNS1(SDX)
  1. HEAD1 I $D(^TMP(NAMSPC1,$J)),$D(SDXDIV) S SDX=$$SETSTR^SDMHNS1("DIVISION/CLINIC/STOP: "_$E(SDXDIV,1,24)_"/"_$E(SDXCLIN,1,26)_"/"_$E(SDXSTOP,1,6),X,1,80) D SET1^SDMHNS1(SDX)
  1. I '$D(^TMP(NAMSPC1,$J)),'$D(SDXDIV) S SDX=$$SETSTR^SDMHNS1($$LINE1^SDMHAD(">>>>>>>>>>>>> NO RECORDS <<<<<<<<<<<<<"),X,1,80) D SET1^SDMHNS1(SDX)
  1. Q
  1. ;S SDX=$$SETSTR^SDMHNS1("#",X,1,1)_$$SETSTR^SDMHNS1("PATIENT",X,5,7)_$$SETSTR^SDMHNS1("PT ID",X,14,5)_$$SETSTR^SDMHNS1("APPT D/T",X,6,20)_$$SETSTR^SDMHNS1("CLINIC",X,2,15)_$$SETSTR^SDMHNS1("STATUS",X,2,6) D SET1^SDMHNS1(SDX)
  1. ;
  1. TOTAL ;Prints totals for the clinics by division - FOR BGJ
  1. Q:'$D(TOTAL)
  1. N SDVISN,SDCLNIC,SDFLAG,SDX,X
  1. S (SDVISN,SDCLNIC)=0
  1. S X="",SDX=""
  1. S SDX=$$SETSTR^SDMHNS1("Division/Clinic Appointment Totals",X,1,80) D SET1^SDMHNS1(SDX)
  1. S X="",SDX=""
  1. S SDX=$$SETSTR^SDMHNS1("Division/CLinic",X,1,26)_$$SETSTR^SDMHNS1("Unique",X,47,6) D SET1^SDMHNS1(SDX)
  1. S X="",SDX="" S SDX=$$SETSTR^SDMHNS1("NS NSA NAT Patients",X,56,24) D SET1^SDMHNS1(SDX)
  1. F S SDVISN=$O(TOTAL(SDVISN)) Q:SDVISN']"" F S SDCLNIC=$O(TOTAL(SDVISN,SDCLNIC)) Q:SDCLNIC']"" D
  1. . N SDX,X
  1. .I $D(TOTAL(SDVISN,SDCLNIC)) D
  1. ..S SDX="",X=""
  1. ..N SDTOTS
  1. ..S SDTOTS=$J($P(TOTAL(SDVISN,SDCLNIC),"^",2),3)_" "_$J($P(TOTAL(SDVISN,SDCLNIC),"^",3),3)_" "_$J($P(TOTAL(SDVISN,SDCLNIC),"^",4),3)_" "_$J($P(TOTAL(SDVISN,SDCLNIC),"^",5),3)
  1. ..S SDX=$$SETSTR^SDMHNS1($E(SDVISN,1,24)_"/"_$E(SDCLNIC,1,26),X,1,54)_$$SETSTR^SDMHNS1(SDTOTS,X,1,24) D SET1^SDMHNS1(SDX)
  1. S X="",SDX="" S SDX=$$SETSTR^SDMHNS1(" ",X,1,80) D SET1^SDMHNS1(SDX)
  1. S X="",SDX=""
  1. ;S SDX=$$SETSTR^SDMHNS1("*STATUS: NS = No Show NSA = No Show Auto Rebook NAT = No Action Taken",X,1,80) D SET1^SDMHNS1(SDX)
  1. Q
  1. TOTAL1 ;TOTALS FOR AD HOC
  1. Q:'$D(TOTAL)
  1. N SDVISN,SDCLNIC,SDFLAG,SDX,X
  1. S (SDVISN,SDCLNIC)=0
  1. W ?25,"Division/Clinic Appointment Totals",!
  1. W "Division/CLinic",?73,"Unique",!
  1. W ?56,"NS NSA NAT Patients",!
  1. F S SDVISN=$O(TOTAL(SDVISN)) Q:SDVISN']"" F S SDCLNIC=$O(TOTAL(SDVISN,SDCLNIC)) Q:SDCLNIC']"" D
  1. .I $D(TOTAL(SDVISN,SDCLNIC)) D
  1. ..N SDTOTS
  1. ..S SDTOTS=$J($P(TOTAL(SDVISN,SDCLNIC),"^",2),3)_" "_$J($P(TOTAL(SDVISN,SDCLNIC),"^",3),3)_" "_$J($P(TOTAL(SDVISN,SDCLNIC),"^",4),3)_" "_$J($P(TOTAL(SDVISN,SDCLNIC),"^",5),3)
  1. ..W $E(SDVISN,1,24)_"/"_$E(SDCLNIC,1,26),?55,SDTOTS,! D RET^SDMHAD1 Q:SDUP
  1. W ! D RET^SDMHAD1 Q:SDUP
  1. ;W "*STATUS: NS = No Show NSA = No Show Auto Rebook NAT = No Action Taken",! D RET^SDMHAD1 Q:SDUP
  1. Q
  1. COUNT ; COUNTER
  1. S SDCOUNT=SDCOUNT+1