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

ACHSVLB.m

Go to the documentation of this file.
  1. ACHSVLB ; IHS/ITSC/PMF - PRINT VENDOR LABELS FOR DOCUMENTS ; [ 10/16/2001 8:16 AM ]
  1. ;;3.1;CONTRACT HEALTH MGMT SYSTEM;;JUN 11, 2001
  1. ;
  1. A1 ;
  1. K ^TMP("ACHSVLB",$J)
  1. D DISP
  1. I '$D(^TMP("ACHSVLB",$J)) U IO(0) X:$D(IO("S")) ACHSPPC G END
  1. MODE ;
  1. W !!?5,"Print number of copies by [S]election",!?5,"or by number of [D]ocuments to be printed?"
  1. S Y=$$DIR^XBDIR("FO"," [S]el or [D]ocuments ","D","","Press RETURN for ""D"", or enter ""S""","^D HELP^ACHS(""H"",""ACHSVLB"")",2)
  1. G END:$D(DTOUT)!$D(DUOUT),CPY:Y="S",DOCS:Y="D"
  1. ;
  1. CPY ;
  1. S ACHS("CPY")=$$DIR^XBDIR("N^1:5","How many copies",1)
  1. G END:$D(DTOUT),A1:$D(DUOUT)
  1. G CVT
  1. ;
  1. DOCS ;
  1. S ACHS("DOC")=$$DIR^XBDIR("N^1:100","How many documents per vendor label",30)
  1. G END:$D(DTOUT),A1:$D(DUOUT)
  1. CVT ;
  1. S ACHSVNDR="",ACHS=0
  1. CVT1 ;
  1. S ACHSVNDR=$O(^TMP("ACHSVLB",$J,ACHSVNDR))
  1. G DEV:ACHSVNDR=""
  1. S DA=$O(^TMP("ACHSVLB",$J,ACHSVNDR,0))
  1. I $D(ACHS("CPY")) F ACHSX=0:1 G CVT1:ACHSX=ACHS("CPY") S ACHS=ACHS+1,^TMP("ACHSVLB",$J,ACHS)=DA
  1. F ACHSX=0:0 S ACHS=ACHS+1,^TMP("ACHSVLB",$J,ACHS)=DA,^TMP("ACHSVLB",$J,ACHSVNDR,DA)=$G(^TMP("ACHSVLB",$J,ACHSVNDR,DA))-ACHS("DOC") Q:^(DA)<1
  1. G CVT1
  1. ;
  1. DEV ;
  1. K IOP
  1. S %ZIS="PO"
  1. D ^%ZIS,SLV^ACHSFU:$D(IO("S"))
  1. I POP D HOME^%ZIS G END
  1. A2 ;
  1. U IO(0)
  1. X:$D(IO("S")) ACHSPPC
  1. S DIE="^ACHSF(",DA=DUZ(2),DR=".02;.03;IF X=1 S Y="""";.04"
  1. D ^DIE
  1. G:$D(Y) END
  1. S ACHSVS=$P(^ACHSF(DUZ(2),1),U,2),ACHSNOLA=$P(^(1),U,3),ACHSHS=$P(^(1),U,4)
  1. D LINES^ACHSFU
  1. A3 ;
  1. G A2A:$$DIR^XBDIR("Y","Do you wish to print a TEST LABEL","N","","","",2),END:$D(DTOUT),A1:$D(DUOUT)
  1. START ;
  1. S ACHSX=0
  1. D PRINT
  1. END ;
  1. K ^TMP("ACHSVLB",$J),A,ACHS,ACHSHS,ACHSNOLA,ACHSPPC,ACHSPPO,ACHSVNDR,ACHSVS,ACHSWORK,ACHSX,B,C,D,DA,DIC,DIE,DR,J,P,R,ACHSRR,ACHSTOTL
  1. D ^%ZISC
  1. Q
  1. ;
  1. A2A ; Print Test Label.
  1. U IO
  1. X:$D(IO("S")) ACHSPPO
  1. K ACHS("TEST")
  1. S A=ACHSNOLA,B=ACHSHS
  1. A2C ;
  1. F ACHS=1:1:3 W !,$E(ACHS("*"),1,24) I A>1 W ?(B+1),$E(ACHS("*"),1,24) I A>2 W ?((2*B)+1),$E(ACHS("*"),1,24) I A>3 W ?((3*B)+1),$E(ACHS("*"),1,24)
  1. F ACHS=1:1:ACHSVS W !
  1. I $D(ACHS("TEST")) G A2
  1. S ACHS("TEST")=""
  1. G A2C
  1. ;
  1. PRINT ; For Multiple Labels Across.
  1. S ACHSTOTL=0
  1. F ACHS("I")=1:1:ACHSNOLA S ACHSX=ACHSX+1 Q:'$D(^TMP("ACHSVLB",$J,ACHSX)) S DA=^(ACHSX) I $D(^AUTTVNDR(DA,0)),$D(^(13)) S A=^(13),ACHSTOTL=ACHSTOTL+1 D PR1
  1. Q:ACHSTOTL=0
  1. U IO
  1. X:$D(IO("S")) ACHSPPO
  1. S B=ACHSHS
  1. W !,A(1)
  1. W:ACHSTOTL>1 ?(B+1),A(2)
  1. W:ACHSTOTL>2 ?(2*B+1),A(3)
  1. W:ACHSTOTL>3 ?(3*B+1),A(4)
  1. W !,B(1)
  1. W:ACHSTOTL>1 ?(B+1),B(2)
  1. W:ACHSTOTL>2 ?(2*B+1),B(3)
  1. W:ACHSTOTL>3 ?(3*B+1),B(4)
  1. W !,C(1)
  1. W:ACHSTOTL>1 ?(B+1),C(2)
  1. W:ACHSTOTL>2 ?(2*B+1),C(3)
  1. W:ACHSTOTL>3 ?(3*B+1),C(4)
  1. W !
  1. F %=1:1:4 I $L($G(D(%))) W $G(D(1)) W:ACHSTOTL>1 ?(B+1),$G(D(2)) W:ACHSTOTL>2 ?(2*B+1),$G(D(3)) W:ACHSTOTL>3 ?(3*B+1),$G(D(4)) Q
  1. F ACHS=1:1:ACHSVS W !
  1. Q:+DA=0
  1. G PRINT
  1. ;
  1. PR1 ;
  1. S A(ACHSTOTL)=$P(^AUTTVNDR(DA,0),U),B(ACHSTOTL)=$P(A,U),C(ACHSTOTL)=$P(A,U,2)_" "
  1. I +$P(A,U,3),$D(^DIC(5,+$P(A,U,3),0)) S C(ACHSTOTL)=C(ACHSTOTL)_$P(^(0),U,2)_" "
  1. S:A(ACHSTOTL)["," A(ACHSTOTL)=$P(A(ACHSTOTL),",",2)_" "_$P(A(ACHSTOTL),",")
  1. S A(ACHSTOTL)=$E(A(ACHSTOTL),1,35),C(ACHSTOTL)=C(ACHSTOTL)_$P(A,U,4)
  1. S D(ACHSTOTL)=""
  1. I $L($P(A,U,5)) S D(ACHSTOTL)=C(ACHSTOTL),C(ACHSTOTL)=B(ACHSTOTL),B(ACHSTOTL)="Attn: "_$E($P(A,U,5),1,20)
  1. Q
  1. ;
  1. DISP ; Display Batches for Printing of Labels.
  1. S (R,ACHSRR)="",ACHS=0
  1. K ACHSWORK
  1. DIS1 ;
  1. S R=$O(^ACHS(7,"CZ",R))
  1. G CEND:'R
  1. DIS2 ;
  1. S ACHSRR=$O(^ACHS(7,"CZ",R,ACHSRR))
  1. G DIS1:'ACHSRR,DIS2:'$D(^ACHS(7,ACHSRR,"D","B"))
  1. S A=""
  1. F ACHSI=0:0 Q:$O(^ACHS(7,ACHSRR,"D","B",A))="" S A=$O(^(A))
  1. S ACHS=ACHS+1
  1. I ACHS=1 W !!?10,"---------------------------------------------------------",!?10,"ITM #",?19,"D A T E",?30,"FIRST DOC #",?45,"LAST DOC #",?60,"# DOC'S",!?10,"---------------------------------------------------------",!!
  1. I ACHS#10=0 W:$$DIR^XBDIR("E"," Enter '^' to CANCEL ") ! G CEND:$D(DUOUT)
  1. S ACHSWORK(ACHS)=ACHSRR_U_$O(^ACHS(7,ACHSRR,"D","B",""))_U_A_U_$P(^ACHS(7,ACHSRR,"D",0),U,4)
  1. W ?10,$J(ACHS,3),?17,$$FMTE^XLFDT($P(^ACHS(7,ACHSRR,0),U,2)),?30,$P(ACHSWORK(ACHS),U,2),?45,$P(ACHSWORK(ACHS),U,3),?61,$J($P(ACHSWORK(ACHS),U,4),3),!
  1. G DIS2
  1. ;
  1. CEND ;
  1. I ACHS=0 W !!,"No 'Batches' on File for Printing Labels.",! G SEL
  1. S Y=$$DIR^XBDIR("NO^1:"_ACHS," ENTER ITEM # ","","","Enter Item Number of 'BATCH' of Labels you wish to PRINT.","",2)
  1. Q:$D(DUOUT)!$D(DTOUT)
  1. G SEL:(Y="")
  1. S ACHSRR=+$P(ACHSWORK(Y),U)
  1. D2 ;
  1. F R=0:0 S R=$O(^ACHS(7,ACHSRR,"D",R)) Q:'R S DA=$P(^ACHSF($P(^ACHS(7,ACHSRR,"D",R,0),U,2),"D",$P(^ACHS(7,ACHSRR,"D",R,0),U,3),0),U,8),^TMP("ACHSVLB",$J,$P(^AUTTVNDR(DA,0),U),DA)=$S($D(^TMP("ACHSVLB",$J,$P(^AUTTVNDR(DA,0),U),DA)):^(DA)+1,1:1)
  1. Q
  1. ;
  1. SEL ; If user did not select a batch, ask if want to select Vendor(s).
  1. Q:'$$DIR^XBDIR("Y","Want to select the Vendors","N","","You can select vendors from the VENDOR file from which to print labels.","",2)
  1. Q:$D(DUOUT)!$D(DTOUT)
  1. N DIC
  1. S DIC="^AUTTVNDR(",DIC(0)="AEFMNQ"
  1. F D ^DIC Q:+Y<1 S ^TMP("ACHSVLB",$J,$P(^AUTTVNDR(+Y,0),U),+Y)=1
  1. Q
  1. ;
  1. H ;EP - From DIR.
  1. ;;@;!!?10,"You can either select the number of copies of the label to print"
  1. ;;@;!?10,"for each vendor, or you can select the number of documents per"
  1. ;;@;!?10,"each label for a vendor."
  1. ;;###
  1. ;