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

ABMDLBL.m

Go to the documentation of this file.
  1. ABMDLBL ; IHS/ASDST/DMJ - Print Selected Insurer Labels ;
  1. ;;2.6;IHS 3P BILLING SYSTEM;;NOV 12, 2009
  1. ;Original;TMD;
  1. ;
  1. SEL ;
  1. K ABM
  1. S (ABM("TM"),ABM("LM"))=0
  1. ;
  1. W !!,"PRINT MAILING LABELS FOR:"
  1. K DIR
  1. S DIR(0)="SO^1:SELECTIVE INSURERS;2:ALL INSURERS FOR AN EXPORT BATCH"
  1. S DIR("A")="Select Desired Option"
  1. D ^DIR
  1. K DIR
  1. G XIT:$D(DIROUT)!$D(DIRUT)
  1. S ABM("DO")=$S(Y=1:"SELI",1:"SELB")
  1. D @ABM("DO")
  1. I '$D(ABM("INS")) G XIT
  1. ;
  1. W !
  1. K DIR
  1. S DIR(0)="NO^1:50"
  1. S DIR("A")="Enter Desired Number of Labels Printed Per Insurer"
  1. S DIR("B")=1
  1. D ^DIR
  1. K DIR
  1. G XIT:$D(DIROUT)!$D(DTOUT)!$D(DUOUT)
  1. S ABM("COPIES")=Y
  1. ;
  1. W !
  1. K DIR
  1. S DIR(0)="NO^4:8"
  1. S DIR("A")="Enter the Number of Lines per Label"
  1. S DIR("B")=6
  1. D ^DIR
  1. K DIR
  1. G XIT:$D(DIROUT)!$D(DTOUT)!$D(DUOUT)
  1. S ABM("LINES")=Y
  1. ;
  1. W !!?15,"(NOTE: Mailing Labels need to be loaded in the printer.)"
  1. ;
  1. ZIS ;
  1. W !!
  1. S %ZIS("A")="Output DEVICE: "
  1. S %ZIS="QP"
  1. S %ZIS("B")=""
  1. D ^%ZIS
  1. G:POP XIT
  1. I '$D(IO("Q")) D ^ABMDLBLA G LBL
  1. ;
  1. QUE2 ;
  1. K IO("Q")
  1. I IO=IO(0) W !,"Cannot Queue to Screen or Slave Printer!",! G ZIS
  1. S ZTRTN="ENT^ABMDLBL"
  1. S ZTDESC="3P Print of Insurer Labels."
  1. F ABM="ABM(" S ZTSAVE(ABM)=""
  1. D ^%ZTLOAD
  1. G SEL
  1. ;
  1. ENT ;EP - Entry Point for Taskman
  1. S ABM("Q")=""
  1. ;
  1. LBL ;
  1. I '$D(IO("S")) U IO
  1. E X ABM("OPEN")
  1. ;
  1. MARG ;
  1. S ABM("LM")=$P($G(^ABMDPARM(DUZ(2),1,0)),"^",11),ABM("TM")=$P(^(0),"^",12)
  1. W $$EN^ABMVDF("IOF")
  1. I +ABM("TM") F ABM=1:1:ABM("TM") W !
  1. ;
  1. GET ;Loop through ABM("INS") array
  1. S (ABM("I"),ABM("J"))=0
  1. F S ABM("I")=$O(ABM("INS",ABM("I"))) Q:ABM("I")="" D
  1. . F ABM("K")=1:1 S ABM("J")=$O(ABM("INS",ABM("I"),ABM("J"))) Q:'ABM("J") D BADDR^ABMDLBL1,PRNT
  1. I IO'=IO(0)!$D(IO("S")) W $$EN^ABMVDF("IOF")
  1. D ^%ZISC
  1. I '$D(ABM("Q")) G SEL
  1. D:$D(ZTQUEUED) KILL^%ZTLOAD
  1. ;
  1. XIT ;
  1. K ABM
  1. Q
  1. ;
  1. PRNT ;
  1. I $D(ABM("IP",ABM("I"))),ABM("IP",ABM("I"))#20'=0,ABM("I")'["NON-BENEFICIARY PATIENT" Q
  1. S ABM("IP",ABM("I"))=ABM("K")
  1. F ABM("C")=1:1:ABM("COPIES") F ABM("L")=1:1:ABM("LINES")+1 W !?ABM("LM"),$P(ABM("ADD"),U,ABM("L"))
  1. Q
  1. ;
  1. SELI ;
  1. K DIC
  1. S ABM("C")=0
  1. S DIC="^AUTNINS("
  1. S DIC(0)="QEAM"
  1. W !
  1. F ABM=1:1 D Q:X=""!$D(DUOUT)!$D(DTOUT)
  1. . W !
  1. SELO . S ABM("E")=$E(ABM,$L(ABM))
  1. . S DIC("A")="Select "_ABM_$S(ABM>3&(ABM<21):"th",ABM("E")=1:"st",ABM("E")=2:"nd",ABM("E")=3:"rd",1:"th")_" INSURER: "
  1. . S DIC(0)="QEAM"
  1. . D ^DIC
  1. . Q:X=""!$D(DUOUT)!$D(DTOUT)
  1. . I +Y<1 G SELO
  1. . S ABM("INS",$P(^AUTNINS(+Y,0),U)_"-"_+Y,1)=""
  1. K DIC
  1. Q
  1. ;
  1. SELB ;
  1. W !
  1. K DIR
  1. S DIR(0)="YO"
  1. S DIR("A")="Print Labels for all EXPORT BATCHES that havn't been Previously Printed"
  1. S DIR("B")="N"
  1. S DIR("?")="Answer 'YES' if it is desired to print mailing labels for those Insurers associated with the Export Batches that labels have not been previously printed."
  1. D ^DIR
  1. K DIR
  1. Q:$D(DIRUT)
  1. G SELBE:'Y
  1. S ABM("M")=0
  1. F S ABM("M")=$O(^ABMDTXST(DUZ(2),"AM",1,ABM("M"))) Q:'ABM("M") D
  1. . S (DA,ABM("BAT"))=ABM("M")
  1. . S DIE="^ABMDTXST(DUZ(2),"
  1. . S DR=".07///@"
  1. . D ^ABMDDIE,BATCH
  1. Q
  1. ;
  1. SELBE ;
  1. W !!
  1. K DIC
  1. S ABM("C")=0
  1. S DIC="^ABMDTXST(DUZ(2),"
  1. S DIC(0)="QEAM"
  1. S ABM("M")=1
  1. ;
  1. SELBO ;
  1. S ABM("E")=$E(ABM("M"),$L(ABM("M")))
  1. S DIC("A")="Select "_ABM("M")_$S(ABM("M")>3&(ABM("M")<21):"th",ABM("E")=1:"st",ABM("E")=2:"nd",ABM("E")=3:"rd",1:"th")_" EXPORT BATCH (NUMBER or DATE): "
  1. D ^DIC
  1. Q:X=""!$D(DUOUT)!$D(DTOUT)
  1. I +Y<1 G SELBO
  1. S ABM("M")=ABM("M")+1
  1. S ABM("BAT")=+Y
  1. D BATCH
  1. G SELBO
  1. ;
  1. BATCH ;LOOP THROUGH EXPORT BATCH
  1. S ABM("NBP")=$O(^AUTNINS("B","NON-BENEFICIARY PATIENT",0))
  1. S ABM=""
  1. F S ABM=$O(^ABMDBILL(DUZ(2),"AX",ABM("BAT"),ABM)) Q:'ABM D
  1. . S ABM("I")=$P($G(^ABMDBILL(DUZ(2),ABM,0)),U,8)
  1. . I $D(^AUTNINS(ABM("I"),0)) D
  1. . . S ABM("INS",$P(^AUTNINS(ABM("I"),0),U)_"-"_ABM("I"),ABM)=$S(ABM("NBP")=ABM("I"):$P(^ABMDBILL(DUZ(2),ABM,0),"^",5),1:"")
  1. Q