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

IBCNRZPP.m

Go to the documentation of this file.
  1. IBCNRZPP ;DAOU/PHH - Receive HL7 e-Pharmacy ZPP Segment ;4-NOV-2015
  1. ;;2.0;INTEGRATED BILLING;**550**;21-MAR-94;Build 25
  1. ;;Per VA Directive 6402, this routine should not be modified.
  1. ;
  1. ; Description
  1. ;
  1. ; Receive HL7 e-Pharmacy ZPP Segment
  1. ; 366.03 PLAN File Update (Pharmacy)
  1. ;
  1. ; Called by IBCNRHLT
  1. ;
  1. ; Entry point
  1. ;
  1. 1000 ; Control ZPP Segment processing
  1. D INIT
  1. I $D(ERROR) Q
  1. Q
  1. ;
  1. INIT ; Initialize ZPP Segment variables
  1. ; 366.03 PLAN File
  1. ;
  1. N NAME
  1. ;
  1. ; Error?
  1. ; V505 = Plan ID Missing
  1. I $TR($G(IBSEG(3))," ","") S ERROR="V505" Q
  1. ;
  1. ; 10.01 = PHARMACY BENEFITS MANAGER NAME (pointer - 366.02)
  1. S DATA(10.01)=$G(IBSEG(4))
  1. I DATA(10.01)]"" S DATA(10.01)=$$LOOKUP1^IBCNRFM1(366.02,DATA(10.01))
  1. ;
  1. ; Error?
  1. ; V510 = Pharmacy Benefits Manager (PBM) Undefined
  1. I DATA(10.01)=-1 S ERROR="V510" Q
  1. ;
  1. ; 10.02 = BANKING IDENTIFICATION NUMBER
  1. S DATA(10.02)=$G(IBSEG(5))
  1. ;
  1. ; Error?
  1. ; V515 = Plan BIN Missing
  1. I $TR(DATA(10.02)," ","")="" S ERROR="V515" Q
  1. ;
  1. ; 10.03 = PROCESSOR CONTROL NUMBER (PCN)
  1. S DATA(10.03)=$G(IBSEG(6))
  1. ;
  1. ; 10.04 = NCPDP PROCESSOR NAME (pointer - 366.01)
  1. S DATA(10.04)=$G(IBSEG(7))
  1. I DATA(10.04)]"" S DATA(10.04)=$$LOOKUP1^IBCNRFM1(366.01,DATA(10.04))
  1. ;
  1. ; Error?
  1. ; V520 = NCPDP Processor Name Undefined
  1. I DATA(10.04)=-1 S ERROR="V520" Q
  1. ;
  1. ; 10.05 = ENABLED?
  1. S DATA(10.05)=$S($G(IBSEG(8))="Y":1,1:0)
  1. ;
  1. ; Error?
  1. ; V525 = Plan Enabled? Missing
  1. I $TR(DATA(10.05)," ","")="" S ERROR="V525" Q
  1. ;
  1. ; 10.06 = SOFTWARE VENDOR ID
  1. S DATA(10.06)=$G(IBSEG(9))
  1. ;
  1. ; 10.07 = BILLING PAYER SHEET NAME (pointer - 9002313.92)
  1. S DATA(10.07)=$G(IBSEG(10))
  1. I DATA(10.07)]"" S DATA(10.07)=$$LOOKUP1^IBCNRFM1(9002313.92,DATA(10.07))
  1. ;
  1. ; Error?
  1. ; V530 = Billing Payer Sheet Name Undefined
  1. I DATA(10.07)=-1 S ERROR="V530" Q
  1. ;
  1. ; 10.08 = REVERSAL PAYER SHEET NAME (pointer - 9002313.92)
  1. S DATA(10.08)=$G(IBSEG(11))
  1. I DATA(10.08)]"" S DATA(10.08)=$$LOOKUP1^IBCNRFM1(9002313.92,DATA(10.08))
  1. ;
  1. ; Error?
  1. ; V535 = Reversal Payer Sheet Name Undefined
  1. I DATA(10.08)=-1 S ERROR="V535" Q
  1. ;
  1. ; 10.09 = REBILL PAYER SHEET NAME (pointer - 9002313.92)
  1. S DATA(10.09)=$G(IBSEG(12))
  1. I DATA(10.09)]"" S DATA(10.09)=$$LOOKUP1^IBCNRFM1(9002313.92,DATA(10.09))
  1. ;
  1. ; Error?
  1. ; V540 = Rebill Payer Sheet Name Undefined
  1. I DATA(10.09)=-1 S ERROR="V540" Q
  1. ;
  1. ; 10.1 = MAXIMUM NCPDP TRANSACTIONS
  1. S DATA(10.1)=$G(IBSEG(13))
  1. ;
  1. ; 10.15 = ELIGIBILITY VERIFICATION PAYER SHEET NAME (pointer - 9002313.92)
  1. S DATA(10.15)=$G(IBSEG(16))
  1. I DATA(10.15)]"" S DATA(10.15)=$$LOOKUP1^IBCNRFM1(9002313.92,DATA(10.15))
  1. ;
  1. ; Error?
  1. ; V545 = Eligibility Verification Payer Sheet Name Undefined
  1. I DATA(10.15)=-1 S ERROR="V545" Q
  1. ;
  1. ; Initialize RX primary contact name variables
  1. S NAME=$G(IBSEG(14))
  1. D NAME
  1. ;
  1. ; 11.01 = RX PRIMARY CONTACT NAME
  1. S DATA(11.01)=NAME("NAME")
  1. ;
  1. ; 11.02 = RX PRIMARY CONTACT PREFIX
  1. S DATA(11.02)=NAME("PREFIX")
  1. ;
  1. ; 11.03 = RX PRIMARY CONTACT DEGREE
  1. S DATA(11.03)=NAME("DEGREE")
  1. ;
  1. ; Initialize RX alternate contact name variables
  1. S NAME=$G(IBSEG(15))
  1. D NAME
  1. ;
  1. ; 11.04 = RX ALTERNATE CONTACT NAME
  1. S DATA(11.04)=NAME("NAME")
  1. ;
  1. ; 11.05 = RX ALETRNATE CONTACT PREFIX
  1. S DATA(11.05)=NAME("PREFIX")
  1. ;
  1. ; 11.06 = RX ALTERNATE CONTACT DEGREE
  1. S DATA(11.06)=NAME("DEGREE")
  1. Q
  1. ;
  1. NAME ; Initialize name variables from NAME string
  1. S NAME("SURNAME")=$P($P(NAME,$E(HLECH,1),1),$E(HLECH,4),1)
  1. S NAME("SURNAME PREFIX")=$P($P(NAME,$E(HLECH,1),1),$E(HLECH,4),2)
  1. S NAME("FAMILY")=$S(NAME("SURNAME PREFIX")]"":NAME("SURNAME PREFIX")_" ",1:"")_NAME("SURNAME")
  1. S NAME("GIVEN")=$P(NAME,$E(HLECH,1),2)
  1. S NAME("MIDDLE")=$P(NAME,$E(HLECH,1),3)
  1. S NAME("SUFFIX")=$P(NAME,$E(HLECH,1),4)
  1. S NAME("NAME")=""
  1. I NAME("FAMILY")]"" S NAME("NAME")=NAME("FAMILY")_","_NAME("GIVEN")_$S(NAME("MIDDLE")]"":" "_$E(NAME("MIDDLE"),1),1:"")_$S(NAME("SUFFIX")]"":" "_NAME("SUFFIX"),1:"")
  1. S NAME("PREFIX")=$P(NAME,$E(HLECH,1),5)
  1. S NAME("DEGREE")=$P(NAME,$E(HLECH,1),6)
  1. Q