| 1 | IBTRC3 ;ALB/AAS - CLAIMS TRAINING INS. REV DEFAULTS ; 29-SEP-93
 | 
|---|
| 2 |  ;;Version 2.0 ; INTEGRATED BILLING ;; 21-MAR-94
 | 
|---|
| 3 |  ;;Per VHA Directive 10-93-142, this routine should not be modified.
 | 
|---|
| 4 |  ;
 | 
|---|
| 5 | LAST(IBTRN,IBTRC) ; -- return last insurance review
 | 
|---|
| 6 |  ; -- Input  IBTRN  = claims tracking id
 | 
|---|
| 7 |  ;           IBTRC  = ins. review being edited (option)
 | 
|---|
| 8 |  ;                    (if hip is defined for ibtrc will use last review
 | 
|---|
| 9 |  ;                     for that policy)
 | 
|---|
| 10 |  ;
 | 
|---|
| 11 |  N X,Y,IBHIP,IBQUIT
 | 
|---|
| 12 |  S Y="",IBQUIT=0
 | 
|---|
| 13 |  I '$G(IBTRN) G LASTQ
 | 
|---|
| 14 |  S IBHIP=$P($G(^IBT(356.2,+$G(IBTRC),1)),"^",5)
 | 
|---|
| 15 |  S X=-$G(^IBT(356.2,+IBTRC,0)) F  S X=$O(^IBT(356.2,"ATIDT",IBTRN,X)) Q:'X!(IBQUIT)  D
 | 
|---|
| 16 |  .S Y="" F  S Y=$O(^IBT(356.2,"ATIDT",IBTRN,X,Y)) Q:'Y!('IBHIP)  D  Q:IBQUIT
 | 
|---|
| 17 |  ..I $P($G(^IBT(356.2,+Y,1)),"^",5)=IBHIP S IBQUIT=1 Q
 | 
|---|
| 18 | LASTQ Q $S(+Y<1:"",Y:Y,1:"")
 | 
|---|
| 19 |  ;
 | 
|---|
| 20 | HIP(IBTRC) ; -- compute default health insurance policy for claims tracking
 | 
|---|
| 21 |  ; -- called by trigger on patient field (.05) of file 356.2
 | 
|---|
| 22 |  ; -- output pointer to subfile (2.312)^insurnace co name
 | 
|---|
| 23 |  N X,IBDD,IBINDT,DFN
 | 
|---|
| 24 |  S X=""
 | 
|---|
| 25 |  S DFN=$P($G(^IBT(356.2,+$G(IBTRC),0)),"^",5)
 | 
|---|
| 26 |  G:'DFN HIPQ
 | 
|---|
| 27 |  S IBINDT=$S($P($G(^IBT(356,+$P($G(^IBT(356.2,+IBTRC,0)),U,2),0)),U,6):$P(^(0),U,6),1:DT)
 | 
|---|
| 28 |  D ALL^IBCNS1(DFN,"IBDD",1,IBINDT)
 | 
|---|
| 29 |  I $G(IBDD(0))=1 S X=+$O(IBDD(0))
 | 
|---|
| 30 |  ;
 | 
|---|
| 31 |  ; -- if more than one look for primary
 | 
|---|
| 32 |  I 'X,$G(IBDD(0))>1 D
 | 
|---|
| 33 |  .S IBX=0
 | 
|---|
| 34 |  .F  S IBX=$O(IBDD(IBX)) Q:'IBX  I $P($G(IBDD(IBX,0)),"^",20)=1 S X=IBX Q
 | 
|---|
| 35 |  I X S X=X_"^"_$P($G(^DIC(36,+$G(IBDD(X,0)),0)),"^")
 | 
|---|
| 36 | HIPQ Q X
 | 
|---|
| 37 |  ;
 | 
|---|
| 38 | HIPD(DA,IBTLST) ; -- compute default health insurance policy from last review
 | 
|---|
| 39 |  ; -- called from input templates
 | 
|---|
| 40 |  ;    input da     = current entry being edited
 | 
|---|
| 41 |  ;          ibtlst = last entry for this review as determine by $$LAST
 | 
|---|
| 42 |  ;
 | 
|---|
| 43 |  N X,DFN
 | 
|---|
| 44 |  S X="" I $P($G(^IBT(356.2,DA,1)),"^",5) G HIPDQ
 | 
|---|
| 45 |  G:'$G(IBTLST) HIPDQ
 | 
