[613] | 1 | IBAMTS ;ALB/CPM - APPOINTMENT EVENT DRIVER INTERFACE ;20-JUL-93
|
---|
| 2 | ;;2.0;INTEGRATED BILLING;**52,115,132,153,164,156,171,247,312,341,339**;21-MAR-94;Build 2
|
---|
| 3 | ;;Per VHA Directive 2004-038, this routine should not be modified.
|
---|
| 4 | ;
|
---|
| 5 | EN ; Main interface entry point.
|
---|
| 6 | ;
|
---|
| 7 | N IBSWINFO S IBSWINFO=$$SWSTAT^IBBAPI() ;IB*2.0*312
|
---|
| 8 | I '$G(DUZ) D DUZ^XUP(.5) ;IB*2.0*341 Setting of DUZ covered by IA 4129
|
---|
| 9 | ;
|
---|
| 10 | S IBJOB=5,IBWHER="",IBDUZ=DUZ,IBY=1
|
---|
| 11 | ; Do Transfer Pricing
|
---|
| 12 | I '+IBSWINFO D ^IBATEO ;IB*2.0*312
|
---|
| 13 | ; Check Encounter Related to LTC
|
---|
| 14 | N IBALTC D EN^IBAECO
|
---|
| 15 | I '$$BILST^DGMTUB(DFN) G ENQ ; never Means Test billable
|
---|
| 16 | I '$$CHECK^IBECEAU(0) D ^IBAERR1 G ENQ ; can't set vital parameters
|
---|
| 17 | ;
|
---|
| 18 | ; - process all parent outpatient encounters
|
---|
| 19 | S IBORG=0 F S IBORG=$O(^TMP("SDEVT",$J,SDHDL,IBORG)) Q:'IBORG D
|
---|
| 20 | .S IBOE=0 F S IBOE=$O(^TMP("SDEVT",$J,SDHDL,IBORG,"SDOE",IBOE)) Q:'IBOE S IBEVT=$G(^(IBOE,0,"AFTER")),IBEV0=$G(^("BEFORE")) D
|
---|
| 21 | ..;
|
---|
| 22 | ..S IBDT=$S(IBEVT:+IBEVT,1:+IBEV0),IBDAT=$P(IBDT,".")
|
---|
| 23 | ..; Do NOT PROCESS on VistA if IBDAT>=Switch Eff Date ;CCR-930
|
---|
| 24 | ..I +IBSWINFO,(IBDAT+1)>$P(IBSWINFO,"^",2) Q ;IB*2.0*312
|
---|
| 25 | ..;
|
---|
| 26 | ..S IBAPTY=$S(IBEVT:$P(IBEVT,"^",10),1:$P(IBEV0,"^",10))
|
---|
| 27 | ..S IBBILLED=$$BFO^IBECEAU(DFN,IBDAT),IBY=1
|
---|
| 28 | ..;
|
---|
| 29 | ..; - if C&P encounter, cancel charges for the day and quit
|
---|
| 30 | ..I IBAPTY=1!(IBALTC) D:IBBILLED Q
|
---|
| 31 | ...S IBCRES=+$O(^IBE(350.3,"B",$S(IBALTC:"BILLED LTC CHARGE",1:"COMP & PENSION VISIT RECORDED"),0))
|
---|
| 32 | ...S:'IBCRES IBCRES=23 S IBWHER=""
|
---|
| 33 | ...D CANCH^IBECEAU4(IBBILLED,IBCRES,0)
|
---|
| 34 | ..;
|
---|
| 35 | ..; - quit if there are any C&P encounters on the visit date
|
---|
| 36 | ..Q:$$CNP^IBECEAU(DFN,IBDAT)
|
---|
| 37 | ..;
|
---|
| 38 | ..; - quit if there are any LTC encounters on the visit date
|
---|
| 39 | ..Q:$$LTCENC^IBAECU(DFN,IBDAT)
|
---|
| 40 | ..;
|
---|
| 41 | ..; - don't process child events
|
---|
| 42 | ..I IBEVT]"" Q:$P(IBEVT,"^",6)
|
---|
| 43 | ..I IBEVT="",IBEV0]"" Q:$P(IBEV0,"^",6)
|
---|
| 44 | ..;
|
---|
| 45 | ..; - get statuses
|
---|
| 46 | ..S IBAST=+$P(IBEVT,"^",12),IBBST=+$P(IBEV0,"^",12)
|
---|
| 47 | ..;
|
---|
| 48 | ..; - do either NEW or UPDATED processing
|
---|
| 49 | ..I IBAST=2,IBBST'=2 D NEW^IBAMTS1 Q
|
---|
| 50 | ..D UPD^IBAMTS2
|
---|
| 51 | ;
|
---|
| 52 | ENQ K IBJOB,IBWHER,IBORG,IBOE,IBEVT,IBEV0,IBAST,IBBST,IBDUZ,IBY
|
---|
| 53 | K IBDT,IBDAT,IBAPTY,IBBILLED,IBSERV,IBSITE,IBFAC,IBCRES,IBRTED
|
---|
| 54 | Q
|
---|
| 55 | ;
|
---|
| 56 | BULL ; Send bulletin when classified patients are billed stops which
|
---|
| 57 | ; are exempt from the classification process.
|
---|
| 58 | N IBT,IBC,IBPT,IBDUZ,IBX S IBPT=$$PT^IBEFUNC(DFN),IBX=$$CLTY
|
---|
| 59 | S XMSUB="CHARGE FOR STOP CODE EXEMPT FROM CLASSIFICATION"
|
---|
| 60 | S IBT(1)="The following patient, who "_$S(IBX="SC":"has a service connected disability,",IBX="CV":"is Combat Veteran",1:"has claimed exposure to "_IBX_",")
|
---|
| 61 | S IBT(2)="was billed the Means Test outpatient copay for a stop code which is"
|
---|
| 62 | S IBT(3)="exempt from classification:"
|
---|
| 63 | S IBT(4)=" " S IBC=4
|
---|
| 64 | S IBDUZ=DUZ D PAT^IBAERR1
|
---|
| 65 | S Y=IBDAT D DD^%DT
|
---|
| 66 | S IBC=IBC+1,IBT(IBC)="Stop Date: "_Y
|
---|
| 67 | S IBC=IBC+1,IBT(IBC)="Stop Code: "_$P($G(^DIC(40.7,+$P(IBEVT,"^",3),0)),"^")
|
---|
| 68 | S IBC=IBC+1,IBT(IBC)=" "
|
---|
| 69 | S IBC=IBC+1,IBT(IBC)="Please check this patient's medical record to determine if the care provided"
|
---|
| 70 | S IBC=IBC+1,IBT(IBC)="was related to the "_$S(IBX="SC":"SC disability",IBX="CV":"Combat Veteran status",1:"claimed exposure")_", and, if related, cancel the charge."
|
---|
| 71 | D MAIL^IBAERR1
|
---|
| 72 | K X,Y,XMSUB,XMY,XMTEXT,XMDUZ
|
---|
| 73 | Q
|
---|
| 74 | ;
|
---|
| 75 | CLTY() ; Return the classification type
|
---|
| 76 | N IBARR,Y D CL^SDCO21(DFN,IBDAT,"",.IBARR) S Y=""
|
---|
| 77 | I $D(IBARR(3)) S Y="SC" G CLTYQ
|
---|
| 78 | I $D(IBARR(7)),+$$CVEDT^IBACV(DFN,IBDAT) S Y="CV" G CLTYQ
|
---|
| 79 | I $D(IBARR(1)) S Y="Agent Orange" G CLTYQ
|
---|
| 80 | I $D(IBARR(2)) S Y="Ionizing Radiation" G CLTYQ
|
---|
| 81 | I $D(IBARR(4)) S Y="Southwest Asia" G CLTYQ
|
---|
| 82 | I $D(IBARR(8)) S Y="Project 112/SHAD" G CLTYQ
|
---|
| 83 | I $D(IBARR(5)) S Y="Military Sexual Trauma" G CLTYQ
|
---|
| 84 | I $D(IBARR(6)) S Y="Head/Neck Cancer" G CLTYQ
|
---|
| 85 | CLTYQ Q Y
|
---|