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

BAR50P0Z.m

Go to the documentation of this file.
  1. BAR50P0Z ; IHS/SD/LSL - MATCH REASONS AND CLAIMS ; 01/30/2009
  1. ;;1.8;IHS ACCOUNTS RECEIVABLE;**10,20,21,23,24,26,28**;OCT 26, 2005;Build 92
  1. ; NEW ROUTINE TO LOCKOUT REVERSALS AND PLB SEGMENTS; MRS:BAR*1.8*10 D159
  1. ; MODIFIED TO LIMIT LOCK OUT TO INDIVIDUAL CHECKS
  1. ; HEAT148388 P.OTT 1/10/2014 ACCEPT REVERSALS FOR TYPE= 1 IF NEG PAYMENT FIX: 1/27/2014
  1. ; HEAT147572 P.OTT ALLOW TRIBAL SITES ERA POSTING OF NEG BAL & CANCELLED BILLS
  1. ;IHS/SD/SDR - 1.8*26 Including routine in build but no changes were made. It looks like changes may have been made at sites
  1. ; so sending out routine to get everyone on the same page, right or wrong. What I saw at one site was EN+3 being commented out
  1. ; which causes payment reversal message to display no matter how the A/R parameter for allow neg bal is answered.
  1. ;IHS/SD/SDR 1.8*28 - CR8346 HEAT275351 - Made fix for check on reason NTP present.
  1. Q
  1. EN(IMPDA) ; EP ; Scan SEGMENTS for PLB, REVERSALS AND NEGATIVE AMOUNTS
  1. N BARFLG
  1. ;old code Q:'$$IHS^BARUFUT(DUZ(2)) 0 ;Ignore if NON-IHS facility
  1. I '$$IHSNEGB^BARUFUT(DUZ(2)) Q 0 ;HEAT147572
  1. W !!,"Now will look for PLBs, Payment Reversals, and Negative Payments..." ;bar*1.8*20 REQ4
  1. S BARFLG=0
  1. S BARFLG=$$PLB(IMPDA) ;PLB
  1. S BARFLG=0 ;bar*1.8*20 REQ4
  1. S BARFLG=$$REV(IMPDA) ;REVERSALS
  1. S BARFLG=0 ;bar*1.8*20 REQ4
  1. S BARFLG=$$NEGP(IMPDA) ;NEGATIVE AMT PAYMENT
  1. ;start new code bar*1.8*20 REQ4
  1. K DIR
  1. S DIR(0)="E"
  1. S DIR("A")="<CR> - Continue"
  1. D ^DIR
  1. K ^XTMP("BAR-BILLS",$J,DUZ(2)),^XTMP("BAR-BMAMT",$J,DUZ(2))
  1. ;end new code REQ4
  1. Q BARFLG
  1. ;
  1. ; **************
  1. PLB(IMPDA) ; EP ;D159-2
  1. W !!,"Looking for PLB Segment... "
  1. S PLBAMT=+$P($G(^BAREDI("I",DUZ(2),IMPDA,5,BARCKIEN,0)),U,9)
  1. I (PLBAMT=0) W "No PLB Segments found" Q BARFLG ;No PLB
  1. W "PLB SEGMENT FOUND"
  1. I (PLBAMT<0) W !?2,"The PLB amount increases the check amount - no further action will be taken" Q BARFLG
  1. S IENS=BARCKIEN_","_IMPDA
  1. W !?2,"Bills will be marked Not To Post to accommodate amount ",$FN($$GET1^DIQ(90056.02011,IENS,.09),",",2)
  1. S BARFLG=1
  1. D PLBFIND
  1. ;end new code REQ4
  1. Q BARFLG
  1. ;
  1. REV(IMPDA) ;EP ;D159-1
  1. W !!,"Looking for Payment Reversals... " ;bar*1.8*20 REQ4
  1. N BARCDA,BAR15,BARAMT,CNT,BARVCK,BARSCK
  1. S BARCDA=0
  1. S (BARVCK,BARSCK)=""
  1. S BAR="REV"
  1. S REVAMT=0
  1. S BARCNT=0
  1. K ^XTMP("BAR-REV",$J) ;was K ^XTMP("BAR=REV",$J)
  1. F CNT=1:1 S BARCDA=$O(^BAREDI("I",DUZ(2),IMPDA,30,BARCDA)) Q:'BARCDA D
  1. .;W:'(CNT#1000) "." ;bar*1.8*20 REQ4
  1. . ;;old code Q:(+$P($G(^BAREDI("I",DUZ(2),IMPDA,30,BARCDA,0)),U,11)'=22) ;only looking for REVERSALS
  1. . I '$$ISREV(IMPDA,BARCDA) Q ;new code P.OTT 1/10/2014 HEAT148388 1/24/2024 PARAMETER PASSING
  1. .Q:($P($G(^BAREDI("I",DUZ(2),IMPDA,30,BARCDA,2)),U)'=$P($G(^BAREDI("I",DUZ(2),IMPDA,5,BARCKIEN,0)),U)) ;not check number I want
  1. .I BARFLG=0 D
  1. ..W "PAYMENT REVERSAL FOUND",!?3,"Bills will be marked Not To Post to accommodate "
  1. ..W !,?6,"E-Bill#",?27,"E-Pymt",?39,"E-Claim Status Code"
  1. .S BARFLG=1
  1. .S BARCNT=+$G(BARCNT)+1
  1. .S EAMT=$P($G(^BAREDI("I",DUZ(2),IMPDA,30,BARCDA,0)),U,4)
  1. .S EBILL=$P($G(^BAREDI("I",DUZ(2),IMPDA,30,BARCDA,0)),U)
  1. .S ESTAT=$P($G(^BAREDI("I",DUZ(2),IMPDA,30,BARCDA,0)),U,11)
  1. .S ^XTMP("BAR-REV",$J,DUZ(2),BARCDA)=EBILL
  1. .W !,BARCNT,?6,EBILL,?27,$FN(EAMT,",",2),?39,ESTAT
  1. .D UP(IMPDA,BARCDA,"REV")
  1. .S REVAMT=+$G(REVAMT)-$P($G(^BAREDI("I",DUZ(2),IMPDA,30,BARCDA,0)),U,4)
  1. I BARFLG D REVFIND
  1. I 'BARFLG W "No Payment Reversals found" Q BARFLG ;No Payment Reversals
  1. ;end new code REQ4
  1. Q BARFLG
  1. ;
  1. NEGP(IMPDA) ;EP ;D159-1
  1. ;W !,"Looking for Negative Payments " ;bar*1.8*20 REQ4
  1. W !!,"Looking for Negative Payments... " ;bar*1.8*20 REQ4
  1. N BARCDA,BAR300,BARAMT,CNT,BARSTA,BAR302,BARVCK,BARSCK
  1. S BARCDA=0
  1. S BARSCK=""
  1. S BARCNT=0,REVAMT=0 ;bar*1.8*20 REQ4
  1. F CNT=1:1 S BARCDA=$O(^BAREDI("I",DUZ(2),IMPDA,30,BARCDA)) Q:'BARCDA D
  1. .;W:'(CNT#1000) "." ;bar*1.8*20 REQ4
  1. .S BAR300=$G(^BAREDI("I",DUZ(2),IMPDA,30,BARCDA,0))
  1. .S BAR302=$G(^BAREDI("I",DUZ(2),IMPDA,30,BARCDA,2))
  1. .S BARVCK=$P(BAR302,U) ;Check number
  1. .S BARSTA=+$P(BAR300,U,11)
  1. .I BARSTA="" S BARSTA=$P(BAR302,U,4)
  1. .Q:(U_"1"_U_"2"_U_"3"_U_"4"_U_"19"_U_"20"_U_"21"_U)'[(U_BARSTA_U) ;Only want PAYMENTS & DENIALS
  1. .Q:($P($G(^BAREDI("I",DUZ(2),IMPDA,30,BARCDA,2)),U)'=$P($G(^BAREDI("I",DUZ(2),IMPDA,5,BARCKIEN,0)),U)) ;not check number I want
  1. .S BARAMT=$P(BAR300,U,4)
  1. .I BARAMT<0 D
  1. ..;Q:BARVCK=BARSCK ;Only process once for each check P.OTTIS HEAT148388
  1. ..I BARFLG=0 W "NEGATIVE PAYMENT AMOUNT FOUND",!?2,"Bills will be marked Not To Post to accommodate" ;bar*1.8*20 REQ4
  1. ..I BARFLG=0 W !,?6,"E-Bill#",?27,"E-Pymt",?39,"E-Claim Status Code" ;bar*1.8*20 REQ4
  1. ..S BARFLG=1
  1. ..;W !!?5,"Negative Payment Amount found, all transactions" ;bar*1.8*20 REQ4
  1. ..;D LOOP^BAREDP0Z(IMPDA,"NEGP",BARVCK) ;Mark all NOT TO POST ;bar*1.8*20 REQ4
  1. ..S BARSCK=BARVCK ;Save Negative amount check number
  1. ..;Start new code bar*1.8*20 REQ4
  1. ..S BARCNT=+$G(BARCNT)+1
  1. ..S EAMT=$P($G(^BAREDI("I",DUZ(2),IMPDA,30,BARCDA,0)),U,4)
  1. ..S EBILL=$P($G(^BAREDI("I",DUZ(2),IMPDA,30,BARCDA,0)),U)
  1. ..S ^XTMP("BAR-REV",$J,DUZ(2),BARCDA)=EBILL
  1. ..W !,BARCNT,?6,EBILL,?27,$FN(EAMT,",",2),?39,$P($G(^BAREDI("I",DUZ(2),IMPDA,30,BARCDA,0)),U,11)
  1. ..D UP(IMPDA,BARCDA,"NEGP")
  1. ..S REVAMT=+$G(REVAMT)+$P($G(^BAREDI("I",DUZ(2),IMPDA,30,BARCDA,0)),U,4)
  1. I BARFLG S BAR="NEGP" D REVFIND
  1. ;end new code REQ4
  1. I 'BARFLG W "No Negative Payments found " ;bar*1.8*20 REQ4
  1. Q BARFLG
  1. ;
  1. LOOP(IMPDA,REASON,VCHK) ;EP; LOOP THROUGH BAREDI("I",IMPDA AND FLAG NOT TO POST
  1. ;
  1. N BARCDA,TCHK
  1. S BARCDA=0
  1. F S BARCDA=$O(^BAREDI("I",DUZ(2),IMPDA,30,BARCDA)) Q:'BARCDA D
  1. .S TCHK=$P($G(^BAREDI("I",DUZ(2),IMPDA,30,BARCDA,2)),U) ;Transaction check #
  1. .Q:TCHK'=VCHK ; Limit it to just the one check
  1. .D UP(IMPDA,BARCDA,REASON)
  1. Q
  1. ;
  1. UP(IMPDA,XCLM,REASON) ;EP; UPDATE STATUS
  1. K DIR,DIE,DA,DIC,DR,X
  1. K DIR,DIE,DA,DIC,DR
  1. S DIC("P")=$P(^DD(90056.0205,401,0),U,2)
  1. S DA(2)=IMPDA
  1. S DA(1)=XCLM
  1. S DIC(0)="L"
  1. S DIC="^BAREDI(""I"",DUZ(2),"_DA(2)_",30,"_DA(1)_",4,"
  1. S X=REASON
  1. D ^DIC
  1. Q
  1. PLBFIND ; EP
  1. ;first put all bills for check into bill amount order
  1. S CLMDA=0
  1. K ^XTMP("BAR-MBAMT",$J,DUZ(2))
  1. F S CLMDA=$O(^BAREDI("I",DUZ(2),IMPDA,30,CLMDA)) Q:'CLMDA D
  1. .Q:($P($G(^BAREDI("I",DUZ(2),IMPDA,30,CLMDA,2)),U)'=$P($G(^BAREDI("I",DUZ(2),IMPDA,5,BARCKIEN,0)),U)) ;only my check
  1. .Q:$P($G(^BAREDI("I",DUZ(2),IMPDA,30,CLMDA,0)),U)="P" ;already posted
  1. .;Q:(("1^2^3^19^20^21^")'[("^"_$P($P($G(^BAREDI("I",DUZ(2),IMPDA,30,CLMDA,0)),U,11)," | ")_"^")) ;not a payment ;bar*1.8*26 IHS/SD/SDR HEAT263595
  1. .Q:(("^1^2^3^19^20^21^")'[("^"_$P($P($G(^BAREDI("I",DUZ(2),IMPDA,30,CLMDA,0)),U,11)," | ")_"^")) ;not a payment ;bar*1.8*26 IHS/SD/SDR HEAT263595
  1. .S CHKREASN=$$RCHK
  1. .;if ERA claim has already been marked NTP for PLB, lessen PLB amount by that ERA claim amount
  1. .I BARRCHK=1,((CHKREASN)="PLB") D Q
  1. ..S PLBAMT=PLBAMT-$P($G(^BAREDI("I",DUZ(2),IMPDA,30,CLMDA,0)),U,4)
  1. ..W !?5,$P($G(^BAREDI("I",DUZ(2),IMPDA,30,CLMDA,0)),U)_" for $"_$J($P($G(^BAREDI("I",DUZ(2),IMPDA,30,CLMDA,0)),U,4),2)_" was marked Not To Post"
  1. .;S ^XTMP("BAR-MBAMT",$J,DUZ(2),$P($G(^BAREDI("I",DUZ(2),IMPDA,30,CLMDA,0)),U,4),CLMDA)="" ;E-payment ;bar*1.8*26 IHS/SD/SDR HEAT263595
  1. .S ^XTMP("BAR-MBAMT",$J,DUZ(2),+$P($G(^BAREDI("I",DUZ(2),IMPDA,30,CLMDA,0)),U,4),CLMDA)="" ;E-payment ;bar*1.8*26 IHS/SD/SDR HEAT263595
  1. S BAMT=0,BARDONE=0
  1. I PLBAMT=0!(PLBAMT<0) Q
  1. F S BAMT=$O(^XTMP("BAR-MBAMT",$J,DUZ(2),BAMT)) Q:'BAMT D Q:BARDONE
  1. .Q:(BAMT<PLBAMT) ;bill amount must be = or > than PLB amount
  1. .S CLMDA=$O(^XTMP("BAR-MBAMT",$J,DUZ(2),BAMT,0)) ;get first claim with that amount
  1. .;by here the BAMT should be as much or more than the PLB amount
  1. .D UP(IMPDA,CLMDA,"PLB") ;mark bill Not To Post
  1. .S BARDONE=1
  1. .W !?2,$P($G(^BAREDI("I",DUZ(2),IMPDA,30,CLMDA,0)),U)_" for $"_$J($P($G(^BAREDI("I",DUZ(2),IMPDA,30,CLMDA,0)),U,4),2)_" was marked Not To Post"
  1. Q:BARDONE ;stop here if a bill was found and marked Not To Post
  1. S BAMT=99999999999
  1. F S BAMT=$O(^XTMP("BAR-MBAMT",$J,DUZ(2),BAMT),-1) Q:'BAMT D Q:BARDONE
  1. .S CLMDA=999999
  1. .F S CLMDA=$O(^XTMP("BAR-MBAMT",$J,DUZ(2),BAMT,CLMDA),-1) Q:'CLMDA D Q:BARDONE
  1. ..D UP(IMPDA,CLMDA,"PLB") ;mark bill Not To Post
  1. ..S PLBAMT=PLBAMT-BAMT
  1. ..I PLBAMT=0!(PLBAMT<0) S BARDONE=1
  1. ..W !?5,$P($G(^BAREDI("I",DUZ(2),IMPDA,30,CLMDA,0)),U)_" for $"_$J($P($G(^BAREDI("I",DUZ(2),IMPDA,30,CLMDA,0)),U,4),2)_" was marked Not To Post"
  1. W !
  1. Q
  1. REVFIND ;EP
  1. ;find pymt to "counter" either payment reversal or negative payment and mark it Not To Post
  1. ;payment can be either on same bill, or different bill, or over several bills to "cover" amount
  1. S MTCHAMT=$S(REVAMT<0:(REVAMT*-1),1:REVAMT) ;total amount that needs to be written off
  1. D BUILDLST
  1. Q:MTCHAMT<0 ;bills have already been marked Not To Post
  1. ;go through list first time looking for amount on same claim
  1. S REVDA=0,BARDONE=0
  1. S EDA=0
  1. F S EDA=$O(^XTMP("BAR-REV",$J,DUZ(2),EDA)) Q:'EDA D
  1. .S EBILL=$G(^XTMP("BAR-REV",$J,DUZ(2),EDA))
  1. .S EAMT=$P($G(^BAREDI("I",DUZ(2),IMPDA,30,EDA,0)),U,4)
  1. .;I $D(^BAREDI("I",DUZ(2),IMPDA,30,EDA,4)) Q ;bar*1.8*26 IHS/SD/SDR HEAT263595 ;bar*1.8*28 IHS/SD/SDR CR8346 HEAT275351
  1. .I $D(^BAREDI("I",DUZ(2),IMPDA,30,EDA,4))>10 Q ;bar*1.8*26 IHS/SD/SDR HEAT263595 ;bar*1.8*28 IHS/SD/SDR CR8346 HEAT275351
  1. .S EAMT=EAMT*-1
  1. .I $D(^XTMP("BAR-BILLS",$J,DUZ(2),EBILL)) D
  1. ..S MDA=0
  1. ..F S MDA=$O(^XTMP("BAR-BILLS",$J,DUZ(2),EBILL,MDA)) Q:'MDA D
  1. ...S MAMT=$P($G(^BAREDI("I",DUZ(2),IMPDA,30,EDA,0)),U,4)
  1. ...I EAMT=MAMT D
  1. ....S RCLMDA=$O(^XTMP("BAR-BILLS",$J,DUZ(2),EBILL,MDA,0))
  1. ....D UP(IMPDA,RCLMDA,$S(BAR="REV":"REV",1:"NEGP"))
  1. ....S MTCHAMT=MTCHAMT-MAMT
  1. ....W !?6,EBILL,?27,$J(MAMT,",",2),?39,$P($G(^BAREDI("I",DUZ(2),IMPDA,30,MDA,0)),U,11)
  1. ....K ^XTMP("BAR-BILLS",$J,DUZ(2),EBILL,MDA)
  1. I MTCHAMT>0 D
  1. .S MAMT=0
  1. .F S MAMT=$O(^XTMP("BAR-MBAMT",$J,DUZ(2),MAMT)) Q:'MAMT D
  1. ..S MDA=0
  1. ..F S MDA=$O(^XTMP("BAR-MBAMT",$J,DUZ(2),MAMT,MDA)) Q:'MDA D
  1. ...;I $D(^BAREDI("I",DUZ(2),IMPDA,30,MDA,4)) Q ;bar*1.8*26 IHS/SD/SDR HEAT263595
  1. ...I $D(^BAREDI("I",DUZ(2),IMPDA,30,MDA,4))>10 Q ;bar*1.8*28 IHS/DIT/CPC CR9572
  1. ...Q:MTCHAMT'=MAMT
  1. ...;S RCLMDA=$O(^XTMP("BAR-MBAMT",$J,DUZ(2),EBILL,MDA,0))
  1. ...D UP(IMPDA,MDA,$S(BAR="REV":"REV",1:"NEGP"))
  1. ...S MTCHAMT=MTCHAMT-MAMT
  1. ...W !?6,$P($G(^BAREDI("I",DUZ(2),IMPDA,30,MDA,0)),U),?27,$J(MAMT,",",2),?39,$P($G(^BAREDI("I",DUZ(2),IMPDA,30,MDA,0)),U,11)
  1. I MTCHAMT>0 D Q:((MTCHAMT=0)!(MTCHAMT<0))
  1. .S MAMT=999999999
  1. .F S MAMT=$O(^XTMP("BAR-MBAMT",$J,DUZ(2),MAMT),-1) Q:'MAMT D Q:((MTCHAMT=0)!(MTCHAMT<0))
  1. ..S MDA=0
  1. ..F S MDA=$O(^XTMP("BAR-MBAMT",$J,DUZ(2),MAMT,MDA)) Q:'MDA D Q:((MTCHAMT=0)!(MTCHAMT<0))
  1. ...;I $D(^BAREDI("I",DUZ(2),IMPDA,30,MDA,4)) Q ;bar*1.8*26 IHS/SD/SDR HEAT263595
  1. ...I $D(^BAREDI("I",DUZ(2),IMPDA,30,MDA,4))>10 Q ;bar*1.8*28 IHS/DIT/CPC CR9572
  1. ...D UP(IMPDA,MDA,$S(BAR="REV":"REV",1:"NEGP"))
  1. ...S MTCHAMT=MTCHAMT-MAMT
  1. ...W !?6,$P($G(^BAREDI("I",DUZ(2),IMPDA,30,MDA,0)),U),?27,$J(MAMT,",",2),?39,$P($G(^BAREDI("I",DUZ(2),IMPDA,30,MDA,0)),U,11)
  1. W !
  1. Q
  1. BUILDLST ;EP
  1. S CLMDA=0
  1. K ^XTMP("BAR-MBAMT",$J,DUZ(2)),^XTMP("BAR-BILLS",$J,DUZ(2))
  1. F S CLMDA=$O(^BAREDI("I",DUZ(2),IMPDA,30,CLMDA)) Q:'CLMDA D
  1. .Q:($P($G(^BAREDI("I",DUZ(2),IMPDA,30,CLMDA,2)),U)'=$P($G(^BAREDI("I",DUZ(2),IMPDA,5,BARCKIEN,0)),U)) ;only my check
  1. .Q:$P($G(^BAREDI("I",DUZ(2),IMPDA,30,CLMDA,0)),U,2)="P" ;already posted
  1. .Q:$D(^XTMP("BAR-REV",$J,DUZ(2),CLMDA)) ;bill is reversal
  1. .S CHKREASN=$$RCHK
  1. .;if ERA claim has already been marked NTP for PLB, lessen PLB amount by that ERA claim amount
  1. .I BARRCHK=1,((CHKREASN)=$S(BAR="REV":"REV",1:"NEGP")) D Q
  1. ..;S MTCHAMT=MTCHAMT-$P($G(^BAREDI("I",DUZ(2),IMPDA,30,CLMDA,0)),U,4) ;bar*1.8*26 IHS/SD/SDR HEAT263595
  1. ..S MTCHAMT=MTCHAMT-(+$P($G(^BAREDI("I",DUZ(2),IMPDA,30,CLMDA,0)),U,4)) ;bar*1.8*26 IHS/SD/SDR HEAT263595
  1. ..W !?6,$P($G(^BAREDI("I",DUZ(2),IMPDA,30,CLMDA,0)),U),?27,$J($P($G(^BAREDI("I",DUZ(2),IMPDA,30,CLMDA,0)),U,4),",",2),?39,$P($G(^BAREDI("I",DUZ(2),IMPDA,30,CLMDA,0)),U,11)
  1. .;S ^XTMP("BAR-MBAMT",$J,DUZ(2),$P($G(^BAREDI("I",DUZ(2),IMPDA,30,CLMDA,0)),U,4),CLMDA)="" ;E-payment ;bar*1.8*26 IHS/SD/SDR HEAT263595
  1. .S ^XTMP("BAR-MBAMT",$J,DUZ(2),+$P($G(^BAREDI("I",DUZ(2),IMPDA,30,CLMDA,0)),U,4),CLMDA)="" ;E-payment ;bar*1.8*26 IHS/SD/SDR HEAT263595
  1. .S ^XTMP("BAR-BILLS",$J,DUZ(2),$P($G(^BAREDI("I",DUZ(2),IMPDA,30,CLMDA,0)),U),+$P($G(^BAREDI("I",DUZ(2),IMPDA,30,CLMDA,0)),U,4),CLMDA)="" ;bills
  1. Q
  1. RCHK(CHKREASN) ;
  1. S BARRCHK=0,CHKREASN=""
  1. Q:'$D(^BAREDI("I",DUZ(2),IMPDA,30,CLMDA,4)) CHKREASN ;no reasons not to post
  1. S BARNTPR=0
  1. F S BARNTPR=$O(^BAREDI("I",DUZ(2),IMPDA,30,CLMDA,4,BARNTPR)) Q:'BARNTPR D Q:CHKREASN
  1. .I "^PLB^REV^NEGP^"[("^"_$P($G(^BARERR($P($G(^BAREDI("I",DUZ(2),IMPDA,30,CLMDA,4,BARNTPR,0)),U),0)),U)_"^") D
  1. ..S BARRCHK=1
  1. ..S CHKREASN=$P($G(^BARERR($P($G(^BAREDI("I",DUZ(2),IMPDA,30,CLMDA,4,BARNTPR,0)),U),0)),U)
  1. Q CHKREASN
  1. ;end new code REQ4
  1. ISREV(IMPDA,CLMDA) ;P.OTT 1/10/2014 HEAT148388
  1. I +$$GET1^DIQ(90056.0205,CLMDA_","_IMPDA_",",.11)=22 Q 1
  1. ;;;I +$$GET1^DIQ(90056.0205,CLMDA_","_IMPDA_",",.11)=1 I +$P($G(^BAREDI("I",DUZ(2),IMPDA,30,CLMDA,0)),U,4)<0 Q 1
  1. Q 0
  1. ;----------------