- 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