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

BSDCVC.m

Go to the documentation of this file.
  1. BSDCVC ; IHS/ANMC/LJF - LIST VISIT CREATION STATUS ;
  1. ;;5.3;PIMS;;APR 26, 2002
  1. ;
  1. NEW VAUTC,VAUTD
  1. D CLINIC^BSDU(2) Q:$D(BSDQ)
  1. I $$BROWSE^BDGF="B" D EN Q
  1. D ZIS^BDGF("PQ","EN^BSDCVC","LIST VISIT CREATE STATUS","")
  1. Q
  1. ;
  1. EN ;EP; -- main entry point for BSDRM CREATE VISIT STATUS
  1. I $E(IOST,1,2)="P-" NEW BSDPRT S BSDPRT=1 D INIT,PRINT Q ;prnt 2 paper
  1. NEW VALMCNT D TERM^VALM0,CLEAR^VALM1
  1. D EN^VALM("BSDRM CREATE VISIT STATUS")
  1. D CLEAR^VALM1
  1. Q
  1. ;
  1. HDR ; -- header code
  1. NEW X S X="Sorted by Status & Principal Clinic"
  1. S VALMHDR(1)=$$SP(79-$L(X)\2)_X
  1. Q
  1. ;
  1. INIT ; -- init variables and list array
  1. NEW CLN,STAT,PC,LINE
  1. S VALMCNT=0
  1. K ^TMP("BSDCVC",$J),^TMP("BSDCVC1",$J)
  1. S ARRAY=$S(VAUTC:"^SC",1:"VAUTC")
  1. ;
  1. ; loop thru clinics and sort by visit creation status & princpl clinic
  1. S CLN=0 F S CLN=$O(@ARRAY@(CLN)) Q:'CLN D
  1. . Q:'$$ACTV^BSDU(CLN,DT) ;check if active clinic
  1. . Q:$D(^SC("AIHSPC",CLN)) ;quit if prin clinic
  1. . S STAT=$$GET1^DIQ(9009017.2,CLN,.09) ;create visit?
  1. . S:STAT="" STAT="NO"
  1. . S ^TMP("BSDCVC1",$J,STAT,$$PRIN^BSDU(CLN),CLN)=""
  1. ;
  1. ; now loop thru sort list and put into display array
  1. S STAT=0 F S STAT=$O(^TMP("BSDCVC1",$J,STAT)) Q:STAT="" D
  1. . ;
  1. . S LINE="CLINICS WITH 'CREATE VISIT AT CHECKIN' TURNED "
  1. . S LINE=LINE_$S(STAT="NO":"OFF",1:"ON")
  1. . S LINE=$$SP(79-$L(LINE)\2)_$G(IORVON)_LINE_$G(IORVOFF)
  1. . I $G(BSDPRT),STAT="YES" D SET("*****",.VALMCNT) ;form feed marker
  1. . D SET("",.VALMCNT),SET(LINE,.VALMCNT)
  1. . ;
  1. . S PC=0 F S PC=$O(^TMP("BSDCVC1",$J,STAT,PC)) Q:PC="" D
  1. .. ;
  1. .. D SET("",.VALMCNT),SET($G(IOUON)_PC_$G(IOUOFF),.VALMCNT)
  1. .. ;
  1. .. S CLN=0 F S CLN=$O(^TMP("BSDCVC1",$J,STAT,PC,CLN)) Q:'CLN D
  1. ... ;
  1. ... S LINE=$$SP(3)_$$GET1^DIQ(44,CLN,.01) ;clinic name
  1. ... S LINE=$$PAD(LINE,35)_$P($$CLNCODE^BSDU(CLN),"-") ;clinic code
  1. ... S LINE=$$PAD(LINE,41)_$$GET1^DIQ(9009017.2,CLN,.13) ;other codes?
  1. ... S LINE=$$PAD(LINE,49)_$$GET1^DIQ(9009017.2,CLN,.12,"I") ;ser cat
  1. ... S X=$$PRV^BSDU(CLN),X=$S('X:"",1:$P(X,U,2))
  1. ... S LINE=$$PAD(LINE,55)_$E(X,1,18) ;clinic provider
  1. ... S LINE=$$PAD(LINE,75)_$$GET1^DIQ(9009017.2,CLN,.14) ;prov req?
  1. ... D SET(LINE,.VALMCNT)
  1. ;
  1. I $D(^TMP("BSDCVC",$J)) D LEGEND
  1. I '$D(^TMP("BSDCVC",$J)) S VALMCNT=1,^TMP("BSDCVC",$J,1,0)="NO DATA FOUND"
  1. ;
  1. K ^TMP("BSDCVC1",$J)
  1. Q
  1. ;
  1. SET(DATA,NUM) ; put display line into array
  1. S NUM=NUM+1
  1. S ^TMP("BSDCVC",$J,NUM,0)=DATA
  1. Q
  1. ;
  1. HELP ; -- help code
  1. S X="?" D DISP^XQORM1 W !!
  1. Q
  1. ;
  1. EXIT ; -- exit code
  1. K ^TMP("BSDCVC",$J)
  1. Q
  1. ;
  1. EXPND ; -- expand code
  1. Q
  1. ;
  1. LEGEND ; explain column headings
  1. D SET("",.VALMCNT),SET("LEGEND:",.VALMCNT)
  1. D SET($$SP(3)_"Code=Clinic Code; Mult=Multiple Codes Used?",.VALMCNT)
  1. D SET($$SP(3)_"Vst Cat=Visit Service Category, optional",.VALMCNT)
  1. D SET($$SP(3)_"Req?=Is Visit Provider Required?",.VALMCNT)
  1. Q
  1. ;
  1. PRINT ; print array to paper
  1. NEW BSDLN,BSDN,BDGPG
  1. U IO D INIT^BDGF,HDG
  1. ;
  1. S BSDLN=0 F S BSDLN=$O(^TMP("BSDCVC",$J,BSDLN)) Q:'BSDLN D
  1. . S BSDN=^TMP("BSDCVC",$J,BSDLN,0)
  1. . I BSDN="*****" D HDG Q
  1. . I $Y>(IOSL-4) D HDG
  1. . W !,BSDN
  1. D ^%ZISC,PRTKL^BDGF,EXIT
  1. Q
  1. ;
  1. HDG ; heading when printing to paper
  1. S BDGPG=$G(BDGPG)+1 I BDGPG>1 W @IOF
  1. W !,BDGTIME,?22,"List 'Create Visit at Checkin' Status",?76,BDGUSR
  1. W !,BDGDATE,?23,"Sorted by Status & Principal Clinic"
  1. W ?71,"Page: ",BDGPG
  1. W !,$$REPEAT^XLFSTR("-",80)
  1. W !?3,"Clinic Name",?35,"Code",?41,"Mult",?46,"Vst Cat"
  1. W ?55,"Clinic Provider",?75,"Req?"
  1. W !,$$REPEAT^XLFSTR("=",80)
  1. Q
  1. ;
  1. PAD(D,L) ;EP -- 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)