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

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dzdomop-0.4.0-py3-none-any.whl (348.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: dzdomop-0.4.0.tar.gz
  • Upload date:
  • Size: 341.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for dzdomop-0.4.0.tar.gz
Algorithm Hash digest
SHA256 aafed26355bdace1e6c1a4878d01e38cb366ff517d5d230546dc1b6c301703da
MD5 94c6a366d374db1731defcbe079fdeba
BLAKE2b-256 0ac9dfc770a6e8ddbc7c34b3684e329f17deb6e45c94dec0dff221d90f846970

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dzdomop-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 348.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for dzdomop-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b26d84fd1048cde95856a484e49baa4da63fea64b31cdf79f6f6d3111858cfe1
MD5 8c00038767c5aa5f9d65ebd48ff0e3e2
BLAKE2b-256 245cc0cce868c6b4c75216b571d6a7e4e368d048cbddcdfb1c928c35201efb8f

See more details on using hashes here.

Supported by

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