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

ABMDE8J.m

Go to the documentation of this file.
  1. ABMDE8J ; IHS/ASDST/DMJ - Page 8 - SUPPLIES ;
  1. ;;2.6;IHS Third Party Billing System;**2**;NOV 12, 2009
  1. ;
  1. ; IHS/DSD/LSL - 09/01/98 - Patch 2 - NOIS NDA-0898-180038
  1. ; 0.00 charges on HCFA because version 2.0 does not assume
  1. ; 1 for units. Modify code to set units to 1 if not
  1. ; already defined.
  1. ; IHS/SD/SDR - v2.5 p11 - NPI
  1. ; IHS/SD/SDR - v2.6 CSV
  1. ; IHS/SD/SDR - abm*2.6*2 - 3PMS10003A - Modified to call ABMFEAPI
  1. ;
  1. DISP K ABMZ,DIC
  1. S ABMZ("TITL")="CHARGE MASTER",ABMZ("PG")="8J"
  1. I $D(ABMP("DDL")),$Y>(IOSL-9) D PAUSE^ABMDE1 G:$D(DUOUT)!$D(DTOUT)!$D(DIROUT) XIT I 1
  1. E D SUM^ABMDE1
  1. ;
  1. D J^ABMDE8X
  1. S $P(ABMZ("="),"=",81)=""
  1. S ABMZ("SUB")=45
  1. S ABMZ("ITEM")="Supply Item",ABMZ("DIC")="^ABMCM("
  1. S ABMZ("X")="X",(ABM("FEE"),ABMZ("TOTL"))=0
  1. D HD G LOOP
  1. HD W !?5,"REVN",?75,"TOTAL"
  1. W !?5,"CODE",?31,"ITEM",?65,"QTY",?74,"CHARGE"
  1. W !,ABMZ("=")
  1. Q
  1. LOOP S (ABMZ("LNUM"),ABMZ("NUM"),ABMZ(1),ABM)=0 F ABM("I")=1:1 S ABM=$O(^ABMDCLM(DUZ(2),ABMP("CDFN"),45,ABM)) Q:'ABM S ABM("X")=ABM,ABMZ("NUM")=ABM("I") D PC1
  1. I ABMZ("NUM")>0 W !,?72,"========",!?5,"TOTAL",?71,$J("$"_($FN(ABMZ("TOTL"),",",2)),9)
  1. I +$O(ABME(0)) S ABME("CONT")="" D ^ABMDERR K ABME("CONT")
  1. G XIT
  1. ;
  1. PC1 S ABM("X0")=^ABMDCLM(DUZ(2),ABMP("CDFN"),45,ABM("X"),0)
  1. Q:'$D(^ABMCM(+ABM("X0"),0))
  1. S ABMZ("UNIT")=$P(ABM("X0"),U,3)
  1. S:'+ABMZ("UNIT") ABMZ("UNIT")=1
  1. S ABMZ(ABM("I"))=$P(^ABMCM(+ABM("X0"),0),U)_U_ABM("X")_U_$P(ABM("X0"),U,2)
  1. EOP I $Y>(IOSL-8) D PAUSE^ABMDE1,HD
  1. W !,"[",ABM("I"),"]"
  1. I $P(ABM("X0"),"^",2) D
  1. .W ?5,"CHARGE DATE: "
  1. .W $$CDT^ABMDUTL($P(ABM("X0"),"^",2)),!
  1. W ?6,$P(ABM("X0"),"^",5)
  1. W ?12,$E($P(^ABMCM(+ABM("X0"),0),U),1,50)
  1. W ?65,$J(ABMZ("UNIT"),3)
  1. W ?72,$J($FN(($P(ABM("X0"),U,4)*ABMZ("UNIT")),",",2),8)
  1. S ABMZ("TOTL")=(ABMZ("UNIT")*$P(ABM("X0"),U,4))+ABMZ("TOTL")
  1. Q
  1. XIT K ABM,ABMMODE
  1. Q
  1. A ;ADD ENTRY
  1. I '$D(ABMDCLM(DUZ(2),ABMP("CDFN"),45)) D
  1. .S ^ABMDCLM(DUZ(2),ABMP("CDFN"),45,0)="^9002274.3045P^^"
  1. K DIC S DIC="^ABMCM(",DIC(0)="AEMQ"
  1. D ^DIC
  1. Q:+Y<0 S ABMZ("ITEM")=+Y
  1. S DA(1)=ABMP("CDFN")
  1. S DIC="^ABMDCLM(DUZ(2),DA(1),45,",X=+Y
  1. K DD,DO D FILE^DICN
  1. Q:Y<0 S DA=+Y
  1. I '$G(ABMZ("NUM")) S ABMZ("NUM")=1
  1. E ;EDIT EXISTING ENTRY
  1. D MODE^ABMDE8X
  1. I '$G(ABMZ("NUM")) G A
  1. I '$G(ABMZ("ITEM")) D Q:'Y
  1. .S DA(1)=ABMP("CDFN")
  1. .I ABMZ("NUM")=1 S Y=1
  1. .E S DIR(0)="NO^1:"_ABMZ("NUM") D ^DIR K DIR Q:'Y
  1. .S DA=$P(ABMZ(Y),"^",2)
  1. .S ABMZ("ITEM")=$P(^ABMDCLM(DUZ(2),DA(1),45,DA,0),U)
  1. S DIE="^ABMDCLM(DUZ(2),DA(1),45,"
  1. S DR=".02//"_$$SDT^ABMDUTL(ABMP("VDT"))
  1. D ^DIE Q:$D(Y)
  1. S DR=".03//1"
  1. D ^DIE Q:$D(Y)
  1. ;S DR=".04//"_+$P($G(^ABMDFEE(ABMP("FEE"),32,ABMZ("ITEM"),0)),"^",2) ;abm*2.6*2 3PMS10003A
  1. S DR=".04//"_+$P($$ONE^ABMFEAPI(ABMP("FEE"),32,ABMZ("ITEM"),ABMP("VDT")),U) ;abm*2.6*2 3PMS10003A
  1. D ^DIE Q:$D(Y)
  1. I ^ABMDEXP(ABMMODE(10),0)["UB" D Q:$D(Y)
  1. .S DR=".05//"_$P(^ABMCM(ABMZ("ITEM"),0),"^",2)
  1. .D ^DIE
  1. S ABMZ("HCPCS")=$P($$CPT^ABMCVAPI(+$P(^ABMCM(ABMZ("ITEM"),0),U,3),ABMP("VDT")),U,2) ;CSV-c
  1. S DR=".07//"_ABMZ("HCPCS")
  1. D ^DIE Q:$D(Y)
  1. S ABM("X0")=^ABMDCLM(DUZ(2),DA(1),45,DA,0)
  1. I (^ABMDEXP(ABMMODE(10),0)["HCFA")!(^ABMDEXP(ABMMODE(10),0)["CMS") D
  1. .D DX^ABMDEMLC
  1. .S DR=".06////"_$G(Y(0))
  1. .D ^DIE
  1. S DR=".17///M" D ^DIE
  1. W !!
  1. S DIR(0)="E",DIR("A")="Enter RETURN to Continue" K DIR("B") D ^DIR K DIR
  1. Q