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.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - 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
FollowUpServicefor managing appointment follow-ups - Improved error handling for API limitations
- Added comprehensive test scripts
v0.1.4
- Added
AppointmentServicefor 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file zmbus_sdk-0.1.6.tar.gz.
File metadata
- Download URL: zmbus_sdk-0.1.6.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
75953b0cb407693b662ce64a54f93e5e9556e1a375d593c4a051b6ac656d406d
|
|
| MD5 |
fe64df2545a4a3d8e4324873fcdd2698
|
|
| BLAKE2b-256 |
67177b0df41f19d470386556d72846a605ac8b1eab3bc87edd08b00f1812ac64
|
File details
Details for the file zmbus_sdk-0.1.6-py3-none-any.whl.
File metadata
- Download URL: zmbus_sdk-0.1.6-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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6e4d8d0ea320bb37f52667faba687480547fd3f36757abc5234cd9b258f7762a
|
|
| MD5 |
51a18fd96e0aadd42240c6c1c20bd3d0
|
|
| BLAKE2b-256 |
dde920351a510ca4740adc6be854b9e931bb765913ba1fdea1885f5b9d01c741
|