Skip to main content

A Python ORM/data classes representation of the OMOP Common Data Model in different flavors powered by sqlacodegen

Project description

DZD - OMOP CDM Python ORM/Data Classes Representation

A Python ORM/data classes representation of the Observational Medical Outcomes Partnership (OMOP) Common Data Model (CDM) in different flavors powered by sqlacodegen

Author/Maintainer: Tim Bleimehl

For more background how this sausage is made have a look at the github repo at https://github.com/DZD-eV-Diabetes-Research/dzd-omop-cdm-python-models

This Readme is a "work in process". Come back later for a more complete manual.

Install

Just install the python module from pypi.org

python -m pip install --upgrade dzdomop

How to use

This tiny script demostrates how this module can help you to

  • Create a local dev database with the complete omop datamodel
  • insert some data based on our classes with some basic guardrails like type validation, typo prevention, ...
from sqlalchemy import create_engine
from sqlalchemy.orm import Session
from omopmodel import OMOP_5_3_declarative as omop

# Create a local SQLite database with all OMOP CDM tables+properties
engine = create_engine("sqlite:///cdm_source.db", echo=True)
omop.Base.metadata.create_all(engine)

# Create a some basic OMOP objects
care_site = omop.CareSite(care_site_id=5678, care_site_name="St. Local")
person = omop.Person(
    person_id=1234,
    year_of_birth=1985,
    care_site=care_site,
    gender_concept_id=1,
    race_concept_id=1,
    ethnicity_concept_id=1,
)

# Write the Object to the database
with Session(engine) as session:
    session.add(care_site)
    session.add(person)
    session.commit()

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

dzdomop-0.2.0.tar.gz (347.0 kB view details)

Uploaded Source

Built Distribution

dzdomop-0.2.0-py3-none-any.whl (353.1 kB view details)

Uploaded Python 3

File details

Details for the file dzdomop-0.2.0.tar.gz.

File metadata

  • Download URL: dzdomop-0.2.0.tar.gz
  • Upload date:
  • Size: 347.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.5

File hashes

Hashes for dzdomop-0.2.0.tar.gz
Algorithm Hash digest
SHA256 04749109b49b37a422cc0f99c10cfeb6853666e9c336e219becc8d839508be96
MD5 2cb9dd3606b4ebf3d9bc1e0488045097
BLAKE2b-256 bc2fbd1c81fea2576a23ec64f76fd4a64ffffee3c44f968416ae64ceb0c45991

See more details on using hashes here.

File details

Details for the file dzdomop-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: dzdomop-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 353.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.5

File hashes

Hashes for dzdomop-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8f4b8ca54133fca02ff9310a8339b958a60f744b1d0e2734443f17c303107a21
MD5 d12a0699bf8d1dc6ad6edaa78be8e67a
BLAKE2b-256 22f6b7ea2e00b8bd5ab14b25a44862d2ad0afbd4e69f46c6940124e55408412e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page