BMCRR51 ; IHS/PHXAO/TMJ - PROCESS REFERRAL LIST ;
;;4.0;REFERRED CARE INFO SYSTEM;**9**;JAN 09, 2006;Build 101
;IHS/ITSC/FCJ ADDED TEST TO SORT BY PAT NAME
;
START ;
S (BMCBT,BMCBTH)=$H,BMCJOB=$J,BMCRCNT=0
D PROCESS,END
Q
;
PROCESS ;
S BMCREF=0 F S BMCREF=$O(^BMCREF(BMCREF)) Q:BMCREF'=+BMCREF D PROC
Q
;
END ;
S BMCET=$H
Q
PROC ;
S BMCRREC=^BMCREF(BMCREF,0),DFN=$P(BMCRREC,U,3)
Q:$P(BMCRREC,U,4)="N"
Q:$P(BMCRREC,U,14)'="I"
;Q:$P(BMCRREC,U,15)'="A" ;QUIT IF NOT ACTIVE ;BMC*4.0*9 IHS.OIT.FCJ
Q:($P(BMCRREC,U,15)="C1")!($P(BMCRREC,U,15)="X") ;QUIT IF NOT ACTIVE OR APPROVED ;BMC*4.0*9 IHS.OIT.FCJ
Q:$$AVDOS^BMCRLU(BMCREF,"I")="" ;QUIT IF NO EST OR ACTUAL DOS
Q:$$AVDOS^BMCRLU(BMCREF,"I")>DT ;QUIT IF DOS IS AFTER TODAY
I $$AVEOS^BMCRLU(BMCREF,"I")]"",$$AVEOS^BMCRLU(BMCREF,"I")<DT
I $$VAL^XBDIQ1(90001,BMCREF,1108)]"" Q ;quit if discharge date exists
S BMCSORT=""
D @BMCSTYPE
S:BMCSORT="" BMCSORT="??"
I BMCSTYPA=1 S ^XTMP("BMCRR5",BMCJOB,BMCBTH,"DATA HITS",BMCSORT,$P(^DPT(DFN,0),U),BMCREF)="",BMCRCNT=BMCRCNT+1 Q
S ^XTMP("BMCRR5",BMCJOB,BMCBTH,"DATA HITS",BMCSORT,BMCREF)="",BMCRCNT=BMCRCNT+1
Q
;
F ;sort by facility
S BMCSORT=$$FACREF^BMCRLU(BMCREF)
Q
P ;sort by patient name
S BMCSORT=$P(^DPT(DFN,0),U)
Q
C ;sort by case manager
S BMCSORT=$$CASEMAN^BMCRLU(BMCREF)
Q
BMCRR51 ; IHS/PHXAO/TMJ - PROCESS REFERRAL LIST ;
+1 ;;4.0;REFERRED CARE INFO SYSTEM;**9**;JAN 09, 2006;Build 101
+2 ;IHS/ITSC/FCJ ADDED TEST TO SORT BY PAT NAME
+3 ;
START ;
+1 SET (BMCBT,BMCBTH)=$HOROLOG
SET BMCJOB=$JOB
SET BMCRCNT=0
+2 DO PROCESS
DO END
+3 QUIT
+4 ;
PROCESS ;
+1 SET BMCREF=0
FOR
SET BMCREF=$ORDER(^BMCREF(BMCREF))
IF BMCREF'=+BMCREF
QUIT
DO PROC
+2 QUIT
+3 ;
END ;
+1 SET BMCET=$HOROLOG
+2 QUIT
PROC ;
+1 SET BMCRREC=^BMCREF(BMCREF,0)
SET DFN=$PIECE(BMCRREC,U,3)
+2 IF $PIECE(BMCRREC,U,4)="N"
QUIT
+3 IF $PIECE(BMCRREC,U,14)'="I"
QUIT
+4 ;Q:$P(BMCRREC,U,15)'="A" ;QUIT IF NOT ACTIVE ;BMC*4.0*9 IHS.OIT.FCJ
+5 ;QUIT IF NOT ACTIVE OR APPROVED ;BMC*4.0*9 IHS.OIT.FCJ
IF ($PIECE(BMCRREC,U,15)="C1")!($PIECE(BMCRREC,U,15)="X")
QUIT
+6 ;QUIT IF NO EST OR ACTUAL DOS
IF $$AVDOS^BMCRLU(BMCREF,"I")=""
QUIT
+7 ;QUIT IF DOS IS AFTER TODAY
IF $$AVDOS^BMCRLU(BMCREF,"I")>DT
QUIT
+8 IF $$AVEOS^BMCRLU(BMCREF,"I")]""
IF $$AVEOS^BMCRLU(BMCREF,"I")<DT
+9 ;quit if discharge date exists
IF $$VAL^XBDIQ1(90001,BMCREF,1108)]""
QUIT
+10 SET BMCSORT=""
+11 DO @BMCSTYPE
+12 IF BMCSORT=""
SET BMCSORT="??"
+13 IF BMCSTYPA=1
SET ^XTMP("BMCRR5",BMCJOB,BMCBTH,"DATA HITS",BMCSORT,$PIECE(^DPT(DFN,0),U),BMCREF)=""
SET BMCRCNT=BMCRCNT+1
QUIT
+14 SET ^XTMP("BMCRR5",BMCJOB,BMCBTH,"DATA HITS",BMCSORT,BMCREF)=""
SET BMCRCNT=BMCRCNT+1
+15 QUIT
+16 ;
F ;sort by facility
+1 SET BMCSORT=$$FACREF^BMCRLU(BMCREF)
+2 QUIT
P ;sort by patient name
+1 SET BMCSORT=$PIECE(^DPT(DFN,0),U)
+2 QUIT
C ;sort by case manager
+1 SET BMCSORT=$$CASEMAN^BMCRLU(BMCREF)
+2 QUIT