Разрешение подчеркивания в типе данных "id" - PullRequest
0 голосов
/ 22 апреля 2019

Согласно спецификации FHIR, тип данных id поддерживает следующие символы: 'A' .. 'Z' и 'a' .. 'z', цифры ('0' .. '9'), '-' и '.'

Однако, генерируя ответы FHIR из нашего SoR, мы динамически создаем значение «id» (resource.id) некоторых ресурсов, используя ключевые слова / терминологию, используемые в SoR, и некоторые из этих ключевых слов содержат символ «_» , Это приводит к тому, что сгенерированное значение «id» также содержит символы «_». Последующие URL-ссылки или ссылки на такие ресурсы содержат символы «_» («id» в фрагменте «..resource / {id}»).

Хотя RFC3986 указывает, что «_» разрешено использовать в URL-адресах, есть ли причина, по которой «_» запрещено использовать в значениях «id» в FHIR?

1 Ответ

1 голос
/ 22 апреля 2019

Нет глубокой связи между символами, которые мы разрешаем в идентификаторах FHIR, и символами, разрешенными в URL-адресе, за исключением того, что дизайн FHIR гарантирует, что идентификаторы FHIR всегда являются допустимыми сегментами пути.

Одна из причин, по которой мы опускаем _ из разрешенных символов в идентификаторе FHIR позволяет избежать неоднозначности в таких случаях, как:

GET /Patient/_search

... где http://hl7.org/fhir/http.html#search гарантирует, что _search является зарезервированным словом.Опуская _$ в этом отношении) из действительных идентификаторов FHIR, мы гарантируем, что _search никогда не будет случайно проанализирован как идентификатор ресурса.

...