- IBTOUR5 ;ALB/AAS - CLAIMS TRACKING UR/ACTIVITY REPORT ; 14-FEB-94
- ;;Version 2.0 ; INTEGRATED BILLING ;; 21-MAR-94
- ;
- % ;
- HSUB ; -- compute subtotals for hospital reviews
- S IBTRN="" F S IBTRN=$O(^TMP($J,"IBTOUR4",IBTRN)) Q:'IBTRN D HSUB1
- Q
- ;
- HSUB1 ; -- compute subtotals for 1 review
- S (IBDAYS,IBDAYN,IBPREV)=0,IBADM=""
- S IBCNT(40)=IBCNT(40)+1 ; cases reviewed
- S IBTRND=$G(^IBT(356,+IBTRN,0)),DGPM=$P(IBTRND,"^",5)
- I $P(IBTRND,"^",6)<IBBDT S IBPREV=1 S IBCNT(42)=IBCNT(42)+1 ;previous case
- S IBCLOSE=$$HCLOSE(DGPM,IBTRN)
- I 'IBPREV,'IBCLOSE S IBCNT(41)=IBCNT(41)+1 ; NEW case still open
- I IBPREV,'IBCLOSE S IBCNT(43)=IBCNT(43)+1 ; Old case still open
- I $P(IBTRND,"^",25) S IBCNT(44)=IBCNT(44)+1
- I $P(IBTRND,"^",26) S IBCNT(45)=IBCNT(45)+1,IBCNT(45,$P(IBTRND,"^",26))=IBCNT(45,$P(IBTRND,"^",26))+1
- I $P(IBTRND,"^",27) S IBCNT(46)=IBCNT(46)+1 ; local cases
- S IBTRV="" F S IBTRV=$O(^IBT(356.1,"C",IBTRN,IBTRV)) Q:'IBTRV D
- .S IBTRVD=$G(^IBT(356.1,+IBTRV,0))
- .S (IBP1,IBP2,IBP3,IBP4)=0
- .I $P(IBTRVD,"^",21)'=10 Q ; review must be complete
- .I +IBTRVD<IBBDT!(+IBTRVD>IBEDT) Q ; review date out of range
- .S IBSPEC=$P($G(^DIC(45.7,+$P(IBTRVD,"^",7),0)),"^")
- .S IBCNT(48)=IBCNT(48)+1 ; count of days
- .I $P(IBTRVD,"^",3)<2 D
- ..S MET=$O(^IBT(356.1,+IBTRV,12,0)) ; >0 means not met
- ..I MET S IBCNT(50)=IBCNT(50)+1,IBCNT(51)=IBCNT(51)+1,(IBP2,IBP4)=1,IBADM=0,IBDAYN=IBDAYN+1
- ..I 'MET S IBCNT(49)=IBCNT(49)+1,IBCNT(47)=IBCNT(47)+1,(IBP1,IBP3)=1,IBADM=1,IBDAYS=IBDAYS+1
- .I $P(IBTRVD,"^",3)>1 D
- ..S MET=$O(^IBT(356.1,+IBTRV,13,0))
- ..I MET S IBCNT(50)=IBCNT(50)+1,IBP4=1,IBDAYN=IBDAYN+1
- ..I 'MET S IBCNT(49)=IBCNT(49)+1,IBP3=1,IBDAYS=IBDAYS+1
- .D HSET1^IBTOUR2
- D HSET2^IBTOUR2
- Q
- ;
- HCLOSE(DGPM,IBTRN) ; -- is case closed
- N IBI,IBJ,IBCLOSE
- S IBCLOSE=0
- S IBTRND=$G(^IBT(356,+IBTRN,0))
- I $P($G(^DGPM(+DGPM,0)),"^",17) S IBCLOSE=1 G HCLOSEQ ; - discharged
- I '$P(IBTRND,"^",25),'$P(IBTRND,"^",26),'$P(IBTRND,"^",27) S IBCLOSE=1 G HCLOSEQ ; ur no longer required
- ;
- ; -- see if any reviews are still pending or if is a discharge date
- S IBCLOSE=1,IBI=0 F S IBI=$O(^IBT(356.1,"C",IBTRN,IBI)) Q:'IBI D Q:'IBCLOSE
- .I $P(^IBT(356.1,IBI,0),"^",20)>IBEDT S IBCLOSE=0 Q
- ;
- HCLOSEQ Q IBCLOSE
- ;
- SUBHDR ; -- sub header for detailed listings from ibtour4
- Q:IBHOW="P"
- W !,?15,$S(IBHOW="S":"Specialty: ",1:"Reviewer: "),IBH
- Q
- SSUBHDR ; -- sub sub header for detailed listings from ibtour4
- Q:IBHOW'="R"
- W !,?18,"Type Review: ",IBI
- Q
- --- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HIBTOUR5 2507 printed Feb 18, 2025@23:54:01 Page 2
- IBTOUR5 ;ALB/AAS - CLAIMS TRACKING UR/ACTIVITY REPORT ; 14-FEB-94
- +1 ;;Version 2.0 ; INTEGRATED BILLING ;; 21-MAR-94
- +2 ;
- % ;
- HSUB ; -- compute subtotals for hospital reviews
- +1 SET IBTRN=""
- FOR
- SET IBTRN=$ORDER(^TMP($JOB,"IBTOUR4",IBTRN))
- if 'IBTRN
- QUIT
- DO HSUB1
- +2 QUIT
- +3 ;
- HSUB1 ; -- compute subtotals for 1 review
- +1 SET (IBDAYS,IBDAYN,IBPREV)=0
- SET IBADM=""
- +2 ; cases reviewed
- SET IBCNT(40)=IBCNT(40)+1
- +3 SET IBTRND=$GET(^IBT(356,+IBTRN,0))
- SET DGPM=$PIECE(IBTRND,"^",5)
- +4 ;previous case
- IF $PIECE(IBTRND,"^",6)<IBBDT
- SET IBPREV=1
- SET IBCNT(42)=IBCNT(42)+1
- +5 SET IBCLOSE=$$HCLOSE(DGPM,IBTRN)
- +6 ; NEW case still open
- IF 'IBPREV
- IF 'IBCLOSE
- SET IBCNT(41)=IBCNT(41)+1
- +7 ; Old case still open
- IF IBPREV
- IF 'IBCLOSE
- SET IBCNT(43)=IBCNT(43)+1
- +8 IF $PIECE(IBTRND,"^",25)
- SET IBCNT(44)=IBCNT(44)+1
- +9 IF $PIECE(IBTRND,"^",26)
- SET IBCNT(45)=IBCNT(45)+1
- SET IBCNT(45,$PIECE(IBTRND,"^",26))=IBCNT(45,$PIECE(IBTRND,"^",26))+1
- +10 ; local cases
- IF $PIECE(IBTRND,"^",27)
- SET IBCNT(46)=IBCNT(46)+1
- +11 SET IBTRV=""
- FOR
- SET IBTRV=$ORDER(^IBT(356.1,"C",IBTRN,IBTRV))
- if 'IBTRV
- QUIT
- Begin DoDot:1
- +12 SET IBTRVD=$GET(^IBT(356.1,+IBTRV,0))
- +13 SET (IBP1,IBP2,IBP3,IBP4)=0
- +14 ; review must be complete
- IF $PIECE(IBTRVD,"^",21)'=10
- QUIT
- +15 ; review date out of range
- IF +IBTRVD<IBBDT!(+IBTRVD>IBEDT)
- QUIT
- +16 SET IBSPEC=$PIECE($GET(^DIC(45.7,+$PIECE(IBTRVD,"^",7),0)),"^")
- +17 ; count of days
- SET IBCNT(48)=IBCNT(48)+1
- +18 IF $PIECE(IBTRVD,"^",3)<2
- Begin DoDot:2
- +19 ; >0 means not met
- SET MET=$ORDER(^IBT(356.1,+IBTRV,12,0))
- +20 IF MET
- SET IBCNT(50)=IBCNT(50)+1
- SET IBCNT(51)=IBCNT(51)+1
- SET (IBP2,IBP4)=1
- SET IBADM=0
- SET IBDAYN=IBDAYN+1
- +21 IF 'MET
- SET IBCNT(49)=IBCNT(49)+1
- SET IBCNT(47)=IBCNT(47)+1
- SET (IBP1,IBP3)=1
- SET IBADM=1
- SET IBDAYS=IBDAYS+1
- End DoDot:2
- +22 IF $PIECE(IBTRVD,"^",3)>1
- Begin DoDot:2
- +23 SET MET=$ORDER(^IBT(356.1,+IBTRV,13,0))
- +24 IF MET
- SET IBCNT(50)=IBCNT(50)+1
- SET IBP4=1
- SET IBDAYN=IBDAYN+1
- +25 IF 'MET
- SET IBCNT(49)=IBCNT(49)+1
- SET IBP3=1
- SET IBDAYS=IBDAYS+1
- End DoDot:2
- +26 DO HSET1^IBTOUR2
- End DoDot:1
- +27 DO HSET2^IBTOUR2
- +28 QUIT
- +29 ;
- HCLOSE(DGPM,IBTRN) ; -- is case closed
- +1 NEW IBI,IBJ,IBCLOSE
- +2 SET IBCLOSE=0
- +3 SET IBTRND=$GET(^IBT(356,+IBTRN,0))
- +4 ; - discharged
- IF $PIECE($GET(^DGPM(+DGPM,0)),"^",17)
- SET IBCLOSE=1
- GOTO HCLOSEQ
- +5 ; ur no longer required
- IF '$PIECE(IBTRND,"^",25)
- IF '$PIECE(IBTRND,"^",26)
- IF '$PIECE(IBTRND,"^",27)
- SET IBCLOSE=1
- GOTO HCLOSEQ
- +6 ;
- +7 ; -- see if any reviews are still pending or if is a discharge date
- +8 SET IBCLOSE=1
- SET IBI=0
- FOR
- SET IBI=$ORDER(^IBT(356.1,"C",IBTRN,IBI))
- if 'IBI
- QUIT
- Begin DoDot:1
- +9 IF $PIECE(^IBT(356.1,IBI,0),"^",20)>IBEDT
- SET IBCLOSE=0
- QUIT
- End DoDot:1
- if 'IBCLOSE
- QUIT
- +10 ;
- HCLOSEQ QUIT IBCLOSE
- +1 ;
- SUBHDR ; -- sub header for detailed listings from ibtour4
- +1 if IBHOW="P"
- QUIT
- +2 WRITE !,?15,$SELECT(IBHOW="S":"Specialty: ",1:"Reviewer: "),IBH
- +3 QUIT
- SSUBHDR ; -- sub sub header for detailed listings from ibtour4
- +1 if IBHOW'="R"
- QUIT
- +2 WRITE !,?18,"Type Review: ",IBI
- +3 QUIT