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

GMRADSP8.m

Go to the documentation of this file.
GMRADSP8 ;HIRMFO/WAA-DISPLAY ALLERGY ;9/6/95  11:06
 ;;4.0;Adverse Reaction Tracking;;Mar 29, 1996
DISPLAY(ARRAY) ;This subroutine will print out the Reactant
 ; ARRAY is the array that is passed
 N CNT
 Q:'$D(ARRAY)
 D WRITE(1,0,.ARRAY,.GMRAOUT,"HEAD^GMRADSP8")
 Q
 W #
 D WRITE(2,68,"OBS/")
 D WRITE(1,0,"REACTANT"),WRITE(0,53,"VER."),WRITE(0,59," MECH. "),WRITE(0,68,"HIST"),WRITE(0,74,"TYPE")
 D WRITE(1,0,"--------"),WRITE(0,53,"----"),WRITE(0,59,"-------"),WRITE(0,68,"----"),WRITE(0,74,"----")
 Q
 ;
WRITE(NL,TAB,STRING,GMRAOUT,HEAD) ; This will display all the
 ; text in a given string.
 ; Requited Variables:
 ;       NL = Numeric repersentation of New lines
 ;          = 0 No new line
 ;      TAB = Number of tab spaces from the las given position
 ;   STRING = The array of text to be printed.
 ;   STRING(X) = Continue of string
 ;               NOTE: This continuation will line feed and tab the same
 ;                     as the string itself.
 ; Optional variables
 ;   GMRAOUT = The status of the Up-arrow out of a system.
 ;          = "" use Page break function
 ;     HEAD = HEADER SUB-ROUTINE
 ;
 S GMRAOUT=$G(GMRAOUT),HEAD=$G(HEAD)
 N GMAI,GMAX
 I $G(STRING)'="" D  Q:GMRAOUT  W ?TAB,STRING
 .I NL F GMAI=1:1:NL S:GMRAOUT'="" GMRAOUT=$$PAGE(HEAD) Q:GMRAOUT  W !
 .Q
 S GMAX=0 F  S GMAX=$O(STRING(GMAX)) Q:GMAX<1  D  Q:GMRAOUT  W ?TAB,STRING(GMAX)
 .I NL F GMAI=1:1:NL S:GMRAOUT'="" GMRAOUT=$$PAGE(HEAD) Q:GMRAOUT  W !
 .Q
 Q
PAGE(HEAD) ; Bottom of page program
 ; Input variable:
 ;      HEAD = Header program to be run
 ;
 S GMRAOUT=0
 D:$Y>(IOSL-3)
 .N DIR,Y
 .S DIR(0)="E",DIR("A")="Press RETURN to continue or '^' to stop listing"
 .S DIR("?")="     Press RETURN to continue, '^' stop reactant listing."
 .W ! D ^DIR I Y D:HEAD'="" @HEAD Q  ;User hit return
 .I $D(DTOUT)!$D(DIROUT) S GMRAOUT=1
 .I $D(DUOUT) S GMRAOUT=2
 .K DIROUT,DTOUT,DIRUT,DUOUT
 .Q
 Q GMRAOUT