| 1 | GMTSXAW ; SLC/KER - List Parameters/Allowable             ; 02/27/2002
 | 
|---|
| 2 |  ;;2.7;Health Summary;**47,49**;Oct 20, 1995
 | 
|---|
| 3 |  Q
 | 
|---|
| 4 |  ;                                
 | 
|---|
| 5 | EN ; Main Entry Point for Health Summary
 | 
|---|
| 6 |  K GMTSALW Q:'$L($$UNM^GMTSXAW3(+($G(DUZ))))
 | 
|---|
| 7 |  D ALW("ORWRP HEALTH SUMMARY TYPE LIST",.GMTSALW,+($G(DUZ)),"GMTS") Q
 | 
|---|
| 8 | EN2(X) ; Entry for User X
 | 
|---|
| 9 |  K GMTSALW N GMTSUSR S GMTSUSR=+($G(X)) Q:'$L($$UNM^GMTSXAW3(+($G(GMTSUSR))))
 | 
|---|
| 10 |  D ALW("ORWRP HEALTH SUMMARY TYPE LIST",.GMTSALW,GMTSUSR,"GMTS") Q
 | 
|---|
| 11 | DEF(X) ; Default Entities for HS Typye List
 | 
|---|
| 12 |  ;                    
 | 
|---|
| 13 |  ;   Use
 | 
|---|
| 14 |  ;      DIV  Division          If exist
 | 
|---|
| 15 |  ;      SYS  System            Exported Entity
 | 
|---|
| 16 |  ;      SRV  Service           If exist
 | 
|---|
| 17 |  ;      OTL  OERR Team List    If exist
 | 
|---|
| 18 |  ;      USR  User              Exported Entity
 | 
|---|
| 19 |  ;      CLS  User Class        If exist
 | 
|---|
| 20 |  ;                    
 | 
|---|
| 21 |  ;   Exclude
 | 
|---|
| 22 |  ;      DEV  Device
 | 
|---|
| 23 |  ;      PKG  Package
 | 
|---|
| 24 |  ;      LOC  Location
 | 
|---|
| 25 |  ;      TEA  PCMM Team
 | 
|---|
| 26 |  ;      BED  Room/Bed
 | 
|---|
| 27 |  ;                    
 | 
|---|
| 28 |  N GMTSI,GMTSEP,GMTSES,GMTSEA,GMTSC,GMTSPAR,GMTSMSG,GMTSX,GMTSALW
 | 
|---|
| 29 |  S (GMTSI,GMTSC)=0,GMTSX="",GMTSPAR=$$HSD^GMTSXAW3 Q:+GMTSPAR=0 ""
 | 
|---|
| 30 |  D LST^GMTSXAW3(GMTSPAR,.GMTSALW)
 | 
|---|
| 31 |  F  S GMTSI=$O(^TMP("DILIST",$J,"ID",GMTSI)) Q:+GMTSI=0  D
 | 
|---|
| 32 |  . S GMTSES=+($G(^TMP("DILIST",$J,"ID",GMTSI,.01))) Q:+GMTSES'>0
 | 
|---|
| 33 |  . S GMTSEP=+($G(^TMP("DILIST",$J,"ID",GMTSI,.02))) Q:+GMTSEP'>0
 | 
|---|
| 34 |  . S GMTSEA=$$EAB^GMTSXAW3(+($G(GMTSEP)))
 | 
|---|
| 35 |  . Q:$L(GMTSEA)'=3  S GMTSX(+GMTSES)=GMTSEA
 | 
|---|
| 36 |  S GMTSI=0 F  S GMTSI=$O(GMTSX(GMTSI)) Q:+GMTSI=0  S:$G(GMTSX(GMTSI))?3U X=$G(X)_";"_GMTSX(GMTSI)
 | 
|---|
| 37 |  S X=$$UP^GMTSXA($$TRIM^GMTSXA(X,";"))
 | 
|---|
| 38 |  K ^TMP("DILIST",$J)
 | 
|---|
| 39 |  Q X
 | 
|---|
| 40 |  ;            
 | 
|---|
| 41 | ALW(GMTSPAR,GMTSALW,GMTSUSR,GMTSPKG) ; Allowable Entities
 | 
|---|
| 42 |  ;            
 | 
|---|
| 43 |  ;   GMTSPAR     Parameter Name                     Required
 | 
|---|
| 44 |  ;  .GMTSALW     Output Ary for Allowable Entities  Required
 | 
|---|
| 45 |  ;   GMTSUSR     User (pointer)                     Required
 | 
|---|
| 46 |  ;   GMTSPKG     Package Prefix (text)              Optional
 | 
|---|
| 47 |  ;            
 | 
|---|
| 48 |  N GMTSPDEF,GMTSI,GMTSEC,GMTSPV,GMTSLL,GMTSUN,GMTSCALL
 | 
|---|
| 49 |  S GMTSPKG=$G(GMTSPKG),GMTSPAR=$G(GMTSPAR),GMTSUSR=$G(GMTSUSR)
 | 
