分析FHIR查询字符串

fhir-parse-qs的Python项目详细描述


分析FHIR查询字符串的库。

  • 验证类型并返回正确的对象
  • 来自FHIR标准的内置搜索参数
  • 支持修饰符、前缀和链

用法

from fhir_parse_qs import Search

# supported endpoints
Search.supported --> [...]

# simple use
search = Search('Patient', 'name=bob') # Search(<endpoint>, <query_string>)

# endpoint
search.endpoint --> 'Patient'

# all the namedtuples
search.parsed --> [FHIRSearch(...)]

# index as key; each parameter/value pair gets parsed into a namedtuple
search[0] --> FHIRSearch(...)
search[0].modifier --> None
search[0].prefix --> None
search[0].value --> 'bob'
search[0].parameter --> 'name'
search[0].type_ --> 'string'
search[0].chain --> None

# act like dict with parameter as key
search['name'] --> FHIRSearch(...) #list if non-unique parameter

# iterate over the parameter/value pairs
for x in search:
     print(x) --> FHIRSearch(...)

# ignores and logs unrecognized parameters
search = Search('Patient', 'random=test')
search.error --> [...]

# supports chains (list of lists)
search = Search('Observation', 'patient.name=peter')
search[0].parameter --> 'name' # last parameter in chain
search[0].value --> 'peter'
search[0].chain --> [[FHIRChain(...), FHIRChain(...)], ...]
search[0].chain[0][0].endpoint = 'Observation'
search[0].chain[0][0].target = 'patient'
search[0].chain[0][0].ttype = 'reference'
search[0].chain[0][1].endpoint = 'Patient'
search[0].chain[0][1].target = 'name'
search[0].chain[0][1].ttype = 'string'

# return control parameters (eg, _sort, _count, etc)
search.control --> [...]

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java在通过url读取csv文件时,我想用数据映射列名   java在没有类型转换的情况下访问父类型的arraylist中的特定子类型方法,子类型的创建只有在运行时才知道   java扩展UIComponentBase时如何保存状态   java如何使用字符串作为Velocity模板?   用于调试远程/本地java应用程序的自定义调试器   JavaFx和浮动按钮   java如何修改列表中的对象?在迭代时扩展MyObject>?   java Spring框架如何避免控制器中的重复代码?   java代码名1 IOS签名   一点Bitly API有Java库吗?   jasper报告将Highcharts图表添加到使用JavaAPI生成的JasperReport模板中   swing如何在java中更改按键的颜色   java Javax Websocket使用路径参数提交登录数据,好的做法?