[613] | 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
|
---|