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

BPCRXALG.m

Go to the documentation of this file.
  1. BPCRXALG ; IHS/OIT/MJL - GUI RX ALLERGY DISPLAY ;
  1. ;;1.5;BPC;;MAY 26, 2005
  1. ;;
  1. GETALG(BGUARRAY,BPCPIEN) ;EP CALL
  1. ; FROM REMOTE PROC: BPC RXALLERGY DATA
  1. ;BGUARRAY is return array
  1. ;BPCPIEN is patient IEN
  1. ;
  1. EN ;ENTRY POINT FOR TESTING
  1. ;S BPCPIEN=12382
  1. S JOB=$J,BPCGUI=1,XWBWRAP=1
  1. S BGUARRAY="^XTMP(""BPCRXALG"","_$J_")"
  1. K @BGUARRAY
  1. ;
  1. ;check patient IEN
  1. S BPCERR=0
  1. I $G(BPCPIEN)="" S ^XTMP("BPCRXALG",JOB,1)=-1,^(2)="PATIENT IEN NOT SENT!" D KILL S BPCERR=1 Q
  1. ;
  1. CALL ;CALLS GMRADPT TO CREATE DATA
  1. ;check if Allergy GMR installed
  1. S BPCERR=0
  1. S X="GMRADPT" X ^%ZOSF("TEST") I '$T D Q:BPCERR
  1. .S ^XTMP("BPCRXALG",JOB,1)=-1,^(2)="Allergy Package not Installed!"
  1. .D KILL
  1. .S BPCERR=1
  1. .Q
  1. ;
  1. S DFN=BPCPIEN D ^GMRADPT
  1. ;
  1. ;allergy info
  1. S BPCERR=0
  1. I $G(GMRAL)="" D Q:BPCERR
  1. .S ^XTMP("BPCRXALG",JOB,1)=-1,^(2)="Patient has not been asked about allergies!"
  1. .D KILL
  1. .S BPCERR=1
  1. .Q
  1. ;
  1. S BPCERR=0
  1. I $G(GMRAL)=0 D Q:BPCERR
  1. .S ^XTMP("BPCRXALG",JOB,1)=-1,^(2)="Patient has no known allergies!"
  1. .D KILL
  1. .S BPCERR=1
  1. .Q
  1. ;
  1. S CTR=1,X="" F S X=$O(GMRAL(X)) Q:+X=0 D
  1. .S Y=$P($G(GMRAL(X)),"^",2,8)
  1. .S S=0,(S1,SIGN)="" F I=1:1 S S=$O(GMRAL(X,"S",S)) Q:+S=0 D
  1. ..S S1=$P($G(GMRAL(X,"S",S)),";",1)
  1. ..S:$L(S1) $P(SIGN,",",I)=S1
  1. .S Y=Y_"^"_SIGN
  1. .S CTR=CTR+1
  1. .S Z=$P(Y,U,2),Z=$S(Z="D":"DRUG",Z="F":"FOOD",1:"OTHER"),$P(Y,U,2)=Z
  1. .S Z=+$P(Y,U,3),Z=$S(Z=0:"UNVERIFIED",1:"VERIFIED"),$P(Y,U,3)=Z
  1. .S Z=+$P(Y,U,4),Z=$S(Z=0:"ALLERGIC REACTION",1:"NON ALLERGIC REACTION"),$P(Y,U,4)=Z
  1. .S Z=$P(Y,U,5),Z=$P(Z,";",1),$P(Y,U,5)=Z
  1. .S Z=$P(Y,U,6),Z=$S(Z="D":"DRUG",Z="F":"FOOD",Z="DF":"DRUG/FOOD",Z="DFO":"DRUG/FOOD/OTHER",Z="DO":"DRUG/OTHER",Z="FO":"FOOD/OTHER",1:"OTHER"),$P(Y,U,6)=Z
  1. .S Z=$P(Y,U,7),Z=$P(Z,";",1),$P(Y,U,7)=Z
  1. .S ^XTMP("BPCRXALG",JOB,CTR)=Y
  1. S ^XTMP("BPCRXALG",JOB,1)=CTR
  1. Q
  1. KILL ;kill variables
  1. K APCDALVR,BPCPIEN,BPCTIEN,BPCLOC,BPCCAT,BPCCTR,BPCEPRV,BPCERR
  1. K BPCGUI,BPCL,BPCLOC,BPCMOD,BPCMTYP,BPCVAL,BPCPIEN,BPCPROV,BPCRTN
  1. K BPCTIEN,BPCTYPE,BPVVDT,BPCVFILE,BPCVSIT,BPCX
  1. Q
  1. ;