Skip to content

Latest commit

 

History

History
210 lines (170 loc) · 30.8 KB

File metadata and controls

210 lines (170 loc) · 30.8 KB
graph LR
    Application_Core["Application Core"]
    Authentication_Middleware["Authentication & Middleware"]
    GraphQL_Server["GraphQL Server"]
    Interactors_Business_Logic_["Interactors (Business Logic)"]
    Persistence_Layer["Persistence Layer"]
    Domain_Models["Domain Models"]
    Data_Migration_Utilities["Data Migration & Utilities"]
    Application_Core -- "initializes" --> Authentication_Middleware
    Application_Core -- "configures" --> Persistence_Layer
    Application_Core -- "serves" --> GraphQL_Server
    Authentication_Middleware -- "uses" --> Domain_Models
    Authentication_Middleware -- "authenticates requests for" --> GraphQL_Server
    GraphQL_Server -- "invokes" --> Interactors_Business_Logic_
    Interactors_Business_Logic_ -- "manipulates" --> Domain_Models
    Interactors_Business_Logic_ -- "accesses data via" --> Persistence_Layer
    Persistence_Layer -- "manages" --> Domain_Models
    Data_Migration_Utilities -- "migrates" --> Persistence_Layer
    Data_Migration_Utilities -- "transforms" --> Domain_Models
    click Application_Core href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/medconb/Application Core.md" "Details"
    click Authentication_Middleware href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/medconb/Authentication & Middleware.md" "Details"
    click GraphQL_Server href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/medconb/GraphQL Server.md" "Details"
    click Interactors_Business_Logic_ href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/medconb/Interactors (Business Logic).md" "Details"
    click Persistence_Layer href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/medconb/Persistence Layer.md" "Details"
    click Domain_Models href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/medconb/Domain Models.md" "Details"
    click Data_Migration_Utilities href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/medconb/Data Migration & Utilities.md" "Details"
Loading

CodeBoardingDemoContact

Component Details

The medconb application provides a GraphQL interface for managing medical concepts, including codelists, phenotypes, and workspaces. The core application sets up the server and integrates authentication, while business logic is handled by interactors that operate on domain models persisted through a SQLAlchemy-based layer. Utility components are available for data migration and ontology imports.

Application Core

Responsible for setting up the main application, including logging, session management, and integrating with the server. It acts as the entry point for the application.

Related Classes/Methods:

Authentication & Middleware

Handles user authentication, supporting both Azure AD and development authenticators. It extracts claims and manages user loading and creation, ensuring secure access to the application.

Related Classes/Methods:

GraphQL Server

Provides the GraphQL interface for the application, handling HTTP and WebSocket requests. It integrates with the authentication backend and uses various resolvers to process queries and mutations.

Related Classes/Methods:

Interactors (Business Logic)

Consolidates all business logic interactors, including those for workspace, queries, codelists, and phenotypes. It handles operations like creating, updating, deleting, and querying various entities, ensuring proper permissions and data integrity.

Related Classes/Methods:

Persistence Layer

Handles the persistence of data using SQLAlchemy, including session management, ORM mapping, and caching mechanisms for properties and codes. It provides the interface for interacting with the database.

Related Classes/Methods:

Domain Models

Defines the core domain models and their behaviors, including codelists, changesets, authors, commits, codesets, collections, properties, ontologies, containers, importers, and users. It represents the business entities and their relationships.

Related Classes/Methods:

Data Migration & Utilities

Provides utility functions and scripts for data migration and ontology imports. It includes logic for asserting required properties, importing ontologies, and migrating existing ontology data.

Related Classes/Methods: