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

BKMVPG.m

Go to the documentation of this file.
  1. BKMVPG ;PRXM/HC/ALA - PROVIDER GUIDELINES LISTMAN ; 06-APR-2006
  1. ;;2.1;HIV MANAGEMENT SYSTEM;;Feb 07, 2011
  1. EN ; -- main entry point for BKMV GUIDELINES
  1. D EN^VALM("BKMV GUIDELINES")
  1. Q
  1. ;
  1. HDR ; -- header code
  1. S WIDTH=80 ; Report width - 80 columns
  1. S END="*** END OF REPORT ***"
  1. K VALMHDR
  1. N HDRSTR,DA,IENS,BKMI,BKM,BKMSUB,BKMSUB1,BKMSUB2
  1. S BKMI=0
  1. S HDRSTR1=" "_$$GET1^DIQ(200,DUZ_",","1","E")
  1. S DA=$G(DUZ(2)),IENS=$$IENS^DILF(.DA),HDRSTR2=$$GET1^DIQ(4,IENS,.01,"E")
  1. S BKMI=BKMI+1
  1. S VALMHDR(BKMI)=HDRSTR1_" "_$$PAD^BKMIXX4("","<"," ",(WIDTH-$L(HDRSTR1))-$L(HDRSTR2)\2)_HDRSTR2
  1. ;
  1. ; Subheaders - parse if too long
  1. S (BKMSUB1,BKMSUB2)=""
  1. S BKMSUB=$P($G(^BKM(90453,BKMGL,0)),U)
  1. I BKMSUB'="" D
  1. . S BKM=$L(BKMSUB)\2
  1. . I $E(BKMSUB,BKM)=" " S BKMSUB1=$E(BKMSUB,1,BKM),BKMSUB2=$E(BKMSUB,BKM+1,$L(BKMSUB))
  1. . I $L(BKMSUB)'>50 S BKMSUB1=BKMSUB,BKMSUB2=""
  1. . I $L(BKMSUB)>50 D
  1. . . F BKM=40:1:$L(BKMSUB) Q:$E(BKMSUB,BKM)=" " D
  1. . .. I $E(BKMSUB,BKM)=" " S BKMSUB1=$E(BKMSUB,1,BKM),BKMSUB2=$E(BKMSUB,BKM+1,$L(BKMSUB))
  1. . S:BKMSUB1="" BKMSUB1=BKMSUB
  1. . ;
  1. . S BKMI=BKMI+1
  1. . S VALMHDR(BKMI)=$$PAD^BKMIXX4("","<"," ",$L(HDRSTR1))_$$PAD^BKMIXX4("","<"," ",(WIDTH-$L(HDRSTR1))-$L(BKMSUB1)\2)_BKMSUB1
  1. . I BKMSUB2'="" D
  1. . . S BKMI=BKMI+1
  1. . . S VALMHDR(BKMI)=$$PAD^BKMIXX4("","<"," ",WIDTH-$L(BKMSUB2)\2)_BKMSUB2
  1. . S BKMSUB=0 F S BKMSUB=$O(^BKM(90453,BKMGL,4,BKMSUB)) Q:'BKMSUB D
  1. . . S BKMSUB1=$G(^BKM(90453,BKMGL,4,BKMSUB,0))
  1. . . S BKMI=BKMI+1
  1. . . S VALMHDR(BKMI)=$$PAD^BKMIXX4("","<"," ",WIDTH-$L(BKMSUB1)\2)_BKMSUB1
  1. S HDRSTR="",$P(HDRSTR,"-",79)=""
  1. S BKMI=BKMI+1
  1. S VALMHDR(BKMI)=HDRSTR
  1. Q
  1. ;
  1. INIT ; -- init variables and list array
  1. S VALMCNT=0,WIDTH=80
  1. D HNOTE
  1. D RSRC
  1. D BODY
  1. ;S VALMCNT=30
  1. Q
  1. ;
  1. HELP ; -- help code
  1. S X="?" D DISP^XQORM1 W !!
  1. Q
  1. ;
  1. EXIT ; -- exit code
  1. K ^TMP("BKMVPG",$J),^UTILITY($J,"W")
  1. D CLEAN^VALM10
  1. D CLEAR^VALM1
  1. S VALMBCK="R"
  1. K HDRSTR1,HDRSTR2
  1. Q
  1. ;
  1. EXPND ; -- expand code
  1. Q
  1. ;
  1. HNOTE ;Header note
  1. NEW BKMHF,BKMLINE,DIWF,DIWR,DIWL,BKMTOTLN
  1. K ^UTILITY($J,"W")
  1. Q:'$D(^BKM(90453,BKMGL,3,0))
  1. S BKMHF=0 F S BKMHF=$O(^BKM(90453,BKMGL,3,BKMHF)) Q:'BKMHF D
  1. . I $P(^BKM(90453,BKMGL,3,BKMHF,0),U)'="H" Q
  1. . S DIWF="I6",DIWR=75,DIWL=6
  1. . S BKMLINE=0 F S BKMLINE=$O(^BKM(90453,BKMGL,3,BKMHF,1,BKMLINE)) Q:'BKMLINE D
  1. .. S X=^BKM(90453,BKMGL,3,BKMHF,1,BKMLINE,0) D ^DIWP
  1. S BKMTOTLN=0
  1. F S BKMTOTLN=$O(^UTILITY($J,"W",6,BKMTOTLN)) Q:'BKMTOTLN D
  1. . S VALMCNT=VALMCNT+1,^TMP("BKMVPG",$J,VALMCNT,0)=^UTILITY($J,"W",6,BKMTOTLN,0)
  1. K ^UTILITY($J,"W")
  1. Q
  1. ;
  1. RSRC ;Resources print
  1. NEW BKMR,BKMRP
  1. K ^UTILITY($J,"W")
  1. Q:'$D(^BKM(90453,BKMGL,1,0))
  1. S BKMR=0 F S BKMR=$O(^BKM(90453,BKMGL,1,BKMR)) Q:'BKMR D
  1. . S DIWF="N",DIWR=80,DIWL=0
  1. . S X=^BKM(90453,BKMGL,1,BKMR,0)
  1. . S X=$$PAD^BKMIXX4("","<"," ",WIDTH-$L(X)\2)_X D ^DIWP
  1. S BKMTOTLN=0
  1. F S BKMTOTLN=$O(^UTILITY($J,"W",0,BKMTOTLN)) Q:'BKMTOTLN D
  1. . S VALMCNT=VALMCNT+1,^TMP("BKMVPG",$J,VALMCNT,0)=^UTILITY($J,"W",0,BKMTOTLN,0)
  1. K ^UTILITY($J,"W")
  1. Q
  1. ;
  1. BODY ; BODY OF GUIDELINES
  1. NEW BKMAC,BKMEN,BKMENHDR,BKMINDNT,BKMNWPG,BKMFIRSC
  1. S BKMAC=0 F S BKMAC=$O(^BKM(90453,BKMGL,2,"AC",BKMAC)) Q:'BKMAC D
  1. . S BKMEN=$O(^BKM(90453,BKMGL,2,"AC",BKMAC,0))
  1. . S BKMENHDR=$P(^BKM(90453,BKMGL,2,BKMEN,0),U,1)
  1. . S BKMINDNT=$P(^BKM(90453,BKMGL,2,BKMEN,0),U,2)*2
  1. . ; Build ^UTILITY($J,"W") here
  1. . D BFORM(BKMINDNT,BKMENHDR)
  1. Q
  1. ;
  1. BFORM(BKMIND,BKMHDRT) ;PRINT TEXT BODY
  1. NEW BKMLINE,X,Y,BKMTOTLN,BKMI
  1. K ^UTILITY($J,"W")
  1. S DIWF="N",DIWR=77,DIWL=6
  1. S BKMLINE=0 F S BKMLINE=$O(^BKM(90453,BKMGL,2,BKMEN,1,BKMLINE)) Q:'BKMLINE D
  1. . S X=^BKM(90453,BKMGL,2,BKMEN,1,BKMLINE,0) D ^DIWP
  1. S VALMCNT=VALMCNT+1,^TMP("BKMVPG",$J,VALMCNT,0)=$$PAD^BKMIXX4("","<"," ",BKMIND)_BKMHDRT
  1. S BKMTOTLN=0
  1. F S BKMTOTLN=$O(^UTILITY($J,"W",6,BKMTOTLN)) Q:'BKMTOTLN D
  1. . S VALMCNT=VALMCNT+1,^TMP("BKMVPG",$J,VALMCNT,0)=$$PAD^BKMIXX4("","<"," ",5)_^UTILITY($J,"W",6,BKMTOTLN,0)
  1. K ^UTILITY($J,"W")
  1. Q