[737] | 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 |
|
---|
[739] | 9 | Subject: Patch to provide custom TIU TEXT OJBECT from CPRS
|
---|
[737] | 10 |
|
---|
| 11 | Category:
|
---|
| 12 | - Routine
|
---|
| 13 |
|
---|
| 14 | Dependancies:
|
---|
| 15 | ============
|
---|
[739] | 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.
|
---|
[737] | 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 |
|
---|
[739] | 33 | Usage:
|
---|
| 34 | |TMG PATIENT FLD{Field(s)^Flags^FormatString}|
|
---|
[737] | 35 |
|
---|
[739] | 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
|
---|
[737] | 47 |
|
---|
[739] | 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 |
|
---|
[737] | 83 | Results: returns a string that will be sent back to CPRS, to be included in a text note
|
---|
| 84 |
|
---|
| 85 |
|
---|
[739] | 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
|
---|
[792] | 100 | **Notice that results are returned in alphabetical order, based on field name,
|
---|
| 101 | not on order of requested fields.
|
---|
[739] | 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 | ============
|
---|
[737] | 113 | The code has been developed on a GT.M mumps system. Every attempt was made to use coding
|
---|
[739] | 114 | techniques that would be cross-platform to Cache'. But the patch has NOT been tested on 'Cache'.
|
---|
[737] | 115 |
|
---|
[739] | 116 | INSTALLATION INSTRUCTIONS:
|
---|
| 117 | ==========================
|
---|
[737] | 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
|
---|
[739] | 126 | the safest approach would be to have all users of CPRS exit their applications, and restart
|
---|
| 127 | after application of the patch.
|
---|
[737] | 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
|
---|