Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: GMRAPED0

GMRAPED0.m

Go to the documentation of this file.
  1. GMRAPED0 ;HIRMFO/RM,WAA-VERIFIER EDIT OF DRUG A/AR ;11/16/07 10:03
  1. ;;4.0;Adverse Reaction Tracking;**17,41**;Mar 29, 1996;Build 8
  1. ;DBIA Section
  1. ;PSN50P41 - 4531
  1. ;PSN50P65 - 4543
  1. ;DICN - 10009
  1. ;DIE - 10018
  1. ;XLFDT - 10103
  1. EN1 ; ENTRY TO EDIT INFO SPECIFIC TO DRUG A/AR FOR VERIFIER
  1. K GMRAINGR,GMRACLAS,^TMP($J,"GMRAING"),^TMP($J,"GMRADCL") ;41 Add ^TMP to list
  1. I '$D(^XUSEC("GMRA-ALLERGY VERIFY",DUZ)) G Q1
  1. S GMRAPA(0)=$G(^GMR(120.8,GMRAPA,0)) G:GMRAPA(0)="" Q1
  1. F GMRAINGR=0:0 S GMRAINGR=$O(^GMR(120.8,GMRAPA,2,GMRAINGR)) Q:GMRAINGR'>0 D ;41 Added block structure
  1. .S X=$S($D(^GMR(120.8,GMRAPA,2,GMRAINGR,0)):^(0),1:"") I +X>0 D ZERO^PSN50P41(+X,,$$DT^XLFDT,"GMRAING") S Y=$S($D(^TMP($J,"GMRAING",+X,.01)):^(.01),1:"") I $P(Y,U)'="" S GMRAINGR($P(Y,U),+X)=Y ;41 added call to ZERO
  1. F GMRACLAS=0:0 S GMRACLAS=$O(^GMR(120.8,GMRAPA,3,GMRACLAS)) Q:GMRACLAS'>0 D ;41 Added dot structure
  1. .S X=$S($D(^GMR(120.8,GMRAPA,3,GMRACLAS,0)):^(0),1:"") I +X>0 D C^PSN50P65(+X,,"GMRADCL") S Y=$S($D(^TMP($J,"GMRADCL",+X,.01)):^(.01)_U_$G(^(1)),1:"") I $P(Y,U)'="" S GMRACLAS($P(Y,U),+X)=Y ;41 Added call to C^PSN50P65
  1. S GMRAPA(0)=$G(^GMR(120.8,GMRAPA,0))
  1. W @IOF
  1. W !,"CAUSATIVE AGENT: ",$P(GMRAPA(0),U,2)
  1. W !?11,"TYPE: ",$$OUTTYPE^GMRAUTL($P(GMRAPA(0),U,20))
  1. W !?4,"INGREDIENTS: " S Y="",GMRAPRSW=0 F S Y=$O(GMRAINGR(Y)) Q:Y="" F X=0:0 S X=$O(GMRAINGR(Y,X)) Q:X'>0 W:GMRAPRSW ! W ?17,Y S:'GMRAPRSW GMRAPRSW=1
  1. W !,"VA DRUG CLASSES: "
  1. S Y="",GMRAPRSW=0 F S Y=$O(GMRACLAS(Y)) Q:Y="" F X=0:0 S X=$O(GMRACLAS(Y,X)) Q:X'>0 W:GMRAPRSW ! W ?17,Y," - ",$P(GMRACLAS(Y,X),U,2) S:'GMRAPRSW GMRAPRSW=1
  1. W !," OBS/HIST: ",$S($P(GMRAPA(0),U,6)="o":"OBSERVED",$P(GMRAPA(0),U,6)="h":"HISTORICAL",1:"")
  1. D ;Sign/Symptoms
  1. .N GMRAVFY
  1. .S GMRAVFY=1
  1. .D EN1^GMRADSP3
  1. .Q
  1. W !," MECHANISM: ",$S($P(GMRAPA(0),U,14)="A":"ALLERGY",$P(GMRAPA(0),U,14)="P":"PHARMACOLOGIC",$P(GMRAPA(0),U,14)="U":"UNKNOWN",1:"")
  1. YNED W !!,"Would you like to edit any of this data" S %=0 D YN^DICN I '% W !?4,$C(7),"ANSWER YES IF YOU WISH TO CHANGE ANY OF THE DATA ABOVE, ELSE ANSWER NO." G YNED
  1. S:%=-1 GMRAOUT=1 G Q1:%=2!GMRAOUT
  1. D EN1^GMRAPED3 G:GMRAOUT Q1 I GMRAAR'="" S DIE="^GMR(120.8,",DA=GMRAPA,DR=".02////^S X=GMRAAR(0);1////^S X=GMRAAR"_$S($D(GMRAAR("O")):";3.1////"_GMRAAR("O"),1:"") D ^DIE
  1. S GMRAPA(0)=$G(^GMR(120.8,+GMRAPA,0))
  1. S GMRAEN=GMRAPA_";GMR(120.8," D INPTYPE^GMRAUTL(GMRAEN) G Q1:GMRAOUT
  1. S DA=GMRAPA,DIE="^GMR(120.8,",DR="2" D ^DIE S:$D(Y) GMRAOUT=1 G Q1:GMRAOUT
  1. S GMRAPA(0)=$G(^GMR(120.8,+GMRAPA,0))
  1. D DRGCLS^GMRAPED1
  1. I 'GMRAOUT F K Y D Q:GMRAOUT!('$D(Y))
  1. .S GMRAPA(0)=$S($D(^GMR(120.8,GMRAPA,0)):^(0),1:"")
  1. .S DR="6(O)bserved or (H)istorical Allergy/Adverse Reaction",DIE="^GMR(120.8,",DA=GMRAPA D ^DIE
  1. .I $D(Y) S GMRAOUT=1 Q
  1. .S GMRANEW(0)=$S($D(^GMR(120.8,GMRAPA,0)):^(0),1:"")
  1. .I $P(GMRANEW(0),"^",6)="" W $C(7)," Required??" S Y="" Q
  1. .Q:$P(GMRANEW(0),"^",6)=$P(GMRAPA(0),"^",6)
  1. .I $P(GMRAPA(0),"^",6)'=$P(GMRANEW(0),"^",6) D Q
  1. ..W !!,"You cannot change the type of reaction. If this is incorrect",!,"please exit and mark this entry as entered-in-error and then re-enter",!,"the correct information.",!
  1. ..S DIE="^GMR(120.8,",DR="6////"_$P(GMRAPA(0),"^",6),DA=GMRAPA D ^DIE S Y="" Q
  1. ..Q
  1. .Q
  1. I 'GMRAOUT D EN1^GMRAPER2(GMRAPA,"120.8",.GMRAOUT)
  1. I 'GMRAOUT D MECH Q:GMRAOUT
  1. S GMRAPA(0)=$S($D(^GMR(120.8,GMRAPA,0)):^(0),1:"")
  1. S GMRAOUT=0 G EN1
  1. Q1 ;Exit
  1. K GMRAEN,X,GMRAAR,^TMP($J,"GMRAING"),^TMP($J,"GMRADCL") ;41 Added ^TMP
  1. K DA,DIE,DR
  1. Q
  1. MECH ;Mechanism for ADRs
  1. F W !!,?5,"Choose one of the following:",! D Q:GMRAOUT!('$D(Y))
  1. .F GMRAMEC="A - ALLERGY","P - PHARMACOLOGICAL","U - UNKNOWN" W !,?20,GMRAMEC
  1. .W ! S DIE="^GMR(120.8,",DA=GMRAPA,DR=17 D ^DIE
  1. .S:$D(Y) GMRAOUT=1
  1. .Q
  1. Q
  1. HELP ; HELP FOR A/AR LOOKUP
  1. D HELP^GMRAPED0 ;41 removed duplicate code and added call to HELP
  1. Q
  1. DIC ; VALIDATE LOOKUP FOR A/AR
  1. S:$D(DTOUT) X="^^" I X="^^" S GMRAOUT=1 Q
  1. S:$D(DUOUT) Y=0 Q:+Y'>0
  1. YNOK W !?3,X," OK" S %=1 D YN^DICN S:%=-1 GMRAOUT=1,Y=-1 S:%=2 Y=-1 I % W ! Q
  1. W !?5,$C(7),"ANSWER YES IF THIS IS THE CORRECT ALLERGY/ADVERSE REACTION,",!?5,"ELSE ANSWER NO."
  1. G YNOK
  1. W @IOF
  1. W !,"Reactions: (cont.) "
  1. Q