Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: IBTRC3

IBTRC3.m

Go to the documentation of this file.
IBTRC3	;ALB/AAS - CLAIMS TRAINING INS. REV DEFAULTS ; 29-SEP-93
	;;Version 2.0 ; INTEGRATED BILLING ;; 21-MAR-94
	;;Per VHA Directive 10-93-142, this routine should not be modified.
	;
LAST(IBTRN,IBTRC)	; -- return last insurance review
	; -- Input  IBTRN  = claims tracking id
	;           IBTRC  = ins. review being edited (option)
	;                    (if hip is defined for ibtrc will use last review
	;                     for that policy)
	;
	N X,Y,IBHIP,IBQUIT
	S Y="",IBQUIT=0
	I '$G(IBTRN) G LASTQ
	S IBHIP=$P($G(^IBT(356.2,+$G(IBTRC),1)),"^",5)
	S X=-$G(^IBT(356.2,+IBTRC,0)) F  S X=$O(^IBT(356.2,"ATIDT",IBTRN,X)) Q:'X!(IBQUIT)  D
	.S Y="" F  S Y=$O(^IBT(356.2,"ATIDT",IBTRN,X,Y)) Q:'Y!('IBHIP)  D  Q:IBQUIT
	..I $P($G(^IBT(356.2,+Y,1)),"^",5)=IBHIP S IBQUIT=1 Q
LASTQ	Q $S(+Y<1:"",Y:Y,1:"")
	;
HIP(IBTRC)	; -- compute default health insurance policy for claims tracking
	; -- called by trigger on patient field (.05) of file 356.2
	; -- output pointer to subfile (2.312)^insurnace co name
	N X,IBDD,IBINDT,DFN
	S X=""
	S DFN=$P($G(^IBT(356.2,+$G(IBTRC),0)),"^",5)
	G:'DFN HIPQ
	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)
	D ALL^IBCNS1(DFN,"IBDD",1,IBINDT)
	I $G(IBDD(0))=1 S X=+$O(IBDD(0))
	;
	; -- if more than one look for primary
	I 'X,$G(IBDD(0))>1 D
	.S IBX=0
	.F  S IBX=$O(IBDD(IBX)) Q:'IBX  I $P($G(IBDD(IBX,0)),"^",20)=1 S X=IBX Q
	I X S X=X_"^"_$P($G(^DIC(36,+$G(IBDD(X,0)),0)),"^")
HIPQ	Q X
	;
HIPD(DA,IBTLST)	; -- compute default health insurance policy from last review
	; -- called from input templates
	;    input da     = current entry being edited
	;          ibtlst = last entry for this review as determine by $$LAST
	;
	N X,DFN
	S X="" I $P($G(^IBT(356.2,DA,1)),"^",5) G HIPDQ
	G:'$G(IBTLST) HIPDQ
	S X=$P($G(^IBT(356.2,+IBTLST,1)),"^",5),DFN=$P(^(0),"^",5)
HIPDQ	Q $S(+X<1:"",1:$P($G(^DIC(36,+$G(^DPT(DFN,.312,X,0)),0)),"^",1))
	;
PC(DA,IBTLST)	; -- compute default person contacted from last review
	; -- called from input templates
	;    input da     = current entry being edited
	;          ibtlst = last entry for this review as determine by $$LAST
	;
	Q $P($G(^IBT(356.2,+$G(IBTLST),0)),"^",6)
	;
MC(DA,IBTLST)	; -- compute default method of contact from last review
	; -- called from input templates
	;    input da     = current entry being edited
	;
	;          ibtlst = last entry for this review as determine by $$LAST
	;
	N X
	S X=$P($G(^IBT(356.2,+$G(IBTLST),0)),"^",17)
	Q $S(+X>0:$$EXPAND^IBTRE(356.2,.17,X),1:"PHONE")
	;
CP(DA,IBTLST)	; -- compute default contact phone number from last review
	; -- called from input templates
	;    input da     = current entry being edited
	;          ibtlst = last entry for this review as determine by $$LAST
	;
	Q $P($G(^IBT(356.2,+$G(IBTLST),0)),"^",7)
	;
AN(DA,IBTLST)	; -- compute default authorization number policy
	; -- called from input templates
	;    input da     = current entry being edited
	;          ibtlst = last entry for this review as determine by $$LAST
	N X
	S X=$P(^IBT(356.2,DA,0),"^",9)
	Q $E($S($L(X):X,1:$P($G(^IBT(356.2,+$G(IBTLST),0)),"^",28)),1,10)
	;
APPEAL	; -- called from IBTRC, needed more room to compute
	;    info if an appeal
	N DAYS S DAYS=""
	S X=$$SETFLD^VALM1($$EXPAND^IBTRE(356.2,.29,$P(IBTRCD,"^",29)),X,"ACTION")
	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)
	S X=$$SETFLD^VALM1($J(DAYS,3),X,"DAYS")
	S X=$$SETFLD^VALM1($$TPE(),X,"TYPE")
	Q
	;
TPE()	; -- add appeal type to type of action
	N X
	S X=$P(IBETYP,"^",3)
	I $P(IBTRCD,"^",23) S X=X_"-"_$S($P(IBTRCD,"^",23)=1:"Clin",$P(IBTRCD,"^",23)=2:"Admin",1:"")
	Q X