|---|
| 50 |  Q:'$L($$UNM^GMTSXAW3(+($G(GMTSUSR))))
 | 
|---|
| 51 |  S GMTSPDEF=$$PDI^GMTSXAW3(GMTSPAR) Q:+GMTSPDEF=0  D ALWD(GMTSPDEF,.GMTSALW) S GMTSI=""
 | 
|---|
| 52 |  F  S GMTSI=$O(GMTSALW("B",GMTSI)) Q:GMTSI=""  D
 | 
|---|
| 53 |  . S GMTSEC=+($O(GMTSALW("B",GMTSI,0))) Q:GMTSEC=0  D
 | 
|---|
| 54 |  . . S GMTSLL=GMTSI,GMTSCALL=GMTSLL_"^GMTSXAW2" D GET
 | 
|---|
| 55 |  Q
 | 
|---|
| 56 | CHK(GMTSALW,GMTSUSR,GMTSPKG) ; Check values Only
 | 
|---|
| 57 |  ;            
 | 
|---|
| 58 |  ;  .GMTSALW     Output Array for values            Required
 | 
|---|
| 59 |  ;   GMTSUSR     User (pointer)                     Required
 | 
|---|
| 60 |  ;   GMTSPKG     Package Prefix (namespace)         Optional
 | 
|---|
| 61 |  ;            
 | 
|---|
| 62 |  N GMTSCHK S GMTSCHK=1 D V2
 | 
|---|
| 63 |  Q
 | 
|---|
| 64 | VAL(GMTSALW,GMTSUSR,GMTSPKG) ; All Values and Pointers
 | 
|---|
| 65 |  ;            
 | 
|---|
| 66 |  ;  .GMTSALW     Output Array for values            Required
 | 
|---|
| 67 |  ;   GMTSUSR     User (pointer)                     Required
 | 
|---|
| 68 |  ;   GMTSPKG     Package Prefix (namespace)         Optional
 | 
|---|
| 69 |  ;            
 | 
|---|
| 70 | V2 ; Get Values and Pointers
 | 
|---|
| 71 |  N GMTSU,GMTSPV S GMTSU=+($G(GMTSUSR)) S:+($G(GMTSUSR))=0 GMTSU=+($G(DUZ))
 | 
|---|
| 72 |  N GMTSUSR S GMTSUSR=GMTSU Q:'$L($$UNM^GMTSXAW3(+($G(GMTSUSR))))
 | 
|---|
| 73 |  N GMTST,GMTSI,GMTSEC,GMTSLL,GMTSCALL,GMTSVAL S GMTSPKG=$G(GMTSPKG),GMTSVAL=1
 | 
|---|
| 74 |  S GMTSEC=0,GMTST="DEV;DIV;SYS;PKG;LOC;SRV;OTL;USR;CLS"
 | 
|---|
| 75 |  F GMTSI=1:1 Q:'$L($P(GMTST,";",GMTSI))  S GMTSLL=$P(GMTST,";",GMTSI),GMTSCALL=GMTSLL_"^GMTSXAW2" D GET
 | 
|---|
| 76 |  Q
 | 
|---|
| 77 |  ;            
 | 
|---|
| 78 | ALWD(X,Y) ; Get Allowed Entities for Parameter 
 | 
|---|
| 79 |  ;            
 | 
|---|
| 80 |  ;   X       Parameter (pointer)                    Required
 | 
|---|
| 81 |  ;  .Y       Output Array for Allowed Entities      Required
 | 
|---|
| 82 |  ;            
 | 
|---|
| 83 |  N GMTSPIEN,GMTSNAM,GMTSMSG,GMTSALW,GMTSLST,GMTSENT,GMTSPRE,GMTSCT,GMTSAL
 | 
|---|
| 84 |  S GMTSAL="",GMTSCT=0,GMTSPIEN=+($G(X)) Q:X=0  K ^TMP("DILIST",$J)
 | 
|---|
| 85 |  S GMTSNAM=$$PDN^GMTSXAW3(+GMTSPIEN) Q:'$L(GMTSNAM)
 | 
|---|
| 86 |  D LST^GMTSXAW3(GMTSPIEN,.GMTSALW)
 | 
|---|
| 87 |  S GMTSLST=0 F  S GMTSLST=$O(^TMP("DILIST",$J,"ID",GMTSLST)) Q:+GMTSLST=0  D
 | 
|---|
| 88 |  . S GMTSENT=+($G(^TMP("DILIST",$J,"ID",GMTSLST,.02)))
 | 
|---|
| 89 |  . S GMTSPRE=$$EAB^GMTSXAW3(+($G(GMTSENT))) Q:'$L(GMTSPRE)  S GMTSCT=GMTSCT+1
 | 
|---|
| 90 |  . S Y(GMTSCT)=GMTSPRE_"^"_$$EFN^GMTSXAW3(+($G(GMTSENT)))_"^"_$$ENM^GMTSXAW3(+($G(GMTSENT)))_"^"_$$EMC^GMTSXAW3(+($G(GMTSENT)))
 | 
