Parse FHIR query string
Project description
A library to parse FHIR query strings.
Validates type and returns correct object
Built-in search parameters from FHIR standard
Supports modifiers, prefixes, and chains
Usage
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 --> [...]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
fhir_parse_qs-0.7.1.tar.gz
(25.9 kB
view hashes)
Built Distribution
Close
Hashes for fhir_parse_qs-0.7.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7a3320e5bab7c7858ebbed54f8afdc846eaee33bbc06c7ae958b731727318bac |
|
MD5 | f8079b358c63e0dbd1a5a57d6d796c73 |
|
BLAKE2b-256 | 30f9d2cbbd5076ee724efe49206c712da17a183a4d03ee8b0efac582ade4bcbe |