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

IBCNRMFE.m

Go to the documentation of this file.
  1. IBCNRMFE ;BHAM ISC/DMK - Receive HL7 e-Pharmacy MFE Segment ;23-OCT-2003
  1. ;;2.0;INTEGRATED BILLING;**251,276,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 MFE Segment
  1. ; Master File Entry
  1. ;
  1. ; Prepare for potential subsequent Z** Segment(s)
  1. ;
  1. ; Called by IBCNRHLT
  1. ;
  1. ; Entry point
  1. ;
  1. 1000 ; Control MFE Segment processing
  1. D INIT
  1. Q
  1. ;
  1. INIT ; Initialize MFE Segment variables
  1. K DATA,DATAAP,DATACM,ERROR
  1. N ANAME,FILENO1,KEY
  1. ;
  1. S EPHARM=1
  1. S FILENO=FLN
  1. ;
  1. S DATE("NOW")=$$NOW^XLFDT()
  1. ;
  1. ; Record-Level Event Code (action)
  1. ; MAC = Activate
  1. ; MAD = Add
  1. ; MDC = Deactivate
  1. ; MDL = Delete
  1. ; MUP = Update
  1. S IBCNACT=$G(IBSEG(2))
  1. ;
  1. ; Primary Key Value ID
  1. S KEY=$P($G(IBSEG(5)),$E(HLECH,1),1)
  1. ;
  1. ; Convert HL7 special characters if necessary
  1. I KEY[$E(HLECH,3) S KEY=$$TRAN1^IBCNRHLU(KEY)
  1. ;
  1. S IEN=$$LOOKUP1^IBCNRFM1(FILENO,KEY)
  1. ;
  1. ; Error?
  1. ; V200 = NCPDP Processor Name Undefined
  1. ; V300 = Pharmacy Benefits Manager (PBM) Name Undefined
  1. ; V400 = Plan ID Undefined
  1. ; V500 = Plan ID Undefined
  1. I FILE["Pharmacy Plan",IEN=-1 S ERROR="V500" Q
  1. I IBCNACT'="MAD",IEN=-1 S ERROR=$S(FILENO=366.01:"V200",FILENO=366.02:"V300",FILENO=366.03:"V400",1:"V500") Q
  1. ;
  1. S FIELDNO=3
  1. S FILENO1=FILENO+.1
  1. S ANAME="E-PHARM"
  1. S AIEN=$$LOOKUP1^IBCNRFM1(FILENO1,ANAME)
  1. I AIEN=-1 S AIEN=$$ADD1^IBCNRFM1(FILENO1,ANAME)
  1. I IEN'=-1 S APIEN=$$LOOKUP2^IBCNRFM1(FILENO,IEN,FIELDNO,ANAME)
  1. I IEN=-1 S APIEN=-1
  1. ;
  1. ; Error?
  1. ; V201 = E-PHARM Application Undefined
  1. ; V301 = E-PHARM Application Undefined
  1. ; V401 = E-PHARM Application Undefined
  1. ; V501 = E-PHARM Application Undefined
  1. I IBCNACT'="MAD",APIEN=-1 D Q
  1. . S ERROR=$S(FILENO=366.01:"V201",FILENO=366.02:"V301",FILENO=366.03:"V401",1:"V501")
  1. . I FILE["Pharmacy" S ERROR="V501"
  1. ;
  1. ; MAC = Activate
  1. I IBCNACT="MAC" D INITMAC
  1. ;
  1. ; MAD = Add
  1. I IBCNACT="MAD" D INITMAD
  1. ;
  1. ; MDC = Deactivate
  1. I IBCNACT="MDC" D INITMDC
  1. ;
  1. ; MDL = Delete
  1. I IBCNACT="MDL" D INITMDL
  1. ;
  1. ; MUP = Update
  1. I IBCNACT="MUP" D INITMUP
  1. Q
  1. ;
  1. INITMAD ; Initialize APPLICATION Subfile variables if MAD (Add) action
  1. ; 366.013 NCPDP PROCESSOR APPLICATION Subfile
  1. ; 366.023 PHARMACY BENEFITS MANAGER (PBM) APPLICATION Subfile
  1. ; 366.033 PLAN APPLICATION Subfile
  1. ;
  1. ; Process MAD (Add) as MAC (Activate)
  1. D INITMAC
  1. ;
  1. ; .03 LOCAL ACTIVE?
  1. ; Set to INACTIVE for PLAN, all others ACTIVE
  1. S DATAAP(.03)=$S(FILENO=366.03:0,1:1)
  1. ;
  1. ; .04 USER EDITED LOCAL
  1. S DATAAP(.04)=IDUZ
  1. ;
  1. ; .05 DATE/TIME LOCAL EDITED
  1. S DATAAP(.05)=DATE("NOW")
  1. ;
  1. ; .13 DATE/TIME CREATED
  1. S DATAAP(.13)=DATE("NOW")
  1. Q
  1. ;
  1. INITMAC ; Initialize APPLICATION Subfile variables if MAC (Activate) action
  1. ; 366.013 NCPDP PROCESSOR APPLICATION Subfile
  1. ; 366.023 PHARMACY BENEFITS MANAGER (PBM) APPLICATION Subfile
  1. ; 366.033 PLAN APPLICATION Subfile
  1. ;
  1. ; .02 NATIONAL ACTIVE?
  1. S DATAAP(.02)=1
  1. ;
  1. ; .06 DATE/TIME NATIONAL EDITED
  1. S DATAAP(.06)=DATE("NOW")
  1. ;
  1. ; .11 DEACTIVATED?
  1. S DATAAP(.11)=0
  1. ;
  1. ; .12 DATE/TIME DEACTIVATED
  1. S DATAAP(.12)="@"
  1. Q
  1. ;
  1. INITMDC ; Initialize APPLICATION Subfile variables if MDC (deactivate) action
  1. ; 366.013 NCPDP PROCESSOR APPLICATION Subfile
  1. ; 366.023 PHARMACY BENEFITS MANAGER (PBM) APPLICATION Subfile
  1. ; 366.033 PLAN APPLICATION Subfile
  1. ;
  1. ; .02 NATIONAL ACTIVE?
  1. S DATAAP(.02)=0
  1. ;
  1. ; .06 DATE/TIME NATIONAL EDITED
  1. S DATAAP(.06)=DATE("NOW")
  1. ;
  1. ; .11 DEACTIVATED?
  1. S DATAAP(.11)=1
  1. ;
  1. ; .12 DATE/TIME DEACTIVATED
  1. S DATAAP(.12)=DATE("NOW")
  1. Q
  1. ;
  1. INITMDL ; Initialize APPLICATION Subfile variables if MDL (Delete) action
  1. ; 366.013 NCPDP PROCESSOR APPLICATION Subfile
  1. ; 366.023 PHARMACY BENEFITS MANAGER (PBM) APPLICATION Subfile
  1. ; 366.033 PLAN APPLICATION Subfile
  1. ;
  1. ; Process MDL (Delete) as MDC (Deactivate)
  1. D INITMDC
  1. Q
  1. ;
  1. INITMUP ; Initialize APPLICATION Subfile variables if MUP (Update) action
  1. ; 366.013 NCPDP PROCESSOR APPLICATION Subfile
  1. ; 366.023 PHARMACY BENEFITS MANAGER (PBM) APPLICATION Subfile
  1. ; 366.033 PLAN APPLICATION Subfile
  1. Q