1 | $TXT Created by TOPPENBERG,KEVIN at FAMILY PHYSICANS OF GREENEVILLE (KIDS) on Sunday, April 18, 2010
|
---|
2 | ============================================================================
|
---|
3 | Run Date: APR 18,2010 Designation: TMG-CPRS-TEXTOBJ-FMFLD*1.0*1
|
---|
4 | Package : TMG - FAMILY PHYSICANS OF GREENEVILLE Priority: Optional
|
---|
5 | Version : 1 SEQ #1 Status: Released
|
---|
6 | ============================================================================
|
---|
7 |
|
---|
8 |
|
---|
9 | Subject: Patch to provide custom TIU TEXT OJBECT from CPRS
|
---|
10 |
|
---|
11 | Category:
|
---|
12 | - Routine
|
---|
13 |
|
---|
14 | Dependancies:
|
---|
15 | ============
|
---|
16 | 1. TMG-CPRS-TEXTOBJ-PARAM*1.0*1 is required for the installation of this patch.
|
---|
17 | 2. TMG-CPRS version of CPRS client is required.
|
---|
18 |
|
---|
19 | License:
|
---|
20 | ============
|
---|
21 | This patch is copyright 04/18/2010. GNU Lessor General Public License (LGPL) applies.
|
---|
22 |
|
---|
23 | Authors:
|
---|
24 | ============
|
---|
25 | Kevin Toppenberg, Greeneville Family Physicians, PC
|
---|
26 |
|
---|
27 | Description:
|
---|
28 | ============
|
---|
29 | This patch provides a TIU TEXT object that can be included
|
---|
30 | on templates in CPRS. This object will allow fetching the
|
---|
31 | value of any field from the PATIENT file.
|
---|
32 |
|
---|
33 | Usage:
|
---|
34 | |TMG PATIENT FLD{Field(s)^Flags^FormatString}|
|
---|
35 |
|
---|
36 | Field(s) -- required. Options for input:
|
---|
37 | - A single field number or name
|
---|
38 | - A list of field numbers (or names), separated by semicolons
|
---|
39 | - A range of field numbers (or names), in the form M:N,
|
---|
40 | where M and N are the end points of the inclusive range.
|
---|
41 | All field numbers within this range are retrieved.
|
---|
42 | - A '*' for all fields at the top level (no sub-multiple record).
|
---|
43 | - A '**' for all fields including all fields and data in sub-multiple fields.
|
---|
44 | - Field number (or name) of a multiple followed by an * to indicate all
|
---|
45 | fields and records in the sub-multiple for that field.
|
---|
46 | Note: Invalid field names will be ignored
|
---|
47 |
|
---|
48 | Flags -- Optional.
|
---|
49 | - 'F' -- include field name in results with value. e.g. "AGE: 43" instead of
|
---|
50 | just "43"
|
---|
51 | - This flag is ignored if a FormatString is provided (see below)
|
---|
52 | - 'S' -- Keep all data values on a single line, separated by ';'.
|
---|
53 | - If flag not provided, and multiple data fields are requested,
|
---|
54 | - then the default is that each data value will be separated by a
|
---|
55 | - CRLF [$C(13)_$C(10)]
|
---|
56 | - This flag is ignored if a FormatString is provided (see below)
|
---|
57 | - 'R' -- Resolve fields to NAMES, even if a field NUMBER was used for input request
|
---|
58 | - Note: this will affect the sorting order of the output (see
|
---|
59 | FormatString info below). I.e. if R not specified, and field NUMBERS
|
---|
60 | are used for input, then results will be returned in numerical field
|
---|
61 | number order by default.
|
---|
62 | - If R is specified, then field numbers are converted to field NAMES,
|
---|
63 | and that is used to determine the order of output.
|
---|
64 | - 'N' -- Don't return values for empty fields. This is helpful if ALL fields
|
---|
65 | - were requested via '*'
|
---|
66 |
|
---|
67 | FormatString -- A string to determine how results are passed back....
|
---|
68 | NOTE: without a format string, results will be passed back in the order
|
---|
69 | returned by fileman. I.e. if user requested fields "SEX;.01;AGE", then
|
---|
70 | Fileman will place results into an array, which MUMPS will sort
|
---|
71 | alphabetically, e.g. .01, then AGE, then SEX. If "*" fields are
|
---|
72 | requested, it would be even more complex. A format string will
|
---|
73 | allow the user to specify ORDER.
|
---|
74 | Format: e.g. "Any arbitrary text %FieldNameOrNum% more text %FieldNameOrNum%..."
|
---|
75 | (The goal was to follow the method used by printf in the c language.)
|
---|
76 | - Any arbitrary text can be included.
|
---|
77 | - Field numbers or names should be enclosed by the '%' character
|
---|
78 | These will be replaced with actual data values.
|
---|
79 | - '\n' can be included to specify line breaks
|
---|
80 | - '%%' will be used to show a '%' in the output text
|
---|
81 | - Invalid, or non-matching, field names/numbers will be ignored.
|
---|
82 |
|
---|
83 | Results: returns a string that will be sent back to CPRS, to be included in a text note
|
---|
84 |
|
---|
85 |
|
---|
86 | Examples of usage from CPRS:
|
---|
87 | ============================
|
---|
88 | Simple examples:
|
---|
89 | |TMG PATIENT FLD{.01}| -- returns .01 field, which is the patients NAME, e.g. "SMITH,JOHN A"
|
---|
90 | |TMG PATIENT FLD{NAME}| -- returns same value as above, e.g. "SMITH,JOHN A"
|
---|
91 | |TMG PATIENT FLD{NAME^F}| -- e.g result "NAME: SMITH,JOHN A"
|
---|
92 |
|
---|
93 | More complex examples:
|
---|
94 | |TMG PATIENT FLD{NAME;SEX;AGE^F}|
|
---|
95 | --> "AGE: 34"_$C(13)_$C(10)_"NAME: SMITH,JOHN A"_$C(13)_$C(10)_"SEX: MALE"
|
---|
96 | And in CPRS, will show as:
|
---|
97 | AGE: 34
|
---|
98 | NAME: SMITH,JOHN A
|
---|
99 | SEX: MALE
|
---|
100 | **Notice that results are returned in alphabetical order, based on field name,
|
---|
101 | not on order of requested fields.
|
---|
102 |
|
---|
103 | |TMG PATIENT FLD{NAME;SEX;AGE^S}|
|
---|
104 | --> "34; SMITH,JOHN A; MALE"
|
---|
105 | **Notice that results are returned in alphabetical order, based on field name
|
---|
106 |
|
---|
107 | |TMG PATIENT FLD{NAME;SEX;AGE^^NAME: %NAME%, %AGE% yrs., %SEX%}|
|
---|
108 | --> "NAME: SMITH,JOHN A, 34 YRS., MALE"
|
---|
109 | **Notice that use of format string allows results to be returned in expected order
|
---|
110 |
|
---|
111 | NOTE:
|
---|
112 | ============
|
---|
113 | The code has been developed on a GT.M mumps system. Every attempt was made to use coding
|
---|
114 | techniques that would be cross-platform to Cache'. But the patch has NOT been tested on 'Cache'.
|
---|
115 |
|
---|
116 | INSTALLATION INSTRUCTIONS:
|
---|
117 | ==========================
|
---|
118 | This patch should cause minimal impact on live systems, as it provides only 1 routine,
|
---|
119 | Installation will take less than 1 minute. Users may remain on the system in roll-and-
|
---|
120 | scroll mode.
|
---|
121 |
|
---|
122 | NOTE HOWEVER: All CPRS applications should be exited before installing the patch. Otherwise
|
---|
123 | CPRS users will find that the RPC call has been redirected to a routine that does not yet
|
---|
124 | exist in their instance. In GT.M, recompilation of routines etc only occurrs with a client
|
---|
125 | first connects to the server. We are not sure if this behavior applies to Cache' systems. But
|
---|
126 | the safest approach would be to have all users of CPRS exit their applications, and restart
|
---|
127 | after application of the patch.
|
---|
128 |
|
---|
129 | Note: the follow instructions were copied from another KIDS install and modified. There may be
|
---|
130 | some discrepancies.
|
---|
131 |
|
---|
132 | The following are instructions for those using the Packman method:
|
---|
133 | ------------------------------------------------------------------
|
---|
134 | 1. Use the INSTALL/CHECK MESSAGE option on the PackMan menu.
|
---|
135 |
|
---|
136 | 2. Review your mapped set. If any of the routines listed in the
|
---|
137 | ROUTINE SUMMARY section are mapped, they should be removed
|
---|
138 | from the mapped set at this time.
|
---|
139 |
|
---|
140 | 3. From the Kernel Installation and Distribution System Menu, select
|
---|
141 | the Installation menu.
|
---|
142 |
|
---|
143 | 4. From this menu, you may elect to use the following options
|
---|
144 | (when prompted for INSTALL NAME, enter TMG-CPRS-TEXTOBJ-FMFLD*1.0*1:
|
---|
145 | a. Backup a Transport Global
|
---|
146 | b. Compare Transport Global to Current System
|
---|
147 | c. Verify Checksums in Transport Global
|
---|
148 |
|
---|
149 | 5. Use the Install Package(s) option and select the package TMG-CPRS-TEXTOBJ-FMFLD*1.0*1
|
---|
150 |
|
---|
151 | 6. When prompted 'Want KIDS to INHIBIT LOGONs during the install? YES//'
|
---|
152 | respond NO.
|
---|
153 |
|
---|
154 | 7. When prompted 'Want to DISABLE Scheduled Options, Menu Options, and
|
---|
155 | Protocols? YES//', respond NO.
|
---|
156 |
|
---|
157 | 8. If routines were unmapped as part of step 2, they should be returned
|
---|
158 | to the mapped set once the installation has run to completion.
|
---|
159 |
|
---|
160 | 9. (See step 9 below)
|
---|
161 |
|
---|
162 | The following are instructions for those loading the patch via Host File System:
|
---|
163 | ---------------------------------------------------------------------------------
|
---|
164 | 1. Navigate the menu option path to reach the Kernel Installation and Distribution
|
---|
165 | System Menu. Or, the menu option XPD MAIN may be entered directly.
|
---|
166 |
|
---|
167 | 2. Next, at the menu displaying:
|
---|
168 | Edits and Distribution ...
|
---|
169 | Utilities ...
|
---|
170 | Installation ... <---------- pick this one.
|
---|
171 |
|
---|
172 | 3. Next, at the menu displaying the options as below, choose each of the options
|
---|
173 | in a step-by-step fashion, in numerical order (i.e. 1, 2, 3 etc.) Step #1 will
|
---|
174 | prompt the user to enter the file path on the host file system where the source
|
---|
175 | file is stored. The filename to enter is TMG-CPRS-TEXTOBJ-FMFLD*1.0*1.KIDS, but add the
|
---|
176 | appropriate path. E.g. /tmp/TMG-CPRS-TEXTOBJ-FMFLD*1.0*1.KIDS
|
---|
177 |
|
---|
178 | 1 Load a Distribution
|
---|
179 | 2 Verify Checksums in Transport Global
|
---|
180 | 3 Print Transport Global
|
---|
181 | 4 Compare Transport Global to Current System
|
---|
182 | 5 Backup a Transport Global
|
---|
183 | 6 Install Package(s)
|
---|
184 | Restart Install of Package(s)
|
---|
185 | Unload a Distribution
|
---|
186 |
|
---|
187 | 4. From this menu, you may elect to use the following options
|
---|
188 | (when prompted for INSTALL NAME, enter TMG-CPRS-TEXTOBJ-FMFLD*1.0*1
|
---|
189 | a. Backup a Transport Global
|
---|
190 | b. Compare Transport Global to Current System
|
---|
191 | c. Verify Checksums in Transport Global
|
---|
192 |
|
---|
193 | 5. Use the Install Package(s) option and select the package TMG-CPRS-TEXTOBJ-FMFLD*1.0*1
|
---|
194 |
|
---|
195 | 6. When prompted 'Want KIDS to INHIBIT LOGONs during the install? YES//'
|
---|
196 | respond NO.
|
---|
197 |
|
---|
198 | 7. When prompted 'Want to DISABLE Scheduled Options, Menu Options, and
|
---|
199 | Protocols? YES//', respond NO.
|
---|
200 |
|
---|
201 | 8. If routines were unmapped as part of step 2, they should be returned
|
---|
202 | to the mapped set once the installation has run to completion.
|
---|
203 |
|
---|
204 |
|
---|
205 | =============================================================================
|
---|
206 | User Information:
|
---|
207 | Entered By : TOPPENBERG,KEVIN Date Entered : Apr 18,2010
|
---|
208 | Completed By: TOPPENBERG,KEVIN Date Completed: Apr 18,2010
|
---|
209 | Released By : TOPPENBERG,KEVIN Date Released : Apr 18,2010
|
---|
210 | =============================================================================
|
---|
211 |
|
---|
212 | Packman Mail Message:
|
---|
213 | =====================
|
---|
214 |
|
---|
215 | $END TXT
|
---|