| 1 | GMRAEAB ;HIRMFO/RM-BULLETIN SEND FOR E/E REACTIONS ;12/22/04  08:57
 | 
|---|
| 2 |  ;;4.0;Adverse Reaction Tracking;**21**;Mar 29, 1996
 | 
|---|
| 3 | EN1 ; SEND BULLETIN TO ALL VERIFIERS/CHART MARK GROUPS
 | 
|---|
| 4 |  ; INDICATING A/AR NEEDS UPDATES
 | 
|---|
| 5 |  N GMRAGRUP,%
 | 
|---|
| 6 |  S GMRANAM="",GMRALOC="",GMRASSN=""
 | 
|---|
| 7 |  D VAD^GMRAUTL1($P(GMRAPA(0),U),"",.GMRALOC,.GMRANAM,"",.GMRASSN)
 | 
|---|
| 8 |  I GMRALOC'="",+$G(^DIC(42,GMRALOC,44)) S GMRALOC=$P($G(^SC(+$G(^DIC(42,GMRALOC,44)),0)),U)
 | 
|---|
| 9 |  I GMRALOC="" S GMRALOC="OUT PATIENT"
 | 
|---|
| 10 |  S XMB="GMRA ENTERED IN ERROR"
 | 
|---|
| 11 |  ; Build XMB array
 | 
|---|
| 12 |  S XMB(1)=GMRANAM ; Patient Name
 | 
|---|
| 13 |  S XMB(2)=GMRASSN ; Patient SSN
 | 
|---|
| 14 |  S XMB(3)=$P(GMRAPA(0),"^",2) ; Reaction
 | 
|---|
| 15 |  S XMB(4)=GMRALOC ; Location
 | 
