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

PSUV12.m

Go to the documentation of this file.
  1. PSUV12 ;BIR/DAM - IV AMIS Summary Message II ;04 MAR 2004
  1. ;;4.0;PHARMACY BENEFITS MANAGEMENT;**4**;MARCH, 2005
  1. ;
  1. ;No DBIA's required
  1. ;
  1. EN ;Entry point for MailMan message
  1. ;Called from PSUV11
  1. ;
  1. ;Construct IV AMIS summary message
  1. ;
  1. S Y=PSUSDT X ^DD("DD") S PSUDTS=Y
  1. S Y=PSUEDT X ^DD("DD") S PSUDTE=Y
  1. S PSUDIV=PSUSNDR D GETDIV^PSUV3
  1. S AMIS(1)="IV AMIS Summary for "_PSUDTS_" through "_PSUDTE_" for "_PSUDIVNM
  1. ;
  1. S AMIS(2)="" ;Blank line
  1. ;
  1. I PSUAIS=1 S AMIS(3)="NO IV AMIS Summary data to report" Q
  1. ;
  1. S AMIS(3)=" NET Cost/"
  1. ;
  1. S AMIS(4)=" LVPs LVPs LVPs LVPs LVPs Total NET LVPs"
  1. ;
  1. S AMIS(5)="Division DISP RET DES CAN DISP Cost DISP"
  1. ;
  1. S $P(AMIS(6),"-",78)="" ;Separator bar
  1. ;
  1. S PSULN=7
  1. ;
  1. ;Construct LVP DATA lines with spacing
  1. S PSUDIV=0
  1. F S PSUDIV=$O(LVP(PSUDIV)) Q:PSUDIV="" D
  1. .D GETDIV^PSUV3
  1. .S PSULINE=""
  1. .S $E(PSULINE,1,17)=PSUDIVNM
  1. .S $E(PSULINE,18,24)=$J($P(LVP(PSUDIV),U,1),7)
  1. .S $E(PSULINE,25,31)=$J($P(LVP(PSUDIV),U,2),7)
  1. .S $E(PSULINE,32,38)=$J($P(LVP(PSUDIV),U,3),7)
  1. .S $E(PSULINE,39,45)=$J($P(LVP(PSUDIV),U,4),7)
  1. .S $E(PSULINE,46,52)=$J($P(LVP(PSUDIV),U,5),7)
  1. .S $E(PSULINE,54,55)="$"
  1. .S $E(PSULINE,56,64)=$J($P(LVP(PSUDIV),U,6),9)
  1. .S $E(PSULINE,66,67)="$"
  1. .S $E(PSULINE,68,75)=$J($P(LVP(PSUDIV),U,7),8)
  1. .;End line
  1. .S AMIS(PSULN)=PSULINE S PSULN=PSULN+1
  1. ;
  1. S $P(AMIS(PSULN),"-",78)="" S PSULN=PSULN+1 ;Separator bar
  1. ;
  1. M LVP("TOT")=^XTMP(PSUIVSUB,"LVPTOT") ;LVP Totals array
  1. ;Construct LVP Totals line
  1. S PSULINE=""
  1. S $E(PSULINE,1,17)="Total"
  1. S $E(PSULINE,18,24)=$J($P(LVP("TOT"),U,1),7)
  1. S $E(PSULINE,25,31)=$J($P(LVP("TOT"),U,2),7)
  1. S $E(PSULINE,32,38)=$J($P(LVP("TOT"),U,3),7)
  1. S $E(PSULINE,39,45)=$J($P(LVP("TOT"),U,4),7)
  1. S $E(PSULINE,46,52)=$J($P(LVP("TOT"),U,5),7)
  1. S $E(PSULINE,54,55)="$"
  1. S $E(PSULINE,56,64)=$J($P(LVP("TOT"),U,6),9)
  1. S $E(PSULINE,66,67)="$"
  1. S $E(PSULINE,68,75)=$J($P(LVP("TOT"),U,7),8)
  1. ;End line
  1. S AMIS(PSULN)=PSULINE S PSULN=PSULN+1
  1. ;
  1. F PSULN=PSULN:1:(PSULN+4) S AMIS(PSULN)="" ;Blank lines
  1. S PSULN=PSULN+1
  1. ;
  1. ;
  1. S AMIS(PSULN)=" NET Cost/"
  1. S PSULN=PSULN+1
  1. ;
  1. S AMIS(PSULN)=" IVPBs IVPBs IVPBs IVPBs IVPBs Total NET IVPBs"
  1. ;
  1. S PSULN=PSULN+1
  1. S AMIS(PSULN)="Division DISP RET DES CAN DISP Cost DISP"
  1. ;
  1. S PSULN=PSULN+1
  1. ;
  1. S $P(AMIS(PSULN),"-",78)="" S PSULN=PSULN+1 ;Separator bar
  1. ;
  1. ;Construct IVPB DATA lines with spacing
  1. S PSUDIV=0
  1. F S PSUDIV=$O(PB(PSUDIV)) Q:PSUDIV="" D
  1. .D GETDIV^PSUV3
  1. .S PSULINE=""
  1. .S $E(PSULINE,1,17)=PSUDIVNM
  1. .S $E(PSULINE,18,24)=$J($P(PB(PSUDIV),U,1),7)
  1. .S $E(PSULINE,25,31)=$J($P(PB(PSUDIV),U,2),7)
  1. .S $E(PSULINE,32,38)=$J($P(PB(PSUDIV),U,3),7)
  1. .S $E(PSULINE,39,45)=$J($P(PB(PSUDIV),U,4),7)
  1. .S $E(PSULINE,46,52)=$J($P(PB(PSUDIV),U,5),7)
  1. .S $E(PSULINE,54,55)="$"
  1. .S $E(PSULINE,56,64)=$J($P(PB(PSUDIV),U,6),9)
  1. .S $E(PSULINE,66,67)="$"
  1. .S $E(PSULINE,68,75)=$J($P(PB(PSUDIV),U,7),8)
  1. .;End line
  1. .S AMIS(PSULN)=PSULINE S PSULN=PSULN+1
  1. ;
  1. S $P(AMIS(PSULN),"-",78)="" S PSULN=PSULN+1 ;Separator bar
  1. ;
  1. M PB("TOT")=^XTMP(PSUIVSUB,"PBTOT") ;IVPB Totals array
  1. ;Construct PB Totals line
  1. S PSULINE=""
  1. S $E(PSULINE,1,17)="Total"
  1. S $E(PSULINE,18,24)=$J($P(PB("TOT"),U,1),7)
  1. S $E(PSULINE,25,31)=$J($P(PB("TOT"),U,2),7)
  1. S $E(PSULINE,32,38)=$J($P(PB("TOT"),U,3),7)
  1. S $E(PSULINE,39,45)=$J($P(PB("TOT"),U,4),7)
  1. S $E(PSULINE,46,52)=$J($P(PB("TOT"),U,5),7)
  1. S $E(PSULINE,54,55)="$"
  1. S $E(PSULINE,56,64)=$J($P(PB("TOT"),U,6),9)
  1. S $E(PSULINE,66,67)="$"
  1. S $E(PSULINE,68,75)=$J($P(PB("TOT"),U,7),8)
  1. ;End line
  1. S AMIS(PSULN)=PSULINE S PSULN=PSULN+1
  1. ;
  1. F PSULN=PSULN:1:(PSULN+4) S AMIS(PSULN)="" ;Blank lines
  1. S PSULN=PSULN+1
  1. ;
  1. S AMIS(PSULN)=" NET Cost/"
  1. S PSULN=PSULN+1
  1. ;
  1. S AMIS(PSULN)=" TPNs TPNs TPNs TPNs TPNs Total NET TPNs"
  1. ;
  1. S PSULN=PSULN+1
  1. S AMIS(PSULN)="Division DISP RET DES CAN DISP Cost DISP"
  1. ;
  1. S PSULN=PSULN+1
  1. ;
  1. S $P(AMIS(PSULN),"-",78)="" S PSULN=PSULN+1 ;Separator bar
  1. ;
  1. ;Construct TPN DATA lines with spacing
  1. S PSUDIV=0
  1. F S PSUDIV=$O(TPN(PSUDIV)) Q:PSUDIV="" D
  1. .D GETDIV^PSUV3
  1. .S PSULINE=""
  1. .S $E(PSULINE,1,17)=PSUDIVNM
  1. .S $E(PSULINE,18,24)=$J($P(TPN(PSUDIV),U,1),7)
  1. .S $E(PSULINE,25,31)=$J($P(TPN(PSUDIV),U,2),7)
  1. .S $E(PSULINE,32,38)=$J($P(TPN(PSUDIV),U,3),7)
  1. .S $E(PSULINE,39,45)=$J($P(TPN(PSUDIV),U,4),7)
  1. .S $E(PSULINE,46,52)=$J($P(TPN(PSUDIV),U,5),7)
  1. .S $E(PSULINE,54,55)="$"
  1. .S $E(PSULINE,56,64)=$J($P(TPN(PSUDIV),U,6),9)
  1. .S $E(PSULINE,66,67)="$"
  1. .S $E(PSULINE,68,75)=$J($P(TPN(PSUDIV),U,7),8)
  1. .;End line
  1. .S AMIS(PSULN)=PSULINE S PSULN=PSULN+1
  1. ;
  1. S $P(AMIS(PSULN),"-",78)="" S PSULN=PSULN+1 ;Separator bar
  1. ;
  1. M TPN("TOT")=^XTMP(PSUIVSUB,"TPNTOT") ;TPN Totals array
  1. ;Construct TPN Totals line
  1. S PSULINE=""
  1. S $E(PSULINE,1,17)="Total"
  1. S $E(PSULINE,18,24)=$J($P(TPN("TOT"),U,1),7)
  1. S $E(PSULINE,25,31)=$J($P(TPN("TOT"),U,2),7)
  1. S $E(PSULINE,32,38)=$J($P(TPN("TOT"),U,3),7)
  1. S $E(PSULINE,39,45)=$J($P(TPN("TOT"),U,4),7)
  1. S $E(PSULINE,46,52)=$J($P(TPN("TOT"),U,5),7)
  1. S $E(PSULINE,54,55)="$"
  1. S $E(PSULINE,56,64)=$J($P(TPN("TOT"),U,6),9)
  1. S $E(PSULINE,66,67)="$"
  1. S $E(PSULINE,68,75)=$J($P(TPN("TOT"),U,7),8)
  1. ;End line
  1. S AMIS(PSULN)=PSULINE S PSULN=PSULN+1
  1. ;
  1. F PSULN=PSULN:1:(PSULN+4) S AMIS(PSULN)="" ;Blank lines
  1. S PSULN=PSULN+1
  1. ;
  1. S AMIS(PSULN)=" NET Cost/"
  1. S PSULN=PSULN+1
  1. ;
  1. S AMIS(PSULN)=" CHEMO CHEMO CHEMO CHEMO CHEMO Total NET CHEMOs"
  1. ;
  1. S PSULN=PSULN+1
  1. S AMIS(PSULN)="Division DISP RET DES CAN DISP Cost DISP"
  1. ;
  1. S PSULN=PSULN+1
  1. ;
  1. S $P(AMIS(PSULN),"-",78)="" S PSULN=PSULN+1 ;Separator bar
  1. ;
  1. ;Construct CHEMO DATA lines with spacing
  1. S PSUDIV=0
  1. F S PSUDIV=$O(CH(PSUDIV)) Q:PSUDIV="" D
  1. .D GETDIV^PSUV3
  1. .S PSULINE=""
  1. .S $E(PSULINE,1,17)=PSUDIVNM
  1. .S $E(PSULINE,18,24)=$J($P(CH(PSUDIV),U,1),7)
  1. .S $E(PSULINE,25,31)=$J($P(CH(PSUDIV),U,2),7)
  1. .S $E(PSULINE,32,38)=$J($P(CH(PSUDIV),U,3),7)
  1. .S $E(PSULINE,39,45)=$J($P(CH(PSUDIV),U,4),7)
  1. .S $E(PSULINE,46,52)=$J($P(CH(PSUDIV),U,5),7)
  1. .S $E(PSULINE,54,55)="$"
  1. .S $E(PSULINE,56,64)=$J($P(CH(PSUDIV),U,6),9)
  1. .S $E(PSULINE,66,67)="$"
  1. .S $E(PSULINE,68,75)=$J($P(CH(PSUDIV),U,7),8)
  1. .;End line
  1. .S AMIS(PSULN)=PSULINE S PSULN=PSULN+1
  1. ;
  1. S $P(AMIS(PSULN),"-",78)="" S PSULN=PSULN+1 ;Separator bar
  1. ;
  1. M CH("TOT")=^XTMP(PSUIVSUB,"CHTOT") ;CHEMO Totals array
  1. ;Construct CHEMO Totals line
  1. S PSULINE=""
  1. S $E(PSULINE,1,17)="Total"
  1. S $E(PSULINE,18,24)=$J($P(CH("TOT"),U,1),7)
  1. S $E(PSULINE,25,31)=$J($P(CH("TOT"),U,2),7)
  1. S $E(PSULINE,32,38)=$J($P(CH("TOT"),U,3),7)
  1. S $E(PSULINE,39,45)=$J($P(CH("TOT"),U,4),7)
  1. S $E(PSULINE,46,52)=$J($P(CH("TOT"),U,5),7)
  1. S $E(PSULINE,54,55)="$"
  1. S $E(PSULINE,56,64)=$J($P(CH("TOT"),U,6),9)
  1. S $E(PSULINE,66,67)="$"
  1. S $E(PSULINE,68,75)=$J($P(CH("TOT"),U,7),8)
  1. ;End line
  1. S AMIS(PSULN)=PSULINE S PSULN=PSULN+1
  1. ;
  1. F PSULN=PSULN:1:(PSULN+4) S AMIS(PSULN)="" ;Blank lines
  1. S PSULN=PSULN+1
  1. ;
  1. ;
  1. S AMIS(PSULN)=" NET Cost/"
  1. S PSULN=PSULN+1
  1. ;
  1. S AMIS(PSULN)=" SYRs SYRs SYRs SYRs SYRs Total NET SYRs"
  1. ;
  1. S PSULN=PSULN+1
  1. S AMIS(PSULN)="Division DISP RET DES CAN DISP Cost DISP"
  1. ;
  1. S PSULN=PSULN+1
  1. ;
  1. S $P(AMIS(PSULN),"-",78)="" S PSULN=PSULN+1 ;Separator bar
  1. ;
  1. ;Construct SYRINGE DATA lines with spacing
  1. S PSUDIV=0
  1. F S PSUDIV=$O(SYR(PSUDIV)) Q:PSUDIV="" D
  1. .D GETDIV^PSUV3
  1. .S PSULINE=""
  1. .S $E(PSULINE,1,17)=PSUDIVNM
  1. .S $E(PSULINE,18,24)=$J($P(SYR(PSUDIV),U,1),7)
  1. .S $E(PSULINE,25,31)=$J($P(SYR(PSUDIV),U,2),7)
  1. .S $E(PSULINE,32,38)=$J($P(SYR(PSUDIV),U,3),7)
  1. .S $E(PSULINE,39,45)=$J($P(SYR(PSUDIV),U,4),7)
  1. .S $E(PSULINE,46,52)=$J($P(SYR(PSUDIV),U,5),7)
  1. .S $E(PSULINE,54,55)="$"
  1. .S $E(PSULINE,56,64)=$J($P(SYR(PSUDIV),U,6),9)
  1. .S $E(PSULINE,66,67)="$"
  1. .S $E(PSULINE,68,75)=$J($P(SYR(PSUDIV),U,7),8)
  1. .;End line
  1. .S AMIS(PSULN)=PSULINE S PSULN=PSULN+1
  1. ;
  1. S $P(AMIS(PSULN),"-",78)="" S PSULN=PSULN+1 ;Separator bar
  1. ;
  1. M SYR("TOT")=^XTMP(PSUIVSUB,"SYRTOT") ;SYRINGE Totals array
  1. ;Construct SYRINGE Totals line
  1. S PSULINE=""
  1. S $E(PSULINE,1,17)="Total"
  1. S $E(PSULINE,18,24)=$J($P(SYR("TOT"),U,1),7)
  1. S $E(PSULINE,25,31)=$J($P(SYR("TOT"),U,2),7)
  1. S $E(PSULINE,32,38)=$J($P(SYR("TOT"),U,3),7)
  1. S $E(PSULINE,39,45)=$J($P(SYR("TOT"),U,4),7)
  1. S $E(PSULINE,46,52)=$J($P(SYR("TOT"),U,5),7)
  1. S $E(PSULINE,54,55)="$"
  1. S $E(PSULINE,56,64)=$J($P(SYR("TOT"),U,6),9)
  1. S $E(PSULINE,66,67)="$"
  1. S $E(PSULINE,68,75)=$J($P(SYR("TOT"),U,7),8)
  1. ;End line
  1. S AMIS(PSULN)=PSULINE S PSULN=PSULN+1
  1. ;
  1. F PSULN=PSULN:1:(PSULN+4) S AMIS(PSULN)="" ;Blank lines
  1. S PSULN=PSULN+1
  1. Q