| [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 | 
|---|