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

BSDALL.m

Go to the documentation of this file.
  1. BSDALL ; IHS/ANMC/LJF - IHS APPT LIST - LT CODE ;
  1. ;;5.3;PIMS;**1004,1011**;MAY 28, 2004
  1. ;IHS/OIT/LJF 07/20/2005 PATCH 1004 moved spacing of heading
  1. ;
  1. ;
  1. ;cmi/flag/maw 10/05/2009 PATCH 1011 RQMT73 allow multiple dates for appointment list
  1. ;
  1. EN ;EP; -- main entry point for appt list list template
  1. ;cmi/maw 10/5/2009 PATCH 1011 RQMT73 code follows
  1. I IOST'["C-" D Q
  1. . NEW BSDPRT
  1. . S BSDPRT=1 D INIT
  1. . F BSDI=1:1:BSDCOPY W:BSDI>1 @IOF D PRINT ;print # of copies desired
  1. . D ^%ZISC,EXIT
  1. .;
  1. ;I IOST'["C-" D Q
  1. ;. N BSDDA
  1. ;. S BSDDA=0 F S BSDDA=$O(BSDD(BSDDA)) Q:'BSDDA D
  1. ;.. S BSDD=+$G(BSDD(BSDDA))
  1. ;.. NEW BSDPRT
  1. ;.. S BSDPRT=1 D INIT
  1. ;.. F BSDI=1:1:BSDCOPY W:BSDI>1 @IOF D PRINT ;print # of copies desired
  1. ;. D ^%ZISC,EXIT
  1. ;.;
  1. I IOST["C-" D Q
  1. . S BSDD=$S($O(BSDD("")):$G(BSDD($O(BSDD("")))),1:$G(BSDD))
  1. . NEW VALMCNT D TERM^VALM0,CLEAR^VALM1
  1. . D EN^VALM("BSDAM APPT LIST LONG")
  1. . D CLEAR^VALM1
  1. ;cmi/maw PATCH 1011 orig
  1. ;NEW BSDPRT
  1. ;I IOST'["C-" D Q ;printing to paper
  1. ;. S BSDPRT=1 D INIT
  1. ;. F BSDI=1:1:BSDCOPY W:BSDI>1 @IOF D PRINT ;print # of copies desired
  1. ;. D ^%ZISC,EXIT
  1. ;
  1. ;NEW VALMCNT D TERM^VALM0,CLEAR^VALM1
  1. ;D EN^VALM("BSDAM APPT LIST LONG")
  1. ;D CLEAR^VALM1
  1. Q
  1. ;
  1. HDR ;EP; -- header code
  1. S VALMHDR(1)=$$REPEAT^XLFSTR(" ",10)_$$CONF^BDGF
  1. S X=$$PAD(" Time",7)_$$PAD("Patient Name",19)_$$PAD("HRCN",10)
  1. ;S VALMHDR(2)=X_"DOB (Age) Lab@ X-Ray@ EKG@"
  1. S VALMHDR(2)=X_"DOB (Age) Lab@ X-Ray@ EKG@" ;IHS/OIT/LJF 7/20/2005 PATCH 1004
  1. S VALMHDR(3)=$$SP(9)_"Insurance & Appointment Information"
  1. Q
  1. ;
  1. INIT ;EP; -- init variables and list array
  1. K ^TMP("BSDAL",$J) S VALMCNT=0
  1. D START^BSDAL2
  1. Q
  1. ;
  1. PRINT ; -- print list to paper
  1. NEW BSDN,BSDT,BSDLN,BSDPG,BSDSAV,BDGLNS
  1. U IO D INIT^BDGF ;initialize heading variables - BDG namespaced
  1. S X=3 S:BSDAMB X=4 I (BSDPH)!(BSDPCMM) S X=X+1
  1. S BSDLNS=X+4 ;# of lines per patient depending on data asked for
  1. S BSDN=0
  1. F S BSDN=$O(^TMP("BSDAL",$J,BSDN)) Q:'BSDN D
  1. . S BSDLN=^TMP("BSDAL",$J,BSDN,0)
  1. . I $E(BSDLN,1,5)="@@@@@" S BSDSAV=$P(BSDLN,"@@@@@",2) D HDG Q
  1. . I BSDLN="",($Y>(IOSL-BSDLNS)) D HDG
  1. . I $Y>(IOSL-4) D HDG
  1. . W !,BSDLN
  1. Q
  1. ;
  1. HDG ;Print report header
  1. S BSDPG=$G(BSDPG)+1 I BSDPG>1 W @IOF
  1. W !?11,"*****",$$CONF^BDGF,"*****",?70,$J(BDGTIME,9)
  1. W !?(80-$L(BDGFAC)\2),BDGFAC,?67,BDGDATE
  1. I '$D(BSDT) S BSDT=$$FMTE^XLFDT(BSDD)
  1. NEW X S X="Appointment List for "_$S($$CNTD():"Multiple Dates",1:BSDT_" ("_$$DOW^XLFDT(BSDD)_")")
  1. W !,BDGUSR,?(80-$L(X)\2),X,?71,"Page: ",$J(BSDPG,2)
  1. W !,$$REPEAT^XLFSTR("=",80)
  1. W !?2,"Time",?7,"Patient Name",?30,"HRCN",?40,"DOB(Age)"
  1. W ?53," Lab@",?62,"X-Ray@",?74,"EKG@"
  1. W !?9,"Insurance & Appointment Information"
  1. W !,$$REPEAT^XLFSTR("-",80)
  1. W !!,BSDSAV,!,$$REPEAT^XLFSTR("=",80)
  1. Q
  1. ;
  1. HELP ;EP; -- help code
  1. S X="?" D DISP^XQORM1 W !!
  1. Q
  1. ;
  1. EXIT ;EP; -- exit code
  1. K ^TMP("BSDAL",$J) K VALMCNT,BSDI
  1. D PRTKL^BDGF ;kill print to paper variables
  1. S VALMNOFF=1 ;suppress form feed before next question
  1. Q
  1. ;
  1. EXPND ;EP; -- expand code
  1. Q
  1. ;
  1. PAD(D,L) ; -- SUBRTN to pad length of data
  1. ; -- D=data L=length
  1. Q $E(D_$$REPEAT^XLFSTR(" ",L),1,L)
  1. ;
  1. SP(N) ; -- SUBRTN to pad N number of spaces
  1. Q $$PAD(" ",N)
  1. ;
  1. CNTD() ;-- count number of days in BSDD array
  1. N CDA,CCNT
  1. S CCNT=0
  1. S CDA=0 F S CDA=$O(BSDD(CDA)) Q:'CDA D
  1. . S CCNT=CCNT+1
  1. I CCNT>1 Q 1
  1. Q 0
  1. ;