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

IBCNEML.m

Go to the documentation of this file.
  1. IBCNEML ;BP/YMG - MAILMAN NOTIFICATION TO LINK PAYERS ;27-AUG-2010
  1. ;;2.0;INTEGRATED BILLING;**438,668**;21-MAR-94;Build 28
  1. ;;Per VA Directive 6402, this routine should not be modified.
  1. ;
  1. Q
  1. ;
  1. EN ; entry point
  1. N ACTIVE,APP,DATA,IEN,INS,INSTID,LN,LOACT,MGRP,MSG,MSUBJ,NAACT,PAYER,PROFID,RPTDATA,STR1,STR2,TOTAL
  1. ; build a cross reference with all existing professional and institutional EDI ID numbers in file 36.
  1. S INS=0 F S INS=$O(^DIC(36,INS)) Q:'INS D
  1. .I '$$ACTIVE^IBCNEUT4(INS) Q ; inactive ins co
  1. .S DATA=$G(^DIC(36,INS,3)) I $P(DATA,U,10)'="" Q ; already linked to a payer
  1. .S PROFID=$P(DATA,U,2),INSTID=$P(DATA,U,4)
  1. .I PROFID'="" S RPTDATA("P",PROFID)=""
  1. .I INSTID'="" S RPTDATA("I",INSTID)=""
  1. .Q
  1. ; loop through payers - if there is an unlinked insurance company with the same prof/inst id, this payer has
  1. ; potential payer-insurance company links that have not yet been made.
  1. S (TOTAL,IEN)=0 F S IEN=$O(^IBE(365.12,IEN)) Q:'IEN D
  1. .I '$$ACTAPP^IBCNEUT5(IEN) Q ; no active payer applications
  1. .; Must have at least 1 nationally active payer application
  1. .S APP=0,ACTIVE=0 F S APP=$O(^IBE(365.12,IEN,1,APP)) Q:'APP!ACTIVE D
  1. ..I $P($G(^IBE(365.12,IEN,1,APP,0)),U,2)=1 S ACTIVE=1
  1. ..Q
  1. .Q:'ACTIVE ; no nationally active payer application found
  1. .S DATA=$G(^IBE(365.12,IEN,0)),PAYER=$P(DATA,U),PROFID=$P(DATA,U,5),INSTID=$P(DATA,U,6)
  1. .I PROFID'="",$D(RPTDATA("P",PROFID)) S:'$D(RPTDATA("PYR",IEN)) RPTDATA("PYR",IEN)="",TOTAL=TOTAL+1
  1. .I INSTID'="",$D(RPTDATA("I",INSTID)) S:'$D(RPTDATA("PYR",IEN)) RPTDATA("PYR",IEN)="",TOTAL=TOTAL+1
  1. .; if payer is nationally active, but locally inactive, add it to the list
  1. .;IB*668/TAZ - Changed Payer Application from IIV to EIV
  1. .S APP=$$PYRAPP^IBCNEUT5("EIV",IEN),(LOACT,NAACT)=0
  1. .I 'APP Q
  1. .S DATA=$G(^IBE(365.12,IEN,1,APP,0)),NAACT=$P(DATA,U,2),LOACT=$P(DATA,U,3)
  1. .I NAACT,'LOACT,$D(RPTDATA("PYR",IEN)) S RPTDATA("INACTIVE",IEN)=PAYER
  1. .Q
  1. ; create and send Mailman messages
  1. S MGRP=$$MGRP^IBCNEUT5(),STR1="Immediate Attention Required:",STR2="-----------------------------"
  1. I TOTAL D
  1. .S MSUBJ="ACTION REQ: POTENTIAL PAYERS TO BE LINKED",LN=0
  1. .S LN=LN+1,MSG(LN)="TOTAL NUMBER OF PAYERS WITH POTENTIAL INSURANCE COMPANY MATCHES: "_TOTAL
  1. .S LN=LN+1,MSG(LN)=""
  1. .S LN=LN+1,MSG(LN)=STR1
  1. .S LN=LN+1,MSG(LN)=STR2
  1. .S LN=LN+1,MSG(LN)="Please link the associated active insurance companies to these payers at your"
  1. .S LN=LN+1,MSG(LN)="earliest convenience. Please visit the e-Business Projects Webpage on VistA"
  1. .S LN=LN+1,MSG(LN)="University Website to download the Link Payer Instructions."
  1. .D MSG^IBCNEUT5(MGRP,MSUBJ,"MSG(")
  1. .Q
  1. I $D(RPTDATA("INACTIVE")) D
  1. .K MSG
  1. .S MSUBJ="ACTION REQ: PAYERS TO BE LOCALLY ACTIVATED",LN=0
  1. .S LN=LN+1,MSG(LN)="Nationally Active Payers that are Locally Inactive:"
  1. .S LN=LN+1,MSG(LN)="---------------------------------------------------"
  1. .S LN=LN+1,MSG(LN)=""
  1. .S IEN="" F S IEN=$O(RPTDATA("INACTIVE",IEN)) Q:IEN="" S LN=LN+1,MSG(LN)=$$FO^IBCNEUT1(RPTDATA("INACTIVE",IEN),79)
  1. .S LN=LN+1,MSG(LN)=""
  1. .S LN=LN+1,MSG(LN)=STR1
  1. .S LN=LN+1,MSG(LN)=STR2
  1. .S LN=LN+1,MSG(LN)="Please locally activate the payers after you link insurance companies to them."
  1. .S LN=LN+1,MSG(LN)="Please visit the e-Business Projects Webpage on VistA University Website to"
  1. .S LN=LN+1,MSG(LN)="download the Payer Activation Instructions."
  1. .D MSG^IBCNEUT5(MGRP,MSUBJ,"MSG(")
  1. .Q
  1. Q