Open Compute - utilities by Jori Health
Project description
Open Compute
Open-source agentic AI for health-tech
Open Compute is a powerful Python library that uses AI agents to transform patient journeys into standards-compliant FHIR (Fast Healthcare Interoperability Resources) data. Built by Jori Health, this tool enables healthcare developers to bridge the gap between narrative patient experiences and structured healthcare data.
Quick Start
Installation
pip install open-compute
Requirements
- Python 3.9+
- OpenAI API Key: Set as environment variable
export OPENAI_API_KEY='your-api-key-here'
Usage
Patient Journey to FHIR Conversion
The primary use case is converting narrative patient journeys into structured, validated FHIR resources:
from open_compute import (
PatientJourney,
JourneyStage,
generate_fhir_from_journey,
)
# 1. Define a patient journey with clinical narrative
journey = PatientJourney(
patient_id="patient-123",
summary="58 year old male presents to ER with chest pain, diagnosed with acute MI",
stages=[
JourneyStage(
name="Registration",
description="Patient registered in ER",
metadata={
"timestamp": "2024-01-15T10:30:00Z",
"location": "Emergency Department"
}
),
JourneyStage(
name="Triage",
description="Initial assessment - chest pain, elevated BP",
metadata={
"vital_signs": {
"blood_pressure": "150/95 mmHg",
"heart_rate": "88 bpm"
},
"chief_complaint": "Chest pain"
}
),
JourneyStage(
name="Diagnosis",
description="Diagnosed with acute myocardial infarction",
metadata={
"condition": "Acute MI",
"icd10_code": "I21.9"
}
),
JourneyStage(
name="Treatment",
description="Administered aspirin and nitroglycerin",
metadata={
"medications": ["Aspirin 325mg", "Nitroglycerin 0.4mg"]
}
),
]
)
# 2. Generate FHIR resources using AI
result = generate_fhir_from_journey(
journey=journey,
patient_context="58 year old male named John Doe with history of hypertension",
model="gpt-4o-mini", # or "gpt-4", "gpt-3.5-turbo"
fhir_version="R4",
max_iterations=3,
auto_save=True # Saves to output/john_doe/
)
# 3. Check results
print(f"✅ Success: {result.success}")
print(f"📊 Generated {len(result.generated_resources)} FHIR resources")
print(f"🔄 Iterations: {result.iterations}")
# View generated resource types
for resource in result.generated_resources:
print(f" - {resource['resourceType']}/{resource.get('id', 'no-id')}")
Output Structure
When auto_save=True, generated files are saved to output/{firstname_lastname}/:
output/john_doe/
├── patient_bundle.json # Complete FHIR Bundle (all resources)
├── bulk_fhir.jsonl # Bulk FHIR format (one resource per line)
└── README.txt # Summary of generated resources
Advanced Configuration
from open_compute import AIJourneyToFHIR
# Create agent with custom configuration
agent = AIJourneyToFHIR(
api_key="your-openai-key", # or use env var OPENAI_API_KEY
model="gpt-4o-mini",
fhir_version="R4",
max_iterations=5,
max_fix_retries=3,
auto_save=True,
save_directory="output",
parallel_generation=True, # Faster generation
use_enhanced_context=True # Better accuracy with FHIR profiles
)
# Generate resources
result = agent.generate(journey, patient_context="...")
Examples
We provide comprehensive examples to help you get started:
Running the Examples
# Make sure you have your OpenAI API key set
export OPENAI_API_KEY='your-api-key-here'
# Run the main example
python examples/patient_journey_to_fhir_example.py
Available Examples
| Example | Description | File |
|---|---|---|
| Basic Usage | Complete patient journey with ER visit, diagnosis, and treatment | examples/patient_journey_to_fhir_example.py |
The example demonstrates:
- Creating a patient journey with multiple stages
- Generating FHIR resources (Patient, Encounter, Observation, Condition, MedicationStatement, Procedure)
- Validating generated resources
- Auto-saving to organized output directory
Contributing
We welcome contributions! Open Compute is an open-source project and we'd love your help.
Areas for Contribution
- Additional FHIR resource types
- Support for more FHIR versions
- Enhanced validation rules
- Performance optimizations
- Documentation improvements
Getting Started
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Run tests (
pytest) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
MIT License - see LICENSE for details
Made with 🏥 for better healthcare interoperability
Project details
Release history Release notifications | RSS feed
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 open_compute-0.0.5.tar.gz.
File metadata
- Download URL: open_compute-0.0.5.tar.gz
- Upload date:
- Size: 37.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
61484b9292bc3a17faa5494d74027d98817a50c75d34fd31a24b30bfa367f38f
|
|
| MD5 |
6052d65a58b12efd823d02dfdab0e4c8
|
|
| BLAKE2b-256 |
f81905acc0bcc75d09e7b36d2833339fe6ca963e519a8c6d51316ff9a136fa0b
|
Provenance
The following attestation bundles were made for open_compute-0.0.5.tar.gz:
Publisher:
publish.yml on Jori-Health/Open-Compute
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
open_compute-0.0.5.tar.gz -
Subject digest:
61484b9292bc3a17faa5494d74027d98817a50c75d34fd31a24b30bfa367f38f - Sigstore transparency entry: 625283648
- Sigstore integration time:
-
Permalink:
Jori-Health/Open-Compute@3ebab2738674eaae876f660300b2affcd6bf97e8 -
Branch / Tag:
refs/tags/v0.0.5 - Owner: https://github.com/Jori-Health
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@3ebab2738674eaae876f660300b2affcd6bf97e8 -
Trigger Event:
release
-
Statement type:
File details
Details for the file open_compute-0.0.5-py3-none-any.whl.
File metadata
- Download URL: open_compute-0.0.5-py3-none-any.whl
- Upload date:
- Size: 30.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1a39a2620f3d7e3fc12fd51f0c5b62d12fb6315b1c3e6fb71a07a539d269aba9
|
|
| MD5 |
8a02a1af398eacaccff94f15d6233f0b
|
|
| BLAKE2b-256 |
9b9895a9e6a0e69655fc40e5dd78b50098e4c46a1e17e2b7e3b1a95552f7f299
|
Provenance
The following attestation bundles were made for open_compute-0.0.5-py3-none-any.whl:
Publisher:
publish.yml on Jori-Health/Open-Compute
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
open_compute-0.0.5-py3-none-any.whl -
Subject digest:
1a39a2620f3d7e3fc12fd51f0c5b62d12fb6315b1c3e6fb71a07a539d269aba9 - Sigstore transparency entry: 625283658
- Sigstore integration time:
-
Permalink:
Jori-Health/Open-Compute@3ebab2738674eaae876f660300b2affcd6bf97e8 -
Branch / Tag:
refs/tags/v0.0.5 - Owner: https://github.com/Jori-Health
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@3ebab2738674eaae876f660300b2affcd6bf97e8 -
Trigger Event:
release
-
Statement type: