dhti-elixir-base


Namedhti-elixir-base JSON
Version 0.9.1 PyPI version JSON
download
home_pageNone
SummaryDHTI Elixir Base
upload_time2025-10-24 11:15:38
maintainerNone
docs_urlNone
authorNone
requires_python<4.0,>=3.10
licenseNone
keywords gen ai dhti python
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # [DHTI ELIXIR BASE](https://github.com/dermatologist/dhti)


[![Release](https://img.shields.io/github/v/release/dermatologist/dhti-elixir-base)](https://img.shields.io/github/v/release/dermatologist/dhti-elixir-base)
[![Build status](https://img.shields.io/github/actions/workflow/status/dermatologist/dhti-elixir-base/pytest.yml?branch=develop)](https://github.com/dermatologist/dhti-elixir-base/actions/workflows/pytest.yml?query=branch%3Adevelop)
[![codecov](https://codecov.io/gh/dermatologist/dhti-elixir-base/branch/develop/graph/badge.svg)](https://codecov.io/gh/dermatologist/dhti-elixir-base)
[![Commit activity](https://img.shields.io/github/commit-activity/m/dermatologist/dhti-elixir-base)](https://img.shields.io/github/commit-activity/m/dermatologist/dhti-elixir-base)
[![Downloads](https://img.shields.io/pypi/dm/dhti-elixir-base)](https://pypi.org/project/dhti-elixir-base)
[![Documentation](https://badgen.net/badge/icon/documentation?icon=libraries&label)](https://dermatologist.github.io/dhti-elixir-base/)

Base library for creating new [DHTI](https://github.com/dermatologist/dhti) Elixirs.

[What is DHTI?](https://github.com/dermatologist/dhti) DHTI (Digital Health Tooling Interface) provides building blocks for interoperable, healthcare-focused AI tooling. This repository is the minimal foundation you extend to build your own "Elixir"—a reusable, testable component (chain/agent/server) that plugs into the wider DHTI ecosystem.

Status: WIP, but stable enough to scaffold new Elixirs and iterate quickly.

<!-- gh-dependents-info-used-by-start -->
[![Generated by github-dependents-info](https://img.shields.io/static/v1?label=Used%20by&message=13&color=informational&logo=slickpic)](https://github.com/dermatologist/dhti-elixir-base/blob/main/docs/github-dependents-info.md)<!-- gh-dependents-info-used-by-end -->


## Overview

This package exposes lightweight, composable base classes:

- `BaseChain` – a LangChain-compatible chain scaffold with sensible defaults.
- `BaseAgent` – an agent scaffold that can bind tools and work with LangGraph.
- `BaseGraph`, `BaseLLM`, `BaseServer`, `BaseSpace`, and `BaseDhtiModel` – helpers to organize more complex Elixirs.

Use these to rapidly create a new Elixir with a consistent structure, tests, and docs.

### Dependency Injection (mydi.py / di)

The codebase uses a simple dependency injection pattern via `mydi.py` and the `get_di` function. This allows you to:
- Configure FHIR endpoints, authentication, and other settings at runtime
- Swap out implementations for testing or customization
- Keep your code modular and maintainable

### CDS Hook Module (Frontend Integration)

The `cds_hook` module now provides  request parsing and context extraction for CDS Hooks workflows. It supports:
- Parsing various CDS Hooks request formats
- Extracting patient and order context

This enables integration with frontend CDS Hooks clients.

### FHIR Module (Backend Integration: SMART on FHIR & FHIRPath)

The `fhir` module  includes advanced backend features:
- **SMART on FHIR**: The `SmartOnFhirSearch` class provides secure, standards-based access to FHIR resources using OAuth2 and the SMART on FHIR protocol. It supports:
	- Patient-centric resource queries (Conditions, Observations, Procedures, MedicationRequests, AllergyIntolerances)
	- $everything operation for comprehensive patient data
	- Automatic token management and authentication
- **FHIRPath Support**: All resource queries can apply FHIRPath expressions for flexible data extraction and transformation.

[![Documentation](https://badgen.net/badge/icon/documentation?icon=libraries&label)](https://dermatologist.github.io/dhti-elixir-base/)

## Project layout

- `src/dhti_elixir_base/` – base classes and minimal utilities.
- `tests/` – example tests to keep your Elixir robust.
- `examples/` – quick patterns for chains/graphs.
- `docs/` – MkDocs configuration for documentation.


## Learn more

- DHTI home: https://github.com/dermatologist/dhti
- This template docs: https://dermatologist.github.io/dhti-elixir-base/

## Give us a star ⭐️
If you find this project useful, give us a star. It helps others discover the project.

## Contributors

* [Bell Eapen](https://nuchange.ca) | [![Twitter Follow](https://img.shields.io/twitter/follow/beapen?style=social)](https://twitter.com/beapen)


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "dhti-elixir-base",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.10",
    "maintainer_email": null,
    "keywords": "Gen AI, dhti, python",
    "author": null,
    "author_email": "Bell Eapen <github_public@gulfdoctor.net>",
    "download_url": "https://files.pythonhosted.org/packages/79/1c/189775445134e0ec73d207a9ff6054c2da1ff638651e25e075d4c339513e/dhti_elixir_base-0.9.1.tar.gz",
    "platform": null,
    "description": "# [DHTI ELIXIR BASE](https://github.com/dermatologist/dhti)\n\n\n[![Release](https://img.shields.io/github/v/release/dermatologist/dhti-elixir-base)](https://img.shields.io/github/v/release/dermatologist/dhti-elixir-base)\n[![Build status](https://img.shields.io/github/actions/workflow/status/dermatologist/dhti-elixir-base/pytest.yml?branch=develop)](https://github.com/dermatologist/dhti-elixir-base/actions/workflows/pytest.yml?query=branch%3Adevelop)\n[![codecov](https://codecov.io/gh/dermatologist/dhti-elixir-base/branch/develop/graph/badge.svg)](https://codecov.io/gh/dermatologist/dhti-elixir-base)\n[![Commit activity](https://img.shields.io/github/commit-activity/m/dermatologist/dhti-elixir-base)](https://img.shields.io/github/commit-activity/m/dermatologist/dhti-elixir-base)\n[![Downloads](https://img.shields.io/pypi/dm/dhti-elixir-base)](https://pypi.org/project/dhti-elixir-base)\n[![Documentation](https://badgen.net/badge/icon/documentation?icon=libraries&label)](https://dermatologist.github.io/dhti-elixir-base/)\n\nBase library for creating new [DHTI](https://github.com/dermatologist/dhti) Elixirs.\n\n[What is DHTI?](https://github.com/dermatologist/dhti) DHTI (Digital Health Tooling Interface) provides building blocks for interoperable, healthcare-focused AI tooling. This repository is the minimal foundation you extend to build your own \"Elixir\"\u2014a reusable, testable component (chain/agent/server) that plugs into the wider DHTI ecosystem.\n\nStatus: WIP, but stable enough to scaffold new Elixirs and iterate quickly.\n\n<!-- gh-dependents-info-used-by-start -->\n[![Generated by github-dependents-info](https://img.shields.io/static/v1?label=Used%20by&message=13&color=informational&logo=slickpic)](https://github.com/dermatologist/dhti-elixir-base/blob/main/docs/github-dependents-info.md)<!-- gh-dependents-info-used-by-end -->\n\n\n## Overview\n\nThis package exposes lightweight, composable base classes:\n\n- `BaseChain` \u2013 a LangChain-compatible chain scaffold with sensible defaults.\n- `BaseAgent` \u2013 an agent scaffold that can bind tools and work with LangGraph.\n- `BaseGraph`, `BaseLLM`, `BaseServer`, `BaseSpace`, and `BaseDhtiModel` \u2013 helpers to organize more complex Elixirs.\n\nUse these to rapidly create a new Elixir with a consistent structure, tests, and docs.\n\n### Dependency Injection (mydi.py / di)\n\nThe codebase uses a simple dependency injection pattern via `mydi.py` and the `get_di` function. This allows you to:\n- Configure FHIR endpoints, authentication, and other settings at runtime\n- Swap out implementations for testing or customization\n- Keep your code modular and maintainable\n\n### CDS Hook Module (Frontend Integration)\n\nThe `cds_hook` module now provides  request parsing and context extraction for CDS Hooks workflows. It supports:\n- Parsing various CDS Hooks request formats\n- Extracting patient and order context\n\nThis enables integration with frontend CDS Hooks clients.\n\n### FHIR Module (Backend Integration: SMART on FHIR & FHIRPath)\n\nThe `fhir` module  includes advanced backend features:\n- **SMART on FHIR**: The `SmartOnFhirSearch` class provides secure, standards-based access to FHIR resources using OAuth2 and the SMART on FHIR protocol. It supports:\n\t- Patient-centric resource queries (Conditions, Observations, Procedures, MedicationRequests, AllergyIntolerances)\n\t- $everything operation for comprehensive patient data\n\t- Automatic token management and authentication\n- **FHIRPath Support**: All resource queries can apply FHIRPath expressions for flexible data extraction and transformation.\n\n[![Documentation](https://badgen.net/badge/icon/documentation?icon=libraries&label)](https://dermatologist.github.io/dhti-elixir-base/)\n\n## Project layout\n\n- `src/dhti_elixir_base/` \u2013 base classes and minimal utilities.\n- `tests/` \u2013 example tests to keep your Elixir robust.\n- `examples/` \u2013 quick patterns for chains/graphs.\n- `docs/` \u2013 MkDocs configuration for documentation.\n\n\n## Learn more\n\n- DHTI home: https://github.com/dermatologist/dhti\n- This template docs: https://dermatologist.github.io/dhti-elixir-base/\n\n## Give us a star \u2b50\ufe0f\nIf you find this project useful, give us a star. It helps others discover the project.\n\n## Contributors\n\n* [Bell Eapen](https://nuchange.ca) | [![Twitter Follow](https://img.shields.io/twitter/follow/beapen?style=social)](https://twitter.com/beapen)\n\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "DHTI Elixir Base",
    "version": "0.9.1",
    "project_urls": {
        "Documentation": "https://github.com/dermatologist/dhti",
        "Homepage": "https://nuchange.ca",
        "Repository": "https://github.com/dermatologist/dhti-elixir-base"
    },
    "split_keywords": [
        "gen ai",
        " dhti",
        " python"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "66795d11250717d743ece2262ff190146fb3da8f8ed43f3d80ddfe0ff71217f1",
                "md5": "19450e294489e30822c71b038913aa12",
                "sha256": "271ae0ee35c4d3e62aadd350dfeb8cf873571db09399e87f27c79bdd563a89b6"
            },
            "downloads": -1,
            "filename": "dhti_elixir_base-0.9.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "19450e294489e30822c71b038913aa12",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.10",
            "size": 31597,
            "upload_time": "2025-10-24T11:15:36",
            "upload_time_iso_8601": "2025-10-24T11:15:36.976399Z",
            "url": "https://files.pythonhosted.org/packages/66/79/5d11250717d743ece2262ff190146fb3da8f8ed43f3d80ddfe0ff71217f1/dhti_elixir_base-0.9.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "791c189775445134e0ec73d207a9ff6054c2da1ff638651e25e075d4c339513e",
                "md5": "f6824e320886df72e40fc61ce0b4345d",
                "sha256": "afe14f75b9a1491a9354c089c71e609ec2fe913417b2295a66174743c7dfd36c"
            },
            "downloads": -1,
            "filename": "dhti_elixir_base-0.9.1.tar.gz",
            "has_sig": false,
            "md5_digest": "f6824e320886df72e40fc61ce0b4345d",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.10",
            "size": 229139,
            "upload_time": "2025-10-24T11:15:38",
            "upload_time_iso_8601": "2025-10-24T11:15:38.269311Z",
            "url": "https://files.pythonhosted.org/packages/79/1c/189775445134e0ec73d207a9ff6054c2da1ff638651e25e075d4c339513e/dhti_elixir_base-0.9.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-24 11:15:38",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "dermatologist",
    "github_project": "dhti",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "dhti-elixir-base"
}
        
Elapsed time: 9.61608s