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

GMRAOR1.m

Go to the documentation of this file.
  1. GMRAOR1 ;HIRMFO/RM,WAA-OERR UTILITIES ;01-May-2012 14:20;DU
  1. ;;4.0;Adverse Reaction Tracking;**21,41,1002,1006**;Mar 29, 1996;Build 29
  1. ;IHS/MSC/MGH added call to rerurn unaccessible Patches 1002,1006
  1. EN1(DFN,ARRAY) ; This entry returns a list of patient allergies/adverse
  1. ; reactions.
  1. ; Input variables:
  1. ; DFN = IEN of patient in Patient (2) file
  1. ; ARRAY = Return array for Patient reactions.
  1. ; If ARRAY="" or undefined default will be GMRARXN.
  1. Q:$G(DFN)'>0
  1. S ARRAY=$S($G(ARRAY)'="":ARRAY,1:ARRAY="GMRARXN") Q:ARRAY="GMRAL"
  1. K GMRARXN,GMRAL,@ARRAY
  1. D EN1^GMRADPT ; Get Patient Allergies
  1. I GMRAL D ; If the patient has reaction then reprocess to OERR Fmt
  1. .N GMRAIEN,GMRADFN,%,GMRASVR
  1. .S GMRARXN=1,GMRAIEN=0
  1. .F S GMRAIEN=$O(GMRAL(GMRAIEN)) Q:GMRAIEN<1 D
  1. ..S GMRARXN(GMRARXN)=$P(GMRAL(GMRAIEN),U,2)_U ; Get freetext of agent.
  1. ..; Loop through 120.85 file to find all observed reacting reports for
  1. ..; this reaction. Grab severity and store only the highest value.
  1. ..S GMRADFN=0,%="",GMRASVR="" F S GMRADFN=$O(^GMR(120.85,"C",GMRAIEN,GMRADFN)) Q:GMRADFN<1 S %=$P($G(^GMR(120.85,GMRADFN,0)),U,14) S:%>+GMRASVR GMRASVR=%
  1. ..S GMRARXN(GMRARXN)=GMRARXN(GMRARXN)_$S(GMRASVR=1:"MILD",GMRASVR=2:"MODERATE",GMRASVR=3:"SEVERE",1:"")_U_GMRAIEN
  1. ..;Loop through the S/S multiple and get the external format and possibly the date/time.
  1. ..S %=0 F S %=$O(GMRAL(GMRAIEN,"S",%)) Q:%<1 S GMRARXN(GMRARXN,"S",%)=$P(GMRAL(GMRAIEN,"S",%),";")_$S($G(GMRAIDT):";"_$P(^GMR(120.8,GMRAIEN,10,$O(^GMR(120.8,GMRAIEN,10,"B",$P($P(GMRAL(GMRAIEN,"S",%),";",2),"^",1),0)),0),U,4),1:"") ;21
  1. ..S GMRARXN=GMRARXN+1
  1. ..Q
  1. .S GMRARXN=1
  1. .Q
  1. E S GMRARXN=GMRAL
  1. I ARRAY'="GMRARXN" M @ARRAY=GMRARXN K GMRARXN
  1. K GMRAL
  1. Q
  1. SETNODE(ITEM,DATA) ;
  1. N VALUE
  1. S VALUE=""
  1. I ITEM[DATA S VALUE=ITEM Q VALUE
  1. I DATA="LOCAL" D Q VALUE
  1. .I ITEM="" S VALUE="LOCAL" Q
  1. .I ITEM["REMOTE SITE(S)" S VALUE="LOCAL AND REMOTE SITE(S)"
  1. I DATA="REMOTE SITE(S)" D Q VALUE
  1. .I ITEM="" S VALUE="REMOTE SITE(S)" Q
  1. .I ITEM["LOCAL" S VALUE="LOCAL AND REMOTE SITE(S)"
  1. Q VALUE
  1. ;
  1. UNASS(ORPT) ;
  1. ;IHS/MSC/MGH added call to rerurn unaccessible Patch 1006
  1. N Y,RESULT
  1. S RESULT=1
  1. S Y=$O(^GMR(120.86,ORPT,9999999.11,$C(0)),-1) I +Y D
  1. .I $P($G(^GMR(120.86,ORPT,9999999.11,Y,0)),U,4)="" D
  1. ..S RESULT=0
  1. Q RESULT