I'd like to suggest an overall layout that works well for our OMOP project. For the highest level for models would look like this:
At the individual OMOP table level, It would look like this:
The _Sources_TS folder is where we store the dbt "stage" tables (although we use that for something else)
The "pull" folder holds the models based on the source tables. This is the only folder where source tables and fields are referenced. Also, as much formatting and aggregation and such is done here. All fields will be aliased to OMOP standard field names.
The "stage" level does all the joining to other OMOP tables like Concept, Source_To_Concept_Map Person, and so forth
-- The _ephemeral subfolder holds any subordinate models.
Lastly, the "write' folder holds a single model which UNIONs all the STAGE models together into a single materialized table.
So, the entire layout for drug_exposure looks like this:
I'd like to suggest an overall layout that works well for our OMOP project. For the highest level for models would look like this:
At the individual OMOP table level, It would look like this:
The _Sources_TS folder is where we store the dbt "stage" tables (although we use that for something else)
The "pull" folder holds the models based on the source tables. This is the only folder where source tables and fields are referenced. Also, as much formatting and aggregation and such is done here. All fields will be aliased to OMOP standard field names.
The "stage" level does all the joining to other OMOP tables like Concept, Source_To_Concept_Map Person, and so forth
-- The _ephemeral subfolder holds any subordinate models.
So, the entire layout for drug_exposure looks like this: