Smart on fhir python client
Project description
smart-on-fhir-client 🔥
Package allowing to request a fhir server with the smart-on-fhir protocol.
ℹ Warning
It is not a webserver providing a webserver with a callback url usually involved in the smart-on-fhir procedure
Tutorial
First, we will need to create a partner. We can do this easily subclassing the Partner
class.
import os
from smart_on_fhir_client.partner import Partner
from typing import Set
from smart_on_fhir_client.strategy import Strategy
class Lifen(Partner):
name = 'LIFEN'
supported_strategies: Set[Strategy] = {Strategy.M2M}
client_id: str = os.getenv("LIFEN_CLIENT_ID")
client_secret: str = os.getenv("LIFEN_CLIENT_SECRET")
token_url: str = ... # set the token url
fhir_url: str = ... # set the fhir url
# additional information
audience: str = ... # audience
database_reference: str = ... # optional
grant_type: str = "client_credentials" # set the credentials
LIFEN = Lifen()
from smart_on_fhir_client.client import smart_client_factory
from smart_on_fhir_client.requester.fhir_requester import fhir_client_manager
from smart_on_fhir_client.strategy import Strategy
# set up your own fhir server url
fhir_client_manager.set_own_fhir_url("http://localhost:8080/fhir")
async def register():
async with smart_client_factory:
await fhir_client_manager.register_partner_async(
smart_client_factory.builder()
.for_partner(LIFEN)
.for_strategy(Strategy.M2M)
# you can register special classes for specific fhir resources
.register_cls_for('Patient', LifenPatientResource)
)
first_patient = await fhir_client_manager.LIFEN.Patient.search().limit(10).first()
await first_patient.pipe_to_target_fhir_server()
Features
Allow to send some fetched fhir resources to another fhir server
via the pipe_to_target_fhir_server
, making data transfer between two fhir
servers easier.
Notes
Work based heavily on fhir-py and fhir-resources python packages
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
smart-on-fhir-client-0.1.9.tar.gz
(10.9 kB
view hashes)
Built Distribution
Close
Hashes for smart-on-fhir-client-0.1.9.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4d3e4ead26d93daeb85af8ed1eaa2f4f223f271a737576b88ad362cf266621d3 |
|
MD5 | 3a97ec9c9da7aed97a4270bc932e4d13 |
|
BLAKE2b-256 | 8f81f049cf1862b4c4caf3b3d756899425b3f1435a37ab095207f09e1fda72a4 |
Close
Hashes for smart_on_fhir_client-0.1.9-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1c5c51737ee252475e3ab21fe7d089d37517d852e2d8565ed976521b29d490ca |
|
MD5 | 21c6d409c9772e59f50238d1c191889f |
|
BLAKE2b-256 | fd3bc3d8a567b923f098b3a29871e8420184e03a1af313b2759d40ddce1c90d3 |