zmbus-sdk


Namezmbus-sdk JSON
Version 0.1.8 PyPI version JSON
download
home_pagehttps://github.com/dejinskunkworks/zimabus-sdk
SummarySDK for interacting with Zimasa medical systems
upload_time2025-03-10 19:43:50
maintainerNone
docs_urlNone
authorShikoli
requires_python<4.0,>=3.8
licenseMIT
keywords zimasa zmbus sdk
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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:

```bash
pip install zmbus-sdk
```

For development installation:

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

# Install with Poetry
poetry install
```

## Quick Start

```python
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](https://github.com/shikoli-makatiani/zimabus-sdk/docs).

## Development

This project uses Poetry for dependency management.

```bash
# 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](LICENSE) file for details.

## Support

For support, please contact [shikoli@turnkeyafrica.com](mailto: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

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/dejinskunkworks/zimabus-sdk",
    "name": "zmbus-sdk",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.8",
    "maintainer_email": null,
    "keywords": "zimasa, zmbus, sdk",
    "author": "Shikoli",
    "author_email": "shikoli@turnkeyafrica.com",
    "download_url": "https://files.pythonhosted.org/packages/9f/b7/ce2e22b465e6d135aa38faa734ba5df1674b14eccf0f93ea2a50b01c0fbc/zmbus_sdk-0.1.8.tar.gz",
    "platform": null,
    "description": "# zmbus-sdk\n\nA 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.\n\n## Installation\n\nYou can install the package directly from PyPI:\n\n```bash\npip install zmbus-sdk\n```\n\nFor development installation:\n\n```bash\n# Clone the repository\ngit clone https://github.com/shikoli-makatiani/zimabus-sdk.git\ncd zimabus-sdk\n\n# Install with Poetry\npoetry install\n```\n\n## Quick Start\n\n```python\nfrom zimasabus_sdk import zmsystem\nfrom zimasabus_sdk.zimasa import AppointmentService, FollowUpService\n\n# Initialize the client with your credentials\nclient = zmsystem.ZMSystem(\n    api_key=\"your_api_key\",\n    base_url=\"https://api.zimasa.com/v1\"\n)\n\n# Example: Get patient information\npatient = client.get_patient(patient_id=\"12345\")\nprint(f\"Patient Name: {patient.full_name}\")\n\n# Example: Submit medical records\nresponse = client.submit_medical_record(\n    patient_id=\"12345\",\n    record_data={\n        \"diagnosis\": \"Hypertension\",\n        \"treatment\": \"Prescribed medication\",\n        \"notes\": \"Follow-up in 2 weeks\"\n    }\n)\n\n# Example: Using the AppointmentService\nappointment_service = AppointmentService()\nservice_types = appointment_service.get_appointment_service_types()\nprint(f\"Available service types: {len(service_types.content)}\")\n\n# Example: Using the FollowUpService\nfollowup_service = FollowUpService()\nprovider_id = followup_service.get_provider_user_id(\"user_entity_id\")\nappointments = followup_service.get_appointments({\"providerUserId\": provider_id})\nprint(f\"Found {len(appointments.content)} appointments\")\n```\n\n## Features\n\n- **Secure Authentication**: Easy API authentication with your Zimasa credentials\n- **Patient Management**: Create, retrieve, update, and manage patient records\n- **Medical Data**: Access and submit medical records, test results, and diagnoses\n- **Appointment Scheduling**: Manage healthcare appointments and schedules\n- **Appointment Follow-ups**: Manage follow-ups for healthcare appointments\n- **Data Validation**: Built-in validation for all API requests using Pydantic\n- **Error Handling**: Comprehensive error handling with detailed error messages\n\n## Modules\n\n### ZmSystem\n\nCore module for authentication and base API interactions.\n\n### AppointmentService\n\nManage healthcare appointments, including:\n- Fetching service types and categories\n- Finding available appointment slots\n- Booking appointments\n\n### FollowUpService (New in v0.1.5)\n\nManage appointment follow-ups, including:\n- Retrieving provider user IDs\n- Fetching appointments for a provider\n- Confirming or rejecting appointments\n- Checking available slots for rescheduling\n- Rescheduling appointments\n- Extracting appointment details for follow-up analysis\n- Scheduling follow-up appointments\n- Sending follow-up notifications\n\n## Documentation\n\nFor detailed documentation and API reference, visit our [documentation site](https://github.com/shikoli-makatiani/zimabus-sdk/docs).\n\n## Development\n\nThis project uses Poetry for dependency management.\n\n```bash\n# Install dependencies\npoetry install\n\n# Run tests\npoetry run pytest\n\n# Format code\npoetry run black zimasabus_sdk\npoetry run isort zimasabus_sdk\n```\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add some amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Support\n\nFor support, please contact [shikoli@turnkeyafrica.com](mailto:shikoli@turnkeyafrica.com) or open an issue on GitHub.\n\n## Changelog\n\n### v0.1.5\n- Added new `FollowUpService` for managing appointment follow-ups\n- Improved error handling for API limitations\n- Added comprehensive test scripts\n\n### v0.1.4\n- Added `AppointmentService` for managing healthcare appointments\n- Improved documentation and examples\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "SDK for interacting with Zimasa medical systems",
    "version": "0.1.8",
    "project_urls": {
        "Homepage": "https://github.com/dejinskunkworks/zimabus-sdk",
        "Repository": "https://github.com/dejinskunkworks/zimabus-sdk"
    },
    "split_keywords": [
        "zimasa",
        " zmbus",
        " sdk"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "57b10372f6d1a209172c8420a49d6b84367685f097ac40ed454dee4dbe636219",
                "md5": "e920cf3b5806e3d2f5546f9ce87f384a",
                "sha256": "43102139d28acda529a7cf3be6cf2d4bea8604417a7d29ed211413f18d12c8e7"
            },
            "downloads": -1,
            "filename": "zmbus_sdk-0.1.8-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e920cf3b5806e3d2f5546f9ce87f384a",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.8",
            "size": 23569,
            "upload_time": "2025-03-10T19:43:48",
            "upload_time_iso_8601": "2025-03-10T19:43:48.847022Z",
            "url": "https://files.pythonhosted.org/packages/57/b1/0372f6d1a209172c8420a49d6b84367685f097ac40ed454dee4dbe636219/zmbus_sdk-0.1.8-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9fb7ce2e22b465e6d135aa38faa734ba5df1674b14eccf0f93ea2a50b01c0fbc",
                "md5": "f8f9ceb2af4615e83c40e89368606683",
                "sha256": "679017b476aa238e25357eeac0bd6952107fe8a432b7922205516b00ab633b4e"
            },
            "downloads": -1,
            "filename": "zmbus_sdk-0.1.8.tar.gz",
            "has_sig": false,
            "md5_digest": "f8f9ceb2af4615e83c40e89368606683",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.8",
            "size": 21254,
            "upload_time": "2025-03-10T19:43:50",
            "upload_time_iso_8601": "2025-03-10T19:43:50.359702Z",
            "url": "https://files.pythonhosted.org/packages/9f/b7/ce2e22b465e6d135aa38faa734ba5df1674b14eccf0f93ea2a50b01c0fbc/zmbus_sdk-0.1.8.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-03-10 19:43:50",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "dejinskunkworks",
    "github_project": "zimabus-sdk",
    "github_not_found": true,
    "lcname": "zmbus-sdk"
}
        
Elapsed time: 0.56699s