C.2.2.2.1 Single Value Matching

If the value specified for a Key Attribute in a request is non-zero length and if it is:

a) not a date or time or datetime, contains no wild card characters

b) a date or time or datetime, contains a single date or time or datetime with no “-“

then single value matching shall be performed. Except for Attributes with a PN Value Representation, only entities with values which match exactly the value specified in the request shall match. This matching is case-sensitive, i.e., sensitive to the exact encoding of the key attribute value in character sets where a letter may have multiple encodings (e.g., based on its case, its position in a word, or whether it is accented).

For Attributes with a PN Value Representation (e.g., Patient Name (0010,0010)), an application may perform literal matching that is either case-sensitive, or that is insensitive to some or all aspects of case, position, accent, or other character encoding variants.

Note: For multi-component names, the component group delimiter “=” (3DH) may be present in the Key Attribute value, but may give unexpected results if the SCP does not support matching on separate components but interprets the entire value literally as a single string. E.g., “Wang^XiaoDong=王^小東” may or may not match “Wang^XiaoDong” or “王^小東”; wildcard matching without the component group delimiter, such as “*Wang^XiaoDong*” or “*王^小東 *” may be necessary.

If extended negotiation of fuzzy semantic matching rather than literal matching of PN Value Representation is successful, not only may matching be insensitive to case, position, accent, and character encoding, but in addition other techniques such as phonetic matching may be applied.

If the Timezone Offset From UTC (0008,0201) attribute is present in the Identifier and Timezone query adjustment was negotiated, it shall be used to adjust values of time attributes (and associated date attributes, if present) from the local timezone to UTC. It shall also adjust values of datetime attributes that do not specify a timezone offset. The encoding and semantics of the Timezone Offset From UTC (0008,0201) attribute shall be as defined in the SOP Common Module in PS3.3.

The manner in which matching is performed is implementation dependent and shall be specified in the conformance statement.

Notes: 1. This definition implies that dates or times or datetimes are matched by their meaning, not as literal strings. For example:

2. If an application is concerned about how single value matching of dates and times is performed by another application, it may consider using range matching instead, which is always performed by meaning, with both values in the range the same.

3. Exclusion of the “-“ character for single value matching implies that a Key Attribute with DT Value Representation may not contain a negative offset from Universal Coordinated Time (UTC) if single value matching is intended. Use of the “-“ character in date, time or datetime indicates range matching.

4. If an application is in a local time zone that has a negative offset then it cannot perform single value matching using a local time notation. Instead, it can convert the Key Attribute value to UTC and use an explicit suffix of “+0000”.

5. Matching of PN Attributes may be accent-insensitive, as specified in the conformance statement. Accent-insensitive matching would successfully match, for instance, a query character “SMALL LETTER a” (06/01 in the default ISO-IR 6) with

“SMALL LETTER a WITH GRAVE ACCENT” (14/00 in ISO-IR 100),

“SMALL LETTER a WITH TILDE” (14/03 in ISO-IR 100),

“SMALL LETTER a WITH BREVE” (14/03 in ISO-IR 101), and

“CAPITAL LETTER a WITH ACUTE ACCENT” (12/01 in ISO-IR 100) (if matching is also case-insensitive),

but would not match 14/00 in ISO-IR 101, which is “SMALL LETTER r WITH ACUTE ACCENT”. Matching to particular bit-combinations is specific to each supported character set (note the difference in meaning of 14/00), and should be described in the conformance statement.

6. An SCU application may elect to perform additional filtering of the responses by applying the matching rules itself. In the event that both the SCU and SCP are applying the matching rules, this process will be successful as long as literal matching is performed by both, and any additional SCU filtering is insensitive to case, position, accent, or other character encoding variants.

However if fuzzy semantic matching of PN Attributes has been negotiated, matching by the SCP may result in responses that are not obviously related to the request, hence care should be taken if any additional filtering of responses is performed by the SCU. For example, if phonetic matching is performed, a query for “Swain” might well return “Swayne”, or if name component order insensitive matching is performed, a query for “Smith^Mary” might well return “Mary^Smith” or “Mary Smith” or “Smith, Mary”. Fuzzy semantic matching may also take into account separate single-byte, ideographic and phonetic name component groups.