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

ABMDTASC.m

Go to the documentation of this file.
  1. ABMDTASC ; IHS/ASDST/DMJ - UPDATE ASC FEE TABLE ;
  1. ;;2.6;IHS Third Party Billing System;**2**;NOV 12, 2009
  1. ; IHS/SD/SDR - v2.5 p9 - IM12137 - Added code to put group 9 prompts in
  1. ; IHS/SD/SDR - v2.6 CSV
  1. ; IHS/SD/SDR - abm*2.6*2 - 3PMS10003A - modified to populated effective dates
  1. ;
  1. START ;START
  1. W !!,$$EN^ABMVDF("RVN"),"NOTE:",$$EN^ABMVDF("RVF")
  1. W " We recommend doing a global save of global ^ABMDFEE before proceeding.",!!
  1. S DIC="^ABMDFEE(",DIC(0)="AEMNQ"
  1. S DIC("A")="Enter the Number of your ASC Fee Schedule: "
  1. S DIC("B")=2
  1. D ^DIC K DIC
  1. Q:+Y<0 S ABMJ=+Y
  1. D CURRATE
  1. D RATE
  1. Q:$D(DUOUT)!$D(DTOUT)
  1. S $P(ABMEQ,"=",80)=""
  1. W !!,ABMEQ,!
  1. F ABMI=1:1:9 W !,"Rate for ASC Payment Group ",ABMI,": $",ABM(ABMI)
  1. S DIR(0)="Y"
  1. S DIR("A")="Continue"
  1. S DIR("B")="NO"
  1. D ^DIR K DIR
  1. Q:Y'=1
  1. ;start new code abm*2.6*2 3PMS10003A
  1. D ^XBFMK
  1. S DIR(0)="D"
  1. S DIR("A")="What is the effective date? "
  1. S DIR("B")="TODAY"
  1. D ^DIR K DIR
  1. Q:$D(DIRUT)
  1. S ABMEDT=Y
  1. ;end new code 3PMS10003A
  1. D LOOP
  1. K ABMPG,ABMEQ
  1. ;start new code abm*2.6*2 3PMS10003A
  1. D ^XBFMK
  1. S DA(1)=ABMJ
  1. S DIC="^ABMDFEE("_DA(1)_",1,"
  1. S DIC(0)="MQL"
  1. S DIC("P")=$P(^DD(9002274.01,1,0),U,2)
  1. D NOW^%DTC
  1. S X=%
  1. S DIC("DR")=".02////"_DUZ_";.06////Y"
  1. D ^DIC
  1. ;end new code 3PMS10003A
  1. W !!,"Finished.",!!
  1. S DIR(0)="E" D ^DIR K DIR
  1. Q
  1. CURRATE ;
  1. S ABMI=9999
  1. F S ABMI=$O(^ICPT(ABMI)) Q:ABMI>69999 D
  1. .S ABMPG=$P($$IHSCPT^ABMCVAPI(ABMI,""),U,6) ;CSV-c
  1. .Q:'ABMPG
  1. .Q:ABMPG>9
  1. .Q:'$D(^ABMDFEE(ABMJ,11,ABMI,0))
  1. .S ABMRATE(+ABMPG)=$P($G(^ABMDFEE(ABMJ,11,ABMI,0)),U,2)
  1. W !!,"CURRENT RATES"
  1. F ABMI=1:1:9 W !,?3,"Rate for ASC Payment Group ",ABMI,":$",+$G(ABMRATE(ABMI))
  1. W !
  1. K ABMRATE
  1. Q
  1. RATE ;ENTER RATES FOR THE ASC PAYMENT GROUPS
  1. K DUOUT,DTOUT
  1. S DIR(0)="N"
  1. W !,"NEW RATES"
  1. F ABMI=1:1:9 D Q:$D(DUOUT)!$D(DTOUT)
  1. .S DIR("A")="Enter Rate for ASC Payment Group #"_ABMI
  1. .D ^DIR
  1. .Q:$D(DUOUT)!$D(DTOUT)
  1. .S ABM(ABMI)=Y
  1. K DIR
  1. Q
  1. LOOP ;LOOP THROUGH CPT SURGERY
  1. S ABMI=9999
  1. F S ABMI=$O(^ICPT(ABMI)) Q:ABMI>69999 D
  1. .S ABMPG=$P($$IHSCPT^ABMCVAPI(ABMI,""),U,6) ;CSV-c
  1. .Q:'ABMPG
  1. .Q:ABMPG>9
  1. .;I '$D(^ABMDFEE(ABMJ,11,ABMI,0)) D NEW Q:+Y<0 ;abm*2.6*2 3PMS10003A
  1. .I '$D(^ABMDFEE(ABMJ,11,ABMI,0)) D NEW ;abm*2.6*2 3PMS10003A
  1. .S $P(^ABMDFEE(ABMJ,11,ABMI,0),U,2)=ABM(+ABMPG)
  1. .D EFFDT ;abm*2.6*2 3PMS10003A
  1. .W "."
  1. Q
  1. NEW ;NEW ENTRY IN FEE TABLE
  1. S ^ABMDFEE(ABMJ,11,ABMI,0)=ABMI
  1. S ^ABMDFEE(ABMJ,11,"B",ABMI,ABMI)=""
  1. Q
  1. ;start new code abm*2.6*2 3PMS10003A
  1. EFFDT ;
  1. D ^XBFMK
  1. S DA(2)=ABMJ
  1. S DA(1)=ABMI
  1. S DIC="^ABMDFEE("_DA(2)_",11,"_DA(1)_",1,"
  1. S DIC(0)="L"
  1. S DIC("P")=$P(^DD(9002274.0111,1,0),U,2)
  1. S X=ABMEDT
  1. D ^DIC
  1. S ABMENTRY=+Y
  1. D ^XBFMK
  1. S DA(2)=ABMJ
  1. S DA(1)=ABMI
  1. S DIE="^ABMDFEE("_DA(2)_",11,"_DA(1)_",1,"
  1. S DA=ABMENTRY
  1. S DR=".02////"_ABM(+ABMPG)
  1. S DR=DR_";.05////"_DT_";.06////"_DUZ
  1. D ^DIE
  1. Q
  1. ;end new code 3PMS10003A