1 | GMRAOR2 ;HIRMFO/RM-OERR UTILITIES ;12/22/04 10:38
|
---|
2 | ;;4.0;Adverse Reaction Tracking;**21**;Mar 29, 1996
|
---|
3 | EN1(IEN,ARRAY) ; This entry point returns detailed information about a
|
---|
4 | ; particular patient allergy/adverse reaction.
|
---|
5 | ; Input Variables
|
---|
6 | ; IEN = The internal entry number of the reaction in file 120.8
|
---|
7 | ; ARRAY = The array that the reaction data is to be passed back in.
|
---|
8 | ; (Note: The return array cannot be the GMRAL array.)
|
---|
9 | Q:$G(IEN)=""
|
---|
10 | S ARRAY=$S($G(ARRAY)'="":ARRAY,1:"GMRACT") Q:ARRAY="GMRAL"
|
---|
11 | N GMRAPA,GMRAOTH,GMRAL,GMRAI
|
---|
12 | S GMRAPA=IEN,GMRAPA(0)=$G(^GMR(120.8,GMRAPA,0)) Q:GMRAPA(0)=""
|
---|
13 | ; Set up GMRAL variable
|
---|
14 | S GMRAL=$P(GMRAPA(0),U,2)_U
|
---|
15 | S GMRAL=GMRAL_$S($P(GMRAPA(0),U,5)'="":$$GET1^DIQ(200,$P(GMRAPA(0),U,5)_",",".01"),1:"<None>")_U ;21
|
---|
16 | S %=$S($P(GMRAPA(0),U,5)'="":$$GET1^DIQ(200,$P(GMRAPA(0),U,5)_",","8","I"),1:"") ;21
|
---|
17 | S GMRAL=GMRAL_$S(%>1:$P($G(^DIC(3.1,%,0)),U),1:"")_U
|
---|
18 | S GMRAL=GMRAL_$S($P(GMRAPA(0),U,16)=1:"",1:"NOT ")_"VERIFIED"_U
|
---|
19 | S GMRAL=GMRAL_$S($P(GMRAPA(0),U,6)="o":"OBSERVED",$P(GMRAPA(0),U,6)="h":"HISTORICAL",1:"")_U
|
---|
20 | S GMRAL=GMRAL_$S($P(GMRAPA(0),U,14)="A":"ALLERGY",$P(GMRAPA(0),U,14)="P":"PHARMACOLOGIC",$P(GMRAPA(0),U,14)="U":"UNKNOWN",1:"")_U
|
---|
21 | S GMRAL=GMRAL_$$OUTTYPE^GMRAUTL($P(GMRAPA(0),U,20))_U_$S($P(GMRAPA(0),U,16)&('$P(GMRAPA(0),U,18)):"<auto-verified>",1:$$GET1^DIQ(200,$P(GMRAPA(0),U,18)_",",.01))_U_$P(GMRAPA(0),U,17) ;21
|
---|
22 | S GMRAL=GMRAL_U_$$FMTE^XLFDT($P(GMRAPA(0),U,4)) ;21 add orig date/time
|
---|
23 | ;Set up Comments in to GMRAL("C",
|
---|
24 | S GMRAI=0 F %=1:1 S GMRAI=$O(^GMR(120.8,GMRAPA,26,GMRAI)) Q:GMRAI<1 D
|
---|
25 | .N GMRACOM
|
---|
26 | .S GMRACOM=$G(^GMR(120.8,GMRAPA,26,GMRAI,0)) Q:GMRACOM=""
|
---|
27 | .S GMRAL("C",%)=$P(GMRACOM,U)_U_$S($P(GMRACOM,U,3)="V":"VERIFIER",$P(GMRACOM,U,3)="O":"ORIGINATOR",1:"")_U_$$GET1^DIQ(200,$P(GMRACOM,U,2)_",",.01) ;21
|
---|
28 | .M GMRAL("C",%)=^GMR(120.8,GMRAPA,26,GMRAI,2)
|
---|
29 | .Q
|
---|
30 | ;Observer information from file 120.85
|
---|
31 | S GMRAI=0 F %=1:1 S GMRAI=$O(^GMR(120.85,"C",GMRAPA,GMRAI)) Q:GMRAI<1 D
|
---|
32 | .N GMRACOM
|
---|
33 | .S GMRACOM=$G(^GMR(120.85,GMRAI,0)) Q:GMRACOM=""
|
---|
34 | .S GMRAL("O",%)=$P(GMRACOM,U)_U_$S($P(GMRACOM,U,14)=1:"MILD",$P(GMRACOM,U,14)=2:"MODERATE",$P(GMRACOM,U,14)=3:"SEVERE",1:"")
|
---|
35 | .Q
|
---|
36 | ;Signs/Symptoms
|
---|
37 | S GMRAOTH=$O(^GMRD(120.83,"B","OTHER REACTION",0))
|
---|
38 | S GMRAI=0 F %=1:1 S GMRAI=$O(^GMR(120.8,GMRAPA,10,GMRAI)) Q:GMRAI<1 D
|
---|
39 | .N GMRAZ
|
---|
40 | .S GMRAZ=$G(^GMR(120.8,GMRAPA,10,GMRAI,0)) Q:GMRAZ=""
|
---|
41 | .S GMRAL("S",%)=$S(+GMRAZ'=GMRAOTH:$P($G(^GMRD(120.83,+GMRAZ,0)),U),1:$P(GMRAZ,U,2))_$S($P(GMRAZ,U,4)'="":" ("_$$FMTE^XLFDT($P(GMRAZ,U,4),2)_")",1:"") ;21
|
---|
42 | .Q
|
---|
43 | ;VA Drug Class
|
---|
44 | S GMRAI=0 F %=1:1 S GMRAI=$O(^GMR(120.8,GMRAPA,3,GMRAI)) Q:GMRAI<1 D
|
---|
45 | .N GMRACOM
|
---|
46 | .S GMRACOM=$G(^GMR(120.8,GMRAPA,3,GMRAI,0)) Q:GMRACOM=""
|
---|
47 | .S GMRAL("V",%)=$P($G(^PS(50.605,GMRACOM,0)),U,1,2)
|
---|
48 | .Q
|
---|
49 | ;Drug Ingredients
|
---|
50 | S GMRAI=0 F %=1:1 S GMRAI=$O(^GMR(120.8,GMRAPA,2,GMRAI)) Q:GMRAI<1 D
|
---|
51 | .N GMRACOM
|
---|
52 | .S GMRACOM=$G(^GMR(120.8,GMRAPA,2,GMRAI,0)) Q:GMRACOM=""
|
---|
53 | .S GMRAL("I",%)=$P($G(^PS(50.416,GMRACOM,0)),U)
|
---|
54 | .Q
|
---|
55 | M @ARRAY=GMRAL
|
---|
56 | Q
|
---|