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.2.tar.gz (335.3 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.3.2-py3-none-any.whl (341.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for dzdomop-0.3.2.tar.gz
Algorithm Hash digest
SHA256 708b531b95954cbdf9d9a40d91a3de9d19733dbdd1edceb33bdbf12083f411af
MD5 05f7fc4f9aab1d33792bb0784ea304f1
BLAKE2b-256 9a0660775a1665d7495aa1071ab15c22887dfa2869dfc7adfb1653a841c4e3fc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dzdomop-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 341.7 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.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 736a553334e3dc93885ec8718da6e0f7a43946c71c803569fdd6e112f224c4c4
MD5 dabbdd7f7b1c14b8ca043ad624d3624f
BLAKE2b-256 df5958f9c47dc7cdc3917b2a9c147cadef001caec04656d40a1e859d6ab64547

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