| 1 | IBCEP8A ;ALB/ESG - Functions for provider ID maint ;12/27/2005
|
---|
| 2 | ;;2.0;INTEGRATED BILLING;**320,349**;21-MAR-94;Build 46
|
---|
| 3 | ;;Per VHA Directive 2004-038, this routine should not be modified.
|
---|
| 4 | ;
|
---|
| 5 | Q
|
---|
| 6 | ;
|
---|
| 7 | CLIA(IBIFN) ; Default CLIA# for claim
|
---|
| 8 | NEW CLIA,NONVA,DIV,INST
|
---|
| 9 | S CLIA="",IBIFN=+$G(IBIFN)
|
---|
| 10 | S NONVA=+$P($G(^DGCR(399,IBIFN,"U2")),U,10) ; non-VA facility ptr
|
---|
| 11 | I NONVA S CLIA=$$CLIANVA^IBCEP8(IBIFN) G CLIAX
|
---|
| 12 | ;
|
---|
| 13 | ; retrieve the default VA clia# based on claim data
|
---|
| 14 | S DIV=+$P($G(^DGCR(399,IBIFN,0)),U,22) ; claim's division
|
---|
| 15 | I 'DIV G CLIAX
|
---|
| 16 | S INST=+$P($G(^DG(40.8,DIV,0)),U,7) ; inst file pointer
|
---|
| 17 | I 'INST G CLIAX
|
---|
| 18 | S CLIA=$$ID^XUAF4("CLIA",INST) ; API for clia#
|
---|
| 19 | CLIAX ;
|
---|
| 20 | Q CLIA
|
---|
| 21 | ;
|
---|
| 22 | LAB(IBIFN) ; Function determines if LAB type of service is on claim
|
---|
| 23 | ; Claim must be a CMS-1500 claim form type
|
---|
| 24 | NEW LAB,LN,IBXDATA
|
---|
| 25 | S LAB=0
|
---|
| 26 | I $$FT^IBCEF(IBIFN)'=2 G LABX ;cms-1500 form types only
|
---|
| 27 | D F^IBCEF("N-HCFA 1500 SERVICES (PRINT)",,,IBIFN)
|
---|
| 28 | S LN=0
|
---|
| 29 | F S LN=$O(IBXDATA(LN)) Q:'LN I $P(IBXDATA(LN),U,4)=5 S LAB=1 Q
|
---|
| 30 | LABX ;
|
---|
| 31 | Q LAB
|
---|
| 32 | ;
|
---|
| 33 | CLIAREQ(IBIFN) ; Function determines if the CLIA# is required for claim
|
---|
| 34 | ; Return value=1 Yes, the CLIA# is required; otherwise 0.
|
---|
| 35 | NEW REQ S REQ=0
|
---|
| 36 | I $$FT^IBCEF(IBIFN)'=2 G CLIAREQX ; cms-1500 claim
|
---|
| 37 | I '$$LAB(IBIFN) G CLIAREQX ; lab type of service
|
---|
| 38 | ;
|
---|
| 39 | ; this is required for VA facility
|
---|
| 40 | I '$P($G(^DGCR(399,IBIFN,"U2")),U,10) S REQ=1 G CLIAREQX
|
---|
| 41 | ;
|
---|
| 42 | ; for non-VA facility, further check non-VA care type
|
---|
| 43 | ; Codes 1 and 3 are specifically Non-Lab
|
---|
| 44 | I '$F(".1.3.","."_$P($G(^DGCR(399,IBIFN,"U2")),U,11)_".") S REQ=1
|
---|
| 45 | CLIAREQX ;
|
---|
| 46 | Q REQ
|
---|
| 47 | ;
|
---|
| 48 | MAMMO(IBIFN,IBMC) ; Function to determine the default mammography certification
|
---|
| 49 | ; number for the claim
|
---|
| 50 | ; Array IBMC is returned if passed by reference
|
---|
| 51 | ; IBMC = # of associated mammo#'s
|
---|
| 52 | ; IBMC(n) = [1] coding system or "" for Non-VA Facilities
|
---|
| 53 | ; [2] mammo cert#
|
---|
| 54 | NEW MAMMO,NONVA,INST,CODSYS,IBMCID,CDSYS
|
---|
| 55 | S MAMMO="",IBIFN=+$G(IBIFN),IBMC=0
|
---|
| 56 | S NONVA=+$P($G(^DGCR(399,IBIFN,"U2")),U,10) ; non-VA facility ptr
|
---|
| 57 | I NONVA D G MAMMOX
|
---|
| 58 | . S MAMMO=$P($G(^IBA(355.93,NONVA,0)),U,15) Q:MAMMO=""
|
---|
| 59 | . S IBMC=1,IBMC(1)=""_U_MAMMO
|
---|
| 60 | . Q
|
---|
| 61 | ;
|
---|
| 62 | ; retrieve the default VA mammo# based on claim data
|
---|
| 63 | S INST=+$$SITE^VASITE() ; inst file pointer
|
---|
| 64 | I 'INST G MAMMOX
|
---|
| 65 | ;
|
---|
| 66 | ; Kernel API from XU*8*394 to get a list of coding systems
|
---|
| 67 | D LCDSYS^XUAF4(.CDSYS)
|
---|
| 68 | S CODSYS="MAMMO"
|
---|
| 69 | F S CODSYS=$O(CDSYS(CODSYS)) Q:$E(CODSYS,1,5)'="MAMMO" D
|
---|
| 70 | . S IBMCID=$$ID^XUAF4(CODSYS,INST) Q:IBMCID=""
|
---|
| 71 | . S IBMC=IBMC+1
|
---|
| 72 | . S IBMC(IBMC)=$P(CODSYS,"-",2)_U_IBMCID
|
---|
| 73 | . I $P(CODSYS,"-",2)="FDA" S MAMMO=IBMCID ; FDA is default ID#
|
---|
| 74 | . Q
|
---|
| 75 | I IBMC,MAMMO="" S MAMMO=$P(IBMC(1),U,2)
|
---|
| 76 | MAMMOX ;
|
---|
| 77 | Q MAMMO
|
---|
| 78 | ;
|
---|
| 79 | MAMMODP(IBIFN) ; Procedure to display a listing of default mammo cert#'s
|
---|
| 80 | ; Used during input template on screen 8 for CMS-1500 claims
|
---|
| 81 | NEW IBMC,IBZ
|
---|
| 82 | I $$MAMMO(IBIFN,.IBMC)
|
---|
| 83 | I 'IBMC W !!?3,"No default mammography certification numbers on file.",! G MAMMODPX
|
---|
| 84 | W !!?3,"The Mammography Certification #" W:IBMC>1 "'s"
|
---|
| 85 | W " defined for this " W:$P($G(^DGCR(399,IBIFN,"U2")),U,10) "non-"
|
---|
| 86 | W "VA facility " W:IBMC>1 "are:" W:IBMC'>1 "is:"
|
---|
| 87 | S IBZ=0
|
---|
| 88 | F S IBZ=$O(IBMC(IBZ)) Q:'IBZ W !?7,$P(IBMC(IBZ),U,2),?21,$P(IBMC(IBZ),U,1)
|
---|
| 89 | W !?3,"If you enter a different number it will be sent with this claim only."
|
---|
| 90 | I $P($G(^DGCR(399,IBIFN,"U2")),U,10) W !?3,"To change the defined Mammography Certification #, use Prov ID Maint."
|
---|
| 91 | W !
|
---|
| 92 | MAMMODPX ;
|
---|
| 93 | Q
|
---|
| 94 | ;
|
---|
| 95 | XRAY(IBIFN) ; Function determines if X-RAY type of service is on claim
|
---|
| 96 | ; Claim must be a CMS-1500 claim form type
|
---|
| 97 | NEW XRAY,LN,IBXDATA
|
---|
| 98 | S XRAY=0
|
---|
| 99 | I $$FT^IBCEF(IBIFN)'=2 G XRAYX ;cms-1500 form types only
|
---|
| 100 | D F^IBCEF("N-HCFA 1500 SERVICES (PRINT)",,,IBIFN)
|
---|
| 101 | S LN=0
|
---|
| 102 | F S LN=$O(IBXDATA(LN)) Q:'LN I $P(IBXDATA(LN),U,4)=4 S XRAY=1 Q
|
---|
| 103 | XRAYX ;
|
---|
| 104 | Q XRAY
|
---|
| 105 | ;
|
---|
| 106 | EIN(IBIFN) ; Function to return the EIN/tax ID for either the VA facility
|
---|
| 107 | ; or the non-VA facility. Used for SUB-9.
|
---|
| 108 | NEW ID,IBU2,NONVA
|
---|
| 109 | S ID="",IBU2=$G(^DGCR(399,IBIFN,"U2"))
|
---|
| 110 | S NONVA=+$P(IBU2,U,10) ; non-VA facility ptr
|
---|
| 111 | I NONVA D G EINX
|
---|
| 112 | . S ID=$P($G(^IBA(355.93,NONVA,0)),U,9) ; ID# from file 355.93
|
---|
| 113 | . ;
|
---|
| 114 | . ; if not defined in file 355.93, then use legacy field# 234 in file
|
---|
| 115 | . ; 399 - non-va care id#. See NONVAID^IBCEF72.
|
---|
| 116 | . I ID="",$P(IBU2,U,12)'="" S ID=$P(IBU2,U,12)
|
---|
| 117 | . Q
|
---|
| 118 | ;
|
---|
| 119 | ; VA facility
|
---|
| 120 | S ID=$P($G(^IBE(350.9,1,1)),U,5) ; Federal tax id from site params
|
---|
| 121 | EINX ;
|
---|
| 122 | Q ID
|
---|
| 123 | ;
|
---|
| 124 | BOX324(IBIFN,IBXSAVE,IBXDATA) ; Procedure which further defines and formats
|
---|
| 125 | ; form 1500, box 32, line 4.
|
---|
| 126 | ; *** THIS IS NOT USED FOR THE NEW CMS-1500 CLAIM FORM ***
|
---|
| 127 | ; This is either the facility Tax ID or it is the mammography
|
---|
| 128 | ; certification number.
|
---|
| 129 | ; Input: IBIFN, IBXSAVE array (pass by ref), IBXDATA (pass by ref)
|
---|
| 130 | ; Output: IBXDATA (pass by ref)
|
---|
| 131 | ;
|
---|
| 132 | NEW IBZ
|
---|
| 133 | ;
|
---|
| 134 | ; retrieve the mammo# if it exists into variable IBZ
|
---|
| 135 | D F^IBCEF("N-MAMMOGRAPHY CERT#","IBZ",,IBIFN)
|
---|
| 136 | ;
|
---|
| 137 | ; If the claim is for the main VAMC and there is no mammo# then print
|
---|
| 138 | ; nothing here. See 364.7 iens# 348, 319, 327 for similar
|
---|
| 139 | I '$G(IBXSAVE("REMOTE")),IBZ="" KILL IBXDATA G BOX32X
|
---|
| 140 | ;
|
---|
| 141 | ; If the mammo# exists, then display that
|
---|
| 142 | I IBZ'="" S IBXDATA="Mammography Cert# "_IBZ G BOX32X
|
---|
| 143 | ;
|
---|
| 144 | ; Otherwise, display the facility tax id
|
---|
| 145 | S IBXDATA="FAC. ID:"_$G(IBXDATA)
|
---|
| 146 | BOX32X ;
|
---|
| 147 | KILL IBXSAVE("OFAC"),IBXSAVE("REMOTE") ; cleanup
|
---|
| 148 | Q
|
---|
| 149 | ;
|
---|
| 150 | SUB1OK(IBIFN) ; This function determines if the claim meets the criteria
|
---|
| 151 | ; for being eligible to output a SUB1 segment which is for professional
|
---|
| 152 | ; purchased services. Must be CMS-1500, non-VA facility, and Fee Basis.
|
---|
| 153 | ;
|
---|
| 154 | NEW OK,IBU2
|
---|
| 155 | S OK=0,IBU2=$G(^DGCR(399,IBIFN,"U2"))
|
---|
| 156 | ;
|
---|
| 157 | I $$FT^IBCEF(IBIFN)'=2 G SX ; must be cms-1500
|
---|
| 158 | I '$P(IBU2,U,10) G SX ; must be non-VA fac
|
---|
| 159 | I '$F(".1.2.","."_$P(IBU2,U,11)_".") G SX ; must be FEE services
|
---|
| 160 | ;
|
---|
| 161 | S OK=1 ; all checks passed, OK for SUB1 output
|
---|
| 162 | SX ;
|
---|
| 163 | Q OK
|
---|
| 164 | ;
|
---|