[613] | 1 | IBJD1 ;ALB/MR - DIAGNOSTIC MEASURES UTILITIES ;16-DEC-00
|
---|
| 2 | ;;2.0;INTEGRATED BILLING;**123,159**;21-MAR-94
|
---|
| 3 | ;
|
---|
| 4 | VA(DFN) ; - Is patient a VA employee?
|
---|
| 5 | ; Input: DFN - Pointer to the Patient file
|
---|
| 6 | ; IBEXCEL - Optional global Variable (Print to an Excel format)
|
---|
| 7 | ; Output: VAEMP - "E" (if IBEXCEL) or "*" - VA employee
|
---|
| 8 | ;
|
---|
| 9 | N ELMD,IEN,SSN,VADM,VAEMP
|
---|
| 10 | S VAEMP="" G:'$G(DFN) VAQ
|
---|
| 11 | D DEM^VADPT S SSN=+$P(VADM(2),"^") G:'SSN VAQ
|
---|
| 12 | S IEN=+$O(^PRSPC("SSN",SSN,0)) G:'IEN VAQ
|
---|
| 13 | I $P($G(^PRSPC(IEN,1)),U,33)'="Y" S VAEMP=$S($G(IBEXCEL):"E",1:"*")
|
---|
| 14 | ;
|
---|
| 15 | VAQ Q VAEMP
|
---|
| 16 | ;
|
---|
| 17 | PYMT(X) ; - Return most recent bill payment.
|
---|
| 18 | ; Input: X=Bill pointer to file #399/#430
|
---|
| 19 | ; Output: Y=Payment date in Fileman format ^ Payment amount
|
---|
| 20 | ;
|
---|
| 21 | N X1,X2,X3,Y S Y="" G:'$G(X) PAYQ
|
---|
| 22 | S X1=9999999
|
---|
| 23 | F S X1=$O(^PRCA(433,"C",X,X1),-1) Q:'X1 D Q:Y
|
---|
| 24 | . S X2=$G(^PRCA(433,X1,0)),X3=$G(^PRCA(433,X1,1))
|
---|
| 25 | . I $P(X2,U,4)'=2 Q ; Not complete.
|
---|
| 26 | . I "^2^34^"'[(U_$P(X3,U,2)_U) Q ; Not a payment.
|
---|
| 27 | . S Y=$S(X3:+X3,1:$P(X3,U,9)\1)_U_+$P(X3,U,5)
|
---|
| 28 | PAYQ Q Y
|
---|
| 29 | ;
|
---|
| 30 | INS(DFN,DTE) ; return the Insurance Company for the Patient on DTE (date)
|
---|
| 31 | ;
|
---|
| 32 | N INS,POL,X,X0,Y
|
---|
| 33 | S INS="",X=0
|
---|
| 34 | F S X=$O(^DPT(DFN,.312,X)) Q:'X I $D(^(X,0)) D
|
---|
| 35 | . S X0=^DPT(DFN,.312,X,0)
|
---|
| 36 | . I '$$CHK^IBCNS1(X0,DTE) Q
|
---|
| 37 | . S POL(0)=$G(POL(0))+1,POL(X,0)=X0
|
---|
| 38 | ;
|
---|
| 39 | I $G(POL(0))<1 G QINS
|
---|
| 40 | I $G(POL(0))=1 S Y=+$O(POL(0))
|
---|
| 41 | I $G(POL(0))>1 S Y=$$COB^IBCNS1(.POL)
|
---|
| 42 | ;
|
---|
| 43 | S INS=$P($G(^DIC(36,+POL(Y,0),0)),"^")
|
---|
| 44 | ;
|
---|
| 45 | QINS Q INS
|
---|
| 46 | ;
|
---|
| 47 | DIV(CLM) ; Returns the Medical Center Division for the Claim
|
---|
| 48 | ; Input: CLM - Pointer to Claim Tracking File (#356)
|
---|
| 49 | ;Output: DIVision for the Claim
|
---|
| 50 | ;
|
---|
| 51 | N ADM,DIV,ENC,PRSC,PRST,X
|
---|
| 52 | ;
|
---|
| 53 | S DIV=0,X=$G(^IBT(356,CLM,0))
|
---|
| 54 | S ENC=+$P(X,"^",4) ; Encounter (Pointer to #409.68)
|
---|
| 55 | S ADM=+$P(X,"^",5) ; Admission (Pointer to #405)
|
---|
| 56 | ;
|
---|
| 57 | ; Inpatient
|
---|
| 58 | I ADM S DIV=+$P($G(^DIC(42,+$P($G(^DGPM(+$G(ADM),0)),U,6),0)),U,11)
|
---|
| 59 | ;
|
---|
| 60 | ; Outpatient
|
---|
| 61 | I 'DIV,ENC S DIV=$P($$SCE^IBSDU(ENC),"^",11)
|
---|
| 62 | ;
|
---|
| 63 | ; If Pharmacy/Prosthetics or no Division found assume Primary Division
|
---|
| 64 | QDIV S:'DIV DIV=$$PRIM^VASITE() S:DIV'>0 DIV=0
|
---|
| 65 | Q DIV
|
---|
| 66 | ;
|
---|
| 67 | CATTYP(IBBCAT) ; - Break down AR Categories into First or Third party
|
---|
| 68 | ;
|
---|
| 69 | N IBFOTP,IBBTYP,IBCATDA0
|
---|
| 70 | S IBFOTP="",IBBTYP=""
|
---|
| 71 | I (IBBCAT>2&(IBBCAT<6))!(IBBCAT>23&(IBBCAT<27)) Q IBFOTP
|
---|
| 72 | I '$D(^PRCA(430.2,IBBCAT,0)) Q IBFOTP
|
---|
| 73 | S IBCATDA0=^PRCA(430.2,IBBCAT,0),IBBTYP=$P(IBCATDA0,"^",6)
|
---|
| 74 | S IBFOTP=$S((IBBTYP="P")!(IBBTYP="C"):"F",1:"T")
|
---|
| 75 | I IBBCAT=15 S IBFOTP="F" ; Exception:Ex-employee is first party
|
---|
| 76 | I IBBCAT=16 S IBFOTP="F" ; Exception:Current Emp. is first party
|
---|
| 77 | Q IBFOTP
|
---|