[613] | 1 | GMRANKA ;HIRMFO/WAA-ALLERGY/ADVERSE REACTION PATIENT NKA DRIVE ;10/12/06 11:03
|
---|
| 2 | ;;4.0;Adverse Reaction Tracking;**2,21,36**;Mar 29, 1996;Build 9
|
---|
| 3 | NKA(DFN) ;See if patient has reaction on file
|
---|
| 4 | ; Input Variables:
|
---|
| 5 | ; DFN = Patient Internal Entry Number
|
---|
| 6 | ;
|
---|
| 7 | ; Output Variables:
|
---|
| 8 | ; GMA = 1 Patient has known reaction
|
---|
| 9 | ; 0 Patient has No known reaction
|
---|
| 10 | ; Null Patient has never been asked about reaction
|
---|
| 11 | S GMA=""
|
---|
| 12 | S GMA=$P($G(^GMR(120.86,DFN,0)),U,2)
|
---|
| 13 | Q GMA
|
---|
| 14 | ;
|
---|
| 15 | NKAASK(DFN,GMRAOUT) ; Ask a Patient if patient has any known allergens
|
---|
| 16 | ; Input Variables
|
---|
| 17 | ; DFN = Patient Internal entry number
|
---|
| 18 | ; GMRAOUT = Up Caret or time out flag
|
---|
| 19 | ;
|
---|
| 20 | ;Ask if patient has allergies
|
---|
| 21 | N DIR,Y,DIROUT,DTOUT,DIRUT,DUOUT,GMAOLD
|
---|
| 22 | S GMAOLD=$P($G(^GMR(120.86,DFN,0)),U,2)
|
---|
| 23 | S DIR(0)="120.86,1^AO^I Y=0&'$$NKASCR^GMRANKA(DFN) D INFO^GMRANKA K X"
|
---|
| 24 | S DIR("A")="Does this patient have any known allergies or adverse reactions? "
|
---|
| 25 | S DIR("B")=$S($P($G(^GMR(120.86,DFN,0)),U,2)=1:"Yes",$P($G(^GMR(120.86,DFN,0)),U,2)=0:"No",1:"") K:DIR("B")="" DIR("B")
|
---|
| 26 | S DIR("?")=$S(GMAOLD=0:"You may also enter @ to delete a previous NKA assessment and return the patient to a 'not assessed' state. Use this if the NKA assessment was previously incorrectly entered.",1:"") ;21
|
---|
| 27 | D ^DIR
|
---|
| 28 | I $G(X)="@" D:GMAOLD=0 CLN W:GMAOLD=0 !,"Assessment deleted." Q ;21 Allow removal of NKA
|
---|
| 29 | I $D(DTOUT)!$D(DIROUT) S GMRAOUT=1 Q ;36
|
---|
| 30 | I $D(DUOUT) S GMRAOUT=2 Q ;36
|
---|
| 31 | ; User Hits return and doesn't answer question
|
---|
| 32 | I Y="",GMAOLD="" Q ;36
|
---|
| 33 | I Y'="",GMAOLD'=Y D
|
---|
| 34 | . N DIE,DA,DR
|
---|
| 35 | . S DIE="^GMR(120.86,",DA=DFN,DR=$S(GMAOLD="":(".01////"_DFN_";"),1:"")_"1////"_Y_";2////"_DUZ_";3///NOW" ;36
|
---|
| 36 | . D ^DIE
|
---|
| 37 | . Q
|
---|
| 38 | Q
|
---|
| 39 | CLN ; Clean out entries that have not been answered.
|
---|
| 40 | S DIK="^GMR(120.86,",DA=DFN D ^DIK K DIK,DA
|
---|
| 41 | ;W !?20,"Patient will still be listed as not being",!?20,"asked about Allergies/Adverse Reactions."
|
---|
| 42 | Q
|
---|
| 43 | INFO ; Info string
|
---|
| 44 | N GMASTR
|
---|
| 45 | S GMASTR(1)="Currently this patient has Causative Agents on file."
|
---|
| 46 | S GMASTR(2)="You will have to answer YES to this question and then"
|
---|
| 47 | S GMASTR(3)="indicate that each of the Causative Agents are incorrect."
|
---|
| 48 | S GMASTR(4)="Then you will be reasked this question and will be able"
|
---|
| 49 | S GMASTR(5)="to enter NO."
|
---|
| 50 | D WRITE^GMRADSP8(1,0,$C(7))
|
---|
| 51 | D WRITE^GMRADSP8(1,10,.GMASTR)
|
---|
| 52 | Q
|
---|
| 53 | NKASCR(DFN) ; Is Patient NKA (No Known Allergy)
|
---|
| 54 | ; Input Variable:
|
---|
| 55 | ; DFN = Patient DFN in Patient file
|
---|
| 56 | ;
|
---|
| 57 | ; Output Variable:
|
---|
| 58 | ; GMA = 1 Patient is True NKA
|
---|
| 59 | ; = 0 Patient has a reaction in file 120.8
|
---|
| 60 | ;
|
---|
| 61 | ; This code will screen out Entered in Error entries
|
---|
| 62 | S GMA=1
|
---|
| 63 | N GMAX
|
---|
| 64 | S GMAX=0
|
---|
| 65 | F S GMAX=$O(^GMR(120.8,"B",DFN,GMAX)) Q:GMAX<1 D Q:'GMA
|
---|
| 66 | .I +$G(^GMR(120.8,GMAX,"ER")) Q
|
---|
| 67 | .S GMA=0
|
---|
| 68 | .Q
|
---|
| 69 | Q GMA
|
---|
| 70 | ;
|
---|
| 71 | DELNKA ;Remove assessment of NKA for a selected patient
|
---|
| 72 | N Y,DFN,DIR,DIC
|
---|
| 73 | S DIC=120.86,DIC(0)="AEMQZ",DIC("A")="Select PATIENT NAME: " D ^DIC Q:Y=-1
|
---|
| 74 | S DFN=+Y
|
---|
| 75 | W !
|
---|
| 76 | I $$NKA^GMRANKA(DFN)'=0 W !,"This patient doesn't currently have an assessment of NKA." Q
|
---|
| 77 | S DIR(0)="Y",DIR("A")="Delete NKA assessment for patient "_$G(Y(0,0)),DIR("B")="NO"
|
---|
| 78 | S DIR("?")="Enter Y to delete the NKA assessment and return the patient to a 'not assessed' status. Enter N to cancel this action."
|
---|
| 79 | D ^DIR
|
---|
| 80 | I Y=1 D CLN^GMRANKA W "...Done"
|
---|
| 81 | Q
|
---|