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

BPCPC2.m

Go to the documentation of this file.
  1. BPCPC2 ; IHS/OIT/MJL - PATIENT CHART GUI ROUTINES ;
  1. ;;1.5;BPC;;MAY 26, 2005
  1. ;
  1. AGENTS(RESULT,BPCAGENT) ;EP CALL FROM REMOTE PROC: BPC GETAGENTS
  1. S U="^",XWBWRAP=1,BPCSUB=$J K ^BPCRES(BPCSUB),^BPCTMP(BPCSUB)
  1. S RESULT="^BPCRES("_BPCSUB_")",BPCAGENT=$G(BPCAGENT),BPCCTR=0,BPCLIST=0
  1. I BPCAGENT="" S ^BPCRES(BPCSUB,0)=-1,^BPCRES(BPCSUB,1)="No Agent Sent!" D KILL Q
  1. I $E(BPCAGENT)="?" S BPCLIST=1,BPCAGENT=$P(BPCAGENT,"?",2) I BPCAGENT="" S ^BPCRES(BPCSUB,0)=-1,^BPCRES(BPCSUB,1)=""""_"?"_""""_" Cannot Be Entered By Itself" D KILL Q
  1. D:'BPCLIST GETAG1
  1. D:BPCLIST GETAG2
  1. D GETRES,KILL
  1. Q
  1. GETAG1 ;
  1. I $D(^GMRD(120.82,"B",BPCAGENT)) D Q:BPCIEN'=""
  1. .S BPCIEN=$O(^GMRD(120.82,"B",BPCAGENT,""))
  1. .S:BPCIEN'="" BPCDTA=^GMRD(120.82,BPCIEN,0),BPCTYPE=$P(BPCDTA,U,2)
  1. .S:BPCIEN'="" ^BPCTMP(BPCSUB,BPCAGENT)=BPCAGENT_U_BPCIEN_"^GMRD(120.82,^GMR ALLERGIES^B"_U_BPCTYPE
  1. I $D(^PS(50.416,"P",BPCAGENT)) D Q:BPCIEN'=""
  1. .S BPCIEN=$O(^PS(50.416,"P",BPCAGENT,""))
  1. .S:BPCIEN'="" ^BPCTMP(BPCSUB,BPCAGENT)=BPCAGENT_U_BPCIEN_"^PS(50.416,^DRUG INGREDIENTS^P^D"
  1. I $D(^PS(50.605,"C",BPCAGENT)) D Q:BPCIEN'=""
  1. .S BPCIEN=$O(^PS(50.605,"C",BPCAGENT,""))
  1. .S:BPCIEN'="" ^BPCTMP(BPCSUB,BPCAGENT)=BPCAGENT_U_BPCIEN_"^PS(50.605,^VA DRUG CLASS^C^D"
  1. I $D(^PSNDF("B",BPCAGENT)) D Q:BPCIEN'=""
  1. .S BPCIEN=$O(^PSNDF("B",BPCAGENT,""))
  1. .S:BPCIEN'="" ^BPCTMP(BPCSUB,BPCAGENT)=BPCAGENT_U_BPCIEN_"^PSNDF(^NATIONAL DRUG^B^D"
  1. I $D(^PSDRUG("B",BPCAGENT)) D Q:BPCIEN'=""
  1. .S BPCIEN=$O(^PSDRUG("B",BPCAGENT,""))
  1. .S:BPCIEN'="" ^BPCTMP(BPCSUB,BPCAGENT)=BPCAGENT_U_BPCIEN_"^PSDRUG(^DRUG^B^D"
  1. Q
  1. GETAG2 ;
  1. S BPCX=$O(^GMRD(120.82,"B",BPCAGENT),-1),BPCFLAG=0
  1. F S BPCX=$O(^GMRD(120.82,"B",BPCX)) Q:BPCX="" D Q:BPCFLAG
  1. .I $E(BPCX,1,$L(BPCAGENT))'=BPCAGENT S BPCFLAG=1 Q
  1. .I '$D(^BPCTMP(BPCSUB,BPCX)) D
  1. ..S BPCIEN=$O(^GMRD(120.82,"B",BPCX,""))
  1. ..S:BPCIEN'="" BPCDTA=^GMRD(120.82,BPCIEN,0),BPCTYPE=$P(BPCDTA,U,2)
  1. ..S:BPCIEN'="" ^BPCTMP(BPCSUB,BPCX)=BPCX_U_BPCIEN_"^GMRD(120.82,^GMR ALLERGIES^B^"_BPCTYPE
  1. S BPCX=$O(^PS(50.416,"P",BPCAGENT),-1),BPCFLAG=0
  1. F S BPCX=$O(^PS(50.416,"P",BPCX)) Q:BPCX="" D Q:BPCFLAG
  1. .I $E(BPCX,1,$L(BPCAGENT))'=BPCAGENT S BPCFLAG=1 Q
  1. .I '$D(^BPCTMP(BPCSUB,BPCX)) D
  1. ..S BPCIEN=$O(^PS(50.416,"P",BPCX,""))
  1. ..S:BPCIEN'="" ^BPCTMP(BPCSUB,BPCX)=BPCX_U_BPCIEN_"^PS(50.416,^DRUG INGREDIENTS^P^D"
  1. S BPCX=$O(^PS(50.605,"C",BPCAGENT),-1),BPCFLAG=0
  1. F S BPCX=$O(^PS(50.605,"C",BPCX)) Q:BPCX="" D Q:BPCFLAG
  1. .I $E(BPCX,1,$L(BPCAGENT))'=BPCAGENT S BPCFLAG=1 Q
  1. .I '$D(^BPCTMP(BPCSUB,BPCX)) D
  1. ..S BPCIEN=$O(^PS(50.605,"C",BPCX,""))
  1. ..S:BPCIEN'="" ^BPCTMP(BPCSUB,BPCX)=BPCX_U_BPCIEN_"^PS(50.605,^VA DRUG CLASS^C^D"
  1. S BPCX=$O(^PSNDF("B",BPCAGENT),-1),BPCFLAG=0
  1. F S BPCX=$O(^PSNDF("B",BPCX)) Q:BPCX="" D Q:BPCFLAG
  1. .I $E(BPCX,1,$L(BPCAGENT))'=BPCAGENT S BPCFLAG=1 Q
  1. .I '$D(^BPCTMP(BPCSUB,BPCX)) D
  1. ..S BPCIEN=$O(^PSNDF("B",BPCX,""))
  1. ..S:BPCIEN'="" ^BPCTMP(BPCSUB,BPCX)=BPCX_U_BPCIEN_"^PSNDF(^NATIONAL DRUG^B"
  1. S BPCX=$O(^PSDRUG("B",BPCAGENT),-1),BPCFLAG=0
  1. F S BPCX=$O(^PSDRUG("B",BPCX)) Q:BPCX="" D Q:BPCFLAG
  1. .I $E(BPCX,1,$L(BPCAGENT))'=BPCAGENT S BPCFLAG=1 Q
  1. .I '$D(^BPCTMP(BPCSUB,BPCX)) D
  1. ..S BPCIEN=$O(^PSDRUG("B",BPCX,""))
  1. ..S:BPCIEN'="" ^BPCTMP(BPCSUB,BPCX)=BPCX_U_BPCIEN_"^PSDRUG(^DRUG^B^D"
  1. Q
  1. GETRES ;
  1. I '$D(^BPCTMP(BPCSUB)) S ^BPCRES(BPCSUB,0)=1,^BPCRES(BPCSUB,1)="NO MATCH" Q
  1. S BPCX="" F S BPCX=$O(^BPCTMP(BPCSUB,BPCX)) Q:BPCX="" D
  1. .S BPCCTR=BPCCTR+1
  1. .S ^BPCRES(BPCSUB,BPCCTR)=^BPCTMP(BPCSUB,BPCX)
  1. S ^BPCRES(BPCSUB,0)=BPCCTR
  1. K ^BPCTMP(BPCSUB)
  1. Q
  1. ;
  1. RELLIST(RESULT,BPCX,BPCMAX,BPCMORE,BPCPARAM) ;EP CALL FROM REMOTE PROC: BPC GETRELIGIONS
  1. S U="^",XWBWRAP=1,BPCSUB=$J K ^BGURES(BPCSUB),RESULT
  1. S RESULT="^BGURES("_BPCSUB_")"
  1. S BPCX=$G(BPCX),BPCMAX=$G(BPCMAX),BPCMORE=$G(BPCMORE),BPCPARAM=$G(BPCPARAM),BPCLEN=$L(BPCX),BPCCTR=0,BPCFLAG=0
  1. S BPCN="" S:BPCX'="" BPCN=$O(^DIC(13,"B",BPCX),-1)
  1. S:'BPCMAX BPCMAX=50
  1. I BPCMORE'="" D MORE I BPCFLAG D KILL Q
  1. D GETREL,KILL
  1. Q
  1. KILL ;
  1. K BPCAGENT,BPCCTR,BPCDTA,BPCFLAG,BPCIEN,BPCLEN,BPCLIST,BPCMAX,BPCMORE,BPCN,BPCPARAM,BPCSUB,BPCTYPE,BPCX
  1. Q
  1. ;
  1. MORE ;
  1. S BPCN=$P(BPCMORE,"|",1),BPCIEN=$P(BPCMORE,"|",2),BPCCTR=BPCCTR+1
  1. S ^BGURES(BPCSUB,BPCCTR)=BPCN_U_BPCIEN
  1. I BPCCTR=BPCMAX S BPCFLAG=1
  1. Q
  1. GETREL ;
  1. F S BPCN=$O(^DIC(13,"B",BPCN)) Q:BPCN="" D Q:BPCFLAG
  1. .I BPCX'="",$E(BPCN,1,BPCLEN)'=BPCX S BPCFLAG=1 Q
  1. .S BPCIEN="" F S BPCIEN=$O(^DIC(13,"B",BPCN,BPCIEN)) Q:BPCIEN="" D Q:BPCFLAG
  1. ..I BPCCTR=BPCMAX D Q
  1. ...S BPCCTR=BPCCTR+1,^BGURES(BPCSUB,BPCCTR)="..MORE"_U_BPCN_"|"_BPCIEN
  1. ...S BPCFLAG=1
  1. ..S BPCCTR=BPCCTR+1,^BGURES(BPCSUB,BPCCTR)=BPCN_U_BPCIEN
  1. S ^BGURES(BPCSUB,0)=BPCCTR
  1. Q