|---|
| 16 |  S XMB(5)=$S($P(GMRAPA(0),U,5)'="":$$GET1^DIQ(200,$P(GMRAPA(0),U,5)_",",".01"),1:"<None>") ;21 Originator
 | 
|---|
| 17 |  S XMB(6)=$$GET1^DIQ(200,$P($G(^GMR(120.8,GMRAPA,"ER")),U,3)_",",".01") ;21 Enter in error by
 | 
|---|
| 18 |  S XMB(7)=$$FMTE^XLFDT($P($G(^GMR(120.8,GMRAPA,"ER")),U,2),1) ; Enter in error on
 | 
|---|
| 19 |  S XMB(9)=$$FMTE^XLFDT($P(GMRAPA(0),U,4)) ;21
 | 
|---|
| 20 |  ; Signs/symptoms and comments
 | 
|---|
| 21 |  K ^TMP($J,"GMRACOM")
 | 
|---|
| 22 |  N GMRAKIND,GMRACNT,GMRAX,GMRASP,GMRADATA,GMRAI,GMRAP ;21
 | 
|---|
| 23 |  S GMRACNT=1,GMRASP="                                                                           "
 | 
|---|
| 24 |  D EN1^GMRAOR2(GMRAPA,"GMRADATA") ;21
 | 
|---|
| 25 |  I $D(GMRADATA("S")) S ^TMP($J,"GMRACOM",GMRACNT)="        Signs/Symptoms: " D  ;21
 | 
|---|
| 26 |  .S GMRAI=0,GMRAP=0 F  S GMRAI=$O(GMRADATA("S",GMRAI)) Q:'+GMRAI  D  ;21
 | 
|---|
| 27 |  ..I 'GMRAP S ^TMP($J,"GMRACOM",GMRACNT)=^TMP($J,"GMRACOM",GMRACNT)_GMRADATA("S",GMRAI),GMRACNT=GMRACNT+1,GMRAP=1 Q  ;21
 | 
|---|
| 28 |  ..S ^TMP($J,"GMRACOM",GMRACNT)=$$REPEAT^XLFSTR(" ",24)_GMRADATA("S",GMRAI),GMRACNT=GMRACNT+1 ;21
 | 
|---|
| 29 |  I $D(^GMR(120.8,GMRAPA,26,"AVER")) S ^TMP($J,"GMRACOM",GMRACNT)="",GMRACNT=GMRACNT+1,^TMP($J,"GMRACOM",GMRACNT)="Comments:",GMRACNT=GMRACNT+1 ;21
 | 
|---|
| 30 |  F GMRAKIND="O","V","E" S GMRAX=0 S GMRAX=$O(^GMR(120.8,GMRAPA,26,"AVER",GMRAKIND,GMRAX)) I GMRAX>0  D
 | 
|---|
| 31 |  .S ^TMP($J,"GMRACOM",GMRACNT)=$E(GMRASP,1,5)_$S(GMRAKIND="O":"ORIGINATOR",GMRAKIND="V":"VERIFIER",GMRAKIND="E":"ENTERED IN ERROR",1:""),GMRACNT=GMRACNT+1
 | 
|---|
| 32 |  .S GMRAX=0 F  S GMRAX=$O(^GMR(120.8,GMRAPA,26,"AVER",GMRAKIND,GMRAX)) Q:GMRAX<1  D
 | 
|---|
| 33 |  ..N GMRAY,GMRAZ
 | 
|---|
| 34 |  ..S GMRAY=$P(^GMR(120.8,GMRAPA,26,GMRAX,0),U),GMRAZ=$P(^(0),U,2)
 | 
|---|
| 35 |  ..D PRINT Q:GMRAOUT
 | 
|---|
| 36 |  ..Q
 | 
|---|
| 37 |  .Q
 | 
|---|
| 38 |  S XMTEXT="^TMP($J,""GMRACOM"","
 | 
|---|
| 39 |  ; Build XMY array
 | 
|---|
| 40 |  ;Only send bulletin to verifier groups if reactant still needs to be verified or if it wasn't autoverified
 | 
|---|
| 41 |  I '+$P(GMRAPA(0),U,16)!($P(GMRAPA(0),U,18)) F %=1:1:$L($P(GMRAPA(0),"^",20)) D  ;21
 | 
|---|
| 42 |  .S GMRAGRUP=$E($P(GMRAPA(0),"^",20),%)
 | 
|---|
| 43 |  .S XMY("G.GMRA VERIFY "_$S(GMRAGRUP="D":"DRUG",GMRAGRUP="F":"FOOD",1:"OTHER")_" ALLERGY")=""
 | 
|---|
| 44 |  .Q
 | 
|---|
| 45 |  S XMY("G.GMRA MARK CHART")=""
 | 
|---|
| 46 |  I $P(GMRAPA(0),U,20)["D"&($P(GMRAPA(0),U,6)="o") S XMY("G.GMRA P&T COMMITTEE FDA")="",XMB(8)="and FDA information " ;21
 | 
|---|
| 47 |  D ^XMB
 | 
|---|
| 48 |  K XMB,XMY,XMTEXT,GMRATEXT,^TMP($J,"GMRACOM")
 | 
|---|
| 49 |  Q
 | 
|---|
| 50 | PRINT ;PRINT OUT THE DATA
 | 
|---|
| 51 |  N GMRAT,GMRAZN S (GMRAZN,GMRAT)=""
 | 
|---|
| 52 |  S:GMRAZ'="" GMRAZN=$$GET1^DIQ(200,GMRAZ_",",".01") ;21
 | 
|---|
| 53 |  S:GMRAZ'="" GMRAT=$$GET1^DIQ(200,GMRAZ_",","8","I") ;21
 | 
|---|
| 54 |  S:GMRAT'="" GMRAT=$P($G(^DIC(3.1,GMRAT,0)),U)
 | 
|---|
| 55 |  S ^TMP($J,"GMRACOM",GMRACNT)=$E(GMRASP,1,10)_"Date: "_$$FMTE^XLFDT(GMRAY,1)_$E(GMRASP,1,10)_"User: "_GMRAZN,GMRACNT=GMRACNT+1
 | 
|---|
| 56 |  S ^TMP($J,"GMRACOM",GMRACNT)=$E(GMRASP,1,47)_"Title: "_GMRAT,GMRACNT=GMRACNT+1
 | 
|---|
| 57 |  I '$D(^GMR(120.8,GMRAPA,26,GMRAX,2,0)) Q
 | 
|---|
| 58 |  S DIWL=16,DIWR=75,DIWF=""
 | 
|---|
| 59 |  K ^UTILITY($J,"W",DIWL)
 | 
|---|
| 60 |  S GMRAXX=0 F  S GMRAXX=$O(^GMR(120.8,GMRAPA,26,GMRAX,2,GMRAXX)) Q:GMRAXX<1  S X=^(GMRAXX,0) D ^DIWP
 | 
|---|
| 61 |  S GMRAXX=0 F  S GMRAXX=$O(^UTILITY($J,"W",DIWL,GMRAXX)) Q:GMRAXX<1  S ^TMP($J,"GMRACOM",GMRACNT)=$E(GMRASP,1,16)_^UTILITY($J,"W",DIWL,GMRAXX,0),GMRACNT=GMRACNT+1
 | 
|---|
| 62 |  S ^TMP($J,"GMRACOM",GMRACNT)="   ",GMRACNT=GMRACNT+1
 | 
|---|
| 63 |  Q
 | 
|---|