|---|
| 91 |  . S Y("B",GMTSPRE,GMTSCT)=$G(Y(GMTSCT)),GMTSAL=GMTSAL_";"_$$UP^GMTSXA(GMTSPRE)
 | 
|---|
| 92 |  K ^TMP("DILIST",$J) S Y("ALLOWABLE")=$$TRIM^GMTSXA(GMTSAL,";"),Y(0)=GMTSCT
 | 
|---|
| 93 |  Q
 | 
|---|
| 94 |  ; Parameter Entites
 | 
|---|
| 95 | GET ;   Get Entities
 | 
|---|
| 96 |  S GMTSLL=$G(GMTSLL),GMTSCALL=$G(GMTSCALL) Q:'$L($T(@GMTSCALL))  K GMTSPV D @GMTSCALL
 | 
|---|
| 97 |  N GMTS,GMTSA,GMTSP,GMTSN,GMTSC,GMTSV S GMTS=0
 | 
|---|
| 98 |  F  S GMTS=$O(GMTSPV(GMTS)) Q:+GMTS=0  D
 | 
|---|
| 99 |  . S GMTSA=$G(GMTSPV(GMTS)),GMTSP=$P(GMTSA,"^",2)
 | 
|---|
| 100 |  . Q:GMTSP'[";"  S GMTSN=$P(GMTSA,"^",3) Q:'$L(GMTSN)
 | 
|---|
| 101 |  . S GMTSC=+($G(GMTSEC)),GMTSV=+($G(GMTSVAL))+($G(GMTSCHK))
 | 
|---|
| 102 |  . S GMTSA=$P(GMTSA,"^",1) Q:$L(GMTSA)'=3
 | 
|---|
| 103 |  . D SET^GMTSXAW3(GMTSA,GMTSP,GMTSN,.GMTSALW,GMTSC,GMTSV)
 | 
|---|
| 104 |  Q
 | 
|---|
| 105 | TST ;   Test entry
 | 
|---|
| 106 |  N GMTSEC,GMTSI,GMTSLL,GMTSCALL,GMTSU,GMTSPV,GMTSPKG,GMTSN,GMTSC,GMTSA,GMTSP,GMTST,GMTSV
 | 
|---|
| 107 |  S GMTSEC=0,GMTSPKG="GMTS" S:'$L($G(GMTST)) GMTST="DEV;DIV;SYS;PKG;LOC;SRV;OTL;USR;CLS",GMTSPKG="GMTS"
 | 
|---|
| 108 |  S GMTSU=+($G(GMTSUSR)) S:GMTSU'>0 GMTSU=+($G(DUZ)) Q:GMTSU'>0  N GMTSUSR S GMTSUSR=GMTSU
 | 
|---|
| 109 |  F GMTSI=1:1 Q:'$L($P(GMTST,";",GMTSI))  D
 | 
|---|
| 110 |  . S GMTSLL=$P(GMTST,";",GMTSI),GMTSCALL=GMTSLL_"^GMTSXAW2"
 | 
|---|
| 111 |  . W !!,GMTSLL,?8,$$EMC^GMTSXAW3($$ETI^GMTSXAW3(GMTSLL))
 | 
|---|
| 112 |  . Q:'$L($T(@GMTSCALL))  K GMTSPV D @GMTSCALL Q:'$D(GMTSPV)
 | 
|---|
| 113 |  . S GMTSEC=0 S:$L(GMTSLL) GMTSEC=+($O(GMTSALW("B",GMTSLL,0)))
 | 
|---|
| 114 |  . S GMTSN="GMTSPV(0)",GMTSC="GMTSPV("
 | 
|---|
| 115 |  . F  S GMTSN=$Q(@GMTSN) Q:GMTSN=""!(GMTSN'[GMTSC)  W !,GMTSN,"=",@GMTSN
 | 
|---|
| 116 |  . N GMTS S GMTS=0 F  S GMTS=$O(GMTSPV(GMTS)) Q:+GMTS=0  D
 | 
|---|
| 117 |  . . S GMTSA=$G(GMTSPV(GMTS)),GMTSP=$P(GMTSA,"^",2)
 | 
|---|
| 118 |  . . Q:GMTSP'[";"  S GMTSN=$P(GMTSA,"^",3) Q:'$L(GMTSN)
 | 
|---|
| 119 |  . . S GMTSC=+($G(GMTSEC)),GMTSV=+($G(GMTSVAL))+($G(GMTSCHK))
 | 
|---|
| 120 |  . . S GMTSA=$P(GMTSA,"^",1) Q:$L(GMTSA)'=3
 | 
|---|
| 121 |  . . D SET^GMTSXAW3(GMTSA,GMTSP,GMTSN,.GMTSALW,GMTSC,GMTSV)
 | 
|---|
| 122 |  Q
 | 
|---|