No project description provided
Project description
ATF Library
Die App-Transport-Framework (ATF) Library ist eine Python-Bibliothek zur Verarbeitung und Handhabung von ATF-Nachrichten (https://simplifier.net/app-transport-framework) im FHIR-Format. Die Bibliothek bietet eine einfache Möglichkeit, verschiedene Anwendungsfälle und ihre zugehörigen Handler zu registrieren und zu verwalten.
Installation
Installieren Sie diese Bibliothek mit dem folgenden Befehl:
pip install app-transport-framework-library
Verwendung
- Importieren Sie die benötigten Klassen und Funktionen aus der Bibliothek:
from app_transport_framework_library.atf_bundle_processor import ATF_BundleProcessor
- Erstellen Sie eine Instanz des ATF_BundleProcessor und registrieren Sie die Handler für die Anwendungsfälle, die Sie erweitern möchten:
atf_processor = ATF_BundleProcessor(sender, source)
atf_processor.register_use_case_handler(
"https://gematik.de/fhir/atf/CodeSystem/operation-identifier-cs",
"eRezept_Rezeptanforderung;Rezeptanfrage",
eRezept_Rezeptanforderung_RezeptanfrageHandler()
)
atf_processor.register_use_case_handler(
"https://gematik.de/fhir/atf/CodeSystem/service-identifier-cs",
"eRezept_Rezeptanforderung;Rezeptanfrage_Storno",
eRezept_Rezeptanforderung_Rezeptanfrage_StornoHandler()
)
- Events
Abonnieren Sie das 'message_to_send_event', um die generierten ausgehenden Eingangsbestätigungen zu erhalten und weiterzuleiten:
from app_transport_framework_library.models.message_to_send import MessageToSend
def on_message_to_send_triggered(message_to_send: MessageToSend):
# Senden der Empfangsbestätigung an den ursprünglichen Absender
pass
atf_processor.message_to_send_event.subscribe(on_message_to_send_triggered)
Abonnieren Sie das 'received_Empfangsbestaetigung_event', um die eingehenden Eingangsbestätigungen des belieferten Adressaten zu erhalten und die Message-ID der gesendeten Nachricht auszuwerten:
from app_transport_framework_library.models.empfangsbestaetigung import Empfangsbestaetigung
def on_received_Empfangsbestaetigung(empfangsbestaetigung: Empfangsbestaetigung):
print(f"'{receiver_address}' hat Empfangsbestätigung für '{empfangsbestaetigung.message_id}' von '{empfangsbestaetigung.sender}' erhalten")
atf_processor.received_Empfangsbestaetigung_event.subscribe(on_received_Empfangsbestaetigung)
Abonnieren Sie das 'focus_Ressource_to_process_event', um die inhaltlichen Ressourcen des Anwendungsfalls zu erhalten und auswerten zu können:
from app_transport_framework_library.models.bundle_focus_content import BundleFocusContent
from fhir.resources.communication import Communication
def on_focus_Ressource_to_process(bundle_content: BundleFocusContent):
from app_transport_framework_library.models.bundle_focus_content import BundleFocusContent
from fhir.resources.communication import Communication
def on_focus_Ressource_to_process(bundle_content: BundleFocusContent):
print(f"Verarbeitung des Bundles mit Fokus auf '{bundle_content.code}'")
if bundle_content.code == "Selbsttest;Lieferung":
com_parsed = Communication.parse_raw(bundle_content.bundle_entries[0].json())
decoded_message = base64.b64decode(com_parsed.payload[0].contentAttachment.data)
print(f"Das Bundle enthält {len(bundle_content.bundle_entries)} Einträge")
print(f"Die Kommunikation enthält die Payload '{decoded_message.decode('utf-8')}'")
atf_processor.focus_Ressource_to_process_event.subscribe(on_focus_Ressource_to_process)
Beispielimplementierung
Eine Beispielimplementierung kann hier eingesehen werden: https://github.com/gematik/api-app-transport-framework/tree/main/src/poc
Lizenz
Dieses Projekt steht unter der MIT-Lizenz - siehe die LICENSE-Datei für Details.
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
Built Distribution
Hashes for app_transport_framework_library-0.1.9.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9b4943f005c128d31b0fad6b32becf69dff15a1bec10e6c71274bf9d4291ca80 |
|
MD5 | 1c5956a96253c2b3c406ee59a2e43279 |
|
BLAKE2b-256 | a41c510763398c5b7d36c88b5dca60fc79bf762f490d691345a64449e3431d62 |
Hashes for app_transport_framework_library-0.1.9-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 72649693dab237a7b4c3ed8ad103dd2b8cfa380700b5528765112364440e52a8 |
|
MD5 | 3e2ea594661d9a1245dec8d3578b005a |
|
BLAKE2b-256 | cd71377f46168a276980c48e6c00fb0b9899c6139366328938de268254beb1f1 |