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

IBTRVD1.m

Go to the documentation of this file.
IBTRVD1	;ALB/AAS - CLAIMS TRACKING REVIEW EDIT ; 06-JUL-93
	;;Version 2.0 ; INTEGRATED BILLING ;; 21-MAR-94
	;;Per VHA Directive 10-93-142, this routine should not be modified.
	;
%	G ^IBTRV
	;
QE	; -- Review Criteria edit
	N IBXX,VALMY,DA,DR,DIC,DIE
	D QE1^IBTRV1
	D BLD^IBTRVD
	S VALMBCK="R"
	Q
	;
NX(IBTMPNM,BLD)	; -- edit next template
	N IBXX,VALMY,IBTRC
	D EN^VALM(IBTMPNM)
	I '$D(IBFASTXT),'$G(BLD) D BLD^IBTRVD
	S VALMBCK="R"
	Q
	;
EDIT(DR,BLD)	; -- edit entry point for claims tracking reviews
	; -- Input   IBTEMP = template name or dr string
	;               BLD = any non-zero value if calling routine is doing own
	;                      rebuild
	;
	N IBDIF,DA,DIC,DIE,DIR,X,Y
	D FULL^VALM1 W !
	L +^IBT(356.1,+IBTRV):5 I '$T D LOCKED^IBTRCD1 G EDITQ
	D SAVE
	S DIE="^IBT(356.1,",DA=IBTRV
	D ^DIE K DA,DR,DIC,DIE
	D COMP
	I '$D(IBCON) D CON K IBCON
	I IBDIF=1 D UPDATE,BLD^IBTRVD:'$G(BLD)
	L -^IBT(356.1,+IBTRN)
EDITQ	K ^TMP($J,"IBT")
	S VALMBCK="R"
	Q
	;
SAVE	; -- Save the global before editing
	K ^TMP($J,"IBT")
	S ^TMP($J,"IBT",356.1,IBTRV,0)=$G(^IBT(356.1,IBTRV,0))
	S ^TMP($J,"IBT",356.1,IBTRV,1)=$G(^IBT(356.1,IBTRV,1))
	S ^TMP($J,"IBT",356.1,IBTRV,11,0)=$G(^IBT(356.1,IBTRV,11,0))
	Q
	;
COMP	; -- Compare before editing with globals
	S IBDIF=0
	I $G(^IBT(356.1,IBTRV,0))'=$G(^TMP($J,"IBT",356.1,IBTRV,0)) S IBDIF=1 Q
	I $G(^IBT(356.1,IBTRV,1))'=$G(^TMP($J,"IBT",356.1,IBTRV,1)) S IBDIF=1 Q
	I $G(^IBT(356.1,IBTRV,11,0))'=$G(^TMP($J,"IBT",356.1,IBTRV,11,0)) S IBDIF=1 Q
	Q
	;
UPDATE	; -- enter date and user if editing has taken place
	;    entry locked by edit, locks not needed here
	S DIE="^IBT(356.1,",DA=IBTRV
	S DR="1.03///NOW;1.04////"_DUZ
	D ^DIE K DA,DR,DIC,DIE
	Q
	;
CON	; -- consistency checker for hospital reviews
	N I,J,X,Y,DA,DR,DIC,DIE,IBI,IBTRTP,IBDEL
	S IBCON=1
	S IBTRTP=$P($G(^IBE(356.11,+$P($G(^IBT(356.1,IBTRV,0)),"^",22),0)),"^",2)
	; -- if admission review
	I IBTRTP=15 D
	.S X=$G(^IBT(356.1,IBTRV,0))
	.I '$P(X,"^",4),'$P(X,"^",5),'$P(X,"^",6),'$O(^IBT(356.1,IBTRV,12,0)) W !!,*7,"Warning: Admission Criteria does NOT appear to be met but Reason for",!,"Non Acute Admission Missing." D EDIT("12",1)
	.I $P(X,"^",4)!($P(X,"^",5))!($P(X,"^",6)) I $O(^IBT(356.1,IBTRV,12,0)) W !!,*7,"Warning: Admission Criteria appears to be met but has Reason for ",!,"Non Acute Admission." D EDIT("12",1)
	.Q
	; -- if cont. stay review
	I IBTRTP=30 D
	.S X=$G(^IBT(356.1,IBTRV,0))
	.I '$P(X,"^",4),'$P(X,"^",5),$P(X,"^",12),'$O(^IBT(356.1,IBTRV,13,0)) W !!,*7,"Warning: Acute Care Criteria does NOT appear to be met but Reason for",!,"Non Acute Days Missing." D EDIT(13,1)
	.I $P(X,"^",4)!($P(X,"^",5)) I $O(^IBT(356.1,IBTRV,13,0)) W !!,*7,"Warning: Acute Care Criteria appears to be met but has Reason for ",!,"Non Acute Days." D EDIT(13,1)
	.Q
	; -- check Next Review Dates
	S IBI=0 F  S IBI=$O(^IBT(356.1,"C",IBTRN,IBI)) Q:'IBI  I IBI'=IBTRV D
	.I $P($G(^IBT(356.1,IBI,0)),"^",20) S IBI(IBI)=""
	.Q
	I $O(IBI(0)) D ASKDEL I IBDEL D
	.I $P(^IBT(356.1,IBTRV,0),U,20) D
	..W !,"   There are other reviews for this admission with a next review date"
	..W !,"   specified.  Generally, only the last review for an admission should"
	..W !,"   have a next review date.  Please check the reviews for this case and"
	..W !,"   delete all unnecessary 'next review dates'."
	..H 3 Q
	.I $O(IBI(+$O(IBI(0)))) D
	.;S IBI=0 F  S IBI=$O(IBI(IBI)) Q:'IBI  S DA=IBI,DR=".2///@",DIE="^IBT(356.1," D ^DIE
	.;W !,"Next Review Dates have all been deleted, except for this review"
	.Q
	Q
	;
ASKDEL	; -- ask if okay to delete next review dates
	S IBDEL=1
	Q
	;
IA(IBTRV,BLD)	; -- Insurance action
	; -- add/edit communications in bkgrnd for a review
	;    quick edit a communications entry.
	;
	I '$G(BLD) D BLD^IBTRVD
	S VALMBCK="R"
	Q