| Name | dhti-elixir-base JSON |
| Version |
0.9.1
JSON |
| download |
| home_page | None |
| Summary | DHTI Elixir Base |
| upload_time | 2025-10-24 11:15:38 |
| maintainer | None |
| docs_url | None |
| author | None |
| requires_python | <4.0,>=3.10 |
| license | None |
| 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)
[](https://img.shields.io/github/v/release/dermatologist/dhti-elixir-base)
[](https://github.com/dermatologist/dhti-elixir-base/actions/workflows/pytest.yml?query=branch%3Adevelop)
[](https://codecov.io/gh/dermatologist/dhti-elixir-base)
[](https://img.shields.io/github/commit-activity/m/dermatologist/dhti-elixir-base)
[](https://pypi.org/project/dhti-elixir-base)
[](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 -->
[](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.
[](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) | [](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[](https://img.shields.io/github/v/release/dermatologist/dhti-elixir-base)\n[](https://github.com/dermatologist/dhti-elixir-base/actions/workflows/pytest.yml?query=branch%3Adevelop)\n[](https://codecov.io/gh/dermatologist/dhti-elixir-base)\n[](https://img.shields.io/github/commit-activity/m/dermatologist/dhti-elixir-base)\n[](https://pypi.org/project/dhti-elixir-base)\n[](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[](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[](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) | [](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"
}