1 | GMRAOR6 ;HIRMFO/WAA-OERR HL7 UTILITY ;10/15/04 10:59
|
---|
2 | ;;4.0;Adverse Reaction Tracking;**17,21**;Mar 29, 1996
|
---|
3 | ; File all allergies Sign/Symptoms
|
---|
4 | ; INPUT
|
---|
5 | ; IEN = The internal entry number for the file entry being modified
|
---|
6 | ; FILE = The file number of the file being modified
|
---|
7 | ; GMRAL = The internal entry number of the GMRAL array being added
|
---|
8 | ;
|
---|
9 | SIGN(GMRAFILE,GMRAIEN,GMRAL) ; Signs/Symptoms
|
---|
10 | Q:$G(GMRAIEN)<1
|
---|
11 | S GMRANODE=$S(GMRAFILE=120.8:10,GMRAFILE=120.85:2,1:0) Q:'GMRANODE
|
---|
12 | S GMRASN=0 F S GMRASN=$O(GMRAL(GMRAL,"S",GMRASN)) Q:GMRASN<1 D
|
---|
13 | .Q:$P(GMRAL(GMRAL,"S",GMRASN),U)'>0 ;17 Screen out bad entries
|
---|
14 | .Q:$O(^GMR(GMRAFILE,GMRAIEN,GMRANODE,"B",$P(GMRAL(GMRAL,"S",GMRASN),U),"")) ;Prevent DUPS
|
---|
15 | .K DD,DO,DIC,DINUM,DLAYGO
|
---|
16 | .S DA(1)=GMRAIEN,DIC="^GMR("_GMRAFILE_","_DA(1)_","_GMRANODE_","
|
---|
17 | .S DIC(0)="L",X=$P(GMRAL(GMRAL,"S",GMRASN),U),DLAYGO=GMRAFILE
|
---|
18 | .S DIC("P")=$S(GMRANODE=10:"120.81P",1:"120.8502P")
|
---|
19 | .D FILE^DICN
|
---|
20 | .K DD,DO,DIC,DINUM,DLAYGO
|
---|
21 | .S GMRASN=$P(+Y,U)
|
---|
22 | .S GMRALN=^GMR(GMRAFILE,GMRAIEN,GMRANODE,GMRASN,0) Q:GMRALN=""
|
---|
23 | .I '$D(GMRAOTH) S GMRAOTH=$O(^GMRD(120.83,"B","OTHER REACTION",0))
|
---|
24 | .S $P(GMRALN,U,3)=$P(GMRAL(GMRAL),U,7)
|
---|
25 | .I $P(GMRALN,U)=GMRAOTH S $P(GMRALN,U,2)=$P(GMRAL(GMRAL,"S",GMRASN),U,2) ;21
|
---|
26 | .I GMRANODE=10 S $P(GMRALN,U,4)=$P(GMRAL(GMRAL,"S",GMRASN),U,4)
|
---|
27 | .S ^GMR(GMRAFILE,GMRAIEN,GMRANODE,GMRASN,0)=GMRALN
|
---|
28 | .Q
|
---|
29 | K GMRAIEN,GMRANODE,GMRAFILE,GMRASN,GMRALN,GMRAOTH,Y,X
|
---|
30 | Q
|
---|