Skip to main content

SDK for interacting with Zimasa medical systems

Project description

zmbus-sdk

A Python SDK for interacting with Zimasa medical systems. This library simplifies integration with Zimasa's healthcare APIs, allowing developers to easily access and manage medical data, patient records, and healthcare services.

Installation

You can install the package directly from PyPI:

pip install zmbus-sdk

For development installation:

# Clone the repository
git clone https://github.com/shikoli-makatiani/zimabus-sdk.git
cd zimabus-sdk

# Install with Poetry
poetry install

Quick Start

from zimasabus_sdk import zmsystem
from zimasabus_sdk.zimasa import AppointmentService, FollowUpService

# Initialize the client with your credentials
client = zmsystem.ZMSystem(
    api_key="your_api_key",
    base_url="https://api.zimasa.com/v1"
)

# Example: Get patient information
patient = client.get_patient(patient_id="12345")
print(f"Patient Name: {patient.full_name}")

# Example: Submit medical records
response = client.submit_medical_record(
    patient_id="12345",
    record_data={
        "diagnosis": "Hypertension",
        "treatment": "Prescribed medication",
        "notes": "Follow-up in 2 weeks"
    }
)

# Example: Using the AppointmentService
appointment_service = AppointmentService()
service_types = appointment_service.get_appointment_service_types()
print(f"Available service types: {len(service_types.content)}")

# Example: Using the FollowUpService
followup_service = FollowUpService()
provider_id = followup_service.get_provider_user_id("user_entity_id")
appointments = followup_service.get_appointments({"providerUserId": provider_id})
print(f"Found {len(appointments.content)} appointments")

Features

  • Secure Authentication: Easy API authentication with your Zimasa credentials
  • Patient Management: Create, retrieve, update, and manage patient records
  • Medical Data: Access and submit medical records, test results, and diagnoses
  • Appointment Scheduling: Manage healthcare appointments and schedules
  • Appointment Follow-ups: Manage follow-ups for healthcare appointments
  • Data Validation: Built-in validation for all API requests using Pydantic
  • Error Handling: Comprehensive error handling with detailed error messages

Modules

ZmSystem

Core module for authentication and base API interactions.

AppointmentService

Manage healthcare appointments, including:

  • Fetching service types and categories
  • Finding available appointment slots
  • Booking appointments

FollowUpService (New in v0.1.5)

Manage appointment follow-ups, including:

  • Retrieving provider user IDs
  • Fetching appointments for a provider
  • Confirming or rejecting appointments
  • Checking available slots for rescheduling
  • Rescheduling appointments
  • Extracting appointment details for follow-up analysis
  • Scheduling follow-up appointments
  • Sending follow-up notifications

Documentation

For detailed documentation and API reference, visit our documentation site.

Development

This project uses Poetry for dependency management.

# Install dependencies
poetry install

# Run tests
poetry run pytest

# Format code
poetry run black zimasabus_sdk
poetry run isort zimasabus_sdk

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

For support, please contact shikoli@turnkeyafrica.com or open an issue on GitHub.

Changelog

v0.1.5

  • Added new FollowUpService for managing appointment follow-ups
  • Improved error handling for API limitations
  • Added comprehensive test scripts

v0.1.4

  • Added AppointmentService for managing healthcare appointments
  • Improved documentation and examples

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zmbus_sdk-0.1.5.tar.gz (20.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

zmbus_sdk-0.1.5-py3-none-any.whl (23.0 kB view details)

Uploaded Python 3

File details

Details for the file zmbus_sdk-0.1.5.tar.gz.

File metadata

  • Download URL: zmbus_sdk-0.1.5.tar.gz
  • Upload date:
  • Size: 20.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.5 CPython/3.12.7 Windows/11

File hashes

Hashes for zmbus_sdk-0.1.5.tar.gz
Algorithm Hash digest
SHA256 9128cf2d75c1f8c423815cf305dda1a50a6094c364b4645059f5b1fee0d2af51
MD5 b5919fcab6a0b995d12f74c09acee846
BLAKE2b-256 7c44be0199caca8887538cebc8a310d8ca4486dfe4cdcc4975efff3d48e9f78d

See more details on using hashes here.

File details

Details for the file zmbus_sdk-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: zmbus_sdk-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 23.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.5 CPython/3.12.7 Windows/11

File hashes

Hashes for zmbus_sdk-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 2df431f911d2d8a3cd038ffdc5e5a0169160e41ca8d206c6d89f5d2c00058f67
MD5 c6f44b8c5cef574c1388eb1a34a7d0f0
BLAKE2b-256 a5bfa3f1206169ad0aa172a818f14b47375f2e622a48eeca7bfa394308f6e3ca

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page