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

IBY506PO.m

Go to the documentation of this file.
  1. IBY506PO ;ALB/VD - IB*2*506 POST-INSTALL ;23-AUG-2000
  1. ;;2.0;INTEGRATED BILLING;**506**;21-MAR-94;Build 74
  1. ;;Per VHA Directive 2004-038, this routine should not be modified.
  1. ;ICR - 10140
  1. ;
  1. EN ;Post Install Routine primary entry point
  1. N IBY,Y,QUIT,ROUT
  1. S QUIT=0
  1. F IBY="BLD","SITEPARM","HOLDLP","NEWSTAT","ESCALATE","UPDATE" D I QUIT Q
  1. . S ROUT=IBY_"^IBY506PO"
  1. . S Y=$$NEWCP^XPDUTL(IBY,ROUT)
  1. . I 'Y D BMES^XPDUTL("ERROR Creating "_IBY_" Checkpoint.") S QUIT=1 Q
  1. Q
  1. ;
  1. BLD ; Update ^XUTL("XQORM" for menu protocols. ICR - 10140
  1. N IBX,IBY,X,Y
  1. D MES^XPDUTL("Rebuilding Protocol Menus.")
  1. F IBX="IBCNB LIST SCREEN MENU","IBCNB ENTRY SCREEN MENU" D
  1. .S DIC="^ORD(101,",DIC(0)="F",X=IBX D ^DIC K DIC S IBY=+Y
  1. .I IBY>0 S XQORM=IBY_";ORD(101," D XREF^XQORM
  1. K ORULT,XQORM
  1. Q
  1. ;
  1. SITEPARM ; initialize site parameters
  1. ; set eIV site parameter # OF RETRIES to "1"
  1. ; set eIV site parameter RETRY FLAG to "0" (NO)
  1. ; set eIV site parameter FRESHNESS DAYS to "180"
  1. ; set eIV site parameter TIMEOUT DAYS to "5"
  1. ; set eIV site parameter HL7 RESPONSE PROCESSING to "I" (IMMEDIATE)
  1. D MES^XPDUTL("Reset/Initialize values of eIV site parameters")
  1. N DIE,DA,DR,X,Y
  1. S DIE=350.9,DA=1,DR="51.06///1;51.26///N;51.01///180;51.05///5;51.13///I"
  1. D ^DIE
  1. Q
  1. ;
  1. HOLDLP ; loop through all TQ entries that have a status of HOLD and mark them as communication failure.
  1. D MES^XPDUTL("Search through all of the TRANSMISSION QUEUE entries for those having a status")
  1. D MES^XPDUTL("of HOLD and mark them as COMMUNICATION FAILURE.")
  1. N IEN,BUFF,CCODE
  1. S CCODE=$O(^IBE(365.15,"B","C1",""))
  1. ; file 365.1, IIV Transmission Queue
  1. S IEN=""
  1. F S IEN=$O(^IBCN(365.1,"AC",4,IEN)) Q:IEN="" D ; node 4 is for only HOLD status.
  1. . S BUFF=$P($G(^IBCN(365.1,IEN,0)),U,5)
  1. . ;
  1. . ; set TQ record to 'communication failure'
  1. . D SST^IBCNEUT2(IEN,5)
  1. . ;
  1. . ; For msg in the Response file set the status to 'Comm Failure'
  1. . D RSTA^IBCNEUT7(IEN)
  1. . ;
  1. . ; Set Buffer symbol to 'C1' (Comm Failure)
  1. . I BUFF'="" D BUFF^IBCNEUT2(BUFF,CCODE) ;set to "#" communication failure
  1. Q
  1. ;
  1. NEWSTAT ; add a new code to the IIV STATUS TABLE (#365.15) for COMMUNICATION FAILURE
  1. D MES^XPDUTL("Add a new COMMUNICATION FAILURE code to the IIV STATUS TABLE")
  1. N IBACTN,IBDATA,IBDESC,IBERR,IBIEN
  1. I $D(^IBE(365.15,"B","C1")) D BMES^XPDUTL("*** NEW 'C1' CODE NOT ADDED TO IIV STATUS TABLE...ALREADY EXISTS ***") G NEWSTATX
  1. ;
  1. ;Set up WP Arrays
  1. S IBDESC("WP",1)="eIV was unable to electronically verify this insurance information"
  1. S IBDESC("WP",2)="due to a communication failure."
  1. ;
  1. S IBACTN("WP",1)="Action to take: Contact the insurance company to manually verify"
  1. S IBACTN("WP",2)="this insurance information."
  1. ;
  1. ;Set up File Nodes
  1. S IBDATA(.01)="C1"
  1. S IBDATA(.02)=35
  1. S IBDATA(.03)=0
  1. S IBDATA(1)=$NA(IBDESC("WP"))
  1. S IBDATA(2)=$NA(IBACTN("WP"))
  1. S IBIEN=$$ADD^IBDFDBS(365.15,,.IBDATA,.IBERR)
  1. I IBERR D BMES^XPDUTL("*** ERROR ADDING 'C1' CODE TO THE IIV STATUS TABLE (#365.15) ***") G NEWSTATX
  1. D BMES^XPDUTL(" NEW 'C1' CODE SUCCESSFULLY ADDED TO IIV STATUS TABLE")
  1. NEWSTATX ;
  1. Q
  1. ;
  1. ESCALATE ;Add Escalate Code "$" to the IIV STATUS TABLE (#365.15)
  1. D MES^XPDUTL("Add a new ESCALATE code to the IIV STATUS TABLE")
  1. N IBACTN,IBDATA,IBDESC,IBERR,IBIEN
  1. I $D(^IBE(365.15,"B","E1")) D BMES^XPDUTL("*** NEW 'E1' CODE NOT ADDED TO IIV STATUS TABLE...ALREADY EXISTS ***") G ESCX
  1. ;
  1. ;Set up WP Arrays
  1. S IBDESC("WP",1)="Information received via electronic inquiry indicates patient has active"
  1. S IBDESC("WP",2)="insurance; however, another verifier did not have the authority to"
  1. S IBDESC("WP",3)="process this entry."
  1. ;
  1. S IBACTN("WP",1)="Action to take: Review the details listed in the eIV Response Report"
  1. S IBACTN("WP",2)="before processing this buffer entry."
  1. ;
  1. ;Set up File Nodes
  1. S IBDATA(.01)="E1"
  1. S IBDATA(.02)=36
  1. S IBDATA(.03)=0
  1. S IBDATA(1)=$NA(IBDESC("WP"))
  1. S IBDATA(2)=$NA(IBACTN("WP"))
  1. S IBIEN=$$ADD^IBDFDBS(365.15,,.IBDATA,.IBERR)
  1. I IBERR D BMES^XPDUTL("*** ERROR ADDING 'E1' CODE TO THE IIV STATUS TABLE (#365.15) ***") G ESCX
  1. D BMES^XPDUTL(" NEW 'E1' CODE SUCCESSFULLY ADDED TO IIV STATUS TABLE")
  1. ESCX ;
  1. Q
  1. ;
  1. UPDATE ;Call option to update Insurance Type File
  1. ; Schedule through TaskMan to run at night?
  1. N MSG
  1. D MES^XPDUTL("Creating Task to update the Insurance Type File... ")
  1. U IO(0)
  1. UPDATE1 S MSG=$$TASK^IBCNUPD($D(ZTQUEUED)) I MSG["Aborted" D G UPDATE1
  1. . S MSG="You MUST schedule this task in order to continue." D MES^XPDUTL(MSG) H 3
  1. U IO
  1. D BMES^XPDUTL(MSG)
  1. Q