| 1 | IBCSCH2 ;ALB/DLS - Continuation of routine IBCSCH ;12 JUN 2007 | 
|---|
| 2 | ;;2.0;INTEGRATED BILLING;**374**;21-MAR-94;Build 16 | 
|---|
| 3 | ;;Per VHA Directive 10-93-142, this routine should not be modified. | 
|---|
| 4 | Q | 
|---|
| 5 | ; | 
|---|
| 6 | DISPPRV(IBIFN) ; Display provider information: interactive - user selects provider | 
|---|
| 7 | N DIC,DA,X,Y,IBI,IBJ,IBW,IBPRV,IBPX,IBDT,IBARR,IBNPISTR,IBNPI,IBPRVTAX,IBTAXFLG | 
|---|
| 8 | N IBPRVDAT,IBTAXID,IBTAXEFF,IBTAXTRM,IBTAXX12 | 
|---|
| 9 | W !!,"This is a display of provider specific information." | 
|---|
| 10 | D SPECIFIC^IBCEU5(IBIFN) | 
|---|
| 11 | S IBDT=+$G(^DGCR(399,+$G(IBIFN),"U")) I 'IBDT S IBDT=DT | 
|---|
| 12 | ; | 
|---|
| 13 | F IBI=1:1 W ! S DIC("A")="Select PROVIDER NAME: ",DIC="^VA(200,",DIC(0)="AEQM" D ^DIC Q:Y'>0  D | 
|---|
| 14 | . S IBPRV=Y | 
|---|
| 15 | . W !!,$TR($J(" ",IOM)," ","-") | 
|---|
| 16 | . S IBPX=$$ESBLOCK^XUSESIG1(+IBPRV) | 
|---|
| 17 | . W !," Signature Name: ",$P(IBPX,U,1) | 
|---|
| 18 | . W !,"Signature Title: ",$P(IBPX,U,3) | 
|---|
| 19 | . W !,"         Degree: ",$P(IBPX,U,2) | 
|---|
| 20 | . ; | 
|---|
| 21 | . ; PRXM/DLS - Patch 374. Adding NPI to Signature information. | 
|---|
| 22 | . S IBNPISTR=$$NPI^XUSNPI("Individual_ID",+IBPRV)                               ; Get NPI information. | 
|---|
| 23 | . S IBNPI=$P(IBNPISTR,U)                                                        ; Get NPI. | 
|---|
| 24 | . W !,"            NPI: ",$S(IBNPI>0:IBNPI,1:"")                                ; Write NPI. | 
|---|
| 25 | . ; | 
|---|
| 26 | . S IBPX=$$PRVLIC^IBCU1(+IBPRV,IBDT,.IBARR)                                     ; Get License Info. | 
|---|
| 27 | . W !!,"     License(s): " D | 
|---|
| 28 | . . I IBPX'>0 W "None Active on ",$$FMTE^XLFDT(IBDT,2) Q | 
|---|
| 29 | . . S IBJ=0,IBW=0 F  S IBJ=$O(IBARR(IBJ)) Q:'IBJ  D | 
|---|
| 30 | . . . S IBPX=IBARR(IBJ),IBPX=$P($G(^DIC(5,+IBPX,0)),U,2)_": "_$P(IBPX,U,2) | 
|---|
| 31 | . . . I (IBW+$L(IBPX))>61 W !,?17 S IBW=0 | 
|---|
| 32 | . . . W IBPX,"  " S IBW=IBW+$L(IBPX)+2 | 
|---|
| 33 | . ; | 
|---|
| 34 | . ; PRXM/DLS - Display Person Class/Taxonomy Information. | 
|---|
| 35 | . S IBTAXFLG=0                                                                  ; Init to 0, set to 1 if Person Class info found. | 
|---|
| 36 | . S IBPRVTAX=0                                                                  ; Loop through prov's Person Class entries. | 
|---|
| 37 | . F  S IBPRVTAX=$O(^VA(200,+IBPRV,"USC1",IBPRVTAX)) Q:'IBPRVTAX  D | 
|---|
| 38 | . . ; Get Basic Information | 
|---|
| 39 | . . S IBTAXID=$$GET1^DIQ(200.05,IBPRVTAX_","_+IBPRV_",",.01,"I") Q:IBTAXID=""   ; Person Class IEN. | 
|---|
| 40 | . . S IBTAXEFF=$$GET1^DIQ(200.05,IBPRVTAX_","_+IBPRV_",",2,"I")                 ; Person Class Eff Date. | 
|---|
| 41 | . . S IBTAXTRM=$$GET1^DIQ(200.05,IBPRVTAX_","_+IBPRV_",",3,"I") ;I IBTAXTRM=""   ; Person Class Term Date. | 
|---|
| 42 | . . I IBTAXTRM="" S IBTAXTRM=9999999 | 
|---|
| 43 | . . ; See if claim beginning service date falls within Eff date range. If so, proceed. | 
|---|
| 44 | . . I (IBTAXEFF'>IBDT),(IBTAXTRM>IBDT) D | 
|---|
| 45 | . . . S IBTAXFLG=1                                                              ; A Person Class found, set flag to 1. | 
|---|
| 46 | . . . ; Get Detailed Information and Display. | 
|---|
| 47 | . . . S IBPX=$$IEN2DATA^XUA4A72(IBTAXID)                                        ; Person Class Details. | 
|---|
| 48 | . . . S IBTAXX12=$$GET1^DIQ(8932.1,IBTAXID_",",6)                               ; Get X12 Code. | 
|---|
| 49 | . . . W ! | 
|---|
| 50 | . . . W !,"   Person Class: ",$P(IBPX,U,6)                                      ; Display Person Class Name. | 
|---|
| 51 | . . . W !,"  PROVIDER TYPE: ",$P(IBPX,U)                                        ; Display Provider Type. | 
|---|
| 52 | . . . W !," CLASSIFICATION: ",$P(IBPX,U,2)                                      ; Display Classification. | 
|---|
| 53 | . . . W !," SPECIALIZATION: ",$P(IBPX,U,3)                                      ; Display Specialization. | 
|---|
| 54 | . . . W !,"       TAXONOMY: ",IBTAXX12,$S(IBTAXX12'="":" ("_IBTAXID_")",1:"")   ; Display X12 Code and Internal Code (IEN). | 
|---|
| 55 | . . . W !,"      EFFECTIVE: ",$$FMTE^XLFDT(IBTAXEFF,2)                          ; Display EFF Date. | 
|---|
| 56 | . . . I IBTAXTRM'=9999999 W " - ",$$FMTE^XLFDT(IBTAXTRM,2)                      ; Display TRM Date, if it exists. | 
|---|
| 57 | . ; If no Person Class entries exists for this Provider, notate it. | 
|---|
| 58 | . I 'IBTAXFLG W !!,"   Person Class: None Active on ",$$FMTE^XLFDT(IBDT,2) | 
|---|
| 59 | . S IBPX=$$PRVTYP^IBCRU6(+IBPRV,+IBDT) | 
|---|
| 60 | . W !!,"RC Provider Group: ",$S(+IBPX:$P(IBPX,U,3)_", "_$P(IBPX,U,5)_"%",1:"None") | 
|---|
| 61 | . W !,$TR($J(" ",IOM)," ","-") | 
|---|
| 62 | Q | 
|---|
| 63 | ; | 
|---|
| 64 | DISPNVA(IBIFN) ; Display Non-VA individual provider information. | 
|---|
| 65 | N IBDT,IBI,IBNVFLG,IBNVID,IBNVTX,IBNVTX2,IBNVTXID,IBNVSL,X,Y,DIC,DA,IBTAXX12,IBPX | 
|---|
| 66 | S IBDT=+$G(^DGCR(399,+$G(IBIFN),"U")) I 'IBDT S IBDT=DT | 
|---|
| 67 | ; Select Non-VA Provider | 
|---|
| 68 | F IBI=1:1 W ! S DIC("A")="Select NON-VA PROVIDER NAME: ",DIC="^IBA(355.93,",DIC(0)="AEQM",DIC("S")="I $P(^(0),U,2)=2" D ^DIC Q:Y'>0  D | 
|---|
| 69 | . S IBNVID=+Y W !!,$TR($J(" ",IOM)," ","-") | 
|---|
| 70 | . W !," Signature Name: ",$$GET1^DIQ(355.93,IBNVID_",",.01) | 
|---|
| 71 | . W !,"            NPI: ",$$GET1^DIQ(355.93,IBNVID_",",41.01) | 
|---|
| 72 | . W ! | 
|---|
| 73 | . S IBNVSL=$$GET1^DIQ(355.93,IBNVID_",",.12)                                        ; Get and Display License info. | 
|---|
| 74 | . W !,"     License(s): ",$S(IBNVSL'="":IBNVSL,1:"None Active on "_$$FMTE^XLFDT(IBDT,2)) | 
|---|
| 75 | . W ! | 
|---|
| 76 | . S IBNVTX="" | 
|---|
| 77 | . S IBNVFLG=0 | 
|---|
| 78 | . F  S IBNVTX=$O(^IBA(355.93,IBNVID,"TAXONOMY","D",IBNVTX),-1) Q:IBNVTX=""  D       ; Loop through prov's Person Class X-Ref. | 
|---|
| 79 | . . S IBNVTX2="" | 
|---|
| 80 | . . F  S IBNVTX2=$O(^IBA(355.93,IBNVID,"TAXONOMY","D",IBNVTX,IBNVTX2)) Q:'IBNVTX2  D | 
|---|
| 81 | . . . I $$GET1^DIQ(355.9342,IBNVTX2_","_IBNVID_",",.03,"I")="A" D                   ; Proceed if the Person Class is Active. | 
|---|
| 82 | . . . . S IBNVFLG=1 | 
|---|
| 83 | . . . . S IBNVTXID=$$GET1^DIQ(355.9342,IBNVTX2_","_IBNVID_",",.01,"I") | 
|---|
| 84 | . . . . ; Get Detailed Information and Display. | 
|---|
| 85 | . . . . S IBPX=$$IEN2DATA^XUA4A72(IBNVTXID)                                         ; Person Class Details. | 
|---|
| 86 | . . . . S IBTAXX12=$$GET1^DIQ(8932.1,IBNVTXID_",",6)                                ; Get X12 Code. | 
|---|
| 87 | . . . . W !,"   Person Class: ",$P(IBPX,U,6)                                        ; Display Person Class Name. | 
|---|
| 88 | . . . . W $S($G(IBNVTX)=1:" (Primary)",1:" (Secondary)") | 
|---|
| 89 | . . . . W !,"  PROVIDER TYPE: ",$P(IBPX,U)                                          ; Display Provider Type. | 
|---|
| 90 | . . . . W !," CLASSIFICATION: ",$P(IBPX,U,2)                                        ; Display Classification. | 
|---|
| 91 | . . . . W !," SPECIALIZATION: ",$P(IBPX,U,3)                                        ; Display Specialization. | 
|---|
| 92 | . . . . W !,"       TAXONOMY: ",IBTAXX12,$S(IBTAXX12'="":" ("_IBNVTXID_")",1:""),!  ; Display X12 Code and Internal Code (IEN). | 
|---|
| 93 | . I 'IBNVFLG W !,"   Person Class: None Active on ",$$FMTE^XLFDT(IBDT,2),! | 
|---|
| 94 | . W $TR($J(" ",IOM)," ","-"),! | 
|---|
| 95 | Q | 
|---|