[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
|
---|
| 100 |
|
---|
| 101 | |TMG PATIENT FLD{NAME;SEX;AGE^S}|
|
---|
| 102 | --> "34; SMITH,JOHN A; MALE"
|
---|
| 103 | **Notice that results are returned in alphabetical order, based on field name
|
---|
| 104 |
|
---|
| 105 | |TMG PATIENT FLD{NAME;SEX;AGE^^NAME: %NAME%, %AGE% yrs., %SEX%}|
|
---|
| 106 | --> "NAME: SMITH,JOHN A, 34 YRS., MALE"
|
---|
| 107 | **Notice that use of format string allows results to be returned in expected order
|
---|
| 108 |
|
---|
| 109 | NOTE:
|
---|
| 110 | ============
|
---|
[737] | 111 | The code has been developed on a GT.M mumps system. Every attempt was made to use coding
|
---|
[739] | 112 | techniques that would be cross-platform to Cache'. But the patch has NOT been tested on 'Cache'.
|
---|
[737] | 113 |
|
---|
[739] | 114 | INSTALLATION INSTRUCTIONS:
|
---|
| 115 | ==========================
|
---|
[737] | 116 | This patch should cause minimal impact on live systems, as it provides only 1 routine,
|
---|
| 117 | Installation will take less than 1 minute. Users may remain on the system in roll-and-
|
---|
| 118 | scroll mode.
|
---|
| 119 |
|
---|
| 120 | NOTE HOWEVER: All CPRS applications should be exited before installing the patch. Otherwise
|
---|
| 121 | CPRS users will find that the RPC call has been redirected to a routine that does not yet
|
---|
| 122 | exist in their instance. In GT.M, recompilation of routines etc only occurrs with a client
|
---|
| 123 | first connects to the server. We are not sure if this behavior applies to Cache' systems. But
|
---|
[739] | 124 | the safest approach would be to have all users of CPRS exit their applications, and restart
|
---|
| 125 | after application of the patch.
|
---|
[737] | 126 |
|
---|
| 127 | Note: the follow instructions were copied from another KIDS install and modified. There may be
|
---|
| 128 | some discrepancies.
|
---|
| 129 |
|
---|
| 130 | The following are instructions for those using the Packman method:
|
---|
| 131 | ------------------------------------------------------------------
|
---|
| 132 | 1. Use the INSTALL/CHECK MESSAGE option on the PackMan menu.
|
---|
| 133 |
|
---|
| 134 | 2. Review your mapped set. If any of the routines listed in the
|
---|
| 135 | ROUTINE SUMMARY section are mapped, they should be removed
|
---|
| 136 | from the mapped set at this time.
|
---|
| 137 |
|
---|
| 138 | 3. From the Kernel Installation and Distribution System Menu, select
|
---|
| 139 | the Installation menu.
|
---|
| 140 |
|
---|
| 141 | 4. From this menu, you may elect to use the following options
|
---|
| 142 | (when prompted for INSTALL NAME, enter TMG-CPRS-TEXTOBJ-FMFLD*1.0*1:
|
---|
| 143 | a. Backup a Transport Global
|
---|
| 144 | b. Compare Transport Global to Current System
|
---|
| 145 | c. Verify Checksums in Transport Global
|
---|
| 146 |
|
---|
| 147 | 5. Use the Install Package(s) option and select the package TMG-CPRS-TEXTOBJ-FMFLD*1.0*1
|
---|
| 148 |
|
---|
| 149 | 6. When prompted 'Want KIDS to INHIBIT LOGONs during the install? YES//'
|
---|
| 150 | respond NO.
|
---|
| 151 |
|
---|
| 152 | 7. When prompted 'Want to DISABLE Scheduled Options, Menu Options, and
|
---|
| 153 | Protocols? YES//', respond NO.
|
---|
| 154 |
|
---|
| 155 | 8. If routines were unmapped as part of step 2, they should be returned
|
---|
| 156 | to the mapped set once the installation has run to completion.
|
---|
| 157 |
|
---|
| 158 | 9. (See step 9 below)
|
---|
| 159 |
|
---|
| 160 | The following are instructions for those loading the patch via Host File System:
|
---|
| 161 | ---------------------------------------------------------------------------------
|
---|
| 162 | 1. Navigate the menu option path to reach the Kernel Installation and Distribution
|
---|
| 163 | System Menu. Or, the menu option XPD MAIN may be entered directly.
|
---|
| 164 |
|
---|
| 165 | 2. Next, at the menu displaying:
|
---|
| 166 | Edits and Distribution ...
|
---|
| 167 | Utilities ...
|
---|
| 168 | Installation ... <---------- pick this one.
|
---|
| 169 |
|
---|
| 170 | 3. Next, at the menu displaying the options as below, choose each of the options
|
---|
| 171 | in a step-by-step fashion, in numerical order (i.e. 1, 2, 3 etc.) Step #1 will
|
---|
| 172 | prompt the user to enter the file path on the host file system where the source
|
---|
| 173 | file is stored. The filename to enter is TMG-CPRS-TEXTOBJ-FMFLD*1.0*1.KIDS, but add the
|
---|
| 174 | appropriate path. E.g. /tmp/TMG-CPRS-TEXTOBJ-FMFLD*1.0*1.KIDS
|
---|
| 175 |
|
---|
| 176 | 1 Load a Distribution
|
---|
| 177 | 2 Verify Checksums in Transport Global
|
---|
| 178 | 3 Print Transport Global
|
---|
| 179 | 4 Compare Transport Global to Current System
|
---|
| 180 | 5 Backup a Transport Global
|
---|
| 181 | 6 Install Package(s)
|
---|
| 182 | Restart Install of Package(s)
|
---|
| 183 | Unload a Distribution
|
---|
| 184 |
|
---|
| 185 | 4. From this menu, you may elect to use the following options
|
---|
| 186 | (when prompted for INSTALL NAME, enter TMG-CPRS-TEXTOBJ-FMFLD*1.0*1
|
---|
| 187 | a. Backup a Transport Global
|
---|
| 188 | b. Compare Transport Global to Current System
|
---|
| 189 | c. Verify Checksums in Transport Global
|
---|
| 190 |
|
---|
| 191 | 5. Use the Install Package(s) option and select the package TMG-CPRS-TEXTOBJ-FMFLD*1.0*1
|
---|
| 192 |
|
---|
| 193 | 6. When prompted 'Want KIDS to INHIBIT LOGONs during the install? YES//'
|
---|
| 194 | respond NO.
|
---|
| 195 |
|
---|
| 196 | 7. When prompted 'Want to DISABLE Scheduled Options, Menu Options, and
|
---|
| 197 | Protocols? YES//', respond NO.
|
---|
| 198 |
|
---|
| 199 | 8. If routines were unmapped as part of step 2, they should be returned
|
---|
| 200 | to the mapped set once the installation has run to completion.
|
---|
| 201 |
|
---|
| 202 |
|
---|
| 203 | =============================================================================
|
---|
| 204 | User Information:
|
---|
| 205 | Entered By : TOPPENBERG,KEVIN Date Entered : Apr 18,2010
|
---|
| 206 | Completed By: TOPPENBERG,KEVIN Date Completed: Apr 18,2010
|
---|
| 207 | Released By : TOPPENBERG,KEVIN Date Released : Apr 18,2010
|
---|
| 208 | =============================================================================
|
---|
| 209 |
|
---|
| 210 | Packman Mail Message:
|
---|
| 211 | =====================
|
---|
| 212 |
|
---|
| 213 | $END TXT
|
---|