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

RCTCSJS.m

Go to the documentation of this file.
  1. RCTCSJS ;ALBANY/LEG - CROSS-SERVICING REJECTS SERVER;02/19/14 3:21 PM
  1. V ;;4.5;Accounts Receivable;**301,323,336,343**;Mar 20, 1995;Build 59
  1. ;;Per VA Directive 6402, this routine should not be modified.
  1. ;Program to process CS REJECT server messages from AITC
  1. ;
  1. ;PRCA*4.5*323 a. Convert reject rec totals to absolute value
  1. ; b. Allow C2 B rec type or '3E' reject clear CS flag
  1. ;
  1. ;PRCA*4.5*336 Ensure CS date is reset for rejected recalls on bills
  1. ;
  1. ;PRCA*4.5*343 Only set the CS date for rejected recall transaction
  1. ; if the bill status is active (16).
  1. ;
  1. ;===============================================================================
  1. SERVER G SERVER^RCTCSJS0
  1. ;
  1. SETREJS ;
  1. S IDXS=".01;1;2;3;4;5;6;7;8;9;10;11;12;13;14"
  1. S BILLIEN=""
  1. F S BILLIEN=$O(^XTMP(NMSPC,$J,"BILL",BILLIEN)),SBILL="" Q:'$L(BILLIEN) D ;
  1. . F S SBILL=$O(^XTMP(NMSPC,$J,"BILL",BILLIEN,SBILL)),HDATE="" Q:'$L(SBILL) D ;
  1. .. F S HDATE=$O(^XTMP(NMSPC,$J,"BILL",BILLIEN,SBILL,HDATE)),CSRC="" Q:'$L(HDATE) D ;
  1. ... F S CSRC=$O(^XTMP(NMSPC,$J,"BILL",BILLIEN,SBILL,HDATE,CSRC)),RTYP="" Q:CSRC="" D ;
  1. .... F S RTYP=$O(^XTMP(NMSPC,$J,"BILL",BILLIEN,SBILL,HDATE,CSRC,RTYP)),RACTN="" Q:RTYP="" D ;
  1. ..... F S RACTN=$O(^XTMP(NMSPC,$J,"BILL",BILLIEN,SBILL,HDATE,CSRC,RTYP,RACTN)) Q:RACTN="" D ;
  1. ...... S CERRS=$P(^XTMP(NMSPC,$J,"BILL",BILLIEN,SBILL,HDATE,CSRC,RTYP,RACTN),U)
  1. ...... S ^XTMP(NMSPC,$J,"ERRCDS",CERRS,BILLIEN)="" ; log by errs found
  1. ...... S REC=ZDATE_U_CSRC_U_$TR(CERRS,",","^")
  1. ...... S $P(REC,U,12)=RTYP,$P(REC,U,13)=RACTN,$P(REC,U,14)=BCIDA,$P(REC,U,15)=XMZ
  1. ...... S PATID=$P(^PRCA(430,BILLIEN,0),U,7),OTHERID=$P(^PRCA(430,BILLIEN,0),U,9)
  1. ...... I OTHERID D ;
  1. ....... S IDNUMGLB=$P(^RCD(340,OTHERID,0),U),IDGLOB=$P(IDNUMGLB,";",2),IDNUM=+IDNUMGLB
  1. ....... S IDREC0=@("^"_IDGLOB_IDNUM_",0)")
  1. ....... S NAM=$P(IDREC0,U),SSN=$P(IDREC0,U,9)
  1. ...... I PATID S NAM=$P(^DPT(PATID,0),U),SSN=$P(^DPT(PATID,0),U,9)
  1. ...... S STATCNT=STATCNT-1
  1. ...... D UPDREJ
  1. Q ; SETREJS
  1. ;
  1. UPDREJ ;
  1. K DR,DA,DD,DO,Y
  1. ;
  1. ; checks for valid bill
  1. S DIC="^PRCA(430,",DIC(0)="KMNZ",X=BILLIEN D ^DIC
  1. S KBILL=$E(SBILL,5,11)
  1. ;
  1. ; Set ID for errors if ARTXNID not available
  1. N ERRORID
  1. S ERRORID=$S($G(ARTXNID(BILLIEN))="":U_U_RECN,1:ARTXNID(BILLIEN))
  1. ;
  1. I Y=-1 D Q ;
  1. . S ZMSG="Unknown Bill: "_BILLIEN_"/"_SBILL_"/"_RTYP
  1. . D RECERR(.ERRCNT,"UNK-BILL:",ZMSG,$P(ERRORID,U,3),.RECERR) Q ; UPDREJ ;
  1. ; checks if REJECT record was previously logged
  1. S COMMENT="XMB "_XMZ_" "_BCIDA
  1. ;I $D(^PRCA(430,BILLIEN,18,"B",ZDATE)) D Q:PREV ;UPDREJ
  1. ;. S IDX="",PREV=0
  1. ;. F S IDX=$O(^PRCA(430,BILLIEN,18,"B",ZDATE,IDX)) Q:'IDX D ;
  1. ;.. I $P(^PRCA(430,BILLIEN,18,IDX,0),U,1,14)=$P(REC,U,1,14) S PREV=1 Q
  1. ;. I PREV D ;
  1. ;. . S ZMSG="BILL Previously Logged IEN: "_BILLIEN_"/"_SBILL_"/"_RTYP
  1. ;. . D RECERR(.ERRCNT,"BILL PREV LOGGED",ZMSG,$P(ERRORID,U,3),.RECERR)
  1. ;
  1. ; gets next rejects subfile entry number
  1. K DR,DA,DD,DO
  1. S DA(1)=+Y
  1. S DIC="^PRCA(430,"_DA(1)_",18,"
  1. S DIC(0)="KMNZ"
  1. S DIC("P")=$P(^DD(430,172,0),"^",2)
  1. S (DA,X)=$O(@(DIC_"""A"")"),-1)
  1. D ^DIC
  1. ;
  1. ; set Reject Fields
  1. K DD,DO
  1. S DA(1)=BILLIEN
  1. ; S DA=$S(Y=-1:1,1:DA+1)
  1. S DA=$S($O(^PRCA(430,BILLIEN,18,"A"),-1):($O(^PRCA(430,BILLIEN,18,"A"),-1)+1),1:1)
  1. S DIE=DIC K DIC
  1. S DR=""
  1. D RJCDCONV
  1. F PC=1:1:15 S DTA=$P(REC,U,PC) I $L(DTA) S DR=DR_$P(IDXS,";",PC)_"////"_DTA_";"
  1. S DIC("DR")=DR
  1. I $L(DR) D ;
  1. . D ^DIE
  1. . ; Re-Index AB x_ref
  1. . S DIK(1)=".01^AB^B"
  1. . S DIK="^PRCA(430,"_BILLIEN_",18," D ENALL^DIK ;,DA(1)=HDATE
  1. . S $P(^PRCA(430,BILLIEN,18,0),U,3)=$O(^PRCA(430,BILLIEN,18,"A"),-1)
  1. . ;
  1. . D STOPFILE ; resets STOP TCSP REFERRAL FLAG
  1. . D LOGBULTN ; logs data into Bulletin
  1. Q ;UPDREJ
  1. ;
  1. STOPFILE ;set stop referral data in file 430
  1. N B0,DEBTOR,BTRNNUM
  1. S B0=$G(^PRCA(430,BILLIEN,0))
  1. S $P(^PRCA(430,BILLIEN,15),U,7,10)="1^"_RUNDT_U_"R"_U_$G(COMMENT)
  1. I RTYP=1 D Q
  1. .I RACTN="A" K ^PRCA(430,BILLIEN,15),^(16),^PRCA(430,"TCSP",BILLIEN)
  1. .I RACTN="U" S $P(^PRCA(430,BILLIEN,19),U,1)="1" Q
  1. .I RACTN="L" D Q ;PRCA*4.5*336
  1. .. K DR I $P(^PRCA(430,BILLIEN,0),U,8)=16 S DR="151////^S X=DT;" ;PRCA*4.5*343
  1. .. S DA=BILLIEN,DIE="^PRCA(430,",DR=$G(DR)_"152///@;153///@;154///@;155///@" D ^DIE K DIE,DR,DA ;PRCA*4.5*336/343
  1. I RTYP="2" S DEBTOR=$P(B0,U,9) D Q
  1. .I RACTN="A" K ^RCD(340,DEBTOR,7),^RCD(340,"TCSP",DEBTOR) Q
  1. .I RACTN="B",$G(CERRS)["3E" K ^PRCA(430,BILLIEN,15),^(16),^PRCA(430,"TCSP",BILLIEN)
  1. .I RACTN="L" D Q ;PRCA*4.5*336
  1. .. S DA=DEBTOR,DIE="^RCD(340,",DR="7.02///@;7.03///@;7.04///@" D ^DIE K DIE,DR,DA ;PRCA*4.5*336/343
  1. .. K DR I $P(^PRCA(430,BILLIEN,0),U,8)=16 S DR="151////^S X=DT;" ;PRCA*4.5*343
  1. .. S DA=BILLIEN,DIE="^PRCA(430,",DR=$G(DR)_"152///@;153///@;154///@;155///@" D ^DIE K DIE,DR,DA ;PRCA*4.5*336/343
  1. .I RACTN="U" S $P(^PRCA(430,BILLIEN,19),U,2)="1" Q
  1. I RTYP="2A" D Q
  1. .I RACTN="A" Q
  1. .I RACTN="U" S $P(^PRCA(430,BILLIEN,19),U,3)="1" Q
  1. I RTYP="2C" D Q
  1. . I RACTN="A" S $P(^PRCA(430,BILLIEN,19),U,4)="1" Q
  1. I RTYP=3 Q
  1. I RTYP="5B" D Q
  1. .I RACTN="U" I $D(ARTXNID(BILLIEN)) S TRNNUM=+$P(ARTXNID(BILLIEN),U,1) I TRNNUM D
  1. ..;N INDX
  1. ..S INDX=0
  1. ..F S INDX=$O(^PRCA(430,BILLIEN,17,INDX)) Q:+INDX=0 I $P($G(^PRCA(430,BILLIEN,17,INDX,0)),U,1)=TRNNUM S $P(^PRCA(430,BILLIEN,17,INDX,0),U,2)=1 S DR="151///DT",DIE="^PRCA(430,",DA=BILLIEN D ^DIE Q
  1. Q
  1. ;
  1. RECERR(ERRCNT,ETYP,ERRDATA,RECN,RECERR) ; log TRANSMITTED FORMAT err
  1. S (ERRCNT,^XTMP(NMSPC,$J,"ERR",0))=$G(^XTMP(NMSPC,$J,"ERR",0))+1
  1. S ^XTMP(NMSPC,$J,"ERR",ERRCNT)=RECN_U_ERRDATA
  1. S RECERR=1
  1. Q ;
  1. LOGBULTN ; logs the bulletin records
  1. S ERRS=$S($E(CERRS,$L(CERRS))=",":$E(CERRS,1,$L(CERRS)-1),1:CERRS)
  1. S BLTNCNT=$G(BLTNCNT)+1
  1. S BLTNREC=$E(NAM_BLNKS,1,20)_" "_$E(SSN_BLNKS,1,10)_$E(SBILL_BLNKS,1,12)
  1. S BLTNREC=BLTNREC_$E(RTYP_BLNKS,1,5)_$E(RACTN_BLNKS,1,5)_$E($P(CERRS,",",1,$L(CERRS,",")-1)_BLNKS,1,26)
  1. ;
  1. S ^XTMP(NMSPC,$J,"BULTN",BLTNCNT)=BLTNREC
  1. S ^XTMP(NMSPC,$J,"SRC",CSRC,NAM,SBILL,BLTNCNT)=""
  1. Q
  1. RJCDCONV ;Will modify code string to convert code data to linked file pointer
  1. N COD,CVI
  1. F CVI=3:1:13 S COD=$P(REC,U,CVI) D:COD'=""
  1. . I CVI>2,CVI<12 S COD=$O(^RC(348.5,"B",COD,0)),$P(REC,U,CVI)=COD Q
  1. . I CVI=12 S COD=$O(^RC(348.7,"B",COD,0)),$P(REC,U,CVI)=COD Q
  1. . I CVI=13 S COD=$O(^RC(348.6,"B",COD,0)),$P(REC,U,CVI)=COD
  1. . Q