ABMDRSL2 ; IHS/ASDST/DMJ - Selective Report Parameters-PART 3 ;
;;2.6;IHS 3P BILLING SYSTEM;**14,21**;NOV 12, 2009;Build 379
;Original;TMD;
;
; IHS/SD/SDR - v2.5 p8 - task 12
; Added code so only brief and statistical will be asked
; for pending report
;
; IHS/SD/SDR - v2.6 CSV
;IHS/SD/SDR - 2.6*14 - ICD10 009 - Updated reports to look for ICD10 codes
;IHS/SD/SDR - 2.6*14 - HEAT165197 (CR3109) - Added code for $$NUM to validate alphanumeric values
;IHS/SD/SDR - 2.6*21 - HEAT140244 - Made change so extended report will print for cancelled claims report
;IHS/SD/SDR - 2.6*21 - HEAT214020 - Updated prompts for ICD-9 codes to actually say ICD-9, not just ICD
;IHS/SD/SDR - 2.6*21 - HEAT241429 - Added prompt for PRINTER vs COMMA-DELIMITED
;
PTYP ;EP
K DIR
S DIR(0)="SO^1:INDIAN BENEFICIARY PATIENTS;2:NON-BENEFICIARY PATIENTS"
S DIR("A")="Select the PATIENT ELIGIBILITY STATUS"
S DIR("?")="Selection of an Eligibility Status will restrict the report to only those visits in which the patient is of the type designated."
D ^DIR
K DIR
Q:$D(DIRUT)
S ABMY("PTYP")=Y
S ABMY("PTYP","NM")=Y(0)
Q
;
RTYP ;EP
K DIR
S DIR(0)="SO^1:BRIEF LISTING (80 Width);2:EXTENDED LISTING (132 Width);3:STATISTICAL SUMMARY ONLY"_$S($D(ABM("COST")):";4:ITEMIZED COST REPORT",1:"")
I $G(ABM("REASON"))="PEND" S DIR(0)="SO^1:BRIEF LISTING (80 Width);2:STATISTICAL SUMMARY ONLY"
S DIR("A")="Select TYPE of LISTING to Display"
D ^DIR
K DIR
Q:$D(DIRUT)
S ABM("RTYP")=Y
S ABM("RTYP","NM")=Y(0)
K ABM(132)
;I $D(ABM("REASON")),(Y=2) S (Y,ABM("RTYP"))=3 ;abm*2.6*21 IHS/SD/SDR HEAT140244
I $D(ABM("REASON")),$G(ABM("REASON"))="PEND",(Y=2) S (Y,ABM("RTYP"))=3 ;abm*2.6*21 IHS/SD/SDR HEAT140244
I Y=2 S ABM(132)="" Q
I Y>2,+$G(ABMP("TYP"))'=0 S ABM(132)=""
Q
;
DX ;EP
;start old code abm*2.6*14 ICD10 009
;K DIR,ABMY("DX")
;W !!,"ENTRY of ICD DIAGNOSIS RANGE:",!,"============================="
;end old code start new code ICD10 009
K ABMY("DX"),ABM("DX")
D ^XBFMK
W !!,"ENTRY of ICD DIAGNOSIS RANGE:",!,"============================="
I '$D(^DIC(9.8,"B","ICDEX")) D DLOW Q ;if ICD-10 codes aren't present
S DIR(0)="S^9:ICD-9;10:ICD-10;B:Both coding versions"
S DIR("A")="Select ICD Version "
D ^DIR
Q:$D(DTOUT)!$D(DUOUT)!$D(DIROUT)!$D(DIRUT)
S ABMY("DXANS")=Y
;if 9 or both
I ABMY("DXANS")'=10 D ^XBFMK,DLOW
;if 10 or both
I ABMY("DXANS")'=9 D ^XBFMK,DLOW10
Q
;end new code ICD10 009
;
DLOW ;
S DIR(0)="PO^80:QEAM"
I $D(^DIC(9.8,"B","ICDEX")) S DIR("S")="I $P($$DX^ABMCVAPI(+Y,""""),U,20)=1" ;abm*2.6*14 ICD10 009 and update API call
;S DIR("A")="Low ICD Code" ;abm*2.6*21 IHS/SD/SDR HEAT214020
S DIR("A")="Low ICD-9 Code" ;abm*2.6*21 IHS/SD/SDR HEAT214020
D ^DIR
K DIR
Q:$D(DIRUT)
G DLOW:+Y<1
;S ABMY("DX",1)=$P($$DX^ABMCVAPI(+Y,""),U,2) ;CSV-c ;abm*2.6*14 HEAT165197 (CR3109)
S ABM("DX",1)=$P($$DX^ABMCVAPI(+Y,""),U,2) ;CSV-c ;abm*2.6*14 HEAT165197 (CR3109)
S ABMY("DX",1)=$$NUM^ABMCVAPI($P($$DX^ABMCVAPI(+Y,""),U,2)) ;CSV-c ;abm*2.6*14 HEAT165197 (CR3109)
;
DHI ;
S DIR(0)="PO^80:QEAM"
I $D(^DIC(9.8,"B","ICDEX")) S DIR("S")="I $P($$DX^ABMCVAPI(Y,""""),U,20)=1" ;abm*2.6*14 ICD10 009 and update API call
;S DIR("A")="High ICD Code" ;abm*2.6*21 IHS/SD/SDR HEAT214020
S DIR("A")="High ICD-9 Code" ;abm*2.6*21 IHS/SD/SDR HEAT214020
D ^DIR
K DIR
G DX:$D(DIRUT)
G DHI:+Y<1
;S ABMY("DX",2)=$P($$DX^ABMCVAPI(+Y,""),U,2) ;CSV-c ;abm*2.6*14 HEAT165197 (CR3109)
S ABM("DX",2)=$P($$DX^ABMCVAPI(+Y,""),U,2) ;CSV-c ;abm*2.6*14 HEAT165197 (CR3109)
S ABMY("DX",2)=$$NUM^ABMCVAPI($P($$DX^ABMCVAPI(+Y,""),U,2)) ;CSV-c ;abm*2.6*14 HEAT165197 (CR3109)
I ABMY("DX",1)>ABMY("DX",2)!('+ABMY("DX",1)&($E(ABMY("DX",1),2,9)>$E(ABMY("DX",2),2,9))) W !!,*7,"INPUT ERROR: Low Diagnosis is Greater than than the High, TRY AGAIN!",!! G DX
W !
S DIR(0)="S^A:ALL DIAGNOSIS;P:PRIMARY DIAGNOSIS ONLY"
S DIR("B")="A"
S DIR("A")="For each visit, Check [A]ll Diagnosis or just the [P]rimary"
S DIR("?")="Enter either 'A' to have ALL of the Diagnosis checked for consistency with the range specified, or 'P' for checking just the Primary Diagnosis."
D ^DIR
Q:$D(DIRUT)
S:Y="A" ABMY("DX","ALL")=""
Q
;
;start new code abm*2.6*14 ICD10 009
DLOW10 ;
S DIR(0)="PO^80:QEAM"
S DIR("S")="I $P($$DX^ABMCVAPI(+Y),U,20)=30"
S DIR("A")="Low ICD-10 Code"
D ^DIR
K DIR
Q:$D(DIRUT)
G DLOW10:+Y<1
;S ABMY("DX",3)=$P($$DX^ABMCVAPI(+Y,""),U,2) ;CSV-c ;abm*2.6*14 HEAT165197 (CR3109)
S ABM("DX",3)=$P($$DX^ABMCVAPI(+Y,""),U,2) ;CSV-c ;abm*2.6*14 HEAT165197 (CR3109)
S ABMY("DX",3)=$$NUM^ABMCVAPI($P($$DX^ABMCVAPI(+Y,""),U,2)) ;CSV-c ;abm*2.6*14 HEAT165197 (CR3109)
;
DHI10 ;
S DIR(0)="PO^80:QEAM"
S DIR("S")="I $P($$DX^ABMCVAPI(+Y),U,20)=30"
S DIR("A")="High ICD-10 Code"
D ^DIR
K DIR
G DX:$D(DIRUT)
G DHI10:+Y<1
;S ABMY("DX",4)=$P($$DX^ABMCVAPI(+Y,""),U,2) ;CSV-c ;abm*2.6*14 HEAT165197 (CR3109)
S ABM("DX",4)=$P($$DX^ABMCVAPI(+Y,""),U,2) ;CSV-c ;abm*2.6*14 HEAT165197 (CR3109)
S ABMY("DX",4)=$$NUM^ABMCVAPI($P($$DX^ABMCVAPI(+Y,""),U,2)) ;CSV-c ;abm*2.6*14 HEAT165197 (CR3109)
;I ABMY("DX",3)>ABMY("DX",4)!('+ABMY("DX",3)&($E(ABMY("DX",3),2,9)>$E(ABMY("DX",4),2,9))) W !!,*7,"INPUT ERROR: Low Diagnosis is Greater than than the High, TRY AGAIN!",!! G DX ;abm*2.6*14
I ABMY("DX",3)>ABMY("DX",4) W !!,*7,"INPUT ERROR: Low Diagnosis is Greater than than the High, TRY AGAIN!",!! G DX ;abm*2.6*14
W !
S DIR(0)="S^A:ALL DIAGNOSIS;P:PRIMARY DIAGNOSIS ONLY"
S DIR("B")="A"
S DIR("A")="For each visit, Check [A]ll Diagnosis or just the [P]rimary"
S DIR("?")="Enter either 'A' to have ALL of the Diagnosis checked for consistency with the range specified, or 'P' for checking just the Primary Diagnosis."
D ^DIR
Q:$D(DIRUT)
S:Y="A" ABMY("DX10","ALL")=""
Q
;end new code ICD10 009
;
PX ;EP
K DIR,ABMY("PX")
W !!,"ENTRY of CPT PROCEDURE RANGE:",!,"============================="
;
PLOW ;
S DIR(0)="PO^81:QEAM"
S DIR("A")="Low CPT Code"
D ^DIR
K DIR
Q:$D(DIRUT)
G PLOW:+Y<1
S ABMY("PX",1)=$P($$CPT^ABMCVAPI(+Y,""),U,2) ;CSV-c
;
PHI ;
S DIR(0)="PO^81:QEAM"
S DIR("A")="High CPT Code"
D ^DIR
K DIR
G PX:$D(DIRUT)
G PHI:+Y<1
S ABMY("PX",2)=$P($$CPT^ABMCVAPI(+Y,""),U,2) ;CSV-c
I ABMY("PX",1)>ABMY("PX",2) W !!,*7,"INPUT ERROR: Low CPT Code is Greater than than the High, TRY AGAIN!",!! G PX
Q
;
;start new abm*2.6*21 IHS/SD/SDR HEAT241429
RFOR ;EP
K DIR
S DIR(0)="SO^1:Printer;2:Comma-Delimited (for Excel Importing)"
S DIR("A")="Select TYPE of Output"
D ^DIR
K DIR
Q:$D(DIRUT)
S ABM("RFOR")=Y
S ABM("RFOR","NM")=Y(0)
I ABM("RFOR")=1 Q ;stop here if printer
;ask path and filename
K DIR
S DIR(0)="F"
S DIR("A")="Path"
D ^DIR
K DIR
Q:$D(DIRUT)
S ABM("RPATH")=Y
K DIR
S DIR(0)="F"
S DIR("A")="Filename"
D ^DIR
K DIR
Q:$D(DIRUT)
S ABM("RFN")=Y
Q
;end new abm*2.6*21 IHS/SD/SDR HEAT241429
ABMDRSL2 ; IHS/ASDST/DMJ - Selective Report Parameters-PART 3 ;
+1 ;;2.6;IHS 3P BILLING SYSTEM;**14,21**;NOV 12, 2009;Build 379
+2 ;Original;TMD;
+3 ;
+4 ; IHS/SD/SDR - v2.5 p8 - task 12
+5 ; Added code so only brief and statistical will be asked
+6 ; for pending report
+7 ;
+8 ; IHS/SD/SDR - v2.6 CSV
+9 ;IHS/SD/SDR - 2.6*14 - ICD10 009 - Updated reports to look for ICD10 codes
+10 ;IHS/SD/SDR - 2.6*14 - HEAT165197 (CR3109) - Added code for $$NUM to validate alphanumeric values
+11 ;IHS/SD/SDR - 2.6*21 - HEAT140244 - Made change so extended report will print for cancelled claims report
+12 ;IHS/SD/SDR - 2.6*21 - HEAT214020 - Updated prompts for ICD-9 codes to actually say ICD-9, not just ICD
+13 ;IHS/SD/SDR - 2.6*21 - HEAT241429 - Added prompt for PRINTER vs COMMA-DELIMITED
+14 ;
PTYP ;EP
+1 KILL DIR
+2 SET DIR(0)="SO^1:INDIAN BENEFICIARY PATIENTS;2:NON-BENEFICIARY PATIENTS"
+3 SET DIR("A")="Select the PATIENT ELIGIBILITY STATUS"
+4 SET DIR("?")="Selection of an Eligibility Status will restrict the report to only those visits in which the patient is of the type designated."
+5 DO ^DIR
+6 KILL DIR
+7 IF $DATA(DIRUT)
QUIT
+8 SET ABMY("PTYP")=Y
+9 SET ABMY("PTYP","NM")=Y(0)
+10 QUIT
+11 ;
RTYP ;EP
+1 KILL DIR
+2 SET DIR(0)="SO^1:BRIEF LISTING (80 Width);2:EXTENDED LISTING (132 Width);3:STATISTICAL SUMMARY ONLY"_$SELECT($DATA(ABM("COST")):";4:ITEMIZED COST REPORT",1:"")
+3 IF $GET(ABM("REASON"))="PEND"
SET DIR(0)="SO^1:BRIEF LISTING (80 Width);2:STATISTICAL SUMMARY ONLY"
+4 SET DIR("A")="Select TYPE of LISTING to Display"
+5 DO ^DIR
+6 KILL DIR
+7 IF $DATA(DIRUT)
QUIT
+8 SET ABM("RTYP")=Y
+9 SET ABM("RTYP","NM")=Y(0)
+10 KILL ABM(132)
+11 ;I $D(ABM("REASON")),(Y=2) S (Y,ABM("RTYP"))=3 ;abm*2.6*21 IHS/SD/SDR HEAT140244
+12 ;abm*2.6*21 IHS/SD/SDR HEAT140244
IF $DATA(ABM("REASON"))
IF $GET(ABM("REASON"))="PEND"
IF (Y=2)
SET (Y,ABM("RTYP"))=3
+13 IF Y=2
SET ABM(132)=""
QUIT
+14 IF Y>2
IF +$GET(ABMP("TYP"))'=0
SET ABM(132)=""
+15 QUIT
+16 ;
DX ;EP
+1 ;start old code abm*2.6*14 ICD10 009
+2 ;K DIR,ABMY("DX")
+3 ;W !!,"ENTRY of ICD DIAGNOSIS RANGE:",!,"============================="
+4 ;end old code start new code ICD10 009
+5 KILL ABMY("DX"),ABM("DX")
+6 DO ^XBFMK
+7 WRITE !!,"ENTRY of ICD DIAGNOSIS RANGE:",!,"============================="
+8 ;if ICD-10 codes aren't present
IF '$DATA(^DIC(9.8,"B","ICDEX"))
DO DLOW
QUIT
+9 SET DIR(0)="S^9:ICD-9;10:ICD-10;B:Both coding versions"
+10 SET DIR("A")="Select ICD Version "
+11 DO ^DIR
+12 IF $DATA(DTOUT)!$DATA(DUOUT)!$DATA(DIROUT)!$DATA(DIRUT)
QUIT
+13 SET ABMY("DXANS")=Y
+14 ;if 9 or both
+15 IF ABMY("DXANS")'=10
DO ^XBFMK
DO DLOW
+16 ;if 10 or both
+17 IF ABMY("DXANS")'=9
DO ^XBFMK
DO DLOW10
+18 QUIT
+19 ;end new code ICD10 009
+20 ;
DLOW ;
+1 SET DIR(0)="PO^80:QEAM"
+2 ;abm*2.6*14 ICD10 009 and update API call
IF $DATA(^DIC(9.8,"B","ICDEX"))
SET DIR("S")="I $P($$DX^ABMCVAPI(+Y,""""),U,20)=1"
+3 ;S DIR("A")="Low ICD Code" ;abm*2.6*21 IHS/SD/SDR HEAT214020
+4 ;abm*2.6*21 IHS/SD/SDR HEAT214020
SET DIR("A")="Low ICD-9 Code"
+5 DO ^DIR
+6 KILL DIR
+7 IF $DATA(DIRUT)
QUIT
+8 IF +Y<1
GOTO DLOW
+9 ;S ABMY("DX",1)=$P($$DX^ABMCVAPI(+Y,""),U,2) ;CSV-c ;abm*2.6*14 HEAT165197 (CR3109)
+10 ;CSV-c ;abm*2.6*14 HEAT165197 (CR3109)
SET ABM("DX",1)=$PIECE($$DX^ABMCVAPI(+Y,""),U,2)
+11 ;CSV-c ;abm*2.6*14 HEAT165197 (CR3109)
SET ABMY("DX",1)=$$NUM^ABMCVAPI($PIECE($$DX^ABMCVAPI(+Y,""),U,2))
+12 ;
DHI ;
+1 SET DIR(0)="PO^80:QEAM"
+2 ;abm*2.6*14 ICD10 009 and update API call
IF $DATA(^DIC(9.8,"B","ICDEX"))
SET DIR("S")="I $P($$DX^ABMCVAPI(Y,""""),U,20)=1"
+3 ;S DIR("A")="High ICD Code" ;abm*2.6*21 IHS/SD/SDR HEAT214020
+4 ;abm*2.6*21 IHS/SD/SDR HEAT214020
SET DIR("A")="High ICD-9 Code"
+5 DO ^DIR
+6 KILL DIR
+7 IF $DATA(DIRUT)
GOTO DX
+8 IF +Y<1
GOTO DHI
+9 ;S ABMY("DX",2)=$P($$DX^ABMCVAPI(+Y,""),U,2) ;CSV-c ;abm*2.6*14 HEAT165197 (CR3109)
+10 ;CSV-c ;abm*2.6*14 HEAT165197 (CR3109)
SET ABM("DX",2)=$PIECE($$DX^ABMCVAPI(+Y,""),U,2)
+11 ;CSV-c ;abm*2.6*14 HEAT165197 (CR3109)
SET ABMY("DX",2)=$$NUM^ABMCVAPI($PIECE($$DX^ABMCVAPI(+Y,""),U,2))
+12 IF ABMY("DX",1)>ABMY("DX",2)!('+ABMY("DX",1)&($EXTRACT(ABMY("DX",1),2,9)>$EXTRACT(ABMY("DX",2),2,9)))
WRITE !!,*7,"INPUT ERROR: Low Diagnosis is Greater than than the High, TRY AGAIN!",!!
GOTO DX
+13 WRITE !
+14 SET DIR(0)="S^A:ALL DIAGNOSIS;P:PRIMARY DIAGNOSIS ONLY"
+15 SET DIR("B")="A"
+16 SET DIR("A")="For each visit, Check [A]ll Diagnosis or just the [P]rimary"
+17 SET DIR("?")="Enter either 'A' to have ALL of the Diagnosis checked for consistency with the range specified, or 'P' for checking just the Primary Diagnosis."
+18 DO ^DIR
+19 IF $DATA(DIRUT)
QUIT
+20 IF Y="A"
SET ABMY("DX","ALL")=""
+21 QUIT
+22 ;
+23 ;start new code abm*2.6*14 ICD10 009
DLOW10 ;
+1 SET DIR(0)="PO^80:QEAM"
+2 SET DIR("S")="I $P($$DX^ABMCVAPI(+Y),U,20)=30"
+3 SET DIR("A")="Low ICD-10 Code"
+4 DO ^DIR
+5 KILL DIR
+6 IF $DATA(DIRUT)
QUIT
+7 IF +Y<1
GOTO DLOW10
+8 ;S ABMY("DX",3)=$P($$DX^ABMCVAPI(+Y,""),U,2) ;CSV-c ;abm*2.6*14 HEAT165197 (CR3109)
+9 ;CSV-c ;abm*2.6*14 HEAT165197 (CR3109)
SET ABM("DX",3)=$PIECE($$DX^ABMCVAPI(+Y,""),U,2)
+10 ;CSV-c ;abm*2.6*14 HEAT165197 (CR3109)
SET ABMY("DX",3)=$$NUM^ABMCVAPI($PIECE($$DX^ABMCVAPI(+Y,""),U,2))
+11 ;
DHI10 ;
+1 SET DIR(0)="PO^80:QEAM"
+2 SET DIR("S")="I $P($$DX^ABMCVAPI(+Y),U,20)=30"
+3 SET DIR("A")="High ICD-10 Code"
+4 DO ^DIR
+5 KILL DIR
+6 IF $DATA(DIRUT)
GOTO DX
+7 IF +Y<1
GOTO DHI10
+8 ;S ABMY("DX",4)=$P($$DX^ABMCVAPI(+Y,""),U,2) ;CSV-c ;abm*2.6*14 HEAT165197 (CR3109)
+9 ;CSV-c ;abm*2.6*14 HEAT165197 (CR3109)
SET ABM("DX",4)=$PIECE($$DX^ABMCVAPI(+Y,""),U,2)
+10 ;CSV-c ;abm*2.6*14 HEAT165197 (CR3109)
SET ABMY("DX",4)=$$NUM^ABMCVAPI($PIECE($$DX^ABMCVAPI(+Y,""),U,2))
+11 ;I ABMY("DX",3)>ABMY("DX",4)!('+ABMY("DX",3)&($E(ABMY("DX",3),2,9)>$E(ABMY("DX",4),2,9))) W !!,*7,"INPUT ERROR: Low Diagnosis is Greater than than the High, TRY AGAIN!",!! G DX ;abm*2.6*14
+12 ;abm*2.6*14
IF ABMY("DX",3)>ABMY("DX",4)
WRITE !!,*7,"INPUT ERROR: Low Diagnosis is Greater than than the High, TRY AGAIN!",!!
GOTO DX
+13 WRITE !
+14 SET DIR(0)="S^A:ALL DIAGNOSIS;P:PRIMARY DIAGNOSIS ONLY"
+15 SET DIR("B")="A"
+16 SET DIR("A")="For each visit, Check [A]ll Diagnosis or just the [P]rimary"
+17 SET DIR("?")="Enter either 'A' to have ALL of the Diagnosis checked for consistency with the range specified, or 'P' for checking just the Primary Diagnosis."
+18 DO ^DIR
+19 IF $DATA(DIRUT)
QUIT
+20 IF Y="A"
SET ABMY("DX10","ALL")=""
+21 QUIT
+22 ;end new code ICD10 009
+23 ;
PX ;EP
+1 KILL DIR,ABMY("PX")
+2 WRITE !!,"ENTRY of CPT PROCEDURE RANGE:",!,"============================="
+3 ;
PLOW ;
+1 SET DIR(0)="PO^81:QEAM"
+2 SET DIR("A")="Low CPT Code"
+3 DO ^DIR
+4 KILL DIR
+5 IF $DATA(DIRUT)
QUIT
+6 IF +Y<1
GOTO PLOW
+7 ;CSV-c
SET ABMY("PX",1)=$PIECE($$CPT^ABMCVAPI(+Y,""),U,2)
+8 ;
PHI ;
+1 SET DIR(0)="PO^81:QEAM"
+2 SET DIR("A")="High CPT Code"
+3 DO ^DIR
+4 KILL DIR
+5 IF $DATA(DIRUT)
GOTO PX
+6 IF +Y<1
GOTO PHI
+7 ;CSV-c
SET ABMY("PX",2)=$PIECE($$CPT^ABMCVAPI(+Y,""),U,2)
+8 IF ABMY("PX",1)>ABMY("PX",2)
WRITE !!,*7,"INPUT ERROR: Low CPT Code is Greater than than the High, TRY AGAIN!",!!
GOTO PX
+9 QUIT
+10 ;
+11 ;start new abm*2.6*21 IHS/SD/SDR HEAT241429
RFOR ;EP
+1 KILL DIR
+2 SET DIR(0)="SO^1:Printer;2:Comma-Delimited (for Excel Importing)"
+3 SET DIR("A")="Select TYPE of Output"
+4 DO ^DIR
+5 KILL DIR
+6 IF $DATA(DIRUT)
QUIT
+7 SET ABM("RFOR")=Y
+8 SET ABM("RFOR","NM")=Y(0)
+9 ;stop here if printer
IF ABM("RFOR")=1
QUIT
+10 ;ask path and filename
+11 KILL DIR
+12 SET DIR(0)="F"
+13 SET DIR("A")="Path"
+14 DO ^DIR
+15 KILL DIR
+16 IF $DATA(DIRUT)
QUIT
+17 SET ABM("RPATH")=Y
+18 KILL DIR
+19 SET DIR(0)="F"
+20 SET DIR("A")="Filename"
+21 DO ^DIR
+22 KILL DIR
+23 IF $DATA(DIRUT)
QUIT
+24 SET ABM("RFN")=Y
+25 QUIT
+26 ;end new abm*2.6*21 IHS/SD/SDR HEAT241429