An open API service indexing awesome lists of open source software.

https://github.com/dermatologist/omopcdm-dot-net

:notebook: .Net library for OMOP CDM management
https://github.com/dermatologist/omopcdm-dot-net

cdm healthcare-analysis ohdsi-vocabulary omop

Last synced: 12 months ago
JSON representation

:notebook: .Net library for OMOP CDM management

Awesome Lists containing this project

README

          

# omopcdm-dot-net

![Nuget](https://img.shields.io/nuget/dt/omopcdmlib)

## Description

The OHSDI OMOP Common Data Model allows for the systematic analysis of healthcare observational databases. This is a .Net Core library to use the CDM v6 compliant databases.

## Install

```
PM> Install-Package omopcdmlib

```

## Usage

```
var optionsBuilder = new DbContextOptionsBuilder();
optionsBuilder.UseSqlite("Data Source=cdm-create.db");

// AppContext from models
using (var db = new AppContext(optionsBuilder.Options))
{
// Create vocab
Console.WriteLine("Writing vocabulary");
var vocab = new CreateVocab("/path/to/csv", db);
vocab.Create(20); // Sample of 20 records. Omit to create full.

// Create
Console.WriteLine("Inserting a new Concept");
db.Add(new Concept {
Id=22,
ConceptId = 4523432,
ConceptName = "My Concept",
VocabularyId = "SNOMED",
ConceptClassId = "MyClass",
ConceptCode = "MyCode",
ValidStartDate = "2012-12-12",
ValidEndDate = "2012-12-12",
InvalidReason = "None",
DomainId = "ASDF" });
db.SaveChanges();

// Read
Console.WriteLine("Querying for a concept");
var concept = db.Concept
.OrderBy(b => b.ConceptName)
.First();

// Update
Console.WriteLine("Updating the concept");
concept.ConceptName = "new Concept";
db.SaveChanges();

// Delete
Console.WriteLine("Delete the concept");
db.Remove(concept);
db.SaveChanges();

```

## Contributors

* [Bell Eapen](https://nuchange.ca) | [![Twitter Follow](https://img.shields.io/twitter/follow/beapen?style=social)](https://twitter.com/beapen)