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

BARRCHK1.m

Go to the documentation of this file.
  1. BARRCHK1 ; IHS/SD/LSL - Report Utility 2 to Check Parms ;12/19/2008
  1. ;;1.8;IHS ACCOUNTS RECEIVABLE;**6,7,10,19,20,23**;OCT 26, 2005
  1. ; MODIFIED XTMP FILE NAME TO TMP TO MEET SAC REQUIREMENTS;MRS:BAR*1.8*7 IM29892
  1. ;CREATED BECAUSE BARRCHK WAS GREATER THAN 15K
  1. ; TMM 08/18/10 V1.8*19
  1. ; Fix issue - Adjustments not displaying on TSR report
  1. ; TMM 08/19/10 V1.8*19
  1. ; TSR report should display A/R Account from A/R Transaction, not from A/R Bill
  1. ; P.OTTIS MAR 2013 ADDED NEW INS TYPE
  1. ; P.OTTIS SEP 2013,OCT 2013 BETA YAK: FIXED BARTR("BI")
  1. Q
  1. ;
  1. TRANS ;EP - CALLED FROM BARRCHK
  1. ; for checking Transaction File data parameters
  1. S BARP("HIT")=0
  1. S:$G(BAR("SUBR"))="" BAR("SUBR")=$S($G(BAR("RTN"))'="":BAR("RTN"),1:"UNKNOWN CALL")
  1. I '$D(^BARTR(DUZ(2),BARTR,0)) S:$G(DEBUG) ^TMP($J,"BAR-"_BAR("SUBR"),"REASON REJECTED","NO ZERO NODE",BARTR)="" Q
  1. S BARTR(0)=$G(^BARTR(DUZ(2),BARTR,0)) ; A/R Transaction 0 node
  1. I '$D(^BARTR(DUZ(2),BARTR,1)) S:$G(DEBUG) ^TMP($J,"BAR-"_BAR("SUBR"),"REASON REJECTED","NO 1 NODE",BARTR)="" Q
  1. S BARTR(1)=$G(^BARTR(DUZ(2),BARTR,1)) ; A/R Transaction 1 node
  1. S BARTR("DATA SRC")=$S($P(BARTR(1),U,6)'="":$P(BARTR(1),U,6),1:"m") ;A/R Transaction DATA SOURCE (e=ERA posted) ;bar*1.8*20 REQ10
  1. S BARTR("T")=$P(BARTR(1),U) ; Transaction type
  1. S BARTR("ADJ CAT")=$P(BARTR(1),U,2) ;Adjustment Category
  1. S BARTR("ADJ TYPE")=$P(BARTR(1),U,3) ;Adjustment Type
  1. S:BARTR("T")="" BARTR("T")="NULL" ;bar*1.8*20 HEAT25436
  1. S:BARTR("ADJ CAT")="" BARTR("ADJ CAT")="NULL"
  1. S:BARTR("ADJ TYPE")="" BARTR("ADJ TYPE")="NULL" ;*TMM*1.8*19
  1. I $D(BARY("TRANS TYPE")),'$D(BARY("TRANS TYPE",BARTR("T"))) D Q
  1. .S:$G(DEBUG) ^TMP($J,"BAR-"_BAR("SUBR"),"REASON REJECTED","NOT CHOSEN TRANSACTION TYPE",$P(BARTR(0),U))=BARTR("T")
  1. I $D(BARY("TRANS TYPE","ADJ CAT")),'$D(BARY("TRANS TYPE","ADJ CAT",BARTR("ADJ CAT"))) D Q
  1. .S:$G(DEBUG) ^TMP($J,"BAR-"_BAR("SUBR"),"REASON REJECTED","NOT CHOSEN ADJUSTMENT CATEGORY",$P(BARTR(0),U))=BARTR("ADJ CAT")
  1. I $D(BARY("TRANS TYPE","ADJ TYPE")),'$D(BARY("TRANS TYPE","ADJ TYPE",BARTR("ADJ TYPE"))) D Q ;TMM*1.8*19
  1. .S:$G(DEBUG) ^TMP($J,"BAR-"_BAR("SUBR"),"REASON REJECTED","NOT CHOSEN ADJ TYPE",$P(BARTR(0),U))=BARTR("ADJ TYPE")
  1. S BARTR("DT")=$P(BARTR(0),U) ; Transaction date/time
  1. S BARTR("B")=$P(BARTR(0),U,14) ; A/R Collection batch IEN
  1. K BARTR("B DT")
  1. I BARTR("B")'="" D
  1. .S BARTR("B DT")=$P($P($G(^BARCOL(DUZ(2),BARTR("B"),0)),U,4),".") ;MRS:BAR*1.8*10 IM30590
  1. ;
  1. S:BARTR("B")="" BARTR("B")="No Collection Batch"
  1. S BARTR("IT")=$P(BARTR(0),U,15) ; A/R Collection batch item
  1. S:BARTR("IT")="" BARTR("IT")="No Collection Batch Item"
  1. K BAR("QUIT")
  1. I $G(BARY("DT"))="B" D Q:$G(BAR("QUIT"))
  1. .I '$G(BARTR("B DT")) S BAR("QUIT")=1 S:$G(DEBUG) ^TMP($J,"BAR-"_BAR("SUBR"),"REASON REJECTED","NO BATCH DATE",$P(BARTR(0),U))="" Q
  1. .I $D(BARTR("B DT")) D Q:$G(BAR("QUIT")) ; Not chosen batch date ;BAR*1.8*6 DD 4.1.1
  1. ..S:BARTR("B DT")<BARY("DT",1) BAR("QUIT")=1
  1. ..S:BARTR("B DT")>BARY("DT",2) BAR("QUIT")=1
  1. ..I $G(BAR("QUIT")) S:$G(DEBUG) ^TMP($J,"BAR-"_BAR("SUBR"),"REASON REJECTED","NOT CHOSEN BATCH DATE",$P(BARTR(0),U))=""
  1. S BARTR("AR")=$P(BARTR(0),U,13) ; Entry by (AR Clerk)
  1. S:BARTR("AR")="" BARTR("AR")=9999999
  1. S:'$D(BARY("AR")) BARTR("AR")=0
  1. S BARTR("CR-DB")=$$GET1^DIQ(90050.03,BARTR,3.5)
  1. S BAR=$P(BARTR(0),U,4) ; A/R Bill IEN
  1. I $D(BARY("BATCH")),BARTR("T")=100 S BAR("UN-ALLOCATED",BARTR("IT"))=$G(BAR("UN-ALLOCATED",BARTR("IT")))+BARTR("CR-DB")_U_DUZ(2)
  1. I '+BAR S:$G(DEBUG) ^TMP($J,"BAR-"_BAR("SUBR"),"REASON REJECTED","NO BILL FOR TRANSACTION",$P(BARTR(0),U))=""
  1. Q:'+BAR ; No bill for transaction
  1. I '$D(^BARBL(DUZ(2),BAR)) S:$G(DEBUG) ^TMP($J,"BAR-"_BAR("SUBR"),"REASON REJECTED","TRANS PTS TO NON EXIST BILL",$P(BARTR(0),U))=""
  1. Q:'$D(^BARBL(DUZ(2),BAR)) ; Trans points to non-existent bill
  1. S BAR(0)=$G(^BARBL(DUZ(2),BAR,0)) ; A/R Bill 0 node
  1. S BAR(10)=$G(^BARBL(DUZ(2),BAR,1)) ; A/R Bill 1 node
  1. S BARTR("DOS BEGIN")=$P(BAR(10),U,2) ;A/R Bill DOS BEGIN
  1. S BARTR("3P APPROVAL")=$P(BAR(0),U,18) ;3P APPROVAL DATE
  1. S BARTR("3P PRINT")=$P(BAR(0),U,19) ;3P PRINT DATE
  1. K BAR("QUIT")
  1. I $G(BARY("DT"))="V" D Q:$G(BAR("QUIT")) ; Not chosen visit date
  1. . S:BARTR("DOS BEGIN")<BARY("DT",1) BAR("QUIT")=1
  1. . S:$P(BARTR("DOS BEGIN"),".")>BARY("DT",2) BAR("QUIT")=1
  1. . I $G(BAR("QUIT")) S:$G(DEBUG) ^TMP($J,"BAR-"_BAR("SUBR"),"REASON REJECTED","NOT CHOSEN VISIT DATE",$P(BARTR(0),U))=""
  1. I $G(BARY("DT"))="A" D Q:$G(BAR("QUIT")) ; Not chosen approval date
  1. . S:BARTR("3P APPROVAL")<BARY("DT",1) BAR("QUIT")=1
  1. . S:$P(BARTR("3P APPROVAL"),".")>BARY("DT",2) BAR("QUIT")=1
  1. . I $G(BAR("QUIT")) S:$G(DEBUG) ^TMP($J,"BAR-"_BAR("SUBR"),"REASON REJECTED","NOT CHOSEN APPROVAL DATE",$P(BARTR(0),U))=""
  1. I $G(BARY("DT"))="X" D Q:$G(BAR("QUIT")) ; Not chosen export date
  1. . S:BARTR("3P PRINT")<BARY("DT",1) BAR("QUIT")=1
  1. . S:$P(BARTR("3P PRINT"),".")>BARY("DT",2) BAR("QUIT")=1
  1. . I $G(BAR("QUIT")) S:$G(DEBUG) ^TMP($J,"BAR-"_BAR("SUBR"),"REASON REJECTED","NOT CHOSEN EXPORT DATE",$P(BARTR(0),U))=""
  1. S BARTR("I")=$P(BAR(0),U,3) ; A/R Account
  1. S BARTR("L")=$P(BAR(10),U,8) ; Visit location
  1. S BAR("PV")=$P(BAR(10),U,13) ; Provider (New Person)
  1. S BAR("V")=$P(BAR(10),U,14) ; Visit type (3P Visit Type)
  1. S BAR("C")=$P(BAR(10),U,12) ; Clinic (Clinic Stop File)
  1. S BAR("DS")=$$GET1^DIQ(90050.01,BAR,23) ; Discharge Service (#)
  1. S BARTMP=BARTR("I")
  1. S BARTR("BI")=$$GETBI(BARTMP) ; Insurer Type / BILLING ENTITY CODE
  1. I $G(BARTR("BI"))="" S BARTR("BI")="No Billing Entity"
  1. I BARTR("BI")'="No Billing Entity" D
  1. . S BARTR("ALL")="O" ; Other Allow Cat P.OTT UPDATED
  1. . I ",R,MH,MD,MC,MMC,"[(","_BARTR("BI")_",") S BARTR("ALL")="R" Q ;MCR
  1. . I ",D,K,FPL,"[(","_BARTR("BI")_",") S BARTR("ALL")="D" Q ;MCD
  1. . I ",F,M,H,P,"[(","_BARTR("BI")_",") S BARTR("ALL")="P" Q ;Private
  1. . I ",V,"[(","_BARTR("BI")_",") S BARTR("ALL")="V" Q ;VETERANS P.OTT
  1. I $G(BARTR("ALL"))="" S BARTR("ALL")="No Allowance Category"
  1. I BARTR("L")=""!(BARTR("I")="")!(BARTR("DT")="") D
  1. .S:$G(DEBUG) ^TMP($J,"BAR-"_BAR("SUBR"),"REASON REJECTED","NULL LOCATION^INS TYPE^TRANS DATE/TIME",$P(BARTR(0),U))=BARTR("L")_U_BARTR("I")_U_BARTR("DT")
  1. Q:BARTR("L")=""!(BARTR("I")="")!(BARTR("DT")="")
  1. I $D(BARY("LOC")),BARY("LOC")'=BARTR("L") D Q ; Not chosen location
  1. .S:$G(DEBUG) ^TMP($J,"BAR-"_BAR("SUBR"),"REASON REJECTED","NOT CHOSEN LOCATION",$P(BARTR(0),U))=""
  1. I $D(BARY("ARACCT")),'$D(BARY("ARACCT",BARTR("I"))) D Q ;Not chosn acct
  1. .S:$G(DEBUG) ^TMP($J,"BAR-"_BAR("SUBR"),"REASON REJECTED","NOT CHOSEN ACCT",$P(BARTR(0),U))=""
  1. I $D(BARY("ACCT")),BARY("ACCT")'=BARTR("I") D Q ; Not chosen A/R acct ;TMM*1.8*19
  1. .S:$G(DEBUG) ^TMP($J,"BAR-"_BAR("SUBR"),"REASON REJECTED","NOT CHOSEN A/R ACCT-"_BARTR("I"),$P(BARTR(0),U))="" ;TMM*1.8*19
  1. I $G(BARY("SORT"))="V",BAR("V")="" S BAR("V")=99999
  1. I $G(BARY("SORT"))="C",BAR("C")="" S BAR("C")=99999
  1. I $D(BARY("AR")),BARY("AR")'=BARTR("AR") D Q ; Not chosen AR Clerk
  1. .S:$G(DEBUG) ^TMP($J,"BAR-"_BAR("SUBR"),"REASON REJECTED","NOT CHOSEN AR CLERK",$P(BARTR(0),U))=""
  1. I $D(BARY("PRV")),BARY("PRV")'=BAR("PV") D Q ; Not chosen provider
  1. .S:$G(DEBUG) ^TMP($J,"BAR-"_BAR("SUBR"),"REASON REJECTED","NOT CHOSEN PROV",$P(BARTR(0),U))=""
  1. I $D(BARY("TYP")),(U_BARY("TYP")_U)'[(U_BARTR("BI")_U) D Q ; Not chosen Bill entity BAR*1.8*6 DD 4.1.1 IM21585
  1. .S:$G(DEBUG) ^TMP($J,"BAR-"_BAR("SUBR"),"REASON REJECTED","NOT CHOSEN BILL ENTITY",$P(BARTR(0),U))=""
  1. I $D(BARY("ITYP")),BARY("ITYP")'=BARTR("BI") D Q ; Not chosen Ins Type
  1. .S:$G(DEBUG) ^TMP($J,"BAR-"_BAR("SUBR"),"REASON REJECTED","NOT CHOSEN INS TYPE",$P(BARTR(0),U))=""
  1. I $D(BARY("ALL")),(+BARY("ALL")=BARY("ALL")) S BARY("ALL")=$$CONVERT^BARRSL2(BARY("ALL")) ;BAR*1.8*6 DD 4.1.1 IM21585
  1. I $D(BARY("ALL")),BARY("ALL")'=BARTR("ALL") D Q ; Not chosen Allow Cat
  1. .S:$G(DEBUG) ^TMP($J,"BAR-"_BAR("SUBR"),"REASON REJECTED","NOT CHOSEN ALLOW CAT",$P(BARTR(0),U))=""
  1. I $D(BARY("BATCH")),BARY("BATCH")'=BARTR("B") D Q ; Not chosen batch
  1. .S:$G(DEBUG) ^TMP($J,"BAR-"_BAR("SUBR"),"REASON REJECTED","NOT CHOSEN BATCH",$P(BARTR(0),U))=""
  1. I $D(BARY("ITEM")),BARY("ITEM")'=BARTR("IT") D Q ; Not chosen item
  1. .S:$G(DEBUG) ^TMP($J,"BAR-"_BAR("SUBR"),"REASON REJECTED","NOT CHOSEN ITEM",$P(BARTR(0),U))=""
  1. I $D(BARY("CLIN")),'$D(BARY("CLIN",BAR("C"))) D Q ; Not chosen clinic
  1. .S:$G(DEBUG) ^TMP($J,"BAR-"_BAR("SUBR"),"REASON REJECTED","NOT CHOSEN CLINIC",$P(BARTR(0),U))=""
  1. I $D(BARY("VTYP")),'$D(BARY("VTYP",BAR("V"))) D Q ; Not chosen visit typ
  1. .S:$G(DEBUG) ^TMP($J,"BAR-"_BAR("SUBR"),"REASON REJECTED","NOT CHOSEN VISIT TYP",$P(BARTR(0),U))=""
  1. I $D(BARY("DSCH")),BAR("DS")="" S BAR("DS")=99999
  1. I $D(BARY("DSCH")),'$D(BARY("DSCH",BAR("DS"))) D Q ;Not chosen discharge svc
  1. .S:$G(DEBUG) ^TMP($J,"BAR-"_BAR("SUBR"),"REASON REJECTED","NOT CHOSEN DISCHARGE SVC",$P(BARTR(0),U))=""
  1. K BAR("QUIT")
  1. I $G(BARY("DT"))="T" D Q:$G(BAR("QUIT")) ; Not chosen trans date
  1. . S:BARTR("DT")<BARY("DT",1) BAR("QUIT")=1
  1. . S:$P(BARTR("DT"),".")>BARY("DT",2) BAR("QUIT")=1
  1. . I $G(BAR("QUIT")) S:$G(DEBUG) ^TMP($J,"BAR-"_BAR("SUBR"),"REASON REJECTED","NOT CHOSEN TRANS DATE",$P(BARTR(0),U))=""
  1. I $D(BARY("PER")) D Q:$G(BAR("QUIT")) ; Not chosen period date range
  1. . S:BARTR("DT")<BARBDT BAR("QUIT")=1
  1. . S:$P(BARTR("DT"),".")>BAREDT BAR("QUIT")=1
  1. . I $G(BAR("QUIT")) S:$G(DEBUG) ^TMP($J,"BAR-"_BAR("SUBR"),"REASON REJECTED","NOT CHOSEN PERIOD DATE",$P(BARTR(0),U))=""
  1. I $D(BARY("DATA SRC")) D Q:$G(BAR("QUIT"))
  1. .I BARY("DATA SRC")="MANUAL",(BARTR("DATA SRC")="e") S BAR("QUIT")=1
  1. .I BARY("DATA SRC")="ELECTRONIC",(BARTR("DATA SRC")="m") S BAR("QUIT")=1
  1. S BARP("HIT")=1
  1. Q
  1. GETBI(D0) ;keep D0 intact
  1. I D0="" Q ""
  1. Q $$VALI^BARVPM(8) ; Insurer Type CODE
  1. ;
  1. ;EOR