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
|
---|