|---|
| 46 |  S X=$P($G(^IBT(356.2,+IBTLST,1)),"^",5),DFN=$P(^(0),"^",5)
 | 
|---|
| 47 | HIPDQ Q $S(+X<1:"",1:$P($G(^DIC(36,+$G(^DPT(DFN,.312,X,0)),0)),"^",1))
 | 
|---|
| 48 |  ;
 | 
|---|
| 49 | PC(DA,IBTLST) ; -- compute default person contacted from last review
 | 
|---|
| 50 |  ; -- called from input templates
 | 
|---|
| 51 |  ;    input da     = current entry being edited
 | 
|---|
| 52 |  ;          ibtlst = last entry for this review as determine by $$LAST
 | 
|---|
| 53 |  ;
 | 
|---|
| 54 |  Q $P($G(^IBT(356.2,+$G(IBTLST),0)),"^",6)
 | 
|---|
| 55 |  ;
 | 
|---|
| 56 | MC(DA,IBTLST) ; -- compute default method of contact from last review
 | 
|---|
| 57 |  ; -- called from input templates
 | 
|---|
| 58 |  ;    input da     = current entry being edited
 | 
|---|
| 59 |  ;
 | 
|---|
| 60 |  ;          ibtlst = last entry for this review as determine by $$LAST
 | 
|---|
| 61 |  ;
 | 
|---|
| 62 |  N X
 | 
|---|
| 63 |  S X=$P($G(^IBT(356.2,+$G(IBTLST),0)),"^",17)
 | 
|---|
| 64 |  Q $S(+X>0:$$EXPAND^IBTRE(356.2,.17,X),1:"PHONE")
 | 
|---|
| 65 |  ;
 | 
|---|
| 66 | CP(DA,IBTLST) ; -- compute default contact phone number from last review
 | 
|---|
| 67 |  ; -- called from input templates
 | 
|---|
| 68 |  ;    input da     = current entry being edited
 | 
|---|
| 69 |  ;          ibtlst = last entry for this review as determine by $$LAST
 | 
|---|
| 70 |  ;
 | 
|---|
| 71 |  Q $P($G(^IBT(356.2,+$G(IBTLST),0)),"^",7)
 | 
|---|
| 72 |  ;
 | 
|---|
| 73 | AN(DA,IBTLST) ; -- compute default authorization number policy
 | 
|---|
| 74 |  ; -- called from input templates
 | 
|---|
| 75 |  ;    input da     = current entry being edited
 | 
|---|
| 76 |  ;          ibtlst = last entry for this review as determine by $$LAST
 | 
|---|
| 77 |  N X
 | 
|---|
| 78 |  S X=$P(^IBT(356.2,DA,0),"^",9)
 | 
|---|
| 79 |  Q $E($S($L(X):X,1:$P($G(^IBT(356.2,+$G(IBTLST),0)),"^",28)),1,10)
 | 
|---|
| 80 |  ;
 | 
|---|
| 81 | APPEAL ; -- called from IBTRC, needed more room to compute
 | 
|---|
| 82 |  ;    info if an appeal
 | 
|---|
| 83 |  N DAYS S DAYS=""
 | 
|---|
| 84 |  S X=$$SETFLD^VALM1($$EXPAND^IBTRE(356.2,.29,$P(IBTRCD,"^",29)),X,"ACTION")
 | 
|---|
| 85 |  S DAYS=$P(IBTRCD,"^",25) I $P(IBTRCD,"^",29)=1,$P(IBTRCD,"^",10)=3,$O(^IBT(356.2,+IBTRC,14,0)) S DAYS=$$AP^IBTODD1(IBTRC)
 | 
|---|
| 86 |  S X=$$SETFLD^VALM1($J(DAYS,3),X,"DAYS")
 | 
|---|
| 87 |  S X=$$SETFLD^VALM1($$TPE(),X,"TYPE")
 | 
|---|
| 88 |  Q
 | 
|---|
| 89 |  ;
 | 
|---|
| 90 | TPE() ; -- add appeal type to type of action
 | 
|---|
| 91 |  N X
 | 
|---|
| 92 |  S X=$P(IBETYP,"^",3)
 | 
|---|
| 93 |  I $P(IBTRCD,"^",23) S X=X_"-"_$S($P(IBTRCD,"^",23)=1:"Clin",$P(IBTRCD,"^",23)=2:"Admin",1:"")
 | 
|---|
| 94 |  Q X
 | 
|---|