1 | GMTSXPD1 ; SLC/KER - Health Summary Dist (Component) ; 08/27/2002
|
---|
2 | ;;2.7;Health Summary;**35,56**;Oct 20, 1995
|
---|
3 | ;
|
---|
4 | ; External References
|
---|
5 | ; DBIA 1023 $$FIRSTUP^VAQUTL50
|
---|
6 | ; DBIA 10006 ^DIC
|
---|
7 | ; DBIA 10018 ^DIE (file #142.1)
|
---|
8 | ; DBIA 10013 IX^DIK
|
---|
9 | ; DBIA 10103 $$NOW^XLFDT
|
---|
10 | ; DBIA 10030 ^DD(
|
---|
11 | ; DBIA 10086 HOME^%ZIS
|
---|
12 | ; DBIA 10060 ^VA(200,
|
---|
13 | ; DBIA 2056 $$GET1^DIQ (file 200)
|
---|
14 | ; DBIA 10141 BMES^XPDUTL
|
---|
15 | ; DBIA 10141 MES^XPDUTL
|
---|
16 | ;
|
---|
17 | Q
|
---|
18 | ADD(GMTSINI) ; Add Health Summary Component
|
---|
19 | ;
|
---|
20 | ; ADD(<array>)
|
---|
21 | ; GMTSIEN GMTSINI(0) Internal Entry Number File 142.1
|
---|
22 | ; GMTSNAME GMTSINI(.01) Component Name
|
---|
23 | ; GMTSRTN GMTSINI(1) Display Routine
|
---|
24 | ; GMTSEXTR GMTSINI(1.1) Extract Routine (m)
|
---|
25 | ; GMTSTIML GMTSINI(2) Time Limits Applicable
|
---|
26 | ; GMTSABBR GMTSINI(3) Abbreviation
|
---|
27 | ; GMTSDESC GMTSINI(3.5) Description (m)
|
---|
28 | ; GMTSOCCL GMTSINI(4) Occurrence Limits Applicable
|
---|
29 | ; GMTSDAF GMTSINI(5) Disable Flag (null, T or P)
|
---|
30 | ; GMTSSKEY GMTSINI(6) Security Key (Component Locking)
|
---|
31 | ; GMTSSELF GMTSINI(7) Selection File (m)
|
---|
32 | ; GMTSOOM GMTSINI(8) Out of Order Message
|
---|
33 | ; GMTSDHDN GMTSINI(9) Default Header Name
|
---|
34 | ; GMTSHOSL GMTSINI(10) Hospital Location Applicable
|
---|
35 | ; GMTSICDT GMTSINI(11) ICD Text Applicable
|
---|
36 | ; GMTSPROV GMTSINI(12) Provider Narrative Text Applicable
|
---|
37 | ; GMTSPREF GMTSINI(13) Prefix
|
---|
38 | ; GMTSCPTM GMTSINI(14) CPT Modifiers Applicable
|
---|
39 | ;
|
---|
40 | N GMTSENV S GMTSENV=$$ENV Q:'GMTSENV 0
|
---|
41 | N GMTSIEN,GMTSNAME,GMTSMNM,GMTSABBR,GMTSTAG,GMTSRTN,GMTSTIML,GMTSOCCL,GMTSSELF
|
---|
42 | N GMTSSKEY,GMTSDHDN,GMTSHOSL,GMTSICDT,GMTSPROV,GMTSDAF,GMTSOOM,GMTSINCL,GMTSPREF,GMTSCPTM
|
---|
43 | N DIE,DIK,DA,DR,DIC,DLAYGO,DINUM,X,Y,INCLUDE,GMTS,GMTSROUT,GMTSTAT
|
---|
44 | S GMTSNAME=$G(GMTSINI(.01)),GMTSMNM=$$FIRSTUP^VAQUTL50(GMTSNAME),GMTSIEN=+($G(GMTSINI(0))),GMTSRTN=$G(GMTSINI(1))
|
---|
45 | S GMTSTAG=$P(GMTSRTN,";",1),GMTSRTN=$P(GMTSRTN,";",2) S:$L(GMTSTAG)&('$L(GMTSRTN)) GMTSRTN=GMTSTAG,GMTSTAG=""
|
---|
46 | S GMTSROUT="",GMTSTAT=$D(^GMT(142.1,+GMTSIEN,0))
|
---|
47 | I '$L($G(GMTSNAME))!(+($G(GMTSIEN))'>0)!('$L($G(GMTSRTN))) Q 0
|
---|
48 | D INST S GMTS=+$O(^GMT(142.1,"B",GMTSNAME,0)) D:GMTS=GMTSIEN ALRDY I GMTS=GMTSIEN Q 0
|
---|
49 | S GMTSNAME=$$NAME^GMTSXPD2($G(GMTSNAME)) D:'$L($G(GMTSNAME)) NNAME Q:'$L(GMTSNAME) 0
|
---|
50 | S GMTSROUT=$$ROUT^GMTSXPD2((GMTSTAG_";"_GMTSRTN)) D:'$L($G(GMTSROUT)) NRTN Q:'$L(GMTSROUT) 0
|
---|
51 | S GMTSTIML=$$TIML^GMTSXPD2($G(GMTSINI(2))),GMTSABBR=$$ABBR^GMTSXPD2($G(GMTSINI(3)))
|
---|
52 | S GMTSOCCL=$$OCCL^GMTSXPD2($G(GMTSINI(4))),GMTSDAF=$$DAF^GMTSXPD2($G(GMTSINI(5)))
|
---|
53 | S GMTSSKEY=$$LOCK^GMTSXPD2($G(GMTSINI(6))),GMTSOOM=$$OOM^GMTSXPD2($G(GMTSINI(8)))
|
---|
54 | S GMTSDHDN=$$DHDN^GMTSXPD2($G(GMTSINI(9))),GMTSHOSL=$$HOSL^GMTSXPD2($G(GMTSINI(10)))
|
---|
55 | S GMTSICDT=$$ICDT^GMTSXPD2($G(GMTSINI(11))),GMTSPROV=$$PROV^GMTSXPD2($G(GMTSINI(12)))
|
---|
56 | S GMTSPREF=$$PREF^GMTSXPD2($G(GMTSINI(13))),GMTSCPTM=$$CPTM^GMTSXPD2($G(GMTSINI(14)))
|
---|
57 | S:$L(GMTSDAF)&('$L(GMTSOOM)) GMTSOOM="Component "_GMTSNAME_$S(GMTSDAF="T":" Temporarily",GMTSDAF="P":" Permanently",1:"")_" Disabled"
|
---|
58 | S DINUM=0,DIE="^GMT(142.1,",(DIC,DLAYGO)=142.1,DIC(0)="NXL",X=GMTSNAME S:'$D(^GMT(142.1,+($G(GMTSIEN)),0)) DINUM=+($G(GMTSIEN))
|
---|
59 | I +DINUM'>1 D EXIST Q 0
|
---|
60 | D ^DIC S DA=+($G(Y)) D:+($G(Y))'>0 FAILED Q:+($G(Y))'>0 0
|
---|
61 | S DR="1///^S X="""_$G(GMTSTAG)_"""_$C(59)_"""_$G(GMTSRTN)_""""
|
---|
62 | S:$L($G(GMTSTIML)) DR=DR_";2///"_GMTSTIML
|
---|
63 | S:$L($G(GMTSABBR)) DR=DR_";3///"_GMTSABBR S:$L($G(GMTSOCCL)) DR=DR_";4///"_GMTSOCCL
|
---|
64 | S:$L($G(GMTSDAF)) DR=DR_";5///"_GMTSDAF S:$L($G(GMTSSKEY)) DR=DR_";6///"_GMTSSKEY
|
---|
65 | S:$L($G(GMTSOOM)) DR=DR_";8///"_GMTSOOM S:$L($G(GMTSDHDN)) DR=DR_";9///"_GMTSDHDN
|
---|
66 | S:$L($G(GMTSHOSL)) DR=DR_";10///"_GMTSHOSL S:$L($G(GMTSICDT)) DR=DR_";11///"_GMTSICDT
|
---|
67 | S:$L($G(GMTSPROV)) DR=DR_";12///"_GMTSPROV S:$L($G(GMTSPREF)) DR=DR_";13///"_GMTSPREF
|
---|
68 | S:$L($G(GMTSCPTM)) DR=DR_";14///"_GMTSCPTM
|
---|
69 | S DIE="^GMT(142.1," D ^DIE D:$D(GMTSINI) DES(.GMTSINI),SEL(.GMTSINI),EXT(.GMTSINI)
|
---|
70 | S DIK="^GMT(142.1," D IX^DIK D:GMTSTAT&($D(^GMT(142.1,+($G(DA)),0))) SCESE D:'GMTSTAT&($D(^GMT(142.1,+($G(DA)),0))) SCESS
|
---|
71 | I $D(GMTSINI("PDX")) S GMTSNAME=$G(GMTSNAME),GMTSTIML=$G(GMTSTIML),GMTSOCCL=$G(GMTSOCCL) D PDX^GMTSXPD5(GMTSNAME,GMTSTIML,GMTSOCCL)
|
---|
72 | Q 1
|
---|
73 | ;
|
---|
74 | DES(GMTSINI) ; Description
|
---|
75 | N GMTSD0,GMTSD1,GMTSN,GMTSD,GMTSDT,GMTSIEN S GMTSIEN=+($G(GMTSINI(0))),(GMTSD0,GMTSD1)=0,GMTSDT=$P($$NOW^XLFDT,".",1)
|
---|
76 | F S GMTSD1=$O(GMTSINI(3.5,GMTSD1)) Q:+GMTSD1=0 S GMTSD0=GMTSD0+1
|
---|
77 | Q:+($G(GMTSD0))=0 S GMTSINI(3.5)=GMTSD0,GMTSD1=+($G(GMTSINI(3.5))),GMTSD0="^^"_GMTSD1_"^"_GMTSD1_"^"_GMTSDT_"^"
|
---|
78 | S GMTSN="^GMT(142.1,"_GMTSIEN_",3.5,0)",GMTSD=GMTSD0,@GMTSN=GMTSD,GMTSD1=0
|
---|
79 | F S GMTSD1=$O(GMTSINI(3.5,GMTSD1)) Q:+GMTSD1=0 S GMTSN="^GMT(142.1,"_GMTSIEN_",3.5,"_GMTSD1_",0)",GMTSD=$G(GMTSINI(3.5,GMTSD1)),@GMTSN=GMTSD
|
---|
80 | Q
|
---|
81 | SEL(GMTSINI) ; Selection Items
|
---|
82 | N GMTSD0,GMTSD1,GMTSN,GMTSF,GMTST,GMTSD,GMTSIEN S GMTSIEN=+($G(GMTSINI(0))),(GMTSD0,GMTSD1)=0
|
---|
83 | F S GMTSD1=$O(GMTSINI(7,GMTSD1)) Q:+GMTSD1=0 D
|
---|
84 | . S GMTSD=$G(GMTSINI(7,GMTSD1)),GMTSF=+($P(GMTSD,"^",1)) Q:+GMTSF=0 Q:'$D(^DD(+GMTSF)) S GMTSD0=GMTSD0+1
|
---|
85 | Q:+($G(GMTSD0))=0 S GMTSINI(7)=GMTSD0,GMTSD1=+($G(GMTSINI(7)))
|
---|
86 | S GMTSD0="^142.17P^"_GMTSD1_"^"_GMTSD1,GMTSN="^GMT(142.1,"_GMTSIEN_",1,0)",GMTSD=GMTSD0,@GMTSN=GMTSD
|
---|
87 | S GMTSD1=0 F S GMTSD1=$O(GMTSINI(7,GMTSD1)) Q:+GMTSD1=0 D
|
---|
88 | . S GMTSN="^GMT(142.1,"_GMTSIEN_",1,"_GMTSD1_",0)"
|
---|
89 | . S GMTSD=$G(GMTSINI(7,GMTSD1)),GMTSF=+($P(GMTSD,"^",1)) Q:+GMTSF=0 Q:'$D(^DD(GMTSF))
|
---|
90 | . S GMTST=+($P(GMTSD,"^",2)) S:GMTST=0 GMTST=""
|
---|
91 | . S GMTSD=GMTSF S:GMTST>0 $P(GMTSD,"^",2)=GMTST S @GMTSN=GMTSD
|
---|
92 | . S GMTSN="^GMT(142.1,"_GMTSIEN_",1,""B"","_GMTSF_","_GMTSD1_")",GMTSD="",@GMTSN=GMTSD
|
---|
93 | Q
|
---|
94 | EXT(GMTSINI) ; Extract Routines
|
---|
95 | N GMTSD0,GMTSD1,GMTSN,GMTSF,GMTST,GMTSD,GMTSIEN S GMTSIEN=+($G(GMTSINI(0))),(GMTSD0,GMTSD1)=0
|
---|
96 | F S GMTSD1=$O(GMTSINI(1.1,GMTSD1)) Q:+GMTSD1=0 D
|
---|
97 | . S GMTSD=$G(GMTSINI(1.1,GMTSD1)) Q:'$L(GMTSD) S GMTSTAG=$P(GMTSD,";",1),GMTSRTN=$P(GMTSD,";",2)
|
---|
98 | . S:$L(GMTSTAG)&('$L(GMTSRTN)) GMTSRTN=GMTSTAG,GMTSTAG="" Q:'$L(GMTSRTN) S GMTSD0=GMTSD0+1
|
---|
99 | Q:+($G(GMTSD0))=0 S GMTSINI(1.1)=GMTSD0,GMTSD1=+($G(GMTSINI(1.1)))
|
---|
100 | S GMTSD0="^142.11^"_GMTSD1_"^"_GMTSD1,GMTSN="^GMT(142.1,"_GMTSIEN_",.1,0)",GMTSD=GMTSD0,@GMTSN=GMTSD
|
---|
101 | S (GMTSD0,GMTSD1)=0 F S GMTSD1=$O(GMTSINI(1.1,GMTSD1)) Q:+GMTSD1=0 D
|
---|
102 | . S GMTSD=$G(GMTSINI(1.1,GMTSD1)) Q:'$L(GMTSD) S GMTSTAG=$P(GMTSD,";",1),GMTSRTN=$P(GMTSD,";",2) S:$L(GMTSTAG)&('$L(GMTSRTN)) GMTSRTN=GMTSTAG,GMTSTAG="" Q:'$L(GMTSRTN)
|
---|
103 | . S GMTSD0=GMTSD0+1,GMTSN="^GMT(142.1,"_GMTSIEN_",.1,"_GMTSD0_",0)",GMTSD=$G(GMTSINI(1.1,GMTSD1)),@GMTSN=GMTSD
|
---|
104 | . S GMTSN="^GMT(142.1,"_GMTSIEN_",.1,""B"","""_GMTSD_""","_GMTSD0_")",GMTSD="",@GMTSN=GMTSD
|
---|
105 | Q
|
---|
106 | ;
|
---|
107 | ; Messages
|
---|
108 | INST ; Installing Component
|
---|
109 | N GMTST S GMTST=" Filing """_$$UP(GMTSMNM)_""" component in Health Summary" D BM(GMTST) Q
|
---|
110 | ; Reasons to Abort Install
|
---|
111 | HSVNF ; Health Summary Version not found
|
---|
112 | N GMTST S GMTST=" Health Summary Version 2.7 not found" D BM(GMTST) Q
|
---|
113 | ALRDY ; Component Already Installed
|
---|
114 | N GMTST S GMTST=" Component has already been installed" D M(GMTST) Q
|
---|
115 | NNAME ; No Name
|
---|
116 | N GMTST S GMTST=" No or invalid Health Summary Component name" D M(GMTST) D NOTI Q
|
---|
117 | NRTN ; No Routine
|
---|
118 | N GMTST S GMTST=" No or invalid Health Summary display routine" D M(GMTST) D NOTI Q
|
---|
119 | FAILED ; Failed Installation
|
---|
120 | N GMTST S GMTST=" Failed to install component" D M(GMTST) Q
|
---|
121 | EXIST ; DINUMed entry Exist
|
---|
122 | N GMTST S GMTST=" Can not add component, DINUM'ed entry already exist" D M(GMTST) Q
|
---|
123 | NOTI ; Not Installed
|
---|
124 | N GMTST S GMTST=" Could not install new component" D M(GMTST) Q
|
---|
125 | ; Success
|
---|
126 | SCESS ; Successfully Installed
|
---|
127 | N GMTSD S GMTSD=0 D DISAB Q:+($G(GMTSD))
|
---|
128 | N GMTST S GMTST=" Successfully installed new component" D M(GMTST) Q
|
---|
129 | SCESE ; Successfully Edited
|
---|
130 | N GMTSD S GMTSD=0 D DISAB Q:+($G(GMTSD))
|
---|
131 | N GMTST S GMTST=" Successfully edited/updated component" D M(GMTST) Q
|
---|
132 | DISAB ; Disabled Component
|
---|
133 | Q:+($G(GMTSIEN))=0 Q:$P($G(^GMT(142.1,+($G(GMTSIEN)),0)),"^",6)=""
|
---|
134 | N GMTSF,GMTSM,GMTST S GMTSF=$P($G(^GMT(142.1,+($G(GMTSIEN)),0)),"^",6)
|
---|
135 | S GMTSF=$S(GMTSF="T":"Temporarily",GMTSF="P":"Permanently",1:"") Q:'$L(GMTSF)
|
---|
136 | S GMTSD=1,GMTST="",GMTSM=$P($G(^GMT(142.1,+($G(GMTSIEN)),0)),"^",8)
|
---|
137 | S GMTST=" Componet """_$$UP(GMTSMNM)_""" is installed, but "_GMTSF_" disabled" D M(GMTST)
|
---|
138 | S GMTST="" S:$L(GMTSM) GMTST=" Out of order message: """_GMTSM_"""" D:$L(GMTST) M(GMTST)
|
---|
139 | Q
|
---|
140 | ;
|
---|
141 | ; Other
|
---|
142 | ENV(X) ; Environment check
|
---|
143 | D HOME^%ZIS I '$D(^VA(200,+($G(DUZ)),0)) D BM(" User (DUZ) not defined"),M("") Q 0
|
---|
144 | I '$L($P($G(^VA(200,+($G(DUZ)),0)),"^",1)) D BM(" Invalid User defined (DUZ)"),M("") Q 0
|
---|
145 | Q 1
|
---|
146 | BM(X) ; Blank Line with Message
|
---|
147 | Q:$D(GMTSQT) D:$D(XPDNM) BMES^XPDUTL($G(X)) W:'$D(XPDNM) !!,$G(X) Q
|
---|
148 | M(X) ; Message
|
---|
149 | Q:$D(GMTSQT) D:$D(XPDNM) MES^XPDUTL($G(X)) W:'$D(XPDNM) !,$G(X) Q
|
---|
150 | UP(X) ; Uppercase
|
---|
151 | Q $TR(X,"abcdefghijklmnopqrstuvwxyz","ABCDEFGHIJKLMNOPQRSTUVWXYZ")
|
---|