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

GMTSADHC.m

Go to the documentation of this file.
  1. GMTSADHC ; SLC/KER - Ad Hoc Summary Driver ; 09/21/2001
  1. ;;2.7;Health Summary;**6,27,28,30,31,35,47**;Oct 20, 1995
  1. ;
  1. ; External References
  1. ; DBIA 10060 ^VA(200
  1. ; DBIA 2160 ^XUTL("OR")
  1. ; DBIA 10141 $$VERSION^XPDUTL
  1. ; DBIA 148 PATIENT^ORU1
  1. ; DBIA 82 EN^XQORM
  1. ; DBIA 10026 ^DIR
  1. ; DBIA 10102 DISP^XQORM1
  1. ;
  1. MAIN ; Ad Hoc Summary Driver
  1. N I,XQORSPEW,%T S DIC=142,DIC(0)="MZF",X="GMTS HS ADHOC OPTION",Y=$$TYPE^GMTSULT K DIC Q:+Y'>0 S GMTSTYP=+Y,GMTSTITL="AD HOC"
  1. F D Q:$D(DUOUT)!$D(DIROUT)!'$D(GMTSEG)
  1. . K GMTSEG,GMTSEGI,GMTSEGC D BUILD Q:$D(DUOUT)!$D(DIROUT)!'$D(GMTSEG)
  1. . N GMPAT,GMP F Q:$D(DIROUT) D Q:$D(DUOUT)!$D(DIROUT)!(+$D(GMPAT)'>0)!+$G(ORVP)
  1. . . K GMP,GMPAT
  1. . . I +$G(ORVP) S GMPAT(1)=+ORVP
  1. . . E F Q:$D(DIROUT) K ^XUTL("OR",$J,"ORU"),^("ORV"),^("ORW"),^("ORLP"),GMP D PTPC Q:$S($D(DUOUT):1,$D(DIROUT):1,'+$G(GMP):1,$P($G(^VA(200,DUZ,100.1)),U,6)]"":1,1:0) D
  1. . . . W !!,"Another patient(s) can be selected."
  1. . . Q:$D(DUOUT)!$D(DIROUT)!(+$D(GMPAT)'>0)
  1. . . D RESUB^GMTSDVR(.GMPAT) S ZTRTN="PQ^GMTSADHC" W !
  1. . . D HSOUT^GMTSDVR
  1. K ^XUTL("OR",$J,"ORU"),^("ORV"),^("ORW"),^("ORLP")
  1. Q
  1. PTPC ; Combined Patient/Patient Copy
  1. N GMTSPRO,GMTSVER S GMTSVER=+($$VERSION^XPDUTL("OR")),GMTSPRO=+($$PROK^GMTSU("ORU1",11))
  1. D:GMTSVER>2.9&(GMTSPRO) PATIENT^ORU1(.GMP,,"I $P($G(^(""OOS"")),""^"")")
  1. D:GMTSVER'>2.9!('GMTSPRO) PATIENT^ORU1(.GMP) D PATCOPY^GMTSDVR(.GMP,.GMPAT)
  1. Q
  1. PQ ; Queued subroutine to print Ad Hoc HS for each patient
  1. N GMTS,GMTS1,GMTS2,GMTSAGE,GMTSDOB,GMTSDTM,GMTSLO,GMTSLPG,GMTSPHDR,GMTSPNM,GMTSRB,GMTSSN,GMTSTOF,GMTSWARD,VADM,VAERR,VAIN,VAROOT
  1. S GMPAT=0 F S GMPAT=$O(GMPAT(GMPAT)) Q:GMPAT'>0 D Q:$D(GMTSQIT)!$D(DIROUT)
  1. . S DFN=+$G(GMPAT(GMPAT)) D EN^GMTS1
  1. Q
  1. BUILD ; Conducts Dialogue to build ad hoc summary
  1. N GMI,GMJ,X,XQORM,Y Q:$D(GMTSQIT)!($D(DIROUT)) W @IOF
  1. S XQORM("S")="I $D(^GMT(142,DA(1),1,DA,0)),($P(^GMT(142.1,$P(^GMT(142,DA(1),1,DA,0),U,2),0),U,6)'=""T"")",XQORM("M")=6
  1. S XQORM=GMTSTYP_";GMT(142,",XQORM(0)="AD",XQORM("A")="Select NEW set of COMPONENT(S): ",XQORM("??")="D HELP^GMTSADH" D EN^XQORM I Y'>0 S GMTSQIT="" Q
  1. I +Y,(X?1"^^".E) G BUILD
  1. S GMTSEGC=Y
  1. S (X,GMI,GMJ)=0 F S GMI=$O(Y(GMI)) Q:'GMI D LOAD
  1. D GETLIM^GMTSADH1
  1. Q
  1. LOAD ; Load enabled components
  1. N SREC,STRN S STRN=+Y(GMI),SREC=^GMT(142,GMTSTYP,1,STRN,0)
  1. LOAD1 ; Load GMTSEG and GMTSEGI arrays
  1. S GMJ=GMJ+1,GMTSEG(GMJ)=SREC,GMTSEGI($P(SREC,U,2))=GMJ D LOADSEL
  1. Q
  1. LOADSEL ; Loads GMTSEG(J,FN,IFN) (Selection Items)
  1. N SR,SF,S2,SEL S S2=0 F S S2=$O(^GMT(142,GMTSTYP,1,STRN,1,S2)) Q:'S2 D
  1. . S SEL=^(S2,0),SR=U_$P(SEL,";",2) Q:SR="^"
  1. . S SF=+$P(@(SR_"0)"),U,2) Q:+SF=0
  1. . S GMTSEG(GMJ,SF,S2)=$P(SEL,";"),GMTSEG(GMI,SF,0)=SR
  1. Q
  1. HELP ; Display Help Text
  1. N GMJ,GMTSTXT,HLP S HLP=$S(X="??":"HTX2",X="?":"HTX1",1:"") I $L(HLP) W ! F GMJ=1:1 S GMTSTXT=$T(@HLP+GMJ) Q:GMTSTXT["ZZZZ" W !,$P(GMTSTXT,";",3,99)
  1. I X="???" W !! D HELP2^GMTSUP1
  1. D REDISP
  1. Q
  1. REDISP ; Ask Whether or not to redisplay menu
  1. N I,DIR,X,Y S DIR(0)="Y",DIR("A")="Redisplay items",DIR("B")="YES" D ^DIR Q:'Y W @IOF
  1. D DISP^XQORM1 W !
  1. Q
  1. HTX1 ; Help Text for "?" and "??"
  1. ;;Select ONE or MORE items from the menu, separated by commas.
  1. ;;
  1. ;;Enter: ?? to see HELP for MULTIPLE SELECTION
  1. ;; ??? to see HELP for "^^"-jump
  1. ;;
  1. ;;ZZZZ
  1. HTX2 ; Help Text for ??
  1. ;;
  1. ;;The Health Summary components you select at this prompt create
  1. ;;an ADHOC Health Summary.
  1. ;;
  1. ;;Select ONE or MORE items from the menu, separated by commas.
  1. ;;
  1. ;;ALL items may be selected by typing "ALL".
  1. ;;
  1. ;;EXCEPTIONS may be entered by preceding them with a minus.
  1. ;; For example, "ALL,-THIS,-THAT" selects all but "THIS" and "THAT".
  1. ;;
  1. ;;NOTE: Menu items are ordered alphabetically by the Component NAME.
  1. ;; However, the displayed text is the Header Name which generally
  1. ;; is different from the Component Name. Component may be picked
  1. ;; by their abbreviation, Header Name or Component Name.
  1. ;;
  1. ;;ZZZZ