UNPKG

@damourlabs/euro-clinical-trials

Version:

A Nuxt 3 application for visualizing and managing clinical trials data in Europe, built with modern web technologies.

62 lines (56 loc) 2.25 kB
import { relations } from "drizzle-orm"; import { trials, secondaryEndpoints, endpointData, patients, visits, randomizationStrategies, endpoints, stratificationFactors, studyDesigns } from ".."; export const studyDesignsRelations = relations(studyDesigns, ({ one, many }) => ({ trial: one(trials, { fields: [studyDesigns.trialUuid], references: [trials.uuid], }), randomizationStrategy: one(randomizationStrategies, { fields: [studyDesigns.randomizationStrategyUuid], references: [randomizationStrategies.uuid], }), primaryEndpoint: one(endpoints, { fields: [studyDesigns.primaryEndpointUuid], references: [endpoints.uuid], }), secondaryEndpoints: many(secondaryEndpoints), })); export const randomizationStrategiesRelations = relations(randomizationStrategies, ({ many }) => ({ studyDesigns: many(studyDesigns), stratificationFactors: many(stratificationFactors), })); export const stratificationFactorsRelations = relations(stratificationFactors, ({ one }) => ({ randomizationStrategy: one(randomizationStrategies, { fields: [stratificationFactors.randomizationStrategyUuid], references: [randomizationStrategies.uuid], }), })); export const endpointsRelations = relations(endpoints, ({ many }) => ({ primaryStudyDesigns: many(studyDesigns), secondaryEndpoints: many(secondaryEndpoints), endpointData: many(endpointData), })); export const secondaryEndpointsRelations = relations(secondaryEndpoints, ({ one }) => ({ studyDesign: one(studyDesigns, { fields: [secondaryEndpoints.studyDesignUuid], references: [studyDesigns.uuid], }), endpoint: one(endpoints, { fields: [secondaryEndpoints.endpointUuid], references: [endpoints.uuid], }), })); export const endpointDataRelations = relations(endpointData, ({ one }) => ({ endpoint: one(endpoints, { fields: [endpointData.endpointUuid], references: [endpoints.uuid], }), patient: one(patients, { fields: [endpointData.patientUuid], references: [patients.uuid], }), visit: one(visits, { fields: [endpointData.visitUuid], references: [visits.uuid], }), }));