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

BPCRC1.m

Go to the documentation of this file.
  1. BPCRC1 ; IHS/OIT/MJL - REFERRED CARE GUI RPC ROUTINES ;
  1. ;;1.5;BPC;;MAY 26, 2005
  1. RPRVLIST(BPCRES,BPCX,BPCMAX,BPCMORE,BPCPARAM) ;EP CALL FROM REMOTE PROC: BPC GETRCISPROV
  1. S BPCGUI=1
  1. EN2 ;
  1. S U="^",XWBWRAP=1,BPCCTR=0,BPCSUB=$J,BPCC="",BPCMORE=$G(BPCMORE),BPCGUI=$G(BPCGUI),BPCMAX=$G(BPCMAX),BPCX=$G(BPCX),BPCPARAM=$G(BPCPARAM),BPCLEN=$L(BPCX)
  1. S BPCRES="^BPCRES("_BPCSUB_")",BPCN=""
  1. S:BPCX'="" BPCN=$O(^BMCLPRV("B",BPCX),-1)
  1. S:'BPCMAX BPCMAX=$S(BPCGUI:50,1:1E10)
  1. K ^BPCRES(BPCSUB)
  1. I BPCMORE'="" D MORERPRV,KILL Q
  1. D GETPRV1,KILL
  1. Q
  1. GETPRV1 ;
  1. S BPCFLAG=0 F S BPCN=$O(^BMCLPRV("B",BPCN)) Q:BPCN="" D GETPRV2 Q:BPCFLAG
  1. S ^BPCRES(BPCSUB,0)=BPCCTR
  1. Q
  1. GETPRV2 ;
  1. I BPCX'="",$E(BPCN,1,BPCLEN)'=BPCX S BPCFLAG=1 Q
  1. S BPCIEN="" F S BPCIEN=$O(^BMCLPRV("B",BPCN,BPCIEN)) Q:BPCIEN="" D SETRES Q:BPCFLAG
  1. Q
  1. MORERPRV ;
  1. S BPCFLAG=0,BPCN=$P(BPCMORE,"|",1),BPCIEN=$P(BPCMORE,"|",2) D SETRES Q:BPCFLAG
  1. F S BPCIEN=$O(^BMCLPRV("B",BPCN,BPCIEN)) Q:BPCIEN="" D SETRES Q:BPCFLAG
  1. Q:BPCFLAG
  1. D GETPRV1
  1. Q
  1. CLNLIST(BPCRES,BPCX,BPCMAX,BPCMORE,BPCPARAM) ;EP CALL FROM REMOTE PROC: BPC GETCLINLIST
  1. S BPCGUI=1
  1. EN1 ;
  1. S U="^",XWBWRAP=1,BPCCTR=0,BPCSUB=$J,BPCC="",BPCMORE=$G(BPCMORE),BPCGUI=$G(BPCGUI),BPCMAX=$G(BPCMAX),BPCX=$G(BPCX),BPCPARAM=$G(BPCPARAM),BPCLEN=$L(BPCX)
  1. S BPCRES="^BPCRES("_BPCSUB_")",BPCN=""
  1. S:'BPCMAX BPCMAX=$S(BPCGUI:50,1:1E10)
  1. K ^BPCRES(BPCSUB)
  1. I BPCX'="" I $D(^DIC(40.7,"C",BPCX)) S BPCFLG=0 D GETCLN I BPCFLG D KILL Q
  1. S:BPCX'="" BPCN=$O(^DIC(40.7,"B",BPCX),-1)
  1. I BPCMORE'="" D MORECLN,KILL Q
  1. D GETCLN1,KILL
  1. Q
  1. GETCLN ;
  1. S BPCIEN=$O(^DIC(40.7,"C",BPCX,""))
  1. I BPCIEN S ^BPCRES(BPCSUB,0)=1,^BPCRES(BPCSUB,1)=$P($G(^DIC(40.7,BPCIEN,0)),U,1)_U_BPCIEN,BPCFLG=1
  1. Q
  1. GETCLN1 ;
  1. S BPCFLAG=0 F S BPCN=$O(^DIC(40.7,"B",BPCN)) Q:BPCN="" D GETCLN2 Q:BPCFLAG
  1. S ^BPCRES(BPCSUB,0)=BPCCTR
  1. Q
  1. GETCLN2 ;
  1. I BPCX'="",$E(BPCN,1,BPCLEN)'=BPCX S BPCFLAG=1 Q
  1. S BPCIEN="" F S BPCIEN=$O(^DIC(40.7,"B",BPCN,BPCIEN)) Q:BPCIEN="" D SETRES Q:BPCFLAG
  1. Q
  1. SETRES ;
  1. I BPCCTR=BPCMAX D SETMORE S BPCFLAG=1 Q
  1. S BPCCTR=BPCCTR+1,^BPCRES(BPCSUB,BPCCTR)=BPCN_U_BPCIEN
  1. Q
  1. MORECLN ;
  1. S BPCFLAG=0,BPCN=$P(BPCMORE,"|",1),BPCIEN=$P(BPCMORE,"|",2) D SETRES Q:BPCFLAG
  1. F S BPCIEN=$O(^DIC(40.7,"B",BPCN,BPCIEN)) Q:BPCIEN="" D SETRES Q:BPCFLAG
  1. Q:BPCFLAG
  1. D GETCLN1
  1. Q
  1. ;
  1. REFLIST(BPCRES,BPCIEN,BPCMAX,BPCMORE,BPCPARAM) ;EP CALL FROM REMOTE PROC: BPC GETREFERRALS
  1. ;POSSIBLE RETURN VALUES
  1. ; Regular String: (DELIMITED BY "^")
  1. ; 1. Referral IEN
  1. ; 2. Referral #
  1. ; 3. Purpose
  1. ; 4. Provider Name
  1. ; 5. Provider IEN
  1. ; 6. Initiated Date (internal)
  1. ; 7. Estimated Service Date (internal)
  1. ; 8. Actual Service Date (internal)
  1. ; (More to be added)
  1. ;More String: (DELIMITED BY "|")
  1. ; 1. "..MORE"
  1. ; 2. Last Referral IEN
  1. ; 3. Patient IEN
  1. ;
  1. S BPCGUI=1
  1. EN ;
  1. S U="^",XWBWRAP=1,BPCCTR=0,BPCSUB=$J,BPCC="",BPCMORE=$G(BPCMORE),BPCGUI=$G(BPCGUI),BPCMAX=$G(BPCMAX),BPCPARAM=$G(BPCPARAM),BPCN=""
  1. S BPCRES="^BPCRES("_BPCSUB_")"
  1. S:'BPCMAX BPCMAX=$S(BPCGUI:50,1:1E10)
  1. K ^BPCRES(BPCSUB)
  1. I BPCIEN="" S ^BPCRES(BPCSUB,0)=-1,^BPCRES(BPCSUB,1)="NO PATIENT IEN SENT WITH REQUEST!" D KILL Q
  1. I BPCMORE'="" D MORE,KILL Q
  1. D GETRES1,KILL
  1. Q
  1. GETRES1 ;
  1. I $D(^BMCREF("D",BPCIEN)) S BPCFLAG=0 F S BPCN=$O(^BMCREF("D",BPCIEN,BPCN),-1) Q:BPCN="" D GETRES2 Q:BPCFLAG
  1. S ^BPCRES(BPCSUB,0)=BPCCTR
  1. Q
  1. GETRES2 ;
  1. I BPCCTR=BPCMAX D SETMORE S BPCFLAG=1 Q
  1. S BPCDTA=^BMCREF(BPCN,0),BPCIDATE=$P(BPCDTA,U,1),BPCRNUM=$P(BPCDTA,U,2),BPCPURP=$P($G(^BMCREF(BPCN,12)),U,1),BPCPIEN=$P(BPCDTA,U,6)
  1. S:BPCPIEN BPCPNAM=$P(^VA(200,BPCPIEN,0),U,1)
  1. I 'BPCPIEN S BPCPNAM="NO PROVIDER INDICATED"
  1. S BPCIDAT=$P(BPCDTA,U,1),BPCDTA=$G(^BMCREF(BPCN,11)),BPCEDAT=$P(BPCDTA,U,5),BPCADAT=$P(BPCDTA,U,6)
  1. S BPCDTA=BPCN_U_BPCRNUM_U_BPCPURP_U_BPCPNAM_U_BPCPIEN_U_BPCIDAT_U_BPCEDAT_U_BPCADAT
  1. S BPCCTR=BPCCTR+1,^BPCRES(BPCSUB,BPCCTR)=BPCDTA
  1. Q
  1. SETMORE ;
  1. S BPCCTR=BPCCTR+1,^BPCRES(BPCSUB,BPCCTR)="..MORE"_U_BPCN_"|"_BPCIEN
  1. Q
  1. MORE ;
  1. S BPCFLAG=0,BPCN=$P(BPCMORE,"|",1),BPCIEN=$P(BPCMORE,"|",2) D GETRES2 Q:BPCFLAG
  1. D GETRES1
  1. Q
  1. KILL ;
  1. K BPCX,BPCMAX,BPCMORE,BPCPARAM,BPCGUI,BPCCTR,BPCSUB,BPCC,BPCLEN,BPCN,BPCFLAG,BPCIEN,BPCFLG,BPCDTA,BPCIDATE,BPCRNUM,BPCPURP,BPCPIEN,BPCPNAM,BPCEDAT,BPCADAT
  1. Q