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

GMRAFDA1.m

Go to the documentation of this file.
  1. GMRAFDA1 ;HIRMFO/WAA-SELECT PATIENT AND PRINTER FOR REPORTS PRINT OUT ;12/1/95 11:23
  1. ;;4.0;Adverse Reaction Tracking;**2**;Mar 29, 1996
  1. EN1 ;Entry to PRINT AN FDA REPORT FOR A PATIENT option
  1. S GMRAOUT=0,GMRALAGO=0 D EN1^GMRAU85 G:GMRAPA1'>0 EXIT
  1. S GMRANAM=$P($G(^DPT($P(GMRAPA(0),U),0)),U)
  1. D DEV1
  1. D EXIT
  1. Q
  1. DEV1 W !,"THIS REPORT SHOULD BE SENT TO A 132 COLUMN PRINTER.",!
  1. S GMRAZIS="QM132S60" D DEV^GMRAUTL I POP W !,"PLEASE TRY AGAIN LATER" S GMRAOUT=1 Q
  1. I $D(IO("Q")) D Q
  1. .S ZTSAVE("GMRAPA1")="",ZTRTN="PRINT^GMRAFDA1",ZTDESC="Produce FDA Report for "_GMRANAM
  1. .D ^%ZTLOAD K IO("Q")
  1. .W !!,$S($D(ZTSK):"Request queued...",1:"Request NOT queued please try later...")
  1. .Q
  1. D PRINT Q
  1. Q
  1. PRINT ; ENTRY POINT TO BEGIN PRINTING THIS REPORT
  1. U IO D PRT U IO(0)
  1. D CLOSE^GMRAUTL
  1. Q
  1. PRT D ^GMRAFN1
  1. I $D(^TMP($J,"GMR")) D PRINT2 W @IOF
  1. Q
  1. PRINT2 ;PRINT THE SECOND PAGE OF ANY REMAINING DATA
  1. D ;HEADER INFORMATION
  1. .N GMRASUS,GMRATAB
  1. .W !,"ATTACHMENT PAGE"
  1. .W !,"PATIENT ID: ",GMRAID
  1. .S GMRASUS=$P(GMRAPA1(0),U,15)
  1. .I GMRASUS>0 S GMRATAB=66-((20+$L($P($G(^GMR(120.8,GMRASUS,0)),U,2)))/2) W ?GMRATAB,"SUSPECT MEDICATION: ",$P($G(^GMR(120.8,GMRASUS,0)),U,2)
  1. .W ?100,"DATE OF EVENT: ",$$FMTE^XLFDT($P(GMRAPA1(0),U),2)
  1. .Q
  1. I $D(^TMP($J,"GMR","R")) D
  1. .W ! F I=1:1:132 W "-"
  1. .W !,"Section B. Part 5. Describe event Continued" S GMRAX=0
  1. .S DIWL=5,DIWR=128,DIWF="" K ^UTILITY($J,"W",5) S GMRAX=0 ;D K ^UTILITY($J,"W",5)
  1. .F S GMRAX=$O(^TMP($J,"GMR","R",GMRAX)) Q:GMRAX<1 S X=^TMP($J,"GMR","R",GMRAX) D ^DIWP
  1. .K ^TMP($J,"GMR","R")
  1. .S X=0 F S X=$O(^UTILITY($J,"W",5,X)) Q:X<1 S ^TMP($J,"GMR","R",X)=$G(^UTILITY($J,"W",5,X,0))
  1. .F S GMRAX=$O(^TMP($J,"GMR","R",GMRAX)) Q:GMRAX<1 D Q:GMRAOUT
  1. ..W !,$S($D(^TMP($J,"GMR","R",GMRAX+1)):^TMP($J,"GMR","R",GMRAX),1:$E(^TMP($J,"GMR","R",GMRAX),1,($L(^TMP($J,"GMR","R",GMRAX))-2)))
  1. ..Q
  1. .Q
  1. I $D(^TMP($J,"GMR","T")) D
  1. .W ! F I=1:1:132 W "-"
  1. .W !,"Section B. Part 6. Relevant Test/Laboratory Data Continued:"
  1. .S GMRAX=0 F S GMRAX=$O(^TMP($J,"GMR","T",GMRAX)) Q:GMRAX'>0 D Q:GMRAOUT
  1. ..W !,"TEST: ",$P(^TMP($J,"GMR","T",GMRAX),U)," RESULTS: ",$P(^(GMRAX),U,2) S Y=$P(^(GMRAX),U,3) W:Y'="" " COLLECTION DATE: ",$$FMTE^XLFDT(Y,"2") K Y
  1. ..Q
  1. .Q
  1. I $D(^TMP($J,"GMR","O")) D
  1. .S DIWL=5,DIWR=128,DIWF="" K ^UTILITY($J,"W",5) S GMRAX=0 ;D K ^UTILITY($J,"W",5)
  1. .F S GMRAX=$O(^TMP($J,"GMR","O",GMRAX)) Q:GMRAX<1 S X=^TMP($J,"GMR","O",GMRAX) D ^DIWP
  1. .K ^TMP($J,"GMR","O")
  1. .S X=0 F S X=$O(^UTILITY($J,"W",5,X)) Q:X<1 S ^TMP($J,"GMR","O",X)=$G(^UTILITY($J,"W",5,X,0))
  1. .W ! F I=1:1:132 W "-"
  1. .W !,"Section B. Part 7. Other Relevant History Continued" S GMRAX=0
  1. .F S GMRAX=$O(^TMP($J,"GMR","O",GMRAX)) Q:GMRAX<1 D Q:GMRAOUT
  1. ..W !,^TMP($J,"GMR","O",GMRAX)
  1. ..Q
  1. .Q
  1. I $D(^TMP($J,"GMR","C")) D
  1. .W ! F I=1:1:132 W "-"
  1. .W !,"Section C. Part 10. Concomitant Drugs Continued" S GMRAX=0
  1. .F S GMRAX=$O(^TMP($J,"GMR","C",GMRAX)) Q:GMRAX<1 D Q:GMRAOUT
  1. ..W !,$P(^TMP($J,"GMR","C",GMRAX),"^"),?60 S X=$P(^(GMRAX),"^",2) W:X]"" $E(X,4,5),"/",$E(X,6,7),"/",$E(X,2,3) S X=$P(^(GMRAX),"^",3) W:X]"" "-",$E(X,4,5),"/",$E(X,6,7),"/",$E(X,2,3)
  1. ..Q
  1. .Q
  1. Q
  1. EXIT ;
  1. K ^TMP($J,"GMR")
  1. D KILL^XUSCLEAN
  1. Q
  1. LKP ; ADDITIONAL LOOKUP ON 120.85
  1. N GMRA S GMRA=$G(^GMR(120.85,+Y,0))
  1. I $P(GMRA,U)'="" W " ",$$FMTE^XLFDT($P(^GMR(120.85,+Y,0),U),"2S")
  1. I $P(GMRA,U,15)'="" W " ",$P($G(^GMR(120.8,$P(GMRA,U,15),0)),U,2)
  1. W $E(@(DIC_+Y_",0)"),0)
  1. Q
  1. SET ; set up variables for question mark help
  1. S X=GMRANAM,DLAYGO=120.85,DIC="^GMR(120.85,",DIC(0)="E",D="D",DIC("W")="D LKP^GMRAFDA1",DZ="??"
  1. S DIC("S")="I $P(^(0),U,2)=DFN S GMRA1208=+$P(^(0),U,15) I $$ERCHK^GMRAFDA1"
  1. Q
  1. ERCHK() ; check for "ER" node to screen out entered-in-error entries
  1. I '$D(^GMR(120.8,+GMRA1208,0)) Q 1
  1. I '$D(^GMR(120.8,+GMRA1208,"ER")) Q 1
  1. Q 0