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

Uploaded Source

Built Distribution

dzdomop-0.3.0-py3-none-any.whl (341.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for dzdomop-0.3.0.tar.gz
Algorithm Hash digest
SHA256 c4a0049fb0c950a692ce4765bccfb47cfc8f540ccdf0c6d9eb49de6533c91f4d
MD5 5885a9460021916b5127f61bc5b67f54
BLAKE2b-256 2fa8c08a2d5836d68af062512afa609b790181c399a05900967e83ddbd33caeb

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for dzdomop-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1ae9aa4e9b2e25b7d43d7eb2762550b3f78c222bfc8da2841660f0d443e445a0
MD5 3d3b2e70e4080edaf092a3c6c8393e9a
BLAKE2b-256 85949f8079a83b180f7ee8b90d924f8379f046af161c3a714bd186a59dc619ad

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