分析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 --> [...]