| 1 | GMTSXAC ; SLC/KER - List Parameters/Compile Method        ; 02/27/2002
 | 
|---|
| 2 |  ;;2.7;Health Summary;**47,49**;Oct 20, 1995
 | 
|---|
| 3 |  Q
 | 
|---|
| 4 |  ;                        
 | 
|---|
| 5 |  ; External References
 | 
|---|
| 6 |  ;                        
 | 
|---|
| 7 |  ;   None
 | 
|---|
| 8 |  ;                        
 | 
|---|
| 9 |  ; This routine expects:
 | 
|---|
| 10 |  ;                                 
 | 
|---|
| 11 |  ;   GMTSUSR    Pointer to User
 | 
|---|
| 12 |  ;                        
 | 
|---|
| 13 | EN ; Main Entry
 | 
|---|
| 14 |  N GMTSG D CPL,SH Q
 | 
|---|
| 15 | EN1 ; Display Compile Method - Single ? Help
 | 
|---|
| 16 |  N GMTSG S GMTSG=1 D CPLH Q
 | 
|---|
| 17 | EN2 ; Display Compile Method - Double ?? Help
 | 
|---|
| 18 |  N GMTSG S GMTSG=1 D CPL Q
 | 
|---|
| 19 | EN3 ; Display Preferred Compile Method
 | 
|---|
| 20 |  N GMTSG D CPL Q
 | 
|---|
| 21 |  ;                                      
 | 
|---|
| 22 | CPL ; Compile Method
 | 
|---|
| 23 |  N GMTSPRE,GMTSCPL,GMTSCPA,GMTSCPI,GMTSM,GMTSALW,GMTSU,GMTSO D EN^GMTSXAW
 | 
|---|
| 24 |  S (GMTSO,GMTSU)=+($G(GMTSUSR)) S:+GMTSU=0 GMTSU=+($G(DUZ)) N GMTSUSR S GMTSUSR=GMTSU
 | 
|---|
| 25 |  S GMTSPRE=$$PRE^GMTSXAL(+($G(GMTSUSR))),GMTSM=$L(GMTSPRE,";") Q:'$L(GMTSPRE)
 | 
|---|
| 26 |  S GMTSCPL=$$CPL^GMTSXAL(+($G(GMTSUSR)))
 | 
