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

BAR50PZ1.m

Go to the documentation of this file.
  1. BAR50PZ1 ; IHS/SD/LSL - AHCCCS IMPORT ROUTINE ;
  1. ;;1.8;IHS ACCOUNTS RECEIVABLE;**21**;OCT 26, 2005
  1. ;
  1. ; IHS/SD/LSL - 06/26/2002 - V1.6 Patch 2 - NOIS XXX-0602-200032
  1. ; Modified to be FM22 compliant
  1. ;
  1. ; IHS/SD/LSL - 03/17/2003 - V1.7 Patch 1 - IM10293
  1. ; If AHCCCS doesn't send a bill number I modified PAYAMT
  1. ; to look for NO BILL NUMBER IN FILE instead of crashing with
  1. ; <SBSCR>*XECUTE*NEW+65^DICN
  1. ;
  1. ; IHS/SD/LSL - 02/09/2004 - V1.7 Patch 5 - IM12514
  1. ; Denial codes for proprietary AHCCCS ERA not working properly
  1. ;
  1. ; *********************************************************************
  1. Q
  1. ;
  1. SEP ;EP Set seperators
  1. S S="~",E="`",SE=" " ;SE is 2 spaces used in the CC seg Reason Element
  1. Q
  1. ; *********************************************************************
  1. ;
  1. DT ;EP Conversion of date to readable format
  1. S X=$E(X,5,6)_"/"_$E(X,7,8)_"/"_$E(X,1,4)
  1. S %DT="X"
  1. D ^%DT,DD^%DT
  1. S X=Y
  1. Q
  1. ; *********************************************************************
  1. ;
  1. PAYAMT ;Load Claim data
  1. W:'(COUNT#10) "."
  1. W:'(COUNT#100) " ",COUNT,!
  1. S COUNT=COUNT+1
  1. K DIC,DR,DA,DIE
  1. S DIC=$$DIC^XBDIQ1(90056.0205)
  1. S DIC(0)="XL"
  1. S DIC("P")="90056.0205A"
  1. S X=$P(VBILNM,"-")
  1. W !,X,?15,VBILNM
  1. I X="" D ; LSL 03/17/0/3
  1. . W "NO BILL NUMBER IN FILE"
  1. . S X="NO BILL"
  1. S DA(1)=IMPDA
  1. K DD,DO,D0
  1. D FILE^DICN
  1. S CLMDA=+Y
  1. S DA=+Y
  1. S DIE=DIC
  1. K DIC
  1. K DR
  1. S DR=".04///^S X=VPAYAMT;.05///^S X=VBILAMT"
  1. D ^DIE
  1. S PAT=VPATLN_","_VPATFN_" "_VPATMN
  1. S DR=".06///^S X=PAT;.08///^S X=VDOSB;.09///^S X=VDOSE"
  1. D ^DIE
  1. S ADJDA=0
  1. Q
  1. ; *********************************************************************
  1. ;
  1. ADJREA ;EP Process reason and amount into claim impda,clmda
  1. S VADJAMT=VBILAMT-VPAYAMT
  1. I '$L(VADJREA) Q
  1. S VADJCAT=$E(VADJCAT)
  1. I VADJCAT="A" Q
  1. I VADJCAT'="R" D Q
  1. . S VADJREA=VADJCAT_" | "_$P(VADJREA,SE,2)
  1. . D SET1ADJ
  1. ; process reason code(s)
  1. S XXX=$P(VADJREA,": ",2)
  1. I '$F(XXX,SE) D Q
  1. . S X=XXX
  1. . D CLMCODE^BAR50P02
  1. . S VADJREA=X
  1. . D SET1ADJ
  1. F I=1:1 S X=$P(XXX,SE,I) Q:'$L(X) D
  1. . S:I>1 VADJAMT=0 ; assign amt to the 1st reason only
  1. . D CLMCODE^BAR50P02 ; lookup reason in Claim Level Reasons table
  1. . S VADJREA=X
  1. . D SET1ADJ
  1. Q
  1. ; *********************************************************************
  1. ;
  1. SET1ADJ ; set one adjustment X|reason, AMT
  1. S ADJDA=ADJDA+1
  1. K DIE,DR,DA,X,DIC
  1. S DA(2)=IMPDA
  1. S DA(1)=CLMDA
  1. S X=ADJDA
  1. S DIC=$$DIC^XBDIQ1(90056.0208)
  1. S DIC("P")="90056.0208A"
  1. S DIC(0)="EXL"
  1. S DIC("DR")=".02///^S X=VADJAMT;.03////^S X=VADJREA"
  1. D ^DIC
  1. Q
  1. ; *********************************************************************
  1. ;
  1. CHKNUM ;EP Enter Check mumber into Import
  1. K DIE,DR,DA
  1. S DIE=$$DIC^XBDIQ1(90056.02)
  1. S DA=IMPDA
  1. S DR=".09////^S X=VCHKNUM"
  1. D ^DIE
  1. ;
  1. ECHECK ;
  1. Q
  1. ; *********************************************************************
  1. ;
  1. LOAD ;EP Scan all AHCCCS imports loaded for new reason codes and stuff them
  1. ; into the Claim Level Reason Codes table for mapping.
  1. EN ;
  1. S FDA=0
  1. F S FDA=$O(^BAREDI("I",2917,FDA)) Q:FDA'>0 D FILE
  1. Q
  1. ; *********************************************************************
  1. ;
  1. FILE ;
  1. S FDA0=^BAREDI("I",2917,FDA,0)
  1. I $P(FDA0,U,3)'=4 Q
  1. W !,FDA0
  1. D REASON
  1. Q
  1. ; *********************************************************************
  1. ;
  1. REASON ;
  1. F L=1:1 Q:'$D(^BAREDI("I",2917,FDA,15,L)) S X=^(L,0) D
  1. . I '(L#100) W "."
  1. . I $E(X,1,2)="PN" D PN
  1. Q
  1. ; *********************************************************************
  1. ;
  1. PN ;
  1. S CODE=$P(X,"`",2)
  1. S REA=$P(X,"`",3)
  1. I '$D(^BAREDI("1T",4,40,"B",CODE)) D
  1. . W !,CODE,?10,REA
  1. . S ^PWTMP("AHC",CODE)=REA
  1. Q
  1. ; *********************************************************************
  1. ;
  1. PUT ; FILE NEW INTO CLAIM LEVEL MULTIPLE
  1. S CODE=""
  1. F S CODE=$O(^PWTMP("AHC",CODE)) Q:CODE="" D SET
  1. Q
  1. ; *********************************************************************
  1. ;
  1. SET ;
  1. K DIC,DR,DA
  1. S X=CODE
  1. S REA=^PWTMP("AHC",CODE)
  1. S DA(1)=4
  1. W !,CODE,?10,REA
  1. Q
  1. ; *********************************************************************
  1. ;
  1. END ;
  1. Q
  1. ; *********************************************************************
  1. ;
  1. AHCCCS ;EP enter new table entries for AHCCCS
  1. ;;
  1. Q
  1. ; *********************************************************************
  1. ;
  1. MAP ;EP repoint the distributed tabled reason pointers to the new ones installed
  1. Q
  1. ; *********************************************************************
  1. ;
  1. 1001 ;;BAD DEBT/COLLECTION AGENCY^3^WO
  1. 1002 ;;CODING ERROR^4^NONPAY
  1. 1003 ;;RX PROCESSING FEE^3^WO^123
  1. 1004 ;;OTHER TPL^4^NONPAY
  1. 1005 ;;MISSING DATA^4^NONPAY
  1. 1006 ;;INCORRECT PROVIDER TYPE^4^NONPAY
  1. 1007 ;;MISSING FIELD^4^NONPAY
  1. 1008 ;;DOCUMENTATION REQUIRED^4^NONPAY