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

IBCNERTU.m

Go to the documentation of this file.
  1. IBCNERTU ;AITC/TAZ - eIV Processing Real-Time Inquiries ;13-MAR-19
  1. ;;2.0;INTEGRATED BILLING;**631**;;Build 23;
  1. ;;Per VA Directive 6402, this routine should not be modified.
  1. ;
  1. TQ(WEXT,IEN,FRESHDT,DFN,PIEN,OVRFRESH,SRVICEDT) ; Determine how many entries to create in the TQ file and set entries
  1. ;
  1. ;INPUT:
  1. ; WEXT - Which Extract Internal Value (#365.1,.1)
  1. ; IEN - internal # for the buffer record in file #355.33
  1. ; FRESHDT - (Service Date - Freshday)- used to check verified date
  1. ; DFN - Patient's IEN (file 2)
  1. ; PIEN - Payer's IEN (file 365.12)
  1. ; OVRFRESH - Freshness OvrRd flag (#355.33,13)
  1. ; SRVICEDT- Service date (#355.33,18)
  1. ;
  1. N BSID,PASSBUF,PATID,PREL,SID,SIDACT,SIDARRAY,SIDDATA
  1. ;
  1. K SIDARRAY
  1. S BSID=$$GET1^DIQ(355.33,IEN_",",90.03) ; Subscriber ID from buffer
  1. S PATID=$$GET1^DIQ(355.33,IEN_",",62.01) ; Patient ID from buffer
  1. S PREL=$$GET1^DIQ(355.33,IEN_",",60.14,"I") ; Pat. relationship from buffer
  1. S SIDDATA=$$SIDCHK^IBCNEDE5(PIEN,DFN,BSID,.SIDARRAY,FRESHDT) ;determine rules to follow
  1. S SIDACT=$P(SIDDATA,U,1)
  1. ;
  1. I SIDACT=3 D BUFF^IBCNEUT2(IEN,18) Q ; update buffer w/ bang & quit - no subscriber id
  1. I PREL'=18 D Q ; Not Equal to Self/Patient
  1. .I PATID="" D BUFF^IBCNEUT2(IEN,23) Q ; update buffer w/ bang & quit - no patient id
  1. .D SET(IEN,OVRFRESH,1,"") ; set TQ entry
  1. .Q
  1. S SID=""
  1. F S SID=$O(SIDARRAY(SID)) Q:SID="" D:$P(SID,"_")'="" SET(IEN,OVRFRESH,1,$P(SID,"_")) ; set TQ w/ 'Pass Buffer' flag
  1. I SIDACT=4 D SET(IEN,OVRFRESH,1,"") ; set TQ w/ 'Pass Buffer' flag w/ blank subscriber ID
  1. Q
  1. ;
  1. ;
  1. SET(BUFFIEN,OVRFRESH,PASSBUF,SID1) ; Set data and check if set already
  1. N DATA1,DATA2,DATA5,IBMBI,ORIG
  1. D RET(.ORIG)
  1. ;
  1. ; The hard coded '1' in the 3rd piece of DATA1 sets the Transmission
  1. ; status of file 365.1 to "Ready to Transmit"
  1. S DATA1=DFN_U_PIEN_U_1_U_$G(BUFFIEN)_U_SID1_U_FRESHDT_U_PASSBUF ; SETTQ parameter 1
  1. S $P(DATA1,U,8)=PATID
  1. ;
  1. S DATA2=WEXT_U_"V"_U_SRVICEDT_U_"" ; SETTQ parameter 2
  1. ;
  1. S DATA5=$$GET1^DIQ(355.33,BUFFIEN_",",.03,"I") ;copy SOI IEN to TQ
  1. S TQIEN=$$SETTQ^IBCNEDE7(DATA1,DATA2,ORIG,$G(OVRFRESH),DATA5) ; File TQ entry
  1. ;
  1. Q
  1. ;
  1. RET(ORIG) ; Record Retrieval - Insurance Buffer
  1. ;
  1. S ORIG=$$GET1^DIQ(355.33,IEN_",",20.01) ;Original ins. co.
  1. S ORIG=ORIG_U_$$GET1^DIQ(355.33,IEN_",",90.02) ;Original group number
  1. S ORIG=ORIG_U_$$GET1^DIQ(355.33,IEN_",",90.01) ;Original group name
  1. S ORIG=ORIG_U_$$GET1^DIQ(355.33,IEN_",",90.03) ;; Original subscriber ID
  1. Q
  1. ;