根据FHIR规范,id数据类型支持以下字符- 'A'..'Z'和'a'..'z',数字('0'..'9'),'-'和'。'
但是,当从SoR生成FHIR响应时,我们正在使用SoR中使用的关键字/术语来动态创建某些资源的“ id”值(resource.id),并且其中一些关键字包含“ _”字符。这将导致生成的“ id”值也包含“ _”字符。此类资源的后续URL调用或引用URL中都带有'_'字符(“ ..resource / {id}”代码段中的“ id”)。
尽管RFC3986表示可以在URL中使用“ _”,但是否有任何理由限制F_HIR中的“ _”不能用于“ _”呢?
答案 0 :(得分:1)
我们在FHIR ID中允许的字符与URL中允许的字符之间没有深厚的联系-除了FHIR的设计可确保FHIR ID始终是有效的路径段之外。
我们从FHIR ID中允许的字符中省略_
的原因之一是为了避免在以下情况下产生歧义:
GET /Patient/_search
...其中http://hl7.org/fhir/http.html#search确保_search
是保留字。通过从有效的FHIR ID中省略_
(并为此省略$
),我们确保_search
绝不会被偶然地解析为资源ID。