| 1 | ACKQAS3 ;AUG/JLTP BIR/PTD-Enter Cost Information for Procedures ; [ 02/14/96   3:30 PM ]
 | 
|---|
| 2 |  ;;3.0;QUASAR;**8**;Feb 11, 2000
 | 
|---|
| 3 |  ;Per VHA Directive 10-93-142, this routine SHOULD NOT be modified.
 | 
|---|
| 4 | ACCESS ;Only A&SP staff designated as supervisors can access this option.
 | 
|---|
| 5 |  N ACKDUZ
 | 
|---|
| 6 |  S ACKDUZ=$$PROVCHK^ACKQASU4(DUZ) S:ACKDUZ="" ACKDUZ=" "
 | 
|---|
| 7 |  W @IOF I $O(^ACK(509850.3,ACKDUZ,""))="" W !,"You are not listed in the A&SP STAFF file (#509850.3).",!,"Access denied." G EXIT
 | 
|---|
| 8 |  S X=$$STACT^ACKQUTL(ACKDUZ) I ((X=-2)!(X=-6)) W !,"Only clinicians may access this option!" G EXIT
 | 
|---|
| 9 |  I X W !,"The A&SP STAFF file (#509850.3) indicates that you have been inactivated.",!,"Access denied." G EXIT
 | 
|---|
| 10 |  I $P(^ACK(509850.3,ACKDUZ,0),"^",6)'=1 W !,"You must be listed as a SUPERVISOR in the A&SP STAFF file (#509850.3)",!,"in order to use this option.  Access denied." G EXIT
 | 
|---|
| 11 | OPTN ;Introduce option.
 | 
|---|
| 12 |  W @IOF,!,"This option allows you to enter cost data for each procedure code",!,"in the A&SP PROCEDURE CODE file (#509850.4).  The information is",!,"used to generate the Cost Comparison Report.",!
 | 
|---|
| 13 |  I '$O(^ICPT(0)) W !,"The CPT file (#81) is required." G EXIT
 | 
|---|
| 14 | CHOOSE ;Display user choices: edit selected entries or all entries.
 | 
|---|
| 15 |  K DIR,X,Y S DIR(0)="NAO^1:2",DIR("A",1)="Select the action you wish to take.",DIR("A",2)="",DIR("A",3)="1. Edit a selected CPT-4 code.",DIR("A",4)="2. Edit all procedure codes.",DIR("A",5)=""
 | 
|---|
| 16 |  S DIR("A")="Enter a number, 1 or 2: ",DIR("?")="Answer 1 to choose a code; answer 2 to loop through all procedures"
 | 
|---|
| 17 |  S DIR("??")="^D CHOOSE^ACKQHLP1" D ^DIR K DIR G:$D(DIRUT) EXIT
 | 
|---|
| 18 |  S ACKANS=+Y I ACKANS=1 K ACKANS,DIR,X,Y G SINGLE
 | 
|---|
| 19 | LOOP ;Edit the cost of all CPT-4 procedure codes.
 | 
|---|
| 20 |  S ACK=0 F  S ACK=$O(^ACK(509850.4,ACK)) Q:'ACK!($D(DIRUT))  S ACK0=^(ACK,0) D COST
 | 
|---|
| 21 | EXIT ;Kill variables and exit routine.
 | 
|---|
| 22 |  K %,%W,%Y,ACKANS,ACK,ACK0,ACK1,ACK(1),ACKM,C,DA,DIC,DIE,DIR,DR,DIRUT,DTOUT,DUOUT,X,Y
 | 
|---|
| 23 |  Q
 | 
|---|
| 24 |  ;
 | 
|---|
| 25 | SINGLE ;Edit the cost of a selected CPT-4 code.
 | 
|---|
| 26 |  S DIC="^ACK(509850.4,",DIC(0)="QEAMZ",DIC("A")="Enter Procedure Code: " W ! D ^DIC K DIC G:Y<0 EXIT
 | 
|---|
| 27 |  S ACK=+Y,ACK0=Y(0)
 | 
|---|
| 28 |  D COST,EXIT
 | 
|---|
| 29 |  G SINGLE
 | 
|---|
| 30 |  ;
 | 
|---|
| 31 | COST ;Enter cost data for a single CPT-4 procedure code.
 | 
|---|
| 32 |  ;ACK (IEN) and ACK0 (zero node) are defined upon entry.
 | 
|---|
| 33 |  S DIR(0)="NAO^0:9999:2",DIR("A")="Enter Cost: $ ",DIR("?")="Enter the approximate PRIVATE SECTOR cost for this procedure"
 | 
|---|
| 34 |  S DIR("??")="^W !?5,""Do not enter the $ sign.  Enter numeric values between 0 and 9999."""
 | 
|---|
| 35 |  S:$P(ACK0,U,6) DIR("B")=$P(ACK0,U,6)
 | 
|---|
| 36 |  I '$D(^ICPT(ACK,0)) W !!,"File 81, CPT, needs to be updated.  Code "_ACK_" is missing." Q
 | 
|---|
| 37 |  W !!,$P(^ICPT(ACK,0),U),"  ",$$PROCTXT^ACKQUTL8(ACK,"")
 | 
|---|
| 38 |  W:'$P(ACK0,U,4) "   *** INACTIVE ***",$C(7)
 | 
|---|
| 39 |  D ^DIR K DIR("B") K:Y=""&('$D(DTOUT)) DIRUT
 | 
|---|
| 40 |  I '$D(DIRUT),Y]"" S DIE="^ACK(509850.4,",DA=ACK,DR=".06////"_+Y D ^DIE K DIE
 | 
|---|
| 41 | MOD ;Edit cost of modifier codes.
 | 
|---|
| 42 |  S ACKM="" F  S ACKM=$O(^ACK(509850.4,ACK,1,"B",ACKM)) Q:ACKM=""!($D(DIRUT))  S ACK(1)=0 F  S ACK(1)=$O(^(ACKM,ACK(1))) Q:'ACK(1)!($D(DIRUT))  S ACK1=^ACK(509850.4,ACK,1,ACK(1),0) D
 | 
|---|
| 43 |  .W !?5,ACKM,".  ",$P(ACK1,U,2)
 | 
|---|
| 44 |  .S:$P(ACK1,U,3) DIR("B")=$P(ACK1,U,3) D ^DIR K DIR("B") K:'$D(DTOUT)&('$D(DUOUT)) DIRUT Q:$D(DIRUT)
 | 
|---|
| 45 |  .S DIE="^ACK(509850.4,ACK,1,",DA(1)=ACK,DA=ACK(1),DR=".03////"_+Y
 | 
|---|
| 46 |  .D ^DIE K DA,DIE,DR
 | 
|---|