The get_modifier_name_info message returns the information needed to populate a tree node for a given search keyword or name. This message requires the user to pass a string that is queried against the name column.
Search for Associated Modifiers With A Given Name
To generate a list of modifiers associated with a concept that contains a given search keyword or name, the sequence of events is as follows:
- The client requests modifiers(s) associated with a concept that may contain a given name or keyword.
- The ONT server performs the following steps:
- Parses <self> to obtain the table key and path. Queries the table of tables to confirm that the user / role can access the table that is referenced by the table key that is passed in. If not, the client receives an error message with the code "TABLE_ACCESS_DENIED"
- If max is set, query the database for the number of entries that meet the search criteria.
- If count <max or no max is set, query the database for entries that meet the search criteria.
- If count > max send an error message back.
- The client generates a list of modifiers that match the search criteria.
- The client receives an error message with the code "MAX_EXCEEDED" and displays a dialog asking if the user wants to see all nodes. If no – done. If yes – client sends another message with max empty.
get_modifier_name_info Request Message
This message requires the user to pass a string that is queried against the "name" column. The associated concept that we are finding modifiers for is also passed.
The remaining attributes provide information about the results to be returned. If the number of rows found is greater than the max, then an error message will be returned in the i2b2 header. If the max is left out then it is interpreted that there is no max. The hiddens and synonyms attributes tell whether to return hiddens and synonyms. By default hiddens and synonyms are false, so if they are left out it will be false. The type tells which columns to select (default / core / all). By default, the type is set to default. Each message will interpret the default to be a different set of columns. The default set of columns for get_modifier_name_info includes the name column only.
- If type = limited, then all columns except the blob and the system / date and related dimension table information will be returned.
- If type = core, then all columns except the blob and the system / date information will be returned.
- If type = all then all columns except the blob are returned.
The blob attribute indicates whether or not to return the blob along with the default / limited / core / all return columns.
The <match_str> tag tells the service which string to search for. It is implied by the message get_modifier_name_info that the column to search is the name. The strategy attribute explains how the search must match (exact, left, right, contains).
<message_body>
<get_modifier_name_info blob="true" type="limited" max="200" synonyms="true" hiddens="false">
<match_str strategy="contains">mild</match_str>
<self>\\i2b2_DIAG\i2b2\Diagnoses\Respiratory system (460-519)\Chronic obstructive diseases (490-496)(493) Asthma{color:#0000ff}</self>
</get_modifier_name_info>
</message_body>
Possible "hiddens" Settings
Some ontology modifiers exist but for various reasons are not displayed in the query tree.
Value |
Description |
false |
Do not return data categorized as "hidden" |
true |
Include data categorized as "hidden" |
Possible "synonyms" Settings
Some ontology modifiers are listed as synonyms for other terms.
Value |
Description |
false |
Do not return data categorized as "synonym" |
true |
Include data categorized as "synonym" |
Possible "type" Settings
Value |
Description |
default |
Return name information only |
limited |
Return all data except system / date and dimension table information |
core |
Return all data except system / date information |
all |
Return all data |
Possible "blob" Settings
Value |
Description |
Example |
false |
Do not return data stored as a blob or clob |
xml, comments |
true |
Return xml and comments |
|
Possible "strategy" Settings
Value |
Description |
contains |
Return data whose name contains the match string |
exact |
Return data whose name exactly matches the match string |
left |
Return data whose name starts with the match string |
right |
Return data whose name ends with the match string |
get_modifier_name_info Response Message
The request has the following settings:
type=limited
blob=false
Example:
<message_body>
<modifiers>
<modifier>
<level>1</level>
<applied_path>\i2b2\Diagnoses%</applied_path>
<key>\\i2b2_DIAG\Severity\Mild{color:#0000ff}</key>
<fullname>\Severity\Mild{color:#0000ff}</fullname>
<name>Severity: Mild</name>
<visualattributes>RA </visualattributes>
<synonym_cd>N</synonym_cd>
<totalnum />
<basecode>SNO:255604002</basecode>
<comment />
<tooltip>Severity \ Mild</tooltip>
</modifier>
<modifier>
<level>1</level>
<applied_path>\i2b2\Diagnoses%</applied_path>
<key>\\i2b2_DIAG\Severity\Mild To Mod{color:#0000ff}</key>
<fullname>\Severity\Mild To Mod{color:#0000ff}</fullname>
<name>Severity: Mild to moderate</name>
<visualattributes>RA </visualattributes>
<synonym_cd>N</synonym_cd>
<totalnum />
<basecode>SNO:371923003</basecode>
<comment />
<tooltip>Severity \ Mild To Mod</tooltip>
</modifier>
</modifiers>
</message_body>