|---|
| 27 |  S:(+($G(GMTSO))=.5)&('$L(GMTSCPL)) GMTSCPL=1
 | 
|---|
| 28 |  I +($G(GMTSG))'>0 D:+GMTSCPL>0 CPLA D:+GMTSCPL'>0 CPLO D BL
 | 
|---|
| 29 |  I +($G(GMTSG))>0 D CPLH,BL,CPLA,BL,TL("   OR ---"),BL,CPLO
 | 
|---|
| 30 |  Q
 | 
|---|
| 31 | CPLH ;   Compile Help - Header
 | 
|---|
| 32 |  D TL("   Health Summary Types may be added to CPRS reports tab by either appending")
 | 
|---|
| 33 |  D TL("   them to the list or by overwriting existing Health Summaries on the list.") Q
 | 
|---|
| 34 | CPLA ;   Compile = Append
 | 
|---|
| 35 |  N GMTSI,GMTSC,GMTSH,GMTSN,GMTSE,GMTSA,GMTST,GMTSP,GMTSL,GMTSM
 | 
|---|
| 36 |  S GMTSP=$G(GMTSPRE) Q:$L(GMTSP,";")'>1  S (GMTSC,GMTSL)=0,GMTSM="A"
 | 
|---|
| 37 |  S:+($G(GMTSO))=.5 GMTSP=$$DEF^GMTSXAW
 | 
|---|
| 38 |  F GMTSI=1:1 S GMTST=$P($G(GMTSP),";",GMTSI) Q:'$L(GMTST)  D
 | 
|---|
| 39 |  . S:$P($G(GMTSP),";",(GMTSI+1))="" GMTSL=1
 | 
|---|
| 40 |  . I GMTST="NAT" S GMTSC=GMTSC+1,GMTSN="National",GMTSA=GMTST D:GMTSC=1&(+($G(GMTSG))'>0) CPLT D CPLP Q
 | 
|---|
| 41 |  . S GMTSE=+($O(GMTSALW("B",GMTST,0))) Q:+GMTSE=0  S GMTSE=$G(GMTSALW(+GMTSE))
 | 
|---|
| 42 |  . S GMTSA=$P(GMTSE,"^",1) Q:'$L(GMTSA)  S GMTSN=$P(GMTSE,"^",4) Q:'$L(GMTSN)  S GMTSC=GMTSC+1 D:GMTSC=1&(+($G(GMTSG))'>0) CPLT D CPLP
 | 
|---|
| 43 |  Q
 | 
|---|
| 44 | CPLO ;   Compile = Overwrite
 | 
|---|
| 45 |  N GMTSI,GMTSC,GMTSH,GMTSN,GMTSE,GMTSA,GMTST,GMTSP,GMTSL,GMTSM,GMTSNAT S GMTSP=$G(GMTSPRE) Q:$L(GMTSP,";")'>1  S (GMTSNAT,GMTSL,GMTSC)=0,GMTSM="O"
 | 
|---|
| 46 |  S:+($G(GMTSO))=.5 GMTSP=$$DEF^GMTSXAW
 | 
|---|
| 47 |  F GMTSI=$L(GMTSP,";"):-1 S GMTST=$P($G(GMTSP),";",GMTSI) Q:'$L(GMTST)  Q:GMTSI=0  D
 | 
|---|
| 48 |  . S:$P($G(GMTSP),";",(GMTSI-1))="" GMTSL=1 S:GMTSI-1=0 GMTSL=1 I GMTST="NAT" S GMTSNAT=1 Q
 | 
|---|
| 49 |  . S GMTSE=+($O(GMTSALW("B",GMTST,0))) Q:+GMTSE=0  S GMTSE=$G(GMTSALW(+GMTSE))
 | 
|---|
| 50 |  . S GMTSA=$P(GMTSE,"^",1) Q:'$L(GMTSA)  S GMTSN=$P(GMTSE,"^",4) Q:'$L(GMTSN)
 | 
|---|
| 51 |  . S GMTSC=GMTSC+1 D:GMTSC=1&(+($G(GMTSG))'>0) CPLT D CPLP
 | 
|---|
| 52 |  I +GMTSNAT>0 S GMTSC=+($G(GMTSC))+1,GMTSN="National",(GMTSA,GMTST)="NAT" D:GMTSC=1&(+($G(GMTSG))'>0) CPLT D CPLP
 | 
|---|
| 53 |  D:$G(GMTSP)["NAT" INDP
 | 
|---|
| 54 |  Q
 | 
|---|
| 55 | CPLP ;   Compile Parameter
 | 
|---|
| 56 |  Q:'$L($G(GMTST))  Q:'$L($G(GMTSN))  Q:'$L($G(GMTSA))  Q:'$L(GMTSM)
 | 
|---|
| 57 |  N GMTSP S:GMTSM="A" GMTSH=$S(+($G(GMTSC))=1:"Add",1:"Append with") S:GMTSM="O" GMTSH=$S(+($G(GMTSC))=1:"Add",1:"Overwrite with")
 | 
|---|
| 58 |  S GMTSL=+($G(GMTSL)) S:GMTST="NAT"&(GMTSC>1) GMTSH="Add" S:GMTST'="NAT" GMTSP="     "_GMTSH_" "_GMTSN_" Defined Summary Types" S:GMTST="NAT" GMTSP="     "_GMTSH_" National Defined Summary Types"
 | 
|---|
| 59 |  S:+($G(GMTSC))>1 GMTSP=GMTSP_" (if found)" S:+($G(GMTSC))=1 GMTSP=GMTSP_" to the list" S:+GMTSL'>0 GMTSP=GMTSP_", then" D TL(GMTSP)
 | 
|---|
| 60 |  Q
 | 
|---|
| 61 | CPLT ;   Compile Title
 | 
|---|
| 62 |  D BL,TL(" Method for building the List:    "),AL(($S(+($G(GMTSCPL))'>0:"Overwrite",1:"Append"))),BL Q
 | 
|---|
| 63 | INDP ;   Independent Types
 | 
|---|
| 64 |  N GMTSI,GMTSPA,GMTSPT,GMTSPI,GMTSPE,GMTSMSG,GMTSX,GMTST,GMTSL,GMTSR,GMTSS,GMTSN
 | 
|---|
| 65 |  S GMTSN="       ",GMTSPT=$$DEF^GMTSXAW
 | 
|---|
| 66 |  F GMTSI=1:1 S GMTSPA=$P(GMTSPT,";",GMTSI) Q:'$L(GMTSPA)  D
 | 
|---|
| 67 |  . S GMTSPI=$$ETI^GMTSXAW3(GMTSPA),GMTSPE=$$EMC^GMTSXAW3(+($G(GMTSPI))),GMTSX=$G(GMTSX)_", "_GMTSPE
 | 
|---|
| 68 |  S:$E(GMTSX,1,2)=", " GMTSX=$E(GMTSX,3,$L(GMTSX)) S:$L(GMTSX,", ")>1 GMTSX=$P(GMTSX,", ",1,($L(GMTSX,", ")-1))_" and "_$P(GMTSX,", ",$L(GMTSX,", "))
 | 
|---|
| 69 |  S GMTST="National Health Summary Types are added to the list",GMTSL=$L(GMTST),GMTST="Note:  "_GMTST,GMTST=GMTSN_GMTST D BL,TL(GMTST)
 | 
|---|
| 70 |  S GMTSN=GMTSN_"       ",GMTST="independently of "_$S($L(GMTSX):GMTSX,1:"other")_" defined types, and placed on the list in the order specified by the precedence."
 | 
|---|
| 71 |  D INDPT
 | 
|---|
| 72 |  Q
 | 
|---|
| 73 | INDPT ;   Independent Types (text)
 | 
|---|
| 74 |  I $L(GMTST)'>GMTSL S GMTST=GMTSN_GMTST D TL(GMTST) Q
 | 
|---|
| 75 |  F  Q:'$L(GMTST)  D INDPL
 | 
|---|
| 76 |  Q
 | 
|---|
| 77 | INDPL ;   Independent Types (long text)
 | 
|---|
| 78 |  I $L(GMTST)'>GMTSL D TL((GMTSN_GMTST)) S GMTST="" Q
 | 
|---|
| 79 |  N GMTSREM,GMTSSTO,GMTSI F GMTSI=1:1 Q:$L($P(GMTST," ",1,GMTSI))>GMTSL  Q:'$L($P(GMTST," ",GMTSI))
 | 
|---|
| 80 |  S GMTSSTO=$$TRIM^GMTSXA($P(GMTST," ",1,(GMTSI-1))," "),GMTSREM=$$TRIM^GMTSXA($P(GMTST," ",GMTSI,299)," ")
 | 
|---|
| 81 |  D:$L(GMTSSTO) TL((GMTSN_GMTSSTO)) S GMTST=GMTSREM
 | 
|---|
| 82 |  Q
 | 
|---|
| 83 |  ;                               
 | 
|---|
| 84 |  ; Miscellaneous
 | 
|---|
| 85 | SH ;   Show ^TMP Global
 | 
|---|
| 86 |  N GMTSN,GMTSC,GMTSW S GMTSN="^TMP(""GMTSXAD"","_$J_",0)",GMTSC="^TMP(""GMTSXAD"","_$J_",",GMTSW="^TMP(""GMTSXAD"","_$J_",0)"
 | 
|---|
| 87 |  F  S GMTSN=$Q(@GMTSN) Q:GMTSN=""!(GMTSN'[GMTSC)  W:GMTSN'[GMTSW !,@GMTSN
 | 
|---|
| 88 |  K ^TMP("GMTSXAD",$J)
 | 
|---|
| 89 |  Q
 | 
|---|
| 90 | BL ;   Blank Line
 | 
|---|
| 91 |  D TL("") Q
 | 
|---|
| 92 | TL(X) ;   Text Line
 | 
|---|
| 93 |  I +($G(GMTSG))>0 W !,$G(X) Q
 | 
|---|
| 94 |  N GMTSC S X=$G(X),GMTSC=+($G(^TMP("GMTSXAD",$J,0))),GMTSC=GMTSC+1,^TMP("GMTSXAD",$J,GMTSC,0)=X,^TMP("GMTSXAD",$J,0)=GMTSC Q
 | 
|---|
| 95 | AL(X) ;   Append Line
 | 
|---|
| 96 |  I +($G(GMTSG))>0 W $G(X) Q
 | 
|---|
| 97 |  N GMTSC S X=$G(X),GMTSC=+($G(^TMP("GMTSXAD",$J,0))),^TMP("GMTSXAD",$J,GMTSC,0)=$G(^TMP("GMTSXAD",$J,GMTSC,0))_X,^TMP("GMTSXAD",$J,0)=GMTSC Q
 | 
|---|