FHIR Patient Search escape parameters


#1

Hi All,

We are in the process of implementing FHIR Patient Search. A Bug has bee reported by our internal QA on not being able to search by a given name that contains ‘&’. The FHIR spec only talks about escaping the following characters.

Is there a reason why “&” is not allowed in a name ? shouldn’t it be possible to search by a name like “Charlie & Lola”. Though the chances are very low our application allows “&” to be part of given/family names; therefore needs to provide the ability to search by them.

Thanx in advance.

Asela Gunawardena

2.21.1.4.17 Escaping Search Parameters
In the rules described above, special rules are defined for the characters $, , and |. As a consequence, if these characters appear in an actual parameter value, they must be differentiated from their use as separator characters. When any of these characters appear in an actual parameter value, they must be prepended by the character , which also must be used to prepend itself. Therefore, param=xxx$xxx indicates that it is a composite parameter, while param=xx$xx indicates that the parameter has the literal value xx$xx. The parameter value xx\xx is illegal, and the parameter value param=xx\xx indicates a literal value of xx\xx.


#2

We don’t talk about escaping ‘&’ because this just has to be escaped, and there’s no issues around that. It’s the characters above that create subtle escaping issues. So: & is supported, and should be escaped per normal http escaping rules