Changeset 739 for cprs/branches/tmg-cprs
- Timestamp:
- Apr 19, 2010, 7:05:32 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
cprs/branches/tmg-cprs/Server_KIDS/TMG-CPRS-TEXTOBJ-FMFLD-1.0-1.TXT
r737 r739 6 6 ============================================================================ 7 7 8 Associated patches: None 9 10 Subject: Patch to support custom lookups in CPRS (does not require TMG-CPRS) 8 9 Subject: Patch to provide custom TIU TEXT OJBECT from CPRS 11 10 12 11 Category: … … 15 14 Dependancies: 16 15 ============ 17 18 TMG-CPRS-TEXTOBJ-PARAM*1.0*1 is required for the installation of this patch.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. 19 18 20 19 License: … … 28 27 Description: 29 28 ============ 30 31 29 This patch provides a TIU TEXT object that can be included 32 30 on templates in CPRS. This object will allow fetching the 33 31 value of any field from the PATIENT file. 34 32 35 Usage 36 |TMG PATIENT FLD{Field(s)^Flags^FormatString} 37 38 Field(s) -- required. Options for input: 39 - A single field number or name 40 - A list of field numbers (or names), separated by semicolons 41 - A range of field numbers (or names), in the form M:N, 42 where M and N are the end points of the inclusive range. 43 All field numbers within this range are retrieved. 44 - A '*' for all fields at the top level (no sub-multiple record). 45 - A '**' for all fields including all fields and data in sub-multiple fields. 46 - Field number (or name) of a multiple followed by an * to indicate all 47 fields and records in the sub-multiple for that field. 48 Invalid field names will be ignored 49 Flags -- Optional. 50 - 'F' -- include field name in results with value. e.g. "AGE: 43" instead of 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 FormatString info below). I.e. if R not specified, and field NUMBERS are used for input, then results will be returned in numerical field number order by default. 59 - If R is specified, then field numbers are converted to field NAMES, and that is used to determine the order of output. 60 - 'N' -- Don't return values for empty fields. This is helpful if ALL fields 61 - were requested via '*' 62 FormatString -- A string to determine how results are passed back.... 63 NOTE: without a format string, results will be passed back in the order returned by fileman. I.e. if user requested fields "SEX;.01;AGE", then Fileman will place results into an array, which MUMPS will sort alphabetically, e.g. .01, then AGE, then SEX. If "*" fields are requested, it would be even more complex. A format string will allow the user to specify ORDER. 64 Format: e.g. "Any arbitrary text %FieldNameOrNum% more text 65 %FieldNameOrNum%..." 66 (The goal was to follow the method used by printf in the c language.) 67 - Any arbitrary text can be included. 68 - Field numbers or names should be enclosed by the '%' character 69 These will be replaced with actual data values. 70 - '\n' can be included to specify line breaks 71 - '%%' will be used to show a '%' in the output text 72 - Invalid, or non-matching, field names/numbers will be ignored. 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. 73 82 74 83 Results: returns a string that will be sent back to CPRS, to be included in a text note 75 84 76 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 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 ============ 77 111 The code has been developed on a GT.M mumps system. Every attempt was made to use coding 78 techniques that would be cross-platform to Cache'. But the patch has NOT been tested on 79 80 81 112 techniques that would be cross-platform to Cache'. But the patch has NOT been tested on 'Cache'. 113 114 INSTALLATION INSTRUCTIONS: 115 ========================== 82 116 This patch should cause minimal impact on live systems, as it provides only 1 routine, 83 117 Installation will take less than 1 minute. Users may remain on the system in roll-and- … … 88 122 exist in their instance. In GT.M, recompilation of routines etc only occurrs with a client 89 123 first connects to the server. We are not sure if this behavior applies to Cache' systems. But 90 the safest approach would be to have all users of CPRS exit their applications, and restart after application of the patch. 124 the safest approach would be to have all users of CPRS exit their applications, and restart 125 after application of the patch. 91 126 92 127 Note: the follow instructions were copied from another KIDS install and modified. There may be
Note:
See TracChangeset
for help on using the changeset viewer.