Fhir-kindling

Latest version: v1.0.3

Safety actively analyzes 623368 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 2

1.0.3

Re-enable authentification against a server using OpenID Connect. Remove authlib dependency in favor of a simple custom OpenID connect implementation.
You can now authenticate against a server by providing a client id and secret and a token endpoint. The library will then fetch an access token and use it for all requests.

Added
- OpenID Connect with client credentials auth flow for authenticating against the server

1.0.2

Changed
Removed pendulum dependency and replaced it with datetime. This should make the library more compatible with other libraries

1.0.0

Improve packaging with poetry to slim down library size with optional extras for datascience features. Record linkage
for transfer functionality. Add support for Python 3.9+. Code base cleanup and refactoring.
Big upgrades to the [documentation](https://migraf.github.io/fhir-kindling/) 👀.


Changed
- **Breaking:** Renamed `FHIRQuery` classes to `FhirQuerySync` and `FhirQueryAsync` for naming consistency.
- **Breaking:** Renamed `FHIRQueryParameters` class to `FhirQueryParameters` for naming consistency.
- **Breaking:** Query response `.save()` method now only supports saving as XML or JSON file. To serialize resources and bundles use
the `flatten` function from the `serde` package. Requires installation of the `ds` extra.
- **Breaking:** Moved `ServerSummary` and summary functionality into separate module.
- **Breaking:** Unified `has()` and `where()` parameter args into a single argument that accepts either a dict or a
parameter object. Removed `_dict` arguments.
- Improve packaging with poetry and optional extras for datascience features and web app.
- Optional dependencies for [`ds`, `app`] can be installed using `pip install fhir_kindling[{extra}]`.
- Split batch transactions into separate module to slim down `FhirServer` class.
- Split `transfer` functionality into separate module to slim down `FhirServer` class.

Added
- Optional progress bar for `summary`, `get_many`, `add_all` and `transfer` methods.
- Additional property `resource_list` on `FhirQueryResponse` to get a list of all resources (even included ones) from the response.
- `summary_async()` method for asynchronous server summary.
- `total` property on `QueryResponse` to get the total number of resources returned by the query.
- `record_linkage` functionality for `transfer()` method and split transfer functionality into separate module.
- Retry functionality for the `FhirServer` class. Allowing for retrying failed requests based on the configured status codes and methods. Configurable with backoff and jitter.
- Benchmark functionality for FhirServers that run a comprehensive set of tests against the server and measure the time it takes to complete them. Available only when the `ds` extra is installed.


Removed
- Removed `to_dfs()` method on query response object. Use `flatten` function from the `serde` package instead.
Requires installation of the `ds` extra.
- Removed `requests-oauthlib` in favor of `authlib`.

0.9.0

Asynchronous API for CRUD operations against fhir servers.

Changed
- Switched http client library from requests [httpx](https://www.python-httpx.org/)
- removed requests-oauthlib in favor of authlib for oauth2 authentication flow
- `FHIRQuery` class renamed to `FhirQuerySync` to allow for sync and async version
- moved resolving response pagination from `QueryReponse` to the sync and async query classes
- getting multiple resources via `server.get_many()` now uses proper batch requests

Added
- `FhirQueryAsync` class for async queries against a server
- asynchronous counterparts for CRUD operations in the `FHIRServer` class using the same API:
- `query_async()`
- `raw_query_async()`
- `get_async()`
- `get_many_async()`
- `add_async()`
- `add_all_async()`
- `add_bundle_async()`
- `update_async()`
- `delete_async()`

0.8.0

Resource transfer between servers and querying resources by reference.
`get`, `get_many` for querying resource by reference
`server.transfer(other_server, query_result)` for transferring resources

Changed
- `FhirServer` constructor now accepts two additional optional parameters, `auth` and `headers` that will be used for the
instance's `requests` session.

Added
- [x] `server.get(reference)` get a single resource from the server, based on relative path/reference.
- [x] `server.get_many(references)` get multiple resources from the server, based on relative path/reference.
- [x] `server.transfer(other_server, query)` transfer resources matching the query from one server to another. Also requests
resources referenced by the resources matching to maintain referential integrity on the new server.
- [x] `query.all(page_callback=callback, count=50)` callback functions and count for pagination resolving in query responses.

0.7.0

Update a list of resources on the server. CSV/Pandas serialization of resources and query responses.

Added
- [x] `server.update(resources)` which updates a list of resources stored on the server
- [x] Recursive resource flattening for csv/tabular serialization
- [x] `query_response.save(path, format="csv)` to save the results of a query to csv

Changed
- `server.query(params)` the query method now directly accepts query parameters

Page 1 of 2

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.