| 1 | GMRADSP0 ;HIRMFO/WAA-DISPLAY ALLERGY ;9/6/95  11:06 | 
|---|
| 2 | ;;4.0;Adverse Reaction Tracking;;Mar 29, 1996 | 
|---|
| 3 | EN1(GMRAL) ; This routine will print all the reaction in the GMRAL array | 
|---|
| 4 | ; for the given DFN. | 
|---|
| 5 | ;   Input variables: | 
|---|
| 6 | ;       GMRAL = An array of all the patient allergies. | 
|---|
| 7 | ; | 
|---|
| 8 | K ^TMP($J,"GMRALST") | 
|---|
| 9 | N GMRATYPE,GMRALN,GMRANAME,GMRAPA | 
|---|
| 10 | I $D(XRTL) D T0^%ZOSV ; START RT | 
|---|
| 11 | S GMRAOUT=0,GMRAOSOF=1 | 
|---|
| 12 | I $D(XRT0) S XRTN=$T(+0) D T1^%ZOSV ; STOP RT | 
|---|
| 13 | ;sort list builder subroutine | 
|---|
| 14 | ;This subroutine builds the a ^TMP array in the following format: | 
|---|
| 15 | ;   ^TMP($J,"GMRALST",type,name,ien)="" | 
|---|
| 16 | I GMRAL S GMRAPA=0 F  S GMRAPA=$O(GMRAL(GMRAPA)) Q:GMRAPA<1  D | 
|---|
| 17 | .Q:+$G(^GMR(120.8,GMRAPA,"ER"))  ;Check for E/E | 
|---|
| 18 | .S GMRAPA(0)=$G(^GMR(120.8,GMRAPA,0)) Q:GMRAPA(0)="" | 
|---|
| 19 | .S ^TMP($J,"GMRALST",$P(GMRAPA(0),U,20),$P(GMRAPA(0),U,2),GMRAPA)="" | 
|---|
| 20 | .Q | 
|---|
| 21 | ALLTYP ;Loop through the list created by the sort subroutine and print. | 
|---|
| 22 | D HEAD^GMRADSP8 | 
|---|
| 23 | S GMRATYPE="" F  S GMRATYPE=$O(^TMP($J,"GMRALST",GMRATYPE)) Q:GMRATYPE=""  D  Q:GMRAOUT | 
|---|
| 24 | .S GMRANAME="" F  S GMRANAME=$O(^TMP($J,"GMRALST",GMRATYPE,GMRANAME)) Q:GMRANAME=""  D  Q:GMRAOUT | 
|---|
| 25 | .. S GMRAPA=0 F  S GMRAPA=$O(^TMP($J,"GMRALST",GMRATYPE,GMRANAME,GMRAPA)) Q:GMRAPA<1  D  Q:GMRAOUT | 
|---|
| 26 | ...N GMALN | 
|---|
| 27 | ...D DISBLD^GMRADSP1(GMRAPA,.GMALN) | 
|---|
| 28 | ...D DISPLAY^GMRADSP8(.GMALN) Q:GMRAOUT | 
|---|
| 29 | ...Q | 
|---|
| 30 | ..Q | 
|---|
| 31 | .Q | 
|---|
| 32 | S:GMRAOUT GMRAOUT=2-GMRAOUT | 
|---|
| 33 | Q | 
|---|
| 34 | EXIT ;Exit | 
|---|
| 35 | K ^TMP($J,"GMRALST") | 
|---|
| 36 | S:GMRAOUT GMRAOUT=2-GMRAOUT | 
|---|
| 37 | Q | 
|---|