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.1.tar.gz (347.3 kB view details)

Uploaded Source

Built Distribution

dzdomop-0.2.1-py3-none-any.whl (353.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for dzdomop-0.2.1.tar.gz
Algorithm Hash digest
SHA256 6a520932f531c96599300177d74cd4ce59e52704c136e780d091460e47b4ad43
MD5 62ee03c60a6dafe186f7de0eb1ca947a
BLAKE2b-256 6f78bc20dc08c8640fd6dab3943238dc571805fa424e2a4e33eb4199f9e3f3db

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for dzdomop-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8204900d2b0dadd974c4cc51a8ecfc28b223c8a58481123ee53c9f26cd0b7928
MD5 5d3035bfc9d099451803aad4dd00485c
BLAKE2b-256 5e9fe14d05fe9af47075120a47c8a431cbd35ac91a1b8b8ce862e4ad75d04dff

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