diff --git a/airflow/dags/ashp/dag.py b/airflow/dags/ashp/dag.py new file mode 100644 index 00000000..3709cf5d --- /dev/null +++ b/airflow/dags/ashp/dag.py @@ -0,0 +1,193 @@ +import json +import logging +import os +import re +from datetime import date, datetime +from time import sleep + +import requests +from bs4 import BeautifulSoup +import pandas as pd + +import pendulum + +from airflow_operator import create_dag +from airflow.providers.postgres.operators.postgres import PostgresOperator + +from common_dag_tasks import extract, transform, generate_sql_list, get_ds_folder +from sagerx import read_sql_file, load_df_to_pg + +from airflow.decorators import task + + +dag_id = "ashp" + +dag = create_dag( + dag_id=dag_id, + schedule="0 4 * * *", + start_date=pendulum.yesterday(), + catchup=False, + concurrency=2, +) + +with dag: + landing_url = "https://www.ashp.org/drug-shortages/current-shortages/drug-shortages-list?page=CurrentShortages" + base_url = "https://www.ashp.org/drug-shortages/current-shortages/" + ndc_regex = re.compile(r"\d{5}\-\d{4}\-\d{2}") # ASHP shortage pages always have 5-4-2 format NDCs + created_regex = re.compile(r"Created (\w+ \d+, \d+)") + updated_regex = re.compile(r"Updated (\w+ \d+, \d+)") + + ds_folder = get_ds_folder(dag_id) + + transform_task = transform(dag_id) + + @task + def extract_load_shortage_list(): + logging.basicConfig(level=logging.INFO, format='%(asctime)s : %(levelname)s : %(message)s') + + logging.info('Checking ASHP website for updates') + shortage_list = requests.get(landing_url) + + if shortage_list.status_code != 200: + logging.error('ASHP website unreachable') + exit() + + ashp_drugs = [] + soup = BeautifulSoup(shortage_list.content, 'html.parser') + for link in soup.find(id='1_dsGridView').find_all('a'): + ashp_drugs.append({ + 'name': link.get_text(), + 'detail_url': link.get('href') + }) + + for shortage in ashp_drugs: + shortage_detail_data = requests.get(base_url + shortage['detail_url']) + soup = BeautifulSoup(shortage_detail_data.content, 'html.parser') + + # Get shortage reasons + shortage_reasons = [] + try: + for reason in soup.find(id='1_lblReason').find_all('li'): + shortage_reasons.append(reason.get_text()) + except AttributeError: + logging.debug(f'No shortage reasons for {shortage.get("name")}') + shortage['shortage_reasons'] = None + else: + shortage['shortage_reasons'] = json.dumps(shortage_reasons) + + # Get resupply dates + resupply_dates = [] + try: + for date_info in soup.find(id='1_lblResupply').find_all('li'): + resupply_dates.append(date_info.get_text()) + except AttributeError: + logging.debug(f'No resupply dates for {shortage.get("name")}') + shortage['resupply_dates'] = None + else: + shortage['resupply_dates'] = json.dumps(resupply_dates) + + # Get implications on patient care + care_implications = [] + try: + for implication in soup.find(id='1_lblImplications').find_all('li'): + care_implications.append(implication.get_text()) + except AttributeError: + logging.debug(f'No care implications for {shortage.get("name")}') + shortage['care_implications'] = None + else: + shortage['care_implications'] = json.dumps(care_implications) + + # Get safety information + safety_notices = [] + try: + for notice in soup.find(id='1_lblSafety').find_all('li'): + safety_notices.append(notice.get_text()) + except AttributeError: + logging.debug(f'No safety notices for {shortage.get("name")}') + shortage['safety_notices'] = None + else: + shortage['safety_notices'] = json.dumps(safety_notices) + + # Get alternative agents and management info + alternatives = [] + try: + for alternative in soup.find(id='1_lblAlternatives').find_all('li'): + alternatives.append(alternative.get_text()) + except AttributeError: + logging.debug(f'No alternatives/management information for {shortage.get("name")}') + shortage['alternatives_and_management'] = None + else: + shortage['alternatives_and_management'] = json.dumps(alternatives) + + # Get affected NDCs + affected_ndcs = [] + try: + for ndc_description in soup.find(id='1_lblProducts').find_all('li'): + ndc = re.search(ndc_regex, ndc_description.get_text())[0] + affected_ndcs.append(ndc) + shortage['affected_ndcs'] = affected_ndcs + except (TypeError, AttributeError): + logging.debug(f'No affected NDCs for {shortage.get("name")}') + + # Get currently available NDCs + available_ndcs = [] + try: + for ndc_description in soup.find(id='1_lblAvailable').find_all('li'): + ndc = ndc_regex.search(ndc_description.get_text())[0] + available_ndcs.append(ndc) + shortage['available_ndcs'] = available_ndcs + except (TypeError, AttributeError): + logging.debug(f'No available NDCs for {shortage.get("name")}') + + # Get created date + stamp = soup.find(id='1_lblUpdated').find('p').get_text() + try: + created_date = created_regex.search(stamp).group(1) + created_date = datetime.strptime(created_date, '%B %d, %Y') + shortage['created_date'] = created_date + except AttributeError: + logging.debug(f'Missing ASHP created date for {shortage.get("name")}') + shortage['created_date'] = None + except ValueError: + logging.error(f'Could not parse created date for {shortage.get("name")}') + shortage['created_date'] = None + + # Get last updated date + try: + updated_date = updated_regex.search(stamp).group(1) + updated_date = datetime.strptime(updated_date, '%B %d, %Y') + shortage['updated_date'] = updated_date + except AttributeError: + logging.debug(f'Missing ASHP update date for {shortage.get("name")}') + shortage['updated_date'] = None + except ValueError: + logging.error(f'Could not parse update date for {shortage.get("name")}') + shortage['updated_date'] = None + + sleep(0.2) + + if len(ashp_drugs) > 0: + # Load the main shortage table + shortage_columns = ['name', 'detail_url', 'shortage_reasons', 'resupply_dates', + 'alternatives_and_management', 'care_implications', 'safety_notices', + 'created_date', 'updated_date'] + shortages = pd.DataFrame(ashp_drugs, columns=shortage_columns) + load_df_to_pg(shortages, "sagerx_lake", "ashp_shortage_list", "replace", index=False) + + # Load the table of affected and available NDCs + affected_ndcs = pd.DataFrame(ashp_drugs, columns=['detail_url', 'affected_ndcs']).explode('affected_ndcs') + affected_ndcs['ndc_type'] = 'affected' + affected_ndcs = affected_ndcs.rename(columns={'affected_ndcs': 'ndc'}) + + available_ndcs = pd.DataFrame(ashp_drugs, columns=['detail_url', 'available_ndcs']).explode( + 'available_ndcs') + available_ndcs['ndc_type'] = 'available' + available_ndcs = available_ndcs.rename(columns={'available_ndcs': 'ndc'}) + + ndcs = pd.concat([affected_ndcs, available_ndcs]) + ndcs = ndcs[~ndcs['ndc'].isnull()] # Remove shortages that have no associated NDCs + load_df_to_pg(ndcs, "sagerx_lake", "ashp_shortage_list_ndcs", "replace", index=False) + else: + logging.error('Drug shortage list not found') + + extract_load_shortage_list() >> transform_task diff --git a/airflow/dags/build_marts/dag.py b/airflow/dags/build_marts/dag.py index dac5ee9e..84c95f83 100644 --- a/airflow/dags/build_marts/dag.py +++ b/airflow/dags/build_marts/dag.py @@ -55,6 +55,7 @@ def execute_external_dag_list(**kwargs): # Once DBT freshness metrics are implemented, this task can be updated @task def transform_tasks(): + run_subprocess_command(['docker', 'exec', 'dbt', 'dbt', 'seed'], cwd='/dbt/sagerx') run_subprocess_command(['docker', 'exec', 'dbt', 'dbt', 'run', '--select', '+models/marts/ndc'], cwd='/dbt/sagerx') run_subprocess_command(['docker', 'exec', 'dbt', 'dbt', 'run', '--select', '+models/marts/classification'], cwd='/dbt/sagerx') run_subprocess_command(['docker', 'exec', 'dbt', 'dbt', 'run', '--select', '+models/marts/products'], cwd='/dbt/sagerx') diff --git a/airflow/dags/common_dag_tasks.py b/airflow/dags/common_dag_tasks.py index b7957053..5b63daa6 100644 --- a/airflow/dags/common_dag_tasks.py +++ b/airflow/dags/common_dag_tasks.py @@ -116,10 +116,12 @@ def extract(dag_id,url) -> str: @task -def transform(dag_id, models_subdir='staging',task_id="") -> None: +def transform(dag_id, models_subdir=['staging'], task_id="") -> None: # Task to transform data using dbt + models = [f'models/{model_subdir}/{dag_id}' for model_subdir in models_subdir] + command = ['docker', 'exec', 'dbt', 'dbt', 'run', '--select'] + models run_subprocess_command( - command=['docker', 'exec', 'dbt','dbt', 'run', '--select', f'models/{models_subdir}/{dag_id}'], + command=command, cwd='/dbt/sagerx' ) diff --git a/airflow/dags/dailymed/dag.py b/airflow/dags/dailymed/dag.py index 955f3c46..4a295f2c 100644 --- a/airflow/dags/dailymed/dag.py +++ b/airflow/dags/dailymed/dag.py @@ -1,5 +1,7 @@ from pathlib import Path import pendulum +import zipfile +import os from airflow.decorators import dag, task from airflow.hooks.subprocess import SubprocessHook @@ -18,8 +20,15 @@ def dailymed(): ds_folder = Path("/opt/airflow/dags") / dag_id data_folder = Path("/opt/airflow/data") / dag_id - file_set = "dm_spl_release_human_rx_part" - #file_set = "dm_spl_daily_update_07092024" + + # NOTE: "dm_spl_release_human" accounts for both + # rx and otc SPLs (but no other types of SPLs) + # - "dm_spl_release_human_rx" for rx meds only + # - "dm_spl_release_human_otc" for otc meds only + # - "dm_spl_release_human_rx_part1" for a given part + # - "dm_spl_daily_update_MMDDYYYY" for a given date + # (replace MMDDYYY with your month, day, and year) + file_set = "dm_spl_release_human_rx" def connect_to_ftp_dir(ftp_str: str, dir: str): import ftplib @@ -41,9 +50,6 @@ def obtain_ftp_file_list(ftp): return file_list def get_dailymed_files(ftp, file_name: str): - import zipfile - import os - zip_path = create_path(data_folder) / file_name with open(zip_path, "wb") as file: @@ -51,6 +57,7 @@ def get_dailymed_files(ftp, file_name: str): with zipfile.ZipFile(zip_path, "r") as zip_ref: zip_ref.extractall(data_folder.with_suffix("")) + os.remove(zip_path) def transform_xml(input_xml, xslt): @@ -63,21 +70,8 @@ def transform_xml(input_xml, xslt): new_xml = xslt_transformer(dom) return etree.tostring(new_xml, pretty_print=True).decode("utf-8") - @task - def extract(): - dailymed_ftp = "public.nlm.nih.gov" - ftp_dir = "/nlmdata/.dailymed/" - - ftp = connect_to_ftp_dir(dailymed_ftp, ftp_dir) - - for file_name in obtain_ftp_file_list(ftp): - get_dailymed_files(ftp, file_name) - - @task - def load(): - import zipfile + def load_xml_data(spl_type_data_folder: Path): import re - import os import pandas as pd import sqlalchemy @@ -86,38 +80,63 @@ def load(): db_conn_string = os.environ["AIRFLOW_CONN_POSTGRES_DEFAULT"] db_conn = sqlalchemy.create_engine(db_conn_string) - prescription_data_folder = ( - data_folder - / "prescription" - ) - data = [] - for zip_folder in prescription_data_folder.iterdir(): - # logging.info(zip_folder) + for zip_folder in spl_type_data_folder.iterdir(): with zipfile.ZipFile(zip_folder) as unzipped_folder: - folder_name = zip_folder.stem + zip_file = zip_folder.stem + set_id = zip_file.split('_')[1] for subfile in unzipped_folder.infolist(): if re.search("\.xml$", subfile.filename): - new_file = unzipped_folder.extract(subfile, prescription_data_folder) + xml_file = subfile.filename + # xslt transform - xml_content = transform_xml(new_file, xslt) - os.remove(new_file) + temp_xml_file = unzipped_folder.extract(subfile, spl_type_data_folder) + xml_content = transform_xml(temp_xml_file, xslt) + os.remove(temp_xml_file) + # append row to the data list - data.append({"spl": folder_name, "file_name": subfile.filename, "xml_content": xml_content}) + data.append({"set_id": set_id, "zip_file": zip_file, "xml_file": xml_file, "xml_content": xml_content}) df = pd.DataFrame( data, - columns=["spl", "file_name", "xml_content"], + columns=["set_id", "zip_file", "xml_file", "xml_content"], ) load_df_to_pg( df, schema_name="sagerx_lake", table_name="dailymed", - if_exists="replace", + if_exists="append", # TODO: make this better - maybe don't put stuff in multiple folders? index=False, ) + @task + def extract(): + dailymed_ftp = "public.nlm.nih.gov" + ftp_dir = "/nlmdata/.dailymed/" + + ftp = connect_to_ftp_dir(dailymed_ftp, ftp_dir) + + file_list = obtain_ftp_file_list(ftp) + print(f'Extracting {file_list}') + + for file_name in file_list: + get_dailymed_files(ftp, file_name) + + @task + def load(): + spl_types = ['prescription', 'otc'] + + for spl_type in spl_types: + spl_type_data_folder = ( + data_folder + / spl_type + ) + if os.path.exists(spl_type_data_folder): + print(f'Loading {spl_type} SPLs...') + load_xml_data(spl_type_data_folder) + + # Task to transform data using dbt @task def transform(): diff --git a/airflow/dags/dailymed/template.xsl b/airflow/dags/dailymed/template.xsl index ea07b10d..d4a0fa9e 100644 --- a/airflow/dags/dailymed/template.xsl +++ b/airflow/dags/dailymed/template.xsl @@ -74,17 +74,40 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/airflow/dags/fda_unii/load_unii.sql b/airflow/dags/fda_unii/load_unii.sql index 20a9afed..fb1b928f 100644 --- a/airflow/dags/fda_unii/load_unii.sql +++ b/airflow/dags/fda_unii/load_unii.sql @@ -10,10 +10,12 @@ CREATE TABLE sagerx_lake.fda_unii ( rxcui TEXT, pubchem TEXT, epa_comptox TEXT, + smsid TEXT, catalogue_of_life TEXT, itis TEXT, ncbi TEXT, plants TEXT, + powo TEXT, grin TEXT, mpns TEXT, inn_id TEXT, diff --git a/airflow/dags/nadac/dag.py b/airflow/dags/nadac/dag.py index d8fa6689..a3d349fb 100644 --- a/airflow/dags/nadac/dag.py +++ b/airflow/dags/nadac/dag.py @@ -8,7 +8,7 @@ from airflow.providers.postgres.operators.postgres import PostgresOperator -from common_dag_tasks import run_subprocess_command +from common_dag_tasks import transform starting_date = pendulum.parse("2013-12-01") @@ -77,11 +77,8 @@ def get_download_url(self, year): ) ) - # Task to transform data using dbt - @task - def transform(): - run_subprocess_command(['dbt', 'run', '--select', 'models/staging/nadac'], cwd='/dbt/sagerx') + transform_task = transform(dag_id) - extract() >> load >> transform() + extract() >> load >> transform_task nadac() diff --git a/airflow/dags/rxnorm/dag.py b/airflow/dags/rxnorm/dag.py index bf1076fc..b96512f1 100644 --- a/airflow/dags/rxnorm/dag.py +++ b/airflow/dags/rxnorm/dag.py @@ -9,7 +9,7 @@ from airflow.providers.postgres.operators.postgres import PostgresOperator from airflow.hooks.postgres_hook import PostgresHook -from common_dag_tasks import run_subprocess_command +from common_dag_tasks import transform @dag( @@ -73,11 +73,8 @@ def extract(st: str): ) ) - # Task to transform data using dbt - @task - def transform(): - run_subprocess_command(['docker', 'exec', 'dbt', 'dbt', 'run', '--select', 'models/staging/rxnorm', 'models/intermediate/rxnorm'], cwd='/dbt/sagerx') + transform_task = transform(dag_id, models_subdir=['staging', 'intermediate']) - extract(get_st(get_tgt())) >> load >> transform() + extract(get_st(get_tgt())) >> load >> transform_task rxnorm() diff --git a/airflow/dags/sagerx.py b/airflow/dags/sagerx.py index 49ba7b12..88946235 100644 --- a/airflow/dags/sagerx.py +++ b/airflow/dags/sagerx.py @@ -41,7 +41,11 @@ def download_dataset(url: str, dest: Path = Path.cwd(), file_name: str = None): import requests import re - with requests.get(url, stream=True, allow_redirects=True) as r: + headers = { + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36" + } + + with requests.get(url, stream=True, allow_redirects=True, headers=headers) as r: r.raise_for_status() if file_name == None: @@ -208,7 +212,7 @@ def get_api(url): def parallel_api_calls(api_calls:list) -> list: from concurrent.futures import ThreadPoolExecutor, as_completed output = [] - with ThreadPoolExecutor(max_workers=32) as executor: + with ThreadPoolExecutor(max_workers=3) as executor: futures = {executor.submit(get_api, api_call):api_call for api_call in api_calls} for future in as_completed(futures): @@ -216,6 +220,8 @@ def parallel_api_calls(api_calls:list) -> list: response = future.result() if not len(response) == 0: output.append({"url":url,"response":response}) - else: - print(f"Empty response for url: {url}") + if len(output) % 1000 == 0: + print(f'MILESTONE {len(output)}') + # else: + # print(f"Empty response for url: {url}") return output \ No newline at end of file diff --git a/airflow/requirements.txt b/airflow/requirements.txt index 308b594e..f95c8894 100644 --- a/airflow/requirements.txt +++ b/airflow/requirements.txt @@ -3,4 +3,5 @@ dbt-core dbt-postgres -apache-airflow[google] \ No newline at end of file +apache-airflow[google] +bs4 diff --git a/dbt/sagerx/macros/ndc_format.sql b/dbt/sagerx/macros/ndc_format.sql index 4fe8a473..f553292f 100644 --- a/dbt/sagerx/macros/ndc_format.sql +++ b/dbt/sagerx/macros/ndc_format.sql @@ -8,11 +8,8 @@ WHEN {{ndc}} ~ '^\d{5}-\d{4}-\d{2}$' THEN '5-4-2' WHEN {{ndc}} ~ '^\d{5}-\d{5}$' THEN '5-5' WHEN {{ndc}} ~ '^\d{4}-\d{6}$' THEN '4-6' - ELSE 'Unkown' + ELSE 'Unknown' END {% endset %} {{ndc_format}} {% endmacro %} - - - diff --git a/dbt/sagerx/models/intermediate/dailymed/int_dailymed_image_name_ndcs.sql b/dbt/sagerx/models/intermediate/dailymed/int_dailymed_image_name_ndcs.sql index a77b0aad..683e16a5 100644 --- a/dbt/sagerx/models/intermediate/dailymed/int_dailymed_image_name_ndcs.sql +++ b/dbt/sagerx/models/intermediate/dailymed/int_dailymed_image_name_ndcs.sql @@ -1,6 +1,8 @@ +-- int_dailymed_image_name_ndcs + with -images as ( +package_label_section_images as ( select * from {{ ref('stg_dailymed__package_label_section_images') }} @@ -10,8 +12,19 @@ regex_ndcs as ( select *, - (regexp_matches(image, '\d+-\d+-\d+', 'g'))[1] as ndc - from images + (regexp_matches(image, '(?:\d{4}|\d{5})-\d{3,6}(?:-\d{1,2})?|\d{11}|\d{10}', 'g'))[1] as regex_ndc + from package_label_section_images + + /* + \d{11} | # 11 digit + \d{10} | # 10 digit + \d{5}-\d{5} | # 5-5 + \d{5}-\d{4}-\d{2} | # 5-4-2 + \d{5}-\d{4}-\d{1} | # 5-4-1 + \d{5}-\d{3}-\d{2} | # 5-3-2 + \d{4}-\d{6} | # 4-6 + \d{4}-\d{4}-\d{2} # 4-4-2 + */ ), @@ -24,10 +37,13 @@ valid_spl_ndcs as ( validated_ndcs as ( select - regex_ndcs.* + regex_ndcs.*, + spl_ndc.ndc, + spl_ndc.ndc11 from regex_ndcs inner join valid_spl_ndcs spl_ndc - on spl_ndc.ndc = regex_ndcs.ndc + on spl_ndc.set_id = regex_ndcs.set_id + and {{ ndc_to_11('spl_ndc.ndc') }} = {{ ndc_to_11('regex_ndcs.regex_ndc') }} ) diff --git a/dbt/sagerx/models/intermediate/dailymed/int_dailymed_image_xml_ndcs.sql b/dbt/sagerx/models/intermediate/dailymed/int_dailymed_image_xml_ndcs.sql new file mode 100644 index 00000000..070e7175 --- /dev/null +++ b/dbt/sagerx/models/intermediate/dailymed/int_dailymed_image_xml_ndcs.sql @@ -0,0 +1,27 @@ +-- int_dailymed_image_xml_ndcs + +with + +ranked_package_label_images as +( + + select * from {{ ref('int_dailymed_ranked_package_label_images') }} + +), + +ranked_package_label_ndcs as +( + + select * from {{ ref('int_dailymed_ranked_package_label_ndcs') }} + +) + +select + img.set_id, + ndc.ndc, + img.image +from ranked_package_label_images img +left join ranked_package_label_ndcs ndc + on ndc.package_label_section_id = img.package_label_section_id + and ndc.rn = img.rn +where ndc.ndc is not null diff --git a/dbt/sagerx/models/intermediate/dailymed/int_dailymed_validated_package_label_ndcs.sql b/dbt/sagerx/models/intermediate/dailymed/int_dailymed_validated_package_label_ndcs.sql index cfbb9e59..394396db 100644 --- a/dbt/sagerx/models/intermediate/dailymed/int_dailymed_validated_package_label_ndcs.sql +++ b/dbt/sagerx/models/intermediate/dailymed/int_dailymed_validated_package_label_ndcs.sql @@ -17,10 +17,16 @@ package_label_ndc_matches as ( validated_package_ndcs as ( select - pkg_ndc.* + * from package_label_ndc_matches pkg_ndc - inner join valid_spl_ndcs spl_ndc - on spl_ndc.ndc = pkg_ndc.ndc + where exists ( + + select + ndc + from valid_spl_ndcs + where ndc = pkg_ndc.ndc + + ) ) diff --git a/dbt/sagerx/models/intermediate/fda/int_fda_packaging_components.sql b/dbt/sagerx/models/intermediate/fda/int_fda_packaging_components.sql new file mode 100644 index 00000000..cf9eb093 --- /dev/null +++ b/dbt/sagerx/models/intermediate/fda/int_fda_packaging_components.sql @@ -0,0 +1,102 @@ +{{ config(materialized='table') }} + +with + +all_fda as ( + select ndc11, packagedescription + from {{ ref('stg_fda_ndc__ndcs') }} + + union all + + select ndc11, packagedescription + from {{ ref('stg_fda_excluded__ndcs') }} + + union all + + select ndc11, packagedescription + from {{ ref('stg_fda_unfinished__ndcs') }} +), + +split_components as ( + select + z.ndc11 + , z.packagedescription + , z.ordinality as component_line + , trim(z.token) as component_text + from ( + select distinct + all_fda.ndc11 + , all_fda.packagedescription + , s.token + , s.ordinality + from + all_fda + , unnest( + string_to_array( + regexp_replace( + all_fda.packagedescription + , '(? 0 + group by ndc11 + +), + +final as ( + + select + total_product, + inner_outer_value_unit.* + from inner_outer_value_unit + left join total_product + on total_product.ndc11 = inner_outer_value_unit.ndc11 + +) + +select + * +from final diff --git a/dbt/sagerx/models/intermediate/fda/int_fda_packaging_parts.sql b/dbt/sagerx/models/intermediate/fda/int_fda_packaging_parts.sql new file mode 100644 index 00000000..793600bd --- /dev/null +++ b/dbt/sagerx/models/intermediate/fda/int_fda_packaging_parts.sql @@ -0,0 +1,30 @@ +{{ config(materialized='view') }} + +with + +packaging_components as ( + select * from {{ ref('int_fda_packaging_components') }} + where component_text like ('%*%') +) + +select + z.ndc11 + , z.packagedescription + , z.component_line + , z.component_text + , z.ordinality as part_line + , trim(z.token) as part_text +from ( + select distinct + components.* + , s.token + , s.ordinality + from + packaging_components components + , unnest( + string_to_array( + component_text + , '*') + ) with ordinality as s(token, ordinality) +) z +order by ndc11, component_line, part_line diff --git a/dbt/sagerx/models/intermediate/fda/int_fda_packaging_subparts.sql b/dbt/sagerx/models/intermediate/fda/int_fda_packaging_subparts.sql new file mode 100644 index 00000000..03acad8a --- /dev/null +++ b/dbt/sagerx/models/intermediate/fda/int_fda_packaging_subparts.sql @@ -0,0 +1,32 @@ +{{ config(materialized='view') }} + +with + +packaging_parts as ( + select * from {{ ref('int_fda_packaging_parts') }} + where part_text like ('%/%') +) + +select + z.ndc11 + , z.packagedescription + , z.component_line + , z.component_text + , z.part_line + , z.part_text + , z.ordinality as subpart_line + , trim(z.token) as subpart_text +from ( + select distinct + parts.* + , s.token + , s.ordinality + from + packaging_parts parts + , unnest( + string_to_array( + part_text + , '/') + ) with ordinality as s(token, ordinality) +) z +order by ndc11, component_line, part_line, subpart_line diff --git a/dbt/sagerx/models/marts/ndc/ndc_associations.sql b/dbt/sagerx/models/marts/ndc/ndc_associations.sql new file mode 100644 index 00000000..951474fa --- /dev/null +++ b/dbt/sagerx/models/marts/ndc/ndc_associations.sql @@ -0,0 +1,3 @@ +-- ndc_associations + +select * from {{ ref('stg_fda_ndc__ndc_associations') }} diff --git a/dbt/sagerx/models/marts/ndc/ndcs_to_label_images.sql b/dbt/sagerx/models/marts/ndc/ndcs_to_label_images.sql index c579c4c6..3790ee95 100644 --- a/dbt/sagerx/models/marts/ndc/ndcs_to_label_images.sql +++ b/dbt/sagerx/models/marts/ndc/ndcs_to_label_images.sql @@ -1,47 +1,49 @@ +-- ndcs_to_label_images + with -images as ( +image_xml_ndcs as ( - select * from {{ ref('int_dailymed_ranked_package_label_images') }} -), + select * from {{ ref('int_dailymed_image_xml_ndcs') }} -ndcs as ( - select * from {{ ref('int_dailymed_ranked_package_label_ndcs') }} ), -ndcs_to_products as ( +image_name_ndcs as ( - select * from {{ ref('int_rxnorm_ndcs_to_products') }} + select * from {{ ref('int_dailymed_image_name_ndcs') }} ), -ndcs_to_label_images as ( +all_image_ndcs as ( + + select + set_id, + ndc, + image + from image_xml_ndcs + + union select - img.set_id, - ndc.ndc, - {{ ndc_to_11('ndc.ndc') }} as ndc11, - img.image, - concat('https://dailymed.nlm.nih.gov/dailymed/image.cfm?name=', img.image, '&setid=', img.set_id, '&type=img') as image_url, - concat('https://dailymed.nlm.nih.gov/dailymed/drugInfo.cfm?setid=', img.set_id) as spl_url - from images img - left join ndcs ndc - on ndc.package_label_section_id = img.package_label_section_id - and ndc.rn = img.rn - where ndc.ndc is not null + set_id, + ndc, + image + from image_name_ndcs ), -ndcs_to_label_images_with_product_rxcuis as ( +all_image_ndcs_ndc11 as ( select - ndcs_to_label_images.*, - ndcs_to_products.product_rxcui - from ndcs_to_label_images - inner join ndcs_to_products - on ndcs_to_products.ndc = ndcs_to_label_images.ndc11 + set_id, + ndc, + {{ ndc_to_11('ndc') }} as ndc11, + concat('https://dailymed.nlm.nih.gov/dailymed/image.cfm?name=', image, '&setid=', set_id) as image_url, + image as image_file, + concat('https://dailymed.nlm.nih.gov/dailymed/drugInfo.cfm?setid=', set_id) as dailymed_spl_url + from all_image_ndcs ) -select * from ndcs_to_label_images_with_product_rxcuis \ No newline at end of file +select * from all_image_ndcs_ndc11 diff --git a/dbt/sagerx/models/marts/ndc/pack_size.sql b/dbt/sagerx/models/marts/ndc/pack_size.sql new file mode 100644 index 00000000..0aafe3fb --- /dev/null +++ b/dbt/sagerx/models/marts/ndc/pack_size.sql @@ -0,0 +1,45 @@ +with + +packaging_components as ( + + select + * + from {{ ref('int_fda_packaging_components') }} + +), + +innermost_unit as ( + + select ndc11, inner_unit + from ( + select ndc11, inner_unit, + row_number() over (partition by ndc11 order by component_line desc) as row_num + from packaging_components + ) as ranked + where row_num = 1 + +), + +outermost_unit as ( + + select ndc11, outer_unit + from packaging_components + where component_line = 1 + +) + +select distinct + packaging_components.ndc11, + outermost_unit.outer_unit as outermost_unit, + total_product, + case + when innermost_unit.inner_unit like('%KIT %') + then 'KIT' + else innermost_unit.inner_unit + end as innermost_unit, + packagedescription +from packaging_components +left join innermost_unit + on innermost_unit.ndc11 = packaging_components.ndc11 +left join outermost_unit + on outermost_unit.ndc11 = packaging_components.ndc11 diff --git a/dbt/sagerx/models/staging/ashp/_ashp__models.yml b/dbt/sagerx/models/staging/ashp/_ashp__models.yml new file mode 100644 index 00000000..2dafd696 --- /dev/null +++ b/dbt/sagerx/models/staging/ashp/_ashp__models.yml @@ -0,0 +1,44 @@ +version: 2 + +models: + - name: current_drug_shortages + description: Current ASHP drug shortages + columns: + - name: id + description: The ID of the shortage as defined by the detail page URL ID + data_tests: + - unique + - not_null + - name: name + description: The name of the shortage as described by ASHP + - name: url + description: The full URL link to the shortage detail page + - name: shortage_reasons + description: A list of reasons for the shortage + - name: resupply_dates + description: A list of resupply dates + - name: alternatives_and_management + description: Alternatives and management information + - name: care_implications + description: Implications on patient care + - name: safety_notices + description: Safety notices related to the shortage + - name: created_date + description: The date the shortage record was created by ASHP + - name: updated_date + description: The date the shortage record was last updated by ASHP + + - name: current_drug_shortages_ndcs + description: Affected and available NDCs for each ASHP drug shortage. + columns: + - name: id + description: The ID of the shortage as defined by the detail page URL ID + data_tests: + - unique + - not_null + - name: ndc_11 + description: The NDC relevant to the shortage in NDC-11 format + - name: ndc_type + description: | + NDC package status as it relates to the shortage + (either 'affected' or 'available') \ No newline at end of file diff --git a/dbt/sagerx/models/staging/ashp/_ashp__sources.yml b/dbt/sagerx/models/staging/ashp/_ashp__sources.yml new file mode 100644 index 00000000..4bd512e5 --- /dev/null +++ b/dbt/sagerx/models/staging/ashp/_ashp__sources.yml @@ -0,0 +1,46 @@ +version: 2 + +sources: + - name: ashp + description: Current drug shortage list from ASHP + schema: sagerx_lake + tables: + - name: ashp_shortage_list + desciption: Current drug shortage list from ASHP + columns: + - name: name + description: The name of the shortage as described by ASHP + - name: detail_url + description: | + The partial URL for the detail about the shortage. + Requires a prefix to be a complete URL. That prefix is + `https://www.ashp.org/drug-shortages/current-shortages/`. + - name: shortage_reasons + description: A list of reasons for the shortage + - name: resupply_dates + description: A list of resupply dates + - name: alternatives_and_management + description: Alternatives and management information + - name: care_implications + description: Implications on patient care + - name: safety_notices + description: Safety notices related to the shortage + - name: created_date + description: The date the shortage record was created by ASHP + - name: updated_date + description: The date the shortage record was last updated by ASHP + + - name: ashp_shortage_list_ndcs + desciption: Affected and available NDCs for each ASHP drug shortage. + columns: + - name: detail_url + description: | + The partial URL for the shortage detail page, + containing an id parameter which can be used as + an index + - name: ndc + description: The NDC relevant to the shortage + - name: ndc_type + description: | + NDC package status as it relates to the shortage + (either 'affected' or 'available') diff --git a/dbt/sagerx/models/staging/ashp/stg_ashp__current_drug_shortages.sql b/dbt/sagerx/models/staging/ashp/stg_ashp__current_drug_shortages.sql new file mode 100644 index 00000000..567155d1 --- /dev/null +++ b/dbt/sagerx/models/staging/ashp/stg_ashp__current_drug_shortages.sql @@ -0,0 +1,32 @@ +-- stg_ashp__current_drug_shortages.sql + +with + +ashp_shortage_list as ( + + select * from {{ source('ashp', 'ashp_shortage_list') }} + +), + +current_drug_shortages as ( + + select + split_part(detail_url, '=', 2)::int as id, + name, + concat( + 'https://www.ashp.org/drug-shortages/current-shortages/', + lower(detail_url)) as url, + shortage_reasons::jsonb, + resupply_dates::jsonb, + alternatives_and_management::jsonb, + care_implications::jsonb, + safety_notices::jsonb, + created_date::date, + updated_date::date + from ashp_shortage_list + +) + +select + * +from current_drug_shortages diff --git a/dbt/sagerx/models/staging/ashp/stg_ashp__current_drug_shortages_ndcs.sql b/dbt/sagerx/models/staging/ashp/stg_ashp__current_drug_shortages_ndcs.sql new file mode 100644 index 00000000..b709afc5 --- /dev/null +++ b/dbt/sagerx/models/staging/ashp/stg_ashp__current_drug_shortages_ndcs.sql @@ -0,0 +1,23 @@ +-- stg_ashp__current_drug_shortages_ndcs.sql + +with + +ashp_shortage_list as ( + + select * from {{ source('ashp', 'ashp_shortage_list_ndcs') }} + +), + +current_drug_shortages_ndcs as ( + + select + split_part(detail_url, '=', 2)::int as id, + replace(ndc, '-', '') as ndc_11, + ndc_type + from ashp_shortage_list + +) + +select + * +from current_drug_shortages_ndcs diff --git a/dbt/sagerx/models/staging/dailymed/stg_dailymed__interactions.sql b/dbt/sagerx/models/staging/dailymed/stg_dailymed__interactions.sql index 8911588b..df2922d5 100644 --- a/dbt/sagerx/models/staging/dailymed/stg_dailymed__interactions.sql +++ b/dbt/sagerx/models/staging/dailymed/stg_dailymed__interactions.sql @@ -2,11 +2,11 @@ with xml_table as ( - select spl, xml_content::xml as xml_column + select zip_file, xml_content::xml as xml_column from sagerx_lake.dailymed ) -select spl, y.* +select zip_file, y.* from xml_table x, xmltable('dailymed/InteractionText' passing xml_column diff --git a/dbt/sagerx/models/staging/dailymed/stg_dailymed__main.sql b/dbt/sagerx/models/staging/dailymed/stg_dailymed__main.sql index 54e48e74..fa77fef9 100644 --- a/dbt/sagerx/models/staging/dailymed/stg_dailymed__main.sql +++ b/dbt/sagerx/models/staging/dailymed/stg_dailymed__main.sql @@ -2,11 +2,11 @@ with xml_table as ( - select spl, xml_content::xml as xml_column + select zip_file, xml_content::xml as xml_column from sagerx_lake.dailymed ) -select spl, y.*, 'https://dailymed.nlm.nih.gov/dailymed/drugInfo.cfm?setid=' || y.set_id +select zip_file, y.*, 'https://dailymed.nlm.nih.gov/dailymed/drugInfo.cfm?setid=' || y.set_id from xml_table x, xmltable('dailymed' passing xml_column diff --git a/dbt/sagerx/models/staging/dailymed/stg_dailymed__ndcs.sql b/dbt/sagerx/models/staging/dailymed/stg_dailymed__ndcs.sql index e590572b..27e3b6fe 100644 --- a/dbt/sagerx/models/staging/dailymed/stg_dailymed__ndcs.sql +++ b/dbt/sagerx/models/staging/dailymed/stg_dailymed__ndcs.sql @@ -2,13 +2,13 @@ with xml_table as ( - select spl, xml_content::xml as xml_column + select zip_file, xml_content::xml as xml_column from sagerx_lake.dailymed ), sql_table as ( - select spl, y.* + select zip_file, y.* from xml_table x, xmltable('dailymed/NDCList/NDC' passing xml_column @@ -25,7 +25,7 @@ cte as ( select *, - ndc as ndc11 + {{ ndc_to_11('ndc') }} as ndc11 from sql_table diff --git a/dbt/sagerx/models/staging/dailymed/stg_dailymed__organization_activities.sql b/dbt/sagerx/models/staging/dailymed/stg_dailymed__organization_activities.sql index 121e23d0..ed992577 100644 --- a/dbt/sagerx/models/staging/dailymed/stg_dailymed__organization_activities.sql +++ b/dbt/sagerx/models/staging/dailymed/stg_dailymed__organization_activities.sql @@ -2,11 +2,11 @@ with xml_table as ( - select spl, xml_content::xml as xml_column + select zip_file, xml_content::xml as xml_column from sagerx_lake.dailymed ) -select spl, y.* +select zip_file, y.* from xml_table x, xmltable('/dailymed/Organizations/establishment/function' passing xml_column diff --git a/dbt/sagerx/models/staging/dailymed/stg_dailymed__organization_items.sql b/dbt/sagerx/models/staging/dailymed/stg_dailymed__organization_items.sql index 39d5e05c..dcb13f10 100644 --- a/dbt/sagerx/models/staging/dailymed/stg_dailymed__organization_items.sql +++ b/dbt/sagerx/models/staging/dailymed/stg_dailymed__organization_items.sql @@ -2,11 +2,11 @@ with xml_table as ( - select spl, xml_content::xml as xml_column + select zip_file, xml_content::xml as xml_column from sagerx_lake.dailymed ) -select spl, y.* +select zip_file, y.* from xml_table x, xmltable('/dailymed/Organizations/establishment/function/item_list/item' passing xml_column diff --git a/dbt/sagerx/models/staging/dailymed/stg_dailymed__organization_texts.sql b/dbt/sagerx/models/staging/dailymed/stg_dailymed__organization_texts.sql index cdb3a46b..67f651e8 100644 --- a/dbt/sagerx/models/staging/dailymed/stg_dailymed__organization_texts.sql +++ b/dbt/sagerx/models/staging/dailymed/stg_dailymed__organization_texts.sql @@ -2,23 +2,23 @@ with xml_table as ( - select spl, xml_content::xml as xml_column + select zip_file, xml_content::xml as xml_column from sagerx_lake.dailymed ) -select spl +select zip_file , document_id , set_id , version_number , organization_text , row_num -from (select spl +from (select zip_file , y.document_id , y.set_id , y.version_number , y.organization_text --,regexp_matches(organization_text, '(manufactured|distributed) (by|for):([\s\S]*)(?=manufactured|distributed|made)', 'ig') as mfdg_by_match - ,row_number() over (partition by spl order by length(organization_text) desc) as row_num + ,row_number() over (partition by zip_file order by length(organization_text) desc) as row_num from xml_table x, xmltable('/dailymed/Organizations/OrganizationsText' passing xml_column diff --git a/dbt/sagerx/models/staging/dailymed/stg_dailymed__organizations.sql b/dbt/sagerx/models/staging/dailymed/stg_dailymed__organizations.sql index da2a5f73..9c6ffe4d 100644 --- a/dbt/sagerx/models/staging/dailymed/stg_dailymed__organizations.sql +++ b/dbt/sagerx/models/staging/dailymed/stg_dailymed__organizations.sql @@ -2,11 +2,11 @@ with xml_table as ( - select spl, xml_content::xml as xml_column + select zip_file, xml_content::xml as xml_column from sagerx_lake.dailymed ) -select spl, y.* +select zip_file, y.* from xml_table x, xmltable('/dailymed/Organizations/establishment' passing xml_column diff --git a/dbt/sagerx/models/staging/dailymed/stg_dailymed__package_label_section_ndcs.sql b/dbt/sagerx/models/staging/dailymed/stg_dailymed__package_label_section_ndcs.sql index 192799f5..a1afbab9 100644 --- a/dbt/sagerx/models/staging/dailymed/stg_dailymed__package_label_section_ndcs.sql +++ b/dbt/sagerx/models/staging/dailymed/stg_dailymed__package_label_section_ndcs.sql @@ -12,7 +12,10 @@ ndcs as ( select p.set_id, p.id as package_label_section_id, - (regexp_matches(p.text, '\d+-\d+-\d+', 'g'))[1] as ndc + -- TODO: account for NDCs with spaces instead of dashes + -- example ndc 55292 140 01 + -- example set_id a0aad470-3f38-af97-e053-2995a90a383a + regexp_replace(regexp_replace((regexp_matches(p.text, '(?:\d{4}|\d{5})\s*(?:-|–)\s*\d{3,6}\s*(?:-|–)\s*\d{1,2}|\d{11}|\d{10}', 'g'))[1], '\s', '', 'g'), '–', '-') as ndc from package_label_sections p ), diff --git a/dbt/sagerx/models/staging/dailymed/stg_dailymed__package_label_sections.sql b/dbt/sagerx/models/staging/dailymed/stg_dailymed__package_label_sections.sql index b9e0bc32..a08c590b 100644 --- a/dbt/sagerx/models/staging/dailymed/stg_dailymed__package_label_sections.sql +++ b/dbt/sagerx/models/staging/dailymed/stg_dailymed__package_label_sections.sql @@ -2,12 +2,12 @@ with xml_table as ( - select spl, xml_content::xml as xml_column + select zip_file, xml_content::xml as xml_column from sagerx_lake.dailymed ) select - spl + zip_file , y.* from xml_table x, xmltable( diff --git a/dbt/sagerx/models/staging/fda_ndc/stg_fda_ndc__ndc_associations.sql b/dbt/sagerx/models/staging/fda_ndc/stg_fda_ndc__ndc_associations.sql new file mode 100644 index 00000000..9c808ee0 --- /dev/null +++ b/dbt/sagerx/models/staging/fda_ndc/stg_fda_ndc__ndc_associations.sql @@ -0,0 +1,68 @@ +-- stg_fda_ndc__ndc_associations + +with package as ( + + select * + from {{ source('fda_ndc', 'fda_ndc_package') }} + +), + +extracted_ndc as ( + + select + package.ndcpackagecode, + regexp_matches(package.packagedescription, '\d+-\d+-\d+', 'g') as ndc_match, + packagedescription + from package + +), + +ndc_array as ( + + select + ndc.ndcpackagecode, + unnest(ndc.ndc_match) as token, + packagedescription + from extracted_ndc ndc + +), + +ranked_array as ( + + select + ndcpackagecode, + token, + row_number() over() as rn, + packagedescription + from ndc_array + +), + +final_array as ( + + select + ndcpackagecode, + token, + row_number() over (partition by ndcpackagecode order by rn) as ndc_line, + packagedescription + from ranked_array + +), + +ndc_associations as ( + + select + ndcpackagecode as outer_ndc, + {{ ndc_to_11('ndcpackagecode') }} as outer_ndc11, + ndc_line, + token as ndc, + {{ ndc_to_11('token') }} as ndc11, + packagedescription + from final_array + order by + ndcpackagecode, + ndc_line + +) + +select * from ndc_associations diff --git a/docs/CNAME b/docs/CNAME deleted file mode 100644 index da1b22d1..00000000 --- a/docs/CNAME +++ /dev/null @@ -1 +0,0 @@ -dbt.sagerx.io \ No newline at end of file diff --git a/docs/catalog.json b/docs/catalog.json index f3b3dc17..463388ef 100644 --- a/docs/catalog.json +++ b/docs/catalog.json @@ -1 +1 @@ -{"metadata": {"dbt_schema_version": "https://schemas.getdbt.com/dbt/catalog/v1.json", "dbt_version": "1.5.1", "generated_at": "2024-05-04T17:15:58.637906Z", "invocation_id": "a3079d7b-7ec4-451a-aabd-c817cccb7d6c", "env": {}}, "nodes": {"model.sagerx.all_ndc_descriptions": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_dev", "name": "all_ndc_descriptions", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"ndc": {"type": "character varying", "index": 1, "name": "ndc", "comment": null}, "rxcui": {"type": "character varying", "index": 2, "name": "rxcui", "comment": null}, "rxnorm_description": {"type": "text", "index": 3, "name": "rxnorm_description", "comment": null}, "fda_description": {"type": "text", "index": 4, "name": "fda_description", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.all_ndc_descriptions"}, "model.sagerx.all_ndcs_to_sources": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_dev", "name": "all_ndcs_to_sources", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"ndc": {"type": "text", "index": 1, "name": "ndc", "comment": null}, "rxnorm_historical_ndcs": {"type": "integer", "index": 2, "name": "rxnorm_historical_ndcs", "comment": null}, "rxnorm_ndcs": {"type": "integer", "index": 3, "name": "rxnorm_ndcs", "comment": null}, "fda_ndc_ndcs": {"type": "integer", "index": 4, "name": "fda_ndc_ndcs", "comment": null}, "fda_excluded_ndcs": {"type": "integer", "index": 5, "name": "fda_excluded_ndcs", "comment": null}, "fda_unfinished_ndcs": {"type": "integer", "index": 6, "name": "fda_unfinished_ndcs", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.all_ndcs_to_sources"}, "model.sagerx.atc_codes_to_rxnorm_products": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_dev", "name": "atc_codes_to_rxnorm_products", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"rxcui": {"type": "text", "index": 1, "name": "rxcui", "comment": null}, "rxnorm_description": {"type": "text", "index": 2, "name": "rxnorm_description", "comment": null}, "atc_1_name": {"type": "text", "index": 3, "name": "atc_1_name", "comment": null}, "atc_2_name": {"type": "text", "index": 4, "name": "atc_2_name", "comment": null}, "atc_3_name": {"type": "text", "index": 5, "name": "atc_3_name", "comment": null}, "atc_4_name": {"type": "text", "index": 6, "name": "atc_4_name", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.atc_codes_to_rxnorm_products"}, "model.sagerx.brand_products_with_related_ndcs": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_dev", "name": "brand_products_with_related_ndcs", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"product_tty": {"type": "character varying", "index": 1, "name": "product_tty", "comment": null}, "product_rxcui": {"type": "character varying", "index": 2, "name": "product_rxcui", "comment": null}, "product_name": {"type": "text", "index": 3, "name": "product_name", "comment": null}, "ndc_product_tty": {"type": "character varying(20)", "index": 4, "name": "ndc_product_tty", "comment": null}, "ndc_product_rxcui": {"type": "character varying(8)", "index": 5, "name": "ndc_product_rxcui", "comment": null}, "ndc_product_name": {"type": "text", "index": 6, "name": "ndc_product_name", "comment": null}, "ndc": {"type": "character varying(7000)", "index": 7, "name": "ndc", "comment": null}, "product_startmarketingdate": {"type": "text", "index": 8, "name": "product_startmarketingdate", "comment": null}, "package_startmarketingdate": {"type": "text", "index": 9, "name": "package_startmarketingdate", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.brand_products_with_related_ndcs"}, "model.sagerx.int_mthspl_products_to_active_ingredients": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_dev", "name": "int_mthspl_products_to_active_ingredients", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"ndc9": {"type": "text", "index": 1, "name": "ndc9", "comment": null}, "ndc": {"type": "character varying(50)", "index": 2, "name": "ndc", "comment": null}, "product_rxcui": {"type": "character varying(8)", "index": 3, "name": "product_rxcui", "comment": null}, "product_name": {"type": "text", "index": 4, "name": "product_name", "comment": null}, "product_tty": {"type": "character varying(20)", "index": 5, "name": "product_tty", "comment": null}, "active_ingredient_unii": {"type": "character varying(50)", "index": 6, "name": "active_ingredient_unii", "comment": null}, "active_ingredient_rxcui": {"type": "character varying(8)", "index": 7, "name": "active_ingredient_rxcui", "comment": null}, "active_ingredient_name": {"type": "text", "index": 8, "name": "active_ingredient_name", "comment": null}, "active_ingredient_tty": {"type": "character varying(20)", "index": 9, "name": "active_ingredient_tty", "comment": null}, "active": {"type": "boolean", "index": 10, "name": "active", "comment": null}, "prescribable": {"type": "boolean", "index": 11, "name": "prescribable", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.int_mthspl_products_to_active_ingredients"}, "model.sagerx.int_mthspl_products_to_active_moieties": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_dev", "name": "int_mthspl_products_to_active_moieties", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"ndc9": {"type": "text", "index": 1, "name": "ndc9", "comment": null}, "ndc": {"type": "character varying(50)", "index": 2, "name": "ndc", "comment": null}, "product_rxcui": {"type": "character varying(8)", "index": 3, "name": "product_rxcui", "comment": null}, "product_name": {"type": "text", "index": 4, "name": "product_name", "comment": null}, "product_tty": {"type": "character varying(20)", "index": 5, "name": "product_tty", "comment": null}, "active_moiety_unii": {"type": "character varying(50)", "index": 6, "name": "active_moiety_unii", "comment": null}, "active_moiety_rxcui": {"type": "character varying(8)", "index": 7, "name": "active_moiety_rxcui", "comment": null}, "active_moiety_name": {"type": "text", "index": 8, "name": "active_moiety_name", "comment": null}, "active_moiety_tty": {"type": "character varying(20)", "index": 9, "name": "active_moiety_tty", "comment": null}, "active": {"type": "boolean", "index": 10, "name": "active", "comment": null}, "prescribable": {"type": "boolean", "index": 11, "name": "prescribable", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.int_mthspl_products_to_active_moieties"}, "model.sagerx.int_mthspl_products_to_inactive_ingredients": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_dev", "name": "int_mthspl_products_to_inactive_ingredients", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"ndc9": {"type": "text", "index": 1, "name": "ndc9", "comment": null}, "ndc": {"type": "character varying(50)", "index": 2, "name": "ndc", "comment": null}, "product_rxcui": {"type": "character varying(8)", "index": 3, "name": "product_rxcui", "comment": null}, "product_name": {"type": "text", "index": 4, "name": "product_name", "comment": null}, "product_tty": {"type": "character varying(20)", "index": 5, "name": "product_tty", "comment": null}, "inactive_ingredient_unii": {"type": "character varying(50)", "index": 6, "name": "inactive_ingredient_unii", "comment": null}, "inactive_ingredient_rxcui": {"type": "character varying(8)", "index": 7, "name": "inactive_ingredient_rxcui", "comment": null}, "inactive_ingredient_name": {"type": "text", "index": 8, "name": "inactive_ingredient_name", "comment": null}, "inactive_ingredient_tty": {"type": "character varying(20)", "index": 9, "name": "inactive_ingredient_tty", "comment": null}, "active": {"type": "boolean", "index": 10, "name": "active", "comment": null}, "prescribable": {"type": "boolean", "index": 11, "name": "prescribable", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.int_mthspl_products_to_inactive_ingredients"}, "model.sagerx.int_rxnorm_all_ndcs_to_product_rxcuis": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_dev", "name": "int_rxnorm_all_ndcs_to_product_rxcuis", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"ndc11": {"type": "bpchar", "index": 1, "name": "ndc11", "comment": null}, "rxcui": {"type": "character varying(8)", "index": 2, "name": "rxcui", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.int_rxnorm_all_ndcs_to_product_rxcuis"}, "model.sagerx.int_rxnorm_clinical_products_to_clinical_product_components": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_dev", "name": "int_rxnorm_clinical_products_to_clinical_product_components", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"clinical_product_rxcui": {"type": "character varying(8)", "index": 1, "name": "clinical_product_rxcui", "comment": null}, "clinical_product_name": {"type": "text", "index": 2, "name": "clinical_product_name", "comment": null}, "clinical_product_tty": {"type": "character varying(20)", "index": 3, "name": "clinical_product_tty", "comment": null}, "clinical_product_component_rxcui": {"type": "character varying(8)", "index": 4, "name": "clinical_product_component_rxcui", "comment": null}, "clinical_product_compnent_name": {"type": "text", "index": 5, "name": "clinical_product_compnent_name", "comment": null}, "clinical_product_component_tty": {"type": "character varying(20)", "index": 6, "name": "clinical_product_component_tty", "comment": null}, "active": {"type": "boolean", "index": 7, "name": "active", "comment": null}, "prescribable": {"type": "boolean", "index": 8, "name": "prescribable", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.int_rxnorm_clinical_products_to_clinical_product_components"}, "model.sagerx.int_rxnorm_clinical_products_to_dose_forms": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_dev", "name": "int_rxnorm_clinical_products_to_dose_forms", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"clinical_product_rxcui": {"type": "character varying(8)", "index": 1, "name": "clinical_product_rxcui", "comment": null}, "clinical_product_name": {"type": "text", "index": 2, "name": "clinical_product_name", "comment": null}, "clinical_product_tty": {"type": "character varying(20)", "index": 3, "name": "clinical_product_tty", "comment": null}, "clinical_product_component_rxcui": {"type": "character varying(8)", "index": 4, "name": "clinical_product_component_rxcui", "comment": null}, "clinical_product_compnent_name": {"type": "text", "index": 5, "name": "clinical_product_compnent_name", "comment": null}, "clinical_product_component_tty": {"type": "character varying(20)", "index": 6, "name": "clinical_product_component_tty", "comment": null}, "dose_form_rxcui": {"type": "character varying(8)", "index": 7, "name": "dose_form_rxcui", "comment": null}, "dose_form_name": {"type": "text", "index": 8, "name": "dose_form_name", "comment": null}, "dose_form_tty": {"type": "character varying(20)", "index": 9, "name": "dose_form_tty", "comment": null}, "active": {"type": "boolean", "index": 10, "name": "active", "comment": null}, "prescribable": {"type": "boolean", "index": 11, "name": "prescribable", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.int_rxnorm_clinical_products_to_dose_forms"}, "model.sagerx.int_rxnorm_clinical_products_to_ingredients": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_dev", "name": "int_rxnorm_clinical_products_to_ingredients", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"clinical_product_rxcui": {"type": "character varying(8)", "index": 1, "name": "clinical_product_rxcui", "comment": null}, "clinical_product_name": {"type": "text", "index": 2, "name": "clinical_product_name", "comment": null}, "clinical_product_tty": {"type": "character varying(20)", "index": 3, "name": "clinical_product_tty", "comment": null}, "clinical_product_component_rxcui": {"type": "character varying(8)", "index": 4, "name": "clinical_product_component_rxcui", "comment": null}, "clinical_product_compnent_name": {"type": "text", "index": 5, "name": "clinical_product_compnent_name", "comment": null}, "clinical_product_component_tty": {"type": "character varying(20)", "index": 6, "name": "clinical_product_component_tty", "comment": null}, "dose_form_rxcui": {"type": "character varying(8)", "index": 7, "name": "dose_form_rxcui", "comment": null}, "dose_form_name": {"type": "text", "index": 8, "name": "dose_form_name", "comment": null}, "dose_form_tty": {"type": "character varying(20)", "index": 9, "name": "dose_form_tty", "comment": null}, "ingredient_rxcui": {"type": "character varying(8)", "index": 10, "name": "ingredient_rxcui", "comment": null}, "ingredient_name": {"type": "text", "index": 11, "name": "ingredient_name", "comment": null}, "ingredient_tty": {"type": "character varying(20)", "index": 12, "name": "ingredient_tty", "comment": null}, "active": {"type": "boolean", "index": 13, "name": "active", "comment": null}, "prescribable": {"type": "boolean", "index": 14, "name": "prescribable", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.int_rxnorm_clinical_products_to_ingredients"}, "model.sagerx.int_rxnorm_clinical_products_to_ndcs": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_dev", "name": "int_rxnorm_clinical_products_to_ndcs", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"clinical_product_rxcui": {"type": "character varying(8)", "index": 1, "name": "clinical_product_rxcui", "comment": null}, "clinical_product_name": {"type": "text", "index": 2, "name": "clinical_product_name", "comment": null}, "clinical_product_tty": {"type": "character varying(20)", "index": 3, "name": "clinical_product_tty", "comment": null}, "clinical_product_component_rxcui": {"type": "character varying(8)", "index": 4, "name": "clinical_product_component_rxcui", "comment": null}, "clinical_product_compnent_name": {"type": "text", "index": 5, "name": "clinical_product_compnent_name", "comment": null}, "clinical_product_component_tty": {"type": "character varying(20)", "index": 6, "name": "clinical_product_component_tty", "comment": null}, "dose_form_rxcui": {"type": "character varying(8)", "index": 7, "name": "dose_form_rxcui", "comment": null}, "dose_form_name": {"type": "text", "index": 8, "name": "dose_form_name", "comment": null}, "dose_form_tty": {"type": "character varying(20)", "index": 9, "name": "dose_form_tty", "comment": null}, "ingredient_rxcui": {"type": "character varying(8)", "index": 10, "name": "ingredient_rxcui", "comment": null}, "ingredient_name": {"type": "text", "index": 11, "name": "ingredient_name", "comment": null}, "ingredient_tty": {"type": "character varying(20)", "index": 12, "name": "ingredient_tty", "comment": null}, "brand_product_rxcui": {"type": "character varying", "index": 13, "name": "brand_product_rxcui", "comment": null}, "ndc": {"type": "character varying(7000)", "index": 14, "name": "ndc", "comment": null}, "active": {"type": "boolean", "index": 15, "name": "active", "comment": null}, "prescribable": {"type": "boolean", "index": 16, "name": "prescribable", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.int_rxnorm_clinical_products_to_ndcs"}, "model.sagerx.int_rxnorm_ndcs_to_products": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_dev", "name": "int_rxnorm_ndcs_to_products", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"ndc": {"type": "character varying(7000)", "index": 1, "name": "ndc", "comment": null}, "product_rxcui": {"type": "character varying(8)", "index": 2, "name": "product_rxcui", "comment": null}, "product_name": {"type": "text", "index": 3, "name": "product_name", "comment": null}, "product_tty": {"type": "character varying(20)", "index": 4, "name": "product_tty", "comment": null}, "clinical_product_rxcui": {"type": "character varying(8)", "index": 5, "name": "clinical_product_rxcui", "comment": null}, "clinical_product_name": {"type": "text", "index": 6, "name": "clinical_product_name", "comment": null}, "clinical_product_tty": {"type": "character varying(20)", "index": 7, "name": "clinical_product_tty", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.int_rxnorm_ndcs_to_products"}, "model.sagerx.products": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_dev", "name": "products", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"product_rxcui": {"type": "character varying", "index": 1, "name": "product_rxcui", "comment": null}, "product_name": {"type": "text", "index": 2, "name": "product_name", "comment": null}, "product_tty": {"type": "character varying", "index": 3, "name": "product_tty", "comment": null}, "brand_vs_generic": {"type": "text", "index": 4, "name": "brand_vs_generic", "comment": null}, "brand_name": {"type": "text", "index": 5, "name": "brand_name", "comment": null}, "ingredient_name": {"type": "text", "index": 6, "name": "ingredient_name", "comment": null}, "dose_form_name": {"type": "text", "index": 7, "name": "dose_form_name", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.products"}, "model.sagerx.stg_fda_excluded__classes": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_fda_excluded__classes", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"productid": {"type": "text", "index": 1, "name": "productid", "comment": null}, "class_line": {"type": "bigint", "index": 2, "name": "class_line", "comment": null}, "class_name": {"type": "text", "index": 3, "name": "class_name", "comment": null}, "class_type": {"type": "text", "index": 4, "name": "class_type", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_fda_excluded__classes"}, "model.sagerx.stg_fda_excluded__ndcs": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_fda_excluded__ndcs", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"ndc11": {"type": "bpchar", "index": 1, "name": "ndc11", "comment": null}, "productid": {"type": "text", "index": 2, "name": "productid", "comment": null}, "productndc": {"type": "text", "index": 3, "name": "productndc", "comment": null}, "producttypename": {"type": "text", "index": 4, "name": "producttypename", "comment": null}, "proprietaryname": {"type": "text", "index": 5, "name": "proprietaryname", "comment": null}, "proprietarynamesuffix": {"type": "text", "index": 6, "name": "proprietarynamesuffix", "comment": null}, "nonproprietaryname": {"type": "text", "index": 7, "name": "nonproprietaryname", "comment": null}, "dosageformname": {"type": "text", "index": 8, "name": "dosageformname", "comment": null}, "routename": {"type": "text", "index": 9, "name": "routename", "comment": null}, "product_startmarketingdate": {"type": "text", "index": 10, "name": "product_startmarketingdate", "comment": null}, "product_endmarketingdate": {"type": "text", "index": 11, "name": "product_endmarketingdate", "comment": null}, "marketingcategoryname": {"type": "text", "index": 12, "name": "marketingcategoryname", "comment": null}, "applicationnumber": {"type": "text", "index": 13, "name": "applicationnumber", "comment": null}, "labelername": {"type": "text", "index": 14, "name": "labelername", "comment": null}, "substancename": {"type": "text", "index": 15, "name": "substancename", "comment": null}, "active_numerator_strength": {"type": "text", "index": 16, "name": "active_numerator_strength", "comment": null}, "active_ingred_unit": {"type": "text", "index": 17, "name": "active_ingred_unit", "comment": null}, "pharm_classes": {"type": "text", "index": 18, "name": "pharm_classes", "comment": null}, "deaschedule": {"type": "text", "index": 19, "name": "deaschedule", "comment": null}, "product_ndc_exclude_flag": {"type": "text", "index": 20, "name": "product_ndc_exclude_flag", "comment": null}, "listing_record_certified_through": {"type": "text", "index": 21, "name": "listing_record_certified_through", "comment": null}, "ndcpackagecode": {"type": "text", "index": 22, "name": "ndcpackagecode", "comment": null}, "packagedescription": {"type": "text", "index": 23, "name": "packagedescription", "comment": null}, "package_startmarketingdate": {"type": "text", "index": 24, "name": "package_startmarketingdate", "comment": null}, "package_endmarketingdate": {"type": "text", "index": 25, "name": "package_endmarketingdate", "comment": null}, "package_ndc_exclude_flag": {"type": "text", "index": 26, "name": "package_ndc_exclude_flag", "comment": null}, "sample_package": {"type": "text", "index": 27, "name": "sample_package", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_fda_excluded__ndcs"}, "model.sagerx.stg_fda_excluded__substances": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_fda_excluded__substances", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"productid": {"type": "text", "index": 1, "name": "productid", "comment": null}, "substance_line": {"type": "bigint", "index": 2, "name": "substance_line", "comment": null}, "substancename": {"type": "text", "index": 3, "name": "substancename", "comment": null}, "active_numerator_strength": {"type": "text", "index": 4, "name": "active_numerator_strength", "comment": null}, "active_ingred_unit": {"type": "text", "index": 5, "name": "active_ingred_unit", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_fda_excluded__substances"}, "model.sagerx.stg_fda_ndc__classes": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_fda_ndc__classes", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"productid": {"type": "text", "index": 1, "name": "productid", "comment": null}, "class_line": {"type": "bigint", "index": 2, "name": "class_line", "comment": null}, "class_name": {"type": "text", "index": 3, "name": "class_name", "comment": null}, "class_type": {"type": "text", "index": 4, "name": "class_type", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_fda_ndc__classes"}, "model.sagerx.stg_fda_ndc__ndcs": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_fda_ndc__ndcs", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"ndc11": {"type": "bpchar", "index": 1, "name": "ndc11", "comment": null}, "productid": {"type": "text", "index": 2, "name": "productid", "comment": null}, "productndc": {"type": "text", "index": 3, "name": "productndc", "comment": null}, "producttypename": {"type": "text", "index": 4, "name": "producttypename", "comment": null}, "proprietaryname": {"type": "text", "index": 5, "name": "proprietaryname", "comment": null}, "proprietarynamesuffix": {"type": "text", "index": 6, "name": "proprietarynamesuffix", "comment": null}, "nonproprietaryname": {"type": "text", "index": 7, "name": "nonproprietaryname", "comment": null}, "dosageformname": {"type": "text", "index": 8, "name": "dosageformname", "comment": null}, "routename": {"type": "text", "index": 9, "name": "routename", "comment": null}, "product_startmarketingdate": {"type": "text", "index": 10, "name": "product_startmarketingdate", "comment": null}, "product_endmarketingdate": {"type": "text", "index": 11, "name": "product_endmarketingdate", "comment": null}, "marketingcategoryname": {"type": "text", "index": 12, "name": "marketingcategoryname", "comment": null}, "applicationnumber": {"type": "text", "index": 13, "name": "applicationnumber", "comment": null}, "labelername": {"type": "text", "index": 14, "name": "labelername", "comment": null}, "substancename": {"type": "text", "index": 15, "name": "substancename", "comment": null}, "active_numerator_strength": {"type": "text", "index": 16, "name": "active_numerator_strength", "comment": null}, "active_ingred_unit": {"type": "text", "index": 17, "name": "active_ingred_unit", "comment": null}, "pharm_classes": {"type": "text", "index": 18, "name": "pharm_classes", "comment": null}, "deaschedule": {"type": "text", "index": 19, "name": "deaschedule", "comment": null}, "product_ndc_exclude_flag": {"type": "text", "index": 20, "name": "product_ndc_exclude_flag", "comment": null}, "listing_record_certified_through": {"type": "text", "index": 21, "name": "listing_record_certified_through", "comment": null}, "ndcpackagecode": {"type": "text", "index": 22, "name": "ndcpackagecode", "comment": null}, "packagedescription": {"type": "text", "index": 23, "name": "packagedescription", "comment": null}, "package_startmarketingdate": {"type": "text", "index": 24, "name": "package_startmarketingdate", "comment": null}, "package_endmarketingdate": {"type": "text", "index": 25, "name": "package_endmarketingdate", "comment": null}, "package_ndc_exclude_flag": {"type": "text", "index": 26, "name": "package_ndc_exclude_flag", "comment": null}, "sample_package": {"type": "text", "index": 27, "name": "sample_package", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_fda_ndc__ndcs"}, "model.sagerx.stg_fda_ndc__substances": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_fda_ndc__substances", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"productid": {"type": "text", "index": 1, "name": "productid", "comment": null}, "substance_line": {"type": "bigint", "index": 2, "name": "substance_line", "comment": null}, "substancename": {"type": "text", "index": 3, "name": "substancename", "comment": null}, "active_numerator_strength": {"type": "text", "index": 4, "name": "active_numerator_strength", "comment": null}, "active_ingred_unit": {"type": "text", "index": 5, "name": "active_ingred_unit", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_fda_ndc__substances"}, "model.sagerx.stg_fda_unfinished__ndcs": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_fda_unfinished__ndcs", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"ndc11": {"type": "bpchar", "index": 1, "name": "ndc11", "comment": null}, "productid": {"type": "text", "index": 2, "name": "productid", "comment": null}, "productndc": {"type": "text", "index": 3, "name": "productndc", "comment": null}, "producttypename": {"type": "text", "index": 4, "name": "producttypename", "comment": null}, "nonproprietaryname": {"type": "text", "index": 5, "name": "nonproprietaryname", "comment": null}, "dosageformname": {"type": "text", "index": 6, "name": "dosageformname", "comment": null}, "product_startmarketingdate": {"type": "text", "index": 7, "name": "product_startmarketingdate", "comment": null}, "product_endmarketingdate": {"type": "text", "index": 8, "name": "product_endmarketingdate", "comment": null}, "marketingcategoryname": {"type": "text", "index": 9, "name": "marketingcategoryname", "comment": null}, "labelername": {"type": "text", "index": 10, "name": "labelername", "comment": null}, "substancename": {"type": "text", "index": 11, "name": "substancename", "comment": null}, "active_numerator_strength": {"type": "text", "index": 12, "name": "active_numerator_strength", "comment": null}, "active_ingred_unit": {"type": "text", "index": 13, "name": "active_ingred_unit", "comment": null}, "deaschedule": {"type": "text", "index": 14, "name": "deaschedule", "comment": null}, "listing_record_certified_through": {"type": "text", "index": 15, "name": "listing_record_certified_through", "comment": null}, "ndcpackagecode": {"type": "text", "index": 16, "name": "ndcpackagecode", "comment": null}, "packagedescription": {"type": "text", "index": 17, "name": "packagedescription", "comment": null}, "package_startmarketingdate": {"type": "text", "index": 18, "name": "package_startmarketingdate", "comment": null}, "package_endmarketingdate": {"type": "text", "index": 19, "name": "package_endmarketingdate", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_fda_unfinished__ndcs"}, "model.sagerx.stg_fda_unfinished__substances": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_fda_unfinished__substances", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"productid": {"type": "text", "index": 1, "name": "productid", "comment": null}, "substance_line": {"type": "bigint", "index": 2, "name": "substance_line", "comment": null}, "substancename": {"type": "text", "index": 3, "name": "substancename", "comment": null}, "active_numerator_strength": {"type": "text", "index": 4, "name": "active_numerator_strength", "comment": null}, "active_ingred_unit": {"type": "text", "index": 5, "name": "active_ingred_unit", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_fda_unfinished__substances"}, "model.sagerx.stg_rxclass__atc_codes_to_rxnorm_product_rxcuis": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxclass__atc_codes_to_rxnorm_product_rxcuis", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"rxcui": {"type": "text", "index": 1, "name": "rxcui", "comment": null}, "class_id": {"type": "text", "index": 2, "name": "class_id", "comment": null}, "class_name": {"type": "text", "index": 3, "name": "class_name", "comment": null}, "class_type": {"type": "text", "index": 4, "name": "class_type", "comment": null}, "drug_name": {"type": "text", "index": 5, "name": "drug_name", "comment": null}, "drug_tty": {"type": "text", "index": 6, "name": "drug_tty", "comment": null}, "rela": {"type": "text", "index": 7, "name": "rela", "comment": null}, "rela_source": {"type": "text", "index": 8, "name": "rela_source", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxclass__atc_codes_to_rxnorm_product_rxcuis"}, "model.sagerx.stg_rxnorm__all_ndcs": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxnorm__all_ndcs", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"ndc11": {"type": "bpchar", "index": 1, "name": "ndc11", "comment": null}, "ndc": {"type": "character varying(7000)", "index": 2, "name": "ndc", "comment": null}, "rxcui": {"type": "character varying(8)", "index": 3, "name": "rxcui", "comment": null}, "sab": {"type": "character varying(20)", "index": 4, "name": "sab", "comment": null}, "active": {"type": "boolean", "index": 5, "name": "active", "comment": null}, "prescribable": {"type": "boolean", "index": 6, "name": "prescribable", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxnorm__all_ndcs"}, "model.sagerx.stg_rxnorm__atc_codes": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxnorm__atc_codes", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"atc_1_code": {"type": "character varying(50)", "index": 1, "name": "atc_1_code", "comment": null}, "atc_1_name": {"type": "text", "index": 2, "name": "atc_1_name", "comment": null}, "atc_2_code": {"type": "character varying(50)", "index": 3, "name": "atc_2_code", "comment": null}, "atc_2_name": {"type": "text", "index": 4, "name": "atc_2_name", "comment": null}, "atc_3_code": {"type": "character varying(50)", "index": 5, "name": "atc_3_code", "comment": null}, "atc_3_name": {"type": "text", "index": 6, "name": "atc_3_name", "comment": null}, "atc_4_code": {"type": "character varying(50)", "index": 7, "name": "atc_4_code", "comment": null}, "atc_4_name": {"type": "text", "index": 8, "name": "atc_4_name", "comment": null}, "atc_5_code": {"type": "character varying(50)", "index": 9, "name": "atc_5_code", "comment": null}, "atc_5_name": {"type": "text", "index": 10, "name": "atc_5_name", "comment": null}, "ingredient_rxcui": {"type": "character varying(8)", "index": 11, "name": "ingredient_rxcui", "comment": null}, "ingredient_name": {"type": "text", "index": 12, "name": "ingredient_name", "comment": null}, "ingredient_tty": {"type": "character varying(20)", "index": 13, "name": "ingredient_tty", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxnorm__atc_codes"}, "model.sagerx.stg_rxnorm__brand_product_component_links": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxnorm__brand_product_component_links", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"brand_product_rxcui": {"type": "character varying(8)", "index": 1, "name": "brand_product_rxcui", "comment": null}, "brand_product_component_rxcui": {"type": "character varying(8)", "index": 2, "name": "brand_product_component_rxcui", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxnorm__brand_product_component_links"}, "model.sagerx.stg_rxnorm__brand_product_components": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxnorm__brand_product_components", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"rxcui": {"type": "character varying(8)", "index": 1, "name": "rxcui", "comment": null}, "name": {"type": "text", "index": 2, "name": "name", "comment": null}, "tty": {"type": "character varying(20)", "index": 3, "name": "tty", "comment": null}, "clinical_product_component_rxcui": {"type": "character varying(8)", "index": 4, "name": "clinical_product_component_rxcui", "comment": null}, "brand_rxcui": {"type": "character varying(8)", "index": 5, "name": "brand_rxcui", "comment": null}, "active": {"type": "boolean", "index": 6, "name": "active", "comment": null}, "prescribable": {"type": "boolean", "index": 7, "name": "prescribable", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxnorm__brand_product_components"}, "model.sagerx.stg_rxnorm__brand_products": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxnorm__brand_products", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"rxcui": {"type": "character varying(8)", "index": 1, "name": "rxcui", "comment": null}, "name": {"type": "text", "index": 2, "name": "name", "comment": null}, "tty": {"type": "character varying(20)", "index": 3, "name": "tty", "comment": null}, "clinical_product_rxcui": {"type": "character varying(8)", "index": 4, "name": "clinical_product_rxcui", "comment": null}, "active": {"type": "boolean", "index": 5, "name": "active", "comment": null}, "prescribable": {"type": "boolean", "index": 6, "name": "prescribable", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxnorm__brand_products"}, "model.sagerx.stg_rxnorm__brands": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxnorm__brands", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"rxcui": {"type": "character varying(8)", "index": 1, "name": "rxcui", "comment": null}, "name": {"type": "text", "index": 2, "name": "name", "comment": null}, "tty": {"type": "character varying(20)", "index": 3, "name": "tty", "comment": null}, "active": {"type": "boolean", "index": 4, "name": "active", "comment": null}, "prescribable": {"type": "boolean", "index": 5, "name": "prescribable", "comment": null}, "ingredient_rxcui": {"type": "character varying(8)", "index": 6, "name": "ingredient_rxcui", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxnorm__brands"}, "model.sagerx.stg_rxnorm__clinical_product_component_links": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxnorm__clinical_product_component_links", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"clinical_product_rxcui": {"type": "character varying(8)", "index": 1, "name": "clinical_product_rxcui", "comment": null}, "clinical_product_component_rxcui": {"type": "character varying(8)", "index": 2, "name": "clinical_product_component_rxcui", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxnorm__clinical_product_component_links"}, "model.sagerx.stg_rxnorm__clinical_product_components": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxnorm__clinical_product_components", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"rxcui": {"type": "character varying(8)", "index": 1, "name": "rxcui", "comment": null}, "name": {"type": "text", "index": 2, "name": "name", "comment": null}, "tty": {"type": "character varying(20)", "index": 3, "name": "tty", "comment": null}, "active": {"type": "boolean", "index": 4, "name": "active", "comment": null}, "prescribable": {"type": "boolean", "index": 5, "name": "prescribable", "comment": null}, "ingredient_rxcui": {"type": "character varying(8)", "index": 6, "name": "ingredient_rxcui", "comment": null}, "dose_form_rxcui": {"type": "character varying(8)", "index": 7, "name": "dose_form_rxcui", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxnorm__clinical_product_components"}, "model.sagerx.stg_rxnorm__clinical_products": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxnorm__clinical_products", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"rxcui": {"type": "character varying(8)", "index": 1, "name": "rxcui", "comment": null}, "name": {"type": "text", "index": 2, "name": "name", "comment": null}, "tty": {"type": "character varying(20)", "index": 3, "name": "tty", "comment": null}, "active": {"type": "boolean", "index": 4, "name": "active", "comment": null}, "prescribable": {"type": "boolean", "index": 5, "name": "prescribable", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxnorm__clinical_products"}, "model.sagerx.stg_rxnorm__dose_form_group_links": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxnorm__dose_form_group_links", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"dose_form_rxcui": {"type": "character varying(8)", "index": 1, "name": "dose_form_rxcui", "comment": null}, "dose_form_group_rxcui": {"type": "character varying(8)", "index": 2, "name": "dose_form_group_rxcui", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxnorm__dose_form_group_links"}, "model.sagerx.stg_rxnorm__dose_form_groups": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxnorm__dose_form_groups", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"rxcui": {"type": "character varying(8)", "index": 1, "name": "rxcui", "comment": null}, "name": {"type": "text", "index": 2, "name": "name", "comment": null}, "tty": {"type": "character varying(20)", "index": 3, "name": "tty", "comment": null}, "active": {"type": "boolean", "index": 4, "name": "active", "comment": null}, "prescribable": {"type": "boolean", "index": 5, "name": "prescribable", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxnorm__dose_form_groups"}, "model.sagerx.stg_rxnorm__dose_forms": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxnorm__dose_forms", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"rxcui": {"type": "character varying(8)", "index": 1, "name": "rxcui", "comment": null}, "name": {"type": "text", "index": 2, "name": "name", "comment": null}, "tty": {"type": "character varying(20)", "index": 3, "name": "tty", "comment": null}, "active": {"type": "boolean", "index": 4, "name": "active", "comment": null}, "prescribable": {"type": "boolean", "index": 5, "name": "prescribable", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxnorm__dose_forms"}, "model.sagerx.stg_rxnorm__ingredient_component_links": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxnorm__ingredient_component_links", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"ingredient_rxcui": {"type": "character varying(8)", "index": 1, "name": "ingredient_rxcui", "comment": null}, "ingredient_component_rxcui": {"type": "character varying(8)", "index": 2, "name": "ingredient_component_rxcui", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxnorm__ingredient_component_links"}, "model.sagerx.stg_rxnorm__ingredient_components": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxnorm__ingredient_components", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"rxcui": {"type": "character varying(8)", "index": 1, "name": "rxcui", "comment": null}, "name": {"type": "text", "index": 2, "name": "name", "comment": null}, "tty": {"type": "character varying(20)", "index": 3, "name": "tty", "comment": null}, "active": {"type": "boolean", "index": 4, "name": "active", "comment": null}, "prescribable": {"type": "boolean", "index": 5, "name": "prescribable", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxnorm__ingredient_components"}, "model.sagerx.stg_rxnorm__ingredient_strength_links": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxnorm__ingredient_strength_links", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"clinical_product_component_rxcui": {"type": "character varying(8)", "index": 1, "name": "clinical_product_component_rxcui", "comment": null}, "ingredient_component_rxcui": {"type": "character varying(8)", "index": 2, "name": "ingredient_component_rxcui", "comment": null}, "ingredient_strength_rxcui": {"type": "character varying(8)", "index": 3, "name": "ingredient_strength_rxcui", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxnorm__ingredient_strength_links"}, "model.sagerx.stg_rxnorm__ingredient_strengths": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxnorm__ingredient_strengths", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"rxcui": {"type": "character varying(8)", "index": 1, "name": "rxcui", "comment": null}, "name": {"type": "text", "index": 2, "name": "name", "comment": null}, "numerator_value": {"type": "character varying(7000)", "index": 3, "name": "numerator_value", "comment": null}, "numerator_unit": {"type": "character varying(7000)", "index": 4, "name": "numerator_unit", "comment": null}, "denominator_value": {"type": "character varying(7000)", "index": 5, "name": "denominator_value", "comment": null}, "denominator_unit": {"type": "character varying(7000)", "index": 6, "name": "denominator_unit", "comment": null}, "text": {"type": "character varying(7000)", "index": 7, "name": "text", "comment": null}, "active": {"type": "boolean", "index": 8, "name": "active", "comment": null}, "prescribable": {"type": "boolean", "index": 9, "name": "prescribable", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxnorm__ingredient_strengths"}, "model.sagerx.stg_rxnorm__ingredients": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxnorm__ingredients", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"rxcui": {"type": "character varying(8)", "index": 1, "name": "rxcui", "comment": null}, "name": {"type": "text", "index": 2, "name": "name", "comment": null}, "tty": {"type": "character varying(20)", "index": 3, "name": "tty", "comment": null}, "active": {"type": "boolean", "index": 4, "name": "active", "comment": null}, "prescribable": {"type": "boolean", "index": 5, "name": "prescribable", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxnorm__ingredients"}, "model.sagerx.stg_rxnorm__mthspl_ndcs": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxnorm__mthspl_ndcs", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"ndc11": {"type": "bpchar", "index": 1, "name": "ndc11", "comment": null}, "ndc": {"type": "character varying(7000)", "index": 2, "name": "ndc", "comment": null}, "rxcui": {"type": "character varying(8)", "index": 3, "name": "rxcui", "comment": null}, "active": {"type": "boolean", "index": 4, "name": "active", "comment": null}, "prescribable": {"type": "boolean", "index": 5, "name": "prescribable", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxnorm__mthspl_ndcs"}, "model.sagerx.stg_rxnorm__mthspl_products": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxnorm__mthspl_products", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"rxcui": {"type": "character varying(8)", "index": 1, "name": "rxcui", "comment": null}, "name": {"type": "text", "index": 2, "name": "name", "comment": null}, "tty": {"type": "character varying(20)", "index": 3, "name": "tty", "comment": null}, "rxaui": {"type": "character varying(8)", "index": 4, "name": "rxaui", "comment": null}, "ndc": {"type": "character varying(50)", "index": 5, "name": "ndc", "comment": null}, "active": {"type": "boolean", "index": 6, "name": "active", "comment": null}, "prescribable": {"type": "boolean", "index": 7, "name": "prescribable", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxnorm__mthspl_products"}, "model.sagerx.stg_rxnorm__mthspl_substances": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxnorm__mthspl_substances", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"rxcui": {"type": "character varying(8)", "index": 1, "name": "rxcui", "comment": null}, "name": {"type": "text", "index": 2, "name": "name", "comment": null}, "tty": {"type": "character varying(20)", "index": 3, "name": "tty", "comment": null}, "rxaui": {"type": "character varying(8)", "index": 4, "name": "rxaui", "comment": null}, "unii": {"type": "character varying(50)", "index": 5, "name": "unii", "comment": null}, "active": {"type": "boolean", "index": 6, "name": "active", "comment": null}, "prescribable": {"type": "boolean", "index": 7, "name": "prescribable", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxnorm__mthspl_substances"}, "model.sagerx.stg_rxnorm__ndcs": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxnorm__ndcs", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"ndc": {"type": "character varying(7000)", "index": 1, "name": "ndc", "comment": null}, "clinical_product_rxcui": {"type": "character varying(8)", "index": 2, "name": "clinical_product_rxcui", "comment": null}, "brand_product_rxcui": {"type": "character varying", "index": 3, "name": "brand_product_rxcui", "comment": null}, "active": {"type": "boolean", "index": 4, "name": "active", "comment": null}, "prescribable": {"type": "boolean", "index": 5, "name": "prescribable", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxnorm__ndcs"}, "model.sagerx.stg_rxnorm__precise_ingredient_links": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxnorm__precise_ingredient_links", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"ingredient_strength_rxcui": {"type": "character varying(8)", "index": 1, "name": "ingredient_strength_rxcui", "comment": null}, "precise_ingredient_rxcui": {"type": "character varying(8)", "index": 2, "name": "precise_ingredient_rxcui", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxnorm__precise_ingredient_links"}, "model.sagerx.stg_rxnorm__precise_ingredients": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxnorm__precise_ingredients", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"rxcui": {"type": "character varying(8)", "index": 1, "name": "rxcui", "comment": null}, "name": {"type": "text", "index": 2, "name": "name", "comment": null}, "tty": {"type": "character varying(20)", "index": 3, "name": "tty", "comment": null}, "active": {"type": "boolean", "index": 4, "name": "active", "comment": null}, "prescribable": {"type": "boolean", "index": 5, "name": "prescribable", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxnorm__precise_ingredients"}, "model.sagerx.stg_rxnorm__product_rxcuis": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxnorm__product_rxcuis", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"rxcui": {"type": "character varying(8)", "index": 1, "name": "rxcui", "comment": null}, "lat": {"type": "character varying(3)", "index": 2, "name": "lat", "comment": null}, "ts": {"type": "character varying(1)", "index": 3, "name": "ts", "comment": null}, "lui": {"type": "character varying(8)", "index": 4, "name": "lui", "comment": null}, "stt": {"type": "character varying(3)", "index": 5, "name": "stt", "comment": null}, "sui": {"type": "character varying(8)", "index": 6, "name": "sui", "comment": null}, "ispref": {"type": "character varying(1)", "index": 7, "name": "ispref", "comment": null}, "rxaui": {"type": "character varying(8)", "index": 8, "name": "rxaui", "comment": null}, "saui": {"type": "character varying(50)", "index": 9, "name": "saui", "comment": null}, "scui": {"type": "character varying(50)", "index": 10, "name": "scui", "comment": null}, "sdui": {"type": "character varying(50)", "index": 11, "name": "sdui", "comment": null}, "sab": {"type": "character varying(20)", "index": 12, "name": "sab", "comment": null}, "tty": {"type": "character varying(20)", "index": 13, "name": "tty", "comment": null}, "code": {"type": "character varying(50)", "index": 14, "name": "code", "comment": null}, "str": {"type": "text", "index": 15, "name": "str", "comment": null}, "srl": {"type": "character varying(10)", "index": 16, "name": "srl", "comment": null}, "suppress": {"type": "character varying(1)", "index": 17, "name": "suppress", "comment": null}, "cvf": {"type": "character varying(50)", "index": 18, "name": "cvf", "comment": null}, "blank": {"type": "text", "index": 19, "name": "blank", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxnorm__product_rxcuis"}, "model.sagerx.stg_rxnorm__products": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxnorm__products", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"product_rxcui": {"type": "character varying", "index": 1, "name": "product_rxcui", "comment": null}, "product_name": {"type": "text", "index": 2, "name": "product_name", "comment": null}, "product_tty": {"type": "character varying", "index": 3, "name": "product_tty", "comment": null}, "clinical_product_rxcui": {"type": "character varying(8)", "index": 4, "name": "clinical_product_rxcui", "comment": null}, "clinical_product_name": {"type": "text", "index": 5, "name": "clinical_product_name", "comment": null}, "clinical_product_tty": {"type": "character varying(20)", "index": 6, "name": "clinical_product_tty", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxnorm__products"}, "model.sagerx.stg_rxnorm_historical__most_recent_ndcs": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxnorm_historical__most_recent_ndcs", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"ndc": {"type": "text", "index": 1, "name": "ndc", "comment": null}, "start_date": {"type": "text", "index": 2, "name": "start_date", "comment": null}, "end_date": {"type": "text", "index": 3, "name": "end_date", "comment": null}, "status": {"type": "text", "index": 4, "name": "status", "comment": null}, "related_rxcui": {"type": "text", "index": 5, "name": "related_rxcui", "comment": null}, "ndc_list": {"type": "text", "index": 6, "name": "ndc_list", "comment": null}, "rxcui": {"type": "text", "index": 7, "name": "rxcui", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxnorm_historical__most_recent_ndcs"}, "model.sagerx.stg_rxnorm_historical__ndcs": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxnorm_historical__ndcs", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"ndc": {"type": "text", "index": 1, "name": "ndc", "comment": null}, "start_date": {"type": "text", "index": 2, "name": "start_date", "comment": null}, "end_date": {"type": "text", "index": 3, "name": "end_date", "comment": null}, "status": {"type": "text", "index": 4, "name": "status", "comment": null}, "related_rxcui": {"type": "text", "index": 5, "name": "related_rxcui", "comment": null}, "ndc_list": {"type": "text", "index": 6, "name": "ndc_list", "comment": null}, "rxcui": {"type": "text", "index": 7, "name": "rxcui", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxnorm_historical__ndcs"}}, "sources": {"source.sagerx.fda_excluded.fda_excluded_package": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_lake", "name": "fda_excluded_package", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"productid": {"type": "text", "index": 1, "name": "productid", "comment": null}, "productndc": {"type": "text", "index": 2, "name": "productndc", "comment": null}, "ndcpackagecode": {"type": "text", "index": 3, "name": "ndcpackagecode", "comment": null}, "packagedescription": {"type": "text", "index": 4, "name": "packagedescription", "comment": null}, "startmarketingdate": {"type": "text", "index": 5, "name": "startmarketingdate", "comment": null}, "endmarketingdate": {"type": "text", "index": 6, "name": "endmarketingdate", "comment": null}, "ndc_exclude_flag": {"type": "text", "index": 7, "name": "ndc_exclude_flag", "comment": null}, "sample_package": {"type": "text", "index": 8, "name": "sample_package", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.sagerx.fda_excluded.fda_excluded_package"}, "source.sagerx.fda_excluded.fda_excluded_product": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_lake", "name": "fda_excluded_product", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"productid": {"type": "text", "index": 1, "name": "productid", "comment": null}, "productndc": {"type": "text", "index": 2, "name": "productndc", "comment": null}, "producttypename": {"type": "text", "index": 3, "name": "producttypename", "comment": null}, "proprietaryname": {"type": "text", "index": 4, "name": "proprietaryname", "comment": null}, "proprietarynamesuffix": {"type": "text", "index": 5, "name": "proprietarynamesuffix", "comment": null}, "nonproprietaryname": {"type": "text", "index": 6, "name": "nonproprietaryname", "comment": null}, "dosageformname": {"type": "text", "index": 7, "name": "dosageformname", "comment": null}, "routename": {"type": "text", "index": 8, "name": "routename", "comment": null}, "startmarketingdate": {"type": "text", "index": 9, "name": "startmarketingdate", "comment": null}, "endmarketingdate": {"type": "text", "index": 10, "name": "endmarketingdate", "comment": null}, "marketingcategoryname": {"type": "text", "index": 11, "name": "marketingcategoryname", "comment": null}, "applicationnumber": {"type": "text", "index": 12, "name": "applicationnumber", "comment": null}, "labelername": {"type": "text", "index": 13, "name": "labelername", "comment": null}, "substancename": {"type": "text", "index": 14, "name": "substancename", "comment": null}, "active_numerator_strength": {"type": "text", "index": 15, "name": "active_numerator_strength", "comment": null}, "active_ingred_unit": {"type": "text", "index": 16, "name": "active_ingred_unit", "comment": null}, "pharm_classes": {"type": "text", "index": 17, "name": "pharm_classes", "comment": null}, "deaschedule": {"type": "text", "index": 18, "name": "deaschedule", "comment": null}, "ndc_exclude_flag": {"type": "text", "index": 19, "name": "ndc_exclude_flag", "comment": null}, "listing_record_certified_through": {"type": "text", "index": 20, "name": "listing_record_certified_through", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.sagerx.fda_excluded.fda_excluded_product"}, "source.sagerx.fda_ndc.fda_ndc_package": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_lake", "name": "fda_ndc_package", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"productid": {"type": "text", "index": 1, "name": "productid", "comment": null}, "productndc": {"type": "text", "index": 2, "name": "productndc", "comment": null}, "ndcpackagecode": {"type": "text", "index": 3, "name": "ndcpackagecode", "comment": null}, "packagedescription": {"type": "text", "index": 4, "name": "packagedescription", "comment": null}, "startmarketingdate": {"type": "text", "index": 5, "name": "startmarketingdate", "comment": null}, "endmarketingdate": {"type": "text", "index": 6, "name": "endmarketingdate", "comment": null}, "ndc_exclude_flag": {"type": "text", "index": 7, "name": "ndc_exclude_flag", "comment": null}, "sample_package": {"type": "text", "index": 8, "name": "sample_package", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.sagerx.fda_ndc.fda_ndc_package"}, "source.sagerx.fda_ndc.fda_ndc_product": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_lake", "name": "fda_ndc_product", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"productid": {"type": "text", "index": 1, "name": "productid", "comment": null}, "productndc": {"type": "text", "index": 2, "name": "productndc", "comment": null}, "producttypename": {"type": "text", "index": 3, "name": "producttypename", "comment": null}, "proprietaryname": {"type": "text", "index": 4, "name": "proprietaryname", "comment": null}, "proprietarynamesuffix": {"type": "text", "index": 5, "name": "proprietarynamesuffix", "comment": null}, "nonproprietaryname": {"type": "text", "index": 6, "name": "nonproprietaryname", "comment": null}, "dosageformname": {"type": "text", "index": 7, "name": "dosageformname", "comment": null}, "routename": {"type": "text", "index": 8, "name": "routename", "comment": null}, "startmarketingdate": {"type": "text", "index": 9, "name": "startmarketingdate", "comment": null}, "endmarketingdate": {"type": "text", "index": 10, "name": "endmarketingdate", "comment": null}, "marketingcategoryname": {"type": "text", "index": 11, "name": "marketingcategoryname", "comment": null}, "applicationnumber": {"type": "text", "index": 12, "name": "applicationnumber", "comment": null}, "labelername": {"type": "text", "index": 13, "name": "labelername", "comment": null}, "substancename": {"type": "text", "index": 14, "name": "substancename", "comment": null}, "active_numerator_strength": {"type": "text", "index": 15, "name": "active_numerator_strength", "comment": null}, "active_ingred_unit": {"type": "text", "index": 16, "name": "active_ingred_unit", "comment": null}, "pharm_classes": {"type": "text", "index": 17, "name": "pharm_classes", "comment": null}, "deaschedule": {"type": "text", "index": 18, "name": "deaschedule", "comment": null}, "ndc_exclude_flag": {"type": "text", "index": 19, "name": "ndc_exclude_flag", "comment": null}, "listing_record_certified_through": {"type": "text", "index": 20, "name": "listing_record_certified_through", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.sagerx.fda_ndc.fda_ndc_product"}, "source.sagerx.fda_unfinished.fda_unfinished_package": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_lake", "name": "fda_unfinished_package", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"productid": {"type": "text", "index": 1, "name": "productid", "comment": null}, "productndc": {"type": "text", "index": 2, "name": "productndc", "comment": null}, "ndcpackagecode": {"type": "text", "index": 3, "name": "ndcpackagecode", "comment": null}, "packagedescription": {"type": "text", "index": 4, "name": "packagedescription", "comment": null}, "startmarketingdate": {"type": "text", "index": 5, "name": "startmarketingdate", "comment": null}, "endmarketingdate": {"type": "text", "index": 6, "name": "endmarketingdate", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.sagerx.fda_unfinished.fda_unfinished_package"}, "source.sagerx.fda_unfinished.fda_unfinished_product": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_lake", "name": "fda_unfinished_product", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"productid": {"type": "text", "index": 1, "name": "productid", "comment": null}, "productndc": {"type": "text", "index": 2, "name": "productndc", "comment": null}, "producttypename": {"type": "text", "index": 3, "name": "producttypename", "comment": null}, "nonproprietaryname": {"type": "text", "index": 4, "name": "nonproprietaryname", "comment": null}, "dosageformname": {"type": "text", "index": 5, "name": "dosageformname", "comment": null}, "startmarketingdate": {"type": "text", "index": 6, "name": "startmarketingdate", "comment": null}, "endmarketingdate": {"type": "text", "index": 7, "name": "endmarketingdate", "comment": null}, "marketingcategoryname": {"type": "text", "index": 8, "name": "marketingcategoryname", "comment": null}, "labelername": {"type": "text", "index": 9, "name": "labelername", "comment": null}, "substancename": {"type": "text", "index": 10, "name": "substancename", "comment": null}, "active_numerator_strength": {"type": "text", "index": 11, "name": "active_numerator_strength", "comment": null}, "active_ingred_unit": {"type": "text", "index": 12, "name": "active_ingred_unit", "comment": null}, "deaschedule": {"type": "text", "index": 13, "name": "deaschedule", "comment": null}, "listing_record_certified_through": {"type": "text", "index": 14, "name": "listing_record_certified_through", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.sagerx.fda_unfinished.fda_unfinished_product"}, "source.sagerx.rxclass.rxclass_atc_to_product": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_lake", "name": "rxclass_atc_to_product", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"rxcui": {"type": "text", "index": 1, "name": "rxcui", "comment": null}, "class_id": {"type": "text", "index": 2, "name": "class_id", "comment": null}, "class_name": {"type": "text", "index": 3, "name": "class_name", "comment": null}, "class_type": {"type": "text", "index": 4, "name": "class_type", "comment": null}, "drug_name": {"type": "text", "index": 5, "name": "drug_name", "comment": null}, "drug_tty": {"type": "text", "index": 6, "name": "drug_tty", "comment": null}, "rela": {"type": "text", "index": 7, "name": "rela", "comment": null}, "rela_source": {"type": "text", "index": 8, "name": "rela_source", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.sagerx.rxclass.rxclass_atc_to_product"}, "source.sagerx.rxnorm_historical.rxnorm_historical": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_lake", "name": "rxnorm_historical", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"ndc": {"type": "text", "index": 1, "name": "ndc", "comment": null}, "start_date": {"type": "text", "index": 2, "name": "start_date", "comment": null}, "end_date": {"type": "text", "index": 3, "name": "end_date", "comment": null}, "status": {"type": "text", "index": 4, "name": "status", "comment": null}, "related_rxcui": {"type": "text", "index": 5, "name": "related_rxcui", "comment": null}, "ndc_list": {"type": "text", "index": 6, "name": "ndc_list", "comment": null}, "rxcui": {"type": "text", "index": 7, "name": "rxcui", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.sagerx.rxnorm_historical.rxnorm_historical"}, "source.sagerx.rxnorm.rxnorm_rxnatomarchive": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_lake", "name": "rxnorm_rxnatomarchive", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"rxaui": {"type": "character varying(8)", "index": 1, "name": "rxaui", "comment": null}, "aui": {"type": "character varying(10)", "index": 2, "name": "aui", "comment": null}, "str": {"type": "character varying(4000)", "index": 3, "name": "str", "comment": null}, "archive_timestamp": {"type": "character varying(280)", "index": 4, "name": "archive_timestamp", "comment": null}, "created_timestamp": {"type": "character varying(280)", "index": 5, "name": "created_timestamp", "comment": null}, "updated_timestamp": {"type": "character varying(280)", "index": 6, "name": "updated_timestamp", "comment": null}, "code": {"type": "character varying(50)", "index": 7, "name": "code", "comment": null}, "is_brand": {"type": "character varying(1)", "index": 8, "name": "is_brand", "comment": null}, "lat": {"type": "character varying(3)", "index": 9, "name": "lat", "comment": null}, "last_released": {"type": "character varying(30)", "index": 10, "name": "last_released", "comment": null}, "saui": {"type": "character varying(50)", "index": 11, "name": "saui", "comment": null}, "vsab": {"type": "character varying(40)", "index": 12, "name": "vsab", "comment": null}, "rxcui": {"type": "character varying(8)", "index": 13, "name": "rxcui", "comment": null}, "sab": {"type": "character varying(20)", "index": 14, "name": "sab", "comment": null}, "tty": {"type": "character varying(20)", "index": 15, "name": "tty", "comment": null}, "merged_to_rxcui": {"type": "character varying(8)", "index": 16, "name": "merged_to_rxcui", "comment": null}, "blank": {"type": "text", "index": 17, "name": "blank", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.sagerx.rxnorm.rxnorm_rxnatomarchive"}, "source.sagerx.rxnorm.rxnorm_rxnconso": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_lake", "name": "rxnorm_rxnconso", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"rxcui": {"type": "character varying(8)", "index": 1, "name": "rxcui", "comment": null}, "lat": {"type": "character varying(3)", "index": 2, "name": "lat", "comment": null}, "ts": {"type": "character varying(1)", "index": 3, "name": "ts", "comment": null}, "lui": {"type": "character varying(8)", "index": 4, "name": "lui", "comment": null}, "stt": {"type": "character varying(3)", "index": 5, "name": "stt", "comment": null}, "sui": {"type": "character varying(8)", "index": 6, "name": "sui", "comment": null}, "ispref": {"type": "character varying(1)", "index": 7, "name": "ispref", "comment": null}, "rxaui": {"type": "character varying(8)", "index": 8, "name": "rxaui", "comment": null}, "saui": {"type": "character varying(50)", "index": 9, "name": "saui", "comment": null}, "scui": {"type": "character varying(50)", "index": 10, "name": "scui", "comment": null}, "sdui": {"type": "character varying(50)", "index": 11, "name": "sdui", "comment": null}, "sab": {"type": "character varying(20)", "index": 12, "name": "sab", "comment": null}, "tty": {"type": "character varying(20)", "index": 13, "name": "tty", "comment": null}, "code": {"type": "character varying(50)", "index": 14, "name": "code", "comment": null}, "str": {"type": "text", "index": 15, "name": "str", "comment": null}, "srl": {"type": "character varying(10)", "index": 16, "name": "srl", "comment": null}, "suppress": {"type": "character varying(1)", "index": 17, "name": "suppress", "comment": null}, "cvf": {"type": "character varying(50)", "index": 18, "name": "cvf", "comment": null}, "blank": {"type": "text", "index": 19, "name": "blank", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.sagerx.rxnorm.rxnorm_rxnconso"}, "source.sagerx.rxnorm.rxnorm_rxncui": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_lake", "name": "rxnorm_rxncui", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"cui1": {"type": "character varying(8)", "index": 1, "name": "cui1", "comment": null}, "ver_start": {"type": "character varying(40)", "index": 2, "name": "ver_start", "comment": null}, "ver_end": {"type": "character varying(40)", "index": 3, "name": "ver_end", "comment": null}, "cardinality": {"type": "character varying(8)", "index": 4, "name": "cardinality", "comment": null}, "cui2": {"type": "character varying(8)", "index": 5, "name": "cui2", "comment": null}, "blank": {"type": "text", "index": 6, "name": "blank", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.sagerx.rxnorm.rxnorm_rxncui"}, "source.sagerx.rxnorm.rxnorm_rxncuichanges": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_lake", "name": "rxnorm_rxncuichanges", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"rxaui": {"type": "character varying(8)", "index": 1, "name": "rxaui", "comment": null}, "code": {"type": "character varying(50)", "index": 2, "name": "code", "comment": null}, "sab": {"type": "character varying(20)", "index": 3, "name": "sab", "comment": null}, "tty": {"type": "character varying(20)", "index": 4, "name": "tty", "comment": null}, "str": {"type": "character varying(3000)", "index": 5, "name": "str", "comment": null}, "old_rxcui": {"type": "character varying(8)", "index": 6, "name": "old_rxcui", "comment": null}, "new_rxcui": {"type": "character varying(8)", "index": 7, "name": "new_rxcui", "comment": null}, "blank": {"type": "text", "index": 8, "name": "blank", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.sagerx.rxnorm.rxnorm_rxncuichanges"}, "source.sagerx.rxnorm.rxnorm_rxndoc": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_lake", "name": "rxnorm_rxndoc", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"dockey": {"type": "character varying(50)", "index": 1, "name": "dockey", "comment": null}, "value": {"type": "character varying(1000)", "index": 2, "name": "value", "comment": null}, "type": {"type": "character varying(50)", "index": 3, "name": "type", "comment": null}, "expl": {"type": "character varying(1000)", "index": 4, "name": "expl", "comment": null}, "blank": {"type": "text", "index": 5, "name": "blank", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.sagerx.rxnorm.rxnorm_rxndoc"}, "source.sagerx.rxnorm.rxnorm_rxnrel": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_lake", "name": "rxnorm_rxnrel", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"rxcui1": {"type": "character varying(8)", "index": 1, "name": "rxcui1", "comment": null}, "rxaui1": {"type": "character varying(8)", "index": 2, "name": "rxaui1", "comment": null}, "stype1": {"type": "character varying(50)", "index": 3, "name": "stype1", "comment": null}, "rel": {"type": "character varying(4)", "index": 4, "name": "rel", "comment": null}, "rxcui2": {"type": "character varying(8)", "index": 5, "name": "rxcui2", "comment": null}, "rxaui2": {"type": "character varying(8)", "index": 6, "name": "rxaui2", "comment": null}, "stype2": {"type": "character varying(50)", "index": 7, "name": "stype2", "comment": null}, "rela": {"type": "character varying(100)", "index": 8, "name": "rela", "comment": null}, "rui": {"type": "character varying(10)", "index": 9, "name": "rui", "comment": null}, "srui": {"type": "character varying(50)", "index": 10, "name": "srui", "comment": null}, "sab": {"type": "character varying(20)", "index": 11, "name": "sab", "comment": null}, "sl": {"type": "character varying(1000)", "index": 12, "name": "sl", "comment": null}, "dir": {"type": "character varying(1)", "index": 13, "name": "dir", "comment": null}, "rg": {"type": "character varying(10)", "index": 14, "name": "rg", "comment": null}, "suppress": {"type": "character varying(1)", "index": 15, "name": "suppress", "comment": null}, "cvf": {"type": "character varying(50)", "index": 16, "name": "cvf", "comment": null}, "blank": {"type": "text", "index": 17, "name": "blank", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.sagerx.rxnorm.rxnorm_rxnrel"}, "source.sagerx.rxnorm.rxnorm_rxnsab": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_lake", "name": "rxnorm_rxnsab", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"vcui": {"type": "character varying(8)", "index": 1, "name": "vcui", "comment": null}, "rcui": {"type": "character varying(8)", "index": 2, "name": "rcui", "comment": null}, "vsab": {"type": "character varying(40)", "index": 3, "name": "vsab", "comment": null}, "rsab": {"type": "character varying(20)", "index": 4, "name": "rsab", "comment": null}, "son": {"type": "character varying(3000)", "index": 5, "name": "son", "comment": null}, "sf": {"type": "character varying(20)", "index": 6, "name": "sf", "comment": null}, "sver": {"type": "character varying(20)", "index": 7, "name": "sver", "comment": null}, "vstart": {"type": "character varying(10)", "index": 8, "name": "vstart", "comment": null}, "vend": {"type": "character varying(10)", "index": 9, "name": "vend", "comment": null}, "imeta": {"type": "character varying(10)", "index": 10, "name": "imeta", "comment": null}, "rmeta": {"type": "character varying(10)", "index": 11, "name": "rmeta", "comment": null}, "slc": {"type": "character varying(1000)", "index": 12, "name": "slc", "comment": null}, "scc": {"type": "character varying(1000)", "index": 13, "name": "scc", "comment": null}, "srl": {"type": "integer", "index": 14, "name": "srl", "comment": null}, "tfr": {"type": "integer", "index": 15, "name": "tfr", "comment": null}, "cfr": {"type": "integer", "index": 16, "name": "cfr", "comment": null}, "cxty": {"type": "character varying(50)", "index": 17, "name": "cxty", "comment": null}, "ttyl": {"type": "character varying(300)", "index": 18, "name": "ttyl", "comment": null}, "atnl": {"type": "character varying(1000)", "index": 19, "name": "atnl", "comment": null}, "lat": {"type": "character varying(3)", "index": 20, "name": "lat", "comment": null}, "cenc": {"type": "character varying(20)", "index": 21, "name": "cenc", "comment": null}, "curver": {"type": "character varying(1)", "index": 22, "name": "curver", "comment": null}, "sabin": {"type": "character varying(1)", "index": 23, "name": "sabin", "comment": null}, "ssn": {"type": "character varying(3000)", "index": 24, "name": "ssn", "comment": null}, "scit": {"type": "character varying(4000)", "index": 25, "name": "scit", "comment": null}, "blank": {"type": "text", "index": 26, "name": "blank", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.sagerx.rxnorm.rxnorm_rxnsab"}, "source.sagerx.rxnorm.rxnorm_rxnsat": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_lake", "name": "rxnorm_rxnsat", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"rxcui": {"type": "character varying(8)", "index": 1, "name": "rxcui", "comment": null}, "lui": {"type": "character varying(8)", "index": 2, "name": "lui", "comment": null}, "sui": {"type": "character varying(8)", "index": 3, "name": "sui", "comment": null}, "rxaui": {"type": "character varying(8)", "index": 4, "name": "rxaui", "comment": null}, "stype": {"type": "character varying(50)", "index": 5, "name": "stype", "comment": null}, "code": {"type": "character varying(50)", "index": 6, "name": "code", "comment": null}, "atui": {"type": "character varying(11)", "index": 7, "name": "atui", "comment": null}, "satui": {"type": "character varying(50)", "index": 8, "name": "satui", "comment": null}, "atn": {"type": "character varying(1000)", "index": 9, "name": "atn", "comment": null}, "sab": {"type": "character varying(20)", "index": 10, "name": "sab", "comment": null}, "atv": {"type": "character varying(7000)", "index": 11, "name": "atv", "comment": null}, "suppress": {"type": "character varying(1)", "index": 12, "name": "suppress", "comment": null}, "cvf": {"type": "character varying(50)", "index": 13, "name": "cvf", "comment": null}, "blank": {"type": "text", "index": 14, "name": "blank", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.sagerx.rxnorm.rxnorm_rxnsat"}, "source.sagerx.rxnorm.rxnorm_rxnsty": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_lake", "name": "rxnorm_rxnsty", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"rxcui": {"type": "character varying(8)", "index": 1, "name": "rxcui", "comment": null}, "tui": {"type": "character varying(4)", "index": 2, "name": "tui", "comment": null}, "stn": {"type": "character varying(100)", "index": 3, "name": "stn", "comment": null}, "sty": {"type": "character varying(50)", "index": 4, "name": "sty", "comment": null}, "atui": {"type": "character varying(11)", "index": 5, "name": "atui", "comment": null}, "cvf": {"type": "character varying(50)", "index": 6, "name": "cvf", "comment": null}, "blank": {"type": "text", "index": 7, "name": "blank", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.sagerx.rxnorm.rxnorm_rxnsty"}}, "errors": null} \ No newline at end of file +{"metadata": {"dbt_schema_version": "https://schemas.getdbt.com/dbt/catalog/v1.json", "dbt_version": "1.8.6", "generated_at": "2024-11-21T21:06:53.926988Z", "invocation_id": "bb162212-7553-4074-8a3e-1e84d80ff754", "env": {}}, "nodes": {"model.sagerx.all_ndc_descriptions": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_dev", "name": "all_ndc_descriptions", "database": "sagerx", "comment": "NDC to RxNorm description (with RXCUI) and FDA description.\n\nNOTE: If RxNorm and RxNorm Historical have same NDCs, we prefer RxNorm.\nIf any of the 3 FDA sources have same NDCs, we prefer FDA NDC, FDA Excluded, FDA Unfinished in that order.\n", "owner": "sagerx"}, "columns": {"ndc": {"type": "character varying", "index": 1, "name": "ndc", "comment": "The NDC in NDC11 format. This column contains only unique values."}, "rxcui": {"type": "character varying", "index": 2, "name": "rxcui", "comment": "If NDC was found in an RxNorm sources, we have an associated RXCUI. If NULL, the source is likely FDA.\n"}, "rxnorm_description": {"type": "text", "index": 3, "name": "rxnorm_description", "comment": "If RxNorm source, will have the RxNorm normalized description (STR)."}, "fda_description": {"type": "text", "index": 4, "name": "fda_description", "comment": "If FDA source, will have a description cobbled together from FDA columns for lack of a normalized FDA description."}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.all_ndc_descriptions"}, "model.sagerx.all_ndcs_to_sources": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_dev", "name": "all_ndcs_to_sources", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"ndc": {"type": "text", "index": 1, "name": "ndc", "comment": null}, "rxnorm_historical_ndcs": {"type": "integer", "index": 2, "name": "rxnorm_historical_ndcs", "comment": null}, "rxnorm_ndcs": {"type": "integer", "index": 3, "name": "rxnorm_ndcs", "comment": null}, "fda_ndc_ndcs": {"type": "integer", "index": 4, "name": "fda_ndc_ndcs", "comment": null}, "fda_excluded_ndcs": {"type": "integer", "index": 5, "name": "fda_excluded_ndcs", "comment": null}, "fda_unfinished_ndcs": {"type": "integer", "index": 6, "name": "fda_unfinished_ndcs", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.all_ndcs_to_sources"}, "model.sagerx.atc_codes_to_rxnorm_products": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_dev", "name": "atc_codes_to_rxnorm_products", "database": "sagerx", "comment": "ATC 1-4 codes to product-level RXCUIs and descriptions.\n", "owner": "sagerx"}, "columns": {"rxcui": {"type": "text", "index": 1, "name": "rxcui", "comment": "Product-level RxNorm RXCUI.\n"}, "rxnorm_description": {"type": "text", "index": 2, "name": "rxnorm_description", "comment": "The RxNorm normalized description (STR)."}, "atc_1_code": {"type": "character varying(50)", "index": 3, "name": "atc_1_code", "comment": null}, "atc_2_code": {"type": "character varying(50)", "index": 4, "name": "atc_2_code", "comment": null}, "atc_3_code": {"type": "character varying(50)", "index": 5, "name": "atc_3_code", "comment": null}, "atc_4_code": {"type": "character varying(50)", "index": 6, "name": "atc_4_code", "comment": null}, "atc_1_name": {"type": "text", "index": 7, "name": "atc_1_name", "comment": "The name of the ATC1 level associated with this product."}, "atc_2_name": {"type": "text", "index": 8, "name": "atc_2_name", "comment": "The name of the ATC2 level associated with this product."}, "atc_3_name": {"type": "text", "index": 9, "name": "atc_3_name", "comment": "The name of the ATC3 level associated with this product."}, "atc_4_name": {"type": "text", "index": 10, "name": "atc_4_name", "comment": "The name of the ATC4 level associated with this product."}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.atc_codes_to_rxnorm_products"}, "model.sagerx.brand_products_with_related_ndcs": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_dev", "name": "brand_products_with_related_ndcs", "database": "sagerx", "comment": "Brand Product RXCUI \u2192 Related Clinical Product RXCUI \u2192 NDCs related to that Clinical Product RXCUI \u2192 FDA Start Marketing Dates\n", "owner": "sagerx"}, "columns": {"product_tty": {"type": "character varying(20)", "index": 1, "name": "product_tty", "comment": "Will always be SBD or BPCK since we are starting with brand products only."}, "product_rxcui": {"type": "character varying(8)", "index": 2, "name": "product_rxcui", "comment": null}, "product_name": {"type": "text", "index": 3, "name": "product_name", "comment": "The name of the brand product we are starting from."}, "ndc_product_tty": {"type": "character varying(20)", "index": 4, "name": "ndc_product_tty", "comment": "Could be SCD, SBD, GPCK, BPCK, or null.\n\nA product related to the original brand product based on a clinical product identifier.\n\nExample: starting with a product TTY / RXCUI of SBD 1000000, you could have a related ndc_product\nof SBD 1000000 because that brand product relates to itself, as well as a related ndc_product of\nSCD 999996 which is the generic version of the same product.\n\nCan have duplicate RXCUIs if there are multiple NDCs related to that RXCUI.\n"}, "ndc_product_rxcui": {"type": "character varying(8)", "index": 5, "name": "ndc_product_rxcui", "comment": null}, "ndc_product_name": {"type": "text", "index": 6, "name": "ndc_product_name", "comment": null}, "ndc": {"type": "character varying(7000)", "index": 7, "name": "ndc", "comment": "The NDC that relates to the ndc_product_rxcui."}, "product_startmarketingdate": {"type": "text", "index": 8, "name": "product_startmarketingdate", "comment": "The start marketing date of the **product**. Can be different from that of the package."}, "package_startmarketingdate": {"type": "text", "index": 9, "name": "package_startmarketingdate", "comment": "The start marketing date of the **package**. Can be different from that of the product."}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.brand_products_with_related_ndcs"}, "model.sagerx.int_dailymed_image_name_ndcs": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_dev", "name": "int_dailymed_image_name_ndcs", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "set_id": {"type": "text", "index": 2, "name": "set_id", "comment": null}, "package_label_section_id": {"type": "text", "index": 3, "name": "package_label_section_id", "comment": null}, "image": {"type": "text", "index": 4, "name": "image", "comment": null}, "image_id": {"type": "text", "index": 5, "name": "image_id", "comment": null}, "regex_ndc": {"type": "text", "index": 6, "name": "regex_ndc", "comment": null}, "ndc": {"type": "text", "index": 7, "name": "ndc", "comment": null}, "ndc11": {"type": "text", "index": 8, "name": "ndc11", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.int_dailymed_image_name_ndcs"}, "model.sagerx.int_dailymed_image_xml_ndcs": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_dev", "name": "int_dailymed_image_xml_ndcs", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"set_id": {"type": "text", "index": 1, "name": "set_id", "comment": null}, "ndc": {"type": "text", "index": 2, "name": "ndc", "comment": null}, "image": {"type": "text", "index": 3, "name": "image", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.int_dailymed_image_xml_ndcs"}, "model.sagerx.int_dailymed_organization_metrics": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_dev", "name": "int_dailymed_organization_metrics", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"set_id": {"type": "text", "index": 1, "name": "set_id", "comment": null}, "market_status": {"type": "text", "index": 2, "name": "market_status", "comment": null}, "functioner_count": {"type": "bigint", "index": 3, "name": "functioner_count", "comment": null}, "labeler_count": {"type": "bigint", "index": 4, "name": "labeler_count", "comment": null}, "repacker_count": {"type": "bigint", "index": 5, "name": "repacker_count", "comment": null}, "organization_text": {"type": "text", "index": 6, "name": "organization_text", "comment": null}, "labeler_only": {"type": "text", "index": 7, "name": "labeler_only", "comment": null}, "count": {"type": "bigint", "index": 8, "name": "count", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.int_dailymed_organization_metrics"}, "model.sagerx.int_dailymed_ranked_package_label_images": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_dev", "name": "int_dailymed_ranked_package_label_images", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "set_id": {"type": "text", "index": 2, "name": "set_id", "comment": null}, "package_label_section_id": {"type": "text", "index": 3, "name": "package_label_section_id", "comment": null}, "image": {"type": "text", "index": 4, "name": "image", "comment": null}, "image_id": {"type": "text", "index": 5, "name": "image_id", "comment": null}, "rn": {"type": "bigint", "index": 6, "name": "rn", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.int_dailymed_ranked_package_label_images"}, "model.sagerx.int_dailymed_ranked_package_label_ndcs": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_dev", "name": "int_dailymed_ranked_package_label_ndcs", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "set_id": {"type": "text", "index": 2, "name": "set_id", "comment": null}, "package_label_section_id": {"type": "text", "index": 3, "name": "package_label_section_id", "comment": null}, "ndc": {"type": "text", "index": 4, "name": "ndc", "comment": null}, "rn": {"type": "bigint", "index": 5, "name": "rn", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.int_dailymed_ranked_package_label_ndcs"}, "model.sagerx.int_dailymed_validated_package_label_ndcs": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_dev", "name": "int_dailymed_validated_package_label_ndcs", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "set_id": {"type": "text", "index": 2, "name": "set_id", "comment": null}, "package_label_section_id": {"type": "text", "index": 3, "name": "package_label_section_id", "comment": null}, "ndc": {"type": "text", "index": 4, "name": "ndc", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.int_dailymed_validated_package_label_ndcs"}, "model.sagerx.int_mthspl_products_to_active_ingredients": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_dev", "name": "int_mthspl_products_to_active_ingredients", "database": "sagerx", "comment": "NLM SPL products to active ingredients.", "owner": "sagerx"}, "columns": {"ndc9": {"type": "text", "index": 1, "name": "ndc9", "comment": null}, "ndc": {"type": "character varying(50)", "index": 2, "name": "ndc", "comment": null}, "product_rxcui": {"type": "character varying(8)", "index": 3, "name": "product_rxcui", "comment": null}, "product_name": {"type": "text", "index": 4, "name": "product_name", "comment": null}, "product_tty": {"type": "character varying(20)", "index": 5, "name": "product_tty", "comment": null}, "active_ingredient_unii": {"type": "character varying(50)", "index": 6, "name": "active_ingredient_unii", "comment": null}, "active_ingredient_rxcui": {"type": "character varying(8)", "index": 7, "name": "active_ingredient_rxcui", "comment": null}, "active_ingredient_name": {"type": "text", "index": 8, "name": "active_ingredient_name", "comment": null}, "active_ingredient_tty": {"type": "character varying(20)", "index": 9, "name": "active_ingredient_tty", "comment": null}, "active": {"type": "boolean", "index": 10, "name": "active", "comment": null}, "prescribable": {"type": "boolean", "index": 11, "name": "prescribable", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.int_mthspl_products_to_active_ingredients"}, "model.sagerx.int_mthspl_products_to_active_moieties": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_dev", "name": "int_mthspl_products_to_active_moieties", "database": "sagerx", "comment": "NLM SPL products to active moieties.", "owner": "sagerx"}, "columns": {"ndc9": {"type": "text", "index": 1, "name": "ndc9", "comment": null}, "ndc": {"type": "character varying(50)", "index": 2, "name": "ndc", "comment": null}, "product_rxcui": {"type": "character varying(8)", "index": 3, "name": "product_rxcui", "comment": null}, "product_name": {"type": "text", "index": 4, "name": "product_name", "comment": null}, "product_tty": {"type": "character varying(20)", "index": 5, "name": "product_tty", "comment": null}, "active_moiety_unii": {"type": "character varying(50)", "index": 6, "name": "active_moiety_unii", "comment": null}, "active_moiety_rxcui": {"type": "character varying(8)", "index": 7, "name": "active_moiety_rxcui", "comment": null}, "active_moiety_name": {"type": "text", "index": 8, "name": "active_moiety_name", "comment": null}, "active_moiety_tty": {"type": "character varying(20)", "index": 9, "name": "active_moiety_tty", "comment": null}, "active": {"type": "boolean", "index": 10, "name": "active", "comment": null}, "prescribable": {"type": "boolean", "index": 11, "name": "prescribable", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.int_mthspl_products_to_active_moieties"}, "model.sagerx.int_mthspl_products_to_inactive_ingredients": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_dev", "name": "int_mthspl_products_to_inactive_ingredients", "database": "sagerx", "comment": "NLM SPL products to inactive ingredients.", "owner": "sagerx"}, "columns": {"ndc9": {"type": "text", "index": 1, "name": "ndc9", "comment": null}, "ndc": {"type": "character varying(50)", "index": 2, "name": "ndc", "comment": null}, "product_rxcui": {"type": "character varying(8)", "index": 3, "name": "product_rxcui", "comment": null}, "product_name": {"type": "text", "index": 4, "name": "product_name", "comment": null}, "product_tty": {"type": "character varying(20)", "index": 5, "name": "product_tty", "comment": null}, "inactive_ingredient_unii": {"type": "character varying(50)", "index": 6, "name": "inactive_ingredient_unii", "comment": null}, "inactive_ingredient_rxcui": {"type": "character varying(8)", "index": 7, "name": "inactive_ingredient_rxcui", "comment": null}, "inactive_ingredient_name": {"type": "text", "index": 8, "name": "inactive_ingredient_name", "comment": null}, "inactive_ingredient_tty": {"type": "character varying(20)", "index": 9, "name": "inactive_ingredient_tty", "comment": null}, "active": {"type": "boolean", "index": 10, "name": "active", "comment": null}, "prescribable": {"type": "boolean", "index": 11, "name": "prescribable", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.int_mthspl_products_to_inactive_ingredients"}, "model.sagerx.int_rxnorm_all_ndcs_to_product_rxcuis": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_dev", "name": "int_rxnorm_all_ndcs_to_product_rxcuis", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"ndc11": {"type": "character varying", "index": 1, "name": "ndc11", "comment": null}, "rxcui": {"type": "character varying(8)", "index": 2, "name": "rxcui", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.int_rxnorm_all_ndcs_to_product_rxcuis"}, "model.sagerx.int_rxnorm_clinical_products_to_clinical_product_components": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_dev", "name": "int_rxnorm_clinical_products_to_clinical_product_components", "database": "sagerx", "comment": "RxNorm clinical products to clinical product components.", "owner": "sagerx"}, "columns": {"clinical_product_rxcui": {"type": "character varying(8)", "index": 1, "name": "clinical_product_rxcui", "comment": null}, "clinical_product_name": {"type": "text", "index": 2, "name": "clinical_product_name", "comment": null}, "clinical_product_tty": {"type": "character varying(20)", "index": 3, "name": "clinical_product_tty", "comment": null}, "clinical_product_component_rxcui": {"type": "character varying(8)", "index": 4, "name": "clinical_product_component_rxcui", "comment": null}, "clinical_product_compnent_name": {"type": "text", "index": 5, "name": "clinical_product_compnent_name", "comment": null}, "clinical_product_component_tty": {"type": "character varying(20)", "index": 6, "name": "clinical_product_component_tty", "comment": null}, "active": {"type": "boolean", "index": 7, "name": "active", "comment": null}, "prescribable": {"type": "boolean", "index": 8, "name": "prescribable", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.int_rxnorm_clinical_products_to_clinical_product_components"}, "model.sagerx.int_rxnorm_clinical_products_to_dose_forms": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_dev", "name": "int_rxnorm_clinical_products_to_dose_forms", "database": "sagerx", "comment": "RxNorm clinical products to dose forms.", "owner": "sagerx"}, "columns": {"clinical_product_rxcui": {"type": "character varying(8)", "index": 1, "name": "clinical_product_rxcui", "comment": null}, "clinical_product_name": {"type": "text", "index": 2, "name": "clinical_product_name", "comment": null}, "clinical_product_tty": {"type": "character varying(20)", "index": 3, "name": "clinical_product_tty", "comment": null}, "clinical_product_component_rxcui": {"type": "character varying(8)", "index": 4, "name": "clinical_product_component_rxcui", "comment": null}, "clinical_product_compnent_name": {"type": "text", "index": 5, "name": "clinical_product_compnent_name", "comment": null}, "clinical_product_component_tty": {"type": "character varying(20)", "index": 6, "name": "clinical_product_component_tty", "comment": null}, "dose_form_rxcui": {"type": "character varying(8)", "index": 7, "name": "dose_form_rxcui", "comment": null}, "dose_form_name": {"type": "text", "index": 8, "name": "dose_form_name", "comment": null}, "dose_form_tty": {"type": "character varying(20)", "index": 9, "name": "dose_form_tty", "comment": null}, "active": {"type": "boolean", "index": 10, "name": "active", "comment": null}, "prescribable": {"type": "boolean", "index": 11, "name": "prescribable", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.int_rxnorm_clinical_products_to_dose_forms"}, "model.sagerx.int_rxnorm_clinical_products_to_ingredient_components": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_dev", "name": "int_rxnorm_clinical_products_to_ingredient_components", "database": "sagerx", "comment": "RxNorm clinical products to ingredient components.", "owner": "sagerx"}, "columns": {"clinical_product_rxcui": {"type": "character varying(8)", "index": 1, "name": "clinical_product_rxcui", "comment": null}, "clinical_product_name": {"type": "text", "index": 2, "name": "clinical_product_name", "comment": null}, "clinical_product_tty": {"type": "character varying(20)", "index": 3, "name": "clinical_product_tty", "comment": null}, "clinical_product_component_rxcui": {"type": "character varying(8)", "index": 4, "name": "clinical_product_component_rxcui", "comment": null}, "clinical_product_component_name": {"type": "text", "index": 5, "name": "clinical_product_component_name", "comment": null}, "clinical_product_component_tty": {"type": "character varying(20)", "index": 6, "name": "clinical_product_component_tty", "comment": null}, "dose_form_rxcui": {"type": "character varying(8)", "index": 7, "name": "dose_form_rxcui", "comment": null}, "dose_form_name": {"type": "text", "index": 8, "name": "dose_form_name", "comment": null}, "dose_form_tty": {"type": "character varying(20)", "index": 9, "name": "dose_form_tty", "comment": null}, "ingredient_rxcui": {"type": "character varying(8)", "index": 10, "name": "ingredient_rxcui", "comment": null}, "ingredient_name": {"type": "text", "index": 11, "name": "ingredient_name", "comment": null}, "ingredient_tty": {"type": "character varying(20)", "index": 12, "name": "ingredient_tty", "comment": null}, "ingredient_component_rxcui": {"type": "character varying(8)", "index": 13, "name": "ingredient_component_rxcui", "comment": null}, "ingredient_component_name": {"type": "text", "index": 14, "name": "ingredient_component_name", "comment": null}, "ingredient_component_tty": {"type": "character varying(20)", "index": 15, "name": "ingredient_component_tty", "comment": null}, "active": {"type": "boolean", "index": 16, "name": "active", "comment": null}, "prescribable": {"type": "boolean", "index": 17, "name": "prescribable", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.int_rxnorm_clinical_products_to_ingredient_components"}, "model.sagerx.int_rxnorm_clinical_products_to_ingredient_strengths": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_dev", "name": "int_rxnorm_clinical_products_to_ingredient_strengths", "database": "sagerx", "comment": "RxNorm clinical products to ingredient strengths.", "owner": "sagerx"}, "columns": {"clinical_product_rxcui": {"type": "character varying(8)", "index": 1, "name": "clinical_product_rxcui", "comment": null}, "clinical_product_name": {"type": "text", "index": 2, "name": "clinical_product_name", "comment": null}, "clinical_product_tty": {"type": "character varying(20)", "index": 3, "name": "clinical_product_tty", "comment": null}, "clinical_product_component_rxcui": {"type": "character varying(8)", "index": 4, "name": "clinical_product_component_rxcui", "comment": null}, "clinical_product_compnent_name": {"type": "text", "index": 5, "name": "clinical_product_compnent_name", "comment": null}, "clinical_product_component_tty": {"type": "character varying(20)", "index": 6, "name": "clinical_product_component_tty", "comment": null}, "dose_form_rxcui": {"type": "character varying(8)", "index": 7, "name": "dose_form_rxcui", "comment": null}, "dose_form_name": {"type": "text", "index": 8, "name": "dose_form_name", "comment": null}, "dose_form_tty": {"type": "character varying(20)", "index": 9, "name": "dose_form_tty", "comment": null}, "ingredient_rxcui": {"type": "character varying(8)", "index": 10, "name": "ingredient_rxcui", "comment": null}, "ingredient_name": {"type": "text", "index": 11, "name": "ingredient_name", "comment": null}, "ingredient_tty": {"type": "character varying(20)", "index": 12, "name": "ingredient_tty", "comment": null}, "ingredient_component_rxcui": {"type": "character varying(8)", "index": 13, "name": "ingredient_component_rxcui", "comment": null}, "ingredient_component_name": {"type": "text", "index": 14, "name": "ingredient_component_name", "comment": null}, "ingredient_component_tty": {"type": "character varying(20)", "index": 15, "name": "ingredient_component_tty", "comment": null}, "ingredient_strength_rxcui": {"type": "character varying(8)", "index": 16, "name": "ingredient_strength_rxcui", "comment": null}, "ingredient_strength_name": {"type": "text", "index": 17, "name": "ingredient_strength_name", "comment": null}, "strength_numerator_value": {"type": "character varying(7000)", "index": 18, "name": "strength_numerator_value", "comment": null}, "strength_numerator_unit": {"type": "character varying(7000)", "index": 19, "name": "strength_numerator_unit", "comment": null}, "strength_denominator_value": {"type": "character varying(7000)", "index": 20, "name": "strength_denominator_value", "comment": null}, "strength_denominator_unit": {"type": "character varying(7000)", "index": 21, "name": "strength_denominator_unit", "comment": null}, "strength_text": {"type": "character varying(7000)", "index": 22, "name": "strength_text", "comment": null}, "precise_ingredient_rxcui": {"type": "character varying(8)", "index": 23, "name": "precise_ingredient_rxcui", "comment": null}, "precise_ingredient_name": {"type": "text", "index": 24, "name": "precise_ingredient_name", "comment": null}, "precise_ingredient_tty": {"type": "character varying(20)", "index": 25, "name": "precise_ingredient_tty", "comment": null}, "active": {"type": "boolean", "index": 26, "name": "active", "comment": null}, "prescribable": {"type": "boolean", "index": 27, "name": "prescribable", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.int_rxnorm_clinical_products_to_ingredient_strengths"}, "model.sagerx.int_rxnorm_clinical_products_to_ingredients": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_dev", "name": "int_rxnorm_clinical_products_to_ingredients", "database": "sagerx", "comment": "RxNorm clinical products to ingredients.", "owner": "sagerx"}, "columns": {"clinical_product_rxcui": {"type": "character varying(8)", "index": 1, "name": "clinical_product_rxcui", "comment": null}, "clinical_product_name": {"type": "text", "index": 2, "name": "clinical_product_name", "comment": null}, "clinical_product_tty": {"type": "character varying(20)", "index": 3, "name": "clinical_product_tty", "comment": null}, "clinical_product_component_rxcui": {"type": "text", "index": 4, "name": "clinical_product_component_rxcui", "comment": null}, "clinical_product_compnent_name": {"type": "text", "index": 5, "name": "clinical_product_compnent_name", "comment": null}, "clinical_product_component_tty": {"type": "text", "index": 6, "name": "clinical_product_component_tty", "comment": null}, "dose_form_rxcui": {"type": "text", "index": 7, "name": "dose_form_rxcui", "comment": null}, "dose_form_name": {"type": "text", "index": 8, "name": "dose_form_name", "comment": null}, "dose_form_tty": {"type": "text", "index": 9, "name": "dose_form_tty", "comment": null}, "ingredient_rxcui": {"type": "text", "index": 10, "name": "ingredient_rxcui", "comment": null}, "ingredient_name": {"type": "text", "index": 11, "name": "ingredient_name", "comment": null}, "ingredient_tty": {"type": "text", "index": 12, "name": "ingredient_tty", "comment": null}, "active": {"type": "boolean", "index": 13, "name": "active", "comment": null}, "prescribable": {"type": "boolean", "index": 14, "name": "prescribable", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.int_rxnorm_clinical_products_to_ingredients"}, "model.sagerx.int_rxnorm_clinical_products_to_ndcs": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_dev", "name": "int_rxnorm_clinical_products_to_ndcs", "database": "sagerx", "comment": "RxNorm clinical products to NDCs.", "owner": "sagerx"}, "columns": {"clinical_product_rxcui": {"type": "character varying(8)", "index": 1, "name": "clinical_product_rxcui", "comment": null}, "clinical_product_name": {"type": "text", "index": 2, "name": "clinical_product_name", "comment": null}, "clinical_product_tty": {"type": "character varying(20)", "index": 3, "name": "clinical_product_tty", "comment": null}, "clinical_product_component_rxcui": {"type": "character varying(8)", "index": 4, "name": "clinical_product_component_rxcui", "comment": null}, "clinical_product_compnent_name": {"type": "text", "index": 5, "name": "clinical_product_compnent_name", "comment": null}, "clinical_product_component_tty": {"type": "character varying(20)", "index": 6, "name": "clinical_product_component_tty", "comment": null}, "dose_form_rxcui": {"type": "character varying(8)", "index": 7, "name": "dose_form_rxcui", "comment": null}, "dose_form_name": {"type": "text", "index": 8, "name": "dose_form_name", "comment": null}, "dose_form_tty": {"type": "character varying(20)", "index": 9, "name": "dose_form_tty", "comment": null}, "ingredient_rxcui": {"type": "character varying(8)", "index": 10, "name": "ingredient_rxcui", "comment": null}, "ingredient_name": {"type": "text", "index": 11, "name": "ingredient_name", "comment": null}, "ingredient_tty": {"type": "character varying(20)", "index": 12, "name": "ingredient_tty", "comment": null}, "brand_product_rxcui": {"type": "character varying", "index": 13, "name": "brand_product_rxcui", "comment": null}, "ndc": {"type": "character varying(7000)", "index": 14, "name": "ndc", "comment": null}, "active": {"type": "boolean", "index": 15, "name": "active", "comment": null}, "prescribable": {"type": "boolean", "index": 16, "name": "prescribable", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.int_rxnorm_clinical_products_to_ndcs"}, "model.sagerx.int_rxnorm_ndcs_to_products": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_dev", "name": "int_rxnorm_ndcs_to_products", "database": "sagerx", "comment": "RxNorm NDCs to products. Will return brand product if NDC is brand name, or generic product if NDC is generic.", "owner": "sagerx"}, "columns": {"ndc": {"type": "character varying(7000)", "index": 1, "name": "ndc", "comment": null}, "product_rxcui": {"type": "character varying(8)", "index": 2, "name": "product_rxcui", "comment": null}, "product_name": {"type": "text", "index": 3, "name": "product_name", "comment": null}, "product_tty": {"type": "character varying(20)", "index": 4, "name": "product_tty", "comment": null}, "clinical_product_rxcui": {"type": "character varying(8)", "index": 5, "name": "clinical_product_rxcui", "comment": null}, "clinical_product_name": {"type": "text", "index": 6, "name": "clinical_product_name", "comment": null}, "clinical_product_tty": {"type": "character varying(20)", "index": 7, "name": "clinical_product_tty", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.int_rxnorm_ndcs_to_products"}, "model.sagerx.ndcs_to_label_images": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_dev", "name": "ndcs_to_label_images", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"set_id": {"type": "text", "index": 1, "name": "set_id", "comment": null}, "ndc": {"type": "text", "index": 2, "name": "ndc", "comment": null}, "ndc11": {"type": "text", "index": 3, "name": "ndc11", "comment": null}, "image_url": {"type": "text", "index": 4, "name": "image_url", "comment": null}, "image_file": {"type": "text", "index": 5, "name": "image_file", "comment": null}, "dailymed_spl_url": {"type": "text", "index": 6, "name": "dailymed_spl_url", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.ndcs_to_label_images"}, "model.sagerx.products": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_dev", "name": "products", "database": "sagerx", "comment": "Product information including name, RXCUI, brand vs generic, ingredient, and dose form.\n\nData generally comes from RxNorm.\n", "owner": "sagerx"}, "columns": {"product_rxcui": {"type": "character varying(8)", "index": 1, "name": "product_rxcui", "comment": "Product-level RxNorm RXCUI.\n"}, "product_name": {"type": "text", "index": 2, "name": "product_name", "comment": null}, "product_tty": {"type": "character varying(20)", "index": 3, "name": "product_tty", "comment": null}, "brand_vs_generic": {"type": "text", "index": 4, "name": "brand_vs_generic", "comment": "Simple (not comprehensive) brand vs generic flag.\n\nIf TTY = SBD or BPCK, this will be brand. \nIf TTY = SCD or GPCK, this will be generic.\n"}, "brand_name": {"type": "text", "index": 5, "name": "brand_name", "comment": null}, "clinical_product_rxcui": {"type": "character varying(8)", "index": 6, "name": "clinical_product_rxcui", "comment": null}, "clinical_product_name": {"type": "text", "index": 7, "name": "clinical_product_name", "comment": null}, "clinical_product_tty": {"type": "character varying(20)", "index": 8, "name": "clinical_product_tty", "comment": null}, "ingredient_name": {"type": "text", "index": 9, "name": "ingredient_name", "comment": null}, "dose_form_name": {"type": "text", "index": 10, "name": "dose_form_name", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.products"}, "model.sagerx.products_to_inactive_ingredients": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_dev", "name": "products_to_inactive_ingredients", "database": "sagerx", "comment": "DailyMed (MTHSPL) products (along with 9-digit NDCs), mapped to DailyMed\nsubstances, which are mapped to normalized FDA UNII display names.\n", "owner": "sagerx"}, "columns": {"ndc9": {"type": "text", "index": 1, "name": "ndc9", "comment": null}, "ndc": {"type": "character varying(50)", "index": 2, "name": "ndc", "comment": null}, "fda_unii_code": {"type": "text", "index": 3, "name": "fda_unii_code", "comment": null}, "fda_unii_display_name": {"type": "text", "index": 4, "name": "fda_unii_display_name", "comment": null}, "pubchem_id": {"type": "text", "index": 5, "name": "pubchem_id", "comment": "The ID for this compound in PubChem.\nUse this to generate a link to the PubChem detail page for this compound.\nExample: `concat('https://pubchem.ncbi.nlm.nih.gov/compound/', pubchem_id)`\nSodium Benzoate example: [https://pubchem.ncbi.nlm.nih.gov/compound/517055](https://pubchem.ncbi.nlm.nih.gov/compound/517055)\n"}, "preservative": {"type": "integer", "index": 6, "name": "preservative", "comment": null}, "product_rxcui": {"type": "character varying(8)", "index": 7, "name": "product_rxcui", "comment": null}, "product_name": {"type": "text", "index": 8, "name": "product_name", "comment": "NOTE: this field is aggregated and pipe-delimited (' | '). It appears\nas though the MTHSPL data in RxNorm can have multiple\nproduct names for a given RXCUI. Since we are mostly concerned\nwith NDC to UNII code, the names of the products as they\nexist in the MTHSPL SAB of RxNorm should be for quick reference\nand validation only.\n"}, "product_tty": {"type": "character varying(20)", "index": 9, "name": "product_tty", "comment": null}, "inactive_ingredient_unii": {"type": "character varying(50)", "index": 10, "name": "inactive_ingredient_unii", "comment": null}, "inactive_ingredient_rxcui": {"type": "character varying(8)", "index": 11, "name": "inactive_ingredient_rxcui", "comment": null}, "inactive_ingredient_name": {"type": "text", "index": 12, "name": "inactive_ingredient_name", "comment": "NOTE: this field is aggregated and pipe-delimited (' | '). It appears\nas though the MTHSPL data in RxNorm can have multiple\nsubstance names for a given RXCUI. Since we are mostly concerned\nwith NDC to UNII code, the names of the substances as they\nexist in the MTHSPL SAB of RxNorm should be for quick reference\nand validation only.\n"}, "inactive_ingredient_tty": {"type": "character varying(20)", "index": 13, "name": "inactive_ingredient_tty", "comment": null}, "active": {"type": "boolean", "index": 14, "name": "active", "comment": null}, "prescribable": {"type": "boolean", "index": 15, "name": "prescribable", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.products_to_inactive_ingredients"}, "model.sagerx.stg_ashp__current_drug_shortages": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_ashp__current_drug_shortages", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "name": {"type": "text", "index": 2, "name": "name", "comment": null}, "url": {"type": "text", "index": 3, "name": "url", "comment": null}, "shortage_reasons": {"type": "jsonb", "index": 4, "name": "shortage_reasons", "comment": null}, "resupply_dates": {"type": "jsonb", "index": 5, "name": "resupply_dates", "comment": null}, "alternatives_and_management": {"type": "jsonb", "index": 6, "name": "alternatives_and_management", "comment": null}, "care_implications": {"type": "jsonb", "index": 7, "name": "care_implications", "comment": null}, "safety_notices": {"type": "jsonb", "index": 8, "name": "safety_notices", "comment": null}, "created_date": {"type": "date", "index": 9, "name": "created_date", "comment": null}, "updated_date": {"type": "date", "index": 10, "name": "updated_date", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_ashp__current_drug_shortages"}, "model.sagerx.stg_ashp__current_drug_shortages_ndcs": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_ashp__current_drug_shortages_ndcs", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"id": {"type": "integer", "index": 1, "name": "id", "comment": null}, "ndc_11": {"type": "text", "index": 2, "name": "ndc_11", "comment": null}, "ndc_type": {"type": "text", "index": 3, "name": "ndc_type", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_ashp__current_drug_shortages_ndcs"}, "model.sagerx.stg_dailymed__interactions": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_dailymed__interactions", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"zip_file": {"type": "text", "index": 1, "name": "zip_file", "comment": null}, "document_id": {"type": "text", "index": 2, "name": "document_id", "comment": null}, "set_id": {"type": "text", "index": 3, "name": "set_id", "comment": null}, "version_number": {"type": "text", "index": 4, "name": "version_number", "comment": null}, "interaction_text": {"type": "text", "index": 5, "name": "interaction_text", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_dailymed__interactions"}, "model.sagerx.stg_dailymed__main": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_dailymed__main", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"zip_file": {"type": "text", "index": 1, "name": "zip_file", "comment": null}, "document_id": {"type": "text", "index": 2, "name": "document_id", "comment": null}, "set_id": {"type": "text", "index": 3, "name": "set_id", "comment": null}, "version_number": {"type": "text", "index": 4, "name": "version_number", "comment": null}, "effective_date": {"type": "text", "index": 5, "name": "effective_date", "comment": null}, "market_status": {"type": "text", "index": 6, "name": "market_status", "comment": null}, "application_number": {"type": "text", "index": 7, "name": "application_number", "comment": null}, "?column?": {"type": "text", "index": 8, "name": "?column?", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_dailymed__main"}, "model.sagerx.stg_dailymed__ndcs": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_dailymed__ndcs", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"zip_file": {"type": "text", "index": 1, "name": "zip_file", "comment": null}, "document_id": {"type": "text", "index": 2, "name": "document_id", "comment": null}, "set_id": {"type": "text", "index": 3, "name": "set_id", "comment": null}, "version_number": {"type": "text", "index": 4, "name": "version_number", "comment": null}, "ndc": {"type": "text", "index": 5, "name": "ndc", "comment": null}, "ndc11": {"type": "text", "index": 6, "name": "ndc11", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_dailymed__ndcs"}, "model.sagerx.stg_dailymed__organization_activities": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_dailymed__organization_activities", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"zip_file": {"type": "text", "index": 1, "name": "zip_file", "comment": null}, "document_id": {"type": "text", "index": 2, "name": "document_id", "comment": null}, "set_id": {"type": "text", "index": 3, "name": "set_id", "comment": null}, "version_number": {"type": "text", "index": 4, "name": "version_number", "comment": null}, "dun": {"type": "text", "index": 5, "name": "dun", "comment": null}, "activity": {"type": "text", "index": 6, "name": "activity", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_dailymed__organization_activities"}, "model.sagerx.stg_dailymed__organization_items": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_dailymed__organization_items", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"zip_file": {"type": "text", "index": 1, "name": "zip_file", "comment": null}, "document_id": {"type": "text", "index": 2, "name": "document_id", "comment": null}, "set_id": {"type": "text", "index": 3, "name": "set_id", "comment": null}, "version_number": {"type": "text", "index": 4, "name": "version_number", "comment": null}, "dun": {"type": "text", "index": 5, "name": "dun", "comment": null}, "activity": {"type": "text", "index": 6, "name": "activity", "comment": null}, "item": {"type": "text", "index": 7, "name": "item", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_dailymed__organization_items"}, "model.sagerx.stg_dailymed__organization_texts": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_dailymed__organization_texts", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"zip_file": {"type": "text", "index": 1, "name": "zip_file", "comment": null}, "document_id": {"type": "text", "index": 2, "name": "document_id", "comment": null}, "set_id": {"type": "text", "index": 3, "name": "set_id", "comment": null}, "version_number": {"type": "text", "index": 4, "name": "version_number", "comment": null}, "organization_text": {"type": "text", "index": 5, "name": "organization_text", "comment": null}, "row_num": {"type": "bigint", "index": 6, "name": "row_num", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_dailymed__organization_texts"}, "model.sagerx.stg_dailymed__organizations": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_dailymed__organizations", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"zip_file": {"type": "text", "index": 1, "name": "zip_file", "comment": null}, "document_id": {"type": "text", "index": 2, "name": "document_id", "comment": null}, "set_id": {"type": "text", "index": 3, "name": "set_id", "comment": null}, "version_number": {"type": "text", "index": 4, "name": "version_number", "comment": null}, "dun": {"type": "text", "index": 5, "name": "dun", "comment": null}, "org_name": {"type": "text", "index": 6, "name": "org_name", "comment": null}, "org_type": {"type": "text", "index": 7, "name": "org_type", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_dailymed__organizations"}, "model.sagerx.stg_dailymed__package_label_section_images": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_dailymed__package_label_section_images", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "set_id": {"type": "text", "index": 2, "name": "set_id", "comment": null}, "package_label_section_id": {"type": "text", "index": 3, "name": "package_label_section_id", "comment": null}, "image": {"type": "text", "index": 4, "name": "image", "comment": null}, "image_id": {"type": "text", "index": 5, "name": "image_id", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_dailymed__package_label_section_images"}, "model.sagerx.stg_dailymed__package_label_section_ndcs": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_dailymed__package_label_section_ndcs", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"id": {"type": "bigint", "index": 1, "name": "id", "comment": null}, "set_id": {"type": "text", "index": 2, "name": "set_id", "comment": null}, "package_label_section_id": {"type": "text", "index": 3, "name": "package_label_section_id", "comment": null}, "ndc": {"type": "text", "index": 4, "name": "ndc", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_dailymed__package_label_section_ndcs"}, "model.sagerx.stg_dailymed__package_label_sections": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_dailymed__package_label_sections", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"zip_file": {"type": "text", "index": 1, "name": "zip_file", "comment": null}, "document_id": {"type": "text", "index": 2, "name": "document_id", "comment": null}, "set_id": {"type": "text", "index": 3, "name": "set_id", "comment": null}, "version_number": {"type": "text", "index": 4, "name": "version_number", "comment": null}, "id": {"type": "text", "index": 5, "name": "id", "comment": null}, "text": {"type": "text", "index": 6, "name": "text", "comment": null}, "media_list": {"type": "xml", "index": 7, "name": "media_list", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_dailymed__package_label_sections"}, "model.sagerx.stg_fda_excluded__classes": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_fda_excluded__classes", "database": "sagerx", "comment": "Product-level class information", "owner": "sagerx"}, "columns": {"productid": {"type": "text", "index": 1, "name": "productid", "comment": null}, "class_line": {"type": "bigint", "index": 2, "name": "class_line", "comment": "Product can have multiple classes. This is the line number of the class."}, "class_name": {"type": "text", "index": 3, "name": "class_name", "comment": "Name of the pharmaceutical class."}, "class_type": {"type": "text", "index": 4, "name": "class_type", "comment": "Options include Chemical/Ingredient, EXT, PE, MoA, CS, and EPC."}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_fda_excluded__classes"}, "model.sagerx.stg_fda_excluded__ndcs": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_fda_excluded__ndcs", "database": "sagerx", "comment": "FDA excluded NDCs", "owner": "sagerx"}, "columns": {"ndc11": {"type": "text", "index": 1, "name": "ndc11", "comment": "The ndcpackagecode field, normalized to a NDC11 format."}, "productid": {"type": "text", "index": 2, "name": "productid", "comment": "ProductID is a concatenation of the NDCproduct code and SPL documentID. It is included to help prevent duplicate rows from appearing when joining the product and package files together. It has no regulatory value or significance."}, "productndc": {"type": "text", "index": 3, "name": "productndc", "comment": "The labeler code and product code segments of the National Drug Code number, separated by a hyphen. Asterisks are no longer used or included within the product code segment to indicate certain configurations of the NDC. www.fda.gov/edrls under Structured Product Labeling Resources."}, "producttypename": {"type": "text", "index": 4, "name": "producttypename", "comment": "Indicates the type of product, such as Human Prescription Drug or Human OTC Drug. This data element corresponds to the Document Type of the SPL submission for the listing."}, "proprietaryname": {"type": "text", "index": 5, "name": "proprietaryname", "comment": "Also known as the trade name. It is the name of the product chosen by the labeler."}, "proprietarynamesuffix": {"type": "text", "index": 6, "name": "proprietarynamesuffix", "comment": "A suffix to the proprietary name, a value here should be appended to the ProprietaryName field to obtain the complete name of the product. This suffix is often used to distinguish characteristics of a product such as extended release (XR) or sleep aid (PM). Although many companies follow certain naming conventions for suffices, there is no recognized standard"}, "nonproprietaryname": {"type": "text", "index": 7, "name": "nonproprietaryname", "comment": "Sometimes called the generic name, this is usually the active ingredient(s) of the product."}, "dosageformname": {"type": "text", "index": 8, "name": "dosageformname", "comment": "The translation of the DosageForm Code submitted by the firm. The complete list of codes and translations can be found www.fda.gov/edrls under Structured Product Labeling Resources."}, "routename": {"type": "text", "index": 9, "name": "routename", "comment": "The translation of the Route Code submitted by the firm, indicating route of administration. The complete list of codes and translations can be found at www.fda.gov/edrls under Structured Product Labeling Resources."}, "product_startmarketingdate": {"type": "text", "index": 10, "name": "product_startmarketingdate", "comment": "This is the date that the labeler indicates was the start of its marketing of the drug product."}, "product_endmarketingdate": {"type": "text", "index": 11, "name": "product_endmarketingdate", "comment": "This is the date the product will no longer be available on the market. If a product is no longer being manufactured, in most cases, the FDA recommends firms use the expiration date of the last lot produced as the EndMarketingDate, to reflect the potential for drug product to remain available after manufacturing has ceased. Products that are the subject of ongoing manufacturing will not ordinarily have any EndMarketingDate. Products with a value in the EndMarketingDate will be removed from the NDC Directory when the EndMarketingDate is reached."}, "marketingcategoryname": {"type": "text", "index": 12, "name": "marketingcategoryname", "comment": "Product types are broken down into several potential Marketing Categories, such as NDA/ANDA/BLA, OTC Monograph, or Unapproved Drug. One and only one Marketing Category may be chosen for a product, not all marketing categories are available to all product types. Currently, only final marketed product categories are included. The complete list of codes and translations can be found at www.fda.gov/edrls under Structured Product Labeling Resources."}, "applicationnumber": {"type": "text", "index": 13, "name": "applicationnumber", "comment": "This corresponds to the NDA, ANDA, or BLA number reported by the labeler for products which have the corresponding Marketing Category designated. If the designated Marketing Category is OTC Monograph Final or OTC Monograph Not Final, then the Application number will be the CFR citation corresponding to the appropriate Monograph (e.g. \u201cpart 341\u201d). For unapproved drugs, this field will be null."}, "labelername": {"type": "text", "index": 14, "name": "labelername", "comment": "Name of Company corresponding to the labeler code segment of the ProductNDC."}, "substancename": {"type": "text", "index": 15, "name": "substancename", "comment": "This is the active ingredient list. Each ingredient name is the preferred term of the UNII code submitted."}, "active_numerator_strength": {"type": "text", "index": 16, "name": "active_numerator_strength", "comment": "These are the strength values (to be used with units below) of each active ingredient, listed in the same order as the SubstanceName field above."}, "active_ingred_unit": {"type": "text", "index": 17, "name": "active_ingred_unit", "comment": "These are the units to be used with the strength values above, listed in the same order as the SubstanceName and SubstanceNumber (ActiveNumeratorStrength)."}, "pharm_classes": {"type": "text", "index": 18, "name": "pharm_classes", "comment": "These are the reported pharmacological class categories corresponding to the SubstanceNames listed above."}, "deaschedule": {"type": "text", "index": 19, "name": "deaschedule", "comment": "This is the assigned DEA Schedule number as reported by the labeler. Values are CI, CII, CIII, CIV, and CV."}, "product_ndc_exclude_flag": {"type": "text", "index": 20, "name": "product_ndc_exclude_flag", "comment": "Values = Y, N, E, or I. This indicates whether the product has been removed/excluded from the NDC Directory for failure to respond to FDA's requests for correction to deficient or non-compliant submissions (Y), or because the listing certification is expired (E), or because the listing data was inactivated by FDA (I). The PRODUCT.XLS and PRODUCT.TXT files only contain listing records where NDC_EXCLUDE_FLAG=N. The PRODUCTS_EXCLUDED.XLS and PRODUCTS_EXCLUDED.TXT file contains all listing records with an NDC_EXCLUDE_FLAG of Y, E, and I."}, "listing_record_certified_through": {"type": "text", "index": 21, "name": "listing_record_certified_through", "comment": "This is the date when the listing record will expire if not updated or certified by the firm."}, "ndcpackagecode": {"type": "text", "index": 22, "name": "ndcpackagecode", "comment": "The labeler code, product code, and package code segments of the National Drug Code number, separated by hyphens. Asterisks are no longer used or included within the product and package code segments to indicate certain configurations of the NDC."}, "packagedescription": {"type": "text", "index": 23, "name": "packagedescription", "comment": "A description of the size and type of packaging in sentence form. Multilevel packages will have the descriptions concatenated together. For example: 4 BOTTLES in 1 CARTON/100 TABLETS in 1 BOTTLE."}, "package_startmarketingdate": {"type": "text", "index": 24, "name": "package_startmarketingdate", "comment": "This is the date that the labeler indicates was the start of its marketing of the drug product."}, "package_endmarketingdate": {"type": "text", "index": 25, "name": "package_endmarketingdate", "comment": "This is the date the product will no longer be available on the market. If a product is no longer being manufactured, in most cases, the FDA recommends firms use the expiration date of the last lot produced as the EndMarketingDate, to reflect the potential for drug product to remain available after manufacturing has ceased. Products that are the subject of ongoing manufacturing will not ordinarily have any EndMarketingDate. Products with a value in the EndMarketingDate will be removed from the NDC Directory when the EndMarketingDate is reached."}, "package_ndc_exclude_flag": {"type": "text", "index": 26, "name": "package_ndc_exclude_flag", "comment": "Values = Y, N, E, or I. This indicates whether the PACKAGE has been removed/excluded from the NDC Directory for failure to respond to FDAs requests for correction to deficient or non-compliant submissions (Y), or because the listing certification is expired (E), or because the listing data was inactivated by FDA (I). The PACKAGE.XLS and PACKAGE.TXT files only contain listing records where NDC_EXCLUDE_FLAG=N. The PACKAGES_EXCLUDED.XLS and PACKAGES_EXCLUDED.TXT file contains all listing records with an NDC_EXCLUDE_FLAG of Y, E, and I."}, "sample_package": {"type": "text", "index": 27, "name": "sample_package", "comment": "This indicates if the package is to be distributed as a sample package. Values = Y or N."}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_fda_excluded__ndcs"}, "model.sagerx.stg_fda_excluded__substances": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_fda_excluded__substances", "database": "sagerx", "comment": "Product-level substance information", "owner": "sagerx"}, "columns": {"productid": {"type": "text", "index": 1, "name": "productid", "comment": null}, "substance_line": {"type": "bigint", "index": 2, "name": "substance_line", "comment": null}, "substancename": {"type": "text", "index": 3, "name": "substancename", "comment": null}, "active_numerator_strength": {"type": "text", "index": 4, "name": "active_numerator_strength", "comment": null}, "active_ingred_unit": {"type": "text", "index": 5, "name": "active_ingred_unit", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_fda_excluded__substances"}, "model.sagerx.stg_fda_ndc__classes": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_fda_ndc__classes", "database": "sagerx", "comment": "Product-level class information", "owner": "sagerx"}, "columns": {"productid": {"type": "text", "index": 1, "name": "productid", "comment": null}, "class_line": {"type": "bigint", "index": 2, "name": "class_line", "comment": "Product can have multiple classes. This is the line number of the class."}, "class_name": {"type": "text", "index": 3, "name": "class_name", "comment": "Name of the pharmaceutical class."}, "class_type": {"type": "text", "index": 4, "name": "class_type", "comment": "Options include Chemical/Ingredient, EXT, PE, MoA, CS, and EPC."}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_fda_ndc__classes"}, "model.sagerx.stg_fda_ndc__ndcs": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_fda_ndc__ndcs", "database": "sagerx", "comment": "FDA NDC Directory NDCs", "owner": "sagerx"}, "columns": {"ndc11": {"type": "text", "index": 1, "name": "ndc11", "comment": "The ndcpackagecode field, normalized to a NDC11 format."}, "productid": {"type": "text", "index": 2, "name": "productid", "comment": "ProductID is a concatenation of the NDCproduct code and SPL documentID. It is included to help prevent duplicate rows from appearing when joining the product and package files together. It has no regulatory value or significance."}, "productndc": {"type": "text", "index": 3, "name": "productndc", "comment": "The labeler code and product code segments of the National Drug Code number, separated by a hyphen. Asterisks are no longer used or included within the product code segment to indicate certain configurations of the NDC. www.fda.gov/edrls under Structured Product Labeling Resources."}, "producttypename": {"type": "text", "index": 4, "name": "producttypename", "comment": "Indicates the type of product, such as Human Prescription Drug or Human OTC Drug. This data element corresponds to the Document Type of the SPL submission for the listing."}, "proprietaryname": {"type": "text", "index": 5, "name": "proprietaryname", "comment": "Also known as the trade name. It is the name of the product chosen by the labeler."}, "proprietarynamesuffix": {"type": "text", "index": 6, "name": "proprietarynamesuffix", "comment": "A suffix to the proprietary name, a value here should be appended to the ProprietaryName field to obtain the complete name of the product. This suffix is often used to distinguish characteristics of a product such as extended release (XR) or sleep aid (PM). Although many companies follow certain naming conventions for suffices, there is no recognized standard"}, "nonproprietaryname": {"type": "text", "index": 7, "name": "nonproprietaryname", "comment": "Sometimes called the generic name, this is usually the active ingredient(s) of the product."}, "dosageformname": {"type": "text", "index": 8, "name": "dosageformname", "comment": "The translation of the DosageForm Code submitted by the firm. The complete list of codes and translations can be found www.fda.gov/edrls under Structured Product Labeling Resources."}, "routename": {"type": "text", "index": 9, "name": "routename", "comment": "The translation of the Route Code submitted by the firm, indicating route of administration. The complete list of codes and translations can be found at www.fda.gov/edrls under Structured Product Labeling Resources."}, "product_startmarketingdate": {"type": "text", "index": 10, "name": "product_startmarketingdate", "comment": "This is the date that the labeler indicates was the start of its marketing of the drug product."}, "product_endmarketingdate": {"type": "text", "index": 11, "name": "product_endmarketingdate", "comment": "This is the date the product will no longer be available on the market. If a product is no longer being manufactured, in most cases, the FDA recommends firms use the expiration date of the last lot produced as the EndMarketingDate, to reflect the potential for drug product to remain available after manufacturing has ceased. Products that are the subject of ongoing manufacturing will not ordinarily have any EndMarketingDate. Products with a value in the EndMarketingDate will be removed from the NDC Directory when the EndMarketingDate is reached."}, "marketingcategoryname": {"type": "text", "index": 12, "name": "marketingcategoryname", "comment": "Product types are broken down into several potential Marketing Categories, such as NDA/ANDA/BLA, OTC Monograph, or Unapproved Drug. One and only one Marketing Category may be chosen for a product, not all marketing categories are available to all product types. Currently, only final marketed product categories are included. The complete list of codes and translations can be found at www.fda.gov/edrls under Structured Product Labeling Resources."}, "applicationnumber": {"type": "text", "index": 13, "name": "applicationnumber", "comment": "This corresponds to the NDA, ANDA, or BLA number reported by the labeler for products which have the corresponding Marketing Category designated. If the designated Marketing Category is OTC Monograph Final or OTC Monograph Not Final, then the Application number will be the CFR citation corresponding to the appropriate Monograph (e.g. \u201cpart 341\u201d). For unapproved drugs, this field will be null."}, "labelername": {"type": "text", "index": 14, "name": "labelername", "comment": "Name of Company corresponding to the labeler code segment of the ProductNDC."}, "substancename": {"type": "text", "index": 15, "name": "substancename", "comment": "This is the active ingredient list. Each ingredient name is the preferred term of the UNII code submitted."}, "active_numerator_strength": {"type": "text", "index": 16, "name": "active_numerator_strength", "comment": "These are the strength values (to be used with units below) of each active ingredient, listed in the same order as the SubstanceName field above."}, "active_ingred_unit": {"type": "text", "index": 17, "name": "active_ingred_unit", "comment": "These are the units to be used with the strength values above, listed in the same order as the SubstanceName and SubstanceNumber (ActiveNumeratorStrength)."}, "pharm_classes": {"type": "text", "index": 18, "name": "pharm_classes", "comment": "These are the reported pharmacological class categories corresponding to the SubstanceNames listed above."}, "deaschedule": {"type": "text", "index": 19, "name": "deaschedule", "comment": "This is the assigned DEA Schedule number as reported by the labeler. Values are CI, CII, CIII, CIV, and CV."}, "product_ndc_exclude_flag": {"type": "text", "index": 20, "name": "product_ndc_exclude_flag", "comment": "Values = Y, N, E, or I. This indicates whether the product has been removed/excluded from the NDC Directory for failure to respond to FDA's requests for correction to deficient or non-compliant submissions (Y), or because the listing certification is expired (E), or because the listing data was inactivated by FDA (I). The PRODUCT.XLS and PRODUCT.TXT files only contain listing records where NDC_EXCLUDE_FLAG=N. The PRODUCTS_EXCLUDED.XLS and PRODUCTS_EXCLUDED.TXT file contains all listing records with an NDC_EXCLUDE_FLAG of Y, E, and I."}, "listing_record_certified_through": {"type": "text", "index": 21, "name": "listing_record_certified_through", "comment": "This is the date when the listing record will expire if not updated or certified by the firm."}, "ndcpackagecode": {"type": "text", "index": 22, "name": "ndcpackagecode", "comment": "The labeler code, product code, and package code segments of the National Drug Code number, separated by hyphens. Asterisks are no longer used or included within the product and package code segments to indicate certain configurations of the NDC."}, "packagedescription": {"type": "text", "index": 23, "name": "packagedescription", "comment": "A description of the size and type of packaging in sentence form. Multilevel packages will have the descriptions concatenated together. For example: 4 BOTTLES in 1 CARTON/100 TABLETS in 1 BOTTLE."}, "package_startmarketingdate": {"type": "text", "index": 24, "name": "package_startmarketingdate", "comment": "This is the date that the labeler indicates was the start of its marketing of the drug product."}, "package_endmarketingdate": {"type": "text", "index": 25, "name": "package_endmarketingdate", "comment": "This is the date the product will no longer be available on the market. If a product is no longer being manufactured, in most cases, the FDA recommends firms use the expiration date of the last lot produced as the EndMarketingDate, to reflect the potential for drug product to remain available after manufacturing has ceased. Products that are the subject of ongoing manufacturing will not ordinarily have any EndMarketingDate. Products with a value in the EndMarketingDate will be removed from the NDC Directory when the EndMarketingDate is reached."}, "package_ndc_exclude_flag": {"type": "text", "index": 26, "name": "package_ndc_exclude_flag", "comment": "Values = Y, N, E, or I. This indicates whether the PACKAGE has been removed/excluded from the NDC Directory for failure to respond to FDAs requests for correction to deficient or non-compliant submissions (Y), or because the listing certification is expired (E), or because the listing data was inactivated by FDA (I). The PACKAGE.XLS and PACKAGE.TXT files only contain listing records where NDC_EXCLUDE_FLAG=N. The PACKAGES_EXCLUDED.XLS and PACKAGES_EXCLUDED.TXT file contains all listing records with an NDC_EXCLUDE_FLAG of Y, E, and I."}, "sample_package": {"type": "text", "index": 27, "name": "sample_package", "comment": "This indicates if the package is to be distributed as a sample package. Values = Y or N."}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_fda_ndc__ndcs"}, "model.sagerx.stg_fda_ndc__substances": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_fda_ndc__substances", "database": "sagerx", "comment": "Product-level substance information", "owner": "sagerx"}, "columns": {"productid": {"type": "text", "index": 1, "name": "productid", "comment": null}, "substance_line": {"type": "bigint", "index": 2, "name": "substance_line", "comment": null}, "substancename": {"type": "text", "index": 3, "name": "substancename", "comment": null}, "active_numerator_strength": {"type": "text", "index": 4, "name": "active_numerator_strength", "comment": null}, "active_ingred_unit": {"type": "text", "index": 5, "name": "active_ingred_unit", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_fda_ndc__substances"}, "model.sagerx.stg_fda_unfinished__ndcs": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_fda_unfinished__ndcs", "database": "sagerx", "comment": "FDA unfinished NDCs", "owner": "sagerx"}, "columns": {"ndc11": {"type": "text", "index": 1, "name": "ndc11", "comment": "The ndcpackagecode field, normalized to a NDC11 format."}, "productid": {"type": "text", "index": 2, "name": "productid", "comment": "ProductID is a concatenation of the NDCproduct code and SPL documentID. It is included to help prevent duplicate rows from appearing when joining the product and package files together. It has no regulatory value or significance."}, "productndc": {"type": "text", "index": 3, "name": "productndc", "comment": "The labeler code and product code segments of the National Drug Code number, separated by a hyphen. Asterisks are no longer used or included within the product code segment to indicate certain configurations of the NDC. www.fda.gov/edrls under Structured Product Labeling Resources."}, "producttypename": {"type": "text", "index": 4, "name": "producttypename", "comment": "Indicates the type of product, such as Human Prescription Drug or Human OTC Drug. This data element corresponds to the Document Type of the SPL submission for the listing."}, "nonproprietaryname": {"type": "text", "index": 5, "name": "nonproprietaryname", "comment": "Sometimes called the generic name, this is usually the active ingredient(s) of the product."}, "dosageformname": {"type": "text", "index": 6, "name": "dosageformname", "comment": "The translation of the DosageForm Code submitted by the firm. The complete list of codes and translations can be found www.fda.gov/edrls under Structured Product Labeling Resources."}, "product_startmarketingdate": {"type": "text", "index": 7, "name": "product_startmarketingdate", "comment": "This is the date that the labeler indicates was the start of its marketing of the drug product."}, "product_endmarketingdate": {"type": "text", "index": 8, "name": "product_endmarketingdate", "comment": "This is the date the product will no longer be available on the market. If a product is no longer being manufactured, in most cases, the FDA recommends firms use the expiration date of the last lot produced as the EndMarketingDate, to reflect the potential for drug product to remain available after manufacturing has ceased. Products that are the subject of ongoing manufacturing will not ordinarily have any EndMarketingDate. Products with a value in the EndMarketingDate will be removed from the NDC Directory when the EndMarketingDate is reached."}, "marketingcategoryname": {"type": "text", "index": 9, "name": "marketingcategoryname", "comment": "Product types are broken down into several potential Marketing Categories, such as NDA/ANDA/BLA, OTC Monograph, or Unapproved Drug. One and only one Marketing Category may be chosen for a product, not all marketing categories are available to all product types. Currently, only final marketed product categories are included. The complete list of codes and translations can be found at www.fda.gov/edrls under Structured Product Labeling Resources."}, "labelername": {"type": "text", "index": 10, "name": "labelername", "comment": "Name of Company corresponding to the labeler code segment of the ProductNDC."}, "substancename": {"type": "text", "index": 11, "name": "substancename", "comment": "This is the active ingredient list. Each ingredient name is the preferred term of the UNII code submitted."}, "active_numerator_strength": {"type": "text", "index": 12, "name": "active_numerator_strength", "comment": "These are the strength values (to be used with units below) of each active ingredient, listed in the same order as the SubstanceName field above."}, "active_ingred_unit": {"type": "text", "index": 13, "name": "active_ingred_unit", "comment": "These are the units to be used with the strength values above, listed in the same order as the SubstanceName and SubstanceNumber (ActiveNumeratorStrength)."}, "deaschedule": {"type": "text", "index": 14, "name": "deaschedule", "comment": "This is the assigned DEA Schedule number as reported by the labeler. Values are CI, CII, CIII, CIV, and CV."}, "listing_record_certified_through": {"type": "text", "index": 15, "name": "listing_record_certified_through", "comment": "This is the date when the listing record will expire if not updated or certified by the firm."}, "ndcpackagecode": {"type": "text", "index": 16, "name": "ndcpackagecode", "comment": "The labeler code, product code, and package code segments of the National Drug Code number, separated by hyphens. Asterisks are no longer used or included within the product and package code segments to indicate certain configurations of the NDC."}, "packagedescription": {"type": "text", "index": 17, "name": "packagedescription", "comment": "A description of the size and type of packaging in sentence form. Multilevel packages will have the descriptions concatenated together. For example: 4 BOTTLES in 1 CARTON/100 TABLETS in 1 BOTTLE."}, "package_startmarketingdate": {"type": "text", "index": 18, "name": "package_startmarketingdate", "comment": "This is the date that the labeler indicates was the start of its marketing of the drug product."}, "package_endmarketingdate": {"type": "text", "index": 19, "name": "package_endmarketingdate", "comment": "This is the date the product will no longer be available on the market. If a product is no longer being manufactured, in most cases, the FDA recommends firms use the expiration date of the last lot produced as the EndMarketingDate, to reflect the potential for drug product to remain available after manufacturing has ceased. Products that are the subject of ongoing manufacturing will not ordinarily have any EndMarketingDate. Products with a value in the EndMarketingDate will be removed from the NDC Directory when the EndMarketingDate is reached."}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_fda_unfinished__ndcs"}, "model.sagerx.stg_fda_unfinished__substances": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_fda_unfinished__substances", "database": "sagerx", "comment": "Product-level substance information", "owner": "sagerx"}, "columns": {"productid": {"type": "text", "index": 1, "name": "productid", "comment": null}, "substance_line": {"type": "bigint", "index": 2, "name": "substance_line", "comment": null}, "substancename": {"type": "text", "index": 3, "name": "substancename", "comment": null}, "active_numerator_strength": {"type": "text", "index": 4, "name": "active_numerator_strength", "comment": null}, "active_ingred_unit": {"type": "text", "index": 5, "name": "active_ingred_unit", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_fda_unfinished__substances"}, "model.sagerx.stg_fda_unii__unii_codes": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_fda_unii__unii_codes", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"unii": {"type": "text", "index": 1, "name": "unii", "comment": null}, "display_name": {"type": "text", "index": 2, "name": "display_name", "comment": null}, "rxcui": {"type": "text", "index": 3, "name": "rxcui", "comment": null}, "pubchem": {"type": "text", "index": 4, "name": "pubchem", "comment": null}, "rn": {"type": "text", "index": 5, "name": "rn", "comment": null}, "ncit": {"type": "text", "index": 6, "name": "ncit", "comment": null}, "ncbi": {"type": "text", "index": 7, "name": "ncbi", "comment": null}, "dailymed": {"type": "text", "index": 8, "name": "dailymed", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_fda_unii__unii_codes"}, "model.sagerx.stg_rxclass__atc_codes_to_rxnorm_product_rxcuis": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxclass__atc_codes_to_rxnorm_product_rxcuis", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"rxcui": {"type": "text", "index": 1, "name": "rxcui", "comment": null}, "class_id": {"type": "text", "index": 2, "name": "class_id", "comment": null}, "class_name": {"type": "text", "index": 3, "name": "class_name", "comment": null}, "class_type": {"type": "text", "index": 4, "name": "class_type", "comment": null}, "drug_name": {"type": "text", "index": 5, "name": "drug_name", "comment": null}, "drug_tty": {"type": "text", "index": 6, "name": "drug_tty", "comment": null}, "rela": {"type": "text", "index": 7, "name": "rela", "comment": null}, "rela_source": {"type": "text", "index": 8, "name": "rela_source", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxclass__atc_codes_to_rxnorm_product_rxcuis"}, "model.sagerx.stg_rxnorm__all_ndcs": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxnorm__all_ndcs", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"ndc11": {"type": "character varying", "index": 1, "name": "ndc11", "comment": null}, "ndc": {"type": "character varying(7000)", "index": 2, "name": "ndc", "comment": null}, "rxcui": {"type": "character varying(8)", "index": 3, "name": "rxcui", "comment": null}, "sab": {"type": "character varying(20)", "index": 4, "name": "sab", "comment": null}, "active": {"type": "boolean", "index": 5, "name": "active", "comment": null}, "prescribable": {"type": "boolean", "index": 6, "name": "prescribable", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxnorm__all_ndcs"}, "model.sagerx.stg_rxnorm__atc_codes": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxnorm__atc_codes", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"atc_1_code": {"type": "character varying(50)", "index": 1, "name": "atc_1_code", "comment": null}, "atc_1_name": {"type": "text", "index": 2, "name": "atc_1_name", "comment": null}, "atc_2_code": {"type": "character varying(50)", "index": 3, "name": "atc_2_code", "comment": null}, "atc_2_name": {"type": "text", "index": 4, "name": "atc_2_name", "comment": null}, "atc_3_code": {"type": "character varying(50)", "index": 5, "name": "atc_3_code", "comment": null}, "atc_3_name": {"type": "text", "index": 6, "name": "atc_3_name", "comment": null}, "atc_4_code": {"type": "character varying(50)", "index": 7, "name": "atc_4_code", "comment": null}, "atc_4_name": {"type": "text", "index": 8, "name": "atc_4_name", "comment": null}, "atc_5_code": {"type": "character varying(50)", "index": 9, "name": "atc_5_code", "comment": null}, "atc_5_name": {"type": "text", "index": 10, "name": "atc_5_name", "comment": null}, "ingredient_rxcui": {"type": "character varying(8)", "index": 11, "name": "ingredient_rxcui", "comment": null}, "ingredient_name": {"type": "text", "index": 12, "name": "ingredient_name", "comment": null}, "ingredient_tty": {"type": "character varying(20)", "index": 13, "name": "ingredient_tty", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxnorm__atc_codes"}, "model.sagerx.stg_rxnorm__brand_product_component_links": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxnorm__brand_product_component_links", "database": "sagerx", "comment": "Links brand products (SBD/BPCK) with brand product components (mostly SBD, but BPCKs can also contain SCD).", "owner": "sagerx"}, "columns": {"brand_product_rxcui": {"type": "character varying(8)", "index": 1, "name": "brand_product_rxcui", "comment": null}, "brand_product_component_rxcui": {"type": "character varying(8)", "index": 2, "name": "brand_product_component_rxcui", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxnorm__brand_product_component_links"}, "model.sagerx.stg_rxnorm__brand_product_components": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxnorm__brand_product_components", "database": "sagerx", "comment": "RxNorm brand product components (mostly SBD, but BPCKs can also contain SCD).", "owner": "sagerx"}, "columns": {"rxcui": {"type": "character varying(8)", "index": 1, "name": "rxcui", "comment": null}, "name": {"type": "text", "index": 2, "name": "name", "comment": null}, "tty": {"type": "character varying(20)", "index": 3, "name": "tty", "comment": null}, "clinical_product_component_rxcui": {"type": "character varying(8)", "index": 4, "name": "clinical_product_component_rxcui", "comment": null}, "brand_rxcui": {"type": "character varying(8)", "index": 5, "name": "brand_rxcui", "comment": "NOTE: brand_product_component SCDs will have NULL for brand_rxcui."}, "active": {"type": "boolean", "index": 6, "name": "active", "comment": null}, "prescribable": {"type": "boolean", "index": 7, "name": "prescribable", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxnorm__brand_product_components"}, "model.sagerx.stg_rxnorm__brand_products": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxnorm__brand_products", "database": "sagerx", "comment": "RxNorm brand name products (SBD/BPCK).", "owner": "sagerx"}, "columns": {"rxcui": {"type": "character varying(8)", "index": 1, "name": "rxcui", "comment": null}, "name": {"type": "text", "index": 2, "name": "name", "comment": null}, "tty": {"type": "character varying(20)", "index": 3, "name": "tty", "comment": null}, "clinical_product_rxcui": {"type": "character varying(8)", "index": 4, "name": "clinical_product_rxcui", "comment": null}, "active": {"type": "boolean", "index": 5, "name": "active", "comment": null}, "prescribable": {"type": "boolean", "index": 6, "name": "prescribable", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxnorm__brand_products"}, "model.sagerx.stg_rxnorm__brands": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxnorm__brands", "database": "sagerx", "comment": "RxNorm brand names (BN).", "owner": "sagerx"}, "columns": {"rxcui": {"type": "character varying(8)", "index": 1, "name": "rxcui", "comment": null}, "name": {"type": "text", "index": 2, "name": "name", "comment": null}, "tty": {"type": "character varying(20)", "index": 3, "name": "tty", "comment": null}, "active": {"type": "boolean", "index": 4, "name": "active", "comment": null}, "prescribable": {"type": "boolean", "index": 5, "name": "prescribable", "comment": null}, "ingredient_rxcui": {"type": "character varying(8)", "index": 6, "name": "ingredient_rxcui", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxnorm__brands"}, "model.sagerx.stg_rxnorm__clinical_product_component_links": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxnorm__clinical_product_component_links", "database": "sagerx", "comment": "Links clinical products (SCD/GPCK) with clinical product components (SCD only).", "owner": "sagerx"}, "columns": {"clinical_product_rxcui": {"type": "character varying(8)", "index": 1, "name": "clinical_product_rxcui", "comment": null}, "clinical_product_component_rxcui": {"type": "character varying(8)", "index": 2, "name": "clinical_product_component_rxcui", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxnorm__clinical_product_component_links"}, "model.sagerx.stg_rxnorm__clinical_product_components": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxnorm__clinical_product_components", "database": "sagerx", "comment": "RxNorm clinical product components (SCD).", "owner": "sagerx"}, "columns": {"rxcui": {"type": "character varying(8)", "index": 1, "name": "rxcui", "comment": null}, "name": {"type": "text", "index": 2, "name": "name", "comment": null}, "tty": {"type": "character varying(20)", "index": 3, "name": "tty", "comment": null}, "active": {"type": "boolean", "index": 4, "name": "active", "comment": null}, "prescribable": {"type": "boolean", "index": 5, "name": "prescribable", "comment": null}, "ingredient_rxcui": {"type": "character varying(8)", "index": 6, "name": "ingredient_rxcui", "comment": null}, "dose_form_rxcui": {"type": "character varying(8)", "index": 7, "name": "dose_form_rxcui", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxnorm__clinical_product_components"}, "model.sagerx.stg_rxnorm__clinical_products": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxnorm__clinical_products", "database": "sagerx", "comment": "RxNorm clinical products (SCD, GPCK).", "owner": "sagerx"}, "columns": {"rxcui": {"type": "character varying(8)", "index": 1, "name": "rxcui", "comment": null}, "name": {"type": "text", "index": 2, "name": "name", "comment": null}, "tty": {"type": "character varying(20)", "index": 3, "name": "tty", "comment": null}, "active": {"type": "boolean", "index": 4, "name": "active", "comment": null}, "prescribable": {"type": "boolean", "index": 5, "name": "prescribable", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxnorm__clinical_products"}, "model.sagerx.stg_rxnorm__dose_form_group_links": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxnorm__dose_form_group_links", "database": "sagerx", "comment": "Links dose forms (DF) to dose form groups (DFG).", "owner": "sagerx"}, "columns": {"dose_form_rxcui": {"type": "character varying(8)", "index": 1, "name": "dose_form_rxcui", "comment": null}, "dose_form_group_rxcui": {"type": "character varying(8)", "index": 2, "name": "dose_form_group_rxcui", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxnorm__dose_form_group_links"}, "model.sagerx.stg_rxnorm__dose_form_groups": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxnorm__dose_form_groups", "database": "sagerx", "comment": "RxNorm dose form groups (DFG).", "owner": "sagerx"}, "columns": {"rxcui": {"type": "character varying(8)", "index": 1, "name": "rxcui", "comment": null}, "name": {"type": "text", "index": 2, "name": "name", "comment": null}, "tty": {"type": "character varying(20)", "index": 3, "name": "tty", "comment": null}, "active": {"type": "boolean", "index": 4, "name": "active", "comment": null}, "prescribable": {"type": "boolean", "index": 5, "name": "prescribable", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxnorm__dose_form_groups"}, "model.sagerx.stg_rxnorm__dose_forms": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxnorm__dose_forms", "database": "sagerx", "comment": "RxNorm dose forms (DF).", "owner": "sagerx"}, "columns": {"rxcui": {"type": "character varying(8)", "index": 1, "name": "rxcui", "comment": null}, "name": {"type": "text", "index": 2, "name": "name", "comment": null}, "tty": {"type": "character varying(20)", "index": 3, "name": "tty", "comment": null}, "active": {"type": "boolean", "index": 4, "name": "active", "comment": null}, "prescribable": {"type": "boolean", "index": 5, "name": "prescribable", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxnorm__dose_forms"}, "model.sagerx.stg_rxnorm__ingredient_component_links": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxnorm__ingredient_component_links", "database": "sagerx", "comment": "Links ingredients (IN/MIN) to ingredient components (IN).", "owner": "sagerx"}, "columns": {"ingredient_rxcui": {"type": "character varying(8)", "index": 1, "name": "ingredient_rxcui", "comment": null}, "ingredient_component_rxcui": {"type": "character varying(8)", "index": 2, "name": "ingredient_component_rxcui", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxnorm__ingredient_component_links"}, "model.sagerx.stg_rxnorm__ingredient_components": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxnorm__ingredient_components", "database": "sagerx", "comment": "RxNorm ingredient components (IN).", "owner": "sagerx"}, "columns": {"rxcui": {"type": "character varying(8)", "index": 1, "name": "rxcui", "comment": null}, "name": {"type": "text", "index": 2, "name": "name", "comment": null}, "tty": {"type": "character varying(20)", "index": 3, "name": "tty", "comment": null}, "active": {"type": "boolean", "index": 4, "name": "active", "comment": null}, "prescribable": {"type": "boolean", "index": 5, "name": "prescribable", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxnorm__ingredient_components"}, "model.sagerx.stg_rxnorm__ingredient_strength_links": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxnorm__ingredient_strength_links", "database": "sagerx", "comment": "Links combination of clinical product components (SCD) + ingredient components (IN) to ingredient strengths.", "owner": "sagerx"}, "columns": {"clinical_product_component_rxcui": {"type": "character varying(8)", "index": 1, "name": "clinical_product_component_rxcui", "comment": null}, "ingredient_component_rxcui": {"type": "character varying(8)", "index": 2, "name": "ingredient_component_rxcui", "comment": null}, "ingredient_strength_rxcui": {"type": "character varying(8)", "index": 3, "name": "ingredient_strength_rxcui", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxnorm__ingredient_strength_links"}, "model.sagerx.stg_rxnorm__ingredient_strengths": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxnorm__ingredient_strengths", "database": "sagerx", "comment": "RxNorm ingredient strengths.", "owner": "sagerx"}, "columns": {"rxcui": {"type": "character varying(8)", "index": 1, "name": "rxcui", "comment": null}, "name": {"type": "text", "index": 2, "name": "name", "comment": null}, "numerator_value": {"type": "character varying(7000)", "index": 3, "name": "numerator_value", "comment": null}, "numerator_unit": {"type": "character varying(7000)", "index": 4, "name": "numerator_unit", "comment": null}, "denominator_value": {"type": "character varying(7000)", "index": 5, "name": "denominator_value", "comment": null}, "denominator_unit": {"type": "character varying(7000)", "index": 6, "name": "denominator_unit", "comment": null}, "text": {"type": "character varying(7000)", "index": 7, "name": "text", "comment": null}, "active": {"type": "boolean", "index": 8, "name": "active", "comment": null}, "prescribable": {"type": "boolean", "index": 9, "name": "prescribable", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxnorm__ingredient_strengths"}, "model.sagerx.stg_rxnorm__ingredients": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxnorm__ingredients", "database": "sagerx", "comment": "RxNorm ingredients (IN/MIN).", "owner": "sagerx"}, "columns": {"rxcui": {"type": "character varying(8)", "index": 1, "name": "rxcui", "comment": null}, "name": {"type": "text", "index": 2, "name": "name", "comment": null}, "tty": {"type": "character varying(20)", "index": 3, "name": "tty", "comment": null}, "active": {"type": "boolean", "index": 4, "name": "active", "comment": null}, "prescribable": {"type": "boolean", "index": 5, "name": "prescribable", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxnorm__ingredients"}, "model.sagerx.stg_rxnorm__mthspl_ndcs": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxnorm__mthspl_ndcs", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"ndc11": {"type": "character varying", "index": 1, "name": "ndc11", "comment": null}, "ndc": {"type": "character varying(7000)", "index": 2, "name": "ndc", "comment": null}, "rxcui": {"type": "character varying(8)", "index": 3, "name": "rxcui", "comment": null}, "active": {"type": "boolean", "index": 4, "name": "active", "comment": null}, "prescribable": {"type": "boolean", "index": 5, "name": "prescribable", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxnorm__mthspl_ndcs"}, "model.sagerx.stg_rxnorm__mthspl_products": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxnorm__mthspl_products", "database": "sagerx", "comment": "DailyMed SPL products (DP) at NDC9 level.", "owner": "sagerx"}, "columns": {"rxcui": {"type": "character varying(8)", "index": 1, "name": "rxcui", "comment": null}, "name": {"type": "text", "index": 2, "name": "name", "comment": null}, "tty": {"type": "character varying(20)", "index": 3, "name": "tty", "comment": null}, "rxaui": {"type": "character varying(8)", "index": 4, "name": "rxaui", "comment": null}, "ndc": {"type": "character varying(50)", "index": 5, "name": "ndc", "comment": null}, "active": {"type": "boolean", "index": 6, "name": "active", "comment": null}, "prescribable": {"type": "boolean", "index": 7, "name": "prescribable", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxnorm__mthspl_products"}, "model.sagerx.stg_rxnorm__mthspl_substances": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxnorm__mthspl_substances", "database": "sagerx", "comment": "DailyMed SPL substances (SU).", "owner": "sagerx"}, "columns": {"rxcui": {"type": "character varying(8)", "index": 1, "name": "rxcui", "comment": null}, "name": {"type": "text", "index": 2, "name": "name", "comment": null}, "tty": {"type": "character varying(20)", "index": 3, "name": "tty", "comment": null}, "rxaui": {"type": "character varying(8)", "index": 4, "name": "rxaui", "comment": null}, "unii": {"type": "character varying(50)", "index": 5, "name": "unii", "comment": null}, "active": {"type": "boolean", "index": 6, "name": "active", "comment": null}, "prescribable": {"type": "boolean", "index": 7, "name": "prescribable", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxnorm__mthspl_substances"}, "model.sagerx.stg_rxnorm__ndcs": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxnorm__ndcs", "database": "sagerx", "comment": "RxNorm NDCs", "owner": "sagerx"}, "columns": {"ndc": {"type": "character varying(7000)", "index": 1, "name": "ndc", "comment": "The NDC in NDC11 format."}, "clinical_product_rxcui": {"type": "character varying(8)", "index": 2, "name": "clinical_product_rxcui", "comment": null}, "brand_product_rxcui": {"type": "character varying", "index": 3, "name": "brand_product_rxcui", "comment": null}, "active": {"type": "boolean", "index": 4, "name": "active", "comment": null}, "prescribable": {"type": "boolean", "index": 5, "name": "prescribable", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxnorm__ndcs"}, "model.sagerx.stg_rxnorm__precise_ingredient_links": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxnorm__precise_ingredient_links", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"ingredient_strength_rxcui": {"type": "character varying(8)", "index": 1, "name": "ingredient_strength_rxcui", "comment": null}, "precise_ingredient_rxcui": {"type": "character varying(8)", "index": 2, "name": "precise_ingredient_rxcui", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxnorm__precise_ingredient_links"}, "model.sagerx.stg_rxnorm__precise_ingredients": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxnorm__precise_ingredients", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"rxcui": {"type": "character varying(8)", "index": 1, "name": "rxcui", "comment": null}, "name": {"type": "text", "index": 2, "name": "name", "comment": null}, "tty": {"type": "character varying(20)", "index": 3, "name": "tty", "comment": null}, "active": {"type": "boolean", "index": 4, "name": "active", "comment": null}, "prescribable": {"type": "boolean", "index": 5, "name": "prescribable", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxnorm__precise_ingredients"}, "model.sagerx.stg_rxnorm__product_rxcuis": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxnorm__product_rxcuis", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"rxcui": {"type": "character varying(8)", "index": 1, "name": "rxcui", "comment": null}, "lat": {"type": "character varying(3)", "index": 2, "name": "lat", "comment": null}, "ts": {"type": "character varying(1)", "index": 3, "name": "ts", "comment": null}, "lui": {"type": "character varying(8)", "index": 4, "name": "lui", "comment": null}, "stt": {"type": "character varying(3)", "index": 5, "name": "stt", "comment": null}, "sui": {"type": "character varying(8)", "index": 6, "name": "sui", "comment": null}, "ispref": {"type": "character varying(1)", "index": 7, "name": "ispref", "comment": null}, "rxaui": {"type": "character varying(8)", "index": 8, "name": "rxaui", "comment": null}, "saui": {"type": "character varying(50)", "index": 9, "name": "saui", "comment": null}, "scui": {"type": "character varying(50)", "index": 10, "name": "scui", "comment": null}, "sdui": {"type": "character varying(50)", "index": 11, "name": "sdui", "comment": null}, "sab": {"type": "character varying(20)", "index": 12, "name": "sab", "comment": null}, "tty": {"type": "character varying(20)", "index": 13, "name": "tty", "comment": null}, "code": {"type": "character varying(50)", "index": 14, "name": "code", "comment": null}, "str": {"type": "text", "index": 15, "name": "str", "comment": null}, "srl": {"type": "character varying(10)", "index": 16, "name": "srl", "comment": null}, "suppress": {"type": "character varying(1)", "index": 17, "name": "suppress", "comment": null}, "cvf": {"type": "character varying(50)", "index": 18, "name": "cvf", "comment": null}, "blank": {"type": "text", "index": 19, "name": "blank", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxnorm__product_rxcuis"}, "model.sagerx.stg_rxnorm__products": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxnorm__products", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"rxcui": {"type": "character varying(8)", "index": 1, "name": "rxcui", "comment": null}, "name": {"type": "text", "index": 2, "name": "name", "comment": null}, "tty": {"type": "character varying(20)", "index": 3, "name": "tty", "comment": null}, "clinical_product_rxcui": {"type": "character varying(8)", "index": 4, "name": "clinical_product_rxcui", "comment": null}, "active": {"type": "boolean", "index": 5, "name": "active", "comment": null}, "prescribable": {"type": "boolean", "index": 6, "name": "prescribable", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxnorm__products"}, "model.sagerx.stg_rxnorm_historical__most_recent_ndcs": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxnorm_historical__most_recent_ndcs", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"ndc": {"type": "text", "index": 1, "name": "ndc", "comment": null}, "start_date": {"type": "text", "index": 2, "name": "start_date", "comment": null}, "end_date": {"type": "text", "index": 3, "name": "end_date", "comment": null}, "status": {"type": "text", "index": 4, "name": "status", "comment": null}, "related_rxcui": {"type": "text", "index": 5, "name": "related_rxcui", "comment": null}, "ndc_list": {"type": "text", "index": 6, "name": "ndc_list", "comment": null}, "rxcui": {"type": "text", "index": 7, "name": "rxcui", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxnorm_historical__most_recent_ndcs"}, "model.sagerx.stg_rxnorm_historical__ndcs": {"metadata": {"type": "VIEW", "schema": "sagerx_dev", "name": "stg_rxnorm_historical__ndcs", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"ndc": {"type": "text", "index": 1, "name": "ndc", "comment": null}, "start_date": {"type": "text", "index": 2, "name": "start_date", "comment": null}, "end_date": {"type": "text", "index": 3, "name": "end_date", "comment": null}, "status": {"type": "text", "index": 4, "name": "status", "comment": null}, "related_rxcui": {"type": "text", "index": 5, "name": "related_rxcui", "comment": null}, "ndc_list": {"type": "text", "index": 6, "name": "ndc_list", "comment": null}, "rxcui": {"type": "text", "index": 7, "name": "rxcui", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "model.sagerx.stg_rxnorm_historical__ndcs"}, "seed.sagerx.usp_preservatives": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_dev", "name": "usp_preservatives", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"cas_rn": {"type": "text", "index": 1, "name": "cas_rn", "comment": null}, "usp_product_name": {"type": "text", "index": 2, "name": "usp_product_name", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "seed.sagerx.usp_preservatives"}}, "sources": {"source.sagerx.ashp.ashp_shortage_list": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_lake", "name": "ashp_shortage_list", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"name": {"type": "text", "index": 1, "name": "name", "comment": null}, "detail_url": {"type": "text", "index": 2, "name": "detail_url", "comment": null}, "shortage_reasons": {"type": "text", "index": 3, "name": "shortage_reasons", "comment": null}, "resupply_dates": {"type": "text", "index": 4, "name": "resupply_dates", "comment": null}, "alternatives_and_management": {"type": "text", "index": 5, "name": "alternatives_and_management", "comment": null}, "care_implications": {"type": "text", "index": 6, "name": "care_implications", "comment": null}, "safety_notices": {"type": "text", "index": 7, "name": "safety_notices", "comment": null}, "created_date": {"type": "timestamp without time zone", "index": 8, "name": "created_date", "comment": null}, "updated_date": {"type": "timestamp without time zone", "index": 9, "name": "updated_date", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.sagerx.ashp.ashp_shortage_list"}, "source.sagerx.ashp.ashp_shortage_list_ndcs": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_lake", "name": "ashp_shortage_list_ndcs", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"detail_url": {"type": "text", "index": 1, "name": "detail_url", "comment": null}, "ndc": {"type": "text", "index": 2, "name": "ndc", "comment": null}, "ndc_type": {"type": "text", "index": 3, "name": "ndc_type", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.sagerx.ashp.ashp_shortage_list_ndcs"}, "source.sagerx.fda_excluded.fda_excluded_package": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_lake", "name": "fda_excluded_package", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"productid": {"type": "text", "index": 1, "name": "productid", "comment": null}, "productndc": {"type": "text", "index": 2, "name": "productndc", "comment": null}, "ndcpackagecode": {"type": "text", "index": 3, "name": "ndcpackagecode", "comment": null}, "packagedescription": {"type": "text", "index": 4, "name": "packagedescription", "comment": null}, "startmarketingdate": {"type": "text", "index": 5, "name": "startmarketingdate", "comment": null}, "endmarketingdate": {"type": "text", "index": 6, "name": "endmarketingdate", "comment": null}, "ndc_exclude_flag": {"type": "text", "index": 7, "name": "ndc_exclude_flag", "comment": null}, "sample_package": {"type": "text", "index": 8, "name": "sample_package", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.sagerx.fda_excluded.fda_excluded_package"}, "source.sagerx.fda_excluded.fda_excluded_product": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_lake", "name": "fda_excluded_product", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"productid": {"type": "text", "index": 1, "name": "productid", "comment": null}, "productndc": {"type": "text", "index": 2, "name": "productndc", "comment": null}, "producttypename": {"type": "text", "index": 3, "name": "producttypename", "comment": null}, "proprietaryname": {"type": "text", "index": 4, "name": "proprietaryname", "comment": null}, "proprietarynamesuffix": {"type": "text", "index": 5, "name": "proprietarynamesuffix", "comment": null}, "nonproprietaryname": {"type": "text", "index": 6, "name": "nonproprietaryname", "comment": null}, "dosageformname": {"type": "text", "index": 7, "name": "dosageformname", "comment": null}, "routename": {"type": "text", "index": 8, "name": "routename", "comment": null}, "startmarketingdate": {"type": "text", "index": 9, "name": "startmarketingdate", "comment": null}, "endmarketingdate": {"type": "text", "index": 10, "name": "endmarketingdate", "comment": null}, "marketingcategoryname": {"type": "text", "index": 11, "name": "marketingcategoryname", "comment": null}, "applicationnumber": {"type": "text", "index": 12, "name": "applicationnumber", "comment": null}, "labelername": {"type": "text", "index": 13, "name": "labelername", "comment": null}, "substancename": {"type": "text", "index": 14, "name": "substancename", "comment": null}, "active_numerator_strength": {"type": "text", "index": 15, "name": "active_numerator_strength", "comment": null}, "active_ingred_unit": {"type": "text", "index": 16, "name": "active_ingred_unit", "comment": null}, "pharm_classes": {"type": "text", "index": 17, "name": "pharm_classes", "comment": null}, "deaschedule": {"type": "text", "index": 18, "name": "deaschedule", "comment": null}, "ndc_exclude_flag": {"type": "text", "index": 19, "name": "ndc_exclude_flag", "comment": null}, "listing_record_certified_through": {"type": "text", "index": 20, "name": "listing_record_certified_through", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.sagerx.fda_excluded.fda_excluded_product"}, "source.sagerx.fda_ndc.fda_ndc_package": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_lake", "name": "fda_ndc_package", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"productid": {"type": "text", "index": 1, "name": "productid", "comment": null}, "productndc": {"type": "text", "index": 2, "name": "productndc", "comment": null}, "ndcpackagecode": {"type": "text", "index": 3, "name": "ndcpackagecode", "comment": null}, "packagedescription": {"type": "text", "index": 4, "name": "packagedescription", "comment": null}, "startmarketingdate": {"type": "text", "index": 5, "name": "startmarketingdate", "comment": null}, "endmarketingdate": {"type": "text", "index": 6, "name": "endmarketingdate", "comment": null}, "ndc_exclude_flag": {"type": "text", "index": 7, "name": "ndc_exclude_flag", "comment": null}, "sample_package": {"type": "text", "index": 8, "name": "sample_package", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.sagerx.fda_ndc.fda_ndc_package"}, "source.sagerx.fda_ndc.fda_ndc_product": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_lake", "name": "fda_ndc_product", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"productid": {"type": "text", "index": 1, "name": "productid", "comment": null}, "productndc": {"type": "text", "index": 2, "name": "productndc", "comment": null}, "producttypename": {"type": "text", "index": 3, "name": "producttypename", "comment": null}, "proprietaryname": {"type": "text", "index": 4, "name": "proprietaryname", "comment": null}, "proprietarynamesuffix": {"type": "text", "index": 5, "name": "proprietarynamesuffix", "comment": null}, "nonproprietaryname": {"type": "text", "index": 6, "name": "nonproprietaryname", "comment": null}, "dosageformname": {"type": "text", "index": 7, "name": "dosageformname", "comment": null}, "routename": {"type": "text", "index": 8, "name": "routename", "comment": null}, "startmarketingdate": {"type": "text", "index": 9, "name": "startmarketingdate", "comment": null}, "endmarketingdate": {"type": "text", "index": 10, "name": "endmarketingdate", "comment": null}, "marketingcategoryname": {"type": "text", "index": 11, "name": "marketingcategoryname", "comment": null}, "applicationnumber": {"type": "text", "index": 12, "name": "applicationnumber", "comment": null}, "labelername": {"type": "text", "index": 13, "name": "labelername", "comment": null}, "substancename": {"type": "text", "index": 14, "name": "substancename", "comment": null}, "active_numerator_strength": {"type": "text", "index": 15, "name": "active_numerator_strength", "comment": null}, "active_ingred_unit": {"type": "text", "index": 16, "name": "active_ingred_unit", "comment": null}, "pharm_classes": {"type": "text", "index": 17, "name": "pharm_classes", "comment": null}, "deaschedule": {"type": "text", "index": 18, "name": "deaschedule", "comment": null}, "ndc_exclude_flag": {"type": "text", "index": 19, "name": "ndc_exclude_flag", "comment": null}, "listing_record_certified_through": {"type": "text", "index": 20, "name": "listing_record_certified_through", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.sagerx.fda_ndc.fda_ndc_product"}, "source.sagerx.fda_unfinished.fda_unfinished_package": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_lake", "name": "fda_unfinished_package", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"productid": {"type": "text", "index": 1, "name": "productid", "comment": null}, "productndc": {"type": "text", "index": 2, "name": "productndc", "comment": null}, "ndcpackagecode": {"type": "text", "index": 3, "name": "ndcpackagecode", "comment": null}, "packagedescription": {"type": "text", "index": 4, "name": "packagedescription", "comment": null}, "startmarketingdate": {"type": "text", "index": 5, "name": "startmarketingdate", "comment": null}, "endmarketingdate": {"type": "text", "index": 6, "name": "endmarketingdate", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.sagerx.fda_unfinished.fda_unfinished_package"}, "source.sagerx.fda_unfinished.fda_unfinished_product": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_lake", "name": "fda_unfinished_product", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"productid": {"type": "text", "index": 1, "name": "productid", "comment": null}, "productndc": {"type": "text", "index": 2, "name": "productndc", "comment": null}, "producttypename": {"type": "text", "index": 3, "name": "producttypename", "comment": null}, "nonproprietaryname": {"type": "text", "index": 4, "name": "nonproprietaryname", "comment": null}, "dosageformname": {"type": "text", "index": 5, "name": "dosageformname", "comment": null}, "startmarketingdate": {"type": "text", "index": 6, "name": "startmarketingdate", "comment": null}, "endmarketingdate": {"type": "text", "index": 7, "name": "endmarketingdate", "comment": null}, "marketingcategoryname": {"type": "text", "index": 8, "name": "marketingcategoryname", "comment": null}, "labelername": {"type": "text", "index": 9, "name": "labelername", "comment": null}, "substancename": {"type": "text", "index": 10, "name": "substancename", "comment": null}, "active_numerator_strength": {"type": "text", "index": 11, "name": "active_numerator_strength", "comment": null}, "active_ingred_unit": {"type": "text", "index": 12, "name": "active_ingred_unit", "comment": null}, "deaschedule": {"type": "text", "index": 13, "name": "deaschedule", "comment": null}, "listing_record_certified_through": {"type": "text", "index": 14, "name": "listing_record_certified_through", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.sagerx.fda_unfinished.fda_unfinished_product"}, "source.sagerx.fda_unii.fda_unii": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_lake", "name": "fda_unii", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"unii": {"type": "text", "index": 1, "name": "unii", "comment": null}, "display_name": {"type": "text", "index": 2, "name": "display_name", "comment": null}, "rn": {"type": "text", "index": 3, "name": "rn", "comment": null}, "ec": {"type": "text", "index": 4, "name": "ec", "comment": null}, "ncit": {"type": "text", "index": 5, "name": "ncit", "comment": null}, "rxcui": {"type": "text", "index": 6, "name": "rxcui", "comment": null}, "pubchem": {"type": "text", "index": 7, "name": "pubchem", "comment": null}, "epa_comptox": {"type": "text", "index": 8, "name": "epa_comptox", "comment": null}, "catalogue_of_life": {"type": "text", "index": 9, "name": "catalogue_of_life", "comment": null}, "itis": {"type": "text", "index": 10, "name": "itis", "comment": null}, "ncbi": {"type": "text", "index": 11, "name": "ncbi", "comment": null}, "plants": {"type": "text", "index": 12, "name": "plants", "comment": null}, "grin": {"type": "text", "index": 13, "name": "grin", "comment": null}, "mpns": {"type": "text", "index": 14, "name": "mpns", "comment": null}, "inn_id": {"type": "text", "index": 15, "name": "inn_id", "comment": null}, "usan_id": {"type": "text", "index": 16, "name": "usan_id", "comment": null}, "mf": {"type": "text", "index": 17, "name": "mf", "comment": null}, "inchikey": {"type": "text", "index": 18, "name": "inchikey", "comment": null}, "smiles": {"type": "text", "index": 19, "name": "smiles", "comment": null}, "ingredient_type": {"type": "text", "index": 20, "name": "ingredient_type", "comment": null}, "substance_type": {"type": "text", "index": 21, "name": "substance_type", "comment": null}, "uuid": {"type": "text", "index": 22, "name": "uuid", "comment": null}, "dailymed": {"type": "text", "index": 23, "name": "dailymed", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.sagerx.fda_unii.fda_unii"}, "source.sagerx.rxclass.rxclass_atc_to_product": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_lake", "name": "rxclass_atc_to_product", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"rxcui": {"type": "text", "index": 1, "name": "rxcui", "comment": null}, "class_id": {"type": "text", "index": 2, "name": "class_id", "comment": null}, "class_name": {"type": "text", "index": 3, "name": "class_name", "comment": null}, "class_type": {"type": "text", "index": 4, "name": "class_type", "comment": null}, "drug_name": {"type": "text", "index": 5, "name": "drug_name", "comment": null}, "drug_tty": {"type": "text", "index": 6, "name": "drug_tty", "comment": null}, "rela": {"type": "text", "index": 7, "name": "rela", "comment": null}, "rela_source": {"type": "text", "index": 8, "name": "rela_source", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.sagerx.rxclass.rxclass_atc_to_product"}, "source.sagerx.rxnorm_historical.rxnorm_historical": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_lake", "name": "rxnorm_historical", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"ndc": {"type": "text", "index": 1, "name": "ndc", "comment": null}, "start_date": {"type": "text", "index": 2, "name": "start_date", "comment": null}, "end_date": {"type": "text", "index": 3, "name": "end_date", "comment": null}, "status": {"type": "text", "index": 4, "name": "status", "comment": null}, "related_rxcui": {"type": "text", "index": 5, "name": "related_rxcui", "comment": null}, "ndc_list": {"type": "text", "index": 6, "name": "ndc_list", "comment": null}, "rxcui": {"type": "text", "index": 7, "name": "rxcui", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.sagerx.rxnorm_historical.rxnorm_historical"}, "source.sagerx.rxnorm.rxnorm_rxnatomarchive": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_lake", "name": "rxnorm_rxnatomarchive", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"rxaui": {"type": "character varying(8)", "index": 1, "name": "rxaui", "comment": null}, "aui": {"type": "character varying(10)", "index": 2, "name": "aui", "comment": null}, "str": {"type": "character varying(4000)", "index": 3, "name": "str", "comment": null}, "archive_timestamp": {"type": "character varying(280)", "index": 4, "name": "archive_timestamp", "comment": null}, "created_timestamp": {"type": "character varying(280)", "index": 5, "name": "created_timestamp", "comment": null}, "updated_timestamp": {"type": "character varying(280)", "index": 6, "name": "updated_timestamp", "comment": null}, "code": {"type": "character varying(50)", "index": 7, "name": "code", "comment": null}, "is_brand": {"type": "character varying(1)", "index": 8, "name": "is_brand", "comment": null}, "lat": {"type": "character varying(3)", "index": 9, "name": "lat", "comment": null}, "last_released": {"type": "character varying(30)", "index": 10, "name": "last_released", "comment": null}, "saui": {"type": "character varying(50)", "index": 11, "name": "saui", "comment": null}, "vsab": {"type": "character varying(40)", "index": 12, "name": "vsab", "comment": null}, "rxcui": {"type": "character varying(8)", "index": 13, "name": "rxcui", "comment": null}, "sab": {"type": "character varying(20)", "index": 14, "name": "sab", "comment": null}, "tty": {"type": "character varying(20)", "index": 15, "name": "tty", "comment": null}, "merged_to_rxcui": {"type": "character varying(8)", "index": 16, "name": "merged_to_rxcui", "comment": null}, "blank": {"type": "text", "index": 17, "name": "blank", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.sagerx.rxnorm.rxnorm_rxnatomarchive"}, "source.sagerx.rxnorm.rxnorm_rxnconso": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_lake", "name": "rxnorm_rxnconso", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"rxcui": {"type": "character varying(8)", "index": 1, "name": "rxcui", "comment": null}, "lat": {"type": "character varying(3)", "index": 2, "name": "lat", "comment": null}, "ts": {"type": "character varying(1)", "index": 3, "name": "ts", "comment": null}, "lui": {"type": "character varying(8)", "index": 4, "name": "lui", "comment": null}, "stt": {"type": "character varying(3)", "index": 5, "name": "stt", "comment": null}, "sui": {"type": "character varying(8)", "index": 6, "name": "sui", "comment": null}, "ispref": {"type": "character varying(1)", "index": 7, "name": "ispref", "comment": null}, "rxaui": {"type": "character varying(8)", "index": 8, "name": "rxaui", "comment": null}, "saui": {"type": "character varying(50)", "index": 9, "name": "saui", "comment": null}, "scui": {"type": "character varying(50)", "index": 10, "name": "scui", "comment": null}, "sdui": {"type": "character varying(50)", "index": 11, "name": "sdui", "comment": null}, "sab": {"type": "character varying(20)", "index": 12, "name": "sab", "comment": null}, "tty": {"type": "character varying(20)", "index": 13, "name": "tty", "comment": null}, "code": {"type": "character varying(50)", "index": 14, "name": "code", "comment": null}, "str": {"type": "text", "index": 15, "name": "str", "comment": null}, "srl": {"type": "character varying(10)", "index": 16, "name": "srl", "comment": null}, "suppress": {"type": "character varying(1)", "index": 17, "name": "suppress", "comment": null}, "cvf": {"type": "character varying(50)", "index": 18, "name": "cvf", "comment": null}, "blank": {"type": "text", "index": 19, "name": "blank", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.sagerx.rxnorm.rxnorm_rxnconso"}, "source.sagerx.rxnorm.rxnorm_rxncui": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_lake", "name": "rxnorm_rxncui", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"cui1": {"type": "character varying(8)", "index": 1, "name": "cui1", "comment": null}, "ver_start": {"type": "character varying(40)", "index": 2, "name": "ver_start", "comment": null}, "ver_end": {"type": "character varying(40)", "index": 3, "name": "ver_end", "comment": null}, "cardinality": {"type": "character varying(8)", "index": 4, "name": "cardinality", "comment": null}, "cui2": {"type": "character varying(8)", "index": 5, "name": "cui2", "comment": null}, "blank": {"type": "text", "index": 6, "name": "blank", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.sagerx.rxnorm.rxnorm_rxncui"}, "source.sagerx.rxnorm.rxnorm_rxncuichanges": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_lake", "name": "rxnorm_rxncuichanges", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"rxaui": {"type": "character varying(8)", "index": 1, "name": "rxaui", "comment": null}, "code": {"type": "character varying(50)", "index": 2, "name": "code", "comment": null}, "sab": {"type": "character varying(20)", "index": 3, "name": "sab", "comment": null}, "tty": {"type": "character varying(20)", "index": 4, "name": "tty", "comment": null}, "str": {"type": "character varying(3000)", "index": 5, "name": "str", "comment": null}, "old_rxcui": {"type": "character varying(8)", "index": 6, "name": "old_rxcui", "comment": null}, "new_rxcui": {"type": "character varying(8)", "index": 7, "name": "new_rxcui", "comment": null}, "blank": {"type": "text", "index": 8, "name": "blank", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.sagerx.rxnorm.rxnorm_rxncuichanges"}, "source.sagerx.rxnorm.rxnorm_rxndoc": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_lake", "name": "rxnorm_rxndoc", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"dockey": {"type": "character varying(50)", "index": 1, "name": "dockey", "comment": null}, "value": {"type": "character varying(1000)", "index": 2, "name": "value", "comment": null}, "type": {"type": "character varying(50)", "index": 3, "name": "type", "comment": null}, "expl": {"type": "character varying(1000)", "index": 4, "name": "expl", "comment": null}, "blank": {"type": "text", "index": 5, "name": "blank", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.sagerx.rxnorm.rxnorm_rxndoc"}, "source.sagerx.rxnorm.rxnorm_rxnrel": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_lake", "name": "rxnorm_rxnrel", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"rxcui1": {"type": "character varying(8)", "index": 1, "name": "rxcui1", "comment": null}, "rxaui1": {"type": "character varying(8)", "index": 2, "name": "rxaui1", "comment": null}, "stype1": {"type": "character varying(50)", "index": 3, "name": "stype1", "comment": null}, "rel": {"type": "character varying(4)", "index": 4, "name": "rel", "comment": null}, "rxcui2": {"type": "character varying(8)", "index": 5, "name": "rxcui2", "comment": null}, "rxaui2": {"type": "character varying(8)", "index": 6, "name": "rxaui2", "comment": null}, "stype2": {"type": "character varying(50)", "index": 7, "name": "stype2", "comment": null}, "rela": {"type": "character varying(100)", "index": 8, "name": "rela", "comment": null}, "rui": {"type": "character varying(10)", "index": 9, "name": "rui", "comment": null}, "srui": {"type": "character varying(50)", "index": 10, "name": "srui", "comment": null}, "sab": {"type": "character varying(20)", "index": 11, "name": "sab", "comment": null}, "sl": {"type": "character varying(1000)", "index": 12, "name": "sl", "comment": null}, "dir": {"type": "character varying(1)", "index": 13, "name": "dir", "comment": null}, "rg": {"type": "character varying(10)", "index": 14, "name": "rg", "comment": null}, "suppress": {"type": "character varying(1)", "index": 15, "name": "suppress", "comment": null}, "cvf": {"type": "character varying(50)", "index": 16, "name": "cvf", "comment": null}, "blank": {"type": "text", "index": 17, "name": "blank", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.sagerx.rxnorm.rxnorm_rxnrel"}, "source.sagerx.rxnorm.rxnorm_rxnsab": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_lake", "name": "rxnorm_rxnsab", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"vcui": {"type": "character varying(8)", "index": 1, "name": "vcui", "comment": null}, "rcui": {"type": "character varying(8)", "index": 2, "name": "rcui", "comment": null}, "vsab": {"type": "character varying(40)", "index": 3, "name": "vsab", "comment": null}, "rsab": {"type": "character varying(20)", "index": 4, "name": "rsab", "comment": null}, "son": {"type": "character varying(3000)", "index": 5, "name": "son", "comment": null}, "sf": {"type": "character varying(20)", "index": 6, "name": "sf", "comment": null}, "sver": {"type": "character varying(20)", "index": 7, "name": "sver", "comment": null}, "vstart": {"type": "character varying(10)", "index": 8, "name": "vstart", "comment": null}, "vend": {"type": "character varying(10)", "index": 9, "name": "vend", "comment": null}, "imeta": {"type": "character varying(10)", "index": 10, "name": "imeta", "comment": null}, "rmeta": {"type": "character varying(10)", "index": 11, "name": "rmeta", "comment": null}, "slc": {"type": "character varying(1000)", "index": 12, "name": "slc", "comment": null}, "scc": {"type": "character varying(1000)", "index": 13, "name": "scc", "comment": null}, "srl": {"type": "integer", "index": 14, "name": "srl", "comment": null}, "tfr": {"type": "integer", "index": 15, "name": "tfr", "comment": null}, "cfr": {"type": "integer", "index": 16, "name": "cfr", "comment": null}, "cxty": {"type": "character varying(50)", "index": 17, "name": "cxty", "comment": null}, "ttyl": {"type": "character varying(300)", "index": 18, "name": "ttyl", "comment": null}, "atnl": {"type": "character varying(1000)", "index": 19, "name": "atnl", "comment": null}, "lat": {"type": "character varying(3)", "index": 20, "name": "lat", "comment": null}, "cenc": {"type": "character varying(20)", "index": 21, "name": "cenc", "comment": null}, "curver": {"type": "character varying(1)", "index": 22, "name": "curver", "comment": null}, "sabin": {"type": "character varying(1)", "index": 23, "name": "sabin", "comment": null}, "ssn": {"type": "character varying(3000)", "index": 24, "name": "ssn", "comment": null}, "scit": {"type": "character varying(4000)", "index": 25, "name": "scit", "comment": null}, "blank": {"type": "text", "index": 26, "name": "blank", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.sagerx.rxnorm.rxnorm_rxnsab"}, "source.sagerx.rxnorm.rxnorm_rxnsat": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_lake", "name": "rxnorm_rxnsat", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"rxcui": {"type": "character varying(8)", "index": 1, "name": "rxcui", "comment": null}, "lui": {"type": "character varying(8)", "index": 2, "name": "lui", "comment": null}, "sui": {"type": "character varying(8)", "index": 3, "name": "sui", "comment": null}, "rxaui": {"type": "character varying(8)", "index": 4, "name": "rxaui", "comment": null}, "stype": {"type": "character varying(50)", "index": 5, "name": "stype", "comment": null}, "code": {"type": "character varying(50)", "index": 6, "name": "code", "comment": null}, "atui": {"type": "character varying(11)", "index": 7, "name": "atui", "comment": null}, "satui": {"type": "character varying(50)", "index": 8, "name": "satui", "comment": null}, "atn": {"type": "character varying(1000)", "index": 9, "name": "atn", "comment": null}, "sab": {"type": "character varying(20)", "index": 10, "name": "sab", "comment": null}, "atv": {"type": "character varying(7000)", "index": 11, "name": "atv", "comment": null}, "suppress": {"type": "character varying(1)", "index": 12, "name": "suppress", "comment": null}, "cvf": {"type": "character varying(50)", "index": 13, "name": "cvf", "comment": null}, "blank": {"type": "text", "index": 14, "name": "blank", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.sagerx.rxnorm.rxnorm_rxnsat"}, "source.sagerx.rxnorm.rxnorm_rxnsty": {"metadata": {"type": "BASE TABLE", "schema": "sagerx_lake", "name": "rxnorm_rxnsty", "database": "sagerx", "comment": null, "owner": "sagerx"}, "columns": {"rxcui": {"type": "character varying(8)", "index": 1, "name": "rxcui", "comment": null}, "tui": {"type": "character varying(4)", "index": 2, "name": "tui", "comment": null}, "stn": {"type": "character varying(100)", "index": 3, "name": "stn", "comment": null}, "sty": {"type": "character varying(50)", "index": 4, "name": "sty", "comment": null}, "atui": {"type": "character varying(11)", "index": 5, "name": "atui", "comment": null}, "cvf": {"type": "character varying(50)", "index": 6, "name": "cvf", "comment": null}, "blank": {"type": "text", "index": 7, "name": "blank", "comment": null}}, "stats": {"has_stats": {"id": "has_stats", "label": "Has Stats?", "value": false, "include": false, "description": "Indicates whether there are statistics for this table"}}, "unique_id": "source.sagerx.rxnorm.rxnorm_rxnsty"}}, "errors": null} \ No newline at end of file diff --git a/docs/index.html b/docs/index.html index 5631ac61..c580ce91 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,30 +1,4 @@ - - - - - - - dbt Docs - - - - - - - - - - - - - - - - - -
icons
-
- - +e.exports=function(e){return null!=e&&(n(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&n(e.slice(0,0))}(e)||!!e._isBuffer)}},function(e,t,n){n(8).module("dbt").factory("locationService",["$state",function(e){var t={};return t.parseState=function(e){return function(e){return{selected:{include:e.g_i||"",exclude:e.g_e||""},show_graph:!!e.g_v}}(e)},t.setState=function(t){var n=function(e){var t={g_v:1};return t.g_i=e.include,t.g_e=e.exclude,t}(t),r=e.current.name;e.go(r,n)},t.clearState=function(){var t=e.current.name;e.go(t,{g_i:null,g_e:null,g_v:null})},t}])},function(e,t,n){"use strict";const r=n(8),i=n(202);r.module("dbt").controller("OverviewCtrl",["$scope","$state","project",function(e,t,n){e.overview_md="(loading)",n.ready((function(n){let r=t.params.project_name?t.params.project_name:null;var o=n.docs["doc.dbt.__overview__"],a=i.filter(n.docs,{name:"__overview__"});if(i.each(a,(function(e){"dbt"!=e.package_name&&(o=e)})),null!==r){o=n.docs[`doc.${r}.__${r}__`]||o;let e=i.filter(n.docs,{name:`__${r}__`});i.each(e,e=>{e.package_name!==r&&(o=e)})}e.overview_md=o.block_contents}))}])},function(e,t,n){"use strict";n(8).module("dbt").controller("SourceListCtrl",["$scope","$state","project",function(e,t,n){e.source=t.params.source,e.model={},e.extra_table_fields=[],e.has_more_info=function(e){return(e.description||"").length},e.toggle_source_expanded=function(t){e.has_more_info(t)&&(t.expanded=!t.expanded)},n.ready((function(t){var n=_.filter(t.nodes,(function(t){return t.source_name==e.source}));if(0!=n.length){n.sort((e,t)=>e.name.localeCompare(t.name));var r=n[0];e.model={name:e.source,source_description:r.source_description,sources:n};var i=_.uniq(_.map(n,"metadata.owner")),o=_.uniq(_.map(n,"database")),a=_.uniq(_.map(n,"schema"));e.extra_table_fields=[{name:"Loader",value:r.loader},{name:1==i.length?"Owner":"Owners",value:i.join(", ")},{name:1==o.length?"Database":"Databases",value:o.join(", ")},{name:1==a.length?"Schema":"Schemas",value:a.join(", ")},{name:"Tables",value:n.length}]}}))}])},function(e,t,n){const r=n(8),i={main:n(483),overview:n(484),graph:n(485),source:n(205),source_list:n(486),model:n(487),source:n(205),snapshot:n(488),seed:n(489),unit_test:n(490),test:n(491),analysis:n(492),macro:n(493),exposure:n(494),metric:n(495),semantic_model:n(496),saved_query:n(497),operation:n(498)};r.module("dbt").config(["$stateProvider","$urlRouterProvider",function(e,t){var n="g_v&g_i&g_e&g_p&g_n";t.otherwise("/overview"),e.state("dbt",{url:"/",abstract:!0,controller:"MainController",templateUrl:i.main}).state("dbt.overview",{url:"overview?"+n,controller:"OverviewCtrl",templateUrl:i.overview}).state("dbt.project_overview",{url:"overview/:project_name?"+n,controller:"OverviewCtrl",templateUrl:i.overview,params:{project_name:{type:"string"}}}).state("dbt.graph",{url:"graph",controller:"GraphCtrl",templateUrl:i.graph}).state("dbt.model",{url:"model/:unique_id?section&"+n,controller:"ModelCtrl",templateUrl:i.model,params:{unique_id:{type:"string"}}}).state("dbt.seed",{url:"seed/:unique_id?section&"+n,controller:"SeedCtrl",templateUrl:i.seed,params:{unique_id:{type:"string"}}}).state("dbt.snapshot",{url:"snapshot/:unique_id?section&"+n,controller:"SnapshotCtrl",templateUrl:i.snapshot,params:{unique_id:{type:"string"}}}).state("dbt.unit_test",{url:"unit_test/:unique_id?section&"+n,controller:"TestCtrl",templateUrl:i.unit_test,params:{unique_id:{type:"string"}}}).state("dbt.test",{url:"test/:unique_id?section&"+n,controller:"TestCtrl",templateUrl:i.test,params:{unique_id:{type:"string"}}}).state("dbt.analysis",{url:"analysis/:unique_id?section&"+n,controller:"AnalysisCtrl",templateUrl:i.analysis,params:{unique_id:{type:"string"}}}).state("dbt.source",{url:"source/:unique_id?section&"+n,controller:"SourceCtrl",templateUrl:i.source,params:{unique_id:{type:"string"}}}).state("dbt.source_list",{url:"source_list/:source?section&"+n,controller:"SourceListCtrl",templateUrl:i.source_list,params:{source:{type:"string"}}}).state("dbt.macro",{url:"macro/:unique_id?section",controller:"MacroCtrl",templateUrl:i.macro,params:{unique_id:{type:"string"}}}).state("dbt.exposure",{url:"exposure/:unique_id?section&"+n,controller:"ExposureCtrl",templateUrl:i.exposure,params:{unique_id:{type:"string"}}}).state("dbt.metric",{url:"metric/:unique_id?section&"+n,controller:"MetricCtrl",templateUrl:i.metric,params:{unique_id:{type:"string"}}}).state("dbt.semantic_model",{url:"semantic_model/:unique_id?section&"+n,controller:"SemanticModelCtrl",templateUrl:i.semantic_model,params:{unique_id:{type:"string"}}}).state("dbt.saved_query",{url:"saved_query/:unique_id?section&"+n,controller:"SavedQueryCtrl",templateUrl:i.saved_query,params:{unique_id:{type:"string"}}}).state("dbt.operation",{url:"operation/:unique_id?section&"+n,controller:"OperationCtrl",templateUrl:i.operation,params:{unique_id:{type:"string"}}})}])},function(e,t){var n="/main/main.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'\n\n
\n \n\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n')}]),e.exports=n},function(e,t){var n="/overview/overview.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'
\n \n
\n
\n

\n
\n
\n
\n\n')}]),e.exports=n},function(e,t){var n="/graph/graph.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'
\n
\n
\n
\n
\n
\n
\n')}]),e.exports=n},function(e,t){var n="/sources/source_list.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'\n\n
\n \n
\n
\n
\n
\n \n
\n\n
\n
\n
\n
Description
\n
\n
\n
\n
This {{ model.resource_type }} is not currently documented
\n
\n
\n
\n
\n\n\n
\n
\n
\n
Source Tables
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
SourceTableDescriptionLinkMore?
\n
\n {{ source.source_name }}\n
\n
\n {{ source.name }}

\n
\n {{ source.description }}\n \n View docs\n \n \n \n \n \n \n \n \n \n
\n
\n
\n
Description
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n')}]),e.exports=n},function(e,t){var n="/docs/model.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'\n\n
\n \n
\n
\n
\n
\n \n
\n\n
\n
\n
\n
Description
\n
\n
\n
\n
This {{ model.resource_type }} is not currently documented
\n
\n
\n
\n
\n\n
\n
\n
\n
Columns
\n \n
\n
\n\n
\n
\n
\n
Referenced By
\n \n
\n
\n\n
\n
\n
\n
Depends On
\n \n
\n
\n\n
\n
\n
\n \n
\n
\n
\n
\n
\n')}]),e.exports=n},function(e,t){var n="/docs/snapshot.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'\n\n
\n \n
\n
\n
\n
\n \n
\n\n
\n
\n
\n
Description
\n
\n
\n
\n
This {{ model.resource_type }} is not currently documented
\n
\n
\n
\n
\n\n
\n
\n
\n
Columns
\n \n
\n
\n\n
\n
\n
\n
Referenced By
\n \n
\n
\n\n
\n
\n
\n
Depends On
\n \n
\n
\n\n
\n
\n
\n \n
\n
\n
\n
\n
\n')}]),e.exports=n},function(e,t){var n="/docs/seed.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'\n\n
\n \n
\n
\n
\n
\n \n
\n\n
\n
\n
\n
Description
\n
\n
\n
\n
This {{ model.resource_type }} is not currently documented
\n
\n
\n
\n
\n
\n
\n
\n
Columns
\n \n
\n
\n\n
\n
\n
\n
Referenced By
\n \n
\n
\n\n
\n
\n
\n
Depends On
\n \n
\n
\n\n
\n
\n
\n \n
\n
\n
\n
\n
\n')}]),e.exports=n},function(e,t){var n="/docs/unit_test.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'\n\n
\n \n
\n
\n
\n
\n
\n
Description
\n
\n
\n
\n
This {{ model.resource_type }} is not currently documented
\n
\n
\n
\n
\n\n
\n
\n
\n
Depends On
\n \n
\n
\n\n
\n
\n
\n')}]),e.exports=n},function(e,t){var n="/docs/test.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'\n\n
\n \n
\n
\n
\n
\n
\n
Description
\n
\n
\n
\n
This {{ model.resource_type }} is not currently documented
\n
\n
\n
\n
\n\n
\n
\n
\n
Depends On
\n \n
\n
\n\n
\n
\n
\n \n
\n
\n
\n
\n
\n')}]),e.exports=n},function(e,t){var n="/docs/analysis.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'\n\n
\n \n
\n
\n\n
\n
\n
\n
Description
\n
\n
\n
\n
This {{ model.resource_type }} is not currently documented
\n
\n
\n
\n
\n\n
\n
\n
\n
Depends On
\n \n
\n
\n\n
\n
\n
\n \n
\n
\n
\n
\n
\n')}]),e.exports=n},function(e,t){var n="/docs/macro.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'\n\n
\n \n
\n
\n
\n
\n
\n
Description
\n
\n
\n
\n
This {{ macro.resource_type }} is not currently documented
\n
\n
\n
\n
\n\n
\n
\n
\n
Arguments
\n \n
\n
\n\n
\n
\n
\n
Referenced By
\n \n
\n
\n\n
\n
\n
\n
Depends On
\n \n
\n
\n\n
\n
\n
\n \n
\n
\n
\n
\n
\n')}]),e.exports=n},function(e,t){var n="/docs/exposure.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'\n\n
\n \n
\n
\n\n
\n
\n \n
\n\n
\n
\n
\n
Description
\n
\n
\n
\n
This {{ exposure.resource_type }} is not currently documented
\n
\n
\n
\n
\n\n
\n
\n
\n
Depends On
\n \n
\n
\n\n
\n
\n
\n')}]),e.exports=n},function(e,t){var n="/docs/metric.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'\n\n
\n \n
\n
\n\n
\n
\n \n
\n\n
\n
\n
\n
Description
\n
\n
\n
\n
This {{ metric.resource_type }} is not currently documented
\n
\n
\n
\n
\n\n
\n
\n
\n
Depends On
\n \n
\n
\n\n
\n
\n
\n')}]),e.exports=n},function(e,t){var n="/docs/semantic_model.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'\n\n
\n \n
\n
\n\n
\n
\n \n
\n\n
\n
\n
\n
Description
\n
\n
\n
\n
This {{ semantic_model.resource_type }} is not currently documented
\n
\n
\n
\n
\n\n
\n
\n
\n
Entities
\n\n
\n
\n
\n
\n
Name
\n
{{ entity.name }}
\n
None
\n
Type
\n
{{ entity.type }}
\n
None
\n
Expression
\n
{{ entity.expr }}
\n
None
\n
\n
\n
\n
\n
\n
\n\n
\n
\n
\n
Depends On
\n \n
\n
\n\n
\n
\n
\n')}]),e.exports=n},function(e,t){var n="/docs/saved_query.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'\n\n
\n \n
\n
\n\n
\n
\n \n
\n\n
\n
\n
\n
Description
\n
\n
\n
\n
This {{ saved_query.resource_type }} is not currently documented
\n
\n
\n
\n
\n\n
\n
\n
\n
Entities
\n\n
\n
\n
\n
\n
Name
\n
{{ entity.name }}
\n
None
\n
Type
\n
{{ entity.type }}
\n
None
\n
Expression
\n
{{ entity.expr }}
\n
None
\n
\n
\n
\n
\n
\n
\n\n
\n
\n
\n
Depends On
\n \n
\n
\n\n
\n
\n
')}]),e.exports=n},function(e,t){var n="/docs/operation.html";window.angular.module("ng").run(["$templateCache",function(e){e.put(n,'\n\n
\n \n
\n
\n
\n
\n
\n
Description
\n
\n
\n
\n
This {{ model.resource_type }} is not currently documented
\n
\n
\n
\n
\n\n
\n
\n
\n
Depends On
\n \n
\n
\n\n
\n
\n
\n \n
\n
\n
\n
\n
\n')}]),e.exports=n}]); +//# sourceMappingURL=main.js.map diff --git a/docs/manifest.json b/docs/manifest.json index eb9fea8e..2771140a 100644 --- a/docs/manifest.json +++ b/docs/manifest.json @@ -1 +1 @@ -{"metadata": {"dbt_schema_version": "https://schemas.getdbt.com/dbt/manifest/v9.json", "dbt_version": "1.5.1", "generated_at": "2024-05-07T14:46:19.566637Z", "invocation_id": "6e4ffa92-e21f-46a1-9954-99e6462bd05d", "env": {}, "project_id": "37e9b0fc1542514abb8721cf67968006", "user_id": "3753eec8-782e-4b21-af36-aafc92836c40", "send_anonymous_usage_stats": true, "adapter_type": "postgres"}, "nodes": {"model.sagerx.int_rxnorm_clinical_products_to_dose_forms": {"database": "sagerx", "schema": "sagerx_dev", "name": "int_rxnorm_clinical_products_to_dose_forms", "resource_type": "model", "package_name": "sagerx", "path": "intermediate/rxnorm/int_rxnorm_clinical_products_to_dose_forms.sql", "original_file_path": "models/intermediate/rxnorm/int_rxnorm_clinical_products_to_dose_forms.sql", "unique_id": "model.sagerx.int_rxnorm_clinical_products_to_dose_forms", "fqn": ["sagerx", "intermediate", "rxnorm", "int_rxnorm_clinical_products_to_dose_forms"], "alias": "int_rxnorm_clinical_products_to_dose_forms", "checksum": {"name": "sha256", "checksum": "5c0dd87efc6781f9c6c2e2aa81b87d948c9982936d2b7f9513a346075fbbaf84"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "RxNorm clinical products to dose forms.", "columns": {"clinical_product_rxcui": {"name": "clinical_product_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_name": {"name": "clinical_product_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_tty": {"name": "clinical_product_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_component_rxcui": {"name": "clinical_product_component_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_compnent_name": {"name": "clinical_product_compnent_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_component_tty": {"name": "clinical_product_component_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "dose_form_rxcui": {"name": "dose_form_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "dose_form_name": {"name": "dose_form_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "dose_form_tty": {"name": "dose_form_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active": {"name": "active", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "prescribable": {"name": "prescribable", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/intermediate/rxnorm/_int_rxnorm__models.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093147.6963751, "relation_name": "\"sagerx\".\"sagerx_dev\".\"int_rxnorm_clinical_products_to_dose_forms\"", "raw_code": "-- int_rxnorm_clinical_products_to_dose_forms.sql\n\nwith\n\nrcp as (\n\n select * from {{ ref('stg_rxnorm__clinical_products') }}\n\n),\n\nrcpcl as (\n\n select * from {{ ref('stg_rxnorm__clinical_product_component_links') }}\n\n),\n\nrcpc as (\n\n select * from {{ ref('stg_rxnorm__clinical_product_components') }}\n\n),\n\nrdf as (\n\n select * from {{ ref('stg_rxnorm__dose_forms') }}\n\n)\n\nselect\n rcp.rxcui as clinical_product_rxcui\n , rcp.name as clinical_product_name\n , rcp.tty as clinical_product_tty\n , rcpc.rxcui as clinical_product_component_rxcui\n , rcpc.name as clinical_product_compnent_name\n , rcpc.tty as clinical_product_component_tty\n , rdf.rxcui as dose_form_rxcui\n , rdf.name as dose_form_name\n , rdf.tty as dose_form_tty\n , rcp.active\n , rcp.prescribable\nfrom rcp \nleft join rcpcl \n on rcp.rxcui = rcpcl.clinical_product_rxcui \nleft join rcpc \n on rcpcl.clinical_product_component_rxcui = rcpc.rxcui \nleft join rdf \n on rcpc.dose_form_rxcui = rdf.rxcui", "language": "sql", "refs": [{"name": "stg_rxnorm__clinical_products", "package": null, "version": null}, {"name": "stg_rxnorm__clinical_product_component_links", "package": null, "version": null}, {"name": "stg_rxnorm__clinical_product_components", "package": null, "version": null}, {"name": "stg_rxnorm__dose_forms", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.sagerx.stg_rxnorm__clinical_products", "model.sagerx.stg_rxnorm__clinical_product_component_links", "model.sagerx.stg_rxnorm__clinical_product_components", "model.sagerx.stg_rxnorm__dose_forms"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.int_rxnorm_clinical_products_to_ingredient_strengths": {"database": "sagerx", "schema": "sagerx_dev", "name": "int_rxnorm_clinical_products_to_ingredient_strengths", "resource_type": "model", "package_name": "sagerx", "path": "intermediate/rxnorm/int_rxnorm_clinical_products_to_ingredient_strengths.sql", "original_file_path": "models/intermediate/rxnorm/int_rxnorm_clinical_products_to_ingredient_strengths.sql", "unique_id": "model.sagerx.int_rxnorm_clinical_products_to_ingredient_strengths", "fqn": ["sagerx", "intermediate", "rxnorm", "int_rxnorm_clinical_products_to_ingredient_strengths"], "alias": "int_rxnorm_clinical_products_to_ingredient_strengths", "checksum": {"name": "sha256", "checksum": "19e756ad830f021e6224504172abd2aff93900707cbd565edfc674a726177473"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "RxNorm clinical products to ingredient strengths.", "columns": {"clinical_product_rxcui": {"name": "clinical_product_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_name": {"name": "clinical_product_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_tty": {"name": "clinical_product_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_component_rxcui": {"name": "clinical_product_component_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_compnent_name": {"name": "clinical_product_compnent_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_component_tty": {"name": "clinical_product_component_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "dose_form_rxcui": {"name": "dose_form_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "dose_form_name": {"name": "dose_form_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "dose_form_tty": {"name": "dose_form_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ingredient_rxcui": {"name": "ingredient_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ingredient_name": {"name": "ingredient_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ingredient_tty": {"name": "ingredient_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ingredient_component_rxcui": {"name": "ingredient_component_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ingredient_component_name": {"name": "ingredient_component_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ingredient_component_tty": {"name": "ingredient_component_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ingredient_strength_rxcui": {"name": "ingredient_strength_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ingredient_strength_name": {"name": "ingredient_strength_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "strength_numerator_value": {"name": "strength_numerator_value", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "strength_numerator_unit": {"name": "strength_numerator_unit", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "strength_denominator_value": {"name": "strength_denominator_value", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "strength_denominator_unit": {"name": "strength_denominator_unit", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "strength_text": {"name": "strength_text", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active": {"name": "active", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "prescribable": {"name": "prescribable", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/intermediate/rxnorm/_int_rxnorm__models.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093147.7196562, "relation_name": "\"sagerx\".\"sagerx_dev\".\"int_rxnorm_clinical_products_to_ingredient_strengths\"", "raw_code": "-- int_rxnorm_clinical_products_to_ingredient_strengths.sql\n\nwith\n\nrcp as (\n\n select * from {{ ref('stg_rxnorm__clinical_products') }}\n\n),\n\nrcpcl as (\n\n select * from {{ ref('stg_rxnorm__clinical_product_component_links') }}\n\n),\n\nrcpc as (\n\n select * from {{ ref('stg_rxnorm__clinical_product_components') }}\n\n),\n\nrdf as (\n\n select * from {{ ref('stg_rxnorm__dose_forms') }}\n\n),\n\nri as (\n\n select * from {{ ref('stg_rxnorm__ingredients') }}\n\n),\n\nricl as (\n\n select * from {{ ref('stg_rxnorm__ingredient_component_links') }}\n\n),\n\nric as (\n\n select * from {{ ref('stg_rxnorm__ingredient_components') }}\n\n),\n\nrisl as (\n\n select * from {{ ref('stg_rxnorm__ingredient_strength_links') }}\n\n),\n\nris as (\n\n select * from {{ ref('stg_rxnorm__ingredient_strengths') }}\n\n),\n\npinl as (\n\n select * from {{ ref('stg_rxnorm__precise_ingredient_links') }}\n\n),\n\npin as (\n\n select * from {{ ref('stg_rxnorm__precise_ingredients') }}\n\n)\n\nselect\n rcp.rxcui as clinical_product_rxcui\n , rcp.name as clinical_product_name\n , rcp.tty as clinical_product_tty\n , rcpc.rxcui as clinical_product_component_rxcui\n , rcpc.name as clinical_product_compnent_name\n , rcpc.tty as clinical_product_component_tty\n , rdf.rxcui as dose_form_rxcui\n , rdf.name as dose_form_name\n , rdf.tty as dose_form_tty\n , ri.rxcui as ingredient_rxcui\n , ri.name as ingredient_name\n , ri.tty as ingredient_tty\n , ric.rxcui as ingredient_component_rxcui\n , ric.name as ingredient_component_name\n , ric.tty as ingredient_component_tty\n , ris.rxcui as ingredient_strength_rxcui\n , ris.name as ingredient_strength_name\n , ris.numerator_value as strength_numerator_value\n , ris.numerator_unit as strength_numerator_unit\n , ris.denominator_value as strength_denominator_value\n , ris.denominator_unit as strength_denominator_unit\n , ris.text as strength_text\n , pin.rxcui as precise_ingredient_rxcui\n , pin.name as precise_ingredient_name\n , pin.tty as precise_ingredient_tty\n , rcp.active\n , rcp.prescribable\nfrom rcp \nleft join rcpcl \n on rcp.rxcui = rcpcl.clinical_product_rxcui \nleft join rcpc \n on rcpcl.clinical_product_component_rxcui = rcpc.rxcui \nleft join rdf \n on rcpc.dose_form_rxcui = rdf.rxcui \nleft join ri \n on rcpc.ingredient_rxcui = ri.rxcui \nleft join ricl \n on ri.rxcui = ricl.ingredient_rxcui \nleft join ric \n on ricl.ingredient_component_rxcui = ric.rxcui \nleft join risl \n on rcpc.rxcui = risl.clinical_product_component_rxcui \n and ric.rxcui = risl.ingredient_component_rxcui \nleft join ris \n on risl.ingredient_strength_rxcui = ris.rxcui\nleft join pinl\n on ris.rxcui = pinl.ingredient_strength_rxcui\nleft join pin\n on pinl.precise_ingredient_rxcui = pin.rxcui", "language": "sql", "refs": [{"name": "stg_rxnorm__clinical_products", "package": null, "version": null}, {"name": "stg_rxnorm__clinical_product_component_links", "package": null, "version": null}, {"name": "stg_rxnorm__clinical_product_components", "package": null, "version": null}, {"name": "stg_rxnorm__dose_forms", "package": null, "version": null}, {"name": "stg_rxnorm__ingredients", "package": null, "version": null}, {"name": "stg_rxnorm__ingredient_component_links", "package": null, "version": null}, {"name": "stg_rxnorm__ingredient_components", "package": null, "version": null}, {"name": "stg_rxnorm__ingredient_strength_links", "package": null, "version": null}, {"name": "stg_rxnorm__ingredient_strengths", "package": null, "version": null}, {"name": "stg_rxnorm__precise_ingredient_links", "package": null, "version": null}, {"name": "stg_rxnorm__precise_ingredients", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.sagerx.stg_rxnorm__clinical_products", "model.sagerx.stg_rxnorm__clinical_product_component_links", "model.sagerx.stg_rxnorm__clinical_product_components", "model.sagerx.stg_rxnorm__dose_forms", "model.sagerx.stg_rxnorm__ingredients", "model.sagerx.stg_rxnorm__ingredient_component_links", "model.sagerx.stg_rxnorm__ingredient_components", "model.sagerx.stg_rxnorm__ingredient_strength_links", "model.sagerx.stg_rxnorm__ingredient_strengths", "model.sagerx.stg_rxnorm__precise_ingredient_links", "model.sagerx.stg_rxnorm__precise_ingredients"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.int_rxnorm_clinical_products_to_ingredient_components": {"database": "sagerx", "schema": "sagerx_dev", "name": "int_rxnorm_clinical_products_to_ingredient_components", "resource_type": "model", "package_name": "sagerx", "path": "intermediate/rxnorm/int_rxnorm_clinical_products_to_ingredient_components.sql", "original_file_path": "models/intermediate/rxnorm/int_rxnorm_clinical_products_to_ingredient_components.sql", "unique_id": "model.sagerx.int_rxnorm_clinical_products_to_ingredient_components", "fqn": ["sagerx", "intermediate", "rxnorm", "int_rxnorm_clinical_products_to_ingredient_components"], "alias": "int_rxnorm_clinical_products_to_ingredient_components", "checksum": {"name": "sha256", "checksum": "e3f42f6afb7a05488305fcb8226126b009a4f4ee064685505be72b3cfdca865a"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "RxNorm clinical products to ingredient components.", "columns": {"clinical_product_rxcui": {"name": "clinical_product_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_name": {"name": "clinical_product_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_tty": {"name": "clinical_product_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_component_rxcui": {"name": "clinical_product_component_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_compnent_name": {"name": "clinical_product_compnent_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_component_tty": {"name": "clinical_product_component_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "dose_form_rxcui": {"name": "dose_form_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "dose_form_name": {"name": "dose_form_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "dose_form_tty": {"name": "dose_form_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ingredient_rxcui": {"name": "ingredient_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ingredient_name": {"name": "ingredient_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ingredient_tty": {"name": "ingredient_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ingredient_component_rxcui": {"name": "ingredient_component_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ingredient_component_name": {"name": "ingredient_component_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ingredient_component_tty": {"name": "ingredient_component_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active": {"name": "active", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "prescribable": {"name": "prescribable", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/intermediate/rxnorm/_int_rxnorm__models.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093147.7119534, "relation_name": "\"sagerx\".\"sagerx_dev\".\"int_rxnorm_clinical_products_to_ingredient_components\"", "raw_code": "-- int_rxnorm_clinical_products_to_ingredient_components.sql\n\nwith\n\nrcp as (\n\n select * from {{ ref('stg_rxnorm__clinical_products') }}\n\n),\n\nrcpcl as (\n\n select * from {{ ref('stg_rxnorm__clinical_product_component_links') }}\n\n),\n\nrcpc as (\n\n select * from {{ ref('stg_rxnorm__clinical_product_components') }}\n\n),\n\nrdf as (\n\n select * from {{ ref('stg_rxnorm__dose_forms') }}\n\n),\n\nri as (\n\n select * from {{ ref('stg_rxnorm__ingredients') }}\n\n),\n\nricl as (\n\n select * from {{ ref('stg_rxnorm__ingredient_component_links') }}\n\n),\n\nric as (\n\n select * from {{ ref('stg_rxnorm__ingredient_components') }}\n\n)\n\nselect\n rcp.rxcui as clinical_product_rxcui\n , rcp.name as clinical_product_name\n , rcp.tty as clinical_product_tty\n , rcpc.rxcui as clinical_product_component_rxcui\n , rcpc.name as clinical_product_component_name\n , rcpc.tty as clinical_product_component_tty\n , rdf.rxcui as dose_form_rxcui\n , rdf.name as dose_form_name\n , rdf.tty as dose_form_tty\n , ri.rxcui as ingredient_rxcui\n , ri.name as ingredient_name\n , ri.tty as ingredient_tty\n , ric.rxcui as ingredient_component_rxcui\n , ric.name as ingredient_component_name\n , ric.tty as ingredient_component_tty\n , rcp.active\n , rcp.prescribable\nfrom rcp \nleft join rcpcl \n on rcp.rxcui = rcpcl.clinical_product_rxcui \nleft join rcpc \n on rcpcl.clinical_product_component_rxcui = rcpc.rxcui \nleft join rdf \n on rcpc.dose_form_rxcui = rdf.rxcui \nleft join ri \n on rcpc.ingredient_rxcui = ri.rxcui \nleft join ricl \n on ri.rxcui = ricl.ingredient_rxcui \nleft join ric \n on ricl.ingredient_component_rxcui = ric.rxcui", "language": "sql", "refs": [{"name": "stg_rxnorm__clinical_products", "package": null, "version": null}, {"name": "stg_rxnorm__clinical_product_component_links", "package": null, "version": null}, {"name": "stg_rxnorm__clinical_product_components", "package": null, "version": null}, {"name": "stg_rxnorm__dose_forms", "package": null, "version": null}, {"name": "stg_rxnorm__ingredients", "package": null, "version": null}, {"name": "stg_rxnorm__ingredient_component_links", "package": null, "version": null}, {"name": "stg_rxnorm__ingredient_components", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.sagerx.stg_rxnorm__clinical_products", "model.sagerx.stg_rxnorm__clinical_product_component_links", "model.sagerx.stg_rxnorm__clinical_product_components", "model.sagerx.stg_rxnorm__dose_forms", "model.sagerx.stg_rxnorm__ingredients", "model.sagerx.stg_rxnorm__ingredient_component_links", "model.sagerx.stg_rxnorm__ingredient_components"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.int_rxnorm_all_ndcs_to_product_rxcuis": {"database": "sagerx", "schema": "sagerx_dev", "name": "int_rxnorm_all_ndcs_to_product_rxcuis", "resource_type": "model", "package_name": "sagerx", "path": "intermediate/rxnorm/int_rxnorm_all_ndcs_to_product_rxcuis.sql", "original_file_path": "models/intermediate/rxnorm/int_rxnorm_all_ndcs_to_product_rxcuis.sql", "unique_id": "model.sagerx.int_rxnorm_all_ndcs_to_product_rxcuis", "fqn": ["sagerx", "intermediate", "rxnorm", "int_rxnorm_all_ndcs_to_product_rxcuis"], "alias": "int_rxnorm_all_ndcs_to_product_rxcuis", "checksum": {"name": "sha256", "checksum": "f0fefe49a987d7bbe7864ff032d8bacbbe3ec9d248b9b27882a2a0ef789ff775"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093147.4687011, "relation_name": "\"sagerx\".\"sagerx_dev\".\"int_rxnorm_all_ndcs_to_product_rxcuis\"", "raw_code": "with all_ndcs as\n(\n select * from {{ ref('stg_rxnorm__all_ndcs') }}\n),\n\nproduct_rxcuis as\n(\n select * from sagerx_lake.rxnorm_rxnconso\n where sab = 'RXNORM'\n and tty in ('SCD', 'SBD', 'GPCK', 'BPCK')\n)\n\nselect distinct\n all_ndcs.ndc11\n , product_rxcuis.rxcui\nfrom all_ndcs\ninner join product_rxcuis\n on all_ndcs.rxcui = product_rxcuis.rxcui", "language": "sql", "refs": [{"name": "stg_rxnorm__all_ndcs", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.sagerx.stg_rxnorm__all_ndcs"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.int_mthspl_products_to_active_moieties": {"database": "sagerx", "schema": "sagerx_dev", "name": "int_mthspl_products_to_active_moieties", "resource_type": "model", "package_name": "sagerx", "path": "intermediate/rxnorm/int_mthspl_products_to_active_moieties.sql", "original_file_path": "models/intermediate/rxnorm/int_mthspl_products_to_active_moieties.sql", "unique_id": "model.sagerx.int_mthspl_products_to_active_moieties", "fqn": ["sagerx", "intermediate", "rxnorm", "int_mthspl_products_to_active_moieties"], "alias": "int_mthspl_products_to_active_moieties", "checksum": {"name": "sha256", "checksum": "685e41f8e1c0139fe6eb544e9d54becd06b5ae5bab0013d7cc4025510eca38a8"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "NLM SPL products to active moieties.", "columns": {"ndc9": {"name": "ndc9", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ndc": {"name": "ndc", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_rxcui": {"name": "product_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_name": {"name": "product_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_tty": {"name": "product_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active_moiety_unii": {"name": "active_moiety_unii", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active_moiety_rxcui": {"name": "active_moiety_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active_moiety_name": {"name": "active_moiety_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active_moiety_tty": {"name": "active_moiety_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active": {"name": "active", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "prescribable": {"name": "prescribable", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/intermediate/rxnorm/_int_rxnorm__models.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093147.6869085, "relation_name": "\"sagerx\".\"sagerx_dev\".\"int_mthspl_products_to_active_moieties\"", "raw_code": "-- int_mthspl_products_to_active_moieties.sql\n\nwith\n\nsubstance as (\n\n select * from {{ ref('stg_rxnorm__mthspl_substances') }}\n\n),\n\nproduct as (\n\n select * from {{ ref('stg_rxnorm__mthspl_products') }}\n\n)\n\nselect distinct\n concat(lpad(split_part(product.ndc,'-', 1), 5, '0'), lpad(split_part(product.ndc,'-', 2), 4, '0')) as ndc9\n , product.ndc as ndc\n , product.rxcui as product_rxcui\n , product.name as product_name\n , product.tty as product_tty\n , substance.unii as active_moiety_unii\n , substance.rxcui as active_moiety_rxcui\n , substance.name as active_moiety_name\n , substance.tty as active_moiety_tty\t\n , product.active as active\n , product.prescribable as prescribable\nfrom sagerx_lake.rxnorm_rxnrel rxnrel\ninner join substance\n on rxnrel.rxaui1 = substance.rxaui\ninner join product\n on rxnrel.rxaui2 = product.rxaui\nwhere rela = 'has_active_moiety'", "language": "sql", "refs": [{"name": "stg_rxnorm__mthspl_substances", "package": null, "version": null}, {"name": "stg_rxnorm__mthspl_products", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.sagerx.stg_rxnorm__mthspl_substances", "model.sagerx.stg_rxnorm__mthspl_products"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.int_mthspl_products_to_inactive_ingredients": {"database": "sagerx", "schema": "sagerx_dev", "name": "int_mthspl_products_to_inactive_ingredients", "resource_type": "model", "package_name": "sagerx", "path": "intermediate/rxnorm/int_mthspl_products_to_inactive_ingredients.sql", "original_file_path": "models/intermediate/rxnorm/int_mthspl_products_to_inactive_ingredients.sql", "unique_id": "model.sagerx.int_mthspl_products_to_inactive_ingredients", "fqn": ["sagerx", "intermediate", "rxnorm", "int_mthspl_products_to_inactive_ingredients"], "alias": "int_mthspl_products_to_inactive_ingredients", "checksum": {"name": "sha256", "checksum": "54236ec569ccd0c98dee979bf34389d1dfd2e6e6bb1dadfe4436f2554ca6ac7e"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "NLM SPL products to inactive ingredients.", "columns": {"ndc9": {"name": "ndc9", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ndc": {"name": "ndc", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_rxcui": {"name": "product_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_name": {"name": "product_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_tty": {"name": "product_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "inactive_ingredient_unii": {"name": "inactive_ingredient_unii", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "inactive_ingredient_rxcui": {"name": "inactive_ingredient_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "inactive_ingredient_name": {"name": "inactive_ingredient_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "inactive_ingredient_tty": {"name": "inactive_ingredient_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active": {"name": "active", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "prescribable": {"name": "prescribable", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/intermediate/rxnorm/_int_rxnorm__models.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093147.6830442, "relation_name": "\"sagerx\".\"sagerx_dev\".\"int_mthspl_products_to_inactive_ingredients\"", "raw_code": "-- int_mthspl_products_to_inactive_ingredients.sql\n\nwith\n\nsubstance as (\n\n select * from {{ ref('stg_rxnorm__mthspl_substances') }}\n\n),\n\nproduct as (\n\n select * from {{ ref('stg_rxnorm__mthspl_products') }}\n\n)\n\nselect distinct\n concat(lpad(split_part(product.ndc,'-', 1), 5, '0'), lpad(split_part(product.ndc,'-', 2), 4, '0')) as ndc9\n , product.ndc as ndc\n , product.rxcui as product_rxcui\n , product.name as product_name\n , product.tty as product_tty\n , substance.unii as inactive_ingredient_unii\n , substance.rxcui as inactive_ingredient_rxcui\n , substance.name as inactive_ingredient_name\n , substance.tty as inactive_ingredient_tty\t\n , product.active as active\n , product.prescribable as prescribable\nfrom sagerx_lake.rxnorm_rxnrel rxnrel\ninner join substance\n on rxnrel.rxaui1 = substance.rxaui\ninner join product\n on rxnrel.rxaui2 = product.rxaui\nwhere rela = 'has_inactive_ingredient'", "language": "sql", "refs": [{"name": "stg_rxnorm__mthspl_substances", "package": null, "version": null}, {"name": "stg_rxnorm__mthspl_products", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.sagerx.stg_rxnorm__mthspl_substances", "model.sagerx.stg_rxnorm__mthspl_products"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.int_rxnorm_clinical_products_to_ingredients": {"database": "sagerx", "schema": "sagerx_dev", "name": "int_rxnorm_clinical_products_to_ingredients", "resource_type": "model", "package_name": "sagerx", "path": "intermediate/rxnorm/int_rxnorm_clinical_products_to_ingredients.sql", "original_file_path": "models/intermediate/rxnorm/int_rxnorm_clinical_products_to_ingredients.sql", "unique_id": "model.sagerx.int_rxnorm_clinical_products_to_ingredients", "fqn": ["sagerx", "intermediate", "rxnorm", "int_rxnorm_clinical_products_to_ingredients"], "alias": "int_rxnorm_clinical_products_to_ingredients", "checksum": {"name": "sha256", "checksum": "44e50556bee95d8f49a7173383ab0e9c0955de650e6450fe4964cb183587e3a1"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "RxNorm clinical products to ingredients.", "columns": {"clinical_product_rxcui": {"name": "clinical_product_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_name": {"name": "clinical_product_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_tty": {"name": "clinical_product_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_component_rxcui": {"name": "clinical_product_component_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_compnent_name": {"name": "clinical_product_compnent_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_component_tty": {"name": "clinical_product_component_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "dose_form_rxcui": {"name": "dose_form_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "dose_form_name": {"name": "dose_form_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "dose_form_tty": {"name": "dose_form_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ingredient_rxcui": {"name": "ingredient_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ingredient_name": {"name": "ingredient_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ingredient_tty": {"name": "ingredient_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active": {"name": "active", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "prescribable": {"name": "prescribable", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/intermediate/rxnorm/_int_rxnorm__models.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093147.706367, "relation_name": "\"sagerx\".\"sagerx_dev\".\"int_rxnorm_clinical_products_to_ingredients\"", "raw_code": "-- int_rxnorm_clinical_products_to_ingredients.sql\n\nwith\n\nrcp as (\n\n select * from {{ ref('stg_rxnorm__clinical_products') }}\n\n),\n\nrcpcl as (\n\n select * from {{ ref('stg_rxnorm__clinical_product_component_links') }}\n\n),\n\nrcpc as (\n\n select * from {{ ref('stg_rxnorm__clinical_product_components') }}\n\n),\n\nrdf as (\n\n select * from {{ ref('stg_rxnorm__dose_forms') }}\n\n),\n\nri as (\n\n select * from {{ ref('stg_rxnorm__ingredients') }}\n\n)\n\nselect\n rcp.rxcui as clinical_product_rxcui\n , rcp.name as clinical_product_name\n , rcp.tty as clinical_product_tty\n , rcpc.rxcui as clinical_product_component_rxcui\n , rcpc.name as clinical_product_compnent_name\n , rcpc.tty as clinical_product_component_tty\n , rdf.rxcui as dose_form_rxcui\n , rdf.name as dose_form_name\n , rdf.tty as dose_form_tty\n , ri.rxcui as ingredient_rxcui\n , ri.name as ingredient_name\n , ri.tty as ingredient_tty\n , rcp.active\n , rcp.prescribable \nfrom rcp \nleft join rcpcl \n on rcp.rxcui = rcpcl.clinical_product_rxcui \nleft join rcpc \n on rcpcl.clinical_product_component_rxcui = rcpc.rxcui \nleft join rdf \n on rcpc.dose_form_rxcui = rdf.rxcui \nleft join ri \n on rcpc.ingredient_rxcui = ri.rxcui", "language": "sql", "refs": [{"name": "stg_rxnorm__clinical_products", "package": null, "version": null}, {"name": "stg_rxnorm__clinical_product_component_links", "package": null, "version": null}, {"name": "stg_rxnorm__clinical_product_components", "package": null, "version": null}, {"name": "stg_rxnorm__dose_forms", "package": null, "version": null}, {"name": "stg_rxnorm__ingredients", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.sagerx.stg_rxnorm__clinical_products", "model.sagerx.stg_rxnorm__clinical_product_component_links", "model.sagerx.stg_rxnorm__clinical_product_components", "model.sagerx.stg_rxnorm__dose_forms", "model.sagerx.stg_rxnorm__ingredients"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.int_rxnorm_clinical_products_to_ndcs": {"database": "sagerx", "schema": "sagerx_dev", "name": "int_rxnorm_clinical_products_to_ndcs", "resource_type": "model", "package_name": "sagerx", "path": "intermediate/rxnorm/int_rxnorm_clinical_products_to_ndcs.sql", "original_file_path": "models/intermediate/rxnorm/int_rxnorm_clinical_products_to_ndcs.sql", "unique_id": "model.sagerx.int_rxnorm_clinical_products_to_ndcs", "fqn": ["sagerx", "intermediate", "rxnorm", "int_rxnorm_clinical_products_to_ndcs"], "alias": "int_rxnorm_clinical_products_to_ndcs", "checksum": {"name": "sha256", "checksum": "6afce76f004dcf22b503c53fe2d8acabc46da926bd17e67ed984d0ce6c332f13"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "RxNorm clinical products to NDCs.", "columns": {"clinical_product_rxcui": {"name": "clinical_product_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_name": {"name": "clinical_product_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_tty": {"name": "clinical_product_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_component_rxcui": {"name": "clinical_product_component_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_compnent_name": {"name": "clinical_product_compnent_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_component_tty": {"name": "clinical_product_component_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "dose_form_rxcui": {"name": "dose_form_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "dose_form_name": {"name": "dose_form_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "dose_form_tty": {"name": "dose_form_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ingredient_rxcui": {"name": "ingredient_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ingredient_name": {"name": "ingredient_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ingredient_tty": {"name": "ingredient_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "brand_product_rxcui": {"name": "brand_product_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ndc": {"name": "ndc", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active": {"name": "active", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "prescribable": {"name": "prescribable", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/intermediate/rxnorm/_int_rxnorm__models.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093147.7016191, "relation_name": "\"sagerx\".\"sagerx_dev\".\"int_rxnorm_clinical_products_to_ndcs\"", "raw_code": "-- int_rxnorm_clinical_products_to_ndcs.sql\n\nwith\n\nrcp as (\n\n select * from {{ ref('stg_rxnorm__clinical_products') }}\n\n),\n\nrcpcl as (\n\n select * from {{ ref('stg_rxnorm__clinical_product_component_links') }}\n\n),\n\nrcpc as (\n\n select * from {{ ref('stg_rxnorm__clinical_product_components') }}\n\n),\n\nrdf as (\n\n select * from {{ ref('stg_rxnorm__dose_forms') }}\n\n),\n\nri as (\n\n select * from {{ ref('stg_rxnorm__ingredients') }}\n\n),\n\nrn as (\n\n select * from {{ ref('stg_rxnorm__ndcs') }}\n\n)\n\nselect\n rcp.rxcui as clinical_product_rxcui\n , rcp.name as clinical_product_name\n , rcp.tty as clinical_product_tty\n , rcpc.rxcui as clinical_product_component_rxcui\n , rcpc.name as clinical_product_compnent_name\n , rcpc.tty as clinical_product_component_tty\n , rdf.rxcui as dose_form_rxcui\n , rdf.name as dose_form_name\n , rdf.tty as dose_form_tty\n , ri.rxcui as ingredient_rxcui\n , ri.name as ingredient_name\n , ri.tty as ingredient_tty\n , rn.brand_product_rxcui\n , rn.ndc\n , rcp.active\n , rcp.prescribable\nfrom rcp \nleft join rcpcl \n on rcp.rxcui = rcpcl.clinical_product_rxcui \nleft join rcpc \n on rcpcl.clinical_product_component_rxcui = rcpc.rxcui \nleft join rdf \n on rcpc.dose_form_rxcui = rdf.rxcui \nleft join ri \n on rcpc.ingredient_rxcui = ri.rxcui \nleft join rn\n on rcp.rxcui = rn.clinical_product_rxcui", "language": "sql", "refs": [{"name": "stg_rxnorm__clinical_products", "package": null, "version": null}, {"name": "stg_rxnorm__clinical_product_component_links", "package": null, "version": null}, {"name": "stg_rxnorm__clinical_product_components", "package": null, "version": null}, {"name": "stg_rxnorm__dose_forms", "package": null, "version": null}, {"name": "stg_rxnorm__ingredients", "package": null, "version": null}, {"name": "stg_rxnorm__ndcs", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.sagerx.stg_rxnorm__clinical_products", "model.sagerx.stg_rxnorm__clinical_product_component_links", "model.sagerx.stg_rxnorm__clinical_product_components", "model.sagerx.stg_rxnorm__dose_forms", "model.sagerx.stg_rxnorm__ingredients", "model.sagerx.stg_rxnorm__ndcs"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.int_mthspl_products_to_active_ingredients": {"database": "sagerx", "schema": "sagerx_dev", "name": "int_mthspl_products_to_active_ingredients", "resource_type": "model", "package_name": "sagerx", "path": "intermediate/rxnorm/int_mthspl_products_to_active_ingredients.sql", "original_file_path": "models/intermediate/rxnorm/int_mthspl_products_to_active_ingredients.sql", "unique_id": "model.sagerx.int_mthspl_products_to_active_ingredients", "fqn": ["sagerx", "intermediate", "rxnorm", "int_mthspl_products_to_active_ingredients"], "alias": "int_mthspl_products_to_active_ingredients", "checksum": {"name": "sha256", "checksum": "3cc5124093e4e1267ce601801974541addfa9c4794cd1a8d5df8b9495e9a5a56"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "NLM SPL products to active ingredients.", "columns": {"ndc9": {"name": "ndc9", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ndc": {"name": "ndc", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_rxcui": {"name": "product_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_name": {"name": "product_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_tty": {"name": "product_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active_ingredient_unii": {"name": "active_ingredient_unii", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active_ingredient_rxcui": {"name": "active_ingredient_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active_ingredient_name": {"name": "active_ingredient_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active_ingredient_tty": {"name": "active_ingredient_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active": {"name": "active", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "prescribable": {"name": "prescribable", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/intermediate/rxnorm/_int_rxnorm__models.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093147.6792476, "relation_name": "\"sagerx\".\"sagerx_dev\".\"int_mthspl_products_to_active_ingredients\"", "raw_code": "-- int_mthspl_products_to_active_ingredients.sql\n\nwith\n\nsubstance as (\n\n select * from {{ ref('stg_rxnorm__mthspl_substances') }}\n\n),\n\nproduct as (\n\n select * from {{ ref('stg_rxnorm__mthspl_products') }}\n\n)\n\nselect distinct\n concat(lpad(split_part(product.ndc,'-', 1), 5, '0'), lpad(split_part(product.ndc,'-', 2), 4, '0')) as ndc9\n , product.ndc as ndc\n , product.rxcui as product_rxcui\n , product.name as product_name\n , product.tty as product_tty\n , substance.unii as active_ingredient_unii\n , substance.rxcui as active_ingredient_rxcui\n , substance.name as active_ingredient_name\n , substance.tty as active_ingredient_tty\t\n , product.active as active\n , product.prescribable as prescribable\nfrom sagerx_lake.rxnorm_rxnrel rxnrel\ninner join substance\n on rxnrel.rxaui1 = substance.rxaui\ninner join product\n on rxnrel.rxaui2 = product.rxaui\nwhere rela = 'has_active_ingredient'", "language": "sql", "refs": [{"name": "stg_rxnorm__mthspl_substances", "package": null, "version": null}, {"name": "stg_rxnorm__mthspl_products", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.sagerx.stg_rxnorm__mthspl_substances", "model.sagerx.stg_rxnorm__mthspl_products"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.int_rxnorm_clinical_products_to_clinical_product_components": {"database": "sagerx", "schema": "sagerx_dev", "name": "int_rxnorm_clinical_products_to_clinical_product_components", "resource_type": "model", "package_name": "sagerx", "path": "intermediate/rxnorm/int_rxnorm_clinical_products_to_clinical_product_components.sql", "original_file_path": "models/intermediate/rxnorm/int_rxnorm_clinical_products_to_clinical_product_components.sql", "unique_id": "model.sagerx.int_rxnorm_clinical_products_to_clinical_product_components", "fqn": ["sagerx", "intermediate", "rxnorm", "int_rxnorm_clinical_products_to_clinical_product_components"], "alias": "int_rxnorm_clinical_products_to_clinical_product_components", "checksum": {"name": "sha256", "checksum": "7a88bc57ff6851c59b97538050210d668eaad6a0c2958d182cb37f7cad43b8c1"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "RxNorm clinical products to clinical product components.", "columns": {"clinical_product_rxcui": {"name": "clinical_product_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_name": {"name": "clinical_product_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_tty": {"name": "clinical_product_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_component_rxcui": {"name": "clinical_product_component_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_compnent_name": {"name": "clinical_product_compnent_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_component_tty": {"name": "clinical_product_component_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active": {"name": "active", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "prescribable": {"name": "prescribable", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/intermediate/rxnorm/_int_rxnorm__models.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093147.6925092, "relation_name": "\"sagerx\".\"sagerx_dev\".\"int_rxnorm_clinical_products_to_clinical_product_components\"", "raw_code": "-- int_rxnorm_clinical_products_to_clinical_product_components.sql\n\nwith\n\nndc as (\n\n select * from {{ ref('stg_rxnorm__ndcs') }}\n\n),\n\nrcp as (\n\n select * from {{ ref('stg_rxnorm__clinical_products') }}\n\n),\n\nrcpcl as (\n\n select * from {{ ref('stg_rxnorm__clinical_product_component_links') }}\n\n),\n\nrcpc as (\n\n select * from {{ ref('stg_rxnorm__clinical_product_components') }}\n\n)\n\nselect\n rcp.rxcui as clinical_product_rxcui\n , rcp.name as clinical_product_name\n , rcp.tty as clinical_product_tty\n , rcpc.rxcui as clinical_product_component_rxcui\n , rcpc.name as clinical_product_compnent_name\n , rcpc.tty as clinical_product_component_tty\n , rcp.active\n , rcp.prescribable\nfrom rcp \nleft join rcpcl \n on rcp.rxcui = rcpcl.clinical_product_rxcui \nleft join rcpc \n on rcpcl.clinical_product_component_rxcui = rcpc.rxcui", "language": "sql", "refs": [{"name": "stg_rxnorm__ndcs", "package": null, "version": null}, {"name": "stg_rxnorm__clinical_products", "package": null, "version": null}, {"name": "stg_rxnorm__clinical_product_component_links", "package": null, "version": null}, {"name": "stg_rxnorm__clinical_product_components", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.sagerx.stg_rxnorm__ndcs", "model.sagerx.stg_rxnorm__clinical_products", "model.sagerx.stg_rxnorm__clinical_product_component_links", "model.sagerx.stg_rxnorm__clinical_product_components"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.int_rxnorm_ndcs_to_products": {"database": "sagerx", "schema": "sagerx_dev", "name": "int_rxnorm_ndcs_to_products", "resource_type": "model", "package_name": "sagerx", "path": "intermediate/rxnorm/int_rxnorm_ndcs_to_products.sql", "original_file_path": "models/intermediate/rxnorm/int_rxnorm_ndcs_to_products.sql", "unique_id": "model.sagerx.int_rxnorm_ndcs_to_products", "fqn": ["sagerx", "intermediate", "rxnorm", "int_rxnorm_ndcs_to_products"], "alias": "int_rxnorm_ndcs_to_products", "checksum": {"name": "sha256", "checksum": "44c827c46f0990ec5de8dcb49ab21baf7670212ba73d967a1f04baec60a49103"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "RxNorm NDCs to products. Will return brand product if NDC is brand name, or generic product if NDC is generic.", "columns": {"ndc": {"name": "ndc", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_rxcui": {"name": "product_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_name": {"name": "product_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_tty": {"name": "product_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_rxcui": {"name": "clinical_product_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_name": {"name": "clinical_product_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_tty": {"name": "clinical_product_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/intermediate/rxnorm/_int_rxnorm__models.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093147.6895146, "relation_name": "\"sagerx\".\"sagerx_dev\".\"int_rxnorm_ndcs_to_products\"", "raw_code": "-- int_rxnorm_ndcs_to_products.sql\n\nwith\n\nndc as (\n\n select * from {{ ref('stg_rxnorm__ndcs') }}\n\n),\n\nrcp as (\n\n select * from {{ ref('stg_rxnorm__clinical_products') }}\n\n),\n\nrbp as (\n\n select * from {{ ref('stg_rxnorm__brand_products') }}\n\n)\n\nselect distinct\n ndc\n , coalesce(rbp.rxcui, rcp.rxcui, null) as product_rxcui\n , coalesce(rbp.name, rcp.name, null) as product_name\n , coalesce(rbp.tty, rcp.tty, null) as product_tty\n , rcp.rxcui as clinical_product_rxcui\n , rcp.name as clinical_product_name\n , rcp.tty as clinical_product_tty\nfrom ndc\nleft join rcp \n on ndc.clinical_product_rxcui = rcp.rxcui\nleft join rbp\n on ndc.brand_product_rxcui = rbp.rxcui", "language": "sql", "refs": [{"name": "stg_rxnorm__ndcs", "package": null, "version": null}, {"name": "stg_rxnorm__clinical_products", "package": null, "version": null}, {"name": "stg_rxnorm__brand_products", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.sagerx.stg_rxnorm__ndcs", "model.sagerx.stg_rxnorm__clinical_products", "model.sagerx.stg_rxnorm__brand_products"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.int_inactive_ingredients_to_fda_enforcement_reports": {"database": "sagerx", "schema": "sagerx_dev", "name": "int_inactive_ingredients_to_fda_enforcement_reports", "resource_type": "model", "package_name": "sagerx", "path": "intermediate/fda_enforcement/int_inactive_ingredients_to_fda_enforcement_reports.sql", "original_file_path": "models/intermediate/fda_enforcement/int_inactive_ingredients_to_fda_enforcement_reports.sql", "unique_id": "model.sagerx.int_inactive_ingredients_to_fda_enforcement_reports", "fqn": ["sagerx", "intermediate", "fda_enforcement", "int_inactive_ingredients_to_fda_enforcement_reports"], "alias": "int_inactive_ingredients_to_fda_enforcement_reports", "checksum": {"name": "sha256", "checksum": "339b1e9e15e40525eaf632441f0b59ebf6b9fb881ef4aa09672648c5178a8aa3"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093147.4945974, "relation_name": "\"sagerx\".\"sagerx_dev\".\"int_inactive_ingredients_to_fda_enforcement_reports\"", "raw_code": "with\n\nregex_ndcs as (\n\n select * from {{ ref('stg_fda_enforcement__regex_ndcs') }}\n\n),\n\njson_ndcs as (\n\n select * from {{ ref('stg_fda_enforcement__json_ndcs') }}\n\n),\n\nenf as (\n -- UNION RegEx NDCs from description and JSON NDCs from OpenFDA column\n -- NOTE: UNION removes duplicates by default, which is what we want here\n select * from (\n -- first get only the NDCs from combined RegEx and JSON enforcement report data\n select \n recall_number\n , ndc11\n , ndc9\n from regex_ndcs\n \n union\n \n select\n recall_number\n , ndc11\n , ndc9\n from json_ndcs\n ) enf_ndcs\n -- then, join NDCs with application numbers, where they exist from JSON data\n left join (\n -- get distinct NDC11 -> application numbers so as to not blow up granularity\n select\n ndc11\n , app_num\n from json_ndcs\n group by\n ndc11\n , app_num\n ) json_app_num\n on enf_ndcs.ndc11 = json_app_num.ndc11\n),\n\nndc as (\n\n select * from {{ ref('int_rxnorm_ndcs_to_products') }}\n\n),\n\ning as (\n\n select * from {{ ref('int_rxnorm_clinical_products_to_ingredients') }}\n\n),\n\nspl as (\n\n select * from {{ ref('int_mthspl_products_to_inactive_ingredients') }}\n\n),\n\nfda as (\n\n select * from {{ ref('stg_fda_ndc__ndcs') }}\n\n)\n\nselect distinct\n ndc.ndc as ndc11\n , left(ndc.ndc, 9) as ndc9\n , ndc.product_rxcui\n , ndc.product_name\n , ndc.product_tty\n , ndc.clinical_product_rxcui\n , ndc.clinical_product_name\n , ndc.clinical_product_tty\n , ing.ingredient_rxcui as active_ingredient_rxcui\n , ing.ingredient_name as active_ingredient_name\n , ing.ingredient_tty as active_ingredient_tty\n -- if FDA NDC Directory has an application number, use that...\n -- otherwise, use the application number from the enforcement report JSON\n , coalesce(fda.applicationnumber, enf.app_num) as application_number\n , fda.labelername as labeler\n , enf.recall_number\n , spl.inactive_ingredient_unii\n , spl.inactive_ingredient_rxcui\n , spl.inactive_ingredient_name\n , spl.inactive_ingredient_tty\n-- RxNorm NDCs that have one of the ingredients in the WHERE clause\nfrom ndc\n-- clinical product and related active ingredients for each NDC\nleft join ing\n on ing.clinical_product_rxcui = ndc.clinical_product_rxcui\n-- FDA enforcement reports (UNION of RegEx and JSON) joined on NDC9\nleft join enf\n on enf.ndc9 = left(ndc.ndc, 9)\n-- DailyMed SPL inactive ingredients joined on NDC9\nleft join spl\n on spl.ndc9 = left(ndc.ndc, 9)\n-- FDA NDC Directory joined on NDC11 to pull in application number\nleft join fda\n on fda.ndc11 = ndc.ndc", "language": "sql", "refs": [{"name": "stg_fda_enforcement__regex_ndcs", "package": null, "version": null}, {"name": "stg_fda_enforcement__json_ndcs", "package": null, "version": null}, {"name": "int_rxnorm_ndcs_to_products", "package": null, "version": null}, {"name": "int_rxnorm_clinical_products_to_ingredients", "package": null, "version": null}, {"name": "int_mthspl_products_to_inactive_ingredients", "package": null, "version": null}, {"name": "stg_fda_ndc__ndcs", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.sagerx.stg_fda_enforcement__regex_ndcs", "model.sagerx.stg_fda_enforcement__json_ndcs", "model.sagerx.int_rxnorm_ndcs_to_products", "model.sagerx.int_rxnorm_clinical_products_to_ingredients", "model.sagerx.int_mthspl_products_to_inactive_ingredients", "model.sagerx.stg_fda_ndc__ndcs"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.int_fda_ndc_to_te": {"database": "sagerx", "schema": "sagerx_dev", "name": "int_fda_ndc_to_te", "resource_type": "model", "package_name": "sagerx", "path": "intermediate/orange_book/int_fda_ndc_to_te.sql", "original_file_path": "models/intermediate/orange_book/int_fda_ndc_to_te.sql", "unique_id": "model.sagerx.int_fda_ndc_to_te", "fqn": ["sagerx", "intermediate", "orange_book", "int_fda_ndc_to_te"], "alias": "int_fda_ndc_to_te", "checksum": {"name": "sha256", "checksum": "064213e3149de0b74e4be16eabacec53d49fd1b68ff22b937a6bab35ae298e21"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "> DISCLAIMER: This model is under development and incomplete.\n\nThis is an attempt at an NDC-level mapping of Orange Book TE codes. There are cases in Orange Book where two different strengths of a given ANDA have different TE codes. This means within an ANDA, two different NDCs could have different TE codes.\n\nThe problem we're encountering is that there's not a reliable / programmatic way to get from the strength of a product in Orange Book and the strength of the product in the FDA NDC Directory.\n\nBecause I can't figure out NDC-level mapping, I only include applications with a single OB TE code.\n\nAgain - please only treat this as the beginning of a proof of concept and do not use for clinical or other purposes.\n", "columns": {"ndc11": {"name": "ndc11", "description": "The NDC11 of the product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "application_number": {"name": "application_number", "description": "The ANDA / NDA / etc number.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "te_code": {"name": "te_code", "description": "The full therapeutic equvalency (TE) code as listed within Orange Book.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "first_two_te_code": {"name": "first_two_te_code", "description": "Just the first two characters of the TE code - for ease of use downstream.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "first_one_te_code": {"name": "first_one_te_code", "description": "Just the first character of the TE code - for ease of use downstream.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/intermediate/orange_book/_int_orange_book__models.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093147.721786, "relation_name": "\"sagerx\".\"sagerx_dev\".\"int_fda_ndc_to_te\"", "raw_code": "-- DISCLAIMER: This model is under development and incomplete.\n\nwith cte as (\n select\n fda.ndc11\n , obp.te_code\n , count(fda.ndc11) over( partition by fda.ndc11 ) as num_te_codes\n from {{ source('orange_book', 'orange_book_products') }} as obp\n inner join {{ ref('stg_fda_ndc__ndcs') }} as fda \n on concat(case when obp.appl_type = 'A' then 'ANDA' else 'NDA' end, obp.appl_no) = fda.applicationnumber\n group by fda.ndc11, obp.te_code\n)\nselect\n fda.ndc11\n , fda.applicationnumber as application_number\n , cte.te_code\n , left(cte.te_code, 2) as first_two_te_code\n , left(cte.te_code, 1) as first_one_te_code\nfrom {{ ref('stg_fda_ndc__ndcs') }} as fda \ninner join cte \n on fda.ndc11 = cte.ndc11 \n and cte.num_te_codes = 1", "language": "sql", "refs": [{"name": "stg_fda_ndc__ndcs", "package": null, "version": null}, {"name": "stg_fda_ndc__ndcs", "package": null, "version": null}], "sources": [["orange_book", "orange_book_products"]], "metrics": [], "depends_on": {"macros": [], "nodes": ["source.sagerx.orange_book.orange_book_products", "model.sagerx.stg_fda_ndc__ndcs", "model.sagerx.stg_fda_ndc__ndcs"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.stg_fda_excluded__classes": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_fda_excluded__classes", "resource_type": "model", "package_name": "sagerx", "path": "staging/fda_excluded/stg_fda_excluded__classes.sql", "original_file_path": "models/staging/fda_excluded/stg_fda_excluded__classes.sql", "unique_id": "model.sagerx.stg_fda_excluded__classes", "fqn": ["sagerx", "staging", "fda_excluded", "stg_fda_excluded__classes"], "alias": "stg_fda_excluded__classes", "checksum": {"name": "sha256", "checksum": "e7ded88e88ad4695643693d642b530d2f1f8d5c43a88cf8682cf0c483d41f34c"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "Product-level class information", "columns": {"productid": {"name": "productid", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "class_line": {"name": "class_line", "description": "Product can have multiple classes. This is the line number of the class.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "class_name": {"name": "class_name", "description": "Name of the pharmaceutical class.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "class_type": {"name": "class_type", "description": "Options include Chemical/Ingredient, EXT, PE, MoA, CS, and EPC.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/fda_excluded/_fda_excluded__models.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093147.7497387, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_fda_excluded__classes\"", "raw_code": "-- stg_fda_excluded__classes.sql\n\nwith\n\nproduct as (\n \n select * from {{ source('fda_excluded', 'fda_excluded_product') }}\n\n)\n\nselect\n\tz.productid\n\t, row_number() over (partition by z.productid order by z.token desc) as class_line\n\t, trim(left(z.token, position('[' in z.token) -1 )) as class_name\n , substring(z.token, '\\[(.+)\\]') as class_type\nfrom (select distinct product.productid\n\t, product.pharm_classes\n\t, s.token\n\tfrom product, unnest(string_to_array(product.pharm_classes, ',')) s(token)) z", "language": "sql", "refs": [], "sources": [["fda_excluded", "fda_excluded_product"]], "metrics": [], "depends_on": {"macros": [], "nodes": ["source.sagerx.fda_excluded.fda_excluded_product"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.stg_fda_excluded__substances": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_fda_excluded__substances", "resource_type": "model", "package_name": "sagerx", "path": "staging/fda_excluded/stg_fda_excluded__substances.sql", "original_file_path": "models/staging/fda_excluded/stg_fda_excluded__substances.sql", "unique_id": "model.sagerx.stg_fda_excluded__substances", "fqn": ["sagerx", "staging", "fda_excluded", "stg_fda_excluded__substances"], "alias": "stg_fda_excluded__substances", "checksum": {"name": "sha256", "checksum": "e45d3639266d19c170a2fb6b993a10155407df054845a78198c01b1b699864eb"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "Product-level substance information", "columns": {"productid": {"name": "productid", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "substance_line": {"name": "substance_line", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "substancename": {"name": "substancename", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active_numerator_strength": {"name": "active_numerator_strength", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active_ingred_unit": {"name": "active_ingred_unit", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/fda_excluded/_fda_excluded__models.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093147.7517009, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_fda_excluded__substances\"", "raw_code": "-- stg_fda_excluded__substances.sql\n\nwith\n\nproduct as (\n \n select * from {{ source('fda_excluded', 'fda_excluded_product') }}\n\n)\n\nselect distinct\n\tproduct.productid\n\t, row_number() over (partition by product.productid) as substance_line\n\t, arr.*\nfrom product\n\t, unnest(string_to_array(product.substancename, '; ')\n\t\t, string_to_array(product.active_numerator_strength, '; ')\n\t\t, string_to_array(product.active_ingred_unit, '; ')\n\t) arr(substancename, active_numerator_strength, active_ingred_unit)", "language": "sql", "refs": [], "sources": [["fda_excluded", "fda_excluded_product"]], "metrics": [], "depends_on": {"macros": [], "nodes": ["source.sagerx.fda_excluded.fda_excluded_product"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.stg_fda_excluded__ndcs": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_fda_excluded__ndcs", "resource_type": "model", "package_name": "sagerx", "path": "staging/fda_excluded/stg_fda_excluded__ndcs.sql", "original_file_path": "models/staging/fda_excluded/stg_fda_excluded__ndcs.sql", "unique_id": "model.sagerx.stg_fda_excluded__ndcs", "fqn": ["sagerx", "staging", "fda_excluded", "stg_fda_excluded__ndcs"], "alias": "stg_fda_excluded__ndcs", "checksum": {"name": "sha256", "checksum": "8a56c172bc3a06fc252143842b87195a0d72e1256e4324175aeaaff4194aa478"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "FDA excluded NDCs", "columns": {"ndc11": {"name": "ndc11", "description": "The ndcpackagecode field, normalized to a NDC11 format.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "productid": {"name": "productid", "description": "ProductID is a concatenation of the NDCproduct code and SPL documentID. It is included to help prevent duplicate rows from appearing when joining the product and package files together. It has no regulatory value or significance.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "productndc": {"name": "productndc", "description": "The labeler code and product code segments of the National Drug Code number, separated by a hyphen. Asterisks are no longer used or included within the product code segment to indicate certain configurations of the NDC. www.fda.gov/edrls under Structured Product Labeling Resources.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "producttypename": {"name": "producttypename", "description": "Indicates the type of product, such as Human Prescription Drug or Human OTC Drug. This data element corresponds to the Document Type of the SPL submission for the listing.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "proprietaryname": {"name": "proprietaryname", "description": "Also known as the trade name. It is the name of the product chosen by the labeler.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "proprietarynamesuffix": {"name": "proprietarynamesuffix", "description": "A suffix to the proprietary name, a value here should be appended to the ProprietaryName field to obtain the complete name of the product. This suffix is often used to distinguish characteristics of a product such as extended release (XR) or sleep aid (PM). Although many companies follow certain naming conventions for suffices, there is no recognized standard", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "nonproprietaryname": {"name": "nonproprietaryname", "description": "Sometimes called the generic name, this is usually the active ingredient(s) of the product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "dosageformname": {"name": "dosageformname", "description": "The translation of the DosageForm Code submitted by the firm. The complete list of codes and translations can be found www.fda.gov/edrls under Structured Product Labeling Resources.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "routename": {"name": "routename", "description": "The translation of the Route Code submitted by the firm, indicating route of administration. The complete list of codes and translations can be found at www.fda.gov/edrls under Structured Product Labeling Resources.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_startmarketingdate": {"name": "product_startmarketingdate", "description": "This is the date that the labeler indicates was the start of its marketing of the drug product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_endmarketingdate": {"name": "product_endmarketingdate", "description": "This is the date the product will no longer be available on the market. If a product is no longer being manufactured, in most cases, the FDA recommends firms use the expiration date of the last lot produced as the EndMarketingDate, to reflect the potential for drug product to remain available after manufacturing has ceased. Products that are the subject of ongoing manufacturing will not ordinarily have any EndMarketingDate. Products with a value in the EndMarketingDate will be removed from the NDC Directory when the EndMarketingDate is reached.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "marketingcategoryname": {"name": "marketingcategoryname", "description": "Product types are broken down into several potential Marketing Categories, such as NDA/ANDA/BLA, OTC Monograph, or Unapproved Drug. One and only one Marketing Category may be chosen for a product, not all marketing categories are available to all product types. Currently, only final marketed product categories are included. The complete list of codes and translations can be found at www.fda.gov/edrls under Structured Product Labeling Resources.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "applicationnumber": {"name": "applicationnumber", "description": "This corresponds to the NDA, ANDA, or BLA number reported by the labeler for products which have the corresponding Marketing Category designated. If the designated Marketing Category is OTC Monograph Final or OTC Monograph Not Final, then the Application number will be the CFR citation corresponding to the appropriate Monograph (e.g. \u201cpart 341\u201d). For unapproved drugs, this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "labelername": {"name": "labelername", "description": "Name of Company corresponding to the labeler code segment of the ProductNDC.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "substancename": {"name": "substancename", "description": "This is the active ingredient list. Each ingredient name is the preferred term of the UNII code submitted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active_numerator_strength": {"name": "active_numerator_strength", "description": "These are the strength values (to be used with units below) of each active ingredient, listed in the same order as the SubstanceName field above.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active_ingred_unit": {"name": "active_ingred_unit", "description": "These are the units to be used with the strength values above, listed in the same order as the SubstanceName and SubstanceNumber (ActiveNumeratorStrength).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "pharm_classes": {"name": "pharm_classes", "description": "These are the reported pharmacological class categories corresponding to the SubstanceNames listed above.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "deaschedule": {"name": "deaschedule", "description": "This is the assigned DEA Schedule number as reported by the labeler. Values are CI, CII, CIII, CIV, and CV.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_ndc_exclude_flag": {"name": "product_ndc_exclude_flag", "description": "Values = Y, N, E, or I. This indicates whether the product has been removed/excluded from the NDC Directory for failure to respond to FDA's requests for correction to deficient or non-compliant submissions (Y), or because the listing certification is expired (E), or because the listing data was inactivated by FDA (I). The PRODUCT.XLS and PRODUCT.TXT files only contain listing records where NDC_EXCLUDE_FLAG=N. The PRODUCTS_EXCLUDED.XLS and PRODUCTS_EXCLUDED.TXT file contains all listing records with an NDC_EXCLUDE_FLAG of Y, E, and I.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "listing_record_certified_through": {"name": "listing_record_certified_through", "description": "This is the date when the listing record will expire if not updated or certified by the firm.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ndcpackagecode": {"name": "ndcpackagecode", "description": "The labeler code, product code, and package code segments of the National Drug Code number, separated by hyphens. Asterisks are no longer used or included within the product and package code segments to indicate certain configurations of the NDC.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "packagedescription": {"name": "packagedescription", "description": "A description of the size and type of packaging in sentence form. Multilevel packages will have the descriptions concatenated together. For example: 4 BOTTLES in 1 CARTON/100 TABLETS in 1 BOTTLE.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "package_startmarketingdate": {"name": "package_startmarketingdate", "description": "This is the date that the labeler indicates was the start of its marketing of the drug product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "package_endmarketingdate": {"name": "package_endmarketingdate", "description": "This is the date the product will no longer be available on the market. If a product is no longer being manufactured, in most cases, the FDA recommends firms use the expiration date of the last lot produced as the EndMarketingDate, to reflect the potential for drug product to remain available after manufacturing has ceased. Products that are the subject of ongoing manufacturing will not ordinarily have any EndMarketingDate. Products with a value in the EndMarketingDate will be removed from the NDC Directory when the EndMarketingDate is reached.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "package_ndc_exclude_flag": {"name": "package_ndc_exclude_flag", "description": "Values = Y, N, E, or I. This indicates whether the PACKAGE has been removed/excluded from the NDC Directory for failure to respond to FDAs requests for correction to deficient or non-compliant submissions (Y), or because the listing certification is expired (E), or because the listing data was inactivated by FDA (I). The PACKAGE.XLS and PACKAGE.TXT files only contain listing records where NDC_EXCLUDE_FLAG=N. The PACKAGES_EXCLUDED.XLS and PACKAGES_EXCLUDED.TXT file contains all listing records with an NDC_EXCLUDE_FLAG of Y, E, and I.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sample_package": {"name": "sample_package", "description": "This indicates if the package is to be distributed as a sample package. Values = Y or N.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/fda_excluded/_fda_excluded__models.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093147.7479057, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_fda_excluded__ndcs\"", "raw_code": "-- stg_fda_excluded__ndcs.sql\n\nwith\n\nproduct as (\n \n select * from {{ source('fda_excluded', 'fda_excluded_product') }}\n\n),\n\npackage as (\n\n select * from {{ source('fda_excluded', 'fda_excluded_package') }}\n\n)\n\nselect\n\tndc_to_11(ndcpackagecode) as ndc11\n\t, package.productid\n\t, package.productndc\n\t, producttypename\n\t, proprietaryname\n\t, proprietarynamesuffix\n\t, nonproprietaryname\n\t, dosageformname\n\t, routename\n\t, product.startmarketingdate as product_startmarketingdate\n\t, product.endmarketingdate as product_endmarketingdate\n\t, marketingcategoryname\n\t, applicationnumber\n\t, labelername\n\t, substancename\n\t, active_numerator_strength\n\t, active_ingred_unit\n\t, pharm_classes\n\t, deaschedule\n\t, product.ndc_exclude_flag as product_ndc_exclude_flag\n\t, listing_record_certified_through\n\t, ndcpackagecode\n\t, packagedescription\n\t, package.startmarketingdate as package_startmarketingdate\n\t, package.endmarketingdate as package_endmarketingdate\n\t, package.ndc_exclude_flag as package_ndc_exclude_flag\n\t, sample_package\nfrom package\nleft join product\n\ton package.productid = product.productid", "language": "sql", "refs": [], "sources": [["fda_excluded", "fda_excluded_package"], ["fda_excluded", "fda_excluded_product"]], "metrics": [], "depends_on": {"macros": [], "nodes": ["source.sagerx.fda_excluded.fda_excluded_package", "source.sagerx.fda_excluded.fda_excluded_product"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.stg_rxclass__atc_codes_to_rxnorm_product_rxcuis": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxclass__atc_codes_to_rxnorm_product_rxcuis", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxclass/stg_rxclass__atc_codes_to_rxnorm_product_rxcuis.sql", "original_file_path": "models/staging/rxclass/stg_rxclass__atc_codes_to_rxnorm_product_rxcuis.sql", "unique_id": "model.sagerx.stg_rxclass__atc_codes_to_rxnorm_product_rxcuis", "fqn": ["sagerx", "staging", "rxclass", "stg_rxclass__atc_codes_to_rxnorm_product_rxcuis"], "alias": "stg_rxclass__atc_codes_to_rxnorm_product_rxcuis", "checksum": {"name": "sha256", "checksum": "c8a95404d8bdbb9d3022b79a1503b1037425855eb63ce5cfb730faf724b07896"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093147.510482, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxclass__atc_codes_to_rxnorm_product_rxcuis\"", "raw_code": "-- stg_rxclass__atc_codes_to_rxnorm_product_rxcuis.sql\n\nwith atc_codes_to_rxnorm_product_rxcuis as (\n \n select * from {{ source('rxclass', 'rxclass_atc_to_product') }}\n\n)\n\nselect\n *\nfrom atc_codes_to_rxnorm_product_rxcuis", "language": "sql", "refs": [], "sources": [["rxclass", "rxclass_atc_to_product"]], "metrics": [], "depends_on": {"macros": [], "nodes": ["source.sagerx.rxclass.rxclass_atc_to_product"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.stg_nadac__all_nadac": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_nadac__all_nadac", "resource_type": "model", "package_name": "sagerx", "path": "staging/nadac/stg_nadac__all_nadac.sql", "original_file_path": "models/staging/nadac/stg_nadac__all_nadac.sql", "unique_id": "model.sagerx.stg_nadac__all_nadac", "fqn": ["sagerx", "staging", "nadac", "stg_nadac__all_nadac"], "alias": "stg_nadac__all_nadac", "checksum": {"name": "sha256", "checksum": "966ab1c909b0282e2dfc8257bb601af9cc3fffe3ab63c91a34bb25021ba1af66"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "Deduplicates NADAC data and converts format of some columns.", "columns": {"ndc": {"name": "ndc", "description": "The National Drug Code (NDC) is a numerical code maintained by the FDA that includes the labeler code, product code, and package code. The NDC is an 11-digit code.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ndc_description": {"name": "ndc_description", "description": "Identifies the drug name, strength, and dosage form of the drug product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "nadac_per_unit": {"name": "nadac_per_unit", "description": "The National Average Drug Acquisition Cost per unit. Staging table converts this to a numeric type.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "pricing_unit": {"name": "pricing_unit", "description": "Indicates the pricing unit for the associated NDC ('ML', 'GM' or 'EA').", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "effective_date": {"name": "effective_date", "description": "The effective date of the NADAC Per Unit cost. Staging table converts this to a date type.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/nadac/_nadac__models.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093147.7737935, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_nadac__all_nadac\"", "raw_code": "-- stg_nadac__all_nadac.sql\n\nwith\n\nnadac as (\n\n select * from {{ source('nadac','nadac') }}\n\n)\n\nselect distinct \n\tndc\n\t, ndc_description\n\t, nadac_per_unit::numeric\n\t, pricing_unit\n\t, effective_date::date\nfrom nadac", "language": "sql", "refs": [], "sources": [["nadac", "nadac"]], "metrics": [], "depends_on": {"macros": [], "nodes": ["source.sagerx.nadac.nadac"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.stg_nadac__enhanced_nadac": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_nadac__enhanced_nadac", "resource_type": "model", "package_name": "sagerx", "path": "staging/nadac/stg_nadac__enhanced_nadac.sql", "original_file_path": "models/staging/nadac/stg_nadac__enhanced_nadac.sql", "unique_id": "model.sagerx.stg_nadac__enhanced_nadac", "fqn": ["sagerx", "staging", "nadac", "stg_nadac__enhanced_nadac"], "alias": "stg_nadac__enhanced_nadac", "checksum": {"name": "sha256", "checksum": "158263e3ba2dcc4d0779a59ad3b66862bd52beff1f94a3e3e2a7a7d1ae2502c5"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "Flags NADAC survey data to make it easy to find most recent price, first price, and dollar / percent changes between prices. Can also SUM change_type to see the number of price increases over time.", "columns": {"ndc": {"name": "ndc", "description": "The National Drug Code (NDC) is a numerical code maintained by the FDA that includes the labeler code, product code, and package code. The NDC is an 11-digit code.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ndc_description": {"name": "ndc_description", "description": "Identifies the drug name, strength, and dosage form of the drug product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "nadac_per_unit": {"name": "nadac_per_unit", "description": "The National Average Drug Acquisition Cost per unit. Staging table converts this to a numeric type.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "pricing_unit": {"name": "pricing_unit", "description": "Indicates the pricing unit for the associated NDC ('ML', 'GM' or 'EA').", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "price_start_date": {"name": "price_start_date", "description": "The effective date of the NADAC Per Unit cost. Staging table converts this to a date type.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "most_recent_price": {"name": "most_recent_price", "description": "True if the price is the most recent available price.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "first_price": {"name": "first_price", "description": "True if the price is the first available price.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "dollar_change": {"name": "dollar_change", "description": "Change between this price and previous price in dollars.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "percent_change": {"name": "percent_change", "description": "Change between this price and previous price in percentage.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "change_type": {"name": "change_type", "description": "1 if the price went up, 0 if the price went down.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/nadac/_nadac__models.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093147.777464, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_nadac__enhanced_nadac\"", "raw_code": "-- stg_nadac__enhanced_nadac.sql\n\nwith\n\nall_nadac as (\n\n select * from {{ ref('stg_nadac__all_nadac') }}\n\n),\n\nnadac as (\n\t\n\tselect ndc\n\t\t, ndc_description\n\t\t, row_number() over (partition by ndc order by effective_date desc) as price_line\n\t\t, effective_date as price_start_date\n\t\t, lag(effective_date, 1) over (partition by ndc order by effective_date desc) price_end_date\n\t\t, nadac_per_unit\n\t\t, pricing_unit\n\t\tfrom all_nadac\n\n)\n\nselect\n\tndc\n\t, ndc_description\n\t, price_line\n\t, nadac_per_unit\n\t, pricing_unit \n\t, price_start_date\n\t, case when price_line = 1 then true else false end as most_recent_price\n\t, case when price_line = first_value(price_line) over (partition by ndc order by price_line desc) then true else false end as first_price\n\t, (nadac_per_unit - lag(nadac_per_unit) over (partition by ndc order by price_line desc)) as dollar_change\n\t, (nadac_per_unit - lag(nadac_per_unit) over (partition by ndc order by price_line desc)) /\n\t\tlag(nadac_per_unit) over (partition by ndc order by price_line desc) as percent_change\n\t, case when (nadac_per_unit - lag(nadac_per_unit) over (partition by ndc order by price_line desc)) > 0 then 1\n\t\twhen (nadac_per_unit - lag(nadac_per_unit) over (partition by ndc order by price_line desc)) = 0 then 0\n\t\twhen (nadac_per_unit - lag(nadac_per_unit) over (partition by ndc order by price_line desc)) is null then null\n\t\telse -1 end as change_type\nfrom nadac", "language": "sql", "refs": [{"name": "stg_nadac__all_nadac", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.sagerx.stg_nadac__all_nadac"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.stg_rxnorm__mthspl_ndcs": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxnorm__mthspl_ndcs", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxnorm/stg_rxnorm__mthspl_ndcs.sql", "original_file_path": "models/staging/rxnorm/stg_rxnorm__mthspl_ndcs.sql", "unique_id": "model.sagerx.stg_rxnorm__mthspl_ndcs", "fqn": ["sagerx", "staging", "rxnorm", "stg_rxnorm__mthspl_ndcs"], "alias": "stg_rxnorm__mthspl_ndcs", "checksum": {"name": "sha256", "checksum": "d7c76ff41cd69c478e08b68426cf79df6838f4aa8308951400f36dd033b7efb2"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093147.5197756, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__mthspl_ndcs\"", "raw_code": "-- stg_rxnorm__mthspl_ndcs.sql\n\nselect\n ndc_to_11(rxnsat.atv) as ndc11\n , rxnsat.atv as ndc\n , rxnsat.rxcui\n\t, case when rxnsat.suppress = 'N' then true else false end as active\n\t, case when rxnsat.cvf = '4096' then true else false end as prescribable\nfrom sagerx_lake.rxnorm_rxnsat rxnsat\n where rxnsat.atn = 'NDC'\n and rxnsat.sab = 'MTHSPL'", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.stg_rxnorm__product_rxcuis": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxnorm__product_rxcuis", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxnorm/stg_rxnorm__product_rxcuis.sql", "original_file_path": "models/staging/rxnorm/stg_rxnorm__product_rxcuis.sql", "unique_id": "model.sagerx.stg_rxnorm__product_rxcuis", "fqn": ["sagerx", "staging", "rxnorm", "stg_rxnorm__product_rxcuis"], "alias": "stg_rxnorm__product_rxcuis", "checksum": {"name": "sha256", "checksum": "9f6ed4b37e96673ee7c6ef2375404781856fefa6e6c67ac6db9bd7b2ea597ab9"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093147.522758, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__product_rxcuis\"", "raw_code": "-- stg_rxnorm__product_rxcuis\n\nselect * from {{ source('rxnorm', 'rxnorm_rxnconso') }}\nwhere sab = 'RXNORM'\n and tty in ('SCD', 'SBD', 'GPCK', 'BPCK')", "language": "sql", "refs": [], "sources": [["rxnorm", "rxnorm_rxnconso"]], "metrics": [], "depends_on": {"macros": [], "nodes": ["source.sagerx.rxnorm.rxnorm_rxnconso"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.stg_rxnorm__dose_form_group_links": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxnorm__dose_form_group_links", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxnorm/stg_rxnorm__dose_form_group_links.sql", "original_file_path": "models/staging/rxnorm/stg_rxnorm__dose_form_group_links.sql", "unique_id": "model.sagerx.stg_rxnorm__dose_form_group_links", "fqn": ["sagerx", "staging", "rxnorm", "stg_rxnorm__dose_form_group_links"], "alias": "stg_rxnorm__dose_form_group_links", "checksum": {"name": "sha256", "checksum": "7a081970be3b79931e32657b8ed83bac998ea14e4179c404053d52b27fb7b32f"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "Links dose forms (DF) to dose form groups (DFG).", "columns": {"dose_form_rxcui": {"name": "dose_form_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "dose_form_group_rxcui": {"name": "dose_form_group_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/rxnorm/_rxnorm__models.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093147.7974315, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__dose_form_group_links\"", "raw_code": "-- stg_rxnorm__dose_form_group_links.sql\n\nselect distinct\n\tdose_form.rxcui dose_form_rxcui\n\t, rxnrel.rxcui1 dose_form_group_rxcui\nfrom sagerx_lake.rxnorm_rxnconso dose_form\ninner join sagerx_lake.rxnorm_rxnrel rxnrel\n\ton rxnrel.rxcui2 = dose_form.rxcui\n\tand rxnrel.rela = 'isa'\n\tand rxnrel.sab = 'RXNORM'\nwhere dose_form.tty = 'DF'\n\tand dose_form.sab = 'RXNORM'", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.stg_rxnorm__ingredients": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxnorm__ingredients", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxnorm/stg_rxnorm__ingredients.sql", "original_file_path": "models/staging/rxnorm/stg_rxnorm__ingredients.sql", "unique_id": "model.sagerx.stg_rxnorm__ingredients", "fqn": ["sagerx", "staging", "rxnorm", "stg_rxnorm__ingredients"], "alias": "stg_rxnorm__ingredients", "checksum": {"name": "sha256", "checksum": "952582b6e933e6fb18059818034bbe886737b25f981368e1e23964ffd0d45fb5"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "RxNorm ingredients (IN/MIN).", "columns": {"rxcui": {"name": "rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "name": {"name": "name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "tty": {"name": "tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active": {"name": "active", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "prescribable": {"name": "prescribable", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/rxnorm/_rxnorm__models.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093147.8016934, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredients\"", "raw_code": "-- stg_rxnorm__ingredients.sql\n\nselect\n\tingredient.rxcui rxcui\n\t, ingredient.str name\n\t, ingredient.tty tty\n\t, case when ingredient.suppress = 'N' then true else false end as active\n\t, case when ingredient.cvf = '4096' then true else false end as prescribable\nfrom sagerx_lake.rxnorm_rxnconso ingredient\nwhere ingredient.tty in('IN', 'MIN')\n\tand ingredient.sab = 'RXNORM'", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.stg_rxnorm__atc_codes": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxnorm__atc_codes", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxnorm/stg_rxnorm__atc_codes.sql", "original_file_path": "models/staging/rxnorm/stg_rxnorm__atc_codes.sql", "unique_id": "model.sagerx.stg_rxnorm__atc_codes", "fqn": ["sagerx", "staging", "rxnorm", "stg_rxnorm__atc_codes"], "alias": "stg_rxnorm__atc_codes", "checksum": {"name": "sha256", "checksum": "06633cbc509207666da5f2d42b240f009abe7fff674bb3f31405ef997b5b937b"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093147.5319037, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__atc_codes\"", "raw_code": "with atc as (\n\tselect distinct a.rxcui\n\t\t,a.code\n\t\t,b.atn\n\t\t,b.atv as atc_class_level\n\t\t,a.str as description\n\t\t,a.sab\n\t\t,a.tty\n\tfrom (\n\t\tselect *\n\t\tfrom sagerx_lake.rxnorm_rxnconso\n\t\twhere sab = 'ATC'\n\t\tand tty not like 'RXN%'\n\t\torder by code\n\t) a\n\tleft join sagerx_lake.rxnorm_rxnsat b\n\t\ton a.code= b.code\n\twhere atn = 'ATC_LEVEL'\n\torder by code\n)\n\n, atc_5 as (\n\tselect\n\t\t*\n\tfrom atc\n\twhere atc_class_level = '5'\n)\n\n, atc_4 as (\n\tselect\n\t\t*\n\tfrom atc\n\twhere atc_class_level = '4'\n)\n\n, atc_3 as (\n\tselect\n\t\t*\n\tfrom atc\n\twhere atc_class_level = '3'\n)\n\n, atc_2 as (\n\tselect\n\t\t*\n\tfrom atc\n\twhere atc_class_level = '2'\n)\n\n, atc_1 as (\n\tselect\n\t\t*\n\tfrom atc\n\twhere atc_class_level = '1'\n)\n\n, sagerx_atc as (\n\nselect\n\tatc_1.code as atc_1_code\n\t, atc_1.description as atc_1_name\n\t, atc_2.code as atc_2_code\n\t, atc_2.description as atc_2_name\n\t, atc_3.code as atc_3_code\n\t, atc_3.description as atc_3_name\n\t, atc_4.code as atc_4_code\n\t, atc_4.description as atc_4_name\n\t, atc_5.code as atc_5_code\n\t, atc_5.description as atc_5_name\n\t, atc_5.rxcui as ingredient_rxcui\n\t, atc_5.description as ingredient_name\n\t, atc_5.tty as ingredient_tty\n\nfrom atc_5\nleft join atc_4\n\ton left(atc_5.code, 5) = atc_4.code\nleft join atc_3\n\ton left(atc_4.code, 4) = atc_3.code\nleft join atc_2\n\ton left(atc_3.code, 3) = atc_2.code\nleft join atc_1\n\ton left(atc_2.code, 1) = atc_1.code\n)\n\t\nselect * \nfrom sagerx_atc", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.stg_rxnorm__clinical_products": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxnorm__clinical_products", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxnorm/stg_rxnorm__clinical_products.sql", "original_file_path": "models/staging/rxnorm/stg_rxnorm__clinical_products.sql", "unique_id": "model.sagerx.stg_rxnorm__clinical_products", "fqn": ["sagerx", "staging", "rxnorm", "stg_rxnorm__clinical_products"], "alias": "stg_rxnorm__clinical_products", "checksum": {"name": "sha256", "checksum": "a009b8020527879db7b2837b870b6ceb6bf263bbf5f563ef1442764c483d7d6d"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "RxNorm clinical products (SCD, GPCK).", "columns": {"rxcui": {"name": "rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "name": {"name": "name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "tty": {"name": "tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active": {"name": "active", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "prescribable": {"name": "prescribable", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/rxnorm/_rxnorm__models.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093147.790326, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_products\"", "raw_code": "-- stg_rxnorm__clinical_products.sql\n\nselect\n\tproduct.rxcui as rxcui\n\t, product.str as name\n\t, product.tty as tty\n\t, case when product.suppress = 'N' then true else false end as active\n\t, case when product.cvf = '4096' then true else false end as prescribable\nfrom sagerx_lake.rxnorm_rxnconso product\nwhere product.tty in('SCD', 'GPCK')\n\tand product.sab = 'RXNORM'", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.stg_rxnorm__ingredient_strengths": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxnorm__ingredient_strengths", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxnorm/stg_rxnorm__ingredient_strengths.sql", "original_file_path": "models/staging/rxnorm/stg_rxnorm__ingredient_strengths.sql", "unique_id": "model.sagerx.stg_rxnorm__ingredient_strengths", "fqn": ["sagerx", "staging", "rxnorm", "stg_rxnorm__ingredient_strengths"], "alias": "stg_rxnorm__ingredient_strengths", "checksum": {"name": "sha256", "checksum": "f81ae06810e33e4eed25916397cd1e2cc294229576197d5ac2e1349c9004578a"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "RxNorm ingredient strengths.", "columns": {"rxcui": {"name": "rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "name": {"name": "name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "numerator_value": {"name": "numerator_value", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "numerator_unit": {"name": "numerator_unit", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "denominator_value": {"name": "denominator_value", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "denominator_unit": {"name": "denominator_unit", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "text": {"name": "text", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active": {"name": "active", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "prescribable": {"name": "prescribable", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/rxnorm/_rxnorm__models.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093147.8116503, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredient_strengths\"", "raw_code": "-- stg_rxnorm__ingredient_strengths.sql\n\nselect\n\tingredient_strength.rxcui as rxcui\n\t, ingredient_strength.str as name\n\t, numerator_value.atv as numerator_value\n\t, numerator_unit.atv as numerator_unit\n\t, denominator_value.atv as denominator_value\n\t, denominator_unit.atv as denominator_unit\n\t, text.atv as text\n\t, case when ingredient_strength.suppress = 'N'\n then true\n else false\n end as active\n\t, case when ingredient_strength.cvf = '4096'\n then true\n else false\n end as prescribable\nfrom sagerx_lake.rxnorm_rxnconso ingredient_strength\nleft join sagerx_lake.rxnorm_rxnsat numerator_value\n on numerator_value.rxcui = ingredient_strength.rxcui\n and numerator_value.atn = 'RXN_BOSS_STRENGTH_NUM_VALUE'\nleft join sagerx_lake.rxnorm_rxnsat numerator_unit\n on numerator_unit.rxcui = ingredient_strength.rxcui\n and numerator_unit.atn = 'RXN_BOSS_STRENGTH_NUM_UNIT'\nleft join sagerx_lake.rxnorm_rxnsat denominator_value\n on denominator_value.rxcui = ingredient_strength.rxcui\n and denominator_value.atn = 'RXN_BOSS_STRENGTH_DENOM_VALUE'\nleft join sagerx_lake.rxnorm_rxnsat denominator_unit\n on denominator_unit.rxcui = ingredient_strength.rxcui\n and denominator_unit.atn = 'RXN_BOSS_STRENGTH_DENOM_UNIT'\nleft join sagerx_lake.rxnorm_rxnsat text\n on text.rxcui = ingredient_strength.rxcui\n and text.atn = 'RXN_STRENGTH'\nwhere ingredient_strength.tty = 'SCDC'\n\tand ingredient_strength.sab = 'RXNORM'", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.stg_rxnorm__precise_ingredients": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxnorm__precise_ingredients", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxnorm/stg_rxnorm__precise_ingredients.sql", "original_file_path": "models/staging/rxnorm/stg_rxnorm__precise_ingredients.sql", "unique_id": "model.sagerx.stg_rxnorm__precise_ingredients", "fqn": ["sagerx", "staging", "rxnorm", "stg_rxnorm__precise_ingredients"], "alias": "stg_rxnorm__precise_ingredients", "checksum": {"name": "sha256", "checksum": "e8369fea2f36db447f511d76a5d928e52c6dbc3de2037eedaded19201126feb9"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093147.5410266, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__precise_ingredients\"", "raw_code": "-- stg_rxnorm__precise_ingredients.sql\n\nselect\n\tingredient.rxcui rxcui\n\t, ingredient.str name\n\t, ingredient.tty tty\n\t, case when ingredient.suppress = 'N' then true else false end as active\n\t, case when ingredient.cvf = '4096' then true else false end as prescribable\nfrom sagerx_lake.rxnorm_rxnconso ingredient\nwhere ingredient.tty = 'PIN'\n\tand ingredient.sab = 'RXNORM'", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.stg_rxnorm__brand_products": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxnorm__brand_products", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxnorm/stg_rxnorm__brand_products.sql", "original_file_path": "models/staging/rxnorm/stg_rxnorm__brand_products.sql", "unique_id": "model.sagerx.stg_rxnorm__brand_products", "fqn": ["sagerx", "staging", "rxnorm", "stg_rxnorm__brand_products"], "alias": "stg_rxnorm__brand_products", "checksum": {"name": "sha256", "checksum": "7afb497affb718d16f366abb81c5616bce24d09da6ecb8522886b82f59d36e96"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "RxNorm brand name products (SBD/BPCK).", "columns": {"rxcui": {"name": "rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "name": {"name": "name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "tty": {"name": "tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_rxcui": {"name": "clinical_product_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active": {"name": "active", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "prescribable": {"name": "prescribable", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/rxnorm/_rxnorm__models.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093147.819532, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__brand_products\"", "raw_code": "-- stg_rxnorm__brand_products.sql\n\nselect\n\tproduct.rxcui as rxcui\n\t, product.str as name\n\t, product.tty as tty\n\t, clinical_product.rxcui as clinical_product_rxcui\n\t, case when product.suppress = 'N' then true else false end as active\n\t, case when product.cvf = '4096' then true else false end as prescribable\nfrom sagerx_lake.rxnorm_rxnconso product\nleft join sagerx_lake.rxnorm_rxnrel rxnrel on rxnrel.rxcui2 = product.rxcui and rxnrel.rela = 'tradename_of'\nleft join sagerx_lake.rxnorm_rxnconso clinical_product\n\ton rxnrel.rxcui1 = clinical_product.rxcui\n\tand clinical_product.tty in ('SCD', 'GPCK')\n\tand clinical_product.sab = 'RXNORM'\nwhere product.tty in('SBD', 'BPCK')\n\tand product.sab = 'RXNORM'", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.stg_rxnorm__brands": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxnorm__brands", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxnorm/stg_rxnorm__brands.sql", "original_file_path": "models/staging/rxnorm/stg_rxnorm__brands.sql", "unique_id": "model.sagerx.stg_rxnorm__brands", "fqn": ["sagerx", "staging", "rxnorm", "stg_rxnorm__brands"], "alias": "stg_rxnorm__brands", "checksum": {"name": "sha256", "checksum": "206d217f8e83a22ee881c924d632e3b8a7ab2c9d32689001a55264ce3f6757ad"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "RxNorm brand names (BN).", "columns": {"rxcui": {"name": "rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "name": {"name": "name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "tty": {"name": "tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active": {"name": "active", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "prescribable": {"name": "prescribable", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ingredient_rxcui": {"name": "ingredient_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/rxnorm/_rxnorm__models.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093147.825778, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__brands\"", "raw_code": "-- stg_rxnorm__brands.sql\n\nwith cte as (\n\tselect\n\t\tsq.*\n\t\t, row_number() over(partition by rxcui order by ingredient_tty desc) as rn\n\tfrom (\n\n\t\tselect\n\t\t\tbrand.rxcui as rxcui\n\t\t\t, brand.str as name\n\t\t\t, brand.tty as tty\n\t\t\t, ingredient.rxcui as ingredient_rxcui\n\t\t\t, ingredient.str as ingredient_name\n\t\t\t, ingredient.tty as ingredient_tty\n\t\tfrom sagerx_lake.rxnorm_rxnconso brand\n\t\tinner join sagerx_lake.rxnorm_rxnrel rxnrel on rxnrel.rxcui2 = brand.rxcui and rxnrel.rela = 'tradename_of'\n\t\tinner join sagerx_lake.rxnorm_rxnconso ingredient\n\t\t\ton rxnrel.rxcui1 = ingredient.rxcui\n\t\t\tand ingredient.tty = 'IN'\n\t\t\tand ingredient.sab = 'RXNORM'\n\t\twhere brand.tty = 'BN'\n\t\t\tand brand.sab = 'RXNORM'\n\n\t\tunion all\n\n\t\tselect\n\t\t\tbrand.rxcui as rxcui\n\t\t\t, brand.str as name\n\t\t\t, brand.tty as tty\n\t\t\t, ingredient.rxcui as ingredient_rxcui\n\t\t\t, ingredient.str as ingredient_name\n\t\t\t, ingredient.tty as ingredient_tty\n\t\tfrom sagerx_lake.rxnorm_rxnconso brand\n\t\tinner join sagerx_lake.rxnorm_rxnrel sbd_rxnrel on sbd_rxnrel.rxcui2 = brand.rxcui and sbd_rxnrel.rela = 'ingredient_of'\n\t\tinner join sagerx_lake.rxnorm_rxnrel scd_rxnrel on scd_rxnrel.rxcui2 = sbd_rxnrel.rxcui1 and scd_rxnrel.rela = 'tradename_of'\n\t\tinner join sagerx_lake.rxnorm_rxnrel ingredient_rxnrel on ingredient_rxnrel.rxcui2 = scd_rxnrel.rxcui1 and ingredient_rxnrel.rela = 'has_ingredients'\n\t\tleft join sagerx_lake.rxnorm_rxnconso ingredient\n\t\t\ton ingredient_rxnrel.rxcui1 = ingredient.rxcui\n\t\t\tand ingredient.tty = 'MIN'\n\t\t\tand ingredient.sab = 'RXNORM'\t\t\n\t\twhere brand.tty = 'BN'\n\t\t\tand brand.sab = 'RXNORM'\n\t) sq\n)\n\nselect distinct\n\tbrand.rxcui as rxcui\n\t, brand.str as name\n\t, brand.tty as tty\n\t, case when brand.suppress = 'N' then true else false end as active\n\t, case when brand.cvf = '4096' then true else false end as prescribable\n\t, cte.ingredient_rxcui as ingredient_rxcui\nfrom sagerx_lake.rxnorm_rxnconso product\ninner join sagerx_lake.rxnorm_rxnrel rxnrel on rxnrel.rxcui2 = product.rxcui and rxnrel.rela = 'has_ingredient'\ninner join sagerx_lake.rxnorm_rxnconso brand\n\ton rxnrel.rxcui1 = brand.rxcui\n\tand brand.tty = 'BN'\n\tand brand.sab = 'RXNORM'\nLeft join cte on cte.rxcui = brand.rxcui and cte.rn < 2\nwhere product.tty = 'SBD'\n\tand product.sab = 'RXNORM'", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.stg_rxnorm__mthspl_products": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxnorm__mthspl_products", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxnorm/stg_rxnorm__mthspl_products.sql", "original_file_path": "models/staging/rxnorm/stg_rxnorm__mthspl_products.sql", "unique_id": "model.sagerx.stg_rxnorm__mthspl_products", "fqn": ["sagerx", "staging", "rxnorm", "stg_rxnorm__mthspl_products"], "alias": "stg_rxnorm__mthspl_products", "checksum": {"name": "sha256", "checksum": "f0643655c7680da0474b0a8304fef2355c80fa4de19cd7f06224874c4312b2f4"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "DailyMed SPL products (DP) at NDC9 level.", "columns": {"rxcui": {"name": "rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "name": {"name": "name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "tty": {"name": "tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "rxaui": {"name": "rxaui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ndc": {"name": "ndc", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active": {"name": "active", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "prescribable": {"name": "prescribable", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/rxnorm/_rxnorm__models.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093147.8142257, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__mthspl_products\"", "raw_code": "-- stg_rxnorm__mthspl_products.sql\n\nselect\n\tproduct.rxcui as rxcui\n\t, product.str as name\n\t, product.tty as tty\n\t, product.rxaui as rxaui\n\t, product.code as ndc\n\t, case when product.suppress = 'N' then true else false end as active\n\t, case when product.cvf = '4096' then true else false end as prescribable\nfrom sagerx_lake.rxnorm_rxnconso product\nwhere product.tty = 'DP'\n\tand product.sab = 'MTHSPL'", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.stg_rxnorm__products": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxnorm__products", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxnorm/stg_rxnorm__products.sql", "original_file_path": "models/staging/rxnorm/stg_rxnorm__products.sql", "unique_id": "model.sagerx.stg_rxnorm__products", "fqn": ["sagerx", "staging", "rxnorm", "stg_rxnorm__products"], "alias": "stg_rxnorm__products", "checksum": {"name": "sha256", "checksum": "bb2c48894d48f7cb66e9a3c6ce3af75c6a66d6a4893fdce936f83902c2520271"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093147.5531588, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__products\"", "raw_code": "-- stg_rxnorm__products.sql\n\nwith\n\nrcp as (\n\n select * from {{ ref('stg_rxnorm__clinical_products') }}\n\n),\n\nrbp as (\n\n select * from {{ ref('stg_rxnorm__brand_products') }}\n\n)\n\nselect distinct\n coalesce(rbp.rxcui, rcp.rxcui, null) as product_rxcui\n , coalesce(rbp.name, rcp.name, null) as product_name\n , coalesce(rbp.tty, rcp.tty, null) as product_tty\n , rcp.rxcui as clinical_product_rxcui\n , rcp.name as clinical_product_name\n , rcp.tty as clinical_product_tty\nfrom rcp\nleft join rbp\n on rbp.clinical_product_rxcui = rcp.rxcui", "language": "sql", "refs": [{"name": "stg_rxnorm__clinical_products", "package": null, "version": null}, {"name": "stg_rxnorm__brand_products", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.sagerx.stg_rxnorm__clinical_products", "model.sagerx.stg_rxnorm__brand_products"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.stg_rxnorm__mthspl_substances": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxnorm__mthspl_substances", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxnorm/stg_rxnorm__mthspl_substances.sql", "original_file_path": "models/staging/rxnorm/stg_rxnorm__mthspl_substances.sql", "unique_id": "model.sagerx.stg_rxnorm__mthspl_substances", "fqn": ["sagerx", "staging", "rxnorm", "stg_rxnorm__mthspl_substances"], "alias": "stg_rxnorm__mthspl_substances", "checksum": {"name": "sha256", "checksum": "aa4b63ecf684395bcd89b2c9a03f79f65fd19381a502915674401d32186da88d"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "DailyMed SPL substances (SU).", "columns": {"rxcui": {"name": "rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "name": {"name": "name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "tty": {"name": "tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "rxaui": {"name": "rxaui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "unii": {"name": "unii", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active": {"name": "active", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "prescribable": {"name": "prescribable", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/rxnorm/_rxnorm__models.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093147.8172388, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__mthspl_substances\"", "raw_code": "-- stg_rxnorm__mthspl_substances.sql\n\nselect\n\tsubstance.rxcui rxcui\n\t, substance.str name\n\t, substance.tty tty\n\t, substance.rxaui rxaui\n\t, substance.code unii\n\t, case when substance.suppress = 'N' then true else false end as active\n\t, case when substance.cvf = '4096' then true else false end as prescribable\nfrom sagerx_lake.rxnorm_rxnconso substance\nwhere substance.tty = 'SU'\n\tand substance.sab = 'MTHSPL'", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.stg_rxnorm__ingredient_strength_links": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxnorm__ingredient_strength_links", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxnorm/stg_rxnorm__ingredient_strength_links.sql", "original_file_path": "models/staging/rxnorm/stg_rxnorm__ingredient_strength_links.sql", "unique_id": "model.sagerx.stg_rxnorm__ingredient_strength_links", "fqn": ["sagerx", "staging", "rxnorm", "stg_rxnorm__ingredient_strength_links"], "alias": "stg_rxnorm__ingredient_strength_links", "checksum": {"name": "sha256", "checksum": "50bbcf56380de0c335449b183a37872b3c3c6d5bcfab06383d34120da0acdb93"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "Links combination of clinical product components (SCD) + ingredient components (IN) to ingredient strengths.", "columns": {"clinical_product_component_rxcui": {"name": "clinical_product_component_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ingredient_component_rxcui": {"name": "ingredient_component_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ingredient_strength_rxcui": {"name": "ingredient_strength_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/rxnorm/_rxnorm__models.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093147.8083124, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredient_strength_links\"", "raw_code": "-- stg_rxnorm__ingredient_strength_links.sql\n\nselect distinct\n\tproduct_component.rxcui as clinical_product_component_rxcui\n\t, ingredient.rxcui as ingredient_component_rxcui\n\t, ingredient_strength.rxcui as ingredient_strength_rxcui\nfrom sagerx_lake.rxnorm_rxnconso ingredient_strength\ninner join sagerx_lake.rxnorm_rxnrel has_ingredient\n on has_ingredient.rxcui2 = ingredient_strength.rxcui\n and has_ingredient.rela = 'has_ingredient'\ninner join sagerx_lake.rxnorm_rxnconso ingredient\n\ton ingredient.rxcui = has_ingredient.rxcui1\n\tand ingredient.tty = 'IN'\n\tand ingredient.sab = 'RXNORM'\ninner join sagerx_lake.rxnorm_rxnrel constitutes\n on constitutes.rxcui2 = ingredient_strength.rxcui\n and constitutes.rela = 'constitutes'\ninner join sagerx_lake.rxnorm_rxnconso product_component\n\ton product_component.rxcui = constitutes.rxcui1\n\tand product_component.tty = 'SCD'\n\tand product_component.sab = 'RXNORM'\nwhere ingredient_strength.tty = 'SCDC'\n\tand ingredient_strength.sab = 'RXNORM'", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.stg_rxnorm__clinical_product_components": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxnorm__clinical_product_components", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxnorm/stg_rxnorm__clinical_product_components.sql", "original_file_path": "models/staging/rxnorm/stg_rxnorm__clinical_product_components.sql", "unique_id": "model.sagerx.stg_rxnorm__clinical_product_components", "fqn": ["sagerx", "staging", "rxnorm", "stg_rxnorm__clinical_product_components"], "alias": "stg_rxnorm__clinical_product_components", "checksum": {"name": "sha256", "checksum": "9b2c56b90b69c4add4171146c1a901c17210b65f239a633b0a20e75e56377657"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "RxNorm clinical product components (SCD).", "columns": {"rxcui": {"name": "rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "name": {"name": "name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "tty": {"name": "tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active": {"name": "active", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "prescribable": {"name": "prescribable", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ingredient_rxcui": {"name": "ingredient_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "dose_form_rxcui": {"name": "dose_form_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/rxnorm/_rxnorm__models.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093147.7941003, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_product_components\"", "raw_code": "-- stg_rxnorm__clinical_product_components.sql\n\nwith cte as (\n\tselect\n\tsq.*,\n\trow_number() over(partition by product_component_rxcui order by ingredient_tty desc) as rn\n\tfrom (\n\t\tselect\n\t\t\tproduct_component.rxcui as product_component_rxcui\n\t\t\t, product_component.str as product_component_name\n\t\t\t, product_component.tty as product_component_tty\n\t\t\t, ingredient.rxcui as ingredient_rxcui\n\t\t\t, ingredient.str as ingredient_name\n\t\t\t, ingredient.tty as ingredient_tty\n\t\tfrom sagerx_lake.rxnorm_rxnconso product_component\n\t\tinner join sagerx_lake.rxnorm_rxnrel rxnrel on rxnrel.rxcui2 = product_component.rxcui and rxnrel.rela = 'has_ingredients'\n\t\tinner join sagerx_lake.rxnorm_rxnconso ingredient\n\t\t\ton rxnrel.rxcui1 = ingredient.rxcui\n\t\t\tand ingredient.tty = 'MIN'\n\t\t\tand ingredient.sab = 'RXNORM'\n\t\twhere product_component.tty = 'SCD'\n\t\t\tand product_component.sab = 'RXNORM'\n\n\t\tunion all\n\n\t\tselect\n\t\t\tproduct_component.rxcui as product_component_rxcui\n\t\t\t, product_component.str as product_component_name\n\t\t\t, product_component.tty as product_component_tty\n\t\t\t, ingredient.rxcui as ingredient_rxcui\n\t\t\t, ingredient.str as ingredient_name\n\t\t\t, ingredient.tty as ingredient_tty\n\t\tfrom sagerx_lake.rxnorm_rxnconso product_component\n\t\tinner join sagerx_lake.rxnorm_rxnrel scdc_rxnrel on scdc_rxnrel.rxcui2 = product_component.rxcui and scdc_rxnrel.rela = 'consists_of'\n\t\tinner join sagerx_lake.rxnorm_rxnconso scdc on scdc_rxnrel.rxcui1 = scdc.rxcui\n\t\tinner join sagerx_lake.rxnorm_rxnrel ingredient_rxnrel on ingredient_rxnrel.rxcui2 = scdc.rxcui and ingredient_rxnrel.rela = 'has_ingredient'\n\t\tinner join sagerx_lake.rxnorm_rxnconso ingredient\n\t\t\ton ingredient_rxnrel.rxcui1 = ingredient.rxcui\n\t\t\tand ingredient.tty = 'IN'\n\t\t\tand ingredient.sab = 'RXNORM'\n\t\twhere product_component.tty = 'SCD'\n\t\t\tand product_component.sab = 'RXNORM'\n\t) sq\n)\n\nselect distinct\n\tcase when product_component.rxcui is null then product.rxcui else product_component.rxcui end rxcui\n\t, case when product_component.str is null then product.str else product_component.str end name \n\t, case when product_component.tty is null then product.tty else product_component.tty end tty\n\t, case when \n\t\tcase when product_component.rxcui is null then product.suppress else product_component.suppress end = 'N' then true else false end as active\n\t, case when \n\t\tcase when product_component.rxcui is null then product.cvf else product_component.cvf end = '4096' then true else false end as prescribable\n\t, cte.ingredient_rxcui as ingredient_rxcui\n\t, dose_form_rxnrel.rxcui1 as dose_form_rxcui\nfrom sagerx_lake.rxnorm_rxnconso product\nleft join sagerx_lake.rxnorm_rxnrel rxnrel on rxnrel.rxcui2 = product.rxcui and rxnrel.rela = 'contains'\nleft join sagerx_lake.rxnorm_rxnconso product_component\n\ton rxnrel.rxcui1 = product_component.rxcui\n and product_component.tty = 'SCD'\n and product_component.sab = 'RXNORM'\nleft join cte \n\ton cte.product_component_rxcui = case when product_component.rxcui is null then product.rxcui else product_component.rxcui end\n\tand cte.rn < 2\nleft join sagerx_lake.rxnorm_rxnrel dose_form_rxnrel\n\ton dose_form_rxnrel.rxcui2 = case when product_component.rxcui is null then product.rxcui else product_component.rxcui end\n\tand dose_form_rxnrel.rela = 'has_dose_form'\n\tand dose_form_rxnrel.sab = 'RXNORM'\nwhere product.tty in('SCD', 'GPCK')\n\tand product.sab = 'RXNORM'", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.stg_rxnorm__clinical_product_component_links": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxnorm__clinical_product_component_links", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxnorm/stg_rxnorm__clinical_product_component_links.sql", "original_file_path": "models/staging/rxnorm/stg_rxnorm__clinical_product_component_links.sql", "unique_id": "model.sagerx.stg_rxnorm__clinical_product_component_links", "fqn": ["sagerx", "staging", "rxnorm", "stg_rxnorm__clinical_product_component_links"], "alias": "stg_rxnorm__clinical_product_component_links", "checksum": {"name": "sha256", "checksum": "5865d40c7222d67c42b7eba5240906579f48f14f9612dfaa9294639713a361ea"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "Links clinical products (SCD/GPCK) with clinical product components (SCD only).", "columns": {"clinical_product_rxcui": {"name": "clinical_product_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_component_rxcui": {"name": "clinical_product_component_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/rxnorm/_rxnorm__models.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093147.7914982, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_product_component_links\"", "raw_code": "-- stg_rxnorm__clinical_product_component_links.sql\n\nselect distinct\n\tproduct.rxcui as clinical_product_rxcui\n\t, case when product_component.rxcui is null\n then product.rxcui \n else product_component.rxcui \n end as clinical_product_component_rxcui\nfrom sagerx_lake.rxnorm_rxnconso product\nleft join sagerx_lake.rxnorm_rxnrel rxnrel on rxnrel.rxcui2 = product.rxcui and rxnrel.rela = 'contains'\nleft join sagerx_lake.rxnorm_rxnconso product_component\n on rxnrel.rxcui1 = product_component.rxcui\n and product_component.tty = 'SCD'\n and product_component.sab = 'RXNORM'\nwhere product.tty in('SCD', 'GPCK')\n\tand product.sab = 'RXNORM'", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.stg_rxnorm__brand_product_component_links": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxnorm__brand_product_component_links", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxnorm/stg_rxnorm__brand_product_component_links.sql", "original_file_path": "models/staging/rxnorm/stg_rxnorm__brand_product_component_links.sql", "unique_id": "model.sagerx.stg_rxnorm__brand_product_component_links", "fqn": ["sagerx", "staging", "rxnorm", "stg_rxnorm__brand_product_component_links"], "alias": "stg_rxnorm__brand_product_component_links", "checksum": {"name": "sha256", "checksum": "121ef6200aad2ed19be9d824f472f7538043c4f1747a3b6cf638ccc189cf5fb3"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "Links brand products (SBD/BPCK) with brand product components (mostly SBD, but BPCKs can also contain SCD).", "columns": {"brand_product_rxcui": {"name": "brand_product_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "brand_product_component_rxcui": {"name": "brand_product_component_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/rxnorm/_rxnorm__models.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093147.820687, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__brand_product_component_links\"", "raw_code": "-- stg_rxnorm__brand_product_component_links.sql\n\nselect distinct\n\tproduct.rxcui as brand_product_rxcui\n\t, case when product_component.rxcui is null\n then product.rxcui\n else product_component.rxcui\n end as brand_product_component_rxcui\nfrom sagerx_lake.rxnorm_rxnconso product\nleft join sagerx_lake.rxnorm_rxnrel rxnrel on rxnrel.rxcui2 = product.rxcui and rxnrel.rela = 'contains'\nleft join sagerx_lake.rxnorm_rxnconso product_component\n\ton rxnrel.rxcui1 = product_component.rxcui\n\tand product_component.tty in ('SBD', 'SCD') -- NOTE: BPCKs can contain SBDs AND SCDs\n\tand product_component.sab = 'RXNORM'\nwhere product.tty in ('SBD', 'BPCK')\n\tand product.sab = 'RXNORM'", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.stg_rxnorm__ingredient_component_links": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxnorm__ingredient_component_links", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxnorm/stg_rxnorm__ingredient_component_links.sql", "original_file_path": "models/staging/rxnorm/stg_rxnorm__ingredient_component_links.sql", "unique_id": "model.sagerx.stg_rxnorm__ingredient_component_links", "fqn": ["sagerx", "staging", "rxnorm", "stg_rxnorm__ingredient_component_links"], "alias": "stg_rxnorm__ingredient_component_links", "checksum": {"name": "sha256", "checksum": "caa5a18a0685bc36980d12544097a655db75e7d55e90a97406ea12d754ad3106"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "Links ingredients (IN/MIN) to ingredient components (IN).", "columns": {"ingredient_rxcui": {"name": "ingredient_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ingredient_component_rxcui": {"name": "ingredient_component_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/rxnorm/_rxnorm__models.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093147.802962, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredient_component_links\"", "raw_code": "-- stg_rxnorm__ingredient_component_links.sql\n\nwith cte as (\n\tselect\n\t\trxnrel.rxcui2 as ingredient_rxcui\n\t\t, ingredient_component.rxcui as ingredient_component_rxcui\n\t\t, ingredient_component.str as ingredient_component_name\n\t\t, ingredient_component.tty as ingredient_component_tty\n\tfrom\n\t\tsagerx_lake.rxnorm_rxnrel rxnrel\n\tinner join sagerx_lake.rxnorm_rxnconso ingredient_component\n\t\ton rxnrel.rxcui1 = ingredient_component.rxcui\n\twhere rxnrel.rela = 'has_part'\n\t\tand ingredient_component.tty = 'IN'\n\t\tand ingredient_component.sab = 'RXNORM'\n)\n\nselect distinct\n\tingredient.rxcui as ingredient_rxcui\n\t, case when cte.ingredient_component_rxcui is null\n then ingredient.rxcui\n else cte.ingredient_component_rxcui\n end as ingredient_component_rxcui\nfrom sagerx_lake.rxnorm_rxnconso ingredient\nleft join cte on ingredient.rxcui = cte.ingredient_rxcui\nwhere ingredient.tty in('IN', 'MIN')\n\tand ingredient.sab = 'RXNORM'", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.stg_rxnorm__precise_ingredient_links": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxnorm__precise_ingredient_links", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxnorm/stg_rxnorm__precise_ingredient_links.sql", "original_file_path": "models/staging/rxnorm/stg_rxnorm__precise_ingredient_links.sql", "unique_id": "model.sagerx.stg_rxnorm__precise_ingredient_links", "fqn": ["sagerx", "staging", "rxnorm", "stg_rxnorm__precise_ingredient_links"], "alias": "stg_rxnorm__precise_ingredient_links", "checksum": {"name": "sha256", "checksum": "c0562f5eaf66f84314c9ac7976c698304e47750943ec2f8f52b9de310d6255a5"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093147.574589, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__precise_ingredient_links\"", "raw_code": "-- stg_rxnorm__precise_ingredient_links.sql\n\nselect distinct\n\tingredient_strength.rxcui as ingredient_strength_rxcui\n\t, precise_ingredient.rxcui as precise_ingredient_rxcui\nfrom sagerx_lake.rxnorm_rxnconso precise_ingredient\ninner join sagerx_lake.rxnorm_rxnrel precise_ingredient_of\n on precise_ingredient_of.rxcui2 = precise_ingredient.rxcui\n and precise_ingredient_of.rela = 'precise_ingredient_of'\ninner join sagerx_lake.rxnorm_rxnconso ingredient_strength\n\ton ingredient_strength.rxcui = precise_ingredient_of.rxcui1\n\tand ingredient_strength.tty = 'SCDC'\n\tand ingredient_strength.sab = 'RXNORM'\nwhere precise_ingredient.tty = 'PIN'\n\tand precise_ingredient.sab = 'RXNORM'", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.stg_rxnorm__brand_product_components": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxnorm__brand_product_components", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxnorm/stg_rxnorm__brand_product_components.sql", "original_file_path": "models/staging/rxnorm/stg_rxnorm__brand_product_components.sql", "unique_id": "model.sagerx.stg_rxnorm__brand_product_components", "fqn": ["sagerx", "staging", "rxnorm", "stg_rxnorm__brand_product_components"], "alias": "stg_rxnorm__brand_product_components", "checksum": {"name": "sha256", "checksum": "61b0cbad297236ff1d1a4b1f305545be46bd2da6b53ecc1c710a51b26a6d567e"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "RxNorm brand product components (mostly SBD, but BPCKs can also contain SCD).", "columns": {"rxcui": {"name": "rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "name": {"name": "name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "tty": {"name": "tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_component_rxcui": {"name": "clinical_product_component_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "brand_rxcui": {"name": "brand_rxcui", "description": "NOTE: brand_product_component SCDs will have NULL for brand_rxcui.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active": {"name": "active", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "prescribable": {"name": "prescribable", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/rxnorm/_rxnorm__models.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093147.8234677, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__brand_product_components\"", "raw_code": "-- stg_rxnorm__brand_product_components.sql\n\nselect distinct\n\tcase when product.tty = 'SBD' then product.rxcui else product_component.rxcui end rxcui\n\t, case when product.tty = 'SBD' then product.str else product_component.str end name\n\t, case when product.tty = 'SBD' then product.tty else product_component.tty end tty\n\t, case when product_component.tty = 'SCD' then product_component.rxcui else rxnrel_scd.rxcui1 end clinical_product_component_rxcui\n\t, rxnrel_bn.rxcui1 as brand_rxcui\n\t, case when \n case when product.tty = 'SBD'\n then product.suppress\n else product_component.suppress\n end = 'N' \n then true \n else false\n end as active\n\t, case when \n case when product.tty = 'SBD'\n then product.cvf\n else product_component.cvf \n end = '4096' \n then true\n else false\n end as prescribable\nfrom sagerx_lake.rxnorm_rxnconso product\nleft join sagerx_lake.rxnorm_rxnrel rxnrel on rxnrel.rxcui2 = product.rxcui and rxnrel.rela = 'contains'\nleft join sagerx_lake.rxnorm_rxnconso product_component\n\ton rxnrel.rxcui1 = product_component.rxcui\n\tand product_component.tty in ('SBD', 'SCD') -- NOTE: BPCKs can contain SBDs AND SCDs\n\tand product_component.sab = 'RXNORM'\nleft join sagerx_lake.rxnorm_rxnrel rxnrel_scd \n\ton rxnrel_scd.rxcui2 = case when product_component.rxcui is null then product.rxcui else product_component.rxcui end \n\tand rxnrel_scd.rela = 'tradename_of' -- rxnrel_scd.rxcui1 = clinical_product_component_rxcui\nleft join sagerx_lake.rxnorm_rxnrel rxnrel_bn \n\ton rxnrel_bn.rxcui2 = case when product_component.rxcui is null then product.rxcui else product_component.rxcui end \n\tand rxnrel_bn.rela = 'has_ingredient' -- rxnrel_bn.rxcui1 = brand_rxcui\nwhere product.tty in ('SBD', 'BPCK')\n\tand product.sab = 'RXNORM'", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.stg_rxnorm__ndcs": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxnorm__ndcs", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxnorm/stg_rxnorm__ndcs.sql", "original_file_path": "models/staging/rxnorm/stg_rxnorm__ndcs.sql", "unique_id": "model.sagerx.stg_rxnorm__ndcs", "fqn": ["sagerx", "staging", "rxnorm", "stg_rxnorm__ndcs"], "alias": "stg_rxnorm__ndcs", "checksum": {"name": "sha256", "checksum": "1a371b31c1dce3f376bae64dd8eb5323b45b62d794072cca2f911f08c392f848"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "RxNorm NDCs", "columns": {"ndc": {"name": "ndc", "description": "The NDC in NDC11 format.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_rxcui": {"name": "clinical_product_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "brand_product_rxcui": {"name": "brand_product_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active": {"name": "active", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "prescribable": {"name": "prescribable", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/rxnorm/_rxnorm__models.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093147.7880945, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ndcs\"", "raw_code": "-- stg_rxnorm__ndcs.sql\n\nselect rxnsat.atv as ndc\n\t,case when product.tty in ('BPCK','SBD') then clinical_product.rxcui\n\t\telse rxnsat.rxcui end as clinical_product_rxcui\t\t\n\t,case when product.tty in ('BPCK','SBD') then rxnsat.rxcui\n\t\telse null end as brand_product_rxcui\n\t, case when rxnsat.suppress = 'N' then true else false end as active\n\t, case when rxnsat.cvf = '4096' then true else false end as prescribable\nfrom sagerx_lake.rxnorm_rxnsat rxnsat\n\tinner join sagerx_lake.rxnorm_rxnconso product on rxnsat.rxaui = product.rxaui\n\tleft join sagerx_lake.rxnorm_rxnrel rxnrel on rxnsat.rxcui = rxnrel.rxcui2 and rela = 'tradename_of' and product.tty in ('BPCK','SBD')\n\tleft join sagerx_lake.rxnorm_rxnconso clinical_product\n\t\ton rxnrel.rxcui1 = clinical_product.rxcui\n\t\tand clinical_product.tty in ('SCD','GPCK')\n\t\tand clinical_product.sab = 'RXNORM'\nwhere rxnsat.atn = 'NDC'\n\tand rxnsat.sab in ('ATC', 'CVX', 'DRUGBANK', 'MSH', 'MTHCMSFRF', 'MTHSPL', 'RXNORM', 'USP', 'VANDF')\n\tand product.tty in ('SCD','SBD','GPCK','BPCK')\n\tand product.sab = 'RXNORM'", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.stg_rxnorm__ingredient_components": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxnorm__ingredient_components", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxnorm/stg_rxnorm__ingredient_components.sql", "original_file_path": "models/staging/rxnorm/stg_rxnorm__ingredient_components.sql", "unique_id": "model.sagerx.stg_rxnorm__ingredient_components", "fqn": ["sagerx", "staging", "rxnorm", "stg_rxnorm__ingredient_components"], "alias": "stg_rxnorm__ingredient_components", "checksum": {"name": "sha256", "checksum": "20f19e301ccbd37653675862da45a3b01c6c3eb2568080c67ad787a3f039d87b"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "RxNorm ingredient components (IN).", "columns": {"rxcui": {"name": "rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "name": {"name": "name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "tty": {"name": "tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active": {"name": "active", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "prescribable": {"name": "prescribable", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/rxnorm/_rxnorm__models.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093147.8060052, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredient_components\"", "raw_code": "-- stg_rxnorm__ingredient_components.sql\n\nwith cte as (\n\tselect\n\t\trxnrel.rxcui2 as ingredient_rxcui\n\t\t, ingredient_component.rxcui as rxcui\n\t\t, ingredient_component.str as name\n\t\t, ingredient_component.tty as tty\n\t\t, ingredient_component.suppress\n\t\t, ingredient_component.cvf\n\tfrom\n\t\tsagerx_lake.rxnorm_rxnrel rxnrel\n\tinner join sagerx_lake.rxnorm_rxnconso ingredient_component\n\t\ton rxnrel.rxcui1 = ingredient_component.rxcui\n\twhere rxnrel.rela = 'has_part'\n\t\tand ingredient_component.tty = 'IN'\n\t\tand ingredient_component.sab = 'RXNORM'\n)\n\nselect distinct\n\tcase when cte.rxcui is null then ingredient.rxcui else cte.rxcui end rxcui\n\t, case when cte.name is null then ingredient.str else cte.name end name\n\t, case when cte.tty is null then ingredient.tty else cte.tty end tty\n\t, case when \n\t\tcase when cte.rxcui is null then ingredient.suppress else cte.suppress end = 'N' then true else false end as active\n\t, case when \n\t\tcase when cte.rxcui is null then ingredient.cvf else cte.cvf end = '4096' then true else false end as prescribable\nfrom sagerx_lake.rxnorm_rxnconso ingredient\nleft join cte on ingredient.rxcui = cte.ingredient_rxcui\nwhere ingredient.tty in('IN', 'MIN')\n\tand ingredient.sab = 'RXNORM'", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.stg_rxnorm__all_ndcs": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxnorm__all_ndcs", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxnorm/stg_rxnorm__all_ndcs.sql", "original_file_path": "models/staging/rxnorm/stg_rxnorm__all_ndcs.sql", "unique_id": "model.sagerx.stg_rxnorm__all_ndcs", "fqn": ["sagerx", "staging", "rxnorm", "stg_rxnorm__all_ndcs"], "alias": "stg_rxnorm__all_ndcs", "checksum": {"name": "sha256", "checksum": "b0db4cf6236aad565d00f197cc71c3af201015125d5d1de86f3c850d24861dc1"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093147.5871143, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__all_ndcs\"", "raw_code": "-- stg_rxnorm__all_ndcs.sql\n\nselect\n ndc_to_11(rxnsat.atv) as ndc11\n , rxnsat.atv as ndc\n , rxnsat.rxcui\n , rxnsat.sab\n\t, case when rxnsat.suppress = 'N' then true else false end as active\n\t, case when rxnsat.cvf = '4096' then true else false end as prescribable\nfrom sagerx_lake.rxnorm_rxnsat rxnsat\n where rxnsat.atn = 'NDC'\n\tand rxnsat.sab in ('ATC', 'CVX', 'DRUGBANK', 'MSH', 'MTHCMSFRF', 'MTHSPL', 'RXNORM', 'USP', 'VANDF')", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.stg_rxnorm__dose_form_groups": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxnorm__dose_form_groups", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxnorm/stg_rxnorm__dose_form_groups.sql", "original_file_path": "models/staging/rxnorm/stg_rxnorm__dose_form_groups.sql", "unique_id": "model.sagerx.stg_rxnorm__dose_form_groups", "fqn": ["sagerx", "staging", "rxnorm", "stg_rxnorm__dose_form_groups"], "alias": "stg_rxnorm__dose_form_groups", "checksum": {"name": "sha256", "checksum": "2abdec73cf80324ffbd10b92b312e046442688df83240c787d8145da3d54f73c"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "RxNorm dose form groups (DFG).", "columns": {"rxcui": {"name": "rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "name": {"name": "name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "tty": {"name": "tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active": {"name": "active", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "prescribable": {"name": "prescribable", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/rxnorm/_rxnorm__models.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093147.799563, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__dose_form_groups\"", "raw_code": "-- stg_rxnorm__dose_form_groups.sql\n\nselect\n\tdose_form_group.rxcui rxcui\n\t, dose_form_group.str name\n\t, dose_form_group.tty tty\n\t, case when dose_form_group.suppress = 'N' then true else false end as active\n\t, case when dose_form_group.cvf = '4096' then true else false end as prescribable\nfrom sagerx_lake.rxnorm_rxnconso dose_form_group\nwhere dose_form_group.tty = 'DFG'\n\tand dose_form_group.sab = 'RXNORM'", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.stg_rxnorm__dose_forms": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxnorm__dose_forms", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxnorm/stg_rxnorm__dose_forms.sql", "original_file_path": "models/staging/rxnorm/stg_rxnorm__dose_forms.sql", "unique_id": "model.sagerx.stg_rxnorm__dose_forms", "fqn": ["sagerx", "staging", "rxnorm", "stg_rxnorm__dose_forms"], "alias": "stg_rxnorm__dose_forms", "checksum": {"name": "sha256", "checksum": "bf4bba5b5f99e00616ff1a5b1d28ea7733075eb796e30ca0ff2dc3ec6f56be7c"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "RxNorm dose forms (DF).", "columns": {"rxcui": {"name": "rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "name": {"name": "name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "tty": {"name": "tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active": {"name": "active", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "prescribable": {"name": "prescribable", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/rxnorm/_rxnorm__models.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093147.7962754, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__dose_forms\"", "raw_code": "-- stg_rxnorm__dose_forms.sql\n\nselect\n\tdose_form.rxcui rxcui\n\t, dose_form.str name\n\t, dose_form.tty tty\n\t, case when dose_form.suppress = 'N' then true else false end as active\n\t, case when dose_form.cvf = '4096' then true else false end as prescribable\nfrom sagerx_lake.rxnorm_rxnconso dose_form\nwhere dose_form.tty = 'DF'\n\tand dose_form.sab = 'RXNORM'", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.stg_fda_enforcement__reports": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_fda_enforcement__reports", "resource_type": "model", "package_name": "sagerx", "path": "staging/fda_enforcement/stg_fda_enforcement__reports.sql", "original_file_path": "models/staging/fda_enforcement/stg_fda_enforcement__reports.sql", "unique_id": "model.sagerx.stg_fda_enforcement__reports", "fqn": ["sagerx", "staging", "fda_enforcement", "stg_fda_enforcement__reports"], "alias": "stg_fda_enforcement__reports", "checksum": {"name": "sha256", "checksum": "08329d3ef20f6dada46b9411cb460686820c5675aea47f463960aa574f460bcb"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093147.5962722, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_fda_enforcement__reports\"", "raw_code": "-- stg_fda_enforcement__reports.sql\n\nselect\n\tstatus\n\t, city\n\t, state\n\t, country\n\t, classification\n\t, openfda\n\t, product_type\n\t, event_id\n\t, recalling_firm\n\t, address_1\n\t, address_2\n\t, postal_code\n\t, voluntary_mandated\n\t, initial_firm_notification\n\t, distribution_pattern\n\t, recall_number\n\t, product_description\n\t, product_quantity\n\t, reason_for_recall\n\t, recall_initiation_date\n\t, center_classification_date\n\t, report_date\n\t, code_info\nfrom sagerx_lake.fda_enforcement", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.stg_fda_enforcement__regex_ndcs": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_fda_enforcement__regex_ndcs", "resource_type": "model", "package_name": "sagerx", "path": "staging/fda_enforcement/stg_fda_enforcement__regex_ndcs.sql", "original_file_path": "models/staging/fda_enforcement/stg_fda_enforcement__regex_ndcs.sql", "unique_id": "model.sagerx.stg_fda_enforcement__regex_ndcs", "fqn": ["sagerx", "staging", "fda_enforcement", "stg_fda_enforcement__regex_ndcs"], "alias": "stg_fda_enforcement__regex_ndcs", "checksum": {"name": "sha256", "checksum": "fc7088b630ff9a8a4c0498b43988d0d14927780b6862b7c474e40385f75b3825"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093147.599278, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_fda_enforcement__regex_ndcs\"", "raw_code": "-- stg_fda_enforcement__regex_ndcs.sql\n\nwith\n\nz as (\n\tselect\n\t\trecall_number\n\t\t, ndc_to_11((regexp_matches(product_description, '(\\m\\d{1,5}-\\d{1,4}-\\d{1,2}\\M|\\m\\d{11}\\M)', 'g'))[1]) as ndc11\n\t\t, left(ndc_to_11((regexp_matches(product_description, '(\\m\\d{1,5}-\\d{1,4}-\\d{1,2}\\M|\\m\\d{11}\\M)', 'g'))[1]), 9) as ndc9\n\tfrom sagerx_lake.fda_enforcement\n)\n\nselect\n\t*\nfrom z\nwhere ndc11 is not null", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.stg_fda_enforcement__json_ndcs": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_fda_enforcement__json_ndcs", "resource_type": "model", "package_name": "sagerx", "path": "staging/fda_enforcement/stg_fda_enforcement__json_ndcs.sql", "original_file_path": "models/staging/fda_enforcement/stg_fda_enforcement__json_ndcs.sql", "unique_id": "model.sagerx.stg_fda_enforcement__json_ndcs", "fqn": ["sagerx", "staging", "fda_enforcement", "stg_fda_enforcement__json_ndcs"], "alias": "stg_fda_enforcement__json_ndcs", "checksum": {"name": "sha256", "checksum": "17078ce164dd250e203616015d65f95e51112a237838083bd4bf4efe7981ea80"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "FDA enforcement NDCs from JSON.", "columns": {"recall_number": {"name": "recall_number", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ndc11": {"name": "ndc11", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ndc9": {"name": "ndc9", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "app_num": {"name": "app_num", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/fda_enforcement/_fda_enforcement__models.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093147.9720743, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_fda_enforcement__json_ndcs\"", "raw_code": "-- stg_fda_enforcement__json_ndcs.sql\n\nselect\n\tfdae.recall_number\n\t, ndc_to_11(ndc.id_value #>> '{}') as ndc11\n\t, left(ndc_to_11(ndc.id_value #>> '{}'),9) as ndc9\n\t, app_num.id_value #>> '{}' as app_num\nfrom sagerx_lake.fda_enforcement fdae\n\t, json_array_elements(openfda->'package_ndc') with ordinality ndc(id_value, line)\n\t, json_array_elements(openfda->'application_number') with ordinality app_num(id_value, line)\nwhere ndc_to_11(ndc.id_value #>> '{}') is not null", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.stg_rxnorm_historical__ndcs": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxnorm_historical__ndcs", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxnorm_historical/stg_rxnorm_historical__ndcs.sql", "original_file_path": "models/staging/rxnorm_historical/stg_rxnorm_historical__ndcs.sql", "unique_id": "model.sagerx.stg_rxnorm_historical__ndcs", "fqn": ["sagerx", "staging", "rxnorm_historical", "stg_rxnorm_historical__ndcs"], "alias": "stg_rxnorm_historical__ndcs", "checksum": {"name": "sha256", "checksum": "431df7f358c124355e4ac809968eb3f45d2a9c85df500e18540fda4d0773decd"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093147.605417, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm_historical__ndcs\"", "raw_code": "-- stg_rxnorm_historical__ndcs.sql\n\nselect\n *\nfrom {{ source('rxnorm_historical', 'rxnorm_historical') }}", "language": "sql", "refs": [], "sources": [["rxnorm_historical", "rxnorm_historical"]], "metrics": [], "depends_on": {"macros": [], "nodes": ["source.sagerx.rxnorm_historical.rxnorm_historical"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.stg_rxnorm_historical__most_recent_ndcs": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxnorm_historical__most_recent_ndcs", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxnorm_historical/stg_rxnorm_historical__most_recent_ndcs.sql", "original_file_path": "models/staging/rxnorm_historical/stg_rxnorm_historical__most_recent_ndcs.sql", "unique_id": "model.sagerx.stg_rxnorm_historical__most_recent_ndcs", "fqn": ["sagerx", "staging", "rxnorm_historical", "stg_rxnorm_historical__most_recent_ndcs"], "alias": "stg_rxnorm_historical__most_recent_ndcs", "checksum": {"name": "sha256", "checksum": "99236c4769cbc44fe97297054283358a791eaa6f27e9b642d9ef73befdd1fcba"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093147.6084292, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm_historical__most_recent_ndcs\"", "raw_code": "-- stg_rxnorm_historical__most_recent_ndcs.sql\n\nwith \n\nrxnorm_historical_ndcs as\n(\n select * from {{ ref('stg_rxnorm_historical__ndcs') }}\n)\n\n/*\nNOTE: we do this grouping and ranking to avoid NDCs that\nrelate to RXCUIs that have been remapped to multiple RXCUIs\n- see issue #265 for more details\n*/\n, grouped_and_ranked_rxnorm_historical_ndcs as\n(\n \n select\n ndc\n , end_date\n , row_number() over (partition by ndc order by end_date desc) as end_date_line\n , count(rxcui) as rxcui_count\n from rxnorm_historical_ndcs\n group by ndc, end_date\n order by count(rxcui) desc\n\n)\n\nselect\n rxnorm_historical_ndcs.*\nfrom grouped_and_ranked_rxnorm_historical_ndcs\ninner join rxnorm_historical_ndcs\n on rxnorm_historical_ndcs.ndc = grouped_and_ranked_rxnorm_historical_ndcs.ndc\n and rxnorm_historical_ndcs.end_date = grouped_and_ranked_rxnorm_historical_ndcs.end_date\nwhere rxcui_count = 1 -- only NDCs that are associated with one RXCUI per end_date\n\tand end_date_line = 1 -- only NDCs that are most recently associated with an RXCUI", "language": "sql", "refs": [{"name": "stg_rxnorm_historical__ndcs", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.sagerx.stg_rxnorm_historical__ndcs"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.stg_fda_ndc__ndcs": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_fda_ndc__ndcs", "resource_type": "model", "package_name": "sagerx", "path": "staging/fda_ndc/stg_fda_ndc__ndcs.sql", "original_file_path": "models/staging/fda_ndc/stg_fda_ndc__ndcs.sql", "unique_id": "model.sagerx.stg_fda_ndc__ndcs", "fqn": ["sagerx", "staging", "fda_ndc", "stg_fda_ndc__ndcs"], "alias": "stg_fda_ndc__ndcs", "checksum": {"name": "sha256", "checksum": "b171567bc73b2ddaeb532338bc94977c5b5cba5a19b308b52de473716cc050fe"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "FDA NDC Directory NDCs", "columns": {"ndc11": {"name": "ndc11", "description": "The ndcpackagecode field, normalized to a NDC11 format.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "productid": {"name": "productid", "description": "ProductID is a concatenation of the NDCproduct code and SPL documentID. It is included to help prevent duplicate rows from appearing when joining the product and package files together. It has no regulatory value or significance.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "productndc": {"name": "productndc", "description": "The labeler code and product code segments of the National Drug Code number, separated by a hyphen. Asterisks are no longer used or included within the product code segment to indicate certain configurations of the NDC. www.fda.gov/edrls under Structured Product Labeling Resources.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "producttypename": {"name": "producttypename", "description": "Indicates the type of product, such as Human Prescription Drug or Human OTC Drug. This data element corresponds to the Document Type of the SPL submission for the listing.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "proprietaryname": {"name": "proprietaryname", "description": "Also known as the trade name. It is the name of the product chosen by the labeler.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "proprietarynamesuffix": {"name": "proprietarynamesuffix", "description": "A suffix to the proprietary name, a value here should be appended to the ProprietaryName field to obtain the complete name of the product. This suffix is often used to distinguish characteristics of a product such as extended release (XR) or sleep aid (PM). Although many companies follow certain naming conventions for suffices, there is no recognized standard", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "nonproprietaryname": {"name": "nonproprietaryname", "description": "Sometimes called the generic name, this is usually the active ingredient(s) of the product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "dosageformname": {"name": "dosageformname", "description": "The translation of the DosageForm Code submitted by the firm. The complete list of codes and translations can be found www.fda.gov/edrls under Structured Product Labeling Resources.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "routename": {"name": "routename", "description": "The translation of the Route Code submitted by the firm, indicating route of administration. The complete list of codes and translations can be found at www.fda.gov/edrls under Structured Product Labeling Resources.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_startmarketingdate": {"name": "product_startmarketingdate", "description": "This is the date that the labeler indicates was the start of its marketing of the drug product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_endmarketingdate": {"name": "product_endmarketingdate", "description": "This is the date the product will no longer be available on the market. If a product is no longer being manufactured, in most cases, the FDA recommends firms use the expiration date of the last lot produced as the EndMarketingDate, to reflect the potential for drug product to remain available after manufacturing has ceased. Products that are the subject of ongoing manufacturing will not ordinarily have any EndMarketingDate. Products with a value in the EndMarketingDate will be removed from the NDC Directory when the EndMarketingDate is reached.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "marketingcategoryname": {"name": "marketingcategoryname", "description": "Product types are broken down into several potential Marketing Categories, such as NDA/ANDA/BLA, OTC Monograph, or Unapproved Drug. One and only one Marketing Category may be chosen for a product, not all marketing categories are available to all product types. Currently, only final marketed product categories are included. The complete list of codes and translations can be found at www.fda.gov/edrls under Structured Product Labeling Resources.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "applicationnumber": {"name": "applicationnumber", "description": "This corresponds to the NDA, ANDA, or BLA number reported by the labeler for products which have the corresponding Marketing Category designated. If the designated Marketing Category is OTC Monograph Final or OTC Monograph Not Final, then the Application number will be the CFR citation corresponding to the appropriate Monograph (e.g. \u201cpart 341\u201d). For unapproved drugs, this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "labelername": {"name": "labelername", "description": "Name of Company corresponding to the labeler code segment of the ProductNDC.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "substancename": {"name": "substancename", "description": "This is the active ingredient list. Each ingredient name is the preferred term of the UNII code submitted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active_numerator_strength": {"name": "active_numerator_strength", "description": "These are the strength values (to be used with units below) of each active ingredient, listed in the same order as the SubstanceName field above.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active_ingred_unit": {"name": "active_ingred_unit", "description": "These are the units to be used with the strength values above, listed in the same order as the SubstanceName and SubstanceNumber (ActiveNumeratorStrength).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "pharm_classes": {"name": "pharm_classes", "description": "These are the reported pharmacological class categories corresponding to the SubstanceNames listed above.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "deaschedule": {"name": "deaschedule", "description": "This is the assigned DEA Schedule number as reported by the labeler. Values are CI, CII, CIII, CIV, and CV.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_ndc_exclude_flag": {"name": "product_ndc_exclude_flag", "description": "Values = Y, N, E, or I. This indicates whether the product has been removed/excluded from the NDC Directory for failure to respond to FDA's requests for correction to deficient or non-compliant submissions (Y), or because the listing certification is expired (E), or because the listing data was inactivated by FDA (I). The PRODUCT.XLS and PRODUCT.TXT files only contain listing records where NDC_EXCLUDE_FLAG=N. The PRODUCTS_EXCLUDED.XLS and PRODUCTS_EXCLUDED.TXT file contains all listing records with an NDC_EXCLUDE_FLAG of Y, E, and I.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "listing_record_certified_through": {"name": "listing_record_certified_through", "description": "This is the date when the listing record will expire if not updated or certified by the firm.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ndcpackagecode": {"name": "ndcpackagecode", "description": "The labeler code, product code, and package code segments of the National Drug Code number, separated by hyphens. Asterisks are no longer used or included within the product and package code segments to indicate certain configurations of the NDC.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "packagedescription": {"name": "packagedescription", "description": "A description of the size and type of packaging in sentence form. Multilevel packages will have the descriptions concatenated together. For example: 4 BOTTLES in 1 CARTON/100 TABLETS in 1 BOTTLE.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "package_startmarketingdate": {"name": "package_startmarketingdate", "description": "This is the date that the labeler indicates was the start of its marketing of the drug product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "package_endmarketingdate": {"name": "package_endmarketingdate", "description": "This is the date the product will no longer be available on the market. If a product is no longer being manufactured, in most cases, the FDA recommends firms use the expiration date of the last lot produced as the EndMarketingDate, to reflect the potential for drug product to remain available after manufacturing has ceased. Products that are the subject of ongoing manufacturing will not ordinarily have any EndMarketingDate. Products with a value in the EndMarketingDate will be removed from the NDC Directory when the EndMarketingDate is reached.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "package_ndc_exclude_flag": {"name": "package_ndc_exclude_flag", "description": "Values = Y, N, E, or I. This indicates whether the PACKAGE has been removed/excluded from the NDC Directory for failure to respond to FDAs requests for correction to deficient or non-compliant submissions (Y), or because the listing certification is expired (E), or because the listing data was inactivated by FDA (I). The PACKAGE.XLS and PACKAGE.TXT files only contain listing records where NDC_EXCLUDE_FLAG=N. The PACKAGES_EXCLUDED.XLS and PACKAGES_EXCLUDED.TXT file contains all listing records with an NDC_EXCLUDE_FLAG of Y, E, and I.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sample_package": {"name": "sample_package", "description": "This indicates if the package is to be distributed as a sample package. Values = Y or N.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/fda_ndc/_fda_ndc__models.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093148.0024972, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_fda_ndc__ndcs\"", "raw_code": "-- stg_fda_ndc__ndcs.sql\n\nwith\n\nproduct as (\n \n select * from {{ source('fda_ndc', 'fda_ndc_product') }}\n\n),\n\npackage as (\n\n select * from {{ source('fda_ndc', 'fda_ndc_package') }}\n\n)\n\nselect\n\tndc_to_11(ndcpackagecode) as ndc11\n\t, package.productid\n\t, package.productndc\n\t, producttypename\n\t, proprietaryname\n\t, proprietarynamesuffix\n\t, nonproprietaryname\n\t, dosageformname\n\t, routename\n\t, product.startmarketingdate as product_startmarketingdate\n\t, product.endmarketingdate as product_endmarketingdate\n\t, marketingcategoryname\n\t, applicationnumber\n\t, labelername\n\t, substancename\n\t, active_numerator_strength\n\t, active_ingred_unit\n\t, pharm_classes\n\t, deaschedule\n\t, product.ndc_exclude_flag as product_ndc_exclude_flag\n\t, listing_record_certified_through\n\t, ndcpackagecode\n\t, packagedescription\n\t, package.startmarketingdate as package_startmarketingdate\n\t, package.endmarketingdate as package_endmarketingdate\n\t, package.ndc_exclude_flag as package_ndc_exclude_flag\n\t, sample_package\nfrom package\nleft join product\n\ton package.productid = product.productid", "language": "sql", "refs": [], "sources": [["fda_ndc", "fda_ndc_product"], ["fda_ndc", "fda_ndc_package"]], "metrics": [], "depends_on": {"macros": [], "nodes": ["source.sagerx.fda_ndc.fda_ndc_product", "source.sagerx.fda_ndc.fda_ndc_package"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.stg_fda_ndc__substances": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_fda_ndc__substances", "resource_type": "model", "package_name": "sagerx", "path": "staging/fda_ndc/stg_fda_ndc__substances.sql", "original_file_path": "models/staging/fda_ndc/stg_fda_ndc__substances.sql", "unique_id": "model.sagerx.stg_fda_ndc__substances", "fqn": ["sagerx", "staging", "fda_ndc", "stg_fda_ndc__substances"], "alias": "stg_fda_ndc__substances", "checksum": {"name": "sha256", "checksum": "29480ba08dcb0e87fbbe770bb1b88e5618936b45f018db5bcc6ef6db0715b76e"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "Product-level substance information", "columns": {"productid": {"name": "productid", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "substance_line": {"name": "substance_line", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "substancename": {"name": "substancename", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active_numerator_strength": {"name": "active_numerator_strength", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active_ingred_unit": {"name": "active_ingred_unit", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/fda_ndc/_fda_ndc__models.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093148.007399, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_fda_ndc__substances\"", "raw_code": "-- stg_fda_ndc__substances.sql\n\nwith\n\nproduct as (\n \n select * from {{ source('fda_ndc', 'fda_ndc_product') }}\n\n)\n\nselect distinct\n\tproduct.productid\n\t, row_number() over (partition by product.productid) as substance_line\n\t, arr.*\nfrom product\n\t, unnest(string_to_array(product.substancename, '; ')\n\t\t, string_to_array(product.active_numerator_strength, '; ')\n\t\t, string_to_array(product.active_ingred_unit, '; ')\n\t) arr(substancename, active_numerator_strength, active_ingred_unit)", "language": "sql", "refs": [], "sources": [["fda_ndc", "fda_ndc_product"]], "metrics": [], "depends_on": {"macros": [], "nodes": ["source.sagerx.fda_ndc.fda_ndc_product"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.stg_fda_ndc__classes": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_fda_ndc__classes", "resource_type": "model", "package_name": "sagerx", "path": "staging/fda_ndc/stg_fda_ndc__classes.sql", "original_file_path": "models/staging/fda_ndc/stg_fda_ndc__classes.sql", "unique_id": "model.sagerx.stg_fda_ndc__classes", "fqn": ["sagerx", "staging", "fda_ndc", "stg_fda_ndc__classes"], "alias": "stg_fda_ndc__classes", "checksum": {"name": "sha256", "checksum": "bb5208eb7b04111c8734355296d14b06672c9d2abdec68516b34e572e1c102ec"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "Product-level class information", "columns": {"productid": {"name": "productid", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "class_line": {"name": "class_line", "description": "Product can have multiple classes. This is the line number of the class.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "class_name": {"name": "class_name", "description": "Name of the pharmaceutical class.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "class_type": {"name": "class_type", "description": "Options include Chemical/Ingredient, EXT, PE, MoA, CS, and EPC.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/fda_ndc/_fda_ndc__models.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093148.0047808, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_fda_ndc__classes\"", "raw_code": "-- stg_fda_ndc__classes.sql\n\nwith\n\nproduct as (\n \n select * from {{ source('fda_ndc', 'fda_ndc_product') }}\n\n)\n\nselect\n\tz.productid\n\t, row_number() over (partition by z.productid order by z.token desc) as class_line\n\t, trim(left(z.token, position('[' in z.token) -1 )) as class_name\n , substring(z.token, '\\[(.+)\\]') as class_type\nfrom (select distinct product.productid\n\t, product.pharm_classes\n\t, s.token\n\tfrom product, unnest(string_to_array(product.pharm_classes, ',')) s(token)) z", "language": "sql", "refs": [], "sources": [["fda_ndc", "fda_ndc_product"]], "metrics": [], "depends_on": {"macros": [], "nodes": ["source.sagerx.fda_ndc.fda_ndc_product"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.stg_fda_unfinished__substances": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_fda_unfinished__substances", "resource_type": "model", "package_name": "sagerx", "path": "staging/fda_unfinished/stg_fda_unfinished__substances.sql", "original_file_path": "models/staging/fda_unfinished/stg_fda_unfinished__substances.sql", "unique_id": "model.sagerx.stg_fda_unfinished__substances", "fqn": ["sagerx", "staging", "fda_unfinished", "stg_fda_unfinished__substances"], "alias": "stg_fda_unfinished__substances", "checksum": {"name": "sha256", "checksum": "666d6601f0d97ebee1ae68fd02575a3257fd6091bb068068afb3c5b451967b4e"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "Product-level substance information", "columns": {"productid": {"name": "productid", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "substance_line": {"name": "substance_line", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "substancename": {"name": "substancename", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active_numerator_strength": {"name": "active_numerator_strength", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active_ingred_unit": {"name": "active_ingred_unit", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/fda_unfinished/_fda_unfinished__models.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093148.0355964, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_fda_unfinished__substances\"", "raw_code": "-- stg_fda_unfinished__substances.sql\n\nwith\n\nproduct as (\n \n select * from {{ source('fda_unfinished', 'fda_unfinished_product') }}\n\n)\n\nselect distinct\n product.productid\n , row_number() over (partition by product.productid) as substance_line\n , arr.*\nfrom product\n , unnest(string_to_array(product.substancename, '; ')\n ,string_to_array(product.active_numerator_strength, '; ')\n ,string_to_array(product.active_ingred_unit, '; ')\n ) arr(substancename, active_numerator_strength, active_ingred_unit)", "language": "sql", "refs": [], "sources": [["fda_unfinished", "fda_unfinished_product"]], "metrics": [], "depends_on": {"macros": [], "nodes": ["source.sagerx.fda_unfinished.fda_unfinished_product"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.stg_fda_unfinished__ndcs": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_fda_unfinished__ndcs", "resource_type": "model", "package_name": "sagerx", "path": "staging/fda_unfinished/stg_fda_unfinished__ndcs.sql", "original_file_path": "models/staging/fda_unfinished/stg_fda_unfinished__ndcs.sql", "unique_id": "model.sagerx.stg_fda_unfinished__ndcs", "fqn": ["sagerx", "staging", "fda_unfinished", "stg_fda_unfinished__ndcs"], "alias": "stg_fda_unfinished__ndcs", "checksum": {"name": "sha256", "checksum": "8ab6811a9a05a58a3abe0dd9f1ca1da49c7052f3185d7c2085e299b53ccf65d3"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "FDA unfinished NDCs", "columns": {"ndc11": {"name": "ndc11", "description": "The ndcpackagecode field, normalized to a NDC11 format.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "productid": {"name": "productid", "description": "ProductID is a concatenation of the NDCproduct code and SPL documentID. It is included to help prevent duplicate rows from appearing when joining the product and package files together. It has no regulatory value or significance.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "productndc": {"name": "productndc", "description": "The labeler code and product code segments of the National Drug Code number, separated by a hyphen. Asterisks are no longer used or included within the product code segment to indicate certain configurations of the NDC. www.fda.gov/edrls under Structured Product Labeling Resources.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "producttypename": {"name": "producttypename", "description": "Indicates the type of product, such as Human Prescription Drug or Human OTC Drug. This data element corresponds to the Document Type of the SPL submission for the listing.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "nonproprietaryname": {"name": "nonproprietaryname", "description": "Sometimes called the generic name, this is usually the active ingredient(s) of the product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "dosageformname": {"name": "dosageformname", "description": "The translation of the DosageForm Code submitted by the firm. The complete list of codes and translations can be found www.fda.gov/edrls under Structured Product Labeling Resources.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_startmarketingdate": {"name": "product_startmarketingdate", "description": "This is the date that the labeler indicates was the start of its marketing of the drug product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_endmarketingdate": {"name": "product_endmarketingdate", "description": "This is the date the product will no longer be available on the market. If a product is no longer being manufactured, in most cases, the FDA recommends firms use the expiration date of the last lot produced as the EndMarketingDate, to reflect the potential for drug product to remain available after manufacturing has ceased. Products that are the subject of ongoing manufacturing will not ordinarily have any EndMarketingDate. Products with a value in the EndMarketingDate will be removed from the NDC Directory when the EndMarketingDate is reached.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "marketingcategoryname": {"name": "marketingcategoryname", "description": "Product types are broken down into several potential Marketing Categories, such as NDA/ANDA/BLA, OTC Monograph, or Unapproved Drug. One and only one Marketing Category may be chosen for a product, not all marketing categories are available to all product types. Currently, only final marketed product categories are included. The complete list of codes and translations can be found at www.fda.gov/edrls under Structured Product Labeling Resources.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "labelername": {"name": "labelername", "description": "Name of Company corresponding to the labeler code segment of the ProductNDC.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "substancename": {"name": "substancename", "description": "This is the active ingredient list. Each ingredient name is the preferred term of the UNII code submitted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active_numerator_strength": {"name": "active_numerator_strength", "description": "These are the strength values (to be used with units below) of each active ingredient, listed in the same order as the SubstanceName field above.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active_ingred_unit": {"name": "active_ingred_unit", "description": "These are the units to be used with the strength values above, listed in the same order as the SubstanceName and SubstanceNumber (ActiveNumeratorStrength).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "deaschedule": {"name": "deaschedule", "description": "This is the assigned DEA Schedule number as reported by the labeler. Values are CI, CII, CIII, CIV, and CV.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "listing_record_certified_through": {"name": "listing_record_certified_through", "description": "This is the date when the listing record will expire if not updated or certified by the firm.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ndcpackagecode": {"name": "ndcpackagecode", "description": "The labeler code, product code, and package code segments of the National Drug Code number, separated by hyphens. Asterisks are no longer used or included within the product and package code segments to indicate certain configurations of the NDC.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "packagedescription": {"name": "packagedescription", "description": "A description of the size and type of packaging in sentence form. Multilevel packages will have the descriptions concatenated together. For example: 4 BOTTLES in 1 CARTON/100 TABLETS in 1 BOTTLE.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "package_startmarketingdate": {"name": "package_startmarketingdate", "description": "This is the date that the labeler indicates was the start of its marketing of the drug product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "package_endmarketingdate": {"name": "package_endmarketingdate", "description": "This is the date the product will no longer be available on the market. If a product is no longer being manufactured, in most cases, the FDA recommends firms use the expiration date of the last lot produced as the EndMarketingDate, to reflect the potential for drug product to remain available after manufacturing has ceased. Products that are the subject of ongoing manufacturing will not ordinarily have any EndMarketingDate. Products with a value in the EndMarketingDate will be removed from the NDC Directory when the EndMarketingDate is reached.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/fda_unfinished/_fda_unfinished__models.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093148.0332584, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_fda_unfinished__ndcs\"", "raw_code": "-- stg_fda_unfinished__ndcs.sql\r\n\r\nwith\r\n\r\nproduct as (\r\n \r\n select * from {{ source('fda_unfinished', 'fda_unfinished_product') }}\r\n\r\n),\r\n\r\npackage as (\r\n\r\n select * from {{ source('fda_unfinished', 'fda_unfinished_package') }}\r\n\r\n)\r\n\r\nselect\r\n\tndc_to_11(package.ndcpackagecode) as ndc11\r\n\t, package.productid\r\n\t, package.productndc\r\n\t, producttypename\r\n\t, nonproprietaryname\r\n\t, dosageformname\r\n\t, product.startmarketingdate as product_startmarketingdate\r\n\t, product.endmarketingdate as product_endmarketingdate\r\n\t, marketingcategoryname\r\n\t, labelername\r\n\t, substancename\r\n\t, active_numerator_strength\r\n\t, active_ingred_unit\r\n\t, deaschedule\r\n\t, listing_record_certified_through\r\n\t, ndcpackagecode\r\n\t, packagedescription\r\n\t, package.startmarketingdate as package_startmarketingdate\r\n\t, package.endmarketingdate as package_endmarketingdate\r\nfrom package\r\nleft join product\r\n\ton package.productid = product.productid", "language": "sql", "refs": [], "sources": [["fda_unfinished", "fda_unfinished_product"], ["fda_unfinished", "fda_unfinished_package"]], "metrics": [], "depends_on": {"macros": [], "nodes": ["source.sagerx.fda_unfinished.fda_unfinished_product", "source.sagerx.fda_unfinished.fda_unfinished_package"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.stg_rxterms__names": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxterms__names", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxterms/stg_rxterms__names.sql", "original_file_path": "models/staging/rxterms/stg_rxterms__names.sql", "unique_id": "model.sagerx.stg_rxterms__names", "fqn": ["sagerx", "staging", "rxterms", "stg_rxterms__names"], "alias": "stg_rxterms__names", "checksum": {"name": "sha256", "checksum": "1cc8b9985fc0a916d7850786f53647c231df3f3b64c96fc5c6e9b04930c5beed"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "Table of drug names and commonly used synonyms or abbreviations for the drugs. Only un-suppressed and not retired terms.", "columns": {"name": {"name": "name", "description": "Drug name (either generic or brand name) and intended route.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "synonyms": {"name": "synonyms", "description": "Commonly used synonyms or abbreviations for the drug.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/rxterms/_rxterms__models.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093148.066672, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxterms__names\"", "raw_code": "with\n\nrxterms as (\n\n select * from {{ source('rxterms', 'rxterms') }}\n \n)\n\nselect distinct\n display_name as name\n , display_name_synonym as synonyms\nfrom rxterms\nwhere suppress_for is null \n and is_retired is null", "language": "sql", "refs": [], "sources": [["rxterms", "rxterms"]], "metrics": [], "depends_on": {"macros": [], "nodes": ["source.sagerx.rxterms.rxterms"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.stg_rxterms__strengths": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxterms__strengths", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxterms/stg_rxterms__strengths.sql", "original_file_path": "models/staging/rxterms/stg_rxterms__strengths.sql", "unique_id": "model.sagerx.stg_rxterms__strengths", "fqn": ["sagerx", "staging", "rxterms", "stg_rxterms__strengths"], "alias": "stg_rxterms__strengths", "checksum": {"name": "sha256", "checksum": "0fafd23eb6e5d376d94ce34d1f5a5d580a52427762b62ca3066584ab8908feec"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "Tables of drug strengths and their corresponding rxcuis. Only un-suppressed and not retired terms.", "columns": {"rxcui": {"name": "rxcui", "description": "The RxNorm concept unique identifier for the drug.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "name": {"name": "name", "description": "Drug name (either generic or brand name) and intended route.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "strength": {"name": "strength", "description": "Strength information parsed from the RxNorm full name. Concatenated strength and dose form values.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/rxterms/_rxterms__models.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "view"}, "created_at": 1715093148.0690477, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxterms__strengths\"", "raw_code": "with\n\nrxterms as (\n\n select * from {{ source('rxterms', 'rxterms') }}\n \n)\n\nselect distinct\n rxcui\n , display_name as name\n , concat(strength, ' ', new_dose_form) as strength\nfrom rxterms\nwhere suppress_for is null \n and is_retired is null", "language": "sql", "refs": [], "sources": [["rxterms", "rxterms"]], "metrics": [], "depends_on": {"macros": [], "nodes": ["source.sagerx.rxterms.rxterms"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.fda_excluded": {"database": "sagerx", "schema": "sagerx_dev", "name": "fda_excluded", "resource_type": "model", "package_name": "sagerx", "path": "marts/fda_excluded/fda_excluded.sql", "original_file_path": "models/marts/fda_excluded/fda_excluded.sql", "unique_id": "model.sagerx.fda_excluded", "fqn": ["sagerx", "marts", "fda_excluded", "fda_excluded"], "alias": "fda_excluded", "checksum": {"name": "sha256", "checksum": "f353b5dfbb6c2c5d58f73a74cdaf9fc7b2adef73dbdc63eccaa4415ccb10aa93"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "table"}, "created_at": 1715093147.63317, "relation_name": "\"sagerx\".\"sagerx_dev\".\"fda_excluded\"", "raw_code": "SELECT\n\tndc_to_11(pack.ndcpackagecode) AS ndc11\n\t, pack.productid\n\t, pack.productndc\n\t, producttypename\n\t, proprietaryname\n\t, proprietarynamesuffix\n\t, nonproprietaryname\n\t, dosageformname\n\t, routename\n\t, pack.startmarketingdate\n\t, pack.endmarketingdate\n\t, marketingcategoryname\n\t, applicationnumber\n\t, labelername\n\t, substancename\n\t, active_numerator_strength\n\t, active_ingred_unit\n\t, pharm_classes\n\t, deaschedule\n\t, pack.ndc_exclude_flag\n\t, listing_record_certified_through\n\t, ndcpackagecode\n\t, packagedescription\n\t, sample_package\nFROM {{source('fda_excluded','fda_excluded_package')}} AS pack\nLEFT JOIN {{source('fda_excluded','fda_excluded_product')}} AS prod\n\tON pack.productid = prod.productid", "language": "sql", "refs": [], "sources": [["fda_excluded", "fda_excluded_package"], ["fda_excluded", "fda_excluded_product"]], "metrics": [], "depends_on": {"macros": [], "nodes": ["source.sagerx.fda_excluded.fda_excluded_package", "source.sagerx.fda_excluded.fda_excluded_product"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.scorecard_data": {"database": "sagerx", "schema": "sagerx_dev", "name": "scorecard_data", "resource_type": "model", "package_name": "sagerx", "path": "marts/purdue/scorecard_data.sql", "original_file_path": "models/marts/purdue/scorecard_data.sql", "unique_id": "model.sagerx.scorecard_data", "fqn": ["sagerx", "marts", "purdue", "scorecard_data"], "alias": "scorecard_data", "checksum": {"name": "sha256", "checksum": "ae306ca879ec1bac2b251c65594a323c5ec1378bc3b0f8c0e80fa3bb1cfdbc31"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "table"}, "created_at": 1715093147.636362, "relation_name": "\"sagerx\".\"sagerx_dev\".\"scorecard_data\"", "raw_code": "with\n\ning_to_report as (\n\n select * from {{ ref('int_inactive_ingredients_to_fda_enforcement_reports') }}\n\n)\n\nselect * from ing_to_report\nwhere active_ingredient_name in (\n 'risperidone'\n , 'adalimumab'\n , 'lidocaine'\n , 'carbamazepine'\n , 'phenytoin'\n , 'midazolam'\n , 'valproate'\n , 'tacrolimus'\n , 'amoxicillin'\n , 'hydrocortisone'\n , 'cetirizine'\n , 'pertuzumab'\n , 'methylphenidate'\n , 'erythromycin'\n , 'gabapentin'\n , 'lopinavir / ritonavir'\n , 'levothyroxine'\n , 'albuterol'\n )", "language": "sql", "refs": [{"name": "int_inactive_ingredients_to_fda_enforcement_reports", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.sagerx.int_inactive_ingredients_to_fda_enforcement_reports"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.all_ndcs_to_sources": {"database": "sagerx", "schema": "sagerx_dev", "name": "all_ndcs_to_sources", "resource_type": "model", "package_name": "sagerx", "path": "marts/ndc/all_ndcs_to_sources.sql", "original_file_path": "models/marts/ndc/all_ndcs_to_sources.sql", "unique_id": "model.sagerx.all_ndcs_to_sources", "fqn": ["sagerx", "marts", "ndc", "all_ndcs_to_sources"], "alias": "all_ndcs_to_sources", "checksum": {"name": "sha256", "checksum": "23a43e23df33bfb3993bb3336b9991067887c72328b98256f9be9be1a5220460"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "table"}, "created_at": 1715093147.6395562, "relation_name": "\"sagerx\".\"sagerx_dev\".\"all_ndcs_to_sources\"", "raw_code": "-- stg_ndc_all_ndcs_to_sources.sql\n\nwith rxnorm_historical_ndcs as\n(\n -- NOTE: likely need to pick the most recent NDC\n -- instead of just distinct\n -- and pull in the other columns too possibly\n select distinct ndc\n from {{ ref('stg_rxnorm_historical__ndcs') }}\n)\n\n, rxnorm_ndcs as\n(\n select distinct ndc\n from {{ ref('stg_rxnorm__ndcs') }}\n)\n\n, fda_ndc_ndcs as\n(\n select distinct ndc11 as ndc\n from {{ ref('stg_fda_ndc__ndcs') }}\n)\n\n, fda_excluded_ndcs as\n(\n select distinct ndc11 as ndc\n from {{ ref('stg_fda_excluded__ndcs') }}\n)\n\n, fda_unfinished_ndcs as\n(\n select distinct ndc11 as ndc\n from {{ ref('stg_fda_unfinished__ndcs') }}\n)\n\n, all_distinct_ndcs as\n(\n select ndc from rxnorm_historical_ndcs\n union\n select ndc from rxnorm_ndcs\n union\n select ndc from fda_ndc_ndcs\n union\n select ndc from fda_excluded_ndcs\n union\n select ndc from fda_unfinished_ndcs\n)\n\n, all_ndcs_to_sources as (\n select\n all_distinct_ndcs.ndc\n , case when rxnorm_historical_ndcs.ndc is not null\n then 1 \n else 0\n end as rxnorm_historical_ndcs\n , case when rxnorm_ndcs.ndc is not null\n then 1 \n else 0\n end as rxnorm_ndcs\n , case when fda_ndc_ndcs.ndc is not null\n then 1 \n else 0\n end as fda_ndc_ndcs\n , case when fda_excluded_ndcs.ndc is not null\n then 1 \n else 0\n end as fda_excluded_ndcs\n , case when fda_unfinished_ndcs.ndc is not null\n then 1 \n else 0\n end as fda_unfinished_ndcs\n from all_distinct_ndcs\n left join rxnorm_historical_ndcs\n on rxnorm_historical_ndcs.ndc = all_distinct_ndcs.ndc\n left join rxnorm_ndcs\n on rxnorm_ndcs.ndc = all_distinct_ndcs.ndc\n left join fda_ndc_ndcs\n on fda_ndc_ndcs.ndc = all_distinct_ndcs.ndc\n left join fda_excluded_ndcs\n on fda_excluded_ndcs.ndc = all_distinct_ndcs.ndc\n left join fda_unfinished_ndcs\n on fda_unfinished_ndcs.ndc = all_distinct_ndcs.ndc\n)\n\n, all_not_null_ndcs_to_sources as (\n select\n *\n from all_ndcs_to_sources\n where ndc is not null\n)\n\nselect * from all_not_null_ndcs_to_sources", "language": "sql", "refs": [{"name": "stg_rxnorm_historical__ndcs", "package": null, "version": null}, {"name": "stg_rxnorm__ndcs", "package": null, "version": null}, {"name": "stg_fda_ndc__ndcs", "package": null, "version": null}, {"name": "stg_fda_excluded__ndcs", "package": null, "version": null}, {"name": "stg_fda_unfinished__ndcs", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.sagerx.stg_rxnorm_historical__ndcs", "model.sagerx.stg_rxnorm__ndcs", "model.sagerx.stg_fda_ndc__ndcs", "model.sagerx.stg_fda_excluded__ndcs", "model.sagerx.stg_fda_unfinished__ndcs"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.all_ndc_descriptions": {"database": "sagerx", "schema": "sagerx_dev", "name": "all_ndc_descriptions", "resource_type": "model", "package_name": "sagerx", "path": "marts/ndc/all_ndc_descriptions.sql", "original_file_path": "models/marts/ndc/all_ndc_descriptions.sql", "unique_id": "model.sagerx.all_ndc_descriptions", "fqn": ["sagerx", "marts", "ndc", "all_ndc_descriptions"], "alias": "all_ndc_descriptions", "checksum": {"name": "sha256", "checksum": "1e2f14fd36f33db8a32ba75c69cc3248f97ce548a01f820ea4a0903f3d873b84"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "NDC to RxNorm description (with RXCUI) and FDA description.\n\nNOTE: If RxNorm and RxNorm Historical have same NDCs, we prefer RxNorm.\nIf any of the 3 FDA sources have same NDCs, we prefer FDA NDC, FDA Excluded, FDA Unfinished in that order.\n", "columns": {"ndc": {"name": "ndc", "description": "The NDC in NDC11 format. This column contains only unique values.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "rxcui": {"name": "rxcui", "description": "If NDC was found in an RxNorm sources, we have an associated RXCUI. If NULL, the source is likely FDA.\n", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "rxnorm_description": {"name": "rxnorm_description", "description": "If RxNorm source, will have the RxNorm normalized description (STR).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "fda_description": {"name": "fda_description", "description": "If FDA source, will have a description cobbled together from FDA columns for lack of a normalized FDA description.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/marts/ndc/_ndc__models.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "table"}, "created_at": 1715093148.0723028, "relation_name": "\"sagerx\".\"sagerx_dev\".\"all_ndc_descriptions\"", "raw_code": "-- all_ndc_descriptions.sql\n\nwith \n\n/*\nNOTE: this intermediate table is only NDCs that have\nSAB = RXNORM RXCUIs, which limits the total NDC count - \nthere are lots of NDCs that don't have RXNORM RXCUIs\nthat might be good to include in the future, but a lot\nseem to be inactive or not prescribable\nMTHSPL = 174k+, VANDF = 309k+, CVX = 500+\n*/\nrxnorm_ndcs as (\n\n select\n ndc\n , product_rxcui as rxcui\n , product_name as rxnorm_description\n from {{ ref('int_rxnorm_ndcs_to_products') }}\n\n) \n\n/* \nNOTE: maybe want to make a stg_rxnorm__products table\nto replace this weird one-off table\n*/\n, rxnorm_product_rxcuis as (\n\n select * from {{ ref('stg_rxnorm__product_rxcuis') }}\n\n)\n\n/*\nNOTE: do we really only want the most recent historical NDCs?\nmaybe should mash rxnorm_historical_ndcs up against rxnorm_ndcs\nand somehow filter out any parts that are wrong?\n*/\n, most_recent_rxnorm_historical_ndcs as (\n\n select\n rxnorm_historical_most_recent_ndcs.ndc::varchar\n , rxnorm_historical_most_recent_ndcs.rxcui::varchar\n , rxnorm_product_rxcuis.str as rxnorm_description\n from {{ ref('stg_rxnorm_historical__most_recent_ndcs') }} rxnorm_historical_most_recent_ndcs\n left join rxnorm_product_rxcuis\n on rxnorm_product_rxcuis.rxcui = rxnorm_historical_most_recent_ndcs.rxcui::varchar\n\n)\n\n, fda_ndc_ndcs as (\n\n select\n ndc11 as ndc\n , trim(concat(\n nonproprietaryname\n , ' '\n , active_numerator_strength\n , ' '\n , active_ingred_unit\n , ' '\n , lower(dosageformname)\n , case when proprietaryname is not null then concat(\n ' ['\n , proprietaryname\n , case when proprietarynamesuffix is not null then concat(\n ' '\n , proprietarynamesuffix\n ) else '' end\n , ']'\n ) else '' end\n )) as fda_description\n from {{ ref('stg_fda_ndc__ndcs') }}\n\n)\n\n, fda_unfinished_ndcs as (\n\n select\n ndc11 as ndc\n , trim(concat(\n nonproprietaryname\n , ' '\n , active_numerator_strength\n , ' '\n , active_ingred_unit\n , ' '\n , lower(dosageformname)\n )) as fda_description\n from {{ ref('stg_fda_unfinished__ndcs') }}\n\n)\n\n, fda_excluded_ndcs as (\n\n select\n ndc11 as ndc\n , trim(concat(\n nonproprietaryname\n , ' '\n , active_numerator_strength\n , ' '\n , active_ingred_unit\n , ' '\n , lower(dosageformname)\n , case when proprietaryname is not null then concat(\n ' ['\n , proprietaryname\n , case when proprietarynamesuffix is not null then concat(\n ' '\n , proprietarynamesuffix\n ) else '' end\n , ']'\n ) else '' end\n )) as fda_description\n from {{ ref('stg_fda_excluded__ndcs') }}\n\n)\n\n, all_rxnorm_ndcs as (\n \n select *, 1 as table_rank from rxnorm_ndcs\n\n union\n\n select *, 2 as table_rank from most_recent_rxnorm_historical_ndcs\n\n)\n\n, ranked_rxnorm_ndcs as (\n\n select\n *\n , row_number() over (partition by ndc order by table_rank asc) as row_num\n from all_rxnorm_ndcs\n\n)\n\n, distinct_rxnorm_ndcs as (\n\n select\n ndc\n , rxcui\n , rxnorm_description\n from ranked_rxnorm_ndcs\n where row_num = 1\n\n)\n\n, all_fda_ndcs as (\n\n select *, 1 as table_rank from fda_ndc_ndcs\n \n union\n \n select *, 2 as table_rank from fda_excluded_ndcs\n\n union\n\n select *, 3 as table_rank from fda_unfinished_ndcs \n\n)\n\n, ranked_fda_ndcs as (\n\n select\n *\n , row_number() over (partition by ndc order by table_rank asc) as row_num\n from all_fda_ndcs\n\n)\n\n, distinct_fda_ndcs as (\n\n select\n ndc\n , fda_description\n from ranked_fda_ndcs\n where row_num = 1\n\n)\n\n, all_ndcs as (\n\n select ndc from distinct_rxnorm_ndcs\n\n union\n \n select ndc from distinct_fda_ndcs\n\n)\n\n, all_ndc_descriptions as (\n\n select\n all_ndcs.ndc\n , rxcui\n , rxnorm_description\n , fda_description\n from all_ndcs\n left join distinct_rxnorm_ndcs\n on distinct_rxnorm_ndcs.ndc = all_ndcs.ndc\n left join distinct_fda_ndcs\n on distinct_fda_ndcs.ndc = all_ndcs.ndc\n\n)\n\n, all_not_null_ndc_descriptions as (\n\nselect * from all_ndc_descriptions\nwhere ndc is not null\n\n)\n\nselect * from all_not_null_ndc_descriptions", "language": "sql", "refs": [{"name": "int_rxnorm_ndcs_to_products", "package": null, "version": null}, {"name": "stg_rxnorm__product_rxcuis", "package": null, "version": null}, {"name": "stg_rxnorm_historical__most_recent_ndcs", "package": null, "version": null}, {"name": "stg_fda_ndc__ndcs", "package": null, "version": null}, {"name": "stg_fda_unfinished__ndcs", "package": null, "version": null}, {"name": "stg_fda_excluded__ndcs", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.sagerx.int_rxnorm_ndcs_to_products", "model.sagerx.stg_rxnorm__product_rxcuis", "model.sagerx.stg_rxnorm_historical__most_recent_ndcs", "model.sagerx.stg_fda_ndc__ndcs", "model.sagerx.stg_fda_unfinished__ndcs", "model.sagerx.stg_fda_excluded__ndcs"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.products": {"database": "sagerx", "schema": "sagerx_dev", "name": "products", "resource_type": "model", "package_name": "sagerx", "path": "marts/products/products.sql", "original_file_path": "models/marts/products/products.sql", "unique_id": "model.sagerx.products", "fqn": ["sagerx", "marts", "products", "products"], "alias": "products", "checksum": {"name": "sha256", "checksum": "808bce37826603bf4582a7706680598af51666e0ebf3bef97d01dd1978845d47"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "Product information including name, RXCUI, brand vs generic, ingredient, and dose form.\n\nData generally comes from RxNorm.\n", "columns": {"brand_vs_generic": {"name": "brand_vs_generic", "description": "Simple (not comprehensive) brand vs generic flag.\n\nIf TTY = SBD or BPCK, this will be brand. \nIf TTY = SCD or GPCK, this will be generic.\n", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/marts/products/_products__models.yml", "build_path": "target/run/sagerx/models/marts/products/products.sql", "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "table"}, "created_at": 1715093148.0814252, "relation_name": "\"sagerx\".\"sagerx_dev\".\"products\"", "raw_code": "with rxnorm_products as (\n select * from {{ ref('stg_rxnorm__products') }}\n)\n\n, rxnorm_clinical_products_to_ingredients as (\n select * from {{ ref('int_rxnorm_clinical_products_to_ingredients') }}\n)\n\nselect\n product_rxcui\n , product_name\n , product_tty\n , case\n when product_tty in ('SBD', 'BPCK') then 'brand'\n when product_tty in ('SCD', 'GPCK') then 'generic'\n end as brand_vs_generic\n , substring(product_name from '\\[(.*)\\]') as brand_name\n , cping.ingredient_name\n -- strength - couldn't easily get strength at this grain - can if needed\n , cping.dose_form_name\nfrom rxnorm_products prod\nleft join rxnorm_clinical_products_to_ingredients cping\n on cping.clinical_product_rxcui = prod.clinical_product_rxcui", "language": "sql", "refs": [{"name": "stg_rxnorm__products", "package": null, "version": null}, {"name": "int_rxnorm_clinical_products_to_ingredients", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.sagerx.stg_rxnorm__products", "model.sagerx.int_rxnorm_clinical_products_to_ingredients"]}, "compiled_path": "target/compiled/sagerx/models/marts/products/products.sql", "compiled": true, "compiled_code": "with rxnorm_products as (\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__products\"\n)\n\n, rxnorm_clinical_products_to_ingredients as (\n select * from \"sagerx\".\"sagerx_dev\".\"int_rxnorm_clinical_products_to_ingredients\"\n)\n\nselect\n product_rxcui\n , product_name\n , product_tty\n , case\n when product_tty in ('SBD', 'BPCK') then 'brand'\n when product_tty in ('SCD', 'GPCK') then 'generic'\n end as brand_vs_generic\n , substring(product_name from '\\[(.*)\\]') as brand_name\n , cping.ingredient_name\n -- strength - couldn't easily get strength at this grain - can if needed\n , cping.dose_form_name\nfrom rxnorm_products prod\nleft join rxnorm_clinical_products_to_ingredients cping\n on cping.clinical_product_rxcui = prod.clinical_product_rxcui", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.brand_products_with_related_ndcs": {"database": "sagerx", "schema": "sagerx_dev", "name": "brand_products_with_related_ndcs", "resource_type": "model", "package_name": "sagerx", "path": "marts/products/brand_products_with_related_ndcs.sql", "original_file_path": "models/marts/products/brand_products_with_related_ndcs.sql", "unique_id": "model.sagerx.brand_products_with_related_ndcs", "fqn": ["sagerx", "marts", "products", "brand_products_with_related_ndcs"], "alias": "brand_products_with_related_ndcs", "checksum": {"name": "sha256", "checksum": "07692a333d1aa55e8152e06850f86b516badcb6eb693520f68ab511bfea6313f"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "Brand Product RXCUI \u2192 Related Clinical Product RXCUI \u2192 NDCs related to that Clinical Product RXCUI \u2192 FDA Start Marketing Dates\n", "columns": {"product_tty": {"name": "product_tty", "description": "Will always be SBD or BPCK since we are starting with brand products only.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_name": {"name": "product_name", "description": "The name of the brand product we are starting from.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ndc_product_tty": {"name": "ndc_product_tty", "description": "Could be SCD, SBD, GPCK, BPCK, or null.\n\nA product related to the original brand product based on a clinical product identifier.\n\nExample: starting with a product TTY / RXCUI of SBD 1000000, you could have a related ndc_product\nof SBD 1000000 because that brand product relates to itself, as well as a related ndc_product of\nSCD 999996 which is the generic version of the same product.\n\nCan have duplicate RXCUIs if there are multiple NDCs related to that RXCUI.\n", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ndc": {"name": "ndc", "description": "The NDC that relates to the ndc_product_rxcui.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_startmarketingdate": {"name": "product_startmarketingdate", "description": "The start marketing date of the **product**. Can be different from that of the package.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "package_startmarketingdate": {"name": "package_startmarketingdate", "description": "The start marketing date of the **package**. Can be different from that of the product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/marts/products/_products__models.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "table"}, "created_at": 1715093148.0845292, "relation_name": "\"sagerx\".\"sagerx_dev\".\"brand_products_with_related_ndcs\"", "raw_code": "with brand_products as (\n select * from {{ ref('stg_rxnorm__products') }}\n where product_tty in ('SBD', 'BPCK') -- brand products only\n)\n\n, fda_ndcs as (\n select * from {{ ref('stg_fda_ndc__ndcs') }}\n)\n\n, rxnorm_ndcs_to_products as (\n select * from {{ ref('int_rxnorm_ndcs_to_products') }}\n)\n\n, map as (\n select\n prod.product_tty\n , prod.product_rxcui\n , prod.product_name\n , ndc.product_tty as ndc_product_tty\n , ndc.product_rxcui as ndc_product_rxcui\n , ndc.product_name as ndc_product_name\n , ndc.ndc\n , fda.product_startmarketingdate\n , fda.package_startmarketingdate\n from brand_products prod\n left join rxnorm_ndcs_to_products ndc\n on ndc.clinical_product_rxcui = prod.clinical_product_rxcui\n left join fda_ndcs fda\n on fda.ndc11 = ndc.ndc\n order by prod.product_rxcui\n)\n\nselect\n *\nfrom map", "language": "sql", "refs": [{"name": "stg_rxnorm__products", "package": null, "version": null}, {"name": "stg_fda_ndc__ndcs", "package": null, "version": null}, {"name": "int_rxnorm_ndcs_to_products", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.sagerx.stg_rxnorm__products", "model.sagerx.stg_fda_ndc__ndcs", "model.sagerx.int_rxnorm_ndcs_to_products"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "model.sagerx.atc_codes_to_rxnorm_products": {"database": "sagerx", "schema": "sagerx_dev", "name": "atc_codes_to_rxnorm_products", "resource_type": "model", "package_name": "sagerx", "path": "marts/classification/atc_codes_to_rxnorm_products.sql", "original_file_path": "models/marts/classification/atc_codes_to_rxnorm_products.sql", "unique_id": "model.sagerx.atc_codes_to_rxnorm_products", "fqn": ["sagerx", "marts", "classification", "atc_codes_to_rxnorm_products"], "alias": "atc_codes_to_rxnorm_products", "checksum": {"name": "sha256", "checksum": "72e6ecec876ae55fa7e5bb94c708b4e7a510b15637472e066ab611cfe87165ff"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {}, "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false}, "post-hook": [], "pre-hook": []}, "tags": [], "description": "ATC 1-4 codes to product-level RXCUIs and descriptions.\n", "columns": {"rxcui": {"name": "rxcui", "description": "Product-level RxNorm RXCUI.\n", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "rxnorm_description": {"name": "rxnorm_description", "description": "The RxNorm normalized description (STR).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "atc_1_name": {"name": "atc_1_name", "description": "The name of the ATC1 level associated with this product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "atc_2_name": {"name": "atc_2_name", "description": "The name of the ATC2 level associated with this product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "atc_3_name": {"name": "atc_3_name", "description": "The name of the ATC3 level associated with this product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "atc_4_name": {"name": "atc_4_name", "description": "The name of the ATC4 level associated with this product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/marts/classification/_classification__models.yml", "build_path": null, "deferred": false, "unrendered_config": {"schema": "sagerx", "materialized": "table"}, "created_at": 1715093148.0885308, "relation_name": "\"sagerx\".\"sagerx_dev\".\"atc_codes_to_rxnorm_products\"", "raw_code": "-- atc_codes_to_rxnorm_products\n\nwith atc_codes_to_rxnorm_product_rxcuis as (\n\n\tselect * from {{ ref('stg_rxclass__atc_codes_to_rxnorm_product_rxcuis') }}\n\n)\n\n, atc_codes as (\n\n select * from {{ ref('stg_rxnorm__atc_codes') }}\n\n)\n\n, rxnorm_product_rxcuis as (\n\n select * from {{ ref('stg_rxnorm__product_rxcuis') }}\n\n)\n\nselect distinct\n\tatc_codes_to_rxnorm_product_rxcuis.rxcui\n\t, rxnorm_product_rxcuis.str as rxnorm_description\n\t, atc_codes.atc_1_name\n\t, atc_codes.atc_2_name\n\t, atc_codes.atc_3_name\n\t, atc_codes.atc_4_name\nfrom atc_codes_to_rxnorm_product_rxcuis\nleft join atc_codes\n\ton atc_codes.atc_4_code = atc_codes_to_rxnorm_product_rxcuis.class_id\nleft join rxnorm_product_rxcuis\n\ton rxnorm_product_rxcuis.rxcui = atc_codes_to_rxnorm_product_rxcuis.rxcui\norder by rxcui", "language": "sql", "refs": [{"name": "stg_rxclass__atc_codes_to_rxnorm_product_rxcuis", "package": null, "version": null}, {"name": "stg_rxnorm__atc_codes", "package": null, "version": null}, {"name": "stg_rxnorm__product_rxcuis", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.sagerx.stg_rxclass__atc_codes_to_rxnorm_product_rxcuis", "model.sagerx.stg_rxnorm__atc_codes", "model.sagerx.stg_rxnorm__product_rxcuis"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null}, "test.sagerx.unique_stg_fda_excluded__ndcs_ndc11.fcedc4532b": {"test_metadata": {"name": "unique", "kwargs": {"column_name": "ndc11", "model": "{{ get_where_subquery(ref('stg_fda_excluded__ndcs')) }}"}, "namespace": null}, "database": "sagerx", "schema": "sagerx_dev", "name": "unique_stg_fda_excluded__ndcs_ndc11", "resource_type": "test", "package_name": "sagerx", "path": "unique_stg_fda_excluded__ndcs_ndc11.sql", "original_file_path": "models/staging/fda_excluded/_fda_excluded__models.yml", "unique_id": "test.sagerx.unique_stg_fda_excluded__ndcs_ndc11.fcedc4532b", "fqn": ["sagerx", "staging", "fda_excluded", "unique_stg_fda_excluded__ndcs_ndc11"], "alias": "unique_stg_fda_excluded__ndcs_ndc11", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1715093147.7624402, "relation_name": null, "raw_code": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_fda_excluded__ndcs", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_unique"], "nodes": ["model.sagerx.stg_fda_excluded__ndcs"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "column_name": "ndc11", "file_key_name": "models.stg_fda_excluded__ndcs", "attached_node": "model.sagerx.stg_fda_excluded__ndcs"}, "test.sagerx.not_null_stg_fda_excluded__ndcs_ndc11.f9b06099d2": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "ndc11", "model": "{{ get_where_subquery(ref('stg_fda_excluded__ndcs')) }}"}, "namespace": null}, "database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_fda_excluded__ndcs_ndc11", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_fda_excluded__ndcs_ndc11.sql", "original_file_path": "models/staging/fda_excluded/_fda_excluded__models.yml", "unique_id": "test.sagerx.not_null_stg_fda_excluded__ndcs_ndc11.f9b06099d2", "fqn": ["sagerx", "staging", "fda_excluded", "not_null_stg_fda_excluded__ndcs_ndc11"], "alias": "not_null_stg_fda_excluded__ndcs_ndc11", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1715093147.7646017, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_fda_excluded__ndcs", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": ["model.sagerx.stg_fda_excluded__ndcs"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "column_name": "ndc11", "file_key_name": "models.stg_fda_excluded__ndcs", "attached_node": "model.sagerx.stg_fda_excluded__ndcs"}, "test.sagerx.not_null_stg_nadac__all_nadac_ndc.13fad59845": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "ndc", "model": "{{ get_where_subquery(ref('stg_nadac__all_nadac')) }}"}, "namespace": null}, "database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_nadac__all_nadac_ndc", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_nadac__all_nadac_ndc.sql", "original_file_path": "models/staging/nadac/_nadac__models.yml", "unique_id": "test.sagerx.not_null_stg_nadac__all_nadac_ndc.13fad59845", "fqn": ["sagerx", "staging", "nadac", "not_null_stg_nadac__all_nadac_ndc"], "alias": "not_null_stg_nadac__all_nadac_ndc", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1715093147.7786958, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_nadac__all_nadac", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": ["model.sagerx.stg_nadac__all_nadac"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "column_name": "ndc", "file_key_name": "models.stg_nadac__all_nadac", "attached_node": "model.sagerx.stg_nadac__all_nadac"}, "test.sagerx.not_null_stg_nadac__all_nadac_ndc_description.d0df11974f": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "ndc_description", "model": "{{ get_where_subquery(ref('stg_nadac__all_nadac')) }}"}, "namespace": null}, "database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_nadac__all_nadac_ndc_description", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_nadac__all_nadac_ndc_description.sql", "original_file_path": "models/staging/nadac/_nadac__models.yml", "unique_id": "test.sagerx.not_null_stg_nadac__all_nadac_ndc_description.d0df11974f", "fqn": ["sagerx", "staging", "nadac", "not_null_stg_nadac__all_nadac_ndc_description"], "alias": "not_null_stg_nadac__all_nadac_ndc_description", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1715093147.7807922, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_nadac__all_nadac", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": ["model.sagerx.stg_nadac__all_nadac"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "column_name": "ndc_description", "file_key_name": "models.stg_nadac__all_nadac", "attached_node": "model.sagerx.stg_nadac__all_nadac"}, "test.sagerx.not_null_stg_nadac__enhanced_nadac_ndc.4d4e5ab99c": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "ndc", "model": "{{ get_where_subquery(ref('stg_nadac__enhanced_nadac')) }}"}, "namespace": null}, "database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_nadac__enhanced_nadac_ndc", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_nadac__enhanced_nadac_ndc.sql", "original_file_path": "models/staging/nadac/_nadac__models.yml", "unique_id": "test.sagerx.not_null_stg_nadac__enhanced_nadac_ndc.4d4e5ab99c", "fqn": ["sagerx", "staging", "nadac", "not_null_stg_nadac__enhanced_nadac_ndc"], "alias": "not_null_stg_nadac__enhanced_nadac_ndc", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1715093147.783, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_nadac__enhanced_nadac", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": ["model.sagerx.stg_nadac__enhanced_nadac"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "column_name": "ndc", "file_key_name": "models.stg_nadac__enhanced_nadac", "attached_node": "model.sagerx.stg_nadac__enhanced_nadac"}, "test.sagerx.not_null_stg_nadac__enhanced_nadac_ndc_description.16fde5c578": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "ndc_description", "model": "{{ get_where_subquery(ref('stg_nadac__enhanced_nadac')) }}"}, "namespace": null}, "database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_nadac__enhanced_nadac_ndc_description", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_nadac__enhanced_nadac_ndc_description.sql", "original_file_path": "models/staging/nadac/_nadac__models.yml", "unique_id": "test.sagerx.not_null_stg_nadac__enhanced_nadac_ndc_description.16fde5c578", "fqn": ["sagerx", "staging", "nadac", "not_null_stg_nadac__enhanced_nadac_ndc_description"], "alias": "not_null_stg_nadac__enhanced_nadac_ndc_description", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1715093147.785061, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_nadac__enhanced_nadac", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": ["model.sagerx.stg_nadac__enhanced_nadac"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "column_name": "ndc_description", "file_key_name": "models.stg_nadac__enhanced_nadac", "attached_node": "model.sagerx.stg_nadac__enhanced_nadac"}, "test.sagerx.unique_stg_rxnorm__ndcs_ndc.9929df0b31": {"test_metadata": {"name": "unique", "kwargs": {"column_name": "ndc", "model": "{{ get_where_subquery(ref('stg_rxnorm__ndcs')) }}"}, "namespace": null}, "database": "sagerx", "schema": "sagerx_dev", "name": "unique_stg_rxnorm__ndcs_ndc", "resource_type": "test", "package_name": "sagerx", "path": "unique_stg_rxnorm__ndcs_ndc.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.unique_stg_rxnorm__ndcs_ndc.9929df0b31", "fqn": ["sagerx", "staging", "rxnorm", "unique_stg_rxnorm__ndcs_ndc"], "alias": "unique_stg_rxnorm__ndcs_ndc", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1715093147.8270426, "relation_name": null, "raw_code": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_rxnorm__ndcs", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_unique"], "nodes": ["model.sagerx.stg_rxnorm__ndcs"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "column_name": "ndc", "file_key_name": "models.stg_rxnorm__ndcs", "attached_node": "model.sagerx.stg_rxnorm__ndcs"}, "test.sagerx.not_null_stg_rxnorm__ndcs_ndc.4db0f5b5df": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "ndc", "model": "{{ get_where_subquery(ref('stg_rxnorm__ndcs')) }}"}, "namespace": null}, "database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_rxnorm__ndcs_ndc", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_rxnorm__ndcs_ndc.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.not_null_stg_rxnorm__ndcs_ndc.4db0f5b5df", "fqn": ["sagerx", "staging", "rxnorm", "not_null_stg_rxnorm__ndcs_ndc"], "alias": "not_null_stg_rxnorm__ndcs_ndc", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1715093147.8291705, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_rxnorm__ndcs", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": ["model.sagerx.stg_rxnorm__ndcs"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "column_name": "ndc", "file_key_name": "models.stg_rxnorm__ndcs", "attached_node": "model.sagerx.stg_rxnorm__ndcs"}, "test.sagerx.unique_stg_rxnorm__clinical_products_rxcui.0bac3cbe9c": {"test_metadata": {"name": "unique", "kwargs": {"column_name": "rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__clinical_products')) }}"}, "namespace": null}, "database": "sagerx", "schema": "sagerx_dev", "name": "unique_stg_rxnorm__clinical_products_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "unique_stg_rxnorm__clinical_products_rxcui.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.unique_stg_rxnorm__clinical_products_rxcui.0bac3cbe9c", "fqn": ["sagerx", "staging", "rxnorm", "unique_stg_rxnorm__clinical_products_rxcui"], "alias": "unique_stg_rxnorm__clinical_products_rxcui", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1715093147.8313622, "relation_name": null, "raw_code": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_rxnorm__clinical_products", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_unique"], "nodes": ["model.sagerx.stg_rxnorm__clinical_products"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "column_name": "rxcui", "file_key_name": "models.stg_rxnorm__clinical_products", "attached_node": "model.sagerx.stg_rxnorm__clinical_products"}, "test.sagerx.not_null_stg_rxnorm__clinical_products_rxcui.5dd04a1235": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__clinical_products')) }}"}, "namespace": null}, "database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_rxnorm__clinical_products_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_rxnorm__clinical_products_rxcui.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.not_null_stg_rxnorm__clinical_products_rxcui.5dd04a1235", "fqn": ["sagerx", "staging", "rxnorm", "not_null_stg_rxnorm__clinical_products_rxcui"], "alias": "not_null_stg_rxnorm__clinical_products_rxcui", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1715093147.8333702, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_rxnorm__clinical_products", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": ["model.sagerx.stg_rxnorm__clinical_products"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "column_name": "rxcui", "file_key_name": "models.stg_rxnorm__clinical_products", "attached_node": "model.sagerx.stg_rxnorm__clinical_products"}, "test.sagerx.not_null_stg_rxnorm__clinical_product_component_links_clinical_product_rxcui.94c75bf656": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "clinical_product_rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__clinical_product_component_links')) }}"}, "namespace": null}, "database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_rxnorm__clinical_product_component_links_clinical_product_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_rxnorm__clinical__19f6fb5bcaae5ebccd694c1e44d2aa93.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.not_null_stg_rxnorm__clinical_product_component_links_clinical_product_rxcui.94c75bf656", "fqn": ["sagerx", "staging", "rxnorm", "not_null_stg_rxnorm__clinical_product_component_links_clinical_product_rxcui"], "alias": "not_null_stg_rxnorm__clinical__19f6fb5bcaae5ebccd694c1e44d2aa93", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "not_null_stg_rxnorm__clinical__19f6fb5bcaae5ebccd694c1e44d2aa93", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "not_null_stg_rxnorm__clinical__19f6fb5bcaae5ebccd694c1e44d2aa93"}, "created_at": 1715093147.8354013, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}{{ config(alias=\"not_null_stg_rxnorm__clinical__19f6fb5bcaae5ebccd694c1e44d2aa93\") }}", "language": "sql", "refs": [{"name": "stg_rxnorm__clinical_product_component_links", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": ["model.sagerx.stg_rxnorm__clinical_product_component_links"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "column_name": "clinical_product_rxcui", "file_key_name": "models.stg_rxnorm__clinical_product_component_links", "attached_node": "model.sagerx.stg_rxnorm__clinical_product_component_links"}, "test.sagerx.not_null_stg_rxnorm__clinical_product_component_links_clinical_product_component_rxcui.869196279f": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "clinical_product_component_rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__clinical_product_component_links')) }}"}, "namespace": null}, "database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_rxnorm__clinical_product_component_links_clinical_product_component_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_rxnorm__clinical__fd69d791502479297cb519f2232d296b.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.not_null_stg_rxnorm__clinical_product_component_links_clinical_product_component_rxcui.869196279f", "fqn": ["sagerx", "staging", "rxnorm", "not_null_stg_rxnorm__clinical_product_component_links_clinical_product_component_rxcui"], "alias": "not_null_stg_rxnorm__clinical__fd69d791502479297cb519f2232d296b", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "not_null_stg_rxnorm__clinical__fd69d791502479297cb519f2232d296b", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "not_null_stg_rxnorm__clinical__fd69d791502479297cb519f2232d296b"}, "created_at": 1715093147.8374934, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}{{ config(alias=\"not_null_stg_rxnorm__clinical__fd69d791502479297cb519f2232d296b\") }}", "language": "sql", "refs": [{"name": "stg_rxnorm__clinical_product_component_links", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": ["model.sagerx.stg_rxnorm__clinical_product_component_links"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "column_name": "clinical_product_component_rxcui", "file_key_name": "models.stg_rxnorm__clinical_product_component_links", "attached_node": "model.sagerx.stg_rxnorm__clinical_product_component_links"}, "test.sagerx.unique_stg_rxnorm__clinical_product_components_rxcui.2705e1f418": {"test_metadata": {"name": "unique", "kwargs": {"column_name": "rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__clinical_product_components')) }}"}, "namespace": null}, "database": "sagerx", "schema": "sagerx_dev", "name": "unique_stg_rxnorm__clinical_product_components_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "unique_stg_rxnorm__clinical_product_components_rxcui.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.unique_stg_rxnorm__clinical_product_components_rxcui.2705e1f418", "fqn": ["sagerx", "staging", "rxnorm", "unique_stg_rxnorm__clinical_product_components_rxcui"], "alias": "unique_stg_rxnorm__clinical_product_components_rxcui", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1715093147.8397033, "relation_name": null, "raw_code": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_rxnorm__clinical_product_components", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_unique"], "nodes": ["model.sagerx.stg_rxnorm__clinical_product_components"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "column_name": "rxcui", "file_key_name": "models.stg_rxnorm__clinical_product_components", "attached_node": "model.sagerx.stg_rxnorm__clinical_product_components"}, "test.sagerx.not_null_stg_rxnorm__clinical_product_components_rxcui.0b9c81f7ae": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__clinical_product_components')) }}"}, "namespace": null}, "database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_rxnorm__clinical_product_components_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_rxnorm__clinical_product_components_rxcui.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.not_null_stg_rxnorm__clinical_product_components_rxcui.0b9c81f7ae", "fqn": ["sagerx", "staging", "rxnorm", "not_null_stg_rxnorm__clinical_product_components_rxcui"], "alias": "not_null_stg_rxnorm__clinical_product_components_rxcui", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1715093147.841706, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_rxnorm__clinical_product_components", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": ["model.sagerx.stg_rxnorm__clinical_product_components"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "column_name": "rxcui", "file_key_name": "models.stg_rxnorm__clinical_product_components", "attached_node": "model.sagerx.stg_rxnorm__clinical_product_components"}, "test.sagerx.unique_stg_rxnorm__dose_forms_rxcui.c7fb3a8da2": {"test_metadata": {"name": "unique", "kwargs": {"column_name": "rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__dose_forms')) }}"}, "namespace": null}, "database": "sagerx", "schema": "sagerx_dev", "name": "unique_stg_rxnorm__dose_forms_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "unique_stg_rxnorm__dose_forms_rxcui.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.unique_stg_rxnorm__dose_forms_rxcui.c7fb3a8da2", "fqn": ["sagerx", "staging", "rxnorm", "unique_stg_rxnorm__dose_forms_rxcui"], "alias": "unique_stg_rxnorm__dose_forms_rxcui", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1715093147.8436987, "relation_name": null, "raw_code": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_rxnorm__dose_forms", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_unique"], "nodes": ["model.sagerx.stg_rxnorm__dose_forms"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "column_name": "rxcui", "file_key_name": "models.stg_rxnorm__dose_forms", "attached_node": "model.sagerx.stg_rxnorm__dose_forms"}, "test.sagerx.not_null_stg_rxnorm__dose_forms_rxcui.a06bc0be08": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__dose_forms')) }}"}, "namespace": null}, "database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_rxnorm__dose_forms_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_rxnorm__dose_forms_rxcui.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.not_null_stg_rxnorm__dose_forms_rxcui.a06bc0be08", "fqn": ["sagerx", "staging", "rxnorm", "not_null_stg_rxnorm__dose_forms_rxcui"], "alias": "not_null_stg_rxnorm__dose_forms_rxcui", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1715093147.84572, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_rxnorm__dose_forms", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": ["model.sagerx.stg_rxnorm__dose_forms"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "column_name": "rxcui", "file_key_name": "models.stg_rxnorm__dose_forms", "attached_node": "model.sagerx.stg_rxnorm__dose_forms"}, "test.sagerx.not_null_stg_rxnorm__dose_form_group_links_dose_form_rxcui.3fdd0d4bb1": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "dose_form_rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__dose_form_group_links')) }}"}, "namespace": null}, "database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_rxnorm__dose_form_group_links_dose_form_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_rxnorm__dose_form_group_links_dose_form_rxcui.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.not_null_stg_rxnorm__dose_form_group_links_dose_form_rxcui.3fdd0d4bb1", "fqn": ["sagerx", "staging", "rxnorm", "not_null_stg_rxnorm__dose_form_group_links_dose_form_rxcui"], "alias": "not_null_stg_rxnorm__dose_form_group_links_dose_form_rxcui", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1715093147.8478835, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_rxnorm__dose_form_group_links", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": ["model.sagerx.stg_rxnorm__dose_form_group_links"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "column_name": "dose_form_rxcui", "file_key_name": "models.stg_rxnorm__dose_form_group_links", "attached_node": "model.sagerx.stg_rxnorm__dose_form_group_links"}, "test.sagerx.not_null_stg_rxnorm__dose_form_group_links_dose_form_group_rxcui.f4fde7102f": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "dose_form_group_rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__dose_form_group_links')) }}"}, "namespace": null}, "database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_rxnorm__dose_form_group_links_dose_form_group_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_rxnorm__dose_form_1c7459a2a0be5b5a7b3016f225e0146f.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.not_null_stg_rxnorm__dose_form_group_links_dose_form_group_rxcui.f4fde7102f", "fqn": ["sagerx", "staging", "rxnorm", "not_null_stg_rxnorm__dose_form_group_links_dose_form_group_rxcui"], "alias": "not_null_stg_rxnorm__dose_form_1c7459a2a0be5b5a7b3016f225e0146f", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "not_null_stg_rxnorm__dose_form_1c7459a2a0be5b5a7b3016f225e0146f", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "not_null_stg_rxnorm__dose_form_1c7459a2a0be5b5a7b3016f225e0146f"}, "created_at": 1715093147.8498826, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}{{ config(alias=\"not_null_stg_rxnorm__dose_form_1c7459a2a0be5b5a7b3016f225e0146f\") }}", "language": "sql", "refs": [{"name": "stg_rxnorm__dose_form_group_links", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": ["model.sagerx.stg_rxnorm__dose_form_group_links"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "column_name": "dose_form_group_rxcui", "file_key_name": "models.stg_rxnorm__dose_form_group_links", "attached_node": "model.sagerx.stg_rxnorm__dose_form_group_links"}, "test.sagerx.unique_stg_rxnorm__dose_form_groups_rxcui.b2e6200e1b": {"test_metadata": {"name": "unique", "kwargs": {"column_name": "rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__dose_form_groups')) }}"}, "namespace": null}, "database": "sagerx", "schema": "sagerx_dev", "name": "unique_stg_rxnorm__dose_form_groups_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "unique_stg_rxnorm__dose_form_groups_rxcui.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.unique_stg_rxnorm__dose_form_groups_rxcui.b2e6200e1b", "fqn": ["sagerx", "staging", "rxnorm", "unique_stg_rxnorm__dose_form_groups_rxcui"], "alias": "unique_stg_rxnorm__dose_form_groups_rxcui", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1715093147.8519013, "relation_name": null, "raw_code": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_rxnorm__dose_form_groups", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_unique"], "nodes": ["model.sagerx.stg_rxnorm__dose_form_groups"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "column_name": "rxcui", "file_key_name": "models.stg_rxnorm__dose_form_groups", "attached_node": "model.sagerx.stg_rxnorm__dose_form_groups"}, "test.sagerx.not_null_stg_rxnorm__dose_form_groups_rxcui.eca504df20": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__dose_form_groups')) }}"}, "namespace": null}, "database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_rxnorm__dose_form_groups_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_rxnorm__dose_form_groups_rxcui.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.not_null_stg_rxnorm__dose_form_groups_rxcui.eca504df20", "fqn": ["sagerx", "staging", "rxnorm", "not_null_stg_rxnorm__dose_form_groups_rxcui"], "alias": "not_null_stg_rxnorm__dose_form_groups_rxcui", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1715093147.8540952, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_rxnorm__dose_form_groups", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": ["model.sagerx.stg_rxnorm__dose_form_groups"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "column_name": "rxcui", "file_key_name": "models.stg_rxnorm__dose_form_groups", "attached_node": "model.sagerx.stg_rxnorm__dose_form_groups"}, "test.sagerx.unique_stg_rxnorm__ingredients_rxcui.c6b139419f": {"test_metadata": {"name": "unique", "kwargs": {"column_name": "rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__ingredients')) }}"}, "namespace": null}, "database": "sagerx", "schema": "sagerx_dev", "name": "unique_stg_rxnorm__ingredients_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "unique_stg_rxnorm__ingredients_rxcui.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.unique_stg_rxnorm__ingredients_rxcui.c6b139419f", "fqn": ["sagerx", "staging", "rxnorm", "unique_stg_rxnorm__ingredients_rxcui"], "alias": "unique_stg_rxnorm__ingredients_rxcui", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1715093147.856095, "relation_name": null, "raw_code": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_rxnorm__ingredients", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_unique"], "nodes": ["model.sagerx.stg_rxnorm__ingredients"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "column_name": "rxcui", "file_key_name": "models.stg_rxnorm__ingredients", "attached_node": "model.sagerx.stg_rxnorm__ingredients"}, "test.sagerx.not_null_stg_rxnorm__ingredients_rxcui.24a1dca332": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__ingredients')) }}"}, "namespace": null}, "database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_rxnorm__ingredients_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_rxnorm__ingredients_rxcui.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.not_null_stg_rxnorm__ingredients_rxcui.24a1dca332", "fqn": ["sagerx", "staging", "rxnorm", "not_null_stg_rxnorm__ingredients_rxcui"], "alias": "not_null_stg_rxnorm__ingredients_rxcui", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1715093147.8580782, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_rxnorm__ingredients", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": ["model.sagerx.stg_rxnorm__ingredients"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "column_name": "rxcui", "file_key_name": "models.stg_rxnorm__ingredients", "attached_node": "model.sagerx.stg_rxnorm__ingredients"}, "test.sagerx.not_null_stg_rxnorm__ingredient_component_links_ingredient_rxcui.303404889c": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "ingredient_rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__ingredient_component_links')) }}"}, "namespace": null}, "database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_rxnorm__ingredient_component_links_ingredient_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_rxnorm__ingredien_256eebaa59b47fbaab47776df0dd4303.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.not_null_stg_rxnorm__ingredient_component_links_ingredient_rxcui.303404889c", "fqn": ["sagerx", "staging", "rxnorm", "not_null_stg_rxnorm__ingredient_component_links_ingredient_rxcui"], "alias": "not_null_stg_rxnorm__ingredien_256eebaa59b47fbaab47776df0dd4303", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "not_null_stg_rxnorm__ingredien_256eebaa59b47fbaab47776df0dd4303", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "not_null_stg_rxnorm__ingredien_256eebaa59b47fbaab47776df0dd4303"}, "created_at": 1715093147.860084, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}{{ config(alias=\"not_null_stg_rxnorm__ingredien_256eebaa59b47fbaab47776df0dd4303\") }}", "language": "sql", "refs": [{"name": "stg_rxnorm__ingredient_component_links", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": ["model.sagerx.stg_rxnorm__ingredient_component_links"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "column_name": "ingredient_rxcui", "file_key_name": "models.stg_rxnorm__ingredient_component_links", "attached_node": "model.sagerx.stg_rxnorm__ingredient_component_links"}, "test.sagerx.not_null_stg_rxnorm__ingredient_component_links_ingredient_component_rxcui.a6923961b3": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "ingredient_component_rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__ingredient_component_links')) }}"}, "namespace": null}, "database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_rxnorm__ingredient_component_links_ingredient_component_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_rxnorm__ingredien_73ff0c892ffceac004b1c3fd063eb63f.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.not_null_stg_rxnorm__ingredient_component_links_ingredient_component_rxcui.a6923961b3", "fqn": ["sagerx", "staging", "rxnorm", "not_null_stg_rxnorm__ingredient_component_links_ingredient_component_rxcui"], "alias": "not_null_stg_rxnorm__ingredien_73ff0c892ffceac004b1c3fd063eb63f", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "not_null_stg_rxnorm__ingredien_73ff0c892ffceac004b1c3fd063eb63f", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "not_null_stg_rxnorm__ingredien_73ff0c892ffceac004b1c3fd063eb63f"}, "created_at": 1715093147.8622477, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}{{ config(alias=\"not_null_stg_rxnorm__ingredien_73ff0c892ffceac004b1c3fd063eb63f\") }}", "language": "sql", "refs": [{"name": "stg_rxnorm__ingredient_component_links", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": ["model.sagerx.stg_rxnorm__ingredient_component_links"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "column_name": "ingredient_component_rxcui", "file_key_name": "models.stg_rxnorm__ingredient_component_links", "attached_node": "model.sagerx.stg_rxnorm__ingredient_component_links"}, "test.sagerx.unique_stg_rxnorm__ingredient_components_rxcui.75f7804348": {"test_metadata": {"name": "unique", "kwargs": {"column_name": "rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__ingredient_components')) }}"}, "namespace": null}, "database": "sagerx", "schema": "sagerx_dev", "name": "unique_stg_rxnorm__ingredient_components_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "unique_stg_rxnorm__ingredient_components_rxcui.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.unique_stg_rxnorm__ingredient_components_rxcui.75f7804348", "fqn": ["sagerx", "staging", "rxnorm", "unique_stg_rxnorm__ingredient_components_rxcui"], "alias": "unique_stg_rxnorm__ingredient_components_rxcui", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1715093147.8645182, "relation_name": null, "raw_code": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_rxnorm__ingredient_components", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_unique"], "nodes": ["model.sagerx.stg_rxnorm__ingredient_components"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "column_name": "rxcui", "file_key_name": "models.stg_rxnorm__ingredient_components", "attached_node": "model.sagerx.stg_rxnorm__ingredient_components"}, "test.sagerx.not_null_stg_rxnorm__ingredient_components_rxcui.aed8b0d4c5": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__ingredient_components')) }}"}, "namespace": null}, "database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_rxnorm__ingredient_components_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_rxnorm__ingredient_components_rxcui.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.not_null_stg_rxnorm__ingredient_components_rxcui.aed8b0d4c5", "fqn": ["sagerx", "staging", "rxnorm", "not_null_stg_rxnorm__ingredient_components_rxcui"], "alias": "not_null_stg_rxnorm__ingredient_components_rxcui", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1715093147.8665628, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_rxnorm__ingredient_components", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": ["model.sagerx.stg_rxnorm__ingredient_components"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "column_name": "rxcui", "file_key_name": "models.stg_rxnorm__ingredient_components", "attached_node": "model.sagerx.stg_rxnorm__ingredient_components"}, "test.sagerx.accepted_values_stg_rxnorm__ingredient_components_tty__IN.5d941aec74": {"test_metadata": {"name": "accepted_values", "kwargs": {"values": ["IN"], "column_name": "tty", "model": "{{ get_where_subquery(ref('stg_rxnorm__ingredient_components')) }}"}, "namespace": null}, "database": "sagerx", "schema": "sagerx_dev", "name": "accepted_values_stg_rxnorm__ingredient_components_tty__IN", "resource_type": "test", "package_name": "sagerx", "path": "accepted_values_stg_rxnorm__ingredient_components_tty__IN.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.accepted_values_stg_rxnorm__ingredient_components_tty__IN.5d941aec74", "fqn": ["sagerx", "staging", "rxnorm", "accepted_values_stg_rxnorm__ingredient_components_tty__IN"], "alias": "accepted_values_stg_rxnorm__ingredient_components_tty__IN", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1715093147.8686025, "relation_name": null, "raw_code": "{{ test_accepted_values(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_rxnorm__ingredient_components", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_accepted_values", "macro.dbt.get_where_subquery"], "nodes": ["model.sagerx.stg_rxnorm__ingredient_components"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "column_name": "tty", "file_key_name": "models.stg_rxnorm__ingredient_components", "attached_node": "model.sagerx.stg_rxnorm__ingredient_components"}, "test.sagerx.not_null_stg_rxnorm__ingredient_strength_links_clinical_product_component_rxcui.6be28272b5": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "clinical_product_component_rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__ingredient_strength_links')) }}"}, "namespace": null}, "database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_rxnorm__ingredient_strength_links_clinical_product_component_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_rxnorm__ingredien_0e136dc1bf3f46708433b0712fc4d257.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.not_null_stg_rxnorm__ingredient_strength_links_clinical_product_component_rxcui.6be28272b5", "fqn": ["sagerx", "staging", "rxnorm", "not_null_stg_rxnorm__ingredient_strength_links_clinical_product_component_rxcui"], "alias": "not_null_stg_rxnorm__ingredien_0e136dc1bf3f46708433b0712fc4d257", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "not_null_stg_rxnorm__ingredien_0e136dc1bf3f46708433b0712fc4d257", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "not_null_stg_rxnorm__ingredien_0e136dc1bf3f46708433b0712fc4d257"}, "created_at": 1715093147.8833225, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}{{ config(alias=\"not_null_stg_rxnorm__ingredien_0e136dc1bf3f46708433b0712fc4d257\") }}", "language": "sql", "refs": [{"name": "stg_rxnorm__ingredient_strength_links", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": ["model.sagerx.stg_rxnorm__ingredient_strength_links"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "column_name": "clinical_product_component_rxcui", "file_key_name": "models.stg_rxnorm__ingredient_strength_links", "attached_node": "model.sagerx.stg_rxnorm__ingredient_strength_links"}, "test.sagerx.not_null_stg_rxnorm__ingredient_strength_links_ingredient_component_rxcui.fec66d7333": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "ingredient_component_rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__ingredient_strength_links')) }}"}, "namespace": null}, "database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_rxnorm__ingredient_strength_links_ingredient_component_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_rxnorm__ingredien_3109d8d3c477102b98c75251c8f54b7f.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.not_null_stg_rxnorm__ingredient_strength_links_ingredient_component_rxcui.fec66d7333", "fqn": ["sagerx", "staging", "rxnorm", "not_null_stg_rxnorm__ingredient_strength_links_ingredient_component_rxcui"], "alias": "not_null_stg_rxnorm__ingredien_3109d8d3c477102b98c75251c8f54b7f", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "not_null_stg_rxnorm__ingredien_3109d8d3c477102b98c75251c8f54b7f", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "not_null_stg_rxnorm__ingredien_3109d8d3c477102b98c75251c8f54b7f"}, "created_at": 1715093147.885858, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}{{ config(alias=\"not_null_stg_rxnorm__ingredien_3109d8d3c477102b98c75251c8f54b7f\") }}", "language": "sql", "refs": [{"name": "stg_rxnorm__ingredient_strength_links", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": ["model.sagerx.stg_rxnorm__ingredient_strength_links"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "column_name": "ingredient_component_rxcui", "file_key_name": "models.stg_rxnorm__ingredient_strength_links", "attached_node": "model.sagerx.stg_rxnorm__ingredient_strength_links"}, "test.sagerx.not_null_stg_rxnorm__ingredient_strength_links_ingredient_strength_rxcui.3527b30bda": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "ingredient_strength_rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__ingredient_strength_links')) }}"}, "namespace": null}, "database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_rxnorm__ingredient_strength_links_ingredient_strength_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_rxnorm__ingredien_f117a3323fa2904438079e55ee840b9c.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.not_null_stg_rxnorm__ingredient_strength_links_ingredient_strength_rxcui.3527b30bda", "fqn": ["sagerx", "staging", "rxnorm", "not_null_stg_rxnorm__ingredient_strength_links_ingredient_strength_rxcui"], "alias": "not_null_stg_rxnorm__ingredien_f117a3323fa2904438079e55ee840b9c", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "not_null_stg_rxnorm__ingredien_f117a3323fa2904438079e55ee840b9c", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "not_null_stg_rxnorm__ingredien_f117a3323fa2904438079e55ee840b9c"}, "created_at": 1715093147.8881261, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}{{ config(alias=\"not_null_stg_rxnorm__ingredien_f117a3323fa2904438079e55ee840b9c\") }}", "language": "sql", "refs": [{"name": "stg_rxnorm__ingredient_strength_links", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": ["model.sagerx.stg_rxnorm__ingredient_strength_links"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "column_name": "ingredient_strength_rxcui", "file_key_name": "models.stg_rxnorm__ingredient_strength_links", "attached_node": "model.sagerx.stg_rxnorm__ingredient_strength_links"}, "test.sagerx.unique_stg_rxnorm__ingredient_strengths_rxcui.716f558a6b": {"test_metadata": {"name": "unique", "kwargs": {"column_name": "rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__ingredient_strengths')) }}"}, "namespace": null}, "database": "sagerx", "schema": "sagerx_dev", "name": "unique_stg_rxnorm__ingredient_strengths_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "unique_stg_rxnorm__ingredient_strengths_rxcui.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.unique_stg_rxnorm__ingredient_strengths_rxcui.716f558a6b", "fqn": ["sagerx", "staging", "rxnorm", "unique_stg_rxnorm__ingredient_strengths_rxcui"], "alias": "unique_stg_rxnorm__ingredient_strengths_rxcui", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1715093147.8903623, "relation_name": null, "raw_code": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_rxnorm__ingredient_strengths", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_unique"], "nodes": ["model.sagerx.stg_rxnorm__ingredient_strengths"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "column_name": "rxcui", "file_key_name": "models.stg_rxnorm__ingredient_strengths", "attached_node": "model.sagerx.stg_rxnorm__ingredient_strengths"}, "test.sagerx.not_null_stg_rxnorm__ingredient_strengths_rxcui.d4a27e753c": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__ingredient_strengths')) }}"}, "namespace": null}, "database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_rxnorm__ingredient_strengths_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_rxnorm__ingredient_strengths_rxcui.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.not_null_stg_rxnorm__ingredient_strengths_rxcui.d4a27e753c", "fqn": ["sagerx", "staging", "rxnorm", "not_null_stg_rxnorm__ingredient_strengths_rxcui"], "alias": "not_null_stg_rxnorm__ingredient_strengths_rxcui", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1715093147.8925853, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_rxnorm__ingredient_strengths", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": ["model.sagerx.stg_rxnorm__ingredient_strengths"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "column_name": "rxcui", "file_key_name": "models.stg_rxnorm__ingredient_strengths", "attached_node": "model.sagerx.stg_rxnorm__ingredient_strengths"}, "test.sagerx.not_null_stg_rxnorm__mthspl_products_rxcui.21eb3d19b0": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__mthspl_products')) }}"}, "namespace": null}, "database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_rxnorm__mthspl_products_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_rxnorm__mthspl_products_rxcui.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.not_null_stg_rxnorm__mthspl_products_rxcui.21eb3d19b0", "fqn": ["sagerx", "staging", "rxnorm", "not_null_stg_rxnorm__mthspl_products_rxcui"], "alias": "not_null_stg_rxnorm__mthspl_products_rxcui", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1715093147.8950357, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_rxnorm__mthspl_products", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": ["model.sagerx.stg_rxnorm__mthspl_products"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "column_name": "rxcui", "file_key_name": "models.stg_rxnorm__mthspl_products", "attached_node": "model.sagerx.stg_rxnorm__mthspl_products"}, "test.sagerx.not_null_stg_rxnorm__mthspl_substances_rxcui.1b38748ca6": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__mthspl_substances')) }}"}, "namespace": null}, "database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_rxnorm__mthspl_substances_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_rxnorm__mthspl_substances_rxcui.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.not_null_stg_rxnorm__mthspl_substances_rxcui.1b38748ca6", "fqn": ["sagerx", "staging", "rxnorm", "not_null_stg_rxnorm__mthspl_substances_rxcui"], "alias": "not_null_stg_rxnorm__mthspl_substances_rxcui", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1715093147.8972309, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_rxnorm__mthspl_substances", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": ["model.sagerx.stg_rxnorm__mthspl_substances"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "column_name": "rxcui", "file_key_name": "models.stg_rxnorm__mthspl_substances", "attached_node": "model.sagerx.stg_rxnorm__mthspl_substances"}, "test.sagerx.unique_stg_rxnorm__brand_products_rxcui.da77867bbd": {"test_metadata": {"name": "unique", "kwargs": {"column_name": "rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__brand_products')) }}"}, "namespace": null}, "database": "sagerx", "schema": "sagerx_dev", "name": "unique_stg_rxnorm__brand_products_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "unique_stg_rxnorm__brand_products_rxcui.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.unique_stg_rxnorm__brand_products_rxcui.da77867bbd", "fqn": ["sagerx", "staging", "rxnorm", "unique_stg_rxnorm__brand_products_rxcui"], "alias": "unique_stg_rxnorm__brand_products_rxcui", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1715093147.899344, "relation_name": null, "raw_code": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_rxnorm__brand_products", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_unique"], "nodes": ["model.sagerx.stg_rxnorm__brand_products"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "column_name": "rxcui", "file_key_name": "models.stg_rxnorm__brand_products", "attached_node": "model.sagerx.stg_rxnorm__brand_products"}, "test.sagerx.not_null_stg_rxnorm__brand_products_rxcui.634ef0c2ff": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__brand_products')) }}"}, "namespace": null}, "database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_rxnorm__brand_products_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_rxnorm__brand_products_rxcui.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.not_null_stg_rxnorm__brand_products_rxcui.634ef0c2ff", "fqn": ["sagerx", "staging", "rxnorm", "not_null_stg_rxnorm__brand_products_rxcui"], "alias": "not_null_stg_rxnorm__brand_products_rxcui", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1715093147.9015234, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_rxnorm__brand_products", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": ["model.sagerx.stg_rxnorm__brand_products"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "column_name": "rxcui", "file_key_name": "models.stg_rxnorm__brand_products", "attached_node": "model.sagerx.stg_rxnorm__brand_products"}, "test.sagerx.not_null_stg_rxnorm__brand_product_component_links_brand_product_rxcui.6135a1fa50": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "brand_product_rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__brand_product_component_links')) }}"}, "namespace": null}, "database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_rxnorm__brand_product_component_links_brand_product_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_rxnorm__brand_pro_a0455471671e7fb10ea436b1ff7c98e3.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.not_null_stg_rxnorm__brand_product_component_links_brand_product_rxcui.6135a1fa50", "fqn": ["sagerx", "staging", "rxnorm", "not_null_stg_rxnorm__brand_product_component_links_brand_product_rxcui"], "alias": "not_null_stg_rxnorm__brand_pro_a0455471671e7fb10ea436b1ff7c98e3", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "not_null_stg_rxnorm__brand_pro_a0455471671e7fb10ea436b1ff7c98e3", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "not_null_stg_rxnorm__brand_pro_a0455471671e7fb10ea436b1ff7c98e3"}, "created_at": 1715093147.9039328, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}{{ config(alias=\"not_null_stg_rxnorm__brand_pro_a0455471671e7fb10ea436b1ff7c98e3\") }}", "language": "sql", "refs": [{"name": "stg_rxnorm__brand_product_component_links", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": ["model.sagerx.stg_rxnorm__brand_product_component_links"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "column_name": "brand_product_rxcui", "file_key_name": "models.stg_rxnorm__brand_product_component_links", "attached_node": "model.sagerx.stg_rxnorm__brand_product_component_links"}, "test.sagerx.not_null_stg_rxnorm__brand_product_component_links_brand_product_component_rxcui.9f497ef16e": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "brand_product_component_rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__brand_product_component_links')) }}"}, "namespace": null}, "database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_rxnorm__brand_product_component_links_brand_product_component_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_rxnorm__brand_pro_23ac4adf78100fbcdcd277bae35c9e46.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.not_null_stg_rxnorm__brand_product_component_links_brand_product_component_rxcui.9f497ef16e", "fqn": ["sagerx", "staging", "rxnorm", "not_null_stg_rxnorm__brand_product_component_links_brand_product_component_rxcui"], "alias": "not_null_stg_rxnorm__brand_pro_23ac4adf78100fbcdcd277bae35c9e46", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "not_null_stg_rxnorm__brand_pro_23ac4adf78100fbcdcd277bae35c9e46", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "not_null_stg_rxnorm__brand_pro_23ac4adf78100fbcdcd277bae35c9e46"}, "created_at": 1715093147.9061217, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}{{ config(alias=\"not_null_stg_rxnorm__brand_pro_23ac4adf78100fbcdcd277bae35c9e46\") }}", "language": "sql", "refs": [{"name": "stg_rxnorm__brand_product_component_links", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": ["model.sagerx.stg_rxnorm__brand_product_component_links"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "column_name": "brand_product_component_rxcui", "file_key_name": "models.stg_rxnorm__brand_product_component_links", "attached_node": "model.sagerx.stg_rxnorm__brand_product_component_links"}, "test.sagerx.unique_stg_rxnorm__brand_product_components_rxcui.cd3b918573": {"test_metadata": {"name": "unique", "kwargs": {"column_name": "rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__brand_product_components')) }}"}, "namespace": null}, "database": "sagerx", "schema": "sagerx_dev", "name": "unique_stg_rxnorm__brand_product_components_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "unique_stg_rxnorm__brand_product_components_rxcui.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.unique_stg_rxnorm__brand_product_components_rxcui.cd3b918573", "fqn": ["sagerx", "staging", "rxnorm", "unique_stg_rxnorm__brand_product_components_rxcui"], "alias": "unique_stg_rxnorm__brand_product_components_rxcui", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1715093147.9083178, "relation_name": null, "raw_code": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_rxnorm__brand_product_components", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_unique"], "nodes": ["model.sagerx.stg_rxnorm__brand_product_components"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "column_name": "rxcui", "file_key_name": "models.stg_rxnorm__brand_product_components", "attached_node": "model.sagerx.stg_rxnorm__brand_product_components"}, "test.sagerx.not_null_stg_rxnorm__brand_product_components_rxcui.4917a3f0ca": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__brand_product_components')) }}"}, "namespace": null}, "database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_rxnorm__brand_product_components_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_rxnorm__brand_product_components_rxcui.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.not_null_stg_rxnorm__brand_product_components_rxcui.4917a3f0ca", "fqn": ["sagerx", "staging", "rxnorm", "not_null_stg_rxnorm__brand_product_components_rxcui"], "alias": "not_null_stg_rxnorm__brand_product_components_rxcui", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1715093147.910469, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_rxnorm__brand_product_components", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": ["model.sagerx.stg_rxnorm__brand_product_components"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "column_name": "rxcui", "file_key_name": "models.stg_rxnorm__brand_product_components", "attached_node": "model.sagerx.stg_rxnorm__brand_product_components"}, "test.sagerx.not_null_stg_rxnorm__brand_product_components_clinical_product_component_rxcui.25fdaf356b": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "clinical_product_component_rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__brand_product_components')) }}"}, "namespace": null}, "database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_rxnorm__brand_product_components_clinical_product_component_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_rxnorm__brand_pro_8a3c0a2a6e5d51cf23cd68cab747c324.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.not_null_stg_rxnorm__brand_product_components_clinical_product_component_rxcui.25fdaf356b", "fqn": ["sagerx", "staging", "rxnorm", "not_null_stg_rxnorm__brand_product_components_clinical_product_component_rxcui"], "alias": "not_null_stg_rxnorm__brand_pro_8a3c0a2a6e5d51cf23cd68cab747c324", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "not_null_stg_rxnorm__brand_pro_8a3c0a2a6e5d51cf23cd68cab747c324", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {"alias": "not_null_stg_rxnorm__brand_pro_8a3c0a2a6e5d51cf23cd68cab747c324"}, "created_at": 1715093147.912891, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}{{ config(alias=\"not_null_stg_rxnorm__brand_pro_8a3c0a2a6e5d51cf23cd68cab747c324\") }}", "language": "sql", "refs": [{"name": "stg_rxnorm__brand_product_components", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": ["model.sagerx.stg_rxnorm__brand_product_components"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "column_name": "clinical_product_component_rxcui", "file_key_name": "models.stg_rxnorm__brand_product_components", "attached_node": "model.sagerx.stg_rxnorm__brand_product_components"}, "test.sagerx.unique_stg_rxnorm__brands_rxcui.a2c8cd0cd0": {"test_metadata": {"name": "unique", "kwargs": {"column_name": "rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__brands')) }}"}, "namespace": null}, "database": "sagerx", "schema": "sagerx_dev", "name": "unique_stg_rxnorm__brands_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "unique_stg_rxnorm__brands_rxcui.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.unique_stg_rxnorm__brands_rxcui.a2c8cd0cd0", "fqn": ["sagerx", "staging", "rxnorm", "unique_stg_rxnorm__brands_rxcui"], "alias": "unique_stg_rxnorm__brands_rxcui", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1715093147.915054, "relation_name": null, "raw_code": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_rxnorm__brands", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_unique"], "nodes": ["model.sagerx.stg_rxnorm__brands"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "column_name": "rxcui", "file_key_name": "models.stg_rxnorm__brands", "attached_node": "model.sagerx.stg_rxnorm__brands"}, "test.sagerx.not_null_stg_rxnorm__brands_rxcui.d067686860": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__brands')) }}"}, "namespace": null}, "database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_rxnorm__brands_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_rxnorm__brands_rxcui.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.not_null_stg_rxnorm__brands_rxcui.d067686860", "fqn": ["sagerx", "staging", "rxnorm", "not_null_stg_rxnorm__brands_rxcui"], "alias": "not_null_stg_rxnorm__brands_rxcui", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1715093147.9172075, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_rxnorm__brands", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": ["model.sagerx.stg_rxnorm__brands"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "column_name": "rxcui", "file_key_name": "models.stg_rxnorm__brands", "attached_node": "model.sagerx.stg_rxnorm__brands"}, "test.sagerx.unique_stg_fda_ndc__ndcs_ndc11.8b4e77e239": {"test_metadata": {"name": "unique", "kwargs": {"column_name": "ndc11", "model": "{{ get_where_subquery(ref('stg_fda_ndc__ndcs')) }}"}, "namespace": null}, "database": "sagerx", "schema": "sagerx_dev", "name": "unique_stg_fda_ndc__ndcs_ndc11", "resource_type": "test", "package_name": "sagerx", "path": "unique_stg_fda_ndc__ndcs_ndc11.sql", "original_file_path": "models/staging/fda_ndc/_fda_ndc__models.yml", "unique_id": "test.sagerx.unique_stg_fda_ndc__ndcs_ndc11.8b4e77e239", "fqn": ["sagerx", "staging", "fda_ndc", "unique_stg_fda_ndc__ndcs_ndc11"], "alias": "unique_stg_fda_ndc__ndcs_ndc11", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1715093148.0090263, "relation_name": null, "raw_code": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_fda_ndc__ndcs", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_unique"], "nodes": ["model.sagerx.stg_fda_ndc__ndcs"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "column_name": "ndc11", "file_key_name": "models.stg_fda_ndc__ndcs", "attached_node": "model.sagerx.stg_fda_ndc__ndcs"}, "test.sagerx.not_null_stg_fda_ndc__ndcs_ndc11.7680fa8975": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "ndc11", "model": "{{ get_where_subquery(ref('stg_fda_ndc__ndcs')) }}"}, "namespace": null}, "database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_fda_ndc__ndcs_ndc11", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_fda_ndc__ndcs_ndc11.sql", "original_file_path": "models/staging/fda_ndc/_fda_ndc__models.yml", "unique_id": "test.sagerx.not_null_stg_fda_ndc__ndcs_ndc11.7680fa8975", "fqn": ["sagerx", "staging", "fda_ndc", "not_null_stg_fda_ndc__ndcs_ndc11"], "alias": "not_null_stg_fda_ndc__ndcs_ndc11", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1715093148.011913, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_fda_ndc__ndcs", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": ["model.sagerx.stg_fda_ndc__ndcs"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "column_name": "ndc11", "file_key_name": "models.stg_fda_ndc__ndcs", "attached_node": "model.sagerx.stg_fda_ndc__ndcs"}, "test.sagerx.unique_stg_fda_unfinished__ndcs_ndc11.dd8892c8c6": {"test_metadata": {"name": "unique", "kwargs": {"column_name": "ndc11", "model": "{{ get_where_subquery(ref('stg_fda_unfinished__ndcs')) }}"}, "namespace": null}, "database": "sagerx", "schema": "sagerx_dev", "name": "unique_stg_fda_unfinished__ndcs_ndc11", "resource_type": "test", "package_name": "sagerx", "path": "unique_stg_fda_unfinished__ndcs_ndc11.sql", "original_file_path": "models/staging/fda_unfinished/_fda_unfinished__models.yml", "unique_id": "test.sagerx.unique_stg_fda_unfinished__ndcs_ndc11.dd8892c8c6", "fqn": ["sagerx", "staging", "fda_unfinished", "unique_stg_fda_unfinished__ndcs_ndc11"], "alias": "unique_stg_fda_unfinished__ndcs_ndc11", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1715093148.0369961, "relation_name": null, "raw_code": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_fda_unfinished__ndcs", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_unique"], "nodes": ["model.sagerx.stg_fda_unfinished__ndcs"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "column_name": "ndc11", "file_key_name": "models.stg_fda_unfinished__ndcs", "attached_node": "model.sagerx.stg_fda_unfinished__ndcs"}, "test.sagerx.not_null_stg_fda_unfinished__ndcs_ndc11.0257f0c5fe": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "ndc11", "model": "{{ get_where_subquery(ref('stg_fda_unfinished__ndcs')) }}"}, "namespace": null}, "database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_fda_unfinished__ndcs_ndc11", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_fda_unfinished__ndcs_ndc11.sql", "original_file_path": "models/staging/fda_unfinished/_fda_unfinished__models.yml", "unique_id": "test.sagerx.not_null_stg_fda_unfinished__ndcs_ndc11.0257f0c5fe", "fqn": ["sagerx", "staging", "fda_unfinished", "not_null_stg_fda_unfinished__ndcs_ndc11"], "alias": "not_null_stg_fda_unfinished__ndcs_ndc11", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1715093148.0392992, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_fda_unfinished__ndcs", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": ["model.sagerx.stg_fda_unfinished__ndcs"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "column_name": "ndc11", "file_key_name": "models.stg_fda_unfinished__ndcs", "attached_node": "model.sagerx.stg_fda_unfinished__ndcs"}, "test.sagerx.unique_all_ndc_descriptions_ndc.e6968eba9b": {"test_metadata": {"name": "unique", "kwargs": {"column_name": "ndc", "model": "{{ get_where_subquery(ref('all_ndc_descriptions')) }}"}, "namespace": null}, "database": "sagerx", "schema": "sagerx_dev", "name": "unique_all_ndc_descriptions_ndc", "resource_type": "test", "package_name": "sagerx", "path": "unique_all_ndc_descriptions_ndc.sql", "original_file_path": "models/marts/ndc/_ndc__models.yml", "unique_id": "test.sagerx.unique_all_ndc_descriptions_ndc.e6968eba9b", "fqn": ["sagerx", "marts", "ndc", "unique_all_ndc_descriptions_ndc"], "alias": "unique_all_ndc_descriptions_ndc", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1715093148.075223, "relation_name": null, "raw_code": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "all_ndc_descriptions", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_unique"], "nodes": ["model.sagerx.all_ndc_descriptions"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "column_name": "ndc", "file_key_name": "models.all_ndc_descriptions", "attached_node": "model.sagerx.all_ndc_descriptions"}, "test.sagerx.not_null_all_ndc_descriptions_ndc.5637013605": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "ndc", "model": "{{ get_where_subquery(ref('all_ndc_descriptions')) }}"}, "namespace": null}, "database": "sagerx", "schema": "sagerx_dev", "name": "not_null_all_ndc_descriptions_ndc", "resource_type": "test", "package_name": "sagerx", "path": "not_null_all_ndc_descriptions_ndc.sql", "original_file_path": "models/marts/ndc/_ndc__models.yml", "unique_id": "test.sagerx.not_null_all_ndc_descriptions_ndc.5637013605", "fqn": ["sagerx", "marts", "ndc", "not_null_all_ndc_descriptions_ndc"], "alias": "not_null_all_ndc_descriptions_ndc", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1715093148.0788965, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "all_ndc_descriptions", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": ["model.sagerx.all_ndc_descriptions"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "column_name": "ndc", "file_key_name": "models.all_ndc_descriptions", "attached_node": "model.sagerx.all_ndc_descriptions"}, "test.sagerx.unique_atc_codes_to_rxnorm_products_rxcui.b171565c1d": {"test_metadata": {"name": "unique", "kwargs": {"column_name": "rxcui", "model": "{{ get_where_subquery(ref('atc_codes_to_rxnorm_products')) }}"}, "namespace": null}, "database": "sagerx", "schema": "sagerx_dev", "name": "unique_atc_codes_to_rxnorm_products_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "unique_atc_codes_to_rxnorm_products_rxcui.sql", "original_file_path": "models/marts/classification/_classification__models.yml", "unique_id": "test.sagerx.unique_atc_codes_to_rxnorm_products_rxcui.b171565c1d", "fqn": ["sagerx", "marts", "classification", "unique_atc_codes_to_rxnorm_products_rxcui"], "alias": "unique_atc_codes_to_rxnorm_products_rxcui", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1715093148.0901914, "relation_name": null, "raw_code": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "atc_codes_to_rxnorm_products", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_unique"], "nodes": ["model.sagerx.atc_codes_to_rxnorm_products"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "column_name": "rxcui", "file_key_name": "models.atc_codes_to_rxnorm_products", "attached_node": "model.sagerx.atc_codes_to_rxnorm_products"}, "test.sagerx.not_null_atc_codes_to_rxnorm_products_rxcui.f1ef3093c1": {"test_metadata": {"name": "not_null", "kwargs": {"column_name": "rxcui", "model": "{{ get_where_subquery(ref('atc_codes_to_rxnorm_products')) }}"}, "namespace": null}, "database": "sagerx", "schema": "sagerx_dev", "name": "not_null_atc_codes_to_rxnorm_products_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "not_null_atc_codes_to_rxnorm_products_rxcui.sql", "original_file_path": "models/marts/classification/_classification__models.yml", "unique_id": "test.sagerx.not_null_atc_codes_to_rxnorm_products_rxcui.f1ef3093c1", "fqn": ["sagerx", "marts", "classification", "not_null_atc_codes_to_rxnorm_products_rxcui"], "alias": "not_null_atc_codes_to_rxnorm_products_rxcui", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "deferred": false, "unrendered_config": {}, "created_at": 1715093148.0928683, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "atc_codes_to_rxnorm_products", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": ["model.sagerx.atc_codes_to_rxnorm_products"]}, "compiled_path": null, "contract": {"enforced": false, "checksum": null}, "column_name": "rxcui", "file_key_name": "models.atc_codes_to_rxnorm_products", "attached_node": "model.sagerx.atc_codes_to_rxnorm_products"}}, "sources": {"source.sagerx.fda_excluded.fda_excluded_package": {"database": "sagerx", "schema": "sagerx_lake", "name": "fda_excluded_package", "resource_type": "source", "package_name": "sagerx", "path": "models/staging/fda_excluded/_fda_excluded__sources.yml", "original_file_path": "models/staging/fda_excluded/_fda_excluded__sources.yml", "unique_id": "source.sagerx.fda_excluded.fda_excluded_package", "fqn": ["sagerx", "staging", "fda_excluded", "fda_excluded", "fda_excluded_package"], "source_name": "fda_excluded", "source_description": "Products removed / excluded from the NDC Directory for failure to respond to FDA's requests for correction for various reasons.", "loader": "", "identifier": "fda_excluded_package", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": {"count": null, "period": null}, "error_after": {"count": null, "period": null}, "filter": null}, "external": null, "description": "Packages of product that have been removed/excluded from the NDC Directory for failure to respond to the FDA", "columns": {"productid": {"name": "productid", "description": "ProductID is a concatenation of the NDCproduct code and SPL documentID. It is included to help prevent duplicate rows from appearing when joining the product and package files together. It has no regulatory value or significance.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "productndc": {"name": "productndc", "description": "The labeler code and product code segments of the National Drug Code number, separated by a hyphen. Asterisks are no longer used or included within the product code segment to indicate certain configurations of the NDC.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ndcpackagecode": {"name": "ndcpackagecode", "description": "The labeler code, product code, and package code segments of the National Drug Code number, separated by hyphens. Asterisks are no longer used or included within the product and package code segments to indicate certain configurations of the NDC.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "packagedescription": {"name": "packagedescription", "description": "A description of the size and type of packaging in sentence form. Multilevel packages will have the descriptions concatenated together. For example: 4 BOTTLES in 1 CARTON/100 TABLETS in 1 BOTTLE.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "startmarketingdate": {"name": "startmarketingdate", "description": "This is the date that the labeler indicates was the start of its marketing of the drug product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "endmarketingdate": {"name": "endmarketingdate", "description": "This is the date the product will no longer be available on the market. If a product is no longer being manufactured, in most cases, the FDA recommends firms use the expiration date of the last lot produced as the EndMarketingDate, to reflect the potential for drug product to remain available after manufacturing has ceased. Products that are the subject of ongoing manufacturing will not ordinarily have any EndMarketingDate. Products with a value in the EndMarketingDate will be removed from the NDC Directory when the EndMarketingDate is reached.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ndc_exclude_flag": {"name": "ndc_exclude_flag", "description": "Values = 'Y', 'N', 'E', or 'I'. This indicates whether the PACKAGE has been removed/excluded from the NDC Directory for failure to respond to FDA's requests for correction to deficient or non-compliant submissions ('Y'), or because the listing certification is expired ('E'), or because the listing data was inactivated by FDA ('I').", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sample_package": {"name": "sample_package", "description": "This indicates if the package is to be distributed as a sample package. Values = 'Y' or 'N''", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"sagerx\".\"sagerx_lake\".\"fda_excluded_package\"", "created_at": 1715093148.0949314}, "source.sagerx.fda_excluded.fda_excluded_product": {"database": "sagerx", "schema": "sagerx_lake", "name": "fda_excluded_product", "resource_type": "source", "package_name": "sagerx", "path": "models/staging/fda_excluded/_fda_excluded__sources.yml", "original_file_path": "models/staging/fda_excluded/_fda_excluded__sources.yml", "unique_id": "source.sagerx.fda_excluded.fda_excluded_product", "fqn": ["sagerx", "staging", "fda_excluded", "fda_excluded", "fda_excluded_product"], "source_name": "fda_excluded", "source_description": "Products removed / excluded from the NDC Directory for failure to respond to FDA's requests for correction for various reasons.", "loader": "", "identifier": "fda_excluded_product", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": {"count": null, "period": null}, "error_after": {"count": null, "period": null}, "filter": null}, "external": null, "description": "Products that have been removed/excluded from the NDC Directory for failure to respond to the FDA", "columns": {"productid": {"name": "productid", "description": "ProductID is a concatenation of the NDCproduct code and SPL documentID. It is included to help prevent duplicate rows from appearing when joining the product and package files together. It has no regulatory value or significance.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "productndc": {"name": "productndc", "description": "The labeler code and product code segments of the National Drug Code number, separated by a hyphen. Asterisks are no longer used or included within the product code segment to indicate certain configurations of the NDC. www.fda.gov/edrls under Structured Product Labeling Resources.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "producttypename": {"name": "producttypename", "description": "Indicates the type of product, such as Human Prescription Drug or Human OTC Drug. This data element corresponds to the \u201cDocument Type\u201d of the SPL submission for the listing. The complete list of codes and translations can be found at.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "proprietaryname": {"name": "proprietaryname", "description": "Also known as the trade name. It is the name of the product chosen by the labeler.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "proprietarynamesuffix": {"name": "proprietarynamesuffix", "description": "A suffix to the proprietary name, a value here should be appended to the ProprietaryName field to obtain the complete name of the product. This suffix is often used to distinguish characteristics of a product such as extended release (\u201cXR\u201d) or sleep aid (\u201cPM\u201d). Although many companies follow certain naming conventions for suffices, there is no recognized standard.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "nonproprietaryname": {"name": "nonproprietaryname", "description": "Sometimes called the generic name, this is usually the active ingredient(s) of the product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "dosageformname": {"name": "dosageformname", "description": "The translation of the DosageForm Code submitted by the firm. The complete list of codes and translations can be found www.fda.gov/edrls under Structured Product Labeling Resources.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "routename": {"name": "routename", "description": "The translation of the Route Code submitted by the firm, indicating route of administration. The complete list of codes and translations can be found at www.fda.gov/edrls under Structured Product Labeling Resources.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "startmarketingdate": {"name": "startmarketingdate", "description": "This is the date that the labeler indicates was the start of its marketing of the drug product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "endmarketingdate": {"name": "endmarketingdate", "description": "This is the date the product will no longer be available on the market. If a product is no longer being manufactured, in most cases, the FDA recommends firms use the expiration date of the last lot produced as the EndMarketingDate, to reflect the potential for drug product to remain available after manufacturing has ceased. Products that are the subject of ongoing manufacturing will not ordinarily have any EndMarketingDate. Products with a value in the EndMarketingDate will be removed from the NDC Directory when the EndMarketingDate is reached.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "marketingcategoryname": {"name": "marketingcategoryname", "description": "Product types are broken down into several potential Marketing Categories, such as NDA/ANDA/BLA, OTC Monograph, or Unapproved Drug. One and only one Marketing Category may be chosen for a product, not all marketing categories are available to all product types. Currently, only final marketed product categories are included. The complete list of codes and translations can be found at www.fda.gov/edrls under Structured Product Labeling Resources.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "applicationnumber": {"name": "applicationnumber", "description": "This corresponds to the NDA, ANDA, or BLA number reported by the labeler for products which have the corresponding Marketing Category designated. If the designated Marketing Category is OTC Monograph Final or OTC Monograph Not Final, then the Application number will be the CFR citation corresponding to the appropriate Monograph (e.g. \u201cpart 341\u201d). For unapproved drugs, this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "labelername": {"name": "labelername", "description": "Name of Company corresponding to the labeler code segment of the ProductNDC.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "substancename": {"name": "substancename", "description": "This is the active ingredient list. Each ingredient name is the preferred term of the UNII code submitted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active_numerator_strength": {"name": "active_numerator_strength", "description": "These are the strength values (to be used with units below) of each active ingredient, listed in the same order as the SubstanceName field above.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active_ingred_unit": {"name": "active_ingred_unit", "description": "These are the units to be used with the strength values above, listed in the same order as the SubstanceName and SubstanceNumber (ActiveNumeratorStrength).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "pharm_classes": {"name": "pharm_classes", "description": "These are the reported pharmacological class categories corresponding to the SubstanceNames listed above.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "deaschedule": {"name": "deaschedule", "description": "This is the assigned DEA Schedule number as reported by the labeler. Values are CI, CII, CIII, CIV, and CV.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ndc_exclude_flag": {"name": "ndc_exclude_flag", "description": "Values = 'Y', 'N', 'E', or 'I'. This indicates whether the product has been removed/excluded from the NDC Directory for failure to respond to FDA's requests for correction to deficient or non-compliant submissions ('Y'), or because the listing certification is expired ('E'), or because the listing data was inactivated by FDA ('I').", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "listing_record_certified_through": {"name": "listing_record_certified_through", "description": "This is the date when the listing record will expire if not updated or certified by the firm.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"sagerx\".\"sagerx_lake\".\"fda_excluded_product\"", "created_at": 1715093148.0952442}, "source.sagerx.rxclass.rxclass_atc_to_product": {"database": "sagerx", "schema": "sagerx_lake", "name": "rxclass_atc_to_product", "resource_type": "source", "package_name": "sagerx", "path": "models/staging/rxclass/_rxclass__sources.yml", "original_file_path": "models/staging/rxclass/_rxclass__sources.yml", "unique_id": "source.sagerx.rxclass.rxclass_atc_to_product", "fqn": ["sagerx", "staging", "rxclass", "rxclass", "rxclass_atc_to_product"], "source_name": "rxclass", "source_description": "A product-level mapping of RxNorm to ATC1-4 classes.\n\nRxClass has added RxNorm product-level mapping for ATC. The product-level mapping is now the default source mapping for the ATC classes in the RxClass browser.\n\nWhen extended to RxNorm products, an ingredient-level mapping to ATC can lead to inapplicable mappings. For example, through its ingredient, timolol, the RxNorm product 1923428 (timolol 2.5 MG/ML Ophthalmic Solution) is associated with both ophthalmologicals and cardiovascular system medications, while only the former is accurate. In contrast, ATCPROD only associates this product with the ophthalmologicals class Beta blocking agents (S01ED).\n\nTo use the RxNorm product-level mapping for ATC in the RxClass API, the relaSource parameter should be specified as \u201cATCPROD\u201d.\nhttps://rxnav.nlm.nih.gov/REST/rxclass/class/byRxcui.xml?rxcui=1923428&relaSource=ATC\nhttps://rxnav.nlm.nih.gov/REST/rxclass/class/byRxcui.xml?rxcui=1923428&relaSource=ATCPROD\nThe RxNorm product-level mapping for ATC was produced by the National Library of Medicine. While not all active RxNorm products are covered by the mapping, the mapping accounts for over 97% of the Medicare Part-D prescriptions from 2012-2020.\n\nThe original ingredient-level mapping to ATC from the WHO Collaborating Centre for Drug Statistics Methodology remains available in RxClass (select ATC under Edit Drug Sources) and through the RxClass API (relaSource=ATC).\n", "loader": "", "identifier": "rxclass_atc_to_product", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": {"count": null, "period": null}, "error_after": {"count": null, "period": null}, "filter": null}, "external": null, "description": "", "columns": {}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"sagerx\".\"sagerx_lake\".\"rxclass_atc_to_product\"", "created_at": 1715093148.0954819}, "source.sagerx.nadac.nadac": {"database": "sagerx", "schema": "sagerx_lake", "name": "nadac", "resource_type": "source", "package_name": "sagerx", "path": "models/staging/nadac/_nadac__sources.yml", "original_file_path": "models/staging/nadac/_nadac__sources.yml", "unique_id": "source.sagerx.nadac.nadac", "fqn": ["sagerx", "staging", "nadac", "nadac", "nadac"], "source_name": "nadac", "source_description": "", "loader": "", "identifier": "nadac", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": {"count": null, "period": null}, "error_after": {"count": null, "period": null}, "filter": null}, "external": null, "description": "National Average Drug Acquisition Cost (NADAC).\nCMS has entered into a contract with Myers & Stauffer, LC, to perform a Retail Price Survey.\nThe purpose of this initiative is to perform a monthly nationwide survey of retail community pharmacy covered outpatient drug prices and to provide states with weekly updates on pricing files. These pricing files, entitled the NADAC (National Average Drug Acquisition Cost) files, provide state Medicaid agencies with covered outpatient drug prices by averaging survey invoice prices from retail community pharmacies across the United States. The state agencies have the option of using the NADAC files to meet the new Actual Acquisition Cost (AAC) reimbursement requirements in the Covered Outpatient Drug final rule with comment (CMS 2345-FC).\nThe Retail Price Survey focuses on the retail community pharmacy acquisition costs. This provides for a survey of the purchase prices of all covered outpatient drugs by retail community pharmacies. These pharmacies include independent retail community pharmacies and chain pharmacies. The prices are updated on a weekly and monthly basis. A methodology document titled Methodology for Calculating the National Average Drug Acquisition Cost (NADAC) outlines the processes used to derive the NADAC. NADAC Questions and Responses includes questions and comments received to date regarding the NADAC, along with our responses. To the extent that states consider the NADAC as a reference price when setting their reimbursement methodology, they must submit a State Plan Amendment (SPA) to CMS in accordance with state plan requirements if they decide to use NADAC as a basis for payment.\nEffective November 27, 2013, CMS began posting final NADAC files. To view the NADAC weekly files and the NADAC Week to Week File Comparison, please visit the Pharmacy Drug Pricing Page. \nPlease note that the NADAC file is updated on a weekly basis. Each month, a new file is posted to reflect findings from the previous month\u2019s survey results incorporating the weekly price changes that have occurred in the interim weeks before the next monthly NADAC file. For more information on the fields in the NADAC weekly file, please see the NADAC Data Field Definitions. In addition, to easily identify and understand the pricing changes that occur each week, we are posting a NADAC Week to Week File Comparison which will accompany the weekly NADAC file. This comparison file identifies the drug products with current NADAC rates that are replaced with new NADAC rates. Other changes (e.g. NDC additions and terminations) to the NADAC file are not reflected in this comparison. The explanation of the data fields used in the comparison file are further defined in the NADAC Week to Week Comparison Data Field Definitions.\nThe NADAC Equivalency Metrics are published on a quarterly basis and are intended to be utilized for analyzing and monitoring the NADAC pricing relationship to compendia drug pricing values. In addition, the NADAC equivalency metrics can be utilized by state Medicaid programs for evaluating their respective pharmacy reimbursement protocols. A methodology document titled NADAC Equivalency Methodology has been developed to outline the processes used to derive the NADAC Equivalency Metrics file.\n", "columns": {"ndc_description": {"name": "ndc_description", "description": "Identifies the drug name, strength, and dosage form of the drug product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ndc": {"name": "ndc", "description": "The National Drug Code (NDC) is a numerical code maintained by the FDA that includes the labeler code, product code, and package code. The NDC is an 11-digit code.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "nadac_per_unit": {"name": "nadac_per_unit", "description": "The National Average Drug Acquisition Cost per unit.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "effective_date": {"name": "effective_date", "description": "The effective date of the NADAC Per Unit cost.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "pricing_unit": {"name": "pricing_unit", "description": "Indicates the pricing unit for the associated NDC ('ML', 'GM' or 'EA').", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "pharmacy_type_indicator": {"name": "pharmacy_type_indicator", "description": "The source of pharmacy survey data used to calculate the NADAC. 'C/I' indicates data was collected from surveys of Chain/Independent pharmacies. Other pharmacy type indicators are not used at this time.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "otc": {"name": "otc", "description": "Indicates whether or not the NDC is for an over-the-counter (OTC) product ('Y' or 'N').", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "explanation_code": {"name": "explanation_code", "description": "Codes that pertain to how the NADAC was calculated; see explanation code descriptions below. Numbers 1-10, multi-value, comma-delimited.\n- Code 1: The NADAC was calculated using information from the most recently completed pharmacy survey. - Code 2: The average acquisition cost of the most recent survey was within \u00b1 2% of the current NADAC; therefore, the NADAC was carried forward from the previous file. - Code 3: The NADAC based on survey data has been adjusted to reflect changes in published pricing, or as a result of an inquiry to the help desk. - Code 4: The NADAC was carried forward from the previous file. - Code 5: The NADAC was calculated based on package size. - Code 6: The CMS Covered Outpatient Drug Product File drug category type of 'S/I/N' (Single Source/Innovator/Non-Innovator) has not been applied. Most 'S/I' drugs with the same strength, dosage form and route of administration were grouped together for the purpose of the NADAC calculation and 'N' drugs were also grouped together. In some cases, however, in calculating a NADAC, the CMS 'S/I/N' designation was not applied when the State Medicaid brand or generic payment practices for these drugs generally differed from the Covered Outpatient Drug Product File designation.\n \n> For example, authorized generic drugs are appropriately listed in the CMS covered outpatient drug file as 'I' drugs for the purpose of rebates as they were approved under a New Drug Application (NDA). However, they are grouped as 'N' for the NADAC calculation since they are generally designated as generic by most State Medicaid programs for the purposes of reimbursement. Another example of this occurrence is when proprietary named drugs, approved under an Abbreviated New Drug Application (ANDA) are appropriately in the CMS Covered Outpatient Drug file as 'N' for the purpose of rebates. However, they are grouped as 'S/I' for the NADAC calculation since they are generally reimbursed as brand drugs by State Medicaid programs.\n \n- Codes 7 through 10: Reserved for future use.\n", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "classification_for_rate_setting": {"name": "classification_for_rate_setting", "description": "Indicates whether the NDC was considered brand (\u2018B\u2019) or generic (\u2018G\u2019) for the NADAC rate calculation process. If the NDC was considered brand (\u2018B\u2019) and approved under an Abbreviated New Drug Application (ANDA), the indicator is shown as (\u2018B-ANDA\u2019). NDCs approved as biosimilar products are considered brand (\u2018B\u2019) and will be designated as (\u2018B-BIO\u2019).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "corresponding_generic_drug_nadac_per_unit": {"name": "corresponding_generic_drug_nadac_per_unit", "description": "The NADAC for the corresponding generic drug.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "corresponding_generic_drug_effective_date": {"name": "corresponding_generic_drug_effective_date", "description": "The effective date of when the Corresponding Generic Drug NADAC Per Unit is assigned to a multiple source brand drug NDC. This date may not correspond to the NADAC effective date for the generic drug due to the method by which the corresponding generic drug NADAC effective date is assigned.\nThe corresponding generic drug NADAC effective date is the latter of the following dates:\na) date of the NADAC reference file upon which the corresponding generic drug NADAC first appears, b) the current corresponding generic drug NADAC effective date plus one day - one day is added to the previous date so that there are no overlapping rate segments, or c) the NADAC Effective Date for the generic drug group. This data assignment process is necessary to eliminate the potential for applying corresponding generic drug NADACs to past claims.\n", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "as_of_date": {"name": "as_of_date", "description": "As of date.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"sagerx\".\"sagerx_lake\".\"nadac\"", "created_at": 1715093148.0957296}, "source.sagerx.rxnorm.rxnorm_rxnatomarchive": {"database": "sagerx", "schema": "sagerx_lake", "name": "rxnorm_rxnatomarchive", "resource_type": "source", "package_name": "sagerx", "path": "models/staging/rxnorm/_rxnorm__sources.yml", "original_file_path": "models/staging/rxnorm/_rxnorm__sources.yml", "unique_id": "source.sagerx.rxnorm.rxnorm_rxnatomarchive", "fqn": ["sagerx", "staging", "rxnorm", "rxnorm", "rxnorm_rxnatomarchive"], "source_name": "rxnorm", "source_description": "", "loader": "", "identifier": "rxnorm_rxnatomarchive", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": {"count": null, "period": null}, "error_after": {"count": null, "period": null}, "filter": null}, "external": null, "description": "", "columns": {}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"sagerx\".\"sagerx_lake\".\"rxnorm_rxnatomarchive\"", "created_at": 1715093148.0959353}, "source.sagerx.rxnorm.rxnorm_rxnconso": {"database": "sagerx", "schema": "sagerx_lake", "name": "rxnorm_rxnconso", "resource_type": "source", "package_name": "sagerx", "path": "models/staging/rxnorm/_rxnorm__sources.yml", "original_file_path": "models/staging/rxnorm/_rxnorm__sources.yml", "unique_id": "source.sagerx.rxnorm.rxnorm_rxnconso", "fqn": ["sagerx", "staging", "rxnorm", "rxnorm", "rxnorm_rxnconso"], "source_name": "rxnorm", "source_description": "", "loader": "", "identifier": "rxnorm_rxnconso", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": {"count": null, "period": null}, "error_after": {"count": null, "period": null}, "filter": null}, "external": null, "description": "", "columns": {}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"sagerx\".\"sagerx_lake\".\"rxnorm_rxnconso\"", "created_at": 1715093148.0961344}, "source.sagerx.rxnorm.rxnorm_rxncui": {"database": "sagerx", "schema": "sagerx_lake", "name": "rxnorm_rxncui", "resource_type": "source", "package_name": "sagerx", "path": "models/staging/rxnorm/_rxnorm__sources.yml", "original_file_path": "models/staging/rxnorm/_rxnorm__sources.yml", "unique_id": "source.sagerx.rxnorm.rxnorm_rxncui", "fqn": ["sagerx", "staging", "rxnorm", "rxnorm", "rxnorm_rxncui"], "source_name": "rxnorm", "source_description": "", "loader": "", "identifier": "rxnorm_rxncui", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": {"count": null, "period": null}, "error_after": {"count": null, "period": null}, "filter": null}, "external": null, "description": "", "columns": {}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"sagerx\".\"sagerx_lake\".\"rxnorm_rxncui\"", "created_at": 1715093148.0963295}, "source.sagerx.rxnorm.rxnorm_rxncuichanges": {"database": "sagerx", "schema": "sagerx_lake", "name": "rxnorm_rxncuichanges", "resource_type": "source", "package_name": "sagerx", "path": "models/staging/rxnorm/_rxnorm__sources.yml", "original_file_path": "models/staging/rxnorm/_rxnorm__sources.yml", "unique_id": "source.sagerx.rxnorm.rxnorm_rxncuichanges", "fqn": ["sagerx", "staging", "rxnorm", "rxnorm", "rxnorm_rxncuichanges"], "source_name": "rxnorm", "source_description": "", "loader": "", "identifier": "rxnorm_rxncuichanges", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": {"count": null, "period": null}, "error_after": {"count": null, "period": null}, "filter": null}, "external": null, "description": "", "columns": {}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"sagerx\".\"sagerx_lake\".\"rxnorm_rxncuichanges\"", "created_at": 1715093148.096776}, "source.sagerx.rxnorm.rxnorm_rxndoc": {"database": "sagerx", "schema": "sagerx_lake", "name": "rxnorm_rxndoc", "resource_type": "source", "package_name": "sagerx", "path": "models/staging/rxnorm/_rxnorm__sources.yml", "original_file_path": "models/staging/rxnorm/_rxnorm__sources.yml", "unique_id": "source.sagerx.rxnorm.rxnorm_rxndoc", "fqn": ["sagerx", "staging", "rxnorm", "rxnorm", "rxnorm_rxndoc"], "source_name": "rxnorm", "source_description": "", "loader": "", "identifier": "rxnorm_rxndoc", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": {"count": null, "period": null}, "error_after": {"count": null, "period": null}, "filter": null}, "external": null, "description": "", "columns": {}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"sagerx\".\"sagerx_lake\".\"rxnorm_rxndoc\"", "created_at": 1715093148.0970037}, "source.sagerx.rxnorm.rxnorm_rxnrel": {"database": "sagerx", "schema": "sagerx_lake", "name": "rxnorm_rxnrel", "resource_type": "source", "package_name": "sagerx", "path": "models/staging/rxnorm/_rxnorm__sources.yml", "original_file_path": "models/staging/rxnorm/_rxnorm__sources.yml", "unique_id": "source.sagerx.rxnorm.rxnorm_rxnrel", "fqn": ["sagerx", "staging", "rxnorm", "rxnorm", "rxnorm_rxnrel"], "source_name": "rxnorm", "source_description": "", "loader": "", "identifier": "rxnorm_rxnrel", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": {"count": null, "period": null}, "error_after": {"count": null, "period": null}, "filter": null}, "external": null, "description": "", "columns": {}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"sagerx\".\"sagerx_lake\".\"rxnorm_rxnrel\"", "created_at": 1715093148.0972114}, "source.sagerx.rxnorm.rxnorm_rxnsab": {"database": "sagerx", "schema": "sagerx_lake", "name": "rxnorm_rxnsab", "resource_type": "source", "package_name": "sagerx", "path": "models/staging/rxnorm/_rxnorm__sources.yml", "original_file_path": "models/staging/rxnorm/_rxnorm__sources.yml", "unique_id": "source.sagerx.rxnorm.rxnorm_rxnsab", "fqn": ["sagerx", "staging", "rxnorm", "rxnorm", "rxnorm_rxnsab"], "source_name": "rxnorm", "source_description": "", "loader": "", "identifier": "rxnorm_rxnsab", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": {"count": null, "period": null}, "error_after": {"count": null, "period": null}, "filter": null}, "external": null, "description": "", "columns": {}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"sagerx\".\"sagerx_lake\".\"rxnorm_rxnsab\"", "created_at": 1715093148.0974152}, "source.sagerx.rxnorm.rxnorm_rxnsat": {"database": "sagerx", "schema": "sagerx_lake", "name": "rxnorm_rxnsat", "resource_type": "source", "package_name": "sagerx", "path": "models/staging/rxnorm/_rxnorm__sources.yml", "original_file_path": "models/staging/rxnorm/_rxnorm__sources.yml", "unique_id": "source.sagerx.rxnorm.rxnorm_rxnsat", "fqn": ["sagerx", "staging", "rxnorm", "rxnorm", "rxnorm_rxnsat"], "source_name": "rxnorm", "source_description": "", "loader": "", "identifier": "rxnorm_rxnsat", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": {"count": null, "period": null}, "error_after": {"count": null, "period": null}, "filter": null}, "external": null, "description": "", "columns": {}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"sagerx\".\"sagerx_lake\".\"rxnorm_rxnsat\"", "created_at": 1715093148.0976174}, "source.sagerx.rxnorm.rxnorm_rxnsty": {"database": "sagerx", "schema": "sagerx_lake", "name": "rxnorm_rxnsty", "resource_type": "source", "package_name": "sagerx", "path": "models/staging/rxnorm/_rxnorm__sources.yml", "original_file_path": "models/staging/rxnorm/_rxnorm__sources.yml", "unique_id": "source.sagerx.rxnorm.rxnorm_rxnsty", "fqn": ["sagerx", "staging", "rxnorm", "rxnorm", "rxnorm_rxnsty"], "source_name": "rxnorm", "source_description": "", "loader": "", "identifier": "rxnorm_rxnsty", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": {"count": null, "period": null}, "error_after": {"count": null, "period": null}, "filter": null}, "external": null, "description": "", "columns": {}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"sagerx\".\"sagerx_lake\".\"rxnorm_rxnsty\"", "created_at": 1715093148.0978186}, "source.sagerx.purple_book.purple_book": {"database": "sagerx", "schema": "sagerx_lake", "name": "purple_book", "resource_type": "source", "package_name": "sagerx", "path": "models/staging/purple_book/_purple_book__sources.yml", "original_file_path": "models/staging/purple_book/_purple_book__sources.yml", "unique_id": "source.sagerx.purple_book.purple_book", "fqn": ["sagerx", "staging", "purple_book", "purple_book", "purple_book"], "source_name": "purple_book", "source_description": "The \u201cPurple Book\u201d began as two lists (one for the CDER and one for CBER) that kept track of each Center's licensed biological products.\nIn February 2020, FDA released a searchable, online database that now replaces both lists because information about FDA-approved biological products is available in the Purple Book database.\n\nCurrently, the database contains information about all FDA-licensed biological products regulated by the CDER, including any biosimilar and interchangeable biological products, licensed (approved) by the FDA and FDA-licensed allergenic, cellular and gene therapy, hematologic, and vaccine products regulated by CBER.\nThe Purple Book database offers information about FDA- licensed biological products. It also includes information pertaining to exclusivity if the FDA has determined that a biological product is eligible for a relevant period of exclusivity.\n", "loader": "", "identifier": "purple_book", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": {"count": null, "period": null}, "error_after": {"count": null, "period": null}, "filter": null}, "external": null, "description": "The Purple Book database contains information on all FDA-licensed (approved) biological products regulated by the Center for Drug Evaluation and Research (CDER), including licensed biosimilar and interchangeable products, and their reference products. The Purple Book also contains information about all FDA-licensed allergenic, cellular and gene therapy, hematologic, and vaccine products regulated by the Center for Biologics Evaluation and Research (CBER).\n", "columns": {"nru": {"name": "nru", "description": "The changes that occurred during that month in three different categories: updated products (U), newly approved products (N), and products added in current release (R). Updated products (U) include FDA-approved products previously in the Purple Book that experienced changes during the month, resulting in an update of the applicable product(s) information (e.g., change in applicant or proprietary name). Newly approved products (N) include those that received initial FDA-approval during the month. Products added in current release (R) include a set of products that are not newly approved but were not previously included in the database.\n", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "applicant": {"name": "applicant", "description": "The manufacturer or company that submits an application to FDA for approval of a drug, including a biological product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "bla_number": {"name": "bla_number", "description": "The number assigned by FDA staff to each application for approval to market a biological product in the United States. The Biologics License Application (BLA) is an application for FDA approval of a biological product. If the data and information submitted meets FDA requirements, the application is approved and a license is issued allowing the firm to market the product.\n", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "proprietary_name": {"name": "proprietary_name", "description": "The trademark or brand name.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "proper_name": {"name": "proper_name", "description": "The proper name means the nonproprietary name designated by FDA in the license for a biological product licensed under the PHS Act. The nonproprietary name means a name unprotected by trademark rights that is in the public domain. Under the naming convention described in FDA Guidance,\u202fNonproprietary Naming of Biological Products, the proper name is a combination of the core name and a distinguishing suffix that is devoid of meaning and composed of four lowercase letters (e.g., -cznm, -hjxf). Core name = The component shared among an originator biological product and any related biological product, biosimilar product, or interchangeable product as part of the proper names of those products. Two examples of a core name are filgrastim and epoetin alfa.\n", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "bla_type": {"name": "bla_type", "description": "The type of License: 351(a), 351(k) Biosimilar, or 351(k) Interchangeable. 351(a) = A biological product licensed under section 351(a) of the PHS Act. A 351(a) BLA must contain all data and information necessary to demonstrate that the proposed product is safe, pure and potent (safe and effective). A biological product licensed under section 351(a) of the PHS Act can serve as the reference product for a 351(k) application. 351(k) Biosimilar = A biological product licensed under section 351(k) of the PHS Act. Among other things, a 351(k) Biosimilar BLA must contain data and information to demonstrate that the proposed product is biosimilar to the reference product. 351(k) Interchangeable = A biological product licensed under section 351(k) of the PHS Act. Among other things, a 351(k) Interchangeable BLA meets the requirements for biosimilarity and also contains data and information to demonstrate that the proposed product is interchangeable with the reference product.\n", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "strength": {"name": "strength", "description": "For more information on strength, see Q.I.12 in FDA Draft Guidance for Industry: New and Revised Draft Q&As on Biosimilar Development and the BPCI Act (Revision 2).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "dosage_form": {"name": "dosage_form", "description": "A dosage form is the physical form that delivers a dose of the drug, such as a tablet, a capsule, or an injection.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "route_of_administration": {"name": "route_of_administration", "description": "A route of administration is a way of administering a drug to a site in a patient (for example, intravenous or subcutaneous).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_presentation": {"name": "product_presentation", "description": "A dosage form is the physical form that delivers a dose of the drug, such as a tablet, a capsule, or an injection.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "status": {"name": "status", "description": "Marketing Status indicates how a biological product is sold in the United States, Prescription (Rx), Over the Counter (OTC), Discontinued (Disc). RX = Rx is a symbol for \"prescription.\" A prescription biological product requires a health care provider's authorization to purchase. OTC = Drugs that are safe and effective for use by the general public without a doctor's prescription Disc. = Discontinued Status- The product has been discontinued. Disc.* = Discontinued Status- FDA has determined that the product has been discontinued for reasons other than safety, purity, and potency.\n", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "licensure": {"name": "licensure", "description": "Status of the product license, e.g., whether the product is currently licensed or whether the license has been revoked.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "approval_date": {"name": "approval_date", "description": "The date FDA approved the application or supplement.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ref_product_proper_name": {"name": "ref_product_proper_name", "description": "A reference product is the single biological product, licensed (approved) by FDA under section 351(a) of the Public Health Service Act, against which a proposed biosimilar or interchangeable product is compared.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ref_Product_proprietary_name": {"name": "ref_Product_proprietary_name", "description": "The trademark or brand name of the reference product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "supplement_number": {"name": "supplement_number", "description": "Manufacturers may submit supplements to request approval for a change to an approved BLA. A number is assigned to each supplement which is usually, but not always, sequential, starting with 001.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "submission_type": {"name": "submission_type", "description": "The type of submission, for example, the original application or a supplemental application.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "license_number": {"name": "license_number", "description": "The number of the license granted to the manufacturer by the FDA.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_number": {"name": "product_number", "description": "A product number is assigned to each biological product associated with a BLA (Biologics License Application). For example, if the biological product is available in multiple strengths, there are multiple product numbers.\n", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "center": {"name": "center", "description": "Refers to either FDA's Center for Biologics Evaluation and Research (CBER) or Center for Drug Evaluation and Research (CDER).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "date_of_first_licensure": {"name": "date_of_first_licensure", "description": "The date on which any applicable reference product exclusivity begins to run. FDA has not made a determination of first licensure for each 351(a) biological product included in the Purple Book. The absence of a date of first licensure in the Purple Book does not mean that a biological product on the list is not, or was not, eligible for the periods of exclusivity described in section 351(k)(7) of the PHS Act.\n", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "exclusivity_expiration_date": {"name": "exclusivity_expiration_date", "description": "The date on which all applicable periods of exclusivity expire.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "first_interchangeable_exclusivity_exp_date": {"name": "first_interchangeable_exclusivity_exp_date", "description": "The date a first interchangeable product's period of exclusivity ends. An interchangeable product is a biological product that meets the requirements for a biosimilar product and is approved based on information that is sufficient to show that it can be expected to produce the same clinical result as the reference product in any given patient; and for a biological product that is administered more than once to an individual, there is not a greater safety risk or risk of reduced efficacy from alternating or switching between use of the interchangeable product and its reference product. An interchangeable product may be substituted for the reference product without the intervention of the prescribing health care provider.\n", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ref_product_exclusivity_exp_date": {"name": "ref_product_exclusivity_exp_date", "description": "The date on which the 12-year period of reference product exclusivity expires, including any applicable pediatric extension.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "orphan_exclusivity_exp_date": {"name": "orphan_exclusivity_exp_date", "description": "The latest date on which a period of seven-year period of orphan exclusivity expires, including any applicable pediatric extension.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"sagerx\".\"sagerx_lake\".\"purple_book\"", "created_at": 1715093148.0980844}, "source.sagerx.fda_enforcement.fda_enforcement": {"database": "sagerx", "schema": "sagerx_lake", "name": "fda_enforcement", "resource_type": "source", "package_name": "sagerx", "path": "models/staging/fda_enforcement/_fda_enforcement__sources.yml", "original_file_path": "models/staging/fda_enforcement/_fda_enforcement__sources.yml", "unique_id": "source.sagerx.fda_enforcement.fda_enforcement", "fqn": ["sagerx", "staging", "fda_enforcement", "fda_enforcement", "fda_enforcement"], "source_name": "fda_enforcement", "source_description": "", "loader": "", "identifier": "fda_enforcement", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": {"count": null, "period": null}, "error_after": {"count": null, "period": null}, "filter": null}, "external": null, "description": "", "columns": {}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"sagerx\".\"sagerx_lake\".\"fda_enforcement\"", "created_at": 1715093148.098287}, "source.sagerx.rxnorm_historical.rxnorm_historical": {"database": "sagerx", "schema": "sagerx_lake", "name": "rxnorm_historical", "resource_type": "source", "package_name": "sagerx", "path": "models/staging/rxnorm_historical/_rxnorm_historical__sources.yml", "original_file_path": "models/staging/rxnorm_historical/_rxnorm_historical__sources.yml", "unique_id": "source.sagerx.rxnorm_historical.rxnorm_historical", "fqn": ["sagerx", "staging", "rxnorm_historical", "rxnorm_historical", "rxnorm_historical"], "source_name": "rxnorm_historical", "source_description": "", "loader": "", "identifier": "rxnorm_historical", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": {"count": null, "period": null}, "error_after": {"count": null, "period": null}, "filter": null}, "external": null, "description": "", "columns": {}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"sagerx\".\"sagerx_lake\".\"rxnorm_historical\"", "created_at": 1715093148.0984857}, "source.sagerx.fda_ndc.fda_ndc_product": {"database": "sagerx", "schema": "sagerx_lake", "name": "fda_ndc_product", "resource_type": "source", "package_name": "sagerx", "path": "models/staging/fda_ndc/_fda_ndc__sources.yml", "original_file_path": "models/staging/fda_ndc/_fda_ndc__sources.yml", "unique_id": "source.sagerx.fda_ndc.fda_ndc_product", "fqn": ["sagerx", "staging", "fda_ndc", "fda_ndc", "fda_ndc_product"], "source_name": "fda_ndc", "source_description": "Product listing data submitted for all finished drugs including prescription and over-the-counter drugs, approved and unapproved drugs and repackaged and relabeled drugs.", "loader": "", "identifier": "fda_ndc_product", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": {"count": null, "period": null}, "error_after": {"count": null, "period": null}, "filter": null}, "external": null, "description": "", "columns": {"productid": {"name": "productid", "description": "ProductID is a concatenation of the NDCproduct code and SPL documentID. It is included to help prevent duplicate rows from appearing when joining the product and package files together. It has no regulatory value or significance.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "productndc": {"name": "productndc", "description": "The labeler code and product code segments of the National Drug Code number, separated by a hyphen. Asterisks are no longer used or included within the product code segment to indicate certain configurations of the NDC. www.fda.gov/edrls under Structured Product Labeling Resources.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "producttypename": {"name": "producttypename", "description": "Indicates the type of product, such as Human Prescription Drug or Human OTC Drug. This data element corresponds to the Document Type of the SPL submission for the listing.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "proprietaryname": {"name": "proprietaryname", "description": "Also known as the trade name. It is the name of the product chosen by the labeler.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "proprietarynamesuffix": {"name": "proprietarynamesuffix", "description": "A suffix to the proprietary name, a value here should be appended to the ProprietaryName field to obtain the complete name of the product. This suffix is often used to distinguish characteristics of a product such as extended release (XR) or sleep aid (PM). Although many companies follow certain naming conventions for suffices, there is no recognized standard", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "nonproprietaryname": {"name": "nonproprietaryname", "description": "Sometimes called the generic name, this is usually the active ingredient(s) of the product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "dosageformname": {"name": "dosageformname", "description": "The translation of the DosageForm Code submitted by the firm. The complete list of codes and translations can be found www.fda.gov/edrls under Structured Product Labeling Resources.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "routename": {"name": "routename", "description": "The translation of the Route Code submitted by the firm, indicating route of administration. The complete list of codes and translations can be found at www.fda.gov/edrls under Structured Product Labeling Resources.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "startmarketingdate": {"name": "startmarketingdate", "description": "This is the date that the labeler indicates was the start of its marketing of the drug product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "endmarketingdate": {"name": "endmarketingdate", "description": "This is the date the product will no longer be available on the market. If a product is no longer being manufactured, in most cases, the FDA recommends firms use the expiration date of the last lot produced as the EndMarketingDate, to reflect the potential for drug product to remain available after manufacturing has ceased. Products that are the subject of ongoing manufacturing will not ordinarily have any EndMarketingDate. Products with a value in the EndMarketingDate will be removed from the NDC Directory when the EndMarketingDate is reached.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "marketingcategoryname": {"name": "marketingcategoryname", "description": "Product types are broken down into several potential Marketing Categories, such as NDA/ANDA/BLA, OTC Monograph, or Unapproved Drug. One and only one Marketing Category may be chosen for a product, not all marketing categories are available to all product types. Currently, only final marketed product categories are included. The complete list of codes and translations can be found at www.fda.gov/edrls under Structured Product Labeling Resources.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "applicationnumber": {"name": "applicationnumber", "description": "This corresponds to the NDA, ANDA, or BLA number reported by the labeler for products which have the corresponding Marketing Category designated. If the designated Marketing Category is OTC Monograph Final or OTC Monograph Not Final, then the Application number will be the CFR citation corresponding to the appropriate Monograph (e.g. \u201cpart 341\u201d). For unapproved drugs, this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "labelername": {"name": "labelername", "description": "Name of Company corresponding to the labeler code segment of the ProductNDC.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "substancename": {"name": "substancename", "description": "This is the active ingredient list. Each ingredient name is the preferred term of the UNII code submitted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active_numerator_strength": {"name": "active_numerator_strength", "description": "These are the strength values (to be used with units below) of each active ingredient, listed in the same order as the SubstanceName field above.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active_ingred_unit": {"name": "active_ingred_unit", "description": "These are the units to be used with the strength values above, listed in the same order as the SubstanceName and SubstanceNumber (ActiveNumeratorStrength).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "pharm_classes": {"name": "pharm_classes", "description": "These are the reported pharmacological class categories corresponding to the SubstanceNames listed above.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "deaschedule": {"name": "deaschedule", "description": "This is the assigned DEA Schedule number as reported by the labeler. Values are CI, CII, CIII, CIV, and CV.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_ndc_exclude_flag": {"name": "product_ndc_exclude_flag", "description": "Values = Y, N, E, or I. This indicates whether the product has been removed/excluded from the NDC Directory for failure to respond to FDA's requests for correction to deficient or non-compliant submissions (Y), or because the listing certification is expired (E), or because the listing data was inactivated by FDA (I). The PRODUCT.XLS and PRODUCT.TXT files only contain listing records where NDC_EXCLUDE_FLAG=N. The PRODUCTS_EXCLUDED.XLS and PRODUCTS_EXCLUDED.TXT file contains all listing records with an NDC_EXCLUDE_FLAG of Y, E, and I.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "listing_record_certified_through": {"name": "listing_record_certified_through", "description": "This is the date when the listing record will expire if not updated or certified by the firm.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"sagerx\".\"sagerx_lake\".\"fda_ndc_product\"", "created_at": 1715093148.098737}, "source.sagerx.fda_ndc.fda_ndc_package": {"database": "sagerx", "schema": "sagerx_lake", "name": "fda_ndc_package", "resource_type": "source", "package_name": "sagerx", "path": "models/staging/fda_ndc/_fda_ndc__sources.yml", "original_file_path": "models/staging/fda_ndc/_fda_ndc__sources.yml", "unique_id": "source.sagerx.fda_ndc.fda_ndc_package", "fqn": ["sagerx", "staging", "fda_ndc", "fda_ndc", "fda_ndc_package"], "source_name": "fda_ndc", "source_description": "Product listing data submitted for all finished drugs including prescription and over-the-counter drugs, approved and unapproved drugs and repackaged and relabeled drugs.", "loader": "", "identifier": "fda_ndc_package", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": {"count": null, "period": null}, "error_after": {"count": null, "period": null}, "filter": null}, "external": null, "description": "", "columns": {"productid": {"name": "productid", "description": "ProductID is a concatenation of the NDCproduct code and SPL documentID. It is included to help prevent duplicate rows from appearing when joining the product and package files together. It has no regulatory value or significance.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "productndc": {"name": "productndc", "description": "The labeler code and product code segments of the National Drug Code number, separated by a hyphen. Asterisks are no longer used or included within the product code segment to indicate certain configurations of the NDC. www.fda.gov/edrls under Structured Product Labeling Resources.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ndcpackagecode": {"name": "ndcpackagecode", "description": "The labeler code, product code, and package code segments of the National Drug Code number, separated by hyphens. Asterisks are no longer used or included within the product and package code segments to indicate certain configurations of the NDC.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "packagedescription": {"name": "packagedescription", "description": "A description of the size and type of packaging in sentence form. Multilevel packages will have the descriptions concatenated together. For example: 4 BOTTLES in 1 CARTON/100 TABLETS in 1 BOTTLE.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "startmarketingdate": {"name": "startmarketingdate", "description": "This is the date that the labeler indicates was the start of its marketing of the drug product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "endmarketingdate": {"name": "endmarketingdate", "description": "This is the date the product will no longer be available on the market. If a product is no longer being manufactured, in most cases, the FDA recommends firms use the expiration date of the last lot produced as the EndMarketingDate, to reflect the potential for drug product to remain available after manufacturing has ceased. Products that are the subject of ongoing manufacturing will not ordinarily have any EndMarketingDate. Products with a value in the EndMarketingDate will be removed from the NDC Directory when the EndMarketingDate is reached.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ndc_exclude_flag": {"name": "ndc_exclude_flag", "description": "Values = Y, N, E, or I. This indicates whether the PACKAGE has been removed/excluded from the NDC Directory for failure to respond to FDAs requests for correction to deficient or non-compliant submissions (Y), or because the listing certification is expired (E), or because the listing data was inactivated by FDA (I). The PACKAGE.XLS and PACKAGE.TXT files only contain listing records where NDC_EXCLUDE_FLAG=N. The PACKAGES_EXCLUDED.XLS and PACKAGES_EXCLUDED.TXT file contains all listing records with an NDC_EXCLUDE_FLAG of Y, E, and I.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sample_package": {"name": "sample_package", "description": "This indicates if the package is to be distributed as a sample package. Values = Y or N.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"sagerx\".\"sagerx_lake\".\"fda_ndc_package\"", "created_at": 1715093148.0989609}, "source.sagerx.orange_book.orange_book_exlusivity": {"database": "sagerx", "schema": "sagerx_lake", "name": "orange_book_exlusivity", "resource_type": "source", "package_name": "sagerx", "path": "models/staging/orange_book/_orange_book__sources.yml", "original_file_path": "models/staging/orange_book/_orange_book__sources.yml", "unique_id": "source.sagerx.orange_book.orange_book_exlusivity", "fqn": ["sagerx", "staging", "orange_book", "orange_book", "orange_book_exlusivity"], "source_name": "orange_book", "source_description": "The publication Approved Drug Products with Therapeutic Equivalence Evaluations (commonly known as the Orange Book) identifies drug products approved on the basis of safety and effectiveness by the Food and Drug Administration (FDA) under the Federal Food, Drug, and Cosmetic Act (the Act) and related patent and exclusivity information. For more information on the Orange Book including its history, see the Orange Book Preface.\n", "loader": "", "identifier": "orange_book_exlusivity", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": {"count": null, "period": null}, "error_after": {"count": null, "period": null}, "filter": null}, "external": null, "description": "Related exclusivity information of drug products approved on the basis of safety and effectiveness by the Food and Drug Administration (FDA) under the Federal Food, Drug, and Cosmetic Act (the Act).", "columns": {"appl_type": {"name": "appl_type", "description": "The type of new drug application approval. New Drug Applications (NDA or innovator) are 'N'. Abbreviated New Drug Applications (ANDA or generic) are 'A'.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "appl_no": {"name": "appl_no", "description": "The FDA assigned New Drug Application (NDA) number to the application. Format is nnnnnn.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_no": {"name": "product_no", "description": "The FDA assigned number to identify the application products. Each strength is a separate product. May repeat for multiple part products. Format is nnn.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "exclusivity_code": {"name": "exclusivity_code", "description": "Code to designate exclusivity granted by the FDA to a drug product. Format is nnnnnnnnnn.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "exclusivity_date": {"name": "exclusivity_date", "description": "The date the exclusivity expires. Format is MMM DD, YYYY.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"sagerx\".\"sagerx_lake\".\"orange_book_exlusivity\"", "created_at": 1715093148.0991788}, "source.sagerx.orange_book.orange_book_patent": {"database": "sagerx", "schema": "sagerx_lake", "name": "orange_book_patent", "resource_type": "source", "package_name": "sagerx", "path": "models/staging/orange_book/_orange_book__sources.yml", "original_file_path": "models/staging/orange_book/_orange_book__sources.yml", "unique_id": "source.sagerx.orange_book.orange_book_patent", "fqn": ["sagerx", "staging", "orange_book", "orange_book", "orange_book_patent"], "source_name": "orange_book", "source_description": "The publication Approved Drug Products with Therapeutic Equivalence Evaluations (commonly known as the Orange Book) identifies drug products approved on the basis of safety and effectiveness by the Food and Drug Administration (FDA) under the Federal Food, Drug, and Cosmetic Act (the Act) and related patent and exclusivity information. For more information on the Orange Book including its history, see the Orange Book Preface.\n", "loader": "", "identifier": "orange_book_patent", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": {"count": null, "period": null}, "error_after": {"count": null, "period": null}, "filter": null}, "external": null, "description": "Related patent information of drug products approved on the basis of safety and effectiveness by the Food and Drug Administration (FDA) under the Federal Food, Drug, and Cosmetic Act (the Act).", "columns": {"appl_type": {"name": "appl_type", "description": "The type of new drug application approval. New Drug Applications (NDA or innovator) are 'N'. Abbreviated New Drug Applications (ANDA or generic) are 'A'.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "appl_no": {"name": "appl_no", "description": "The FDA assigned number to the New Drug Application (NDA). Format is nnnnnn.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_no": {"name": "product_no", "description": "The FDA assigned number to identify the application products. Each strength is a separate product. May repeat for multiple part products. Format is nnn.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "patent_no": {"name": "patent_no", "description": "Patent numbers as submitted by the applicant holder for patents covered by the statutory provisions. May repeat for multiple applications and multiple products. Includes pediatric exclusivity granted by the agency. Format is nnnnnnnnnnn.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "patent_expire_date_text": {"name": "patent_expire_date_text", "description": "The date the patent expires as submitted by the applicant holder including applicable extensions. The format is MMM DD, YYYY.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "drug_substance_flag": {"name": "drug_substance_flag", "description": "Patents submitted on FDA Form 3542 and listed after August 18, 2003 may have a drug substance flag indicating the sponsor submitted the patent as claiming the drug substance. Format is Y or null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "drug_product_flag": {"name": "drug_product_flag", "description": "Patents submitted on FDA Form 3542 and listed after August 18, 2003 may have a drug product flag indicating the sponsor submitted the patent as claiming the drug product. Format is Y or null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "patent_use_code": {"name": "patent_use_code", "description": "Code to designate a use patent that covers the approved indication or use of a drug product. May repeat for multiple applications, multiple products and multiple patents. Format is nnnnnnnnnn.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "delist_flag": {"name": "delist_flag", "description": "Sponsor has requested patent be delisted. This patent has remained listed because, under Section 505(j)(5)(D)(i) of the Act, a first applicant may retain eligibility for 180-day exclusivity based on a paragraph IV certification to this patent for a certain period. Applicants under Section 505(b)(2) are not required to certify to patents where this flag is set to Y. Format is Y or null.\n", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "submission_date": {"name": "submission_date", "description": "The date on which the FDA receives patent information from the new drug application (NDA) holder. Format is Mmm d, yyyy.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"sagerx\".\"sagerx_lake\".\"orange_book_patent\"", "created_at": 1715093148.099407}, "source.sagerx.orange_book.orange_book_products": {"database": "sagerx", "schema": "sagerx_lake", "name": "orange_book_products", "resource_type": "source", "package_name": "sagerx", "path": "models/staging/orange_book/_orange_book__sources.yml", "original_file_path": "models/staging/orange_book/_orange_book__sources.yml", "unique_id": "source.sagerx.orange_book.orange_book_products", "fqn": ["sagerx", "staging", "orange_book", "orange_book", "orange_book_products"], "source_name": "orange_book", "source_description": "The publication Approved Drug Products with Therapeutic Equivalence Evaluations (commonly known as the Orange Book) identifies drug products approved on the basis of safety and effectiveness by the Food and Drug Administration (FDA) under the Federal Food, Drug, and Cosmetic Act (the Act) and related patent and exclusivity information. For more information on the Orange Book including its history, see the Orange Book Preface.\n", "loader": "", "identifier": "orange_book_products", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": {"count": null, "period": null}, "error_after": {"count": null, "period": null}, "filter": null}, "external": null, "description": "Drug products approved on the basis of safety and effectiveness by the Food and Drug Administration (FDA) under the Federal Food, Drug, and Cosmetic Act (the Act).", "columns": {"ingredient": {"name": "ingredient", "description": "The active ingredient(s) for the product. Multiple ingredients are in alphabetical order, separated by a semicolon.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "df_route": {"name": "df_route", "description": "The product dosage form and route separated by a semi-colon. The format is not all uppercase.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "trade_name": {"name": "trade_name", "description": "The trade name of the product as shown on the labeling.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "applicant": {"name": "applicant", "description": "The firm name holding legal responsibility for the new drug application. The firm name is condensed to a maximum twenty character unique string.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "strength": {"name": "strength", "description": "The potency of the active ingredient. May repeat for multiple part products.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "appl_type": {"name": "appl_type", "description": "The type of new drug application approval. New Drug Applications (NDA or innovator) are \u201dN\u201d. Abbreviated New Drug Applications (ANDA or generic) are \u201cA\u201d.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "appl_no": {"name": "appl_no", "description": "The FDA assigned number to the application. Format is nnnnnn.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_no": {"name": "product_no", "description": "The FDA assigned number to identify the application products. Each strength is a separate product. May repeat for multiple part products. Format is nnn.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "te_code": {"name": "te_code", "description": "The Therapeutic Equivalence (TE) Code indicates the therapeutic equivalence rating of generic to innovator Rx products.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "approval_date": {"name": "approval_date", "description": "The date the product was approved as stated in the FDA approval letter to the applicant. The format is Mmm dd, yyyy. Products approved prior to the January 1, 1982 contain the phrase: 'Approved prior to Jan 1, 1982'.\n", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "rld": {"name": "rld", "description": "The Reference Listed Drug (RLD) is a drug product approved under section 505(c) of the FD&C Act for which FDA has made a finding of safety and effectiveness. In the electronic Orange Book, an RLD is identified by 'RLD' in the RLD column.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "rs": {"name": "rs", "description": "A 'reference standard' is the drug product selected by FDA that an applicant seeking approval of an ANDA must use in conducting an in vivo bioequivalence study required for approval of an ANDA. In the electronic Orange Book, a reference standard is identified by 'RS' in the RS column.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "type": {"name": "type", "description": "The group or category of approved drugs. Format is RX, OTC, DISCN.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "applicant_full_name": {"name": "applicant_full_name", "description": "The full name of the firm holding legal responsibility for the new drug application.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"sagerx\".\"sagerx_lake\".\"orange_book_products\"", "created_at": 1715093148.0996614}, "source.sagerx.fda_unfinished.fda_unfinished_package": {"database": "sagerx", "schema": "sagerx_lake", "name": "fda_unfinished_package", "resource_type": "source", "package_name": "sagerx", "path": "models/staging/fda_unfinished/_fda_unfinished__sources.yml", "original_file_path": "models/staging/fda_unfinished/_fda_unfinished__sources.yml", "unique_id": "source.sagerx.fda_unfinished.fda_unfinished_package", "fqn": ["sagerx", "staging", "fda_unfinished", "fda_unfinished", "fda_unfinished_package"], "source_name": "fda_unfinished", "source_description": "Product listing data submitted for all unfinished drugs, including active pharmaceutical ingredients, drugs for further processing and bulk drug substances for compounding.", "loader": "", "identifier": "fda_unfinished_package", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": {"count": null, "period": null}, "error_after": {"count": null, "period": null}, "filter": null}, "external": null, "description": "Product listing data submitted for all unfinished drugs, including active pharmaceutical ingredients, drugs for further processing and bulk drug substances for compounding.", "columns": {"productid": {"name": "productid", "description": "ProductID is a concatenation of the NDCproduct code and SPL documentID. It is included to help prevent duplicate rows from appearing when joining the product and package files together. It has no regulatory value or significance.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "productndc": {"name": "productndc", "description": "The labeler code and product code segments of the National Drug Code number, separated by a hyphen. Asterisks are no longer used or included within the product code segment to indicate certain configurations of the NDC.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ndcpackagecode": {"name": "ndcpackagecode", "description": "The labeler code, product code, and package code segments of the National Drug Code number, separated by hyphens. Asterisks are no longer used or included within the product and package code segments to indicate certain configurations of the NDC.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "packagedescription": {"name": "packagedescription", "description": "A description of the size and type of packaging in sentence form. Multilevel packages will have the descriptions concatenated together. For example: 4 BOTTLES in 1 CARTON/100 TABLETS in 1 BOTTLE.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "startmarketingdate": {"name": "startmarketingdate", "description": "This is the date that the labeler indicates was the start of its marketing of the drug product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "endmarketingdate": {"name": "endmarketingdate", "description": "This is the date the product will no longer be available on the market. If a product is no longer being manufactured, in most cases, the FDA recommends firms use the expiration date of the last lot produced as the EndMarketingDate, to reflect the potential for drug product to remain available after manufacturing has ceased. Products that are the subject of ongoing manufacturing will not ordinarily have any EndMarketingDate. Products with a value in the EndMarketingDate will be removed from the NDC Directory when the EndMarketingDate is reached.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"sagerx\".\"sagerx_lake\".\"fda_unfinished_package\"", "created_at": 1715093148.099869}, "source.sagerx.fda_unfinished.fda_unfinished_product": {"database": "sagerx", "schema": "sagerx_lake", "name": "fda_unfinished_product", "resource_type": "source", "package_name": "sagerx", "path": "models/staging/fda_unfinished/_fda_unfinished__sources.yml", "original_file_path": "models/staging/fda_unfinished/_fda_unfinished__sources.yml", "unique_id": "source.sagerx.fda_unfinished.fda_unfinished_product", "fqn": ["sagerx", "staging", "fda_unfinished", "fda_unfinished", "fda_unfinished_product"], "source_name": "fda_unfinished", "source_description": "Product listing data submitted for all unfinished drugs, including active pharmaceutical ingredients, drugs for further processing and bulk drug substances for compounding.", "loader": "", "identifier": "fda_unfinished_product", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": {"count": null, "period": null}, "error_after": {"count": null, "period": null}, "filter": null}, "external": null, "description": "Products that have been removed/excluded from the NDC Directory for failure to respond to the FDA", "columns": {"productid": {"name": "productid", "description": "ProductID is a concatenation of the NDCproduct code and SPL documentID. It is included to help prevent duplicate rows from appearing when joining the product and package files together. It has no regulatory value or significance.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "productndc": {"name": "productndc", "description": "The labeler code and product code segments of the National Drug Code number, separated by a hyphen. Asterisks are no longer used or included within the product code segment to indicate certain configurations of the NDC. www.fda.gov/edrls under Structured Product Labeling Resources.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "producttypename": {"name": "producttypename", "description": "Indicates the type of product, such as Human Prescription Drug or Human OTC Drug. This data element corresponds to the \u201cDocument Type\u201d of the SPL submission for the listing. The complete list of codes and translations can be found at.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "nonproprietaryname": {"name": "nonproprietaryname", "description": "Sometimes called the generic name, this is usually the active ingredient(s) of the product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "dosageformname": {"name": "dosageformname", "description": "The translation of the DosageForm Code submitted by the firm. The complete list of codes and translations can be found www.fda.gov/edrls under Structured Product Labeling Resources.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "startmarketingdate": {"name": "startmarketingdate", "description": "This is the date that the labeler indicates was the start of its marketing of the drug product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "endmarketingdate": {"name": "endmarketingdate", "description": "This is the date the product will no longer be available on the market. If a product is no longer being manufactured, in most cases, the FDA recommends firms use the expiration date of the last lot produced as the EndMarketingDate, to reflect the potential for drug product to remain available after manufacturing has ceased. Products that are the subject of ongoing manufacturing will not ordinarily have any EndMarketingDate. Products with a value in the EndMarketingDate will be removed from the NDC Directory when the EndMarketingDate is reached.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "marketingcategoryname": {"name": "marketingcategoryname", "description": "Product types are broken down into several potential Marketing Categories, such as NDA/ANDA/BLA, OTC Monograph, or Unapproved Drug. One and only one Marketing Category may be chosen for a product, not all marketing categories are available to all product types. Currently, only final marketed product categories are included. The complete list of codes and translations can be found at www.fda.gov/edrls under Structured Product Labeling Resources.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "labelername": {"name": "labelername", "description": "Name of Company corresponding to the labeler code segment of the ProductNDC.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "substancename": {"name": "substancename", "description": "This is the active ingredient list. Each ingredient name is the preferred term of the UNII code submitted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active_numerator_strength": {"name": "active_numerator_strength", "description": "These are the strength values (to be used with units below) of each active ingredient, listed in the same order as the SubstanceName field above.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active_ingred_unit": {"name": "active_ingred_unit", "description": "These are the units to be used with the strength values above, listed in the same order as the SubstanceName and SubstanceNumber (ActiveNumeratorStrength).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "deaschedule": {"name": "deaschedule", "description": "This is the assigned DEA Schedule number as reported by the labeler. Values are CI, CII, CIII, CIV, and CV.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "listing_record_certified_through": {"name": "listing_record_certified_through", "description": "This is the date when the listing record will expire if not updated or certified by the firm.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"sagerx\".\"sagerx_lake\".\"fda_unfinished_product\"", "created_at": 1715093148.1001666}, "source.sagerx.rxterms.rxterms_ingredients": {"database": "sagerx", "schema": "sagerx_lake", "name": "rxterms_ingredients", "resource_type": "source", "package_name": "sagerx", "path": "models/staging/rxterms/_rxterms__sources.yml", "original_file_path": "models/staging/rxterms/_rxterms__sources.yml", "unique_id": "source.sagerx.rxterms.rxterms_ingredients", "fqn": ["sagerx", "staging", "rxterms", "rxterms", "rxterms_ingredients"], "source_name": "rxterms", "source_description": "RxTerms is a drug interface terminology derived from RxNorm for prescription writing or medication history recording (e.g. in e-prescribing systems, PHRs).", "loader": "", "identifier": "rxterms_ingredients", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": {"count": null, "period": null}, "error_after": {"count": null, "period": null}, "filter": null}, "external": null, "description": "Lists the ingredients and their RXCUIs for every drug in RxTerms that is not suppressible or retired.", "columns": {"rxcui": {"name": "rxcui", "description": "RxNorm unique identifier for the clinical drug.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ingredient": {"name": "ingredient", "description": "Name of ingredient.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ing_rxcui": {"name": "ing_rxcui", "description": "RXCUI of ingredient.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"sagerx\".\"sagerx_lake\".\"rxterms_ingredients\"", "created_at": 1715093148.1003695}, "source.sagerx.rxterms.rxterms": {"database": "sagerx", "schema": "sagerx_lake", "name": "rxterms", "resource_type": "source", "package_name": "sagerx", "path": "models/staging/rxterms/_rxterms__sources.yml", "original_file_path": "models/staging/rxterms/_rxterms__sources.yml", "unique_id": "source.sagerx.rxterms.rxterms", "fqn": ["sagerx", "staging", "rxterms", "rxterms", "rxterms"], "source_name": "rxterms", "source_description": "RxTerms is a drug interface terminology derived from RxNorm for prescription writing or medication history recording (e.g. in e-prescribing systems, PHRs).", "loader": "", "identifier": "rxterms", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": {"count": null, "period": null}, "error_after": {"count": null, "period": null}, "filter": null}, "external": null, "description": "Main RxTerms data that retains the broad coverage of RxNorm for U.S. prescribable drugs.", "columns": {"rxcui": {"name": "rxcui", "description": "The RxNorm unique identifier for the clinical drug, which can be one of the following term types:\n - Semantic Clinical Drug (SCD) e.g. azithromycin 250 MG Oral Capsule.\n - Semantic Branded Drug (SBD) e.g. azithromycin 250 MG Oral Capsule [Zithromax].\n - Generic Pack (GPCK) e.g. {6 (azithromycin 250 MG Oral Tablet) } Pack\n - Branded Pack (BPCK) e.g. {6 (azithromycin 250 MG Oral Tablet [Zithromax]) } Pack [Z-PAKS].\n", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "generic_rxcui": {"name": "generic_rxcui", "description": "The corresponding generic clinical drug for SBD and BPCK (null for SCD).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "tty": {"name": "tty", "description": "Term type in RxNorm.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "full_name": {"name": "full_name", "description": "The full RxNorm name of the clinical drug.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "rxn_dose_form": {"name": "rxn_dose_form", "description": "Dose form and intended route information from RxNorm.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "full_generic_name": {"name": "full_generic_name", "description": "The generic part of the full RxNorm name.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "brand_name": {"name": "brand_name", "description": "The brand name part of the full RxNorm name (null for SCD). Brand names are in all uppercase to distinguish them from generic names.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "display_name": {"name": "display_name", "description": "Drug name (either generic or brand name) and intended route e.g. INDERAL (Oral-pill).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "route": {"name": "route", "description": "Intended route derived from RXN_DOSE_FORM.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "new_dose_form": {"name": "new_dose_form", "description": "Dose form derived from RXN_DOSE_FORM.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "strength": {"name": "strength", "description": "Strength information parsed from the RxNorm full name.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "suppress_for": {"name": "suppress_for", "description": "To flag drug names deemed not likely to be useful for data entry. For example, long generic drug names with multiple ingredients (e.g. Bacitracin/Hydrocortisone/Neomycin/Polymyxin B) are suppressed because they are almost always prescribed by their brand names (e.g. CORTISPORIN OINTMENT). Any non-null value means that a row should be suppressed.\n", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "display_name_synonym": {"name": "display_name_synonym", "description": "Commonly used synonyms or abbreviations for the drug e.g. MOM for Milk of Magnesia.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "is_retired": {"name": "is_retired", "description": "To flag records that existed in earlier versions but not in the latest version.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sxdg_rxcui": {"name": "sxdg_rxcui", "description": "The RxNorm unique identifier for the entity represented by the DISPLAY_NAME (drug + intended route). The corresponding TTY (term type) in RxNorm is either SCDG (Semantic Clinical Doseform Group) or SBDG (Semantic Branded Doseform Group), as represented in the field SXDG_TTY.\n", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sxdg_tty": {"name": "sxdg_tty", "description": "The RxNorm TTY of the semantic doseform group.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sxdg_name": {"name": "sxdg_name", "description": "The RxNorm name of the semantic doseform group.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "psn": {"name": "psn", "description": "The RxNorm prescribable name.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"sagerx\".\"sagerx_lake\".\"rxterms\"", "created_at": 1715093148.100599}}, "macros": {"macro.sagerx.generate_schema_name": {"name": "generate_schema_name", "resource_type": "macro", "package_name": "sagerx", "path": "macros/get_custom_schema.sql", "original_file_path": "macros/get_custom_schema.sql", "unique_id": "macro.sagerx.generate_schema_name", "macro_sql": "{% macro generate_schema_name(custom_schema_name, node) -%}\n {{ generate_schema_name_for_env(custom_schema_name, node) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.generate_schema_name_for_env"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0325415, "supported_languages": null}, "macro.dbt_postgres.postgres_get_relations": {"name": "postgres_get_relations", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/relations.sql", "original_file_path": "macros/relations.sql", "unique_id": "macro.dbt_postgres.postgres_get_relations", "macro_sql": "{% macro postgres_get_relations () -%}\n\n {#\n -- in pg_depend, objid is the dependent, refobjid is the referenced object\n -- > a pg_depend entry indicates that the referenced object cannot be\n -- > dropped without also dropping the dependent object.\n #}\n\n {%- call statement('relations', fetch_result=True) -%}\n with relation as (\n select\n pg_rewrite.ev_class as class,\n pg_rewrite.oid as id\n from pg_rewrite\n ),\n class as (\n select\n oid as id,\n relname as name,\n relnamespace as schema,\n relkind as kind\n from pg_class\n ),\n dependency as (\n select distinct\n pg_depend.objid as id,\n pg_depend.refobjid as ref\n from pg_depend\n ),\n schema as (\n select\n pg_namespace.oid as id,\n pg_namespace.nspname as name\n from pg_namespace\n where nspname != 'information_schema' and nspname not like 'pg\\_%'\n ),\n referenced as (\n select\n relation.id AS id,\n referenced_class.name ,\n referenced_class.schema ,\n referenced_class.kind\n from relation\n join class as referenced_class on relation.class=referenced_class.id\n where referenced_class.kind in ('r', 'v')\n ),\n relationships as (\n select\n referenced.name as referenced_name,\n referenced.schema as referenced_schema_id,\n dependent_class.name as dependent_name,\n dependent_class.schema as dependent_schema_id,\n referenced.kind as kind\n from referenced\n join dependency on referenced.id=dependency.id\n join class as dependent_class on dependency.ref=dependent_class.id\n where\n (referenced.name != dependent_class.name or\n referenced.schema != dependent_class.schema)\n )\n\n select\n referenced_schema.name as referenced_schema,\n relationships.referenced_name as referenced_name,\n dependent_schema.name as dependent_schema,\n relationships.dependent_name as dependent_name\n from relationships\n join schema as dependent_schema on relationships.dependent_schema_id=dependent_schema.id\n join schema as referenced_schema on relationships.referenced_schema_id=referenced_schema.id\n group by referenced_schema, referenced_name, dependent_schema, dependent_name\n order by referenced_schema, referenced_name, dependent_schema, dependent_name;\n\n {%- endcall -%}\n\n {{ return(load_result('relations').table) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0342405, "supported_languages": null}, "macro.dbt_postgres.postgres__get_catalog": {"name": "postgres__get_catalog", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/catalog.sql", "original_file_path": "macros/catalog.sql", "unique_id": "macro.dbt_postgres.postgres__get_catalog", "macro_sql": "{% macro postgres__get_catalog(information_schema, schemas) -%}\n\n {%- call statement('catalog', fetch_result=True) -%}\n {#\n If the user has multiple databases set and the first one is wrong, this will fail.\n But we won't fail in the case where there are multiple quoting-difference-only dbs, which is better.\n #}\n {% set database = information_schema.database %}\n {{ adapter.verify_database(database) }}\n\n select\n '{{ database }}' as table_database,\n sch.nspname as table_schema,\n tbl.relname as table_name,\n case tbl.relkind\n when 'v' then 'VIEW'\n else 'BASE TABLE'\n end as table_type,\n tbl_desc.description as table_comment,\n col.attname as column_name,\n col.attnum as column_index,\n pg_catalog.format_type(col.atttypid, col.atttypmod) as column_type,\n col_desc.description as column_comment,\n pg_get_userbyid(tbl.relowner) as table_owner\n\n from pg_catalog.pg_namespace sch\n join pg_catalog.pg_class tbl on tbl.relnamespace = sch.oid\n join pg_catalog.pg_attribute col on col.attrelid = tbl.oid\n left outer join pg_catalog.pg_description tbl_desc on (tbl_desc.objoid = tbl.oid and tbl_desc.objsubid = 0)\n left outer join pg_catalog.pg_description col_desc on (col_desc.objoid = tbl.oid and col_desc.objsubid = col.attnum)\n\n where (\n {%- for schema in schemas -%}\n upper(sch.nspname) = upper('{{ schema }}'){%- if not loop.last %} or {% endif -%}\n {%- endfor -%}\n )\n and not pg_is_other_temp_schema(sch.oid) -- not a temporary schema belonging to another session\n and tbl.relpersistence in ('p', 'u') -- [p]ermanent table or [u]nlogged table. Exclude [t]emporary tables\n and tbl.relkind in ('r', 'v', 'f', 'p') -- o[r]dinary table, [v]iew, [f]oreign table, [p]artitioned table. Other values are [i]ndex, [S]equence, [c]omposite type, [t]OAST table, [m]aterialized view\n and col.attnum > 0 -- negative numbers are used for system columns such as oid\n and not col.attisdropped -- column as not been dropped\n\n order by\n sch.nspname,\n tbl.relname,\n col.attnum\n\n {%- endcall -%}\n\n {{ return(load_result('catalog').table) }}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.036006, "supported_languages": null}, "macro.dbt_postgres.postgres__create_table_as": {"name": "postgres__create_table_as", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__create_table_as", "macro_sql": "{% macro postgres__create_table_as(temporary, relation, sql) -%}\n {%- set unlogged = config.get('unlogged', default=false) -%}\n {%- set sql_header = config.get('sql_header', none) -%}\n\n {{ sql_header if sql_header is not none }}\n\n create {% if temporary -%}\n temporary\n {%- elif unlogged -%}\n unlogged\n {%- endif %} table {{ relation }}\n {% set contract_config = config.get('contract') %}\n {% if contract_config.enforced %}\n {{ get_assert_columns_equivalent(sql) }}\n {{ get_table_columns_and_constraints() }} ;\n insert into {{ relation }} {{ get_column_names() }}\n {%- set sql = get_select_subquery(sql) %}\n {% else %}\n as\n {% endif %}\n (\n {{ sql }}\n );\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.get_assert_columns_equivalent", "macro.dbt.get_table_columns_and_constraints", "macro.dbt_postgres.get_column_names", "macro.dbt.get_select_subquery"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.045621, "supported_languages": null}, "macro.dbt_postgres.postgres__get_create_index_sql": {"name": "postgres__get_create_index_sql", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__get_create_index_sql", "macro_sql": "{% macro postgres__get_create_index_sql(relation, index_dict) -%}\n {%- set index_config = adapter.parse_index(index_dict) -%}\n {%- set comma_separated_columns = \", \".join(index_config.columns) -%}\n {%- set index_name = index_config.render(relation) -%}\n\n create {% if index_config.unique -%}\n unique\n {%- endif %} index if not exists\n \"{{ index_name }}\"\n on {{ relation }} {% if index_config.type -%}\n using {{ index_config.type }}\n {%- endif %}\n ({{ comma_separated_columns }});\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.046424, "supported_languages": null}, "macro.dbt_postgres.postgres__create_schema": {"name": "postgres__create_schema", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__create_schema", "macro_sql": "{% macro postgres__create_schema(relation) -%}\n {% if relation.database -%}\n {{ adapter.verify_database(relation.database) }}\n {%- endif -%}\n {%- call statement('create_schema') -%}\n create schema if not exists {{ relation.without_identifier().include(database=False) }}\n {%- endcall -%}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0469394, "supported_languages": null}, "macro.dbt_postgres.postgres__drop_schema": {"name": "postgres__drop_schema", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__drop_schema", "macro_sql": "{% macro postgres__drop_schema(relation) -%}\n {% if relation.database -%}\n {{ adapter.verify_database(relation.database) }}\n {%- endif -%}\n {%- call statement('drop_schema') -%}\n drop schema if exists {{ relation.without_identifier().include(database=False) }} cascade\n {%- endcall -%}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0474606, "supported_languages": null}, "macro.dbt_postgres.postgres__get_columns_in_relation": {"name": "postgres__get_columns_in_relation", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__get_columns_in_relation", "macro_sql": "{% macro postgres__get_columns_in_relation(relation) -%}\n {% call statement('get_columns_in_relation', fetch_result=True) %}\n select\n column_name,\n data_type,\n character_maximum_length,\n numeric_precision,\n numeric_scale\n\n from {{ relation.information_schema('columns') }}\n where table_name = '{{ relation.identifier }}'\n {% if relation.schema %}\n and table_schema = '{{ relation.schema }}'\n {% endif %}\n order by ordinal_position\n\n {% endcall %}\n {% set table = load_result('get_columns_in_relation').table %}\n {{ return(sql_convert_columns_in_relation(table)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement", "macro.dbt.sql_convert_columns_in_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.048212, "supported_languages": null}, "macro.dbt_postgres.postgres__list_relations_without_caching": {"name": "postgres__list_relations_without_caching", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__list_relations_without_caching", "macro_sql": "{% macro postgres__list_relations_without_caching(schema_relation) %}\n {% call statement('list_relations_without_caching', fetch_result=True) -%}\n select\n '{{ schema_relation.database }}' as database,\n tablename as name,\n schemaname as schema,\n 'table' as type\n from pg_tables\n where schemaname ilike '{{ schema_relation.schema }}'\n union all\n select\n '{{ schema_relation.database }}' as database,\n viewname as name,\n schemaname as schema,\n 'view' as type\n from pg_views\n where schemaname ilike '{{ schema_relation.schema }}'\n {% endcall %}\n {{ return(load_result('list_relations_without_caching').table) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.04879, "supported_languages": null}, "macro.dbt_postgres.postgres__information_schema_name": {"name": "postgres__information_schema_name", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__information_schema_name", "macro_sql": "{% macro postgres__information_schema_name(database) -%}\n {% if database_name -%}\n {{ adapter.verify_database(database_name) }}\n {%- endif -%}\n information_schema\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0490675, "supported_languages": null}, "macro.dbt_postgres.postgres__list_schemas": {"name": "postgres__list_schemas", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__list_schemas", "macro_sql": "{% macro postgres__list_schemas(database) %}\n {% if database -%}\n {{ adapter.verify_database(database) }}\n {%- endif -%}\n {% call statement('list_schemas', fetch_result=True, auto_begin=False) %}\n select distinct nspname from pg_namespace\n {% endcall %}\n {{ return(load_result('list_schemas').table) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0495923, "supported_languages": null}, "macro.dbt_postgres.postgres__check_schema_exists": {"name": "postgres__check_schema_exists", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__check_schema_exists", "macro_sql": "{% macro postgres__check_schema_exists(information_schema, schema) -%}\n {% if information_schema.database -%}\n {{ adapter.verify_database(information_schema.database) }}\n {%- endif -%}\n {% call statement('check_schema_exists', fetch_result=True, auto_begin=False) %}\n select count(*) from pg_namespace where nspname = '{{ schema }}'\n {% endcall %}\n {{ return(load_result('check_schema_exists').table) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0501814, "supported_languages": null}, "macro.dbt_postgres.postgres__make_relation_with_suffix": {"name": "postgres__make_relation_with_suffix", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__make_relation_with_suffix", "macro_sql": "{% macro postgres__make_relation_with_suffix(base_relation, suffix, dstring) %}\n {% if dstring %}\n {% set dt = modules.datetime.datetime.now() %}\n {% set dtstring = dt.strftime(\"%H%M%S%f\") %}\n {% set suffix = suffix ~ dtstring %}\n {% endif %}\n {% set suffix_length = suffix|length %}\n {% set relation_max_name_length = base_relation.relation_max_name_length() %}\n {% if suffix_length > relation_max_name_length %}\n {% do exceptions.raise_compiler_error('Relation suffix is too long (' ~ suffix_length ~ ' characters). Maximum length is ' ~ relation_max_name_length ~ ' characters.') %}\n {% endif %}\n {% set identifier = base_relation.identifier[:relation_max_name_length - suffix_length] ~ suffix %}\n\n {{ return(base_relation.incorporate(path={\"identifier\": identifier })) }}\n\n {% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0516803, "supported_languages": null}, "macro.dbt_postgres.postgres__make_intermediate_relation": {"name": "postgres__make_intermediate_relation", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__make_intermediate_relation", "macro_sql": "{% macro postgres__make_intermediate_relation(base_relation, suffix) %}\n {{ return(postgres__make_relation_with_suffix(base_relation, suffix, dstring=False)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__make_relation_with_suffix"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0519958, "supported_languages": null}, "macro.dbt_postgres.postgres__make_temp_relation": {"name": "postgres__make_temp_relation", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__make_temp_relation", "macro_sql": "{% macro postgres__make_temp_relation(base_relation, suffix) %}\n {% set temp_relation = postgres__make_relation_with_suffix(base_relation, suffix, dstring=True) %}\n {{ return(temp_relation.incorporate(path={\"schema\": none,\n \"database\": none})) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__make_relation_with_suffix"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0524871, "supported_languages": null}, "macro.dbt_postgres.postgres__make_backup_relation": {"name": "postgres__make_backup_relation", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__make_backup_relation", "macro_sql": "{% macro postgres__make_backup_relation(base_relation, backup_relation_type, suffix) %}\n {% set backup_relation = postgres__make_relation_with_suffix(base_relation, suffix, dstring=False) %}\n {{ return(backup_relation.incorporate(type=backup_relation_type)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__make_relation_with_suffix"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0529168, "supported_languages": null}, "macro.dbt_postgres.postgres_escape_comment": {"name": "postgres_escape_comment", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres_escape_comment", "macro_sql": "{% macro postgres_escape_comment(comment) -%}\n {% if comment is not string %}\n {% do exceptions.raise_compiler_error('cannot escape a non-string: ' ~ comment) %}\n {% endif %}\n {%- set magic = '$dbt_comment_literal_block$' -%}\n {%- if magic in comment -%}\n {%- do exceptions.raise_compiler_error('The string ' ~ magic ~ ' is not allowed in comments.') -%}\n {%- endif -%}\n {{ magic }}{{ comment }}{{ magic }}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.053567, "supported_languages": null}, "macro.dbt_postgres.postgres__alter_relation_comment": {"name": "postgres__alter_relation_comment", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__alter_relation_comment", "macro_sql": "{% macro postgres__alter_relation_comment(relation, comment) %}\n {% set escaped_comment = postgres_escape_comment(comment) %}\n comment on {{ relation.type }} {{ relation }} is {{ escaped_comment }};\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres_escape_comment"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0539134, "supported_languages": null}, "macro.dbt_postgres.postgres__alter_column_comment": {"name": "postgres__alter_column_comment", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__alter_column_comment", "macro_sql": "{% macro postgres__alter_column_comment(relation, column_dict) %}\n {% set existing_columns = adapter.get_columns_in_relation(relation) | map(attribute=\"name\") | list %}\n {% for column_name in column_dict if (column_name in existing_columns) %}\n {% set comment = column_dict[column_name]['description'] %}\n {% set escaped_comment = postgres_escape_comment(comment) %}\n comment on column {{ relation }}.{{ adapter.quote(column_name) if column_dict[column_name]['quote'] else column_name }} is {{ escaped_comment }};\n {% endfor %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres_escape_comment"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0547974, "supported_languages": null}, "macro.dbt_postgres.postgres__get_show_grant_sql": {"name": "postgres__get_show_grant_sql", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__get_show_grant_sql", "macro_sql": "\n\n{%- macro postgres__get_show_grant_sql(relation) -%}\n select grantee, privilege_type\n from {{ relation.information_schema('role_table_grants') }}\n where grantor = current_role\n and grantee != current_role\n and table_schema = '{{ relation.schema }}'\n and table_name = '{{ relation.identifier }}'\n{%- endmacro -%}\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0551226, "supported_languages": null}, "macro.dbt_postgres.postgres__copy_grants": {"name": "postgres__copy_grants", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__copy_grants", "macro_sql": "{% macro postgres__copy_grants() %}\n {{ return(False) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.055312, "supported_languages": null}, "macro.dbt_postgres.postgres__current_timestamp": {"name": "postgres__current_timestamp", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/timestamps.sql", "original_file_path": "macros/timestamps.sql", "unique_id": "macro.dbt_postgres.postgres__current_timestamp", "macro_sql": "{% macro postgres__current_timestamp() -%}\n now()\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0557432, "supported_languages": null}, "macro.dbt_postgres.postgres__snapshot_string_as_time": {"name": "postgres__snapshot_string_as_time", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/timestamps.sql", "original_file_path": "macros/timestamps.sql", "unique_id": "macro.dbt_postgres.postgres__snapshot_string_as_time", "macro_sql": "{% macro postgres__snapshot_string_as_time(timestamp) -%}\n {%- set result = \"'\" ~ timestamp ~ \"'::timestamp without time zone\" -%}\n {{ return(result) }}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0560315, "supported_languages": null}, "macro.dbt_postgres.postgres__snapshot_get_time": {"name": "postgres__snapshot_get_time", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/timestamps.sql", "original_file_path": "macros/timestamps.sql", "unique_id": "macro.dbt_postgres.postgres__snapshot_get_time", "macro_sql": "{% macro postgres__snapshot_get_time() -%}\n {{ current_timestamp() }}::timestamp without time zone\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.current_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0562048, "supported_languages": null}, "macro.dbt_postgres.postgres__current_timestamp_backcompat": {"name": "postgres__current_timestamp_backcompat", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/timestamps.sql", "original_file_path": "macros/timestamps.sql", "unique_id": "macro.dbt_postgres.postgres__current_timestamp_backcompat", "macro_sql": "{% macro postgres__current_timestamp_backcompat() %}\n current_timestamp::{{ type_timestamp() }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0563757, "supported_languages": null}, "macro.dbt_postgres.postgres__current_timestamp_in_utc_backcompat": {"name": "postgres__current_timestamp_in_utc_backcompat", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/timestamps.sql", "original_file_path": "macros/timestamps.sql", "unique_id": "macro.dbt_postgres.postgres__current_timestamp_in_utc_backcompat", "macro_sql": "{% macro postgres__current_timestamp_in_utc_backcompat() %}\n (current_timestamp at time zone 'utc')::{{ type_timestamp() }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0565484, "supported_languages": null}, "macro.dbt_postgres.postgres__listagg": {"name": "postgres__listagg", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/utils/listagg.sql", "original_file_path": "macros/utils/listagg.sql", "unique_id": "macro.dbt_postgres.postgres__listagg", "macro_sql": "{% macro postgres__listagg(measure, delimiter_text, order_by_clause, limit_num) -%}\n\n {% if limit_num -%}\n array_to_string(\n (array_agg(\n {{ measure }}\n {% if order_by_clause -%}\n {{ order_by_clause }}\n {%- endif %}\n ))[1:{{ limit_num }}],\n {{ delimiter_text }}\n )\n {%- else %}\n string_agg(\n {{ measure }},\n {{ delimiter_text }}\n {% if order_by_clause -%}\n {{ order_by_clause }}\n {%- endif %}\n )\n {%- endif %}\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0574412, "supported_languages": null}, "macro.dbt_postgres.get_column_names": {"name": "get_column_names", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/utils/columns_spec_ddl.sql", "original_file_path": "macros/utils/columns_spec_ddl.sql", "unique_id": "macro.dbt_postgres.get_column_names", "macro_sql": "{% macro get_column_names() %}\n {# loop through user_provided_columns to get column names #}\n {%- set user_provided_columns = model['columns'] -%}\n (\n {% for i in user_provided_columns %}\n {% set col = user_provided_columns[i] %}\n {{ col['name'] }} {{ \",\" if not loop.last }}\n {% endfor %}\n )\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0581172, "supported_languages": null}, "macro.dbt_postgres.postgres__dateadd": {"name": "postgres__dateadd", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/utils/dateadd.sql", "original_file_path": "macros/utils/dateadd.sql", "unique_id": "macro.dbt_postgres.postgres__dateadd", "macro_sql": "{% macro postgres__dateadd(datepart, interval, from_date_or_timestamp) %}\n\n {{ from_date_or_timestamp }} + ((interval '1 {{ datepart }}') * ({{ interval }}))\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0584455, "supported_languages": null}, "macro.dbt_postgres.postgres__split_part": {"name": "postgres__split_part", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/utils/split_part.sql", "original_file_path": "macros/utils/split_part.sql", "unique_id": "macro.dbt_postgres.postgres__split_part", "macro_sql": "{% macro postgres__split_part(string_text, delimiter_text, part_number) %}\n\n {% if part_number >= 0 %}\n {{ dbt.default__split_part(string_text, delimiter_text, part_number) }}\n {% else %}\n {{ dbt._split_part_negative(string_text, delimiter_text, part_number) }}\n {% endif %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__split_part", "macro.dbt._split_part_negative"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0590374, "supported_languages": null}, "macro.dbt_postgres.postgres__datediff": {"name": "postgres__datediff", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/utils/datediff.sql", "original_file_path": "macros/utils/datediff.sql", "unique_id": "macro.dbt_postgres.postgres__datediff", "macro_sql": "{% macro postgres__datediff(first_date, second_date, datepart) -%}\n\n {% if datepart == 'year' %}\n (date_part('year', ({{second_date}})::date) - date_part('year', ({{first_date}})::date))\n {% elif datepart == 'quarter' %}\n ({{ datediff(first_date, second_date, 'year') }} * 4 + date_part('quarter', ({{second_date}})::date) - date_part('quarter', ({{first_date}})::date))\n {% elif datepart == 'month' %}\n ({{ datediff(first_date, second_date, 'year') }} * 12 + date_part('month', ({{second_date}})::date) - date_part('month', ({{first_date}})::date))\n {% elif datepart == 'day' %}\n (({{second_date}})::date - ({{first_date}})::date)\n {% elif datepart == 'week' %}\n ({{ datediff(first_date, second_date, 'day') }} / 7 + case\n when date_part('dow', ({{first_date}})::timestamp) <= date_part('dow', ({{second_date}})::timestamp) then\n case when {{first_date}} <= {{second_date}} then 0 else -1 end\n else\n case when {{first_date}} <= {{second_date}} then 1 else 0 end\n end)\n {% elif datepart == 'hour' %}\n ({{ datediff(first_date, second_date, 'day') }} * 24 + date_part('hour', ({{second_date}})::timestamp) - date_part('hour', ({{first_date}})::timestamp))\n {% elif datepart == 'minute' %}\n ({{ datediff(first_date, second_date, 'hour') }} * 60 + date_part('minute', ({{second_date}})::timestamp) - date_part('minute', ({{first_date}})::timestamp))\n {% elif datepart == 'second' %}\n ({{ datediff(first_date, second_date, 'minute') }} * 60 + floor(date_part('second', ({{second_date}})::timestamp)) - floor(date_part('second', ({{first_date}})::timestamp)))\n {% elif datepart == 'millisecond' %}\n ({{ datediff(first_date, second_date, 'minute') }} * 60000 + floor(date_part('millisecond', ({{second_date}})::timestamp)) - floor(date_part('millisecond', ({{first_date}})::timestamp)))\n {% elif datepart == 'microsecond' %}\n ({{ datediff(first_date, second_date, 'minute') }} * 60000000 + floor(date_part('microsecond', ({{second_date}})::timestamp)) - floor(date_part('microsecond', ({{first_date}})::timestamp)))\n {% else %}\n {{ exceptions.raise_compiler_error(\"Unsupported datepart for macro datediff in postgres: {!r}\".format(datepart)) }}\n {% endif %}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.datediff"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0634828, "supported_languages": null}, "macro.dbt_postgres.postgres__any_value": {"name": "postgres__any_value", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/utils/any_value.sql", "original_file_path": "macros/utils/any_value.sql", "unique_id": "macro.dbt_postgres.postgres__any_value", "macro_sql": "{% macro postgres__any_value(expression) -%}\n\n min({{ expression }})\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0637367, "supported_languages": null}, "macro.dbt_postgres.postgres__last_day": {"name": "postgres__last_day", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/utils/last_day.sql", "original_file_path": "macros/utils/last_day.sql", "unique_id": "macro.dbt_postgres.postgres__last_day", "macro_sql": "{% macro postgres__last_day(date, datepart) -%}\n\n {%- if datepart == 'quarter' -%}\n -- postgres dateadd does not support quarter interval.\n cast(\n {{dbt.dateadd('day', '-1',\n dbt.dateadd('month', '3', dbt.date_trunc(datepart, date))\n )}}\n as date)\n {%- else -%}\n {{dbt.default_last_day(date, datepart)}}\n {%- endif -%}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.dateadd", "macro.dbt.date_trunc", "macro.dbt.default_last_day"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0644538, "supported_languages": null}, "macro.dbt_postgres.postgres__snapshot_merge_sql": {"name": "postgres__snapshot_merge_sql", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/materializations/snapshot_merge.sql", "original_file_path": "macros/materializations/snapshot_merge.sql", "unique_id": "macro.dbt_postgres.postgres__snapshot_merge_sql", "macro_sql": "{% macro postgres__snapshot_merge_sql(target, source, insert_cols) -%}\n {%- set insert_cols_csv = insert_cols | join(', ') -%}\n\n update {{ target }}\n set dbt_valid_to = DBT_INTERNAL_SOURCE.dbt_valid_to\n from {{ source }} as DBT_INTERNAL_SOURCE\n where DBT_INTERNAL_SOURCE.dbt_scd_id::text = {{ target }}.dbt_scd_id::text\n and DBT_INTERNAL_SOURCE.dbt_change_type::text in ('update'::text, 'delete'::text)\n and {{ target }}.dbt_valid_to is null;\n\n insert into {{ target }} ({{ insert_cols_csv }})\n select {% for column in insert_cols -%}\n DBT_INTERNAL_SOURCE.{{ column }} {%- if not loop.last %}, {%- endif %}\n {%- endfor %}\n from {{ source }} as DBT_INTERNAL_SOURCE\n where DBT_INTERNAL_SOURCE.dbt_change_type::text = 'insert'::text;\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0654635, "supported_languages": null}, "macro.dbt_postgres.postgres__get_incremental_default_sql": {"name": "postgres__get_incremental_default_sql", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/materializations/incremental_strategies.sql", "original_file_path": "macros/materializations/incremental_strategies.sql", "unique_id": "macro.dbt_postgres.postgres__get_incremental_default_sql", "macro_sql": "{% macro postgres__get_incremental_default_sql(arg_dict) %}\n\n {% if arg_dict[\"unique_key\"] %}\n {% do return(get_incremental_delete_insert_sql(arg_dict)) %}\n {% else %}\n {% do return(get_incremental_append_sql(arg_dict)) %}\n {% endif %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_incremental_delete_insert_sql", "macro.dbt.get_incremental_append_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0660226, "supported_languages": null}, "macro.dbt.collect_freshness": {"name": "collect_freshness", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/freshness.sql", "original_file_path": "macros/adapters/freshness.sql", "unique_id": "macro.dbt.collect_freshness", "macro_sql": "{% macro collect_freshness(source, loaded_at_field, filter) %}\n {{ return(adapter.dispatch('collect_freshness', 'dbt')(source, loaded_at_field, filter))}}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__collect_freshness"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0666263, "supported_languages": null}, "macro.dbt.default__collect_freshness": {"name": "default__collect_freshness", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/freshness.sql", "original_file_path": "macros/adapters/freshness.sql", "unique_id": "macro.dbt.default__collect_freshness", "macro_sql": "{% macro default__collect_freshness(source, loaded_at_field, filter) %}\n {% call statement('collect_freshness', fetch_result=True, auto_begin=False) -%}\n select\n max({{ loaded_at_field }}) as max_loaded_at,\n {{ current_timestamp() }} as snapshotted_at\n from {{ source }}\n {% if filter %}\n where {{ filter }}\n {% endif %}\n {% endcall %}\n {{ return(load_result('collect_freshness')) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement", "macro.dbt.current_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0672293, "supported_languages": null}, "macro.dbt.alter_column_comment": {"name": "alter_column_comment", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/persist_docs.sql", "original_file_path": "macros/adapters/persist_docs.sql", "unique_id": "macro.dbt.alter_column_comment", "macro_sql": "{% macro alter_column_comment(relation, column_dict) -%}\n {{ return(adapter.dispatch('alter_column_comment', 'dbt')(relation, column_dict)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__alter_column_comment"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.068154, "supported_languages": null}, "macro.dbt.default__alter_column_comment": {"name": "default__alter_column_comment", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/persist_docs.sql", "original_file_path": "macros/adapters/persist_docs.sql", "unique_id": "macro.dbt.default__alter_column_comment", "macro_sql": "{% macro default__alter_column_comment(relation, column_dict) -%}\n {{ exceptions.raise_not_implemented(\n 'alter_column_comment macro not implemented for adapter '+adapter.type()) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0684211, "supported_languages": null}, "macro.dbt.alter_relation_comment": {"name": "alter_relation_comment", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/persist_docs.sql", "original_file_path": "macros/adapters/persist_docs.sql", "unique_id": "macro.dbt.alter_relation_comment", "macro_sql": "{% macro alter_relation_comment(relation, relation_comment) -%}\n {{ return(adapter.dispatch('alter_relation_comment', 'dbt')(relation, relation_comment)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__alter_relation_comment"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0687265, "supported_languages": null}, "macro.dbt.default__alter_relation_comment": {"name": "default__alter_relation_comment", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/persist_docs.sql", "original_file_path": "macros/adapters/persist_docs.sql", "unique_id": "macro.dbt.default__alter_relation_comment", "macro_sql": "{% macro default__alter_relation_comment(relation, relation_comment) -%}\n {{ exceptions.raise_not_implemented(\n 'alter_relation_comment macro not implemented for adapter '+adapter.type()) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.069104, "supported_languages": null}, "macro.dbt.persist_docs": {"name": "persist_docs", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/persist_docs.sql", "original_file_path": "macros/adapters/persist_docs.sql", "unique_id": "macro.dbt.persist_docs", "macro_sql": "{% macro persist_docs(relation, model, for_relation=true, for_columns=true) -%}\n {{ return(adapter.dispatch('persist_docs', 'dbt')(relation, model, for_relation, for_columns)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__persist_docs"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0695176, "supported_languages": null}, "macro.dbt.default__persist_docs": {"name": "default__persist_docs", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/persist_docs.sql", "original_file_path": "macros/adapters/persist_docs.sql", "unique_id": "macro.dbt.default__persist_docs", "macro_sql": "{% macro default__persist_docs(relation, model, for_relation, for_columns) -%}\n {% if for_relation and config.persist_relation_docs() and model.description %}\n {% do run_query(alter_relation_comment(relation, model.description)) %}\n {% endif %}\n\n {% if for_columns and config.persist_column_docs() and model.columns %}\n {% do run_query(alter_column_comment(relation, model.columns)) %}\n {% endif %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.run_query", "macro.dbt.alter_relation_comment", "macro.dbt.alter_column_comment"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0702262, "supported_languages": null}, "macro.dbt.make_intermediate_relation": {"name": "make_intermediate_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.make_intermediate_relation", "macro_sql": "{% macro make_intermediate_relation(base_relation, suffix='__dbt_tmp') %}\n {{ return(adapter.dispatch('make_intermediate_relation', 'dbt')(base_relation, suffix)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__make_intermediate_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0743937, "supported_languages": null}, "macro.dbt.default__make_intermediate_relation": {"name": "default__make_intermediate_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.default__make_intermediate_relation", "macro_sql": "{% macro default__make_intermediate_relation(base_relation, suffix) %}\n {{ return(default__make_temp_relation(base_relation, suffix)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__make_temp_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0746539, "supported_languages": null}, "macro.dbt.make_temp_relation": {"name": "make_temp_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.make_temp_relation", "macro_sql": "{% macro make_temp_relation(base_relation, suffix='__dbt_tmp') %}\n {{ return(adapter.dispatch('make_temp_relation', 'dbt')(base_relation, suffix)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__make_temp_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0749881, "supported_languages": null}, "macro.dbt.default__make_temp_relation": {"name": "default__make_temp_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.default__make_temp_relation", "macro_sql": "{% macro default__make_temp_relation(base_relation, suffix) %}\n {%- set temp_identifier = base_relation.identifier ~ suffix -%}\n {%- set temp_relation = base_relation.incorporate(\n path={\"identifier\": temp_identifier}) -%}\n\n {{ return(temp_relation) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.075443, "supported_languages": null}, "macro.dbt.make_backup_relation": {"name": "make_backup_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.make_backup_relation", "macro_sql": "{% macro make_backup_relation(base_relation, backup_relation_type, suffix='__dbt_backup') %}\n {{ return(adapter.dispatch('make_backup_relation', 'dbt')(base_relation, backup_relation_type, suffix)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__make_backup_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.075828, "supported_languages": null}, "macro.dbt.default__make_backup_relation": {"name": "default__make_backup_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.default__make_backup_relation", "macro_sql": "{% macro default__make_backup_relation(base_relation, backup_relation_type, suffix) %}\n {%- set backup_identifier = base_relation.identifier ~ suffix -%}\n {%- set backup_relation = base_relation.incorporate(\n path={\"identifier\": backup_identifier},\n type=backup_relation_type\n ) -%}\n {{ return(backup_relation) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0763116, "supported_languages": null}, "macro.dbt.drop_relation": {"name": "drop_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.drop_relation", "macro_sql": "{% macro drop_relation(relation) -%}\n {{ return(adapter.dispatch('drop_relation', 'dbt')(relation)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__drop_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0765927, "supported_languages": null}, "macro.dbt.default__drop_relation": {"name": "default__drop_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.default__drop_relation", "macro_sql": "{% macro default__drop_relation(relation) -%}\n {% call statement('drop_relation', auto_begin=False) -%}\n drop {{ relation.type }} if exists {{ relation }} cascade\n {%- endcall %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0769255, "supported_languages": null}, "macro.dbt.truncate_relation": {"name": "truncate_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.truncate_relation", "macro_sql": "{% macro truncate_relation(relation) -%}\n {{ return(adapter.dispatch('truncate_relation', 'dbt')(relation)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__truncate_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0772054, "supported_languages": null}, "macro.dbt.default__truncate_relation": {"name": "default__truncate_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.default__truncate_relation", "macro_sql": "{% macro default__truncate_relation(relation) -%}\n {% call statement('truncate_relation') -%}\n truncate table {{ relation }}\n {%- endcall %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0774662, "supported_languages": null}, "macro.dbt.rename_relation": {"name": "rename_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.rename_relation", "macro_sql": "{% macro rename_relation(from_relation, to_relation) -%}\n {{ return(adapter.dispatch('rename_relation', 'dbt')(from_relation, to_relation)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__rename_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0777743, "supported_languages": null}, "macro.dbt.default__rename_relation": {"name": "default__rename_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.default__rename_relation", "macro_sql": "{% macro default__rename_relation(from_relation, to_relation) -%}\n {% set target_name = adapter.quote_as_configured(to_relation.identifier, 'identifier') %}\n {% call statement('rename_relation') -%}\n alter table {{ from_relation }} rename to {{ target_name }}\n {%- endcall %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0782082, "supported_languages": null}, "macro.dbt.get_or_create_relation": {"name": "get_or_create_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.get_or_create_relation", "macro_sql": "{% macro get_or_create_relation(database, schema, identifier, type) -%}\n {{ return(adapter.dispatch('get_or_create_relation', 'dbt')(database, schema, identifier, type)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_or_create_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0785766, "supported_languages": null}, "macro.dbt.default__get_or_create_relation": {"name": "default__get_or_create_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.default__get_or_create_relation", "macro_sql": "{% macro default__get_or_create_relation(database, schema, identifier, type) %}\n {%- set target_relation = adapter.get_relation(database=database, schema=schema, identifier=identifier) %}\n\n {% if target_relation %}\n {% do return([true, target_relation]) %}\n {% endif %}\n\n {%- set new_relation = api.Relation.create(\n database=database,\n schema=schema,\n identifier=identifier,\n type=type\n ) -%}\n {% do return([false, new_relation]) %}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.079388, "supported_languages": null}, "macro.dbt.load_cached_relation": {"name": "load_cached_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.load_cached_relation", "macro_sql": "{% macro load_cached_relation(relation) %}\n {% do return(adapter.get_relation(\n database=relation.database,\n schema=relation.schema,\n identifier=relation.identifier\n )) -%}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.079741, "supported_languages": null}, "macro.dbt.load_relation": {"name": "load_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.load_relation", "macro_sql": "{% macro load_relation(relation) %}\n {{ return(load_cached_relation(relation)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.load_cached_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0799644, "supported_languages": null}, "macro.dbt.drop_relation_if_exists": {"name": "drop_relation_if_exists", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.drop_relation_if_exists", "macro_sql": "{% macro drop_relation_if_exists(relation) %}\n {% if relation is not none %}\n {{ adapter.drop_relation(relation) }}\n {% endif %}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0802665, "supported_languages": null}, "macro.dbt.get_catalog": {"name": "get_catalog", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.get_catalog", "macro_sql": "{% macro get_catalog(information_schema, schemas) -%}\n {{ return(adapter.dispatch('get_catalog', 'dbt')(information_schema, schemas)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_catalog"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0821908, "supported_languages": null}, "macro.dbt.default__get_catalog": {"name": "default__get_catalog", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.default__get_catalog", "macro_sql": "{% macro default__get_catalog(information_schema, schemas) -%}\n\n {% set typename = adapter.type() %}\n {% set msg -%}\n get_catalog not implemented for {{ typename }}\n {%- endset %}\n\n {{ exceptions.raise_compiler_error(msg) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0825982, "supported_languages": null}, "macro.dbt.information_schema_name": {"name": "information_schema_name", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.information_schema_name", "macro_sql": "{% macro information_schema_name(database) %}\n {{ return(adapter.dispatch('information_schema_name', 'dbt')(database)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__information_schema_name"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0828836, "supported_languages": null}, "macro.dbt.default__information_schema_name": {"name": "default__information_schema_name", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.default__information_schema_name", "macro_sql": "{% macro default__information_schema_name(database) -%}\n {%- if database -%}\n {{ database }}.INFORMATION_SCHEMA\n {%- else -%}\n INFORMATION_SCHEMA\n {%- endif -%}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0831332, "supported_languages": null}, "macro.dbt.list_schemas": {"name": "list_schemas", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.list_schemas", "macro_sql": "{% macro list_schemas(database) -%}\n {{ return(adapter.dispatch('list_schemas', 'dbt')(database)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__list_schemas"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.083405, "supported_languages": null}, "macro.dbt.default__list_schemas": {"name": "default__list_schemas", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.default__list_schemas", "macro_sql": "{% macro default__list_schemas(database) -%}\n {% set sql %}\n select distinct schema_name\n from {{ information_schema_name(database) }}.SCHEMATA\n where catalog_name ilike '{{ database }}'\n {% endset %}\n {{ return(run_query(sql)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.information_schema_name", "macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0837946, "supported_languages": null}, "macro.dbt.check_schema_exists": {"name": "check_schema_exists", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.check_schema_exists", "macro_sql": "{% macro check_schema_exists(information_schema, schema) -%}\n {{ return(adapter.dispatch('check_schema_exists', 'dbt')(information_schema, schema)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__check_schema_exists"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.084102, "supported_languages": null}, "macro.dbt.default__check_schema_exists": {"name": "default__check_schema_exists", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.default__check_schema_exists", "macro_sql": "{% macro default__check_schema_exists(information_schema, schema) -%}\n {% set sql -%}\n select count(*)\n from {{ information_schema.replace(information_schema_view='SCHEMATA') }}\n where catalog_name='{{ information_schema.database }}'\n and schema_name='{{ schema }}'\n {%- endset %}\n {{ return(run_query(sql)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.replace", "macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.08467, "supported_languages": null}, "macro.dbt.list_relations_without_caching": {"name": "list_relations_without_caching", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.list_relations_without_caching", "macro_sql": "{% macro list_relations_without_caching(schema_relation) %}\n {{ return(adapter.dispatch('list_relations_without_caching', 'dbt')(schema_relation)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__list_relations_without_caching"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.08496, "supported_languages": null}, "macro.dbt.default__list_relations_without_caching": {"name": "default__list_relations_without_caching", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.default__list_relations_without_caching", "macro_sql": "{% macro default__list_relations_without_caching(schema_relation) %}\n {{ exceptions.raise_not_implemented(\n 'list_relations_without_caching macro not implemented for adapter '+adapter.type()) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0852163, "supported_languages": null}, "macro.dbt.copy_grants": {"name": "copy_grants", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.copy_grants", "macro_sql": "{% macro copy_grants() %}\n {{ return(adapter.dispatch('copy_grants', 'dbt')()) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__copy_grants"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.087392, "supported_languages": null}, "macro.dbt.default__copy_grants": {"name": "default__copy_grants", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.default__copy_grants", "macro_sql": "{% macro default__copy_grants() %}\n {{ return(True) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0875885, "supported_languages": null}, "macro.dbt.support_multiple_grantees_per_dcl_statement": {"name": "support_multiple_grantees_per_dcl_statement", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.support_multiple_grantees_per_dcl_statement", "macro_sql": "{% macro support_multiple_grantees_per_dcl_statement() %}\n {{ return(adapter.dispatch('support_multiple_grantees_per_dcl_statement', 'dbt')()) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__support_multiple_grantees_per_dcl_statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0878482, "supported_languages": null}, "macro.dbt.default__support_multiple_grantees_per_dcl_statement": {"name": "default__support_multiple_grantees_per_dcl_statement", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.default__support_multiple_grantees_per_dcl_statement", "macro_sql": "\n\n{%- macro default__support_multiple_grantees_per_dcl_statement() -%}\n {{ return(True) }}\n{%- endmacro -%}\n\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0880265, "supported_languages": null}, "macro.dbt.should_revoke": {"name": "should_revoke", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.should_revoke", "macro_sql": "{% macro should_revoke(existing_relation, full_refresh_mode=True) %}\n\n {% if not existing_relation %}\n {#-- The table doesn't already exist, so no grants to copy over --#}\n {{ return(False) }}\n {% elif full_refresh_mode %}\n {#-- The object is being REPLACED -- whether grants are copied over depends on the value of user config --#}\n {{ return(copy_grants()) }}\n {% else %}\n {#-- The table is being merged/upserted/inserted -- grants will be carried over --#}\n {{ return(True) }}\n {% endif %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.copy_grants"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0885448, "supported_languages": null}, "macro.dbt.get_show_grant_sql": {"name": "get_show_grant_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.get_show_grant_sql", "macro_sql": "{% macro get_show_grant_sql(relation) %}\n {{ return(adapter.dispatch(\"get_show_grant_sql\", \"dbt\")(relation)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_show_grant_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0888312, "supported_languages": null}, "macro.dbt.default__get_show_grant_sql": {"name": "default__get_show_grant_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.default__get_show_grant_sql", "macro_sql": "{% macro default__get_show_grant_sql(relation) %}\n show grants on {{ relation }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0890012, "supported_languages": null}, "macro.dbt.get_grant_sql": {"name": "get_grant_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.get_grant_sql", "macro_sql": "{% macro get_grant_sql(relation, privilege, grantees) %}\n {{ return(adapter.dispatch('get_grant_sql', 'dbt')(relation, privilege, grantees)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_grant_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0893412, "supported_languages": null}, "macro.dbt.default__get_grant_sql": {"name": "default__get_grant_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.default__get_grant_sql", "macro_sql": "\n\n{%- macro default__get_grant_sql(relation, privilege, grantees) -%}\n grant {{ privilege }} on {{ relation }} to {{ grantees | join(', ') }}\n{%- endmacro -%}\n\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0896368, "supported_languages": null}, "macro.dbt.get_revoke_sql": {"name": "get_revoke_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.get_revoke_sql", "macro_sql": "{% macro get_revoke_sql(relation, privilege, grantees) %}\n {{ return(adapter.dispatch('get_revoke_sql', 'dbt')(relation, privilege, grantees)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_revoke_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.089979, "supported_languages": null}, "macro.dbt.default__get_revoke_sql": {"name": "default__get_revoke_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.default__get_revoke_sql", "macro_sql": "\n\n{%- macro default__get_revoke_sql(relation, privilege, grantees) -%}\n revoke {{ privilege }} on {{ relation }} from {{ grantees | join(', ') }}\n{%- endmacro -%}\n\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.090278, "supported_languages": null}, "macro.dbt.get_dcl_statement_list": {"name": "get_dcl_statement_list", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.get_dcl_statement_list", "macro_sql": "{% macro get_dcl_statement_list(relation, grant_config, get_dcl_macro) %}\n {{ return(adapter.dispatch('get_dcl_statement_list', 'dbt')(relation, grant_config, get_dcl_macro)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_dcl_statement_list"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.090619, "supported_languages": null}, "macro.dbt.default__get_dcl_statement_list": {"name": "default__get_dcl_statement_list", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.default__get_dcl_statement_list", "macro_sql": "\n\n{%- macro default__get_dcl_statement_list(relation, grant_config, get_dcl_macro) -%}\n {#\n -- Unpack grant_config into specific privileges and the set of users who need them granted/revoked.\n -- Depending on whether this database supports multiple grantees per statement, pass in the list of\n -- all grantees per privilege, or (if not) template one statement per privilege-grantee pair.\n -- `get_dcl_macro` will be either `get_grant_sql` or `get_revoke_sql`\n #}\n {%- set dcl_statements = [] -%}\n {%- for privilege, grantees in grant_config.items() %}\n {%- if support_multiple_grantees_per_dcl_statement() and grantees -%}\n {%- set dcl = get_dcl_macro(relation, privilege, grantees) -%}\n {%- do dcl_statements.append(dcl) -%}\n {%- else -%}\n {%- for grantee in grantees -%}\n {% set dcl = get_dcl_macro(relation, privilege, [grantee]) %}\n {%- do dcl_statements.append(dcl) -%}\n {% endfor -%}\n {%- endif -%}\n {%- endfor -%}\n {{ return(dcl_statements) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.support_multiple_grantees_per_dcl_statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0916216, "supported_languages": null}, "macro.dbt.call_dcl_statements": {"name": "call_dcl_statements", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.call_dcl_statements", "macro_sql": "{% macro call_dcl_statements(dcl_statement_list) %}\n {{ return(adapter.dispatch(\"call_dcl_statements\", \"dbt\")(dcl_statement_list)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__call_dcl_statements"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0919135, "supported_languages": null}, "macro.dbt.default__call_dcl_statements": {"name": "default__call_dcl_statements", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.default__call_dcl_statements", "macro_sql": "{% macro default__call_dcl_statements(dcl_statement_list) %}\n {#\n -- By default, supply all grant + revoke statements in a single semicolon-separated block,\n -- so that they're all processed together.\n\n -- Some databases do not support this. Those adapters will need to override this macro\n -- to run each statement individually.\n #}\n {% call statement('grants') %}\n {% for dcl_statement in dcl_statement_list %}\n {{ dcl_statement }};\n {% endfor %}\n {% endcall %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0922985, "supported_languages": null}, "macro.dbt.apply_grants": {"name": "apply_grants", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.apply_grants", "macro_sql": "{% macro apply_grants(relation, grant_config, should_revoke) %}\n {{ return(adapter.dispatch(\"apply_grants\", \"dbt\")(relation, grant_config, should_revoke)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__apply_grants"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0926375, "supported_languages": null}, "macro.dbt.default__apply_grants": {"name": "default__apply_grants", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.default__apply_grants", "macro_sql": "{% macro default__apply_grants(relation, grant_config, should_revoke=True) %}\n {#-- If grant_config is {} or None, this is a no-op --#}\n {% if grant_config %}\n {% if should_revoke %}\n {#-- We think previous grants may have carried over --#}\n {#-- Show current grants and calculate diffs --#}\n {% set current_grants_table = run_query(get_show_grant_sql(relation)) %}\n {% set current_grants_dict = adapter.standardize_grants_dict(current_grants_table) %}\n {% set needs_granting = diff_of_two_dicts(grant_config, current_grants_dict) %}\n {% set needs_revoking = diff_of_two_dicts(current_grants_dict, grant_config) %}\n {% if not (needs_granting or needs_revoking) %}\n {{ log('On ' ~ relation ~': All grants are in place, no revocation or granting needed.')}}\n {% endif %}\n {% else %}\n {#-- We don't think there's any chance of previous grants having carried over. --#}\n {#-- Jump straight to granting what the user has configured. --#}\n {% set needs_revoking = {} %}\n {% set needs_granting = grant_config %}\n {% endif %}\n {% if needs_granting or needs_revoking %}\n {% set revoke_statement_list = get_dcl_statement_list(relation, needs_revoking, get_revoke_sql) %}\n {% set grant_statement_list = get_dcl_statement_list(relation, needs_granting, get_grant_sql) %}\n {% set dcl_statement_list = revoke_statement_list + grant_statement_list %}\n {% if dcl_statement_list %}\n {{ call_dcl_statements(dcl_statement_list) }}\n {% endif %}\n {% endif %}\n {% endif %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.run_query", "macro.dbt.get_show_grant_sql", "macro.dbt.get_dcl_statement_list", "macro.dbt.call_dcl_statements"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0942976, "supported_languages": null}, "macro.dbt.get_create_index_sql": {"name": "get_create_index_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/indexes.sql", "original_file_path": "macros/adapters/indexes.sql", "unique_id": "macro.dbt.get_create_index_sql", "macro_sql": "{% macro get_create_index_sql(relation, index_dict) -%}\n {{ return(adapter.dispatch('get_create_index_sql', 'dbt')(relation, index_dict)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_create_index_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.09495, "supported_languages": null}, "macro.dbt.default__get_create_index_sql": {"name": "default__get_create_index_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/indexes.sql", "original_file_path": "macros/adapters/indexes.sql", "unique_id": "macro.dbt.default__get_create_index_sql", "macro_sql": "{% macro default__get_create_index_sql(relation, index_dict) -%}\n {% do return(None) %}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0951653, "supported_languages": null}, "macro.dbt.create_indexes": {"name": "create_indexes", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/indexes.sql", "original_file_path": "macros/adapters/indexes.sql", "unique_id": "macro.dbt.create_indexes", "macro_sql": "{% macro create_indexes(relation) -%}\n {{ adapter.dispatch('create_indexes', 'dbt')(relation) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__create_indexes"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0954103, "supported_languages": null}, "macro.dbt.default__create_indexes": {"name": "default__create_indexes", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/indexes.sql", "original_file_path": "macros/adapters/indexes.sql", "unique_id": "macro.dbt.default__create_indexes", "macro_sql": "{% macro default__create_indexes(relation) -%}\n {%- set _indexes = config.get('indexes', default=[]) -%}\n\n {% for _index_dict in _indexes %}\n {% set create_index_sql = get_create_index_sql(relation, _index_dict) %}\n {% if create_index_sql %}\n {% do run_query(create_index_sql) %}\n {% endif %}\n {% endfor %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_create_index_sql", "macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0960016, "supported_languages": null}, "macro.dbt.get_columns_in_relation": {"name": "get_columns_in_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.get_columns_in_relation", "macro_sql": "{% macro get_columns_in_relation(relation) -%}\n {{ return(adapter.dispatch('get_columns_in_relation', 'dbt')(relation)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_columns_in_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0986204, "supported_languages": null}, "macro.dbt.default__get_columns_in_relation": {"name": "default__get_columns_in_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.default__get_columns_in_relation", "macro_sql": "{% macro default__get_columns_in_relation(relation) -%}\n {{ exceptions.raise_not_implemented(\n 'get_columns_in_relation macro not implemented for adapter '+adapter.type()) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0988667, "supported_languages": null}, "macro.dbt.sql_convert_columns_in_relation": {"name": "sql_convert_columns_in_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.sql_convert_columns_in_relation", "macro_sql": "{% macro sql_convert_columns_in_relation(table) -%}\n {% set columns = [] %}\n {% for row in table %}\n {% do columns.append(api.Column(*row)) %}\n {% endfor %}\n {{ return(columns) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.099324, "supported_languages": null}, "macro.dbt.get_empty_subquery_sql": {"name": "get_empty_subquery_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.get_empty_subquery_sql", "macro_sql": "{% macro get_empty_subquery_sql(select_sql) -%}\n {{ return(adapter.dispatch('get_empty_subquery_sql', 'dbt')(select_sql)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_empty_subquery_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0997212, "supported_languages": null}, "macro.dbt.default__get_empty_subquery_sql": {"name": "default__get_empty_subquery_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.default__get_empty_subquery_sql", "macro_sql": "{% macro default__get_empty_subquery_sql(select_sql) %}\n select * from (\n {{ select_sql }}\n ) as __dbt_sbq\n where false\n limit 0\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.0999024, "supported_languages": null}, "macro.dbt.get_empty_schema_sql": {"name": "get_empty_schema_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.get_empty_schema_sql", "macro_sql": "{% macro get_empty_schema_sql(columns) -%}\n {{ return(adapter.dispatch('get_empty_schema_sql', 'dbt')(columns)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_empty_schema_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1001787, "supported_languages": null}, "macro.dbt.default__get_empty_schema_sql": {"name": "default__get_empty_schema_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.default__get_empty_schema_sql", "macro_sql": "{% macro default__get_empty_schema_sql(columns) %}\n {%- set col_err = [] -%}\n select\n {% for i in columns %}\n {%- set col = columns[i] -%}\n {%- if col['data_type'] is not defined -%}\n {{ col_err.append(col['name']) }}\n {%- endif -%}\n cast(null as {{ col['data_type'] }}) as {{ col['name'] }}{{ \", \" if not loop.last }}\n {%- endfor -%}\n {%- if (col_err | length) > 0 -%}\n {{ exceptions.column_type_missing(column_names=col_err) }}\n {%- endif -%}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1011, "supported_languages": null}, "macro.dbt.get_column_schema_from_query": {"name": "get_column_schema_from_query", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.get_column_schema_from_query", "macro_sql": "{% macro get_column_schema_from_query(select_sql) -%}\n {% set columns = [] %}\n {# -- Using an 'empty subquery' here to get the same schema as the given select_sql statement, without necessitating a data scan.#}\n {% set sql = get_empty_subquery_sql(select_sql) %}\n {% set column_schema = adapter.get_column_schema_from_query(sql) %}\n {{ return(column_schema) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_empty_subquery_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.10157, "supported_languages": null}, "macro.dbt.get_columns_in_query": {"name": "get_columns_in_query", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.get_columns_in_query", "macro_sql": "{% macro get_columns_in_query(select_sql) -%}\n {{ return(adapter.dispatch('get_columns_in_query', 'dbt')(select_sql)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_columns_in_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1018474, "supported_languages": null}, "macro.dbt.default__get_columns_in_query": {"name": "default__get_columns_in_query", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.default__get_columns_in_query", "macro_sql": "{% macro default__get_columns_in_query(select_sql) %}\n {% call statement('get_columns_in_query', fetch_result=True, auto_begin=False) -%}\n {{ get_empty_subquery_sql(select_sql) }}\n {% endcall %}\n {{ return(load_result('get_columns_in_query').table.columns | map(attribute='name') | list) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement", "macro.dbt.get_empty_subquery_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.102365, "supported_languages": null}, "macro.dbt.alter_column_type": {"name": "alter_column_type", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.alter_column_type", "macro_sql": "{% macro alter_column_type(relation, column_name, new_column_type) -%}\n {{ return(adapter.dispatch('alter_column_type', 'dbt')(relation, column_name, new_column_type)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__alter_column_type"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1027057, "supported_languages": null}, "macro.dbt.default__alter_column_type": {"name": "default__alter_column_type", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.default__alter_column_type", "macro_sql": "{% macro default__alter_column_type(relation, column_name, new_column_type) -%}\n {#\n 1. Create a new column (w/ temp name and correct type)\n 2. Copy data over to it\n 3. Drop the existing column (cascade!)\n 4. Rename the new column to existing column\n #}\n {%- set tmp_column = column_name + \"__dbt_alter\" -%}\n\n {% call statement('alter_column_type') %}\n alter table {{ relation }} add column {{ adapter.quote(tmp_column) }} {{ new_column_type }};\n update {{ relation }} set {{ adapter.quote(tmp_column) }} = {{ adapter.quote(column_name) }};\n alter table {{ relation }} drop column {{ adapter.quote(column_name) }} cascade;\n alter table {{ relation }} rename column {{ adapter.quote(tmp_column) }} to {{ adapter.quote(column_name) }}\n {% endcall %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1035848, "supported_languages": null}, "macro.dbt.alter_relation_add_remove_columns": {"name": "alter_relation_add_remove_columns", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.alter_relation_add_remove_columns", "macro_sql": "{% macro alter_relation_add_remove_columns(relation, add_columns = none, remove_columns = none) -%}\n {{ return(adapter.dispatch('alter_relation_add_remove_columns', 'dbt')(relation, add_columns, remove_columns)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__alter_relation_add_remove_columns"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1039634, "supported_languages": null}, "macro.dbt.default__alter_relation_add_remove_columns": {"name": "default__alter_relation_add_remove_columns", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.default__alter_relation_add_remove_columns", "macro_sql": "{% macro default__alter_relation_add_remove_columns(relation, add_columns, remove_columns) %}\n\n {% if add_columns is none %}\n {% set add_columns = [] %}\n {% endif %}\n {% if remove_columns is none %}\n {% set remove_columns = [] %}\n {% endif %}\n\n {% set sql -%}\n\n alter {{ relation.type }} {{ relation }}\n\n {% for column in add_columns %}\n add column {{ column.name }} {{ column.data_type }}{{ ',' if not loop.last }}\n {% endfor %}{{ ',' if add_columns and remove_columns }}\n\n {% for column in remove_columns %}\n drop column {{ column.name }}{{ ',' if not loop.last }}\n {% endfor %}\n\n {%- endset -%}\n\n {% do run_query(sql) %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1051283, "supported_languages": null}, "macro.dbt.create_schema": {"name": "create_schema", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/schema.sql", "original_file_path": "macros/adapters/schema.sql", "unique_id": "macro.dbt.create_schema", "macro_sql": "{% macro create_schema(relation) -%}\n {{ adapter.dispatch('create_schema', 'dbt')(relation) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__create_schema"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1056726, "supported_languages": null}, "macro.dbt.default__create_schema": {"name": "default__create_schema", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/schema.sql", "original_file_path": "macros/adapters/schema.sql", "unique_id": "macro.dbt.default__create_schema", "macro_sql": "{% macro default__create_schema(relation) -%}\n {%- call statement('create_schema') -%}\n create schema if not exists {{ relation.without_identifier() }}\n {% endcall %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1059613, "supported_languages": null}, "macro.dbt.drop_schema": {"name": "drop_schema", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/schema.sql", "original_file_path": "macros/adapters/schema.sql", "unique_id": "macro.dbt.drop_schema", "macro_sql": "{% macro drop_schema(relation) -%}\n {{ adapter.dispatch('drop_schema', 'dbt')(relation) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__drop_schema"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1062102, "supported_languages": null}, "macro.dbt.default__drop_schema": {"name": "default__drop_schema", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/schema.sql", "original_file_path": "macros/adapters/schema.sql", "unique_id": "macro.dbt.default__drop_schema", "macro_sql": "{% macro default__drop_schema(relation) -%}\n {%- call statement('drop_schema') -%}\n drop schema if exists {{ relation.without_identifier() }} cascade\n {% endcall %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1064925, "supported_languages": null}, "macro.dbt.current_timestamp": {"name": "current_timestamp", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/timestamps.sql", "original_file_path": "macros/adapters/timestamps.sql", "unique_id": "macro.dbt.current_timestamp", "macro_sql": "{%- macro current_timestamp() -%}\n {{ adapter.dispatch('current_timestamp', 'dbt')() }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt_postgres.postgres__current_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1071615, "supported_languages": null}, "macro.dbt.default__current_timestamp": {"name": "default__current_timestamp", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/timestamps.sql", "original_file_path": "macros/adapters/timestamps.sql", "unique_id": "macro.dbt.default__current_timestamp", "macro_sql": "{% macro default__current_timestamp() -%}\n {{ exceptions.raise_not_implemented(\n 'current_timestamp macro not implemented for adapter ' + adapter.type()) }}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1073961, "supported_languages": null}, "macro.dbt.snapshot_get_time": {"name": "snapshot_get_time", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/timestamps.sql", "original_file_path": "macros/adapters/timestamps.sql", "unique_id": "macro.dbt.snapshot_get_time", "macro_sql": "\n\n{%- macro snapshot_get_time() -%}\n {{ adapter.dispatch('snapshot_get_time', 'dbt')() }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt_postgres.postgres__snapshot_get_time"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1076248, "supported_languages": null}, "macro.dbt.default__snapshot_get_time": {"name": "default__snapshot_get_time", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/timestamps.sql", "original_file_path": "macros/adapters/timestamps.sql", "unique_id": "macro.dbt.default__snapshot_get_time", "macro_sql": "{% macro default__snapshot_get_time() %}\n {{ current_timestamp() }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.current_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1077952, "supported_languages": null}, "macro.dbt.current_timestamp_backcompat": {"name": "current_timestamp_backcompat", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/timestamps.sql", "original_file_path": "macros/adapters/timestamps.sql", "unique_id": "macro.dbt.current_timestamp_backcompat", "macro_sql": "{% macro current_timestamp_backcompat() %}\n {{ return(adapter.dispatch('current_timestamp_backcompat', 'dbt')()) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__current_timestamp_backcompat"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.108049, "supported_languages": null}, "macro.dbt.default__current_timestamp_backcompat": {"name": "default__current_timestamp_backcompat", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/timestamps.sql", "original_file_path": "macros/adapters/timestamps.sql", "unique_id": "macro.dbt.default__current_timestamp_backcompat", "macro_sql": "{% macro default__current_timestamp_backcompat() %}\n current_timestamp::timestamp\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1081755, "supported_languages": null}, "macro.dbt.current_timestamp_in_utc_backcompat": {"name": "current_timestamp_in_utc_backcompat", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/timestamps.sql", "original_file_path": "macros/adapters/timestamps.sql", "unique_id": "macro.dbt.current_timestamp_in_utc_backcompat", "macro_sql": "{% macro current_timestamp_in_utc_backcompat() %}\n {{ return(adapter.dispatch('current_timestamp_in_utc_backcompat', 'dbt')()) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__current_timestamp_in_utc_backcompat"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1084287, "supported_languages": null}, "macro.dbt.default__current_timestamp_in_utc_backcompat": {"name": "default__current_timestamp_in_utc_backcompat", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/timestamps.sql", "original_file_path": "macros/adapters/timestamps.sql", "unique_id": "macro.dbt.default__current_timestamp_in_utc_backcompat", "macro_sql": "{% macro default__current_timestamp_in_utc_backcompat() %}\n {{ return(adapter.dispatch('current_timestamp_backcompat', 'dbt')()) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.current_timestamp_backcompat", "macro.dbt_postgres.postgres__current_timestamp_backcompat"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1086845, "supported_languages": null}, "macro.dbt.default__test_unique": {"name": "default__test_unique", "resource_type": "macro", "package_name": "dbt", "path": "macros/generic_test_sql/unique.sql", "original_file_path": "macros/generic_test_sql/unique.sql", "unique_id": "macro.dbt.default__test_unique", "macro_sql": "{% macro default__test_unique(model, column_name) %}\n\nselect\n {{ column_name }} as unique_field,\n count(*) as n_records\n\nfrom {{ model }}\nwhere {{ column_name }} is not null\ngroup by {{ column_name }}\nhaving count(*) > 1\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1090586, "supported_languages": null}, "macro.dbt.default__test_not_null": {"name": "default__test_not_null", "resource_type": "macro", "package_name": "dbt", "path": "macros/generic_test_sql/not_null.sql", "original_file_path": "macros/generic_test_sql/not_null.sql", "unique_id": "macro.dbt.default__test_not_null", "macro_sql": "{% macro default__test_not_null(model, column_name) %}\n\n{% set column_list = '*' if should_store_failures() else column_name %}\n\nselect {{ column_list }}\nfrom {{ model }}\nwhere {{ column_name }} is null\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.should_store_failures"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1095037, "supported_languages": null}, "macro.dbt.default__test_accepted_values": {"name": "default__test_accepted_values", "resource_type": "macro", "package_name": "dbt", "path": "macros/generic_test_sql/accepted_values.sql", "original_file_path": "macros/generic_test_sql/accepted_values.sql", "unique_id": "macro.dbt.default__test_accepted_values", "macro_sql": "{% macro default__test_accepted_values(model, column_name, values, quote=True) %}\n\nwith all_values as (\n\n select\n {{ column_name }} as value_field,\n count(*) as n_records\n\n from {{ model }}\n group by {{ column_name }}\n\n)\n\nselect *\nfrom all_values\nwhere value_field not in (\n {% for value in values -%}\n {% if quote -%}\n '{{ value }}'\n {%- else -%}\n {{ value }}\n {%- endif -%}\n {%- if not loop.last -%},{%- endif %}\n {%- endfor %}\n)\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1103241, "supported_languages": null}, "macro.dbt.default__test_relationships": {"name": "default__test_relationships", "resource_type": "macro", "package_name": "dbt", "path": "macros/generic_test_sql/relationships.sql", "original_file_path": "macros/generic_test_sql/relationships.sql", "unique_id": "macro.dbt.default__test_relationships", "macro_sql": "{% macro default__test_relationships(model, column_name, to, field) %}\n\nwith child as (\n select {{ column_name }} as from_field\n from {{ model }}\n where {{ column_name }} is not null\n),\n\nparent as (\n select {{ field }} as to_field\n from {{ to }}\n)\n\nselect\n from_field\n\nfrom child\nleft join parent\n on child.from_field = parent.to_field\n\nwhere parent.to_field is null\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1108217, "supported_languages": null}, "macro.dbt.replace": {"name": "replace", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/replace.sql", "original_file_path": "macros/utils/replace.sql", "unique_id": "macro.dbt.replace", "macro_sql": "{% macro replace(field, old_chars, new_chars) -%}\n {{ return(adapter.dispatch('replace', 'dbt') (field, old_chars, new_chars)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__replace"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.111286, "supported_languages": null}, "macro.dbt.default__replace": {"name": "default__replace", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/replace.sql", "original_file_path": "macros/utils/replace.sql", "unique_id": "macro.dbt.default__replace", "macro_sql": "{% macro default__replace(field, old_chars, new_chars) %}\n\n replace(\n {{ field }},\n {{ old_chars }},\n {{ new_chars }}\n )\n\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1116598, "supported_languages": null}, "macro.dbt.listagg": {"name": "listagg", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/listagg.sql", "original_file_path": "macros/utils/listagg.sql", "unique_id": "macro.dbt.listagg", "macro_sql": "{% macro listagg(measure, delimiter_text=\"','\", order_by_clause=none, limit_num=none) -%}\n {{ return(adapter.dispatch('listagg', 'dbt') (measure, delimiter_text, order_by_clause, limit_num)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__listagg"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.11251, "supported_languages": null}, "macro.dbt.default__listagg": {"name": "default__listagg", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/listagg.sql", "original_file_path": "macros/utils/listagg.sql", "unique_id": "macro.dbt.default__listagg", "macro_sql": "{% macro default__listagg(measure, delimiter_text, order_by_clause, limit_num) -%}\n\n {% if limit_num -%}\n array_to_string(\n array_slice(\n array_agg(\n {{ measure }}\n ){% if order_by_clause -%}\n within group ({{ order_by_clause }})\n {%- endif %}\n ,0\n ,{{ limit_num }}\n ),\n {{ delimiter_text }}\n )\n {%- else %}\n listagg(\n {{ measure }},\n {{ delimiter_text }}\n )\n {% if order_by_clause -%}\n within group ({{ order_by_clause }})\n {%- endif %}\n {%- endif %}\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1131287, "supported_languages": null}, "macro.dbt.right": {"name": "right", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/right.sql", "original_file_path": "macros/utils/right.sql", "unique_id": "macro.dbt.right", "macro_sql": "{% macro right(string_text, length_expression) -%}\n {{ return(adapter.dispatch('right', 'dbt') (string_text, length_expression)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__right"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1135623, "supported_languages": null}, "macro.dbt.default__right": {"name": "default__right", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/right.sql", "original_file_path": "macros/utils/right.sql", "unique_id": "macro.dbt.default__right", "macro_sql": "{% macro default__right(string_text, length_expression) %}\n\n right(\n {{ string_text }},\n {{ length_expression }}\n )\n\n{%- endmacro -%}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.113781, "supported_languages": null}, "macro.dbt.bool_or": {"name": "bool_or", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/bool_or.sql", "original_file_path": "macros/utils/bool_or.sql", "unique_id": "macro.dbt.bool_or", "macro_sql": "{% macro bool_or(expression) -%}\n {{ return(adapter.dispatch('bool_or', 'dbt') (expression)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__bool_or"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1141477, "supported_languages": null}, "macro.dbt.default__bool_or": {"name": "default__bool_or", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/bool_or.sql", "original_file_path": "macros/utils/bool_or.sql", "unique_id": "macro.dbt.default__bool_or", "macro_sql": "{% macro default__bool_or(expression) -%}\n\n bool_or({{ expression }})\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1143186, "supported_languages": null}, "macro.dbt.date_trunc": {"name": "date_trunc", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/date_trunc.sql", "original_file_path": "macros/utils/date_trunc.sql", "unique_id": "macro.dbt.date_trunc", "macro_sql": "{% macro date_trunc(datepart, date) -%}\n {{ return(adapter.dispatch('date_trunc', 'dbt') (datepart, date)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__date_trunc"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1147213, "supported_languages": null}, "macro.dbt.default__date_trunc": {"name": "default__date_trunc", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/date_trunc.sql", "original_file_path": "macros/utils/date_trunc.sql", "unique_id": "macro.dbt.default__date_trunc", "macro_sql": "{% macro default__date_trunc(datepart, date) -%}\n date_trunc('{{datepart}}', {{date}})\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.114931, "supported_languages": null}, "macro.dbt.hash": {"name": "hash", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/hash.sql", "original_file_path": "macros/utils/hash.sql", "unique_id": "macro.dbt.hash", "macro_sql": "{% macro hash(field) -%}\n {{ return(adapter.dispatch('hash', 'dbt') (field)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__hash"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1153128, "supported_languages": null}, "macro.dbt.default__hash": {"name": "default__hash", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/hash.sql", "original_file_path": "macros/utils/hash.sql", "unique_id": "macro.dbt.default__hash", "macro_sql": "{% macro default__hash(field) -%}\n md5(cast({{ field }} as {{ api.Column.translate_type('string') }}))\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1155715, "supported_languages": null}, "macro.dbt.position": {"name": "position", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/position.sql", "original_file_path": "macros/utils/position.sql", "unique_id": "macro.dbt.position", "macro_sql": "{% macro position(substring_text, string_text) -%}\n {{ return(adapter.dispatch('position', 'dbt') (substring_text, string_text)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__position"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1160026, "supported_languages": null}, "macro.dbt.default__position": {"name": "default__position", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/position.sql", "original_file_path": "macros/utils/position.sql", "unique_id": "macro.dbt.default__position", "macro_sql": "{% macro default__position(substring_text, string_text) %}\n\n position(\n {{ substring_text }} in {{ string_text }}\n )\n\n{%- endmacro -%}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.116219, "supported_languages": null}, "macro.dbt.concat": {"name": "concat", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/concat.sql", "original_file_path": "macros/utils/concat.sql", "unique_id": "macro.dbt.concat", "macro_sql": "{% macro concat(fields) -%}\n {{ return(adapter.dispatch('concat', 'dbt')(fields)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__concat"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.116583, "supported_languages": null}, "macro.dbt.default__concat": {"name": "default__concat", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/concat.sql", "original_file_path": "macros/utils/concat.sql", "unique_id": "macro.dbt.default__concat", "macro_sql": "{% macro default__concat(fields) -%}\n {{ fields|join(' || ') }}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1167836, "supported_languages": null}, "macro.dbt.array_append": {"name": "array_append", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/array_append.sql", "original_file_path": "macros/utils/array_append.sql", "unique_id": "macro.dbt.array_append", "macro_sql": "{% macro array_append(array, new_element) -%}\n {{ return(adapter.dispatch('array_append', 'dbt')(array, new_element)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__array_append"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.117195, "supported_languages": null}, "macro.dbt.default__array_append": {"name": "default__array_append", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/array_append.sql", "original_file_path": "macros/utils/array_append.sql", "unique_id": "macro.dbt.default__array_append", "macro_sql": "{% macro default__array_append(array, new_element) -%}\n array_append({{ array }}, {{ new_element }})\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1174076, "supported_languages": null}, "macro.dbt.cast_bool_to_text": {"name": "cast_bool_to_text", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/cast_bool_to_text.sql", "original_file_path": "macros/utils/cast_bool_to_text.sql", "unique_id": "macro.dbt.cast_bool_to_text", "macro_sql": "{% macro cast_bool_to_text(field) %}\n {{ adapter.dispatch('cast_bool_to_text', 'dbt') (field) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__cast_bool_to_text"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1177745, "supported_languages": null}, "macro.dbt.default__cast_bool_to_text": {"name": "default__cast_bool_to_text", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/cast_bool_to_text.sql", "original_file_path": "macros/utils/cast_bool_to_text.sql", "unique_id": "macro.dbt.default__cast_bool_to_text", "macro_sql": "{% macro default__cast_bool_to_text(field) %}\n cast({{ field }} as {{ api.Column.translate_type('string') }})\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1180255, "supported_languages": null}, "macro.dbt.except": {"name": "except", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/except.sql", "original_file_path": "macros/utils/except.sql", "unique_id": "macro.dbt.except", "macro_sql": "{% macro except() %}\n {{ return(adapter.dispatch('except', 'dbt')()) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__except"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1183689, "supported_languages": null}, "macro.dbt.default__except": {"name": "default__except", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/except.sql", "original_file_path": "macros/utils/except.sql", "unique_id": "macro.dbt.default__except", "macro_sql": "{% macro default__except() %}\n\n except\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1184995, "supported_languages": null}, "macro.dbt.dateadd": {"name": "dateadd", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/dateadd.sql", "original_file_path": "macros/utils/dateadd.sql", "unique_id": "macro.dbt.dateadd", "macro_sql": "{% macro dateadd(datepart, interval, from_date_or_timestamp) %}\n {{ return(adapter.dispatch('dateadd', 'dbt')(datepart, interval, from_date_or_timestamp)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__dateadd"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1189876, "supported_languages": null}, "macro.dbt.default__dateadd": {"name": "default__dateadd", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/dateadd.sql", "original_file_path": "macros/utils/dateadd.sql", "unique_id": "macro.dbt.default__dateadd", "macro_sql": "{% macro default__dateadd(datepart, interval, from_date_or_timestamp) %}\n\n dateadd(\n {{ datepart }},\n {{ interval }},\n {{ from_date_or_timestamp }}\n )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1192474, "supported_languages": null}, "macro.dbt.array_concat": {"name": "array_concat", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/array_concat.sql", "original_file_path": "macros/utils/array_concat.sql", "unique_id": "macro.dbt.array_concat", "macro_sql": "{% macro array_concat(array_1, array_2) -%}\n {{ return(adapter.dispatch('array_concat', 'dbt')(array_1, array_2)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__array_concat"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1196647, "supported_languages": null}, "macro.dbt.default__array_concat": {"name": "default__array_concat", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/array_concat.sql", "original_file_path": "macros/utils/array_concat.sql", "unique_id": "macro.dbt.default__array_concat", "macro_sql": "{% macro default__array_concat(array_1, array_2) -%}\n array_cat({{ array_1 }}, {{ array_2 }})\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1198819, "supported_languages": null}, "macro.dbt.split_part": {"name": "split_part", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/split_part.sql", "original_file_path": "macros/utils/split_part.sql", "unique_id": "macro.dbt.split_part", "macro_sql": "{% macro split_part(string_text, delimiter_text, part_number) %}\n {{ return(adapter.dispatch('split_part', 'dbt') (string_text, delimiter_text, part_number)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__split_part"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1205924, "supported_languages": null}, "macro.dbt.default__split_part": {"name": "default__split_part", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/split_part.sql", "original_file_path": "macros/utils/split_part.sql", "unique_id": "macro.dbt.default__split_part", "macro_sql": "{% macro default__split_part(string_text, delimiter_text, part_number) %}\n\n split_part(\n {{ string_text }},\n {{ delimiter_text }},\n {{ part_number }}\n )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1208532, "supported_languages": null}, "macro.dbt._split_part_negative": {"name": "_split_part_negative", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/split_part.sql", "original_file_path": "macros/utils/split_part.sql", "unique_id": "macro.dbt._split_part_negative", "macro_sql": "{% macro _split_part_negative(string_text, delimiter_text, part_number) %}\n\n split_part(\n {{ string_text }},\n {{ delimiter_text }},\n length({{ string_text }})\n - length(\n replace({{ string_text }}, {{ delimiter_text }}, '')\n ) + 2 {{ part_number }}\n )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1212988, "supported_languages": null}, "macro.dbt.intersect": {"name": "intersect", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/intersect.sql", "original_file_path": "macros/utils/intersect.sql", "unique_id": "macro.dbt.intersect", "macro_sql": "{% macro intersect() %}\n {{ return(adapter.dispatch('intersect', 'dbt')()) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__intersect"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1216378, "supported_languages": null}, "macro.dbt.default__intersect": {"name": "default__intersect", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/intersect.sql", "original_file_path": "macros/utils/intersect.sql", "unique_id": "macro.dbt.default__intersect", "macro_sql": "{% macro default__intersect() %}\n\n intersect\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1217651, "supported_languages": null}, "macro.dbt.array_construct": {"name": "array_construct", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/array_construct.sql", "original_file_path": "macros/utils/array_construct.sql", "unique_id": "macro.dbt.array_construct", "macro_sql": "{% macro array_construct(inputs=[], data_type=api.Column.translate_type('integer')) -%}\n {{ return(adapter.dispatch('array_construct', 'dbt')(inputs, data_type)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__array_construct"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1222997, "supported_languages": null}, "macro.dbt.default__array_construct": {"name": "default__array_construct", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/array_construct.sql", "original_file_path": "macros/utils/array_construct.sql", "unique_id": "macro.dbt.default__array_construct", "macro_sql": "{% macro default__array_construct(inputs, data_type) -%}\n {% if inputs|length > 0 %}\n array[ {{ inputs|join(' , ') }} ]\n {% else %}\n array[]::{{data_type}}[]\n {% endif %}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.122669, "supported_languages": null}, "macro.dbt.datediff": {"name": "datediff", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/datediff.sql", "original_file_path": "macros/utils/datediff.sql", "unique_id": "macro.dbt.datediff", "macro_sql": "{% macro datediff(first_date, second_date, datepart) %}\n {{ return(adapter.dispatch('datediff', 'dbt')(first_date, second_date, datepart)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__datediff"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1231527, "supported_languages": null}, "macro.dbt.default__datediff": {"name": "default__datediff", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/datediff.sql", "original_file_path": "macros/utils/datediff.sql", "unique_id": "macro.dbt.default__datediff", "macro_sql": "{% macro default__datediff(first_date, second_date, datepart) -%}\n\n datediff(\n {{ datepart }},\n {{ first_date }},\n {{ second_date }}\n )\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1234114, "supported_languages": null}, "macro.dbt.safe_cast": {"name": "safe_cast", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/safe_cast.sql", "original_file_path": "macros/utils/safe_cast.sql", "unique_id": "macro.dbt.safe_cast", "macro_sql": "{% macro safe_cast(field, type) %}\n {{ return(adapter.dispatch('safe_cast', 'dbt') (field, type)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__safe_cast"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1238391, "supported_languages": null}, "macro.dbt.default__safe_cast": {"name": "default__safe_cast", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/safe_cast.sql", "original_file_path": "macros/utils/safe_cast.sql", "unique_id": "macro.dbt.default__safe_cast", "macro_sql": "{% macro default__safe_cast(field, type) %}\n {# most databases don't support this function yet\n so we just need to use cast #}\n cast({{field}} as {{type}})\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.124061, "supported_languages": null}, "macro.dbt.escape_single_quotes": {"name": "escape_single_quotes", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/escape_single_quotes.sql", "original_file_path": "macros/utils/escape_single_quotes.sql", "unique_id": "macro.dbt.escape_single_quotes", "macro_sql": "{% macro escape_single_quotes(expression) %}\n {{ return(adapter.dispatch('escape_single_quotes', 'dbt') (expression)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__escape_single_quotes"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.124455, "supported_languages": null}, "macro.dbt.default__escape_single_quotes": {"name": "default__escape_single_quotes", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/escape_single_quotes.sql", "original_file_path": "macros/utils/escape_single_quotes.sql", "unique_id": "macro.dbt.default__escape_single_quotes", "macro_sql": "{% macro default__escape_single_quotes(expression) -%}\n{{ expression | replace(\"'\",\"''\") }}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1246765, "supported_languages": null}, "macro.dbt.length": {"name": "length", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/length.sql", "original_file_path": "macros/utils/length.sql", "unique_id": "macro.dbt.length", "macro_sql": "{% macro length(expression) -%}\n {{ return(adapter.dispatch('length', 'dbt') (expression)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__length"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1250541, "supported_languages": null}, "macro.dbt.default__length": {"name": "default__length", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/length.sql", "original_file_path": "macros/utils/length.sql", "unique_id": "macro.dbt.default__length", "macro_sql": "{% macro default__length(expression) %}\n\n length(\n {{ expression }}\n )\n\n{%- endmacro -%}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1252291, "supported_languages": null}, "macro.dbt.any_value": {"name": "any_value", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/any_value.sql", "original_file_path": "macros/utils/any_value.sql", "unique_id": "macro.dbt.any_value", "macro_sql": "{% macro any_value(expression) -%}\n {{ return(adapter.dispatch('any_value', 'dbt') (expression)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__any_value"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.125598, "supported_languages": null}, "macro.dbt.default__any_value": {"name": "default__any_value", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/any_value.sql", "original_file_path": "macros/utils/any_value.sql", "unique_id": "macro.dbt.default__any_value", "macro_sql": "{% macro default__any_value(expression) -%}\n\n any_value({{ expression }})\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1257677, "supported_languages": null}, "macro.dbt.type_string": {"name": "type_string", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.type_string", "macro_sql": "\n\n{%- macro type_string() -%}\n {{ return(adapter.dispatch('type_string', 'dbt')()) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.default__type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1270993, "supported_languages": null}, "macro.dbt.default__type_string": {"name": "default__type_string", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.default__type_string", "macro_sql": "{% macro default__type_string() %}\n {{ return(api.Column.translate_type(\"string\")) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.127338, "supported_languages": null}, "macro.dbt.type_timestamp": {"name": "type_timestamp", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.type_timestamp", "macro_sql": "\n\n{%- macro type_timestamp() -%}\n {{ return(adapter.dispatch('type_timestamp', 'dbt')()) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.default__type_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1275964, "supported_languages": null}, "macro.dbt.default__type_timestamp": {"name": "default__type_timestamp", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.default__type_timestamp", "macro_sql": "{% macro default__type_timestamp() %}\n {{ return(api.Column.translate_type(\"timestamp\")) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1278374, "supported_languages": null}, "macro.dbt.type_float": {"name": "type_float", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.type_float", "macro_sql": "\n\n{%- macro type_float() -%}\n {{ return(adapter.dispatch('type_float', 'dbt')()) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.default__type_float"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1280878, "supported_languages": null}, "macro.dbt.default__type_float": {"name": "default__type_float", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.default__type_float", "macro_sql": "{% macro default__type_float() %}\n {{ return(api.Column.translate_type(\"float\")) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1283212, "supported_languages": null}, "macro.dbt.type_numeric": {"name": "type_numeric", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.type_numeric", "macro_sql": "\n\n{%- macro type_numeric() -%}\n {{ return(adapter.dispatch('type_numeric', 'dbt')()) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.default__type_numeric"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1285691, "supported_languages": null}, "macro.dbt.default__type_numeric": {"name": "default__type_numeric", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.default__type_numeric", "macro_sql": "{% macro default__type_numeric() %}\n {{ return(api.Column.numeric_type(\"numeric\", 28, 6)) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1288397, "supported_languages": null}, "macro.dbt.type_bigint": {"name": "type_bigint", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.type_bigint", "macro_sql": "\n\n{%- macro type_bigint() -%}\n {{ return(adapter.dispatch('type_bigint', 'dbt')()) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.default__type_bigint"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.129091, "supported_languages": null}, "macro.dbt.default__type_bigint": {"name": "default__type_bigint", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.default__type_bigint", "macro_sql": "{% macro default__type_bigint() %}\n {{ return(api.Column.translate_type(\"bigint\")) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.129325, "supported_languages": null}, "macro.dbt.type_int": {"name": "type_int", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.type_int", "macro_sql": "\n\n{%- macro type_int() -%}\n {{ return(adapter.dispatch('type_int', 'dbt')()) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.default__type_int"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.129575, "supported_languages": null}, "macro.dbt.default__type_int": {"name": "default__type_int", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.default__type_int", "macro_sql": "{%- macro default__type_int() -%}\n {{ return(api.Column.translate_type(\"integer\")) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1301036, "supported_languages": null}, "macro.dbt.type_boolean": {"name": "type_boolean", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.type_boolean", "macro_sql": "\n\n{%- macro type_boolean() -%}\n {{ return(adapter.dispatch('type_boolean', 'dbt')()) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.default__type_boolean"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.130362, "supported_languages": null}, "macro.dbt.default__type_boolean": {"name": "default__type_boolean", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.default__type_boolean", "macro_sql": "{%- macro default__type_boolean() -%}\n {{ return(api.Column.translate_type(\"boolean\")) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1305928, "supported_languages": null}, "macro.dbt.string_literal": {"name": "string_literal", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/literal.sql", "original_file_path": "macros/utils/literal.sql", "unique_id": "macro.dbt.string_literal", "macro_sql": "{%- macro string_literal(value) -%}\n {{ return(adapter.dispatch('string_literal', 'dbt') (value)) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.default__string_literal"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1309614, "supported_languages": null}, "macro.dbt.default__string_literal": {"name": "default__string_literal", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/literal.sql", "original_file_path": "macros/utils/literal.sql", "unique_id": "macro.dbt.default__string_literal", "macro_sql": "{% macro default__string_literal(value) -%}\n '{{ value }}'\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.131129, "supported_languages": null}, "macro.dbt.last_day": {"name": "last_day", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/last_day.sql", "original_file_path": "macros/utils/last_day.sql", "unique_id": "macro.dbt.last_day", "macro_sql": "{% macro last_day(date, datepart) %}\n {{ return(adapter.dispatch('last_day', 'dbt') (date, datepart)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__last_day"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.13167, "supported_languages": null}, "macro.dbt.default_last_day": {"name": "default_last_day", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/last_day.sql", "original_file_path": "macros/utils/last_day.sql", "unique_id": "macro.dbt.default_last_day", "macro_sql": "\n\n{%- macro default_last_day(date, datepart) -%}\n cast(\n {{dbt.dateadd('day', '-1',\n dbt.dateadd(datepart, '1', dbt.date_trunc(datepart, date))\n )}}\n as date)\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.dateadd", "macro.dbt.date_trunc"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.132067, "supported_languages": null}, "macro.dbt.default__last_day": {"name": "default__last_day", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/last_day.sql", "original_file_path": "macros/utils/last_day.sql", "unique_id": "macro.dbt.default__last_day", "macro_sql": "{% macro default__last_day(date, datepart) -%}\n {{dbt.default_last_day(date, datepart)}}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default_last_day"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1322947, "supported_languages": null}, "macro.dbt.resolve_model_name": {"name": "resolve_model_name", "resource_type": "macro", "package_name": "dbt", "path": "macros/python_model/python.sql", "original_file_path": "macros/python_model/python.sql", "unique_id": "macro.dbt.resolve_model_name", "macro_sql": "{% macro resolve_model_name(input_model_name) %}\n {{ return(adapter.dispatch('resolve_model_name', 'dbt')(input_model_name)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__resolve_model_name"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1343706, "supported_languages": null}, "macro.dbt.default__resolve_model_name": {"name": "default__resolve_model_name", "resource_type": "macro", "package_name": "dbt", "path": "macros/python_model/python.sql", "original_file_path": "macros/python_model/python.sql", "unique_id": "macro.dbt.default__resolve_model_name", "macro_sql": "\n\n{%- macro default__resolve_model_name(input_model_name) -%}\n {{ input_model_name | string | replace('\"', '\\\"') }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1346242, "supported_languages": null}, "macro.dbt.build_ref_function": {"name": "build_ref_function", "resource_type": "macro", "package_name": "dbt", "path": "macros/python_model/python.sql", "original_file_path": "macros/python_model/python.sql", "unique_id": "macro.dbt.build_ref_function", "macro_sql": "{% macro build_ref_function(model) %}\n\n {%- set ref_dict = {} -%}\n {%- for _ref in model.refs -%}\n {% set _ref_args = [_ref.get('package'), _ref['name']] if _ref.get('package') else [_ref['name'],] %}\n {%- set resolved = ref(*_ref_args, v=_ref.get('version')) -%}\n {%- if _ref.get('version') -%}\n {% do _ref_args.extend([\"v\" ~ _ref['version']]) %}\n {%- endif -%}\n {%- do ref_dict.update({_ref_args | join('.'): resolve_model_name(resolved)}) -%}\n {%- endfor -%}\n\ndef ref(*args, **kwargs):\n refs = {{ ref_dict | tojson }}\n key = '.'.join(args)\n version = kwargs.get(\"v\") or kwargs.get(\"version\")\n if version:\n key += f\".v{version}\"\n dbt_load_df_function = kwargs.get(\"dbt_load_df_function\")\n return dbt_load_df_function(refs[key])\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.resolve_model_name"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1358256, "supported_languages": null}, "macro.dbt.build_source_function": {"name": "build_source_function", "resource_type": "macro", "package_name": "dbt", "path": "macros/python_model/python.sql", "original_file_path": "macros/python_model/python.sql", "unique_id": "macro.dbt.build_source_function", "macro_sql": "{% macro build_source_function(model) %}\n\n {%- set source_dict = {} -%}\n {%- for _source in model.sources -%}\n {%- set resolved = source(*_source) -%}\n {%- do source_dict.update({_source | join('.'): resolve_model_name(resolved)}) -%}\n {%- endfor -%}\n\ndef source(*args, dbt_load_df_function):\n sources = {{ source_dict | tojson }}\n key = '.'.join(args)\n return dbt_load_df_function(sources[key])\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.resolve_model_name"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1364756, "supported_languages": null}, "macro.dbt.build_config_dict": {"name": "build_config_dict", "resource_type": "macro", "package_name": "dbt", "path": "macros/python_model/python.sql", "original_file_path": "macros/python_model/python.sql", "unique_id": "macro.dbt.build_config_dict", "macro_sql": "{% macro build_config_dict(model) %}\n {%- set config_dict = {} -%}\n {% set config_dbt_used = zip(model.config.config_keys_used, model.config.config_keys_defaults) | list %}\n {%- for key, default in config_dbt_used -%}\n {# weird type testing with enum, would be much easier to write this logic in Python! #}\n {%- if key == \"language\" -%}\n {%- set value = \"python\" -%}\n {%- endif -%}\n {%- set value = model.config.get(key, default) -%}\n {%- do config_dict.update({key: value}) -%}\n {%- endfor -%}\nconfig_dict = {{ config_dict }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1373382, "supported_languages": null}, "macro.dbt.py_script_postfix": {"name": "py_script_postfix", "resource_type": "macro", "package_name": "dbt", "path": "macros/python_model/python.sql", "original_file_path": "macros/python_model/python.sql", "unique_id": "macro.dbt.py_script_postfix", "macro_sql": "{% macro py_script_postfix(model) %}\n# This part is user provided model code\n# you will need to copy the next section to run the code\n# COMMAND ----------\n# this part is dbt logic for get ref work, do not modify\n\n{{ build_ref_function(model ) }}\n{{ build_source_function(model ) }}\n{{ build_config_dict(model) }}\n\nclass config:\n def __init__(self, *args, **kwargs):\n pass\n\n @staticmethod\n def get(key, default=None):\n return config_dict.get(key, default)\n\nclass this:\n \"\"\"dbt.this() or dbt.this.identifier\"\"\"\n database = \"{{ this.database }}\"\n schema = \"{{ this.schema }}\"\n identifier = \"{{ this.identifier }}\"\n {% set this_relation_name = resolve_model_name(this) %}\n def __repr__(self):\n return '{{ this_relation_name }}'\n\n\nclass dbtObj:\n def __init__(self, load_df_function) -> None:\n self.source = lambda *args: source(*args, dbt_load_df_function=load_df_function)\n self.ref = lambda *args, **kwargs: ref(*args, **kwargs, dbt_load_df_function=load_df_function)\n self.config = config\n self.this = this()\n self.is_incremental = {{ is_incremental() }}\n\n# COMMAND ----------\n{{py_script_comment()}}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.build_ref_function", "macro.dbt.build_source_function", "macro.dbt.build_config_dict", "macro.dbt.resolve_model_name", "macro.dbt.is_incremental", "macro.dbt.py_script_comment"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1380432, "supported_languages": null}, "macro.dbt.py_script_comment": {"name": "py_script_comment", "resource_type": "macro", "package_name": "dbt", "path": "macros/python_model/python.sql", "original_file_path": "macros/python_model/python.sql", "unique_id": "macro.dbt.py_script_comment", "macro_sql": "{%macro py_script_comment()%}\n{%endmacro%}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1381688, "supported_languages": null}, "macro.dbt.generate_database_name": {"name": "generate_database_name", "resource_type": "macro", "package_name": "dbt", "path": "macros/get_custom_name/get_custom_database.sql", "original_file_path": "macros/get_custom_name/get_custom_database.sql", "unique_id": "macro.dbt.generate_database_name", "macro_sql": "{% macro generate_database_name(custom_database_name=none, node=none) -%}\n {% do return(adapter.dispatch('generate_database_name', 'dbt')(custom_database_name, node)) %}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__generate_database_name"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1387286, "supported_languages": null}, "macro.dbt.default__generate_database_name": {"name": "default__generate_database_name", "resource_type": "macro", "package_name": "dbt", "path": "macros/get_custom_name/get_custom_database.sql", "original_file_path": "macros/get_custom_name/get_custom_database.sql", "unique_id": "macro.dbt.default__generate_database_name", "macro_sql": "{% macro default__generate_database_name(custom_database_name=none, node=none) -%}\n {%- set default_database = target.database -%}\n {%- if custom_database_name is none -%}\n\n {{ default_database }}\n\n {%- else -%}\n\n {{ custom_database_name }}\n\n {%- endif -%}\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1391227, "supported_languages": null}, "macro.dbt.generate_alias_name": {"name": "generate_alias_name", "resource_type": "macro", "package_name": "dbt", "path": "macros/get_custom_name/get_custom_alias.sql", "original_file_path": "macros/get_custom_name/get_custom_alias.sql", "unique_id": "macro.dbt.generate_alias_name", "macro_sql": "{% macro generate_alias_name(custom_alias_name=none, node=none) -%}\n {% do return(adapter.dispatch('generate_alias_name', 'dbt')(custom_alias_name, node)) %}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__generate_alias_name"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1397252, "supported_languages": null}, "macro.dbt.default__generate_alias_name": {"name": "default__generate_alias_name", "resource_type": "macro", "package_name": "dbt", "path": "macros/get_custom_name/get_custom_alias.sql", "original_file_path": "macros/get_custom_name/get_custom_alias.sql", "unique_id": "macro.dbt.default__generate_alias_name", "macro_sql": "{% macro default__generate_alias_name(custom_alias_name=none, node=none) -%}\n\n {%- if custom_alias_name -%}\n\n {{ custom_alias_name | trim }}\n\n {%- elif node.version -%}\n\n {{ return(node.name ~ \"_v\" ~ (node.version | replace(\".\", \"_\"))) }}\n\n {%- else -%}\n\n {{ node.name }}\n\n {%- endif -%}\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1402922, "supported_languages": null}, "macro.dbt.generate_schema_name": {"name": "generate_schema_name", "resource_type": "macro", "package_name": "dbt", "path": "macros/get_custom_name/get_custom_schema.sql", "original_file_path": "macros/get_custom_name/get_custom_schema.sql", "unique_id": "macro.dbt.generate_schema_name", "macro_sql": "{% macro generate_schema_name(custom_schema_name=none, node=none) -%}\n {{ return(adapter.dispatch('generate_schema_name', 'dbt')(custom_schema_name, node)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__generate_schema_name"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1410189, "supported_languages": null}, "macro.dbt.default__generate_schema_name": {"name": "default__generate_schema_name", "resource_type": "macro", "package_name": "dbt", "path": "macros/get_custom_name/get_custom_schema.sql", "original_file_path": "macros/get_custom_name/get_custom_schema.sql", "unique_id": "macro.dbt.default__generate_schema_name", "macro_sql": "{% macro default__generate_schema_name(custom_schema_name, node) -%}\n\n {%- set default_schema = target.schema -%}\n {%- if custom_schema_name is none -%}\n\n {{ default_schema }}\n\n {%- else -%}\n\n {{ default_schema }}_{{ custom_schema_name | trim }}\n\n {%- endif -%}\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1414297, "supported_languages": null}, "macro.dbt.generate_schema_name_for_env": {"name": "generate_schema_name_for_env", "resource_type": "macro", "package_name": "dbt", "path": "macros/get_custom_name/get_custom_schema.sql", "original_file_path": "macros/get_custom_name/get_custom_schema.sql", "unique_id": "macro.dbt.generate_schema_name_for_env", "macro_sql": "{% macro generate_schema_name_for_env(custom_schema_name, node) -%}\n\n {%- set default_schema = target.schema -%}\n {%- if target.name == 'prod' and custom_schema_name is not none -%}\n\n {{ custom_schema_name | trim }}\n\n {%- else -%}\n\n {{ default_schema }}\n\n {%- endif -%}\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1418676, "supported_languages": null}, "macro.dbt.statement": {"name": "statement", "resource_type": "macro", "package_name": "dbt", "path": "macros/etc/statement.sql", "original_file_path": "macros/etc/statement.sql", "unique_id": "macro.dbt.statement", "macro_sql": "\n{%- macro statement(name=None, fetch_result=False, auto_begin=True, language='sql') -%}\n {%- if execute: -%}\n {%- set compiled_code = caller() -%}\n\n {%- if name == 'main' -%}\n {{ log('Writing runtime {} for node \"{}\"'.format(language, model['unique_id'])) }}\n {{ write(compiled_code) }}\n {%- endif -%}\n {%- if language == 'sql'-%}\n {%- set res, table = adapter.execute(compiled_code, auto_begin=auto_begin, fetch=fetch_result) -%}\n {%- elif language == 'python' -%}\n {%- set res = submit_python_job(model, compiled_code) -%}\n {#-- TODO: What should table be for python models? --#}\n {%- set table = None -%}\n {%- else -%}\n {% do exceptions.raise_compiler_error(\"statement macro didn't get supported language\") %}\n {%- endif -%}\n\n {%- if name is not none -%}\n {{ store_result(name, response=res, agate_table=table) }}\n {%- endif -%}\n\n {%- endif -%}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1439528, "supported_languages": null}, "macro.dbt.noop_statement": {"name": "noop_statement", "resource_type": "macro", "package_name": "dbt", "path": "macros/etc/statement.sql", "original_file_path": "macros/etc/statement.sql", "unique_id": "macro.dbt.noop_statement", "macro_sql": "{% macro noop_statement(name=None, message=None, code=None, rows_affected=None, res=None) -%}\n {%- set sql = caller() -%}\n\n {%- if name == 'main' -%}\n {{ log('Writing runtime SQL for node \"{}\"'.format(model['unique_id'])) }}\n {{ write(sql) }}\n {%- endif -%}\n\n {%- if name is not none -%}\n {{ store_raw_result(name, message=message, code=code, rows_affected=rows_affected, agate_table=res) }}\n {%- endif -%}\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1447997, "supported_languages": null}, "macro.dbt.run_query": {"name": "run_query", "resource_type": "macro", "package_name": "dbt", "path": "macros/etc/statement.sql", "original_file_path": "macros/etc/statement.sql", "unique_id": "macro.dbt.run_query", "macro_sql": "{% macro run_query(sql) %}\n {% call statement(\"run_query_statement\", fetch_result=true, auto_begin=false) %}\n {{ sql }}\n {% endcall %}\n\n {% do return(load_result(\"run_query_statement\").table) %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1452346, "supported_languages": null}, "macro.dbt.convert_datetime": {"name": "convert_datetime", "resource_type": "macro", "package_name": "dbt", "path": "macros/etc/datetime.sql", "original_file_path": "macros/etc/datetime.sql", "unique_id": "macro.dbt.convert_datetime", "macro_sql": "{% macro convert_datetime(date_str, date_fmt) %}\n\n {% set error_msg -%}\n The provided partition date '{{ date_str }}' does not match the expected format '{{ date_fmt }}'\n {%- endset %}\n\n {% set res = try_or_compiler_error(error_msg, modules.datetime.datetime.strptime, date_str.strip(), date_fmt) %}\n {{ return(res) }}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1475897, "supported_languages": null}, "macro.dbt.dates_in_range": {"name": "dates_in_range", "resource_type": "macro", "package_name": "dbt", "path": "macros/etc/datetime.sql", "original_file_path": "macros/etc/datetime.sql", "unique_id": "macro.dbt.dates_in_range", "macro_sql": "{% macro dates_in_range(start_date_str, end_date_str=none, in_fmt=\"%Y%m%d\", out_fmt=\"%Y%m%d\") %}\n {% set end_date_str = start_date_str if end_date_str is none else end_date_str %}\n\n {% set start_date = convert_datetime(start_date_str, in_fmt) %}\n {% set end_date = convert_datetime(end_date_str, in_fmt) %}\n\n {% set day_count = (end_date - start_date).days %}\n {% if day_count < 0 %}\n {% set msg -%}\n Partiton start date is after the end date ({{ start_date }}, {{ end_date }})\n {%- endset %}\n\n {{ exceptions.raise_compiler_error(msg, model) }}\n {% endif %}\n\n {% set date_list = [] %}\n {% for i in range(0, day_count + 1) %}\n {% set the_date = (modules.datetime.timedelta(days=i) + start_date) %}\n {% if not out_fmt %}\n {% set _ = date_list.append(the_date) %}\n {% else %}\n {% set _ = date_list.append(the_date.strftime(out_fmt)) %}\n {% endif %}\n {% endfor %}\n\n {{ return(date_list) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.convert_datetime"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1494489, "supported_languages": null}, "macro.dbt.partition_range": {"name": "partition_range", "resource_type": "macro", "package_name": "dbt", "path": "macros/etc/datetime.sql", "original_file_path": "macros/etc/datetime.sql", "unique_id": "macro.dbt.partition_range", "macro_sql": "{% macro partition_range(raw_partition_date, date_fmt='%Y%m%d') %}\n {% set partition_range = (raw_partition_date | string).split(\",\") %}\n\n {% if (partition_range | length) == 1 %}\n {% set start_date = partition_range[0] %}\n {% set end_date = none %}\n {% elif (partition_range | length) == 2 %}\n {% set start_date = partition_range[0] %}\n {% set end_date = partition_range[1] %}\n {% else %}\n {{ exceptions.raise_compiler_error(\"Invalid partition time. Expected format: {Start Date}[,{End Date}]. Got: \" ~ raw_partition_date) }}\n {% endif %}\n\n {{ return(dates_in_range(start_date, end_date, in_fmt=date_fmt)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.dates_in_range"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1505444, "supported_languages": null}, "macro.dbt.py_current_timestring": {"name": "py_current_timestring", "resource_type": "macro", "package_name": "dbt", "path": "macros/etc/datetime.sql", "original_file_path": "macros/etc/datetime.sql", "unique_id": "macro.dbt.py_current_timestring", "macro_sql": "{% macro py_current_timestring() %}\n {% set dt = modules.datetime.datetime.now() %}\n {% do return(dt.strftime(\"%Y%m%d%H%M%S%f\")) %}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.150901, "supported_languages": null}, "macro.dbt.run_hooks": {"name": "run_hooks", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/hooks.sql", "original_file_path": "macros/materializations/hooks.sql", "unique_id": "macro.dbt.run_hooks", "macro_sql": "{% macro run_hooks(hooks, inside_transaction=True) %}\n {% for hook in hooks | selectattr('transaction', 'equalto', inside_transaction) %}\n {% if not inside_transaction and loop.first %}\n {% call statement(auto_begin=inside_transaction) %}\n commit;\n {% endcall %}\n {% endif %}\n {% set rendered = render(hook.get('sql')) | trim %}\n {% if (rendered | length) > 0 %}\n {% call statement(auto_begin=inside_transaction) %}\n {{ rendered }}\n {% endcall %}\n {% endif %}\n {% endfor %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1524055, "supported_languages": null}, "macro.dbt.make_hook_config": {"name": "make_hook_config", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/hooks.sql", "original_file_path": "macros/materializations/hooks.sql", "unique_id": "macro.dbt.make_hook_config", "macro_sql": "{% macro make_hook_config(sql, inside_transaction) %}\n {{ tojson({\"sql\": sql, \"transaction\": inside_transaction}) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1527019, "supported_languages": null}, "macro.dbt.before_begin": {"name": "before_begin", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/hooks.sql", "original_file_path": "macros/materializations/hooks.sql", "unique_id": "macro.dbt.before_begin", "macro_sql": "{% macro before_begin(sql) %}\n {{ make_hook_config(sql, inside_transaction=False) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.make_hook_config"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1529293, "supported_languages": null}, "macro.dbt.in_transaction": {"name": "in_transaction", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/hooks.sql", "original_file_path": "macros/materializations/hooks.sql", "unique_id": "macro.dbt.in_transaction", "macro_sql": "{% macro in_transaction(sql) %}\n {{ make_hook_config(sql, inside_transaction=True) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.make_hook_config"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1531496, "supported_languages": null}, "macro.dbt.after_commit": {"name": "after_commit", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/hooks.sql", "original_file_path": "macros/materializations/hooks.sql", "unique_id": "macro.dbt.after_commit", "macro_sql": "{% macro after_commit(sql) %}\n {{ make_hook_config(sql, inside_transaction=False) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.make_hook_config"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.15337, "supported_languages": null}, "macro.dbt.set_sql_header": {"name": "set_sql_header", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/configs.sql", "original_file_path": "macros/materializations/configs.sql", "unique_id": "macro.dbt.set_sql_header", "macro_sql": "{% macro set_sql_header(config) -%}\n {{ config.set('sql_header', caller()) }}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1538947, "supported_languages": null}, "macro.dbt.should_full_refresh": {"name": "should_full_refresh", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/configs.sql", "original_file_path": "macros/materializations/configs.sql", "unique_id": "macro.dbt.should_full_refresh", "macro_sql": "{% macro should_full_refresh() %}\n {% set config_full_refresh = config.get('full_refresh') %}\n {% if config_full_refresh is none %}\n {% set config_full_refresh = flags.FULL_REFRESH %}\n {% endif %}\n {% do return(config_full_refresh) %}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1543543, "supported_languages": null}, "macro.dbt.should_store_failures": {"name": "should_store_failures", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/configs.sql", "original_file_path": "macros/materializations/configs.sql", "unique_id": "macro.dbt.should_store_failures", "macro_sql": "{% macro should_store_failures() %}\n {% set config_store_failures = config.get('store_failures') %}\n {% if config_store_failures is none %}\n {% set config_store_failures = flags.STORE_FAILURES %}\n {% endif %}\n {% do return(config_store_failures) %}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1548097, "supported_languages": null}, "macro.dbt.snapshot_merge_sql": {"name": "snapshot_merge_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/snapshot_merge.sql", "original_file_path": "macros/materializations/snapshots/snapshot_merge.sql", "unique_id": "macro.dbt.snapshot_merge_sql", "macro_sql": "{% macro snapshot_merge_sql(target, source, insert_cols) -%}\n {{ adapter.dispatch('snapshot_merge_sql', 'dbt')(target, source, insert_cols) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__snapshot_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1554174, "supported_languages": null}, "macro.dbt.default__snapshot_merge_sql": {"name": "default__snapshot_merge_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/snapshot_merge.sql", "original_file_path": "macros/materializations/snapshots/snapshot_merge.sql", "unique_id": "macro.dbt.default__snapshot_merge_sql", "macro_sql": "{% macro default__snapshot_merge_sql(target, source, insert_cols) -%}\n {%- set insert_cols_csv = insert_cols | join(', ') -%}\n\n merge into {{ target }} as DBT_INTERNAL_DEST\n using {{ source }} as DBT_INTERNAL_SOURCE\n on DBT_INTERNAL_SOURCE.dbt_scd_id = DBT_INTERNAL_DEST.dbt_scd_id\n\n when matched\n and DBT_INTERNAL_DEST.dbt_valid_to is null\n and DBT_INTERNAL_SOURCE.dbt_change_type in ('update', 'delete')\n then update\n set dbt_valid_to = DBT_INTERNAL_SOURCE.dbt_valid_to\n\n when not matched\n and DBT_INTERNAL_SOURCE.dbt_change_type = 'insert'\n then insert ({{ insert_cols_csv }})\n values ({{ insert_cols_csv }})\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.155846, "supported_languages": null}, "macro.dbt.materialization_snapshot_default": {"name": "materialization_snapshot_default", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/snapshot.sql", "original_file_path": "macros/materializations/snapshots/snapshot.sql", "unique_id": "macro.dbt.materialization_snapshot_default", "macro_sql": "{% materialization snapshot, default %}\n {%- set config = model['config'] -%}\n\n {%- set target_table = model.get('alias', model.get('name')) -%}\n\n {%- set strategy_name = config.get('strategy') -%}\n {%- set unique_key = config.get('unique_key') %}\n -- grab current tables grants config for comparision later on\n {%- set grant_config = config.get('grants') -%}\n\n {% set target_relation_exists, target_relation = get_or_create_relation(\n database=model.database,\n schema=model.schema,\n identifier=target_table,\n type='table') -%}\n\n {%- if not target_relation.is_table -%}\n {% do exceptions.relation_wrong_type(target_relation, 'table') %}\n {%- endif -%}\n\n\n {{ run_hooks(pre_hooks, inside_transaction=False) }}\n\n {{ run_hooks(pre_hooks, inside_transaction=True) }}\n\n {% set strategy_macro = strategy_dispatch(strategy_name) %}\n {% set strategy = strategy_macro(model, \"snapshotted_data\", \"source_data\", config, target_relation_exists) %}\n\n {% if not target_relation_exists %}\n\n {% set build_sql = build_snapshot_table(strategy, model['compiled_code']) %}\n {% set final_sql = create_table_as(False, target_relation, build_sql) %}\n\n {% else %}\n\n {{ adapter.valid_snapshot_target(target_relation) }}\n\n {% set staging_table = build_snapshot_staging_table(strategy, sql, target_relation) %}\n\n -- this may no-op if the database does not require column expansion\n {% do adapter.expand_target_column_types(from_relation=staging_table,\n to_relation=target_relation) %}\n\n {% set missing_columns = adapter.get_missing_columns(staging_table, target_relation)\n | rejectattr('name', 'equalto', 'dbt_change_type')\n | rejectattr('name', 'equalto', 'DBT_CHANGE_TYPE')\n | rejectattr('name', 'equalto', 'dbt_unique_key')\n | rejectattr('name', 'equalto', 'DBT_UNIQUE_KEY')\n | list %}\n\n {% do create_columns(target_relation, missing_columns) %}\n\n {% set source_columns = adapter.get_columns_in_relation(staging_table)\n | rejectattr('name', 'equalto', 'dbt_change_type')\n | rejectattr('name', 'equalto', 'DBT_CHANGE_TYPE')\n | rejectattr('name', 'equalto', 'dbt_unique_key')\n | rejectattr('name', 'equalto', 'DBT_UNIQUE_KEY')\n | list %}\n\n {% set quoted_source_columns = [] %}\n {% for column in source_columns %}\n {% do quoted_source_columns.append(adapter.quote(column.name)) %}\n {% endfor %}\n\n {% set final_sql = snapshot_merge_sql(\n target = target_relation,\n source = staging_table,\n insert_cols = quoted_source_columns\n )\n %}\n\n {% endif %}\n\n {% call statement('main') %}\n {{ final_sql }}\n {% endcall %}\n\n {% set should_revoke = should_revoke(target_relation_exists, full_refresh_mode=False) %}\n {% do apply_grants(target_relation, grant_config, should_revoke=should_revoke) %}\n\n {% do persist_docs(target_relation, model) %}\n\n {% if not target_relation_exists %}\n {% do create_indexes(target_relation) %}\n {% endif %}\n\n {{ run_hooks(post_hooks, inside_transaction=True) }}\n\n {{ adapter.commit() }}\n\n {% if staging_table is defined %}\n {% do post_snapshot(staging_table) %}\n {% endif %}\n\n {{ run_hooks(post_hooks, inside_transaction=False) }}\n\n {{ return({'relations': [target_relation]}) }}\n\n{% endmaterialization %}", "depends_on": {"macros": ["macro.dbt.get_or_create_relation", "macro.dbt.run_hooks", "macro.dbt.strategy_dispatch", "macro.dbt.build_snapshot_table", "macro.dbt.create_table_as", "macro.dbt.build_snapshot_staging_table", "macro.dbt.create_columns", "macro.dbt.snapshot_merge_sql", "macro.dbt.statement", "macro.dbt.should_revoke", "macro.dbt.apply_grants", "macro.dbt.persist_docs", "macro.dbt.create_indexes", "macro.dbt.post_snapshot"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1638467, "supported_languages": ["sql"]}, "macro.dbt.create_columns": {"name": "create_columns", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.create_columns", "macro_sql": "{% macro create_columns(relation, columns) %}\n {{ adapter.dispatch('create_columns', 'dbt')(relation, columns) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__create_columns"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1688137, "supported_languages": null}, "macro.dbt.default__create_columns": {"name": "default__create_columns", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.default__create_columns", "macro_sql": "{% macro default__create_columns(relation, columns) %}\n {% for column in columns %}\n {% call statement() %}\n alter table {{ relation }} add column \"{{ column.name }}\" {{ column.data_type }};\n {% endcall %}\n {% endfor %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.169244, "supported_languages": null}, "macro.dbt.post_snapshot": {"name": "post_snapshot", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.post_snapshot", "macro_sql": "{% macro post_snapshot(staging_relation) %}\n {{ adapter.dispatch('post_snapshot', 'dbt')(staging_relation) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__post_snapshot"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1695023, "supported_languages": null}, "macro.dbt.default__post_snapshot": {"name": "default__post_snapshot", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.default__post_snapshot", "macro_sql": "{% macro default__post_snapshot(staging_relation) %}\n {# no-op #}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1696486, "supported_languages": null}, "macro.dbt.get_true_sql": {"name": "get_true_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.get_true_sql", "macro_sql": "{% macro get_true_sql() %}\n {{ adapter.dispatch('get_true_sql', 'dbt')() }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_true_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1698735, "supported_languages": null}, "macro.dbt.default__get_true_sql": {"name": "default__get_true_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.default__get_true_sql", "macro_sql": "{% macro default__get_true_sql() %}\n {{ return('TRUE') }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.170056, "supported_languages": null}, "macro.dbt.snapshot_staging_table": {"name": "snapshot_staging_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.snapshot_staging_table", "macro_sql": "{% macro snapshot_staging_table(strategy, source_sql, target_relation) -%}\n {{ adapter.dispatch('snapshot_staging_table', 'dbt')(strategy, source_sql, target_relation) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__snapshot_staging_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1703632, "supported_languages": null}, "macro.dbt.default__snapshot_staging_table": {"name": "default__snapshot_staging_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.default__snapshot_staging_table", "macro_sql": "{% macro default__snapshot_staging_table(strategy, source_sql, target_relation) -%}\n\n with snapshot_query as (\n\n {{ source_sql }}\n\n ),\n\n snapshotted_data as (\n\n select *,\n {{ strategy.unique_key }} as dbt_unique_key\n\n from {{ target_relation }}\n where dbt_valid_to is null\n\n ),\n\n insertions_source_data as (\n\n select\n *,\n {{ strategy.unique_key }} as dbt_unique_key,\n {{ strategy.updated_at }} as dbt_updated_at,\n {{ strategy.updated_at }} as dbt_valid_from,\n nullif({{ strategy.updated_at }}, {{ strategy.updated_at }}) as dbt_valid_to,\n {{ strategy.scd_id }} as dbt_scd_id\n\n from snapshot_query\n ),\n\n updates_source_data as (\n\n select\n *,\n {{ strategy.unique_key }} as dbt_unique_key,\n {{ strategy.updated_at }} as dbt_updated_at,\n {{ strategy.updated_at }} as dbt_valid_from,\n {{ strategy.updated_at }} as dbt_valid_to\n\n from snapshot_query\n ),\n\n {%- if strategy.invalidate_hard_deletes %}\n\n deletes_source_data as (\n\n select\n *,\n {{ strategy.unique_key }} as dbt_unique_key\n from snapshot_query\n ),\n {% endif %}\n\n insertions as (\n\n select\n 'insert' as dbt_change_type,\n source_data.*\n\n from insertions_source_data as source_data\n left outer join snapshotted_data on snapshotted_data.dbt_unique_key = source_data.dbt_unique_key\n where snapshotted_data.dbt_unique_key is null\n or (\n snapshotted_data.dbt_unique_key is not null\n and (\n {{ strategy.row_changed }}\n )\n )\n\n ),\n\n updates as (\n\n select\n 'update' as dbt_change_type,\n source_data.*,\n snapshotted_data.dbt_scd_id\n\n from updates_source_data as source_data\n join snapshotted_data on snapshotted_data.dbt_unique_key = source_data.dbt_unique_key\n where (\n {{ strategy.row_changed }}\n )\n )\n\n {%- if strategy.invalidate_hard_deletes -%}\n ,\n\n deletes as (\n\n select\n 'delete' as dbt_change_type,\n source_data.*,\n {{ snapshot_get_time() }} as dbt_valid_from,\n {{ snapshot_get_time() }} as dbt_updated_at,\n {{ snapshot_get_time() }} as dbt_valid_to,\n snapshotted_data.dbt_scd_id\n\n from snapshotted_data\n left join deletes_source_data as source_data on snapshotted_data.dbt_unique_key = source_data.dbt_unique_key\n where source_data.dbt_unique_key is null\n )\n {%- endif %}\n\n select * from insertions\n union all\n select * from updates\n {%- if strategy.invalidate_hard_deletes %}\n union all\n select * from deletes\n {%- endif %}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.snapshot_get_time"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1717129, "supported_languages": null}, "macro.dbt.build_snapshot_table": {"name": "build_snapshot_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.build_snapshot_table", "macro_sql": "{% macro build_snapshot_table(strategy, sql) -%}\n {{ adapter.dispatch('build_snapshot_table', 'dbt')(strategy, sql) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__build_snapshot_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1720035, "supported_languages": null}, "macro.dbt.default__build_snapshot_table": {"name": "default__build_snapshot_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.default__build_snapshot_table", "macro_sql": "{% macro default__build_snapshot_table(strategy, sql) %}\n\n select *,\n {{ strategy.scd_id }} as dbt_scd_id,\n {{ strategy.updated_at }} as dbt_updated_at,\n {{ strategy.updated_at }} as dbt_valid_from,\n nullif({{ strategy.updated_at }}, {{ strategy.updated_at }}) as dbt_valid_to\n from (\n {{ sql }}\n ) sbq\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1723912, "supported_languages": null}, "macro.dbt.build_snapshot_staging_table": {"name": "build_snapshot_staging_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.build_snapshot_staging_table", "macro_sql": "{% macro build_snapshot_staging_table(strategy, sql, target_relation) %}\n {% set temp_relation = make_temp_relation(target_relation) %}\n\n {% set select = snapshot_staging_table(strategy, sql, target_relation) %}\n\n {% call statement('build_snapshot_staging_relation') %}\n {{ create_table_as(True, temp_relation, select) }}\n {% endcall %}\n\n {% do return(temp_relation) %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.make_temp_relation", "macro.dbt.snapshot_staging_table", "macro.dbt.statement", "macro.dbt.create_table_as"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1730142, "supported_languages": null}, "macro.dbt.strategy_dispatch": {"name": "strategy_dispatch", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "unique_id": "macro.dbt.strategy_dispatch", "macro_sql": "{% macro strategy_dispatch(name) -%}\n{% set original_name = name %}\n {% if '.' in name %}\n {% set package_name, name = name.split(\".\", 1) %}\n {% else %}\n {% set package_name = none %}\n {% endif %}\n\n {% if package_name is none %}\n {% set package_context = context %}\n {% elif package_name in context %}\n {% set package_context = context[package_name] %}\n {% else %}\n {% set error_msg %}\n Could not find package '{{package_name}}', called with '{{original_name}}'\n {% endset %}\n {{ exceptions.raise_compiler_error(error_msg | trim) }}\n {% endif %}\n\n {%- set search_name = 'snapshot_' ~ name ~ '_strategy' -%}\n\n {% if search_name not in package_context %}\n {% set error_msg %}\n The specified strategy macro '{{name}}' was not found in package '{{ package_name }}'\n {% endset %}\n {{ exceptions.raise_compiler_error(error_msg | trim) }}\n {% endif %}\n {{ return(package_context[search_name]) }}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.177748, "supported_languages": null}, "macro.dbt.snapshot_hash_arguments": {"name": "snapshot_hash_arguments", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "unique_id": "macro.dbt.snapshot_hash_arguments", "macro_sql": "{% macro snapshot_hash_arguments(args) -%}\n {{ adapter.dispatch('snapshot_hash_arguments', 'dbt')(args) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__snapshot_hash_arguments"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.178012, "supported_languages": null}, "macro.dbt.default__snapshot_hash_arguments": {"name": "default__snapshot_hash_arguments", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "unique_id": "macro.dbt.default__snapshot_hash_arguments", "macro_sql": "{% macro default__snapshot_hash_arguments(args) -%}\n md5({%- for arg in args -%}\n coalesce(cast({{ arg }} as varchar ), '')\n {% if not loop.last %} || '|' || {% endif %}\n {%- endfor -%})\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1783578, "supported_languages": null}, "macro.dbt.snapshot_timestamp_strategy": {"name": "snapshot_timestamp_strategy", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "unique_id": "macro.dbt.snapshot_timestamp_strategy", "macro_sql": "{% macro snapshot_timestamp_strategy(node, snapshotted_rel, current_rel, config, target_exists) %}\n {% set primary_key = config['unique_key'] %}\n {% set updated_at = config['updated_at'] %}\n {% set invalidate_hard_deletes = config.get('invalidate_hard_deletes', false) %}\n\n {#/*\n The snapshot relation might not have an {{ updated_at }} value if the\n snapshot strategy is changed from `check` to `timestamp`. We\n should use a dbt-created column for the comparison in the snapshot\n table instead of assuming that the user-supplied {{ updated_at }}\n will be present in the historical data.\n\n See https://github.com/dbt-labs/dbt-core/issues/2350\n */ #}\n {% set row_changed_expr -%}\n ({{ snapshotted_rel }}.dbt_valid_from < {{ current_rel }}.{{ updated_at }})\n {%- endset %}\n\n {% set scd_id_expr = snapshot_hash_arguments([primary_key, updated_at]) %}\n\n {% do return({\n \"unique_key\": primary_key,\n \"updated_at\": updated_at,\n \"row_changed\": row_changed_expr,\n \"scd_id\": scd_id_expr,\n \"invalidate_hard_deletes\": invalidate_hard_deletes\n }) %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.snapshot_hash_arguments"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1793942, "supported_languages": null}, "macro.dbt.snapshot_string_as_time": {"name": "snapshot_string_as_time", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "unique_id": "macro.dbt.snapshot_string_as_time", "macro_sql": "{% macro snapshot_string_as_time(timestamp) -%}\n {{ adapter.dispatch('snapshot_string_as_time', 'dbt')(timestamp) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__snapshot_string_as_time"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1796782, "supported_languages": null}, "macro.dbt.default__snapshot_string_as_time": {"name": "default__snapshot_string_as_time", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "unique_id": "macro.dbt.default__snapshot_string_as_time", "macro_sql": "{% macro default__snapshot_string_as_time(timestamp) %}\n {% do exceptions.raise_not_implemented(\n 'snapshot_string_as_time macro not implemented for adapter '+adapter.type()\n ) %}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1799495, "supported_languages": null}, "macro.dbt.snapshot_check_all_get_existing_columns": {"name": "snapshot_check_all_get_existing_columns", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "unique_id": "macro.dbt.snapshot_check_all_get_existing_columns", "macro_sql": "{% macro snapshot_check_all_get_existing_columns(node, target_exists, check_cols_config) -%}\n {%- if not target_exists -%}\n {#-- no table yet -> return whatever the query does --#}\n {{ return((false, query_columns)) }}\n {%- endif -%}\n\n {#-- handle any schema changes --#}\n {%- set target_relation = adapter.get_relation(database=node.database, schema=node.schema, identifier=node.alias) -%}\n\n {% if check_cols_config == 'all' %}\n {%- set query_columns = get_columns_in_query(node['compiled_code']) -%}\n\n {% elif check_cols_config is iterable and (check_cols_config | length) > 0 %}\n {#-- query for proper casing/quoting, to support comparison below --#}\n {%- set select_check_cols_from_target -%}\n {#-- N.B. The whitespace below is necessary to avoid edge case issue with comments --#}\n {#-- See: https://github.com/dbt-labs/dbt-core/issues/6781 --#}\n select {{ check_cols_config | join(', ') }} from (\n {{ node['compiled_code'] }}\n ) subq\n {%- endset -%}\n {% set query_columns = get_columns_in_query(select_check_cols_from_target) %}\n\n {% else %}\n {% do exceptions.raise_compiler_error(\"Invalid value for 'check_cols': \" ~ check_cols_config) %}\n {% endif %}\n\n {%- set existing_cols = adapter.get_columns_in_relation(target_relation) | map(attribute = 'name') | list -%}\n {%- set ns = namespace() -%} {#-- handle for-loop scoping with a namespace --#}\n {%- set ns.column_added = false -%}\n\n {%- set intersection = [] -%}\n {%- for col in query_columns -%}\n {%- if col in existing_cols -%}\n {%- do intersection.append(adapter.quote(col)) -%}\n {%- else -%}\n {% set ns.column_added = true %}\n {%- endif -%}\n {%- endfor -%}\n {{ return((ns.column_added, intersection)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.get_columns_in_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1820042, "supported_languages": null}, "macro.dbt.snapshot_check_strategy": {"name": "snapshot_check_strategy", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "unique_id": "macro.dbt.snapshot_check_strategy", "macro_sql": "{% macro snapshot_check_strategy(node, snapshotted_rel, current_rel, config, target_exists) %}\n {% set check_cols_config = config['check_cols'] %}\n {% set primary_key = config['unique_key'] %}\n {% set invalidate_hard_deletes = config.get('invalidate_hard_deletes', false) %}\n {% set updated_at = config.get('updated_at', snapshot_get_time()) %}\n\n {% set column_added = false %}\n\n {% set column_added, check_cols = snapshot_check_all_get_existing_columns(node, target_exists, check_cols_config) %}\n\n {%- set row_changed_expr -%}\n (\n {%- if column_added -%}\n {{ get_true_sql() }}\n {%- else -%}\n {%- for col in check_cols -%}\n {{ snapshotted_rel }}.{{ col }} != {{ current_rel }}.{{ col }}\n or\n (\n (({{ snapshotted_rel }}.{{ col }} is null) and not ({{ current_rel }}.{{ col }} is null))\n or\n ((not {{ snapshotted_rel }}.{{ col }} is null) and ({{ current_rel }}.{{ col }} is null))\n )\n {%- if not loop.last %} or {% endif -%}\n {%- endfor -%}\n {%- endif -%}\n )\n {%- endset %}\n\n {% set scd_id_expr = snapshot_hash_arguments([primary_key, updated_at]) %}\n\n {% do return({\n \"unique_key\": primary_key,\n \"updated_at\": updated_at,\n \"row_changed\": row_changed_expr,\n \"scd_id\": scd_id_expr,\n \"invalidate_hard_deletes\": invalidate_hard_deletes\n }) %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.snapshot_get_time", "macro.dbt.snapshot_check_all_get_existing_columns", "macro.dbt.get_true_sql", "macro.dbt.snapshot_hash_arguments"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.183878, "supported_languages": null}, "macro.dbt.is_incremental": {"name": "is_incremental", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/is_incremental.sql", "original_file_path": "macros/materializations/models/incremental/is_incremental.sql", "unique_id": "macro.dbt.is_incremental", "macro_sql": "{% macro is_incremental() %}\n {#-- do not run introspective queries in parsing #}\n {% if not execute %}\n {{ return(False) }}\n {% else %}\n {% set relation = adapter.get_relation(this.database, this.schema, this.table) %}\n {{ return(relation is not none\n and relation.type == 'table'\n and model.config.materialized == 'incremental'\n and not should_full_refresh()) }}\n {% endif %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.should_full_refresh"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1847813, "supported_languages": null}, "macro.dbt.get_quoted_csv": {"name": "get_quoted_csv", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/column_helpers.sql", "original_file_path": "macros/materializations/models/incremental/column_helpers.sql", "unique_id": "macro.dbt.get_quoted_csv", "macro_sql": "{% macro get_quoted_csv(column_names) %}\n\n {% set quoted = [] %}\n {% for col in column_names -%}\n {%- do quoted.append(adapter.quote(col)) -%}\n {%- endfor %}\n\n {%- set dest_cols_csv = quoted | join(', ') -%}\n {{ return(dest_cols_csv) }}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1868508, "supported_languages": null}, "macro.dbt.diff_columns": {"name": "diff_columns", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/column_helpers.sql", "original_file_path": "macros/materializations/models/incremental/column_helpers.sql", "unique_id": "macro.dbt.diff_columns", "macro_sql": "{% macro diff_columns(source_columns, target_columns) %}\n\n {% set result = [] %}\n {% set source_names = source_columns | map(attribute = 'column') | list %}\n {% set target_names = target_columns | map(attribute = 'column') | list %}\n\n {# --check whether the name attribute exists in the target - this does not perform a data type check #}\n {% for sc in source_columns %}\n {% if sc.name not in target_names %}\n {{ result.append(sc) }}\n {% endif %}\n {% endfor %}\n\n {{ return(result) }}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1876707, "supported_languages": null}, "macro.dbt.diff_column_data_types": {"name": "diff_column_data_types", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/column_helpers.sql", "original_file_path": "macros/materializations/models/incremental/column_helpers.sql", "unique_id": "macro.dbt.diff_column_data_types", "macro_sql": "{% macro diff_column_data_types(source_columns, target_columns) %}\n\n {% set result = [] %}\n {% for sc in source_columns %}\n {% set tc = target_columns | selectattr(\"name\", \"equalto\", sc.name) | list | first %}\n {% if tc %}\n {% if sc.data_type != tc.data_type and not sc.can_expand_to(other_column=tc) %}\n {{ result.append( { 'column_name': tc.name, 'new_type': sc.data_type } ) }}\n {% endif %}\n {% endif %}\n {% endfor %}\n\n {{ return(result) }}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1886451, "supported_languages": null}, "macro.dbt.get_merge_update_columns": {"name": "get_merge_update_columns", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/column_helpers.sql", "original_file_path": "macros/materializations/models/incremental/column_helpers.sql", "unique_id": "macro.dbt.get_merge_update_columns", "macro_sql": "{% macro get_merge_update_columns(merge_update_columns, merge_exclude_columns, dest_columns) %}\n {{ return(adapter.dispatch('get_merge_update_columns', 'dbt')(merge_update_columns, merge_exclude_columns, dest_columns)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_merge_update_columns"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1889966, "supported_languages": null}, "macro.dbt.default__get_merge_update_columns": {"name": "default__get_merge_update_columns", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/column_helpers.sql", "original_file_path": "macros/materializations/models/incremental/column_helpers.sql", "unique_id": "macro.dbt.default__get_merge_update_columns", "macro_sql": "{% macro default__get_merge_update_columns(merge_update_columns, merge_exclude_columns, dest_columns) %}\n {%- set default_cols = dest_columns | map(attribute=\"quoted\") | list -%}\n\n {%- if merge_update_columns and merge_exclude_columns -%}\n {{ exceptions.raise_compiler_error(\n 'Model cannot specify merge_update_columns and merge_exclude_columns. Please update model to use only one config'\n )}}\n {%- elif merge_update_columns -%}\n {%- set update_columns = merge_update_columns -%}\n {%- elif merge_exclude_columns -%}\n {%- set update_columns = [] -%}\n {%- for column in dest_columns -%}\n {% if column.column | lower not in merge_exclude_columns | map(\"lower\") | list %}\n {%- do update_columns.append(column.quoted) -%}\n {% endif %}\n {%- endfor -%}\n {%- else -%}\n {%- set update_columns = default_cols -%}\n {%- endif -%}\n\n {{ return(update_columns) }}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1900663, "supported_languages": null}, "macro.dbt.incremental_validate_on_schema_change": {"name": "incremental_validate_on_schema_change", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/on_schema_change.sql", "original_file_path": "macros/materializations/models/incremental/on_schema_change.sql", "unique_id": "macro.dbt.incremental_validate_on_schema_change", "macro_sql": "{% macro incremental_validate_on_schema_change(on_schema_change, default='ignore') %}\n\n {% if on_schema_change not in ['sync_all_columns', 'append_new_columns', 'fail', 'ignore'] %}\n\n {% set log_message = 'Invalid value for on_schema_change (%s) specified. Setting default value of %s.' % (on_schema_change, default) %}\n {% do log(log_message) %}\n\n {{ return(default) }}\n\n {% else %}\n\n {{ return(on_schema_change) }}\n\n {% endif %}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1969478, "supported_languages": null}, "macro.dbt.check_for_schema_changes": {"name": "check_for_schema_changes", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/on_schema_change.sql", "original_file_path": "macros/materializations/models/incremental/on_schema_change.sql", "unique_id": "macro.dbt.check_for_schema_changes", "macro_sql": "{% macro check_for_schema_changes(source_relation, target_relation) %}\n\n {% set schema_changed = False %}\n\n {%- set source_columns = adapter.get_columns_in_relation(source_relation) -%}\n {%- set target_columns = adapter.get_columns_in_relation(target_relation) -%}\n {%- set source_not_in_target = diff_columns(source_columns, target_columns) -%}\n {%- set target_not_in_source = diff_columns(target_columns, source_columns) -%}\n\n {% set new_target_types = diff_column_data_types(source_columns, target_columns) %}\n\n {% if source_not_in_target != [] %}\n {% set schema_changed = True %}\n {% elif target_not_in_source != [] or new_target_types != [] %}\n {% set schema_changed = True %}\n {% elif new_target_types != [] %}\n {% set schema_changed = True %}\n {% endif %}\n\n {% set changes_dict = {\n 'schema_changed': schema_changed,\n 'source_not_in_target': source_not_in_target,\n 'target_not_in_source': target_not_in_source,\n 'source_columns': source_columns,\n 'target_columns': target_columns,\n 'new_target_types': new_target_types\n } %}\n\n {% set msg %}\n In {{ target_relation }}:\n Schema changed: {{ schema_changed }}\n Source columns not in target: {{ source_not_in_target }}\n Target columns not in source: {{ target_not_in_source }}\n New column types: {{ new_target_types }}\n {% endset %}\n\n {% do log(msg) %}\n\n {{ return(changes_dict) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.diff_columns", "macro.dbt.diff_column_data_types"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.1986935, "supported_languages": null}, "macro.dbt.sync_column_schemas": {"name": "sync_column_schemas", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/on_schema_change.sql", "original_file_path": "macros/materializations/models/incremental/on_schema_change.sql", "unique_id": "macro.dbt.sync_column_schemas", "macro_sql": "{% macro sync_column_schemas(on_schema_change, target_relation, schema_changes_dict) %}\n\n {%- set add_to_target_arr = schema_changes_dict['source_not_in_target'] -%}\n\n {%- if on_schema_change == 'append_new_columns'-%}\n {%- if add_to_target_arr | length > 0 -%}\n {%- do alter_relation_add_remove_columns(target_relation, add_to_target_arr, none) -%}\n {%- endif -%}\n\n {% elif on_schema_change == 'sync_all_columns' %}\n {%- set remove_from_target_arr = schema_changes_dict['target_not_in_source'] -%}\n {%- set new_target_types = schema_changes_dict['new_target_types'] -%}\n\n {% if add_to_target_arr | length > 0 or remove_from_target_arr | length > 0 %}\n {%- do alter_relation_add_remove_columns(target_relation, add_to_target_arr, remove_from_target_arr) -%}\n {% endif %}\n\n {% if new_target_types != [] %}\n {% for ntt in new_target_types %}\n {% set column_name = ntt['column_name'] %}\n {% set new_type = ntt['new_type'] %}\n {% do alter_column_type(target_relation, column_name, new_type) %}\n {% endfor %}\n {% endif %}\n\n {% endif %}\n\n {% set schema_change_message %}\n In {{ target_relation }}:\n Schema change approach: {{ on_schema_change }}\n Columns added: {{ add_to_target_arr }}\n Columns removed: {{ remove_from_target_arr }}\n Data types changed: {{ new_target_types }}\n {% endset %}\n\n {% do log(schema_change_message) %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.alter_relation_add_remove_columns", "macro.dbt.alter_column_type"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.2004356, "supported_languages": null}, "macro.dbt.process_schema_changes": {"name": "process_schema_changes", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/on_schema_change.sql", "original_file_path": "macros/materializations/models/incremental/on_schema_change.sql", "unique_id": "macro.dbt.process_schema_changes", "macro_sql": "{% macro process_schema_changes(on_schema_change, source_relation, target_relation) %}\n\n {% if on_schema_change == 'ignore' %}\n\n {{ return({}) }}\n\n {% else %}\n\n {% set schema_changes_dict = check_for_schema_changes(source_relation, target_relation) %}\n\n {% if schema_changes_dict['schema_changed'] %}\n\n {% if on_schema_change == 'fail' %}\n\n {% set fail_msg %}\n The source and target schemas on this incremental model are out of sync!\n They can be reconciled in several ways:\n - set the `on_schema_change` config to either append_new_columns or sync_all_columns, depending on your situation.\n - Re-run the incremental model with `full_refresh: True` to update the target schema.\n - update the schema manually and re-run the process.\n\n Additional troubleshooting context:\n Source columns not in target: {{ schema_changes_dict['source_not_in_target'] }}\n Target columns not in source: {{ schema_changes_dict['target_not_in_source'] }}\n New column types: {{ schema_changes_dict['new_target_types'] }}\n {% endset %}\n\n {% do exceptions.raise_compiler_error(fail_msg) %}\n\n {# -- unless we ignore, run the sync operation per the config #}\n {% else %}\n\n {% do sync_column_schemas(on_schema_change, target_relation, schema_changes_dict) %}\n\n {% endif %}\n\n {% endif %}\n\n {{ return(schema_changes_dict['source_columns']) }}\n\n {% endif %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.check_for_schema_changes", "macro.dbt.sync_column_schemas"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.2016888, "supported_languages": null}, "macro.dbt.get_incremental_append_sql": {"name": "get_incremental_append_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.get_incremental_append_sql", "macro_sql": "{% macro get_incremental_append_sql(arg_dict) %}\n\n {{ return(adapter.dispatch('get_incremental_append_sql', 'dbt')(arg_dict)) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_incremental_append_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.2028763, "supported_languages": null}, "macro.dbt.default__get_incremental_append_sql": {"name": "default__get_incremental_append_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.default__get_incremental_append_sql", "macro_sql": "{% macro default__get_incremental_append_sql(arg_dict) %}\n\n {% do return(get_insert_into_sql(arg_dict[\"target_relation\"], arg_dict[\"temp_relation\"], arg_dict[\"dest_columns\"])) %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_insert_into_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.203228, "supported_languages": null}, "macro.dbt.get_incremental_delete_insert_sql": {"name": "get_incremental_delete_insert_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.get_incremental_delete_insert_sql", "macro_sql": "{% macro get_incremental_delete_insert_sql(arg_dict) %}\n\n {{ return(adapter.dispatch('get_incremental_delete_insert_sql', 'dbt')(arg_dict)) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_incremental_delete_insert_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.2035172, "supported_languages": null}, "macro.dbt.default__get_incremental_delete_insert_sql": {"name": "default__get_incremental_delete_insert_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.default__get_incremental_delete_insert_sql", "macro_sql": "{% macro default__get_incremental_delete_insert_sql(arg_dict) %}\n\n {% do return(get_delete_insert_merge_sql(arg_dict[\"target_relation\"], arg_dict[\"temp_relation\"], arg_dict[\"unique_key\"], arg_dict[\"dest_columns\"], arg_dict[\"incremental_predicates\"])) %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_delete_insert_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.20395, "supported_languages": null}, "macro.dbt.get_incremental_merge_sql": {"name": "get_incremental_merge_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.get_incremental_merge_sql", "macro_sql": "{% macro get_incremental_merge_sql(arg_dict) %}\n\n {{ return(adapter.dispatch('get_incremental_merge_sql', 'dbt')(arg_dict)) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_incremental_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.2042313, "supported_languages": null}, "macro.dbt.default__get_incremental_merge_sql": {"name": "default__get_incremental_merge_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.default__get_incremental_merge_sql", "macro_sql": "{% macro default__get_incremental_merge_sql(arg_dict) %}\n\n {% do return(get_merge_sql(arg_dict[\"target_relation\"], arg_dict[\"temp_relation\"], arg_dict[\"unique_key\"], arg_dict[\"dest_columns\"], arg_dict[\"incremental_predicates\"])) %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.2046552, "supported_languages": null}, "macro.dbt.get_incremental_insert_overwrite_sql": {"name": "get_incremental_insert_overwrite_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.get_incremental_insert_overwrite_sql", "macro_sql": "{% macro get_incremental_insert_overwrite_sql(arg_dict) %}\n\n {{ return(adapter.dispatch('get_incremental_insert_overwrite_sql', 'dbt')(arg_dict)) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_incremental_insert_overwrite_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.204934, "supported_languages": null}, "macro.dbt.default__get_incremental_insert_overwrite_sql": {"name": "default__get_incremental_insert_overwrite_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.default__get_incremental_insert_overwrite_sql", "macro_sql": "{% macro default__get_incremental_insert_overwrite_sql(arg_dict) %}\n\n {% do return(get_insert_overwrite_merge_sql(arg_dict[\"target_relation\"], arg_dict[\"temp_relation\"], arg_dict[\"dest_columns\"], arg_dict[\"incremental_predicates\"])) %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_insert_overwrite_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.205313, "supported_languages": null}, "macro.dbt.get_incremental_default_sql": {"name": "get_incremental_default_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.get_incremental_default_sql", "macro_sql": "{% macro get_incremental_default_sql(arg_dict) %}\n\n {{ return(adapter.dispatch('get_incremental_default_sql', 'dbt')(arg_dict)) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_incremental_default_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.2055876, "supported_languages": null}, "macro.dbt.default__get_incremental_default_sql": {"name": "default__get_incremental_default_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.default__get_incremental_default_sql", "macro_sql": "{% macro default__get_incremental_default_sql(arg_dict) %}\n\n {% do return(get_incremental_append_sql(arg_dict)) %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_incremental_append_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.2058148, "supported_languages": null}, "macro.dbt.get_insert_into_sql": {"name": "get_insert_into_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.get_insert_into_sql", "macro_sql": "{% macro get_insert_into_sql(target_relation, temp_relation, dest_columns) %}\n\n {%- set dest_cols_csv = get_quoted_csv(dest_columns | map(attribute=\"name\")) -%}\n\n insert into {{ target_relation }} ({{ dest_cols_csv }})\n (\n select {{ dest_cols_csv }}\n from {{ temp_relation }}\n )\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_quoted_csv"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.2063417, "supported_languages": null}, "macro.dbt.get_merge_sql": {"name": "get_merge_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/merge.sql", "original_file_path": "macros/materializations/models/incremental/merge.sql", "unique_id": "macro.dbt.get_merge_sql", "macro_sql": "{% macro get_merge_sql(target, source, unique_key, dest_columns, incremental_predicates=none) -%}\n -- back compat for old kwarg name\n {% set incremental_predicates = kwargs.get('predicates', incremental_predicates) %}\n {{ adapter.dispatch('get_merge_sql', 'dbt')(target, source, unique_key, dest_columns, incremental_predicates) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.2140222, "supported_languages": null}, "macro.dbt.default__get_merge_sql": {"name": "default__get_merge_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/merge.sql", "original_file_path": "macros/materializations/models/incremental/merge.sql", "unique_id": "macro.dbt.default__get_merge_sql", "macro_sql": "{% macro default__get_merge_sql(target, source, unique_key, dest_columns, incremental_predicates=none) -%}\n {%- set predicates = [] if incremental_predicates is none else [] + incremental_predicates -%}\n {%- set dest_cols_csv = get_quoted_csv(dest_columns | map(attribute=\"name\")) -%}\n {%- set merge_update_columns = config.get('merge_update_columns') -%}\n {%- set merge_exclude_columns = config.get('merge_exclude_columns') -%}\n {%- set update_columns = get_merge_update_columns(merge_update_columns, merge_exclude_columns, dest_columns) -%}\n {%- set sql_header = config.get('sql_header', none) -%}\n\n {% if unique_key %}\n {% if unique_key is sequence and unique_key is not mapping and unique_key is not string %}\n {% for key in unique_key %}\n {% set this_key_match %}\n DBT_INTERNAL_SOURCE.{{ key }} = DBT_INTERNAL_DEST.{{ key }}\n {% endset %}\n {% do predicates.append(this_key_match) %}\n {% endfor %}\n {% else %}\n {% set unique_key_match %}\n DBT_INTERNAL_SOURCE.{{ unique_key }} = DBT_INTERNAL_DEST.{{ unique_key }}\n {% endset %}\n {% do predicates.append(unique_key_match) %}\n {% endif %}\n {% else %}\n {% do predicates.append('FALSE') %}\n {% endif %}\n\n {{ sql_header if sql_header is not none }}\n\n merge into {{ target }} as DBT_INTERNAL_DEST\n using {{ source }} as DBT_INTERNAL_SOURCE\n on {{\"(\" ~ predicates | join(\") and (\") ~ \")\"}}\n\n {% if unique_key %}\n when matched then update set\n {% for column_name in update_columns -%}\n {{ column_name }} = DBT_INTERNAL_SOURCE.{{ column_name }}\n {%- if not loop.last %}, {%- endif %}\n {%- endfor %}\n {% endif %}\n\n when not matched then insert\n ({{ dest_cols_csv }})\n values\n ({{ dest_cols_csv }})\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_quoted_csv", "macro.dbt.get_merge_update_columns"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.216366, "supported_languages": null}, "macro.dbt.get_delete_insert_merge_sql": {"name": "get_delete_insert_merge_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/merge.sql", "original_file_path": "macros/materializations/models/incremental/merge.sql", "unique_id": "macro.dbt.get_delete_insert_merge_sql", "macro_sql": "{% macro get_delete_insert_merge_sql(target, source, unique_key, dest_columns, incremental_predicates) -%}\n {{ adapter.dispatch('get_delete_insert_merge_sql', 'dbt')(target, source, unique_key, dest_columns, incremental_predicates) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_delete_insert_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.216753, "supported_languages": null}, "macro.dbt.default__get_delete_insert_merge_sql": {"name": "default__get_delete_insert_merge_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/merge.sql", "original_file_path": "macros/materializations/models/incremental/merge.sql", "unique_id": "macro.dbt.default__get_delete_insert_merge_sql", "macro_sql": "{% macro default__get_delete_insert_merge_sql(target, source, unique_key, dest_columns, incremental_predicates) -%}\n\n {%- set dest_cols_csv = get_quoted_csv(dest_columns | map(attribute=\"name\")) -%}\n\n {% if unique_key %}\n {% if unique_key is sequence and unique_key is not string %}\n delete from {{target }}\n using {{ source }}\n where (\n {% for key in unique_key %}\n {{ source }}.{{ key }} = {{ target }}.{{ key }}\n {{ \"and \" if not loop.last}}\n {% endfor %}\n {% if incremental_predicates %}\n {% for predicate in incremental_predicates %}\n and {{ predicate }}\n {% endfor %}\n {% endif %}\n );\n {% else %}\n delete from {{ target }}\n where (\n {{ unique_key }}) in (\n select ({{ unique_key }})\n from {{ source }}\n )\n {%- if incremental_predicates %}\n {% for predicate in incremental_predicates %}\n and {{ predicate }}\n {% endfor %}\n {%- endif -%};\n\n {% endif %}\n {% endif %}\n\n insert into {{ target }} ({{ dest_cols_csv }})\n (\n select {{ dest_cols_csv }}\n from {{ source }}\n )\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.get_quoted_csv"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.2182298, "supported_languages": null}, "macro.dbt.get_insert_overwrite_merge_sql": {"name": "get_insert_overwrite_merge_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/merge.sql", "original_file_path": "macros/materializations/models/incremental/merge.sql", "unique_id": "macro.dbt.get_insert_overwrite_merge_sql", "macro_sql": "{% macro get_insert_overwrite_merge_sql(target, source, dest_columns, predicates, include_sql_header=false) -%}\n {{ adapter.dispatch('get_insert_overwrite_merge_sql', 'dbt')(target, source, dest_columns, predicates, include_sql_header) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_insert_overwrite_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.2186263, "supported_languages": null}, "macro.dbt.default__get_insert_overwrite_merge_sql": {"name": "default__get_insert_overwrite_merge_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/merge.sql", "original_file_path": "macros/materializations/models/incremental/merge.sql", "unique_id": "macro.dbt.default__get_insert_overwrite_merge_sql", "macro_sql": "{% macro default__get_insert_overwrite_merge_sql(target, source, dest_columns, predicates, include_sql_header) -%}\n {#-- The only time include_sql_header is True: --#}\n {#-- BigQuery + insert_overwrite strategy + \"static\" partitions config --#}\n {#-- We should consider including the sql header at the materialization level instead --#}\n\n {%- set predicates = [] if predicates is none else [] + predicates -%}\n {%- set dest_cols_csv = get_quoted_csv(dest_columns | map(attribute=\"name\")) -%}\n {%- set sql_header = config.get('sql_header', none) -%}\n\n {{ sql_header if sql_header is not none and include_sql_header }}\n\n merge into {{ target }} as DBT_INTERNAL_DEST\n using {{ source }} as DBT_INTERNAL_SOURCE\n on FALSE\n\n when not matched by source\n {% if predicates %} and {{ predicates | join(' and ') }} {% endif %}\n then delete\n\n when not matched then insert\n ({{ dest_cols_csv }})\n values\n ({{ dest_cols_csv }})\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_quoted_csv"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.219591, "supported_languages": null}, "macro.dbt.materialization_incremental_default": {"name": "materialization_incremental_default", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/incremental.sql", "original_file_path": "macros/materializations/models/incremental/incremental.sql", "unique_id": "macro.dbt.materialization_incremental_default", "macro_sql": "{% materialization incremental, default -%}\n\n -- relations\n {%- set existing_relation = load_cached_relation(this) -%}\n {%- set target_relation = this.incorporate(type='table') -%}\n {%- set temp_relation = make_temp_relation(target_relation)-%}\n {%- set intermediate_relation = make_intermediate_relation(target_relation)-%}\n {%- set backup_relation_type = 'table' if existing_relation is none else existing_relation.type -%}\n {%- set backup_relation = make_backup_relation(target_relation, backup_relation_type) -%}\n\n -- configs\n {%- set unique_key = config.get('unique_key') -%}\n {%- set full_refresh_mode = (should_full_refresh() or existing_relation.is_view) -%}\n {%- set on_schema_change = incremental_validate_on_schema_change(config.get('on_schema_change'), default='ignore') -%}\n\n -- the temp_ and backup_ relations should not already exist in the database; get_relation\n -- will return None in that case. Otherwise, we get a relation that we can drop\n -- later, before we try to use this name for the current operation. This has to happen before\n -- BEGIN, in a separate transaction\n {%- set preexisting_intermediate_relation = load_cached_relation(intermediate_relation)-%}\n {%- set preexisting_backup_relation = load_cached_relation(backup_relation) -%}\n -- grab current tables grants config for comparision later on\n {% set grant_config = config.get('grants') %}\n {{ drop_relation_if_exists(preexisting_intermediate_relation) }}\n {{ drop_relation_if_exists(preexisting_backup_relation) }}\n\n {{ run_hooks(pre_hooks, inside_transaction=False) }}\n\n -- `BEGIN` happens here:\n {{ run_hooks(pre_hooks, inside_transaction=True) }}\n\n {% set to_drop = [] %}\n\n {% if existing_relation is none %}\n {% set build_sql = get_create_table_as_sql(False, target_relation, sql) %}\n {% elif full_refresh_mode %}\n {% set build_sql = get_create_table_as_sql(False, intermediate_relation, sql) %}\n {% set need_swap = true %}\n {% else %}\n {% do run_query(get_create_table_as_sql(True, temp_relation, sql)) %}\n {% do adapter.expand_target_column_types(\n from_relation=temp_relation,\n to_relation=target_relation) %}\n {#-- Process schema changes. Returns dict of changes if successful. Use source columns for upserting/merging --#}\n {% set dest_columns = process_schema_changes(on_schema_change, temp_relation, existing_relation) %}\n {% if not dest_columns %}\n {% set dest_columns = adapter.get_columns_in_relation(existing_relation) %}\n {% endif %}\n\n {#-- Get the incremental_strategy, the macro to use for the strategy, and build the sql --#}\n {% set incremental_strategy = config.get('incremental_strategy') or 'default' %}\n {% set incremental_predicates = config.get('predicates', none) or config.get('incremental_predicates', none) %}\n {% set strategy_sql_macro_func = adapter.get_incremental_strategy_macro(context, incremental_strategy) %}\n {% set strategy_arg_dict = ({'target_relation': target_relation, 'temp_relation': temp_relation, 'unique_key': unique_key, 'dest_columns': dest_columns, 'incremental_predicates': incremental_predicates }) %}\n {% set build_sql = strategy_sql_macro_func(strategy_arg_dict) %}\n\n {% endif %}\n\n {% call statement(\"main\") %}\n {{ build_sql }}\n {% endcall %}\n\n {% if need_swap %}\n {% do adapter.rename_relation(target_relation, backup_relation) %}\n {% do adapter.rename_relation(intermediate_relation, target_relation) %}\n {% do to_drop.append(backup_relation) %}\n {% endif %}\n\n {% set should_revoke = should_revoke(existing_relation, full_refresh_mode) %}\n {% do apply_grants(target_relation, grant_config, should_revoke=should_revoke) %}\n\n {% do persist_docs(target_relation, model) %}\n\n {% if existing_relation is none or existing_relation.is_view or should_full_refresh() %}\n {% do create_indexes(target_relation) %}\n {% endif %}\n\n {{ run_hooks(post_hooks, inside_transaction=True) }}\n\n -- `COMMIT` happens here\n {% do adapter.commit() %}\n\n {% for rel in to_drop %}\n {% do adapter.drop_relation(rel) %}\n {% endfor %}\n\n {{ run_hooks(post_hooks, inside_transaction=False) }}\n\n {{ return({'relations': [target_relation]}) }}\n\n{%- endmaterialization %}", "depends_on": {"macros": ["macro.dbt.load_cached_relation", "macro.dbt.make_temp_relation", "macro.dbt.make_intermediate_relation", "macro.dbt.make_backup_relation", "macro.dbt.should_full_refresh", "macro.dbt.incremental_validate_on_schema_change", "macro.dbt.drop_relation_if_exists", "macro.dbt.run_hooks", "macro.dbt.get_create_table_as_sql", "macro.dbt.run_query", "macro.dbt.process_schema_changes", "macro.dbt.statement", "macro.dbt.should_revoke", "macro.dbt.apply_grants", "macro.dbt.persist_docs", "macro.dbt.create_indexes"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.2263253, "supported_languages": ["sql"]}, "macro.dbt.handle_existing_table": {"name": "handle_existing_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/view/helpers.sql", "original_file_path": "macros/materializations/models/view/helpers.sql", "unique_id": "macro.dbt.handle_existing_table", "macro_sql": "{% macro handle_existing_table(full_refresh, old_relation) %}\n {{ adapter.dispatch('handle_existing_table', 'dbt')(full_refresh, old_relation) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__handle_existing_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.2267869, "supported_languages": null}, "macro.dbt.default__handle_existing_table": {"name": "default__handle_existing_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/view/helpers.sql", "original_file_path": "macros/materializations/models/view/helpers.sql", "unique_id": "macro.dbt.default__handle_existing_table", "macro_sql": "{% macro default__handle_existing_table(full_refresh, old_relation) %}\n {{ log(\"Dropping relation \" ~ old_relation ~ \" because it is of type \" ~ old_relation.type) }}\n {{ adapter.drop_relation(old_relation) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.2271278, "supported_languages": null}, "macro.dbt.materialization_view_default": {"name": "materialization_view_default", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/view/view.sql", "original_file_path": "macros/materializations/models/view/view.sql", "unique_id": "macro.dbt.materialization_view_default", "macro_sql": "{%- materialization view, default -%}\n\n {%- set existing_relation = load_cached_relation(this) -%}\n {%- set target_relation = this.incorporate(type='view') -%}\n {%- set intermediate_relation = make_intermediate_relation(target_relation) -%}\n\n -- the intermediate_relation should not already exist in the database; get_relation\n -- will return None in that case. Otherwise, we get a relation that we can drop\n -- later, before we try to use this name for the current operation\n {%- set preexisting_intermediate_relation = load_cached_relation(intermediate_relation) -%}\n /*\n This relation (probably) doesn't exist yet. If it does exist, it's a leftover from\n a previous run, and we're going to try to drop it immediately. At the end of this\n materialization, we're going to rename the \"existing_relation\" to this identifier,\n and then we're going to drop it. In order to make sure we run the correct one of:\n - drop view ...\n - drop table ...\n\n We need to set the type of this relation to be the type of the existing_relation, if it exists,\n or else \"view\" as a sane default if it does not. Note that if the existing_relation does not\n exist, then there is nothing to move out of the way and subsequentally drop. In that case,\n this relation will be effectively unused.\n */\n {%- set backup_relation_type = 'view' if existing_relation is none else existing_relation.type -%}\n {%- set backup_relation = make_backup_relation(target_relation, backup_relation_type) -%}\n -- as above, the backup_relation should not already exist\n {%- set preexisting_backup_relation = load_cached_relation(backup_relation) -%}\n -- grab current tables grants config for comparision later on\n {% set grant_config = config.get('grants') %}\n\n {{ run_hooks(pre_hooks, inside_transaction=False) }}\n\n -- drop the temp relations if they exist already in the database\n {{ drop_relation_if_exists(preexisting_intermediate_relation) }}\n {{ drop_relation_if_exists(preexisting_backup_relation) }}\n\n -- `BEGIN` happens here:\n {{ run_hooks(pre_hooks, inside_transaction=True) }}\n\n -- build model\n {% call statement('main') -%}\n {{ get_create_view_as_sql(intermediate_relation, sql) }}\n {%- endcall %}\n\n -- cleanup\n -- move the existing view out of the way\n {% if existing_relation is not none %}\n {{ adapter.rename_relation(existing_relation, backup_relation) }}\n {% endif %}\n {{ adapter.rename_relation(intermediate_relation, target_relation) }}\n\n {% set should_revoke = should_revoke(existing_relation, full_refresh_mode=True) %}\n {% do apply_grants(target_relation, grant_config, should_revoke=should_revoke) %}\n\n {% do persist_docs(target_relation, model) %}\n\n {{ run_hooks(post_hooks, inside_transaction=True) }}\n\n {{ adapter.commit() }}\n\n {{ drop_relation_if_exists(backup_relation) }}\n\n {{ run_hooks(post_hooks, inside_transaction=False) }}\n\n {{ return({'relations': [target_relation]}) }}\n\n{%- endmaterialization -%}", "depends_on": {"macros": ["macro.dbt.load_cached_relation", "macro.dbt.make_intermediate_relation", "macro.dbt.make_backup_relation", "macro.dbt.run_hooks", "macro.dbt.drop_relation_if_exists", "macro.dbt.statement", "macro.dbt.get_create_view_as_sql", "macro.dbt.should_revoke", "macro.dbt.apply_grants", "macro.dbt.persist_docs"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.230624, "supported_languages": ["sql"]}, "macro.dbt.get_create_view_as_sql": {"name": "get_create_view_as_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/view/create_view_as.sql", "original_file_path": "macros/materializations/models/view/create_view_as.sql", "unique_id": "macro.dbt.get_create_view_as_sql", "macro_sql": "{% macro get_create_view_as_sql(relation, sql) -%}\n {{ adapter.dispatch('get_create_view_as_sql', 'dbt')(relation, sql) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_create_view_as_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.2312212, "supported_languages": null}, "macro.dbt.default__get_create_view_as_sql": {"name": "default__get_create_view_as_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/view/create_view_as.sql", "original_file_path": "macros/materializations/models/view/create_view_as.sql", "unique_id": "macro.dbt.default__get_create_view_as_sql", "macro_sql": "{% macro default__get_create_view_as_sql(relation, sql) -%}\n {{ return(create_view_as(relation, sql)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.create_view_as"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.2314713, "supported_languages": null}, "macro.dbt.create_view_as": {"name": "create_view_as", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/view/create_view_as.sql", "original_file_path": "macros/materializations/models/view/create_view_as.sql", "unique_id": "macro.dbt.create_view_as", "macro_sql": "{% macro create_view_as(relation, sql) -%}\n {{ adapter.dispatch('create_view_as', 'dbt')(relation, sql) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__create_view_as"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.2317567, "supported_languages": null}, "macro.dbt.default__create_view_as": {"name": "default__create_view_as", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/view/create_view_as.sql", "original_file_path": "macros/materializations/models/view/create_view_as.sql", "unique_id": "macro.dbt.default__create_view_as", "macro_sql": "{% macro default__create_view_as(relation, sql) -%}\n {%- set sql_header = config.get('sql_header', none) -%}\n\n {{ sql_header if sql_header is not none }}\n create view {{ relation }}\n {% set contract_config = config.get('contract') %}\n {% if contract_config.enforced %}\n {{ get_assert_columns_equivalent(sql) }}\n {%- endif %}\n as (\n {{ sql }}\n );\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.get_assert_columns_equivalent"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.232382, "supported_languages": null}, "macro.dbt.create_or_replace_view": {"name": "create_or_replace_view", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/view/create_or_replace_view.sql", "original_file_path": "macros/materializations/models/view/create_or_replace_view.sql", "unique_id": "macro.dbt.create_or_replace_view", "macro_sql": "{% macro create_or_replace_view() %}\n {%- set identifier = model['alias'] -%}\n\n {%- set old_relation = adapter.get_relation(database=database, schema=schema, identifier=identifier) -%}\n {%- set exists_as_view = (old_relation is not none and old_relation.is_view) -%}\n\n {%- set target_relation = api.Relation.create(\n identifier=identifier, schema=schema, database=database,\n type='view') -%}\n {% set grant_config = config.get('grants') %}\n\n {{ run_hooks(pre_hooks) }}\n\n -- If there's a table with the same name and we weren't told to full refresh,\n -- that's an error. If we were told to full refresh, drop it. This behavior differs\n -- for Snowflake and BigQuery, so multiple dispatch is used.\n {%- if old_relation is not none and old_relation.is_table -%}\n {{ handle_existing_table(should_full_refresh(), old_relation) }}\n {%- endif -%}\n\n -- build model\n {% call statement('main') -%}\n {{ get_create_view_as_sql(target_relation, sql) }}\n {%- endcall %}\n\n {% set should_revoke = should_revoke(exists_as_view, full_refresh_mode=True) %}\n {% do apply_grants(target_relation, grant_config, should_revoke=should_revoke) %}\n\n {{ run_hooks(post_hooks) }}\n\n {{ return({'relations': [target_relation]}) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.run_hooks", "macro.dbt.handle_existing_table", "macro.dbt.should_full_refresh", "macro.dbt.statement", "macro.dbt.get_create_view_as_sql", "macro.dbt.should_revoke", "macro.dbt.apply_grants"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.2344763, "supported_languages": null}, "macro.dbt.materialization_table_default": {"name": "materialization_table_default", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/table/table.sql", "original_file_path": "macros/materializations/models/table/table.sql", "unique_id": "macro.dbt.materialization_table_default", "macro_sql": "{% materialization table, default %}\n\n {%- set existing_relation = load_cached_relation(this) -%}\n {%- set target_relation = this.incorporate(type='table') %}\n {%- set intermediate_relation = make_intermediate_relation(target_relation) -%}\n -- the intermediate_relation should not already exist in the database; get_relation\n -- will return None in that case. Otherwise, we get a relation that we can drop\n -- later, before we try to use this name for the current operation\n {%- set preexisting_intermediate_relation = load_cached_relation(intermediate_relation) -%}\n /*\n See ../view/view.sql for more information about this relation.\n */\n {%- set backup_relation_type = 'table' if existing_relation is none else existing_relation.type -%}\n {%- set backup_relation = make_backup_relation(target_relation, backup_relation_type) -%}\n -- as above, the backup_relation should not already exist\n {%- set preexisting_backup_relation = load_cached_relation(backup_relation) -%}\n -- grab current tables grants config for comparision later on\n {% set grant_config = config.get('grants') %}\n\n -- drop the temp relations if they exist already in the database\n {{ drop_relation_if_exists(preexisting_intermediate_relation) }}\n {{ drop_relation_if_exists(preexisting_backup_relation) }}\n\n {{ run_hooks(pre_hooks, inside_transaction=False) }}\n\n -- `BEGIN` happens here:\n {{ run_hooks(pre_hooks, inside_transaction=True) }}\n\n -- build model\n {% call statement('main') -%}\n {{ get_create_table_as_sql(False, intermediate_relation, sql) }}\n {%- endcall %}\n\n -- cleanup\n {% if existing_relation is not none %}\n {{ adapter.rename_relation(existing_relation, backup_relation) }}\n {% endif %}\n\n {{ adapter.rename_relation(intermediate_relation, target_relation) }}\n\n {% do create_indexes(target_relation) %}\n\n {{ run_hooks(post_hooks, inside_transaction=True) }}\n\n {% set should_revoke = should_revoke(existing_relation, full_refresh_mode=True) %}\n {% do apply_grants(target_relation, grant_config, should_revoke=should_revoke) %}\n\n {% do persist_docs(target_relation, model) %}\n\n -- `COMMIT` happens here\n {{ adapter.commit() }}\n\n -- finally, drop the existing/backup relation after the commit\n {{ drop_relation_if_exists(backup_relation) }}\n\n {{ run_hooks(post_hooks, inside_transaction=False) }}\n\n {{ return({'relations': [target_relation]}) }}\n{% endmaterialization %}", "depends_on": {"macros": ["macro.dbt.load_cached_relation", "macro.dbt.make_intermediate_relation", "macro.dbt.make_backup_relation", "macro.dbt.drop_relation_if_exists", "macro.dbt.run_hooks", "macro.dbt.statement", "macro.dbt.get_create_table_as_sql", "macro.dbt.create_indexes", "macro.dbt.should_revoke", "macro.dbt.apply_grants", "macro.dbt.persist_docs"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.237996, "supported_languages": ["sql"]}, "macro.dbt.get_table_columns_and_constraints": {"name": "get_table_columns_and_constraints", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/table/columns_spec_ddl.sql", "original_file_path": "macros/materializations/models/table/columns_spec_ddl.sql", "unique_id": "macro.dbt.get_table_columns_and_constraints", "macro_sql": "{%- macro get_table_columns_and_constraints() -%}\n {{ adapter.dispatch('get_table_columns_and_constraints', 'dbt')() }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.default__get_table_columns_and_constraints"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.2392943, "supported_languages": null}, "macro.dbt.default__get_table_columns_and_constraints": {"name": "default__get_table_columns_and_constraints", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/table/columns_spec_ddl.sql", "original_file_path": "macros/materializations/models/table/columns_spec_ddl.sql", "unique_id": "macro.dbt.default__get_table_columns_and_constraints", "macro_sql": "{% macro default__get_table_columns_and_constraints() -%}\n {{ return(table_columns_and_constraints()) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.table_columns_and_constraints"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.2395086, "supported_languages": null}, "macro.dbt.table_columns_and_constraints": {"name": "table_columns_and_constraints", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/table/columns_spec_ddl.sql", "original_file_path": "macros/materializations/models/table/columns_spec_ddl.sql", "unique_id": "macro.dbt.table_columns_and_constraints", "macro_sql": "{% macro table_columns_and_constraints() %}\n {# loop through user_provided_columns to create DDL with data types and constraints #}\n {%- set raw_column_constraints = adapter.render_raw_columns_constraints(raw_columns=model['columns']) -%}\n {%- set raw_model_constraints = adapter.render_raw_model_constraints(raw_constraints=model['constraints']) -%}\n (\n {% for c in raw_column_constraints -%}\n {{ c }}{{ \",\" if not loop.last or raw_model_constraints }}\n {% endfor %}\n {% for c in raw_model_constraints -%}\n {{ c }}{{ \",\" if not loop.last }}\n {% endfor -%}\n )\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.240305, "supported_languages": null}, "macro.dbt.get_assert_columns_equivalent": {"name": "get_assert_columns_equivalent", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/table/columns_spec_ddl.sql", "original_file_path": "macros/materializations/models/table/columns_spec_ddl.sql", "unique_id": "macro.dbt.get_assert_columns_equivalent", "macro_sql": "\n\n{%- macro get_assert_columns_equivalent(sql) -%}\n {{ adapter.dispatch('get_assert_columns_equivalent', 'dbt')(sql) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.default__get_assert_columns_equivalent"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.2405627, "supported_languages": null}, "macro.dbt.default__get_assert_columns_equivalent": {"name": "default__get_assert_columns_equivalent", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/table/columns_spec_ddl.sql", "original_file_path": "macros/materializations/models/table/columns_spec_ddl.sql", "unique_id": "macro.dbt.default__get_assert_columns_equivalent", "macro_sql": "{% macro default__get_assert_columns_equivalent(sql) -%}\n {{ return(assert_columns_equivalent(sql)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.assert_columns_equivalent"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.240774, "supported_languages": null}, "macro.dbt.assert_columns_equivalent": {"name": "assert_columns_equivalent", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/table/columns_spec_ddl.sql", "original_file_path": "macros/materializations/models/table/columns_spec_ddl.sql", "unique_id": "macro.dbt.assert_columns_equivalent", "macro_sql": "{% macro assert_columns_equivalent(sql) %}\n {#-- Obtain the column schema provided by sql file. #}\n {%- set sql_file_provided_columns = get_column_schema_from_query(sql) -%}\n {#--Obtain the column schema provided by the schema file by generating an 'empty schema' query from the model's columns. #}\n {%- set schema_file_provided_columns = get_column_schema_from_query(get_empty_schema_sql(model['columns'])) -%}\n\n {#-- create dictionaries with name and formatted data type and strings for exception #}\n {%- set sql_columns = format_columns(sql_file_provided_columns) -%}\n {%- set yaml_columns = format_columns(schema_file_provided_columns) -%}\n\n {%- if sql_columns|length != yaml_columns|length -%}\n {%- do exceptions.raise_contract_error(yaml_columns, sql_columns) -%}\n {%- endif -%}\n\n {%- for sql_col in sql_columns -%}\n {%- set yaml_col = [] -%}\n {%- for this_col in yaml_columns -%}\n {%- if this_col['name'] == sql_col['name'] -%}\n {%- do yaml_col.append(this_col) -%}\n {%- break -%}\n {%- endif -%}\n {%- endfor -%}\n {%- if not yaml_col -%}\n {#-- Column with name not found in yaml #}\n {%- do exceptions.raise_contract_error(yaml_columns, sql_columns) -%}\n {%- endif -%}\n {%- if sql_col['formatted'] != yaml_col[0]['formatted'] -%}\n {#-- Column data types don't match #}\n {%- do exceptions.raise_contract_error(yaml_columns, sql_columns) -%}\n {%- endif -%}\n {%- endfor -%}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_column_schema_from_query", "macro.dbt.get_empty_schema_sql", "macro.dbt.format_columns"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.2423131, "supported_languages": null}, "macro.dbt.format_columns": {"name": "format_columns", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/table/columns_spec_ddl.sql", "original_file_path": "macros/materializations/models/table/columns_spec_ddl.sql", "unique_id": "macro.dbt.format_columns", "macro_sql": "{% macro format_columns(columns) %}\n {% set formatted_columns = [] %}\n {% for column in columns %}\n {%- set formatted_column = adapter.dispatch('format_column', 'dbt')(column) -%}\n {%- do formatted_columns.append(formatted_column) -%}\n {% endfor %}\n {{ return(formatted_columns) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__format_column"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.2429938, "supported_languages": null}, "macro.dbt.default__format_column": {"name": "default__format_column", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/table/columns_spec_ddl.sql", "original_file_path": "macros/materializations/models/table/columns_spec_ddl.sql", "unique_id": "macro.dbt.default__format_column", "macro_sql": "{% macro default__format_column(column) -%}\n {% set data_type = column.dtype %}\n {% set formatted = column.column.lower() ~ \" \" ~ data_type %}\n {{ return({'name': column.name, 'data_type': data_type, 'formatted': formatted}) }}\n{%- endmacro -%}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.2435095, "supported_languages": null}, "macro.dbt.get_create_table_as_sql": {"name": "get_create_table_as_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/table/create_table_as.sql", "original_file_path": "macros/materializations/models/table/create_table_as.sql", "unique_id": "macro.dbt.get_create_table_as_sql", "macro_sql": "{% macro get_create_table_as_sql(temporary, relation, sql) -%}\n {{ adapter.dispatch('get_create_table_as_sql', 'dbt')(temporary, relation, sql) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_create_table_as_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.2446532, "supported_languages": null}, "macro.dbt.default__get_create_table_as_sql": {"name": "default__get_create_table_as_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/table/create_table_as.sql", "original_file_path": "macros/materializations/models/table/create_table_as.sql", "unique_id": "macro.dbt.default__get_create_table_as_sql", "macro_sql": "{% macro default__get_create_table_as_sql(temporary, relation, sql) -%}\n {{ return(create_table_as(temporary, relation, sql)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.create_table_as"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.244931, "supported_languages": null}, "macro.dbt.create_table_as": {"name": "create_table_as", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/table/create_table_as.sql", "original_file_path": "macros/materializations/models/table/create_table_as.sql", "unique_id": "macro.dbt.create_table_as", "macro_sql": "{% macro create_table_as(temporary, relation, compiled_code, language='sql') -%}\n {# backward compatibility for create_table_as that does not support language #}\n {% if language == \"sql\" %}\n {{ adapter.dispatch('create_table_as', 'dbt')(temporary, relation, compiled_code)}}\n {% else %}\n {{ adapter.dispatch('create_table_as', 'dbt')(temporary, relation, compiled_code, language) }}\n {% endif %}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__create_table_as"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.245557, "supported_languages": null}, "macro.dbt.default__create_table_as": {"name": "default__create_table_as", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/table/create_table_as.sql", "original_file_path": "macros/materializations/models/table/create_table_as.sql", "unique_id": "macro.dbt.default__create_table_as", "macro_sql": "{% macro default__create_table_as(temporary, relation, sql) -%}\n {%- set sql_header = config.get('sql_header', none) -%}\n\n {{ sql_header if sql_header is not none }}\n\n create {% if temporary: -%}temporary{%- endif %} table\n {{ relation.include(database=(not temporary), schema=(not temporary)) }}\n {% set contract_config = config.get('contract') %}\n {% if contract_config.enforced %}\n {{ get_assert_columns_equivalent(sql) }}\n {{ get_table_columns_and_constraints() }}\n {%- set sql = get_select_subquery(sql) %}\n {% endif %}\n as (\n {{ sql }}\n );\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.get_assert_columns_equivalent", "macro.dbt.get_table_columns_and_constraints", "macro.dbt.get_select_subquery"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.2465122, "supported_languages": null}, "macro.dbt.get_select_subquery": {"name": "get_select_subquery", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/table/create_table_as.sql", "original_file_path": "macros/materializations/models/table/create_table_as.sql", "unique_id": "macro.dbt.get_select_subquery", "macro_sql": "{% macro get_select_subquery(sql) %}\n {{ return(adapter.dispatch('get_select_subquery', 'dbt')(sql)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_select_subquery"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.246801, "supported_languages": null}, "macro.dbt.default__get_select_subquery": {"name": "default__get_select_subquery", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/table/create_table_as.sql", "original_file_path": "macros/materializations/models/table/create_table_as.sql", "unique_id": "macro.dbt.default__get_select_subquery", "macro_sql": "{% macro default__get_select_subquery(sql) %}\n select\n {% for column in model['columns'] %}\n {{ column }}{{ \", \" if not loop.last }}\n {% endfor %}\n from (\n {{ sql }}\n ) as model_subq\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.2471898, "supported_languages": null}, "macro.dbt.create_csv_table": {"name": "create_csv_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.create_csv_table", "macro_sql": "{% macro create_csv_table(model, agate_table) -%}\n {{ adapter.dispatch('create_csv_table', 'dbt')(model, agate_table) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__create_csv_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.2532725, "supported_languages": null}, "macro.dbt.default__create_csv_table": {"name": "default__create_csv_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.default__create_csv_table", "macro_sql": "{% macro default__create_csv_table(model, agate_table) %}\n {%- set column_override = model['config'].get('column_types', {}) -%}\n {%- set quote_seed_column = model['config'].get('quote_columns', None) -%}\n\n {% set sql %}\n create table {{ this.render() }} (\n {%- for col_name in agate_table.column_names -%}\n {%- set inferred_type = adapter.convert_type(agate_table, loop.index0) -%}\n {%- set type = column_override.get(col_name, inferred_type) -%}\n {%- set column_name = (col_name | string) -%}\n {{ adapter.quote_seed_column(column_name, quote_seed_column) }} {{ type }} {%- if not loop.last -%}, {%- endif -%}\n {%- endfor -%}\n )\n {% endset %}\n\n {% call statement('_') -%}\n {{ sql }}\n {%- endcall %}\n\n {{ return(sql) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.2545738, "supported_languages": null}, "macro.dbt.reset_csv_table": {"name": "reset_csv_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.reset_csv_table", "macro_sql": "{% macro reset_csv_table(model, full_refresh, old_relation, agate_table) -%}\n {{ adapter.dispatch('reset_csv_table', 'dbt')(model, full_refresh, old_relation, agate_table) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__reset_csv_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.2549217, "supported_languages": null}, "macro.dbt.default__reset_csv_table": {"name": "default__reset_csv_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.default__reset_csv_table", "macro_sql": "{% macro default__reset_csv_table(model, full_refresh, old_relation, agate_table) %}\n {% set sql = \"\" %}\n {% if full_refresh %}\n {{ adapter.drop_relation(old_relation) }}\n {% set sql = create_csv_table(model, agate_table) %}\n {% else %}\n {{ adapter.truncate_relation(old_relation) }}\n {% set sql = \"truncate table \" ~ old_relation %}\n {% endif %}\n\n {{ return(sql) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.create_csv_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.2556388, "supported_languages": null}, "macro.dbt.get_csv_sql": {"name": "get_csv_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.get_csv_sql", "macro_sql": "{% macro get_csv_sql(create_or_truncate_sql, insert_sql) %}\n {{ adapter.dispatch('get_csv_sql', 'dbt')(create_or_truncate_sql, insert_sql) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_csv_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.25593, "supported_languages": null}, "macro.dbt.default__get_csv_sql": {"name": "default__get_csv_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.default__get_csv_sql", "macro_sql": "{% macro default__get_csv_sql(create_or_truncate_sql, insert_sql) %}\n {{ create_or_truncate_sql }};\n -- dbt seed --\n {{ insert_sql }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.2561386, "supported_languages": null}, "macro.dbt.get_binding_char": {"name": "get_binding_char", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.get_binding_char", "macro_sql": "{% macro get_binding_char() -%}\n {{ adapter.dispatch('get_binding_char', 'dbt')() }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_binding_char"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.2563596, "supported_languages": null}, "macro.dbt.default__get_binding_char": {"name": "default__get_binding_char", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.default__get_binding_char", "macro_sql": "{% macro default__get_binding_char() %}\n {{ return('%s') }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.2565448, "supported_languages": null}, "macro.dbt.get_batch_size": {"name": "get_batch_size", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.get_batch_size", "macro_sql": "{% macro get_batch_size() -%}\n {{ return(adapter.dispatch('get_batch_size', 'dbt')()) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_batch_size"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.2567887, "supported_languages": null}, "macro.dbt.default__get_batch_size": {"name": "default__get_batch_size", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.default__get_batch_size", "macro_sql": "{% macro default__get_batch_size() %}\n {{ return(10000) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.2569733, "supported_languages": null}, "macro.dbt.get_seed_column_quoted_csv": {"name": "get_seed_column_quoted_csv", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.get_seed_column_quoted_csv", "macro_sql": "{% macro get_seed_column_quoted_csv(model, column_names) %}\n {%- set quote_seed_column = model['config'].get('quote_columns', None) -%}\n {% set quoted = [] %}\n {% for col in column_names -%}\n {%- do quoted.append(adapter.quote_seed_column(col, quote_seed_column)) -%}\n {%- endfor %}\n\n {%- set dest_cols_csv = quoted | join(', ') -%}\n {{ return(dest_cols_csv) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.257676, "supported_languages": null}, "macro.dbt.load_csv_rows": {"name": "load_csv_rows", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.load_csv_rows", "macro_sql": "{% macro load_csv_rows(model, agate_table) -%}\n {{ adapter.dispatch('load_csv_rows', 'dbt')(model, agate_table) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__load_csv_rows"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.2579587, "supported_languages": null}, "macro.dbt.default__load_csv_rows": {"name": "default__load_csv_rows", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.default__load_csv_rows", "macro_sql": "{% macro default__load_csv_rows(model, agate_table) %}\n\n {% set batch_size = get_batch_size() %}\n\n {% set cols_sql = get_seed_column_quoted_csv(model, agate_table.column_names) %}\n {% set bindings = [] %}\n\n {% set statements = [] %}\n\n {% for chunk in agate_table.rows | batch(batch_size) %}\n {% set bindings = [] %}\n\n {% for row in chunk %}\n {% do bindings.extend(row) %}\n {% endfor %}\n\n {% set sql %}\n insert into {{ this.render() }} ({{ cols_sql }}) values\n {% for row in chunk -%}\n ({%- for column in agate_table.column_names -%}\n {{ get_binding_char() }}\n {%- if not loop.last%},{%- endif %}\n {%- endfor -%})\n {%- if not loop.last%},{%- endif %}\n {%- endfor %}\n {% endset %}\n\n {% do adapter.add_query(sql, bindings=bindings, abridge_sql_log=True) %}\n\n {% if loop.index0 == 0 %}\n {% do statements.append(sql) %}\n {% endif %}\n {% endfor %}\n\n {# Return SQL so we can render it out into the compiled files #}\n {{ return(statements[0]) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_batch_size", "macro.dbt.get_seed_column_quoted_csv", "macro.dbt.get_binding_char"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.2597194, "supported_languages": null}, "macro.dbt.materialization_seed_default": {"name": "materialization_seed_default", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/seed.sql", "original_file_path": "macros/materializations/seeds/seed.sql", "unique_id": "macro.dbt.materialization_seed_default", "macro_sql": "{% materialization seed, default %}\n\n {%- set identifier = model['alias'] -%}\n {%- set full_refresh_mode = (should_full_refresh()) -%}\n\n {%- set old_relation = adapter.get_relation(database=database, schema=schema, identifier=identifier) -%}\n\n {%- set exists_as_table = (old_relation is not none and old_relation.is_table) -%}\n {%- set exists_as_view = (old_relation is not none and old_relation.is_view) -%}\n\n {%- set grant_config = config.get('grants') -%}\n {%- set agate_table = load_agate_table() -%}\n -- grab current tables grants config for comparision later on\n\n {%- do store_result('agate_table', response='OK', agate_table=agate_table) -%}\n\n {{ run_hooks(pre_hooks, inside_transaction=False) }}\n\n -- `BEGIN` happens here:\n {{ run_hooks(pre_hooks, inside_transaction=True) }}\n\n -- build model\n {% set create_table_sql = \"\" %}\n {% if exists_as_view %}\n {{ exceptions.raise_compiler_error(\"Cannot seed to '{}', it is a view\".format(old_relation)) }}\n {% elif exists_as_table %}\n {% set create_table_sql = reset_csv_table(model, full_refresh_mode, old_relation, agate_table) %}\n {% else %}\n {% set create_table_sql = create_csv_table(model, agate_table) %}\n {% endif %}\n\n {% set code = 'CREATE' if full_refresh_mode else 'INSERT' %}\n {% set rows_affected = (agate_table.rows | length) %}\n {% set sql = load_csv_rows(model, agate_table) %}\n\n {% call noop_statement('main', code ~ ' ' ~ rows_affected, code, rows_affected) %}\n {{ get_csv_sql(create_table_sql, sql) }};\n {% endcall %}\n\n {% set target_relation = this.incorporate(type='table') %}\n\n {% set should_revoke = should_revoke(old_relation, full_refresh_mode) %}\n {% do apply_grants(target_relation, grant_config, should_revoke=should_revoke) %}\n\n {% do persist_docs(target_relation, model) %}\n\n {% if full_refresh_mode or not exists_as_table %}\n {% do create_indexes(target_relation) %}\n {% endif %}\n\n {{ run_hooks(post_hooks, inside_transaction=True) }}\n\n -- `COMMIT` happens here\n {{ adapter.commit() }}\n\n {{ run_hooks(post_hooks, inside_transaction=False) }}\n\n {{ return({'relations': [target_relation]}) }}\n\n{% endmaterialization %}", "depends_on": {"macros": ["macro.dbt.should_full_refresh", "macro.dbt.run_hooks", "macro.dbt.reset_csv_table", "macro.dbt.create_csv_table", "macro.dbt.load_csv_rows", "macro.dbt.noop_statement", "macro.dbt.get_csv_sql", "macro.dbt.should_revoke", "macro.dbt.apply_grants", "macro.dbt.persist_docs", "macro.dbt.create_indexes"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.2642038, "supported_languages": ["sql"]}, "macro.dbt.materialization_test_default": {"name": "materialization_test_default", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/tests/test.sql", "original_file_path": "macros/materializations/tests/test.sql", "unique_id": "macro.dbt.materialization_test_default", "macro_sql": "{%- materialization test, default -%}\n\n {% set relations = [] %}\n\n {% if should_store_failures() %}\n\n {% set identifier = model['alias'] %}\n {% set old_relation = adapter.get_relation(database=database, schema=schema, identifier=identifier) %}\n {% set target_relation = api.Relation.create(\n identifier=identifier, schema=schema, database=database, type='table') -%} %}\n\n {% if old_relation %}\n {% do adapter.drop_relation(old_relation) %}\n {% endif %}\n\n {% call statement(auto_begin=True) %}\n {{ create_table_as(False, target_relation, sql) }}\n {% endcall %}\n\n {% do relations.append(target_relation) %}\n\n {% set main_sql %}\n select *\n from {{ target_relation }}\n {% endset %}\n\n {{ adapter.commit() }}\n\n {% else %}\n\n {% set main_sql = sql %}\n\n {% endif %}\n\n {% set limit = config.get('limit') %}\n {% set fail_calc = config.get('fail_calc') %}\n {% set warn_if = config.get('warn_if') %}\n {% set error_if = config.get('error_if') %}\n\n {% call statement('main', fetch_result=True) -%}\n\n {{ get_test_sql(main_sql, fail_calc, warn_if, error_if, limit)}}\n\n {%- endcall %}\n\n {{ return({'relations': relations}) }}\n\n{%- endmaterialization -%}", "depends_on": {"macros": ["macro.dbt.should_store_failures", "macro.dbt.statement", "macro.dbt.create_table_as", "macro.dbt.get_test_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.2670379, "supported_languages": ["sql"]}, "macro.dbt.get_test_sql": {"name": "get_test_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/tests/helpers.sql", "original_file_path": "macros/materializations/tests/helpers.sql", "unique_id": "macro.dbt.get_test_sql", "macro_sql": "{% macro get_test_sql(main_sql, fail_calc, warn_if, error_if, limit) -%}\n {{ adapter.dispatch('get_test_sql', 'dbt')(main_sql, fail_calc, warn_if, error_if, limit) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_test_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.2676642, "supported_languages": null}, "macro.dbt.default__get_test_sql": {"name": "default__get_test_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/tests/helpers.sql", "original_file_path": "macros/materializations/tests/helpers.sql", "unique_id": "macro.dbt.default__get_test_sql", "macro_sql": "{% macro default__get_test_sql(main_sql, fail_calc, warn_if, error_if, limit) -%}\n select\n {{ fail_calc }} as failures,\n {{ fail_calc }} {{ warn_if }} as should_warn,\n {{ fail_calc }} {{ error_if }} as should_error\n from (\n {{ main_sql }}\n {{ \"limit \" ~ limit if limit != none }}\n ) dbt_internal_test\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.2681193, "supported_languages": null}, "macro.dbt.get_where_subquery": {"name": "get_where_subquery", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/tests/where_subquery.sql", "original_file_path": "macros/materializations/tests/where_subquery.sql", "unique_id": "macro.dbt.get_where_subquery", "macro_sql": "{% macro get_where_subquery(relation) -%}\n {% do return(adapter.dispatch('get_where_subquery', 'dbt')(relation)) %}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_where_subquery"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.2686481, "supported_languages": null}, "macro.dbt.default__get_where_subquery": {"name": "default__get_where_subquery", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/tests/where_subquery.sql", "original_file_path": "macros/materializations/tests/where_subquery.sql", "unique_id": "macro.dbt.default__get_where_subquery", "macro_sql": "{% macro default__get_where_subquery(relation) -%}\n {% set where = config.get('where', '') %}\n {% if where %}\n {%- set filtered -%}\n (select * from {{ relation }} where {{ where }}) dbt_subquery\n {%- endset -%}\n {% do return(filtered) %}\n {%- else -%}\n {% do return(relation) %}\n {%- endif -%}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.2692165, "supported_languages": null}, "macro.dbt.test_unique": {"name": "test_unique", "resource_type": "macro", "package_name": "dbt", "path": "tests/generic/builtin.sql", "original_file_path": "tests/generic/builtin.sql", "unique_id": "macro.dbt.test_unique", "macro_sql": "{% test unique(model, column_name) %}\n {% set macro = adapter.dispatch('test_unique', 'dbt') %}\n {{ macro(model, column_name) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt.default__test_unique"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.2699273, "supported_languages": null}, "macro.dbt.test_not_null": {"name": "test_not_null", "resource_type": "macro", "package_name": "dbt", "path": "tests/generic/builtin.sql", "original_file_path": "tests/generic/builtin.sql", "unique_id": "macro.dbt.test_not_null", "macro_sql": "{% test not_null(model, column_name) %}\n {% set macro = adapter.dispatch('test_not_null', 'dbt') %}\n {{ macro(model, column_name) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt.default__test_not_null"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.270277, "supported_languages": null}, "macro.dbt.test_accepted_values": {"name": "test_accepted_values", "resource_type": "macro", "package_name": "dbt", "path": "tests/generic/builtin.sql", "original_file_path": "tests/generic/builtin.sql", "unique_id": "macro.dbt.test_accepted_values", "macro_sql": "{% test accepted_values(model, column_name, values, quote=True) %}\n {% set macro = adapter.dispatch('test_accepted_values', 'dbt') %}\n {{ macro(model, column_name, values, quote) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt.default__test_accepted_values"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.2706997, "supported_languages": null}, "macro.dbt.test_relationships": {"name": "test_relationships", "resource_type": "macro", "package_name": "dbt", "path": "tests/generic/builtin.sql", "original_file_path": "tests/generic/builtin.sql", "unique_id": "macro.dbt.test_relationships", "macro_sql": "{% test relationships(model, column_name, to, field) %}\n {% set macro = adapter.dispatch('test_relationships', 'dbt') %}\n {{ macro(model, column_name, to, field) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt.default__test_relationships"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1715093147.2711103, "supported_languages": null}}, "docs": {"doc.dbt.__overview__": {"name": "__overview__", "resource_type": "doc", "package_name": "dbt", "path": "overview.md", "original_file_path": "docs/overview.md", "unique_id": "doc.dbt.__overview__", "block_contents": "### Welcome!\n\nWelcome to the auto-generated documentation for your dbt project!\n\n### Navigation\n\nYou can use the `Project` and `Database` navigation tabs on the left side of the window to explore the models\nin your project.\n\n#### Project Tab\nThe `Project` tab mirrors the directory structure of your dbt project. In this tab, you can see all of the\nmodels defined in your dbt project, as well as models imported from dbt packages.\n\n#### Database Tab\nThe `Database` tab also exposes your models, but in a format that looks more like a database explorer. This view\nshows relations (tables and views) grouped into database schemas. Note that ephemeral models are _not_ shown\nin this interface, as they do not exist in the database.\n\n### Graph Exploration\nYou can click the blue icon on the bottom-right corner of the page to view the lineage graph of your models.\n\nOn model pages, you'll see the immediate parents and children of the model you're exploring. By clicking the `Expand`\nbutton at the top-right of this lineage pane, you'll be able to see all of the models that are used to build,\nor are built from, the model you're exploring.\n\nOnce expanded, you'll be able to use the `--select` and `--exclude` model selection syntax to filter the\nmodels in the graph. For more information on model selection, check out the [dbt docs](https://docs.getdbt.com/docs/model-selection-syntax).\n\nNote that you can also right-click on models to interactively filter and explore the graph.\n\n---\n\n### More information\n\n- [What is dbt](https://docs.getdbt.com/docs/introduction)?\n- Read the [dbt viewpoint](https://docs.getdbt.com/docs/viewpoint)\n- [Installation](https://docs.getdbt.com/docs/installation)\n- Join the [dbt Community](https://www.getdbt.com/community/) for questions and discussion"}}, "exposures": {}, "metrics": {}, "groups": {}, "selectors": {}, "disabled": {}, "parent_map": {"model.sagerx.int_rxnorm_clinical_products_to_dose_forms": ["model.sagerx.stg_rxnorm__clinical_product_component_links", "model.sagerx.stg_rxnorm__clinical_product_components", "model.sagerx.stg_rxnorm__clinical_products", "model.sagerx.stg_rxnorm__dose_forms"], "model.sagerx.int_rxnorm_clinical_products_to_ingredient_strengths": ["model.sagerx.stg_rxnorm__clinical_product_component_links", "model.sagerx.stg_rxnorm__clinical_product_components", "model.sagerx.stg_rxnorm__clinical_products", "model.sagerx.stg_rxnorm__dose_forms", "model.sagerx.stg_rxnorm__ingredient_component_links", "model.sagerx.stg_rxnorm__ingredient_components", "model.sagerx.stg_rxnorm__ingredient_strength_links", "model.sagerx.stg_rxnorm__ingredient_strengths", "model.sagerx.stg_rxnorm__ingredients", "model.sagerx.stg_rxnorm__precise_ingredient_links", "model.sagerx.stg_rxnorm__precise_ingredients"], "model.sagerx.int_rxnorm_clinical_products_to_ingredient_components": ["model.sagerx.stg_rxnorm__clinical_product_component_links", "model.sagerx.stg_rxnorm__clinical_product_components", "model.sagerx.stg_rxnorm__clinical_products", "model.sagerx.stg_rxnorm__dose_forms", "model.sagerx.stg_rxnorm__ingredient_component_links", "model.sagerx.stg_rxnorm__ingredient_components", "model.sagerx.stg_rxnorm__ingredients"], "model.sagerx.int_rxnorm_all_ndcs_to_product_rxcuis": ["model.sagerx.stg_rxnorm__all_ndcs"], "model.sagerx.int_mthspl_products_to_active_moieties": ["model.sagerx.stg_rxnorm__mthspl_products", "model.sagerx.stg_rxnorm__mthspl_substances"], "model.sagerx.int_mthspl_products_to_inactive_ingredients": ["model.sagerx.stg_rxnorm__mthspl_products", "model.sagerx.stg_rxnorm__mthspl_substances"], "model.sagerx.int_rxnorm_clinical_products_to_ingredients": ["model.sagerx.stg_rxnorm__clinical_product_component_links", "model.sagerx.stg_rxnorm__clinical_product_components", "model.sagerx.stg_rxnorm__clinical_products", "model.sagerx.stg_rxnorm__dose_forms", "model.sagerx.stg_rxnorm__ingredients"], "model.sagerx.int_rxnorm_clinical_products_to_ndcs": ["model.sagerx.stg_rxnorm__clinical_product_component_links", "model.sagerx.stg_rxnorm__clinical_product_components", "model.sagerx.stg_rxnorm__clinical_products", "model.sagerx.stg_rxnorm__dose_forms", "model.sagerx.stg_rxnorm__ingredients", "model.sagerx.stg_rxnorm__ndcs"], "model.sagerx.int_mthspl_products_to_active_ingredients": ["model.sagerx.stg_rxnorm__mthspl_products", "model.sagerx.stg_rxnorm__mthspl_substances"], "model.sagerx.int_rxnorm_clinical_products_to_clinical_product_components": ["model.sagerx.stg_rxnorm__clinical_product_component_links", "model.sagerx.stg_rxnorm__clinical_product_components", "model.sagerx.stg_rxnorm__clinical_products", "model.sagerx.stg_rxnorm__ndcs"], "model.sagerx.int_rxnorm_ndcs_to_products": ["model.sagerx.stg_rxnorm__brand_products", "model.sagerx.stg_rxnorm__clinical_products", "model.sagerx.stg_rxnorm__ndcs"], "model.sagerx.int_inactive_ingredients_to_fda_enforcement_reports": ["model.sagerx.int_mthspl_products_to_inactive_ingredients", "model.sagerx.int_rxnorm_clinical_products_to_ingredients", "model.sagerx.int_rxnorm_ndcs_to_products", "model.sagerx.stg_fda_enforcement__json_ndcs", "model.sagerx.stg_fda_enforcement__regex_ndcs", "model.sagerx.stg_fda_ndc__ndcs"], "model.sagerx.int_fda_ndc_to_te": ["model.sagerx.stg_fda_ndc__ndcs", "model.sagerx.stg_fda_ndc__ndcs", "source.sagerx.orange_book.orange_book_products"], "model.sagerx.stg_fda_excluded__classes": ["source.sagerx.fda_excluded.fda_excluded_product"], "model.sagerx.stg_fda_excluded__substances": ["source.sagerx.fda_excluded.fda_excluded_product"], "model.sagerx.stg_fda_excluded__ndcs": ["source.sagerx.fda_excluded.fda_excluded_package", "source.sagerx.fda_excluded.fda_excluded_product"], "model.sagerx.stg_rxclass__atc_codes_to_rxnorm_product_rxcuis": ["source.sagerx.rxclass.rxclass_atc_to_product"], "model.sagerx.stg_nadac__all_nadac": ["source.sagerx.nadac.nadac"], "model.sagerx.stg_nadac__enhanced_nadac": ["model.sagerx.stg_nadac__all_nadac"], "model.sagerx.stg_rxnorm__mthspl_ndcs": [], "model.sagerx.stg_rxnorm__product_rxcuis": ["source.sagerx.rxnorm.rxnorm_rxnconso"], "model.sagerx.stg_rxnorm__dose_form_group_links": [], "model.sagerx.stg_rxnorm__ingredients": [], "model.sagerx.stg_rxnorm__atc_codes": [], "model.sagerx.stg_rxnorm__clinical_products": [], "model.sagerx.stg_rxnorm__ingredient_strengths": [], "model.sagerx.stg_rxnorm__precise_ingredients": [], "model.sagerx.stg_rxnorm__brand_products": [], "model.sagerx.stg_rxnorm__brands": [], "model.sagerx.stg_rxnorm__mthspl_products": [], "model.sagerx.stg_rxnorm__products": ["model.sagerx.stg_rxnorm__brand_products", "model.sagerx.stg_rxnorm__clinical_products"], "model.sagerx.stg_rxnorm__mthspl_substances": [], "model.sagerx.stg_rxnorm__ingredient_strength_links": [], "model.sagerx.stg_rxnorm__clinical_product_components": [], "model.sagerx.stg_rxnorm__clinical_product_component_links": [], "model.sagerx.stg_rxnorm__brand_product_component_links": [], "model.sagerx.stg_rxnorm__ingredient_component_links": [], "model.sagerx.stg_rxnorm__precise_ingredient_links": [], "model.sagerx.stg_rxnorm__brand_product_components": [], "model.sagerx.stg_rxnorm__ndcs": [], "model.sagerx.stg_rxnorm__ingredient_components": [], "model.sagerx.stg_rxnorm__all_ndcs": [], "model.sagerx.stg_rxnorm__dose_form_groups": [], "model.sagerx.stg_rxnorm__dose_forms": [], "model.sagerx.stg_fda_enforcement__reports": [], "model.sagerx.stg_fda_enforcement__regex_ndcs": [], "model.sagerx.stg_fda_enforcement__json_ndcs": [], "model.sagerx.stg_rxnorm_historical__ndcs": ["source.sagerx.rxnorm_historical.rxnorm_historical"], "model.sagerx.stg_rxnorm_historical__most_recent_ndcs": ["model.sagerx.stg_rxnorm_historical__ndcs"], "model.sagerx.stg_fda_ndc__ndcs": ["source.sagerx.fda_ndc.fda_ndc_package", "source.sagerx.fda_ndc.fda_ndc_product"], "model.sagerx.stg_fda_ndc__substances": ["source.sagerx.fda_ndc.fda_ndc_product"], "model.sagerx.stg_fda_ndc__classes": ["source.sagerx.fda_ndc.fda_ndc_product"], "model.sagerx.stg_fda_unfinished__substances": ["source.sagerx.fda_unfinished.fda_unfinished_product"], "model.sagerx.stg_fda_unfinished__ndcs": ["source.sagerx.fda_unfinished.fda_unfinished_package", "source.sagerx.fda_unfinished.fda_unfinished_product"], "model.sagerx.stg_rxterms__names": ["source.sagerx.rxterms.rxterms"], "model.sagerx.stg_rxterms__strengths": ["source.sagerx.rxterms.rxterms"], "model.sagerx.fda_excluded": ["source.sagerx.fda_excluded.fda_excluded_package", "source.sagerx.fda_excluded.fda_excluded_product"], "model.sagerx.scorecard_data": ["model.sagerx.int_inactive_ingredients_to_fda_enforcement_reports"], "model.sagerx.all_ndcs_to_sources": ["model.sagerx.stg_fda_excluded__ndcs", "model.sagerx.stg_fda_ndc__ndcs", "model.sagerx.stg_fda_unfinished__ndcs", "model.sagerx.stg_rxnorm__ndcs", "model.sagerx.stg_rxnorm_historical__ndcs"], "model.sagerx.all_ndc_descriptions": ["model.sagerx.int_rxnorm_ndcs_to_products", "model.sagerx.stg_fda_excluded__ndcs", "model.sagerx.stg_fda_ndc__ndcs", "model.sagerx.stg_fda_unfinished__ndcs", "model.sagerx.stg_rxnorm__product_rxcuis", "model.sagerx.stg_rxnorm_historical__most_recent_ndcs"], "model.sagerx.products": ["model.sagerx.int_rxnorm_clinical_products_to_ingredients", "model.sagerx.stg_rxnorm__products"], "model.sagerx.brand_products_with_related_ndcs": ["model.sagerx.int_rxnorm_ndcs_to_products", "model.sagerx.stg_fda_ndc__ndcs", "model.sagerx.stg_rxnorm__products"], "model.sagerx.atc_codes_to_rxnorm_products": ["model.sagerx.stg_rxclass__atc_codes_to_rxnorm_product_rxcuis", "model.sagerx.stg_rxnorm__atc_codes", "model.sagerx.stg_rxnorm__product_rxcuis"], "test.sagerx.unique_stg_fda_excluded__ndcs_ndc11.fcedc4532b": ["model.sagerx.stg_fda_excluded__ndcs"], "test.sagerx.not_null_stg_fda_excluded__ndcs_ndc11.f9b06099d2": ["model.sagerx.stg_fda_excluded__ndcs"], "test.sagerx.not_null_stg_nadac__all_nadac_ndc.13fad59845": ["model.sagerx.stg_nadac__all_nadac"], "test.sagerx.not_null_stg_nadac__all_nadac_ndc_description.d0df11974f": ["model.sagerx.stg_nadac__all_nadac"], "test.sagerx.not_null_stg_nadac__enhanced_nadac_ndc.4d4e5ab99c": ["model.sagerx.stg_nadac__enhanced_nadac"], "test.sagerx.not_null_stg_nadac__enhanced_nadac_ndc_description.16fde5c578": ["model.sagerx.stg_nadac__enhanced_nadac"], "test.sagerx.unique_stg_rxnorm__ndcs_ndc.9929df0b31": ["model.sagerx.stg_rxnorm__ndcs"], "test.sagerx.not_null_stg_rxnorm__ndcs_ndc.4db0f5b5df": ["model.sagerx.stg_rxnorm__ndcs"], "test.sagerx.unique_stg_rxnorm__clinical_products_rxcui.0bac3cbe9c": ["model.sagerx.stg_rxnorm__clinical_products"], "test.sagerx.not_null_stg_rxnorm__clinical_products_rxcui.5dd04a1235": ["model.sagerx.stg_rxnorm__clinical_products"], "test.sagerx.not_null_stg_rxnorm__clinical_product_component_links_clinical_product_rxcui.94c75bf656": ["model.sagerx.stg_rxnorm__clinical_product_component_links"], "test.sagerx.not_null_stg_rxnorm__clinical_product_component_links_clinical_product_component_rxcui.869196279f": ["model.sagerx.stg_rxnorm__clinical_product_component_links"], "test.sagerx.unique_stg_rxnorm__clinical_product_components_rxcui.2705e1f418": ["model.sagerx.stg_rxnorm__clinical_product_components"], "test.sagerx.not_null_stg_rxnorm__clinical_product_components_rxcui.0b9c81f7ae": ["model.sagerx.stg_rxnorm__clinical_product_components"], "test.sagerx.unique_stg_rxnorm__dose_forms_rxcui.c7fb3a8da2": ["model.sagerx.stg_rxnorm__dose_forms"], "test.sagerx.not_null_stg_rxnorm__dose_forms_rxcui.a06bc0be08": ["model.sagerx.stg_rxnorm__dose_forms"], "test.sagerx.not_null_stg_rxnorm__dose_form_group_links_dose_form_rxcui.3fdd0d4bb1": ["model.sagerx.stg_rxnorm__dose_form_group_links"], "test.sagerx.not_null_stg_rxnorm__dose_form_group_links_dose_form_group_rxcui.f4fde7102f": ["model.sagerx.stg_rxnorm__dose_form_group_links"], "test.sagerx.unique_stg_rxnorm__dose_form_groups_rxcui.b2e6200e1b": ["model.sagerx.stg_rxnorm__dose_form_groups"], "test.sagerx.not_null_stg_rxnorm__dose_form_groups_rxcui.eca504df20": ["model.sagerx.stg_rxnorm__dose_form_groups"], "test.sagerx.unique_stg_rxnorm__ingredients_rxcui.c6b139419f": ["model.sagerx.stg_rxnorm__ingredients"], "test.sagerx.not_null_stg_rxnorm__ingredients_rxcui.24a1dca332": ["model.sagerx.stg_rxnorm__ingredients"], "test.sagerx.not_null_stg_rxnorm__ingredient_component_links_ingredient_rxcui.303404889c": ["model.sagerx.stg_rxnorm__ingredient_component_links"], "test.sagerx.not_null_stg_rxnorm__ingredient_component_links_ingredient_component_rxcui.a6923961b3": ["model.sagerx.stg_rxnorm__ingredient_component_links"], "test.sagerx.unique_stg_rxnorm__ingredient_components_rxcui.75f7804348": ["model.sagerx.stg_rxnorm__ingredient_components"], "test.sagerx.not_null_stg_rxnorm__ingredient_components_rxcui.aed8b0d4c5": ["model.sagerx.stg_rxnorm__ingredient_components"], "test.sagerx.accepted_values_stg_rxnorm__ingredient_components_tty__IN.5d941aec74": ["model.sagerx.stg_rxnorm__ingredient_components"], "test.sagerx.not_null_stg_rxnorm__ingredient_strength_links_clinical_product_component_rxcui.6be28272b5": ["model.sagerx.stg_rxnorm__ingredient_strength_links"], "test.sagerx.not_null_stg_rxnorm__ingredient_strength_links_ingredient_component_rxcui.fec66d7333": ["model.sagerx.stg_rxnorm__ingredient_strength_links"], "test.sagerx.not_null_stg_rxnorm__ingredient_strength_links_ingredient_strength_rxcui.3527b30bda": ["model.sagerx.stg_rxnorm__ingredient_strength_links"], "test.sagerx.unique_stg_rxnorm__ingredient_strengths_rxcui.716f558a6b": ["model.sagerx.stg_rxnorm__ingredient_strengths"], "test.sagerx.not_null_stg_rxnorm__ingredient_strengths_rxcui.d4a27e753c": ["model.sagerx.stg_rxnorm__ingredient_strengths"], "test.sagerx.not_null_stg_rxnorm__mthspl_products_rxcui.21eb3d19b0": ["model.sagerx.stg_rxnorm__mthspl_products"], "test.sagerx.not_null_stg_rxnorm__mthspl_substances_rxcui.1b38748ca6": ["model.sagerx.stg_rxnorm__mthspl_substances"], "test.sagerx.unique_stg_rxnorm__brand_products_rxcui.da77867bbd": ["model.sagerx.stg_rxnorm__brand_products"], "test.sagerx.not_null_stg_rxnorm__brand_products_rxcui.634ef0c2ff": ["model.sagerx.stg_rxnorm__brand_products"], "test.sagerx.not_null_stg_rxnorm__brand_product_component_links_brand_product_rxcui.6135a1fa50": ["model.sagerx.stg_rxnorm__brand_product_component_links"], "test.sagerx.not_null_stg_rxnorm__brand_product_component_links_brand_product_component_rxcui.9f497ef16e": ["model.sagerx.stg_rxnorm__brand_product_component_links"], "test.sagerx.unique_stg_rxnorm__brand_product_components_rxcui.cd3b918573": ["model.sagerx.stg_rxnorm__brand_product_components"], "test.sagerx.not_null_stg_rxnorm__brand_product_components_rxcui.4917a3f0ca": ["model.sagerx.stg_rxnorm__brand_product_components"], "test.sagerx.not_null_stg_rxnorm__brand_product_components_clinical_product_component_rxcui.25fdaf356b": ["model.sagerx.stg_rxnorm__brand_product_components"], "test.sagerx.unique_stg_rxnorm__brands_rxcui.a2c8cd0cd0": ["model.sagerx.stg_rxnorm__brands"], "test.sagerx.not_null_stg_rxnorm__brands_rxcui.d067686860": ["model.sagerx.stg_rxnorm__brands"], "test.sagerx.unique_stg_fda_ndc__ndcs_ndc11.8b4e77e239": ["model.sagerx.stg_fda_ndc__ndcs"], "test.sagerx.not_null_stg_fda_ndc__ndcs_ndc11.7680fa8975": ["model.sagerx.stg_fda_ndc__ndcs"], "test.sagerx.unique_stg_fda_unfinished__ndcs_ndc11.dd8892c8c6": ["model.sagerx.stg_fda_unfinished__ndcs"], "test.sagerx.not_null_stg_fda_unfinished__ndcs_ndc11.0257f0c5fe": ["model.sagerx.stg_fda_unfinished__ndcs"], "test.sagerx.unique_all_ndc_descriptions_ndc.e6968eba9b": ["model.sagerx.all_ndc_descriptions"], "test.sagerx.not_null_all_ndc_descriptions_ndc.5637013605": ["model.sagerx.all_ndc_descriptions"], "test.sagerx.unique_atc_codes_to_rxnorm_products_rxcui.b171565c1d": ["model.sagerx.atc_codes_to_rxnorm_products"], "test.sagerx.not_null_atc_codes_to_rxnorm_products_rxcui.f1ef3093c1": ["model.sagerx.atc_codes_to_rxnorm_products"], "source.sagerx.fda_excluded.fda_excluded_package": [], "source.sagerx.fda_excluded.fda_excluded_product": [], "source.sagerx.rxclass.rxclass_atc_to_product": [], "source.sagerx.nadac.nadac": [], "source.sagerx.rxnorm.rxnorm_rxnatomarchive": [], "source.sagerx.rxnorm.rxnorm_rxnconso": [], "source.sagerx.rxnorm.rxnorm_rxncui": [], "source.sagerx.rxnorm.rxnorm_rxncuichanges": [], "source.sagerx.rxnorm.rxnorm_rxndoc": [], "source.sagerx.rxnorm.rxnorm_rxnrel": [], "source.sagerx.rxnorm.rxnorm_rxnsab": [], "source.sagerx.rxnorm.rxnorm_rxnsat": [], "source.sagerx.rxnorm.rxnorm_rxnsty": [], "source.sagerx.purple_book.purple_book": [], "source.sagerx.fda_enforcement.fda_enforcement": [], "source.sagerx.rxnorm_historical.rxnorm_historical": [], "source.sagerx.fda_ndc.fda_ndc_product": [], "source.sagerx.fda_ndc.fda_ndc_package": [], "source.sagerx.orange_book.orange_book_exlusivity": [], "source.sagerx.orange_book.orange_book_patent": [], "source.sagerx.orange_book.orange_book_products": [], "source.sagerx.fda_unfinished.fda_unfinished_package": [], "source.sagerx.fda_unfinished.fda_unfinished_product": [], "source.sagerx.rxterms.rxterms_ingredients": [], "source.sagerx.rxterms.rxterms": []}, "child_map": {"model.sagerx.int_rxnorm_clinical_products_to_dose_forms": [], "model.sagerx.int_rxnorm_clinical_products_to_ingredient_strengths": [], "model.sagerx.int_rxnorm_clinical_products_to_ingredient_components": [], "model.sagerx.int_rxnorm_all_ndcs_to_product_rxcuis": [], "model.sagerx.int_mthspl_products_to_active_moieties": [], "model.sagerx.int_mthspl_products_to_inactive_ingredients": ["model.sagerx.int_inactive_ingredients_to_fda_enforcement_reports"], "model.sagerx.int_rxnorm_clinical_products_to_ingredients": ["model.sagerx.int_inactive_ingredients_to_fda_enforcement_reports", "model.sagerx.products"], "model.sagerx.int_rxnorm_clinical_products_to_ndcs": [], "model.sagerx.int_mthspl_products_to_active_ingredients": [], "model.sagerx.int_rxnorm_clinical_products_to_clinical_product_components": [], "model.sagerx.int_rxnorm_ndcs_to_products": ["model.sagerx.all_ndc_descriptions", "model.sagerx.brand_products_with_related_ndcs", "model.sagerx.int_inactive_ingredients_to_fda_enforcement_reports"], "model.sagerx.int_inactive_ingredients_to_fda_enforcement_reports": ["model.sagerx.scorecard_data"], "model.sagerx.int_fda_ndc_to_te": [], "model.sagerx.stg_fda_excluded__classes": [], "model.sagerx.stg_fda_excluded__substances": [], "model.sagerx.stg_fda_excluded__ndcs": ["model.sagerx.all_ndc_descriptions", "model.sagerx.all_ndcs_to_sources", "test.sagerx.not_null_stg_fda_excluded__ndcs_ndc11.f9b06099d2", "test.sagerx.unique_stg_fda_excluded__ndcs_ndc11.fcedc4532b"], "model.sagerx.stg_rxclass__atc_codes_to_rxnorm_product_rxcuis": ["model.sagerx.atc_codes_to_rxnorm_products"], "model.sagerx.stg_nadac__all_nadac": ["model.sagerx.stg_nadac__enhanced_nadac", "test.sagerx.not_null_stg_nadac__all_nadac_ndc.13fad59845", "test.sagerx.not_null_stg_nadac__all_nadac_ndc_description.d0df11974f"], "model.sagerx.stg_nadac__enhanced_nadac": ["test.sagerx.not_null_stg_nadac__enhanced_nadac_ndc.4d4e5ab99c", "test.sagerx.not_null_stg_nadac__enhanced_nadac_ndc_description.16fde5c578"], "model.sagerx.stg_rxnorm__mthspl_ndcs": [], "model.sagerx.stg_rxnorm__product_rxcuis": ["model.sagerx.all_ndc_descriptions", "model.sagerx.atc_codes_to_rxnorm_products"], "model.sagerx.stg_rxnorm__dose_form_group_links": ["test.sagerx.not_null_stg_rxnorm__dose_form_group_links_dose_form_group_rxcui.f4fde7102f", "test.sagerx.not_null_stg_rxnorm__dose_form_group_links_dose_form_rxcui.3fdd0d4bb1"], "model.sagerx.stg_rxnorm__ingredients": ["model.sagerx.int_rxnorm_clinical_products_to_ingredient_components", "model.sagerx.int_rxnorm_clinical_products_to_ingredient_strengths", "model.sagerx.int_rxnorm_clinical_products_to_ingredients", "model.sagerx.int_rxnorm_clinical_products_to_ndcs", "test.sagerx.not_null_stg_rxnorm__ingredients_rxcui.24a1dca332", "test.sagerx.unique_stg_rxnorm__ingredients_rxcui.c6b139419f"], "model.sagerx.stg_rxnorm__atc_codes": ["model.sagerx.atc_codes_to_rxnorm_products"], "model.sagerx.stg_rxnorm__clinical_products": ["model.sagerx.int_rxnorm_clinical_products_to_clinical_product_components", "model.sagerx.int_rxnorm_clinical_products_to_dose_forms", "model.sagerx.int_rxnorm_clinical_products_to_ingredient_components", "model.sagerx.int_rxnorm_clinical_products_to_ingredient_strengths", "model.sagerx.int_rxnorm_clinical_products_to_ingredients", "model.sagerx.int_rxnorm_clinical_products_to_ndcs", "model.sagerx.int_rxnorm_ndcs_to_products", "model.sagerx.stg_rxnorm__products", "test.sagerx.not_null_stg_rxnorm__clinical_products_rxcui.5dd04a1235", "test.sagerx.unique_stg_rxnorm__clinical_products_rxcui.0bac3cbe9c"], "model.sagerx.stg_rxnorm__ingredient_strengths": ["model.sagerx.int_rxnorm_clinical_products_to_ingredient_strengths", "test.sagerx.not_null_stg_rxnorm__ingredient_strengths_rxcui.d4a27e753c", "test.sagerx.unique_stg_rxnorm__ingredient_strengths_rxcui.716f558a6b"], "model.sagerx.stg_rxnorm__precise_ingredients": ["model.sagerx.int_rxnorm_clinical_products_to_ingredient_strengths"], "model.sagerx.stg_rxnorm__brand_products": ["model.sagerx.int_rxnorm_ndcs_to_products", "model.sagerx.stg_rxnorm__products", "test.sagerx.not_null_stg_rxnorm__brand_products_rxcui.634ef0c2ff", "test.sagerx.unique_stg_rxnorm__brand_products_rxcui.da77867bbd"], "model.sagerx.stg_rxnorm__brands": ["test.sagerx.not_null_stg_rxnorm__brands_rxcui.d067686860", "test.sagerx.unique_stg_rxnorm__brands_rxcui.a2c8cd0cd0"], "model.sagerx.stg_rxnorm__mthspl_products": ["model.sagerx.int_mthspl_products_to_active_ingredients", "model.sagerx.int_mthspl_products_to_active_moieties", "model.sagerx.int_mthspl_products_to_inactive_ingredients", "test.sagerx.not_null_stg_rxnorm__mthspl_products_rxcui.21eb3d19b0"], "model.sagerx.stg_rxnorm__products": ["model.sagerx.brand_products_with_related_ndcs", "model.sagerx.products"], "model.sagerx.stg_rxnorm__mthspl_substances": ["model.sagerx.int_mthspl_products_to_active_ingredients", "model.sagerx.int_mthspl_products_to_active_moieties", "model.sagerx.int_mthspl_products_to_inactive_ingredients", "test.sagerx.not_null_stg_rxnorm__mthspl_substances_rxcui.1b38748ca6"], "model.sagerx.stg_rxnorm__ingredient_strength_links": ["model.sagerx.int_rxnorm_clinical_products_to_ingredient_strengths", "test.sagerx.not_null_stg_rxnorm__ingredient_strength_links_clinical_product_component_rxcui.6be28272b5", "test.sagerx.not_null_stg_rxnorm__ingredient_strength_links_ingredient_component_rxcui.fec66d7333", "test.sagerx.not_null_stg_rxnorm__ingredient_strength_links_ingredient_strength_rxcui.3527b30bda"], "model.sagerx.stg_rxnorm__clinical_product_components": ["model.sagerx.int_rxnorm_clinical_products_to_clinical_product_components", "model.sagerx.int_rxnorm_clinical_products_to_dose_forms", "model.sagerx.int_rxnorm_clinical_products_to_ingredient_components", "model.sagerx.int_rxnorm_clinical_products_to_ingredient_strengths", "model.sagerx.int_rxnorm_clinical_products_to_ingredients", "model.sagerx.int_rxnorm_clinical_products_to_ndcs", "test.sagerx.not_null_stg_rxnorm__clinical_product_components_rxcui.0b9c81f7ae", "test.sagerx.unique_stg_rxnorm__clinical_product_components_rxcui.2705e1f418"], "model.sagerx.stg_rxnorm__clinical_product_component_links": ["model.sagerx.int_rxnorm_clinical_products_to_clinical_product_components", "model.sagerx.int_rxnorm_clinical_products_to_dose_forms", "model.sagerx.int_rxnorm_clinical_products_to_ingredient_components", "model.sagerx.int_rxnorm_clinical_products_to_ingredient_strengths", "model.sagerx.int_rxnorm_clinical_products_to_ingredients", "model.sagerx.int_rxnorm_clinical_products_to_ndcs", "test.sagerx.not_null_stg_rxnorm__clinical_product_component_links_clinical_product_component_rxcui.869196279f", "test.sagerx.not_null_stg_rxnorm__clinical_product_component_links_clinical_product_rxcui.94c75bf656"], "model.sagerx.stg_rxnorm__brand_product_component_links": ["test.sagerx.not_null_stg_rxnorm__brand_product_component_links_brand_product_component_rxcui.9f497ef16e", "test.sagerx.not_null_stg_rxnorm__brand_product_component_links_brand_product_rxcui.6135a1fa50"], "model.sagerx.stg_rxnorm__ingredient_component_links": ["model.sagerx.int_rxnorm_clinical_products_to_ingredient_components", "model.sagerx.int_rxnorm_clinical_products_to_ingredient_strengths", "test.sagerx.not_null_stg_rxnorm__ingredient_component_links_ingredient_component_rxcui.a6923961b3", "test.sagerx.not_null_stg_rxnorm__ingredient_component_links_ingredient_rxcui.303404889c"], "model.sagerx.stg_rxnorm__precise_ingredient_links": ["model.sagerx.int_rxnorm_clinical_products_to_ingredient_strengths"], "model.sagerx.stg_rxnorm__brand_product_components": ["test.sagerx.not_null_stg_rxnorm__brand_product_components_clinical_product_component_rxcui.25fdaf356b", "test.sagerx.not_null_stg_rxnorm__brand_product_components_rxcui.4917a3f0ca", "test.sagerx.unique_stg_rxnorm__brand_product_components_rxcui.cd3b918573"], "model.sagerx.stg_rxnorm__ndcs": ["model.sagerx.all_ndcs_to_sources", "model.sagerx.int_rxnorm_clinical_products_to_clinical_product_components", "model.sagerx.int_rxnorm_clinical_products_to_ndcs", "model.sagerx.int_rxnorm_ndcs_to_products", "test.sagerx.not_null_stg_rxnorm__ndcs_ndc.4db0f5b5df", "test.sagerx.unique_stg_rxnorm__ndcs_ndc.9929df0b31"], "model.sagerx.stg_rxnorm__ingredient_components": ["model.sagerx.int_rxnorm_clinical_products_to_ingredient_components", "model.sagerx.int_rxnorm_clinical_products_to_ingredient_strengths", "test.sagerx.accepted_values_stg_rxnorm__ingredient_components_tty__IN.5d941aec74", "test.sagerx.not_null_stg_rxnorm__ingredient_components_rxcui.aed8b0d4c5", "test.sagerx.unique_stg_rxnorm__ingredient_components_rxcui.75f7804348"], "model.sagerx.stg_rxnorm__all_ndcs": ["model.sagerx.int_rxnorm_all_ndcs_to_product_rxcuis"], "model.sagerx.stg_rxnorm__dose_form_groups": ["test.sagerx.not_null_stg_rxnorm__dose_form_groups_rxcui.eca504df20", "test.sagerx.unique_stg_rxnorm__dose_form_groups_rxcui.b2e6200e1b"], "model.sagerx.stg_rxnorm__dose_forms": ["model.sagerx.int_rxnorm_clinical_products_to_dose_forms", "model.sagerx.int_rxnorm_clinical_products_to_ingredient_components", "model.sagerx.int_rxnorm_clinical_products_to_ingredient_strengths", "model.sagerx.int_rxnorm_clinical_products_to_ingredients", "model.sagerx.int_rxnorm_clinical_products_to_ndcs", "test.sagerx.not_null_stg_rxnorm__dose_forms_rxcui.a06bc0be08", "test.sagerx.unique_stg_rxnorm__dose_forms_rxcui.c7fb3a8da2"], "model.sagerx.stg_fda_enforcement__reports": [], "model.sagerx.stg_fda_enforcement__regex_ndcs": ["model.sagerx.int_inactive_ingredients_to_fda_enforcement_reports"], "model.sagerx.stg_fda_enforcement__json_ndcs": ["model.sagerx.int_inactive_ingredients_to_fda_enforcement_reports"], "model.sagerx.stg_rxnorm_historical__ndcs": ["model.sagerx.all_ndcs_to_sources", "model.sagerx.stg_rxnorm_historical__most_recent_ndcs"], "model.sagerx.stg_rxnorm_historical__most_recent_ndcs": ["model.sagerx.all_ndc_descriptions"], "model.sagerx.stg_fda_ndc__ndcs": ["model.sagerx.all_ndc_descriptions", "model.sagerx.all_ndcs_to_sources", "model.sagerx.brand_products_with_related_ndcs", "model.sagerx.int_fda_ndc_to_te", "model.sagerx.int_fda_ndc_to_te", "model.sagerx.int_inactive_ingredients_to_fda_enforcement_reports", "test.sagerx.not_null_stg_fda_ndc__ndcs_ndc11.7680fa8975", "test.sagerx.unique_stg_fda_ndc__ndcs_ndc11.8b4e77e239"], "model.sagerx.stg_fda_ndc__substances": [], "model.sagerx.stg_fda_ndc__classes": [], "model.sagerx.stg_fda_unfinished__substances": [], "model.sagerx.stg_fda_unfinished__ndcs": ["model.sagerx.all_ndc_descriptions", "model.sagerx.all_ndcs_to_sources", "test.sagerx.not_null_stg_fda_unfinished__ndcs_ndc11.0257f0c5fe", "test.sagerx.unique_stg_fda_unfinished__ndcs_ndc11.dd8892c8c6"], "model.sagerx.stg_rxterms__names": [], "model.sagerx.stg_rxterms__strengths": [], "model.sagerx.fda_excluded": [], "model.sagerx.scorecard_data": [], "model.sagerx.all_ndcs_to_sources": [], "model.sagerx.all_ndc_descriptions": ["test.sagerx.not_null_all_ndc_descriptions_ndc.5637013605", "test.sagerx.unique_all_ndc_descriptions_ndc.e6968eba9b"], "model.sagerx.products": [], "model.sagerx.brand_products_with_related_ndcs": [], "model.sagerx.atc_codes_to_rxnorm_products": ["test.sagerx.not_null_atc_codes_to_rxnorm_products_rxcui.f1ef3093c1", "test.sagerx.unique_atc_codes_to_rxnorm_products_rxcui.b171565c1d"], "test.sagerx.unique_stg_fda_excluded__ndcs_ndc11.fcedc4532b": [], "test.sagerx.not_null_stg_fda_excluded__ndcs_ndc11.f9b06099d2": [], "test.sagerx.not_null_stg_nadac__all_nadac_ndc.13fad59845": [], "test.sagerx.not_null_stg_nadac__all_nadac_ndc_description.d0df11974f": [], "test.sagerx.not_null_stg_nadac__enhanced_nadac_ndc.4d4e5ab99c": [], "test.sagerx.not_null_stg_nadac__enhanced_nadac_ndc_description.16fde5c578": [], "test.sagerx.unique_stg_rxnorm__ndcs_ndc.9929df0b31": [], "test.sagerx.not_null_stg_rxnorm__ndcs_ndc.4db0f5b5df": [], "test.sagerx.unique_stg_rxnorm__clinical_products_rxcui.0bac3cbe9c": [], "test.sagerx.not_null_stg_rxnorm__clinical_products_rxcui.5dd04a1235": [], "test.sagerx.not_null_stg_rxnorm__clinical_product_component_links_clinical_product_rxcui.94c75bf656": [], "test.sagerx.not_null_stg_rxnorm__clinical_product_component_links_clinical_product_component_rxcui.869196279f": [], "test.sagerx.unique_stg_rxnorm__clinical_product_components_rxcui.2705e1f418": [], "test.sagerx.not_null_stg_rxnorm__clinical_product_components_rxcui.0b9c81f7ae": [], "test.sagerx.unique_stg_rxnorm__dose_forms_rxcui.c7fb3a8da2": [], "test.sagerx.not_null_stg_rxnorm__dose_forms_rxcui.a06bc0be08": [], "test.sagerx.not_null_stg_rxnorm__dose_form_group_links_dose_form_rxcui.3fdd0d4bb1": [], "test.sagerx.not_null_stg_rxnorm__dose_form_group_links_dose_form_group_rxcui.f4fde7102f": [], "test.sagerx.unique_stg_rxnorm__dose_form_groups_rxcui.b2e6200e1b": [], "test.sagerx.not_null_stg_rxnorm__dose_form_groups_rxcui.eca504df20": [], "test.sagerx.unique_stg_rxnorm__ingredients_rxcui.c6b139419f": [], "test.sagerx.not_null_stg_rxnorm__ingredients_rxcui.24a1dca332": [], "test.sagerx.not_null_stg_rxnorm__ingredient_component_links_ingredient_rxcui.303404889c": [], "test.sagerx.not_null_stg_rxnorm__ingredient_component_links_ingredient_component_rxcui.a6923961b3": [], "test.sagerx.unique_stg_rxnorm__ingredient_components_rxcui.75f7804348": [], "test.sagerx.not_null_stg_rxnorm__ingredient_components_rxcui.aed8b0d4c5": [], "test.sagerx.accepted_values_stg_rxnorm__ingredient_components_tty__IN.5d941aec74": [], "test.sagerx.not_null_stg_rxnorm__ingredient_strength_links_clinical_product_component_rxcui.6be28272b5": [], "test.sagerx.not_null_stg_rxnorm__ingredient_strength_links_ingredient_component_rxcui.fec66d7333": [], "test.sagerx.not_null_stg_rxnorm__ingredient_strength_links_ingredient_strength_rxcui.3527b30bda": [], "test.sagerx.unique_stg_rxnorm__ingredient_strengths_rxcui.716f558a6b": [], "test.sagerx.not_null_stg_rxnorm__ingredient_strengths_rxcui.d4a27e753c": [], "test.sagerx.not_null_stg_rxnorm__mthspl_products_rxcui.21eb3d19b0": [], "test.sagerx.not_null_stg_rxnorm__mthspl_substances_rxcui.1b38748ca6": [], "test.sagerx.unique_stg_rxnorm__brand_products_rxcui.da77867bbd": [], "test.sagerx.not_null_stg_rxnorm__brand_products_rxcui.634ef0c2ff": [], "test.sagerx.not_null_stg_rxnorm__brand_product_component_links_brand_product_rxcui.6135a1fa50": [], "test.sagerx.not_null_stg_rxnorm__brand_product_component_links_brand_product_component_rxcui.9f497ef16e": [], "test.sagerx.unique_stg_rxnorm__brand_product_components_rxcui.cd3b918573": [], "test.sagerx.not_null_stg_rxnorm__brand_product_components_rxcui.4917a3f0ca": [], "test.sagerx.not_null_stg_rxnorm__brand_product_components_clinical_product_component_rxcui.25fdaf356b": [], "test.sagerx.unique_stg_rxnorm__brands_rxcui.a2c8cd0cd0": [], "test.sagerx.not_null_stg_rxnorm__brands_rxcui.d067686860": [], "test.sagerx.unique_stg_fda_ndc__ndcs_ndc11.8b4e77e239": [], "test.sagerx.not_null_stg_fda_ndc__ndcs_ndc11.7680fa8975": [], "test.sagerx.unique_stg_fda_unfinished__ndcs_ndc11.dd8892c8c6": [], "test.sagerx.not_null_stg_fda_unfinished__ndcs_ndc11.0257f0c5fe": [], "test.sagerx.unique_all_ndc_descriptions_ndc.e6968eba9b": [], "test.sagerx.not_null_all_ndc_descriptions_ndc.5637013605": [], "test.sagerx.unique_atc_codes_to_rxnorm_products_rxcui.b171565c1d": [], "test.sagerx.not_null_atc_codes_to_rxnorm_products_rxcui.f1ef3093c1": [], "source.sagerx.fda_excluded.fda_excluded_package": ["model.sagerx.fda_excluded", "model.sagerx.stg_fda_excluded__ndcs"], "source.sagerx.fda_excluded.fda_excluded_product": ["model.sagerx.fda_excluded", "model.sagerx.stg_fda_excluded__classes", "model.sagerx.stg_fda_excluded__ndcs", "model.sagerx.stg_fda_excluded__substances"], "source.sagerx.rxclass.rxclass_atc_to_product": ["model.sagerx.stg_rxclass__atc_codes_to_rxnorm_product_rxcuis"], "source.sagerx.nadac.nadac": ["model.sagerx.stg_nadac__all_nadac"], "source.sagerx.rxnorm.rxnorm_rxnatomarchive": [], "source.sagerx.rxnorm.rxnorm_rxnconso": ["model.sagerx.stg_rxnorm__product_rxcuis"], "source.sagerx.rxnorm.rxnorm_rxncui": [], "source.sagerx.rxnorm.rxnorm_rxncuichanges": [], "source.sagerx.rxnorm.rxnorm_rxndoc": [], "source.sagerx.rxnorm.rxnorm_rxnrel": [], "source.sagerx.rxnorm.rxnorm_rxnsab": [], "source.sagerx.rxnorm.rxnorm_rxnsat": [], "source.sagerx.rxnorm.rxnorm_rxnsty": [], "source.sagerx.purple_book.purple_book": [], "source.sagerx.fda_enforcement.fda_enforcement": [], "source.sagerx.rxnorm_historical.rxnorm_historical": ["model.sagerx.stg_rxnorm_historical__ndcs"], "source.sagerx.fda_ndc.fda_ndc_product": ["model.sagerx.stg_fda_ndc__classes", "model.sagerx.stg_fda_ndc__ndcs", "model.sagerx.stg_fda_ndc__substances"], "source.sagerx.fda_ndc.fda_ndc_package": ["model.sagerx.stg_fda_ndc__ndcs"], "source.sagerx.orange_book.orange_book_exlusivity": [], "source.sagerx.orange_book.orange_book_patent": [], "source.sagerx.orange_book.orange_book_products": ["model.sagerx.int_fda_ndc_to_te"], "source.sagerx.fda_unfinished.fda_unfinished_package": ["model.sagerx.stg_fda_unfinished__ndcs"], "source.sagerx.fda_unfinished.fda_unfinished_product": ["model.sagerx.stg_fda_unfinished__ndcs", "model.sagerx.stg_fda_unfinished__substances"], "source.sagerx.rxterms.rxterms_ingredients": [], "source.sagerx.rxterms.rxterms": ["model.sagerx.stg_rxterms__names", "model.sagerx.stg_rxterms__strengths"]}, "group_map": {}} \ No newline at end of file +{"metadata": {"dbt_schema_version": "https://schemas.getdbt.com/dbt/manifest/v12.json", "dbt_version": "1.8.6", "generated_at": "2024-11-21T21:06:52.236521Z", "invocation_id": "bb162212-7553-4074-8a3e-1e84d80ff754", "env": {}, "project_name": "sagerx", "project_id": "37e9b0fc1542514abb8721cf67968006", "user_id": "13b03b84-b19a-4267-a4e3-22bd7dbc5411", "send_anonymous_usage_stats": true, "adapter_type": "postgres"}, "nodes": {"model.sagerx.int_dailymed_ranked_package_label_ndcs": {"database": "sagerx", "schema": "sagerx_dev", "name": "int_dailymed_ranked_package_label_ndcs", "resource_type": "model", "package_name": "sagerx", "path": "intermediate/dailymed/int_dailymed_ranked_package_label_ndcs.sql", "original_file_path": "models/intermediate/dailymed/int_dailymed_ranked_package_label_ndcs.sql", "unique_id": "model.sagerx.int_dailymed_ranked_package_label_ndcs", "fqn": ["sagerx", "intermediate", "dailymed", "int_dailymed_ranked_package_label_ndcs"], "alias": "int_dailymed_ranked_package_label_ndcs", "checksum": {"name": "sha256", "checksum": "c696393bf69a48839388f107f93a01bf6383b182587995d53608a95cd4b63f40"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "table"}, "created_at": 1731470991.1988537, "relation_name": "\"sagerx\".\"sagerx_dev\".\"int_dailymed_ranked_package_label_ndcs\"", "raw_code": "with\n\nvalidated_package_ndcs as (\n\n select * from {{ ref('int_dailymed_validated_package_label_ndcs') }}\n\n),\n\nranked_package_ndcs as (\n\n select \n *,\n row_number() over (\n partition by package_label_section_id\n order by id\n ) as rn\n from validated_package_ndcs\n\n)\n\nselect * from ranked_package_ndcs", "language": "sql", "refs": [{"name": "int_dailymed_validated_package_label_ndcs", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.sagerx.int_dailymed_validated_package_label_ndcs"]}, "compiled_path": "target/compiled/sagerx/models/intermediate/dailymed/int_dailymed_ranked_package_label_ndcs.sql", "compiled": true, "compiled_code": "with\n\nvalidated_package_ndcs as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"int_dailymed_validated_package_label_ndcs\"\n\n),\n\nranked_package_ndcs as (\n\n select \n *,\n row_number() over (\n partition by package_label_section_id\n order by id\n ) as rn\n from validated_package_ndcs\n\n)\n\nselect * from ranked_package_ndcs", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.int_dailymed_ranked_package_label_images": {"database": "sagerx", "schema": "sagerx_dev", "name": "int_dailymed_ranked_package_label_images", "resource_type": "model", "package_name": "sagerx", "path": "intermediate/dailymed/int_dailymed_ranked_package_label_images.sql", "original_file_path": "models/intermediate/dailymed/int_dailymed_ranked_package_label_images.sql", "unique_id": "model.sagerx.int_dailymed_ranked_package_label_images", "fqn": ["sagerx", "intermediate", "dailymed", "int_dailymed_ranked_package_label_images"], "alias": "int_dailymed_ranked_package_label_images", "checksum": {"name": "sha256", "checksum": "6598a5539bfa6bb67da705f028128f1c7c84ee62662790697acb493b72a0c055"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "table"}, "created_at": 1731470991.2212818, "relation_name": "\"sagerx\".\"sagerx_dev\".\"int_dailymed_ranked_package_label_images\"", "raw_code": "with\n\npackage_label_images as (\n\n select * from{{ ref('stg_dailymed__package_label_section_images') }}\n\n),\n\nranked_package_images as (\n\n select \n *,\n row_number() over (\n partition by package_label_section_id\n order by id\n ) as rn\n from package_label_images\n\n)\n\nselect * from ranked_package_images", "language": "sql", "refs": [{"name": "stg_dailymed__package_label_section_images", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.sagerx.stg_dailymed__package_label_section_images"]}, "compiled_path": "target/compiled/sagerx/models/intermediate/dailymed/int_dailymed_ranked_package_label_images.sql", "compiled": true, "compiled_code": "with\n\npackage_label_images as (\n\n select * from\"sagerx\".\"sagerx_dev\".\"stg_dailymed__package_label_section_images\"\n\n),\n\nranked_package_images as (\n\n select \n *,\n row_number() over (\n partition by package_label_section_id\n order by id\n ) as rn\n from package_label_images\n\n)\n\nselect * from ranked_package_images", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.int_dailymed_image_name_ndcs": {"database": "sagerx", "schema": "sagerx_dev", "name": "int_dailymed_image_name_ndcs", "resource_type": "model", "package_name": "sagerx", "path": "intermediate/dailymed/int_dailymed_image_name_ndcs.sql", "original_file_path": "models/intermediate/dailymed/int_dailymed_image_name_ndcs.sql", "unique_id": "model.sagerx.int_dailymed_image_name_ndcs", "fqn": ["sagerx", "intermediate", "dailymed", "int_dailymed_image_name_ndcs"], "alias": "int_dailymed_image_name_ndcs", "checksum": {"name": "sha256", "checksum": "e22e8a4388b4fbdb96fee2c08733136a6d99bdcf24b8f1910b4b64792bf33bb7"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "table"}, "created_at": 1731470991.2241693, "relation_name": "\"sagerx\".\"sagerx_dev\".\"int_dailymed_image_name_ndcs\"", "raw_code": "-- int_dailymed_image_name_ndcs\n\nwith\n\npackage_label_section_images as (\n\n select * from {{ ref('stg_dailymed__package_label_section_images') }}\n\n),\n\nregex_ndcs as (\n\n select\n *,\n (regexp_matches(image, '(?:\\d{4}|\\d{5})-\\d{3,6}(?:-\\d{1,2})?|\\d{11}|\\d{10}', 'g'))[1] as regex_ndc\n from package_label_section_images\n\n /*\n \\d{11} | # 11 digit\n \\d{10} | # 10 digit\n \\d{5}-\\d{5} | # 5-5\n \\d{5}-\\d{4}-\\d{2} | # 5-4-2\n \\d{5}-\\d{4}-\\d{1} | # 5-4-1\n \\d{5}-\\d{3}-\\d{2} | # 5-3-2\n \\d{4}-\\d{6} | # 4-6\n \\d{4}-\\d{4}-\\d{2} # 4-4-2\n */\n\n),\n\nvalid_spl_ndcs as (\n\n select * from {{ ref('stg_dailymed__ndcs') }}\n\n),\n\nvalidated_ndcs as (\n\n select\n regex_ndcs.*,\n spl_ndc.ndc,\n spl_ndc.ndc11\n from regex_ndcs\n inner join valid_spl_ndcs spl_ndc\n on spl_ndc.set_id = regex_ndcs.set_id\n and {{ ndc_to_11('spl_ndc.ndc') }} = {{ ndc_to_11('regex_ndcs.regex_ndc') }}\n\n)\n\nselect * from validated_ndcs", "language": "sql", "refs": [{"name": "stg_dailymed__package_label_section_images", "package": null, "version": null}, {"name": "stg_dailymed__ndcs", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.sagerx.ndc_to_11"], "nodes": ["model.sagerx.stg_dailymed__package_label_section_images", "model.sagerx.stg_dailymed__ndcs"]}, "compiled_path": "target/compiled/sagerx/models/intermediate/dailymed/int_dailymed_image_name_ndcs.sql", "compiled": true, "compiled_code": "-- int_dailymed_image_name_ndcs\n\nwith\n\npackage_label_section_images as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_dailymed__package_label_section_images\"\n\n),\n\nregex_ndcs as (\n\n select\n *,\n (regexp_matches(image, '(?:\\d{4}|\\d{5})-\\d{3,6}(?:-\\d{1,2})?|\\d{11}|\\d{10}', 'g'))[1] as regex_ndc\n from package_label_section_images\n\n /*\n \\d{11} | # 11 digit\n \\d{10} | # 10 digit\n \\d{5}-\\d{5} | # 5-5\n \\d{5}-\\d{4}-\\d{2} | # 5-4-2\n \\d{5}-\\d{4}-\\d{1} | # 5-4-1\n \\d{5}-\\d{3}-\\d{2} | # 5-3-2\n \\d{4}-\\d{6} | # 4-6\n \\d{4}-\\d{4}-\\d{2} # 4-4-2\n */\n\n),\n\nvalid_spl_ndcs as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_dailymed__ndcs\"\n\n),\n\nvalidated_ndcs as (\n\n select\n regex_ndcs.*,\n spl_ndc.ndc,\n spl_ndc.ndc11\n from regex_ndcs\n inner join valid_spl_ndcs spl_ndc\n on spl_ndc.set_id = regex_ndcs.set_id\n and \n \n CASE WHEN \n \n \n CASE WHEN spl_ndc.ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN spl_ndc.ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN spl_ndc.ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN spl_ndc.ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '10 Digit' THEN NULL\n WHEN \n \n \n CASE WHEN spl_ndc.ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN spl_ndc.ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN spl_ndc.ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN spl_ndc.ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '11 Digit' THEN spl_ndc.ndc\n WHEN \n \n \n CASE WHEN spl_ndc.ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN spl_ndc.ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN spl_ndc.ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN spl_ndc.ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-4-2' THEN '0' || LEFT(spl_ndc.ndc,4) || REPLACE(RIGHT(spl_ndc.ndc,7),'-','')\n WHEN \n \n \n CASE WHEN spl_ndc.ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN spl_ndc.ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN spl_ndc.ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN spl_ndc.ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-3-2' THEN LEFT(spl_ndc.ndc,5) || '0' || REPLACE(RIGHT(spl_ndc.ndc,6),'-','')\n WHEN \n \n \n CASE WHEN spl_ndc.ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN spl_ndc.ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN spl_ndc.ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN spl_ndc.ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-1' THEN REPLACE(LEFT(spl_ndc.ndc,10),'-','') || '0' || RIGHT(spl_ndc.ndc, 1)\n WHEN \n \n \n CASE WHEN spl_ndc.ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN spl_ndc.ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN spl_ndc.ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN spl_ndc.ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-2' THEN REPLACE(spl_ndc.ndc,'-','')\n WHEN \n \n \n CASE WHEN spl_ndc.ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN spl_ndc.ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN spl_ndc.ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN spl_ndc.ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-5' THEN NULL\n WHEN \n \n \n CASE WHEN spl_ndc.ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN spl_ndc.ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN spl_ndc.ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN spl_ndc.ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-6' THEN NULL\n ELSE NULL\n END\n \n = \n \n CASE WHEN \n \n \n CASE WHEN regex_ndcs.regex_ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '10 Digit' THEN NULL\n WHEN \n \n \n CASE WHEN regex_ndcs.regex_ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '11 Digit' THEN regex_ndcs.regex_ndc\n WHEN \n \n \n CASE WHEN regex_ndcs.regex_ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-4-2' THEN '0' || LEFT(regex_ndcs.regex_ndc,4) || REPLACE(RIGHT(regex_ndcs.regex_ndc,7),'-','')\n WHEN \n \n \n CASE WHEN regex_ndcs.regex_ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-3-2' THEN LEFT(regex_ndcs.regex_ndc,5) || '0' || REPLACE(RIGHT(regex_ndcs.regex_ndc,6),'-','')\n WHEN \n \n \n CASE WHEN regex_ndcs.regex_ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-1' THEN REPLACE(LEFT(regex_ndcs.regex_ndc,10),'-','') || '0' || RIGHT(regex_ndcs.regex_ndc, 1)\n WHEN \n \n \n CASE WHEN regex_ndcs.regex_ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-2' THEN REPLACE(regex_ndcs.regex_ndc,'-','')\n WHEN \n \n \n CASE WHEN regex_ndcs.regex_ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-5' THEN NULL\n WHEN \n \n \n CASE WHEN regex_ndcs.regex_ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-6' THEN NULL\n ELSE NULL\n END\n \n\n\n)\n\nselect * from validated_ndcs", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.int_dailymed_validated_package_label_ndcs": {"database": "sagerx", "schema": "sagerx_dev", "name": "int_dailymed_validated_package_label_ndcs", "resource_type": "model", "package_name": "sagerx", "path": "intermediate/dailymed/int_dailymed_validated_package_label_ndcs.sql", "original_file_path": "models/intermediate/dailymed/int_dailymed_validated_package_label_ndcs.sql", "unique_id": "model.sagerx.int_dailymed_validated_package_label_ndcs", "fqn": ["sagerx", "intermediate", "dailymed", "int_dailymed_validated_package_label_ndcs"], "alias": "int_dailymed_validated_package_label_ndcs", "checksum": {"name": "sha256", "checksum": "68e27324780ff4081392ecb0a03065e5c67f9a457b0eb9c7517ac3fce16633ca"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "table"}, "created_at": 1731470991.247083, "relation_name": "\"sagerx\".\"sagerx_dev\".\"int_dailymed_validated_package_label_ndcs\"", "raw_code": "--int_dailymed_validated_package_label_ndcs\n\nwith\n\nvalid_spl_ndcs as (\n\n select * from{{ ref('stg_dailymed__ndcs') }}\n\n),\n\npackage_label_ndc_matches as (\n\n select * from {{ ref('stg_dailymed__package_label_section_ndcs') }}\n\n),\n\nvalidated_package_ndcs as (\n\n select\n *\n from package_label_ndc_matches pkg_ndc\n where exists (\n\n select\n ndc\n from valid_spl_ndcs\n where ndc = pkg_ndc.ndc\n \n )\n\n)\n\nselect * from validated_package_ndcs", "language": "sql", "refs": [{"name": "stg_dailymed__ndcs", "package": null, "version": null}, {"name": "stg_dailymed__package_label_section_ndcs", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.sagerx.stg_dailymed__ndcs", "model.sagerx.stg_dailymed__package_label_section_ndcs"]}, "compiled_path": "target/compiled/sagerx/models/intermediate/dailymed/int_dailymed_validated_package_label_ndcs.sql", "compiled": true, "compiled_code": "--int_dailymed_validated_package_label_ndcs\n\nwith\n\nvalid_spl_ndcs as (\n\n select * from\"sagerx\".\"sagerx_dev\".\"stg_dailymed__ndcs\"\n\n),\n\npackage_label_ndc_matches as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_dailymed__package_label_section_ndcs\"\n\n),\n\nvalidated_package_ndcs as (\n\n select\n *\n from package_label_ndc_matches pkg_ndc\n where exists (\n\n select\n ndc\n from valid_spl_ndcs\n where ndc = pkg_ndc.ndc\n \n )\n\n)\n\nselect * from validated_package_ndcs", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.int_dailymed_organization_metrics": {"database": "sagerx", "schema": "sagerx_dev", "name": "int_dailymed_organization_metrics", "resource_type": "model", "package_name": "sagerx", "path": "intermediate/dailymed/int_dailymed_organization_metrics.sql", "original_file_path": "models/intermediate/dailymed/int_dailymed_organization_metrics.sql", "unique_id": "model.sagerx.int_dailymed_organization_metrics", "fqn": ["sagerx", "intermediate", "dailymed", "int_dailymed_organization_metrics"], "alias": "int_dailymed_organization_metrics", "checksum": {"name": "sha256", "checksum": "54d7e131b9e38c9bcf1d6f4de5858dc75a47cf5272e110cfd0648a0ceb03c693"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "table"}, "created_at": 1731470991.2501225, "relation_name": "\"sagerx\".\"sagerx_dev\".\"int_dailymed_organization_metrics\"", "raw_code": "/* intermediate.int_dailymed_organization_metrics */\n\nwith dailymed_main as (\n select * from {{ ref('stg_dailymed__main') }}\n),\n\ndailymed_organizations as (\n select * from {{ ref('stg_dailymed__organizations') }}\n),\n\ndailymed_organization_texts as (\n select * from {{ ref('stg_dailymed__organization_texts') }}\n)\n\nselect o.set_id\n\t, ma.market_status\n\t, sum(case when org_type = 'Functioner' then 1 else 0 end) as functioner_count\n\t, sum(case when org_type = 'Labeler' then 1 else 0 end) as labeler_count\n\t, sum(case when org_type = 'Repacker' then 1 else 0 end) as repacker_count\n\t, case when sum(case when ot.set_id is not null then 1 else 0 end) > 0 then 'Yes' else '' end as organization_text\n\t, case when sum(case when org_type = 'Labeler' then 1 else 0 end) = 1 \n\t\t\t\tand sum(case when org_type = 'Functioner' then 1 else 0 end) = 0\n\t\t\tthen 'yes' else '' end as labeler_only\n\t, count(*)\nfrom dailymed_main ma\n\tinner join dailymed_organizations o\n on o.set_id = ma.set_id\n\tleft join dailymed_organization_texts ot\n on o.set_id = ot.set_id\ngroup by o.set_id, ma.market_status", "language": "sql", "refs": [{"name": "stg_dailymed__main", "package": null, "version": null}, {"name": "stg_dailymed__organizations", "package": null, "version": null}, {"name": "stg_dailymed__organization_texts", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.sagerx.stg_dailymed__main", "model.sagerx.stg_dailymed__organizations", "model.sagerx.stg_dailymed__organization_texts"]}, "compiled_path": "target/compiled/sagerx/models/intermediate/dailymed/int_dailymed_organization_metrics.sql", "compiled": true, "compiled_code": "/* intermediate.int_dailymed_organization_metrics */\n\nwith dailymed_main as (\n select * from \"sagerx\".\"sagerx_dev\".\"stg_dailymed__main\"\n),\n\ndailymed_organizations as (\n select * from \"sagerx\".\"sagerx_dev\".\"stg_dailymed__organizations\"\n),\n\ndailymed_organization_texts as (\n select * from \"sagerx\".\"sagerx_dev\".\"stg_dailymed__organization_texts\"\n)\n\nselect o.set_id\n\t, ma.market_status\n\t, sum(case when org_type = 'Functioner' then 1 else 0 end) as functioner_count\n\t, sum(case when org_type = 'Labeler' then 1 else 0 end) as labeler_count\n\t, sum(case when org_type = 'Repacker' then 1 else 0 end) as repacker_count\n\t, case when sum(case when ot.set_id is not null then 1 else 0 end) > 0 then 'Yes' else '' end as organization_text\n\t, case when sum(case when org_type = 'Labeler' then 1 else 0 end) = 1 \n\t\t\t\tand sum(case when org_type = 'Functioner' then 1 else 0 end) = 0\n\t\t\tthen 'yes' else '' end as labeler_only\n\t, count(*)\nfrom dailymed_main ma\n\tinner join dailymed_organizations o\n on o.set_id = ma.set_id\n\tleft join dailymed_organization_texts ot\n on o.set_id = ot.set_id\ngroup by o.set_id, ma.market_status", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.int_dailymed_image_xml_ndcs": {"database": "sagerx", "schema": "sagerx_dev", "name": "int_dailymed_image_xml_ndcs", "resource_type": "model", "package_name": "sagerx", "path": "intermediate/dailymed/int_dailymed_image_xml_ndcs.sql", "original_file_path": "models/intermediate/dailymed/int_dailymed_image_xml_ndcs.sql", "unique_id": "model.sagerx.int_dailymed_image_xml_ndcs", "fqn": ["sagerx", "intermediate", "dailymed", "int_dailymed_image_xml_ndcs"], "alias": "int_dailymed_image_xml_ndcs", "checksum": {"name": "sha256", "checksum": "1627e04fcb99ebb3eec2e897259af7d9ebc9c6b7495b5e92a4903dfe5dd0df58"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "table"}, "created_at": 1731470991.2531188, "relation_name": "\"sagerx\".\"sagerx_dev\".\"int_dailymed_image_xml_ndcs\"", "raw_code": "-- int_dailymed_image_xml_ndcs\n\nwith\n\nranked_package_label_images as\n(\n\n select * from {{ ref('int_dailymed_ranked_package_label_images') }}\n\n),\n\nranked_package_label_ndcs as\n(\n\n select * from {{ ref('int_dailymed_ranked_package_label_ndcs') }}\n\n)\n\nselect\n\timg.set_id,\n\tndc.ndc,\n\timg.image\nfrom ranked_package_label_images img\nleft join ranked_package_label_ndcs ndc\n\ton ndc.package_label_section_id = img.package_label_section_id\n\tand ndc.rn = img.rn\nwhere ndc.ndc is not null", "language": "sql", "refs": [{"name": "int_dailymed_ranked_package_label_images", "package": null, "version": null}, {"name": "int_dailymed_ranked_package_label_ndcs", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.sagerx.int_dailymed_ranked_package_label_images", "model.sagerx.int_dailymed_ranked_package_label_ndcs"]}, "compiled_path": "target/compiled/sagerx/models/intermediate/dailymed/int_dailymed_image_xml_ndcs.sql", "compiled": true, "compiled_code": "-- int_dailymed_image_xml_ndcs\n\nwith\n\nranked_package_label_images as\n(\n\n select * from \"sagerx\".\"sagerx_dev\".\"int_dailymed_ranked_package_label_images\"\n\n),\n\nranked_package_label_ndcs as\n(\n\n select * from \"sagerx\".\"sagerx_dev\".\"int_dailymed_ranked_package_label_ndcs\"\n\n)\n\nselect\n\timg.set_id,\n\tndc.ndc,\n\timg.image\nfrom ranked_package_label_images img\nleft join ranked_package_label_ndcs ndc\n\ton ndc.package_label_section_id = img.package_label_section_id\n\tand ndc.rn = img.rn\nwhere ndc.ndc is not null", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.int_rxnorm_clinical_products_to_ndcs": {"database": "sagerx", "schema": "sagerx_dev", "name": "int_rxnorm_clinical_products_to_ndcs", "resource_type": "model", "package_name": "sagerx", "path": "intermediate/rxnorm/int_rxnorm_clinical_products_to_ndcs.sql", "original_file_path": "models/intermediate/rxnorm/int_rxnorm_clinical_products_to_ndcs.sql", "unique_id": "model.sagerx.int_rxnorm_clinical_products_to_ndcs", "fqn": ["sagerx", "intermediate", "rxnorm", "int_rxnorm_clinical_products_to_ndcs"], "alias": "int_rxnorm_clinical_products_to_ndcs", "checksum": {"name": "sha256", "checksum": "6afce76f004dcf22b503c53fe2d8acabc46da926bd17e67ed984d0ce6c332f13"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "RxNorm clinical products to NDCs.", "columns": {"clinical_product_rxcui": {"name": "clinical_product_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_name": {"name": "clinical_product_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_tty": {"name": "clinical_product_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_component_rxcui": {"name": "clinical_product_component_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_compnent_name": {"name": "clinical_product_compnent_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_component_tty": {"name": "clinical_product_component_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "dose_form_rxcui": {"name": "dose_form_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "dose_form_name": {"name": "dose_form_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "dose_form_tty": {"name": "dose_form_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ingredient_rxcui": {"name": "ingredient_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ingredient_name": {"name": "ingredient_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ingredient_tty": {"name": "ingredient_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "brand_product_rxcui": {"name": "brand_product_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ndc": {"name": "ndc", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active": {"name": "active", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "prescribable": {"name": "prescribable", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/intermediate/rxnorm/_int_rxnorm__models.yml", "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "table"}, "created_at": 1731470991.7982488, "relation_name": "\"sagerx\".\"sagerx_dev\".\"int_rxnorm_clinical_products_to_ndcs\"", "raw_code": "-- int_rxnorm_clinical_products_to_ndcs.sql\n\nwith\n\nrcp as (\n\n select * from {{ ref('stg_rxnorm__clinical_products') }}\n\n),\n\nrcpcl as (\n\n select * from {{ ref('stg_rxnorm__clinical_product_component_links') }}\n\n),\n\nrcpc as (\n\n select * from {{ ref('stg_rxnorm__clinical_product_components') }}\n\n),\n\nrdf as (\n\n select * from {{ ref('stg_rxnorm__dose_forms') }}\n\n),\n\nri as (\n\n select * from {{ ref('stg_rxnorm__ingredients') }}\n\n),\n\nrn as (\n\n select * from {{ ref('stg_rxnorm__ndcs') }}\n\n)\n\nselect\n rcp.rxcui as clinical_product_rxcui\n , rcp.name as clinical_product_name\n , rcp.tty as clinical_product_tty\n , rcpc.rxcui as clinical_product_component_rxcui\n , rcpc.name as clinical_product_compnent_name\n , rcpc.tty as clinical_product_component_tty\n , rdf.rxcui as dose_form_rxcui\n , rdf.name as dose_form_name\n , rdf.tty as dose_form_tty\n , ri.rxcui as ingredient_rxcui\n , ri.name as ingredient_name\n , ri.tty as ingredient_tty\n , rn.brand_product_rxcui\n , rn.ndc\n , rcp.active\n , rcp.prescribable\nfrom rcp \nleft join rcpcl \n on rcp.rxcui = rcpcl.clinical_product_rxcui \nleft join rcpc \n on rcpcl.clinical_product_component_rxcui = rcpc.rxcui \nleft join rdf \n on rcpc.dose_form_rxcui = rdf.rxcui \nleft join ri \n on rcpc.ingredient_rxcui = ri.rxcui \nleft join rn\n on rcp.rxcui = rn.clinical_product_rxcui", "language": "sql", "refs": [{"name": "stg_rxnorm__clinical_products", "package": null, "version": null}, {"name": "stg_rxnorm__clinical_product_component_links", "package": null, "version": null}, {"name": "stg_rxnorm__clinical_product_components", "package": null, "version": null}, {"name": "stg_rxnorm__dose_forms", "package": null, "version": null}, {"name": "stg_rxnorm__ingredients", "package": null, "version": null}, {"name": "stg_rxnorm__ndcs", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.sagerx.stg_rxnorm__clinical_products", "model.sagerx.stg_rxnorm__clinical_product_component_links", "model.sagerx.stg_rxnorm__clinical_product_components", "model.sagerx.stg_rxnorm__dose_forms", "model.sagerx.stg_rxnorm__ingredients", "model.sagerx.stg_rxnorm__ndcs"]}, "compiled_path": "target/compiled/sagerx/models/intermediate/rxnorm/int_rxnorm_clinical_products_to_ndcs.sql", "compiled": true, "compiled_code": "-- int_rxnorm_clinical_products_to_ndcs.sql\n\nwith\n\nrcp as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_products\"\n\n),\n\nrcpcl as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_product_component_links\"\n\n),\n\nrcpc as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_product_components\"\n\n),\n\nrdf as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__dose_forms\"\n\n),\n\nri as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredients\"\n\n),\n\nrn as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ndcs\"\n\n)\n\nselect\n rcp.rxcui as clinical_product_rxcui\n , rcp.name as clinical_product_name\n , rcp.tty as clinical_product_tty\n , rcpc.rxcui as clinical_product_component_rxcui\n , rcpc.name as clinical_product_compnent_name\n , rcpc.tty as clinical_product_component_tty\n , rdf.rxcui as dose_form_rxcui\n , rdf.name as dose_form_name\n , rdf.tty as dose_form_tty\n , ri.rxcui as ingredient_rxcui\n , ri.name as ingredient_name\n , ri.tty as ingredient_tty\n , rn.brand_product_rxcui\n , rn.ndc\n , rcp.active\n , rcp.prescribable\nfrom rcp \nleft join rcpcl \n on rcp.rxcui = rcpcl.clinical_product_rxcui \nleft join rcpc \n on rcpcl.clinical_product_component_rxcui = rcpc.rxcui \nleft join rdf \n on rcpc.dose_form_rxcui = rdf.rxcui \nleft join ri \n on rcpc.ingredient_rxcui = ri.rxcui \nleft join rn\n on rcp.rxcui = rn.clinical_product_rxcui", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.int_rxnorm_clinical_products_to_ingredient_strengths": {"database": "sagerx", "schema": "sagerx_dev", "name": "int_rxnorm_clinical_products_to_ingredient_strengths", "resource_type": "model", "package_name": "sagerx", "path": "intermediate/rxnorm/int_rxnorm_clinical_products_to_ingredient_strengths.sql", "original_file_path": "models/intermediate/rxnorm/int_rxnorm_clinical_products_to_ingredient_strengths.sql", "unique_id": "model.sagerx.int_rxnorm_clinical_products_to_ingredient_strengths", "fqn": ["sagerx", "intermediate", "rxnorm", "int_rxnorm_clinical_products_to_ingredient_strengths"], "alias": "int_rxnorm_clinical_products_to_ingredient_strengths", "checksum": {"name": "sha256", "checksum": "19e756ad830f021e6224504172abd2aff93900707cbd565edfc674a726177473"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "RxNorm clinical products to ingredient strengths.", "columns": {"clinical_product_rxcui": {"name": "clinical_product_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_name": {"name": "clinical_product_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_tty": {"name": "clinical_product_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_component_rxcui": {"name": "clinical_product_component_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_compnent_name": {"name": "clinical_product_compnent_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_component_tty": {"name": "clinical_product_component_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "dose_form_rxcui": {"name": "dose_form_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "dose_form_name": {"name": "dose_form_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "dose_form_tty": {"name": "dose_form_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ingredient_rxcui": {"name": "ingredient_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ingredient_name": {"name": "ingredient_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ingredient_tty": {"name": "ingredient_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ingredient_component_rxcui": {"name": "ingredient_component_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ingredient_component_name": {"name": "ingredient_component_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ingredient_component_tty": {"name": "ingredient_component_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ingredient_strength_rxcui": {"name": "ingredient_strength_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ingredient_strength_name": {"name": "ingredient_strength_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "strength_numerator_value": {"name": "strength_numerator_value", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "strength_numerator_unit": {"name": "strength_numerator_unit", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "strength_denominator_value": {"name": "strength_denominator_value", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "strength_denominator_unit": {"name": "strength_denominator_unit", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "strength_text": {"name": "strength_text", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active": {"name": "active", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "prescribable": {"name": "prescribable", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/intermediate/rxnorm/_int_rxnorm__models.yml", "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "table"}, "created_at": 1731470991.8051739, "relation_name": "\"sagerx\".\"sagerx_dev\".\"int_rxnorm_clinical_products_to_ingredient_strengths\"", "raw_code": "-- int_rxnorm_clinical_products_to_ingredient_strengths.sql\n\nwith\n\nrcp as (\n\n select * from {{ ref('stg_rxnorm__clinical_products') }}\n\n),\n\nrcpcl as (\n\n select * from {{ ref('stg_rxnorm__clinical_product_component_links') }}\n\n),\n\nrcpc as (\n\n select * from {{ ref('stg_rxnorm__clinical_product_components') }}\n\n),\n\nrdf as (\n\n select * from {{ ref('stg_rxnorm__dose_forms') }}\n\n),\n\nri as (\n\n select * from {{ ref('stg_rxnorm__ingredients') }}\n\n),\n\nricl as (\n\n select * from {{ ref('stg_rxnorm__ingredient_component_links') }}\n\n),\n\nric as (\n\n select * from {{ ref('stg_rxnorm__ingredient_components') }}\n\n),\n\nrisl as (\n\n select * from {{ ref('stg_rxnorm__ingredient_strength_links') }}\n\n),\n\nris as (\n\n select * from {{ ref('stg_rxnorm__ingredient_strengths') }}\n\n),\n\npinl as (\n\n select * from {{ ref('stg_rxnorm__precise_ingredient_links') }}\n\n),\n\npin as (\n\n select * from {{ ref('stg_rxnorm__precise_ingredients') }}\n\n)\n\nselect\n rcp.rxcui as clinical_product_rxcui\n , rcp.name as clinical_product_name\n , rcp.tty as clinical_product_tty\n , rcpc.rxcui as clinical_product_component_rxcui\n , rcpc.name as clinical_product_compnent_name\n , rcpc.tty as clinical_product_component_tty\n , rdf.rxcui as dose_form_rxcui\n , rdf.name as dose_form_name\n , rdf.tty as dose_form_tty\n , ri.rxcui as ingredient_rxcui\n , ri.name as ingredient_name\n , ri.tty as ingredient_tty\n , ric.rxcui as ingredient_component_rxcui\n , ric.name as ingredient_component_name\n , ric.tty as ingredient_component_tty\n , ris.rxcui as ingredient_strength_rxcui\n , ris.name as ingredient_strength_name\n , ris.numerator_value as strength_numerator_value\n , ris.numerator_unit as strength_numerator_unit\n , ris.denominator_value as strength_denominator_value\n , ris.denominator_unit as strength_denominator_unit\n , ris.text as strength_text\n , pin.rxcui as precise_ingredient_rxcui\n , pin.name as precise_ingredient_name\n , pin.tty as precise_ingredient_tty\n , rcp.active\n , rcp.prescribable\nfrom rcp \nleft join rcpcl \n on rcp.rxcui = rcpcl.clinical_product_rxcui \nleft join rcpc \n on rcpcl.clinical_product_component_rxcui = rcpc.rxcui \nleft join rdf \n on rcpc.dose_form_rxcui = rdf.rxcui \nleft join ri \n on rcpc.ingredient_rxcui = ri.rxcui \nleft join ricl \n on ri.rxcui = ricl.ingredient_rxcui \nleft join ric \n on ricl.ingredient_component_rxcui = ric.rxcui \nleft join risl \n on rcpc.rxcui = risl.clinical_product_component_rxcui \n and ric.rxcui = risl.ingredient_component_rxcui \nleft join ris \n on risl.ingredient_strength_rxcui = ris.rxcui\nleft join pinl\n on ris.rxcui = pinl.ingredient_strength_rxcui\nleft join pin\n on pinl.precise_ingredient_rxcui = pin.rxcui", "language": "sql", "refs": [{"name": "stg_rxnorm__clinical_products", "package": null, "version": null}, {"name": "stg_rxnorm__clinical_product_component_links", "package": null, "version": null}, {"name": "stg_rxnorm__clinical_product_components", "package": null, "version": null}, {"name": "stg_rxnorm__dose_forms", "package": null, "version": null}, {"name": "stg_rxnorm__ingredients", "package": null, "version": null}, {"name": "stg_rxnorm__ingredient_component_links", "package": null, "version": null}, {"name": "stg_rxnorm__ingredient_components", "package": null, "version": null}, {"name": "stg_rxnorm__ingredient_strength_links", "package": null, "version": null}, {"name": "stg_rxnorm__ingredient_strengths", "package": null, "version": null}, {"name": "stg_rxnorm__precise_ingredient_links", "package": null, "version": null}, {"name": "stg_rxnorm__precise_ingredients", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.sagerx.stg_rxnorm__clinical_products", "model.sagerx.stg_rxnorm__clinical_product_component_links", "model.sagerx.stg_rxnorm__clinical_product_components", "model.sagerx.stg_rxnorm__dose_forms", "model.sagerx.stg_rxnorm__ingredients", "model.sagerx.stg_rxnorm__ingredient_component_links", "model.sagerx.stg_rxnorm__ingredient_components", "model.sagerx.stg_rxnorm__ingredient_strength_links", "model.sagerx.stg_rxnorm__ingredient_strengths", "model.sagerx.stg_rxnorm__precise_ingredient_links", "model.sagerx.stg_rxnorm__precise_ingredients"]}, "compiled_path": "target/compiled/sagerx/models/intermediate/rxnorm/int_rxnorm_clinical_products_to_ingredient_strengths.sql", "compiled": true, "compiled_code": "-- int_rxnorm_clinical_products_to_ingredient_strengths.sql\n\nwith\n\nrcp as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_products\"\n\n),\n\nrcpcl as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_product_component_links\"\n\n),\n\nrcpc as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_product_components\"\n\n),\n\nrdf as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__dose_forms\"\n\n),\n\nri as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredients\"\n\n),\n\nricl as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredient_component_links\"\n\n),\n\nric as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredient_components\"\n\n),\n\nrisl as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredient_strength_links\"\n\n),\n\nris as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredient_strengths\"\n\n),\n\npinl as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__precise_ingredient_links\"\n\n),\n\npin as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__precise_ingredients\"\n\n)\n\nselect\n rcp.rxcui as clinical_product_rxcui\n , rcp.name as clinical_product_name\n , rcp.tty as clinical_product_tty\n , rcpc.rxcui as clinical_product_component_rxcui\n , rcpc.name as clinical_product_compnent_name\n , rcpc.tty as clinical_product_component_tty\n , rdf.rxcui as dose_form_rxcui\n , rdf.name as dose_form_name\n , rdf.tty as dose_form_tty\n , ri.rxcui as ingredient_rxcui\n , ri.name as ingredient_name\n , ri.tty as ingredient_tty\n , ric.rxcui as ingredient_component_rxcui\n , ric.name as ingredient_component_name\n , ric.tty as ingredient_component_tty\n , ris.rxcui as ingredient_strength_rxcui\n , ris.name as ingredient_strength_name\n , ris.numerator_value as strength_numerator_value\n , ris.numerator_unit as strength_numerator_unit\n , ris.denominator_value as strength_denominator_value\n , ris.denominator_unit as strength_denominator_unit\n , ris.text as strength_text\n , pin.rxcui as precise_ingredient_rxcui\n , pin.name as precise_ingredient_name\n , pin.tty as precise_ingredient_tty\n , rcp.active\n , rcp.prescribable\nfrom rcp \nleft join rcpcl \n on rcp.rxcui = rcpcl.clinical_product_rxcui \nleft join rcpc \n on rcpcl.clinical_product_component_rxcui = rcpc.rxcui \nleft join rdf \n on rcpc.dose_form_rxcui = rdf.rxcui \nleft join ri \n on rcpc.ingredient_rxcui = ri.rxcui \nleft join ricl \n on ri.rxcui = ricl.ingredient_rxcui \nleft join ric \n on ricl.ingredient_component_rxcui = ric.rxcui \nleft join risl \n on rcpc.rxcui = risl.clinical_product_component_rxcui \n and ric.rxcui = risl.ingredient_component_rxcui \nleft join ris \n on risl.ingredient_strength_rxcui = ris.rxcui\nleft join pinl\n on ris.rxcui = pinl.ingredient_strength_rxcui\nleft join pin\n on pinl.precise_ingredient_rxcui = pin.rxcui", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.int_rxnorm_ndcs_to_products": {"database": "sagerx", "schema": "sagerx_dev", "name": "int_rxnorm_ndcs_to_products", "resource_type": "model", "package_name": "sagerx", "path": "intermediate/rxnorm/int_rxnorm_ndcs_to_products.sql", "original_file_path": "models/intermediate/rxnorm/int_rxnorm_ndcs_to_products.sql", "unique_id": "model.sagerx.int_rxnorm_ndcs_to_products", "fqn": ["sagerx", "intermediate", "rxnorm", "int_rxnorm_ndcs_to_products"], "alias": "int_rxnorm_ndcs_to_products", "checksum": {"name": "sha256", "checksum": "44c827c46f0990ec5de8dcb49ab21baf7670212ba73d967a1f04baec60a49103"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "RxNorm NDCs to products. Will return brand product if NDC is brand name, or generic product if NDC is generic.", "columns": {"ndc": {"name": "ndc", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_rxcui": {"name": "product_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_name": {"name": "product_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_tty": {"name": "product_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_rxcui": {"name": "clinical_product_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_name": {"name": "clinical_product_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_tty": {"name": "clinical_product_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/intermediate/rxnorm/_int_rxnorm__models.yml", "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "table"}, "created_at": 1731470991.7921007, "relation_name": "\"sagerx\".\"sagerx_dev\".\"int_rxnorm_ndcs_to_products\"", "raw_code": "-- int_rxnorm_ndcs_to_products.sql\n\nwith\n\nndc as (\n\n select * from {{ ref('stg_rxnorm__ndcs') }}\n\n),\n\nrcp as (\n\n select * from {{ ref('stg_rxnorm__clinical_products') }}\n\n),\n\nrbp as (\n\n select * from {{ ref('stg_rxnorm__brand_products') }}\n\n)\n\nselect distinct\n ndc\n , coalesce(rbp.rxcui, rcp.rxcui, null) as product_rxcui\n , coalesce(rbp.name, rcp.name, null) as product_name\n , coalesce(rbp.tty, rcp.tty, null) as product_tty\n , rcp.rxcui as clinical_product_rxcui\n , rcp.name as clinical_product_name\n , rcp.tty as clinical_product_tty\nfrom ndc\nleft join rcp \n on ndc.clinical_product_rxcui = rcp.rxcui\nleft join rbp\n on ndc.brand_product_rxcui = rbp.rxcui", "language": "sql", "refs": [{"name": "stg_rxnorm__ndcs", "package": null, "version": null}, {"name": "stg_rxnorm__clinical_products", "package": null, "version": null}, {"name": "stg_rxnorm__brand_products", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.sagerx.stg_rxnorm__ndcs", "model.sagerx.stg_rxnorm__clinical_products", "model.sagerx.stg_rxnorm__brand_products"]}, "compiled_path": "target/compiled/sagerx/models/intermediate/rxnorm/int_rxnorm_ndcs_to_products.sql", "compiled": true, "compiled_code": "-- int_rxnorm_ndcs_to_products.sql\n\nwith\n\nndc as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ndcs\"\n\n),\n\nrcp as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_products\"\n\n),\n\nrbp as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__brand_products\"\n\n)\n\nselect distinct\n ndc\n , coalesce(rbp.rxcui, rcp.rxcui, null) as product_rxcui\n , coalesce(rbp.name, rcp.name, null) as product_name\n , coalesce(rbp.tty, rcp.tty, null) as product_tty\n , rcp.rxcui as clinical_product_rxcui\n , rcp.name as clinical_product_name\n , rcp.tty as clinical_product_tty\nfrom ndc\nleft join rcp \n on ndc.clinical_product_rxcui = rcp.rxcui\nleft join rbp\n on ndc.brand_product_rxcui = rbp.rxcui", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.int_mthspl_products_to_active_moieties": {"database": "sagerx", "schema": "sagerx_dev", "name": "int_mthspl_products_to_active_moieties", "resource_type": "model", "package_name": "sagerx", "path": "intermediate/rxnorm/int_mthspl_products_to_active_moieties.sql", "original_file_path": "models/intermediate/rxnorm/int_mthspl_products_to_active_moieties.sql", "unique_id": "model.sagerx.int_mthspl_products_to_active_moieties", "fqn": ["sagerx", "intermediate", "rxnorm", "int_mthspl_products_to_active_moieties"], "alias": "int_mthspl_products_to_active_moieties", "checksum": {"name": "sha256", "checksum": "685e41f8e1c0139fe6eb544e9d54becd06b5ae5bab0013d7cc4025510eca38a8"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "NLM SPL products to active moieties.", "columns": {"ndc9": {"name": "ndc9", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ndc": {"name": "ndc", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_rxcui": {"name": "product_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_name": {"name": "product_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_tty": {"name": "product_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active_moiety_unii": {"name": "active_moiety_unii", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active_moiety_rxcui": {"name": "active_moiety_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active_moiety_name": {"name": "active_moiety_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active_moiety_tty": {"name": "active_moiety_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active": {"name": "active", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "prescribable": {"name": "prescribable", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/intermediate/rxnorm/_int_rxnorm__models.yml", "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "table"}, "created_at": 1731470991.7903771, "relation_name": "\"sagerx\".\"sagerx_dev\".\"int_mthspl_products_to_active_moieties\"", "raw_code": "-- int_mthspl_products_to_active_moieties.sql\n\nwith\n\nsubstance as (\n\n select * from {{ ref('stg_rxnorm__mthspl_substances') }}\n\n),\n\nproduct as (\n\n select * from {{ ref('stg_rxnorm__mthspl_products') }}\n\n)\n\nselect distinct\n concat(lpad(split_part(product.ndc,'-', 1), 5, '0'), lpad(split_part(product.ndc,'-', 2), 4, '0')) as ndc9\n , product.ndc as ndc\n , product.rxcui as product_rxcui\n , product.name as product_name\n , product.tty as product_tty\n , substance.unii as active_moiety_unii\n , substance.rxcui as active_moiety_rxcui\n , substance.name as active_moiety_name\n , substance.tty as active_moiety_tty\t\n , product.active as active\n , product.prescribable as prescribable\nfrom sagerx_lake.rxnorm_rxnrel rxnrel\ninner join substance\n on rxnrel.rxaui1 = substance.rxaui\ninner join product\n on rxnrel.rxaui2 = product.rxaui\nwhere rela = 'has_active_moiety'", "language": "sql", "refs": [{"name": "stg_rxnorm__mthspl_substances", "package": null, "version": null}, {"name": "stg_rxnorm__mthspl_products", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.sagerx.stg_rxnorm__mthspl_substances", "model.sagerx.stg_rxnorm__mthspl_products"]}, "compiled_path": "target/compiled/sagerx/models/intermediate/rxnorm/int_mthspl_products_to_active_moieties.sql", "compiled": true, "compiled_code": "-- int_mthspl_products_to_active_moieties.sql\n\nwith\n\nsubstance as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__mthspl_substances\"\n\n),\n\nproduct as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__mthspl_products\"\n\n)\n\nselect distinct\n concat(lpad(split_part(product.ndc,'-', 1), 5, '0'), lpad(split_part(product.ndc,'-', 2), 4, '0')) as ndc9\n , product.ndc as ndc\n , product.rxcui as product_rxcui\n , product.name as product_name\n , product.tty as product_tty\n , substance.unii as active_moiety_unii\n , substance.rxcui as active_moiety_rxcui\n , substance.name as active_moiety_name\n , substance.tty as active_moiety_tty\t\n , product.active as active\n , product.prescribable as prescribable\nfrom sagerx_lake.rxnorm_rxnrel rxnrel\ninner join substance\n on rxnrel.rxaui1 = substance.rxaui\ninner join product\n on rxnrel.rxaui2 = product.rxaui\nwhere rela = 'has_active_moiety'", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.int_mthspl_products_to_active_ingredients": {"database": "sagerx", "schema": "sagerx_dev", "name": "int_mthspl_products_to_active_ingredients", "resource_type": "model", "package_name": "sagerx", "path": "intermediate/rxnorm/int_mthspl_products_to_active_ingredients.sql", "original_file_path": "models/intermediate/rxnorm/int_mthspl_products_to_active_ingredients.sql", "unique_id": "model.sagerx.int_mthspl_products_to_active_ingredients", "fqn": ["sagerx", "intermediate", "rxnorm", "int_mthspl_products_to_active_ingredients"], "alias": "int_mthspl_products_to_active_ingredients", "checksum": {"name": "sha256", "checksum": "3cc5124093e4e1267ce601801974541addfa9c4794cd1a8d5df8b9495e9a5a56"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "NLM SPL products to active ingredients.", "columns": {"ndc9": {"name": "ndc9", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ndc": {"name": "ndc", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_rxcui": {"name": "product_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_name": {"name": "product_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_tty": {"name": "product_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active_ingredient_unii": {"name": "active_ingredient_unii", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active_ingredient_rxcui": {"name": "active_ingredient_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active_ingredient_name": {"name": "active_ingredient_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active_ingredient_tty": {"name": "active_ingredient_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active": {"name": "active", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "prescribable": {"name": "prescribable", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/intermediate/rxnorm/_int_rxnorm__models.yml", "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "table"}, "created_at": 1731470991.785662, "relation_name": "\"sagerx\".\"sagerx_dev\".\"int_mthspl_products_to_active_ingredients\"", "raw_code": "-- int_mthspl_products_to_active_ingredients.sql\n\nwith\n\nsubstance as (\n\n select * from {{ ref('stg_rxnorm__mthspl_substances') }}\n\n),\n\nproduct as (\n\n select * from {{ ref('stg_rxnorm__mthspl_products') }}\n\n)\n\nselect distinct\n concat(lpad(split_part(product.ndc,'-', 1), 5, '0'), lpad(split_part(product.ndc,'-', 2), 4, '0')) as ndc9\n , product.ndc as ndc\n , product.rxcui as product_rxcui\n , product.name as product_name\n , product.tty as product_tty\n , substance.unii as active_ingredient_unii\n , substance.rxcui as active_ingredient_rxcui\n , substance.name as active_ingredient_name\n , substance.tty as active_ingredient_tty\t\n , product.active as active\n , product.prescribable as prescribable\nfrom sagerx_lake.rxnorm_rxnrel rxnrel\ninner join substance\n on rxnrel.rxaui1 = substance.rxaui\ninner join product\n on rxnrel.rxaui2 = product.rxaui\nwhere rela = 'has_active_ingredient'", "language": "sql", "refs": [{"name": "stg_rxnorm__mthspl_substances", "package": null, "version": null}, {"name": "stg_rxnorm__mthspl_products", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.sagerx.stg_rxnorm__mthspl_substances", "model.sagerx.stg_rxnorm__mthspl_products"]}, "compiled_path": "target/compiled/sagerx/models/intermediate/rxnorm/int_mthspl_products_to_active_ingredients.sql", "compiled": true, "compiled_code": "-- int_mthspl_products_to_active_ingredients.sql\n\nwith\n\nsubstance as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__mthspl_substances\"\n\n),\n\nproduct as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__mthspl_products\"\n\n)\n\nselect distinct\n concat(lpad(split_part(product.ndc,'-', 1), 5, '0'), lpad(split_part(product.ndc,'-', 2), 4, '0')) as ndc9\n , product.ndc as ndc\n , product.rxcui as product_rxcui\n , product.name as product_name\n , product.tty as product_tty\n , substance.unii as active_ingredient_unii\n , substance.rxcui as active_ingredient_rxcui\n , substance.name as active_ingredient_name\n , substance.tty as active_ingredient_tty\t\n , product.active as active\n , product.prescribable as prescribable\nfrom sagerx_lake.rxnorm_rxnrel rxnrel\ninner join substance\n on rxnrel.rxaui1 = substance.rxaui\ninner join product\n on rxnrel.rxaui2 = product.rxaui\nwhere rela = 'has_active_ingredient'", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.int_rxnorm_clinical_products_to_dose_forms": {"database": "sagerx", "schema": "sagerx_dev", "name": "int_rxnorm_clinical_products_to_dose_forms", "resource_type": "model", "package_name": "sagerx", "path": "intermediate/rxnorm/int_rxnorm_clinical_products_to_dose_forms.sql", "original_file_path": "models/intermediate/rxnorm/int_rxnorm_clinical_products_to_dose_forms.sql", "unique_id": "model.sagerx.int_rxnorm_clinical_products_to_dose_forms", "fqn": ["sagerx", "intermediate", "rxnorm", "int_rxnorm_clinical_products_to_dose_forms"], "alias": "int_rxnorm_clinical_products_to_dose_forms", "checksum": {"name": "sha256", "checksum": "5c0dd87efc6781f9c6c2e2aa81b87d948c9982936d2b7f9513a346075fbbaf84"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "RxNorm clinical products to dose forms.", "columns": {"clinical_product_rxcui": {"name": "clinical_product_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_name": {"name": "clinical_product_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_tty": {"name": "clinical_product_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_component_rxcui": {"name": "clinical_product_component_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_compnent_name": {"name": "clinical_product_compnent_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_component_tty": {"name": "clinical_product_component_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "dose_form_rxcui": {"name": "dose_form_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "dose_form_name": {"name": "dose_form_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "dose_form_tty": {"name": "dose_form_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active": {"name": "active", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "prescribable": {"name": "prescribable", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/intermediate/rxnorm/_int_rxnorm__models.yml", "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "table"}, "created_at": 1731470991.795885, "relation_name": "\"sagerx\".\"sagerx_dev\".\"int_rxnorm_clinical_products_to_dose_forms\"", "raw_code": "-- int_rxnorm_clinical_products_to_dose_forms.sql\n\nwith\n\nrcp as (\n\n select * from {{ ref('stg_rxnorm__clinical_products') }}\n\n),\n\nrcpcl as (\n\n select * from {{ ref('stg_rxnorm__clinical_product_component_links') }}\n\n),\n\nrcpc as (\n\n select * from {{ ref('stg_rxnorm__clinical_product_components') }}\n\n),\n\nrdf as (\n\n select * from {{ ref('stg_rxnorm__dose_forms') }}\n\n)\n\nselect\n rcp.rxcui as clinical_product_rxcui\n , rcp.name as clinical_product_name\n , rcp.tty as clinical_product_tty\n , rcpc.rxcui as clinical_product_component_rxcui\n , rcpc.name as clinical_product_compnent_name\n , rcpc.tty as clinical_product_component_tty\n , rdf.rxcui as dose_form_rxcui\n , rdf.name as dose_form_name\n , rdf.tty as dose_form_tty\n , rcp.active\n , rcp.prescribable\nfrom rcp \nleft join rcpcl \n on rcp.rxcui = rcpcl.clinical_product_rxcui \nleft join rcpc \n on rcpcl.clinical_product_component_rxcui = rcpc.rxcui \nleft join rdf \n on rcpc.dose_form_rxcui = rdf.rxcui", "language": "sql", "refs": [{"name": "stg_rxnorm__clinical_products", "package": null, "version": null}, {"name": "stg_rxnorm__clinical_product_component_links", "package": null, "version": null}, {"name": "stg_rxnorm__clinical_product_components", "package": null, "version": null}, {"name": "stg_rxnorm__dose_forms", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.sagerx.stg_rxnorm__clinical_products", "model.sagerx.stg_rxnorm__clinical_product_component_links", "model.sagerx.stg_rxnorm__clinical_product_components", "model.sagerx.stg_rxnorm__dose_forms"]}, "compiled_path": "target/compiled/sagerx/models/intermediate/rxnorm/int_rxnorm_clinical_products_to_dose_forms.sql", "compiled": true, "compiled_code": "-- int_rxnorm_clinical_products_to_dose_forms.sql\n\nwith\n\nrcp as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_products\"\n\n),\n\nrcpcl as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_product_component_links\"\n\n),\n\nrcpc as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_product_components\"\n\n),\n\nrdf as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__dose_forms\"\n\n)\n\nselect\n rcp.rxcui as clinical_product_rxcui\n , rcp.name as clinical_product_name\n , rcp.tty as clinical_product_tty\n , rcpc.rxcui as clinical_product_component_rxcui\n , rcpc.name as clinical_product_compnent_name\n , rcpc.tty as clinical_product_component_tty\n , rdf.rxcui as dose_form_rxcui\n , rdf.name as dose_form_name\n , rdf.tty as dose_form_tty\n , rcp.active\n , rcp.prescribable\nfrom rcp \nleft join rcpcl \n on rcp.rxcui = rcpcl.clinical_product_rxcui \nleft join rcpc \n on rcpcl.clinical_product_component_rxcui = rcpc.rxcui \nleft join rdf \n on rcpc.dose_form_rxcui = rdf.rxcui", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.int_rxnorm_clinical_products_to_clinical_product_components": {"database": "sagerx", "schema": "sagerx_dev", "name": "int_rxnorm_clinical_products_to_clinical_product_components", "resource_type": "model", "package_name": "sagerx", "path": "intermediate/rxnorm/int_rxnorm_clinical_products_to_clinical_product_components.sql", "original_file_path": "models/intermediate/rxnorm/int_rxnorm_clinical_products_to_clinical_product_components.sql", "unique_id": "model.sagerx.int_rxnorm_clinical_products_to_clinical_product_components", "fqn": ["sagerx", "intermediate", "rxnorm", "int_rxnorm_clinical_products_to_clinical_product_components"], "alias": "int_rxnorm_clinical_products_to_clinical_product_components", "checksum": {"name": "sha256", "checksum": "7a88bc57ff6851c59b97538050210d668eaad6a0c2958d182cb37f7cad43b8c1"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "RxNorm clinical products to clinical product components.", "columns": {"clinical_product_rxcui": {"name": "clinical_product_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_name": {"name": "clinical_product_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_tty": {"name": "clinical_product_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_component_rxcui": {"name": "clinical_product_component_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_compnent_name": {"name": "clinical_product_compnent_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_component_tty": {"name": "clinical_product_component_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active": {"name": "active", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "prescribable": {"name": "prescribable", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/intermediate/rxnorm/_int_rxnorm__models.yml", "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "table"}, "created_at": 1731470991.7938778, "relation_name": "\"sagerx\".\"sagerx_dev\".\"int_rxnorm_clinical_products_to_clinical_product_components\"", "raw_code": "-- int_rxnorm_clinical_products_to_clinical_product_components.sql\n\nwith\n\nndc as (\n\n select * from {{ ref('stg_rxnorm__ndcs') }}\n\n),\n\nrcp as (\n\n select * from {{ ref('stg_rxnorm__clinical_products') }}\n\n),\n\nrcpcl as (\n\n select * from {{ ref('stg_rxnorm__clinical_product_component_links') }}\n\n),\n\nrcpc as (\n\n select * from {{ ref('stg_rxnorm__clinical_product_components') }}\n\n)\n\nselect\n rcp.rxcui as clinical_product_rxcui\n , rcp.name as clinical_product_name\n , rcp.tty as clinical_product_tty\n , rcpc.rxcui as clinical_product_component_rxcui\n , rcpc.name as clinical_product_compnent_name\n , rcpc.tty as clinical_product_component_tty\n , rcp.active\n , rcp.prescribable\nfrom rcp \nleft join rcpcl \n on rcp.rxcui = rcpcl.clinical_product_rxcui \nleft join rcpc \n on rcpcl.clinical_product_component_rxcui = rcpc.rxcui", "language": "sql", "refs": [{"name": "stg_rxnorm__ndcs", "package": null, "version": null}, {"name": "stg_rxnorm__clinical_products", "package": null, "version": null}, {"name": "stg_rxnorm__clinical_product_component_links", "package": null, "version": null}, {"name": "stg_rxnorm__clinical_product_components", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.sagerx.stg_rxnorm__ndcs", "model.sagerx.stg_rxnorm__clinical_products", "model.sagerx.stg_rxnorm__clinical_product_component_links", "model.sagerx.stg_rxnorm__clinical_product_components"]}, "compiled_path": "target/compiled/sagerx/models/intermediate/rxnorm/int_rxnorm_clinical_products_to_clinical_product_components.sql", "compiled": true, "compiled_code": "-- int_rxnorm_clinical_products_to_clinical_product_components.sql\n\nwith\n\nndc as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ndcs\"\n\n),\n\nrcp as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_products\"\n\n),\n\nrcpcl as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_product_component_links\"\n\n),\n\nrcpc as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_product_components\"\n\n)\n\nselect\n rcp.rxcui as clinical_product_rxcui\n , rcp.name as clinical_product_name\n , rcp.tty as clinical_product_tty\n , rcpc.rxcui as clinical_product_component_rxcui\n , rcpc.name as clinical_product_compnent_name\n , rcpc.tty as clinical_product_component_tty\n , rcp.active\n , rcp.prescribable\nfrom rcp \nleft join rcpcl \n on rcp.rxcui = rcpcl.clinical_product_rxcui \nleft join rcpc \n on rcpcl.clinical_product_component_rxcui = rcpc.rxcui", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.int_rxnorm_clinical_products_to_ingredients": {"database": "sagerx", "schema": "sagerx_dev", "name": "int_rxnorm_clinical_products_to_ingredients", "resource_type": "model", "package_name": "sagerx", "path": "intermediate/rxnorm/int_rxnorm_clinical_products_to_ingredients.sql", "original_file_path": "models/intermediate/rxnorm/int_rxnorm_clinical_products_to_ingredients.sql", "unique_id": "model.sagerx.int_rxnorm_clinical_products_to_ingredients", "fqn": ["sagerx", "intermediate", "rxnorm", "int_rxnorm_clinical_products_to_ingredients"], "alias": "int_rxnorm_clinical_products_to_ingredients", "checksum": {"name": "sha256", "checksum": "ff2ff3c40da088eea3529fb41071c18f6b70c876d8072f739344cdf7985afa88"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "RxNorm clinical products to ingredients.", "columns": {"clinical_product_rxcui": {"name": "clinical_product_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_name": {"name": "clinical_product_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_tty": {"name": "clinical_product_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_component_rxcui": {"name": "clinical_product_component_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_compnent_name": {"name": "clinical_product_compnent_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_component_tty": {"name": "clinical_product_component_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "dose_form_rxcui": {"name": "dose_form_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "dose_form_name": {"name": "dose_form_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "dose_form_tty": {"name": "dose_form_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ingredient_rxcui": {"name": "ingredient_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ingredient_name": {"name": "ingredient_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ingredient_tty": {"name": "ingredient_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active": {"name": "active", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "prescribable": {"name": "prescribable", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/intermediate/rxnorm/_int_rxnorm__models.yml", "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "table"}, "created_at": 1731470991.7993593, "relation_name": "\"sagerx\".\"sagerx_dev\".\"int_rxnorm_clinical_products_to_ingredients\"", "raw_code": "-- int_rxnorm_clinical_products_to_ingredients.sql\n\nwith\n\nrcp as (\n\n select * from {{ ref('stg_rxnorm__clinical_products') }}\n\n),\n\nrcpcl as (\n\n select * from {{ ref('stg_rxnorm__clinical_product_component_links') }}\n\n),\n\nrcpc as (\n\n select * from {{ ref('stg_rxnorm__clinical_product_components') }}\n\n),\n\nrdf as (\n\n select * from {{ ref('stg_rxnorm__dose_forms') }}\n\n),\n\nri as (\n\n select * from {{ ref('stg_rxnorm__ingredients') }}\n\n)\n\nselect\n rcp.rxcui as clinical_product_rxcui\n , rcp.name as clinical_product_name\n , rcp.tty as clinical_product_tty\n , string_agg(rcpc.rxcui, ' | ') as clinical_product_component_rxcui\n , string_agg(rcpc.name, ' | ') as clinical_product_compnent_name\n , string_agg(rcpc.tty, ' | ') as clinical_product_component_tty\n , string_agg(rdf.rxcui, ' | ') as dose_form_rxcui\n , string_agg(rdf.name, ' | ') as dose_form_name\n , string_agg(rdf.tty, ' | ') as dose_form_tty\n , string_agg(ri.rxcui, ' | ') as ingredient_rxcui\n , string_agg(ri.name, ' | ') as ingredient_name\n , string_agg(ri.tty, ' | ') as ingredient_tty\n , rcp.active\n , rcp.prescribable \nfrom rcp \nleft join rcpcl \n on rcp.rxcui = rcpcl.clinical_product_rxcui \nleft join rcpc \n on rcpcl.clinical_product_component_rxcui = rcpc.rxcui \nleft join rdf \n on rcpc.dose_form_rxcui = rdf.rxcui \nleft join ri \n on rcpc.ingredient_rxcui = ri.rxcui \ngroup by\n rcp.rxcui\n , rcp.name\n , rcp.tty\n , rcp.active\n , rcp.prescribable", "language": "sql", "refs": [{"name": "stg_rxnorm__clinical_products", "package": null, "version": null}, {"name": "stg_rxnorm__clinical_product_component_links", "package": null, "version": null}, {"name": "stg_rxnorm__clinical_product_components", "package": null, "version": null}, {"name": "stg_rxnorm__dose_forms", "package": null, "version": null}, {"name": "stg_rxnorm__ingredients", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.sagerx.stg_rxnorm__clinical_products", "model.sagerx.stg_rxnorm__clinical_product_component_links", "model.sagerx.stg_rxnorm__clinical_product_components", "model.sagerx.stg_rxnorm__dose_forms", "model.sagerx.stg_rxnorm__ingredients"]}, "compiled_path": "target/compiled/sagerx/models/intermediate/rxnorm/int_rxnorm_clinical_products_to_ingredients.sql", "compiled": true, "compiled_code": "-- int_rxnorm_clinical_products_to_ingredients.sql\n\nwith\n\nrcp as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_products\"\n\n),\n\nrcpcl as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_product_component_links\"\n\n),\n\nrcpc as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_product_components\"\n\n),\n\nrdf as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__dose_forms\"\n\n),\n\nri as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredients\"\n\n)\n\nselect\n rcp.rxcui as clinical_product_rxcui\n , rcp.name as clinical_product_name\n , rcp.tty as clinical_product_tty\n , string_agg(rcpc.rxcui, ' | ') as clinical_product_component_rxcui\n , string_agg(rcpc.name, ' | ') as clinical_product_compnent_name\n , string_agg(rcpc.tty, ' | ') as clinical_product_component_tty\n , string_agg(rdf.rxcui, ' | ') as dose_form_rxcui\n , string_agg(rdf.name, ' | ') as dose_form_name\n , string_agg(rdf.tty, ' | ') as dose_form_tty\n , string_agg(ri.rxcui, ' | ') as ingredient_rxcui\n , string_agg(ri.name, ' | ') as ingredient_name\n , string_agg(ri.tty, ' | ') as ingredient_tty\n , rcp.active\n , rcp.prescribable \nfrom rcp \nleft join rcpcl \n on rcp.rxcui = rcpcl.clinical_product_rxcui \nleft join rcpc \n on rcpcl.clinical_product_component_rxcui = rcpc.rxcui \nleft join rdf \n on rcpc.dose_form_rxcui = rdf.rxcui \nleft join ri \n on rcpc.ingredient_rxcui = ri.rxcui \ngroup by\n rcp.rxcui\n , rcp.name\n , rcp.tty\n , rcp.active\n , rcp.prescribable", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.int_rxnorm_clinical_products_to_ingredient_components": {"database": "sagerx", "schema": "sagerx_dev", "name": "int_rxnorm_clinical_products_to_ingredient_components", "resource_type": "model", "package_name": "sagerx", "path": "intermediate/rxnorm/int_rxnorm_clinical_products_to_ingredient_components.sql", "original_file_path": "models/intermediate/rxnorm/int_rxnorm_clinical_products_to_ingredient_components.sql", "unique_id": "model.sagerx.int_rxnorm_clinical_products_to_ingredient_components", "fqn": ["sagerx", "intermediate", "rxnorm", "int_rxnorm_clinical_products_to_ingredient_components"], "alias": "int_rxnorm_clinical_products_to_ingredient_components", "checksum": {"name": "sha256", "checksum": "e3f42f6afb7a05488305fcb8226126b009a4f4ee064685505be72b3cfdca865a"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "RxNorm clinical products to ingredient components.", "columns": {"clinical_product_rxcui": {"name": "clinical_product_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_name": {"name": "clinical_product_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_tty": {"name": "clinical_product_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_component_rxcui": {"name": "clinical_product_component_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_compnent_name": {"name": "clinical_product_compnent_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_component_tty": {"name": "clinical_product_component_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "dose_form_rxcui": {"name": "dose_form_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "dose_form_name": {"name": "dose_form_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "dose_form_tty": {"name": "dose_form_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ingredient_rxcui": {"name": "ingredient_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ingredient_name": {"name": "ingredient_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ingredient_tty": {"name": "ingredient_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ingredient_component_rxcui": {"name": "ingredient_component_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ingredient_component_name": {"name": "ingredient_component_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ingredient_component_tty": {"name": "ingredient_component_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active": {"name": "active", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "prescribable": {"name": "prescribable", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/intermediate/rxnorm/_int_rxnorm__models.yml", "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "table"}, "created_at": 1731470991.8015547, "relation_name": "\"sagerx\".\"sagerx_dev\".\"int_rxnorm_clinical_products_to_ingredient_components\"", "raw_code": "-- int_rxnorm_clinical_products_to_ingredient_components.sql\n\nwith\n\nrcp as (\n\n select * from {{ ref('stg_rxnorm__clinical_products') }}\n\n),\n\nrcpcl as (\n\n select * from {{ ref('stg_rxnorm__clinical_product_component_links') }}\n\n),\n\nrcpc as (\n\n select * from {{ ref('stg_rxnorm__clinical_product_components') }}\n\n),\n\nrdf as (\n\n select * from {{ ref('stg_rxnorm__dose_forms') }}\n\n),\n\nri as (\n\n select * from {{ ref('stg_rxnorm__ingredients') }}\n\n),\n\nricl as (\n\n select * from {{ ref('stg_rxnorm__ingredient_component_links') }}\n\n),\n\nric as (\n\n select * from {{ ref('stg_rxnorm__ingredient_components') }}\n\n)\n\nselect\n rcp.rxcui as clinical_product_rxcui\n , rcp.name as clinical_product_name\n , rcp.tty as clinical_product_tty\n , rcpc.rxcui as clinical_product_component_rxcui\n , rcpc.name as clinical_product_component_name\n , rcpc.tty as clinical_product_component_tty\n , rdf.rxcui as dose_form_rxcui\n , rdf.name as dose_form_name\n , rdf.tty as dose_form_tty\n , ri.rxcui as ingredient_rxcui\n , ri.name as ingredient_name\n , ri.tty as ingredient_tty\n , ric.rxcui as ingredient_component_rxcui\n , ric.name as ingredient_component_name\n , ric.tty as ingredient_component_tty\n , rcp.active\n , rcp.prescribable\nfrom rcp \nleft join rcpcl \n on rcp.rxcui = rcpcl.clinical_product_rxcui \nleft join rcpc \n on rcpcl.clinical_product_component_rxcui = rcpc.rxcui \nleft join rdf \n on rcpc.dose_form_rxcui = rdf.rxcui \nleft join ri \n on rcpc.ingredient_rxcui = ri.rxcui \nleft join ricl \n on ri.rxcui = ricl.ingredient_rxcui \nleft join ric \n on ricl.ingredient_component_rxcui = ric.rxcui", "language": "sql", "refs": [{"name": "stg_rxnorm__clinical_products", "package": null, "version": null}, {"name": "stg_rxnorm__clinical_product_component_links", "package": null, "version": null}, {"name": "stg_rxnorm__clinical_product_components", "package": null, "version": null}, {"name": "stg_rxnorm__dose_forms", "package": null, "version": null}, {"name": "stg_rxnorm__ingredients", "package": null, "version": null}, {"name": "stg_rxnorm__ingredient_component_links", "package": null, "version": null}, {"name": "stg_rxnorm__ingredient_components", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.sagerx.stg_rxnorm__clinical_products", "model.sagerx.stg_rxnorm__clinical_product_component_links", "model.sagerx.stg_rxnorm__clinical_product_components", "model.sagerx.stg_rxnorm__dose_forms", "model.sagerx.stg_rxnorm__ingredients", "model.sagerx.stg_rxnorm__ingredient_component_links", "model.sagerx.stg_rxnorm__ingredient_components"]}, "compiled_path": "target/compiled/sagerx/models/intermediate/rxnorm/int_rxnorm_clinical_products_to_ingredient_components.sql", "compiled": true, "compiled_code": "-- int_rxnorm_clinical_products_to_ingredient_components.sql\n\nwith\n\nrcp as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_products\"\n\n),\n\nrcpcl as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_product_component_links\"\n\n),\n\nrcpc as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_product_components\"\n\n),\n\nrdf as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__dose_forms\"\n\n),\n\nri as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredients\"\n\n),\n\nricl as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredient_component_links\"\n\n),\n\nric as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredient_components\"\n\n)\n\nselect\n rcp.rxcui as clinical_product_rxcui\n , rcp.name as clinical_product_name\n , rcp.tty as clinical_product_tty\n , rcpc.rxcui as clinical_product_component_rxcui\n , rcpc.name as clinical_product_component_name\n , rcpc.tty as clinical_product_component_tty\n , rdf.rxcui as dose_form_rxcui\n , rdf.name as dose_form_name\n , rdf.tty as dose_form_tty\n , ri.rxcui as ingredient_rxcui\n , ri.name as ingredient_name\n , ri.tty as ingredient_tty\n , ric.rxcui as ingredient_component_rxcui\n , ric.name as ingredient_component_name\n , ric.tty as ingredient_component_tty\n , rcp.active\n , rcp.prescribable\nfrom rcp \nleft join rcpcl \n on rcp.rxcui = rcpcl.clinical_product_rxcui \nleft join rcpc \n on rcpcl.clinical_product_component_rxcui = rcpc.rxcui \nleft join rdf \n on rcpc.dose_form_rxcui = rdf.rxcui \nleft join ri \n on rcpc.ingredient_rxcui = ri.rxcui \nleft join ricl \n on ri.rxcui = ricl.ingredient_rxcui \nleft join ric \n on ricl.ingredient_component_rxcui = ric.rxcui", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.int_rxnorm_all_ndcs_to_product_rxcuis": {"database": "sagerx", "schema": "sagerx_dev", "name": "int_rxnorm_all_ndcs_to_product_rxcuis", "resource_type": "model", "package_name": "sagerx", "path": "intermediate/rxnorm/int_rxnorm_all_ndcs_to_product_rxcuis.sql", "original_file_path": "models/intermediate/rxnorm/int_rxnorm_all_ndcs_to_product_rxcuis.sql", "unique_id": "model.sagerx.int_rxnorm_all_ndcs_to_product_rxcuis", "fqn": ["sagerx", "intermediate", "rxnorm", "int_rxnorm_all_ndcs_to_product_rxcuis"], "alias": "int_rxnorm_all_ndcs_to_product_rxcuis", "checksum": {"name": "sha256", "checksum": "f0fefe49a987d7bbe7864ff032d8bacbbe3ec9d248b9b27882a2a0ef789ff775"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "table"}, "created_at": 1731470991.2823298, "relation_name": "\"sagerx\".\"sagerx_dev\".\"int_rxnorm_all_ndcs_to_product_rxcuis\"", "raw_code": "with all_ndcs as\n(\n select * from {{ ref('stg_rxnorm__all_ndcs') }}\n),\n\nproduct_rxcuis as\n(\n select * from sagerx_lake.rxnorm_rxnconso\n where sab = 'RXNORM'\n and tty in ('SCD', 'SBD', 'GPCK', 'BPCK')\n)\n\nselect distinct\n all_ndcs.ndc11\n , product_rxcuis.rxcui\nfrom all_ndcs\ninner join product_rxcuis\n on all_ndcs.rxcui = product_rxcuis.rxcui", "language": "sql", "refs": [{"name": "stg_rxnorm__all_ndcs", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.sagerx.stg_rxnorm__all_ndcs"]}, "compiled_path": "target/compiled/sagerx/models/intermediate/rxnorm/int_rxnorm_all_ndcs_to_product_rxcuis.sql", "compiled": true, "compiled_code": "with all_ndcs as\n(\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__all_ndcs\"\n),\n\nproduct_rxcuis as\n(\n select * from sagerx_lake.rxnorm_rxnconso\n where sab = 'RXNORM'\n and tty in ('SCD', 'SBD', 'GPCK', 'BPCK')\n)\n\nselect distinct\n all_ndcs.ndc11\n , product_rxcuis.rxcui\nfrom all_ndcs\ninner join product_rxcuis\n on all_ndcs.rxcui = product_rxcuis.rxcui", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.int_mthspl_products_to_inactive_ingredients": {"database": "sagerx", "schema": "sagerx_dev", "name": "int_mthspl_products_to_inactive_ingredients", "resource_type": "model", "package_name": "sagerx", "path": "intermediate/rxnorm/int_mthspl_products_to_inactive_ingredients.sql", "original_file_path": "models/intermediate/rxnorm/int_mthspl_products_to_inactive_ingredients.sql", "unique_id": "model.sagerx.int_mthspl_products_to_inactive_ingredients", "fqn": ["sagerx", "intermediate", "rxnorm", "int_mthspl_products_to_inactive_ingredients"], "alias": "int_mthspl_products_to_inactive_ingredients", "checksum": {"name": "sha256", "checksum": "21a88a4f231cf792bbacf97007319788f9a21edd5c0d469261659fdada2dc075"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "NLM SPL products to inactive ingredients.", "columns": {"ndc9": {"name": "ndc9", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ndc": {"name": "ndc", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_rxcui": {"name": "product_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_name": {"name": "product_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_tty": {"name": "product_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "inactive_ingredient_unii": {"name": "inactive_ingredient_unii", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "inactive_ingredient_rxcui": {"name": "inactive_ingredient_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "inactive_ingredient_name": {"name": "inactive_ingredient_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "inactive_ingredient_tty": {"name": "inactive_ingredient_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active": {"name": "active", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "prescribable": {"name": "prescribable", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/intermediate/rxnorm/_int_rxnorm__models.yml", "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "table"}, "created_at": 1731470991.787939, "relation_name": "\"sagerx\".\"sagerx_dev\".\"int_mthspl_products_to_inactive_ingredients\"", "raw_code": "-- int_mthspl_products_to_inactive_ingredients.sql\n\nwith\n\nsubstance as (\n select * from {{ ref('stg_rxnorm__mthspl_substances') }}\n)\n\n, product as (\n select * from {{ ref('stg_rxnorm__mthspl_products') }}\n)\n\nselect distinct\n concat(lpad(split_part(product.ndc,'-', 1), 5, '0'), lpad(split_part(product.ndc,'-', 2), 4, '0')) as ndc9\n , product.ndc as ndc\n , product.rxcui as product_rxcui\n , product.name as product_name\n , product.tty as product_tty\n , substance.unii as inactive_ingredient_unii\n , substance.rxcui as inactive_ingredient_rxcui\n , substance.name as inactive_ingredient_name\n , substance.tty as inactive_ingredient_tty\t\n , product.active as active\n , product.prescribable as prescribable\nfrom product\ninner join sagerx_lake.rxnorm_rxnrel rxnrel\n on rxnrel.rxaui2 = product.rxaui\ninner join substance\n on substance.rxaui = rxnrel.rxaui1\nwhere rela = 'has_inactive_ingredient'", "language": "sql", "refs": [{"name": "stg_rxnorm__mthspl_substances", "package": null, "version": null}, {"name": "stg_rxnorm__mthspl_products", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.sagerx.stg_rxnorm__mthspl_substances", "model.sagerx.stg_rxnorm__mthspl_products"]}, "compiled_path": "target/compiled/sagerx/models/intermediate/rxnorm/int_mthspl_products_to_inactive_ingredients.sql", "compiled": true, "compiled_code": "-- int_mthspl_products_to_inactive_ingredients.sql\n\nwith\n\nsubstance as (\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__mthspl_substances\"\n)\n\n, product as (\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__mthspl_products\"\n)\n\nselect distinct\n concat(lpad(split_part(product.ndc,'-', 1), 5, '0'), lpad(split_part(product.ndc,'-', 2), 4, '0')) as ndc9\n , product.ndc as ndc\n , product.rxcui as product_rxcui\n , product.name as product_name\n , product.tty as product_tty\n , substance.unii as inactive_ingredient_unii\n , substance.rxcui as inactive_ingredient_rxcui\n , substance.name as inactive_ingredient_name\n , substance.tty as inactive_ingredient_tty\t\n , product.active as active\n , product.prescribable as prescribable\nfrom product\ninner join sagerx_lake.rxnorm_rxnrel rxnrel\n on rxnrel.rxaui2 = product.rxaui\ninner join substance\n on substance.rxaui = rxnrel.rxaui1\nwhere rela = 'has_inactive_ingredient'", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.int_fda_ndc_to_te": {"database": "sagerx", "schema": "sagerx_dev", "name": "int_fda_ndc_to_te", "resource_type": "model", "package_name": "sagerx", "path": "intermediate/orange_book/int_fda_ndc_to_te.sql", "original_file_path": "models/intermediate/orange_book/int_fda_ndc_to_te.sql", "unique_id": "model.sagerx.int_fda_ndc_to_te", "fqn": ["sagerx", "intermediate", "orange_book", "int_fda_ndc_to_te"], "alias": "int_fda_ndc_to_te", "checksum": {"name": "sha256", "checksum": "064213e3149de0b74e4be16eabacec53d49fd1b68ff22b937a6bab35ae298e21"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "> DISCLAIMER: This model is under development and incomplete.\n\nThis is an attempt at an NDC-level mapping of Orange Book TE codes. There are cases in Orange Book where two different strengths of a given ANDA have different TE codes. This means within an ANDA, two different NDCs could have different TE codes.\n\nThe problem we're encountering is that there's not a reliable / programmatic way to get from the strength of a product in Orange Book and the strength of the product in the FDA NDC Directory.\n\nBecause I can't figure out NDC-level mapping, I only include applications with a single OB TE code.\n\nAgain - please only treat this as the beginning of a proof of concept and do not use for clinical or other purposes.\n", "columns": {"ndc11": {"name": "ndc11", "description": "The NDC11 of the product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "application_number": {"name": "application_number", "description": "The ANDA / NDA / etc number.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "te_code": {"name": "te_code", "description": "The full therapeutic equvalency (TE) code as listed within Orange Book.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "first_two_te_code": {"name": "first_two_te_code", "description": "Just the first two characters of the TE code - for ease of use downstream.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "first_one_te_code": {"name": "first_one_te_code", "description": "Just the first character of the TE code - for ease of use downstream.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/intermediate/orange_book/_int_orange_book__models.yml", "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "table"}, "created_at": 1731470991.8076596, "relation_name": "\"sagerx\".\"sagerx_dev\".\"int_fda_ndc_to_te\"", "raw_code": "-- DISCLAIMER: This model is under development and incomplete.\n\nwith cte as (\n select\n fda.ndc11\n , obp.te_code\n , count(fda.ndc11) over( partition by fda.ndc11 ) as num_te_codes\n from {{ source('orange_book', 'orange_book_products') }} as obp\n inner join {{ ref('stg_fda_ndc__ndcs') }} as fda \n on concat(case when obp.appl_type = 'A' then 'ANDA' else 'NDA' end, obp.appl_no) = fda.applicationnumber\n group by fda.ndc11, obp.te_code\n)\nselect\n fda.ndc11\n , fda.applicationnumber as application_number\n , cte.te_code\n , left(cte.te_code, 2) as first_two_te_code\n , left(cte.te_code, 1) as first_one_te_code\nfrom {{ ref('stg_fda_ndc__ndcs') }} as fda \ninner join cte \n on fda.ndc11 = cte.ndc11 \n and cte.num_te_codes = 1", "language": "sql", "refs": [{"name": "stg_fda_ndc__ndcs", "package": null, "version": null}, {"name": "stg_fda_ndc__ndcs", "package": null, "version": null}], "sources": [["orange_book", "orange_book_products"]], "metrics": [], "depends_on": {"macros": [], "nodes": ["source.sagerx.orange_book.orange_book_products", "model.sagerx.stg_fda_ndc__ndcs"]}, "compiled_path": "target/compiled/sagerx/models/intermediate/orange_book/int_fda_ndc_to_te.sql", "compiled": true, "compiled_code": "-- DISCLAIMER: This model is under development and incomplete.\n\nwith cte as (\n select\n fda.ndc11\n , obp.te_code\n , count(fda.ndc11) over( partition by fda.ndc11 ) as num_te_codes\n from \"sagerx\".\"sagerx_lake\".\"orange_book_products\" as obp\n inner join \"sagerx\".\"sagerx_dev\".\"stg_fda_ndc__ndcs\" as fda \n on concat(case when obp.appl_type = 'A' then 'ANDA' else 'NDA' end, obp.appl_no) = fda.applicationnumber\n group by fda.ndc11, obp.te_code\n)\nselect\n fda.ndc11\n , fda.applicationnumber as application_number\n , cte.te_code\n , left(cte.te_code, 2) as first_two_te_code\n , left(cte.te_code, 1) as first_one_te_code\nfrom \"sagerx\".\"sagerx_dev\".\"stg_fda_ndc__ndcs\" as fda \ninner join cte \n on fda.ndc11 = cte.ndc11 \n and cte.num_te_codes = 1", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.int_inactive_ingredients_to_fda_enforcement_reports": {"database": "sagerx", "schema": "sagerx_dev", "name": "int_inactive_ingredients_to_fda_enforcement_reports", "resource_type": "model", "package_name": "sagerx", "path": "intermediate/fda_enforcement/int_inactive_ingredients_to_fda_enforcement_reports.sql", "original_file_path": "models/intermediate/fda_enforcement/int_inactive_ingredients_to_fda_enforcement_reports.sql", "unique_id": "model.sagerx.int_inactive_ingredients_to_fda_enforcement_reports", "fqn": ["sagerx", "intermediate", "fda_enforcement", "int_inactive_ingredients_to_fda_enforcement_reports"], "alias": "int_inactive_ingredients_to_fda_enforcement_reports", "checksum": {"name": "sha256", "checksum": "339b1e9e15e40525eaf632441f0b59ebf6b9fb881ef4aa09672648c5178a8aa3"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "table"}, "created_at": 1731470991.2907739, "relation_name": "\"sagerx\".\"sagerx_dev\".\"int_inactive_ingredients_to_fda_enforcement_reports\"", "raw_code": "with\n\nregex_ndcs as (\n\n select * from {{ ref('stg_fda_enforcement__regex_ndcs') }}\n\n),\n\njson_ndcs as (\n\n select * from {{ ref('stg_fda_enforcement__json_ndcs') }}\n\n),\n\nenf as (\n -- UNION RegEx NDCs from description and JSON NDCs from OpenFDA column\n -- NOTE: UNION removes duplicates by default, which is what we want here\n select * from (\n -- first get only the NDCs from combined RegEx and JSON enforcement report data\n select \n recall_number\n , ndc11\n , ndc9\n from regex_ndcs\n \n union\n \n select\n recall_number\n , ndc11\n , ndc9\n from json_ndcs\n ) enf_ndcs\n -- then, join NDCs with application numbers, where they exist from JSON data\n left join (\n -- get distinct NDC11 -> application numbers so as to not blow up granularity\n select\n ndc11\n , app_num\n from json_ndcs\n group by\n ndc11\n , app_num\n ) json_app_num\n on enf_ndcs.ndc11 = json_app_num.ndc11\n),\n\nndc as (\n\n select * from {{ ref('int_rxnorm_ndcs_to_products') }}\n\n),\n\ning as (\n\n select * from {{ ref('int_rxnorm_clinical_products_to_ingredients') }}\n\n),\n\nspl as (\n\n select * from {{ ref('int_mthspl_products_to_inactive_ingredients') }}\n\n),\n\nfda as (\n\n select * from {{ ref('stg_fda_ndc__ndcs') }}\n\n)\n\nselect distinct\n ndc.ndc as ndc11\n , left(ndc.ndc, 9) as ndc9\n , ndc.product_rxcui\n , ndc.product_name\n , ndc.product_tty\n , ndc.clinical_product_rxcui\n , ndc.clinical_product_name\n , ndc.clinical_product_tty\n , ing.ingredient_rxcui as active_ingredient_rxcui\n , ing.ingredient_name as active_ingredient_name\n , ing.ingredient_tty as active_ingredient_tty\n -- if FDA NDC Directory has an application number, use that...\n -- otherwise, use the application number from the enforcement report JSON\n , coalesce(fda.applicationnumber, enf.app_num) as application_number\n , fda.labelername as labeler\n , enf.recall_number\n , spl.inactive_ingredient_unii\n , spl.inactive_ingredient_rxcui\n , spl.inactive_ingredient_name\n , spl.inactive_ingredient_tty\n-- RxNorm NDCs that have one of the ingredients in the WHERE clause\nfrom ndc\n-- clinical product and related active ingredients for each NDC\nleft join ing\n on ing.clinical_product_rxcui = ndc.clinical_product_rxcui\n-- FDA enforcement reports (UNION of RegEx and JSON) joined on NDC9\nleft join enf\n on enf.ndc9 = left(ndc.ndc, 9)\n-- DailyMed SPL inactive ingredients joined on NDC9\nleft join spl\n on spl.ndc9 = left(ndc.ndc, 9)\n-- FDA NDC Directory joined on NDC11 to pull in application number\nleft join fda\n on fda.ndc11 = ndc.ndc", "language": "sql", "refs": [{"name": "stg_fda_enforcement__regex_ndcs", "package": null, "version": null}, {"name": "stg_fda_enforcement__json_ndcs", "package": null, "version": null}, {"name": "int_rxnorm_ndcs_to_products", "package": null, "version": null}, {"name": "int_rxnorm_clinical_products_to_ingredients", "package": null, "version": null}, {"name": "int_mthspl_products_to_inactive_ingredients", "package": null, "version": null}, {"name": "stg_fda_ndc__ndcs", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.sagerx.stg_fda_enforcement__regex_ndcs", "model.sagerx.stg_fda_enforcement__json_ndcs", "model.sagerx.int_rxnorm_ndcs_to_products", "model.sagerx.int_rxnorm_clinical_products_to_ingredients", "model.sagerx.int_mthspl_products_to_inactive_ingredients", "model.sagerx.stg_fda_ndc__ndcs"]}, "compiled_path": "target/compiled/sagerx/models/intermediate/fda_enforcement/int_inactive_ingredients_to_fda_enforcement_reports.sql", "compiled": true, "compiled_code": "with\n\nregex_ndcs as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_fda_enforcement__regex_ndcs\"\n\n),\n\njson_ndcs as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_fda_enforcement__json_ndcs\"\n\n),\n\nenf as (\n -- UNION RegEx NDCs from description and JSON NDCs from OpenFDA column\n -- NOTE: UNION removes duplicates by default, which is what we want here\n select * from (\n -- first get only the NDCs from combined RegEx and JSON enforcement report data\n select \n recall_number\n , ndc11\n , ndc9\n from regex_ndcs\n \n union\n \n select\n recall_number\n , ndc11\n , ndc9\n from json_ndcs\n ) enf_ndcs\n -- then, join NDCs with application numbers, where they exist from JSON data\n left join (\n -- get distinct NDC11 -> application numbers so as to not blow up granularity\n select\n ndc11\n , app_num\n from json_ndcs\n group by\n ndc11\n , app_num\n ) json_app_num\n on enf_ndcs.ndc11 = json_app_num.ndc11\n),\n\nndc as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"int_rxnorm_ndcs_to_products\"\n\n),\n\ning as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"int_rxnorm_clinical_products_to_ingredients\"\n\n),\n\nspl as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"int_mthspl_products_to_inactive_ingredients\"\n\n),\n\nfda as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_fda_ndc__ndcs\"\n\n)\n\nselect distinct\n ndc.ndc as ndc11\n , left(ndc.ndc, 9) as ndc9\n , ndc.product_rxcui\n , ndc.product_name\n , ndc.product_tty\n , ndc.clinical_product_rxcui\n , ndc.clinical_product_name\n , ndc.clinical_product_tty\n , ing.ingredient_rxcui as active_ingredient_rxcui\n , ing.ingredient_name as active_ingredient_name\n , ing.ingredient_tty as active_ingredient_tty\n -- if FDA NDC Directory has an application number, use that...\n -- otherwise, use the application number from the enforcement report JSON\n , coalesce(fda.applicationnumber, enf.app_num) as application_number\n , fda.labelername as labeler\n , enf.recall_number\n , spl.inactive_ingredient_unii\n , spl.inactive_ingredient_rxcui\n , spl.inactive_ingredient_name\n , spl.inactive_ingredient_tty\n-- RxNorm NDCs that have one of the ingredients in the WHERE clause\nfrom ndc\n-- clinical product and related active ingredients for each NDC\nleft join ing\n on ing.clinical_product_rxcui = ndc.clinical_product_rxcui\n-- FDA enforcement reports (UNION of RegEx and JSON) joined on NDC9\nleft join enf\n on enf.ndc9 = left(ndc.ndc, 9)\n-- DailyMed SPL inactive ingredients joined on NDC9\nleft join spl\n on spl.ndc9 = left(ndc.ndc, 9)\n-- FDA NDC Directory joined on NDC11 to pull in application number\nleft join fda\n on fda.ndc11 = ndc.ndc", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.all_ndc_descriptions": {"database": "sagerx", "schema": "sagerx_dev", "name": "all_ndc_descriptions", "resource_type": "model", "package_name": "sagerx", "path": "marts/ndc/all_ndc_descriptions.sql", "original_file_path": "models/marts/ndc/all_ndc_descriptions.sql", "unique_id": "model.sagerx.all_ndc_descriptions", "fqn": ["sagerx", "marts", "ndc", "all_ndc_descriptions"], "alias": "all_ndc_descriptions", "checksum": {"name": "sha256", "checksum": "1e2f14fd36f33db8a32ba75c69cc3248f97ce548a01f820ea4a0903f3d873b84"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "NDC to RxNorm description (with RXCUI) and FDA description.\n\nNOTE: If RxNorm and RxNorm Historical have same NDCs, we prefer RxNorm.\nIf any of the 3 FDA sources have same NDCs, we prefer FDA NDC, FDA Excluded, FDA Unfinished in that order.\n", "columns": {"ndc": {"name": "ndc", "description": "The NDC in NDC11 format. This column contains only unique values.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "rxcui": {"name": "rxcui", "description": "If NDC was found in an RxNorm sources, we have an associated RXCUI. If NULL, the source is likely FDA.\n", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "rxnorm_description": {"name": "rxnorm_description", "description": "If RxNorm source, will have the RxNorm normalized description (STR).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "fda_description": {"name": "fda_description", "description": "If FDA source, will have a description cobbled together from FDA columns for lack of a normalized FDA description.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/marts/ndc/_ndc__models.yml", "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "table"}, "created_at": 1731470991.8106008, "relation_name": "\"sagerx\".\"sagerx_dev\".\"all_ndc_descriptions\"", "raw_code": "-- all_ndc_descriptions.sql\n\nwith \n\n/*\nNOTE: this intermediate table is only NDCs that have\nSAB = RXNORM RXCUIs, which limits the total NDC count - \nthere are lots of NDCs that don't have RXNORM RXCUIs\nthat might be good to include in the future, but a lot\nseem to be inactive or not prescribable\nMTHSPL = 174k+, VANDF = 309k+, CVX = 500+\n*/\nrxnorm_ndcs as (\n\n select\n ndc\n , product_rxcui as rxcui\n , product_name as rxnorm_description\n from {{ ref('int_rxnorm_ndcs_to_products') }}\n\n) \n\n/* \nNOTE: maybe want to make a stg_rxnorm__products table\nto replace this weird one-off table\n*/\n, rxnorm_product_rxcuis as (\n\n select * from {{ ref('stg_rxnorm__product_rxcuis') }}\n\n)\n\n/*\nNOTE: do we really only want the most recent historical NDCs?\nmaybe should mash rxnorm_historical_ndcs up against rxnorm_ndcs\nand somehow filter out any parts that are wrong?\n*/\n, most_recent_rxnorm_historical_ndcs as (\n\n select\n rxnorm_historical_most_recent_ndcs.ndc::varchar\n , rxnorm_historical_most_recent_ndcs.rxcui::varchar\n , rxnorm_product_rxcuis.str as rxnorm_description\n from {{ ref('stg_rxnorm_historical__most_recent_ndcs') }} rxnorm_historical_most_recent_ndcs\n left join rxnorm_product_rxcuis\n on rxnorm_product_rxcuis.rxcui = rxnorm_historical_most_recent_ndcs.rxcui::varchar\n\n)\n\n, fda_ndc_ndcs as (\n\n select\n ndc11 as ndc\n , trim(concat(\n nonproprietaryname\n , ' '\n , active_numerator_strength\n , ' '\n , active_ingred_unit\n , ' '\n , lower(dosageformname)\n , case when proprietaryname is not null then concat(\n ' ['\n , proprietaryname\n , case when proprietarynamesuffix is not null then concat(\n ' '\n , proprietarynamesuffix\n ) else '' end\n , ']'\n ) else '' end\n )) as fda_description\n from {{ ref('stg_fda_ndc__ndcs') }}\n\n)\n\n, fda_unfinished_ndcs as (\n\n select\n ndc11 as ndc\n , trim(concat(\n nonproprietaryname\n , ' '\n , active_numerator_strength\n , ' '\n , active_ingred_unit\n , ' '\n , lower(dosageformname)\n )) as fda_description\n from {{ ref('stg_fda_unfinished__ndcs') }}\n\n)\n\n, fda_excluded_ndcs as (\n\n select\n ndc11 as ndc\n , trim(concat(\n nonproprietaryname\n , ' '\n , active_numerator_strength\n , ' '\n , active_ingred_unit\n , ' '\n , lower(dosageformname)\n , case when proprietaryname is not null then concat(\n ' ['\n , proprietaryname\n , case when proprietarynamesuffix is not null then concat(\n ' '\n , proprietarynamesuffix\n ) else '' end\n , ']'\n ) else '' end\n )) as fda_description\n from {{ ref('stg_fda_excluded__ndcs') }}\n\n)\n\n, all_rxnorm_ndcs as (\n \n select *, 1 as table_rank from rxnorm_ndcs\n\n union\n\n select *, 2 as table_rank from most_recent_rxnorm_historical_ndcs\n\n)\n\n, ranked_rxnorm_ndcs as (\n\n select\n *\n , row_number() over (partition by ndc order by table_rank asc) as row_num\n from all_rxnorm_ndcs\n\n)\n\n, distinct_rxnorm_ndcs as (\n\n select\n ndc\n , rxcui\n , rxnorm_description\n from ranked_rxnorm_ndcs\n where row_num = 1\n\n)\n\n, all_fda_ndcs as (\n\n select *, 1 as table_rank from fda_ndc_ndcs\n \n union\n \n select *, 2 as table_rank from fda_excluded_ndcs\n\n union\n\n select *, 3 as table_rank from fda_unfinished_ndcs \n\n)\n\n, ranked_fda_ndcs as (\n\n select\n *\n , row_number() over (partition by ndc order by table_rank asc) as row_num\n from all_fda_ndcs\n\n)\n\n, distinct_fda_ndcs as (\n\n select\n ndc\n , fda_description\n from ranked_fda_ndcs\n where row_num = 1\n\n)\n\n, all_ndcs as (\n\n select ndc from distinct_rxnorm_ndcs\n\n union\n \n select ndc from distinct_fda_ndcs\n\n)\n\n, all_ndc_descriptions as (\n\n select\n all_ndcs.ndc\n , rxcui\n , rxnorm_description\n , fda_description\n from all_ndcs\n left join distinct_rxnorm_ndcs\n on distinct_rxnorm_ndcs.ndc = all_ndcs.ndc\n left join distinct_fda_ndcs\n on distinct_fda_ndcs.ndc = all_ndcs.ndc\n\n)\n\n, all_not_null_ndc_descriptions as (\n\nselect * from all_ndc_descriptions\nwhere ndc is not null\n\n)\n\nselect * from all_not_null_ndc_descriptions", "language": "sql", "refs": [{"name": "int_rxnorm_ndcs_to_products", "package": null, "version": null}, {"name": "stg_rxnorm__product_rxcuis", "package": null, "version": null}, {"name": "stg_rxnorm_historical__most_recent_ndcs", "package": null, "version": null}, {"name": "stg_fda_ndc__ndcs", "package": null, "version": null}, {"name": "stg_fda_unfinished__ndcs", "package": null, "version": null}, {"name": "stg_fda_excluded__ndcs", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.sagerx.int_rxnorm_ndcs_to_products", "model.sagerx.stg_rxnorm__product_rxcuis", "model.sagerx.stg_rxnorm_historical__most_recent_ndcs", "model.sagerx.stg_fda_ndc__ndcs", "model.sagerx.stg_fda_unfinished__ndcs", "model.sagerx.stg_fda_excluded__ndcs"]}, "compiled_path": "target/compiled/sagerx/models/marts/ndc/all_ndc_descriptions.sql", "compiled": true, "compiled_code": "-- all_ndc_descriptions.sql\n\nwith \n\n/*\nNOTE: this intermediate table is only NDCs that have\nSAB = RXNORM RXCUIs, which limits the total NDC count - \nthere are lots of NDCs that don't have RXNORM RXCUIs\nthat might be good to include in the future, but a lot\nseem to be inactive or not prescribable\nMTHSPL = 174k+, VANDF = 309k+, CVX = 500+\n*/\nrxnorm_ndcs as (\n\n select\n ndc\n , product_rxcui as rxcui\n , product_name as rxnorm_description\n from \"sagerx\".\"sagerx_dev\".\"int_rxnorm_ndcs_to_products\"\n\n) \n\n/* \nNOTE: maybe want to make a stg_rxnorm__products table\nto replace this weird one-off table\n*/\n, rxnorm_product_rxcuis as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__product_rxcuis\"\n\n)\n\n/*\nNOTE: do we really only want the most recent historical NDCs?\nmaybe should mash rxnorm_historical_ndcs up against rxnorm_ndcs\nand somehow filter out any parts that are wrong?\n*/\n, most_recent_rxnorm_historical_ndcs as (\n\n select\n rxnorm_historical_most_recent_ndcs.ndc::varchar\n , rxnorm_historical_most_recent_ndcs.rxcui::varchar\n , rxnorm_product_rxcuis.str as rxnorm_description\n from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm_historical__most_recent_ndcs\" rxnorm_historical_most_recent_ndcs\n left join rxnorm_product_rxcuis\n on rxnorm_product_rxcuis.rxcui = rxnorm_historical_most_recent_ndcs.rxcui::varchar\n\n)\n\n, fda_ndc_ndcs as (\n\n select\n ndc11 as ndc\n , trim(concat(\n nonproprietaryname\n , ' '\n , active_numerator_strength\n , ' '\n , active_ingred_unit\n , ' '\n , lower(dosageformname)\n , case when proprietaryname is not null then concat(\n ' ['\n , proprietaryname\n , case when proprietarynamesuffix is not null then concat(\n ' '\n , proprietarynamesuffix\n ) else '' end\n , ']'\n ) else '' end\n )) as fda_description\n from \"sagerx\".\"sagerx_dev\".\"stg_fda_ndc__ndcs\"\n\n)\n\n, fda_unfinished_ndcs as (\n\n select\n ndc11 as ndc\n , trim(concat(\n nonproprietaryname\n , ' '\n , active_numerator_strength\n , ' '\n , active_ingred_unit\n , ' '\n , lower(dosageformname)\n )) as fda_description\n from \"sagerx\".\"sagerx_dev\".\"stg_fda_unfinished__ndcs\"\n\n)\n\n, fda_excluded_ndcs as (\n\n select\n ndc11 as ndc\n , trim(concat(\n nonproprietaryname\n , ' '\n , active_numerator_strength\n , ' '\n , active_ingred_unit\n , ' '\n , lower(dosageformname)\n , case when proprietaryname is not null then concat(\n ' ['\n , proprietaryname\n , case when proprietarynamesuffix is not null then concat(\n ' '\n , proprietarynamesuffix\n ) else '' end\n , ']'\n ) else '' end\n )) as fda_description\n from \"sagerx\".\"sagerx_dev\".\"stg_fda_excluded__ndcs\"\n\n)\n\n, all_rxnorm_ndcs as (\n \n select *, 1 as table_rank from rxnorm_ndcs\n\n union\n\n select *, 2 as table_rank from most_recent_rxnorm_historical_ndcs\n\n)\n\n, ranked_rxnorm_ndcs as (\n\n select\n *\n , row_number() over (partition by ndc order by table_rank asc) as row_num\n from all_rxnorm_ndcs\n\n)\n\n, distinct_rxnorm_ndcs as (\n\n select\n ndc\n , rxcui\n , rxnorm_description\n from ranked_rxnorm_ndcs\n where row_num = 1\n\n)\n\n, all_fda_ndcs as (\n\n select *, 1 as table_rank from fda_ndc_ndcs\n \n union\n \n select *, 2 as table_rank from fda_excluded_ndcs\n\n union\n\n select *, 3 as table_rank from fda_unfinished_ndcs \n\n)\n\n, ranked_fda_ndcs as (\n\n select\n *\n , row_number() over (partition by ndc order by table_rank asc) as row_num\n from all_fda_ndcs\n\n)\n\n, distinct_fda_ndcs as (\n\n select\n ndc\n , fda_description\n from ranked_fda_ndcs\n where row_num = 1\n\n)\n\n, all_ndcs as (\n\n select ndc from distinct_rxnorm_ndcs\n\n union\n \n select ndc from distinct_fda_ndcs\n\n)\n\n, all_ndc_descriptions as (\n\n select\n all_ndcs.ndc\n , rxcui\n , rxnorm_description\n , fda_description\n from all_ndcs\n left join distinct_rxnorm_ndcs\n on distinct_rxnorm_ndcs.ndc = all_ndcs.ndc\n left join distinct_fda_ndcs\n on distinct_fda_ndcs.ndc = all_ndcs.ndc\n\n)\n\n, all_not_null_ndc_descriptions as (\n\nselect * from all_ndc_descriptions\nwhere ndc is not null\n\n)\n\nselect * from all_not_null_ndc_descriptions", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.all_ndcs_to_sources": {"database": "sagerx", "schema": "sagerx_dev", "name": "all_ndcs_to_sources", "resource_type": "model", "package_name": "sagerx", "path": "marts/ndc/all_ndcs_to_sources.sql", "original_file_path": "models/marts/ndc/all_ndcs_to_sources.sql", "unique_id": "model.sagerx.all_ndcs_to_sources", "fqn": ["sagerx", "marts", "ndc", "all_ndcs_to_sources"], "alias": "all_ndcs_to_sources", "checksum": {"name": "sha256", "checksum": "230f0553ca8b7ff6b7947d12a8f2fb5fc6aaa307a853e5813599a6ce6a9fab83"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "table"}, "created_at": 1731470991.296684, "relation_name": "\"sagerx\".\"sagerx_dev\".\"all_ndcs_to_sources\"", "raw_code": "-- stg_ndc_all_ndcs_to_sources.sql\n\nwith rxnorm_historical_ndcs as\n(\n -- NOTE: likely need to pick the most recent NDC\n -- instead of just distinct\n -- and pull in the other columns too possibly\n select distinct ndc\n from {{ ref('stg_rxnorm_historical__ndcs') }}\n)\n\n, rxnorm_ndcs as\n(\n select distinct ndc\n from {{ ref('stg_rxnorm__ndcs') }}\n)\n\n, fda_ndc_ndcs as\n(\n select distinct ndc11 as ndc\n from {{ ref('stg_fda_ndc__ndcs') }}\n)\n\n, fda_excluded_ndcs as\n(\n select distinct ndc11 as ndc\n from {{ ref('stg_fda_excluded__ndcs') }}\n)\n\n, fda_unfinished_ndcs as\n(\n select distinct ndc11 as ndc\n from {{ ref('stg_fda_unfinished__ndcs') }}\n)\n\n, all_distinct_ndcs as\n(\n select ndc from rxnorm_historical_ndcs\n union\n select ndc from rxnorm_ndcs\n union\n select ndc from fda_ndc_ndcs\n union\n select ndc from fda_excluded_ndcs\n union\n select ndc from fda_unfinished_ndcs\n)\n\n, all_ndcs_to_sources as (\n select\n all_distinct_ndcs.ndc\n , case when rxnorm_historical_ndcs.ndc is not null\n then 1 \n else 0\n end as rxnorm_historical_ndcs\n , case when rxnorm_ndcs.ndc is not null\n then 1 \n else 0\n end as rxnorm_ndcs\n , case when fda_ndc_ndcs.ndc is not null\n then 1 \n else 0\n end as fda_ndc_ndcs\n , case when fda_excluded_ndcs.ndc is not null\n then 1 \n else 0\n end as fda_excluded_ndcs\n , case when fda_unfinished_ndcs.ndc is not null\n then 1 \n else 0\n end as fda_unfinished_ndcs\n from all_distinct_ndcs\n left join rxnorm_historical_ndcs\n on rxnorm_historical_ndcs.ndc = all_distinct_ndcs.ndc\n left join rxnorm_ndcs\n on rxnorm_ndcs.ndc = all_distinct_ndcs.ndc\n left join fda_ndc_ndcs\n on fda_ndc_ndcs.ndc = all_distinct_ndcs.ndc\n left join fda_excluded_ndcs\n on fda_excluded_ndcs.ndc = all_distinct_ndcs.ndc\n left join fda_unfinished_ndcs\n on fda_unfinished_ndcs.ndc = all_distinct_ndcs.ndc\n)\n\n, all_not_null_ndcs_to_sources as (\n select\n *\n from all_ndcs_to_sources\n where ndc is not null\n)\n\n, all_ndc_descriptions as (\n select * from {{ ref('all_ndc_descriptions') }}\n)\n\n, all_ndcs_with_descriptions_to_sources as (\n select\n all_not_null_ndcs_to_sources.*\n from all_not_null_ndcs_to_sources\n inner join all_ndc_descriptions\n on all_ndc_descriptions.ndc = all_not_null_ndcs_to_sources.ndc\n)\n\nselect * from all_ndcs_with_descriptions_to_sources", "language": "sql", "refs": [{"name": "stg_rxnorm_historical__ndcs", "package": null, "version": null}, {"name": "stg_rxnorm__ndcs", "package": null, "version": null}, {"name": "stg_fda_ndc__ndcs", "package": null, "version": null}, {"name": "stg_fda_excluded__ndcs", "package": null, "version": null}, {"name": "stg_fda_unfinished__ndcs", "package": null, "version": null}, {"name": "all_ndc_descriptions", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.sagerx.stg_rxnorm_historical__ndcs", "model.sagerx.stg_rxnorm__ndcs", "model.sagerx.stg_fda_ndc__ndcs", "model.sagerx.stg_fda_excluded__ndcs", "model.sagerx.stg_fda_unfinished__ndcs", "model.sagerx.all_ndc_descriptions"]}, "compiled_path": "target/compiled/sagerx/models/marts/ndc/all_ndcs_to_sources.sql", "compiled": true, "compiled_code": "-- stg_ndc_all_ndcs_to_sources.sql\n\nwith rxnorm_historical_ndcs as\n(\n -- NOTE: likely need to pick the most recent NDC\n -- instead of just distinct\n -- and pull in the other columns too possibly\n select distinct ndc\n from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm_historical__ndcs\"\n)\n\n, rxnorm_ndcs as\n(\n select distinct ndc\n from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ndcs\"\n)\n\n, fda_ndc_ndcs as\n(\n select distinct ndc11 as ndc\n from \"sagerx\".\"sagerx_dev\".\"stg_fda_ndc__ndcs\"\n)\n\n, fda_excluded_ndcs as\n(\n select distinct ndc11 as ndc\n from \"sagerx\".\"sagerx_dev\".\"stg_fda_excluded__ndcs\"\n)\n\n, fda_unfinished_ndcs as\n(\n select distinct ndc11 as ndc\n from \"sagerx\".\"sagerx_dev\".\"stg_fda_unfinished__ndcs\"\n)\n\n, all_distinct_ndcs as\n(\n select ndc from rxnorm_historical_ndcs\n union\n select ndc from rxnorm_ndcs\n union\n select ndc from fda_ndc_ndcs\n union\n select ndc from fda_excluded_ndcs\n union\n select ndc from fda_unfinished_ndcs\n)\n\n, all_ndcs_to_sources as (\n select\n all_distinct_ndcs.ndc\n , case when rxnorm_historical_ndcs.ndc is not null\n then 1 \n else 0\n end as rxnorm_historical_ndcs\n , case when rxnorm_ndcs.ndc is not null\n then 1 \n else 0\n end as rxnorm_ndcs\n , case when fda_ndc_ndcs.ndc is not null\n then 1 \n else 0\n end as fda_ndc_ndcs\n , case when fda_excluded_ndcs.ndc is not null\n then 1 \n else 0\n end as fda_excluded_ndcs\n , case when fda_unfinished_ndcs.ndc is not null\n then 1 \n else 0\n end as fda_unfinished_ndcs\n from all_distinct_ndcs\n left join rxnorm_historical_ndcs\n on rxnorm_historical_ndcs.ndc = all_distinct_ndcs.ndc\n left join rxnorm_ndcs\n on rxnorm_ndcs.ndc = all_distinct_ndcs.ndc\n left join fda_ndc_ndcs\n on fda_ndc_ndcs.ndc = all_distinct_ndcs.ndc\n left join fda_excluded_ndcs\n on fda_excluded_ndcs.ndc = all_distinct_ndcs.ndc\n left join fda_unfinished_ndcs\n on fda_unfinished_ndcs.ndc = all_distinct_ndcs.ndc\n)\n\n, all_not_null_ndcs_to_sources as (\n select\n *\n from all_ndcs_to_sources\n where ndc is not null\n)\n\n, all_ndc_descriptions as (\n select * from \"sagerx\".\"sagerx_dev\".\"all_ndc_descriptions\"\n)\n\n, all_ndcs_with_descriptions_to_sources as (\n select\n all_not_null_ndcs_to_sources.*\n from all_not_null_ndcs_to_sources\n inner join all_ndc_descriptions\n on all_ndc_descriptions.ndc = all_not_null_ndcs_to_sources.ndc\n)\n\nselect * from all_ndcs_with_descriptions_to_sources", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.ndcs_to_label_images": {"database": "sagerx", "schema": "sagerx_dev", "name": "ndcs_to_label_images", "resource_type": "model", "package_name": "sagerx", "path": "marts/ndc/ndcs_to_label_images.sql", "original_file_path": "models/marts/ndc/ndcs_to_label_images.sql", "unique_id": "model.sagerx.ndcs_to_label_images", "fqn": ["sagerx", "marts", "ndc", "ndcs_to_label_images"], "alias": "ndcs_to_label_images", "checksum": {"name": "sha256", "checksum": "f96c64ed249fe0716bbfbbfd212247153e464ab29741ef7972f2abc59ae8c79f"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "table"}, "created_at": 1731470991.2996662, "relation_name": "\"sagerx\".\"sagerx_dev\".\"ndcs_to_label_images\"", "raw_code": "-- ndcs_to_label_images\n\nwith\n\nimage_xml_ndcs as (\n\n\tselect * from {{ ref('int_dailymed_image_xml_ndcs') }}\n\n\n),\n\nimage_name_ndcs as (\n\n\tselect * from {{ ref('int_dailymed_image_name_ndcs') }}\n\n),\n\nall_image_ndcs as (\n\n\tselect\n\t\tset_id,\n\t\tndc,\n\t\timage\t\n\tfrom image_xml_ndcs\n\n\tunion\n\n\tselect\n\t\tset_id,\n\t\tndc,\n\t\timage\n\tfrom image_name_ndcs\n\n),\n\nall_image_ndcs_ndc11 as (\n\n\tselect\n\t\tset_id,\n\t\tndc,\n\t\t{{ ndc_to_11('ndc') }} as ndc11,\n\t\tconcat('https://dailymed.nlm.nih.gov/dailymed/image.cfm?name=', image, '&setid=', set_id) as image_url,\n\t\timage as image_file,\n\t\tconcat('https://dailymed.nlm.nih.gov/dailymed/drugInfo.cfm?setid=', set_id) as dailymed_spl_url\n\tfrom all_image_ndcs\n\n)\n\nselect * from all_image_ndcs_ndc11", "language": "sql", "refs": [{"name": "int_dailymed_image_xml_ndcs", "package": null, "version": null}, {"name": "int_dailymed_image_name_ndcs", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.sagerx.ndc_to_11"], "nodes": ["model.sagerx.int_dailymed_image_xml_ndcs", "model.sagerx.int_dailymed_image_name_ndcs"]}, "compiled_path": "target/compiled/sagerx/models/marts/ndc/ndcs_to_label_images.sql", "compiled": true, "compiled_code": "-- ndcs_to_label_images\n\nwith\n\nimage_xml_ndcs as (\n\n\tselect * from \"sagerx\".\"sagerx_dev\".\"int_dailymed_image_xml_ndcs\"\n\n\n),\n\nimage_name_ndcs as (\n\n\tselect * from \"sagerx\".\"sagerx_dev\".\"int_dailymed_image_name_ndcs\"\n\n),\n\nall_image_ndcs as (\n\n\tselect\n\t\tset_id,\n\t\tndc,\n\t\timage\t\n\tfrom image_xml_ndcs\n\n\tunion\n\n\tselect\n\t\tset_id,\n\t\tndc,\n\t\timage\n\tfrom image_name_ndcs\n\n),\n\nall_image_ndcs_ndc11 as (\n\n\tselect\n\t\tset_id,\n\t\tndc,\n\t\t\n \n CASE WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '10 Digit' THEN NULL\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '11 Digit' THEN ndc\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-4-2' THEN '0' || LEFT(ndc,4) || REPLACE(RIGHT(ndc,7),'-','')\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-3-2' THEN LEFT(ndc,5) || '0' || REPLACE(RIGHT(ndc,6),'-','')\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-1' THEN REPLACE(LEFT(ndc,10),'-','') || '0' || RIGHT(ndc, 1)\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-2' THEN REPLACE(ndc,'-','')\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-5' THEN NULL\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-6' THEN NULL\n ELSE NULL\n END\n \n as ndc11,\n\t\tconcat('https://dailymed.nlm.nih.gov/dailymed/image.cfm?name=', image, '&setid=', set_id) as image_url,\n\t\timage as image_file,\n\t\tconcat('https://dailymed.nlm.nih.gov/dailymed/drugInfo.cfm?setid=', set_id) as dailymed_spl_url\n\tfrom all_image_ndcs\n\n)\n\nselect * from all_image_ndcs_ndc11", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.atc_codes_to_rxnorm_products": {"database": "sagerx", "schema": "sagerx_dev", "name": "atc_codes_to_rxnorm_products", "resource_type": "model", "package_name": "sagerx", "path": "marts/classification/atc_codes_to_rxnorm_products.sql", "original_file_path": "models/marts/classification/atc_codes_to_rxnorm_products.sql", "unique_id": "model.sagerx.atc_codes_to_rxnorm_products", "fqn": ["sagerx", "marts", "classification", "atc_codes_to_rxnorm_products"], "alias": "atc_codes_to_rxnorm_products", "checksum": {"name": "sha256", "checksum": "4d8b5ba258fbaf2d24b3dca02d5045e4a8a1275058bd8e35cdeecdad46cb8007"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "ATC 1-4 codes to product-level RXCUIs and descriptions.\n", "columns": {"rxcui": {"name": "rxcui", "description": "Product-level RxNorm RXCUI.\n", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "rxnorm_description": {"name": "rxnorm_description", "description": "The RxNorm normalized description (STR).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "atc_1_name": {"name": "atc_1_name", "description": "The name of the ATC1 level associated with this product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "atc_2_name": {"name": "atc_2_name", "description": "The name of the ATC2 level associated with this product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "atc_3_name": {"name": "atc_3_name", "description": "The name of the ATC3 level associated with this product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "atc_4_name": {"name": "atc_4_name", "description": "The name of the ATC4 level associated with this product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/marts/classification/_classification__models.yml", "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "table"}, "created_at": 1731470991.9022465, "relation_name": "\"sagerx\".\"sagerx_dev\".\"atc_codes_to_rxnorm_products\"", "raw_code": "-- atc_codes_to_rxnorm_products\n\nwith atc_codes_to_rxnorm_product_rxcuis as (\n\n\tselect * from {{ ref('stg_rxclass__atc_codes_to_rxnorm_product_rxcuis') }}\n\n)\n\n, atc_codes as (\n\n select * from {{ ref('stg_rxnorm__atc_codes') }}\n\n)\n\n, rxnorm_product_rxcuis as (\n\n select * from {{ ref('stg_rxnorm__product_rxcuis') }}\n\n)\n\nselect distinct\n\tatc_codes_to_rxnorm_product_rxcuis.rxcui\n\t, rxnorm_product_rxcuis.str as rxnorm_description\n\t, atc_codes.atc_1_code\n\t, atc_codes.atc_2_code\n\t, atc_codes.atc_3_code\n\t, atc_codes.atc_4_code\n\t, atc_codes.atc_1_name\n\t, atc_codes.atc_2_name\n\t, atc_codes.atc_3_name\n\t, atc_codes.atc_4_name\nfrom atc_codes_to_rxnorm_product_rxcuis\nleft join atc_codes\n\ton atc_codes.atc_4_code = atc_codes_to_rxnorm_product_rxcuis.class_id\nleft join rxnorm_product_rxcuis\n\ton rxnorm_product_rxcuis.rxcui = atc_codes_to_rxnorm_product_rxcuis.rxcui\norder by rxcui", "language": "sql", "refs": [{"name": "stg_rxclass__atc_codes_to_rxnorm_product_rxcuis", "package": null, "version": null}, {"name": "stg_rxnorm__atc_codes", "package": null, "version": null}, {"name": "stg_rxnorm__product_rxcuis", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.sagerx.stg_rxclass__atc_codes_to_rxnorm_product_rxcuis", "model.sagerx.stg_rxnorm__atc_codes", "model.sagerx.stg_rxnorm__product_rxcuis"]}, "compiled_path": "target/compiled/sagerx/models/marts/classification/atc_codes_to_rxnorm_products.sql", "compiled": true, "compiled_code": "-- atc_codes_to_rxnorm_products\n\nwith atc_codes_to_rxnorm_product_rxcuis as (\n\n\tselect * from \"sagerx\".\"sagerx_dev\".\"stg_rxclass__atc_codes_to_rxnorm_product_rxcuis\"\n\n)\n\n, atc_codes as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__atc_codes\"\n\n)\n\n, rxnorm_product_rxcuis as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__product_rxcuis\"\n\n)\n\nselect distinct\n\tatc_codes_to_rxnorm_product_rxcuis.rxcui\n\t, rxnorm_product_rxcuis.str as rxnorm_description\n\t, atc_codes.atc_1_code\n\t, atc_codes.atc_2_code\n\t, atc_codes.atc_3_code\n\t, atc_codes.atc_4_code\n\t, atc_codes.atc_1_name\n\t, atc_codes.atc_2_name\n\t, atc_codes.atc_3_name\n\t, atc_codes.atc_4_name\nfrom atc_codes_to_rxnorm_product_rxcuis\nleft join atc_codes\n\ton atc_codes.atc_4_code = atc_codes_to_rxnorm_product_rxcuis.class_id\nleft join rxnorm_product_rxcuis\n\ton rxnorm_product_rxcuis.rxcui = atc_codes_to_rxnorm_product_rxcuis.rxcui\norder by rxcui", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.products_to_inactive_ingredients": {"database": "sagerx", "schema": "sagerx_dev", "name": "products_to_inactive_ingredients", "resource_type": "model", "package_name": "sagerx", "path": "marts/products/products_to_inactive_ingredients.sql", "original_file_path": "models/marts/products/products_to_inactive_ingredients.sql", "unique_id": "model.sagerx.products_to_inactive_ingredients", "fqn": ["sagerx", "marts", "products", "products_to_inactive_ingredients"], "alias": "products_to_inactive_ingredients", "checksum": {"name": "sha256", "checksum": "d1adfa1cdd05a5f65c80e4bdcc59df1ed6e9f4364e6566221400f4b17883175a"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "DailyMed (MTHSPL) products (along with 9-digit NDCs), mapped to DailyMed\nsubstances, which are mapped to normalized FDA UNII display names.\n", "columns": {"ndc9": {"name": "ndc9", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "fda_unii_code": {"name": "fda_unii_code", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "fda_unii_display_name": {"name": "fda_unii_display_name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "pubchem_id": {"name": "pubchem_id", "description": "The ID for this compound in PubChem.\nUse this to generate a link to the PubChem detail page for this compound.\nExample: `concat('https://pubchem.ncbi.nlm.nih.gov/compound/', pubchem_id)`\nSodium Benzoate example: [https://pubchem.ncbi.nlm.nih.gov/compound/517055](https://pubchem.ncbi.nlm.nih.gov/compound/517055)\n", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "usp_preservative": {"name": "usp_preservative", "description": "1 if the UNII matches a CAS RN from USP where\nUSP considers it a preservative based on preservative\nproduct filter on their product website.\n\nUSP product website filtered to Preservatives: [link](https://store.usp.org/preservatives/category/USP-1213)\n\n29 products at the time of writing this - one of which had N/A for CAS RN\nand one which had two possible CAS RNs.\n", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_rxcui": {"name": "product_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_name": {"name": "product_name", "description": "NOTE: this field is aggregated and pipe-delimited (' | '). It appears\nas though the MTHSPL data in RxNorm can have multiple\nproduct names for a given RXCUI. Since we are mostly concerned\nwith NDC to UNII code, the names of the products as they\nexist in the MTHSPL SAB of RxNorm should be for quick reference\nand validation only.\n", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_tty": {"name": "product_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "inactive_ingredient_unii": {"name": "inactive_ingredient_unii", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "inactive_ingredient_rxcui": {"name": "inactive_ingredient_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "inactive_ingredient_name": {"name": "inactive_ingredient_name", "description": "NOTE: this field is aggregated and pipe-delimited (' | '). It appears\nas though the MTHSPL data in RxNorm can have multiple\nsubstance names for a given RXCUI. Since we are mostly concerned\nwith NDC to UNII code, the names of the substances as they\nexist in the MTHSPL SAB of RxNorm should be for quick reference\nand validation only.\n", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "inactive_ingredient_tty": {"name": "inactive_ingredient_tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active": {"name": "active", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "prescribable": {"name": "prescribable", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/marts/products/_products__models.yml", "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "table"}, "created_at": 1731470991.9115374, "relation_name": "\"sagerx\".\"sagerx_dev\".\"products_to_inactive_ingredients\"", "raw_code": "-- products_to_inactive_ingredients.sql\n\nwith products_to_inactive_ingredients as (\n select * from {{ ref('int_mthspl_products_to_inactive_ingredients') }}\n)\n\n, unii_codes as (\n select * from {{ ref('stg_fda_unii__unii_codes') }}\n)\n\n, usp_preservatives as (\n select * from {{ ref('usp_preservatives') }}\n)\n\nselect\n ndc9\n , ndc\n , unii_codes.unii as fda_unii_code\n , unii_codes.display_name as fda_unii_display_name\n , unii_codes.pubchem as pubchem_id\n , max(case\n when preservative.cas_rn is not null\n then 1\n end) as preservative\n , product_rxcui\n , string_agg(product_name, ' | ') as product_name\n , product_tty\n , inactive_ingredient_unii\n , inactive_ingredient_rxcui\n , string_agg(inactive_ingredient_name, ' | ') as inactive_ingredient_name\n , inactive_ingredient_tty\n , active\n , prescribable\nfrom products_to_inactive_ingredients\n/*\nneed to join unii_codes twice - once\nto pull in the actual UNII -> displa\ny name\nmapping, and another initial one to try\nto map substance RXCUIs to FDA UNII RXCUIs.\n*/\nleft join unii_codes rxcui_to_unii\n on rxcui_to_unii.rxcui = inactive_ingredient_rxcui\n/*\nif MTHSPL (DailyMed) has a substance UNII,\nuse that. if it does not, try to map the\nsubstance RXCUI to the FDA UNII RXCUI and\nthen use the resulting matched UNII to pull\nin the UNII display name.\n*/\nleft join unii_codes\n on unii_codes.unii = case\n when (\n inactive_ingredient_unii is not null \n and\n inactive_ingredient_unii != 'NOCODE'\n ) then inactive_ingredient_unii\n else rxcui_to_unii.unii\n end\nleft join usp_preservatives preservative\n on preservative.cas_rn = unii_codes.rn\ngroup by\n ndc9\n , ndc\n , unii_codes.unii\n , unii_codes.display_name\n , unii_codes.pubchem\n , product_rxcui\n , product_tty\n , inactive_ingredient_unii\n , inactive_ingredient_rxcui\n , inactive_ingredient_tty\n , active\n , prescribable", "language": "sql", "refs": [{"name": "int_mthspl_products_to_inactive_ingredients", "package": null, "version": null}, {"name": "stg_fda_unii__unii_codes", "package": null, "version": null}, {"name": "usp_preservatives", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.sagerx.int_mthspl_products_to_inactive_ingredients", "model.sagerx.stg_fda_unii__unii_codes", "seed.sagerx.usp_preservatives"]}, "compiled_path": "target/compiled/sagerx/models/marts/products/products_to_inactive_ingredients.sql", "compiled": true, "compiled_code": "-- products_to_inactive_ingredients.sql\n\nwith products_to_inactive_ingredients as (\n select * from \"sagerx\".\"sagerx_dev\".\"int_mthspl_products_to_inactive_ingredients\"\n)\n\n, unii_codes as (\n select * from \"sagerx\".\"sagerx_dev\".\"stg_fda_unii__unii_codes\"\n)\n\n, usp_preservatives as (\n select * from \"sagerx\".\"sagerx_dev\".\"usp_preservatives\"\n)\n\nselect\n ndc9\n , ndc\n , unii_codes.unii as fda_unii_code\n , unii_codes.display_name as fda_unii_display_name\n , unii_codes.pubchem as pubchem_id\n , max(case\n when preservative.cas_rn is not null\n then 1\n end) as preservative\n , product_rxcui\n , string_agg(product_name, ' | ') as product_name\n , product_tty\n , inactive_ingredient_unii\n , inactive_ingredient_rxcui\n , string_agg(inactive_ingredient_name, ' | ') as inactive_ingredient_name\n , inactive_ingredient_tty\n , active\n , prescribable\nfrom products_to_inactive_ingredients\n/*\nneed to join unii_codes twice - once\nto pull in the actual UNII -> displa\ny name\nmapping, and another initial one to try\nto map substance RXCUIs to FDA UNII RXCUIs.\n*/\nleft join unii_codes rxcui_to_unii\n on rxcui_to_unii.rxcui = inactive_ingredient_rxcui\n/*\nif MTHSPL (DailyMed) has a substance UNII,\nuse that. if it does not, try to map the\nsubstance RXCUI to the FDA UNII RXCUI and\nthen use the resulting matched UNII to pull\nin the UNII display name.\n*/\nleft join unii_codes\n on unii_codes.unii = case\n when (\n inactive_ingredient_unii is not null \n and\n inactive_ingredient_unii != 'NOCODE'\n ) then inactive_ingredient_unii\n else rxcui_to_unii.unii\n end\nleft join usp_preservatives preservative\n on preservative.cas_rn = unii_codes.rn\ngroup by\n ndc9\n , ndc\n , unii_codes.unii\n , unii_codes.display_name\n , unii_codes.pubchem\n , product_rxcui\n , product_tty\n , inactive_ingredient_unii\n , inactive_ingredient_rxcui\n , inactive_ingredient_tty\n , active\n , prescribable", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.brand_products_with_related_ndcs": {"database": "sagerx", "schema": "sagerx_dev", "name": "brand_products_with_related_ndcs", "resource_type": "model", "package_name": "sagerx", "path": "marts/products/brand_products_with_related_ndcs.sql", "original_file_path": "models/marts/products/brand_products_with_related_ndcs.sql", "unique_id": "model.sagerx.brand_products_with_related_ndcs", "fqn": ["sagerx", "marts", "products", "brand_products_with_related_ndcs"], "alias": "brand_products_with_related_ndcs", "checksum": {"name": "sha256", "checksum": "711602d35d5d731eaada8bed4e885ad0cf65b017e572daeb476971fdff7ca4de"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Brand Product RXCUI \u2192 Related Clinical Product RXCUI \u2192 NDCs related to that Clinical Product RXCUI \u2192 FDA Start Marketing Dates\n", "columns": {"product_tty": {"name": "product_tty", "description": "Will always be SBD or BPCK since we are starting with brand products only.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_name": {"name": "product_name", "description": "The name of the brand product we are starting from.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ndc_product_tty": {"name": "ndc_product_tty", "description": "Could be SCD, SBD, GPCK, BPCK, or null.\n\nA product related to the original brand product based on a clinical product identifier.\n\nExample: starting with a product TTY / RXCUI of SBD 1000000, you could have a related ndc_product\nof SBD 1000000 because that brand product relates to itself, as well as a related ndc_product of\nSCD 999996 which is the generic version of the same product.\n\nCan have duplicate RXCUIs if there are multiple NDCs related to that RXCUI.\n", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ndc": {"name": "ndc", "description": "The NDC that relates to the ndc_product_rxcui.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_startmarketingdate": {"name": "product_startmarketingdate", "description": "The start marketing date of the **product**. Can be different from that of the package.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "package_startmarketingdate": {"name": "package_startmarketingdate", "description": "The start marketing date of the **package**. Can be different from that of the product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/marts/products/_products__models.yml", "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "table"}, "created_at": 1731470991.9090874, "relation_name": "\"sagerx\".\"sagerx_dev\".\"brand_products_with_related_ndcs\"", "raw_code": "with brand_products as (\n select * from {{ ref('stg_rxnorm__brand_products') }}\n)\n\n, fda_ndcs as (\n select * from {{ ref('stg_fda_ndc__ndcs') }}\n)\n\n, rxnorm_ndcs_to_products as (\n select * from {{ ref('int_rxnorm_ndcs_to_products') }}\n)\n\n, map as (\n select\n prod.tty as product_tty\n , prod.rxcui as product_rxcui\n , prod.name as product_name\n , ndc.product_tty as ndc_product_tty\n , ndc.product_rxcui as ndc_product_rxcui\n , ndc.product_name as ndc_product_name\n , ndc.ndc\n , fda.product_startmarketingdate\n , fda.package_startmarketingdate\n from brand_products prod\n left join rxnorm_ndcs_to_products ndc\n on ndc.clinical_product_rxcui = prod.clinical_product_rxcui\n left join fda_ndcs fda\n on fda.ndc11 = ndc.ndc\n order by prod.rxcui\n)\n\nselect\n *\nfrom map", "language": "sql", "refs": [{"name": "stg_rxnorm__brand_products", "package": null, "version": null}, {"name": "stg_fda_ndc__ndcs", "package": null, "version": null}, {"name": "int_rxnorm_ndcs_to_products", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.sagerx.stg_rxnorm__brand_products", "model.sagerx.stg_fda_ndc__ndcs", "model.sagerx.int_rxnorm_ndcs_to_products"]}, "compiled_path": "target/compiled/sagerx/models/marts/products/brand_products_with_related_ndcs.sql", "compiled": true, "compiled_code": "with brand_products as (\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__brand_products\"\n)\n\n, fda_ndcs as (\n select * from \"sagerx\".\"sagerx_dev\".\"stg_fda_ndc__ndcs\"\n)\n\n, rxnorm_ndcs_to_products as (\n select * from \"sagerx\".\"sagerx_dev\".\"int_rxnorm_ndcs_to_products\"\n)\n\n, map as (\n select\n prod.tty as product_tty\n , prod.rxcui as product_rxcui\n , prod.name as product_name\n , ndc.product_tty as ndc_product_tty\n , ndc.product_rxcui as ndc_product_rxcui\n , ndc.product_name as ndc_product_name\n , ndc.ndc\n , fda.product_startmarketingdate\n , fda.package_startmarketingdate\n from brand_products prod\n left join rxnorm_ndcs_to_products ndc\n on ndc.clinical_product_rxcui = prod.clinical_product_rxcui\n left join fda_ndcs fda\n on fda.ndc11 = ndc.ndc\n order by prod.rxcui\n)\n\nselect\n *\nfrom map", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.products": {"database": "sagerx", "schema": "sagerx_dev", "name": "products", "resource_type": "model", "package_name": "sagerx", "path": "marts/products/products.sql", "original_file_path": "models/marts/products/products.sql", "unique_id": "model.sagerx.products", "fqn": ["sagerx", "marts", "products", "products"], "alias": "products", "checksum": {"name": "sha256", "checksum": "d1a74cd35fccdd428673e6cafccca0a17ed3fdaee3facf4ae12e3543b78f5cef"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Product information including name, RXCUI, brand vs generic, ingredient, and dose form.\n\nData generally comes from RxNorm.\n", "columns": {"product_rxcui": {"name": "product_rxcui", "description": "Product-level RxNorm RXCUI.\n", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "brand_vs_generic": {"name": "brand_vs_generic", "description": "Simple (not comprehensive) brand vs generic flag.\n\nIf TTY = SBD or BPCK, this will be brand. \nIf TTY = SCD or GPCK, this will be generic.\n", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/marts/products/_products__models.yml", "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "table"}, "created_at": 1731470991.9073422, "relation_name": "\"sagerx\".\"sagerx_dev\".\"products\"", "raw_code": "with rxnorm_products as (\n select * from {{ ref('stg_rxnorm__products') }}\n)\n\n, rxnorm_clinical_products_to_ingredients as (\n select * from {{ ref('int_rxnorm_clinical_products_to_ingredients') }}\n)\n\nselect\n prod.rxcui as product_rxcui\n , prod.name as product_name\n , prod.tty as product_tty\n , case\n when prod.tty in ('SBD', 'BPCK') then 'brand'\n when prod.tty in ('SCD', 'GPCK') then 'generic'\n end as brand_vs_generic\n , substring(prod.name from '\\[(.*)\\]') as brand_name\n , cping.clinical_product_rxcui\n , cping.clinical_product_name\n , cping.clinical_product_tty\n , cping.ingredient_name\n -- strength - couldn't easily get strength at this grain - can if needed\n , cping.dose_form_name\nfrom rxnorm_products prod\nleft join rxnorm_clinical_products_to_ingredients cping\n on cping.clinical_product_rxcui = prod.clinical_product_rxcui", "language": "sql", "refs": [{"name": "stg_rxnorm__products", "package": null, "version": null}, {"name": "int_rxnorm_clinical_products_to_ingredients", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.sagerx.stg_rxnorm__products", "model.sagerx.int_rxnorm_clinical_products_to_ingredients"]}, "compiled_path": "target/compiled/sagerx/models/marts/products/products.sql", "compiled": true, "compiled_code": "with rxnorm_products as (\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__products\"\n)\n\n, rxnorm_clinical_products_to_ingredients as (\n select * from \"sagerx\".\"sagerx_dev\".\"int_rxnorm_clinical_products_to_ingredients\"\n)\n\nselect\n prod.rxcui as product_rxcui\n , prod.name as product_name\n , prod.tty as product_tty\n , case\n when prod.tty in ('SBD', 'BPCK') then 'brand'\n when prod.tty in ('SCD', 'GPCK') then 'generic'\n end as brand_vs_generic\n , substring(prod.name from '\\[(.*)\\]') as brand_name\n , cping.clinical_product_rxcui\n , cping.clinical_product_name\n , cping.clinical_product_tty\n , cping.ingredient_name\n -- strength - couldn't easily get strength at this grain - can if needed\n , cping.dose_form_name\nfrom rxnorm_products prod\nleft join rxnorm_clinical_products_to_ingredients cping\n on cping.clinical_product_rxcui = prod.clinical_product_rxcui", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.scorecard_data": {"database": "sagerx", "schema": "sagerx_dev", "name": "scorecard_data", "resource_type": "model", "package_name": "sagerx", "path": "marts/purdue/scorecard_data.sql", "original_file_path": "models/marts/purdue/scorecard_data.sql", "unique_id": "model.sagerx.scorecard_data", "fqn": ["sagerx", "marts", "purdue", "scorecard_data"], "alias": "scorecard_data", "checksum": {"name": "sha256", "checksum": "ae306ca879ec1bac2b251c65594a323c5ec1378bc3b0f8c0e80fa3bb1cfdbc31"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "table"}, "created_at": 1731470991.3175867, "relation_name": "\"sagerx\".\"sagerx_dev\".\"scorecard_data\"", "raw_code": "with\n\ning_to_report as (\n\n select * from {{ ref('int_inactive_ingredients_to_fda_enforcement_reports') }}\n\n)\n\nselect * from ing_to_report\nwhere active_ingredient_name in (\n 'risperidone'\n , 'adalimumab'\n , 'lidocaine'\n , 'carbamazepine'\n , 'phenytoin'\n , 'midazolam'\n , 'valproate'\n , 'tacrolimus'\n , 'amoxicillin'\n , 'hydrocortisone'\n , 'cetirizine'\n , 'pertuzumab'\n , 'methylphenidate'\n , 'erythromycin'\n , 'gabapentin'\n , 'lopinavir / ritonavir'\n , 'levothyroxine'\n , 'albuterol'\n )", "language": "sql", "refs": [{"name": "int_inactive_ingredients_to_fda_enforcement_reports", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.sagerx.int_inactive_ingredients_to_fda_enforcement_reports"]}, "compiled_path": "target/compiled/sagerx/models/marts/purdue/scorecard_data.sql", "compiled": true, "compiled_code": "with\n\ning_to_report as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"int_inactive_ingredients_to_fda_enforcement_reports\"\n\n)\n\nselect * from ing_to_report\nwhere active_ingredient_name in (\n 'risperidone'\n , 'adalimumab'\n , 'lidocaine'\n , 'carbamazepine'\n , 'phenytoin'\n , 'midazolam'\n , 'valproate'\n , 'tacrolimus'\n , 'amoxicillin'\n , 'hydrocortisone'\n , 'cetirizine'\n , 'pertuzumab'\n , 'methylphenidate'\n , 'erythromycin'\n , 'gabapentin'\n , 'lopinavir / ritonavir'\n , 'levothyroxine'\n , 'albuterol'\n )", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.fda_excluded": {"database": "sagerx", "schema": "sagerx_dev", "name": "fda_excluded", "resource_type": "model", "package_name": "sagerx", "path": "marts/fda_excluded/fda_excluded.sql", "original_file_path": "models/marts/fda_excluded/fda_excluded.sql", "unique_id": "model.sagerx.fda_excluded", "fqn": ["sagerx", "marts", "fda_excluded", "fda_excluded"], "alias": "fda_excluded", "checksum": {"name": "sha256", "checksum": "681b4b73ac342f1f8f7e62705559c9bd8cc1b4f9174ca2644daf767f27ea85af"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "table", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "table"}, "created_at": 1731470991.3203778, "relation_name": "\"sagerx\".\"sagerx_dev\".\"fda_excluded\"", "raw_code": "SELECT\n\t{{ndc_to_11('pack.ndcpackagecode')}} AS ndc11\n\t, pack.productid\n\t, pack.productndc\n\t, producttypename\n\t, proprietaryname\n\t, proprietarynamesuffix\n\t, nonproprietaryname\n\t, dosageformname\n\t, routename\n\t, pack.startmarketingdate\n\t, pack.endmarketingdate\n\t, marketingcategoryname\n\t, applicationnumber\n\t, labelername\n\t, substancename\n\t, active_numerator_strength\n\t, active_ingred_unit\n\t, pharm_classes\n\t, deaschedule\n\t, pack.ndc_exclude_flag\n\t, listing_record_certified_through\n\t, ndcpackagecode\n\t, packagedescription\n\t, sample_package\nFROM {{source('fda_excluded','fda_excluded_package')}} AS pack\nLEFT JOIN {{source('fda_excluded','fda_excluded_product')}} AS prod\n\tON pack.productid = prod.productid", "language": "sql", "refs": [], "sources": [["fda_excluded", "fda_excluded_package"], ["fda_excluded", "fda_excluded_product"]], "metrics": [], "depends_on": {"macros": ["macro.sagerx.ndc_to_11"], "nodes": ["source.sagerx.fda_excluded.fda_excluded_package", "source.sagerx.fda_excluded.fda_excluded_product"]}, "compiled_path": "target/compiled/sagerx/models/marts/fda_excluded/fda_excluded.sql", "compiled": true, "compiled_code": "SELECT\n\t\n \n CASE WHEN \n \n \n CASE WHEN pack.ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN pack.ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN pack.ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN pack.ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '10 Digit' THEN NULL\n WHEN \n \n \n CASE WHEN pack.ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN pack.ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN pack.ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN pack.ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '11 Digit' THEN pack.ndcpackagecode\n WHEN \n \n \n CASE WHEN pack.ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN pack.ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN pack.ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN pack.ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-4-2' THEN '0' || LEFT(pack.ndcpackagecode,4) || REPLACE(RIGHT(pack.ndcpackagecode,7),'-','')\n WHEN \n \n \n CASE WHEN pack.ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN pack.ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN pack.ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN pack.ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-3-2' THEN LEFT(pack.ndcpackagecode,5) || '0' || REPLACE(RIGHT(pack.ndcpackagecode,6),'-','')\n WHEN \n \n \n CASE WHEN pack.ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN pack.ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN pack.ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN pack.ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-1' THEN REPLACE(LEFT(pack.ndcpackagecode,10),'-','') || '0' || RIGHT(pack.ndcpackagecode, 1)\n WHEN \n \n \n CASE WHEN pack.ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN pack.ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN pack.ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN pack.ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-2' THEN REPLACE(pack.ndcpackagecode,'-','')\n WHEN \n \n \n CASE WHEN pack.ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN pack.ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN pack.ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN pack.ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-5' THEN NULL\n WHEN \n \n \n CASE WHEN pack.ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN pack.ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN pack.ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN pack.ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-6' THEN NULL\n ELSE NULL\n END\n \n AS ndc11\n\t, pack.productid\n\t, pack.productndc\n\t, producttypename\n\t, proprietaryname\n\t, proprietarynamesuffix\n\t, nonproprietaryname\n\t, dosageformname\n\t, routename\n\t, pack.startmarketingdate\n\t, pack.endmarketingdate\n\t, marketingcategoryname\n\t, applicationnumber\n\t, labelername\n\t, substancename\n\t, active_numerator_strength\n\t, active_ingred_unit\n\t, pharm_classes\n\t, deaschedule\n\t, pack.ndc_exclude_flag\n\t, listing_record_certified_through\n\t, ndcpackagecode\n\t, packagedescription\n\t, sample_package\nFROM \"sagerx\".\"sagerx_lake\".\"fda_excluded_package\" AS pack\nLEFT JOIN \"sagerx\".\"sagerx_lake\".\"fda_excluded_product\" AS prod\n\tON pack.productid = prod.productid", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_rxclass__atc_codes_to_rxnorm_product_rxcuis": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxclass__atc_codes_to_rxnorm_product_rxcuis", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxclass/stg_rxclass__atc_codes_to_rxnorm_product_rxcuis.sql", "original_file_path": "models/staging/rxclass/stg_rxclass__atc_codes_to_rxnorm_product_rxcuis.sql", "unique_id": "model.sagerx.stg_rxclass__atc_codes_to_rxnorm_product_rxcuis", "fqn": ["sagerx", "staging", "rxclass", "stg_rxclass__atc_codes_to_rxnorm_product_rxcuis"], "alias": "stg_rxclass__atc_codes_to_rxnorm_product_rxcuis", "checksum": {"name": "sha256", "checksum": "c8a95404d8bdbb9d3022b79a1503b1037425855eb63ce5cfb730faf724b07896"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470991.3265595, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxclass__atc_codes_to_rxnorm_product_rxcuis\"", "raw_code": "-- stg_rxclass__atc_codes_to_rxnorm_product_rxcuis.sql\n\nwith atc_codes_to_rxnorm_product_rxcuis as (\n \n select * from {{ source('rxclass', 'rxclass_atc_to_product') }}\n\n)\n\nselect\n *\nfrom atc_codes_to_rxnorm_product_rxcuis", "language": "sql", "refs": [], "sources": [["rxclass", "rxclass_atc_to_product"]], "metrics": [], "depends_on": {"macros": [], "nodes": ["source.sagerx.rxclass.rxclass_atc_to_product"]}, "compiled_path": "target/compiled/sagerx/models/staging/rxclass/stg_rxclass__atc_codes_to_rxnorm_product_rxcuis.sql", "compiled": true, "compiled_code": "-- stg_rxclass__atc_codes_to_rxnorm_product_rxcuis.sql\n\nwith atc_codes_to_rxnorm_product_rxcuis as (\n \n select * from \"sagerx\".\"sagerx_lake\".\"rxclass_atc_to_product\"\n\n)\n\nselect\n *\nfrom atc_codes_to_rxnorm_product_rxcuis", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_rxnorm_historical__ndcs": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxnorm_historical__ndcs", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxnorm_historical/stg_rxnorm_historical__ndcs.sql", "original_file_path": "models/staging/rxnorm_historical/stg_rxnorm_historical__ndcs.sql", "unique_id": "model.sagerx.stg_rxnorm_historical__ndcs", "fqn": ["sagerx", "staging", "rxnorm_historical", "stg_rxnorm_historical__ndcs"], "alias": "stg_rxnorm_historical__ndcs", "checksum": {"name": "sha256", "checksum": "431df7f358c124355e4ac809968eb3f45d2a9c85df500e18540fda4d0773decd"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470991.32925, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm_historical__ndcs\"", "raw_code": "-- stg_rxnorm_historical__ndcs.sql\n\nselect\n *\nfrom {{ source('rxnorm_historical', 'rxnorm_historical') }}", "language": "sql", "refs": [], "sources": [["rxnorm_historical", "rxnorm_historical"]], "metrics": [], "depends_on": {"macros": [], "nodes": ["source.sagerx.rxnorm_historical.rxnorm_historical"]}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm_historical/stg_rxnorm_historical__ndcs.sql", "compiled": true, "compiled_code": "-- stg_rxnorm_historical__ndcs.sql\n\nselect\n *\nfrom \"sagerx\".\"sagerx_lake\".\"rxnorm_historical\"", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_rxnorm_historical__most_recent_ndcs": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxnorm_historical__most_recent_ndcs", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxnorm_historical/stg_rxnorm_historical__most_recent_ndcs.sql", "original_file_path": "models/staging/rxnorm_historical/stg_rxnorm_historical__most_recent_ndcs.sql", "unique_id": "model.sagerx.stg_rxnorm_historical__most_recent_ndcs", "fqn": ["sagerx", "staging", "rxnorm_historical", "stg_rxnorm_historical__most_recent_ndcs"], "alias": "stg_rxnorm_historical__most_recent_ndcs", "checksum": {"name": "sha256", "checksum": "99236c4769cbc44fe97297054283358a791eaa6f27e9b642d9ef73befdd1fcba"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470991.3319356, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm_historical__most_recent_ndcs\"", "raw_code": "-- stg_rxnorm_historical__most_recent_ndcs.sql\n\nwith \n\nrxnorm_historical_ndcs as\n(\n select * from {{ ref('stg_rxnorm_historical__ndcs') }}\n)\n\n/*\nNOTE: we do this grouping and ranking to avoid NDCs that\nrelate to RXCUIs that have been remapped to multiple RXCUIs\n- see issue #265 for more details\n*/\n, grouped_and_ranked_rxnorm_historical_ndcs as\n(\n \n select\n ndc\n , end_date\n , row_number() over (partition by ndc order by end_date desc) as end_date_line\n , count(rxcui) as rxcui_count\n from rxnorm_historical_ndcs\n group by ndc, end_date\n order by count(rxcui) desc\n\n)\n\nselect\n rxnorm_historical_ndcs.*\nfrom grouped_and_ranked_rxnorm_historical_ndcs\ninner join rxnorm_historical_ndcs\n on rxnorm_historical_ndcs.ndc = grouped_and_ranked_rxnorm_historical_ndcs.ndc\n and rxnorm_historical_ndcs.end_date = grouped_and_ranked_rxnorm_historical_ndcs.end_date\nwhere rxcui_count = 1 -- only NDCs that are associated with one RXCUI per end_date\n\tand end_date_line = 1 -- only NDCs that are most recently associated with an RXCUI", "language": "sql", "refs": [{"name": "stg_rxnorm_historical__ndcs", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.sagerx.stg_rxnorm_historical__ndcs"]}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm_historical/stg_rxnorm_historical__most_recent_ndcs.sql", "compiled": true, "compiled_code": "-- stg_rxnorm_historical__most_recent_ndcs.sql\n\nwith \n\nrxnorm_historical_ndcs as\n(\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm_historical__ndcs\"\n)\n\n/*\nNOTE: we do this grouping and ranking to avoid NDCs that\nrelate to RXCUIs that have been remapped to multiple RXCUIs\n- see issue #265 for more details\n*/\n, grouped_and_ranked_rxnorm_historical_ndcs as\n(\n \n select\n ndc\n , end_date\n , row_number() over (partition by ndc order by end_date desc) as end_date_line\n , count(rxcui) as rxcui_count\n from rxnorm_historical_ndcs\n group by ndc, end_date\n order by count(rxcui) desc\n\n)\n\nselect\n rxnorm_historical_ndcs.*\nfrom grouped_and_ranked_rxnorm_historical_ndcs\ninner join rxnorm_historical_ndcs\n on rxnorm_historical_ndcs.ndc = grouped_and_ranked_rxnorm_historical_ndcs.ndc\n and rxnorm_historical_ndcs.end_date = grouped_and_ranked_rxnorm_historical_ndcs.end_date\nwhere rxcui_count = 1 -- only NDCs that are associated with one RXCUI per end_date\n\tand end_date_line = 1 -- only NDCs that are most recently associated with an RXCUI", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_dailymed__organizations": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_dailymed__organizations", "resource_type": "model", "package_name": "sagerx", "path": "staging/dailymed/stg_dailymed__organizations.sql", "original_file_path": "models/staging/dailymed/stg_dailymed__organizations.sql", "unique_id": "model.sagerx.stg_dailymed__organizations", "fqn": ["sagerx", "staging", "dailymed", "stg_dailymed__organizations"], "alias": "stg_dailymed__organizations", "checksum": {"name": "sha256", "checksum": "2bf8f01614a3a8755f5ad12d7c468f7d5dd469c88675d3a11c2717c727cef3f5"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470991.33464, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_dailymed__organizations\"", "raw_code": "/* staging.stg_dailymed__organizations */\n\nwith xml_table as\n(\n\tselect zip_file, xml_content::xml as xml_column\n\tfrom sagerx_lake.dailymed\n)\n\nselect zip_file, y.*\n from xml_table x,\n xmltable('/dailymed/Organizations/establishment'\n passing xml_column\n columns \n document_id \ttext path '../../documentId',\n\t\t\t\tset_id \t\ttext path '../../SetId',\n\t\t\t\tversion_number\t text path '../../VersionNumber',\n\t\t\t\tdun\t\t\t\ttext path './DUN',\n\t org_name\t\ttext path './name',\n\t org_type\t\ttext path './type'\n\t\t\t\t\t) y", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": "target/compiled/sagerx/models/staging/dailymed/stg_dailymed__organizations.sql", "compiled": true, "compiled_code": "/* staging.stg_dailymed__organizations */\n\nwith xml_table as\n(\n\tselect zip_file, xml_content::xml as xml_column\n\tfrom sagerx_lake.dailymed\n)\n\nselect zip_file, y.*\n from xml_table x,\n xmltable('/dailymed/Organizations/establishment'\n passing xml_column\n columns \n document_id \ttext path '../../documentId',\n\t\t\t\tset_id \t\ttext path '../../SetId',\n\t\t\t\tversion_number\t text path '../../VersionNumber',\n\t\t\t\tdun\t\t\t\ttext path './DUN',\n\t org_name\t\ttext path './name',\n\t org_type\t\ttext path './type'\n\t\t\t\t\t) y", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_dailymed__package_label_section_ndcs": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_dailymed__package_label_section_ndcs", "resource_type": "model", "package_name": "sagerx", "path": "staging/dailymed/stg_dailymed__package_label_section_ndcs.sql", "original_file_path": "models/staging/dailymed/stg_dailymed__package_label_section_ndcs.sql", "unique_id": "model.sagerx.stg_dailymed__package_label_section_ndcs", "fqn": ["sagerx", "staging", "dailymed", "stg_dailymed__package_label_section_ndcs"], "alias": "stg_dailymed__package_label_section_ndcs", "checksum": {"name": "sha256", "checksum": "aad27ccc1f5bb4c75f7c066cbd7b4beb9e1f4c03b2277b91381fd36c765b8123"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470991.337417, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_dailymed__package_label_section_ndcs\"", "raw_code": "/* stg_dailymed__package_label_section_ndcs */\n\nwith\n\npackage_label_sections as\n(\n\tselect * from {{ ref('stg_dailymed__package_label_sections') }}\n),\n\nndcs as (\n\n\tselect\n\t\tp.set_id,\n\t\tp.id as package_label_section_id,\n\t\t-- TODO: account for NDCs with spaces instead of dashes\n\t\t-- example ndc 55292 140 01\n\t\t-- example set_id a0aad470-3f38-af97-e053-2995a90a383a\n\t\tregexp_replace(regexp_replace((regexp_matches(p.text, '(?:\\d{4}|\\d{5})\\s*(?:-|\u2013)\\s*\\d{3,6}\\s*(?:-|\u2013)\\s*\\d{1,2}|\\d{11}|\\d{10}', 'g'))[1], '\\s', '', 'g'), '\u2013', '-') as ndc\n\tfrom package_label_sections p\n\n),\n\nid_ndcs as (\n\n\tselect\n\t\trow_number() over() as id,\n\t\t*\n\tfrom ndcs\n\n)\n\nselect * from id_ndcs", "language": "sql", "refs": [{"name": "stg_dailymed__package_label_sections", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.sagerx.stg_dailymed__package_label_sections"]}, "compiled_path": "target/compiled/sagerx/models/staging/dailymed/stg_dailymed__package_label_section_ndcs.sql", "compiled": true, "compiled_code": "/* stg_dailymed__package_label_section_ndcs */\n\nwith\n\npackage_label_sections as\n(\n\tselect * from \"sagerx\".\"sagerx_dev\".\"stg_dailymed__package_label_sections\"\n),\n\nndcs as (\n\n\tselect\n\t\tp.set_id,\n\t\tp.id as package_label_section_id,\n\t\t-- TODO: account for NDCs with spaces instead of dashes\n\t\t-- example ndc 55292 140 01\n\t\t-- example set_id a0aad470-3f38-af97-e053-2995a90a383a\n\t\tregexp_replace(regexp_replace((regexp_matches(p.text, '(?:\\d{4}|\\d{5})\\s*(?:-|\u2013)\\s*\\d{3,6}\\s*(?:-|\u2013)\\s*\\d{1,2}|\\d{11}|\\d{10}', 'g'))[1], '\\s', '', 'g'), '\u2013', '-') as ndc\n\tfrom package_label_sections p\n\n),\n\nid_ndcs as (\n\n\tselect\n\t\trow_number() over() as id,\n\t\t*\n\tfrom ndcs\n\n)\n\nselect * from id_ndcs", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_dailymed__interactions": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_dailymed__interactions", "resource_type": "model", "package_name": "sagerx", "path": "staging/dailymed/stg_dailymed__interactions.sql", "original_file_path": "models/staging/dailymed/stg_dailymed__interactions.sql", "unique_id": "model.sagerx.stg_dailymed__interactions", "fqn": ["sagerx", "staging", "dailymed", "stg_dailymed__interactions"], "alias": "stg_dailymed__interactions", "checksum": {"name": "sha256", "checksum": "1bbaef53b710eda4c2e3daf27be8aa498e85ccd0c7b6a1e7d126b2e374f3f6a4"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470991.3401, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_dailymed__interactions\"", "raw_code": "/* staging.stg_dailymed__interactions */\n\nwith xml_table as\n(\n\tselect zip_file, xml_content::xml as xml_column\n\tfrom sagerx_lake.dailymed\n)\n\nselect zip_file, y.*\n from xml_table x,\n xmltable('dailymed/InteractionText'\n passing xml_column\n columns \n document_id \t text path '../documentId',\n\t\t\t\tset_id \t\t text path '../SetId',\n\t\t\t\tversion_number\t text path '../VersionNumber',\n\t\t\t\tinteraction_text text path '.'\n\t\t\t\t\t) y", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": "target/compiled/sagerx/models/staging/dailymed/stg_dailymed__interactions.sql", "compiled": true, "compiled_code": "/* staging.stg_dailymed__interactions */\n\nwith xml_table as\n(\n\tselect zip_file, xml_content::xml as xml_column\n\tfrom sagerx_lake.dailymed\n)\n\nselect zip_file, y.*\n from xml_table x,\n xmltable('dailymed/InteractionText'\n passing xml_column\n columns \n document_id \t text path '../documentId',\n\t\t\t\tset_id \t\t text path '../SetId',\n\t\t\t\tversion_number\t text path '../VersionNumber',\n\t\t\t\tinteraction_text text path '.'\n\t\t\t\t\t) y", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_dailymed__organization_activities": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_dailymed__organization_activities", "resource_type": "model", "package_name": "sagerx", "path": "staging/dailymed/stg_dailymed__organization_activities.sql", "original_file_path": "models/staging/dailymed/stg_dailymed__organization_activities.sql", "unique_id": "model.sagerx.stg_dailymed__organization_activities", "fqn": ["sagerx", "staging", "dailymed", "stg_dailymed__organization_activities"], "alias": "stg_dailymed__organization_activities", "checksum": {"name": "sha256", "checksum": "94c330be15822734a6c5a0edd42ef70d3481c1cb778f32eaccd4a63cfc3c46f4"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470991.3427696, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_dailymed__organization_activities\"", "raw_code": "/* staging.stg_dailymed__organization_activities */\n \nwith xml_table as\n(\n\tselect zip_file, xml_content::xml as xml_column\n\tfrom sagerx_lake.dailymed\n)\n\nselect zip_file, y.*\n from xml_table x,\n xmltable('/dailymed/Organizations/establishment/function'\n passing xml_column\n columns \n document_id \ttext path '../../../documentId',\n\t\t\t\tset_id \t\ttext path '../../../SetId',\n\t\t\t\tversion_number\t text path '../VersionNumber',\n\t\t\t\tdun\t\t\t\ttext path '../DUN',\n\t activity\t\ttext path './name'\n\t\t\t\t\t) y", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": "target/compiled/sagerx/models/staging/dailymed/stg_dailymed__organization_activities.sql", "compiled": true, "compiled_code": "/* staging.stg_dailymed__organization_activities */\n \nwith xml_table as\n(\n\tselect zip_file, xml_content::xml as xml_column\n\tfrom sagerx_lake.dailymed\n)\n\nselect zip_file, y.*\n from xml_table x,\n xmltable('/dailymed/Organizations/establishment/function'\n passing xml_column\n columns \n document_id \ttext path '../../../documentId',\n\t\t\t\tset_id \t\ttext path '../../../SetId',\n\t\t\t\tversion_number\t text path '../VersionNumber',\n\t\t\t\tdun\t\t\t\ttext path '../DUN',\n\t activity\t\ttext path './name'\n\t\t\t\t\t) y", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_dailymed__package_label_sections": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_dailymed__package_label_sections", "resource_type": "model", "package_name": "sagerx", "path": "staging/dailymed/stg_dailymed__package_label_sections.sql", "original_file_path": "models/staging/dailymed/stg_dailymed__package_label_sections.sql", "unique_id": "model.sagerx.stg_dailymed__package_label_sections", "fqn": ["sagerx", "staging", "dailymed", "stg_dailymed__package_label_sections"], "alias": "stg_dailymed__package_label_sections", "checksum": {"name": "sha256", "checksum": "6b9a1149ebcd0c8fc8e4000ae560f03c628011631b795d79debe3579e8b196df"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470991.3454359, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_dailymed__package_label_sections\"", "raw_code": "/* staging.stg_dailymed__package_label_sections */\n\nwith xml_table as\n(\n\tselect zip_file, xml_content::xml as xml_column\n\tfrom sagerx_lake.dailymed\n)\n\nselect\n\tzip_file\n\t, y.*\nfrom xml_table x,\n\txmltable(\n\t\t'//PackageLabel' passing xml_column\n\t\tcolumns \n\t\t\tdocument_id \ttext path '../../documentId',\n\t\t\tset_id \t\ttext path '../../SetId',\n\t\t\tversion_number\ttext path '../../VersionNumber',\n\t\t\tid\t\t\t\ttext path 'ID',\n\t\t\ttext\t\t\ttext path 'Text',\n\t\t\tmedia_list\t\txml path 'MediaList'\n\t) y", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": "target/compiled/sagerx/models/staging/dailymed/stg_dailymed__package_label_sections.sql", "compiled": true, "compiled_code": "/* staging.stg_dailymed__package_label_sections */\n\nwith xml_table as\n(\n\tselect zip_file, xml_content::xml as xml_column\n\tfrom sagerx_lake.dailymed\n)\n\nselect\n\tzip_file\n\t, y.*\nfrom xml_table x,\n\txmltable(\n\t\t'//PackageLabel' passing xml_column\n\t\tcolumns \n\t\t\tdocument_id \ttext path '../../documentId',\n\t\t\tset_id \t\ttext path '../../SetId',\n\t\t\tversion_number\ttext path '../../VersionNumber',\n\t\t\tid\t\t\t\ttext path 'ID',\n\t\t\ttext\t\t\ttext path 'Text',\n\t\t\tmedia_list\t\txml path 'MediaList'\n\t) y", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_dailymed__organization_texts": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_dailymed__organization_texts", "resource_type": "model", "package_name": "sagerx", "path": "staging/dailymed/stg_dailymed__organization_texts.sql", "original_file_path": "models/staging/dailymed/stg_dailymed__organization_texts.sql", "unique_id": "model.sagerx.stg_dailymed__organization_texts", "fqn": ["sagerx", "staging", "dailymed", "stg_dailymed__organization_texts"], "alias": "stg_dailymed__organization_texts", "checksum": {"name": "sha256", "checksum": "2993fbb46e60574fef981d3a2be669479226a794d2da696a4cae145a5c3a0a2a"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470991.3481314, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_dailymed__organization_texts\"", "raw_code": "/* staging.stg_dailymed__organization_texts */\n\nwith xml_table as\n(\n\tselect zip_file, xml_content::xml as xml_column\n\tfrom sagerx_lake.dailymed\n)\n\nselect zip_file\n\t\t, document_id\n\t\t, set_id \n\t\t, version_number\n\t\t, organization_text\n\t\t, row_num\nfrom (select zip_file\n\t\t, y.document_id\n\t\t, y.set_id\n\t\t, y.version_number\n\t\t, y.organization_text\n\t\t--,regexp_matches(organization_text, '(manufactured|distributed) (by|for):([\\s\\S]*)(?=manufactured|distributed|made)', 'ig') as mfdg_by_match\n\t\t,row_number() over (partition by zip_file order by length(organization_text) desc) as row_num\n from xml_table x,\n xmltable('/dailymed/Organizations/OrganizationsText'\n passing xml_column\n columns \n document_id \t\ttext path '../../documentId',\n\t\t\t\tset_id \t\t\ttext path '../../SetId',\n\t\t\t\tversion_number\t text path '../../VersionNumber',\n\t\t\t\torganization_text\ttext path '.' \n\t\t\t\t\t) y\n\t) z\nwhere row_num = 1", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": "target/compiled/sagerx/models/staging/dailymed/stg_dailymed__organization_texts.sql", "compiled": true, "compiled_code": "/* staging.stg_dailymed__organization_texts */\n\nwith xml_table as\n(\n\tselect zip_file, xml_content::xml as xml_column\n\tfrom sagerx_lake.dailymed\n)\n\nselect zip_file\n\t\t, document_id\n\t\t, set_id \n\t\t, version_number\n\t\t, organization_text\n\t\t, row_num\nfrom (select zip_file\n\t\t, y.document_id\n\t\t, y.set_id\n\t\t, y.version_number\n\t\t, y.organization_text\n\t\t--,regexp_matches(organization_text, '(manufactured|distributed) (by|for):([\\s\\S]*)(?=manufactured|distributed|made)', 'ig') as mfdg_by_match\n\t\t,row_number() over (partition by zip_file order by length(organization_text) desc) as row_num\n from xml_table x,\n xmltable('/dailymed/Organizations/OrganizationsText'\n passing xml_column\n columns \n document_id \t\ttext path '../../documentId',\n\t\t\t\tset_id \t\t\ttext path '../../SetId',\n\t\t\t\tversion_number\t text path '../../VersionNumber',\n\t\t\t\torganization_text\ttext path '.' \n\t\t\t\t\t) y\n\t) z\nwhere row_num = 1", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_dailymed__main": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_dailymed__main", "resource_type": "model", "package_name": "sagerx", "path": "staging/dailymed/stg_dailymed__main.sql", "original_file_path": "models/staging/dailymed/stg_dailymed__main.sql", "unique_id": "model.sagerx.stg_dailymed__main", "fqn": ["sagerx", "staging", "dailymed", "stg_dailymed__main"], "alias": "stg_dailymed__main", "checksum": {"name": "sha256", "checksum": "5aeadc4943c4b345fca37184452319407ed2af3c24d5530a7e63999769e6323c"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470991.3509066, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_dailymed__main\"", "raw_code": "/* staging.stg_dailymed__main */\n\nwith xml_table as\n(\n\tselect zip_file, xml_content::xml as xml_column\n\tfrom sagerx_lake.dailymed\n)\n\nselect zip_file, y.*, 'https://dailymed.nlm.nih.gov/dailymed/drugInfo.cfm?setid=' || y.set_id\n from xml_table x,\n xmltable('dailymed'\n passing xml_column\n columns \n document_id \tTEXT PATH './documentId',\n\t\t\t\tset_id \t\tTEXT PATH './SetId',\n\t\t\t\tversion_number\tTEXT PATH './VersionNumber',\n \t\t\t\teffective_date\tTEXT PATH './EffectiveDate',\n\t\t\t\tmarket_status\tTEXT PATH './MarketStatus',\n\t\t\t\tapplication_number TEXT PATH './ApplicationNumber'\n\t\t\t\t\t) y", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": "target/compiled/sagerx/models/staging/dailymed/stg_dailymed__main.sql", "compiled": true, "compiled_code": "/* staging.stg_dailymed__main */\n\nwith xml_table as\n(\n\tselect zip_file, xml_content::xml as xml_column\n\tfrom sagerx_lake.dailymed\n)\n\nselect zip_file, y.*, 'https://dailymed.nlm.nih.gov/dailymed/drugInfo.cfm?setid=' || y.set_id\n from xml_table x,\n xmltable('dailymed'\n passing xml_column\n columns \n document_id \tTEXT PATH './documentId',\n\t\t\t\tset_id \t\tTEXT PATH './SetId',\n\t\t\t\tversion_number\tTEXT PATH './VersionNumber',\n \t\t\t\teffective_date\tTEXT PATH './EffectiveDate',\n\t\t\t\tmarket_status\tTEXT PATH './MarketStatus',\n\t\t\t\tapplication_number TEXT PATH './ApplicationNumber'\n\t\t\t\t\t) y", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_dailymed__package_label_section_images": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_dailymed__package_label_section_images", "resource_type": "model", "package_name": "sagerx", "path": "staging/dailymed/stg_dailymed__package_label_section_images.sql", "original_file_path": "models/staging/dailymed/stg_dailymed__package_label_section_images.sql", "unique_id": "model.sagerx.stg_dailymed__package_label_section_images", "fqn": ["sagerx", "staging", "dailymed", "stg_dailymed__package_label_section_images"], "alias": "stg_dailymed__package_label_section_images", "checksum": {"name": "sha256", "checksum": "e27c9df4a92af2b30fe0859bbaeea89c7616c824f8cf1137936e8754dcb44726"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470991.3535757, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_dailymed__package_label_section_images\"", "raw_code": "/* stg_dailymed__package_label_section_images */\n\nwith\n\npackage_label_sections as\n(\n\tselect * from {{ ref('stg_dailymed__package_label_sections') }}\n),\n\nimages as (\n\n\tselect\n\t\tp.set_id,\n\t\tp.id as package_label_section_id,\n\t\ty.*\n\tfrom package_label_sections p,\n\t\txmltable(\n\t\t\t'//MediaList/Media' passing media_list\n\t\t\tcolumns \n\t\t\t\timage \t\ttext path 'Image',\n\t\t\t\timage_id \ttext path 'ID'\n\t\t) y\n\n),\n\nid_images as (\n\n\tselect\n\t\trow_number() over() as id,\n\t\t*\n\tfrom images\n\n)\n\nselect * from id_images", "language": "sql", "refs": [{"name": "stg_dailymed__package_label_sections", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.sagerx.stg_dailymed__package_label_sections"]}, "compiled_path": "target/compiled/sagerx/models/staging/dailymed/stg_dailymed__package_label_section_images.sql", "compiled": true, "compiled_code": "/* stg_dailymed__package_label_section_images */\n\nwith\n\npackage_label_sections as\n(\n\tselect * from \"sagerx\".\"sagerx_dev\".\"stg_dailymed__package_label_sections\"\n),\n\nimages as (\n\n\tselect\n\t\tp.set_id,\n\t\tp.id as package_label_section_id,\n\t\ty.*\n\tfrom package_label_sections p,\n\t\txmltable(\n\t\t\t'//MediaList/Media' passing media_list\n\t\t\tcolumns \n\t\t\t\timage \t\ttext path 'Image',\n\t\t\t\timage_id \ttext path 'ID'\n\t\t) y\n\n),\n\nid_images as (\n\n\tselect\n\t\trow_number() over() as id,\n\t\t*\n\tfrom images\n\n)\n\nselect * from id_images", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_dailymed__organization_items": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_dailymed__organization_items", "resource_type": "model", "package_name": "sagerx", "path": "staging/dailymed/stg_dailymed__organization_items.sql", "original_file_path": "models/staging/dailymed/stg_dailymed__organization_items.sql", "unique_id": "model.sagerx.stg_dailymed__organization_items", "fqn": ["sagerx", "staging", "dailymed", "stg_dailymed__organization_items"], "alias": "stg_dailymed__organization_items", "checksum": {"name": "sha256", "checksum": "9ef335dca631ded29d404588b2a5d612e8a64d436edae2bc2e5162a8157dc4b6"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470991.3562748, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_dailymed__organization_items\"", "raw_code": "/* staging.dailymed_organization_item */\n\nwith xml_table as\n(\n\tselect zip_file, xml_content::xml as xml_column\n\tfrom sagerx_lake.dailymed\n)\n\nselect zip_file, y.*\n from xml_table x,\n xmltable('/dailymed/Organizations/establishment/function/item_list/item'\n passing xml_column\n columns\n document_id \ttext path '../../../../../documentId',\n\t\t\t\tset_id \t\ttext path '../../../../../SetId',\n\t\t\t\tversion_number\t text path '../../../../../VersionNumber',\n\t\t\t\tdun\t\t\t\ttext path '../../../DUN',\n\t activity\t\ttext path '../../name',\n\t\t\t\titem\t\t\ttext path '.'\n\t\t\t\t\t) y", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": "target/compiled/sagerx/models/staging/dailymed/stg_dailymed__organization_items.sql", "compiled": true, "compiled_code": "/* staging.dailymed_organization_item */\n\nwith xml_table as\n(\n\tselect zip_file, xml_content::xml as xml_column\n\tfrom sagerx_lake.dailymed\n)\n\nselect zip_file, y.*\n from xml_table x,\n xmltable('/dailymed/Organizations/establishment/function/item_list/item'\n passing xml_column\n columns\n document_id \ttext path '../../../../../documentId',\n\t\t\t\tset_id \t\ttext path '../../../../../SetId',\n\t\t\t\tversion_number\t text path '../../../../../VersionNumber',\n\t\t\t\tdun\t\t\t\ttext path '../../../DUN',\n\t activity\t\ttext path '../../name',\n\t\t\t\titem\t\t\ttext path '.'\n\t\t\t\t\t) y", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_dailymed__ndcs": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_dailymed__ndcs", "resource_type": "model", "package_name": "sagerx", "path": "staging/dailymed/stg_dailymed__ndcs.sql", "original_file_path": "models/staging/dailymed/stg_dailymed__ndcs.sql", "unique_id": "model.sagerx.stg_dailymed__ndcs", "fqn": ["sagerx", "staging", "dailymed", "stg_dailymed__ndcs"], "alias": "stg_dailymed__ndcs", "checksum": {"name": "sha256", "checksum": "b3ce5f221510dd604e32c2c7f815377d08e6bba54bf19178b870c078698f280d"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470991.3589566, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_dailymed__ndcs\"", "raw_code": "/* sagerx_dev.stg_dailymed__ndcs */\n\nwith xml_table as\n(\n\tselect zip_file, xml_content::xml as xml_column\n\tfrom sagerx_lake.dailymed\n),\n\nsql_table as (\n\n\tselect zip_file, y.*\n\t\tfrom xml_table x,\n\t\t\t\txmltable('dailymed/NDCList/NDC'\n\t\t\t\tpassing xml_column\n\t\t\t\tcolumns \n\t\t\t\t\tdocument_id \ttext path '../../documentId',\n\t\t\t\t\tset_id \t\ttext path '../../SetId',\n\t\t\t\t\tversion_number\t text path '../../VersionNumber',\n\t\t\t\t\tndc\t\t\t\ttext path '.'\n\t\t\t\t\t\t) y\n\n),\n\ncte as (\n\n\tselect\n\t\t*,\n\t\t{{ ndc_to_11('ndc') }} as ndc11\n\t\n\tfrom sql_table\n\n)\n\nselect * from cte", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.sagerx.ndc_to_11"], "nodes": []}, "compiled_path": "target/compiled/sagerx/models/staging/dailymed/stg_dailymed__ndcs.sql", "compiled": true, "compiled_code": "/* sagerx_dev.stg_dailymed__ndcs */\n\nwith xml_table as\n(\n\tselect zip_file, xml_content::xml as xml_column\n\tfrom sagerx_lake.dailymed\n),\n\nsql_table as (\n\n\tselect zip_file, y.*\n\t\tfrom xml_table x,\n\t\t\t\txmltable('dailymed/NDCList/NDC'\n\t\t\t\tpassing xml_column\n\t\t\t\tcolumns \n\t\t\t\t\tdocument_id \ttext path '../../documentId',\n\t\t\t\t\tset_id \t\ttext path '../../SetId',\n\t\t\t\t\tversion_number\t text path '../../VersionNumber',\n\t\t\t\t\tndc\t\t\t\ttext path '.'\n\t\t\t\t\t\t) y\n\n),\n\ncte as (\n\n\tselect\n\t\t*,\n\t\t\n \n CASE WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '10 Digit' THEN NULL\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '11 Digit' THEN ndc\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-4-2' THEN '0' || LEFT(ndc,4) || REPLACE(RIGHT(ndc,7),'-','')\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-3-2' THEN LEFT(ndc,5) || '0' || REPLACE(RIGHT(ndc,6),'-','')\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-1' THEN REPLACE(LEFT(ndc,10),'-','') || '0' || RIGHT(ndc, 1)\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-2' THEN REPLACE(ndc,'-','')\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-5' THEN NULL\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-6' THEN NULL\n ELSE NULL\n END\n \n as ndc11\n\t\n\tfrom sql_table\n\n)\n\nselect * from cte", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_ashp__current_drug_shortages": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_ashp__current_drug_shortages", "resource_type": "model", "package_name": "sagerx", "path": "staging/ashp/stg_ashp__current_drug_shortages.sql", "original_file_path": "models/staging/ashp/stg_ashp__current_drug_shortages.sql", "unique_id": "model.sagerx.stg_ashp__current_drug_shortages", "fqn": ["sagerx", "staging", "ashp", "stg_ashp__current_drug_shortages"], "alias": "stg_ashp__current_drug_shortages", "checksum": {"name": "sha256", "checksum": "5ceb609d268f8deec3175ff648cf8e7ecc09ad65ed7fb267f90a01d95ece4a41"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470991.3643801, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_ashp__current_drug_shortages\"", "raw_code": "-- stg_ashp__current_drug_shortages.sql\n\nwith \n\nashp_shortage_list as (\n\n select * from {{ source('ashp', 'ashp_shortage_list') }}\n\n),\n\ncurrent_drug_shortages as (\n\n select\n split_part(detail_url, '=', 2)::int as id,\n name,\n concat(\n 'https://www.ashp.org/drug-shortages/current-shortages/',\n lower(detail_url)) as url,\n shortage_reasons::jsonb,\n resupply_dates::jsonb,\n alternatives_and_management::jsonb,\n care_implications::jsonb,\n safety_notices::jsonb,\n created_date::date,\n updated_date::date\n from ashp_shortage_list\n\n)\n\nselect\n *\nfrom current_drug_shortages", "language": "sql", "refs": [], "sources": [["ashp", "ashp_shortage_list"]], "metrics": [], "depends_on": {"macros": [], "nodes": ["source.sagerx.ashp.ashp_shortage_list"]}, "compiled_path": "target/compiled/sagerx/models/staging/ashp/stg_ashp__current_drug_shortages.sql", "compiled": true, "compiled_code": "-- stg_ashp__current_drug_shortages.sql\n\nwith \n\nashp_shortage_list as (\n\n select * from \"sagerx\".\"sagerx_lake\".\"ashp_shortage_list\"\n\n),\n\ncurrent_drug_shortages as (\n\n select\n split_part(detail_url, '=', 2)::int as id,\n name,\n concat(\n 'https://www.ashp.org/drug-shortages/current-shortages/',\n lower(detail_url)) as url,\n shortage_reasons::jsonb,\n resupply_dates::jsonb,\n alternatives_and_management::jsonb,\n care_implications::jsonb,\n safety_notices::jsonb,\n created_date::date,\n updated_date::date\n from ashp_shortage_list\n\n)\n\nselect\n *\nfrom current_drug_shortages", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_ashp__current_drug_shortages_ndcs": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_ashp__current_drug_shortages_ndcs", "resource_type": "model", "package_name": "sagerx", "path": "staging/ashp/stg_ashp__current_drug_shortages_ndcs.sql", "original_file_path": "models/staging/ashp/stg_ashp__current_drug_shortages_ndcs.sql", "unique_id": "model.sagerx.stg_ashp__current_drug_shortages_ndcs", "fqn": ["sagerx", "staging", "ashp", "stg_ashp__current_drug_shortages_ndcs"], "alias": "stg_ashp__current_drug_shortages_ndcs", "checksum": {"name": "sha256", "checksum": "271b625166fb6ac0f4f690f44f40c080d1551b57e26db45f63db8f25447d0bf1"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470991.3676846, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_ashp__current_drug_shortages_ndcs\"", "raw_code": "-- stg_ashp__current_drug_shortages_ndcs.sql\n\nwith \n\nashp_shortage_list as (\n\n select * from {{ source('ashp', 'ashp_shortage_list_ndcs') }}\n\n),\n\ncurrent_drug_shortages_ndcs as (\n\n select\n split_part(detail_url, '=', 2)::int as id,\n replace(ndc, '-', '') as ndc_11,\n ndc_type\n from ashp_shortage_list\n\n)\n\nselect\n *\nfrom current_drug_shortages_ndcs", "language": "sql", "refs": [], "sources": [["ashp", "ashp_shortage_list_ndcs"]], "metrics": [], "depends_on": {"macros": [], "nodes": ["source.sagerx.ashp.ashp_shortage_list_ndcs"]}, "compiled_path": "target/compiled/sagerx/models/staging/ashp/stg_ashp__current_drug_shortages_ndcs.sql", "compiled": true, "compiled_code": "-- stg_ashp__current_drug_shortages_ndcs.sql\n\nwith \n\nashp_shortage_list as (\n\n select * from \"sagerx\".\"sagerx_lake\".\"ashp_shortage_list_ndcs\"\n\n),\n\ncurrent_drug_shortages_ndcs as (\n\n select\n split_part(detail_url, '=', 2)::int as id,\n replace(ndc, '-', '') as ndc_11,\n ndc_type\n from ashp_shortage_list\n\n)\n\nselect\n *\nfrom current_drug_shortages_ndcs", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_fda_unfinished__substances": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_fda_unfinished__substances", "resource_type": "model", "package_name": "sagerx", "path": "staging/fda_unfinished/stg_fda_unfinished__substances.sql", "original_file_path": "models/staging/fda_unfinished/stg_fda_unfinished__substances.sql", "unique_id": "model.sagerx.stg_fda_unfinished__substances", "fqn": ["sagerx", "staging", "fda_unfinished", "stg_fda_unfinished__substances"], "alias": "stg_fda_unfinished__substances", "checksum": {"name": "sha256", "checksum": "d8b6660a057849e3261b6cc60c1077b08a80cece5e3b53a13d8c77f034a2bd23"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Product-level substance information", "columns": {"productid": {"name": "productid", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "substance_line": {"name": "substance_line", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "substancename": {"name": "substancename", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active_numerator_strength": {"name": "active_numerator_strength", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active_ingred_unit": {"name": "active_ingred_unit", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/fda_unfinished/_fda_unfinished__models.yml", "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470992.0186107, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_fda_unfinished__substances\"", "raw_code": "-- stg_fda_unfinished__substances.sql\n\nwith\n\nproduct as ( \n select * from {{ source('fda_unfinished', 'fda_unfinished_product') }}\n)\n\n, substancename_array as (\n\tselect\n\t\tproductid\n\t\t, substance\n\t\t, row_number() over(partition by productid) as substance_line\n\tfrom product, unnest(string_to_array(substancename, '; ')) as substance\n)\n\n, strength_array as (\n\tselect\n\t\tproductid\n\t\t, strength\n\t\t, row_number() over(partition by productid) as strength_line\n\tfrom product, unnest(string_to_array(active_numerator_strength, '; ')) as strength\n)\n\n, unit_array as (\n\tselect\n\t\tproductid\n\t\t, unit\n\t\t, row_number() over(partition by productid) as unit_line\n\tfrom product, unnest(string_to_array(active_ingred_unit, '; ')) as unit\n)\n\nselect\n\tsubstance.productid\n\t, substance.substance_line\n\t, substance.substance as substancename\n\t, strength.strength as active_numerator_strength\n\t, unit.unit as active_ingred_unit\nfrom substancename_array substance\ninner join strength_array strength\n\ton strength.productid = substance.productid\n\tand strength.strength_line = substance.substance_line\ninner join unit_array unit\n\ton unit.productid = substance.productid\n\tand unit.unit_line = substance.substance_line\norder by\n\tproductid\n\t, substance_line", "language": "sql", "refs": [], "sources": [["fda_unfinished", "fda_unfinished_product"]], "metrics": [], "depends_on": {"macros": [], "nodes": ["source.sagerx.fda_unfinished.fda_unfinished_product"]}, "compiled_path": "target/compiled/sagerx/models/staging/fda_unfinished/stg_fda_unfinished__substances.sql", "compiled": true, "compiled_code": "-- stg_fda_unfinished__substances.sql\n\nwith\n\nproduct as ( \n select * from \"sagerx\".\"sagerx_lake\".\"fda_unfinished_product\"\n)\n\n, substancename_array as (\n\tselect\n\t\tproductid\n\t\t, substance\n\t\t, row_number() over(partition by productid) as substance_line\n\tfrom product, unnest(string_to_array(substancename, '; ')) as substance\n)\n\n, strength_array as (\n\tselect\n\t\tproductid\n\t\t, strength\n\t\t, row_number() over(partition by productid) as strength_line\n\tfrom product, unnest(string_to_array(active_numerator_strength, '; ')) as strength\n)\n\n, unit_array as (\n\tselect\n\t\tproductid\n\t\t, unit\n\t\t, row_number() over(partition by productid) as unit_line\n\tfrom product, unnest(string_to_array(active_ingred_unit, '; ')) as unit\n)\n\nselect\n\tsubstance.productid\n\t, substance.substance_line\n\t, substance.substance as substancename\n\t, strength.strength as active_numerator_strength\n\t, unit.unit as active_ingred_unit\nfrom substancename_array substance\ninner join strength_array strength\n\ton strength.productid = substance.productid\n\tand strength.strength_line = substance.substance_line\ninner join unit_array unit\n\ton unit.productid = substance.productid\n\tand unit.unit_line = substance.substance_line\norder by\n\tproductid\n\t, substance_line", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_fda_unfinished__ndcs": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_fda_unfinished__ndcs", "resource_type": "model", "package_name": "sagerx", "path": "staging/fda_unfinished/stg_fda_unfinished__ndcs.sql", "original_file_path": "models/staging/fda_unfinished/stg_fda_unfinished__ndcs.sql", "unique_id": "model.sagerx.stg_fda_unfinished__ndcs", "fqn": ["sagerx", "staging", "fda_unfinished", "stg_fda_unfinished__ndcs"], "alias": "stg_fda_unfinished__ndcs", "checksum": {"name": "sha256", "checksum": "cbf399f03f287192e7c65e7a46dbbaca76ebab2cc73211fbebcf29389abc9ed7"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "FDA unfinished NDCs", "columns": {"ndc11": {"name": "ndc11", "description": "The ndcpackagecode field, normalized to a NDC11 format.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "productid": {"name": "productid", "description": "ProductID is a concatenation of the NDCproduct code and SPL documentID. It is included to help prevent duplicate rows from appearing when joining the product and package files together. It has no regulatory value or significance.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "productndc": {"name": "productndc", "description": "The labeler code and product code segments of the National Drug Code number, separated by a hyphen. Asterisks are no longer used or included within the product code segment to indicate certain configurations of the NDC. www.fda.gov/edrls under Structured Product Labeling Resources.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "producttypename": {"name": "producttypename", "description": "Indicates the type of product, such as Human Prescription Drug or Human OTC Drug. This data element corresponds to the Document Type of the SPL submission for the listing.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "nonproprietaryname": {"name": "nonproprietaryname", "description": "Sometimes called the generic name, this is usually the active ingredient(s) of the product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "dosageformname": {"name": "dosageformname", "description": "The translation of the DosageForm Code submitted by the firm. The complete list of codes and translations can be found www.fda.gov/edrls under Structured Product Labeling Resources.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_startmarketingdate": {"name": "product_startmarketingdate", "description": "This is the date that the labeler indicates was the start of its marketing of the drug product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_endmarketingdate": {"name": "product_endmarketingdate", "description": "This is the date the product will no longer be available on the market. If a product is no longer being manufactured, in most cases, the FDA recommends firms use the expiration date of the last lot produced as the EndMarketingDate, to reflect the potential for drug product to remain available after manufacturing has ceased. Products that are the subject of ongoing manufacturing will not ordinarily have any EndMarketingDate. Products with a value in the EndMarketingDate will be removed from the NDC Directory when the EndMarketingDate is reached.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "marketingcategoryname": {"name": "marketingcategoryname", "description": "Product types are broken down into several potential Marketing Categories, such as NDA/ANDA/BLA, OTC Monograph, or Unapproved Drug. One and only one Marketing Category may be chosen for a product, not all marketing categories are available to all product types. Currently, only final marketed product categories are included. The complete list of codes and translations can be found at www.fda.gov/edrls under Structured Product Labeling Resources.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "labelername": {"name": "labelername", "description": "Name of Company corresponding to the labeler code segment of the ProductNDC.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "substancename": {"name": "substancename", "description": "This is the active ingredient list. Each ingredient name is the preferred term of the UNII code submitted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active_numerator_strength": {"name": "active_numerator_strength", "description": "These are the strength values (to be used with units below) of each active ingredient, listed in the same order as the SubstanceName field above.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active_ingred_unit": {"name": "active_ingred_unit", "description": "These are the units to be used with the strength values above, listed in the same order as the SubstanceName and SubstanceNumber (ActiveNumeratorStrength).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "deaschedule": {"name": "deaschedule", "description": "This is the assigned DEA Schedule number as reported by the labeler. Values are CI, CII, CIII, CIV, and CV.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "listing_record_certified_through": {"name": "listing_record_certified_through", "description": "This is the date when the listing record will expire if not updated or certified by the firm.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ndcpackagecode": {"name": "ndcpackagecode", "description": "The labeler code, product code, and package code segments of the National Drug Code number, separated by hyphens. Asterisks are no longer used or included within the product and package code segments to indicate certain configurations of the NDC.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "packagedescription": {"name": "packagedescription", "description": "A description of the size and type of packaging in sentence form. Multilevel packages will have the descriptions concatenated together. For example: 4 BOTTLES in 1 CARTON/100 TABLETS in 1 BOTTLE.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "package_startmarketingdate": {"name": "package_startmarketingdate", "description": "This is the date that the labeler indicates was the start of its marketing of the drug product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "package_endmarketingdate": {"name": "package_endmarketingdate", "description": "This is the date the product will no longer be available on the market. If a product is no longer being manufactured, in most cases, the FDA recommends firms use the expiration date of the last lot produced as the EndMarketingDate, to reflect the potential for drug product to remain available after manufacturing has ceased. Products that are the subject of ongoing manufacturing will not ordinarily have any EndMarketingDate. Products with a value in the EndMarketingDate will be removed from the NDC Directory when the EndMarketingDate is reached.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/fda_unfinished/_fda_unfinished__models.yml", "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470992.0176208, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_fda_unfinished__ndcs\"", "raw_code": "-- stg_fda_unfinished__ndcs.sql\r\n\r\nwith\r\n\r\nproduct as (\r\n \r\n select * from {{ source('fda_unfinished', 'fda_unfinished_product') }}\r\n\r\n),\r\n\r\npackage as (\r\n\r\n select * from {{ source('fda_unfinished', 'fda_unfinished_package') }}\r\n\r\n)\r\n\r\nselect\r\n\t{{ndc_to_11 ('package.ndcpackagecode')}} as ndc11\r\n\t, package.productid\r\n\t, package.productndc\r\n\t, producttypename\r\n\t, nonproprietaryname\r\n\t, dosageformname\r\n\t, product.startmarketingdate as product_startmarketingdate\r\n\t, product.endmarketingdate as product_endmarketingdate\r\n\t, marketingcategoryname\r\n\t, labelername\r\n\t, substancename\r\n\t, active_numerator_strength\r\n\t, active_ingred_unit\r\n\t, deaschedule\r\n\t, listing_record_certified_through\r\n\t, ndcpackagecode\r\n\t, packagedescription\r\n\t, package.startmarketingdate as package_startmarketingdate\r\n\t, package.endmarketingdate as package_endmarketingdate\r\nfrom package\r\nleft join product\r\n\ton package.productid = product.productid", "language": "sql", "refs": [], "sources": [["fda_unfinished", "fda_unfinished_product"], ["fda_unfinished", "fda_unfinished_package"]], "metrics": [], "depends_on": {"macros": ["macro.sagerx.ndc_to_11"], "nodes": ["source.sagerx.fda_unfinished.fda_unfinished_product", "source.sagerx.fda_unfinished.fda_unfinished_package"]}, "compiled_path": "target/compiled/sagerx/models/staging/fda_unfinished/stg_fda_unfinished__ndcs.sql", "compiled": true, "compiled_code": "-- stg_fda_unfinished__ndcs.sql\n\nwith\n\nproduct as (\n \n select * from \"sagerx\".\"sagerx_lake\".\"fda_unfinished_product\"\n\n),\n\npackage as (\n\n select * from \"sagerx\".\"sagerx_lake\".\"fda_unfinished_package\"\n\n)\n\nselect\n\t\n \n CASE WHEN \n \n \n CASE WHEN package.ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN package.ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN package.ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN package.ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '10 Digit' THEN NULL\n WHEN \n \n \n CASE WHEN package.ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN package.ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN package.ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN package.ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '11 Digit' THEN package.ndcpackagecode\n WHEN \n \n \n CASE WHEN package.ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN package.ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN package.ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN package.ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-4-2' THEN '0' || LEFT(package.ndcpackagecode,4) || REPLACE(RIGHT(package.ndcpackagecode,7),'-','')\n WHEN \n \n \n CASE WHEN package.ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN package.ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN package.ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN package.ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-3-2' THEN LEFT(package.ndcpackagecode,5) || '0' || REPLACE(RIGHT(package.ndcpackagecode,6),'-','')\n WHEN \n \n \n CASE WHEN package.ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN package.ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN package.ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN package.ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-1' THEN REPLACE(LEFT(package.ndcpackagecode,10),'-','') || '0' || RIGHT(package.ndcpackagecode, 1)\n WHEN \n \n \n CASE WHEN package.ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN package.ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN package.ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN package.ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-2' THEN REPLACE(package.ndcpackagecode,'-','')\n WHEN \n \n \n CASE WHEN package.ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN package.ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN package.ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN package.ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-5' THEN NULL\n WHEN \n \n \n CASE WHEN package.ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN package.ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN package.ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN package.ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-6' THEN NULL\n ELSE NULL\n END\n \n as ndc11\n\t, package.productid\n\t, package.productndc\n\t, producttypename\n\t, nonproprietaryname\n\t, dosageformname\n\t, product.startmarketingdate as product_startmarketingdate\n\t, product.endmarketingdate as product_endmarketingdate\n\t, marketingcategoryname\n\t, labelername\n\t, substancename\n\t, active_numerator_strength\n\t, active_ingred_unit\n\t, deaschedule\n\t, listing_record_certified_through\n\t, ndcpackagecode\n\t, packagedescription\n\t, package.startmarketingdate as package_startmarketingdate\n\t, package.endmarketingdate as package_endmarketingdate\nfrom package\nleft join product\n\ton package.productid = product.productid", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_rxnorm__dose_forms": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxnorm__dose_forms", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxnorm/stg_rxnorm__dose_forms.sql", "original_file_path": "models/staging/rxnorm/stg_rxnorm__dose_forms.sql", "unique_id": "model.sagerx.stg_rxnorm__dose_forms", "fqn": ["sagerx", "staging", "rxnorm", "stg_rxnorm__dose_forms"], "alias": "stg_rxnorm__dose_forms", "checksum": {"name": "sha256", "checksum": "bf4bba5b5f99e00616ff1a5b1d28ea7733075eb796e30ca0ff2dc3ec6f56be7c"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "RxNorm dose forms (DF).", "columns": {"rxcui": {"name": "rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "name": {"name": "name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "tty": {"name": "tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active": {"name": "active", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "prescribable": {"name": "prescribable", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/rxnorm/_rxnorm__models.yml", "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470992.0299191, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__dose_forms\"", "raw_code": "-- stg_rxnorm__dose_forms.sql\n\nselect\n\tdose_form.rxcui rxcui\n\t, dose_form.str name\n\t, dose_form.tty tty\n\t, case when dose_form.suppress = 'N' then true else false end as active\n\t, case when dose_form.cvf = '4096' then true else false end as prescribable\nfrom sagerx_lake.rxnorm_rxnconso dose_form\nwhere dose_form.tty = 'DF'\n\tand dose_form.sab = 'RXNORM'", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/stg_rxnorm__dose_forms.sql", "compiled": true, "compiled_code": "-- stg_rxnorm__dose_forms.sql\n\nselect\n\tdose_form.rxcui rxcui\n\t, dose_form.str name\n\t, dose_form.tty tty\n\t, case when dose_form.suppress = 'N' then true else false end as active\n\t, case when dose_form.cvf = '4096' then true else false end as prescribable\nfrom sagerx_lake.rxnorm_rxnconso dose_form\nwhere dose_form.tty = 'DF'\n\tand dose_form.sab = 'RXNORM'", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_rxnorm__ndcs": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxnorm__ndcs", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxnorm/stg_rxnorm__ndcs.sql", "original_file_path": "models/staging/rxnorm/stg_rxnorm__ndcs.sql", "unique_id": "model.sagerx.stg_rxnorm__ndcs", "fqn": ["sagerx", "staging", "rxnorm", "stg_rxnorm__ndcs"], "alias": "stg_rxnorm__ndcs", "checksum": {"name": "sha256", "checksum": "1a371b31c1dce3f376bae64dd8eb5323b45b62d794072cca2f911f08c392f848"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "RxNorm NDCs", "columns": {"ndc": {"name": "ndc", "description": "The NDC in NDC11 format.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_rxcui": {"name": "clinical_product_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "brand_product_rxcui": {"name": "brand_product_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active": {"name": "active", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "prescribable": {"name": "prescribable", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/rxnorm/_rxnorm__models.yml", "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470992.0263512, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ndcs\"", "raw_code": "-- stg_rxnorm__ndcs.sql\n\nselect rxnsat.atv as ndc\n\t,case when product.tty in ('BPCK','SBD') then clinical_product.rxcui\n\t\telse rxnsat.rxcui end as clinical_product_rxcui\t\t\n\t,case when product.tty in ('BPCK','SBD') then rxnsat.rxcui\n\t\telse null end as brand_product_rxcui\n\t, case when rxnsat.suppress = 'N' then true else false end as active\n\t, case when rxnsat.cvf = '4096' then true else false end as prescribable\nfrom sagerx_lake.rxnorm_rxnsat rxnsat\n\tinner join sagerx_lake.rxnorm_rxnconso product on rxnsat.rxaui = product.rxaui\n\tleft join sagerx_lake.rxnorm_rxnrel rxnrel on rxnsat.rxcui = rxnrel.rxcui2 and rela = 'tradename_of' and product.tty in ('BPCK','SBD')\n\tleft join sagerx_lake.rxnorm_rxnconso clinical_product\n\t\ton rxnrel.rxcui1 = clinical_product.rxcui\n\t\tand clinical_product.tty in ('SCD','GPCK')\n\t\tand clinical_product.sab = 'RXNORM'\nwhere rxnsat.atn = 'NDC'\n\tand rxnsat.sab in ('ATC', 'CVX', 'DRUGBANK', 'MSH', 'MTHCMSFRF', 'MTHSPL', 'RXNORM', 'USP', 'VANDF')\n\tand product.tty in ('SCD','SBD','GPCK','BPCK')\n\tand product.sab = 'RXNORM'", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/stg_rxnorm__ndcs.sql", "compiled": true, "compiled_code": "-- stg_rxnorm__ndcs.sql\n\nselect rxnsat.atv as ndc\n\t,case when product.tty in ('BPCK','SBD') then clinical_product.rxcui\n\t\telse rxnsat.rxcui end as clinical_product_rxcui\t\t\n\t,case when product.tty in ('BPCK','SBD') then rxnsat.rxcui\n\t\telse null end as brand_product_rxcui\n\t, case when rxnsat.suppress = 'N' then true else false end as active\n\t, case when rxnsat.cvf = '4096' then true else false end as prescribable\nfrom sagerx_lake.rxnorm_rxnsat rxnsat\n\tinner join sagerx_lake.rxnorm_rxnconso product on rxnsat.rxaui = product.rxaui\n\tleft join sagerx_lake.rxnorm_rxnrel rxnrel on rxnsat.rxcui = rxnrel.rxcui2 and rela = 'tradename_of' and product.tty in ('BPCK','SBD')\n\tleft join sagerx_lake.rxnorm_rxnconso clinical_product\n\t\ton rxnrel.rxcui1 = clinical_product.rxcui\n\t\tand clinical_product.tty in ('SCD','GPCK')\n\t\tand clinical_product.sab = 'RXNORM'\nwhere rxnsat.atn = 'NDC'\n\tand rxnsat.sab in ('ATC', 'CVX', 'DRUGBANK', 'MSH', 'MTHCMSFRF', 'MTHSPL', 'RXNORM', 'USP', 'VANDF')\n\tand product.tty in ('SCD','SBD','GPCK','BPCK')\n\tand product.sab = 'RXNORM'", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_rxnorm__ingredient_component_links": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxnorm__ingredient_component_links", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxnorm/stg_rxnorm__ingredient_component_links.sql", "original_file_path": "models/staging/rxnorm/stg_rxnorm__ingredient_component_links.sql", "unique_id": "model.sagerx.stg_rxnorm__ingredient_component_links", "fqn": ["sagerx", "staging", "rxnorm", "stg_rxnorm__ingredient_component_links"], "alias": "stg_rxnorm__ingredient_component_links", "checksum": {"name": "sha256", "checksum": "caa5a18a0685bc36980d12544097a655db75e7d55e90a97406ea12d754ad3106"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Links ingredients (IN/MIN) to ingredient components (IN).", "columns": {"ingredient_rxcui": {"name": "ingredient_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ingredient_component_rxcui": {"name": "ingredient_component_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/rxnorm/_rxnorm__models.yml", "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470992.03322, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredient_component_links\"", "raw_code": "-- stg_rxnorm__ingredient_component_links.sql\n\nwith cte as (\n\tselect\n\t\trxnrel.rxcui2 as ingredient_rxcui\n\t\t, ingredient_component.rxcui as ingredient_component_rxcui\n\t\t, ingredient_component.str as ingredient_component_name\n\t\t, ingredient_component.tty as ingredient_component_tty\n\tfrom\n\t\tsagerx_lake.rxnorm_rxnrel rxnrel\n\tinner join sagerx_lake.rxnorm_rxnconso ingredient_component\n\t\ton rxnrel.rxcui1 = ingredient_component.rxcui\n\twhere rxnrel.rela = 'has_part'\n\t\tand ingredient_component.tty = 'IN'\n\t\tand ingredient_component.sab = 'RXNORM'\n)\n\nselect distinct\n\tingredient.rxcui as ingredient_rxcui\n\t, case when cte.ingredient_component_rxcui is null\n then ingredient.rxcui\n else cte.ingredient_component_rxcui\n end as ingredient_component_rxcui\nfrom sagerx_lake.rxnorm_rxnconso ingredient\nleft join cte on ingredient.rxcui = cte.ingredient_rxcui\nwhere ingredient.tty in('IN', 'MIN')\n\tand ingredient.sab = 'RXNORM'", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/stg_rxnorm__ingredient_component_links.sql", "compiled": true, "compiled_code": "-- stg_rxnorm__ingredient_component_links.sql\n\nwith cte as (\n\tselect\n\t\trxnrel.rxcui2 as ingredient_rxcui\n\t\t, ingredient_component.rxcui as ingredient_component_rxcui\n\t\t, ingredient_component.str as ingredient_component_name\n\t\t, ingredient_component.tty as ingredient_component_tty\n\tfrom\n\t\tsagerx_lake.rxnorm_rxnrel rxnrel\n\tinner join sagerx_lake.rxnorm_rxnconso ingredient_component\n\t\ton rxnrel.rxcui1 = ingredient_component.rxcui\n\twhere rxnrel.rela = 'has_part'\n\t\tand ingredient_component.tty = 'IN'\n\t\tand ingredient_component.sab = 'RXNORM'\n)\n\nselect distinct\n\tingredient.rxcui as ingredient_rxcui\n\t, case when cte.ingredient_component_rxcui is null\n then ingredient.rxcui\n else cte.ingredient_component_rxcui\n end as ingredient_component_rxcui\nfrom sagerx_lake.rxnorm_rxnconso ingredient\nleft join cte on ingredient.rxcui = cte.ingredient_rxcui\nwhere ingredient.tty in('IN', 'MIN')\n\tand ingredient.sab = 'RXNORM'", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_rxnorm__all_ndcs": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxnorm__all_ndcs", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxnorm/stg_rxnorm__all_ndcs.sql", "original_file_path": "models/staging/rxnorm/stg_rxnorm__all_ndcs.sql", "unique_id": "model.sagerx.stg_rxnorm__all_ndcs", "fqn": ["sagerx", "staging", "rxnorm", "stg_rxnorm__all_ndcs"], "alias": "stg_rxnorm__all_ndcs", "checksum": {"name": "sha256", "checksum": "6105136e288966b0f0c4536fe1b9be698ebe44d185ac0f34841b3c895e94c476"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470991.4368238, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__all_ndcs\"", "raw_code": "-- stg_rxnorm__all_ndcs.sql\n\nselect\n {{ ndc_to_11 ('rxnsat.atv') }}as ndc11\n , rxnsat.atv as ndc\n , rxnsat.rxcui\n , rxnsat.sab\n\t, case when rxnsat.suppress = 'N' then true else false end as active\n\t, case when rxnsat.cvf = '4096' then true else false end as prescribable\nfrom sagerx_lake.rxnorm_rxnsat rxnsat\n where rxnsat.atn = 'NDC'\n\tand rxnsat.sab in ('ATC', 'CVX', 'DRUGBANK', 'MSH', 'MTHCMSFRF', 'MTHSPL', 'RXNORM', 'USP', 'VANDF')", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.sagerx.ndc_to_11"], "nodes": []}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/stg_rxnorm__all_ndcs.sql", "compiled": true, "compiled_code": "-- stg_rxnorm__all_ndcs.sql\n\nselect\n \n \n CASE WHEN \n \n \n CASE WHEN rxnsat.atv ~ '^\\d{10}$' THEN '10 Digit'\n WHEN rxnsat.atv ~ '^\\d{11}$' THEN '11 Digit'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '10 Digit' THEN NULL\n WHEN \n \n \n CASE WHEN rxnsat.atv ~ '^\\d{10}$' THEN '10 Digit'\n WHEN rxnsat.atv ~ '^\\d{11}$' THEN '11 Digit'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '11 Digit' THEN rxnsat.atv\n WHEN \n \n \n CASE WHEN rxnsat.atv ~ '^\\d{10}$' THEN '10 Digit'\n WHEN rxnsat.atv ~ '^\\d{11}$' THEN '11 Digit'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-4-2' THEN '0' || LEFT(rxnsat.atv,4) || REPLACE(RIGHT(rxnsat.atv,7),'-','')\n WHEN \n \n \n CASE WHEN rxnsat.atv ~ '^\\d{10}$' THEN '10 Digit'\n WHEN rxnsat.atv ~ '^\\d{11}$' THEN '11 Digit'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-3-2' THEN LEFT(rxnsat.atv,5) || '0' || REPLACE(RIGHT(rxnsat.atv,6),'-','')\n WHEN \n \n \n CASE WHEN rxnsat.atv ~ '^\\d{10}$' THEN '10 Digit'\n WHEN rxnsat.atv ~ '^\\d{11}$' THEN '11 Digit'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-1' THEN REPLACE(LEFT(rxnsat.atv,10),'-','') || '0' || RIGHT(rxnsat.atv, 1)\n WHEN \n \n \n CASE WHEN rxnsat.atv ~ '^\\d{10}$' THEN '10 Digit'\n WHEN rxnsat.atv ~ '^\\d{11}$' THEN '11 Digit'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-2' THEN REPLACE(rxnsat.atv,'-','')\n WHEN \n \n \n CASE WHEN rxnsat.atv ~ '^\\d{10}$' THEN '10 Digit'\n WHEN rxnsat.atv ~ '^\\d{11}$' THEN '11 Digit'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-5' THEN NULL\n WHEN \n \n \n CASE WHEN rxnsat.atv ~ '^\\d{10}$' THEN '10 Digit'\n WHEN rxnsat.atv ~ '^\\d{11}$' THEN '11 Digit'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-6' THEN NULL\n ELSE NULL\n END\n \nas ndc11\n , rxnsat.atv as ndc\n , rxnsat.rxcui\n , rxnsat.sab\n\t, case when rxnsat.suppress = 'N' then true else false end as active\n\t, case when rxnsat.cvf = '4096' then true else false end as prescribable\nfrom sagerx_lake.rxnorm_rxnsat rxnsat\n where rxnsat.atn = 'NDC'\n\tand rxnsat.sab in ('ATC', 'CVX', 'DRUGBANK', 'MSH', 'MTHCMSFRF', 'MTHSPL', 'RXNORM', 'USP', 'VANDF')", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_rxnorm__precise_ingredient_links": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxnorm__precise_ingredient_links", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxnorm/stg_rxnorm__precise_ingredient_links.sql", "original_file_path": "models/staging/rxnorm/stg_rxnorm__precise_ingredient_links.sql", "unique_id": "model.sagerx.stg_rxnorm__precise_ingredient_links", "fqn": ["sagerx", "staging", "rxnorm", "stg_rxnorm__precise_ingredient_links"], "alias": "stg_rxnorm__precise_ingredient_links", "checksum": {"name": "sha256", "checksum": "c0562f5eaf66f84314c9ac7976c698304e47750943ec2f8f52b9de310d6255a5"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470991.4446507, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__precise_ingredient_links\"", "raw_code": "-- stg_rxnorm__precise_ingredient_links.sql\n\nselect distinct\n\tingredient_strength.rxcui as ingredient_strength_rxcui\n\t, precise_ingredient.rxcui as precise_ingredient_rxcui\nfrom sagerx_lake.rxnorm_rxnconso precise_ingredient\ninner join sagerx_lake.rxnorm_rxnrel precise_ingredient_of\n on precise_ingredient_of.rxcui2 = precise_ingredient.rxcui\n and precise_ingredient_of.rela = 'precise_ingredient_of'\ninner join sagerx_lake.rxnorm_rxnconso ingredient_strength\n\ton ingredient_strength.rxcui = precise_ingredient_of.rxcui1\n\tand ingredient_strength.tty = 'SCDC'\n\tand ingredient_strength.sab = 'RXNORM'\nwhere precise_ingredient.tty = 'PIN'\n\tand precise_ingredient.sab = 'RXNORM'", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/stg_rxnorm__precise_ingredient_links.sql", "compiled": true, "compiled_code": "-- stg_rxnorm__precise_ingredient_links.sql\n\nselect distinct\n\tingredient_strength.rxcui as ingredient_strength_rxcui\n\t, precise_ingredient.rxcui as precise_ingredient_rxcui\nfrom sagerx_lake.rxnorm_rxnconso precise_ingredient\ninner join sagerx_lake.rxnorm_rxnrel precise_ingredient_of\n on precise_ingredient_of.rxcui2 = precise_ingredient.rxcui\n and precise_ingredient_of.rela = 'precise_ingredient_of'\ninner join sagerx_lake.rxnorm_rxnconso ingredient_strength\n\ton ingredient_strength.rxcui = precise_ingredient_of.rxcui1\n\tand ingredient_strength.tty = 'SCDC'\n\tand ingredient_strength.sab = 'RXNORM'\nwhere precise_ingredient.tty = 'PIN'\n\tand precise_ingredient.sab = 'RXNORM'", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_rxnorm__brands": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxnorm__brands", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxnorm/stg_rxnorm__brands.sql", "original_file_path": "models/staging/rxnorm/stg_rxnorm__brands.sql", "unique_id": "model.sagerx.stg_rxnorm__brands", "fqn": ["sagerx", "staging", "rxnorm", "stg_rxnorm__brands"], "alias": "stg_rxnorm__brands", "checksum": {"name": "sha256", "checksum": "206d217f8e83a22ee881c924d632e3b8a7ab2c9d32689001a55264ce3f6757ad"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "RxNorm brand names (BN).", "columns": {"rxcui": {"name": "rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "name": {"name": "name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "tty": {"name": "tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active": {"name": "active", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "prescribable": {"name": "prescribable", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ingredient_rxcui": {"name": "ingredient_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/rxnorm/_rxnorm__models.yml", "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470992.0437484, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__brands\"", "raw_code": "-- stg_rxnorm__brands.sql\n\nwith cte as (\n\tselect\n\t\tsq.*\n\t\t, row_number() over(partition by rxcui order by ingredient_tty desc) as rn\n\tfrom (\n\n\t\tselect\n\t\t\tbrand.rxcui as rxcui\n\t\t\t, brand.str as name\n\t\t\t, brand.tty as tty\n\t\t\t, ingredient.rxcui as ingredient_rxcui\n\t\t\t, ingredient.str as ingredient_name\n\t\t\t, ingredient.tty as ingredient_tty\n\t\tfrom sagerx_lake.rxnorm_rxnconso brand\n\t\tinner join sagerx_lake.rxnorm_rxnrel rxnrel on rxnrel.rxcui2 = brand.rxcui and rxnrel.rela = 'tradename_of'\n\t\tinner join sagerx_lake.rxnorm_rxnconso ingredient\n\t\t\ton rxnrel.rxcui1 = ingredient.rxcui\n\t\t\tand ingredient.tty = 'IN'\n\t\t\tand ingredient.sab = 'RXNORM'\n\t\twhere brand.tty = 'BN'\n\t\t\tand brand.sab = 'RXNORM'\n\n\t\tunion all\n\n\t\tselect\n\t\t\tbrand.rxcui as rxcui\n\t\t\t, brand.str as name\n\t\t\t, brand.tty as tty\n\t\t\t, ingredient.rxcui as ingredient_rxcui\n\t\t\t, ingredient.str as ingredient_name\n\t\t\t, ingredient.tty as ingredient_tty\n\t\tfrom sagerx_lake.rxnorm_rxnconso brand\n\t\tinner join sagerx_lake.rxnorm_rxnrel sbd_rxnrel on sbd_rxnrel.rxcui2 = brand.rxcui and sbd_rxnrel.rela = 'ingredient_of'\n\t\tinner join sagerx_lake.rxnorm_rxnrel scd_rxnrel on scd_rxnrel.rxcui2 = sbd_rxnrel.rxcui1 and scd_rxnrel.rela = 'tradename_of'\n\t\tinner join sagerx_lake.rxnorm_rxnrel ingredient_rxnrel on ingredient_rxnrel.rxcui2 = scd_rxnrel.rxcui1 and ingredient_rxnrel.rela = 'has_ingredients'\n\t\tleft join sagerx_lake.rxnorm_rxnconso ingredient\n\t\t\ton ingredient_rxnrel.rxcui1 = ingredient.rxcui\n\t\t\tand ingredient.tty = 'MIN'\n\t\t\tand ingredient.sab = 'RXNORM'\t\t\n\t\twhere brand.tty = 'BN'\n\t\t\tand brand.sab = 'RXNORM'\n\t) sq\n)\n\nselect distinct\n\tbrand.rxcui as rxcui\n\t, brand.str as name\n\t, brand.tty as tty\n\t, case when brand.suppress = 'N' then true else false end as active\n\t, case when brand.cvf = '4096' then true else false end as prescribable\n\t, cte.ingredient_rxcui as ingredient_rxcui\nfrom sagerx_lake.rxnorm_rxnconso product\ninner join sagerx_lake.rxnorm_rxnrel rxnrel on rxnrel.rxcui2 = product.rxcui and rxnrel.rela = 'has_ingredient'\ninner join sagerx_lake.rxnorm_rxnconso brand\n\ton rxnrel.rxcui1 = brand.rxcui\n\tand brand.tty = 'BN'\n\tand brand.sab = 'RXNORM'\nLeft join cte on cte.rxcui = brand.rxcui and cte.rn < 2\nwhere product.tty = 'SBD'\n\tand product.sab = 'RXNORM'", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/stg_rxnorm__brands.sql", "compiled": true, "compiled_code": "-- stg_rxnorm__brands.sql\n\nwith cte as (\n\tselect\n\t\tsq.*\n\t\t, row_number() over(partition by rxcui order by ingredient_tty desc) as rn\n\tfrom (\n\n\t\tselect\n\t\t\tbrand.rxcui as rxcui\n\t\t\t, brand.str as name\n\t\t\t, brand.tty as tty\n\t\t\t, ingredient.rxcui as ingredient_rxcui\n\t\t\t, ingredient.str as ingredient_name\n\t\t\t, ingredient.tty as ingredient_tty\n\t\tfrom sagerx_lake.rxnorm_rxnconso brand\n\t\tinner join sagerx_lake.rxnorm_rxnrel rxnrel on rxnrel.rxcui2 = brand.rxcui and rxnrel.rela = 'tradename_of'\n\t\tinner join sagerx_lake.rxnorm_rxnconso ingredient\n\t\t\ton rxnrel.rxcui1 = ingredient.rxcui\n\t\t\tand ingredient.tty = 'IN'\n\t\t\tand ingredient.sab = 'RXNORM'\n\t\twhere brand.tty = 'BN'\n\t\t\tand brand.sab = 'RXNORM'\n\n\t\tunion all\n\n\t\tselect\n\t\t\tbrand.rxcui as rxcui\n\t\t\t, brand.str as name\n\t\t\t, brand.tty as tty\n\t\t\t, ingredient.rxcui as ingredient_rxcui\n\t\t\t, ingredient.str as ingredient_name\n\t\t\t, ingredient.tty as ingredient_tty\n\t\tfrom sagerx_lake.rxnorm_rxnconso brand\n\t\tinner join sagerx_lake.rxnorm_rxnrel sbd_rxnrel on sbd_rxnrel.rxcui2 = brand.rxcui and sbd_rxnrel.rela = 'ingredient_of'\n\t\tinner join sagerx_lake.rxnorm_rxnrel scd_rxnrel on scd_rxnrel.rxcui2 = sbd_rxnrel.rxcui1 and scd_rxnrel.rela = 'tradename_of'\n\t\tinner join sagerx_lake.rxnorm_rxnrel ingredient_rxnrel on ingredient_rxnrel.rxcui2 = scd_rxnrel.rxcui1 and ingredient_rxnrel.rela = 'has_ingredients'\n\t\tleft join sagerx_lake.rxnorm_rxnconso ingredient\n\t\t\ton ingredient_rxnrel.rxcui1 = ingredient.rxcui\n\t\t\tand ingredient.tty = 'MIN'\n\t\t\tand ingredient.sab = 'RXNORM'\t\t\n\t\twhere brand.tty = 'BN'\n\t\t\tand brand.sab = 'RXNORM'\n\t) sq\n)\n\nselect distinct\n\tbrand.rxcui as rxcui\n\t, brand.str as name\n\t, brand.tty as tty\n\t, case when brand.suppress = 'N' then true else false end as active\n\t, case when brand.cvf = '4096' then true else false end as prescribable\n\t, cte.ingredient_rxcui as ingredient_rxcui\nfrom sagerx_lake.rxnorm_rxnconso product\ninner join sagerx_lake.rxnorm_rxnrel rxnrel on rxnrel.rxcui2 = product.rxcui and rxnrel.rela = 'has_ingredient'\ninner join sagerx_lake.rxnorm_rxnconso brand\n\ton rxnrel.rxcui1 = brand.rxcui\n\tand brand.tty = 'BN'\n\tand brand.sab = 'RXNORM'\nLeft join cte on cte.rxcui = brand.rxcui and cte.rn < 2\nwhere product.tty = 'SBD'\n\tand product.sab = 'RXNORM'", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_rxnorm__products": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxnorm__products", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxnorm/stg_rxnorm__products.sql", "original_file_path": "models/staging/rxnorm/stg_rxnorm__products.sql", "unique_id": "model.sagerx.stg_rxnorm__products", "fqn": ["sagerx", "staging", "rxnorm", "stg_rxnorm__products"], "alias": "stg_rxnorm__products", "checksum": {"name": "sha256", "checksum": "087761851d008c14f34840e79f21d3c580e81fa5772152e26258917b2926d698"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470991.452193, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__products\"", "raw_code": "-- stg_rxnorm__products.sql\n\nselect\n\tproduct.rxcui as rxcui\n\t, product.str as name\n\t, product.tty as tty\n , case\n when brand_product.rxcui is not null then brand_product.clinical_product_rxcui\n else product.rxcui\n end as clinical_product_rxcui\n\t, case\n when product.suppress = 'N' then true\n else false\n end as active\n\t, case \n when product.cvf = '4096' then true \n else false\n end as prescribable\nfrom {{ source('rxnorm', 'rxnorm_rxnconso') }} product\nleft join {{ ref('stg_rxnorm__brand_products') }} brand_product\n on product.rxcui = brand_product.rxcui\nwhere product.tty in('SCD', 'GPCK', 'SBD', 'BPCK')\n\tand product.sab = 'RXNORM'\n\n/*\nwith\n\nrcp as (\n\n select * from {{ ref('stg_rxnorm__clinical_products') }}\n\n),\n\nrbp as (\n\n select * from {{ ref('stg_rxnorm__brand_products') }}\n\n)\n\nselect distinct\n coalesce(rbp.rxcui, rcp.rxcui, null) as product_rxcui\n , coalesce(rbp.name, rcp.name, null) as product_name\n , coalesce(rbp.tty, rcp.tty, null) as product_tty\n , rcp.rxcui as clinical_product_rxcui\n , rcp.name as clinical_product_name\n , rcp.tty as clinical_product_tty\nfrom rcp\nleft join rbp\n on rbp.clinical_product_rxcui = rcp.rxcui\n*/", "language": "sql", "refs": [{"name": "stg_rxnorm__brand_products", "package": null, "version": null}, {"name": "stg_rxnorm__clinical_products", "package": null, "version": null}, {"name": "stg_rxnorm__brand_products", "package": null, "version": null}], "sources": [["rxnorm", "rxnorm_rxnconso"]], "metrics": [], "depends_on": {"macros": [], "nodes": ["source.sagerx.rxnorm.rxnorm_rxnconso", "model.sagerx.stg_rxnorm__brand_products", "model.sagerx.stg_rxnorm__clinical_products"]}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/stg_rxnorm__products.sql", "compiled": true, "compiled_code": "-- stg_rxnorm__products.sql\n\nselect\n\tproduct.rxcui as rxcui\n\t, product.str as name\n\t, product.tty as tty\n , case\n when brand_product.rxcui is not null then brand_product.clinical_product_rxcui\n else product.rxcui\n end as clinical_product_rxcui\n\t, case\n when product.suppress = 'N' then true\n else false\n end as active\n\t, case \n when product.cvf = '4096' then true \n else false\n end as prescribable\nfrom \"sagerx\".\"sagerx_lake\".\"rxnorm_rxnconso\" product\nleft join \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__brand_products\" brand_product\n on product.rxcui = brand_product.rxcui\nwhere product.tty in('SCD', 'GPCK', 'SBD', 'BPCK')\n\tand product.sab = 'RXNORM'\n\n/*\nwith\n\nrcp as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_products\"\n\n),\n\nrbp as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__brand_products\"\n\n)\n\nselect distinct\n coalesce(rbp.rxcui, rcp.rxcui, null) as product_rxcui\n , coalesce(rbp.name, rcp.name, null) as product_name\n , coalesce(rbp.tty, rcp.tty, null) as product_tty\n , rcp.rxcui as clinical_product_rxcui\n , rcp.name as clinical_product_name\n , rcp.tty as clinical_product_tty\nfrom rcp\nleft join rbp\n on rbp.clinical_product_rxcui = rcp.rxcui\n*/", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_rxnorm__brand_product_components": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxnorm__brand_product_components", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxnorm/stg_rxnorm__brand_product_components.sql", "original_file_path": "models/staging/rxnorm/stg_rxnorm__brand_product_components.sql", "unique_id": "model.sagerx.stg_rxnorm__brand_product_components", "fqn": ["sagerx", "staging", "rxnorm", "stg_rxnorm__brand_product_components"], "alias": "stg_rxnorm__brand_product_components", "checksum": {"name": "sha256", "checksum": "61b0cbad297236ff1d1a4b1f305545be46bd2da6b53ecc1c710a51b26a6d567e"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "RxNorm brand product components (mostly SBD, but BPCKs can also contain SCD).", "columns": {"rxcui": {"name": "rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "name": {"name": "name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "tty": {"name": "tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_component_rxcui": {"name": "clinical_product_component_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "brand_rxcui": {"name": "brand_rxcui", "description": "NOTE: brand_product_component SCDs will have NULL for brand_rxcui.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active": {"name": "active", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "prescribable": {"name": "prescribable", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/rxnorm/_rxnorm__models.yml", "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470992.042925, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__brand_product_components\"", "raw_code": "-- stg_rxnorm__brand_product_components.sql\n\nselect distinct\n\tcase when product.tty = 'SBD' then product.rxcui else product_component.rxcui end rxcui\n\t, case when product.tty = 'SBD' then product.str else product_component.str end name\n\t, case when product.tty = 'SBD' then product.tty else product_component.tty end tty\n\t, case when product_component.tty = 'SCD' then product_component.rxcui else rxnrel_scd.rxcui1 end clinical_product_component_rxcui\n\t, rxnrel_bn.rxcui1 as brand_rxcui\n\t, case when \n case when product.tty = 'SBD'\n then product.suppress\n else product_component.suppress\n end = 'N' \n then true \n else false\n end as active\n\t, case when \n case when product.tty = 'SBD'\n then product.cvf\n else product_component.cvf \n end = '4096' \n then true\n else false\n end as prescribable\nfrom sagerx_lake.rxnorm_rxnconso product\nleft join sagerx_lake.rxnorm_rxnrel rxnrel on rxnrel.rxcui2 = product.rxcui and rxnrel.rela = 'contains'\nleft join sagerx_lake.rxnorm_rxnconso product_component\n\ton rxnrel.rxcui1 = product_component.rxcui\n\tand product_component.tty in ('SBD', 'SCD') -- NOTE: BPCKs can contain SBDs AND SCDs\n\tand product_component.sab = 'RXNORM'\nleft join sagerx_lake.rxnorm_rxnrel rxnrel_scd \n\ton rxnrel_scd.rxcui2 = case when product_component.rxcui is null then product.rxcui else product_component.rxcui end \n\tand rxnrel_scd.rela = 'tradename_of' -- rxnrel_scd.rxcui1 = clinical_product_component_rxcui\nleft join sagerx_lake.rxnorm_rxnrel rxnrel_bn \n\ton rxnrel_bn.rxcui2 = case when product_component.rxcui is null then product.rxcui else product_component.rxcui end \n\tand rxnrel_bn.rela = 'has_ingredient' -- rxnrel_bn.rxcui1 = brand_rxcui\nwhere product.tty in ('SBD', 'BPCK')\n\tand product.sab = 'RXNORM'", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/stg_rxnorm__brand_product_components.sql", "compiled": true, "compiled_code": "-- stg_rxnorm__brand_product_components.sql\n\nselect distinct\n\tcase when product.tty = 'SBD' then product.rxcui else product_component.rxcui end rxcui\n\t, case when product.tty = 'SBD' then product.str else product_component.str end name\n\t, case when product.tty = 'SBD' then product.tty else product_component.tty end tty\n\t, case when product_component.tty = 'SCD' then product_component.rxcui else rxnrel_scd.rxcui1 end clinical_product_component_rxcui\n\t, rxnrel_bn.rxcui1 as brand_rxcui\n\t, case when \n case when product.tty = 'SBD'\n then product.suppress\n else product_component.suppress\n end = 'N' \n then true \n else false\n end as active\n\t, case when \n case when product.tty = 'SBD'\n then product.cvf\n else product_component.cvf \n end = '4096' \n then true\n else false\n end as prescribable\nfrom sagerx_lake.rxnorm_rxnconso product\nleft join sagerx_lake.rxnorm_rxnrel rxnrel on rxnrel.rxcui2 = product.rxcui and rxnrel.rela = 'contains'\nleft join sagerx_lake.rxnorm_rxnconso product_component\n\ton rxnrel.rxcui1 = product_component.rxcui\n\tand product_component.tty in ('SBD', 'SCD') -- NOTE: BPCKs can contain SBDs AND SCDs\n\tand product_component.sab = 'RXNORM'\nleft join sagerx_lake.rxnorm_rxnrel rxnrel_scd \n\ton rxnrel_scd.rxcui2 = case when product_component.rxcui is null then product.rxcui else product_component.rxcui end \n\tand rxnrel_scd.rela = 'tradename_of' -- rxnrel_scd.rxcui1 = clinical_product_component_rxcui\nleft join sagerx_lake.rxnorm_rxnrel rxnrel_bn \n\ton rxnrel_bn.rxcui2 = case when product_component.rxcui is null then product.rxcui else product_component.rxcui end \n\tand rxnrel_bn.rela = 'has_ingredient' -- rxnrel_bn.rxcui1 = brand_rxcui\nwhere product.tty in ('SBD', 'BPCK')\n\tand product.sab = 'RXNORM'", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_rxnorm__ingredients": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxnorm__ingredients", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxnorm/stg_rxnorm__ingredients.sql", "original_file_path": "models/staging/rxnorm/stg_rxnorm__ingredients.sql", "unique_id": "model.sagerx.stg_rxnorm__ingredients", "fqn": ["sagerx", "staging", "rxnorm", "stg_rxnorm__ingredients"], "alias": "stg_rxnorm__ingredients", "checksum": {"name": "sha256", "checksum": "952582b6e933e6fb18059818034bbe886737b25f981368e1e23964ffd0d45fb5"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "RxNorm ingredients (IN/MIN).", "columns": {"rxcui": {"name": "rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "name": {"name": "name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "tty": {"name": "tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active": {"name": "active", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "prescribable": {"name": "prescribable", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/rxnorm/_rxnorm__models.yml", "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470992.032537, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredients\"", "raw_code": "-- stg_rxnorm__ingredients.sql\n\nselect\n\tingredient.rxcui rxcui\n\t, ingredient.str name\n\t, ingredient.tty tty\n\t, case when ingredient.suppress = 'N' then true else false end as active\n\t, case when ingredient.cvf = '4096' then true else false end as prescribable\nfrom sagerx_lake.rxnorm_rxnconso ingredient\nwhere ingredient.tty in('IN', 'MIN')\n\tand ingredient.sab = 'RXNORM'", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/stg_rxnorm__ingredients.sql", "compiled": true, "compiled_code": "-- stg_rxnorm__ingredients.sql\n\nselect\n\tingredient.rxcui rxcui\n\t, ingredient.str name\n\t, ingredient.tty tty\n\t, case when ingredient.suppress = 'N' then true else false end as active\n\t, case when ingredient.cvf = '4096' then true else false end as prescribable\nfrom sagerx_lake.rxnorm_rxnconso ingredient\nwhere ingredient.tty in('IN', 'MIN')\n\tand ingredient.sab = 'RXNORM'", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_rxnorm__mthspl_ndcs": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxnorm__mthspl_ndcs", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxnorm/stg_rxnorm__mthspl_ndcs.sql", "original_file_path": "models/staging/rxnorm/stg_rxnorm__mthspl_ndcs.sql", "unique_id": "model.sagerx.stg_rxnorm__mthspl_ndcs", "fqn": ["sagerx", "staging", "rxnorm", "stg_rxnorm__mthspl_ndcs"], "alias": "stg_rxnorm__mthspl_ndcs", "checksum": {"name": "sha256", "checksum": "287783822c1edc11d4cce9415ec23fac3943f0b94c9043a1614e55987f921692"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470991.4632485, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__mthspl_ndcs\"", "raw_code": "-- stg_rxnorm__mthspl_ndcs.sql\n\nselect\n {{ ndc_to_11 ('rxnsat.atv')}} as ndc11\n , rxnsat.atv as ndc\n , rxnsat.rxcui\n\t, case when rxnsat.suppress = 'N' then true else false end as active\n\t, case when rxnsat.cvf = '4096' then true else false end as prescribable\nfrom sagerx_lake.rxnorm_rxnsat rxnsat\n where rxnsat.atn = 'NDC'\n and rxnsat.sab = 'MTHSPL'", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.sagerx.ndc_to_11"], "nodes": []}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/stg_rxnorm__mthspl_ndcs.sql", "compiled": true, "compiled_code": "-- stg_rxnorm__mthspl_ndcs.sql\n\nselect\n \n \n CASE WHEN \n \n \n CASE WHEN rxnsat.atv ~ '^\\d{10}$' THEN '10 Digit'\n WHEN rxnsat.atv ~ '^\\d{11}$' THEN '11 Digit'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '10 Digit' THEN NULL\n WHEN \n \n \n CASE WHEN rxnsat.atv ~ '^\\d{10}$' THEN '10 Digit'\n WHEN rxnsat.atv ~ '^\\d{11}$' THEN '11 Digit'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '11 Digit' THEN rxnsat.atv\n WHEN \n \n \n CASE WHEN rxnsat.atv ~ '^\\d{10}$' THEN '10 Digit'\n WHEN rxnsat.atv ~ '^\\d{11}$' THEN '11 Digit'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-4-2' THEN '0' || LEFT(rxnsat.atv,4) || REPLACE(RIGHT(rxnsat.atv,7),'-','')\n WHEN \n \n \n CASE WHEN rxnsat.atv ~ '^\\d{10}$' THEN '10 Digit'\n WHEN rxnsat.atv ~ '^\\d{11}$' THEN '11 Digit'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-3-2' THEN LEFT(rxnsat.atv,5) || '0' || REPLACE(RIGHT(rxnsat.atv,6),'-','')\n WHEN \n \n \n CASE WHEN rxnsat.atv ~ '^\\d{10}$' THEN '10 Digit'\n WHEN rxnsat.atv ~ '^\\d{11}$' THEN '11 Digit'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-1' THEN REPLACE(LEFT(rxnsat.atv,10),'-','') || '0' || RIGHT(rxnsat.atv, 1)\n WHEN \n \n \n CASE WHEN rxnsat.atv ~ '^\\d{10}$' THEN '10 Digit'\n WHEN rxnsat.atv ~ '^\\d{11}$' THEN '11 Digit'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-2' THEN REPLACE(rxnsat.atv,'-','')\n WHEN \n \n \n CASE WHEN rxnsat.atv ~ '^\\d{10}$' THEN '10 Digit'\n WHEN rxnsat.atv ~ '^\\d{11}$' THEN '11 Digit'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-5' THEN NULL\n WHEN \n \n \n CASE WHEN rxnsat.atv ~ '^\\d{10}$' THEN '10 Digit'\n WHEN rxnsat.atv ~ '^\\d{11}$' THEN '11 Digit'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-6' THEN NULL\n ELSE NULL\n END\n \n as ndc11\n , rxnsat.atv as ndc\n , rxnsat.rxcui\n\t, case when rxnsat.suppress = 'N' then true else false end as active\n\t, case when rxnsat.cvf = '4096' then true else false end as prescribable\nfrom sagerx_lake.rxnorm_rxnsat rxnsat\n where rxnsat.atn = 'NDC'\n and rxnsat.sab = 'MTHSPL'", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_rxnorm__clinical_product_component_links": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxnorm__clinical_product_component_links", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxnorm/stg_rxnorm__clinical_product_component_links.sql", "original_file_path": "models/staging/rxnorm/stg_rxnorm__clinical_product_component_links.sql", "unique_id": "model.sagerx.stg_rxnorm__clinical_product_component_links", "fqn": ["sagerx", "staging", "rxnorm", "stg_rxnorm__clinical_product_component_links"], "alias": "stg_rxnorm__clinical_product_component_links", "checksum": {"name": "sha256", "checksum": "5865d40c7222d67c42b7eba5240906579f48f14f9612dfaa9294639713a361ea"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Links clinical products (SCD/GPCK) with clinical product components (SCD only).", "columns": {"clinical_product_rxcui": {"name": "clinical_product_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_component_rxcui": {"name": "clinical_product_component_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/rxnorm/_rxnorm__models.yml", "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470992.0281377, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_product_component_links\"", "raw_code": "-- stg_rxnorm__clinical_product_component_links.sql\n\nselect distinct\n\tproduct.rxcui as clinical_product_rxcui\n\t, case when product_component.rxcui is null\n then product.rxcui \n else product_component.rxcui \n end as clinical_product_component_rxcui\nfrom sagerx_lake.rxnorm_rxnconso product\nleft join sagerx_lake.rxnorm_rxnrel rxnrel on rxnrel.rxcui2 = product.rxcui and rxnrel.rela = 'contains'\nleft join sagerx_lake.rxnorm_rxnconso product_component\n on rxnrel.rxcui1 = product_component.rxcui\n and product_component.tty = 'SCD'\n and product_component.sab = 'RXNORM'\nwhere product.tty in('SCD', 'GPCK')\n\tand product.sab = 'RXNORM'", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/stg_rxnorm__clinical_product_component_links.sql", "compiled": true, "compiled_code": "-- stg_rxnorm__clinical_product_component_links.sql\n\nselect distinct\n\tproduct.rxcui as clinical_product_rxcui\n\t, case when product_component.rxcui is null\n then product.rxcui \n else product_component.rxcui \n end as clinical_product_component_rxcui\nfrom sagerx_lake.rxnorm_rxnconso product\nleft join sagerx_lake.rxnorm_rxnrel rxnrel on rxnrel.rxcui2 = product.rxcui and rxnrel.rela = 'contains'\nleft join sagerx_lake.rxnorm_rxnconso product_component\n on rxnrel.rxcui1 = product_component.rxcui\n and product_component.tty = 'SCD'\n and product_component.sab = 'RXNORM'\nwhere product.tty in('SCD', 'GPCK')\n\tand product.sab = 'RXNORM'", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_rxnorm__product_rxcuis": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxnorm__product_rxcuis", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxnorm/stg_rxnorm__product_rxcuis.sql", "original_file_path": "models/staging/rxnorm/stg_rxnorm__product_rxcuis.sql", "unique_id": "model.sagerx.stg_rxnorm__product_rxcuis", "fqn": ["sagerx", "staging", "rxnorm", "stg_rxnorm__product_rxcuis"], "alias": "stg_rxnorm__product_rxcuis", "checksum": {"name": "sha256", "checksum": "9f6ed4b37e96673ee7c6ef2375404781856fefa6e6c67ac6db9bd7b2ea597ab9"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470991.4733272, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__product_rxcuis\"", "raw_code": "-- stg_rxnorm__product_rxcuis\n\nselect * from {{ source('rxnorm', 'rxnorm_rxnconso') }}\nwhere sab = 'RXNORM'\n and tty in ('SCD', 'SBD', 'GPCK', 'BPCK')", "language": "sql", "refs": [], "sources": [["rxnorm", "rxnorm_rxnconso"]], "metrics": [], "depends_on": {"macros": [], "nodes": ["source.sagerx.rxnorm.rxnorm_rxnconso"]}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/stg_rxnorm__product_rxcuis.sql", "compiled": true, "compiled_code": "-- stg_rxnorm__product_rxcuis\n\nselect * from \"sagerx\".\"sagerx_lake\".\"rxnorm_rxnconso\"\nwhere sab = 'RXNORM'\n and tty in ('SCD', 'SBD', 'GPCK', 'BPCK')", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_rxnorm__dose_form_groups": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxnorm__dose_form_groups", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxnorm/stg_rxnorm__dose_form_groups.sql", "original_file_path": "models/staging/rxnorm/stg_rxnorm__dose_form_groups.sql", "unique_id": "model.sagerx.stg_rxnorm__dose_form_groups", "fqn": ["sagerx", "staging", "rxnorm", "stg_rxnorm__dose_form_groups"], "alias": "stg_rxnorm__dose_form_groups", "checksum": {"name": "sha256", "checksum": "2abdec73cf80324ffbd10b92b312e046442688df83240c787d8145da3d54f73c"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "RxNorm dose form groups (DFG).", "columns": {"rxcui": {"name": "rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "name": {"name": "name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "tty": {"name": "tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active": {"name": "active", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "prescribable": {"name": "prescribable", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/rxnorm/_rxnorm__models.yml", "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470992.031749, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__dose_form_groups\"", "raw_code": "-- stg_rxnorm__dose_form_groups.sql\n\nselect\n\tdose_form_group.rxcui rxcui\n\t, dose_form_group.str name\n\t, dose_form_group.tty tty\n\t, case when dose_form_group.suppress = 'N' then true else false end as active\n\t, case when dose_form_group.cvf = '4096' then true else false end as prescribable\nfrom sagerx_lake.rxnorm_rxnconso dose_form_group\nwhere dose_form_group.tty = 'DFG'\n\tand dose_form_group.sab = 'RXNORM'", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/stg_rxnorm__dose_form_groups.sql", "compiled": true, "compiled_code": "-- stg_rxnorm__dose_form_groups.sql\n\nselect\n\tdose_form_group.rxcui rxcui\n\t, dose_form_group.str name\n\t, dose_form_group.tty tty\n\t, case when dose_form_group.suppress = 'N' then true else false end as active\n\t, case when dose_form_group.cvf = '4096' then true else false end as prescribable\nfrom sagerx_lake.rxnorm_rxnconso dose_form_group\nwhere dose_form_group.tty = 'DFG'\n\tand dose_form_group.sab = 'RXNORM'", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_rxnorm__ingredient_strength_links": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxnorm__ingredient_strength_links", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxnorm/stg_rxnorm__ingredient_strength_links.sql", "original_file_path": "models/staging/rxnorm/stg_rxnorm__ingredient_strength_links.sql", "unique_id": "model.sagerx.stg_rxnorm__ingredient_strength_links", "fqn": ["sagerx", "staging", "rxnorm", "stg_rxnorm__ingredient_strength_links"], "alias": "stg_rxnorm__ingredient_strength_links", "checksum": {"name": "sha256", "checksum": "50bbcf56380de0c335449b183a37872b3c3c6d5bcfab06383d34120da0acdb93"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Links combination of clinical product components (SCD) + ingredient components (IN) to ingredient strengths.", "columns": {"clinical_product_component_rxcui": {"name": "clinical_product_component_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ingredient_component_rxcui": {"name": "ingredient_component_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ingredient_strength_rxcui": {"name": "ingredient_strength_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/rxnorm/_rxnorm__models.yml", "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470992.0348496, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredient_strength_links\"", "raw_code": "-- stg_rxnorm__ingredient_strength_links.sql\n\nselect distinct\n\tproduct_component.rxcui as clinical_product_component_rxcui\n\t, ingredient.rxcui as ingredient_component_rxcui\n\t, ingredient_strength.rxcui as ingredient_strength_rxcui\nfrom sagerx_lake.rxnorm_rxnconso ingredient_strength\ninner join sagerx_lake.rxnorm_rxnrel has_ingredient\n on has_ingredient.rxcui2 = ingredient_strength.rxcui\n and has_ingredient.rela = 'has_ingredient'\ninner join sagerx_lake.rxnorm_rxnconso ingredient\n\ton ingredient.rxcui = has_ingredient.rxcui1\n\tand ingredient.tty = 'IN'\n\tand ingredient.sab = 'RXNORM'\ninner join sagerx_lake.rxnorm_rxnrel constitutes\n on constitutes.rxcui2 = ingredient_strength.rxcui\n and constitutes.rela = 'constitutes'\ninner join sagerx_lake.rxnorm_rxnconso product_component\n\ton product_component.rxcui = constitutes.rxcui1\n\tand product_component.tty = 'SCD'\n\tand product_component.sab = 'RXNORM'\nwhere ingredient_strength.tty = 'SCDC'\n\tand ingredient_strength.sab = 'RXNORM'", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/stg_rxnorm__ingredient_strength_links.sql", "compiled": true, "compiled_code": "-- stg_rxnorm__ingredient_strength_links.sql\n\nselect distinct\n\tproduct_component.rxcui as clinical_product_component_rxcui\n\t, ingredient.rxcui as ingredient_component_rxcui\n\t, ingredient_strength.rxcui as ingredient_strength_rxcui\nfrom sagerx_lake.rxnorm_rxnconso ingredient_strength\ninner join sagerx_lake.rxnorm_rxnrel has_ingredient\n on has_ingredient.rxcui2 = ingredient_strength.rxcui\n and has_ingredient.rela = 'has_ingredient'\ninner join sagerx_lake.rxnorm_rxnconso ingredient\n\ton ingredient.rxcui = has_ingredient.rxcui1\n\tand ingredient.tty = 'IN'\n\tand ingredient.sab = 'RXNORM'\ninner join sagerx_lake.rxnorm_rxnrel constitutes\n on constitutes.rxcui2 = ingredient_strength.rxcui\n and constitutes.rela = 'constitutes'\ninner join sagerx_lake.rxnorm_rxnconso product_component\n\ton product_component.rxcui = constitutes.rxcui1\n\tand product_component.tty = 'SCD'\n\tand product_component.sab = 'RXNORM'\nwhere ingredient_strength.tty = 'SCDC'\n\tand ingredient_strength.sab = 'RXNORM'", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_rxnorm__ingredient_components": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxnorm__ingredient_components", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxnorm/stg_rxnorm__ingredient_components.sql", "original_file_path": "models/staging/rxnorm/stg_rxnorm__ingredient_components.sql", "unique_id": "model.sagerx.stg_rxnorm__ingredient_components", "fqn": ["sagerx", "staging", "rxnorm", "stg_rxnorm__ingredient_components"], "alias": "stg_rxnorm__ingredient_components", "checksum": {"name": "sha256", "checksum": "20f19e301ccbd37653675862da45a3b01c6c3eb2568080c67ad787a3f039d87b"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "RxNorm ingredient components (IN).", "columns": {"rxcui": {"name": "rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "name": {"name": "name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "tty": {"name": "tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active": {"name": "active", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "prescribable": {"name": "prescribable", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/rxnorm/_rxnorm__models.yml", "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470992.03406, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredient_components\"", "raw_code": "-- stg_rxnorm__ingredient_components.sql\n\nwith cte as (\n\tselect\n\t\trxnrel.rxcui2 as ingredient_rxcui\n\t\t, ingredient_component.rxcui as rxcui\n\t\t, ingredient_component.str as name\n\t\t, ingredient_component.tty as tty\n\t\t, ingredient_component.suppress\n\t\t, ingredient_component.cvf\n\tfrom\n\t\tsagerx_lake.rxnorm_rxnrel rxnrel\n\tinner join sagerx_lake.rxnorm_rxnconso ingredient_component\n\t\ton rxnrel.rxcui1 = ingredient_component.rxcui\n\twhere rxnrel.rela = 'has_part'\n\t\tand ingredient_component.tty = 'IN'\n\t\tand ingredient_component.sab = 'RXNORM'\n)\n\nselect distinct\n\tcase when cte.rxcui is null then ingredient.rxcui else cte.rxcui end rxcui\n\t, case when cte.name is null then ingredient.str else cte.name end name\n\t, case when cte.tty is null then ingredient.tty else cte.tty end tty\n\t, case when \n\t\tcase when cte.rxcui is null then ingredient.suppress else cte.suppress end = 'N' then true else false end as active\n\t, case when \n\t\tcase when cte.rxcui is null then ingredient.cvf else cte.cvf end = '4096' then true else false end as prescribable\nfrom sagerx_lake.rxnorm_rxnconso ingredient\nleft join cte on ingredient.rxcui = cte.ingredient_rxcui\nwhere ingredient.tty in('IN', 'MIN')\n\tand ingredient.sab = 'RXNORM'", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/stg_rxnorm__ingredient_components.sql", "compiled": true, "compiled_code": "-- stg_rxnorm__ingredient_components.sql\n\nwith cte as (\n\tselect\n\t\trxnrel.rxcui2 as ingredient_rxcui\n\t\t, ingredient_component.rxcui as rxcui\n\t\t, ingredient_component.str as name\n\t\t, ingredient_component.tty as tty\n\t\t, ingredient_component.suppress\n\t\t, ingredient_component.cvf\n\tfrom\n\t\tsagerx_lake.rxnorm_rxnrel rxnrel\n\tinner join sagerx_lake.rxnorm_rxnconso ingredient_component\n\t\ton rxnrel.rxcui1 = ingredient_component.rxcui\n\twhere rxnrel.rela = 'has_part'\n\t\tand ingredient_component.tty = 'IN'\n\t\tand ingredient_component.sab = 'RXNORM'\n)\n\nselect distinct\n\tcase when cte.rxcui is null then ingredient.rxcui else cte.rxcui end rxcui\n\t, case when cte.name is null then ingredient.str else cte.name end name\n\t, case when cte.tty is null then ingredient.tty else cte.tty end tty\n\t, case when \n\t\tcase when cte.rxcui is null then ingredient.suppress else cte.suppress end = 'N' then true else false end as active\n\t, case when \n\t\tcase when cte.rxcui is null then ingredient.cvf else cte.cvf end = '4096' then true else false end as prescribable\nfrom sagerx_lake.rxnorm_rxnconso ingredient\nleft join cte on ingredient.rxcui = cte.ingredient_rxcui\nwhere ingredient.tty in('IN', 'MIN')\n\tand ingredient.sab = 'RXNORM'", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_rxnorm__mthspl_products": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxnorm__mthspl_products", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxnorm/stg_rxnorm__mthspl_products.sql", "original_file_path": "models/staging/rxnorm/stg_rxnorm__mthspl_products.sql", "unique_id": "model.sagerx.stg_rxnorm__mthspl_products", "fqn": ["sagerx", "staging", "rxnorm", "stg_rxnorm__mthspl_products"], "alias": "stg_rxnorm__mthspl_products", "checksum": {"name": "sha256", "checksum": "f0643655c7680da0474b0a8304fef2355c80fa4de19cd7f06224874c4312b2f4"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "DailyMed SPL products (DP) at NDC9 level.", "columns": {"rxcui": {"name": "rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "name": {"name": "name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "tty": {"name": "tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "rxaui": {"name": "rxaui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ndc": {"name": "ndc", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active": {"name": "active", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "prescribable": {"name": "prescribable", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/rxnorm/_rxnorm__models.yml", "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470992.0386114, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__mthspl_products\"", "raw_code": "-- stg_rxnorm__mthspl_products.sql\n\nselect\n\tproduct.rxcui as rxcui\n\t, product.str as name\n\t, product.tty as tty\n\t, product.rxaui as rxaui\n\t, product.code as ndc\n\t, case when product.suppress = 'N' then true else false end as active\n\t, case when product.cvf = '4096' then true else false end as prescribable\nfrom sagerx_lake.rxnorm_rxnconso product\nwhere product.tty = 'DP'\n\tand product.sab = 'MTHSPL'", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/stg_rxnorm__mthspl_products.sql", "compiled": true, "compiled_code": "-- stg_rxnorm__mthspl_products.sql\n\nselect\n\tproduct.rxcui as rxcui\n\t, product.str as name\n\t, product.tty as tty\n\t, product.rxaui as rxaui\n\t, product.code as ndc\n\t, case when product.suppress = 'N' then true else false end as active\n\t, case when product.cvf = '4096' then true else false end as prescribable\nfrom sagerx_lake.rxnorm_rxnconso product\nwhere product.tty = 'DP'\n\tand product.sab = 'MTHSPL'", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_rxnorm__precise_ingredients": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxnorm__precise_ingredients", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxnorm/stg_rxnorm__precise_ingredients.sql", "original_file_path": "models/staging/rxnorm/stg_rxnorm__precise_ingredients.sql", "unique_id": "model.sagerx.stg_rxnorm__precise_ingredients", "fqn": ["sagerx", "staging", "rxnorm", "stg_rxnorm__precise_ingredients"], "alias": "stg_rxnorm__precise_ingredients", "checksum": {"name": "sha256", "checksum": "e8369fea2f36db447f511d76a5d928e52c6dbc3de2037eedaded19201126feb9"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470991.4880347, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__precise_ingredients\"", "raw_code": "-- stg_rxnorm__precise_ingredients.sql\n\nselect\n\tingredient.rxcui rxcui\n\t, ingredient.str name\n\t, ingredient.tty tty\n\t, case when ingredient.suppress = 'N' then true else false end as active\n\t, case when ingredient.cvf = '4096' then true else false end as prescribable\nfrom sagerx_lake.rxnorm_rxnconso ingredient\nwhere ingredient.tty = 'PIN'\n\tand ingredient.sab = 'RXNORM'", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/stg_rxnorm__precise_ingredients.sql", "compiled": true, "compiled_code": "-- stg_rxnorm__precise_ingredients.sql\n\nselect\n\tingredient.rxcui rxcui\n\t, ingredient.str name\n\t, ingredient.tty tty\n\t, case when ingredient.suppress = 'N' then true else false end as active\n\t, case when ingredient.cvf = '4096' then true else false end as prescribable\nfrom sagerx_lake.rxnorm_rxnconso ingredient\nwhere ingredient.tty = 'PIN'\n\tand ingredient.sab = 'RXNORM'", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_rxnorm__brand_product_component_links": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxnorm__brand_product_component_links", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxnorm/stg_rxnorm__brand_product_component_links.sql", "original_file_path": "models/staging/rxnorm/stg_rxnorm__brand_product_component_links.sql", "unique_id": "model.sagerx.stg_rxnorm__brand_product_component_links", "fqn": ["sagerx", "staging", "rxnorm", "stg_rxnorm__brand_product_component_links"], "alias": "stg_rxnorm__brand_product_component_links", "checksum": {"name": "sha256", "checksum": "121ef6200aad2ed19be9d824f472f7538043c4f1747a3b6cf638ccc189cf5fb3"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Links brand products (SBD/BPCK) with brand product components (mostly SBD, but BPCKs can also contain SCD).", "columns": {"brand_product_rxcui": {"name": "brand_product_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "brand_product_component_rxcui": {"name": "brand_product_component_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/rxnorm/_rxnorm__models.yml", "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470992.041568, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__brand_product_component_links\"", "raw_code": "-- stg_rxnorm__brand_product_component_links.sql\n\nselect distinct\n\tproduct.rxcui as brand_product_rxcui\n\t, case when product_component.rxcui is null\n then product.rxcui\n else product_component.rxcui\n end as brand_product_component_rxcui\nfrom sagerx_lake.rxnorm_rxnconso product\nleft join sagerx_lake.rxnorm_rxnrel rxnrel on rxnrel.rxcui2 = product.rxcui and rxnrel.rela = 'contains'\nleft join sagerx_lake.rxnorm_rxnconso product_component\n\ton rxnrel.rxcui1 = product_component.rxcui\n\tand product_component.tty in ('SBD', 'SCD') -- NOTE: BPCKs can contain SBDs AND SCDs\n\tand product_component.sab = 'RXNORM'\nwhere product.tty in ('SBD', 'BPCK')\n\tand product.sab = 'RXNORM'", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/stg_rxnorm__brand_product_component_links.sql", "compiled": true, "compiled_code": "-- stg_rxnorm__brand_product_component_links.sql\n\nselect distinct\n\tproduct.rxcui as brand_product_rxcui\n\t, case when product_component.rxcui is null\n then product.rxcui\n else product_component.rxcui\n end as brand_product_component_rxcui\nfrom sagerx_lake.rxnorm_rxnconso product\nleft join sagerx_lake.rxnorm_rxnrel rxnrel on rxnrel.rxcui2 = product.rxcui and rxnrel.rela = 'contains'\nleft join sagerx_lake.rxnorm_rxnconso product_component\n\ton rxnrel.rxcui1 = product_component.rxcui\n\tand product_component.tty in ('SBD', 'SCD') -- NOTE: BPCKs can contain SBDs AND SCDs\n\tand product_component.sab = 'RXNORM'\nwhere product.tty in ('SBD', 'BPCK')\n\tand product.sab = 'RXNORM'", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_rxnorm__brand_products": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxnorm__brand_products", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxnorm/stg_rxnorm__brand_products.sql", "original_file_path": "models/staging/rxnorm/stg_rxnorm__brand_products.sql", "unique_id": "model.sagerx.stg_rxnorm__brand_products", "fqn": ["sagerx", "staging", "rxnorm", "stg_rxnorm__brand_products"], "alias": "stg_rxnorm__brand_products", "checksum": {"name": "sha256", "checksum": "7afb497affb718d16f366abb81c5616bce24d09da6ecb8522886b82f59d36e96"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "RxNorm brand name products (SBD/BPCK).", "columns": {"rxcui": {"name": "rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "name": {"name": "name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "tty": {"name": "tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "clinical_product_rxcui": {"name": "clinical_product_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active": {"name": "active", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "prescribable": {"name": "prescribable", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/rxnorm/_rxnorm__models.yml", "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470992.0405798, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__brand_products\"", "raw_code": "-- stg_rxnorm__brand_products.sql\n\nselect\n\tproduct.rxcui as rxcui\n\t, product.str as name\n\t, product.tty as tty\n\t, clinical_product.rxcui as clinical_product_rxcui\n\t, case when product.suppress = 'N' then true else false end as active\n\t, case when product.cvf = '4096' then true else false end as prescribable\nfrom sagerx_lake.rxnorm_rxnconso product\nleft join sagerx_lake.rxnorm_rxnrel rxnrel on rxnrel.rxcui2 = product.rxcui and rxnrel.rela = 'tradename_of'\nleft join sagerx_lake.rxnorm_rxnconso clinical_product\n\ton rxnrel.rxcui1 = clinical_product.rxcui\n\tand clinical_product.tty in ('SCD', 'GPCK')\n\tand clinical_product.sab = 'RXNORM'\nwhere product.tty in('SBD', 'BPCK')\n\tand product.sab = 'RXNORM'", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/stg_rxnorm__brand_products.sql", "compiled": true, "compiled_code": "-- stg_rxnorm__brand_products.sql\n\nselect\n\tproduct.rxcui as rxcui\n\t, product.str as name\n\t, product.tty as tty\n\t, clinical_product.rxcui as clinical_product_rxcui\n\t, case when product.suppress = 'N' then true else false end as active\n\t, case when product.cvf = '4096' then true else false end as prescribable\nfrom sagerx_lake.rxnorm_rxnconso product\nleft join sagerx_lake.rxnorm_rxnrel rxnrel on rxnrel.rxcui2 = product.rxcui and rxnrel.rela = 'tradename_of'\nleft join sagerx_lake.rxnorm_rxnconso clinical_product\n\ton rxnrel.rxcui1 = clinical_product.rxcui\n\tand clinical_product.tty in ('SCD', 'GPCK')\n\tand clinical_product.sab = 'RXNORM'\nwhere product.tty in('SBD', 'BPCK')\n\tand product.sab = 'RXNORM'", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_rxnorm__ingredient_strengths": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxnorm__ingredient_strengths", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxnorm/stg_rxnorm__ingredient_strengths.sql", "original_file_path": "models/staging/rxnorm/stg_rxnorm__ingredient_strengths.sql", "unique_id": "model.sagerx.stg_rxnorm__ingredient_strengths", "fqn": ["sagerx", "staging", "rxnorm", "stg_rxnorm__ingredient_strengths"], "alias": "stg_rxnorm__ingredient_strengths", "checksum": {"name": "sha256", "checksum": "f81ae06810e33e4eed25916397cd1e2cc294229576197d5ac2e1349c9004578a"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "RxNorm ingredient strengths.", "columns": {"rxcui": {"name": "rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "name": {"name": "name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "numerator_value": {"name": "numerator_value", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "numerator_unit": {"name": "numerator_unit", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "denominator_value": {"name": "denominator_value", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "denominator_unit": {"name": "denominator_unit", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "text": {"name": "text", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active": {"name": "active", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "prescribable": {"name": "prescribable", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/rxnorm/_rxnorm__models.yml", "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470992.037426, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredient_strengths\"", "raw_code": "-- stg_rxnorm__ingredient_strengths.sql\n\nselect\n\tingredient_strength.rxcui as rxcui\n\t, ingredient_strength.str as name\n\t, numerator_value.atv as numerator_value\n\t, numerator_unit.atv as numerator_unit\n\t, denominator_value.atv as denominator_value\n\t, denominator_unit.atv as denominator_unit\n\t, text.atv as text\n\t, case when ingredient_strength.suppress = 'N'\n then true\n else false\n end as active\n\t, case when ingredient_strength.cvf = '4096'\n then true\n else false\n end as prescribable\nfrom sagerx_lake.rxnorm_rxnconso ingredient_strength\nleft join sagerx_lake.rxnorm_rxnsat numerator_value\n on numerator_value.rxcui = ingredient_strength.rxcui\n and numerator_value.atn = 'RXN_BOSS_STRENGTH_NUM_VALUE'\nleft join sagerx_lake.rxnorm_rxnsat numerator_unit\n on numerator_unit.rxcui = ingredient_strength.rxcui\n and numerator_unit.atn = 'RXN_BOSS_STRENGTH_NUM_UNIT'\nleft join sagerx_lake.rxnorm_rxnsat denominator_value\n on denominator_value.rxcui = ingredient_strength.rxcui\n and denominator_value.atn = 'RXN_BOSS_STRENGTH_DENOM_VALUE'\nleft join sagerx_lake.rxnorm_rxnsat denominator_unit\n on denominator_unit.rxcui = ingredient_strength.rxcui\n and denominator_unit.atn = 'RXN_BOSS_STRENGTH_DENOM_UNIT'\nleft join sagerx_lake.rxnorm_rxnsat text\n on text.rxcui = ingredient_strength.rxcui\n and text.atn = 'RXN_STRENGTH'\nwhere ingredient_strength.tty = 'SCDC'\n\tand ingredient_strength.sab = 'RXNORM'", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/stg_rxnorm__ingredient_strengths.sql", "compiled": true, "compiled_code": "-- stg_rxnorm__ingredient_strengths.sql\n\nselect\n\tingredient_strength.rxcui as rxcui\n\t, ingredient_strength.str as name\n\t, numerator_value.atv as numerator_value\n\t, numerator_unit.atv as numerator_unit\n\t, denominator_value.atv as denominator_value\n\t, denominator_unit.atv as denominator_unit\n\t, text.atv as text\n\t, case when ingredient_strength.suppress = 'N'\n then true\n else false\n end as active\n\t, case when ingredient_strength.cvf = '4096'\n then true\n else false\n end as prescribable\nfrom sagerx_lake.rxnorm_rxnconso ingredient_strength\nleft join sagerx_lake.rxnorm_rxnsat numerator_value\n on numerator_value.rxcui = ingredient_strength.rxcui\n and numerator_value.atn = 'RXN_BOSS_STRENGTH_NUM_VALUE'\nleft join sagerx_lake.rxnorm_rxnsat numerator_unit\n on numerator_unit.rxcui = ingredient_strength.rxcui\n and numerator_unit.atn = 'RXN_BOSS_STRENGTH_NUM_UNIT'\nleft join sagerx_lake.rxnorm_rxnsat denominator_value\n on denominator_value.rxcui = ingredient_strength.rxcui\n and denominator_value.atn = 'RXN_BOSS_STRENGTH_DENOM_VALUE'\nleft join sagerx_lake.rxnorm_rxnsat denominator_unit\n on denominator_unit.rxcui = ingredient_strength.rxcui\n and denominator_unit.atn = 'RXN_BOSS_STRENGTH_DENOM_UNIT'\nleft join sagerx_lake.rxnorm_rxnsat text\n on text.rxcui = ingredient_strength.rxcui\n and text.atn = 'RXN_STRENGTH'\nwhere ingredient_strength.tty = 'SCDC'\n\tand ingredient_strength.sab = 'RXNORM'", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_rxnorm__clinical_product_components": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxnorm__clinical_product_components", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxnorm/stg_rxnorm__clinical_product_components.sql", "original_file_path": "models/staging/rxnorm/stg_rxnorm__clinical_product_components.sql", "unique_id": "model.sagerx.stg_rxnorm__clinical_product_components", "fqn": ["sagerx", "staging", "rxnorm", "stg_rxnorm__clinical_product_components"], "alias": "stg_rxnorm__clinical_product_components", "checksum": {"name": "sha256", "checksum": "cc04531920d93ee9c5da26ce99340389e6956c28fa410d1de9ebf6599c0f8f42"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "RxNorm clinical product components (SCD).", "columns": {"rxcui": {"name": "rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "name": {"name": "name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "tty": {"name": "tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active": {"name": "active", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "prescribable": {"name": "prescribable", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ingredient_rxcui": {"name": "ingredient_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "dose_form_rxcui": {"name": "dose_form_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/rxnorm/_rxnorm__models.yml", "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470992.0291312, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_product_components\"", "raw_code": "-- stg_rxnorm__clinical_product_components.sql\n\nwith cte as (\n\tselect\n\tsq.*,\n\trow_number() over(partition by product_component_rxcui order by ingredient_tty desc) as rn\n\tfrom (\n\t\tselect\n\t\t\tproduct_component.rxcui as product_component_rxcui\n\t\t\t, product_component.str as product_component_name\n\t\t\t, product_component.tty as product_component_tty\n\t\t\t, ingredient.rxcui as ingredient_rxcui\n\t\t\t, ingredient.str as ingredient_name\n\t\t\t, ingredient.tty as ingredient_tty\n\t\tfrom sagerx_lake.rxnorm_rxnconso product_component\n\t\tinner join sagerx_lake.rxnorm_rxnrel rxnrel\n\t\t\ton rxnrel.rxcui2 = product_component.rxcui and rxnrel.rela = 'has_ingredients'\n\t\tinner join sagerx_lake.rxnorm_rxnconso ingredient\n\t\t\ton rxnrel.rxcui1 = ingredient.rxcui\n\t\t\tand ingredient.tty = 'MIN'\n\t\t\tand ingredient.sab = 'RXNORM'\n\t\twhere product_component.tty = 'SCD'\n\t\t\tand product_component.sab = 'RXNORM'\n\n\t\tunion all\n\n\t\tselect\n\t\t\tproduct_component.rxcui as product_component_rxcui\n\t\t\t, product_component.str as product_component_name\n\t\t\t, product_component.tty as product_component_tty\n\t\t\t, ingredient.rxcui as ingredient_rxcui\n\t\t\t, ingredient.str as ingredient_name\n\t\t\t, ingredient.tty as ingredient_tty\n\t\tfrom sagerx_lake.rxnorm_rxnconso product_component\n\t\tinner join sagerx_lake.rxnorm_rxnrel scdc_rxnrel\n\t\t\ton scdc_rxnrel.rxcui2 = product_component.rxcui and scdc_rxnrel.rela = 'consists_of'\n\t\tinner join sagerx_lake.rxnorm_rxnconso scdc\n\t\t\ton scdc_rxnrel.rxcui1 = scdc.rxcui\n\t\tinner join sagerx_lake.rxnorm_rxnrel ingredient_rxnrel\n\t\t\ton ingredient_rxnrel.rxcui2 = scdc.rxcui and ingredient_rxnrel.rela = 'has_ingredient'\n\t\tinner join sagerx_lake.rxnorm_rxnconso ingredient\n\t\t\ton ingredient_rxnrel.rxcui1 = ingredient.rxcui\n\t\t\tand ingredient.tty = 'IN'\n\t\t\tand ingredient.sab = 'RXNORM'\n\t\twhere product_component.tty = 'SCD'\n\t\t\tand product_component.sab = 'RXNORM'\n\t) sq\n)\n\nselect distinct\n\tcase when product_component.rxcui is null then product.rxcui else product_component.rxcui end rxcui\n\t, case when product_component.str is null then product.str else product_component.str end name \n\t, case when product_component.tty is null then product.tty else product_component.tty end tty\n\t, case when \n\t\tcase when product_component.rxcui is null then product.suppress else product_component.suppress end = 'N' then true else false end as active\n\t, case when \n\t\tcase when product_component.rxcui is null then product.cvf else product_component.cvf end = '4096' then true else false end as prescribable\n\t, cte.ingredient_rxcui as ingredient_rxcui\n\t, dose_form_rxnrel.rxcui1 as dose_form_rxcui\nfrom sagerx_lake.rxnorm_rxnconso product\nleft join sagerx_lake.rxnorm_rxnrel rxnrel on rxnrel.rxcui2 = product.rxcui and rxnrel.rela = 'contains'\nleft join sagerx_lake.rxnorm_rxnconso product_component\n\ton rxnrel.rxcui1 = product_component.rxcui\n and product_component.tty = 'SCD'\n and product_component.sab = 'RXNORM'\nleft join cte \n\ton cte.product_component_rxcui = case when product_component.rxcui is null then product.rxcui else product_component.rxcui end\n\tand cte.rn < 2\nleft join sagerx_lake.rxnorm_rxnrel dose_form_rxnrel\n\ton dose_form_rxnrel.rxcui2 = case when product_component.rxcui is null then product.rxcui else product_component.rxcui end\n\tand dose_form_rxnrel.rela = 'has_dose_form'\n\tand dose_form_rxnrel.sab = 'RXNORM'\nwhere product.tty in('SCD', 'GPCK')\n\tand product.sab = 'RXNORM'", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/stg_rxnorm__clinical_product_components.sql", "compiled": true, "compiled_code": "-- stg_rxnorm__clinical_product_components.sql\n\nwith cte as (\n\tselect\n\tsq.*,\n\trow_number() over(partition by product_component_rxcui order by ingredient_tty desc) as rn\n\tfrom (\n\t\tselect\n\t\t\tproduct_component.rxcui as product_component_rxcui\n\t\t\t, product_component.str as product_component_name\n\t\t\t, product_component.tty as product_component_tty\n\t\t\t, ingredient.rxcui as ingredient_rxcui\n\t\t\t, ingredient.str as ingredient_name\n\t\t\t, ingredient.tty as ingredient_tty\n\t\tfrom sagerx_lake.rxnorm_rxnconso product_component\n\t\tinner join sagerx_lake.rxnorm_rxnrel rxnrel\n\t\t\ton rxnrel.rxcui2 = product_component.rxcui and rxnrel.rela = 'has_ingredients'\n\t\tinner join sagerx_lake.rxnorm_rxnconso ingredient\n\t\t\ton rxnrel.rxcui1 = ingredient.rxcui\n\t\t\tand ingredient.tty = 'MIN'\n\t\t\tand ingredient.sab = 'RXNORM'\n\t\twhere product_component.tty = 'SCD'\n\t\t\tand product_component.sab = 'RXNORM'\n\n\t\tunion all\n\n\t\tselect\n\t\t\tproduct_component.rxcui as product_component_rxcui\n\t\t\t, product_component.str as product_component_name\n\t\t\t, product_component.tty as product_component_tty\n\t\t\t, ingredient.rxcui as ingredient_rxcui\n\t\t\t, ingredient.str as ingredient_name\n\t\t\t, ingredient.tty as ingredient_tty\n\t\tfrom sagerx_lake.rxnorm_rxnconso product_component\n\t\tinner join sagerx_lake.rxnorm_rxnrel scdc_rxnrel\n\t\t\ton scdc_rxnrel.rxcui2 = product_component.rxcui and scdc_rxnrel.rela = 'consists_of'\n\t\tinner join sagerx_lake.rxnorm_rxnconso scdc\n\t\t\ton scdc_rxnrel.rxcui1 = scdc.rxcui\n\t\tinner join sagerx_lake.rxnorm_rxnrel ingredient_rxnrel\n\t\t\ton ingredient_rxnrel.rxcui2 = scdc.rxcui and ingredient_rxnrel.rela = 'has_ingredient'\n\t\tinner join sagerx_lake.rxnorm_rxnconso ingredient\n\t\t\ton ingredient_rxnrel.rxcui1 = ingredient.rxcui\n\t\t\tand ingredient.tty = 'IN'\n\t\t\tand ingredient.sab = 'RXNORM'\n\t\twhere product_component.tty = 'SCD'\n\t\t\tand product_component.sab = 'RXNORM'\n\t) sq\n)\n\nselect distinct\n\tcase when product_component.rxcui is null then product.rxcui else product_component.rxcui end rxcui\n\t, case when product_component.str is null then product.str else product_component.str end name \n\t, case when product_component.tty is null then product.tty else product_component.tty end tty\n\t, case when \n\t\tcase when product_component.rxcui is null then product.suppress else product_component.suppress end = 'N' then true else false end as active\n\t, case when \n\t\tcase when product_component.rxcui is null then product.cvf else product_component.cvf end = '4096' then true else false end as prescribable\n\t, cte.ingredient_rxcui as ingredient_rxcui\n\t, dose_form_rxnrel.rxcui1 as dose_form_rxcui\nfrom sagerx_lake.rxnorm_rxnconso product\nleft join sagerx_lake.rxnorm_rxnrel rxnrel on rxnrel.rxcui2 = product.rxcui and rxnrel.rela = 'contains'\nleft join sagerx_lake.rxnorm_rxnconso product_component\n\ton rxnrel.rxcui1 = product_component.rxcui\n and product_component.tty = 'SCD'\n and product_component.sab = 'RXNORM'\nleft join cte \n\ton cte.product_component_rxcui = case when product_component.rxcui is null then product.rxcui else product_component.rxcui end\n\tand cte.rn < 2\nleft join sagerx_lake.rxnorm_rxnrel dose_form_rxnrel\n\ton dose_form_rxnrel.rxcui2 = case when product_component.rxcui is null then product.rxcui else product_component.rxcui end\n\tand dose_form_rxnrel.rela = 'has_dose_form'\n\tand dose_form_rxnrel.sab = 'RXNORM'\nwhere product.tty in('SCD', 'GPCK')\n\tand product.sab = 'RXNORM'", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_rxnorm__dose_form_group_links": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxnorm__dose_form_group_links", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxnorm/stg_rxnorm__dose_form_group_links.sql", "original_file_path": "models/staging/rxnorm/stg_rxnorm__dose_form_group_links.sql", "unique_id": "model.sagerx.stg_rxnorm__dose_form_group_links", "fqn": ["sagerx", "staging", "rxnorm", "stg_rxnorm__dose_form_group_links"], "alias": "stg_rxnorm__dose_form_group_links", "checksum": {"name": "sha256", "checksum": "7a081970be3b79931e32657b8ed83bac998ea14e4179c404053d52b27fb7b32f"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Links dose forms (DF) to dose form groups (DFG).", "columns": {"dose_form_rxcui": {"name": "dose_form_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "dose_form_group_rxcui": {"name": "dose_form_group_rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/rxnorm/_rxnorm__models.yml", "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470992.0309632, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__dose_form_group_links\"", "raw_code": "-- stg_rxnorm__dose_form_group_links.sql\n\nselect distinct\n\tdose_form.rxcui dose_form_rxcui\n\t, rxnrel.rxcui1 dose_form_group_rxcui\nfrom sagerx_lake.rxnorm_rxnconso dose_form\ninner join sagerx_lake.rxnorm_rxnrel rxnrel\n\ton rxnrel.rxcui2 = dose_form.rxcui\n\tand rxnrel.rela = 'isa'\n\tand rxnrel.sab = 'RXNORM'\nwhere dose_form.tty = 'DF'\n\tand dose_form.sab = 'RXNORM'", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/stg_rxnorm__dose_form_group_links.sql", "compiled": true, "compiled_code": "-- stg_rxnorm__dose_form_group_links.sql\n\nselect distinct\n\tdose_form.rxcui dose_form_rxcui\n\t, rxnrel.rxcui1 dose_form_group_rxcui\nfrom sagerx_lake.rxnorm_rxnconso dose_form\ninner join sagerx_lake.rxnorm_rxnrel rxnrel\n\ton rxnrel.rxcui2 = dose_form.rxcui\n\tand rxnrel.rela = 'isa'\n\tand rxnrel.sab = 'RXNORM'\nwhere dose_form.tty = 'DF'\n\tand dose_form.sab = 'RXNORM'", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_rxnorm__atc_codes": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxnorm__atc_codes", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxnorm/stg_rxnorm__atc_codes.sql", "original_file_path": "models/staging/rxnorm/stg_rxnorm__atc_codes.sql", "unique_id": "model.sagerx.stg_rxnorm__atc_codes", "fqn": ["sagerx", "staging", "rxnorm", "stg_rxnorm__atc_codes"], "alias": "stg_rxnorm__atc_codes", "checksum": {"name": "sha256", "checksum": "06633cbc509207666da5f2d42b240f009abe7fff674bb3f31405ef997b5b937b"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470991.5044792, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__atc_codes\"", "raw_code": "with atc as (\n\tselect distinct a.rxcui\n\t\t,a.code\n\t\t,b.atn\n\t\t,b.atv as atc_class_level\n\t\t,a.str as description\n\t\t,a.sab\n\t\t,a.tty\n\tfrom (\n\t\tselect *\n\t\tfrom sagerx_lake.rxnorm_rxnconso\n\t\twhere sab = 'ATC'\n\t\tand tty not like 'RXN%'\n\t\torder by code\n\t) a\n\tleft join sagerx_lake.rxnorm_rxnsat b\n\t\ton a.code= b.code\n\twhere atn = 'ATC_LEVEL'\n\torder by code\n)\n\n, atc_5 as (\n\tselect\n\t\t*\n\tfrom atc\n\twhere atc_class_level = '5'\n)\n\n, atc_4 as (\n\tselect\n\t\t*\n\tfrom atc\n\twhere atc_class_level = '4'\n)\n\n, atc_3 as (\n\tselect\n\t\t*\n\tfrom atc\n\twhere atc_class_level = '3'\n)\n\n, atc_2 as (\n\tselect\n\t\t*\n\tfrom atc\n\twhere atc_class_level = '2'\n)\n\n, atc_1 as (\n\tselect\n\t\t*\n\tfrom atc\n\twhere atc_class_level = '1'\n)\n\n, sagerx_atc as (\n\nselect\n\tatc_1.code as atc_1_code\n\t, atc_1.description as atc_1_name\n\t, atc_2.code as atc_2_code\n\t, atc_2.description as atc_2_name\n\t, atc_3.code as atc_3_code\n\t, atc_3.description as atc_3_name\n\t, atc_4.code as atc_4_code\n\t, atc_4.description as atc_4_name\n\t, atc_5.code as atc_5_code\n\t, atc_5.description as atc_5_name\n\t, atc_5.rxcui as ingredient_rxcui\n\t, atc_5.description as ingredient_name\n\t, atc_5.tty as ingredient_tty\n\nfrom atc_5\nleft join atc_4\n\ton left(atc_5.code, 5) = atc_4.code\nleft join atc_3\n\ton left(atc_4.code, 4) = atc_3.code\nleft join atc_2\n\ton left(atc_3.code, 3) = atc_2.code\nleft join atc_1\n\ton left(atc_2.code, 1) = atc_1.code\n)\n\t\nselect * \nfrom sagerx_atc", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/stg_rxnorm__atc_codes.sql", "compiled": true, "compiled_code": "with atc as (\n\tselect distinct a.rxcui\n\t\t,a.code\n\t\t,b.atn\n\t\t,b.atv as atc_class_level\n\t\t,a.str as description\n\t\t,a.sab\n\t\t,a.tty\n\tfrom (\n\t\tselect *\n\t\tfrom sagerx_lake.rxnorm_rxnconso\n\t\twhere sab = 'ATC'\n\t\tand tty not like 'RXN%'\n\t\torder by code\n\t) a\n\tleft join sagerx_lake.rxnorm_rxnsat b\n\t\ton a.code= b.code\n\twhere atn = 'ATC_LEVEL'\n\torder by code\n)\n\n, atc_5 as (\n\tselect\n\t\t*\n\tfrom atc\n\twhere atc_class_level = '5'\n)\n\n, atc_4 as (\n\tselect\n\t\t*\n\tfrom atc\n\twhere atc_class_level = '4'\n)\n\n, atc_3 as (\n\tselect\n\t\t*\n\tfrom atc\n\twhere atc_class_level = '3'\n)\n\n, atc_2 as (\n\tselect\n\t\t*\n\tfrom atc\n\twhere atc_class_level = '2'\n)\n\n, atc_1 as (\n\tselect\n\t\t*\n\tfrom atc\n\twhere atc_class_level = '1'\n)\n\n, sagerx_atc as (\n\nselect\n\tatc_1.code as atc_1_code\n\t, atc_1.description as atc_1_name\n\t, atc_2.code as atc_2_code\n\t, atc_2.description as atc_2_name\n\t, atc_3.code as atc_3_code\n\t, atc_3.description as atc_3_name\n\t, atc_4.code as atc_4_code\n\t, atc_4.description as atc_4_name\n\t, atc_5.code as atc_5_code\n\t, atc_5.description as atc_5_name\n\t, atc_5.rxcui as ingredient_rxcui\n\t, atc_5.description as ingredient_name\n\t, atc_5.tty as ingredient_tty\n\nfrom atc_5\nleft join atc_4\n\ton left(atc_5.code, 5) = atc_4.code\nleft join atc_3\n\ton left(atc_4.code, 4) = atc_3.code\nleft join atc_2\n\ton left(atc_3.code, 3) = atc_2.code\nleft join atc_1\n\ton left(atc_2.code, 1) = atc_1.code\n)\n\t\nselect * \nfrom sagerx_atc", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_rxnorm__mthspl_substances": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxnorm__mthspl_substances", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxnorm/stg_rxnorm__mthspl_substances.sql", "original_file_path": "models/staging/rxnorm/stg_rxnorm__mthspl_substances.sql", "unique_id": "model.sagerx.stg_rxnorm__mthspl_substances", "fqn": ["sagerx", "staging", "rxnorm", "stg_rxnorm__mthspl_substances"], "alias": "stg_rxnorm__mthspl_substances", "checksum": {"name": "sha256", "checksum": "aa4b63ecf684395bcd89b2c9a03f79f65fd19381a502915674401d32186da88d"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "DailyMed SPL substances (SU).", "columns": {"rxcui": {"name": "rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "name": {"name": "name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "tty": {"name": "tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "rxaui": {"name": "rxaui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "unii": {"name": "unii", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active": {"name": "active", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "prescribable": {"name": "prescribable", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/rxnorm/_rxnorm__models.yml", "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470992.039747, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__mthspl_substances\"", "raw_code": "-- stg_rxnorm__mthspl_substances.sql\n\nselect\n\tsubstance.rxcui rxcui\n\t, substance.str name\n\t, substance.tty tty\n\t, substance.rxaui rxaui\n\t, substance.code unii\n\t, case when substance.suppress = 'N' then true else false end as active\n\t, case when substance.cvf = '4096' then true else false end as prescribable\nfrom sagerx_lake.rxnorm_rxnconso substance\nwhere substance.tty = 'SU'\n\tand substance.sab = 'MTHSPL'", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/stg_rxnorm__mthspl_substances.sql", "compiled": true, "compiled_code": "-- stg_rxnorm__mthspl_substances.sql\n\nselect\n\tsubstance.rxcui rxcui\n\t, substance.str name\n\t, substance.tty tty\n\t, substance.rxaui rxaui\n\t, substance.code unii\n\t, case when substance.suppress = 'N' then true else false end as active\n\t, case when substance.cvf = '4096' then true else false end as prescribable\nfrom sagerx_lake.rxnorm_rxnconso substance\nwhere substance.tty = 'SU'\n\tand substance.sab = 'MTHSPL'", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_rxnorm__clinical_products": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxnorm__clinical_products", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxnorm/stg_rxnorm__clinical_products.sql", "original_file_path": "models/staging/rxnorm/stg_rxnorm__clinical_products.sql", "unique_id": "model.sagerx.stg_rxnorm__clinical_products", "fqn": ["sagerx", "staging", "rxnorm", "stg_rxnorm__clinical_products"], "alias": "stg_rxnorm__clinical_products", "checksum": {"name": "sha256", "checksum": "a009b8020527879db7b2837b870b6ceb6bf263bbf5f563ef1442764c483d7d6d"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "RxNorm clinical products (SCD, GPCK).", "columns": {"rxcui": {"name": "rxcui", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "name": {"name": "name", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "tty": {"name": "tty", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active": {"name": "active", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "prescribable": {"name": "prescribable", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/rxnorm/_rxnorm__models.yml", "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470992.027451, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_products\"", "raw_code": "-- stg_rxnorm__clinical_products.sql\n\nselect\n\tproduct.rxcui as rxcui\n\t, product.str as name\n\t, product.tty as tty\n\t, case when product.suppress = 'N' then true else false end as active\n\t, case when product.cvf = '4096' then true else false end as prescribable\nfrom sagerx_lake.rxnorm_rxnconso product\nwhere product.tty in('SCD', 'GPCK')\n\tand product.sab = 'RXNORM'", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/stg_rxnorm__clinical_products.sql", "compiled": true, "compiled_code": "-- stg_rxnorm__clinical_products.sql\n\nselect\n\tproduct.rxcui as rxcui\n\t, product.str as name\n\t, product.tty as tty\n\t, case when product.suppress = 'N' then true else false end as active\n\t, case when product.cvf = '4096' then true else false end as prescribable\nfrom sagerx_lake.rxnorm_rxnconso product\nwhere product.tty in('SCD', 'GPCK')\n\tand product.sab = 'RXNORM'", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_nadac__all_nadac": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_nadac__all_nadac", "resource_type": "model", "package_name": "sagerx", "path": "staging/nadac/stg_nadac__all_nadac.sql", "original_file_path": "models/staging/nadac/stg_nadac__all_nadac.sql", "unique_id": "model.sagerx.stg_nadac__all_nadac", "fqn": ["sagerx", "staging", "nadac", "stg_nadac__all_nadac"], "alias": "stg_nadac__all_nadac", "checksum": {"name": "sha256", "checksum": "966ab1c909b0282e2dfc8257bb601af9cc3fffe3ab63c91a34bb25021ba1af66"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Deduplicates NADAC data and converts format of some columns.", "columns": {"ndc": {"name": "ndc", "description": "The National Drug Code (NDC) is a numerical code maintained by the FDA that includes the labeler code, product code, and package code. The NDC is an 11-digit code.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ndc_description": {"name": "ndc_description", "description": "Identifies the drug name, strength, and dosage form of the drug product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "nadac_per_unit": {"name": "nadac_per_unit", "description": "The National Average Drug Acquisition Cost per unit. Staging table converts this to a numeric type.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "pricing_unit": {"name": "pricing_unit", "description": "Indicates the pricing unit for the associated NDC ('ML', 'GM' or 'EA').", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "effective_date": {"name": "effective_date", "description": "The effective date of the NADAC Per Unit cost. Staging table converts this to a date type.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/nadac/_nadac__models.yml", "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470992.149647, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_nadac__all_nadac\"", "raw_code": "-- stg_nadac__all_nadac.sql\n\nwith\n\nnadac as (\n\n select * from {{ source('nadac','nadac') }}\n\n)\n\nselect distinct \n\tndc\n\t, ndc_description\n\t, nadac_per_unit::numeric\n\t, pricing_unit\n\t, effective_date::date\nfrom nadac", "language": "sql", "refs": [], "sources": [["nadac", "nadac"]], "metrics": [], "depends_on": {"macros": [], "nodes": ["source.sagerx.nadac.nadac"]}, "compiled_path": "target/compiled/sagerx/models/staging/nadac/stg_nadac__all_nadac.sql", "compiled": true, "compiled_code": "-- stg_nadac__all_nadac.sql\n\nwith\n\nnadac as (\n\n select * from \"sagerx\".\"sagerx_lake\".\"nadac\"\n\n)\n\nselect distinct \n\tndc\n\t, ndc_description\n\t, nadac_per_unit::numeric\n\t, pricing_unit\n\t, effective_date::date\nfrom nadac", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_nadac__enhanced_nadac": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_nadac__enhanced_nadac", "resource_type": "model", "package_name": "sagerx", "path": "staging/nadac/stg_nadac__enhanced_nadac.sql", "original_file_path": "models/staging/nadac/stg_nadac__enhanced_nadac.sql", "unique_id": "model.sagerx.stg_nadac__enhanced_nadac", "fqn": ["sagerx", "staging", "nadac", "stg_nadac__enhanced_nadac"], "alias": "stg_nadac__enhanced_nadac", "checksum": {"name": "sha256", "checksum": "158263e3ba2dcc4d0779a59ad3b66862bd52beff1f94a3e3e2a7a7d1ae2502c5"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Flags NADAC survey data to make it easy to find most recent price, first price, and dollar / percent changes between prices. Can also SUM change_type to see the number of price increases over time.", "columns": {"ndc": {"name": "ndc", "description": "The National Drug Code (NDC) is a numerical code maintained by the FDA that includes the labeler code, product code, and package code. The NDC is an 11-digit code.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ndc_description": {"name": "ndc_description", "description": "Identifies the drug name, strength, and dosage form of the drug product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "nadac_per_unit": {"name": "nadac_per_unit", "description": "The National Average Drug Acquisition Cost per unit. Staging table converts this to a numeric type.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "pricing_unit": {"name": "pricing_unit", "description": "Indicates the pricing unit for the associated NDC ('ML', 'GM' or 'EA').", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "price_start_date": {"name": "price_start_date", "description": "The effective date of the NADAC Per Unit cost. Staging table converts this to a date type.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "most_recent_price": {"name": "most_recent_price", "description": "True if the price is the most recent available price.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "first_price": {"name": "first_price", "description": "True if the price is the first available price.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "dollar_change": {"name": "dollar_change", "description": "Change between this price and previous price in dollars.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "percent_change": {"name": "percent_change", "description": "Change between this price and previous price in percentage.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "change_type": {"name": "change_type", "description": "1 if the price went up, 0 if the price went down.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/nadac/_nadac__models.yml", "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470992.1525764, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_nadac__enhanced_nadac\"", "raw_code": "-- stg_nadac__enhanced_nadac.sql\n\nwith\n\nall_nadac as (\n\n select * from {{ ref('stg_nadac__all_nadac') }}\n\n),\n\nnadac as (\n\t\n\tselect ndc\n\t\t, ndc_description\n\t\t, row_number() over (partition by ndc order by effective_date desc) as price_line\n\t\t, effective_date as price_start_date\n\t\t, lag(effective_date, 1) over (partition by ndc order by effective_date desc) price_end_date\n\t\t, nadac_per_unit\n\t\t, pricing_unit\n\t\tfrom all_nadac\n\n)\n\nselect\n\tndc\n\t, ndc_description\n\t, price_line\n\t, nadac_per_unit\n\t, pricing_unit \n\t, price_start_date\n\t, case when price_line = 1 then true else false end as most_recent_price\n\t, case when price_line = first_value(price_line) over (partition by ndc order by price_line desc) then true else false end as first_price\n\t, (nadac_per_unit - lag(nadac_per_unit) over (partition by ndc order by price_line desc)) as dollar_change\n\t, (nadac_per_unit - lag(nadac_per_unit) over (partition by ndc order by price_line desc)) /\n\t\tlag(nadac_per_unit) over (partition by ndc order by price_line desc) as percent_change\n\t, case when (nadac_per_unit - lag(nadac_per_unit) over (partition by ndc order by price_line desc)) > 0 then 1\n\t\twhen (nadac_per_unit - lag(nadac_per_unit) over (partition by ndc order by price_line desc)) = 0 then 0\n\t\twhen (nadac_per_unit - lag(nadac_per_unit) over (partition by ndc order by price_line desc)) is null then null\n\t\telse -1 end as change_type\nfrom nadac", "language": "sql", "refs": [{"name": "stg_nadac__all_nadac", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": ["model.sagerx.stg_nadac__all_nadac"]}, "compiled_path": "target/compiled/sagerx/models/staging/nadac/stg_nadac__enhanced_nadac.sql", "compiled": true, "compiled_code": "-- stg_nadac__enhanced_nadac.sql\n\nwith\n\nall_nadac as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_nadac__all_nadac\"\n\n),\n\nnadac as (\n\t\n\tselect ndc\n\t\t, ndc_description\n\t\t, row_number() over (partition by ndc order by effective_date desc) as price_line\n\t\t, effective_date as price_start_date\n\t\t, lag(effective_date, 1) over (partition by ndc order by effective_date desc) price_end_date\n\t\t, nadac_per_unit\n\t\t, pricing_unit\n\t\tfrom all_nadac\n\n)\n\nselect\n\tndc\n\t, ndc_description\n\t, price_line\n\t, nadac_per_unit\n\t, pricing_unit \n\t, price_start_date\n\t, case when price_line = 1 then true else false end as most_recent_price\n\t, case when price_line = first_value(price_line) over (partition by ndc order by price_line desc) then true else false end as first_price\n\t, (nadac_per_unit - lag(nadac_per_unit) over (partition by ndc order by price_line desc)) as dollar_change\n\t, (nadac_per_unit - lag(nadac_per_unit) over (partition by ndc order by price_line desc)) /\n\t\tlag(nadac_per_unit) over (partition by ndc order by price_line desc) as percent_change\n\t, case when (nadac_per_unit - lag(nadac_per_unit) over (partition by ndc order by price_line desc)) > 0 then 1\n\t\twhen (nadac_per_unit - lag(nadac_per_unit) over (partition by ndc order by price_line desc)) = 0 then 0\n\t\twhen (nadac_per_unit - lag(nadac_per_unit) over (partition by ndc order by price_line desc)) is null then null\n\t\telse -1 end as change_type\nfrom nadac", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_fda_unii__unii_codes": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_fda_unii__unii_codes", "resource_type": "model", "package_name": "sagerx", "path": "staging/fda_unii/stg_fda_unii__unii_codes.sql", "original_file_path": "models/staging/fda_unii/stg_fda_unii__unii_codes.sql", "unique_id": "model.sagerx.stg_fda_unii__unii_codes", "fqn": ["sagerx", "staging", "fda_unii", "stg_fda_unii__unii_codes"], "alias": "stg_fda_unii__unii_codes", "checksum": {"name": "sha256", "checksum": "3dccd8b142ea49b91d18b2d6aeadd0515859c38519f2602a44220b69afb9ff71"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470991.5181646, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_fda_unii__unii_codes\"", "raw_code": "-- stg_fda_unii__unii_codes.sql\n\nwith\n\nfda_unii as (\n select * from {{ source('fda_unii', 'fda_unii') }}\n)\n\nselect\n unii\n , display_name\n , rxcui\n , pubchem\n , rn\n , ncit\n , ncbi\n , dailymed\nfrom fda_unii", "language": "sql", "refs": [], "sources": [["fda_unii", "fda_unii"]], "metrics": [], "depends_on": {"macros": [], "nodes": ["source.sagerx.fda_unii.fda_unii"]}, "compiled_path": "target/compiled/sagerx/models/staging/fda_unii/stg_fda_unii__unii_codes.sql", "compiled": true, "compiled_code": "-- stg_fda_unii__unii_codes.sql\n\nwith\n\nfda_unii as (\n select * from \"sagerx\".\"sagerx_lake\".\"fda_unii\"\n)\n\nselect\n unii\n , display_name\n , rxcui\n , pubchem\n , rn\n , ncit\n , ncbi\n , dailymed\nfrom fda_unii", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_rxterms__strengths": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxterms__strengths", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxterms/stg_rxterms__strengths.sql", "original_file_path": "models/staging/rxterms/stg_rxterms__strengths.sql", "unique_id": "model.sagerx.stg_rxterms__strengths", "fqn": ["sagerx", "staging", "rxterms", "stg_rxterms__strengths"], "alias": "stg_rxterms__strengths", "checksum": {"name": "sha256", "checksum": "0fafd23eb6e5d376d94ce34d1f5a5d580a52427762b62ca3066584ab8908feec"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Tables of drug strengths and their corresponding rxcuis. Only un-suppressed and not retired terms.", "columns": {"rxcui": {"name": "rxcui", "description": "The RxNorm concept unique identifier for the drug.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "name": {"name": "name", "description": "Drug name (either generic or brand name) and intended route.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "strength": {"name": "strength", "description": "Strength information parsed from the RxNorm full name. Concatenated strength and dose form values.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/rxterms/_rxterms__models.yml", "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470992.1735988, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxterms__strengths\"", "raw_code": "with\n\nrxterms as (\n\n select * from {{ source('rxterms', 'rxterms') }}\n \n)\n\nselect distinct\n rxcui\n , display_name as name\n , concat(strength, ' ', new_dose_form) as strength\nfrom rxterms\nwhere suppress_for is null \n and is_retired is null", "language": "sql", "refs": [], "sources": [["rxterms", "rxterms"]], "metrics": [], "depends_on": {"macros": [], "nodes": ["source.sagerx.rxterms.rxterms"]}, "compiled_path": "target/compiled/sagerx/models/staging/rxterms/stg_rxterms__strengths.sql", "compiled": true, "compiled_code": "with\n\nrxterms as (\n\n select * from \"sagerx\".\"sagerx_lake\".\"rxterms\"\n \n)\n\nselect distinct\n rxcui\n , display_name as name\n , concat(strength, ' ', new_dose_form) as strength\nfrom rxterms\nwhere suppress_for is null \n and is_retired is null", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_rxterms__names": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_rxterms__names", "resource_type": "model", "package_name": "sagerx", "path": "staging/rxterms/stg_rxterms__names.sql", "original_file_path": "models/staging/rxterms/stg_rxterms__names.sql", "unique_id": "model.sagerx.stg_rxterms__names", "fqn": ["sagerx", "staging", "rxterms", "stg_rxterms__names"], "alias": "stg_rxterms__names", "checksum": {"name": "sha256", "checksum": "1cc8b9985fc0a916d7850786f53647c231df3f3b64c96fc5c6e9b04930c5beed"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Table of drug names and commonly used synonyms or abbreviations for the drugs. Only un-suppressed and not retired terms.", "columns": {"name": {"name": "name", "description": "Drug name (either generic or brand name) and intended route.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "synonyms": {"name": "synonyms", "description": "Commonly used synonyms or abbreviations for the drug.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/rxterms/_rxterms__models.yml", "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470992.1729689, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxterms__names\"", "raw_code": "with\n\nrxterms as (\n\n select * from {{ source('rxterms', 'rxterms') }}\n \n)\n\nselect distinct\n display_name as name\n , display_name_synonym as synonyms\nfrom rxterms\nwhere suppress_for is null \n and is_retired is null", "language": "sql", "refs": [], "sources": [["rxterms", "rxterms"]], "metrics": [], "depends_on": {"macros": [], "nodes": ["source.sagerx.rxterms.rxterms"]}, "compiled_path": "target/compiled/sagerx/models/staging/rxterms/stg_rxterms__names.sql", "compiled": true, "compiled_code": "with\n\nrxterms as (\n\n select * from \"sagerx\".\"sagerx_lake\".\"rxterms\"\n \n)\n\nselect distinct\n display_name as name\n , display_name_synonym as synonyms\nfrom rxterms\nwhere suppress_for is null \n and is_retired is null", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_fda_excluded__substances": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_fda_excluded__substances", "resource_type": "model", "package_name": "sagerx", "path": "staging/fda_excluded/stg_fda_excluded__substances.sql", "original_file_path": "models/staging/fda_excluded/stg_fda_excluded__substances.sql", "unique_id": "model.sagerx.stg_fda_excluded__substances", "fqn": ["sagerx", "staging", "fda_excluded", "stg_fda_excluded__substances"], "alias": "stg_fda_excluded__substances", "checksum": {"name": "sha256", "checksum": "74d16e4a453d6d898aa14953e66ac63a52e2f67477e92bbd1a267a72928f1953"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Product-level substance information", "columns": {"productid": {"name": "productid", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "substance_line": {"name": "substance_line", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "substancename": {"name": "substancename", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active_numerator_strength": {"name": "active_numerator_strength", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active_ingred_unit": {"name": "active_ingred_unit", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/fda_excluded/_fda_excluded__models.yml", "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470992.1893868, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_fda_excluded__substances\"", "raw_code": "-- stg_fda_excluded__substances.sql\n\nwith\n\nproduct as ( \n select * from {{ source('fda_excluded', 'fda_excluded_product') }}\n)\n\n, substancename_array as (\n\tselect\n\t\tproductid\n\t\t, substance\n\t\t, row_number() over(partition by productid) as substance_line\n\tfrom product, unnest(string_to_array(substancename, '; ')) as substance\n)\n\n, strength_array as (\n\tselect\n\t\tproductid\n\t\t, strength\n\t\t, row_number() over(partition by productid) as strength_line\n\tfrom product, unnest(string_to_array(active_numerator_strength, '; ')) as strength\n)\n\n, unit_array as (\n\tselect\n\t\tproductid\n\t\t, unit\n\t\t, row_number() over(partition by productid) as unit_line\n\tfrom product, unnest(string_to_array(active_ingred_unit, '; ')) as unit\n)\n\nselect\n\tsubstance.productid\n\t, substance.substance_line\n\t, substance.substance as substancename\n\t, strength.strength as active_numerator_strength\n\t, unit.unit as active_ingred_unit\nfrom substancename_array substance\ninner join strength_array strength\n\ton strength.productid = substance.productid\n\tand strength.strength_line = substance.substance_line\ninner join unit_array unit\n\ton unit.productid = substance.productid\n\tand unit.unit_line = substance.substance_line\norder by\n\tproductid\n\t, substance_line", "language": "sql", "refs": [], "sources": [["fda_excluded", "fda_excluded_product"]], "metrics": [], "depends_on": {"macros": [], "nodes": ["source.sagerx.fda_excluded.fda_excluded_product"]}, "compiled_path": "target/compiled/sagerx/models/staging/fda_excluded/stg_fda_excluded__substances.sql", "compiled": true, "compiled_code": "-- stg_fda_excluded__substances.sql\n\nwith\n\nproduct as ( \n select * from \"sagerx\".\"sagerx_lake\".\"fda_excluded_product\"\n)\n\n, substancename_array as (\n\tselect\n\t\tproductid\n\t\t, substance\n\t\t, row_number() over(partition by productid) as substance_line\n\tfrom product, unnest(string_to_array(substancename, '; ')) as substance\n)\n\n, strength_array as (\n\tselect\n\t\tproductid\n\t\t, strength\n\t\t, row_number() over(partition by productid) as strength_line\n\tfrom product, unnest(string_to_array(active_numerator_strength, '; ')) as strength\n)\n\n, unit_array as (\n\tselect\n\t\tproductid\n\t\t, unit\n\t\t, row_number() over(partition by productid) as unit_line\n\tfrom product, unnest(string_to_array(active_ingred_unit, '; ')) as unit\n)\n\nselect\n\tsubstance.productid\n\t, substance.substance_line\n\t, substance.substance as substancename\n\t, strength.strength as active_numerator_strength\n\t, unit.unit as active_ingred_unit\nfrom substancename_array substance\ninner join strength_array strength\n\ton strength.productid = substance.productid\n\tand strength.strength_line = substance.substance_line\ninner join unit_array unit\n\ton unit.productid = substance.productid\n\tand unit.unit_line = substance.substance_line\norder by\n\tproductid\n\t, substance_line", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_fda_excluded__classes": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_fda_excluded__classes", "resource_type": "model", "package_name": "sagerx", "path": "staging/fda_excluded/stg_fda_excluded__classes.sql", "original_file_path": "models/staging/fda_excluded/stg_fda_excluded__classes.sql", "unique_id": "model.sagerx.stg_fda_excluded__classes", "fqn": ["sagerx", "staging", "fda_excluded", "stg_fda_excluded__classes"], "alias": "stg_fda_excluded__classes", "checksum": {"name": "sha256", "checksum": "61c1292ee1d108da91e3e29685a08fc8f31add422bc3aa2dbb7433fd88b26d61"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Product-level class information", "columns": {"productid": {"name": "productid", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "class_line": {"name": "class_line", "description": "Product can have multiple classes. This is the line number of the class.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "class_name": {"name": "class_name", "description": "Name of the pharmaceutical class.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "class_type": {"name": "class_type", "description": "Options include Chemical/Ingredient, EXT, PE, MoA, CS, and EPC.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/fda_excluded/_fda_excluded__models.yml", "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470992.1886864, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_fda_excluded__classes\"", "raw_code": "-- stg_fda_excluded__classes.sql\nwith\n\nproduct as (\n select * from {{ source('fda_excluded', 'fda_excluded_product') }}\n)\n\n, pharm_classes_array as (\n\tselect \n\t\tproduct.productid\n\t\t, token\n\t\t, row_number() over (partition by product.productid order by token desc) as class_line\n\tfrom product, unnest(string_to_array(product.pharm_classes, ',')) as token\n)\n\nselect\n\tclasses.productid\n\t, classes.class_line\n\t, trim(left(classes.token, position('[' in classes.token) -1 )) as class_name\n\t, substring(classes.token, '\\[(.+)\\]') as class_type\nfrom pharm_classes_array classes\norder by\n\tproductid\n\t, class_line", "language": "sql", "refs": [], "sources": [["fda_excluded", "fda_excluded_product"]], "metrics": [], "depends_on": {"macros": [], "nodes": ["source.sagerx.fda_excluded.fda_excluded_product"]}, "compiled_path": "target/compiled/sagerx/models/staging/fda_excluded/stg_fda_excluded__classes.sql", "compiled": true, "compiled_code": "-- stg_fda_excluded__classes.sql\nwith\n\nproduct as (\n select * from \"sagerx\".\"sagerx_lake\".\"fda_excluded_product\"\n)\n\n, pharm_classes_array as (\n\tselect \n\t\tproduct.productid\n\t\t, token\n\t\t, row_number() over (partition by product.productid order by token desc) as class_line\n\tfrom product, unnest(string_to_array(product.pharm_classes, ',')) as token\n)\n\nselect\n\tclasses.productid\n\t, classes.class_line\n\t, trim(left(classes.token, position('[' in classes.token) -1 )) as class_name\n\t, substring(classes.token, '\\[(.+)\\]') as class_type\nfrom pharm_classes_array classes\norder by\n\tproductid\n\t, class_line", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_fda_excluded__ndcs": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_fda_excluded__ndcs", "resource_type": "model", "package_name": "sagerx", "path": "staging/fda_excluded/stg_fda_excluded__ndcs.sql", "original_file_path": "models/staging/fda_excluded/stg_fda_excluded__ndcs.sql", "unique_id": "model.sagerx.stg_fda_excluded__ndcs", "fqn": ["sagerx", "staging", "fda_excluded", "stg_fda_excluded__ndcs"], "alias": "stg_fda_excluded__ndcs", "checksum": {"name": "sha256", "checksum": "835df1776895c30c5e5fdf462f583dcd862db4475aa0198034359349947031a4"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "FDA excluded NDCs", "columns": {"ndc11": {"name": "ndc11", "description": "The ndcpackagecode field, normalized to a NDC11 format.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "productid": {"name": "productid", "description": "ProductID is a concatenation of the NDCproduct code and SPL documentID. It is included to help prevent duplicate rows from appearing when joining the product and package files together. It has no regulatory value or significance.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "productndc": {"name": "productndc", "description": "The labeler code and product code segments of the National Drug Code number, separated by a hyphen. Asterisks are no longer used or included within the product code segment to indicate certain configurations of the NDC. www.fda.gov/edrls under Structured Product Labeling Resources.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "producttypename": {"name": "producttypename", "description": "Indicates the type of product, such as Human Prescription Drug or Human OTC Drug. This data element corresponds to the Document Type of the SPL submission for the listing.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "proprietaryname": {"name": "proprietaryname", "description": "Also known as the trade name. It is the name of the product chosen by the labeler.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "proprietarynamesuffix": {"name": "proprietarynamesuffix", "description": "A suffix to the proprietary name, a value here should be appended to the ProprietaryName field to obtain the complete name of the product. This suffix is often used to distinguish characteristics of a product such as extended release (XR) or sleep aid (PM). Although many companies follow certain naming conventions for suffices, there is no recognized standard", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "nonproprietaryname": {"name": "nonproprietaryname", "description": "Sometimes called the generic name, this is usually the active ingredient(s) of the product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "dosageformname": {"name": "dosageformname", "description": "The translation of the DosageForm Code submitted by the firm. The complete list of codes and translations can be found www.fda.gov/edrls under Structured Product Labeling Resources.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "routename": {"name": "routename", "description": "The translation of the Route Code submitted by the firm, indicating route of administration. The complete list of codes and translations can be found at www.fda.gov/edrls under Structured Product Labeling Resources.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_startmarketingdate": {"name": "product_startmarketingdate", "description": "This is the date that the labeler indicates was the start of its marketing of the drug product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_endmarketingdate": {"name": "product_endmarketingdate", "description": "This is the date the product will no longer be available on the market. If a product is no longer being manufactured, in most cases, the FDA recommends firms use the expiration date of the last lot produced as the EndMarketingDate, to reflect the potential for drug product to remain available after manufacturing has ceased. Products that are the subject of ongoing manufacturing will not ordinarily have any EndMarketingDate. Products with a value in the EndMarketingDate will be removed from the NDC Directory when the EndMarketingDate is reached.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "marketingcategoryname": {"name": "marketingcategoryname", "description": "Product types are broken down into several potential Marketing Categories, such as NDA/ANDA/BLA, OTC Monograph, or Unapproved Drug. One and only one Marketing Category may be chosen for a product, not all marketing categories are available to all product types. Currently, only final marketed product categories are included. The complete list of codes and translations can be found at www.fda.gov/edrls under Structured Product Labeling Resources.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "applicationnumber": {"name": "applicationnumber", "description": "This corresponds to the NDA, ANDA, or BLA number reported by the labeler for products which have the corresponding Marketing Category designated. If the designated Marketing Category is OTC Monograph Final or OTC Monograph Not Final, then the Application number will be the CFR citation corresponding to the appropriate Monograph (e.g. \u201cpart 341\u201d). For unapproved drugs, this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "labelername": {"name": "labelername", "description": "Name of Company corresponding to the labeler code segment of the ProductNDC.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "substancename": {"name": "substancename", "description": "This is the active ingredient list. Each ingredient name is the preferred term of the UNII code submitted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active_numerator_strength": {"name": "active_numerator_strength", "description": "These are the strength values (to be used with units below) of each active ingredient, listed in the same order as the SubstanceName field above.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active_ingred_unit": {"name": "active_ingred_unit", "description": "These are the units to be used with the strength values above, listed in the same order as the SubstanceName and SubstanceNumber (ActiveNumeratorStrength).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "pharm_classes": {"name": "pharm_classes", "description": "These are the reported pharmacological class categories corresponding to the SubstanceNames listed above.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "deaschedule": {"name": "deaschedule", "description": "This is the assigned DEA Schedule number as reported by the labeler. Values are CI, CII, CIII, CIV, and CV.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_ndc_exclude_flag": {"name": "product_ndc_exclude_flag", "description": "Values = Y, N, E, or I. This indicates whether the product has been removed/excluded from the NDC Directory for failure to respond to FDA's requests for correction to deficient or non-compliant submissions (Y), or because the listing certification is expired (E), or because the listing data was inactivated by FDA (I). The PRODUCT.XLS and PRODUCT.TXT files only contain listing records where NDC_EXCLUDE_FLAG=N. The PRODUCTS_EXCLUDED.XLS and PRODUCTS_EXCLUDED.TXT file contains all listing records with an NDC_EXCLUDE_FLAG of Y, E, and I.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "listing_record_certified_through": {"name": "listing_record_certified_through", "description": "This is the date when the listing record will expire if not updated or certified by the firm.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ndcpackagecode": {"name": "ndcpackagecode", "description": "The labeler code, product code, and package code segments of the National Drug Code number, separated by hyphens. Asterisks are no longer used or included within the product and package code segments to indicate certain configurations of the NDC.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "packagedescription": {"name": "packagedescription", "description": "A description of the size and type of packaging in sentence form. Multilevel packages will have the descriptions concatenated together. For example: 4 BOTTLES in 1 CARTON/100 TABLETS in 1 BOTTLE.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "package_startmarketingdate": {"name": "package_startmarketingdate", "description": "This is the date that the labeler indicates was the start of its marketing of the drug product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "package_endmarketingdate": {"name": "package_endmarketingdate", "description": "This is the date the product will no longer be available on the market. If a product is no longer being manufactured, in most cases, the FDA recommends firms use the expiration date of the last lot produced as the EndMarketingDate, to reflect the potential for drug product to remain available after manufacturing has ceased. Products that are the subject of ongoing manufacturing will not ordinarily have any EndMarketingDate. Products with a value in the EndMarketingDate will be removed from the NDC Directory when the EndMarketingDate is reached.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "package_ndc_exclude_flag": {"name": "package_ndc_exclude_flag", "description": "Values = Y, N, E, or I. This indicates whether the PACKAGE has been removed/excluded from the NDC Directory for failure to respond to FDAs requests for correction to deficient or non-compliant submissions (Y), or because the listing certification is expired (E), or because the listing data was inactivated by FDA (I). The PACKAGE.XLS and PACKAGE.TXT files only contain listing records where NDC_EXCLUDE_FLAG=N. The PACKAGES_EXCLUDED.XLS and PACKAGES_EXCLUDED.TXT file contains all listing records with an NDC_EXCLUDE_FLAG of Y, E, and I.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sample_package": {"name": "sample_package", "description": "This indicates if the package is to be distributed as a sample package. Values = Y or N.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/fda_excluded/_fda_excluded__models.yml", "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470992.1870937, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_fda_excluded__ndcs\"", "raw_code": "-- stg_fda_excluded__ndcs.sql\n\nwith\n\nproduct as (\n \n select * from {{ source('fda_excluded', 'fda_excluded_product') }}\n\n),\n\npackage as (\n\n select * from {{ source('fda_excluded', 'fda_excluded_package') }}\n\n)\n\nselect\n\t{{ndc_to_11 ('ndcpackagecode')}} as ndc11\n\t, package.productid\n\t, package.productndc\n\t, producttypename\n\t, proprietaryname\n\t, proprietarynamesuffix\n\t, nonproprietaryname\n\t, dosageformname\n\t, routename\n\t, product.startmarketingdate as product_startmarketingdate\n\t, product.endmarketingdate as product_endmarketingdate\n\t, marketingcategoryname\n\t, applicationnumber\n\t, labelername\n\t, substancename\n\t, active_numerator_strength\n\t, active_ingred_unit\n\t, pharm_classes\n\t, deaschedule\n\t, product.ndc_exclude_flag as product_ndc_exclude_flag\n\t, listing_record_certified_through\n\t, ndcpackagecode\n\t, packagedescription\n\t, package.startmarketingdate as package_startmarketingdate\n\t, package.endmarketingdate as package_endmarketingdate\n\t, package.ndc_exclude_flag as package_ndc_exclude_flag\n\t, sample_package\nfrom package\nleft join product\n\ton package.productid = product.productid", "language": "sql", "refs": [], "sources": [["fda_excluded", "fda_excluded_product"], ["fda_excluded", "fda_excluded_package"]], "metrics": [], "depends_on": {"macros": ["macro.sagerx.ndc_to_11"], "nodes": ["source.sagerx.fda_excluded.fda_excluded_product", "source.sagerx.fda_excluded.fda_excluded_package"]}, "compiled_path": "target/compiled/sagerx/models/staging/fda_excluded/stg_fda_excluded__ndcs.sql", "compiled": true, "compiled_code": "-- stg_fda_excluded__ndcs.sql\n\nwith\n\nproduct as (\n \n select * from \"sagerx\".\"sagerx_lake\".\"fda_excluded_product\"\n\n),\n\npackage as (\n\n select * from \"sagerx\".\"sagerx_lake\".\"fda_excluded_package\"\n\n)\n\nselect\n\t\n \n CASE WHEN \n \n \n CASE WHEN ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '10 Digit' THEN NULL\n WHEN \n \n \n CASE WHEN ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '11 Digit' THEN ndcpackagecode\n WHEN \n \n \n CASE WHEN ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-4-2' THEN '0' || LEFT(ndcpackagecode,4) || REPLACE(RIGHT(ndcpackagecode,7),'-','')\n WHEN \n \n \n CASE WHEN ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-3-2' THEN LEFT(ndcpackagecode,5) || '0' || REPLACE(RIGHT(ndcpackagecode,6),'-','')\n WHEN \n \n \n CASE WHEN ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-1' THEN REPLACE(LEFT(ndcpackagecode,10),'-','') || '0' || RIGHT(ndcpackagecode, 1)\n WHEN \n \n \n CASE WHEN ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-2' THEN REPLACE(ndcpackagecode,'-','')\n WHEN \n \n \n CASE WHEN ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-5' THEN NULL\n WHEN \n \n \n CASE WHEN ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-6' THEN NULL\n ELSE NULL\n END\n \n as ndc11\n\t, package.productid\n\t, package.productndc\n\t, producttypename\n\t, proprietaryname\n\t, proprietarynamesuffix\n\t, nonproprietaryname\n\t, dosageformname\n\t, routename\n\t, product.startmarketingdate as product_startmarketingdate\n\t, product.endmarketingdate as product_endmarketingdate\n\t, marketingcategoryname\n\t, applicationnumber\n\t, labelername\n\t, substancename\n\t, active_numerator_strength\n\t, active_ingred_unit\n\t, pharm_classes\n\t, deaschedule\n\t, product.ndc_exclude_flag as product_ndc_exclude_flag\n\t, listing_record_certified_through\n\t, ndcpackagecode\n\t, packagedescription\n\t, package.startmarketingdate as package_startmarketingdate\n\t, package.endmarketingdate as package_endmarketingdate\n\t, package.ndc_exclude_flag as package_ndc_exclude_flag\n\t, sample_package\nfrom package\nleft join product\n\ton package.productid = product.productid", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_fda_enforcement__reports": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_fda_enforcement__reports", "resource_type": "model", "package_name": "sagerx", "path": "staging/fda_enforcement/stg_fda_enforcement__reports.sql", "original_file_path": "models/staging/fda_enforcement/stg_fda_enforcement__reports.sql", "unique_id": "model.sagerx.stg_fda_enforcement__reports", "fqn": ["sagerx", "staging", "fda_enforcement", "stg_fda_enforcement__reports"], "alias": "stg_fda_enforcement__reports", "checksum": {"name": "sha256", "checksum": "08329d3ef20f6dada46b9411cb460686820c5675aea47f463960aa574f460bcb"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470991.5382683, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_fda_enforcement__reports\"", "raw_code": "-- stg_fda_enforcement__reports.sql\n\nselect\n\tstatus\n\t, city\n\t, state\n\t, country\n\t, classification\n\t, openfda\n\t, product_type\n\t, event_id\n\t, recalling_firm\n\t, address_1\n\t, address_2\n\t, postal_code\n\t, voluntary_mandated\n\t, initial_firm_notification\n\t, distribution_pattern\n\t, recall_number\n\t, product_description\n\t, product_quantity\n\t, reason_for_recall\n\t, recall_initiation_date\n\t, center_classification_date\n\t, report_date\n\t, code_info\nfrom sagerx_lake.fda_enforcement", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": [], "nodes": []}, "compiled_path": "target/compiled/sagerx/models/staging/fda_enforcement/stg_fda_enforcement__reports.sql", "compiled": true, "compiled_code": "-- stg_fda_enforcement__reports.sql\n\nselect\n\tstatus\n\t, city\n\t, state\n\t, country\n\t, classification\n\t, openfda\n\t, product_type\n\t, event_id\n\t, recalling_firm\n\t, address_1\n\t, address_2\n\t, postal_code\n\t, voluntary_mandated\n\t, initial_firm_notification\n\t, distribution_pattern\n\t, recall_number\n\t, product_description\n\t, product_quantity\n\t, reason_for_recall\n\t, recall_initiation_date\n\t, center_classification_date\n\t, report_date\n\t, code_info\nfrom sagerx_lake.fda_enforcement", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_fda_enforcement__json_ndcs": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_fda_enforcement__json_ndcs", "resource_type": "model", "package_name": "sagerx", "path": "staging/fda_enforcement/stg_fda_enforcement__json_ndcs.sql", "original_file_path": "models/staging/fda_enforcement/stg_fda_enforcement__json_ndcs.sql", "unique_id": "model.sagerx.stg_fda_enforcement__json_ndcs", "fqn": ["sagerx", "staging", "fda_enforcement", "stg_fda_enforcement__json_ndcs"], "alias": "stg_fda_enforcement__json_ndcs", "checksum": {"name": "sha256", "checksum": "b0e938e052e6b30978533cf3661b357b18193bd516cb0dedee37a27eb6a1a304"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "FDA enforcement NDCs from JSON.", "columns": {"recall_number": {"name": "recall_number", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ndc11": {"name": "ndc11", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ndc9": {"name": "ndc9", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "app_num": {"name": "app_num", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/fda_enforcement/_fda_enforcement__models.yml", "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470992.197849, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_fda_enforcement__json_ndcs\"", "raw_code": "-- stg_fda_enforcement__json_ndcs.sql\n\nWITH base AS (\n\tselect\n\t\tfdae.recall_number\n\t\t, ndc.id_value #>> '{}' as ndc\n\t\t, app_num.id_value #>> '{}' as app_num\n\tfrom sagerx_lake.fda_enforcement fdae\n\t\t, json_array_elements(openfda->'package_ndc') with ordinality ndc(id_value, line)\n\t\t, json_array_elements(openfda->'application_number') with ordinality app_num(id_value, line)\n) \n\nselect\n\tfdae.recall_number\n\t, {{ndc_to_11 ('ndc')}} as ndc11\n\t, left({{ ndc_to_11 ('ndc')}},9) as ndc9\n\t, app_num\nfrom sagerx_lake.fda_enforcement fdae\n\t, json_array_elements(openfda->'package_ndc') with ordinality ndc(id_value, line)\n\t, json_array_elements(openfda->'application_number') with ordinality app_num(id_value, line)\nwhere {{ndc_to_11('ndc')}} is not null", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.sagerx.ndc_to_11"], "nodes": []}, "compiled_path": "target/compiled/sagerx/models/staging/fda_enforcement/stg_fda_enforcement__json_ndcs.sql", "compiled": true, "compiled_code": "-- stg_fda_enforcement__json_ndcs.sql\n\nWITH base AS (\n\tselect\n\t\tfdae.recall_number\n\t\t, ndc.id_value #>> '{}' as ndc\n\t\t, app_num.id_value #>> '{}' as app_num\n\tfrom sagerx_lake.fda_enforcement fdae\n\t\t, json_array_elements(openfda->'package_ndc') with ordinality ndc(id_value, line)\n\t\t, json_array_elements(openfda->'application_number') with ordinality app_num(id_value, line)\n) \n\nselect\n\tfdae.recall_number\n\t, \n \n CASE WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '10 Digit' THEN NULL\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '11 Digit' THEN ndc\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-4-2' THEN '0' || LEFT(ndc,4) || REPLACE(RIGHT(ndc,7),'-','')\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-3-2' THEN LEFT(ndc,5) || '0' || REPLACE(RIGHT(ndc,6),'-','')\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-1' THEN REPLACE(LEFT(ndc,10),'-','') || '0' || RIGHT(ndc, 1)\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-2' THEN REPLACE(ndc,'-','')\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-5' THEN NULL\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-6' THEN NULL\n ELSE NULL\n END\n \n as ndc11\n\t, left(\n \n CASE WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '10 Digit' THEN NULL\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '11 Digit' THEN ndc\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-4-2' THEN '0' || LEFT(ndc,4) || REPLACE(RIGHT(ndc,7),'-','')\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-3-2' THEN LEFT(ndc,5) || '0' || REPLACE(RIGHT(ndc,6),'-','')\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-1' THEN REPLACE(LEFT(ndc,10),'-','') || '0' || RIGHT(ndc, 1)\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-2' THEN REPLACE(ndc,'-','')\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-5' THEN NULL\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-6' THEN NULL\n ELSE NULL\n END\n \n,9) as ndc9\n\t, app_num\nfrom sagerx_lake.fda_enforcement fdae\n\t, json_array_elements(openfda->'package_ndc') with ordinality ndc(id_value, line)\n\t, json_array_elements(openfda->'application_number') with ordinality app_num(id_value, line)\nwhere \n \n CASE WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '10 Digit' THEN NULL\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '11 Digit' THEN ndc\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-4-2' THEN '0' || LEFT(ndc,4) || REPLACE(RIGHT(ndc,7),'-','')\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-3-2' THEN LEFT(ndc,5) || '0' || REPLACE(RIGHT(ndc,6),'-','')\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-1' THEN REPLACE(LEFT(ndc,10),'-','') || '0' || RIGHT(ndc, 1)\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-2' THEN REPLACE(ndc,'-','')\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-5' THEN NULL\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-6' THEN NULL\n ELSE NULL\n END\n \n is not null", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_fda_enforcement__regex_ndcs": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_fda_enforcement__regex_ndcs", "resource_type": "model", "package_name": "sagerx", "path": "staging/fda_enforcement/stg_fda_enforcement__regex_ndcs.sql", "original_file_path": "models/staging/fda_enforcement/stg_fda_enforcement__regex_ndcs.sql", "unique_id": "model.sagerx.stg_fda_enforcement__regex_ndcs", "fqn": ["sagerx", "staging", "fda_enforcement", "stg_fda_enforcement__regex_ndcs"], "alias": "stg_fda_enforcement__regex_ndcs", "checksum": {"name": "sha256", "checksum": "010aa9d879959793f49af6c4fbbc3835a1fe28607249a05e672ee2a1d4b70c8e"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470991.548109, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_fda_enforcement__regex_ndcs\"", "raw_code": "-- stg_fda_enforcement__regex_ndcs.sql\n\n\nwith\n\nz_base as (\n\tselect\n\t\trecall_number\n\t\t, (regexp_matches(product_description, '(\\m\\d{1,5}-\\d{1,4}-\\d{1,2}\\M|\\m\\d{11}\\M)', 'g'))[1] as ndc\n\tfrom sagerx_lake.fda_enforcement\n),\nz as (\n\tselect \n\trecall_number\n\t, {{ndc_to_11 ('ndc')}} as ndc11\n\t, left( {{ndc_to_11 ('ndc')}}, 9) as ndc9\n\tfrom z_base\n)\t\n\nselect\n\t*\nfrom z\nwhere ndc11 is not null", "language": "sql", "refs": [], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.sagerx.ndc_to_11"], "nodes": []}, "compiled_path": "target/compiled/sagerx/models/staging/fda_enforcement/stg_fda_enforcement__regex_ndcs.sql", "compiled": true, "compiled_code": "-- stg_fda_enforcement__regex_ndcs.sql\n\n\nwith\n\nz_base as (\n\tselect\n\t\trecall_number\n\t\t, (regexp_matches(product_description, '(\\m\\d{1,5}-\\d{1,4}-\\d{1,2}\\M|\\m\\d{11}\\M)', 'g'))[1] as ndc\n\tfrom sagerx_lake.fda_enforcement\n),\nz as (\n\tselect \n\trecall_number\n\t, \n \n CASE WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '10 Digit' THEN NULL\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '11 Digit' THEN ndc\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-4-2' THEN '0' || LEFT(ndc,4) || REPLACE(RIGHT(ndc,7),'-','')\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-3-2' THEN LEFT(ndc,5) || '0' || REPLACE(RIGHT(ndc,6),'-','')\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-1' THEN REPLACE(LEFT(ndc,10),'-','') || '0' || RIGHT(ndc, 1)\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-2' THEN REPLACE(ndc,'-','')\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-5' THEN NULL\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-6' THEN NULL\n ELSE NULL\n END\n \n as ndc11\n\t, left( \n \n CASE WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '10 Digit' THEN NULL\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '11 Digit' THEN ndc\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-4-2' THEN '0' || LEFT(ndc,4) || REPLACE(RIGHT(ndc,7),'-','')\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-3-2' THEN LEFT(ndc,5) || '0' || REPLACE(RIGHT(ndc,6),'-','')\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-1' THEN REPLACE(LEFT(ndc,10),'-','') || '0' || RIGHT(ndc, 1)\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-2' THEN REPLACE(ndc,'-','')\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-5' THEN NULL\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-6' THEN NULL\n ELSE NULL\n END\n \n, 9) as ndc9\n\tfrom z_base\n)\t\n\nselect\n\t*\nfrom z\nwhere ndc11 is not null", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_fda_ndc__substances": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_fda_ndc__substances", "resource_type": "model", "package_name": "sagerx", "path": "staging/fda_ndc/stg_fda_ndc__substances.sql", "original_file_path": "models/staging/fda_ndc/stg_fda_ndc__substances.sql", "unique_id": "model.sagerx.stg_fda_ndc__substances", "fqn": ["sagerx", "staging", "fda_ndc", "stg_fda_ndc__substances"], "alias": "stg_fda_ndc__substances", "checksum": {"name": "sha256", "checksum": "c2fa0747656d0cf890f0317abff00baef9d1ed7274afe8d076f1a4c71ddac99f"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Product-level substance information", "columns": {"productid": {"name": "productid", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "substance_line": {"name": "substance_line", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "substancename": {"name": "substancename", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active_numerator_strength": {"name": "active_numerator_strength", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active_ingred_unit": {"name": "active_ingred_unit", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/fda_ndc/_fda_ndc__models.yml", "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470992.2020051, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_fda_ndc__substances\"", "raw_code": "-- stg_fda_ndc__substances.sql\n\nwith\n\nproduct as (\n select * from {{ source('fda_ndc', 'fda_ndc_product') }}\n)\n\n, substancename_array as (\n\tselect\n\t\tproductid\n\t\t, substance\n\t\t, row_number() over(partition by productid) as substance_line\n\tfrom product, unnest(string_to_array(substancename, '; ')) as substance\n)\n\n, strength_array as (\n\tselect\n\t\tproductid\n\t\t, strength\n\t\t, row_number() over(partition by productid) as strength_line\n\tfrom product, unnest(string_to_array(active_numerator_strength, '; ')) as strength\n)\n\n, unit_array as (\n\tselect\n\t\tproductid\n\t\t, unit\n\t\t, row_number() over(partition by productid) as unit_line\n\tfrom product, unnest(string_to_array(active_ingred_unit, '; ')) as unit\n)\n\nselect\n\tsubstance.productid\n\t, substance.substance_line\n\t, substance.substance as substancename\n\t, strength.strength as active_numerator_strength\n\t, unit.unit as active_ingred_unit\nfrom substancename_array substance\ninner join strength_array strength\n\ton strength.productid = substance.productid\n\tand strength.strength_line = substance.substance_line\ninner join unit_array unit\n\ton unit.productid = substance.productid\n\tand unit.unit_line = substance.substance_line\norder by\n\tproductid\n\t, substance_line", "language": "sql", "refs": [], "sources": [["fda_ndc", "fda_ndc_product"]], "metrics": [], "depends_on": {"macros": [], "nodes": ["source.sagerx.fda_ndc.fda_ndc_product"]}, "compiled_path": "target/compiled/sagerx/models/staging/fda_ndc/stg_fda_ndc__substances.sql", "compiled": true, "compiled_code": "-- stg_fda_ndc__substances.sql\n\nwith\n\nproduct as (\n select * from \"sagerx\".\"sagerx_lake\".\"fda_ndc_product\"\n)\n\n, substancename_array as (\n\tselect\n\t\tproductid\n\t\t, substance\n\t\t, row_number() over(partition by productid) as substance_line\n\tfrom product, unnest(string_to_array(substancename, '; ')) as substance\n)\n\n, strength_array as (\n\tselect\n\t\tproductid\n\t\t, strength\n\t\t, row_number() over(partition by productid) as strength_line\n\tfrom product, unnest(string_to_array(active_numerator_strength, '; ')) as strength\n)\n\n, unit_array as (\n\tselect\n\t\tproductid\n\t\t, unit\n\t\t, row_number() over(partition by productid) as unit_line\n\tfrom product, unnest(string_to_array(active_ingred_unit, '; ')) as unit\n)\n\nselect\n\tsubstance.productid\n\t, substance.substance_line\n\t, substance.substance as substancename\n\t, strength.strength as active_numerator_strength\n\t, unit.unit as active_ingred_unit\nfrom substancename_array substance\ninner join strength_array strength\n\ton strength.productid = substance.productid\n\tand strength.strength_line = substance.substance_line\ninner join unit_array unit\n\ton unit.productid = substance.productid\n\tand unit.unit_line = substance.substance_line\norder by\n\tproductid\n\t, substance_line", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_fda_ndc__ndcs": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_fda_ndc__ndcs", "resource_type": "model", "package_name": "sagerx", "path": "staging/fda_ndc/stg_fda_ndc__ndcs.sql", "original_file_path": "models/staging/fda_ndc/stg_fda_ndc__ndcs.sql", "unique_id": "model.sagerx.stg_fda_ndc__ndcs", "fqn": ["sagerx", "staging", "fda_ndc", "stg_fda_ndc__ndcs"], "alias": "stg_fda_ndc__ndcs", "checksum": {"name": "sha256", "checksum": "bb7bccccf4a6770b98ff50aaf2891c8065c26e9a1bcfe6b493f1bd8871adb0fa"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "FDA NDC Directory NDCs", "columns": {"ndc11": {"name": "ndc11", "description": "The ndcpackagecode field, normalized to a NDC11 format.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "productid": {"name": "productid", "description": "ProductID is a concatenation of the NDCproduct code and SPL documentID. It is included to help prevent duplicate rows from appearing when joining the product and package files together. It has no regulatory value or significance.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "productndc": {"name": "productndc", "description": "The labeler code and product code segments of the National Drug Code number, separated by a hyphen. Asterisks are no longer used or included within the product code segment to indicate certain configurations of the NDC. www.fda.gov/edrls under Structured Product Labeling Resources.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "producttypename": {"name": "producttypename", "description": "Indicates the type of product, such as Human Prescription Drug or Human OTC Drug. This data element corresponds to the Document Type of the SPL submission for the listing.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "proprietaryname": {"name": "proprietaryname", "description": "Also known as the trade name. It is the name of the product chosen by the labeler.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "proprietarynamesuffix": {"name": "proprietarynamesuffix", "description": "A suffix to the proprietary name, a value here should be appended to the ProprietaryName field to obtain the complete name of the product. This suffix is often used to distinguish characteristics of a product such as extended release (XR) or sleep aid (PM). Although many companies follow certain naming conventions for suffices, there is no recognized standard", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "nonproprietaryname": {"name": "nonproprietaryname", "description": "Sometimes called the generic name, this is usually the active ingredient(s) of the product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "dosageformname": {"name": "dosageformname", "description": "The translation of the DosageForm Code submitted by the firm. The complete list of codes and translations can be found www.fda.gov/edrls under Structured Product Labeling Resources.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "routename": {"name": "routename", "description": "The translation of the Route Code submitted by the firm, indicating route of administration. The complete list of codes and translations can be found at www.fda.gov/edrls under Structured Product Labeling Resources.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_startmarketingdate": {"name": "product_startmarketingdate", "description": "This is the date that the labeler indicates was the start of its marketing of the drug product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_endmarketingdate": {"name": "product_endmarketingdate", "description": "This is the date the product will no longer be available on the market. If a product is no longer being manufactured, in most cases, the FDA recommends firms use the expiration date of the last lot produced as the EndMarketingDate, to reflect the potential for drug product to remain available after manufacturing has ceased. Products that are the subject of ongoing manufacturing will not ordinarily have any EndMarketingDate. Products with a value in the EndMarketingDate will be removed from the NDC Directory when the EndMarketingDate is reached.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "marketingcategoryname": {"name": "marketingcategoryname", "description": "Product types are broken down into several potential Marketing Categories, such as NDA/ANDA/BLA, OTC Monograph, or Unapproved Drug. One and only one Marketing Category may be chosen for a product, not all marketing categories are available to all product types. Currently, only final marketed product categories are included. The complete list of codes and translations can be found at www.fda.gov/edrls under Structured Product Labeling Resources.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "applicationnumber": {"name": "applicationnumber", "description": "This corresponds to the NDA, ANDA, or BLA number reported by the labeler for products which have the corresponding Marketing Category designated. If the designated Marketing Category is OTC Monograph Final or OTC Monograph Not Final, then the Application number will be the CFR citation corresponding to the appropriate Monograph (e.g. \u201cpart 341\u201d). For unapproved drugs, this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "labelername": {"name": "labelername", "description": "Name of Company corresponding to the labeler code segment of the ProductNDC.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "substancename": {"name": "substancename", "description": "This is the active ingredient list. Each ingredient name is the preferred term of the UNII code submitted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active_numerator_strength": {"name": "active_numerator_strength", "description": "These are the strength values (to be used with units below) of each active ingredient, listed in the same order as the SubstanceName field above.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active_ingred_unit": {"name": "active_ingred_unit", "description": "These are the units to be used with the strength values above, listed in the same order as the SubstanceName and SubstanceNumber (ActiveNumeratorStrength).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "pharm_classes": {"name": "pharm_classes", "description": "These are the reported pharmacological class categories corresponding to the SubstanceNames listed above.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "deaschedule": {"name": "deaschedule", "description": "This is the assigned DEA Schedule number as reported by the labeler. Values are CI, CII, CIII, CIV, and CV.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_ndc_exclude_flag": {"name": "product_ndc_exclude_flag", "description": "Values = Y, N, E, or I. This indicates whether the product has been removed/excluded from the NDC Directory for failure to respond to FDA's requests for correction to deficient or non-compliant submissions (Y), or because the listing certification is expired (E), or because the listing data was inactivated by FDA (I). The PRODUCT.XLS and PRODUCT.TXT files only contain listing records where NDC_EXCLUDE_FLAG=N. The PRODUCTS_EXCLUDED.XLS and PRODUCTS_EXCLUDED.TXT file contains all listing records with an NDC_EXCLUDE_FLAG of Y, E, and I.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "listing_record_certified_through": {"name": "listing_record_certified_through", "description": "This is the date when the listing record will expire if not updated or certified by the firm.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ndcpackagecode": {"name": "ndcpackagecode", "description": "The labeler code, product code, and package code segments of the National Drug Code number, separated by hyphens. Asterisks are no longer used or included within the product and package code segments to indicate certain configurations of the NDC.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "packagedescription": {"name": "packagedescription", "description": "A description of the size and type of packaging in sentence form. Multilevel packages will have the descriptions concatenated together. For example: 4 BOTTLES in 1 CARTON/100 TABLETS in 1 BOTTLE.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "package_startmarketingdate": {"name": "package_startmarketingdate", "description": "This is the date that the labeler indicates was the start of its marketing of the drug product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "package_endmarketingdate": {"name": "package_endmarketingdate", "description": "This is the date the product will no longer be available on the market. If a product is no longer being manufactured, in most cases, the FDA recommends firms use the expiration date of the last lot produced as the EndMarketingDate, to reflect the potential for drug product to remain available after manufacturing has ceased. Products that are the subject of ongoing manufacturing will not ordinarily have any EndMarketingDate. Products with a value in the EndMarketingDate will be removed from the NDC Directory when the EndMarketingDate is reached.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "package_ndc_exclude_flag": {"name": "package_ndc_exclude_flag", "description": "Values = Y, N, E, or I. This indicates whether the PACKAGE has been removed/excluded from the NDC Directory for failure to respond to FDAs requests for correction to deficient or non-compliant submissions (Y), or because the listing certification is expired (E), or because the listing data was inactivated by FDA (I). The PACKAGE.XLS and PACKAGE.TXT files only contain listing records where NDC_EXCLUDE_FLAG=N. The PACKAGES_EXCLUDED.XLS and PACKAGES_EXCLUDED.TXT file contains all listing records with an NDC_EXCLUDE_FLAG of Y, E, and I.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sample_package": {"name": "sample_package", "description": "This indicates if the package is to be distributed as a sample package. Values = Y or N.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/fda_ndc/_fda_ndc__models.yml", "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470992.2006366, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_fda_ndc__ndcs\"", "raw_code": "-- stg_fda_ndc__ndcs.sql\n\nwith\n\nproduct as (\n \n select * from {{ source('fda_ndc', 'fda_ndc_product') }}\n\n),\n\npackage as (\n\n select * from {{ source('fda_ndc', 'fda_ndc_package') }}\n\n)\n\nselect\n\t{{ndc_to_11 ('ndcpackagecode') }} as ndc11\n\t, package.productid\n\t, package.productndc\n\t, producttypename\n\t, proprietaryname\n\t, proprietarynamesuffix\n\t, nonproprietaryname\n\t, dosageformname\n\t, routename\n\t, product.startmarketingdate as product_startmarketingdate\n\t, product.endmarketingdate as product_endmarketingdate\n\t, marketingcategoryname\n\t, applicationnumber\n\t, labelername\n\t, substancename\n\t, active_numerator_strength\n\t, active_ingred_unit\n\t, pharm_classes\n\t, deaschedule\n\t, product.ndc_exclude_flag as product_ndc_exclude_flag\n\t, listing_record_certified_through\n\t, ndcpackagecode\n\t, packagedescription\n\t, package.startmarketingdate as package_startmarketingdate\n\t, package.endmarketingdate as package_endmarketingdate\n\t, package.ndc_exclude_flag as package_ndc_exclude_flag\n\t, sample_package\nfrom package\nleft join product\n\ton package.productid = product.productid", "language": "sql", "refs": [], "sources": [["fda_ndc", "fda_ndc_product"], ["fda_ndc", "fda_ndc_package"]], "metrics": [], "depends_on": {"macros": ["macro.sagerx.ndc_to_11"], "nodes": ["source.sagerx.fda_ndc.fda_ndc_product", "source.sagerx.fda_ndc.fda_ndc_package"]}, "compiled_path": "target/compiled/sagerx/models/staging/fda_ndc/stg_fda_ndc__ndcs.sql", "compiled": true, "compiled_code": "-- stg_fda_ndc__ndcs.sql\n\nwith\n\nproduct as (\n \n select * from \"sagerx\".\"sagerx_lake\".\"fda_ndc_product\"\n\n),\n\npackage as (\n\n select * from \"sagerx\".\"sagerx_lake\".\"fda_ndc_package\"\n\n)\n\nselect\n\t\n \n CASE WHEN \n \n \n CASE WHEN ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '10 Digit' THEN NULL\n WHEN \n \n \n CASE WHEN ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '11 Digit' THEN ndcpackagecode\n WHEN \n \n \n CASE WHEN ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-4-2' THEN '0' || LEFT(ndcpackagecode,4) || REPLACE(RIGHT(ndcpackagecode,7),'-','')\n WHEN \n \n \n CASE WHEN ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-3-2' THEN LEFT(ndcpackagecode,5) || '0' || REPLACE(RIGHT(ndcpackagecode,6),'-','')\n WHEN \n \n \n CASE WHEN ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-1' THEN REPLACE(LEFT(ndcpackagecode,10),'-','') || '0' || RIGHT(ndcpackagecode, 1)\n WHEN \n \n \n CASE WHEN ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-2' THEN REPLACE(ndcpackagecode,'-','')\n WHEN \n \n \n CASE WHEN ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-5' THEN NULL\n WHEN \n \n \n CASE WHEN ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-6' THEN NULL\n ELSE NULL\n END\n \n as ndc11\n\t, package.productid\n\t, package.productndc\n\t, producttypename\n\t, proprietaryname\n\t, proprietarynamesuffix\n\t, nonproprietaryname\n\t, dosageformname\n\t, routename\n\t, product.startmarketingdate as product_startmarketingdate\n\t, product.endmarketingdate as product_endmarketingdate\n\t, marketingcategoryname\n\t, applicationnumber\n\t, labelername\n\t, substancename\n\t, active_numerator_strength\n\t, active_ingred_unit\n\t, pharm_classes\n\t, deaschedule\n\t, product.ndc_exclude_flag as product_ndc_exclude_flag\n\t, listing_record_certified_through\n\t, ndcpackagecode\n\t, packagedescription\n\t, package.startmarketingdate as package_startmarketingdate\n\t, package.endmarketingdate as package_endmarketingdate\n\t, package.ndc_exclude_flag as package_ndc_exclude_flag\n\t, sample_package\nfrom package\nleft join product\n\ton package.productid = product.productid", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "model.sagerx.stg_fda_ndc__classes": {"database": "sagerx", "schema": "sagerx_dev", "name": "stg_fda_ndc__classes", "resource_type": "model", "package_name": "sagerx", "path": "staging/fda_ndc/stg_fda_ndc__classes.sql", "original_file_path": "models/staging/fda_ndc/stg_fda_ndc__classes.sql", "unique_id": "model.sagerx.stg_fda_ndc__classes", "fqn": ["sagerx", "staging", "fda_ndc", "stg_fda_ndc__classes"], "alias": "stg_fda_ndc__classes", "checksum": {"name": "sha256", "checksum": "7d2b4f8b03603f712c801f0e15dd56beeb22b685ae75d2220bd1422612e16f8d"}, "config": {"enabled": true, "alias": null, "schema": "sagerx", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "view", "incremental_strategy": null, "persist_docs": {"relation": true, "columns": true}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "access": "protected"}, "tags": [], "description": "Product-level class information", "columns": {"productid": {"name": "productid", "description": "", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "class_line": {"name": "class_line", "description": "Product can have multiple classes. This is the line number of the class.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "class_name": {"name": "class_name", "description": "Name of the pharmaceutical class.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "class_type": {"name": "class_type", "description": "Options include Chemical/Ingredient, EXT, PE, MoA, CS, and EPC.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://models/staging/fda_ndc/_fda_ndc__models.yml", "build_path": null, "unrendered_config": {"persist_docs": {"relation": true, "columns": true}, "schema": "sagerx", "materialized": "view"}, "created_at": 1731470992.2013245, "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_fda_ndc__classes\"", "raw_code": "-- stg_fda_ndc__classes.sql\n\nwith\n\nproduct as ( \n select * from {{ source('fda_ndc', 'fda_ndc_product') }}\n)\n\n, pharm_classes_array as (\n\tselect \n\t\tproduct.productid\n\t\t, token\n\t\t, row_number() over (partition by product.productid order by token desc) as class_line\n\tfrom product, unnest(string_to_array(product.pharm_classes, ',')) as token\n)\n\nselect\n\tclasses.productid\n\t, classes.class_line\n\t, trim(left(classes.token, position('[' in classes.token) -1 )) as class_name\n\t, substring(classes.token, '\\[(.+)\\]') as class_type\nfrom pharm_classes_array classes\norder by\n\tproductid\n\t, class_line", "language": "sql", "refs": [], "sources": [["fda_ndc", "fda_ndc_product"]], "metrics": [], "depends_on": {"macros": [], "nodes": ["source.sagerx.fda_ndc.fda_ndc_product"]}, "compiled_path": "target/compiled/sagerx/models/staging/fda_ndc/stg_fda_ndc__classes.sql", "compiled": true, "compiled_code": "-- stg_fda_ndc__classes.sql\n\nwith\n\nproduct as ( \n select * from \"sagerx\".\"sagerx_lake\".\"fda_ndc_product\"\n)\n\n, pharm_classes_array as (\n\tselect \n\t\tproduct.productid\n\t\t, token\n\t\t, row_number() over (partition by product.productid order by token desc) as class_line\n\tfrom product, unnest(string_to_array(product.pharm_classes, ',')) as token\n)\n\nselect\n\tclasses.productid\n\t, classes.class_line\n\t, trim(left(classes.token, position('[' in classes.token) -1 )) as class_name\n\t, substring(classes.token, '\\[(.+)\\]') as class_type\nfrom pharm_classes_array classes\norder by\n\tproductid\n\t, class_line", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "access": "protected", "constraints": [], "version": null, "latest_version": null, "deprecation_date": null}, "seed.sagerx.usp_preservatives": {"database": "sagerx", "schema": "sagerx_dev", "name": "usp_preservatives", "resource_type": "seed", "package_name": "sagerx", "path": "usp_preservatives.csv", "original_file_path": "seeds/usp_preservatives.csv", "unique_id": "seed.sagerx.usp_preservatives", "fqn": ["sagerx", "usp_preservatives"], "alias": "usp_preservatives", "checksum": {"name": "sha256", "checksum": "48bc2cef25ff189c03843a7a41d04b16b52ff9435ebf31a8f2075eecc6bf33ce"}, "config": {"enabled": true, "alias": null, "schema": null, "database": null, "tags": [], "meta": {}, "group": null, "materialized": "seed", "incremental_strategy": null, "persist_docs": {}, "post-hook": [], "pre-hook": [], "quoting": {}, "column_types": {}, "full_refresh": null, "unique_key": null, "on_schema_change": "ignore", "on_configuration_change": "apply", "grants": {}, "packages": [], "docs": {"show": true, "node_color": null}, "contract": {"enforced": false, "alias_types": true}, "delimiter": ",", "quote_columns": null}, "tags": [], "description": "A list of CAS RN identifiers and USP product names obtained manually from\nsearching the [USP catalog](https://store.usp.org/preservatives/category/USP-1213)\nfor products in the \"Preservatives\" category.", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": "sagerx://seeds/_seeds__models.yml", "build_path": null, "unrendered_config": {}, "created_at": 1731470992.2331343, "relation_name": "\"sagerx\".\"sagerx_dev\".\"usp_preservatives\"", "raw_code": "", "root_path": "/dbt/sagerx", "depends_on": {"macros": []}}, "test.sagerx.unique_all_ndc_descriptions_ndc.e6968eba9b": {"database": "sagerx", "schema": "sagerx_dev", "name": "unique_all_ndc_descriptions_ndc", "resource_type": "test", "package_name": "sagerx", "path": "unique_all_ndc_descriptions_ndc.sql", "original_file_path": "models/marts/ndc/_ndc__models.yml", "unique_id": "test.sagerx.unique_all_ndc_descriptions_ndc.e6968eba9b", "fqn": ["sagerx", "marts", "ndc", "unique_all_ndc_descriptions_ndc"], "alias": "unique_all_ndc_descriptions_ndc", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {}, "created_at": 1731470991.8970182, "relation_name": null, "raw_code": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "all_ndc_descriptions", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.sagerx.all_ndc_descriptions"]}, "compiled_path": "target/compiled/sagerx/models/marts/ndc/_ndc__models.yml/unique_all_ndc_descriptions_ndc.sql", "compiled": true, "compiled_code": "\n \n \n\nselect\n ndc as unique_field,\n count(*) as n_records\n\nfrom \"sagerx\".\"sagerx_dev\".\"all_ndc_descriptions\"\nwhere ndc is not null\ngroup by ndc\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "ndc", "file_key_name": "models.all_ndc_descriptions", "attached_node": "model.sagerx.all_ndc_descriptions", "test_metadata": {"name": "unique", "kwargs": {"column_name": "ndc", "model": "{{ get_where_subquery(ref('all_ndc_descriptions')) }}"}, "namespace": null}}, "test.sagerx.not_null_all_ndc_descriptions_ndc.5637013605": {"database": "sagerx", "schema": "sagerx_dev", "name": "not_null_all_ndc_descriptions_ndc", "resource_type": "test", "package_name": "sagerx", "path": "not_null_all_ndc_descriptions_ndc.sql", "original_file_path": "models/marts/ndc/_ndc__models.yml", "unique_id": "test.sagerx.not_null_all_ndc_descriptions_ndc.5637013605", "fqn": ["sagerx", "marts", "ndc", "not_null_all_ndc_descriptions_ndc"], "alias": "not_null_all_ndc_descriptions_ndc", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {}, "created_at": 1731470991.899093, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "all_ndc_descriptions", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.sagerx.all_ndc_descriptions"]}, "compiled_path": "target/compiled/sagerx/models/marts/ndc/_ndc__models.yml/not_null_all_ndc_descriptions_ndc.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect ndc\nfrom \"sagerx\".\"sagerx_dev\".\"all_ndc_descriptions\"\nwhere ndc is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "ndc", "file_key_name": "models.all_ndc_descriptions", "attached_node": "model.sagerx.all_ndc_descriptions", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "ndc", "model": "{{ get_where_subquery(ref('all_ndc_descriptions')) }}"}, "namespace": null}}, "test.sagerx.unique_atc_codes_to_rxnorm_products_rxcui.b171565c1d": {"database": "sagerx", "schema": "sagerx_dev", "name": "unique_atc_codes_to_rxnorm_products_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "unique_atc_codes_to_rxnorm_products_rxcui.sql", "original_file_path": "models/marts/classification/_classification__models.yml", "unique_id": "test.sagerx.unique_atc_codes_to_rxnorm_products_rxcui.b171565c1d", "fqn": ["sagerx", "marts", "classification", "unique_atc_codes_to_rxnorm_products_rxcui"], "alias": "unique_atc_codes_to_rxnorm_products_rxcui", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {}, "created_at": 1731470991.9035907, "relation_name": null, "raw_code": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "atc_codes_to_rxnorm_products", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.sagerx.atc_codes_to_rxnorm_products"]}, "compiled_path": "target/compiled/sagerx/models/marts/classification/_classification__models.yml/unique_atc_codes_to_rxnorm_products_rxcui.sql", "compiled": true, "compiled_code": "\n \n \n\nselect\n rxcui as unique_field,\n count(*) as n_records\n\nfrom \"sagerx\".\"sagerx_dev\".\"atc_codes_to_rxnorm_products\"\nwhere rxcui is not null\ngroup by rxcui\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "rxcui", "file_key_name": "models.atc_codes_to_rxnorm_products", "attached_node": "model.sagerx.atc_codes_to_rxnorm_products", "test_metadata": {"name": "unique", "kwargs": {"column_name": "rxcui", "model": "{{ get_where_subquery(ref('atc_codes_to_rxnorm_products')) }}"}, "namespace": null}}, "test.sagerx.not_null_atc_codes_to_rxnorm_products_rxcui.f1ef3093c1": {"database": "sagerx", "schema": "sagerx_dev", "name": "not_null_atc_codes_to_rxnorm_products_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "not_null_atc_codes_to_rxnorm_products_rxcui.sql", "original_file_path": "models/marts/classification/_classification__models.yml", "unique_id": "test.sagerx.not_null_atc_codes_to_rxnorm_products_rxcui.f1ef3093c1", "fqn": ["sagerx", "marts", "classification", "not_null_atc_codes_to_rxnorm_products_rxcui"], "alias": "not_null_atc_codes_to_rxnorm_products_rxcui", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {}, "created_at": 1731470991.9054525, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "atc_codes_to_rxnorm_products", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.sagerx.atc_codes_to_rxnorm_products"]}, "compiled_path": "target/compiled/sagerx/models/marts/classification/_classification__models.yml/not_null_atc_codes_to_rxnorm_products_rxcui.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect rxcui\nfrom \"sagerx\".\"sagerx_dev\".\"atc_codes_to_rxnorm_products\"\nwhere rxcui is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "rxcui", "file_key_name": "models.atc_codes_to_rxnorm_products", "attached_node": "model.sagerx.atc_codes_to_rxnorm_products", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "rxcui", "model": "{{ get_where_subquery(ref('atc_codes_to_rxnorm_products')) }}"}, "namespace": null}}, "test.sagerx.unique_products_product_rxcui.72c98af3cb": {"database": "sagerx", "schema": "sagerx_dev", "name": "unique_products_product_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "unique_products_product_rxcui.sql", "original_file_path": "models/marts/products/_products__models.yml", "unique_id": "test.sagerx.unique_products_product_rxcui.72c98af3cb", "fqn": ["sagerx", "marts", "products", "unique_products_product_rxcui"], "alias": "unique_products_product_rxcui", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {}, "created_at": 1731470991.9126582, "relation_name": null, "raw_code": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "products", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.sagerx.products"]}, "compiled_path": "target/compiled/sagerx/models/marts/products/_products__models.yml/unique_products_product_rxcui.sql", "compiled": true, "compiled_code": "\n \n \n\nselect\n product_rxcui as unique_field,\n count(*) as n_records\n\nfrom \"sagerx\".\"sagerx_dev\".\"products\"\nwhere product_rxcui is not null\ngroup by product_rxcui\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "product_rxcui", "file_key_name": "models.products", "attached_node": "model.sagerx.products", "test_metadata": {"name": "unique", "kwargs": {"column_name": "product_rxcui", "model": "{{ get_where_subquery(ref('products')) }}"}, "namespace": null}}, "test.sagerx.not_null_products_product_rxcui.fa0e88a9af": {"database": "sagerx", "schema": "sagerx_dev", "name": "not_null_products_product_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "not_null_products_product_rxcui.sql", "original_file_path": "models/marts/products/_products__models.yml", "unique_id": "test.sagerx.not_null_products_product_rxcui.fa0e88a9af", "fqn": ["sagerx", "marts", "products", "not_null_products_product_rxcui"], "alias": "not_null_products_product_rxcui", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {}, "created_at": 1731470991.9144998, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "products", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.sagerx.products"]}, "compiled_path": "target/compiled/sagerx/models/marts/products/_products__models.yml/not_null_products_product_rxcui.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect product_rxcui\nfrom \"sagerx\".\"sagerx_dev\".\"products\"\nwhere product_rxcui is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "product_rxcui", "file_key_name": "models.products", "attached_node": "model.sagerx.products", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "product_rxcui", "model": "{{ get_where_subquery(ref('products')) }}"}, "namespace": null}}, "test.sagerx.unique_current_drug_shortages_id.44ee4734b0": {"database": "sagerx", "schema": "sagerx_dev", "name": "unique_current_drug_shortages_id", "resource_type": "test", "package_name": "sagerx", "path": "unique_current_drug_shortages_id.sql", "original_file_path": "models/staging/ashp/_ashp__models.yml", "unique_id": "test.sagerx.unique_current_drug_shortages_id.44ee4734b0", "fqn": ["sagerx", "staging", "ashp", "unique_current_drug_shortages_id"], "alias": "unique_current_drug_shortages_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": false, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {}, "created_at": 1731470992.0005171, "relation_name": null, "raw_code": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "current_drug_shortages", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_unique"], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "id", "file_key_name": "models.current_drug_shortages", "attached_node": null, "test_metadata": {"name": "unique", "kwargs": {"column_name": "id", "model": "{{ get_where_subquery(ref('current_drug_shortages')) }}"}, "namespace": null}}, "test.sagerx.not_null_current_drug_shortages_id.1c29e8e8fd": {"database": "sagerx", "schema": "sagerx_dev", "name": "not_null_current_drug_shortages_id", "resource_type": "test", "package_name": "sagerx", "path": "not_null_current_drug_shortages_id.sql", "original_file_path": "models/staging/ashp/_ashp__models.yml", "unique_id": "test.sagerx.not_null_current_drug_shortages_id.1c29e8e8fd", "fqn": ["sagerx", "staging", "ashp", "not_null_current_drug_shortages_id"], "alias": "not_null_current_drug_shortages_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": false, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {}, "created_at": 1731470992.0024648, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "current_drug_shortages", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "id", "file_key_name": "models.current_drug_shortages", "attached_node": null, "test_metadata": {"name": "not_null", "kwargs": {"column_name": "id", "model": "{{ get_where_subquery(ref('current_drug_shortages')) }}"}, "namespace": null}}, "test.sagerx.unique_current_drug_shortages_ndcs_id.8f2cb158e1": {"database": "sagerx", "schema": "sagerx_dev", "name": "unique_current_drug_shortages_ndcs_id", "resource_type": "test", "package_name": "sagerx", "path": "unique_current_drug_shortages_ndcs_id.sql", "original_file_path": "models/staging/ashp/_ashp__models.yml", "unique_id": "test.sagerx.unique_current_drug_shortages_ndcs_id.8f2cb158e1", "fqn": ["sagerx", "staging", "ashp", "unique_current_drug_shortages_ndcs_id"], "alias": "unique_current_drug_shortages_ndcs_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": false, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {}, "created_at": 1731470992.0043285, "relation_name": null, "raw_code": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "current_drug_shortages_ndcs", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_unique"], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "id", "file_key_name": "models.current_drug_shortages_ndcs", "attached_node": null, "test_metadata": {"name": "unique", "kwargs": {"column_name": "id", "model": "{{ get_where_subquery(ref('current_drug_shortages_ndcs')) }}"}, "namespace": null}}, "test.sagerx.not_null_current_drug_shortages_ndcs_id.cc48ea0945": {"database": "sagerx", "schema": "sagerx_dev", "name": "not_null_current_drug_shortages_ndcs_id", "resource_type": "test", "package_name": "sagerx", "path": "not_null_current_drug_shortages_ndcs_id.sql", "original_file_path": "models/staging/ashp/_ashp__models.yml", "unique_id": "test.sagerx.not_null_current_drug_shortages_ndcs_id.cc48ea0945", "fqn": ["sagerx", "staging", "ashp", "not_null_current_drug_shortages_ndcs_id"], "alias": "not_null_current_drug_shortages_ndcs_id", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": false, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {}, "created_at": 1731470992.0061467, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "current_drug_shortages_ndcs", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null"], "nodes": []}, "compiled_path": null, "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "id", "file_key_name": "models.current_drug_shortages_ndcs", "attached_node": null, "test_metadata": {"name": "not_null", "kwargs": {"column_name": "id", "model": "{{ get_where_subquery(ref('current_drug_shortages_ndcs')) }}"}, "namespace": null}}, "test.sagerx.unique_stg_fda_unfinished__ndcs_ndc11.dd8892c8c6": {"database": "sagerx", "schema": "sagerx_dev", "name": "unique_stg_fda_unfinished__ndcs_ndc11", "resource_type": "test", "package_name": "sagerx", "path": "unique_stg_fda_unfinished__ndcs_ndc11.sql", "original_file_path": "models/staging/fda_unfinished/_fda_unfinished__models.yml", "unique_id": "test.sagerx.unique_stg_fda_unfinished__ndcs_ndc11.dd8892c8c6", "fqn": ["sagerx", "staging", "fda_unfinished", "unique_stg_fda_unfinished__ndcs_ndc11"], "alias": "unique_stg_fda_unfinished__ndcs_ndc11", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {}, "created_at": 1731470992.0197299, "relation_name": null, "raw_code": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_fda_unfinished__ndcs", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.sagerx.stg_fda_unfinished__ndcs"]}, "compiled_path": "target/compiled/sagerx/models/staging/fda_unfinished/_fda_unfinished__models.yml/unique_stg_fda_unfinished__ndcs_ndc11.sql", "compiled": true, "compiled_code": "\n \n \n\nselect\n ndc11 as unique_field,\n count(*) as n_records\n\nfrom \"sagerx\".\"sagerx_dev\".\"stg_fda_unfinished__ndcs\"\nwhere ndc11 is not null\ngroup by ndc11\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "ndc11", "file_key_name": "models.stg_fda_unfinished__ndcs", "attached_node": "model.sagerx.stg_fda_unfinished__ndcs", "test_metadata": {"name": "unique", "kwargs": {"column_name": "ndc11", "model": "{{ get_where_subquery(ref('stg_fda_unfinished__ndcs')) }}"}, "namespace": null}}, "test.sagerx.not_null_stg_fda_unfinished__ndcs_ndc11.0257f0c5fe": {"database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_fda_unfinished__ndcs_ndc11", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_fda_unfinished__ndcs_ndc11.sql", "original_file_path": "models/staging/fda_unfinished/_fda_unfinished__models.yml", "unique_id": "test.sagerx.not_null_stg_fda_unfinished__ndcs_ndc11.0257f0c5fe", "fqn": ["sagerx", "staging", "fda_unfinished", "not_null_stg_fda_unfinished__ndcs_ndc11"], "alias": "not_null_stg_fda_unfinished__ndcs_ndc11", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {}, "created_at": 1731470992.0215635, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_fda_unfinished__ndcs", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.sagerx.stg_fda_unfinished__ndcs"]}, "compiled_path": "target/compiled/sagerx/models/staging/fda_unfinished/_fda_unfinished__models.yml/not_null_stg_fda_unfinished__ndcs_ndc11.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect ndc11\nfrom \"sagerx\".\"sagerx_dev\".\"stg_fda_unfinished__ndcs\"\nwhere ndc11 is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "ndc11", "file_key_name": "models.stg_fda_unfinished__ndcs", "attached_node": "model.sagerx.stg_fda_unfinished__ndcs", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "ndc11", "model": "{{ get_where_subquery(ref('stg_fda_unfinished__ndcs')) }}"}, "namespace": null}}, "test.sagerx.unique_stg_rxnorm__ndcs_ndc.9929df0b31": {"database": "sagerx", "schema": "sagerx_dev", "name": "unique_stg_rxnorm__ndcs_ndc", "resource_type": "test", "package_name": "sagerx", "path": "unique_stg_rxnorm__ndcs_ndc.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.unique_stg_rxnorm__ndcs_ndc.9929df0b31", "fqn": ["sagerx", "staging", "rxnorm", "unique_stg_rxnorm__ndcs_ndc"], "alias": "unique_stg_rxnorm__ndcs_ndc", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {}, "created_at": 1731470992.0448675, "relation_name": null, "raw_code": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_rxnorm__ndcs", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.sagerx.stg_rxnorm__ndcs"]}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/_rxnorm__models.yml/unique_stg_rxnorm__ndcs_ndc.sql", "compiled": true, "compiled_code": "\n \n \n\nselect\n ndc as unique_field,\n count(*) as n_records\n\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ndcs\"\nwhere ndc is not null\ngroup by ndc\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "ndc", "file_key_name": "models.stg_rxnorm__ndcs", "attached_node": "model.sagerx.stg_rxnorm__ndcs", "test_metadata": {"name": "unique", "kwargs": {"column_name": "ndc", "model": "{{ get_where_subquery(ref('stg_rxnorm__ndcs')) }}"}, "namespace": null}}, "test.sagerx.not_null_stg_rxnorm__ndcs_ndc.4db0f5b5df": {"database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_rxnorm__ndcs_ndc", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_rxnorm__ndcs_ndc.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.not_null_stg_rxnorm__ndcs_ndc.4db0f5b5df", "fqn": ["sagerx", "staging", "rxnorm", "not_null_stg_rxnorm__ndcs_ndc"], "alias": "not_null_stg_rxnorm__ndcs_ndc", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {}, "created_at": 1731470992.0467207, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_rxnorm__ndcs", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.sagerx.stg_rxnorm__ndcs"]}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/_rxnorm__models.yml/not_null_stg_rxnorm__ndcs_ndc.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect ndc\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ndcs\"\nwhere ndc is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "ndc", "file_key_name": "models.stg_rxnorm__ndcs", "attached_node": "model.sagerx.stg_rxnorm__ndcs", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "ndc", "model": "{{ get_where_subquery(ref('stg_rxnorm__ndcs')) }}"}, "namespace": null}}, "test.sagerx.unique_stg_rxnorm__clinical_products_rxcui.0bac3cbe9c": {"database": "sagerx", "schema": "sagerx_dev", "name": "unique_stg_rxnorm__clinical_products_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "unique_stg_rxnorm__clinical_products_rxcui.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.unique_stg_rxnorm__clinical_products_rxcui.0bac3cbe9c", "fqn": ["sagerx", "staging", "rxnorm", "unique_stg_rxnorm__clinical_products_rxcui"], "alias": "unique_stg_rxnorm__clinical_products_rxcui", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {}, "created_at": 1731470992.0485504, "relation_name": null, "raw_code": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_rxnorm__clinical_products", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.sagerx.stg_rxnorm__clinical_products"]}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/_rxnorm__models.yml/unique_stg_rxnorm__clinical_products_rxcui.sql", "compiled": true, "compiled_code": "\n \n \n\nselect\n rxcui as unique_field,\n count(*) as n_records\n\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_products\"\nwhere rxcui is not null\ngroup by rxcui\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "rxcui", "file_key_name": "models.stg_rxnorm__clinical_products", "attached_node": "model.sagerx.stg_rxnorm__clinical_products", "test_metadata": {"name": "unique", "kwargs": {"column_name": "rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__clinical_products')) }}"}, "namespace": null}}, "test.sagerx.not_null_stg_rxnorm__clinical_products_rxcui.5dd04a1235": {"database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_rxnorm__clinical_products_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_rxnorm__clinical_products_rxcui.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.not_null_stg_rxnorm__clinical_products_rxcui.5dd04a1235", "fqn": ["sagerx", "staging", "rxnorm", "not_null_stg_rxnorm__clinical_products_rxcui"], "alias": "not_null_stg_rxnorm__clinical_products_rxcui", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {}, "created_at": 1731470992.050368, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_rxnorm__clinical_products", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.sagerx.stg_rxnorm__clinical_products"]}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/_rxnorm__models.yml/not_null_stg_rxnorm__clinical_products_rxcui.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect rxcui\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_products\"\nwhere rxcui is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "rxcui", "file_key_name": "models.stg_rxnorm__clinical_products", "attached_node": "model.sagerx.stg_rxnorm__clinical_products", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__clinical_products')) }}"}, "namespace": null}}, "test.sagerx.not_null_stg_rxnorm__clinical_product_component_links_clinical_product_rxcui.94c75bf656": {"database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_rxnorm__clinical_product_component_links_clinical_product_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_rxnorm__clinical__19f6fb5bcaae5ebccd694c1e44d2aa93.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.not_null_stg_rxnorm__clinical_product_component_links_clinical_product_rxcui.94c75bf656", "fqn": ["sagerx", "staging", "rxnorm", "not_null_stg_rxnorm__clinical_product_component_links_clinical_product_rxcui"], "alias": "not_null_stg_rxnorm__clinical__19f6fb5bcaae5ebccd694c1e44d2aa93", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "not_null_stg_rxnorm__clinical__19f6fb5bcaae5ebccd694c1e44d2aa93", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {"alias": "not_null_stg_rxnorm__clinical__19f6fb5bcaae5ebccd694c1e44d2aa93"}, "created_at": 1731470992.052306, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}{{ config(alias=\"not_null_stg_rxnorm__clinical__19f6fb5bcaae5ebccd694c1e44d2aa93\") }}", "language": "sql", "refs": [{"name": "stg_rxnorm__clinical_product_component_links", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.sagerx.stg_rxnorm__clinical_product_component_links"]}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/_rxnorm__models.yml/not_null_stg_rxnorm__clinical__19f6fb5bcaae5ebccd694c1e44d2aa93.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect clinical_product_rxcui\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_product_component_links\"\nwhere clinical_product_rxcui is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "clinical_product_rxcui", "file_key_name": "models.stg_rxnorm__clinical_product_component_links", "attached_node": "model.sagerx.stg_rxnorm__clinical_product_component_links", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "clinical_product_rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__clinical_product_component_links')) }}"}, "namespace": null}}, "test.sagerx.not_null_stg_rxnorm__clinical_product_component_links_clinical_product_component_rxcui.869196279f": {"database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_rxnorm__clinical_product_component_links_clinical_product_component_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_rxnorm__clinical__fd69d791502479297cb519f2232d296b.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.not_null_stg_rxnorm__clinical_product_component_links_clinical_product_component_rxcui.869196279f", "fqn": ["sagerx", "staging", "rxnorm", "not_null_stg_rxnorm__clinical_product_component_links_clinical_product_component_rxcui"], "alias": "not_null_stg_rxnorm__clinical__fd69d791502479297cb519f2232d296b", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "not_null_stg_rxnorm__clinical__fd69d791502479297cb519f2232d296b", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {"alias": "not_null_stg_rxnorm__clinical__fd69d791502479297cb519f2232d296b"}, "created_at": 1731470992.0541239, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}{{ config(alias=\"not_null_stg_rxnorm__clinical__fd69d791502479297cb519f2232d296b\") }}", "language": "sql", "refs": [{"name": "stg_rxnorm__clinical_product_component_links", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.sagerx.stg_rxnorm__clinical_product_component_links"]}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/_rxnorm__models.yml/not_null_stg_rxnorm__clinical__fd69d791502479297cb519f2232d296b.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect clinical_product_component_rxcui\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_product_component_links\"\nwhere clinical_product_component_rxcui is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "clinical_product_component_rxcui", "file_key_name": "models.stg_rxnorm__clinical_product_component_links", "attached_node": "model.sagerx.stg_rxnorm__clinical_product_component_links", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "clinical_product_component_rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__clinical_product_component_links')) }}"}, "namespace": null}}, "test.sagerx.unique_stg_rxnorm__clinical_product_components_rxcui.2705e1f418": {"database": "sagerx", "schema": "sagerx_dev", "name": "unique_stg_rxnorm__clinical_product_components_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "unique_stg_rxnorm__clinical_product_components_rxcui.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.unique_stg_rxnorm__clinical_product_components_rxcui.2705e1f418", "fqn": ["sagerx", "staging", "rxnorm", "unique_stg_rxnorm__clinical_product_components_rxcui"], "alias": "unique_stg_rxnorm__clinical_product_components_rxcui", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {}, "created_at": 1731470992.0559332, "relation_name": null, "raw_code": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_rxnorm__clinical_product_components", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.sagerx.stg_rxnorm__clinical_product_components"]}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/_rxnorm__models.yml/unique_stg_rxnorm__clinical_product_components_rxcui.sql", "compiled": true, "compiled_code": "\n \n \n\nselect\n rxcui as unique_field,\n count(*) as n_records\n\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_product_components\"\nwhere rxcui is not null\ngroup by rxcui\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "rxcui", "file_key_name": "models.stg_rxnorm__clinical_product_components", "attached_node": "model.sagerx.stg_rxnorm__clinical_product_components", "test_metadata": {"name": "unique", "kwargs": {"column_name": "rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__clinical_product_components')) }}"}, "namespace": null}}, "test.sagerx.not_null_stg_rxnorm__clinical_product_components_rxcui.0b9c81f7ae": {"database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_rxnorm__clinical_product_components_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_rxnorm__clinical_product_components_rxcui.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.not_null_stg_rxnorm__clinical_product_components_rxcui.0b9c81f7ae", "fqn": ["sagerx", "staging", "rxnorm", "not_null_stg_rxnorm__clinical_product_components_rxcui"], "alias": "not_null_stg_rxnorm__clinical_product_components_rxcui", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {}, "created_at": 1731470992.0577414, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_rxnorm__clinical_product_components", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.sagerx.stg_rxnorm__clinical_product_components"]}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/_rxnorm__models.yml/not_null_stg_rxnorm__clinical_product_components_rxcui.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect rxcui\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_product_components\"\nwhere rxcui is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "rxcui", "file_key_name": "models.stg_rxnorm__clinical_product_components", "attached_node": "model.sagerx.stg_rxnorm__clinical_product_components", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__clinical_product_components')) }}"}, "namespace": null}}, "test.sagerx.unique_stg_rxnorm__dose_forms_rxcui.c7fb3a8da2": {"database": "sagerx", "schema": "sagerx_dev", "name": "unique_stg_rxnorm__dose_forms_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "unique_stg_rxnorm__dose_forms_rxcui.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.unique_stg_rxnorm__dose_forms_rxcui.c7fb3a8da2", "fqn": ["sagerx", "staging", "rxnorm", "unique_stg_rxnorm__dose_forms_rxcui"], "alias": "unique_stg_rxnorm__dose_forms_rxcui", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {}, "created_at": 1731470992.0595539, "relation_name": null, "raw_code": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_rxnorm__dose_forms", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.sagerx.stg_rxnorm__dose_forms"]}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/_rxnorm__models.yml/unique_stg_rxnorm__dose_forms_rxcui.sql", "compiled": true, "compiled_code": "\n \n \n\nselect\n rxcui as unique_field,\n count(*) as n_records\n\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__dose_forms\"\nwhere rxcui is not null\ngroup by rxcui\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "rxcui", "file_key_name": "models.stg_rxnorm__dose_forms", "attached_node": "model.sagerx.stg_rxnorm__dose_forms", "test_metadata": {"name": "unique", "kwargs": {"column_name": "rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__dose_forms')) }}"}, "namespace": null}}, "test.sagerx.not_null_stg_rxnorm__dose_forms_rxcui.a06bc0be08": {"database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_rxnorm__dose_forms_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_rxnorm__dose_forms_rxcui.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.not_null_stg_rxnorm__dose_forms_rxcui.a06bc0be08", "fqn": ["sagerx", "staging", "rxnorm", "not_null_stg_rxnorm__dose_forms_rxcui"], "alias": "not_null_stg_rxnorm__dose_forms_rxcui", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {}, "created_at": 1731470992.0613766, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_rxnorm__dose_forms", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.sagerx.stg_rxnorm__dose_forms"]}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/_rxnorm__models.yml/not_null_stg_rxnorm__dose_forms_rxcui.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect rxcui\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__dose_forms\"\nwhere rxcui is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "rxcui", "file_key_name": "models.stg_rxnorm__dose_forms", "attached_node": "model.sagerx.stg_rxnorm__dose_forms", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__dose_forms')) }}"}, "namespace": null}}, "test.sagerx.not_null_stg_rxnorm__dose_form_group_links_dose_form_rxcui.3fdd0d4bb1": {"database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_rxnorm__dose_form_group_links_dose_form_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_rxnorm__dose_form_group_links_dose_form_rxcui.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.not_null_stg_rxnorm__dose_form_group_links_dose_form_rxcui.3fdd0d4bb1", "fqn": ["sagerx", "staging", "rxnorm", "not_null_stg_rxnorm__dose_form_group_links_dose_form_rxcui"], "alias": "not_null_stg_rxnorm__dose_form_group_links_dose_form_rxcui", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {}, "created_at": 1731470992.0633106, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_rxnorm__dose_form_group_links", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.sagerx.stg_rxnorm__dose_form_group_links"]}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/_rxnorm__models.yml/not_null_stg_rxnorm__dose_form_group_links_dose_form_rxcui.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect dose_form_rxcui\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__dose_form_group_links\"\nwhere dose_form_rxcui is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "dose_form_rxcui", "file_key_name": "models.stg_rxnorm__dose_form_group_links", "attached_node": "model.sagerx.stg_rxnorm__dose_form_group_links", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "dose_form_rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__dose_form_group_links')) }}"}, "namespace": null}}, "test.sagerx.not_null_stg_rxnorm__dose_form_group_links_dose_form_group_rxcui.f4fde7102f": {"database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_rxnorm__dose_form_group_links_dose_form_group_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_rxnorm__dose_form_1c7459a2a0be5b5a7b3016f225e0146f.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.not_null_stg_rxnorm__dose_form_group_links_dose_form_group_rxcui.f4fde7102f", "fqn": ["sagerx", "staging", "rxnorm", "not_null_stg_rxnorm__dose_form_group_links_dose_form_group_rxcui"], "alias": "not_null_stg_rxnorm__dose_form_1c7459a2a0be5b5a7b3016f225e0146f", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "not_null_stg_rxnorm__dose_form_1c7459a2a0be5b5a7b3016f225e0146f", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {"alias": "not_null_stg_rxnorm__dose_form_1c7459a2a0be5b5a7b3016f225e0146f"}, "created_at": 1731470992.065121, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}{{ config(alias=\"not_null_stg_rxnorm__dose_form_1c7459a2a0be5b5a7b3016f225e0146f\") }}", "language": "sql", "refs": [{"name": "stg_rxnorm__dose_form_group_links", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.sagerx.stg_rxnorm__dose_form_group_links"]}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/_rxnorm__models.yml/not_null_stg_rxnorm__dose_form_1c7459a2a0be5b5a7b3016f225e0146f.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect dose_form_group_rxcui\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__dose_form_group_links\"\nwhere dose_form_group_rxcui is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "dose_form_group_rxcui", "file_key_name": "models.stg_rxnorm__dose_form_group_links", "attached_node": "model.sagerx.stg_rxnorm__dose_form_group_links", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "dose_form_group_rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__dose_form_group_links')) }}"}, "namespace": null}}, "test.sagerx.unique_stg_rxnorm__dose_form_groups_rxcui.b2e6200e1b": {"database": "sagerx", "schema": "sagerx_dev", "name": "unique_stg_rxnorm__dose_form_groups_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "unique_stg_rxnorm__dose_form_groups_rxcui.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.unique_stg_rxnorm__dose_form_groups_rxcui.b2e6200e1b", "fqn": ["sagerx", "staging", "rxnorm", "unique_stg_rxnorm__dose_form_groups_rxcui"], "alias": "unique_stg_rxnorm__dose_form_groups_rxcui", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {}, "created_at": 1731470992.066916, "relation_name": null, "raw_code": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_rxnorm__dose_form_groups", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.sagerx.stg_rxnorm__dose_form_groups"]}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/_rxnorm__models.yml/unique_stg_rxnorm__dose_form_groups_rxcui.sql", "compiled": true, "compiled_code": "\n \n \n\nselect\n rxcui as unique_field,\n count(*) as n_records\n\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__dose_form_groups\"\nwhere rxcui is not null\ngroup by rxcui\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "rxcui", "file_key_name": "models.stg_rxnorm__dose_form_groups", "attached_node": "model.sagerx.stg_rxnorm__dose_form_groups", "test_metadata": {"name": "unique", "kwargs": {"column_name": "rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__dose_form_groups')) }}"}, "namespace": null}}, "test.sagerx.not_null_stg_rxnorm__dose_form_groups_rxcui.eca504df20": {"database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_rxnorm__dose_form_groups_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_rxnorm__dose_form_groups_rxcui.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.not_null_stg_rxnorm__dose_form_groups_rxcui.eca504df20", "fqn": ["sagerx", "staging", "rxnorm", "not_null_stg_rxnorm__dose_form_groups_rxcui"], "alias": "not_null_stg_rxnorm__dose_form_groups_rxcui", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {}, "created_at": 1731470992.0687497, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_rxnorm__dose_form_groups", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.sagerx.stg_rxnorm__dose_form_groups"]}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/_rxnorm__models.yml/not_null_stg_rxnorm__dose_form_groups_rxcui.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect rxcui\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__dose_form_groups\"\nwhere rxcui is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "rxcui", "file_key_name": "models.stg_rxnorm__dose_form_groups", "attached_node": "model.sagerx.stg_rxnorm__dose_form_groups", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__dose_form_groups')) }}"}, "namespace": null}}, "test.sagerx.unique_stg_rxnorm__ingredients_rxcui.c6b139419f": {"database": "sagerx", "schema": "sagerx_dev", "name": "unique_stg_rxnorm__ingredients_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "unique_stg_rxnorm__ingredients_rxcui.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.unique_stg_rxnorm__ingredients_rxcui.c6b139419f", "fqn": ["sagerx", "staging", "rxnorm", "unique_stg_rxnorm__ingredients_rxcui"], "alias": "unique_stg_rxnorm__ingredients_rxcui", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {}, "created_at": 1731470992.0705798, "relation_name": null, "raw_code": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_rxnorm__ingredients", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.sagerx.stg_rxnorm__ingredients"]}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/_rxnorm__models.yml/unique_stg_rxnorm__ingredients_rxcui.sql", "compiled": true, "compiled_code": "\n \n \n\nselect\n rxcui as unique_field,\n count(*) as n_records\n\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredients\"\nwhere rxcui is not null\ngroup by rxcui\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "rxcui", "file_key_name": "models.stg_rxnorm__ingredients", "attached_node": "model.sagerx.stg_rxnorm__ingredients", "test_metadata": {"name": "unique", "kwargs": {"column_name": "rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__ingredients')) }}"}, "namespace": null}}, "test.sagerx.not_null_stg_rxnorm__ingredients_rxcui.24a1dca332": {"database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_rxnorm__ingredients_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_rxnorm__ingredients_rxcui.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.not_null_stg_rxnorm__ingredients_rxcui.24a1dca332", "fqn": ["sagerx", "staging", "rxnorm", "not_null_stg_rxnorm__ingredients_rxcui"], "alias": "not_null_stg_rxnorm__ingredients_rxcui", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {}, "created_at": 1731470992.0725353, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_rxnorm__ingredients", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.sagerx.stg_rxnorm__ingredients"]}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/_rxnorm__models.yml/not_null_stg_rxnorm__ingredients_rxcui.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect rxcui\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredients\"\nwhere rxcui is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "rxcui", "file_key_name": "models.stg_rxnorm__ingredients", "attached_node": "model.sagerx.stg_rxnorm__ingredients", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__ingredients')) }}"}, "namespace": null}}, "test.sagerx.not_null_stg_rxnorm__ingredient_component_links_ingredient_rxcui.303404889c": {"database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_rxnorm__ingredient_component_links_ingredient_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_rxnorm__ingredien_256eebaa59b47fbaab47776df0dd4303.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.not_null_stg_rxnorm__ingredient_component_links_ingredient_rxcui.303404889c", "fqn": ["sagerx", "staging", "rxnorm", "not_null_stg_rxnorm__ingredient_component_links_ingredient_rxcui"], "alias": "not_null_stg_rxnorm__ingredien_256eebaa59b47fbaab47776df0dd4303", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "not_null_stg_rxnorm__ingredien_256eebaa59b47fbaab47776df0dd4303", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {"alias": "not_null_stg_rxnorm__ingredien_256eebaa59b47fbaab47776df0dd4303"}, "created_at": 1731470992.074359, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}{{ config(alias=\"not_null_stg_rxnorm__ingredien_256eebaa59b47fbaab47776df0dd4303\") }}", "language": "sql", "refs": [{"name": "stg_rxnorm__ingredient_component_links", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.sagerx.stg_rxnorm__ingredient_component_links"]}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/_rxnorm__models.yml/not_null_stg_rxnorm__ingredien_256eebaa59b47fbaab47776df0dd4303.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect ingredient_rxcui\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredient_component_links\"\nwhere ingredient_rxcui is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "ingredient_rxcui", "file_key_name": "models.stg_rxnorm__ingredient_component_links", "attached_node": "model.sagerx.stg_rxnorm__ingredient_component_links", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "ingredient_rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__ingredient_component_links')) }}"}, "namespace": null}}, "test.sagerx.not_null_stg_rxnorm__ingredient_component_links_ingredient_component_rxcui.a6923961b3": {"database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_rxnorm__ingredient_component_links_ingredient_component_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_rxnorm__ingredien_73ff0c892ffceac004b1c3fd063eb63f.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.not_null_stg_rxnorm__ingredient_component_links_ingredient_component_rxcui.a6923961b3", "fqn": ["sagerx", "staging", "rxnorm", "not_null_stg_rxnorm__ingredient_component_links_ingredient_component_rxcui"], "alias": "not_null_stg_rxnorm__ingredien_73ff0c892ffceac004b1c3fd063eb63f", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "not_null_stg_rxnorm__ingredien_73ff0c892ffceac004b1c3fd063eb63f", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {"alias": "not_null_stg_rxnorm__ingredien_73ff0c892ffceac004b1c3fd063eb63f"}, "created_at": 1731470992.0761695, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}{{ config(alias=\"not_null_stg_rxnorm__ingredien_73ff0c892ffceac004b1c3fd063eb63f\") }}", "language": "sql", "refs": [{"name": "stg_rxnorm__ingredient_component_links", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.sagerx.stg_rxnorm__ingredient_component_links"]}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/_rxnorm__models.yml/not_null_stg_rxnorm__ingredien_73ff0c892ffceac004b1c3fd063eb63f.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect ingredient_component_rxcui\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredient_component_links\"\nwhere ingredient_component_rxcui is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "ingredient_component_rxcui", "file_key_name": "models.stg_rxnorm__ingredient_component_links", "attached_node": "model.sagerx.stg_rxnorm__ingredient_component_links", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "ingredient_component_rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__ingredient_component_links')) }}"}, "namespace": null}}, "test.sagerx.unique_stg_rxnorm__ingredient_components_rxcui.75f7804348": {"database": "sagerx", "schema": "sagerx_dev", "name": "unique_stg_rxnorm__ingredient_components_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "unique_stg_rxnorm__ingredient_components_rxcui.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.unique_stg_rxnorm__ingredient_components_rxcui.75f7804348", "fqn": ["sagerx", "staging", "rxnorm", "unique_stg_rxnorm__ingredient_components_rxcui"], "alias": "unique_stg_rxnorm__ingredient_components_rxcui", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {}, "created_at": 1731470992.0779643, "relation_name": null, "raw_code": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_rxnorm__ingredient_components", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.sagerx.stg_rxnorm__ingredient_components"]}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/_rxnorm__models.yml/unique_stg_rxnorm__ingredient_components_rxcui.sql", "compiled": true, "compiled_code": "\n \n \n\nselect\n rxcui as unique_field,\n count(*) as n_records\n\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredient_components\"\nwhere rxcui is not null\ngroup by rxcui\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "rxcui", "file_key_name": "models.stg_rxnorm__ingredient_components", "attached_node": "model.sagerx.stg_rxnorm__ingredient_components", "test_metadata": {"name": "unique", "kwargs": {"column_name": "rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__ingredient_components')) }}"}, "namespace": null}}, "test.sagerx.not_null_stg_rxnorm__ingredient_components_rxcui.aed8b0d4c5": {"database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_rxnorm__ingredient_components_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_rxnorm__ingredient_components_rxcui.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.not_null_stg_rxnorm__ingredient_components_rxcui.aed8b0d4c5", "fqn": ["sagerx", "staging", "rxnorm", "not_null_stg_rxnorm__ingredient_components_rxcui"], "alias": "not_null_stg_rxnorm__ingredient_components_rxcui", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {}, "created_at": 1731470992.079781, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_rxnorm__ingredient_components", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.sagerx.stg_rxnorm__ingredient_components"]}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/_rxnorm__models.yml/not_null_stg_rxnorm__ingredient_components_rxcui.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect rxcui\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredient_components\"\nwhere rxcui is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "rxcui", "file_key_name": "models.stg_rxnorm__ingredient_components", "attached_node": "model.sagerx.stg_rxnorm__ingredient_components", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__ingredient_components')) }}"}, "namespace": null}}, "test.sagerx.accepted_values_stg_rxnorm__ingredient_components_tty__IN.5d941aec74": {"database": "sagerx", "schema": "sagerx_dev", "name": "accepted_values_stg_rxnorm__ingredient_components_tty__IN", "resource_type": "test", "package_name": "sagerx", "path": "accepted_values_stg_rxnorm__ingredient_components_tty__IN.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.accepted_values_stg_rxnorm__ingredient_components_tty__IN.5d941aec74", "fqn": ["sagerx", "staging", "rxnorm", "accepted_values_stg_rxnorm__ingredient_components_tty__IN"], "alias": "accepted_values_stg_rxnorm__ingredient_components_tty__IN", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {}, "created_at": 1731470992.0817103, "relation_name": null, "raw_code": "{{ test_accepted_values(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_rxnorm__ingredient_components", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_accepted_values", "macro.dbt.get_where_subquery"], "nodes": ["model.sagerx.stg_rxnorm__ingredient_components"]}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/_rxnorm__models.yml/accepted_values_stg_rxnorm__ingredient_components_tty__IN.sql", "compiled": true, "compiled_code": "\n \n \n\nwith all_values as (\n\n select\n tty as value_field,\n count(*) as n_records\n\n from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredient_components\"\n group by tty\n\n)\n\nselect *\nfrom all_values\nwhere value_field not in (\n 'IN'\n)\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "tty", "file_key_name": "models.stg_rxnorm__ingredient_components", "attached_node": "model.sagerx.stg_rxnorm__ingredient_components", "test_metadata": {"name": "accepted_values", "kwargs": {"values": ["IN"], "column_name": "tty", "model": "{{ get_where_subquery(ref('stg_rxnorm__ingredient_components')) }}"}, "namespace": null}}, "test.sagerx.not_null_stg_rxnorm__ingredient_strength_links_clinical_product_component_rxcui.6be28272b5": {"database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_rxnorm__ingredient_strength_links_clinical_product_component_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_rxnorm__ingredien_0e136dc1bf3f46708433b0712fc4d257.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.not_null_stg_rxnorm__ingredient_strength_links_clinical_product_component_rxcui.6be28272b5", "fqn": ["sagerx", "staging", "rxnorm", "not_null_stg_rxnorm__ingredient_strength_links_clinical_product_component_rxcui"], "alias": "not_null_stg_rxnorm__ingredien_0e136dc1bf3f46708433b0712fc4d257", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "not_null_stg_rxnorm__ingredien_0e136dc1bf3f46708433b0712fc4d257", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {"alias": "not_null_stg_rxnorm__ingredien_0e136dc1bf3f46708433b0712fc4d257"}, "created_at": 1731470992.1028082, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}{{ config(alias=\"not_null_stg_rxnorm__ingredien_0e136dc1bf3f46708433b0712fc4d257\") }}", "language": "sql", "refs": [{"name": "stg_rxnorm__ingredient_strength_links", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.sagerx.stg_rxnorm__ingredient_strength_links"]}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/_rxnorm__models.yml/not_null_stg_rxnorm__ingredien_0e136dc1bf3f46708433b0712fc4d257.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect clinical_product_component_rxcui\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredient_strength_links\"\nwhere clinical_product_component_rxcui is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "clinical_product_component_rxcui", "file_key_name": "models.stg_rxnorm__ingredient_strength_links", "attached_node": "model.sagerx.stg_rxnorm__ingredient_strength_links", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "clinical_product_component_rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__ingredient_strength_links')) }}"}, "namespace": null}}, "test.sagerx.not_null_stg_rxnorm__ingredient_strength_links_ingredient_component_rxcui.fec66d7333": {"database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_rxnorm__ingredient_strength_links_ingredient_component_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_rxnorm__ingredien_3109d8d3c477102b98c75251c8f54b7f.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.not_null_stg_rxnorm__ingredient_strength_links_ingredient_component_rxcui.fec66d7333", "fqn": ["sagerx", "staging", "rxnorm", "not_null_stg_rxnorm__ingredient_strength_links_ingredient_component_rxcui"], "alias": "not_null_stg_rxnorm__ingredien_3109d8d3c477102b98c75251c8f54b7f", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "not_null_stg_rxnorm__ingredien_3109d8d3c477102b98c75251c8f54b7f", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {"alias": "not_null_stg_rxnorm__ingredien_3109d8d3c477102b98c75251c8f54b7f"}, "created_at": 1731470992.1046329, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}{{ config(alias=\"not_null_stg_rxnorm__ingredien_3109d8d3c477102b98c75251c8f54b7f\") }}", "language": "sql", "refs": [{"name": "stg_rxnorm__ingredient_strength_links", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.sagerx.stg_rxnorm__ingredient_strength_links"]}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/_rxnorm__models.yml/not_null_stg_rxnorm__ingredien_3109d8d3c477102b98c75251c8f54b7f.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect ingredient_component_rxcui\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredient_strength_links\"\nwhere ingredient_component_rxcui is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "ingredient_component_rxcui", "file_key_name": "models.stg_rxnorm__ingredient_strength_links", "attached_node": "model.sagerx.stg_rxnorm__ingredient_strength_links", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "ingredient_component_rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__ingredient_strength_links')) }}"}, "namespace": null}}, "test.sagerx.not_null_stg_rxnorm__ingredient_strength_links_ingredient_strength_rxcui.3527b30bda": {"database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_rxnorm__ingredient_strength_links_ingredient_strength_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_rxnorm__ingredien_f117a3323fa2904438079e55ee840b9c.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.not_null_stg_rxnorm__ingredient_strength_links_ingredient_strength_rxcui.3527b30bda", "fqn": ["sagerx", "staging", "rxnorm", "not_null_stg_rxnorm__ingredient_strength_links_ingredient_strength_rxcui"], "alias": "not_null_stg_rxnorm__ingredien_f117a3323fa2904438079e55ee840b9c", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "not_null_stg_rxnorm__ingredien_f117a3323fa2904438079e55ee840b9c", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {"alias": "not_null_stg_rxnorm__ingredien_f117a3323fa2904438079e55ee840b9c"}, "created_at": 1731470992.106445, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}{{ config(alias=\"not_null_stg_rxnorm__ingredien_f117a3323fa2904438079e55ee840b9c\") }}", "language": "sql", "refs": [{"name": "stg_rxnorm__ingredient_strength_links", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.sagerx.stg_rxnorm__ingredient_strength_links"]}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/_rxnorm__models.yml/not_null_stg_rxnorm__ingredien_f117a3323fa2904438079e55ee840b9c.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect ingredient_strength_rxcui\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredient_strength_links\"\nwhere ingredient_strength_rxcui is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "ingredient_strength_rxcui", "file_key_name": "models.stg_rxnorm__ingredient_strength_links", "attached_node": "model.sagerx.stg_rxnorm__ingredient_strength_links", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "ingredient_strength_rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__ingredient_strength_links')) }}"}, "namespace": null}}, "test.sagerx.unique_stg_rxnorm__ingredient_strengths_rxcui.716f558a6b": {"database": "sagerx", "schema": "sagerx_dev", "name": "unique_stg_rxnorm__ingredient_strengths_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "unique_stg_rxnorm__ingredient_strengths_rxcui.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.unique_stg_rxnorm__ingredient_strengths_rxcui.716f558a6b", "fqn": ["sagerx", "staging", "rxnorm", "unique_stg_rxnorm__ingredient_strengths_rxcui"], "alias": "unique_stg_rxnorm__ingredient_strengths_rxcui", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {}, "created_at": 1731470992.1082666, "relation_name": null, "raw_code": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_rxnorm__ingredient_strengths", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.sagerx.stg_rxnorm__ingredient_strengths"]}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/_rxnorm__models.yml/unique_stg_rxnorm__ingredient_strengths_rxcui.sql", "compiled": true, "compiled_code": "\n \n \n\nselect\n rxcui as unique_field,\n count(*) as n_records\n\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredient_strengths\"\nwhere rxcui is not null\ngroup by rxcui\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "rxcui", "file_key_name": "models.stg_rxnorm__ingredient_strengths", "attached_node": "model.sagerx.stg_rxnorm__ingredient_strengths", "test_metadata": {"name": "unique", "kwargs": {"column_name": "rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__ingredient_strengths')) }}"}, "namespace": null}}, "test.sagerx.not_null_stg_rxnorm__ingredient_strengths_rxcui.d4a27e753c": {"database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_rxnorm__ingredient_strengths_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_rxnorm__ingredient_strengths_rxcui.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.not_null_stg_rxnorm__ingredient_strengths_rxcui.d4a27e753c", "fqn": ["sagerx", "staging", "rxnorm", "not_null_stg_rxnorm__ingredient_strengths_rxcui"], "alias": "not_null_stg_rxnorm__ingredient_strengths_rxcui", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {}, "created_at": 1731470992.110118, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_rxnorm__ingredient_strengths", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.sagerx.stg_rxnorm__ingredient_strengths"]}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/_rxnorm__models.yml/not_null_stg_rxnorm__ingredient_strengths_rxcui.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect rxcui\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredient_strengths\"\nwhere rxcui is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "rxcui", "file_key_name": "models.stg_rxnorm__ingredient_strengths", "attached_node": "model.sagerx.stg_rxnorm__ingredient_strengths", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__ingredient_strengths')) }}"}, "namespace": null}}, "test.sagerx.not_null_stg_rxnorm__mthspl_products_rxcui.21eb3d19b0": {"database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_rxnorm__mthspl_products_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_rxnorm__mthspl_products_rxcui.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.not_null_stg_rxnorm__mthspl_products_rxcui.21eb3d19b0", "fqn": ["sagerx", "staging", "rxnorm", "not_null_stg_rxnorm__mthspl_products_rxcui"], "alias": "not_null_stg_rxnorm__mthspl_products_rxcui", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {}, "created_at": 1731470992.1120424, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_rxnorm__mthspl_products", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.sagerx.stg_rxnorm__mthspl_products"]}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/_rxnorm__models.yml/not_null_stg_rxnorm__mthspl_products_rxcui.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect rxcui\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__mthspl_products\"\nwhere rxcui is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "rxcui", "file_key_name": "models.stg_rxnorm__mthspl_products", "attached_node": "model.sagerx.stg_rxnorm__mthspl_products", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__mthspl_products')) }}"}, "namespace": null}}, "test.sagerx.unique_stg_rxnorm__mthspl_products_rxaui.09d72011ed": {"database": "sagerx", "schema": "sagerx_dev", "name": "unique_stg_rxnorm__mthspl_products_rxaui", "resource_type": "test", "package_name": "sagerx", "path": "unique_stg_rxnorm__mthspl_products_rxaui.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.unique_stg_rxnorm__mthspl_products_rxaui.09d72011ed", "fqn": ["sagerx", "staging", "rxnorm", "unique_stg_rxnorm__mthspl_products_rxaui"], "alias": "unique_stg_rxnorm__mthspl_products_rxaui", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {}, "created_at": 1731470992.1138568, "relation_name": null, "raw_code": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_rxnorm__mthspl_products", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.sagerx.stg_rxnorm__mthspl_products"]}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/_rxnorm__models.yml/unique_stg_rxnorm__mthspl_products_rxaui.sql", "compiled": true, "compiled_code": "\n \n \n\nselect\n rxaui as unique_field,\n count(*) as n_records\n\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__mthspl_products\"\nwhere rxaui is not null\ngroup by rxaui\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "rxaui", "file_key_name": "models.stg_rxnorm__mthspl_products", "attached_node": "model.sagerx.stg_rxnorm__mthspl_products", "test_metadata": {"name": "unique", "kwargs": {"column_name": "rxaui", "model": "{{ get_where_subquery(ref('stg_rxnorm__mthspl_products')) }}"}, "namespace": null}}, "test.sagerx.not_null_stg_rxnorm__mthspl_substances_rxcui.1b38748ca6": {"database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_rxnorm__mthspl_substances_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_rxnorm__mthspl_substances_rxcui.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.not_null_stg_rxnorm__mthspl_substances_rxcui.1b38748ca6", "fqn": ["sagerx", "staging", "rxnorm", "not_null_stg_rxnorm__mthspl_substances_rxcui"], "alias": "not_null_stg_rxnorm__mthspl_substances_rxcui", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {}, "created_at": 1731470992.1156752, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_rxnorm__mthspl_substances", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.sagerx.stg_rxnorm__mthspl_substances"]}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/_rxnorm__models.yml/not_null_stg_rxnorm__mthspl_substances_rxcui.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect rxcui\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__mthspl_substances\"\nwhere rxcui is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "rxcui", "file_key_name": "models.stg_rxnorm__mthspl_substances", "attached_node": "model.sagerx.stg_rxnorm__mthspl_substances", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__mthspl_substances')) }}"}, "namespace": null}}, "test.sagerx.unique_stg_rxnorm__brand_products_rxcui.da77867bbd": {"database": "sagerx", "schema": "sagerx_dev", "name": "unique_stg_rxnorm__brand_products_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "unique_stg_rxnorm__brand_products_rxcui.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.unique_stg_rxnorm__brand_products_rxcui.da77867bbd", "fqn": ["sagerx", "staging", "rxnorm", "unique_stg_rxnorm__brand_products_rxcui"], "alias": "unique_stg_rxnorm__brand_products_rxcui", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {}, "created_at": 1731470992.117493, "relation_name": null, "raw_code": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_rxnorm__brand_products", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.sagerx.stg_rxnorm__brand_products"]}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/_rxnorm__models.yml/unique_stg_rxnorm__brand_products_rxcui.sql", "compiled": true, "compiled_code": "\n \n \n\nselect\n rxcui as unique_field,\n count(*) as n_records\n\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__brand_products\"\nwhere rxcui is not null\ngroup by rxcui\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "rxcui", "file_key_name": "models.stg_rxnorm__brand_products", "attached_node": "model.sagerx.stg_rxnorm__brand_products", "test_metadata": {"name": "unique", "kwargs": {"column_name": "rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__brand_products')) }}"}, "namespace": null}}, "test.sagerx.not_null_stg_rxnorm__brand_products_rxcui.634ef0c2ff": {"database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_rxnorm__brand_products_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_rxnorm__brand_products_rxcui.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.not_null_stg_rxnorm__brand_products_rxcui.634ef0c2ff", "fqn": ["sagerx", "staging", "rxnorm", "not_null_stg_rxnorm__brand_products_rxcui"], "alias": "not_null_stg_rxnorm__brand_products_rxcui", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {}, "created_at": 1731470992.1193256, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_rxnorm__brand_products", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.sagerx.stg_rxnorm__brand_products"]}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/_rxnorm__models.yml/not_null_stg_rxnorm__brand_products_rxcui.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect rxcui\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__brand_products\"\nwhere rxcui is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "rxcui", "file_key_name": "models.stg_rxnorm__brand_products", "attached_node": "model.sagerx.stg_rxnorm__brand_products", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__brand_products')) }}"}, "namespace": null}}, "test.sagerx.not_null_stg_rxnorm__brand_product_component_links_brand_product_rxcui.6135a1fa50": {"database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_rxnorm__brand_product_component_links_brand_product_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_rxnorm__brand_pro_a0455471671e7fb10ea436b1ff7c98e3.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.not_null_stg_rxnorm__brand_product_component_links_brand_product_rxcui.6135a1fa50", "fqn": ["sagerx", "staging", "rxnorm", "not_null_stg_rxnorm__brand_product_component_links_brand_product_rxcui"], "alias": "not_null_stg_rxnorm__brand_pro_a0455471671e7fb10ea436b1ff7c98e3", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "not_null_stg_rxnorm__brand_pro_a0455471671e7fb10ea436b1ff7c98e3", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {"alias": "not_null_stg_rxnorm__brand_pro_a0455471671e7fb10ea436b1ff7c98e3"}, "created_at": 1731470992.1216233, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}{{ config(alias=\"not_null_stg_rxnorm__brand_pro_a0455471671e7fb10ea436b1ff7c98e3\") }}", "language": "sql", "refs": [{"name": "stg_rxnorm__brand_product_component_links", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.sagerx.stg_rxnorm__brand_product_component_links"]}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/_rxnorm__models.yml/not_null_stg_rxnorm__brand_pro_a0455471671e7fb10ea436b1ff7c98e3.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect brand_product_rxcui\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__brand_product_component_links\"\nwhere brand_product_rxcui is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "brand_product_rxcui", "file_key_name": "models.stg_rxnorm__brand_product_component_links", "attached_node": "model.sagerx.stg_rxnorm__brand_product_component_links", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "brand_product_rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__brand_product_component_links')) }}"}, "namespace": null}}, "test.sagerx.not_null_stg_rxnorm__brand_product_component_links_brand_product_component_rxcui.9f497ef16e": {"database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_rxnorm__brand_product_component_links_brand_product_component_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_rxnorm__brand_pro_23ac4adf78100fbcdcd277bae35c9e46.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.not_null_stg_rxnorm__brand_product_component_links_brand_product_component_rxcui.9f497ef16e", "fqn": ["sagerx", "staging", "rxnorm", "not_null_stg_rxnorm__brand_product_component_links_brand_product_component_rxcui"], "alias": "not_null_stg_rxnorm__brand_pro_23ac4adf78100fbcdcd277bae35c9e46", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "not_null_stg_rxnorm__brand_pro_23ac4adf78100fbcdcd277bae35c9e46", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {"alias": "not_null_stg_rxnorm__brand_pro_23ac4adf78100fbcdcd277bae35c9e46"}, "created_at": 1731470992.123439, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}{{ config(alias=\"not_null_stg_rxnorm__brand_pro_23ac4adf78100fbcdcd277bae35c9e46\") }}", "language": "sql", "refs": [{"name": "stg_rxnorm__brand_product_component_links", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.sagerx.stg_rxnorm__brand_product_component_links"]}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/_rxnorm__models.yml/not_null_stg_rxnorm__brand_pro_23ac4adf78100fbcdcd277bae35c9e46.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect brand_product_component_rxcui\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__brand_product_component_links\"\nwhere brand_product_component_rxcui is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "brand_product_component_rxcui", "file_key_name": "models.stg_rxnorm__brand_product_component_links", "attached_node": "model.sagerx.stg_rxnorm__brand_product_component_links", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "brand_product_component_rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__brand_product_component_links')) }}"}, "namespace": null}}, "test.sagerx.unique_stg_rxnorm__brand_product_components_rxcui.cd3b918573": {"database": "sagerx", "schema": "sagerx_dev", "name": "unique_stg_rxnorm__brand_product_components_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "unique_stg_rxnorm__brand_product_components_rxcui.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.unique_stg_rxnorm__brand_product_components_rxcui.cd3b918573", "fqn": ["sagerx", "staging", "rxnorm", "unique_stg_rxnorm__brand_product_components_rxcui"], "alias": "unique_stg_rxnorm__brand_product_components_rxcui", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {}, "created_at": 1731470992.125314, "relation_name": null, "raw_code": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_rxnorm__brand_product_components", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.sagerx.stg_rxnorm__brand_product_components"]}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/_rxnorm__models.yml/unique_stg_rxnorm__brand_product_components_rxcui.sql", "compiled": true, "compiled_code": "\n \n \n\nselect\n rxcui as unique_field,\n count(*) as n_records\n\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__brand_product_components\"\nwhere rxcui is not null\ngroup by rxcui\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "rxcui", "file_key_name": "models.stg_rxnorm__brand_product_components", "attached_node": "model.sagerx.stg_rxnorm__brand_product_components", "test_metadata": {"name": "unique", "kwargs": {"column_name": "rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__brand_product_components')) }}"}, "namespace": null}}, "test.sagerx.not_null_stg_rxnorm__brand_product_components_rxcui.4917a3f0ca": {"database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_rxnorm__brand_product_components_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_rxnorm__brand_product_components_rxcui.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.not_null_stg_rxnorm__brand_product_components_rxcui.4917a3f0ca", "fqn": ["sagerx", "staging", "rxnorm", "not_null_stg_rxnorm__brand_product_components_rxcui"], "alias": "not_null_stg_rxnorm__brand_product_components_rxcui", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {}, "created_at": 1731470992.1272552, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_rxnorm__brand_product_components", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.sagerx.stg_rxnorm__brand_product_components"]}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/_rxnorm__models.yml/not_null_stg_rxnorm__brand_product_components_rxcui.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect rxcui\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__brand_product_components\"\nwhere rxcui is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "rxcui", "file_key_name": "models.stg_rxnorm__brand_product_components", "attached_node": "model.sagerx.stg_rxnorm__brand_product_components", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__brand_product_components')) }}"}, "namespace": null}}, "test.sagerx.not_null_stg_rxnorm__brand_product_components_clinical_product_component_rxcui.25fdaf356b": {"database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_rxnorm__brand_product_components_clinical_product_component_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_rxnorm__brand_pro_8a3c0a2a6e5d51cf23cd68cab747c324.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.not_null_stg_rxnorm__brand_product_components_clinical_product_component_rxcui.25fdaf356b", "fqn": ["sagerx", "staging", "rxnorm", "not_null_stg_rxnorm__brand_product_components_clinical_product_component_rxcui"], "alias": "not_null_stg_rxnorm__brand_pro_8a3c0a2a6e5d51cf23cd68cab747c324", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": "not_null_stg_rxnorm__brand_pro_8a3c0a2a6e5d51cf23cd68cab747c324", "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {"alias": "not_null_stg_rxnorm__brand_pro_8a3c0a2a6e5d51cf23cd68cab747c324"}, "created_at": 1731470992.1290822, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}{{ config(alias=\"not_null_stg_rxnorm__brand_pro_8a3c0a2a6e5d51cf23cd68cab747c324\") }}", "language": "sql", "refs": [{"name": "stg_rxnorm__brand_product_components", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.sagerx.stg_rxnorm__brand_product_components"]}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/_rxnorm__models.yml/not_null_stg_rxnorm__brand_pro_8a3c0a2a6e5d51cf23cd68cab747c324.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect clinical_product_component_rxcui\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__brand_product_components\"\nwhere clinical_product_component_rxcui is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "clinical_product_component_rxcui", "file_key_name": "models.stg_rxnorm__brand_product_components", "attached_node": "model.sagerx.stg_rxnorm__brand_product_components", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "clinical_product_component_rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__brand_product_components')) }}"}, "namespace": null}}, "test.sagerx.unique_stg_rxnorm__brands_rxcui.a2c8cd0cd0": {"database": "sagerx", "schema": "sagerx_dev", "name": "unique_stg_rxnorm__brands_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "unique_stg_rxnorm__brands_rxcui.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.unique_stg_rxnorm__brands_rxcui.a2c8cd0cd0", "fqn": ["sagerx", "staging", "rxnorm", "unique_stg_rxnorm__brands_rxcui"], "alias": "unique_stg_rxnorm__brands_rxcui", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {}, "created_at": 1731470992.1310072, "relation_name": null, "raw_code": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_rxnorm__brands", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.sagerx.stg_rxnorm__brands"]}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/_rxnorm__models.yml/unique_stg_rxnorm__brands_rxcui.sql", "compiled": true, "compiled_code": "\n \n \n\nselect\n rxcui as unique_field,\n count(*) as n_records\n\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__brands\"\nwhere rxcui is not null\ngroup by rxcui\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "rxcui", "file_key_name": "models.stg_rxnorm__brands", "attached_node": "model.sagerx.stg_rxnorm__brands", "test_metadata": {"name": "unique", "kwargs": {"column_name": "rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__brands')) }}"}, "namespace": null}}, "test.sagerx.not_null_stg_rxnorm__brands_rxcui.d067686860": {"database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_rxnorm__brands_rxcui", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_rxnorm__brands_rxcui.sql", "original_file_path": "models/staging/rxnorm/_rxnorm__models.yml", "unique_id": "test.sagerx.not_null_stg_rxnorm__brands_rxcui.d067686860", "fqn": ["sagerx", "staging", "rxnorm", "not_null_stg_rxnorm__brands_rxcui"], "alias": "not_null_stg_rxnorm__brands_rxcui", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {}, "created_at": 1731470992.1328309, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_rxnorm__brands", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.sagerx.stg_rxnorm__brands"]}, "compiled_path": "target/compiled/sagerx/models/staging/rxnorm/_rxnorm__models.yml/not_null_stg_rxnorm__brands_rxcui.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect rxcui\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__brands\"\nwhere rxcui is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "rxcui", "file_key_name": "models.stg_rxnorm__brands", "attached_node": "model.sagerx.stg_rxnorm__brands", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "rxcui", "model": "{{ get_where_subquery(ref('stg_rxnorm__brands')) }}"}, "namespace": null}}, "test.sagerx.not_null_stg_nadac__all_nadac_ndc.13fad59845": {"database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_nadac__all_nadac_ndc", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_nadac__all_nadac_ndc.sql", "original_file_path": "models/staging/nadac/_nadac__models.yml", "unique_id": "test.sagerx.not_null_stg_nadac__all_nadac_ndc.13fad59845", "fqn": ["sagerx", "staging", "nadac", "not_null_stg_nadac__all_nadac_ndc"], "alias": "not_null_stg_nadac__all_nadac_ndc", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {}, "created_at": 1731470992.1537168, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_nadac__all_nadac", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.sagerx.stg_nadac__all_nadac"]}, "compiled_path": "target/compiled/sagerx/models/staging/nadac/_nadac__models.yml/not_null_stg_nadac__all_nadac_ndc.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect ndc\nfrom \"sagerx\".\"sagerx_dev\".\"stg_nadac__all_nadac\"\nwhere ndc is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "ndc", "file_key_name": "models.stg_nadac__all_nadac", "attached_node": "model.sagerx.stg_nadac__all_nadac", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "ndc", "model": "{{ get_where_subquery(ref('stg_nadac__all_nadac')) }}"}, "namespace": null}}, "test.sagerx.not_null_stg_nadac__all_nadac_ndc_description.d0df11974f": {"database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_nadac__all_nadac_ndc_description", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_nadac__all_nadac_ndc_description.sql", "original_file_path": "models/staging/nadac/_nadac__models.yml", "unique_id": "test.sagerx.not_null_stg_nadac__all_nadac_ndc_description.d0df11974f", "fqn": ["sagerx", "staging", "nadac", "not_null_stg_nadac__all_nadac_ndc_description"], "alias": "not_null_stg_nadac__all_nadac_ndc_description", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {}, "created_at": 1731470992.1555934, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_nadac__all_nadac", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.sagerx.stg_nadac__all_nadac"]}, "compiled_path": "target/compiled/sagerx/models/staging/nadac/_nadac__models.yml/not_null_stg_nadac__all_nadac_ndc_description.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect ndc_description\nfrom \"sagerx\".\"sagerx_dev\".\"stg_nadac__all_nadac\"\nwhere ndc_description is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "ndc_description", "file_key_name": "models.stg_nadac__all_nadac", "attached_node": "model.sagerx.stg_nadac__all_nadac", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "ndc_description", "model": "{{ get_where_subquery(ref('stg_nadac__all_nadac')) }}"}, "namespace": null}}, "test.sagerx.not_null_stg_nadac__enhanced_nadac_ndc.4d4e5ab99c": {"database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_nadac__enhanced_nadac_ndc", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_nadac__enhanced_nadac_ndc.sql", "original_file_path": "models/staging/nadac/_nadac__models.yml", "unique_id": "test.sagerx.not_null_stg_nadac__enhanced_nadac_ndc.4d4e5ab99c", "fqn": ["sagerx", "staging", "nadac", "not_null_stg_nadac__enhanced_nadac_ndc"], "alias": "not_null_stg_nadac__enhanced_nadac_ndc", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {}, "created_at": 1731470992.1575558, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_nadac__enhanced_nadac", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.sagerx.stg_nadac__enhanced_nadac"]}, "compiled_path": "target/compiled/sagerx/models/staging/nadac/_nadac__models.yml/not_null_stg_nadac__enhanced_nadac_ndc.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect ndc\nfrom \"sagerx\".\"sagerx_dev\".\"stg_nadac__enhanced_nadac\"\nwhere ndc is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "ndc", "file_key_name": "models.stg_nadac__enhanced_nadac", "attached_node": "model.sagerx.stg_nadac__enhanced_nadac", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "ndc", "model": "{{ get_where_subquery(ref('stg_nadac__enhanced_nadac')) }}"}, "namespace": null}}, "test.sagerx.not_null_stg_nadac__enhanced_nadac_ndc_description.16fde5c578": {"database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_nadac__enhanced_nadac_ndc_description", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_nadac__enhanced_nadac_ndc_description.sql", "original_file_path": "models/staging/nadac/_nadac__models.yml", "unique_id": "test.sagerx.not_null_stg_nadac__enhanced_nadac_ndc_description.16fde5c578", "fqn": ["sagerx", "staging", "nadac", "not_null_stg_nadac__enhanced_nadac_ndc_description"], "alias": "not_null_stg_nadac__enhanced_nadac_ndc_description", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {}, "created_at": 1731470992.1593704, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_nadac__enhanced_nadac", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.sagerx.stg_nadac__enhanced_nadac"]}, "compiled_path": "target/compiled/sagerx/models/staging/nadac/_nadac__models.yml/not_null_stg_nadac__enhanced_nadac_ndc_description.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect ndc_description\nfrom \"sagerx\".\"sagerx_dev\".\"stg_nadac__enhanced_nadac\"\nwhere ndc_description is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "ndc_description", "file_key_name": "models.stg_nadac__enhanced_nadac", "attached_node": "model.sagerx.stg_nadac__enhanced_nadac", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "ndc_description", "model": "{{ get_where_subquery(ref('stg_nadac__enhanced_nadac')) }}"}, "namespace": null}}, "test.sagerx.unique_stg_fda_excluded__ndcs_ndc11.fcedc4532b": {"database": "sagerx", "schema": "sagerx_dev", "name": "unique_stg_fda_excluded__ndcs_ndc11", "resource_type": "test", "package_name": "sagerx", "path": "unique_stg_fda_excluded__ndcs_ndc11.sql", "original_file_path": "models/staging/fda_excluded/_fda_excluded__models.yml", "unique_id": "test.sagerx.unique_stg_fda_excluded__ndcs_ndc11.fcedc4532b", "fqn": ["sagerx", "staging", "fda_excluded", "unique_stg_fda_excluded__ndcs_ndc11"], "alias": "unique_stg_fda_excluded__ndcs_ndc11", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {}, "created_at": 1731470992.190492, "relation_name": null, "raw_code": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_fda_excluded__ndcs", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.sagerx.stg_fda_excluded__ndcs"]}, "compiled_path": "target/compiled/sagerx/models/staging/fda_excluded/_fda_excluded__models.yml/unique_stg_fda_excluded__ndcs_ndc11.sql", "compiled": true, "compiled_code": "\n \n \n\nselect\n ndc11 as unique_field,\n count(*) as n_records\n\nfrom \"sagerx\".\"sagerx_dev\".\"stg_fda_excluded__ndcs\"\nwhere ndc11 is not null\ngroup by ndc11\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "ndc11", "file_key_name": "models.stg_fda_excluded__ndcs", "attached_node": "model.sagerx.stg_fda_excluded__ndcs", "test_metadata": {"name": "unique", "kwargs": {"column_name": "ndc11", "model": "{{ get_where_subquery(ref('stg_fda_excluded__ndcs')) }}"}, "namespace": null}}, "test.sagerx.not_null_stg_fda_excluded__ndcs_ndc11.f9b06099d2": {"database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_fda_excluded__ndcs_ndc11", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_fda_excluded__ndcs_ndc11.sql", "original_file_path": "models/staging/fda_excluded/_fda_excluded__models.yml", "unique_id": "test.sagerx.not_null_stg_fda_excluded__ndcs_ndc11.f9b06099d2", "fqn": ["sagerx", "staging", "fda_excluded", "not_null_stg_fda_excluded__ndcs_ndc11"], "alias": "not_null_stg_fda_excluded__ndcs_ndc11", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {}, "created_at": 1731470992.1924195, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_fda_excluded__ndcs", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.sagerx.stg_fda_excluded__ndcs"]}, "compiled_path": "target/compiled/sagerx/models/staging/fda_excluded/_fda_excluded__models.yml/not_null_stg_fda_excluded__ndcs_ndc11.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect ndc11\nfrom \"sagerx\".\"sagerx_dev\".\"stg_fda_excluded__ndcs\"\nwhere ndc11 is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "ndc11", "file_key_name": "models.stg_fda_excluded__ndcs", "attached_node": "model.sagerx.stg_fda_excluded__ndcs", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "ndc11", "model": "{{ get_where_subquery(ref('stg_fda_excluded__ndcs')) }}"}, "namespace": null}}, "test.sagerx.unique_stg_fda_ndc__ndcs_ndc11.8b4e77e239": {"database": "sagerx", "schema": "sagerx_dev", "name": "unique_stg_fda_ndc__ndcs_ndc11", "resource_type": "test", "package_name": "sagerx", "path": "unique_stg_fda_ndc__ndcs_ndc11.sql", "original_file_path": "models/staging/fda_ndc/_fda_ndc__models.yml", "unique_id": "test.sagerx.unique_stg_fda_ndc__ndcs_ndc11.8b4e77e239", "fqn": ["sagerx", "staging", "fda_ndc", "unique_stg_fda_ndc__ndcs_ndc11"], "alias": "unique_stg_fda_ndc__ndcs_ndc11", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {}, "created_at": 1731470992.2031143, "relation_name": null, "raw_code": "{{ test_unique(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_fda_ndc__ndcs", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_unique", "macro.dbt.get_where_subquery"], "nodes": ["model.sagerx.stg_fda_ndc__ndcs"]}, "compiled_path": "target/compiled/sagerx/models/staging/fda_ndc/_fda_ndc__models.yml/unique_stg_fda_ndc__ndcs_ndc11.sql", "compiled": true, "compiled_code": "\n \n \n\nselect\n ndc11 as unique_field,\n count(*) as n_records\n\nfrom \"sagerx\".\"sagerx_dev\".\"stg_fda_ndc__ndcs\"\nwhere ndc11 is not null\ngroup by ndc11\nhaving count(*) > 1\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "ndc11", "file_key_name": "models.stg_fda_ndc__ndcs", "attached_node": "model.sagerx.stg_fda_ndc__ndcs", "test_metadata": {"name": "unique", "kwargs": {"column_name": "ndc11", "model": "{{ get_where_subquery(ref('stg_fda_ndc__ndcs')) }}"}, "namespace": null}}, "test.sagerx.not_null_stg_fda_ndc__ndcs_ndc11.7680fa8975": {"database": "sagerx", "schema": "sagerx_dev", "name": "not_null_stg_fda_ndc__ndcs_ndc11", "resource_type": "test", "package_name": "sagerx", "path": "not_null_stg_fda_ndc__ndcs_ndc11.sql", "original_file_path": "models/staging/fda_ndc/_fda_ndc__models.yml", "unique_id": "test.sagerx.not_null_stg_fda_ndc__ndcs_ndc11.7680fa8975", "fqn": ["sagerx", "staging", "fda_ndc", "not_null_stg_fda_ndc__ndcs_ndc11"], "alias": "not_null_stg_fda_ndc__ndcs_ndc11", "checksum": {"name": "none", "checksum": ""}, "config": {"enabled": true, "alias": null, "schema": "dbt_test__audit", "database": null, "tags": [], "meta": {}, "group": null, "materialized": "test", "severity": "ERROR", "store_failures": null, "store_failures_as": null, "where": null, "limit": null, "fail_calc": "count(*)", "warn_if": "!= 0", "error_if": "!= 0"}, "tags": [], "description": "", "columns": {}, "meta": {}, "group": null, "docs": {"show": true, "node_color": null}, "patch_path": null, "build_path": null, "unrendered_config": {}, "created_at": 1731470992.2049315, "relation_name": null, "raw_code": "{{ test_not_null(**_dbt_generic_test_kwargs) }}", "language": "sql", "refs": [{"name": "stg_fda_ndc__ndcs", "package": null, "version": null}], "sources": [], "metrics": [], "depends_on": {"macros": ["macro.dbt.test_not_null", "macro.dbt.get_where_subquery"], "nodes": ["model.sagerx.stg_fda_ndc__ndcs"]}, "compiled_path": "target/compiled/sagerx/models/staging/fda_ndc/_fda_ndc__models.yml/not_null_stg_fda_ndc__ndcs_ndc11.sql", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect ndc11\nfrom \"sagerx\".\"sagerx_dev\".\"stg_fda_ndc__ndcs\"\nwhere ndc11 is null\n\n\n", "extra_ctes_injected": true, "extra_ctes": [], "contract": {"enforced": false, "alias_types": true, "checksum": null}, "column_name": "ndc11", "file_key_name": "models.stg_fda_ndc__ndcs", "attached_node": "model.sagerx.stg_fda_ndc__ndcs", "test_metadata": {"name": "not_null", "kwargs": {"column_name": "ndc11", "model": "{{ get_where_subquery(ref('stg_fda_ndc__ndcs')) }}"}, "namespace": null}}}, "sources": {"source.sagerx.rxclass.rxclass_atc_to_product": {"database": "sagerx", "schema": "sagerx_lake", "name": "rxclass_atc_to_product", "resource_type": "source", "package_name": "sagerx", "path": "models/staging/rxclass/_rxclass__sources.yml", "original_file_path": "models/staging/rxclass/_rxclass__sources.yml", "unique_id": "source.sagerx.rxclass.rxclass_atc_to_product", "fqn": ["sagerx", "staging", "rxclass", "rxclass", "rxclass_atc_to_product"], "source_name": "rxclass", "source_description": "A product-level mapping of RxNorm to ATC1-4 classes.\n\nRxClass has added RxNorm product-level mapping for ATC. The product-level mapping is now the default source mapping for the ATC classes in the RxClass browser.\n\nWhen extended to RxNorm products, an ingredient-level mapping to ATC can lead to inapplicable mappings. For example, through its ingredient, timolol, the RxNorm product 1923428 (timolol 2.5 MG/ML Ophthalmic Solution) is associated with both ophthalmologicals and cardiovascular system medications, while only the former is accurate. In contrast, ATCPROD only associates this product with the ophthalmologicals class Beta blocking agents (S01ED).\n\nTo use the RxNorm product-level mapping for ATC in the RxClass API, the relaSource parameter should be specified as \u201cATCPROD\u201d.\nhttps://rxnav.nlm.nih.gov/REST/rxclass/class/byRxcui.xml?rxcui=1923428&relaSource=ATC\nhttps://rxnav.nlm.nih.gov/REST/rxclass/class/byRxcui.xml?rxcui=1923428&relaSource=ATCPROD\nThe RxNorm product-level mapping for ATC was produced by the National Library of Medicine. While not all active RxNorm products are covered by the mapping, the mapping accounts for over 97% of the Medicare Part-D prescriptions from 2012-2020.\n\nThe original ingredient-level mapping to ATC from the WHO Collaborating Centre for Drug Statistics Methodology remains available in RxClass (select ATC under Edit Drug Sources) and through the RxClass API (relaSource=ATC).\n", "loader": "", "identifier": "rxclass_atc_to_product", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": {"count": null, "period": null}, "error_after": {"count": null, "period": null}, "filter": null}, "external": null, "description": "", "columns": {}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"sagerx\".\"sagerx_lake\".\"rxclass_atc_to_product\"", "created_at": 1731470992.2367442}, "source.sagerx.rxnorm_historical.rxnorm_historical": {"database": "sagerx", "schema": "sagerx_lake", "name": "rxnorm_historical", "resource_type": "source", "package_name": "sagerx", "path": "models/staging/rxnorm_historical/_rxnorm_historical__sources.yml", "original_file_path": "models/staging/rxnorm_historical/_rxnorm_historical__sources.yml", "unique_id": "source.sagerx.rxnorm_historical.rxnorm_historical", "fqn": ["sagerx", "staging", "rxnorm_historical", "rxnorm_historical", "rxnorm_historical"], "source_name": "rxnorm_historical", "source_description": "", "loader": "", "identifier": "rxnorm_historical", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": {"count": null, "period": null}, "error_after": {"count": null, "period": null}, "filter": null}, "external": null, "description": "", "columns": {}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"sagerx\".\"sagerx_lake\".\"rxnorm_historical\"", "created_at": 1731470992.2380636}, "source.sagerx.ashp.ashp_shortage_list": {"database": "sagerx", "schema": "sagerx_lake", "name": "ashp_shortage_list", "resource_type": "source", "package_name": "sagerx", "path": "models/staging/ashp/_ashp__sources.yml", "original_file_path": "models/staging/ashp/_ashp__sources.yml", "unique_id": "source.sagerx.ashp.ashp_shortage_list", "fqn": ["sagerx", "staging", "ashp", "ashp", "ashp_shortage_list"], "source_name": "ashp", "source_description": "Current drug shortage list from ASHP", "loader": "", "identifier": "ashp_shortage_list", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": {"count": null, "period": null}, "error_after": {"count": null, "period": null}, "filter": null}, "external": null, "description": "", "columns": {"name": {"name": "name", "description": "The name of the shortage as described by ASHP", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "detail_url": {"name": "detail_url", "description": "The partial URL for the detail about the shortage.\nRequires a prefix to be a complete URL. That prefix is\n`https://www.ashp.org/drug-shortages/current-shortages/`.\n", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "shortage_reasons": {"name": "shortage_reasons", "description": "A list of reasons for the shortage", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "resupply_dates": {"name": "resupply_dates", "description": "A list of resupply dates", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "alternatives_and_management": {"name": "alternatives_and_management", "description": "Alternatives and management information", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "care_implications": {"name": "care_implications", "description": "Implications on patient care", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "safety_notices": {"name": "safety_notices", "description": "Safety notices related to the shortage", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "created_date": {"name": "created_date", "description": "The date the shortage record was created by ASHP", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "updated_date": {"name": "updated_date", "description": "The date the shortage record was last updated by ASHP", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"sagerx\".\"sagerx_lake\".\"ashp_shortage_list\"", "created_at": 1731470992.2382832}, "source.sagerx.ashp.ashp_shortage_list_ndcs": {"database": "sagerx", "schema": "sagerx_lake", "name": "ashp_shortage_list_ndcs", "resource_type": "source", "package_name": "sagerx", "path": "models/staging/ashp/_ashp__sources.yml", "original_file_path": "models/staging/ashp/_ashp__sources.yml", "unique_id": "source.sagerx.ashp.ashp_shortage_list_ndcs", "fqn": ["sagerx", "staging", "ashp", "ashp", "ashp_shortage_list_ndcs"], "source_name": "ashp", "source_description": "Current drug shortage list from ASHP", "loader": "", "identifier": "ashp_shortage_list_ndcs", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": {"count": null, "period": null}, "error_after": {"count": null, "period": null}, "filter": null}, "external": null, "description": "", "columns": {"detail_url": {"name": "detail_url", "description": "The partial URL for the shortage detail page,\ncontaining an id parameter which can be used as\nan index\n", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ndc": {"name": "ndc", "description": "The NDC relevant to the shortage", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ndc_type": {"name": "ndc_type", "description": "NDC package status as it relates to the shortage\n(either 'affected' or 'available')", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"sagerx\".\"sagerx_lake\".\"ashp_shortage_list_ndcs\"", "created_at": 1731470992.238471}, "source.sagerx.fda_unfinished.fda_unfinished_package": {"database": "sagerx", "schema": "sagerx_lake", "name": "fda_unfinished_package", "resource_type": "source", "package_name": "sagerx", "path": "models/staging/fda_unfinished/_fda_unfinished__sources.yml", "original_file_path": "models/staging/fda_unfinished/_fda_unfinished__sources.yml", "unique_id": "source.sagerx.fda_unfinished.fda_unfinished_package", "fqn": ["sagerx", "staging", "fda_unfinished", "fda_unfinished", "fda_unfinished_package"], "source_name": "fda_unfinished", "source_description": "Product listing data submitted for all unfinished drugs, including active pharmaceutical ingredients, drugs for further processing and bulk drug substances for compounding.", "loader": "", "identifier": "fda_unfinished_package", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": {"count": null, "period": null}, "error_after": {"count": null, "period": null}, "filter": null}, "external": null, "description": "Product listing data submitted for all unfinished drugs, including active pharmaceutical ingredients, drugs for further processing and bulk drug substances for compounding.", "columns": {"productid": {"name": "productid", "description": "ProductID is a concatenation of the NDCproduct code and SPL documentID. It is included to help prevent duplicate rows from appearing when joining the product and package files together. It has no regulatory value or significance.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "productndc": {"name": "productndc", "description": "The labeler code and product code segments of the National Drug Code number, separated by a hyphen. Asterisks are no longer used or included within the product code segment to indicate certain configurations of the NDC.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ndcpackagecode": {"name": "ndcpackagecode", "description": "The labeler code, product code, and package code segments of the National Drug Code number, separated by hyphens. Asterisks are no longer used or included within the product and package code segments to indicate certain configurations of the NDC.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "packagedescription": {"name": "packagedescription", "description": "A description of the size and type of packaging in sentence form. Multilevel packages will have the descriptions concatenated together. For example: 4 BOTTLES in 1 CARTON/100 TABLETS in 1 BOTTLE.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "startmarketingdate": {"name": "startmarketingdate", "description": "This is the date that the labeler indicates was the start of its marketing of the drug product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "endmarketingdate": {"name": "endmarketingdate", "description": "This is the date the product will no longer be available on the market. If a product is no longer being manufactured, in most cases, the FDA recommends firms use the expiration date of the last lot produced as the EndMarketingDate, to reflect the potential for drug product to remain available after manufacturing has ceased. Products that are the subject of ongoing manufacturing will not ordinarily have any EndMarketingDate. Products with a value in the EndMarketingDate will be removed from the NDC Directory when the EndMarketingDate is reached.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"sagerx\".\"sagerx_lake\".\"fda_unfinished_package\"", "created_at": 1731470992.2386615}, "source.sagerx.fda_unfinished.fda_unfinished_product": {"database": "sagerx", "schema": "sagerx_lake", "name": "fda_unfinished_product", "resource_type": "source", "package_name": "sagerx", "path": "models/staging/fda_unfinished/_fda_unfinished__sources.yml", "original_file_path": "models/staging/fda_unfinished/_fda_unfinished__sources.yml", "unique_id": "source.sagerx.fda_unfinished.fda_unfinished_product", "fqn": ["sagerx", "staging", "fda_unfinished", "fda_unfinished", "fda_unfinished_product"], "source_name": "fda_unfinished", "source_description": "Product listing data submitted for all unfinished drugs, including active pharmaceutical ingredients, drugs for further processing and bulk drug substances for compounding.", "loader": "", "identifier": "fda_unfinished_product", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": {"count": null, "period": null}, "error_after": {"count": null, "period": null}, "filter": null}, "external": null, "description": "Products that have been removed/excluded from the NDC Directory for failure to respond to the FDA", "columns": {"productid": {"name": "productid", "description": "ProductID is a concatenation of the NDCproduct code and SPL documentID. It is included to help prevent duplicate rows from appearing when joining the product and package files together. It has no regulatory value or significance.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "productndc": {"name": "productndc", "description": "The labeler code and product code segments of the National Drug Code number, separated by a hyphen. Asterisks are no longer used or included within the product code segment to indicate certain configurations of the NDC. www.fda.gov/edrls under Structured Product Labeling Resources.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "producttypename": {"name": "producttypename", "description": "Indicates the type of product, such as Human Prescription Drug or Human OTC Drug. This data element corresponds to the \u201cDocument Type\u201d of the SPL submission for the listing. The complete list of codes and translations can be found at.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "nonproprietaryname": {"name": "nonproprietaryname", "description": "Sometimes called the generic name, this is usually the active ingredient(s) of the product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "dosageformname": {"name": "dosageformname", "description": "The translation of the DosageForm Code submitted by the firm. The complete list of codes and translations can be found www.fda.gov/edrls under Structured Product Labeling Resources.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "startmarketingdate": {"name": "startmarketingdate", "description": "This is the date that the labeler indicates was the start of its marketing of the drug product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "endmarketingdate": {"name": "endmarketingdate", "description": "This is the date the product will no longer be available on the market. If a product is no longer being manufactured, in most cases, the FDA recommends firms use the expiration date of the last lot produced as the EndMarketingDate, to reflect the potential for drug product to remain available after manufacturing has ceased. Products that are the subject of ongoing manufacturing will not ordinarily have any EndMarketingDate. Products with a value in the EndMarketingDate will be removed from the NDC Directory when the EndMarketingDate is reached.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "marketingcategoryname": {"name": "marketingcategoryname", "description": "Product types are broken down into several potential Marketing Categories, such as NDA/ANDA/BLA, OTC Monograph, or Unapproved Drug. One and only one Marketing Category may be chosen for a product, not all marketing categories are available to all product types. Currently, only final marketed product categories are included. The complete list of codes and translations can be found at www.fda.gov/edrls under Structured Product Labeling Resources.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "labelername": {"name": "labelername", "description": "Name of Company corresponding to the labeler code segment of the ProductNDC.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "substancename": {"name": "substancename", "description": "This is the active ingredient list. Each ingredient name is the preferred term of the UNII code submitted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active_numerator_strength": {"name": "active_numerator_strength", "description": "These are the strength values (to be used with units below) of each active ingredient, listed in the same order as the SubstanceName field above.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active_ingred_unit": {"name": "active_ingred_unit", "description": "These are the units to be used with the strength values above, listed in the same order as the SubstanceName and SubstanceNumber (ActiveNumeratorStrength).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "deaschedule": {"name": "deaschedule", "description": "This is the assigned DEA Schedule number as reported by the labeler. Values are CI, CII, CIII, CIV, and CV.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "listing_record_certified_through": {"name": "listing_record_certified_through", "description": "This is the date when the listing record will expire if not updated or certified by the firm.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"sagerx\".\"sagerx_lake\".\"fda_unfinished_product\"", "created_at": 1731470992.2388773}, "source.sagerx.rxnorm.rxnorm_rxnatomarchive": {"database": "sagerx", "schema": "sagerx_lake", "name": "rxnorm_rxnatomarchive", "resource_type": "source", "package_name": "sagerx", "path": "models/staging/rxnorm/_rxnorm__sources.yml", "original_file_path": "models/staging/rxnorm/_rxnorm__sources.yml", "unique_id": "source.sagerx.rxnorm.rxnorm_rxnatomarchive", "fqn": ["sagerx", "staging", "rxnorm", "rxnorm", "rxnorm_rxnatomarchive"], "source_name": "rxnorm", "source_description": "", "loader": "", "identifier": "rxnorm_rxnatomarchive", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": {"count": null, "period": null}, "error_after": {"count": null, "period": null}, "filter": null}, "external": null, "description": "", "columns": {}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"sagerx\".\"sagerx_lake\".\"rxnorm_rxnatomarchive\"", "created_at": 1731470992.2390447}, "source.sagerx.rxnorm.rxnorm_rxnconso": {"database": "sagerx", "schema": "sagerx_lake", "name": "rxnorm_rxnconso", "resource_type": "source", "package_name": "sagerx", "path": "models/staging/rxnorm/_rxnorm__sources.yml", "original_file_path": "models/staging/rxnorm/_rxnorm__sources.yml", "unique_id": "source.sagerx.rxnorm.rxnorm_rxnconso", "fqn": ["sagerx", "staging", "rxnorm", "rxnorm", "rxnorm_rxnconso"], "source_name": "rxnorm", "source_description": "", "loader": "", "identifier": "rxnorm_rxnconso", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": {"count": null, "period": null}, "error_after": {"count": null, "period": null}, "filter": null}, "external": null, "description": "", "columns": {}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"sagerx\".\"sagerx_lake\".\"rxnorm_rxnconso\"", "created_at": 1731470992.2392244}, "source.sagerx.rxnorm.rxnorm_rxncui": {"database": "sagerx", "schema": "sagerx_lake", "name": "rxnorm_rxncui", "resource_type": "source", "package_name": "sagerx", "path": "models/staging/rxnorm/_rxnorm__sources.yml", "original_file_path": "models/staging/rxnorm/_rxnorm__sources.yml", "unique_id": "source.sagerx.rxnorm.rxnorm_rxncui", "fqn": ["sagerx", "staging", "rxnorm", "rxnorm", "rxnorm_rxncui"], "source_name": "rxnorm", "source_description": "", "loader": "", "identifier": "rxnorm_rxncui", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": {"count": null, "period": null}, "error_after": {"count": null, "period": null}, "filter": null}, "external": null, "description": "", "columns": {}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"sagerx\".\"sagerx_lake\".\"rxnorm_rxncui\"", "created_at": 1731470992.2393897}, "source.sagerx.rxnorm.rxnorm_rxncuichanges": {"database": "sagerx", "schema": "sagerx_lake", "name": "rxnorm_rxncuichanges", "resource_type": "source", "package_name": "sagerx", "path": "models/staging/rxnorm/_rxnorm__sources.yml", "original_file_path": "models/staging/rxnorm/_rxnorm__sources.yml", "unique_id": "source.sagerx.rxnorm.rxnorm_rxncuichanges", "fqn": ["sagerx", "staging", "rxnorm", "rxnorm", "rxnorm_rxncuichanges"], "source_name": "rxnorm", "source_description": "", "loader": "", "identifier": "rxnorm_rxncuichanges", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": {"count": null, "period": null}, "error_after": {"count": null, "period": null}, "filter": null}, "external": null, "description": "", "columns": {}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"sagerx\".\"sagerx_lake\".\"rxnorm_rxncuichanges\"", "created_at": 1731470992.2395518}, "source.sagerx.rxnorm.rxnorm_rxndoc": {"database": "sagerx", "schema": "sagerx_lake", "name": "rxnorm_rxndoc", "resource_type": "source", "package_name": "sagerx", "path": "models/staging/rxnorm/_rxnorm__sources.yml", "original_file_path": "models/staging/rxnorm/_rxnorm__sources.yml", "unique_id": "source.sagerx.rxnorm.rxnorm_rxndoc", "fqn": ["sagerx", "staging", "rxnorm", "rxnorm", "rxnorm_rxndoc"], "source_name": "rxnorm", "source_description": "", "loader": "", "identifier": "rxnorm_rxndoc", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": {"count": null, "period": null}, "error_after": {"count": null, "period": null}, "filter": null}, "external": null, "description": "", "columns": {}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"sagerx\".\"sagerx_lake\".\"rxnorm_rxndoc\"", "created_at": 1731470992.239709}, "source.sagerx.rxnorm.rxnorm_rxnrel": {"database": "sagerx", "schema": "sagerx_lake", "name": "rxnorm_rxnrel", "resource_type": "source", "package_name": "sagerx", "path": "models/staging/rxnorm/_rxnorm__sources.yml", "original_file_path": "models/staging/rxnorm/_rxnorm__sources.yml", "unique_id": "source.sagerx.rxnorm.rxnorm_rxnrel", "fqn": ["sagerx", "staging", "rxnorm", "rxnorm", "rxnorm_rxnrel"], "source_name": "rxnorm", "source_description": "", "loader": "", "identifier": "rxnorm_rxnrel", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": {"count": null, "period": null}, "error_after": {"count": null, "period": null}, "filter": null}, "external": null, "description": "", "columns": {}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"sagerx\".\"sagerx_lake\".\"rxnorm_rxnrel\"", "created_at": 1731470992.239869}, "source.sagerx.rxnorm.rxnorm_rxnsab": {"database": "sagerx", "schema": "sagerx_lake", "name": "rxnorm_rxnsab", "resource_type": "source", "package_name": "sagerx", "path": "models/staging/rxnorm/_rxnorm__sources.yml", "original_file_path": "models/staging/rxnorm/_rxnorm__sources.yml", "unique_id": "source.sagerx.rxnorm.rxnorm_rxnsab", "fqn": ["sagerx", "staging", "rxnorm", "rxnorm", "rxnorm_rxnsab"], "source_name": "rxnorm", "source_description": "", "loader": "", "identifier": "rxnorm_rxnsab", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": {"count": null, "period": null}, "error_after": {"count": null, "period": null}, "filter": null}, "external": null, "description": "", "columns": {}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"sagerx\".\"sagerx_lake\".\"rxnorm_rxnsab\"", "created_at": 1731470992.240025}, "source.sagerx.rxnorm.rxnorm_rxnsat": {"database": "sagerx", "schema": "sagerx_lake", "name": "rxnorm_rxnsat", "resource_type": "source", "package_name": "sagerx", "path": "models/staging/rxnorm/_rxnorm__sources.yml", "original_file_path": "models/staging/rxnorm/_rxnorm__sources.yml", "unique_id": "source.sagerx.rxnorm.rxnorm_rxnsat", "fqn": ["sagerx", "staging", "rxnorm", "rxnorm", "rxnorm_rxnsat"], "source_name": "rxnorm", "source_description": "", "loader": "", "identifier": "rxnorm_rxnsat", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": {"count": null, "period": null}, "error_after": {"count": null, "period": null}, "filter": null}, "external": null, "description": "", "columns": {}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"sagerx\".\"sagerx_lake\".\"rxnorm_rxnsat\"", "created_at": 1731470992.24018}, "source.sagerx.rxnorm.rxnorm_rxnsty": {"database": "sagerx", "schema": "sagerx_lake", "name": "rxnorm_rxnsty", "resource_type": "source", "package_name": "sagerx", "path": "models/staging/rxnorm/_rxnorm__sources.yml", "original_file_path": "models/staging/rxnorm/_rxnorm__sources.yml", "unique_id": "source.sagerx.rxnorm.rxnorm_rxnsty", "fqn": ["sagerx", "staging", "rxnorm", "rxnorm", "rxnorm_rxnsty"], "source_name": "rxnorm", "source_description": "", "loader": "", "identifier": "rxnorm_rxnsty", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": {"count": null, "period": null}, "error_after": {"count": null, "period": null}, "filter": null}, "external": null, "description": "", "columns": {}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"sagerx\".\"sagerx_lake\".\"rxnorm_rxnsty\"", "created_at": 1731470992.2403338}, "source.sagerx.purple_book.purple_book": {"database": "sagerx", "schema": "sagerx_lake", "name": "purple_book", "resource_type": "source", "package_name": "sagerx", "path": "models/staging/purple_book/_purple_book__sources.yml", "original_file_path": "models/staging/purple_book/_purple_book__sources.yml", "unique_id": "source.sagerx.purple_book.purple_book", "fqn": ["sagerx", "staging", "purple_book", "purple_book", "purple_book"], "source_name": "purple_book", "source_description": "The \u201cPurple Book\u201d began as two lists (one for the CDER and one for CBER) that kept track of each Center's licensed biological products.\nIn February 2020, FDA released a searchable, online database that now replaces both lists because information about FDA-approved biological products is available in the Purple Book database.\n\nCurrently, the database contains information about all FDA-licensed biological products regulated by the CDER, including any biosimilar and interchangeable biological products, licensed (approved) by the FDA and FDA-licensed allergenic, cellular and gene therapy, hematologic, and vaccine products regulated by CBER.\nThe Purple Book database offers information about FDA- licensed biological products. It also includes information pertaining to exclusivity if the FDA has determined that a biological product is eligible for a relevant period of exclusivity.\n", "loader": "", "identifier": "purple_book", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": {"count": null, "period": null}, "error_after": {"count": null, "period": null}, "filter": null}, "external": null, "description": "The Purple Book database contains information on all FDA-licensed (approved) biological products regulated by the Center for Drug Evaluation and Research (CDER), including licensed biosimilar and interchangeable products, and their reference products. The Purple Book also contains information about all FDA-licensed allergenic, cellular and gene therapy, hematologic, and vaccine products regulated by the Center for Biologics Evaluation and Research (CBER).\n", "columns": {"nru": {"name": "nru", "description": "The changes that occurred during that month in three different categories: updated products (U), newly approved products (N), and products added in current release (R). Updated products (U) include FDA-approved products previously in the Purple Book that experienced changes during the month, resulting in an update of the applicable product(s) information (e.g., change in applicant or proprietary name). Newly approved products (N) include those that received initial FDA-approval during the month. Products added in current release (R) include a set of products that are not newly approved but were not previously included in the database.\n", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "applicant": {"name": "applicant", "description": "The manufacturer or company that submits an application to FDA for approval of a drug, including a biological product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "bla_number": {"name": "bla_number", "description": "The number assigned by FDA staff to each application for approval to market a biological product in the United States. The Biologics License Application (BLA) is an application for FDA approval of a biological product. If the data and information submitted meets FDA requirements, the application is approved and a license is issued allowing the firm to market the product.\n", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "proprietary_name": {"name": "proprietary_name", "description": "The trademark or brand name.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "proper_name": {"name": "proper_name", "description": "The proper name means the nonproprietary name designated by FDA in the license for a biological product licensed under the PHS Act. The nonproprietary name means a name unprotected by trademark rights that is in the public domain. Under the naming convention described in FDA Guidance,\u202fNonproprietary Naming of Biological Products, the proper name is a combination of the core name and a distinguishing suffix that is devoid of meaning and composed of four lowercase letters (e.g., -cznm, -hjxf). Core name = The component shared among an originator biological product and any related biological product, biosimilar product, or interchangeable product as part of the proper names of those products. Two examples of a core name are filgrastim and epoetin alfa.\n", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "bla_type": {"name": "bla_type", "description": "The type of License: 351(a), 351(k) Biosimilar, or 351(k) Interchangeable. 351(a) = A biological product licensed under section 351(a) of the PHS Act. A 351(a) BLA must contain all data and information necessary to demonstrate that the proposed product is safe, pure and potent (safe and effective). A biological product licensed under section 351(a) of the PHS Act can serve as the reference product for a 351(k) application. 351(k) Biosimilar = A biological product licensed under section 351(k) of the PHS Act. Among other things, a 351(k) Biosimilar BLA must contain data and information to demonstrate that the proposed product is biosimilar to the reference product. 351(k) Interchangeable = A biological product licensed under section 351(k) of the PHS Act. Among other things, a 351(k) Interchangeable BLA meets the requirements for biosimilarity and also contains data and information to demonstrate that the proposed product is interchangeable with the reference product.\n", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "strength": {"name": "strength", "description": "For more information on strength, see Q.I.12 in FDA Draft Guidance for Industry: New and Revised Draft Q&As on Biosimilar Development and the BPCI Act (Revision 2).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "dosage_form": {"name": "dosage_form", "description": "A dosage form is the physical form that delivers a dose of the drug, such as a tablet, a capsule, or an injection.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "route_of_administration": {"name": "route_of_administration", "description": "A route of administration is a way of administering a drug to a site in a patient (for example, intravenous or subcutaneous).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_presentation": {"name": "product_presentation", "description": "A dosage form is the physical form that delivers a dose of the drug, such as a tablet, a capsule, or an injection.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "status": {"name": "status", "description": "Marketing Status indicates how a biological product is sold in the United States, Prescription (Rx), Over the Counter (OTC), Discontinued (Disc). RX = Rx is a symbol for \"prescription.\" A prescription biological product requires a health care provider's authorization to purchase. OTC = Drugs that are safe and effective for use by the general public without a doctor's prescription Disc. = Discontinued Status- The product has been discontinued. Disc.* = Discontinued Status- FDA has determined that the product has been discontinued for reasons other than safety, purity, and potency.\n", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "licensure": {"name": "licensure", "description": "Status of the product license, e.g., whether the product is currently licensed or whether the license has been revoked.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "approval_date": {"name": "approval_date", "description": "The date FDA approved the application or supplement.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ref_product_proper_name": {"name": "ref_product_proper_name", "description": "A reference product is the single biological product, licensed (approved) by FDA under section 351(a) of the Public Health Service Act, against which a proposed biosimilar or interchangeable product is compared.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ref_Product_proprietary_name": {"name": "ref_Product_proprietary_name", "description": "The trademark or brand name of the reference product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "supplement_number": {"name": "supplement_number", "description": "Manufacturers may submit supplements to request approval for a change to an approved BLA. A number is assigned to each supplement which is usually, but not always, sequential, starting with 001.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "submission_type": {"name": "submission_type", "description": "The type of submission, for example, the original application or a supplemental application.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "license_number": {"name": "license_number", "description": "The number of the license granted to the manufacturer by the FDA.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_number": {"name": "product_number", "description": "A product number is assigned to each biological product associated with a BLA (Biologics License Application). For example, if the biological product is available in multiple strengths, there are multiple product numbers.\n", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "center": {"name": "center", "description": "Refers to either FDA's Center for Biologics Evaluation and Research (CBER) or Center for Drug Evaluation and Research (CDER).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "date_of_first_licensure": {"name": "date_of_first_licensure", "description": "The date on which any applicable reference product exclusivity begins to run. FDA has not made a determination of first licensure for each 351(a) biological product included in the Purple Book. The absence of a date of first licensure in the Purple Book does not mean that a biological product on the list is not, or was not, eligible for the periods of exclusivity described in section 351(k)(7) of the PHS Act.\n", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "exclusivity_expiration_date": {"name": "exclusivity_expiration_date", "description": "The date on which all applicable periods of exclusivity expire.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "first_interchangeable_exclusivity_exp_date": {"name": "first_interchangeable_exclusivity_exp_date", "description": "The date a first interchangeable product's period of exclusivity ends. An interchangeable product is a biological product that meets the requirements for a biosimilar product and is approved based on information that is sufficient to show that it can be expected to produce the same clinical result as the reference product in any given patient; and for a biological product that is administered more than once to an individual, there is not a greater safety risk or risk of reduced efficacy from alternating or switching between use of the interchangeable product and its reference product. An interchangeable product may be substituted for the reference product without the intervention of the prescribing health care provider.\n", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ref_product_exclusivity_exp_date": {"name": "ref_product_exclusivity_exp_date", "description": "The date on which the 12-year period of reference product exclusivity expires, including any applicable pediatric extension.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "orphan_exclusivity_exp_date": {"name": "orphan_exclusivity_exp_date", "description": "The latest date on which a period of seven-year period of orphan exclusivity expires, including any applicable pediatric extension.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"sagerx\".\"sagerx_lake\".\"purple_book\"", "created_at": 1731470992.240693}, "source.sagerx.nadac.nadac": {"database": "sagerx", "schema": "sagerx_lake", "name": "nadac", "resource_type": "source", "package_name": "sagerx", "path": "models/staging/nadac/_nadac__sources.yml", "original_file_path": "models/staging/nadac/_nadac__sources.yml", "unique_id": "source.sagerx.nadac.nadac", "fqn": ["sagerx", "staging", "nadac", "nadac", "nadac"], "source_name": "nadac", "source_description": "", "loader": "", "identifier": "nadac", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": {"count": null, "period": null}, "error_after": {"count": null, "period": null}, "filter": null}, "external": null, "description": "National Average Drug Acquisition Cost (NADAC).\nCMS has entered into a contract with Myers & Stauffer, LC, to perform a Retail Price Survey.\nThe purpose of this initiative is to perform a monthly nationwide survey of retail community pharmacy covered outpatient drug prices and to provide states with weekly updates on pricing files. These pricing files, entitled the NADAC (National Average Drug Acquisition Cost) files, provide state Medicaid agencies with covered outpatient drug prices by averaging survey invoice prices from retail community pharmacies across the United States. The state agencies have the option of using the NADAC files to meet the new Actual Acquisition Cost (AAC) reimbursement requirements in the Covered Outpatient Drug final rule with comment (CMS 2345-FC).\nThe Retail Price Survey focuses on the retail community pharmacy acquisition costs. This provides for a survey of the purchase prices of all covered outpatient drugs by retail community pharmacies. These pharmacies include independent retail community pharmacies and chain pharmacies. The prices are updated on a weekly and monthly basis. A methodology document titled Methodology for Calculating the National Average Drug Acquisition Cost (NADAC) outlines the processes used to derive the NADAC. NADAC Questions and Responses includes questions and comments received to date regarding the NADAC, along with our responses. To the extent that states consider the NADAC as a reference price when setting their reimbursement methodology, they must submit a State Plan Amendment (SPA) to CMS in accordance with state plan requirements if they decide to use NADAC as a basis for payment.\nEffective November 27, 2013, CMS began posting final NADAC files. To view the NADAC weekly files and the NADAC Week to Week File Comparison, please visit the Pharmacy Drug Pricing Page. \nPlease note that the NADAC file is updated on a weekly basis. Each month, a new file is posted to reflect findings from the previous month\u2019s survey results incorporating the weekly price changes that have occurred in the interim weeks before the next monthly NADAC file. For more information on the fields in the NADAC weekly file, please see the NADAC Data Field Definitions. In addition, to easily identify and understand the pricing changes that occur each week, we are posting a NADAC Week to Week File Comparison which will accompany the weekly NADAC file. This comparison file identifies the drug products with current NADAC rates that are replaced with new NADAC rates. Other changes (e.g. NDC additions and terminations) to the NADAC file are not reflected in this comparison. The explanation of the data fields used in the comparison file are further defined in the NADAC Week to Week Comparison Data Field Definitions.\nThe NADAC Equivalency Metrics are published on a quarterly basis and are intended to be utilized for analyzing and monitoring the NADAC pricing relationship to compendia drug pricing values. In addition, the NADAC equivalency metrics can be utilized by state Medicaid programs for evaluating their respective pharmacy reimbursement protocols. A methodology document titled NADAC Equivalency Methodology has been developed to outline the processes used to derive the NADAC Equivalency Metrics file.\n", "columns": {"ndc_description": {"name": "ndc_description", "description": "Identifies the drug name, strength, and dosage form of the drug product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ndc": {"name": "ndc", "description": "The National Drug Code (NDC) is a numerical code maintained by the FDA that includes the labeler code, product code, and package code. The NDC is an 11-digit code.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "nadac_per_unit": {"name": "nadac_per_unit", "description": "The National Average Drug Acquisition Cost per unit.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "effective_date": {"name": "effective_date", "description": "The effective date of the NADAC Per Unit cost.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "pricing_unit": {"name": "pricing_unit", "description": "Indicates the pricing unit for the associated NDC ('ML', 'GM' or 'EA').", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "pharmacy_type_indicator": {"name": "pharmacy_type_indicator", "description": "The source of pharmacy survey data used to calculate the NADAC. 'C/I' indicates data was collected from surveys of Chain/Independent pharmacies. Other pharmacy type indicators are not used at this time.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "otc": {"name": "otc", "description": "Indicates whether or not the NDC is for an over-the-counter (OTC) product ('Y' or 'N').", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "explanation_code": {"name": "explanation_code", "description": "Codes that pertain to how the NADAC was calculated; see explanation code descriptions below. Numbers 1-10, multi-value, comma-delimited.\n- Code 1: The NADAC was calculated using information from the most recently completed pharmacy survey. - Code 2: The average acquisition cost of the most recent survey was within \u00b1 2% of the current NADAC; therefore, the NADAC was carried forward from the previous file. - Code 3: The NADAC based on survey data has been adjusted to reflect changes in published pricing, or as a result of an inquiry to the help desk. - Code 4: The NADAC was carried forward from the previous file. - Code 5: The NADAC was calculated based on package size. - Code 6: The CMS Covered Outpatient Drug Product File drug category type of 'S/I/N' (Single Source/Innovator/Non-Innovator) has not been applied. Most 'S/I' drugs with the same strength, dosage form and route of administration were grouped together for the purpose of the NADAC calculation and 'N' drugs were also grouped together. In some cases, however, in calculating a NADAC, the CMS 'S/I/N' designation was not applied when the State Medicaid brand or generic payment practices for these drugs generally differed from the Covered Outpatient Drug Product File designation.\n \n> For example, authorized generic drugs are appropriately listed in the CMS covered outpatient drug file as 'I' drugs for the purpose of rebates as they were approved under a New Drug Application (NDA). However, they are grouped as 'N' for the NADAC calculation since they are generally designated as generic by most State Medicaid programs for the purposes of reimbursement. Another example of this occurrence is when proprietary named drugs, approved under an Abbreviated New Drug Application (ANDA) are appropriately in the CMS Covered Outpatient Drug file as 'N' for the purpose of rebates. However, they are grouped as 'S/I' for the NADAC calculation since they are generally reimbursed as brand drugs by State Medicaid programs.\n \n- Codes 7 through 10: Reserved for future use.\n", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "classification_for_rate_setting": {"name": "classification_for_rate_setting", "description": "Indicates whether the NDC was considered brand (\u2018B\u2019) or generic (\u2018G\u2019) for the NADAC rate calculation process. If the NDC was considered brand (\u2018B\u2019) and approved under an Abbreviated New Drug Application (ANDA), the indicator is shown as (\u2018B-ANDA\u2019). NDCs approved as biosimilar products are considered brand (\u2018B\u2019) and will be designated as (\u2018B-BIO\u2019).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "corresponding_generic_drug_nadac_per_unit": {"name": "corresponding_generic_drug_nadac_per_unit", "description": "The NADAC for the corresponding generic drug.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "corresponding_generic_drug_effective_date": {"name": "corresponding_generic_drug_effective_date", "description": "The effective date of when the Corresponding Generic Drug NADAC Per Unit is assigned to a multiple source brand drug NDC. This date may not correspond to the NADAC effective date for the generic drug due to the method by which the corresponding generic drug NADAC effective date is assigned.\nThe corresponding generic drug NADAC effective date is the latter of the following dates:\na) date of the NADAC reference file upon which the corresponding generic drug NADAC first appears, b) the current corresponding generic drug NADAC effective date plus one day - one day is added to the previous date so that there are no overlapping rate segments, or c) the NADAC Effective Date for the generic drug group. This data assignment process is necessary to eliminate the potential for applying corresponding generic drug NADACs to past claims.\n", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "as_of_date": {"name": "as_of_date", "description": "As of date.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"sagerx\".\"sagerx_lake\".\"nadac\"", "created_at": 1731470992.2408996}, "source.sagerx.fda_unii.fda_unii": {"database": "sagerx", "schema": "sagerx_lake", "name": "fda_unii", "resource_type": "source", "package_name": "sagerx", "path": "models/staging/fda_unii/_fda_unii__sources.yml", "original_file_path": "models/staging/fda_unii/_fda_unii__sources.yml", "unique_id": "source.sagerx.fda_unii.fda_unii", "fqn": ["sagerx", "staging", "fda_unii", "fda_unii", "fda_unii"], "source_name": "fda_unii", "source_description": "FDA UNII codes.", "loader": "", "identifier": "fda_unii", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": {"count": null, "period": null}, "error_after": {"count": null, "period": null}, "filter": null}, "external": null, "description": "", "columns": {}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"sagerx\".\"sagerx_lake\".\"fda_unii\"", "created_at": 1731470992.2410614}, "source.sagerx.rxterms.rxterms_ingredients": {"database": "sagerx", "schema": "sagerx_lake", "name": "rxterms_ingredients", "resource_type": "source", "package_name": "sagerx", "path": "models/staging/rxterms/_rxterms__sources.yml", "original_file_path": "models/staging/rxterms/_rxterms__sources.yml", "unique_id": "source.sagerx.rxterms.rxterms_ingredients", "fqn": ["sagerx", "staging", "rxterms", "rxterms", "rxterms_ingredients"], "source_name": "rxterms", "source_description": "RxTerms is a drug interface terminology derived from RxNorm for prescription writing or medication history recording (e.g. in e-prescribing systems, PHRs).", "loader": "", "identifier": "rxterms_ingredients", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": {"count": null, "period": null}, "error_after": {"count": null, "period": null}, "filter": null}, "external": null, "description": "Lists the ingredients and their RXCUIs for every drug in RxTerms that is not suppressible or retired.", "columns": {"rxcui": {"name": "rxcui", "description": "RxNorm unique identifier for the clinical drug.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ingredient": {"name": "ingredient", "description": "Name of ingredient.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ing_rxcui": {"name": "ing_rxcui", "description": "RXCUI of ingredient.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"sagerx\".\"sagerx_lake\".\"rxterms_ingredients\"", "created_at": 1731470992.2412333}, "source.sagerx.rxterms.rxterms": {"database": "sagerx", "schema": "sagerx_lake", "name": "rxterms", "resource_type": "source", "package_name": "sagerx", "path": "models/staging/rxterms/_rxterms__sources.yml", "original_file_path": "models/staging/rxterms/_rxterms__sources.yml", "unique_id": "source.sagerx.rxterms.rxterms", "fqn": ["sagerx", "staging", "rxterms", "rxterms", "rxterms"], "source_name": "rxterms", "source_description": "RxTerms is a drug interface terminology derived from RxNorm for prescription writing or medication history recording (e.g. in e-prescribing systems, PHRs).", "loader": "", "identifier": "rxterms", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": {"count": null, "period": null}, "error_after": {"count": null, "period": null}, "filter": null}, "external": null, "description": "Main RxTerms data that retains the broad coverage of RxNorm for U.S. prescribable drugs.", "columns": {"rxcui": {"name": "rxcui", "description": "The RxNorm unique identifier for the clinical drug, which can be one of the following term types:\n - Semantic Clinical Drug (SCD) e.g. azithromycin 250 MG Oral Capsule.\n - Semantic Branded Drug (SBD) e.g. azithromycin 250 MG Oral Capsule [Zithromax].\n - Generic Pack (GPCK) e.g. {6 (azithromycin 250 MG Oral Tablet) } Pack\n - Branded Pack (BPCK) e.g. {6 (azithromycin 250 MG Oral Tablet [Zithromax]) } Pack [Z-PAKS].\n", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "generic_rxcui": {"name": "generic_rxcui", "description": "The corresponding generic clinical drug for SBD and BPCK (null for SCD).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "tty": {"name": "tty", "description": "Term type in RxNorm.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "full_name": {"name": "full_name", "description": "The full RxNorm name of the clinical drug.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "rxn_dose_form": {"name": "rxn_dose_form", "description": "Dose form and intended route information from RxNorm.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "full_generic_name": {"name": "full_generic_name", "description": "The generic part of the full RxNorm name.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "brand_name": {"name": "brand_name", "description": "The brand name part of the full RxNorm name (null for SCD). Brand names are in all uppercase to distinguish them from generic names.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "display_name": {"name": "display_name", "description": "Drug name (either generic or brand name) and intended route e.g. INDERAL (Oral-pill).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "route": {"name": "route", "description": "Intended route derived from RXN_DOSE_FORM.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "new_dose_form": {"name": "new_dose_form", "description": "Dose form derived from RXN_DOSE_FORM.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "strength": {"name": "strength", "description": "Strength information parsed from the RxNorm full name.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "suppress_for": {"name": "suppress_for", "description": "To flag drug names deemed not likely to be useful for data entry. For example, long generic drug names with multiple ingredients (e.g. Bacitracin/Hydrocortisone/Neomycin/Polymyxin B) are suppressed because they are almost always prescribed by their brand names (e.g. CORTISPORIN OINTMENT). Any non-null value means that a row should be suppressed.\n", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "display_name_synonym": {"name": "display_name_synonym", "description": "Commonly used synonyms or abbreviations for the drug e.g. MOM for Milk of Magnesia.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "is_retired": {"name": "is_retired", "description": "To flag records that existed in earlier versions but not in the latest version.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sxdg_rxcui": {"name": "sxdg_rxcui", "description": "The RxNorm unique identifier for the entity represented by the DISPLAY_NAME (drug + intended route). The corresponding TTY (term type) in RxNorm is either SCDG (Semantic Clinical Doseform Group) or SBDG (Semantic Branded Doseform Group), as represented in the field SXDG_TTY.\n", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sxdg_tty": {"name": "sxdg_tty", "description": "The RxNorm TTY of the semantic doseform group.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sxdg_name": {"name": "sxdg_name", "description": "The RxNorm name of the semantic doseform group.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "psn": {"name": "psn", "description": "The RxNorm prescribable name.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"sagerx\".\"sagerx_lake\".\"rxterms\"", "created_at": 1731470992.241447}, "source.sagerx.orange_book.orange_book_exlusivity": {"database": "sagerx", "schema": "sagerx_lake", "name": "orange_book_exlusivity", "resource_type": "source", "package_name": "sagerx", "path": "models/staging/orange_book/_orange_book__sources.yml", "original_file_path": "models/staging/orange_book/_orange_book__sources.yml", "unique_id": "source.sagerx.orange_book.orange_book_exlusivity", "fqn": ["sagerx", "staging", "orange_book", "orange_book", "orange_book_exlusivity"], "source_name": "orange_book", "source_description": "The publication Approved Drug Products with Therapeutic Equivalence Evaluations (commonly known as the Orange Book) identifies drug products approved on the basis of safety and effectiveness by the Food and Drug Administration (FDA) under the Federal Food, Drug, and Cosmetic Act (the Act) and related patent and exclusivity information. For more information on the Orange Book including its history, see the Orange Book Preface.\n", "loader": "", "identifier": "orange_book_exlusivity", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": {"count": null, "period": null}, "error_after": {"count": null, "period": null}, "filter": null}, "external": null, "description": "Related exclusivity information of drug products approved on the basis of safety and effectiveness by the Food and Drug Administration (FDA) under the Federal Food, Drug, and Cosmetic Act (the Act).", "columns": {"appl_type": {"name": "appl_type", "description": "The type of new drug application approval. New Drug Applications (NDA or innovator) are 'N'. Abbreviated New Drug Applications (ANDA or generic) are 'A'.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "appl_no": {"name": "appl_no", "description": "The FDA assigned New Drug Application (NDA) number to the application. Format is nnnnnn.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_no": {"name": "product_no", "description": "The FDA assigned number to identify the application products. Each strength is a separate product. May repeat for multiple part products. Format is nnn.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "exclusivity_code": {"name": "exclusivity_code", "description": "Code to designate exclusivity granted by the FDA to a drug product. Format is nnnnnnnnnn.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "exclusivity_date": {"name": "exclusivity_date", "description": "The date the exclusivity expires. Format is MMM DD, YYYY.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"sagerx\".\"sagerx_lake\".\"orange_book_exlusivity\"", "created_at": 1731470992.2416208}, "source.sagerx.orange_book.orange_book_patent": {"database": "sagerx", "schema": "sagerx_lake", "name": "orange_book_patent", "resource_type": "source", "package_name": "sagerx", "path": "models/staging/orange_book/_orange_book__sources.yml", "original_file_path": "models/staging/orange_book/_orange_book__sources.yml", "unique_id": "source.sagerx.orange_book.orange_book_patent", "fqn": ["sagerx", "staging", "orange_book", "orange_book", "orange_book_patent"], "source_name": "orange_book", "source_description": "The publication Approved Drug Products with Therapeutic Equivalence Evaluations (commonly known as the Orange Book) identifies drug products approved on the basis of safety and effectiveness by the Food and Drug Administration (FDA) under the Federal Food, Drug, and Cosmetic Act (the Act) and related patent and exclusivity information. For more information on the Orange Book including its history, see the Orange Book Preface.\n", "loader": "", "identifier": "orange_book_patent", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": {"count": null, "period": null}, "error_after": {"count": null, "period": null}, "filter": null}, "external": null, "description": "Related patent information of drug products approved on the basis of safety and effectiveness by the Food and Drug Administration (FDA) under the Federal Food, Drug, and Cosmetic Act (the Act).", "columns": {"appl_type": {"name": "appl_type", "description": "The type of new drug application approval. New Drug Applications (NDA or innovator) are 'N'. Abbreviated New Drug Applications (ANDA or generic) are 'A'.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "appl_no": {"name": "appl_no", "description": "The FDA assigned number to the New Drug Application (NDA). Format is nnnnnn.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_no": {"name": "product_no", "description": "The FDA assigned number to identify the application products. Each strength is a separate product. May repeat for multiple part products. Format is nnn.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "patent_no": {"name": "patent_no", "description": "Patent numbers as submitted by the applicant holder for patents covered by the statutory provisions. May repeat for multiple applications and multiple products. Includes pediatric exclusivity granted by the agency. Format is nnnnnnnnnnn.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "patent_expire_date_text": {"name": "patent_expire_date_text", "description": "The date the patent expires as submitted by the applicant holder including applicable extensions. The format is MMM DD, YYYY.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "drug_substance_flag": {"name": "drug_substance_flag", "description": "Patents submitted on FDA Form 3542 and listed after August 18, 2003 may have a drug substance flag indicating the sponsor submitted the patent as claiming the drug substance. Format is Y or null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "drug_product_flag": {"name": "drug_product_flag", "description": "Patents submitted on FDA Form 3542 and listed after August 18, 2003 may have a drug product flag indicating the sponsor submitted the patent as claiming the drug product. Format is Y or null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "patent_use_code": {"name": "patent_use_code", "description": "Code to designate a use patent that covers the approved indication or use of a drug product. May repeat for multiple applications, multiple products and multiple patents. Format is nnnnnnnnnn.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "delist_flag": {"name": "delist_flag", "description": "Sponsor has requested patent be delisted. This patent has remained listed because, under Section 505(j)(5)(D)(i) of the Act, a first applicant may retain eligibility for 180-day exclusivity based on a paragraph IV certification to this patent for a certain period. Applicants under Section 505(b)(2) are not required to certify to patents where this flag is set to Y. Format is Y or null.\n", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "submission_date": {"name": "submission_date", "description": "The date on which the FDA receives patent information from the new drug application (NDA) holder. Format is Mmm d, yyyy.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"sagerx\".\"sagerx_lake\".\"orange_book_patent\"", "created_at": 1731470992.2418091}, "source.sagerx.orange_book.orange_book_products": {"database": "sagerx", "schema": "sagerx_lake", "name": "orange_book_products", "resource_type": "source", "package_name": "sagerx", "path": "models/staging/orange_book/_orange_book__sources.yml", "original_file_path": "models/staging/orange_book/_orange_book__sources.yml", "unique_id": "source.sagerx.orange_book.orange_book_products", "fqn": ["sagerx", "staging", "orange_book", "orange_book", "orange_book_products"], "source_name": "orange_book", "source_description": "The publication Approved Drug Products with Therapeutic Equivalence Evaluations (commonly known as the Orange Book) identifies drug products approved on the basis of safety and effectiveness by the Food and Drug Administration (FDA) under the Federal Food, Drug, and Cosmetic Act (the Act) and related patent and exclusivity information. For more information on the Orange Book including its history, see the Orange Book Preface.\n", "loader": "", "identifier": "orange_book_products", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": {"count": null, "period": null}, "error_after": {"count": null, "period": null}, "filter": null}, "external": null, "description": "Drug products approved on the basis of safety and effectiveness by the Food and Drug Administration (FDA) under the Federal Food, Drug, and Cosmetic Act (the Act).", "columns": {"ingredient": {"name": "ingredient", "description": "The active ingredient(s) for the product. Multiple ingredients are in alphabetical order, separated by a semicolon.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "df_route": {"name": "df_route", "description": "The product dosage form and route separated by a semi-colon. The format is not all uppercase.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "trade_name": {"name": "trade_name", "description": "The trade name of the product as shown on the labeling.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "applicant": {"name": "applicant", "description": "The firm name holding legal responsibility for the new drug application. The firm name is condensed to a maximum twenty character unique string.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "strength": {"name": "strength", "description": "The potency of the active ingredient. May repeat for multiple part products.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "appl_type": {"name": "appl_type", "description": "The type of new drug application approval. New Drug Applications (NDA or innovator) are \u201dN\u201d. Abbreviated New Drug Applications (ANDA or generic) are \u201cA\u201d.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "appl_no": {"name": "appl_no", "description": "The FDA assigned number to the application. Format is nnnnnn.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_no": {"name": "product_no", "description": "The FDA assigned number to identify the application products. Each strength is a separate product. May repeat for multiple part products. Format is nnn.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "te_code": {"name": "te_code", "description": "The Therapeutic Equivalence (TE) Code indicates the therapeutic equivalence rating of generic to innovator Rx products.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "approval_date": {"name": "approval_date", "description": "The date the product was approved as stated in the FDA approval letter to the applicant. The format is Mmm dd, yyyy. Products approved prior to the January 1, 1982 contain the phrase: 'Approved prior to Jan 1, 1982'.\n", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "rld": {"name": "rld", "description": "The Reference Listed Drug (RLD) is a drug product approved under section 505(c) of the FD&C Act for which FDA has made a finding of safety and effectiveness. In the electronic Orange Book, an RLD is identified by 'RLD' in the RLD column.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "rs": {"name": "rs", "description": "A 'reference standard' is the drug product selected by FDA that an applicant seeking approval of an ANDA must use in conducting an in vivo bioequivalence study required for approval of an ANDA. In the electronic Orange Book, a reference standard is identified by 'RS' in the RS column.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "type": {"name": "type", "description": "The group or category of approved drugs. Format is RX, OTC, DISCN.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "applicant_full_name": {"name": "applicant_full_name", "description": "The full name of the firm holding legal responsibility for the new drug application.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"sagerx\".\"sagerx_lake\".\"orange_book_products\"", "created_at": 1731470992.2420087}, "source.sagerx.fda_excluded.fda_excluded_package": {"database": "sagerx", "schema": "sagerx_lake", "name": "fda_excluded_package", "resource_type": "source", "package_name": "sagerx", "path": "models/staging/fda_excluded/_fda_excluded__sources.yml", "original_file_path": "models/staging/fda_excluded/_fda_excluded__sources.yml", "unique_id": "source.sagerx.fda_excluded.fda_excluded_package", "fqn": ["sagerx", "staging", "fda_excluded", "fda_excluded", "fda_excluded_package"], "source_name": "fda_excluded", "source_description": "Products removed / excluded from the NDC Directory for failure to respond to FDA's requests for correction for various reasons.", "loader": "", "identifier": "fda_excluded_package", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": {"count": null, "period": null}, "error_after": {"count": null, "period": null}, "filter": null}, "external": null, "description": "Packages of product that have been removed/excluded from the NDC Directory for failure to respond to the FDA", "columns": {"productid": {"name": "productid", "description": "ProductID is a concatenation of the NDCproduct code and SPL documentID. It is included to help prevent duplicate rows from appearing when joining the product and package files together. It has no regulatory value or significance.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "productndc": {"name": "productndc", "description": "The labeler code and product code segments of the National Drug Code number, separated by a hyphen. Asterisks are no longer used or included within the product code segment to indicate certain configurations of the NDC.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ndcpackagecode": {"name": "ndcpackagecode", "description": "The labeler code, product code, and package code segments of the National Drug Code number, separated by hyphens. Asterisks are no longer used or included within the product and package code segments to indicate certain configurations of the NDC.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "packagedescription": {"name": "packagedescription", "description": "A description of the size and type of packaging in sentence form. Multilevel packages will have the descriptions concatenated together. For example: 4 BOTTLES in 1 CARTON/100 TABLETS in 1 BOTTLE.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "startmarketingdate": {"name": "startmarketingdate", "description": "This is the date that the labeler indicates was the start of its marketing of the drug product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "endmarketingdate": {"name": "endmarketingdate", "description": "This is the date the product will no longer be available on the market. If a product is no longer being manufactured, in most cases, the FDA recommends firms use the expiration date of the last lot produced as the EndMarketingDate, to reflect the potential for drug product to remain available after manufacturing has ceased. Products that are the subject of ongoing manufacturing will not ordinarily have any EndMarketingDate. Products with a value in the EndMarketingDate will be removed from the NDC Directory when the EndMarketingDate is reached.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ndc_exclude_flag": {"name": "ndc_exclude_flag", "description": "Values = 'Y', 'N', 'E', or 'I'. This indicates whether the PACKAGE has been removed/excluded from the NDC Directory for failure to respond to FDA's requests for correction to deficient or non-compliant submissions ('Y'), or because the listing certification is expired ('E'), or because the listing data was inactivated by FDA ('I').", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sample_package": {"name": "sample_package", "description": "This indicates if the package is to be distributed as a sample package. Values = 'Y' or 'N''", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"sagerx\".\"sagerx_lake\".\"fda_excluded_package\"", "created_at": 1731470992.2421913}, "source.sagerx.fda_excluded.fda_excluded_product": {"database": "sagerx", "schema": "sagerx_lake", "name": "fda_excluded_product", "resource_type": "source", "package_name": "sagerx", "path": "models/staging/fda_excluded/_fda_excluded__sources.yml", "original_file_path": "models/staging/fda_excluded/_fda_excluded__sources.yml", "unique_id": "source.sagerx.fda_excluded.fda_excluded_product", "fqn": ["sagerx", "staging", "fda_excluded", "fda_excluded", "fda_excluded_product"], "source_name": "fda_excluded", "source_description": "Products removed / excluded from the NDC Directory for failure to respond to FDA's requests for correction for various reasons.", "loader": "", "identifier": "fda_excluded_product", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": {"count": null, "period": null}, "error_after": {"count": null, "period": null}, "filter": null}, "external": null, "description": "Products that have been removed/excluded from the NDC Directory for failure to respond to the FDA", "columns": {"productid": {"name": "productid", "description": "ProductID is a concatenation of the NDCproduct code and SPL documentID. It is included to help prevent duplicate rows from appearing when joining the product and package files together. It has no regulatory value or significance.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "productndc": {"name": "productndc", "description": "The labeler code and product code segments of the National Drug Code number, separated by a hyphen. Asterisks are no longer used or included within the product code segment to indicate certain configurations of the NDC. www.fda.gov/edrls under Structured Product Labeling Resources.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "producttypename": {"name": "producttypename", "description": "Indicates the type of product, such as Human Prescription Drug or Human OTC Drug. This data element corresponds to the \u201cDocument Type\u201d of the SPL submission for the listing. The complete list of codes and translations can be found at.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "proprietaryname": {"name": "proprietaryname", "description": "Also known as the trade name. It is the name of the product chosen by the labeler.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "proprietarynamesuffix": {"name": "proprietarynamesuffix", "description": "A suffix to the proprietary name, a value here should be appended to the ProprietaryName field to obtain the complete name of the product. This suffix is often used to distinguish characteristics of a product such as extended release (\u201cXR\u201d) or sleep aid (\u201cPM\u201d). Although many companies follow certain naming conventions for suffices, there is no recognized standard.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "nonproprietaryname": {"name": "nonproprietaryname", "description": "Sometimes called the generic name, this is usually the active ingredient(s) of the product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "dosageformname": {"name": "dosageformname", "description": "The translation of the DosageForm Code submitted by the firm. The complete list of codes and translations can be found www.fda.gov/edrls under Structured Product Labeling Resources.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "routename": {"name": "routename", "description": "The translation of the Route Code submitted by the firm, indicating route of administration. The complete list of codes and translations can be found at www.fda.gov/edrls under Structured Product Labeling Resources.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "startmarketingdate": {"name": "startmarketingdate", "description": "This is the date that the labeler indicates was the start of its marketing of the drug product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "endmarketingdate": {"name": "endmarketingdate", "description": "This is the date the product will no longer be available on the market. If a product is no longer being manufactured, in most cases, the FDA recommends firms use the expiration date of the last lot produced as the EndMarketingDate, to reflect the potential for drug product to remain available after manufacturing has ceased. Products that are the subject of ongoing manufacturing will not ordinarily have any EndMarketingDate. Products with a value in the EndMarketingDate will be removed from the NDC Directory when the EndMarketingDate is reached.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "marketingcategoryname": {"name": "marketingcategoryname", "description": "Product types are broken down into several potential Marketing Categories, such as NDA/ANDA/BLA, OTC Monograph, or Unapproved Drug. One and only one Marketing Category may be chosen for a product, not all marketing categories are available to all product types. Currently, only final marketed product categories are included. The complete list of codes and translations can be found at www.fda.gov/edrls under Structured Product Labeling Resources.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "applicationnumber": {"name": "applicationnumber", "description": "This corresponds to the NDA, ANDA, or BLA number reported by the labeler for products which have the corresponding Marketing Category designated. If the designated Marketing Category is OTC Monograph Final or OTC Monograph Not Final, then the Application number will be the CFR citation corresponding to the appropriate Monograph (e.g. \u201cpart 341\u201d). For unapproved drugs, this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "labelername": {"name": "labelername", "description": "Name of Company corresponding to the labeler code segment of the ProductNDC.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "substancename": {"name": "substancename", "description": "This is the active ingredient list. Each ingredient name is the preferred term of the UNII code submitted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active_numerator_strength": {"name": "active_numerator_strength", "description": "These are the strength values (to be used with units below) of each active ingredient, listed in the same order as the SubstanceName field above.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active_ingred_unit": {"name": "active_ingred_unit", "description": "These are the units to be used with the strength values above, listed in the same order as the SubstanceName and SubstanceNumber (ActiveNumeratorStrength).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "pharm_classes": {"name": "pharm_classes", "description": "These are the reported pharmacological class categories corresponding to the SubstanceNames listed above.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "deaschedule": {"name": "deaschedule", "description": "This is the assigned DEA Schedule number as reported by the labeler. Values are CI, CII, CIII, CIV, and CV.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ndc_exclude_flag": {"name": "ndc_exclude_flag", "description": "Values = 'Y', 'N', 'E', or 'I'. This indicates whether the product has been removed/excluded from the NDC Directory for failure to respond to FDA's requests for correction to deficient or non-compliant submissions ('Y'), or because the listing certification is expired ('E'), or because the listing data was inactivated by FDA ('I').", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "listing_record_certified_through": {"name": "listing_record_certified_through", "description": "This is the date when the listing record will expire if not updated or certified by the firm.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"sagerx\".\"sagerx_lake\".\"fda_excluded_product\"", "created_at": 1731470992.2424085}, "source.sagerx.fda_enforcement.fda_enforcement": {"database": "sagerx", "schema": "sagerx_lake", "name": "fda_enforcement", "resource_type": "source", "package_name": "sagerx", "path": "models/staging/fda_enforcement/_fda_enforcement__sources.yml", "original_file_path": "models/staging/fda_enforcement/_fda_enforcement__sources.yml", "unique_id": "source.sagerx.fda_enforcement.fda_enforcement", "fqn": ["sagerx", "staging", "fda_enforcement", "fda_enforcement", "fda_enforcement"], "source_name": "fda_enforcement", "source_description": "", "loader": "", "identifier": "fda_enforcement", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": {"count": null, "period": null}, "error_after": {"count": null, "period": null}, "filter": null}, "external": null, "description": "", "columns": {}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"sagerx\".\"sagerx_lake\".\"fda_enforcement\"", "created_at": 1731470992.2425637}, "source.sagerx.fda_ndc.fda_ndc_product": {"database": "sagerx", "schema": "sagerx_lake", "name": "fda_ndc_product", "resource_type": "source", "package_name": "sagerx", "path": "models/staging/fda_ndc/_fda_ndc__sources.yml", "original_file_path": "models/staging/fda_ndc/_fda_ndc__sources.yml", "unique_id": "source.sagerx.fda_ndc.fda_ndc_product", "fqn": ["sagerx", "staging", "fda_ndc", "fda_ndc", "fda_ndc_product"], "source_name": "fda_ndc", "source_description": "Product listing data submitted for all finished drugs including prescription and over-the-counter drugs, approved and unapproved drugs and repackaged and relabeled drugs.", "loader": "", "identifier": "fda_ndc_product", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": {"count": null, "period": null}, "error_after": {"count": null, "period": null}, "filter": null}, "external": null, "description": "", "columns": {"productid": {"name": "productid", "description": "ProductID is a concatenation of the NDCproduct code and SPL documentID. It is included to help prevent duplicate rows from appearing when joining the product and package files together. It has no regulatory value or significance.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "productndc": {"name": "productndc", "description": "The labeler code and product code segments of the National Drug Code number, separated by a hyphen. Asterisks are no longer used or included within the product code segment to indicate certain configurations of the NDC. www.fda.gov/edrls under Structured Product Labeling Resources.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "producttypename": {"name": "producttypename", "description": "Indicates the type of product, such as Human Prescription Drug or Human OTC Drug. This data element corresponds to the Document Type of the SPL submission for the listing.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "proprietaryname": {"name": "proprietaryname", "description": "Also known as the trade name. It is the name of the product chosen by the labeler.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "proprietarynamesuffix": {"name": "proprietarynamesuffix", "description": "A suffix to the proprietary name, a value here should be appended to the ProprietaryName field to obtain the complete name of the product. This suffix is often used to distinguish characteristics of a product such as extended release (XR) or sleep aid (PM). Although many companies follow certain naming conventions for suffices, there is no recognized standard", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "nonproprietaryname": {"name": "nonproprietaryname", "description": "Sometimes called the generic name, this is usually the active ingredient(s) of the product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "dosageformname": {"name": "dosageformname", "description": "The translation of the DosageForm Code submitted by the firm. The complete list of codes and translations can be found www.fda.gov/edrls under Structured Product Labeling Resources.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "routename": {"name": "routename", "description": "The translation of the Route Code submitted by the firm, indicating route of administration. The complete list of codes and translations can be found at www.fda.gov/edrls under Structured Product Labeling Resources.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "startmarketingdate": {"name": "startmarketingdate", "description": "This is the date that the labeler indicates was the start of its marketing of the drug product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "endmarketingdate": {"name": "endmarketingdate", "description": "This is the date the product will no longer be available on the market. If a product is no longer being manufactured, in most cases, the FDA recommends firms use the expiration date of the last lot produced as the EndMarketingDate, to reflect the potential for drug product to remain available after manufacturing has ceased. Products that are the subject of ongoing manufacturing will not ordinarily have any EndMarketingDate. Products with a value in the EndMarketingDate will be removed from the NDC Directory when the EndMarketingDate is reached.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "marketingcategoryname": {"name": "marketingcategoryname", "description": "Product types are broken down into several potential Marketing Categories, such as NDA/ANDA/BLA, OTC Monograph, or Unapproved Drug. One and only one Marketing Category may be chosen for a product, not all marketing categories are available to all product types. Currently, only final marketed product categories are included. The complete list of codes and translations can be found at www.fda.gov/edrls under Structured Product Labeling Resources.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "applicationnumber": {"name": "applicationnumber", "description": "This corresponds to the NDA, ANDA, or BLA number reported by the labeler for products which have the corresponding Marketing Category designated. If the designated Marketing Category is OTC Monograph Final or OTC Monograph Not Final, then the Application number will be the CFR citation corresponding to the appropriate Monograph (e.g. \u201cpart 341\u201d). For unapproved drugs, this field will be null.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "labelername": {"name": "labelername", "description": "Name of Company corresponding to the labeler code segment of the ProductNDC.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "substancename": {"name": "substancename", "description": "This is the active ingredient list. Each ingredient name is the preferred term of the UNII code submitted.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active_numerator_strength": {"name": "active_numerator_strength", "description": "These are the strength values (to be used with units below) of each active ingredient, listed in the same order as the SubstanceName field above.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "active_ingred_unit": {"name": "active_ingred_unit", "description": "These are the units to be used with the strength values above, listed in the same order as the SubstanceName and SubstanceNumber (ActiveNumeratorStrength).", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "pharm_classes": {"name": "pharm_classes", "description": "These are the reported pharmacological class categories corresponding to the SubstanceNames listed above.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "deaschedule": {"name": "deaschedule", "description": "This is the assigned DEA Schedule number as reported by the labeler. Values are CI, CII, CIII, CIV, and CV.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "product_ndc_exclude_flag": {"name": "product_ndc_exclude_flag", "description": "Values = Y, N, E, or I. This indicates whether the product has been removed/excluded from the NDC Directory for failure to respond to FDA's requests for correction to deficient or non-compliant submissions (Y), or because the listing certification is expired (E), or because the listing data was inactivated by FDA (I). The PRODUCT.XLS and PRODUCT.TXT files only contain listing records where NDC_EXCLUDE_FLAG=N. The PRODUCTS_EXCLUDED.XLS and PRODUCTS_EXCLUDED.TXT file contains all listing records with an NDC_EXCLUDE_FLAG of Y, E, and I.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "listing_record_certified_through": {"name": "listing_record_certified_through", "description": "This is the date when the listing record will expire if not updated or certified by the firm.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"sagerx\".\"sagerx_lake\".\"fda_ndc_product\"", "created_at": 1731470992.2427788}, "source.sagerx.fda_ndc.fda_ndc_package": {"database": "sagerx", "schema": "sagerx_lake", "name": "fda_ndc_package", "resource_type": "source", "package_name": "sagerx", "path": "models/staging/fda_ndc/_fda_ndc__sources.yml", "original_file_path": "models/staging/fda_ndc/_fda_ndc__sources.yml", "unique_id": "source.sagerx.fda_ndc.fda_ndc_package", "fqn": ["sagerx", "staging", "fda_ndc", "fda_ndc", "fda_ndc_package"], "source_name": "fda_ndc", "source_description": "Product listing data submitted for all finished drugs including prescription and over-the-counter drugs, approved and unapproved drugs and repackaged and relabeled drugs.", "loader": "", "identifier": "fda_ndc_package", "quoting": {"database": null, "schema": null, "identifier": null, "column": null}, "loaded_at_field": null, "freshness": {"warn_after": {"count": null, "period": null}, "error_after": {"count": null, "period": null}, "filter": null}, "external": null, "description": "", "columns": {"productid": {"name": "productid", "description": "ProductID is a concatenation of the NDCproduct code and SPL documentID. It is included to help prevent duplicate rows from appearing when joining the product and package files together. It has no regulatory value or significance.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "productndc": {"name": "productndc", "description": "The labeler code and product code segments of the National Drug Code number, separated by a hyphen. Asterisks are no longer used or included within the product code segment to indicate certain configurations of the NDC. www.fda.gov/edrls under Structured Product Labeling Resources.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ndcpackagecode": {"name": "ndcpackagecode", "description": "The labeler code, product code, and package code segments of the National Drug Code number, separated by hyphens. Asterisks are no longer used or included within the product and package code segments to indicate certain configurations of the NDC.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "packagedescription": {"name": "packagedescription", "description": "A description of the size and type of packaging in sentence form. Multilevel packages will have the descriptions concatenated together. For example: 4 BOTTLES in 1 CARTON/100 TABLETS in 1 BOTTLE.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "startmarketingdate": {"name": "startmarketingdate", "description": "This is the date that the labeler indicates was the start of its marketing of the drug product.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "endmarketingdate": {"name": "endmarketingdate", "description": "This is the date the product will no longer be available on the market. If a product is no longer being manufactured, in most cases, the FDA recommends firms use the expiration date of the last lot produced as the EndMarketingDate, to reflect the potential for drug product to remain available after manufacturing has ceased. Products that are the subject of ongoing manufacturing will not ordinarily have any EndMarketingDate. Products with a value in the EndMarketingDate will be removed from the NDC Directory when the EndMarketingDate is reached.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "ndc_exclude_flag": {"name": "ndc_exclude_flag", "description": "Values = Y, N, E, or I. This indicates whether the PACKAGE has been removed/excluded from the NDC Directory for failure to respond to FDAs requests for correction to deficient or non-compliant submissions (Y), or because the listing certification is expired (E), or because the listing data was inactivated by FDA (I). The PACKAGE.XLS and PACKAGE.TXT files only contain listing records where NDC_EXCLUDE_FLAG=N. The PACKAGES_EXCLUDED.XLS and PACKAGES_EXCLUDED.TXT file contains all listing records with an NDC_EXCLUDE_FLAG of Y, E, and I.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}, "sample_package": {"name": "sample_package", "description": "This indicates if the package is to be distributed as a sample package. Values = Y or N.", "meta": {}, "data_type": null, "constraints": [], "quote": null, "tags": []}}, "meta": {}, "source_meta": {}, "tags": [], "config": {"enabled": true}, "patch_path": null, "unrendered_config": {}, "relation_name": "\"sagerx\".\"sagerx_lake\".\"fda_ndc_package\"", "created_at": 1731470992.242964}}, "macros": {"macro.sagerx.generate_schema_name": {"name": "generate_schema_name", "resource_type": "macro", "package_name": "sagerx", "path": "macros/get_custom_schema.sql", "original_file_path": "macros/get_custom_schema.sql", "unique_id": "macro.sagerx.generate_schema_name", "macro_sql": "{% macro generate_schema_name(custom_schema_name, node) -%}\n {{ generate_schema_name_for_env(custom_schema_name, node) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.generate_schema_name_for_env"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.1531856, "supported_languages": null}, "macro.sagerx.check_data_availability": {"name": "check_data_availability", "resource_type": "macro", "package_name": "sagerx", "path": "macros/check_data_availability.sql", "original_file_path": "macros/check_data_availability.sql", "unique_id": "macro.sagerx.check_data_availability", "macro_sql": "{% macro check_data_availability() %}\n{% set sources_and_models = [] -%}\n\n{% for node in graph.nodes.values() | selectattr(\"resource_type\", \"equalto\", \"model\") %}\n {%- do sources_and_models.append([node.schema, node.name, node.config.materialized]) -%}\n{%- endfor %}\n\n{% for node in graph.sources.values() -%}\n {%- do sources_and_models.append([node.schema, node.name, node.resource_type]) -%}\n{%- endfor %}\n\n--{{ log(\"sources and models: \" ~ sources_and_models, info=True) }}\n\n{% set results_table_query %}\ndrop table if exists sagerx.data_availability CASCADE;\ncreate table sagerx.data_availability(\n schema_name text,\n table_name text,\n has_data boolean,\n materialized text,\n columns_info jsonb\n);\n{% endset %}\n\n{{ run_query(results_table_query) }}\n\n\n{% for schema_name, table_name, mat_config in sources_and_models %}\n {% set check_table_exists_query %}\n {{ log(\"Check table exists query for \" ~ schema_name ~ \" : \" ~ table_name, info=True) }}\n select exists (\n select 1 \n from information_schema.tables \n where table_schema = '{{ schema_name }}' \n and table_name = '{{ table_name }}'\n ) as table_exists\n {% endset %}\n\n {% set table_exists_result = run_query(check_table_exists_query) %}\n {% if table_exists_result[0]['table_exists'] %}\n {{ log(\"Table: \" ~ table_name ~ \" does exist.\", info=True) }}\n\n {% set columns_query %}\n select \n column_name, \n data_type, \n is_nullable\n from \n information_schema.columns \n where \n table_schema = '{{ schema_name }}' \n and table_name = '{{ table_name }}'\n {% endset %}\n \n {% set columns_result = run_query(columns_query) %}\n {% set columns_info = [] %}\n {% for column in columns_result %}\n {%- do columns_info.append({\"column_name\": column['column_name'], \"data_type\": column['data_type'], \"is_nullable\": column['is_nullable']}) -%}\n {% endfor %}\n\n {% set row_count_query %}\n select count(*) as row_count from {{schema_name}}.{{table_name}}\n {% endset %}\n {% set row_count_result = run_query(row_count_query) %}\n\n {% set insert_query %}\n insert into sagerx.data_availability\n (schema_name, table_name, has_data, materialized, columns_info)\n values ('{{ schema_name }}','{{ table_name }}', {{ row_count_result[0]['row_count'] > 0 }}, '{{ mat_config }}', '{{ columns_info | tojson }}');\n {% endset %}\n {{ run_query(insert_query) }}\n {% else %}\n {{ log(\"No Table: \" ~ table_name ~ \" does not exist.\", info=True) }}\n {% endif %}\n \n{% endfor %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.1625311, "supported_languages": null}, "macro.sagerx.ndc_format": {"name": "ndc_format", "resource_type": "macro", "package_name": "sagerx", "path": "macros/ndc_format.sql", "original_file_path": "macros/ndc_format.sql", "unique_id": "macro.sagerx.ndc_format", "macro_sql": "{% macro ndc_format(ndc) %}\n {% set ndc_format %}\n CASE WHEN {{ndc}} ~ '^\\d{10}$' THEN '10 Digit'\n WHEN {{ndc}} ~ '^\\d{11}$' THEN '11 Digit'\n WHEN {{ndc}} ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN {{ndc}} ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN {{ndc}} ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN {{ndc}} ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN {{ndc}} ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN {{ndc}} ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n {% endset %}\n {{ndc_format}}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.1637633, "supported_languages": null}, "macro.sagerx.ndc_convert": {"name": "ndc_convert", "resource_type": "macro", "package_name": "sagerx", "path": "macros/ndc_convert.sql", "original_file_path": "macros/ndc_convert.sql", "unique_id": "macro.sagerx.ndc_convert", "macro_sql": "{% macro ndc_convert (ndc, to_format) %}\n\n {% set ndc11 = ndc_to_11(ndc) %}\n {% set format_list = ['10 Digit','11 Digit','4-4-2','5-3-2','5-4-1','5-4-2','5-5','4-6'] %}\n {% if to_format not in format_list %}\n {{ \"format must be of viable type\" }}\n {% endif %}\n \n\n {%- set return_value %}\n CASE WHEN {{to_format}} = '10 Digit' THEN NULL\n WHEN {{to_format}} = '11 Digit' THEN {{ndc11}}\n\t\t WHEN {{to_format}} = '4-4-2' THEN \n\t\t \t\t\tCASE WHEN SUBSTRING({{ndc11}},1,1) = '0' THEN SUBSTRING({{ndc11}},2,4) ||'-'|| SUBSTRING({{ndc11}},6,4) ||'-'|| RIGHT({{ndc11}},2) ELSE NULL END\n WHEN {{to_format}} = '5-3-2' THEN \n\t\t \t\t\tCASE WHEN SUBSTRING({{ndc11}},6,1) = '0' THEN LEFT({{ndc11}},5) ||'-'|| SUBSTRING({{ndc11}},7,3) ||'-'|| RIGHT({{ndc11}},2) ELSE NULL END\n\t\t WHEN {{to_format}} = '5-4-1' THEN\n\t\t \t\t\tCASE WHEN SUBSTRING({{ndc11}},10,1) = '0' THEN LEFT({{ndc11}},5) ||'-'|| SUBSTRING({{ndc11}},6,4) ||'-'|| RIGHT({{ndc11}},1) ELSE NULL END\n\t\t WHEN {{to_format}} = '5-4-2' THEN LEFT({{ndc11}},5) ||'-'|| SUBSTRING({{ndc11}},6,4) ||'-'|| RIGHT({{ndc11}},2)\n\t\t WHEN {{to_format}} = '5-5' THEN NULL\n\t\t WHEN {{to_format}} = '4-6' THEN NULL\n\t ELSE NULL\n\t END\n {% endset %}\n{{return_value}}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.sagerx.ndc_to_11"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.1678982, "supported_languages": null}, "macro.sagerx.ndc_to_11": {"name": "ndc_to_11", "resource_type": "macro", "package_name": "sagerx", "path": "macros/ndc_to_11.sql", "original_file_path": "macros/ndc_to_11.sql", "unique_id": "macro.sagerx.ndc_to_11", "macro_sql": "{%- macro ndc_to_11(ndc) %}\n {%- set return_value %}\n CASE WHEN {{ ndc_format (ndc) }} = '10 Digit' THEN NULL\n WHEN {{ ndc_format (ndc) }} = '11 Digit' THEN {{ndc}}\n WHEN {{ ndc_format (ndc) }} = '4-4-2' THEN '0' || LEFT({{ndc}},4) || REPLACE(RIGHT({{ndc}},7),'-','')\n WHEN {{ ndc_format (ndc) }} = '5-3-2' THEN LEFT({{ndc}},5) || '0' || REPLACE(RIGHT({{ndc}},6),'-','')\n WHEN {{ ndc_format (ndc) }} = '5-4-1' THEN REPLACE(LEFT({{ndc}},10),'-','') || '0' || RIGHT({{ndc}}, 1)\n WHEN {{ ndc_format (ndc) }} = '5-4-2' THEN REPLACE({{ndc}},'-','')\n WHEN {{ ndc_format (ndc) }} = '5-5' THEN NULL\n WHEN {{ ndc_format (ndc) }} = '4-6' THEN NULL\n ELSE NULL\n END\n {% endset %}\n {{return_value}}\n{% endmacro -%}", "depends_on": {"macros": ["macro.sagerx.ndc_format"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.1702492, "supported_languages": null}, "macro.dbt_postgres.postgres__get_catalog_relations": {"name": "postgres__get_catalog_relations", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/catalog.sql", "original_file_path": "macros/catalog.sql", "unique_id": "macro.dbt_postgres.postgres__get_catalog_relations", "macro_sql": "{% macro postgres__get_catalog_relations(information_schema, relations) -%}\n {%- call statement('catalog', fetch_result=True) -%}\n\n {#\n If the user has multiple databases set and the first one is wrong, this will fail.\n But we won't fail in the case where there are multiple quoting-difference-only dbs, which is better.\n #}\n {% set database = information_schema.database %}\n {{ adapter.verify_database(database) }}\n\n select\n '{{ database }}' as table_database,\n sch.nspname as table_schema,\n tbl.relname as table_name,\n case tbl.relkind\n when 'v' then 'VIEW'\n when 'm' then 'MATERIALIZED VIEW'\n else 'BASE TABLE'\n end as table_type,\n tbl_desc.description as table_comment,\n col.attname as column_name,\n col.attnum as column_index,\n pg_catalog.format_type(col.atttypid, col.atttypmod) as column_type,\n col_desc.description as column_comment,\n pg_get_userbyid(tbl.relowner) as table_owner\n\n from pg_catalog.pg_namespace sch\n join pg_catalog.pg_class tbl on tbl.relnamespace = sch.oid\n join pg_catalog.pg_attribute col on col.attrelid = tbl.oid\n left outer join pg_catalog.pg_description tbl_desc on (tbl_desc.objoid = tbl.oid and tbl_desc.objsubid = 0)\n left outer join pg_catalog.pg_description col_desc on (col_desc.objoid = tbl.oid and col_desc.objsubid = col.attnum)\n where (\n {%- for relation in relations -%}\n {%- if relation.identifier -%}\n (upper(sch.nspname) = upper('{{ relation.schema }}') and\n upper(tbl.relname) = upper('{{ relation.identifier }}'))\n {%- else-%}\n upper(sch.nspname) = upper('{{ relation.schema }}')\n {%- endif -%}\n {%- if not loop.last %} or {% endif -%}\n {%- endfor -%}\n )\n and not pg_is_other_temp_schema(sch.oid) -- not a temporary schema belonging to another session\n and tbl.relpersistence in ('p', 'u') -- [p]ermanent table or [u]nlogged table. Exclude [t]emporary tables\n and tbl.relkind in ('r', 'v', 'f', 'p', 'm') -- o[r]dinary table, [v]iew, [f]oreign table, [p]artitioned table, [m]aterialized view. Other values are [i]ndex, [S]equence, [c]omposite type, [t]OAST table\n and col.attnum > 0 -- negative numbers are used for system columns such as oid\n and not col.attisdropped -- column as not been dropped\n\n order by\n sch.nspname,\n tbl.relname,\n col.attnum\n\n {%- endcall -%}\n\n {{ return(load_result('catalog').table) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.173778, "supported_languages": null}, "macro.dbt_postgres.postgres__get_catalog": {"name": "postgres__get_catalog", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/catalog.sql", "original_file_path": "macros/catalog.sql", "unique_id": "macro.dbt_postgres.postgres__get_catalog", "macro_sql": "{% macro postgres__get_catalog(information_schema, schemas) -%}\n {%- set relations = [] -%}\n {%- for schema in schemas -%}\n {%- set dummy = relations.append({'schema': schema}) -%}\n {%- endfor -%}\n {{ return(postgres__get_catalog_relations(information_schema, relations)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_catalog_relations"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.1745439, "supported_languages": null}, "macro.dbt_postgres.postgres__current_timestamp": {"name": "postgres__current_timestamp", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/timestamps.sql", "original_file_path": "macros/timestamps.sql", "unique_id": "macro.dbt_postgres.postgres__current_timestamp", "macro_sql": "{% macro postgres__current_timestamp() -%}\n now()\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.1752207, "supported_languages": null}, "macro.dbt_postgres.postgres__snapshot_string_as_time": {"name": "postgres__snapshot_string_as_time", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/timestamps.sql", "original_file_path": "macros/timestamps.sql", "unique_id": "macro.dbt_postgres.postgres__snapshot_string_as_time", "macro_sql": "{% macro postgres__snapshot_string_as_time(timestamp) -%}\n {%- set result = \"'\" ~ timestamp ~ \"'::timestamp without time zone\" -%}\n {{ return(result) }}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.1756172, "supported_languages": null}, "macro.dbt_postgres.postgres__snapshot_get_time": {"name": "postgres__snapshot_get_time", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/timestamps.sql", "original_file_path": "macros/timestamps.sql", "unique_id": "macro.dbt_postgres.postgres__snapshot_get_time", "macro_sql": "{% macro postgres__snapshot_get_time() -%}\n {{ current_timestamp() }}::timestamp without time zone\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.current_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.175846, "supported_languages": null}, "macro.dbt_postgres.postgres__current_timestamp_backcompat": {"name": "postgres__current_timestamp_backcompat", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/timestamps.sql", "original_file_path": "macros/timestamps.sql", "unique_id": "macro.dbt_postgres.postgres__current_timestamp_backcompat", "macro_sql": "{% macro postgres__current_timestamp_backcompat() %}\n current_timestamp::{{ type_timestamp() }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.1760762, "supported_languages": null}, "macro.dbt_postgres.postgres__current_timestamp_in_utc_backcompat": {"name": "postgres__current_timestamp_in_utc_backcompat", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/timestamps.sql", "original_file_path": "macros/timestamps.sql", "unique_id": "macro.dbt_postgres.postgres__current_timestamp_in_utc_backcompat", "macro_sql": "{% macro postgres__current_timestamp_in_utc_backcompat() %}\n (current_timestamp at time zone 'utc')::{{ type_timestamp() }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.type_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.1763093, "supported_languages": null}, "macro.dbt_postgres.postgres__get_relations": {"name": "postgres__get_relations", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/relations.sql", "original_file_path": "macros/relations.sql", "unique_id": "macro.dbt_postgres.postgres__get_relations", "macro_sql": "{% macro postgres__get_relations() -%}\n\n {#\n -- in pg_depend, objid is the dependent, refobjid is the referenced object\n -- > a pg_depend entry indicates that the referenced object cannot be\n -- > dropped without also dropping the dependent object.\n #}\n\n {%- call statement('relations', fetch_result=True) -%}\n with relation as (\n select\n pg_rewrite.ev_class as class,\n pg_rewrite.oid as id\n from pg_rewrite\n ),\n class as (\n select\n oid as id,\n relname as name,\n relnamespace as schema,\n relkind as kind\n from pg_class\n ),\n dependency as (\n select distinct\n pg_depend.objid as id,\n pg_depend.refobjid as ref\n from pg_depend\n ),\n schema as (\n select\n pg_namespace.oid as id,\n pg_namespace.nspname as name\n from pg_namespace\n where nspname != 'information_schema' and nspname not like 'pg\\_%'\n ),\n referenced as (\n select\n relation.id AS id,\n referenced_class.name ,\n referenced_class.schema ,\n referenced_class.kind\n from relation\n join class as referenced_class on relation.class=referenced_class.id\n where referenced_class.kind in ('r', 'v', 'm')\n ),\n relationships as (\n select\n referenced.name as referenced_name,\n referenced.schema as referenced_schema_id,\n dependent_class.name as dependent_name,\n dependent_class.schema as dependent_schema_id,\n referenced.kind as kind\n from referenced\n join dependency on referenced.id=dependency.id\n join class as dependent_class on dependency.ref=dependent_class.id\n where\n (referenced.name != dependent_class.name or\n referenced.schema != dependent_class.schema)\n )\n\n select\n referenced_schema.name as referenced_schema,\n relationships.referenced_name as referenced_name,\n dependent_schema.name as dependent_schema,\n relationships.dependent_name as dependent_name\n from relationships\n join schema as dependent_schema on relationships.dependent_schema_id=dependent_schema.id\n join schema as referenced_schema on relationships.referenced_schema_id=referenced_schema.id\n group by referenced_schema, referenced_name, dependent_schema, dependent_name\n order by referenced_schema, referenced_name, dependent_schema, dependent_name;\n\n {%- endcall -%}\n\n {{ return(load_result('relations').table) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.1778228, "supported_languages": null}, "macro.dbt_postgres.postgres_get_relations": {"name": "postgres_get_relations", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/relations.sql", "original_file_path": "macros/relations.sql", "unique_id": "macro.dbt_postgres.postgres_get_relations", "macro_sql": "{% macro postgres_get_relations() %}\n {{ return(postgres__get_relations()) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_relations"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.178191, "supported_languages": null}, "macro.dbt_postgres.postgres__create_table_as": {"name": "postgres__create_table_as", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__create_table_as", "macro_sql": "{% macro postgres__create_table_as(temporary, relation, sql) -%}\n {%- set unlogged = config.get('unlogged', default=false) -%}\n {%- set sql_header = config.get('sql_header', none) -%}\n\n {{ sql_header if sql_header is not none }}\n\n create {% if temporary -%}\n temporary\n {%- elif unlogged -%}\n unlogged\n {%- endif %} table {{ relation }}\n {% set contract_config = config.get('contract') %}\n {% if contract_config.enforced %}\n {{ get_assert_columns_equivalent(sql) }}\n {% endif -%}\n {% if contract_config.enforced and (not temporary) -%}\n {{ get_table_columns_and_constraints() }} ;\n insert into {{ relation }} (\n {{ adapter.dispatch('get_column_names', 'dbt')() }}\n )\n {%- set sql = get_select_subquery(sql) %}\n {% else %}\n as\n {% endif %}\n (\n {{ sql }}\n );\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.get_assert_columns_equivalent", "macro.dbt.get_table_columns_and_constraints", "macro.dbt.default__get_column_names", "macro.dbt.get_select_subquery"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.19955, "supported_languages": null}, "macro.dbt_postgres.postgres__get_create_index_sql": {"name": "postgres__get_create_index_sql", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__get_create_index_sql", "macro_sql": "{% macro postgres__get_create_index_sql(relation, index_dict) -%}\n {%- set index_config = adapter.parse_index(index_dict) -%}\n {%- set comma_separated_columns = \", \".join(index_config.columns) -%}\n {%- set index_name = index_config.render(relation) -%}\n\n create {% if index_config.unique -%}\n unique\n {%- endif %} index if not exists\n \"{{ index_name }}\"\n on {{ relation }} {% if index_config.type -%}\n using {{ index_config.type }}\n {%- endif %}\n ({{ comma_separated_columns }})\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2006311, "supported_languages": null}, "macro.dbt_postgres.postgres__create_schema": {"name": "postgres__create_schema", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__create_schema", "macro_sql": "{% macro postgres__create_schema(relation) -%}\n {% if relation.database -%}\n {{ adapter.verify_database(relation.database) }}\n {%- endif -%}\n {%- call statement('create_schema') -%}\n create schema if not exists {{ relation.without_identifier().include(database=False) }}\n {%- endcall -%}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2013116, "supported_languages": null}, "macro.dbt_postgres.postgres__drop_schema": {"name": "postgres__drop_schema", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__drop_schema", "macro_sql": "{% macro postgres__drop_schema(relation) -%}\n {% if relation.database -%}\n {{ adapter.verify_database(relation.database) }}\n {%- endif -%}\n {%- call statement('drop_schema') -%}\n drop schema if exists {{ relation.without_identifier().include(database=False) }} cascade\n {%- endcall -%}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2019932, "supported_languages": null}, "macro.dbt_postgres.postgres__get_columns_in_relation": {"name": "postgres__get_columns_in_relation", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__get_columns_in_relation", "macro_sql": "{% macro postgres__get_columns_in_relation(relation) -%}\n {% call statement('get_columns_in_relation', fetch_result=True) %}\n select\n column_name,\n data_type,\n character_maximum_length,\n numeric_precision,\n numeric_scale\n\n from {{ relation.information_schema('columns') }}\n where table_name = '{{ relation.identifier }}'\n {% if relation.schema %}\n and table_schema = '{{ relation.schema }}'\n {% endif %}\n order by ordinal_position\n\n {% endcall %}\n {% set table = load_result('get_columns_in_relation').table %}\n {{ return(sql_convert_columns_in_relation(table)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement", "macro.dbt.sql_convert_columns_in_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2030284, "supported_languages": null}, "macro.dbt_postgres.postgres__list_relations_without_caching": {"name": "postgres__list_relations_without_caching", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__list_relations_without_caching", "macro_sql": "{% macro postgres__list_relations_without_caching(schema_relation) %}\n {% call statement('list_relations_without_caching', fetch_result=True) -%}\n select\n '{{ schema_relation.database }}' as database,\n tablename as name,\n schemaname as schema,\n 'table' as type\n from pg_tables\n where schemaname ilike '{{ schema_relation.schema }}'\n union all\n select\n '{{ schema_relation.database }}' as database,\n viewname as name,\n schemaname as schema,\n 'view' as type\n from pg_views\n where schemaname ilike '{{ schema_relation.schema }}'\n union all\n select\n '{{ schema_relation.database }}' as database,\n matviewname as name,\n schemaname as schema,\n 'materialized_view' as type\n from pg_matviews\n where schemaname ilike '{{ schema_relation.schema }}'\n {% endcall %}\n {{ return(load_result('list_relations_without_caching').table) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2039933, "supported_languages": null}, "macro.dbt_postgres.postgres__information_schema_name": {"name": "postgres__information_schema_name", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__information_schema_name", "macro_sql": "{% macro postgres__information_schema_name(database) -%}\n {% if database_name -%}\n {{ adapter.verify_database(database_name) }}\n {%- endif -%}\n information_schema\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2043624, "supported_languages": null}, "macro.dbt_postgres.postgres__list_schemas": {"name": "postgres__list_schemas", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__list_schemas", "macro_sql": "{% macro postgres__list_schemas(database) %}\n {% if database -%}\n {{ adapter.verify_database(database) }}\n {%- endif -%}\n {% call statement('list_schemas', fetch_result=True, auto_begin=False) %}\n select distinct nspname from pg_namespace\n {% endcall %}\n {{ return(load_result('list_schemas').table) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2051065, "supported_languages": null}, "macro.dbt_postgres.postgres__check_schema_exists": {"name": "postgres__check_schema_exists", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__check_schema_exists", "macro_sql": "{% macro postgres__check_schema_exists(information_schema, schema) -%}\n {% if information_schema.database -%}\n {{ adapter.verify_database(information_schema.database) }}\n {%- endif -%}\n {% call statement('check_schema_exists', fetch_result=True, auto_begin=False) %}\n select count(*) from pg_namespace where nspname = '{{ schema }}'\n {% endcall %}\n {{ return(load_result('check_schema_exists').table) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2059498, "supported_languages": null}, "macro.dbt_postgres.postgres__make_relation_with_suffix": {"name": "postgres__make_relation_with_suffix", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__make_relation_with_suffix", "macro_sql": "{% macro postgres__make_relation_with_suffix(base_relation, suffix, dstring) %}\n {% if dstring %}\n {% set dt = modules.datetime.datetime.now() %}\n {% set dtstring = dt.strftime(\"%H%M%S%f\") %}\n {% set suffix = suffix ~ dtstring %}\n {% endif %}\n {% set suffix_length = suffix|length %}\n {% set relation_max_name_length = base_relation.relation_max_name_length() %}\n {% if suffix_length > relation_max_name_length %}\n {% do exceptions.raise_compiler_error('Relation suffix is too long (' ~ suffix_length ~ ' characters). Maximum length is ' ~ relation_max_name_length ~ ' characters.') %}\n {% endif %}\n {% set identifier = base_relation.identifier[:relation_max_name_length - suffix_length] ~ suffix %}\n\n {{ return(base_relation.incorporate(path={\"identifier\": identifier })) }}\n\n {% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2077532, "supported_languages": null}, "macro.dbt_postgres.postgres__make_intermediate_relation": {"name": "postgres__make_intermediate_relation", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__make_intermediate_relation", "macro_sql": "{% macro postgres__make_intermediate_relation(base_relation, suffix) %}\n {{ return(postgres__make_relation_with_suffix(base_relation, suffix, dstring=False)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__make_relation_with_suffix"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2081647, "supported_languages": null}, "macro.dbt_postgres.postgres__make_temp_relation": {"name": "postgres__make_temp_relation", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__make_temp_relation", "macro_sql": "{% macro postgres__make_temp_relation(base_relation, suffix) %}\n {% set temp_relation = postgres__make_relation_with_suffix(base_relation, suffix, dstring=True) %}\n {{ return(temp_relation.incorporate(path={\"schema\": none,\n \"database\": none})) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__make_relation_with_suffix"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2088504, "supported_languages": null}, "macro.dbt_postgres.postgres__make_backup_relation": {"name": "postgres__make_backup_relation", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__make_backup_relation", "macro_sql": "{% macro postgres__make_backup_relation(base_relation, backup_relation_type, suffix) %}\n {% set backup_relation = postgres__make_relation_with_suffix(base_relation, suffix, dstring=False) %}\n {{ return(backup_relation.incorporate(type=backup_relation_type)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__make_relation_with_suffix"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2094367, "supported_languages": null}, "macro.dbt_postgres.postgres_escape_comment": {"name": "postgres_escape_comment", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres_escape_comment", "macro_sql": "{% macro postgres_escape_comment(comment) -%}\n {% if comment is not string %}\n {% do exceptions.raise_compiler_error('cannot escape a non-string: ' ~ comment) %}\n {% endif %}\n {%- set magic = '$dbt_comment_literal_block$' -%}\n {%- if magic in comment -%}\n {%- do exceptions.raise_compiler_error('The string ' ~ magic ~ ' is not allowed in comments.') -%}\n {%- endif -%}\n {{ magic }}{{ comment }}{{ magic }}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2103684, "supported_languages": null}, "macro.dbt_postgres.postgres__alter_relation_comment": {"name": "postgres__alter_relation_comment", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__alter_relation_comment", "macro_sql": "{% macro postgres__alter_relation_comment(relation, comment) %}\n {% set escaped_comment = postgres_escape_comment(comment) %}\n comment on {{ relation.type }} {{ relation }} is {{ escaped_comment }};\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres_escape_comment"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2108567, "supported_languages": null}, "macro.dbt_postgres.postgres__alter_column_comment": {"name": "postgres__alter_column_comment", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__alter_column_comment", "macro_sql": "{% macro postgres__alter_column_comment(relation, column_dict) %}\n {% set existing_columns = adapter.get_columns_in_relation(relation) | map(attribute=\"name\") | list %}\n {% for column_name in column_dict if (column_name in existing_columns) %}\n {% set comment = column_dict[column_name]['description'] %}\n {% set escaped_comment = postgres_escape_comment(comment) %}\n comment on column {{ relation }}.{{ adapter.quote(column_name) if column_dict[column_name]['quote'] else column_name }} is {{ escaped_comment }};\n {% endfor %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres_escape_comment"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2121513, "supported_languages": null}, "macro.dbt_postgres.postgres__get_show_grant_sql": {"name": "postgres__get_show_grant_sql", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__get_show_grant_sql", "macro_sql": "\n\n{%- macro postgres__get_show_grant_sql(relation) -%}\n select grantee, privilege_type\n from {{ relation.information_schema('role_table_grants') }}\n where grantor = current_role\n and grantee != current_role\n and table_schema = '{{ relation.schema }}'\n and table_name = '{{ relation.identifier }}'\n{%- endmacro -%}\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2125924, "supported_languages": null}, "macro.dbt_postgres.postgres__copy_grants": {"name": "postgres__copy_grants", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__copy_grants", "macro_sql": "{% macro postgres__copy_grants() %}\n {{ return(False) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.212838, "supported_languages": null}, "macro.dbt_postgres.postgres__get_show_indexes_sql": {"name": "postgres__get_show_indexes_sql", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__get_show_indexes_sql", "macro_sql": "{% macro postgres__get_show_indexes_sql(relation) %}\n select\n i.relname as name,\n m.amname as method,\n ix.indisunique as \"unique\",\n array_to_string(array_agg(a.attname), ',') as column_names\n from pg_index ix\n join pg_class i\n on i.oid = ix.indexrelid\n join pg_am m\n on m.oid=i.relam\n join pg_class t\n on t.oid = ix.indrelid\n join pg_namespace n\n on n.oid = t.relnamespace\n join pg_attribute a\n on a.attrelid = t.oid\n and a.attnum = ANY(ix.indkey)\n where t.relname = '{{ relation.identifier }}'\n and n.nspname = '{{ relation.schema }}'\n and t.relkind in ('r', 'm')\n group by 1, 2, 3\n order by 1, 2, 3\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.213256, "supported_languages": null}, "macro.dbt_postgres.postgres__get_drop_index_sql": {"name": "postgres__get_drop_index_sql", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/adapters.sql", "original_file_path": "macros/adapters.sql", "unique_id": "macro.dbt_postgres.postgres__get_drop_index_sql", "macro_sql": "\n\n\n{%- macro postgres__get_drop_index_sql(relation, index_name) -%}\n drop index if exists \"{{ relation.schema }}\".\"{{ index_name }}\"\n{%- endmacro -%}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2135632, "supported_languages": null}, "macro.dbt_postgres.postgres__drop_view": {"name": "postgres__drop_view", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/relations/view/drop.sql", "original_file_path": "macros/relations/view/drop.sql", "unique_id": "macro.dbt_postgres.postgres__drop_view", "macro_sql": "{% macro postgres__drop_view(relation) -%}\n drop view if exists {{ relation }} cascade\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2138526, "supported_languages": null}, "macro.dbt_postgres.postgres__get_rename_view_sql": {"name": "postgres__get_rename_view_sql", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/relations/view/rename.sql", "original_file_path": "macros/relations/view/rename.sql", "unique_id": "macro.dbt_postgres.postgres__get_rename_view_sql", "macro_sql": "{% macro postgres__get_rename_view_sql(relation, new_name) %}\n alter view {{ relation }} rename to {{ new_name }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2142174, "supported_languages": null}, "macro.dbt_postgres.postgres__get_replace_view_sql": {"name": "postgres__get_replace_view_sql", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/relations/view/replace.sql", "original_file_path": "macros/relations/view/replace.sql", "unique_id": "macro.dbt_postgres.postgres__get_replace_view_sql", "macro_sql": "{% macro postgres__get_replace_view_sql(relation, sql) -%}\n\n {%- set sql_header = config.get('sql_header', none) -%}\n {{ sql_header if sql_header is not none }}\n\n create or replace view {{ relation }}\n {% set contract_config = config.get('contract') %}\n {% if contract_config.enforced %}\n {{ get_assert_columns_equivalent(sql) }}\n {%- endif %}\n as (\n {{ sql }}\n );\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.get_assert_columns_equivalent"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2154362, "supported_languages": null}, "macro.dbt_postgres.postgres__drop_table": {"name": "postgres__drop_table", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/relations/table/drop.sql", "original_file_path": "macros/relations/table/drop.sql", "unique_id": "macro.dbt_postgres.postgres__drop_table", "macro_sql": "{% macro postgres__drop_table(relation) -%}\n drop table if exists {{ relation }} cascade\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2157316, "supported_languages": null}, "macro.dbt_postgres.postgres__get_rename_table_sql": {"name": "postgres__get_rename_table_sql", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/relations/table/rename.sql", "original_file_path": "macros/relations/table/rename.sql", "unique_id": "macro.dbt_postgres.postgres__get_rename_table_sql", "macro_sql": "{% macro postgres__get_rename_table_sql(relation, new_name) %}\n alter table {{ relation }} rename to {{ new_name }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2160945, "supported_languages": null}, "macro.dbt_postgres.postgres__get_replace_table_sql": {"name": "postgres__get_replace_table_sql", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/relations/table/replace.sql", "original_file_path": "macros/relations/table/replace.sql", "unique_id": "macro.dbt_postgres.postgres__get_replace_table_sql", "macro_sql": "{% macro postgres__get_replace_table_sql(relation, sql) -%}\n\n {%- set sql_header = config.get('sql_header', none) -%}\n {{ sql_header if sql_header is not none }}\n\n create or replace table {{ relation }}\n {% set contract_config = config.get('contract') %}\n {% if contract_config.enforced %}\n {{ get_assert_columns_equivalent(sql) }}\n {{ get_table_columns_and_constraints() }}\n {%- set sql = get_select_subquery(sql) %}\n {% endif %}\n as (\n {{ sql }}\n );\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.get_assert_columns_equivalent", "macro.dbt.get_table_columns_and_constraints", "macro.dbt.get_select_subquery"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2177494, "supported_languages": null}, "macro.dbt_postgres.postgres__get_alter_materialized_view_as_sql": {"name": "postgres__get_alter_materialized_view_as_sql", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/relations/materialized_view/alter.sql", "original_file_path": "macros/relations/materialized_view/alter.sql", "unique_id": "macro.dbt_postgres.postgres__get_alter_materialized_view_as_sql", "macro_sql": "{% macro postgres__get_alter_materialized_view_as_sql(\n relation,\n configuration_changes,\n sql,\n existing_relation,\n backup_relation,\n intermediate_relation\n) %}\n\n -- apply a full refresh immediately if needed\n {% if configuration_changes.requires_full_refresh %}\n\n {{ get_replace_sql(existing_relation, relation, sql) }}\n\n -- otherwise apply individual changes as needed\n {% else %}\n\n {{ postgres__update_indexes_on_materialized_view(relation, configuration_changes.indexes) }}\n\n {%- endif -%}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_replace_sql", "macro.dbt_postgres.postgres__update_indexes_on_materialized_view"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.219873, "supported_languages": null}, "macro.dbt_postgres.postgres__update_indexes_on_materialized_view": {"name": "postgres__update_indexes_on_materialized_view", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/relations/materialized_view/alter.sql", "original_file_path": "macros/relations/materialized_view/alter.sql", "unique_id": "macro.dbt_postgres.postgres__update_indexes_on_materialized_view", "macro_sql": "\n\n\n{%- macro postgres__update_indexes_on_materialized_view(relation, index_changes) -%}\n {{- log(\"Applying UPDATE INDEXES to: \" ~ relation) -}}\n\n {%- for _index_change in index_changes -%}\n {%- set _index = _index_change.context -%}\n\n {%- if _index_change.action == \"drop\" -%}\n\n {{ postgres__get_drop_index_sql(relation, _index.name) }}\n\n {%- elif _index_change.action == \"create\" -%}\n\n {{ postgres__get_create_index_sql(relation, _index.as_node_config) }}\n\n {%- endif -%}\n\t{{ ';' if not loop.last else \"\" }}\n\n {%- endfor -%}\n\n{%- endmacro -%}\n\n\n", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_drop_index_sql", "macro.dbt_postgres.postgres__get_create_index_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.221044, "supported_languages": null}, "macro.dbt_postgres.postgres__get_materialized_view_configuration_changes": {"name": "postgres__get_materialized_view_configuration_changes", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/relations/materialized_view/alter.sql", "original_file_path": "macros/relations/materialized_view/alter.sql", "unique_id": "macro.dbt_postgres.postgres__get_materialized_view_configuration_changes", "macro_sql": "{% macro postgres__get_materialized_view_configuration_changes(existing_relation, new_config) %}\n {% set _existing_materialized_view = postgres__describe_materialized_view(existing_relation) %}\n {% set _configuration_changes = existing_relation.get_materialized_view_config_change_collection(_existing_materialized_view, new_config.model) %}\n {% do return(_configuration_changes) %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__describe_materialized_view"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2216854, "supported_languages": null}, "macro.dbt_postgres.postgres__drop_materialized_view": {"name": "postgres__drop_materialized_view", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/relations/materialized_view/drop.sql", "original_file_path": "macros/relations/materialized_view/drop.sql", "unique_id": "macro.dbt_postgres.postgres__drop_materialized_view", "macro_sql": "{% macro postgres__drop_materialized_view(relation) -%}\n drop materialized view if exists {{ relation }} cascade\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2219856, "supported_languages": null}, "macro.dbt_postgres.postgres__describe_materialized_view": {"name": "postgres__describe_materialized_view", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/relations/materialized_view/describe.sql", "original_file_path": "macros/relations/materialized_view/describe.sql", "unique_id": "macro.dbt_postgres.postgres__describe_materialized_view", "macro_sql": "{% macro postgres__describe_materialized_view(relation) %}\n -- for now just get the indexes, we don't need the name or the query yet\n {% set _indexes = run_query(get_show_indexes_sql(relation)) %}\n {% do return({'indexes': _indexes}) %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.run_query", "macro.dbt.get_show_indexes_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.222613, "supported_languages": null}, "macro.dbt_postgres.postgres__get_rename_materialized_view_sql": {"name": "postgres__get_rename_materialized_view_sql", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/relations/materialized_view/rename.sql", "original_file_path": "macros/relations/materialized_view/rename.sql", "unique_id": "macro.dbt_postgres.postgres__get_rename_materialized_view_sql", "macro_sql": "{% macro postgres__get_rename_materialized_view_sql(relation, new_name) %}\n alter materialized view {{ relation }} rename to {{ new_name }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2229924, "supported_languages": null}, "macro.dbt_postgres.postgres__refresh_materialized_view": {"name": "postgres__refresh_materialized_view", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/relations/materialized_view/refresh.sql", "original_file_path": "macros/relations/materialized_view/refresh.sql", "unique_id": "macro.dbt_postgres.postgres__refresh_materialized_view", "macro_sql": "{% macro postgres__refresh_materialized_view(relation) %}\n refresh materialized view {{ relation }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2232766, "supported_languages": null}, "macro.dbt_postgres.postgres__get_create_materialized_view_as_sql": {"name": "postgres__get_create_materialized_view_as_sql", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/relations/materialized_view/create.sql", "original_file_path": "macros/relations/materialized_view/create.sql", "unique_id": "macro.dbt_postgres.postgres__get_create_materialized_view_as_sql", "macro_sql": "{% macro postgres__get_create_materialized_view_as_sql(relation, sql) %}\n create materialized view if not exists {{ relation }} as {{ sql }};\n\n {% for _index_dict in config.get('indexes', []) -%}\n {{- get_create_index_sql(relation, _index_dict) -}}{{ ';' if not loop.last else \"\" }}\n {%- endfor -%}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_create_index_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2242289, "supported_languages": null}, "macro.dbt_postgres.postgres__dateadd": {"name": "postgres__dateadd", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/utils/dateadd.sql", "original_file_path": "macros/utils/dateadd.sql", "unique_id": "macro.dbt_postgres.postgres__dateadd", "macro_sql": "{% macro postgres__dateadd(datepart, interval, from_date_or_timestamp) %}\n\n {{ from_date_or_timestamp }} + ((interval '1 {{ datepart }}') * ({{ interval }}))\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.224691, "supported_languages": null}, "macro.dbt_postgres.postgres__last_day": {"name": "postgres__last_day", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/utils/last_day.sql", "original_file_path": "macros/utils/last_day.sql", "unique_id": "macro.dbt_postgres.postgres__last_day", "macro_sql": "{% macro postgres__last_day(date, datepart) -%}\n\n {%- if datepart == 'quarter' -%}\n -- postgres dateadd does not support quarter interval.\n cast(\n {{dbt.dateadd('day', '-1',\n dbt.dateadd('month', '3', dbt.date_trunc(datepart, date))\n )}}\n as date)\n {%- else -%}\n {{dbt.default_last_day(date, datepart)}}\n {%- endif -%}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.dateadd", "macro.dbt.date_trunc", "macro.dbt.default_last_day"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2257695, "supported_languages": null}, "macro.dbt_postgres.postgres__split_part": {"name": "postgres__split_part", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/utils/split_part.sql", "original_file_path": "macros/utils/split_part.sql", "unique_id": "macro.dbt_postgres.postgres__split_part", "macro_sql": "{% macro postgres__split_part(string_text, delimiter_text, part_number) %}\n\n {% if part_number >= 0 %}\n {{ dbt.default__split_part(string_text, delimiter_text, part_number) }}\n {% else %}\n {{ dbt._split_part_negative(string_text, delimiter_text, part_number) }}\n {% endif %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__split_part", "macro.dbt._split_part_negative"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2266567, "supported_languages": null}, "macro.dbt_postgres.postgres__datediff": {"name": "postgres__datediff", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/utils/datediff.sql", "original_file_path": "macros/utils/datediff.sql", "unique_id": "macro.dbt_postgres.postgres__datediff", "macro_sql": "{% macro postgres__datediff(first_date, second_date, datepart) -%}\n\n {% if datepart == 'year' %}\n (date_part('year', ({{second_date}})::date) - date_part('year', ({{first_date}})::date))\n {% elif datepart == 'quarter' %}\n ({{ datediff(first_date, second_date, 'year') }} * 4 + date_part('quarter', ({{second_date}})::date) - date_part('quarter', ({{first_date}})::date))\n {% elif datepart == 'month' %}\n ({{ datediff(first_date, second_date, 'year') }} * 12 + date_part('month', ({{second_date}})::date) - date_part('month', ({{first_date}})::date))\n {% elif datepart == 'day' %}\n (({{second_date}})::date - ({{first_date}})::date)\n {% elif datepart == 'week' %}\n ({{ datediff(first_date, second_date, 'day') }} / 7 + case\n when date_part('dow', ({{first_date}})::timestamp) <= date_part('dow', ({{second_date}})::timestamp) then\n case when {{first_date}} <= {{second_date}} then 0 else -1 end\n else\n case when {{first_date}} <= {{second_date}} then 1 else 0 end\n end)\n {% elif datepart == 'hour' %}\n ({{ datediff(first_date, second_date, 'day') }} * 24 + date_part('hour', ({{second_date}})::timestamp) - date_part('hour', ({{first_date}})::timestamp))\n {% elif datepart == 'minute' %}\n ({{ datediff(first_date, second_date, 'hour') }} * 60 + date_part('minute', ({{second_date}})::timestamp) - date_part('minute', ({{first_date}})::timestamp))\n {% elif datepart == 'second' %}\n ({{ datediff(first_date, second_date, 'minute') }} * 60 + floor(date_part('second', ({{second_date}})::timestamp)) - floor(date_part('second', ({{first_date}})::timestamp)))\n {% elif datepart == 'millisecond' %}\n ({{ datediff(first_date, second_date, 'minute') }} * 60000 + floor(date_part('millisecond', ({{second_date}})::timestamp)) - floor(date_part('millisecond', ({{first_date}})::timestamp)))\n {% elif datepart == 'microsecond' %}\n ({{ datediff(first_date, second_date, 'minute') }} * 60000000 + floor(date_part('microsecond', ({{second_date}})::timestamp)) - floor(date_part('microsecond', ({{first_date}})::timestamp)))\n {% else %}\n {{ exceptions.raise_compiler_error(\"Unsupported datepart for macro datediff in postgres: {!r}\".format(datepart)) }}\n {% endif %}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.datediff"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2356014, "supported_languages": null}, "macro.dbt_postgres.postgres__any_value": {"name": "postgres__any_value", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/utils/any_value.sql", "original_file_path": "macros/utils/any_value.sql", "unique_id": "macro.dbt_postgres.postgres__any_value", "macro_sql": "{% macro postgres__any_value(expression) -%}\n\n min({{ expression }})\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2360601, "supported_languages": null}, "macro.dbt_postgres.postgres__listagg": {"name": "postgres__listagg", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/utils/listagg.sql", "original_file_path": "macros/utils/listagg.sql", "unique_id": "macro.dbt_postgres.postgres__listagg", "macro_sql": "{% macro postgres__listagg(measure, delimiter_text, order_by_clause, limit_num) -%}\n\n {% if limit_num -%}\n array_to_string(\n (array_agg(\n {{ measure }}\n {% if order_by_clause -%}\n {{ order_by_clause }}\n {%- endif %}\n ))[1:{{ limit_num }}],\n {{ delimiter_text }}\n )\n {%- else %}\n string_agg(\n {{ measure }},\n {{ delimiter_text }}\n {% if order_by_clause -%}\n {{ order_by_clause }}\n {%- endif %}\n )\n {%- endif %}\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2382467, "supported_languages": null}, "macro.dbt_postgres.postgres__get_incremental_default_sql": {"name": "postgres__get_incremental_default_sql", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/materializations/incremental_strategies.sql", "original_file_path": "macros/materializations/incremental_strategies.sql", "unique_id": "macro.dbt_postgres.postgres__get_incremental_default_sql", "macro_sql": "{% macro postgres__get_incremental_default_sql(arg_dict) %}\n\n {% if arg_dict[\"unique_key\"] %}\n {% do return(get_incremental_delete_insert_sql(arg_dict)) %}\n {% else %}\n {% do return(get_incremental_append_sql(arg_dict)) %}\n {% endif %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_incremental_delete_insert_sql", "macro.dbt.get_incremental_append_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2391944, "supported_languages": null}, "macro.dbt_postgres.postgres__snapshot_merge_sql": {"name": "postgres__snapshot_merge_sql", "resource_type": "macro", "package_name": "dbt_postgres", "path": "macros/materializations/snapshot_merge.sql", "original_file_path": "macros/materializations/snapshot_merge.sql", "unique_id": "macro.dbt_postgres.postgres__snapshot_merge_sql", "macro_sql": "{% macro postgres__snapshot_merge_sql(target, source, insert_cols) -%}\n {%- set insert_cols_csv = insert_cols | join(', ') -%}\n\n update {{ target }}\n set dbt_valid_to = DBT_INTERNAL_SOURCE.dbt_valid_to\n from {{ source }} as DBT_INTERNAL_SOURCE\n where DBT_INTERNAL_SOURCE.dbt_scd_id::text = {{ target }}.dbt_scd_id::text\n and DBT_INTERNAL_SOURCE.dbt_change_type::text in ('update'::text, 'delete'::text)\n and {{ target }}.dbt_valid_to is null;\n\n insert into {{ target }} ({{ insert_cols_csv }})\n select {% for column in insert_cols -%}\n DBT_INTERNAL_SOURCE.{{ column }} {%- if not loop.last %}, {%- endif %}\n {%- endfor %}\n from {{ source }} as DBT_INTERNAL_SOURCE\n where DBT_INTERNAL_SOURCE.dbt_change_type::text = 'insert'::text;\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2408426, "supported_languages": null}, "macro.dbt.generate_schema_name": {"name": "generate_schema_name", "resource_type": "macro", "package_name": "dbt", "path": "macros/get_custom_name/get_custom_schema.sql", "original_file_path": "macros/get_custom_name/get_custom_schema.sql", "unique_id": "macro.dbt.generate_schema_name", "macro_sql": "{% macro generate_schema_name(custom_schema_name=none, node=none) -%}\n {{ return(adapter.dispatch('generate_schema_name', 'dbt')(custom_schema_name, node)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__generate_schema_name"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2420423, "supported_languages": null}, "macro.dbt.default__generate_schema_name": {"name": "default__generate_schema_name", "resource_type": "macro", "package_name": "dbt", "path": "macros/get_custom_name/get_custom_schema.sql", "original_file_path": "macros/get_custom_name/get_custom_schema.sql", "unique_id": "macro.dbt.default__generate_schema_name", "macro_sql": "{% macro default__generate_schema_name(custom_schema_name, node) -%}\n\n {%- set default_schema = target.schema -%}\n {%- if custom_schema_name is none -%}\n\n {{ default_schema }}\n\n {%- else -%}\n\n {{ default_schema }}_{{ custom_schema_name | trim }}\n\n {%- endif -%}\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2426252, "supported_languages": null}, "macro.dbt.generate_schema_name_for_env": {"name": "generate_schema_name_for_env", "resource_type": "macro", "package_name": "dbt", "path": "macros/get_custom_name/get_custom_schema.sql", "original_file_path": "macros/get_custom_name/get_custom_schema.sql", "unique_id": "macro.dbt.generate_schema_name_for_env", "macro_sql": "{% macro generate_schema_name_for_env(custom_schema_name, node) -%}\n\n {%- set default_schema = target.schema -%}\n {%- if target.name == 'prod' and custom_schema_name is not none -%}\n\n {{ custom_schema_name | trim }}\n\n {%- else -%}\n\n {{ default_schema }}\n\n {%- endif -%}\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2432592, "supported_languages": null}, "macro.dbt.generate_alias_name": {"name": "generate_alias_name", "resource_type": "macro", "package_name": "dbt", "path": "macros/get_custom_name/get_custom_alias.sql", "original_file_path": "macros/get_custom_name/get_custom_alias.sql", "unique_id": "macro.dbt.generate_alias_name", "macro_sql": "{% macro generate_alias_name(custom_alias_name=none, node=none) -%}\n {% do return(adapter.dispatch('generate_alias_name', 'dbt')(custom_alias_name, node)) %}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__generate_alias_name"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2441845, "supported_languages": null}, "macro.dbt.default__generate_alias_name": {"name": "default__generate_alias_name", "resource_type": "macro", "package_name": "dbt", "path": "macros/get_custom_name/get_custom_alias.sql", "original_file_path": "macros/get_custom_name/get_custom_alias.sql", "unique_id": "macro.dbt.default__generate_alias_name", "macro_sql": "{% macro default__generate_alias_name(custom_alias_name=none, node=none) -%}\n\n {%- if custom_alias_name -%}\n\n {{ custom_alias_name | trim }}\n\n {%- elif node.version -%}\n\n {{ return(node.name ~ \"_v\" ~ (node.version | replace(\".\", \"_\"))) }}\n\n {%- else -%}\n\n {{ node.name }}\n\n {%- endif -%}\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2450154, "supported_languages": null}, "macro.dbt.generate_database_name": {"name": "generate_database_name", "resource_type": "macro", "package_name": "dbt", "path": "macros/get_custom_name/get_custom_database.sql", "original_file_path": "macros/get_custom_name/get_custom_database.sql", "unique_id": "macro.dbt.generate_database_name", "macro_sql": "{% macro generate_database_name(custom_database_name=none, node=none) -%}\n {% do return(adapter.dispatch('generate_database_name', 'dbt')(custom_database_name, node)) %}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__generate_database_name"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.245882, "supported_languages": null}, "macro.dbt.default__generate_database_name": {"name": "default__generate_database_name", "resource_type": "macro", "package_name": "dbt", "path": "macros/get_custom_name/get_custom_database.sql", "original_file_path": "macros/get_custom_name/get_custom_database.sql", "unique_id": "macro.dbt.default__generate_database_name", "macro_sql": "{% macro default__generate_database_name(custom_database_name=none, node=none) -%}\n {%- set default_database = target.database -%}\n {%- if custom_database_name is none -%}\n\n {{ default_database }}\n\n {%- else -%}\n\n {{ custom_database_name }}\n\n {%- endif -%}\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2464478, "supported_languages": null}, "macro.dbt.get_create_intermediate_sql": {"name": "get_create_intermediate_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/create_intermediate.sql", "original_file_path": "macros/relations/create_intermediate.sql", "unique_id": "macro.dbt.get_create_intermediate_sql", "macro_sql": "{%- macro get_create_intermediate_sql(relation, sql) -%}\n {{- log('Applying CREATE INTERMEDIATE to: ' ~ relation) -}}\n {{- adapter.dispatch('get_create_intermediate_sql', 'dbt')(relation, sql) -}}\n{%- endmacro -%}\n\n\n", "depends_on": {"macros": ["macro.dbt.default__get_create_intermediate_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.247284, "supported_languages": null}, "macro.dbt.default__get_create_intermediate_sql": {"name": "default__get_create_intermediate_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/create_intermediate.sql", "original_file_path": "macros/relations/create_intermediate.sql", "unique_id": "macro.dbt.default__get_create_intermediate_sql", "macro_sql": "{%- macro default__get_create_intermediate_sql(relation, sql) -%}\n\n -- get the standard intermediate name\n {% set intermediate_relation = make_intermediate_relation(relation) %}\n\n -- drop any pre-existing intermediate\n {{ get_drop_sql(intermediate_relation) }};\n\n {{ get_create_sql(intermediate_relation, sql) }}\n\n{%- endmacro -%}", "depends_on": {"macros": ["macro.dbt.make_intermediate_relation", "macro.dbt.get_drop_sql", "macro.dbt.get_create_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2479568, "supported_languages": null}, "macro.dbt.get_create_backup_sql": {"name": "get_create_backup_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/create_backup.sql", "original_file_path": "macros/relations/create_backup.sql", "unique_id": "macro.dbt.get_create_backup_sql", "macro_sql": "{%- macro get_create_backup_sql(relation) -%}\n {{- log('Applying CREATE BACKUP to: ' ~ relation) -}}\n {{- adapter.dispatch('get_create_backup_sql', 'dbt')(relation) -}}\n{%- endmacro -%}\n\n\n", "depends_on": {"macros": ["macro.dbt.default__get_create_backup_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2487264, "supported_languages": null}, "macro.dbt.default__get_create_backup_sql": {"name": "default__get_create_backup_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/create_backup.sql", "original_file_path": "macros/relations/create_backup.sql", "unique_id": "macro.dbt.default__get_create_backup_sql", "macro_sql": "{%- macro default__get_create_backup_sql(relation) -%}\n\n -- get the standard backup name\n {% set backup_relation = make_backup_relation(relation, relation.type) %}\n\n -- drop any pre-existing backup\n {{ get_drop_sql(backup_relation) }};\n\n {{ get_rename_sql(relation, backup_relation.identifier) }}\n\n{%- endmacro -%}", "depends_on": {"macros": ["macro.dbt.make_backup_relation", "macro.dbt.get_drop_sql", "macro.dbt.get_rename_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2493086, "supported_languages": null}, "macro.dbt.get_drop_sql": {"name": "get_drop_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/drop.sql", "original_file_path": "macros/relations/drop.sql", "unique_id": "macro.dbt.get_drop_sql", "macro_sql": "{%- macro get_drop_sql(relation) -%}\n {{- log('Applying DROP to: ' ~ relation) -}}\n {{- adapter.dispatch('get_drop_sql', 'dbt')(relation) -}}\n{%- endmacro -%}\n\n\n", "depends_on": {"macros": ["macro.dbt.default__get_drop_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2510474, "supported_languages": null}, "macro.dbt.default__get_drop_sql": {"name": "default__get_drop_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/drop.sql", "original_file_path": "macros/relations/drop.sql", "unique_id": "macro.dbt.default__get_drop_sql", "macro_sql": "{%- macro default__get_drop_sql(relation) -%}\n\n {%- if relation.is_view -%}\n {{ drop_view(relation) }}\n\n {%- elif relation.is_table -%}\n {{ drop_table(relation) }}\n\n {%- elif relation.is_materialized_view -%}\n {{ drop_materialized_view(relation) }}\n\n {%- else -%}\n drop {{ relation.type }} if exists {{ relation.render() }} cascade\n\n {%- endif -%}\n\n{%- endmacro -%}\n\n\n", "depends_on": {"macros": ["macro.dbt.drop_view", "macro.dbt.drop_table", "macro.dbt.drop_materialized_view"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2518935, "supported_languages": null}, "macro.dbt.drop_relation": {"name": "drop_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/drop.sql", "original_file_path": "macros/relations/drop.sql", "unique_id": "macro.dbt.drop_relation", "macro_sql": "{% macro drop_relation(relation) -%}\n {{ return(adapter.dispatch('drop_relation', 'dbt')(relation)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__drop_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.252284, "supported_languages": null}, "macro.dbt.default__drop_relation": {"name": "default__drop_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/drop.sql", "original_file_path": "macros/relations/drop.sql", "unique_id": "macro.dbt.default__drop_relation", "macro_sql": "{% macro default__drop_relation(relation) -%}\n {% call statement('drop_relation', auto_begin=False) -%}\n {{ get_drop_sql(relation) }}\n {%- endcall %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement", "macro.dbt.get_drop_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2527158, "supported_languages": null}, "macro.dbt.drop_relation_if_exists": {"name": "drop_relation_if_exists", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/drop.sql", "original_file_path": "macros/relations/drop.sql", "unique_id": "macro.dbt.drop_relation_if_exists", "macro_sql": "{% macro drop_relation_if_exists(relation) %}\n {% if relation is not none %}\n {{ adapter.drop_relation(relation) }}\n {% endif %}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.253139, "supported_languages": null}, "macro.dbt.get_drop_backup_sql": {"name": "get_drop_backup_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/drop_backup.sql", "original_file_path": "macros/relations/drop_backup.sql", "unique_id": "macro.dbt.get_drop_backup_sql", "macro_sql": "{%- macro get_drop_backup_sql(relation) -%}\n {{- log('Applying DROP BACKUP to: ' ~ relation) -}}\n {{- adapter.dispatch('get_drop_backup_sql', 'dbt')(relation) -}}\n{%- endmacro -%}\n\n\n", "depends_on": {"macros": ["macro.dbt.default__get_drop_backup_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.253841, "supported_languages": null}, "macro.dbt.default__get_drop_backup_sql": {"name": "default__get_drop_backup_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/drop_backup.sql", "original_file_path": "macros/relations/drop_backup.sql", "unique_id": "macro.dbt.default__get_drop_backup_sql", "macro_sql": "{%- macro default__get_drop_backup_sql(relation) -%}\n\n -- get the standard backup name\n {% set backup_relation = make_backup_relation(relation, relation.type) %}\n\n {{ get_drop_sql(backup_relation) }}\n\n{%- endmacro -%}", "depends_on": {"macros": ["macro.dbt.make_backup_relation", "macro.dbt.get_drop_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.25431, "supported_languages": null}, "macro.dbt.get_rename_sql": {"name": "get_rename_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/rename.sql", "original_file_path": "macros/relations/rename.sql", "unique_id": "macro.dbt.get_rename_sql", "macro_sql": "{%- macro get_rename_sql(relation, new_name) -%}\n {{- log('Applying RENAME to: ' ~ relation) -}}\n {{- adapter.dispatch('get_rename_sql', 'dbt')(relation, new_name) -}}\n{%- endmacro -%}\n\n\n", "depends_on": {"macros": ["macro.dbt.default__get_rename_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.256009, "supported_languages": null}, "macro.dbt.default__get_rename_sql": {"name": "default__get_rename_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/rename.sql", "original_file_path": "macros/relations/rename.sql", "unique_id": "macro.dbt.default__get_rename_sql", "macro_sql": "{%- macro default__get_rename_sql(relation, new_name) -%}\n\n {%- if relation.is_view -%}\n {{ get_rename_view_sql(relation, new_name) }}\n\n {%- elif relation.is_table -%}\n {{ get_rename_table_sql(relation, new_name) }}\n\n {%- elif relation.is_materialized_view -%}\n {{ get_rename_materialized_view_sql(relation, new_name) }}\n\n {%- else -%}\n {{- exceptions.raise_compiler_error(\"`get_rename_sql` has not been implemented for: \" ~ relation.type ) -}}\n\n {%- endif -%}\n\n{%- endmacro -%}\n\n\n", "depends_on": {"macros": ["macro.dbt.get_rename_view_sql", "macro.dbt.get_rename_table_sql", "macro.dbt.get_rename_materialized_view_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2569575, "supported_languages": null}, "macro.dbt.rename_relation": {"name": "rename_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/rename.sql", "original_file_path": "macros/relations/rename.sql", "unique_id": "macro.dbt.rename_relation", "macro_sql": "{% macro rename_relation(from_relation, to_relation) -%}\n {{ return(adapter.dispatch('rename_relation', 'dbt')(from_relation, to_relation)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__rename_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2573981, "supported_languages": null}, "macro.dbt.default__rename_relation": {"name": "default__rename_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/rename.sql", "original_file_path": "macros/relations/rename.sql", "unique_id": "macro.dbt.default__rename_relation", "macro_sql": "{% macro default__rename_relation(from_relation, to_relation) -%}\n {% set target_name = adapter.quote_as_configured(to_relation.identifier, 'identifier') %}\n {% call statement('rename_relation') -%}\n alter table {{ from_relation.render() }} rename to {{ target_name }}\n {%- endcall %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.258048, "supported_languages": null}, "macro.dbt.get_replace_sql": {"name": "get_replace_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/replace.sql", "original_file_path": "macros/relations/replace.sql", "unique_id": "macro.dbt.get_replace_sql", "macro_sql": "{% macro get_replace_sql(existing_relation, target_relation, sql) %}\n {{- log('Applying REPLACE to: ' ~ existing_relation) -}}\n {{- adapter.dispatch('get_replace_sql', 'dbt')(existing_relation, target_relation, sql) -}}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_replace_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2599263, "supported_languages": null}, "macro.dbt.default__get_replace_sql": {"name": "default__get_replace_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/replace.sql", "original_file_path": "macros/relations/replace.sql", "unique_id": "macro.dbt.default__get_replace_sql", "macro_sql": "{% macro default__get_replace_sql(existing_relation, target_relation, sql) %}\n\n {# /* use a create or replace statement if possible */ #}\n\n {% set is_replaceable = existing_relation.type == target_relation_type and existing_relation.can_be_replaced %}\n\n {% if is_replaceable and existing_relation.is_view %}\n {{ get_replace_view_sql(target_relation, sql) }}\n\n {% elif is_replaceable and existing_relation.is_table %}\n {{ get_replace_table_sql(target_relation, sql) }}\n\n {% elif is_replaceable and existing_relation.is_materialized_view %}\n {{ get_replace_materialized_view_sql(target_relation, sql) }}\n\n {# /* a create or replace statement is not possible, so try to stage and/or backup to be safe */ #}\n\n {# /* create target_relation as an intermediate relation, then swap it out with the existing one using a backup */ #}\n {%- elif target_relation.can_be_renamed and existing_relation.can_be_renamed -%}\n {{ get_create_intermediate_sql(target_relation, sql) }};\n {{ get_create_backup_sql(existing_relation) }};\n {{ get_rename_intermediate_sql(target_relation) }};\n {{ get_drop_backup_sql(existing_relation) }}\n\n {# /* create target_relation as an intermediate relation, then swap it out with the existing one without using a backup */ #}\n {%- elif target_relation.can_be_renamed -%}\n {{ get_create_intermediate_sql(target_relation, sql) }};\n {{ get_drop_sql(existing_relation) }};\n {{ get_rename_intermediate_sql(target_relation) }}\n\n {# /* create target_relation in place by first backing up the existing relation */ #}\n {%- elif existing_relation.can_be_renamed -%}\n {{ get_create_backup_sql(existing_relation) }};\n {{ get_create_sql(target_relation, sql) }};\n {{ get_drop_backup_sql(existing_relation) }}\n\n {# /* no renaming is allowed, so just drop and create */ #}\n {%- else -%}\n {{ get_drop_sql(existing_relation) }};\n {{ get_create_sql(target_relation, sql) }}\n\n {%- endif -%}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_replace_view_sql", "macro.dbt.get_replace_table_sql", "macro.dbt.get_replace_materialized_view_sql", "macro.dbt.get_create_intermediate_sql", "macro.dbt.get_create_backup_sql", "macro.dbt.get_rename_intermediate_sql", "macro.dbt.get_drop_backup_sql", "macro.dbt.get_drop_sql", "macro.dbt.get_create_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.262568, "supported_languages": null}, "macro.dbt.drop_schema_named": {"name": "drop_schema_named", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/schema.sql", "original_file_path": "macros/relations/schema.sql", "unique_id": "macro.dbt.drop_schema_named", "macro_sql": "{% macro drop_schema_named(schema_name) %}\n {{ return(adapter.dispatch('drop_schema_named', 'dbt') (schema_name)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__drop_schema_named"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2631724, "supported_languages": null}, "macro.dbt.default__drop_schema_named": {"name": "default__drop_schema_named", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/schema.sql", "original_file_path": "macros/relations/schema.sql", "unique_id": "macro.dbt.default__drop_schema_named", "macro_sql": "{% macro default__drop_schema_named(schema_name) %}\n {% set schema_relation = api.Relation.create(schema=schema_name) %}\n {{ adapter.drop_schema(schema_relation) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2636378, "supported_languages": null}, "macro.dbt.get_rename_intermediate_sql": {"name": "get_rename_intermediate_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/rename_intermediate.sql", "original_file_path": "macros/relations/rename_intermediate.sql", "unique_id": "macro.dbt.get_rename_intermediate_sql", "macro_sql": "{%- macro get_rename_intermediate_sql(relation) -%}\n {{- log('Applying RENAME INTERMEDIATE to: ' ~ relation) -}}\n {{- adapter.dispatch('get_rename_intermediate_sql', 'dbt')(relation) -}}\n{%- endmacro -%}\n\n\n", "depends_on": {"macros": ["macro.dbt.default__get_rename_intermediate_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2643614, "supported_languages": null}, "macro.dbt.default__get_rename_intermediate_sql": {"name": "default__get_rename_intermediate_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/rename_intermediate.sql", "original_file_path": "macros/relations/rename_intermediate.sql", "unique_id": "macro.dbt.default__get_rename_intermediate_sql", "macro_sql": "{%- macro default__get_rename_intermediate_sql(relation) -%}\n\n -- get the standard intermediate name\n {% set intermediate_relation = make_intermediate_relation(relation) %}\n\n {{ get_rename_sql(intermediate_relation, relation.identifier) }}\n\n{%- endmacro -%}", "depends_on": {"macros": ["macro.dbt.make_intermediate_relation", "macro.dbt.get_rename_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2648113, "supported_languages": null}, "macro.dbt.get_create_sql": {"name": "get_create_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/create.sql", "original_file_path": "macros/relations/create.sql", "unique_id": "macro.dbt.get_create_sql", "macro_sql": "{%- macro get_create_sql(relation, sql) -%}\n {{- log('Applying CREATE to: ' ~ relation) -}}\n {{- adapter.dispatch('get_create_sql', 'dbt')(relation, sql) -}}\n{%- endmacro -%}\n\n\n", "depends_on": {"macros": ["macro.dbt.default__get_create_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2658806, "supported_languages": null}, "macro.dbt.default__get_create_sql": {"name": "default__get_create_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/create.sql", "original_file_path": "macros/relations/create.sql", "unique_id": "macro.dbt.default__get_create_sql", "macro_sql": "{%- macro default__get_create_sql(relation, sql) -%}\n\n {%- if relation.is_view -%}\n {{ get_create_view_as_sql(relation, sql) }}\n\n {%- elif relation.is_table -%}\n {{ get_create_table_as_sql(False, relation, sql) }}\n\n {%- elif relation.is_materialized_view -%}\n {{ get_create_materialized_view_as_sql(relation, sql) }}\n\n {%- else -%}\n {{- exceptions.raise_compiler_error(\"`get_create_sql` has not been implemented for: \" ~ relation.type ) -}}\n\n {%- endif -%}\n\n{%- endmacro -%}", "depends_on": {"macros": ["macro.dbt.get_create_view_as_sql", "macro.dbt.get_create_table_as_sql", "macro.dbt.get_create_materialized_view_as_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.266857, "supported_languages": null}, "macro.dbt.drop_view": {"name": "drop_view", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/view/drop.sql", "original_file_path": "macros/relations/view/drop.sql", "unique_id": "macro.dbt.drop_view", "macro_sql": "{% macro drop_view(relation) -%}\n {{- adapter.dispatch('drop_view', 'dbt')(relation) -}}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__drop_view"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.267385, "supported_languages": null}, "macro.dbt.default__drop_view": {"name": "default__drop_view", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/view/drop.sql", "original_file_path": "macros/relations/view/drop.sql", "unique_id": "macro.dbt.default__drop_view", "macro_sql": "{% macro default__drop_view(relation) -%}\n drop view if exists {{ relation.render() }} cascade\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2676497, "supported_languages": null}, "macro.dbt.get_rename_view_sql": {"name": "get_rename_view_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/view/rename.sql", "original_file_path": "macros/relations/view/rename.sql", "unique_id": "macro.dbt.get_rename_view_sql", "macro_sql": "{% macro get_rename_view_sql(relation, new_name) %}\n {{- adapter.dispatch('get_rename_view_sql', 'dbt')(relation, new_name) -}}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_rename_view_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2682354, "supported_languages": null}, "macro.dbt.default__get_rename_view_sql": {"name": "default__get_rename_view_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/view/rename.sql", "original_file_path": "macros/relations/view/rename.sql", "unique_id": "macro.dbt.default__get_rename_view_sql", "macro_sql": "{% macro default__get_rename_view_sql(relation, new_name) %}\n {{ exceptions.raise_compiler_error(\n \"`get_rename_view_sql` has not been implemented for this adapter.\"\n ) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2685513, "supported_languages": null}, "macro.dbt.get_replace_view_sql": {"name": "get_replace_view_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/view/replace.sql", "original_file_path": "macros/relations/view/replace.sql", "unique_id": "macro.dbt.get_replace_view_sql", "macro_sql": "{% macro get_replace_view_sql(relation, sql) %}\n {{- adapter.dispatch('get_replace_view_sql', 'dbt')(relation, sql) -}}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_replace_view_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2709692, "supported_languages": null}, "macro.dbt.default__get_replace_view_sql": {"name": "default__get_replace_view_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/view/replace.sql", "original_file_path": "macros/relations/view/replace.sql", "unique_id": "macro.dbt.default__get_replace_view_sql", "macro_sql": "{% macro default__get_replace_view_sql(relation, sql) %}\n {{ exceptions.raise_compiler_error(\n \"`get_replace_view_sql` has not been implemented for this adapter.\"\n ) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.271291, "supported_languages": null}, "macro.dbt.create_or_replace_view": {"name": "create_or_replace_view", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/view/replace.sql", "original_file_path": "macros/relations/view/replace.sql", "unique_id": "macro.dbt.create_or_replace_view", "macro_sql": "{% macro create_or_replace_view() %}\n {%- set identifier = model['alias'] -%}\n\n {%- set old_relation = adapter.get_relation(database=database, schema=schema, identifier=identifier) -%}\n {%- set exists_as_view = (old_relation is not none and old_relation.is_view) -%}\n\n {%- set target_relation = api.Relation.create(\n identifier=identifier, schema=schema, database=database,\n type='view') -%}\n {% set grant_config = config.get('grants') %}\n\n {{ run_hooks(pre_hooks) }}\n\n -- If there's a table with the same name and we weren't told to full refresh,\n -- that's an error. If we were told to full refresh, drop it. This behavior differs\n -- for Snowflake and BigQuery, so multiple dispatch is used.\n {%- if old_relation is not none and old_relation.is_table -%}\n {{ handle_existing_table(should_full_refresh(), old_relation) }}\n {%- endif -%}\n\n -- build model\n {% call statement('main') -%}\n {{ get_create_view_as_sql(target_relation, sql) }}\n {%- endcall %}\n\n {% set should_revoke = should_revoke(exists_as_view, full_refresh_mode=True) %}\n {% do apply_grants(target_relation, grant_config, should_revoke=should_revoke) %}\n\n {{ run_hooks(post_hooks) }}\n\n {{ return({'relations': [target_relation]}) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.run_hooks", "macro.dbt.handle_existing_table", "macro.dbt.should_full_refresh", "macro.dbt.statement", "macro.dbt.get_create_view_as_sql", "macro.dbt.should_revoke", "macro.dbt.apply_grants"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2737868, "supported_languages": null}, "macro.dbt.handle_existing_table": {"name": "handle_existing_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/view/replace.sql", "original_file_path": "macros/relations/view/replace.sql", "unique_id": "macro.dbt.handle_existing_table", "macro_sql": "{% macro handle_existing_table(full_refresh, old_relation) %}\n {{ adapter.dispatch('handle_existing_table', 'dbt')(full_refresh, old_relation) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__handle_existing_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2742062, "supported_languages": null}, "macro.dbt.default__handle_existing_table": {"name": "default__handle_existing_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/view/replace.sql", "original_file_path": "macros/relations/view/replace.sql", "unique_id": "macro.dbt.default__handle_existing_table", "macro_sql": "{% macro default__handle_existing_table(full_refresh, old_relation) %}\n {{ log(\"Dropping relation \" ~ old_relation.render() ~ \" because it is of type \" ~ old_relation.type) }}\n {{ adapter.drop_relation(old_relation) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2747273, "supported_languages": null}, "macro.dbt.get_create_view_as_sql": {"name": "get_create_view_as_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/view/create.sql", "original_file_path": "macros/relations/view/create.sql", "unique_id": "macro.dbt.get_create_view_as_sql", "macro_sql": "{% macro get_create_view_as_sql(relation, sql) -%}\n {{ adapter.dispatch('get_create_view_as_sql', 'dbt')(relation, sql) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_create_view_as_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2756543, "supported_languages": null}, "macro.dbt.default__get_create_view_as_sql": {"name": "default__get_create_view_as_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/view/create.sql", "original_file_path": "macros/relations/view/create.sql", "unique_id": "macro.dbt.default__get_create_view_as_sql", "macro_sql": "{% macro default__get_create_view_as_sql(relation, sql) -%}\n {{ return(create_view_as(relation, sql)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.create_view_as"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2760007, "supported_languages": null}, "macro.dbt.create_view_as": {"name": "create_view_as", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/view/create.sql", "original_file_path": "macros/relations/view/create.sql", "unique_id": "macro.dbt.create_view_as", "macro_sql": "{% macro create_view_as(relation, sql) -%}\n {{ adapter.dispatch('create_view_as', 'dbt')(relation, sql) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__create_view_as"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2763886, "supported_languages": null}, "macro.dbt.default__create_view_as": {"name": "default__create_view_as", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/view/create.sql", "original_file_path": "macros/relations/view/create.sql", "unique_id": "macro.dbt.default__create_view_as", "macro_sql": "{% macro default__create_view_as(relation, sql) -%}\n {%- set sql_header = config.get('sql_header', none) -%}\n\n {{ sql_header if sql_header is not none }}\n create view {{ relation.render() }}\n {% set contract_config = config.get('contract') %}\n {% if contract_config.enforced %}\n {{ get_assert_columns_equivalent(sql) }}\n {%- endif %}\n as (\n {{ sql }}\n );\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.get_assert_columns_equivalent"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2773519, "supported_languages": null}, "macro.dbt.drop_table": {"name": "drop_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/table/drop.sql", "original_file_path": "macros/relations/table/drop.sql", "unique_id": "macro.dbt.drop_table", "macro_sql": "{% macro drop_table(relation) -%}\n {{- adapter.dispatch('drop_table', 'dbt')(relation) -}}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__drop_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2778842, "supported_languages": null}, "macro.dbt.default__drop_table": {"name": "default__drop_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/table/drop.sql", "original_file_path": "macros/relations/table/drop.sql", "unique_id": "macro.dbt.default__drop_table", "macro_sql": "{% macro default__drop_table(relation) -%}\n drop table if exists {{ relation.render() }} cascade\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2781487, "supported_languages": null}, "macro.dbt.get_rename_table_sql": {"name": "get_rename_table_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/table/rename.sql", "original_file_path": "macros/relations/table/rename.sql", "unique_id": "macro.dbt.get_rename_table_sql", "macro_sql": "{% macro get_rename_table_sql(relation, new_name) %}\n {{- adapter.dispatch('get_rename_table_sql', 'dbt')(relation, new_name) -}}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_rename_table_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.278737, "supported_languages": null}, "macro.dbt.default__get_rename_table_sql": {"name": "default__get_rename_table_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/table/rename.sql", "original_file_path": "macros/relations/table/rename.sql", "unique_id": "macro.dbt.default__get_rename_table_sql", "macro_sql": "{% macro default__get_rename_table_sql(relation, new_name) %}\n {{ exceptions.raise_compiler_error(\n \"`get_rename_table_sql` has not been implemented for this adapter.\"\n ) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2790542, "supported_languages": null}, "macro.dbt.get_replace_table_sql": {"name": "get_replace_table_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/table/replace.sql", "original_file_path": "macros/relations/table/replace.sql", "unique_id": "macro.dbt.get_replace_table_sql", "macro_sql": "{% macro get_replace_table_sql(relation, sql) %}\n {{- adapter.dispatch('get_replace_table_sql', 'dbt')(relation, sql) -}}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_replace_table_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2796376, "supported_languages": null}, "macro.dbt.default__get_replace_table_sql": {"name": "default__get_replace_table_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/table/replace.sql", "original_file_path": "macros/relations/table/replace.sql", "unique_id": "macro.dbt.default__get_replace_table_sql", "macro_sql": "{% macro default__get_replace_table_sql(relation, sql) %}\n {{ exceptions.raise_compiler_error(\n \"`get_replace_table_sql` has not been implemented for this adapter.\"\n ) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2799523, "supported_languages": null}, "macro.dbt.get_create_table_as_sql": {"name": "get_create_table_as_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/table/create.sql", "original_file_path": "macros/relations/table/create.sql", "unique_id": "macro.dbt.get_create_table_as_sql", "macro_sql": "{% macro get_create_table_as_sql(temporary, relation, sql) -%}\n {{ adapter.dispatch('get_create_table_as_sql', 'dbt')(temporary, relation, sql) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_create_table_as_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2819433, "supported_languages": null}, "macro.dbt.default__get_create_table_as_sql": {"name": "default__get_create_table_as_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/table/create.sql", "original_file_path": "macros/relations/table/create.sql", "unique_id": "macro.dbt.default__get_create_table_as_sql", "macro_sql": "{% macro default__get_create_table_as_sql(temporary, relation, sql) -%}\n {{ return(create_table_as(temporary, relation, sql)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.create_table_as"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.28234, "supported_languages": null}, "macro.dbt.create_table_as": {"name": "create_table_as", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/table/create.sql", "original_file_path": "macros/relations/table/create.sql", "unique_id": "macro.dbt.create_table_as", "macro_sql": "{% macro create_table_as(temporary, relation, compiled_code, language='sql') -%}\n {# backward compatibility for create_table_as that does not support language #}\n {% if language == \"sql\" %}\n {{ adapter.dispatch('create_table_as', 'dbt')(temporary, relation, compiled_code)}}\n {% else %}\n {{ adapter.dispatch('create_table_as', 'dbt')(temporary, relation, compiled_code, language) }}\n {% endif %}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__create_table_as"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2832878, "supported_languages": null}, "macro.dbt.default__create_table_as": {"name": "default__create_table_as", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/table/create.sql", "original_file_path": "macros/relations/table/create.sql", "unique_id": "macro.dbt.default__create_table_as", "macro_sql": "{% macro default__create_table_as(temporary, relation, sql) -%}\n {%- set sql_header = config.get('sql_header', none) -%}\n\n {{ sql_header if sql_header is not none }}\n\n create {% if temporary: -%}temporary{%- endif %} table\n {{ relation.include(database=(not temporary), schema=(not temporary)) }}\n {% set contract_config = config.get('contract') %}\n {% if contract_config.enforced and (not temporary) %}\n {{ get_assert_columns_equivalent(sql) }}\n {{ get_table_columns_and_constraints() }}\n {%- set sql = get_select_subquery(sql) %}\n {% endif %}\n as (\n {{ sql }}\n );\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.get_assert_columns_equivalent", "macro.dbt.get_table_columns_and_constraints", "macro.dbt.get_select_subquery"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2847893, "supported_languages": null}, "macro.dbt.default__get_column_names": {"name": "default__get_column_names", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/table/create.sql", "original_file_path": "macros/relations/table/create.sql", "unique_id": "macro.dbt.default__get_column_names", "macro_sql": "{% macro default__get_column_names() %}\n {#- loop through user_provided_columns to get column names -#}\n {%- set user_provided_columns = model['columns'] -%}\n {%- for i in user_provided_columns %}\n {%- set col = user_provided_columns[i] -%}\n {%- set col_name = adapter.quote(col['name']) if col.get('quote') else col['name'] -%}\n {{ col_name }}{{ \", \" if not loop.last }}\n {%- endfor -%}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.285792, "supported_languages": null}, "macro.dbt.get_select_subquery": {"name": "get_select_subquery", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/table/create.sql", "original_file_path": "macros/relations/table/create.sql", "unique_id": "macro.dbt.get_select_subquery", "macro_sql": "{% macro get_select_subquery(sql) %}\n {{ return(adapter.dispatch('get_select_subquery', 'dbt')(sql)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_select_subquery"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2861857, "supported_languages": null}, "macro.dbt.default__get_select_subquery": {"name": "default__get_select_subquery", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/table/create.sql", "original_file_path": "macros/relations/table/create.sql", "unique_id": "macro.dbt.default__get_select_subquery", "macro_sql": "{% macro default__get_select_subquery(sql) %}\n select {{ adapter.dispatch('get_column_names', 'dbt')() }}\n from (\n {{ sql }}\n ) as model_subq\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_column_names"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2865694, "supported_languages": null}, "macro.dbt.get_alter_materialized_view_as_sql": {"name": "get_alter_materialized_view_as_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/materialized_view/alter.sql", "original_file_path": "macros/relations/materialized_view/alter.sql", "unique_id": "macro.dbt.get_alter_materialized_view_as_sql", "macro_sql": "{% macro get_alter_materialized_view_as_sql(\n relation,\n configuration_changes,\n sql,\n existing_relation,\n backup_relation,\n intermediate_relation\n) %}\n {{- log('Applying ALTER to: ' ~ relation) -}}\n {{- adapter.dispatch('get_alter_materialized_view_as_sql', 'dbt')(\n relation,\n configuration_changes,\n sql,\n existing_relation,\n backup_relation,\n intermediate_relation\n ) -}}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_alter_materialized_view_as_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2879572, "supported_languages": null}, "macro.dbt.default__get_alter_materialized_view_as_sql": {"name": "default__get_alter_materialized_view_as_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/materialized_view/alter.sql", "original_file_path": "macros/relations/materialized_view/alter.sql", "unique_id": "macro.dbt.default__get_alter_materialized_view_as_sql", "macro_sql": "{% macro default__get_alter_materialized_view_as_sql(\n relation,\n configuration_changes,\n sql,\n existing_relation,\n backup_relation,\n intermediate_relation\n) %}\n {{ exceptions.raise_compiler_error(\"Materialized views have not been implemented for this adapter.\") }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2883754, "supported_languages": null}, "macro.dbt.get_materialized_view_configuration_changes": {"name": "get_materialized_view_configuration_changes", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/materialized_view/alter.sql", "original_file_path": "macros/relations/materialized_view/alter.sql", "unique_id": "macro.dbt.get_materialized_view_configuration_changes", "macro_sql": "{% macro get_materialized_view_configuration_changes(existing_relation, new_config) %}\n /* {#\n It's recommended that configuration changes be formatted as follows:\n {\"\": [{\"action\": \"\", \"context\": ...}]}\n\n For example:\n {\n \"indexes\": [\n {\"action\": \"drop\", \"context\": \"index_abc\"},\n {\"action\": \"create\", \"context\": {\"columns\": [\"column_1\", \"column_2\"], \"type\": \"hash\", \"unique\": True}},\n ],\n }\n\n Either way, `get_materialized_view_configuration_changes` needs to align with `get_alter_materialized_view_as_sql`.\n #} */\n {{- log('Determining configuration changes on: ' ~ existing_relation) -}}\n {%- do return(adapter.dispatch('get_materialized_view_configuration_changes', 'dbt')(existing_relation, new_config)) -%}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_materialized_view_configuration_changes"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2889853, "supported_languages": null}, "macro.dbt.default__get_materialized_view_configuration_changes": {"name": "default__get_materialized_view_configuration_changes", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/materialized_view/alter.sql", "original_file_path": "macros/relations/materialized_view/alter.sql", "unique_id": "macro.dbt.default__get_materialized_view_configuration_changes", "macro_sql": "{% macro default__get_materialized_view_configuration_changes(existing_relation, new_config) %}\n {{ exceptions.raise_compiler_error(\"Materialized views have not been implemented for this adapter.\") }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2892952, "supported_languages": null}, "macro.dbt.drop_materialized_view": {"name": "drop_materialized_view", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/materialized_view/drop.sql", "original_file_path": "macros/relations/materialized_view/drop.sql", "unique_id": "macro.dbt.drop_materialized_view", "macro_sql": "{% macro drop_materialized_view(relation) -%}\n {{- adapter.dispatch('drop_materialized_view', 'dbt')(relation) -}}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__drop_materialized_view"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2898319, "supported_languages": null}, "macro.dbt.default__drop_materialized_view": {"name": "default__drop_materialized_view", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/materialized_view/drop.sql", "original_file_path": "macros/relations/materialized_view/drop.sql", "unique_id": "macro.dbt.default__drop_materialized_view", "macro_sql": "{% macro default__drop_materialized_view(relation) -%}\n drop materialized view if exists {{ relation.render() }} cascade\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.290097, "supported_languages": null}, "macro.dbt.get_rename_materialized_view_sql": {"name": "get_rename_materialized_view_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/materialized_view/rename.sql", "original_file_path": "macros/relations/materialized_view/rename.sql", "unique_id": "macro.dbt.get_rename_materialized_view_sql", "macro_sql": "{% macro get_rename_materialized_view_sql(relation, new_name) %}\n {{- adapter.dispatch('get_rename_materialized_view_sql', 'dbt')(relation, new_name) -}}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_rename_materialized_view_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2908278, "supported_languages": null}, "macro.dbt.default__get_rename_materialized_view_sql": {"name": "default__get_rename_materialized_view_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/materialized_view/rename.sql", "original_file_path": "macros/relations/materialized_view/rename.sql", "unique_id": "macro.dbt.default__get_rename_materialized_view_sql", "macro_sql": "{% macro default__get_rename_materialized_view_sql(relation, new_name) %}\n {{ exceptions.raise_compiler_error(\n \"`get_rename_materialized_view_sql` has not been implemented for this adapter.\"\n ) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2911448, "supported_languages": null}, "macro.dbt.get_replace_materialized_view_sql": {"name": "get_replace_materialized_view_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/materialized_view/replace.sql", "original_file_path": "macros/relations/materialized_view/replace.sql", "unique_id": "macro.dbt.get_replace_materialized_view_sql", "macro_sql": "{% macro get_replace_materialized_view_sql(relation, sql) %}\n {{- adapter.dispatch('get_replace_materialized_view_sql', 'dbt')(relation, sql) -}}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_replace_materialized_view_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2917395, "supported_languages": null}, "macro.dbt.default__get_replace_materialized_view_sql": {"name": "default__get_replace_materialized_view_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/materialized_view/replace.sql", "original_file_path": "macros/relations/materialized_view/replace.sql", "unique_id": "macro.dbt.default__get_replace_materialized_view_sql", "macro_sql": "{% macro default__get_replace_materialized_view_sql(relation, sql) %}\n {{ exceptions.raise_compiler_error(\n \"`get_replace_materialized_view_sql` has not been implemented for this adapter.\"\n ) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2920558, "supported_languages": null}, "macro.dbt.refresh_materialized_view": {"name": "refresh_materialized_view", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/materialized_view/refresh.sql", "original_file_path": "macros/relations/materialized_view/refresh.sql", "unique_id": "macro.dbt.refresh_materialized_view", "macro_sql": "{% macro refresh_materialized_view(relation) %}\n {{- log('Applying REFRESH to: ' ~ relation) -}}\n {{- adapter.dispatch('refresh_materialized_view', 'dbt')(relation) -}}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__refresh_materialized_view"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.292734, "supported_languages": null}, "macro.dbt.default__refresh_materialized_view": {"name": "default__refresh_materialized_view", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/materialized_view/refresh.sql", "original_file_path": "macros/relations/materialized_view/refresh.sql", "unique_id": "macro.dbt.default__refresh_materialized_view", "macro_sql": "{% macro default__refresh_materialized_view(relation) %}\n {{ exceptions.raise_compiler_error(\"`refresh_materialized_view` has not been implemented for this adapter.\") }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2930205, "supported_languages": null}, "macro.dbt.get_create_materialized_view_as_sql": {"name": "get_create_materialized_view_as_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/materialized_view/create.sql", "original_file_path": "macros/relations/materialized_view/create.sql", "unique_id": "macro.dbt.get_create_materialized_view_as_sql", "macro_sql": "{% macro get_create_materialized_view_as_sql(relation, sql) -%}\n {{- adapter.dispatch('get_create_materialized_view_as_sql', 'dbt')(relation, sql) -}}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_create_materialized_view_as_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2936132, "supported_languages": null}, "macro.dbt.default__get_create_materialized_view_as_sql": {"name": "default__get_create_materialized_view_as_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/materialized_view/create.sql", "original_file_path": "macros/relations/materialized_view/create.sql", "unique_id": "macro.dbt.default__get_create_materialized_view_as_sql", "macro_sql": "{% macro default__get_create_materialized_view_as_sql(relation, sql) -%}\n {{ exceptions.raise_compiler_error(\n \"`get_create_materialized_view_as_sql` has not been implemented for this adapter.\"\n ) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2939205, "supported_languages": null}, "macro.dbt.get_table_columns_and_constraints": {"name": "get_table_columns_and_constraints", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/column/columns_spec_ddl.sql", "original_file_path": "macros/relations/column/columns_spec_ddl.sql", "unique_id": "macro.dbt.get_table_columns_and_constraints", "macro_sql": "{%- macro get_table_columns_and_constraints() -%}\n {{ adapter.dispatch('get_table_columns_and_constraints', 'dbt')() }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.default__get_table_columns_and_constraints"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2962756, "supported_languages": null}, "macro.dbt.default__get_table_columns_and_constraints": {"name": "default__get_table_columns_and_constraints", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/column/columns_spec_ddl.sql", "original_file_path": "macros/relations/column/columns_spec_ddl.sql", "unique_id": "macro.dbt.default__get_table_columns_and_constraints", "macro_sql": "{% macro default__get_table_columns_and_constraints() -%}\n {{ return(table_columns_and_constraints()) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.table_columns_and_constraints"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2965343, "supported_languages": null}, "macro.dbt.table_columns_and_constraints": {"name": "table_columns_and_constraints", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/column/columns_spec_ddl.sql", "original_file_path": "macros/relations/column/columns_spec_ddl.sql", "unique_id": "macro.dbt.table_columns_and_constraints", "macro_sql": "{% macro table_columns_and_constraints() %}\n {# loop through user_provided_columns to create DDL with data types and constraints #}\n {%- set raw_column_constraints = adapter.render_raw_columns_constraints(raw_columns=model['columns']) -%}\n {%- set raw_model_constraints = adapter.render_raw_model_constraints(raw_constraints=model['constraints']) -%}\n (\n {% for c in raw_column_constraints -%}\n {{ c }}{{ \",\" if not loop.last or raw_model_constraints }}\n {% endfor %}\n {% for c in raw_model_constraints -%}\n {{ c }}{{ \",\" if not loop.last }}\n {% endfor -%}\n )\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2977045, "supported_languages": null}, "macro.dbt.get_assert_columns_equivalent": {"name": "get_assert_columns_equivalent", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/column/columns_spec_ddl.sql", "original_file_path": "macros/relations/column/columns_spec_ddl.sql", "unique_id": "macro.dbt.get_assert_columns_equivalent", "macro_sql": "\n\n{%- macro get_assert_columns_equivalent(sql) -%}\n {{ adapter.dispatch('get_assert_columns_equivalent', 'dbt')(sql) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.default__get_assert_columns_equivalent"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.298055, "supported_languages": null}, "macro.dbt.default__get_assert_columns_equivalent": {"name": "default__get_assert_columns_equivalent", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/column/columns_spec_ddl.sql", "original_file_path": "macros/relations/column/columns_spec_ddl.sql", "unique_id": "macro.dbt.default__get_assert_columns_equivalent", "macro_sql": "{% macro default__get_assert_columns_equivalent(sql) -%}\n {{ return(assert_columns_equivalent(sql)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.assert_columns_equivalent"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.2983458, "supported_languages": null}, "macro.dbt.assert_columns_equivalent": {"name": "assert_columns_equivalent", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/column/columns_spec_ddl.sql", "original_file_path": "macros/relations/column/columns_spec_ddl.sql", "unique_id": "macro.dbt.assert_columns_equivalent", "macro_sql": "{% macro assert_columns_equivalent(sql) %}\n\n {#-- First ensure the user has defined 'columns' in yaml specification --#}\n {%- set user_defined_columns = model['columns'] -%}\n {%- if not user_defined_columns -%}\n {{ exceptions.raise_contract_error([], []) }}\n {%- endif -%}\n\n {#-- Obtain the column schema provided by sql file. #}\n {%- set sql_file_provided_columns = get_column_schema_from_query(sql, config.get('sql_header', none)) -%}\n {#--Obtain the column schema provided by the schema file by generating an 'empty schema' query from the model's columns. #}\n {%- set schema_file_provided_columns = get_column_schema_from_query(get_empty_schema_sql(user_defined_columns)) -%}\n\n {#-- create dictionaries with name and formatted data type and strings for exception #}\n {%- set sql_columns = format_columns(sql_file_provided_columns) -%}\n {%- set yaml_columns = format_columns(schema_file_provided_columns) -%}\n\n {%- if sql_columns|length != yaml_columns|length -%}\n {%- do exceptions.raise_contract_error(yaml_columns, sql_columns) -%}\n {%- endif -%}\n\n {%- for sql_col in sql_columns -%}\n {%- set yaml_col = [] -%}\n {%- for this_col in yaml_columns -%}\n {%- if this_col['name'] == sql_col['name'] -%}\n {%- do yaml_col.append(this_col) -%}\n {%- break -%}\n {%- endif -%}\n {%- endfor -%}\n {%- if not yaml_col -%}\n {#-- Column with name not found in yaml #}\n {%- do exceptions.raise_contract_error(yaml_columns, sql_columns) -%}\n {%- endif -%}\n {%- if sql_col['formatted'] != yaml_col[0]['formatted'] -%}\n {#-- Column data types don't match #}\n {%- do exceptions.raise_contract_error(yaml_columns, sql_columns) -%}\n {%- endif -%}\n {%- endfor -%}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_column_schema_from_query", "macro.dbt.get_empty_schema_sql", "macro.dbt.format_columns"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3011532, "supported_languages": null}, "macro.dbt.format_columns": {"name": "format_columns", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/column/columns_spec_ddl.sql", "original_file_path": "macros/relations/column/columns_spec_ddl.sql", "unique_id": "macro.dbt.format_columns", "macro_sql": "{% macro format_columns(columns) %}\n {% set formatted_columns = [] %}\n {% for column in columns %}\n {%- set formatted_column = adapter.dispatch('format_column', 'dbt')(column) -%}\n {%- do formatted_columns.append(formatted_column) -%}\n {% endfor %}\n {{ return(formatted_columns) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__format_column"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.30197, "supported_languages": null}, "macro.dbt.default__format_column": {"name": "default__format_column", "resource_type": "macro", "package_name": "dbt", "path": "macros/relations/column/columns_spec_ddl.sql", "original_file_path": "macros/relations/column/columns_spec_ddl.sql", "unique_id": "macro.dbt.default__format_column", "macro_sql": "{% macro default__format_column(column) -%}\n {% set data_type = column.dtype %}\n {% set formatted = column.column.lower() ~ \" \" ~ data_type %}\n {{ return({'name': column.name, 'data_type': data_type, 'formatted': formatted}) }}\n{%- endmacro -%}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3027189, "supported_languages": null}, "macro.dbt.type_string": {"name": "type_string", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.type_string", "macro_sql": "\n\n{%- macro type_string() -%}\n {{ return(adapter.dispatch('type_string', 'dbt')()) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.default__type_string"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3049512, "supported_languages": null}, "macro.dbt.default__type_string": {"name": "default__type_string", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.default__type_string", "macro_sql": "{% macro default__type_string() %}\n {{ return(api.Column.translate_type(\"string\")) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3052757, "supported_languages": null}, "macro.dbt.type_timestamp": {"name": "type_timestamp", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.type_timestamp", "macro_sql": "\n\n{%- macro type_timestamp() -%}\n {{ return(adapter.dispatch('type_timestamp', 'dbt')()) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.default__type_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3056223, "supported_languages": null}, "macro.dbt.default__type_timestamp": {"name": "default__type_timestamp", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.default__type_timestamp", "macro_sql": "{% macro default__type_timestamp() %}\n {{ return(api.Column.translate_type(\"timestamp\")) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3059433, "supported_languages": null}, "macro.dbt.type_float": {"name": "type_float", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.type_float", "macro_sql": "\n\n{%- macro type_float() -%}\n {{ return(adapter.dispatch('type_float', 'dbt')()) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.default__type_float"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3062873, "supported_languages": null}, "macro.dbt.default__type_float": {"name": "default__type_float", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.default__type_float", "macro_sql": "{% macro default__type_float() %}\n {{ return(api.Column.translate_type(\"float\")) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3066063, "supported_languages": null}, "macro.dbt.type_numeric": {"name": "type_numeric", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.type_numeric", "macro_sql": "\n\n{%- macro type_numeric() -%}\n {{ return(adapter.dispatch('type_numeric', 'dbt')()) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.default__type_numeric"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3069549, "supported_languages": null}, "macro.dbt.default__type_numeric": {"name": "default__type_numeric", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.default__type_numeric", "macro_sql": "{% macro default__type_numeric() %}\n {{ return(api.Column.numeric_type(\"numeric\", 28, 6)) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.307329, "supported_languages": null}, "macro.dbt.type_bigint": {"name": "type_bigint", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.type_bigint", "macro_sql": "\n\n{%- macro type_bigint() -%}\n {{ return(adapter.dispatch('type_bigint', 'dbt')()) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.default__type_bigint"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.307673, "supported_languages": null}, "macro.dbt.default__type_bigint": {"name": "default__type_bigint", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.default__type_bigint", "macro_sql": "{% macro default__type_bigint() %}\n {{ return(api.Column.translate_type(\"bigint\")) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3079948, "supported_languages": null}, "macro.dbt.type_int": {"name": "type_int", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.type_int", "macro_sql": "\n\n{%- macro type_int() -%}\n {{ return(adapter.dispatch('type_int', 'dbt')()) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.default__type_int"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.308459, "supported_languages": null}, "macro.dbt.default__type_int": {"name": "default__type_int", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.default__type_int", "macro_sql": "{%- macro default__type_int() -%}\n {{ return(api.Column.translate_type(\"integer\")) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3087697, "supported_languages": null}, "macro.dbt.type_boolean": {"name": "type_boolean", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.type_boolean", "macro_sql": "\n\n{%- macro type_boolean() -%}\n {{ return(adapter.dispatch('type_boolean', 'dbt')()) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.default__type_boolean"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3091128, "supported_languages": null}, "macro.dbt.default__type_boolean": {"name": "default__type_boolean", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/data_types.sql", "original_file_path": "macros/utils/data_types.sql", "unique_id": "macro.dbt.default__type_boolean", "macro_sql": "{%- macro default__type_boolean() -%}\n {{ return(api.Column.translate_type(\"boolean\")) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3094223, "supported_languages": null}, "macro.dbt.array_construct": {"name": "array_construct", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/array_construct.sql", "original_file_path": "macros/utils/array_construct.sql", "unique_id": "macro.dbt.array_construct", "macro_sql": "{% macro array_construct(inputs=[], data_type=api.Column.translate_type('integer')) -%}\n {{ return(adapter.dispatch('array_construct', 'dbt')(inputs, data_type)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__array_construct"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3102233, "supported_languages": null}, "macro.dbt.default__array_construct": {"name": "default__array_construct", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/array_construct.sql", "original_file_path": "macros/utils/array_construct.sql", "unique_id": "macro.dbt.default__array_construct", "macro_sql": "{% macro default__array_construct(inputs, data_type) -%}\n {% if inputs|length > 0 %}\n array[ {{ inputs|join(' , ') }} ]\n {% else %}\n array[]::{{data_type}}[]\n {% endif %}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.310772, "supported_languages": null}, "macro.dbt.dateadd": {"name": "dateadd", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/dateadd.sql", "original_file_path": "macros/utils/dateadd.sql", "unique_id": "macro.dbt.dateadd", "macro_sql": "{% macro dateadd(datepart, interval, from_date_or_timestamp) %}\n {{ return(adapter.dispatch('dateadd', 'dbt')(datepart, interval, from_date_or_timestamp)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__dateadd"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.311887, "supported_languages": null}, "macro.dbt.default__dateadd": {"name": "default__dateadd", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/dateadd.sql", "original_file_path": "macros/utils/dateadd.sql", "unique_id": "macro.dbt.default__dateadd", "macro_sql": "{% macro default__dateadd(datepart, interval, from_date_or_timestamp) %}\n\n dateadd(\n {{ datepart }},\n {{ interval }},\n {{ from_date_or_timestamp }}\n )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3124003, "supported_languages": null}, "macro.dbt.hash": {"name": "hash", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/hash.sql", "original_file_path": "macros/utils/hash.sql", "unique_id": "macro.dbt.hash", "macro_sql": "{% macro hash(field) -%}\n {{ return(adapter.dispatch('hash', 'dbt') (field)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__hash"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3131852, "supported_languages": null}, "macro.dbt.default__hash": {"name": "default__hash", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/hash.sql", "original_file_path": "macros/utils/hash.sql", "unique_id": "macro.dbt.default__hash", "macro_sql": "{% macro default__hash(field) -%}\n md5(cast({{ field }} as {{ api.Column.translate_type('string') }}))\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3136637, "supported_languages": null}, "macro.dbt.right": {"name": "right", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/right.sql", "original_file_path": "macros/utils/right.sql", "unique_id": "macro.dbt.right", "macro_sql": "{% macro right(string_text, length_expression) -%}\n {{ return(adapter.dispatch('right', 'dbt') (string_text, length_expression)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__right"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3145971, "supported_languages": null}, "macro.dbt.default__right": {"name": "default__right", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/right.sql", "original_file_path": "macros/utils/right.sql", "unique_id": "macro.dbt.default__right", "macro_sql": "{% macro default__right(string_text, length_expression) %}\n\n right(\n {{ string_text }},\n {{ length_expression }}\n )\n\n{%- endmacro -%}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3149197, "supported_languages": null}, "macro.dbt.escape_single_quotes": {"name": "escape_single_quotes", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/escape_single_quotes.sql", "original_file_path": "macros/utils/escape_single_quotes.sql", "unique_id": "macro.dbt.escape_single_quotes", "macro_sql": "{% macro escape_single_quotes(expression) %}\n {{ return(adapter.dispatch('escape_single_quotes', 'dbt') (expression)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__escape_single_quotes"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3154793, "supported_languages": null}, "macro.dbt.default__escape_single_quotes": {"name": "default__escape_single_quotes", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/escape_single_quotes.sql", "original_file_path": "macros/utils/escape_single_quotes.sql", "unique_id": "macro.dbt.default__escape_single_quotes", "macro_sql": "{% macro default__escape_single_quotes(expression) -%}\n{{ expression | replace(\"'\",\"''\") }}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3157785, "supported_languages": null}, "macro.dbt.concat": {"name": "concat", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/concat.sql", "original_file_path": "macros/utils/concat.sql", "unique_id": "macro.dbt.concat", "macro_sql": "{% macro concat(fields) -%}\n {{ return(adapter.dispatch('concat', 'dbt')(fields)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__concat"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3162925, "supported_languages": null}, "macro.dbt.default__concat": {"name": "default__concat", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/concat.sql", "original_file_path": "macros/utils/concat.sql", "unique_id": "macro.dbt.default__concat", "macro_sql": "{% macro default__concat(fields) -%}\n {{ fields|join(' || ') }}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3165562, "supported_languages": null}, "macro.dbt.intersect": {"name": "intersect", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/intersect.sql", "original_file_path": "macros/utils/intersect.sql", "unique_id": "macro.dbt.intersect", "macro_sql": "{% macro intersect() %}\n {{ return(adapter.dispatch('intersect', 'dbt')()) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__intersect"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3170269, "supported_languages": null}, "macro.dbt.default__intersect": {"name": "default__intersect", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/intersect.sql", "original_file_path": "macros/utils/intersect.sql", "unique_id": "macro.dbt.default__intersect", "macro_sql": "{% macro default__intersect() %}\n\n intersect\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3171895, "supported_languages": null}, "macro.dbt.last_day": {"name": "last_day", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/last_day.sql", "original_file_path": "macros/utils/last_day.sql", "unique_id": "macro.dbt.last_day", "macro_sql": "{% macro last_day(date, datepart) %}\n {{ return(adapter.dispatch('last_day', 'dbt') (date, datepart)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__last_day"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3179293, "supported_languages": null}, "macro.dbt.default_last_day": {"name": "default_last_day", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/last_day.sql", "original_file_path": "macros/utils/last_day.sql", "unique_id": "macro.dbt.default_last_day", "macro_sql": "\n\n{%- macro default_last_day(date, datepart) -%}\n cast(\n {{dbt.dateadd('day', '-1',\n dbt.dateadd(datepart, '1', dbt.date_trunc(datepart, date))\n )}}\n as date)\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.dateadd", "macro.dbt.date_trunc"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3185015, "supported_languages": null}, "macro.dbt.default__last_day": {"name": "default__last_day", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/last_day.sql", "original_file_path": "macros/utils/last_day.sql", "unique_id": "macro.dbt.default__last_day", "macro_sql": "{% macro default__last_day(date, datepart) -%}\n {{dbt.default_last_day(date, datepart)}}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default_last_day"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3188186, "supported_languages": null}, "macro.dbt.split_part": {"name": "split_part", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/split_part.sql", "original_file_path": "macros/utils/split_part.sql", "unique_id": "macro.dbt.split_part", "macro_sql": "{% macro split_part(string_text, delimiter_text, part_number) %}\n {{ return(adapter.dispatch('split_part', 'dbt') (string_text, delimiter_text, part_number)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__split_part"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3199549, "supported_languages": null}, "macro.dbt.default__split_part": {"name": "default__split_part", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/split_part.sql", "original_file_path": "macros/utils/split_part.sql", "unique_id": "macro.dbt.default__split_part", "macro_sql": "{% macro default__split_part(string_text, delimiter_text, part_number) %}\n\n split_part(\n {{ string_text }},\n {{ delimiter_text }},\n {{ part_number }}\n )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.320318, "supported_languages": null}, "macro.dbt._split_part_negative": {"name": "_split_part_negative", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/split_part.sql", "original_file_path": "macros/utils/split_part.sql", "unique_id": "macro.dbt._split_part_negative", "macro_sql": "{% macro _split_part_negative(string_text, delimiter_text, part_number) %}\n\n split_part(\n {{ string_text }},\n {{ delimiter_text }},\n length({{ string_text }})\n - length(\n replace({{ string_text }}, {{ delimiter_text }}, '')\n ) + 2 + {{ part_number }}\n )\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.320819, "supported_languages": null}, "macro.dbt.datediff": {"name": "datediff", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/datediff.sql", "original_file_path": "macros/utils/datediff.sql", "unique_id": "macro.dbt.datediff", "macro_sql": "{% macro datediff(first_date, second_date, datepart) %}\n {{ return(adapter.dispatch('datediff', 'dbt')(first_date, second_date, datepart)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__datediff"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.321537, "supported_languages": null}, "macro.dbt.default__datediff": {"name": "default__datediff", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/datediff.sql", "original_file_path": "macros/utils/datediff.sql", "unique_id": "macro.dbt.default__datediff", "macro_sql": "{% macro default__datediff(first_date, second_date, datepart) -%}\n\n datediff(\n {{ datepart }},\n {{ first_date }},\n {{ second_date }}\n )\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3218994, "supported_languages": null}, "macro.dbt.cast": {"name": "cast", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/cast.sql", "original_file_path": "macros/utils/cast.sql", "unique_id": "macro.dbt.cast", "macro_sql": "{% macro cast(field, type) %}\n {{ return(adapter.dispatch('cast', 'dbt') (field, type)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__cast"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3224883, "supported_languages": null}, "macro.dbt.default__cast": {"name": "default__cast", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/cast.sql", "original_file_path": "macros/utils/cast.sql", "unique_id": "macro.dbt.default__cast", "macro_sql": "{% macro default__cast(field, type) %}\n cast({{field}} as {{type}})\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.322906, "supported_languages": null}, "macro.dbt.array_concat": {"name": "array_concat", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/array_concat.sql", "original_file_path": "macros/utils/array_concat.sql", "unique_id": "macro.dbt.array_concat", "macro_sql": "{% macro array_concat(array_1, array_2) -%}\n {{ return(adapter.dispatch('array_concat', 'dbt')(array_1, array_2)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__array_concat"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.323497, "supported_languages": null}, "macro.dbt.default__array_concat": {"name": "default__array_concat", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/array_concat.sql", "original_file_path": "macros/utils/array_concat.sql", "unique_id": "macro.dbt.default__array_concat", "macro_sql": "{% macro default__array_concat(array_1, array_2) -%}\n array_cat({{ array_1 }}, {{ array_2 }})\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3237863, "supported_languages": null}, "macro.dbt.any_value": {"name": "any_value", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/any_value.sql", "original_file_path": "macros/utils/any_value.sql", "unique_id": "macro.dbt.any_value", "macro_sql": "{% macro any_value(expression) -%}\n {{ return(adapter.dispatch('any_value', 'dbt') (expression)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__any_value"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3243077, "supported_languages": null}, "macro.dbt.default__any_value": {"name": "default__any_value", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/any_value.sql", "original_file_path": "macros/utils/any_value.sql", "unique_id": "macro.dbt.default__any_value", "macro_sql": "{% macro default__any_value(expression) -%}\n\n any_value({{ expression }})\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3245308, "supported_languages": null}, "macro.dbt.get_intervals_between": {"name": "get_intervals_between", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/date_spine.sql", "original_file_path": "macros/utils/date_spine.sql", "unique_id": "macro.dbt.get_intervals_between", "macro_sql": "{% macro get_intervals_between(start_date, end_date, datepart) -%}\n {{ return(adapter.dispatch('get_intervals_between', 'dbt')(start_date, end_date, datepart)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_intervals_between"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3261619, "supported_languages": null}, "macro.dbt.default__get_intervals_between": {"name": "default__get_intervals_between", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/date_spine.sql", "original_file_path": "macros/utils/date_spine.sql", "unique_id": "macro.dbt.default__get_intervals_between", "macro_sql": "{% macro default__get_intervals_between(start_date, end_date, datepart) -%}\n {%- call statement('get_intervals_between', fetch_result=True) %}\n\n select {{ dbt.datediff(start_date, end_date, datepart) }}\n\n {%- endcall -%}\n\n {%- set value_list = load_result('get_intervals_between') -%}\n\n {%- if value_list and value_list['data'] -%}\n {%- set values = value_list['data'] | map(attribute=0) | list %}\n {{ return(values[0]) }}\n {%- else -%}\n {{ return(1) }}\n {%- endif -%}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.statement", "macro.dbt.datediff"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3274536, "supported_languages": null}, "macro.dbt.date_spine": {"name": "date_spine", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/date_spine.sql", "original_file_path": "macros/utils/date_spine.sql", "unique_id": "macro.dbt.date_spine", "macro_sql": "{% macro date_spine(datepart, start_date, end_date) %}\n {{ return(adapter.dispatch('date_spine', 'dbt')(datepart, start_date, end_date)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__date_spine"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3279498, "supported_languages": null}, "macro.dbt.default__date_spine": {"name": "default__date_spine", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/date_spine.sql", "original_file_path": "macros/utils/date_spine.sql", "unique_id": "macro.dbt.default__date_spine", "macro_sql": "{% macro default__date_spine(datepart, start_date, end_date) %}\n\n\n {# call as follows:\n\n date_spine(\n \"day\",\n \"to_date('01/01/2016', 'mm/dd/yyyy')\",\n \"dbt.dateadd(week, 1, current_date)\"\n ) #}\n\n\n with rawdata as (\n\n {{dbt.generate_series(\n dbt.get_intervals_between(start_date, end_date, datepart)\n )}}\n\n ),\n\n all_periods as (\n\n select (\n {{\n dbt.dateadd(\n datepart,\n \"row_number() over (order by 1) - 1\",\n start_date\n )\n }}\n ) as date_{{datepart}}\n from rawdata\n\n ),\n\n filtered as (\n\n select *\n from all_periods\n where date_{{datepart}} <= {{ end_date }}\n\n )\n\n select * from filtered\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.generate_series", "macro.dbt.get_intervals_between", "macro.dbt.dateadd"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.328764, "supported_languages": null}, "macro.dbt.bool_or": {"name": "bool_or", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/bool_or.sql", "original_file_path": "macros/utils/bool_or.sql", "unique_id": "macro.dbt.bool_or", "macro_sql": "{% macro bool_or(expression) -%}\n {{ return(adapter.dispatch('bool_or', 'dbt') (expression)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__bool_or"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3292916, "supported_languages": null}, "macro.dbt.default__bool_or": {"name": "default__bool_or", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/bool_or.sql", "original_file_path": "macros/utils/bool_or.sql", "unique_id": "macro.dbt.default__bool_or", "macro_sql": "{% macro default__bool_or(expression) -%}\n\n bool_or({{ expression }})\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3295171, "supported_languages": null}, "macro.dbt.safe_cast": {"name": "safe_cast", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/safe_cast.sql", "original_file_path": "macros/utils/safe_cast.sql", "unique_id": "macro.dbt.safe_cast", "macro_sql": "{% macro safe_cast(field, type) %}\n {{ return(adapter.dispatch('safe_cast', 'dbt') (field, type)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__safe_cast"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3301222, "supported_languages": null}, "macro.dbt.default__safe_cast": {"name": "default__safe_cast", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/safe_cast.sql", "original_file_path": "macros/utils/safe_cast.sql", "unique_id": "macro.dbt.default__safe_cast", "macro_sql": "{% macro default__safe_cast(field, type) %}\n {# most databases don't support this function yet\n so we just need to use cast #}\n cast({{field}} as {{type}})\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3304262, "supported_languages": null}, "macro.dbt.listagg": {"name": "listagg", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/listagg.sql", "original_file_path": "macros/utils/listagg.sql", "unique_id": "macro.dbt.listagg", "macro_sql": "{% macro listagg(measure, delimiter_text=\"','\", order_by_clause=none, limit_num=none) -%}\n {{ return(adapter.dispatch('listagg', 'dbt') (measure, delimiter_text, order_by_clause, limit_num)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__listagg"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.331829, "supported_languages": null}, "macro.dbt.default__listagg": {"name": "default__listagg", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/listagg.sql", "original_file_path": "macros/utils/listagg.sql", "unique_id": "macro.dbt.default__listagg", "macro_sql": "{% macro default__listagg(measure, delimiter_text, order_by_clause, limit_num) -%}\n\n {% if limit_num -%}\n array_to_string(\n array_slice(\n array_agg(\n {{ measure }}\n ){% if order_by_clause -%}\n within group ({{ order_by_clause }})\n {%- endif %}\n ,0\n ,{{ limit_num }}\n ),\n {{ delimiter_text }}\n )\n {%- else %}\n listagg(\n {{ measure }},\n {{ delimiter_text }}\n )\n {% if order_by_clause -%}\n within group ({{ order_by_clause }})\n {%- endif %}\n {%- endif %}\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3327477, "supported_languages": null}, "macro.dbt.except": {"name": "except", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/except.sql", "original_file_path": "macros/utils/except.sql", "unique_id": "macro.dbt.except", "macro_sql": "{% macro except() %}\n {{ return(adapter.dispatch('except', 'dbt')()) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__except"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.33322, "supported_languages": null}, "macro.dbt.default__except": {"name": "default__except", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/except.sql", "original_file_path": "macros/utils/except.sql", "unique_id": "macro.dbt.default__except", "macro_sql": "{% macro default__except() %}\n\n except\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.333384, "supported_languages": null}, "macro.dbt.get_powers_of_two": {"name": "get_powers_of_two", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/generate_series.sql", "original_file_path": "macros/utils/generate_series.sql", "unique_id": "macro.dbt.get_powers_of_two", "macro_sql": "{% macro get_powers_of_two(upper_bound) %}\n {{ return(adapter.dispatch('get_powers_of_two', 'dbt')(upper_bound)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_powers_of_two"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.335357, "supported_languages": null}, "macro.dbt.default__get_powers_of_two": {"name": "default__get_powers_of_two", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/generate_series.sql", "original_file_path": "macros/utils/generate_series.sql", "unique_id": "macro.dbt.default__get_powers_of_two", "macro_sql": "{% macro default__get_powers_of_two(upper_bound) %}\n\n {% if upper_bound <= 0 %}\n {{ exceptions.raise_compiler_error(\"upper bound must be positive\") }}\n {% endif %}\n\n {% for _ in range(1, 100) %}\n {% if upper_bound <= 2 ** loop.index %}{{ return(loop.index) }}{% endif %}\n {% endfor %}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3362494, "supported_languages": null}, "macro.dbt.generate_series": {"name": "generate_series", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/generate_series.sql", "original_file_path": "macros/utils/generate_series.sql", "unique_id": "macro.dbt.generate_series", "macro_sql": "{% macro generate_series(upper_bound) %}\n {{ return(adapter.dispatch('generate_series', 'dbt')(upper_bound)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__generate_series"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3366432, "supported_languages": null}, "macro.dbt.default__generate_series": {"name": "default__generate_series", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/generate_series.sql", "original_file_path": "macros/utils/generate_series.sql", "unique_id": "macro.dbt.default__generate_series", "macro_sql": "{% macro default__generate_series(upper_bound) %}\n\n {% set n = dbt.get_powers_of_two(upper_bound) %}\n\n with p as (\n select 0 as generated_number union all select 1\n ), unioned as (\n\n select\n\n {% for i in range(n) %}\n p{{i}}.generated_number * power(2, {{i}})\n {% if not loop.last %} + {% endif %}\n {% endfor %}\n + 1\n as generated_number\n\n from\n\n {% for i in range(n) %}\n p as p{{i}}\n {% if not loop.last %} cross join {% endif %}\n {% endfor %}\n\n )\n\n select *\n from unioned\n where generated_number <= {{upper_bound}}\n order by generated_number\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_powers_of_two"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3377898, "supported_languages": null}, "macro.dbt.position": {"name": "position", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/position.sql", "original_file_path": "macros/utils/position.sql", "unique_id": "macro.dbt.position", "macro_sql": "{% macro position(substring_text, string_text) -%}\n {{ return(adapter.dispatch('position', 'dbt') (substring_text, string_text)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__position"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3384204, "supported_languages": null}, "macro.dbt.default__position": {"name": "default__position", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/position.sql", "original_file_path": "macros/utils/position.sql", "unique_id": "macro.dbt.default__position", "macro_sql": "{% macro default__position(substring_text, string_text) %}\n\n position(\n {{ substring_text }} in {{ string_text }}\n )\n\n{%- endmacro -%}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3387206, "supported_languages": null}, "macro.dbt.string_literal": {"name": "string_literal", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/literal.sql", "original_file_path": "macros/utils/literal.sql", "unique_id": "macro.dbt.string_literal", "macro_sql": "{%- macro string_literal(value) -%}\n {{ return(adapter.dispatch('string_literal', 'dbt') (value)) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.default__string_literal"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.339234, "supported_languages": null}, "macro.dbt.default__string_literal": {"name": "default__string_literal", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/literal.sql", "original_file_path": "macros/utils/literal.sql", "unique_id": "macro.dbt.default__string_literal", "macro_sql": "{% macro default__string_literal(value) -%}\n '{{ value }}'\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.339455, "supported_languages": null}, "macro.dbt.replace": {"name": "replace", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/replace.sql", "original_file_path": "macros/utils/replace.sql", "unique_id": "macro.dbt.replace", "macro_sql": "{% macro replace(field, old_chars, new_chars) -%}\n {{ return(adapter.dispatch('replace', 'dbt') (field, old_chars, new_chars)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__replace"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3401597, "supported_languages": null}, "macro.dbt.default__replace": {"name": "default__replace", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/replace.sql", "original_file_path": "macros/utils/replace.sql", "unique_id": "macro.dbt.default__replace", "macro_sql": "{% macro default__replace(field, old_chars, new_chars) %}\n\n replace(\n {{ field }},\n {{ old_chars }},\n {{ new_chars }}\n )\n\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3406513, "supported_languages": null}, "macro.dbt.date": {"name": "date", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/date.sql", "original_file_path": "macros/utils/date.sql", "unique_id": "macro.dbt.date", "macro_sql": "{% macro date(year, month, day) %}\n {{ return(adapter.dispatch('date', 'dbt') (year, month, day)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__date"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3413742, "supported_languages": null}, "macro.dbt.default__date": {"name": "default__date", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/date.sql", "original_file_path": "macros/utils/date.sql", "unique_id": "macro.dbt.default__date", "macro_sql": "{% macro default__date(year, month, day) -%}\n {%- set dt = modules.datetime.date(year, month, day) -%}\n {%- set iso_8601_formatted_date = dt.strftime('%Y-%m-%d') -%}\n to_date('{{ iso_8601_formatted_date }}', 'YYYY-MM-DD')\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3419962, "supported_languages": null}, "macro.dbt.length": {"name": "length", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/length.sql", "original_file_path": "macros/utils/length.sql", "unique_id": "macro.dbt.length", "macro_sql": "{% macro length(expression) -%}\n {{ return(adapter.dispatch('length', 'dbt') (expression)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__length"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3425305, "supported_languages": null}, "macro.dbt.default__length": {"name": "default__length", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/length.sql", "original_file_path": "macros/utils/length.sql", "unique_id": "macro.dbt.default__length", "macro_sql": "{% macro default__length(expression) %}\n\n length(\n {{ expression }}\n )\n\n{%- endmacro -%}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3427641, "supported_languages": null}, "macro.dbt.cast_bool_to_text": {"name": "cast_bool_to_text", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/cast_bool_to_text.sql", "original_file_path": "macros/utils/cast_bool_to_text.sql", "unique_id": "macro.dbt.cast_bool_to_text", "macro_sql": "{% macro cast_bool_to_text(field) %}\n {{ adapter.dispatch('cast_bool_to_text', 'dbt') (field) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__cast_bool_to_text"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3432832, "supported_languages": null}, "macro.dbt.default__cast_bool_to_text": {"name": "default__cast_bool_to_text", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/cast_bool_to_text.sql", "original_file_path": "macros/utils/cast_bool_to_text.sql", "unique_id": "macro.dbt.default__cast_bool_to_text", "macro_sql": "{% macro default__cast_bool_to_text(field) %}\n cast({{ field }} as {{ api.Column.translate_type('string') }})\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3436255, "supported_languages": null}, "macro.dbt.array_append": {"name": "array_append", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/array_append.sql", "original_file_path": "macros/utils/array_append.sql", "unique_id": "macro.dbt.array_append", "macro_sql": "{% macro array_append(array, new_element) -%}\n {{ return(adapter.dispatch('array_append', 'dbt')(array, new_element)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__array_append"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.344218, "supported_languages": null}, "macro.dbt.default__array_append": {"name": "default__array_append", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/array_append.sql", "original_file_path": "macros/utils/array_append.sql", "unique_id": "macro.dbt.default__array_append", "macro_sql": "{% macro default__array_append(array, new_element) -%}\n array_append({{ array }}, {{ new_element }})\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3445091, "supported_languages": null}, "macro.dbt.date_trunc": {"name": "date_trunc", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/date_trunc.sql", "original_file_path": "macros/utils/date_trunc.sql", "unique_id": "macro.dbt.date_trunc", "macro_sql": "{% macro date_trunc(datepart, date) -%}\n {{ return(adapter.dispatch('date_trunc', 'dbt') (datepart, date)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__date_trunc"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3450916, "supported_languages": null}, "macro.dbt.default__date_trunc": {"name": "default__date_trunc", "resource_type": "macro", "package_name": "dbt", "path": "macros/utils/date_trunc.sql", "original_file_path": "macros/utils/date_trunc.sql", "unique_id": "macro.dbt.default__date_trunc", "macro_sql": "{% macro default__date_trunc(datepart, date) -%}\n date_trunc('{{datepart}}', {{date}})\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3453743, "supported_languages": null}, "macro.dbt.get_fixture_sql": {"name": "get_fixture_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/unit_test_sql/get_fixture_sql.sql", "original_file_path": "macros/unit_test_sql/get_fixture_sql.sql", "unique_id": "macro.dbt.get_fixture_sql", "macro_sql": "{% macro get_fixture_sql(rows, column_name_to_data_types) %}\n-- Fixture for {{ model.name }}\n{% set default_row = {} %}\n\n{%- if not column_name_to_data_types -%}\n{#-- Use defer_relation IFF it is available in the manifest and 'this' is missing from the database --#}\n{%- set this_or_defer_relation = defer_relation if (defer_relation and not load_relation(this)) else this -%}\n{%- set columns_in_relation = adapter.get_columns_in_relation(this_or_defer_relation) -%}\n\n{%- set column_name_to_data_types = {} -%}\n{%- for column in columns_in_relation -%}\n{#-- This needs to be a case-insensitive comparison --#}\n{%- do column_name_to_data_types.update({column.name|lower: column.data_type}) -%}\n{%- endfor -%}\n{%- endif -%}\n\n{%- if not column_name_to_data_types -%}\n {{ exceptions.raise_compiler_error(\"Not able to get columns for unit test '\" ~ model.name ~ \"' from relation \" ~ this ~ \" because the relation doesn't exist\") }}\n{%- endif -%}\n\n{%- for column_name, column_type in column_name_to_data_types.items() -%}\n {%- do default_row.update({column_name: (safe_cast(\"null\", column_type) | trim )}) -%}\n{%- endfor -%}\n\n{{ validate_fixture_rows(rows, row_number) }}\n\n{%- for row in rows -%}\n{%- set formatted_row = format_row(row, column_name_to_data_types) -%}\n{%- set default_row_copy = default_row.copy() -%}\n{%- do default_row_copy.update(formatted_row) -%}\nselect\n{%- for column_name, column_value in default_row_copy.items() %} {{ column_value }} as {{ column_name }}{% if not loop.last -%}, {%- endif %}\n{%- endfor %}\n{%- if not loop.last %}\nunion all\n{% endif %}\n{%- endfor -%}\n\n{%- if (rows | length) == 0 -%}\n select\n {%- for column_name, column_value in default_row.items() %} {{ column_value }} as {{ column_name }}{% if not loop.last -%},{%- endif %}\n {%- endfor %}\n limit 0\n{%- endif -%}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.load_relation", "macro.dbt.safe_cast", "macro.dbt.validate_fixture_rows", "macro.dbt.format_row"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3534896, "supported_languages": null}, "macro.dbt.get_expected_sql": {"name": "get_expected_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/unit_test_sql/get_fixture_sql.sql", "original_file_path": "macros/unit_test_sql/get_fixture_sql.sql", "unique_id": "macro.dbt.get_expected_sql", "macro_sql": "{% macro get_expected_sql(rows, column_name_to_data_types) %}\n\n{%- if (rows | length) == 0 -%}\n select * from dbt_internal_unit_test_actual\n limit 0\n{%- else -%}\n{%- for row in rows -%}\n{%- set formatted_row = format_row(row, column_name_to_data_types) -%}\nselect\n{%- for column_name, column_value in formatted_row.items() %} {{ column_value }} as {{ column_name }}{% if not loop.last -%}, {%- endif %}\n{%- endfor %}\n{%- if not loop.last %}\nunion all\n{% endif %}\n{%- endfor -%}\n{%- endif -%}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.format_row"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.354708, "supported_languages": null}, "macro.dbt.format_row": {"name": "format_row", "resource_type": "macro", "package_name": "dbt", "path": "macros/unit_test_sql/get_fixture_sql.sql", "original_file_path": "macros/unit_test_sql/get_fixture_sql.sql", "unique_id": "macro.dbt.format_row", "macro_sql": "\n\n{%- macro format_row(row, column_name_to_data_types) -%}\n {#-- generate case-insensitive formatted row --#}\n {% set formatted_row = {} %}\n {%- for column_name, column_value in row.items() -%}\n {% set column_name = column_name|lower %}\n\n {%- if column_name not in column_name_to_data_types %}\n {#-- if user-provided row contains column name that relation does not contain, raise an error --#}\n {% set fixture_name = \"expected output\" if model.resource_type == 'unit_test' else (\"'\" ~ model.name ~ \"'\") %}\n {{ exceptions.raise_compiler_error(\n \"Invalid column name: '\" ~ column_name ~ \"' in unit test fixture for \" ~ fixture_name ~ \".\"\n \"\\nAccepted columns for \" ~ fixture_name ~ \" are: \" ~ (column_name_to_data_types.keys()|list)\n ) }}\n {%- endif -%}\n\n {%- set column_type = column_name_to_data_types[column_name] %}\n\n {#-- sanitize column_value: wrap yaml strings in quotes, apply cast --#}\n {%- set column_value_clean = column_value -%}\n {%- if column_value is string -%}\n {%- set column_value_clean = dbt.string_literal(dbt.escape_single_quotes(column_value)) -%}\n {%- elif column_value is none -%}\n {%- set column_value_clean = 'null' -%}\n {%- endif -%}\n\n {%- set row_update = {column_name: safe_cast(column_value_clean, column_type) } -%}\n {%- do formatted_row.update(row_update) -%}\n {%- endfor -%}\n {{ return(formatted_row) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.string_literal", "macro.dbt.escape_single_quotes", "macro.dbt.safe_cast"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3571634, "supported_languages": null}, "macro.dbt.validate_fixture_rows": {"name": "validate_fixture_rows", "resource_type": "macro", "package_name": "dbt", "path": "macros/unit_test_sql/get_fixture_sql.sql", "original_file_path": "macros/unit_test_sql/get_fixture_sql.sql", "unique_id": "macro.dbt.validate_fixture_rows", "macro_sql": "{%- macro validate_fixture_rows(rows, row_number) -%}\n {{ return(adapter.dispatch('validate_fixture_rows', 'dbt')(rows, row_number)) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.default__validate_fixture_rows"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3576074, "supported_languages": null}, "macro.dbt.default__validate_fixture_rows": {"name": "default__validate_fixture_rows", "resource_type": "macro", "package_name": "dbt", "path": "macros/unit_test_sql/get_fixture_sql.sql", "original_file_path": "macros/unit_test_sql/get_fixture_sql.sql", "unique_id": "macro.dbt.default__validate_fixture_rows", "macro_sql": "{%- macro default__validate_fixture_rows(rows, row_number) -%}\n {# This is an abstract method for adapter overrides as needed #}\n{%- endmacro -%}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3578103, "supported_languages": null}, "macro.dbt.convert_datetime": {"name": "convert_datetime", "resource_type": "macro", "package_name": "dbt", "path": "macros/etc/datetime.sql", "original_file_path": "macros/etc/datetime.sql", "unique_id": "macro.dbt.convert_datetime", "macro_sql": "{% macro convert_datetime(date_str, date_fmt) %}\n\n {% set error_msg -%}\n The provided partition date '{{ date_str }}' does not match the expected format '{{ date_fmt }}'\n {%- endset %}\n\n {% set res = try_or_compiler_error(error_msg, modules.datetime.datetime.strptime, date_str.strip(), date_fmt) %}\n {{ return(res) }}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3622122, "supported_languages": null}, "macro.dbt.dates_in_range": {"name": "dates_in_range", "resource_type": "macro", "package_name": "dbt", "path": "macros/etc/datetime.sql", "original_file_path": "macros/etc/datetime.sql", "unique_id": "macro.dbt.dates_in_range", "macro_sql": "{% macro dates_in_range(start_date_str, end_date_str=none, in_fmt=\"%Y%m%d\", out_fmt=\"%Y%m%d\") %}\n {% set end_date_str = start_date_str if end_date_str is none else end_date_str %}\n\n {% set start_date = convert_datetime(start_date_str, in_fmt) %}\n {% set end_date = convert_datetime(end_date_str, in_fmt) %}\n\n {% set day_count = (end_date - start_date).days %}\n {% if day_count < 0 %}\n {% set msg -%}\n Partition start date is after the end date ({{ start_date }}, {{ end_date }})\n {%- endset %}\n\n {{ exceptions.raise_compiler_error(msg, model) }}\n {% endif %}\n\n {% set date_list = [] %}\n {% for i in range(0, day_count + 1) %}\n {% set the_date = (modules.datetime.timedelta(days=i) + start_date) %}\n {% if not out_fmt %}\n {% set _ = date_list.append(the_date) %}\n {% else %}\n {% set _ = date_list.append(the_date.strftime(out_fmt)) %}\n {% endif %}\n {% endfor %}\n\n {{ return(date_list) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.convert_datetime"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.364804, "supported_languages": null}, "macro.dbt.partition_range": {"name": "partition_range", "resource_type": "macro", "package_name": "dbt", "path": "macros/etc/datetime.sql", "original_file_path": "macros/etc/datetime.sql", "unique_id": "macro.dbt.partition_range", "macro_sql": "{% macro partition_range(raw_partition_date, date_fmt='%Y%m%d') %}\n {% set partition_range = (raw_partition_date | string).split(\",\") %}\n\n {% if (partition_range | length) == 1 %}\n {% set start_date = partition_range[0] %}\n {% set end_date = none %}\n {% elif (partition_range | length) == 2 %}\n {% set start_date = partition_range[0] %}\n {% set end_date = partition_range[1] %}\n {% else %}\n {{ exceptions.raise_compiler_error(\"Invalid partition time. Expected format: {Start Date}[,{End Date}]. Got: \" ~ raw_partition_date) }}\n {% endif %}\n\n {{ return(dates_in_range(start_date, end_date, in_fmt=date_fmt)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.dates_in_range"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3665419, "supported_languages": null}, "macro.dbt.py_current_timestring": {"name": "py_current_timestring", "resource_type": "macro", "package_name": "dbt", "path": "macros/etc/datetime.sql", "original_file_path": "macros/etc/datetime.sql", "unique_id": "macro.dbt.py_current_timestring", "macro_sql": "{% macro py_current_timestring() %}\n {% set dt = modules.datetime.datetime.now() %}\n {% do return(dt.strftime(\"%Y%m%d%H%M%S%f\")) %}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3670416, "supported_languages": null}, "macro.dbt.statement": {"name": "statement", "resource_type": "macro", "package_name": "dbt", "path": "macros/etc/statement.sql", "original_file_path": "macros/etc/statement.sql", "unique_id": "macro.dbt.statement", "macro_sql": "\n{%- macro statement(name=None, fetch_result=False, auto_begin=True, language='sql') -%}\n {%- if execute: -%}\n {%- set compiled_code = caller() -%}\n\n {%- if name == 'main' -%}\n {{ log('Writing runtime {} for node \"{}\"'.format(language, model['unique_id'])) }}\n {{ write(compiled_code) }}\n {%- endif -%}\n {%- if language == 'sql'-%}\n {%- set res, table = adapter.execute(compiled_code, auto_begin=auto_begin, fetch=fetch_result) -%}\n {%- elif language == 'python' -%}\n {%- set res = submit_python_job(model, compiled_code) -%}\n {#-- TODO: What should table be for python models? --#}\n {%- set table = None -%}\n {%- else -%}\n {% do exceptions.raise_compiler_error(\"statement macro didn't get supported language\") %}\n {%- endif -%}\n\n {%- if name is not none -%}\n {{ store_result(name, response=res, agate_table=table) }}\n {%- endif -%}\n\n {%- endif -%}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3704221, "supported_languages": null}, "macro.dbt.noop_statement": {"name": "noop_statement", "resource_type": "macro", "package_name": "dbt", "path": "macros/etc/statement.sql", "original_file_path": "macros/etc/statement.sql", "unique_id": "macro.dbt.noop_statement", "macro_sql": "{% macro noop_statement(name=None, message=None, code=None, rows_affected=None, res=None) -%}\n {%- set sql = caller() -%}\n\n {%- if name == 'main' -%}\n {{ log('Writing runtime SQL for node \"{}\"'.format(model['unique_id'])) }}\n {{ write(sql) }}\n {%- endif -%}\n\n {%- if name is not none -%}\n {{ store_raw_result(name, message=message, code=code, rows_affected=rows_affected, agate_table=res) }}\n {%- endif -%}\n\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3716826, "supported_languages": null}, "macro.dbt.run_query": {"name": "run_query", "resource_type": "macro", "package_name": "dbt", "path": "macros/etc/statement.sql", "original_file_path": "macros/etc/statement.sql", "unique_id": "macro.dbt.run_query", "macro_sql": "{% macro run_query(sql) %}\n {% call statement(\"run_query_statement\", fetch_result=true, auto_begin=false) %}\n {{ sql }}\n {% endcall %}\n\n {% do return(load_result(\"run_query_statement\").table) %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.372307, "supported_languages": null}, "macro.dbt.default__test_unique": {"name": "default__test_unique", "resource_type": "macro", "package_name": "dbt", "path": "macros/generic_test_sql/unique.sql", "original_file_path": "macros/generic_test_sql/unique.sql", "unique_id": "macro.dbt.default__test_unique", "macro_sql": "{% macro default__test_unique(model, column_name) %}\n\nselect\n {{ column_name }} as unique_field,\n count(*) as n_records\n\nfrom {{ model }}\nwhere {{ column_name }} is not null\ngroup by {{ column_name }}\nhaving count(*) > 1\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.372855, "supported_languages": null}, "macro.dbt.default__test_relationships": {"name": "default__test_relationships", "resource_type": "macro", "package_name": "dbt", "path": "macros/generic_test_sql/relationships.sql", "original_file_path": "macros/generic_test_sql/relationships.sql", "unique_id": "macro.dbt.default__test_relationships", "macro_sql": "{% macro default__test_relationships(model, column_name, to, field) %}\n\nwith child as (\n select {{ column_name }} as from_field\n from {{ model }}\n where {{ column_name }} is not null\n),\n\nparent as (\n select {{ field }} as to_field\n from {{ to }}\n)\n\nselect\n from_field\n\nfrom child\nleft join parent\n on child.from_field = parent.to_field\n\nwhere parent.to_field is null\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.37363, "supported_languages": null}, "macro.dbt.default__test_accepted_values": {"name": "default__test_accepted_values", "resource_type": "macro", "package_name": "dbt", "path": "macros/generic_test_sql/accepted_values.sql", "original_file_path": "macros/generic_test_sql/accepted_values.sql", "unique_id": "macro.dbt.default__test_accepted_values", "macro_sql": "{% macro default__test_accepted_values(model, column_name, values, quote=True) %}\n\nwith all_values as (\n\n select\n {{ column_name }} as value_field,\n count(*) as n_records\n\n from {{ model }}\n group by {{ column_name }}\n\n)\n\nselect *\nfrom all_values\nwhere value_field not in (\n {% for value in values -%}\n {% if quote -%}\n '{{ value }}'\n {%- else -%}\n {{ value }}\n {%- endif -%}\n {%- if not loop.last -%},{%- endif %}\n {%- endfor %}\n)\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.374901, "supported_languages": null}, "macro.dbt.default__test_not_null": {"name": "default__test_not_null", "resource_type": "macro", "package_name": "dbt", "path": "macros/generic_test_sql/not_null.sql", "original_file_path": "macros/generic_test_sql/not_null.sql", "unique_id": "macro.dbt.default__test_not_null", "macro_sql": "{% macro default__test_not_null(model, column_name) %}\n\n{% set column_list = '*' if should_store_failures() else column_name %}\n\nselect {{ column_list }}\nfrom {{ model }}\nwhere {{ column_name }} is null\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.should_store_failures"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.375544, "supported_languages": null}, "macro.dbt.validate_sql": {"name": "validate_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/validate_sql.sql", "original_file_path": "macros/adapters/validate_sql.sql", "unique_id": "macro.dbt.validate_sql", "macro_sql": "{% macro validate_sql(sql) -%}\n {{ return(adapter.dispatch('validate_sql', 'dbt')(sql)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__validate_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3761463, "supported_languages": null}, "macro.dbt.default__validate_sql": {"name": "default__validate_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/validate_sql.sql", "original_file_path": "macros/adapters/validate_sql.sql", "unique_id": "macro.dbt.default__validate_sql", "macro_sql": "{% macro default__validate_sql(sql) -%}\n {% call statement('validate_sql') -%}\n explain {{ sql }}\n {% endcall %}\n {{ return(load_result('validate_sql')) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.376626, "supported_languages": null}, "macro.dbt.alter_column_comment": {"name": "alter_column_comment", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/persist_docs.sql", "original_file_path": "macros/adapters/persist_docs.sql", "unique_id": "macro.dbt.alter_column_comment", "macro_sql": "{% macro alter_column_comment(relation, column_dict) -%}\n {{ return(adapter.dispatch('alter_column_comment', 'dbt')(relation, column_dict)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__alter_column_comment"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.378256, "supported_languages": null}, "macro.dbt.default__alter_column_comment": {"name": "default__alter_column_comment", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/persist_docs.sql", "original_file_path": "macros/adapters/persist_docs.sql", "unique_id": "macro.dbt.default__alter_column_comment", "macro_sql": "{% macro default__alter_column_comment(relation, column_dict) -%}\n {{ exceptions.raise_not_implemented(\n 'alter_column_comment macro not implemented for adapter '+adapter.type()) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3786273, "supported_languages": null}, "macro.dbt.alter_relation_comment": {"name": "alter_relation_comment", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/persist_docs.sql", "original_file_path": "macros/adapters/persist_docs.sql", "unique_id": "macro.dbt.alter_relation_comment", "macro_sql": "{% macro alter_relation_comment(relation, relation_comment) -%}\n {{ return(adapter.dispatch('alter_relation_comment', 'dbt')(relation, relation_comment)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__alter_relation_comment"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3790705, "supported_languages": null}, "macro.dbt.default__alter_relation_comment": {"name": "default__alter_relation_comment", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/persist_docs.sql", "original_file_path": "macros/adapters/persist_docs.sql", "unique_id": "macro.dbt.default__alter_relation_comment", "macro_sql": "{% macro default__alter_relation_comment(relation, relation_comment) -%}\n {{ exceptions.raise_not_implemented(\n 'alter_relation_comment macro not implemented for adapter '+adapter.type()) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3794334, "supported_languages": null}, "macro.dbt.persist_docs": {"name": "persist_docs", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/persist_docs.sql", "original_file_path": "macros/adapters/persist_docs.sql", "unique_id": "macro.dbt.persist_docs", "macro_sql": "{% macro persist_docs(relation, model, for_relation=true, for_columns=true) -%}\n {{ return(adapter.dispatch('persist_docs', 'dbt')(relation, model, for_relation, for_columns)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__persist_docs"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3800163, "supported_languages": null}, "macro.dbt.default__persist_docs": {"name": "default__persist_docs", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/persist_docs.sql", "original_file_path": "macros/adapters/persist_docs.sql", "unique_id": "macro.dbt.default__persist_docs", "macro_sql": "{% macro default__persist_docs(relation, model, for_relation, for_columns) -%}\n {% if for_relation and config.persist_relation_docs() and model.description %}\n {% do run_query(alter_relation_comment(relation, model.description)) %}\n {% endif %}\n\n {% if for_columns and config.persist_column_docs() and model.columns %}\n {% do run_query(alter_column_comment(relation, model.columns)) %}\n {% endif %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.run_query", "macro.dbt.alter_relation_comment", "macro.dbt.alter_column_comment"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3810673, "supported_languages": null}, "macro.dbt.get_show_sql": {"name": "get_show_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/show.sql", "original_file_path": "macros/adapters/show.sql", "unique_id": "macro.dbt.get_show_sql", "macro_sql": "{% macro get_show_sql(compiled_code, sql_header, limit) -%}\n {%- if sql_header is not none -%}\n {{ sql_header }}\n {%- endif %}\n {{ get_limit_subquery_sql(compiled_code, limit) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_limit_subquery_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3819427, "supported_languages": null}, "macro.dbt.get_limit_subquery_sql": {"name": "get_limit_subquery_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/show.sql", "original_file_path": "macros/adapters/show.sql", "unique_id": "macro.dbt.get_limit_subquery_sql", "macro_sql": "\n{%- macro get_limit_subquery_sql(sql, limit) -%}\n {{ adapter.dispatch('get_limit_sql', 'dbt')(sql, limit) }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt.default__get_limit_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.382338, "supported_languages": null}, "macro.dbt.default__get_limit_sql": {"name": "default__get_limit_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/show.sql", "original_file_path": "macros/adapters/show.sql", "unique_id": "macro.dbt.default__get_limit_sql", "macro_sql": "{% macro default__get_limit_sql(sql, limit) %}\n {{ compiled_code }}\n {% if limit is not none %}\n limit {{ limit }}\n {%- endif -%}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3827538, "supported_languages": null}, "macro.dbt.current_timestamp": {"name": "current_timestamp", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/timestamps.sql", "original_file_path": "macros/adapters/timestamps.sql", "unique_id": "macro.dbt.current_timestamp", "macro_sql": "{%- macro current_timestamp() -%}\n {{ adapter.dispatch('current_timestamp', 'dbt')() }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt_postgres.postgres__current_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.384344, "supported_languages": null}, "macro.dbt.default__current_timestamp": {"name": "default__current_timestamp", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/timestamps.sql", "original_file_path": "macros/adapters/timestamps.sql", "unique_id": "macro.dbt.default__current_timestamp", "macro_sql": "{% macro default__current_timestamp() -%}\n {{ exceptions.raise_not_implemented(\n 'current_timestamp macro not implemented for adapter ' + adapter.type()) }}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.384673, "supported_languages": null}, "macro.dbt.snapshot_get_time": {"name": "snapshot_get_time", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/timestamps.sql", "original_file_path": "macros/adapters/timestamps.sql", "unique_id": "macro.dbt.snapshot_get_time", "macro_sql": "\n\n{%- macro snapshot_get_time() -%}\n {{ adapter.dispatch('snapshot_get_time', 'dbt')() }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": ["macro.dbt_postgres.postgres__snapshot_get_time"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.38498, "supported_languages": null}, "macro.dbt.default__snapshot_get_time": {"name": "default__snapshot_get_time", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/timestamps.sql", "original_file_path": "macros/adapters/timestamps.sql", "unique_id": "macro.dbt.default__snapshot_get_time", "macro_sql": "{% macro default__snapshot_get_time() %}\n {{ current_timestamp() }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.current_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3852048, "supported_languages": null}, "macro.dbt.get_snapshot_get_time_data_type": {"name": "get_snapshot_get_time_data_type", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/timestamps.sql", "original_file_path": "macros/adapters/timestamps.sql", "unique_id": "macro.dbt.get_snapshot_get_time_data_type", "macro_sql": "{% macro get_snapshot_get_time_data_type() %}\n {% set snapshot_time = adapter.dispatch('snapshot_get_time', 'dbt')() %}\n {% set time_data_type_sql = 'select ' ~ snapshot_time ~ ' as dbt_snapshot_time' %}\n {% set snapshot_time_column_schema = get_column_schema_from_query(time_data_type_sql) %}\n {% set time_data_type = snapshot_time_column_schema[0].dtype %}\n {{ return(time_data_type or none) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.snapshot_get_time", "macro.dbt_postgres.postgres__snapshot_get_time", "macro.dbt.get_column_schema_from_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3861, "supported_languages": null}, "macro.dbt.current_timestamp_backcompat": {"name": "current_timestamp_backcompat", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/timestamps.sql", "original_file_path": "macros/adapters/timestamps.sql", "unique_id": "macro.dbt.current_timestamp_backcompat", "macro_sql": "{% macro current_timestamp_backcompat() %}\n {{ return(adapter.dispatch('current_timestamp_backcompat', 'dbt')()) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__current_timestamp_backcompat"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3864653, "supported_languages": null}, "macro.dbt.default__current_timestamp_backcompat": {"name": "default__current_timestamp_backcompat", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/timestamps.sql", "original_file_path": "macros/adapters/timestamps.sql", "unique_id": "macro.dbt.default__current_timestamp_backcompat", "macro_sql": "{% macro default__current_timestamp_backcompat() %}\n current_timestamp::timestamp\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3866313, "supported_languages": null}, "macro.dbt.current_timestamp_in_utc_backcompat": {"name": "current_timestamp_in_utc_backcompat", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/timestamps.sql", "original_file_path": "macros/adapters/timestamps.sql", "unique_id": "macro.dbt.current_timestamp_in_utc_backcompat", "macro_sql": "{% macro current_timestamp_in_utc_backcompat() %}\n {{ return(adapter.dispatch('current_timestamp_in_utc_backcompat', 'dbt')()) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__current_timestamp_in_utc_backcompat"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3871262, "supported_languages": null}, "macro.dbt.default__current_timestamp_in_utc_backcompat": {"name": "default__current_timestamp_in_utc_backcompat", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/timestamps.sql", "original_file_path": "macros/adapters/timestamps.sql", "unique_id": "macro.dbt.default__current_timestamp_in_utc_backcompat", "macro_sql": "{% macro default__current_timestamp_in_utc_backcompat() %}\n {{ return(adapter.dispatch('current_timestamp_backcompat', 'dbt')()) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.current_timestamp_backcompat", "macro.dbt_postgres.postgres__current_timestamp_backcompat"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3874874, "supported_languages": null}, "macro.dbt.collect_freshness": {"name": "collect_freshness", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/freshness.sql", "original_file_path": "macros/adapters/freshness.sql", "unique_id": "macro.dbt.collect_freshness", "macro_sql": "{% macro collect_freshness(source, loaded_at_field, filter) %}\n {{ return(adapter.dispatch('collect_freshness', 'dbt')(source, loaded_at_field, filter))}}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__collect_freshness"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.388416, "supported_languages": null}, "macro.dbt.default__collect_freshness": {"name": "default__collect_freshness", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/freshness.sql", "original_file_path": "macros/adapters/freshness.sql", "unique_id": "macro.dbt.default__collect_freshness", "macro_sql": "{% macro default__collect_freshness(source, loaded_at_field, filter) %}\n {% call statement('collect_freshness', fetch_result=True, auto_begin=False) -%}\n select\n max({{ loaded_at_field }}) as max_loaded_at,\n {{ current_timestamp() }} as snapshotted_at\n from {{ source }}\n {% if filter %}\n where {{ filter }}\n {% endif %}\n {% endcall %}\n {{ return(load_result('collect_freshness')) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement", "macro.dbt.current_timestamp"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.389319, "supported_languages": null}, "macro.dbt.get_catalog_relations": {"name": "get_catalog_relations", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.get_catalog_relations", "macro_sql": "{% macro get_catalog_relations(information_schema, relations) -%}\n {{ return(adapter.dispatch('get_catalog_relations', 'dbt')(information_schema, relations)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_catalog_relations"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.39788, "supported_languages": null}, "macro.dbt.default__get_catalog_relations": {"name": "default__get_catalog_relations", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.default__get_catalog_relations", "macro_sql": "{% macro default__get_catalog_relations(information_schema, relations) -%}\n {% set typename = adapter.type() %}\n {% set msg -%}\n get_catalog_relations not implemented for {{ typename }}\n {%- endset %}\n\n {{ exceptions.raise_compiler_error(msg) }}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.398441, "supported_languages": null}, "macro.dbt.get_catalog": {"name": "get_catalog", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.get_catalog", "macro_sql": "{% macro get_catalog(information_schema, schemas) -%}\n {{ return(adapter.dispatch('get_catalog', 'dbt')(information_schema, schemas)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_catalog"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3988974, "supported_languages": null}, "macro.dbt.default__get_catalog": {"name": "default__get_catalog", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.default__get_catalog", "macro_sql": "{% macro default__get_catalog(information_schema, schemas) -%}\n\n {% set typename = adapter.type() %}\n {% set msg -%}\n get_catalog not implemented for {{ typename }}\n {%- endset %}\n\n {{ exceptions.raise_compiler_error(msg) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3994594, "supported_languages": null}, "macro.dbt.information_schema_name": {"name": "information_schema_name", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.information_schema_name", "macro_sql": "{% macro information_schema_name(database) %}\n {{ return(adapter.dispatch('information_schema_name', 'dbt')(database)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__information_schema_name"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.3998525, "supported_languages": null}, "macro.dbt.default__information_schema_name": {"name": "default__information_schema_name", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.default__information_schema_name", "macro_sql": "{% macro default__information_schema_name(database) -%}\n {%- if database -%}\n {{ database }}.INFORMATION_SCHEMA\n {%- else -%}\n INFORMATION_SCHEMA\n {%- endif -%}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4001944, "supported_languages": null}, "macro.dbt.list_schemas": {"name": "list_schemas", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.list_schemas", "macro_sql": "{% macro list_schemas(database) -%}\n {{ return(adapter.dispatch('list_schemas', 'dbt')(database)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__list_schemas"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.400576, "supported_languages": null}, "macro.dbt.default__list_schemas": {"name": "default__list_schemas", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.default__list_schemas", "macro_sql": "{% macro default__list_schemas(database) -%}\n {% set sql %}\n select distinct schema_name\n from {{ information_schema_name(database) }}.SCHEMATA\n where catalog_name ilike '{{ database }}'\n {% endset %}\n {{ return(run_query(sql)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.information_schema_name", "macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4011025, "supported_languages": null}, "macro.dbt.check_schema_exists": {"name": "check_schema_exists", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.check_schema_exists", "macro_sql": "{% macro check_schema_exists(information_schema, schema) -%}\n {{ return(adapter.dispatch('check_schema_exists', 'dbt')(information_schema, schema)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__check_schema_exists"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4015412, "supported_languages": null}, "macro.dbt.default__check_schema_exists": {"name": "default__check_schema_exists", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.default__check_schema_exists", "macro_sql": "{% macro default__check_schema_exists(information_schema, schema) -%}\n {% set sql -%}\n select count(*)\n from {{ information_schema.replace(information_schema_view='SCHEMATA') }}\n where catalog_name='{{ information_schema.database }}'\n and schema_name='{{ schema }}'\n {%- endset %}\n {{ return(run_query(sql)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.replace", "macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4021926, "supported_languages": null}, "macro.dbt.list_relations_without_caching": {"name": "list_relations_without_caching", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.list_relations_without_caching", "macro_sql": "{% macro list_relations_without_caching(schema_relation) %}\n {{ return(adapter.dispatch('list_relations_without_caching', 'dbt')(schema_relation)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__list_relations_without_caching"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4025853, "supported_languages": null}, "macro.dbt.default__list_relations_without_caching": {"name": "default__list_relations_without_caching", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.default__list_relations_without_caching", "macro_sql": "{% macro default__list_relations_without_caching(schema_relation) %}\n {{ exceptions.raise_not_implemented(\n 'list_relations_without_caching macro not implemented for adapter '+adapter.type()) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4029374, "supported_languages": null}, "macro.dbt.get_catalog_for_single_relation": {"name": "get_catalog_for_single_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.get_catalog_for_single_relation", "macro_sql": "{% macro get_catalog_for_single_relation(relation) %}\n {{ return(adapter.dispatch('get_catalog_for_single_relation', 'dbt')(relation)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_catalog_for_single_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.403326, "supported_languages": null}, "macro.dbt.default__get_catalog_for_single_relation": {"name": "default__get_catalog_for_single_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.default__get_catalog_for_single_relation", "macro_sql": "{% macro default__get_catalog_for_single_relation(relation) %}\n {{ exceptions.raise_not_implemented(\n 'get_catalog_for_single_relation macro not implemented for adapter '+adapter.type()) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4036694, "supported_languages": null}, "macro.dbt.get_relations": {"name": "get_relations", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.get_relations", "macro_sql": "{% macro get_relations() %}\n {{ return(adapter.dispatch('get_relations', 'dbt')()) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_relations"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4040208, "supported_languages": null}, "macro.dbt.default__get_relations": {"name": "default__get_relations", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.default__get_relations", "macro_sql": "{% macro default__get_relations() %}\n {{ exceptions.raise_not_implemented(\n 'get_relations macro not implemented for adapter '+adapter.type()) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4043467, "supported_languages": null}, "macro.dbt.get_relation_last_modified": {"name": "get_relation_last_modified", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.get_relation_last_modified", "macro_sql": "{% macro get_relation_last_modified(information_schema, relations) %}\n {{ return(adapter.dispatch('get_relation_last_modified', 'dbt')(information_schema, relations)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_relation_last_modified"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.40479, "supported_languages": null}, "macro.dbt.default__get_relation_last_modified": {"name": "default__get_relation_last_modified", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/metadata.sql", "original_file_path": "macros/adapters/metadata.sql", "unique_id": "macro.dbt.default__get_relation_last_modified", "macro_sql": "{% macro default__get_relation_last_modified(information_schema, relations) %}\n {{ exceptions.raise_not_implemented(\n 'get_relation_last_modified macro not implemented for adapter ' + adapter.type()) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4051623, "supported_languages": null}, "macro.dbt.copy_grants": {"name": "copy_grants", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.copy_grants", "macro_sql": "{% macro copy_grants() %}\n {{ return(adapter.dispatch('copy_grants', 'dbt')()) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__copy_grants"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4093316, "supported_languages": null}, "macro.dbt.default__copy_grants": {"name": "default__copy_grants", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.default__copy_grants", "macro_sql": "{% macro default__copy_grants() %}\n {{ return(True) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4095774, "supported_languages": null}, "macro.dbt.support_multiple_grantees_per_dcl_statement": {"name": "support_multiple_grantees_per_dcl_statement", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.support_multiple_grantees_per_dcl_statement", "macro_sql": "{% macro support_multiple_grantees_per_dcl_statement() %}\n {{ return(adapter.dispatch('support_multiple_grantees_per_dcl_statement', 'dbt')()) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__support_multiple_grantees_per_dcl_statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4099348, "supported_languages": null}, "macro.dbt.default__support_multiple_grantees_per_dcl_statement": {"name": "default__support_multiple_grantees_per_dcl_statement", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.default__support_multiple_grantees_per_dcl_statement", "macro_sql": "\n\n{%- macro default__support_multiple_grantees_per_dcl_statement() -%}\n {{ return(True) }}\n{%- endmacro -%}\n\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4101684, "supported_languages": null}, "macro.dbt.should_revoke": {"name": "should_revoke", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.should_revoke", "macro_sql": "{% macro should_revoke(existing_relation, full_refresh_mode=True) %}\n\n {% if not existing_relation %}\n {#-- The table doesn't already exist, so no grants to copy over --#}\n {{ return(False) }}\n {% elif full_refresh_mode %}\n {#-- The object is being REPLACED -- whether grants are copied over depends on the value of user config --#}\n {{ return(copy_grants()) }}\n {% else %}\n {#-- The table is being merged/upserted/inserted -- grants will be carried over --#}\n {{ return(True) }}\n {% endif %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.copy_grants"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4114347, "supported_languages": null}, "macro.dbt.get_show_grant_sql": {"name": "get_show_grant_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.get_show_grant_sql", "macro_sql": "{% macro get_show_grant_sql(relation) %}\n {{ return(adapter.dispatch(\"get_show_grant_sql\", \"dbt\")(relation)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_show_grant_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.412589, "supported_languages": null}, "macro.dbt.default__get_show_grant_sql": {"name": "default__get_show_grant_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.default__get_show_grant_sql", "macro_sql": "{% macro default__get_show_grant_sql(relation) %}\n show grants on {{ relation.render() }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4132323, "supported_languages": null}, "macro.dbt.get_grant_sql": {"name": "get_grant_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.get_grant_sql", "macro_sql": "{% macro get_grant_sql(relation, privilege, grantees) %}\n {{ return(adapter.dispatch('get_grant_sql', 'dbt')(relation, privilege, grantees)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_grant_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4143248, "supported_languages": null}, "macro.dbt.default__get_grant_sql": {"name": "default__get_grant_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.default__get_grant_sql", "macro_sql": "\n\n{%- macro default__get_grant_sql(relation, privilege, grantees) -%}\n grant {{ privilege }} on {{ relation.render() }} to {{ grantees | join(', ') }}\n{%- endmacro -%}\n\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4155326, "supported_languages": null}, "macro.dbt.get_revoke_sql": {"name": "get_revoke_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.get_revoke_sql", "macro_sql": "{% macro get_revoke_sql(relation, privilege, grantees) %}\n {{ return(adapter.dispatch('get_revoke_sql', 'dbt')(relation, privilege, grantees)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_revoke_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.416026, "supported_languages": null}, "macro.dbt.default__get_revoke_sql": {"name": "default__get_revoke_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.default__get_revoke_sql", "macro_sql": "\n\n{%- macro default__get_revoke_sql(relation, privilege, grantees) -%}\n revoke {{ privilege }} on {{ relation.render() }} from {{ grantees | join(', ') }}\n{%- endmacro -%}\n\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.416473, "supported_languages": null}, "macro.dbt.get_dcl_statement_list": {"name": "get_dcl_statement_list", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.get_dcl_statement_list", "macro_sql": "{% macro get_dcl_statement_list(relation, grant_config, get_dcl_macro) %}\n {{ return(adapter.dispatch('get_dcl_statement_list', 'dbt')(relation, grant_config, get_dcl_macro)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_dcl_statement_list"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.416966, "supported_languages": null}, "macro.dbt.default__get_dcl_statement_list": {"name": "default__get_dcl_statement_list", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.default__get_dcl_statement_list", "macro_sql": "\n\n{%- macro default__get_dcl_statement_list(relation, grant_config, get_dcl_macro) -%}\n {#\n -- Unpack grant_config into specific privileges and the set of users who need them granted/revoked.\n -- Depending on whether this database supports multiple grantees per statement, pass in the list of\n -- all grantees per privilege, or (if not) template one statement per privilege-grantee pair.\n -- `get_dcl_macro` will be either `get_grant_sql` or `get_revoke_sql`\n #}\n {%- set dcl_statements = [] -%}\n {%- for privilege, grantees in grant_config.items() %}\n {%- if support_multiple_grantees_per_dcl_statement() and grantees -%}\n {%- set dcl = get_dcl_macro(relation, privilege, grantees) -%}\n {%- do dcl_statements.append(dcl) -%}\n {%- else -%}\n {%- for grantee in grantees -%}\n {% set dcl = get_dcl_macro(relation, privilege, [grantee]) %}\n {%- do dcl_statements.append(dcl) -%}\n {% endfor -%}\n {%- endif -%}\n {%- endfor -%}\n {{ return(dcl_statements) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.support_multiple_grantees_per_dcl_statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4184494, "supported_languages": null}, "macro.dbt.call_dcl_statements": {"name": "call_dcl_statements", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.call_dcl_statements", "macro_sql": "{% macro call_dcl_statements(dcl_statement_list) %}\n {{ return(adapter.dispatch(\"call_dcl_statements\", \"dbt\")(dcl_statement_list)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__call_dcl_statements"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4188592, "supported_languages": null}, "macro.dbt.default__call_dcl_statements": {"name": "default__call_dcl_statements", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.default__call_dcl_statements", "macro_sql": "{% macro default__call_dcl_statements(dcl_statement_list) %}\n {#\n -- By default, supply all grant + revoke statements in a single semicolon-separated block,\n -- so that they're all processed together.\n\n -- Some databases do not support this. Those adapters will need to override this macro\n -- to run each statement individually.\n #}\n {% call statement('grants') %}\n {% for dcl_statement in dcl_statement_list %}\n {{ dcl_statement }};\n {% endfor %}\n {% endcall %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4194005, "supported_languages": null}, "macro.dbt.apply_grants": {"name": "apply_grants", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.apply_grants", "macro_sql": "{% macro apply_grants(relation, grant_config, should_revoke) %}\n {{ return(adapter.dispatch(\"apply_grants\", \"dbt\")(relation, grant_config, should_revoke)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__apply_grants"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4198956, "supported_languages": null}, "macro.dbt.default__apply_grants": {"name": "default__apply_grants", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/apply_grants.sql", "original_file_path": "macros/adapters/apply_grants.sql", "unique_id": "macro.dbt.default__apply_grants", "macro_sql": "{% macro default__apply_grants(relation, grant_config, should_revoke=True) %}\n {#-- If grant_config is {} or None, this is a no-op --#}\n {% if grant_config %}\n {% if should_revoke %}\n {#-- We think previous grants may have carried over --#}\n {#-- Show current grants and calculate diffs --#}\n {% set current_grants_table = run_query(get_show_grant_sql(relation)) %}\n {% set current_grants_dict = adapter.standardize_grants_dict(current_grants_table) %}\n {% set needs_granting = diff_of_two_dicts(grant_config, current_grants_dict) %}\n {% set needs_revoking = diff_of_two_dicts(current_grants_dict, grant_config) %}\n {% if not (needs_granting or needs_revoking) %}\n {{ log('On ' ~ relation.render() ~': All grants are in place, no revocation or granting needed.')}}\n {% endif %}\n {% else %}\n {#-- We don't think there's any chance of previous grants having carried over. --#}\n {#-- Jump straight to granting what the user has configured. --#}\n {% set needs_revoking = {} %}\n {% set needs_granting = grant_config %}\n {% endif %}\n {% if needs_granting or needs_revoking %}\n {% set revoke_statement_list = get_dcl_statement_list(relation, needs_revoking, get_revoke_sql) %}\n {% set grant_statement_list = get_dcl_statement_list(relation, needs_granting, get_grant_sql) %}\n {% set dcl_statement_list = revoke_statement_list + grant_statement_list %}\n {% if dcl_statement_list %}\n {{ call_dcl_statements(dcl_statement_list) }}\n {% endif %}\n {% endif %}\n {% endif %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.run_query", "macro.dbt.get_show_grant_sql", "macro.dbt.get_dcl_statement_list", "macro.dbt.call_dcl_statements"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4224422, "supported_languages": null}, "macro.dbt.make_intermediate_relation": {"name": "make_intermediate_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.make_intermediate_relation", "macro_sql": "{% macro make_intermediate_relation(base_relation, suffix='__dbt_tmp') %}\n {{ return(adapter.dispatch('make_intermediate_relation', 'dbt')(base_relation, suffix)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__make_intermediate_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4272575, "supported_languages": null}, "macro.dbt.default__make_intermediate_relation": {"name": "default__make_intermediate_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.default__make_intermediate_relation", "macro_sql": "{% macro default__make_intermediate_relation(base_relation, suffix) %}\n {{ return(default__make_temp_relation(base_relation, suffix)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__make_temp_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4276156, "supported_languages": null}, "macro.dbt.make_temp_relation": {"name": "make_temp_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.make_temp_relation", "macro_sql": "{% macro make_temp_relation(base_relation, suffix='__dbt_tmp') %}\n {{ return(adapter.dispatch('make_temp_relation', 'dbt')(base_relation, suffix)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__make_temp_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4280837, "supported_languages": null}, "macro.dbt.default__make_temp_relation": {"name": "default__make_temp_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.default__make_temp_relation", "macro_sql": "{% macro default__make_temp_relation(base_relation, suffix) %}\n {%- set temp_identifier = base_relation.identifier ~ suffix -%}\n {%- set temp_relation = base_relation.incorporate(\n path={\"identifier\": temp_identifier}) -%}\n\n {{ return(temp_relation) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4287066, "supported_languages": null}, "macro.dbt.make_backup_relation": {"name": "make_backup_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.make_backup_relation", "macro_sql": "{% macro make_backup_relation(base_relation, backup_relation_type, suffix='__dbt_backup') %}\n {{ return(adapter.dispatch('make_backup_relation', 'dbt')(base_relation, backup_relation_type, suffix)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__make_backup_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4292343, "supported_languages": null}, "macro.dbt.default__make_backup_relation": {"name": "default__make_backup_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.default__make_backup_relation", "macro_sql": "{% macro default__make_backup_relation(base_relation, backup_relation_type, suffix) %}\n {%- set backup_identifier = base_relation.identifier ~ suffix -%}\n {%- set backup_relation = base_relation.incorporate(\n path={\"identifier\": backup_identifier},\n type=backup_relation_type\n ) -%}\n {{ return(backup_relation) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4299285, "supported_languages": null}, "macro.dbt.truncate_relation": {"name": "truncate_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.truncate_relation", "macro_sql": "{% macro truncate_relation(relation) -%}\n {{ return(adapter.dispatch('truncate_relation', 'dbt')(relation)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__truncate_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4303162, "supported_languages": null}, "macro.dbt.default__truncate_relation": {"name": "default__truncate_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.default__truncate_relation", "macro_sql": "{% macro default__truncate_relation(relation) -%}\n {% call statement('truncate_relation') -%}\n truncate table {{ relation.render() }}\n {%- endcall %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4307067, "supported_languages": null}, "macro.dbt.get_or_create_relation": {"name": "get_or_create_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.get_or_create_relation", "macro_sql": "{% macro get_or_create_relation(database, schema, identifier, type) -%}\n {{ return(adapter.dispatch('get_or_create_relation', 'dbt')(database, schema, identifier, type)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_or_create_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4312642, "supported_languages": null}, "macro.dbt.default__get_or_create_relation": {"name": "default__get_or_create_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.default__get_or_create_relation", "macro_sql": "{% macro default__get_or_create_relation(database, schema, identifier, type) %}\n {%- set target_relation = adapter.get_relation(database=database, schema=schema, identifier=identifier) %}\n\n {% if target_relation %}\n {% do return([true, target_relation]) %}\n {% endif %}\n\n {%- set new_relation = api.Relation.create(\n database=database,\n schema=schema,\n identifier=identifier,\n type=type\n ) -%}\n {% do return([false, new_relation]) %}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4324732, "supported_languages": null}, "macro.dbt.load_cached_relation": {"name": "load_cached_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.load_cached_relation", "macro_sql": "{% macro load_cached_relation(relation) %}\n {% do return(adapter.get_relation(\n database=relation.database,\n schema=relation.schema,\n identifier=relation.identifier\n )) -%}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.432964, "supported_languages": null}, "macro.dbt.load_relation": {"name": "load_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/relation.sql", "original_file_path": "macros/adapters/relation.sql", "unique_id": "macro.dbt.load_relation", "macro_sql": "{% macro load_relation(relation) %}\n {{ return(load_cached_relation(relation)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.load_cached_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4332635, "supported_languages": null}, "macro.dbt.get_create_index_sql": {"name": "get_create_index_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/indexes.sql", "original_file_path": "macros/adapters/indexes.sql", "unique_id": "macro.dbt.get_create_index_sql", "macro_sql": "{% macro get_create_index_sql(relation, index_dict) -%}\n {{ return(adapter.dispatch('get_create_index_sql', 'dbt')(relation, index_dict)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_create_index_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4352884, "supported_languages": null}, "macro.dbt.default__get_create_index_sql": {"name": "default__get_create_index_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/indexes.sql", "original_file_path": "macros/adapters/indexes.sql", "unique_id": "macro.dbt.default__get_create_index_sql", "macro_sql": "{% macro default__get_create_index_sql(relation, index_dict) -%}\n {% do return(None) %}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4357202, "supported_languages": null}, "macro.dbt.create_indexes": {"name": "create_indexes", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/indexes.sql", "original_file_path": "macros/adapters/indexes.sql", "unique_id": "macro.dbt.create_indexes", "macro_sql": "{% macro create_indexes(relation) -%}\n {{ adapter.dispatch('create_indexes', 'dbt')(relation) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__create_indexes"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4360626, "supported_languages": null}, "macro.dbt.default__create_indexes": {"name": "default__create_indexes", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/indexes.sql", "original_file_path": "macros/adapters/indexes.sql", "unique_id": "macro.dbt.default__create_indexes", "macro_sql": "{% macro default__create_indexes(relation) -%}\n {%- set _indexes = config.get('indexes', default=[]) -%}\n\n {% for _index_dict in _indexes %}\n {% set create_index_sql = get_create_index_sql(relation, _index_dict) %}\n {% if create_index_sql %}\n {% do run_query(create_index_sql) %}\n {% endif %}\n {% endfor %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_create_index_sql", "macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4369297, "supported_languages": null}, "macro.dbt.get_drop_index_sql": {"name": "get_drop_index_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/indexes.sql", "original_file_path": "macros/adapters/indexes.sql", "unique_id": "macro.dbt.get_drop_index_sql", "macro_sql": "{% macro get_drop_index_sql(relation, index_name) -%}\n {{ adapter.dispatch('get_drop_index_sql', 'dbt')(relation, index_name) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_drop_index_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4373257, "supported_languages": null}, "macro.dbt.default__get_drop_index_sql": {"name": "default__get_drop_index_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/indexes.sql", "original_file_path": "macros/adapters/indexes.sql", "unique_id": "macro.dbt.default__get_drop_index_sql", "macro_sql": "{% macro default__get_drop_index_sql(relation, index_name) -%}\n {{ exceptions.raise_compiler_error(\"`get_drop_index_sql has not been implemented for this adapter.\") }}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4376218, "supported_languages": null}, "macro.dbt.get_show_indexes_sql": {"name": "get_show_indexes_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/indexes.sql", "original_file_path": "macros/adapters/indexes.sql", "unique_id": "macro.dbt.get_show_indexes_sql", "macro_sql": "{% macro get_show_indexes_sql(relation) -%}\n {{ adapter.dispatch('get_show_indexes_sql', 'dbt')(relation) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_show_indexes_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4379585, "supported_languages": null}, "macro.dbt.default__get_show_indexes_sql": {"name": "default__get_show_indexes_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/indexes.sql", "original_file_path": "macros/adapters/indexes.sql", "unique_id": "macro.dbt.default__get_show_indexes_sql", "macro_sql": "{% macro default__get_show_indexes_sql(relation) -%}\n {{ exceptions.raise_compiler_error(\"`get_show_indexes_sql has not been implemented for this adapter.\") }}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4382281, "supported_languages": null}, "macro.dbt.create_schema": {"name": "create_schema", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/schema.sql", "original_file_path": "macros/adapters/schema.sql", "unique_id": "macro.dbt.create_schema", "macro_sql": "{% macro create_schema(relation) -%}\n {{ adapter.dispatch('create_schema', 'dbt')(relation) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__create_schema"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4390805, "supported_languages": null}, "macro.dbt.default__create_schema": {"name": "default__create_schema", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/schema.sql", "original_file_path": "macros/adapters/schema.sql", "unique_id": "macro.dbt.default__create_schema", "macro_sql": "{% macro default__create_schema(relation) -%}\n {%- call statement('create_schema') -%}\n create schema if not exists {{ relation.without_identifier() }}\n {% endcall %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4394789, "supported_languages": null}, "macro.dbt.drop_schema": {"name": "drop_schema", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/schema.sql", "original_file_path": "macros/adapters/schema.sql", "unique_id": "macro.dbt.drop_schema", "macro_sql": "{% macro drop_schema(relation) -%}\n {{ adapter.dispatch('drop_schema', 'dbt')(relation) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__drop_schema"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4398227, "supported_languages": null}, "macro.dbt.default__drop_schema": {"name": "default__drop_schema", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/schema.sql", "original_file_path": "macros/adapters/schema.sql", "unique_id": "macro.dbt.default__drop_schema", "macro_sql": "{% macro default__drop_schema(relation) -%}\n {%- call statement('drop_schema') -%}\n drop schema if exists {{ relation.without_identifier() }} cascade\n {% endcall %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4402196, "supported_languages": null}, "macro.dbt.get_columns_in_relation": {"name": "get_columns_in_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.get_columns_in_relation", "macro_sql": "{% macro get_columns_in_relation(relation) -%}\n {{ return(adapter.dispatch('get_columns_in_relation', 'dbt')(relation)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_columns_in_relation"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4455473, "supported_languages": null}, "macro.dbt.default__get_columns_in_relation": {"name": "default__get_columns_in_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.default__get_columns_in_relation", "macro_sql": "{% macro default__get_columns_in_relation(relation) -%}\n {{ exceptions.raise_not_implemented(\n 'get_columns_in_relation macro not implemented for adapter '+adapter.type()) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4458914, "supported_languages": null}, "macro.dbt.sql_convert_columns_in_relation": {"name": "sql_convert_columns_in_relation", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.sql_convert_columns_in_relation", "macro_sql": "{% macro sql_convert_columns_in_relation(table) -%}\n {% set columns = [] %}\n {% for row in table %}\n {% do columns.append(api.Column(*row)) %}\n {% endfor %}\n {{ return(columns) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4465544, "supported_languages": null}, "macro.dbt.get_empty_subquery_sql": {"name": "get_empty_subquery_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.get_empty_subquery_sql", "macro_sql": "{% macro get_empty_subquery_sql(select_sql, select_sql_header=none) -%}\n {{ return(adapter.dispatch('get_empty_subquery_sql', 'dbt')(select_sql, select_sql_header)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_empty_subquery_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4470224, "supported_languages": null}, "macro.dbt.default__get_empty_subquery_sql": {"name": "default__get_empty_subquery_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.default__get_empty_subquery_sql", "macro_sql": "{% macro default__get_empty_subquery_sql(select_sql, select_sql_header=none) %}\n {%- if select_sql_header is not none -%}\n {{ select_sql_header }}\n {%- endif -%}\n select * from (\n {{ select_sql }}\n ) as __dbt_sbq\n where false\n limit 0\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4474714, "supported_languages": null}, "macro.dbt.get_empty_schema_sql": {"name": "get_empty_schema_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.get_empty_schema_sql", "macro_sql": "{% macro get_empty_schema_sql(columns) -%}\n {{ return(adapter.dispatch('get_empty_schema_sql', 'dbt')(columns)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_empty_schema_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.447854, "supported_languages": null}, "macro.dbt.default__get_empty_schema_sql": {"name": "default__get_empty_schema_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.default__get_empty_schema_sql", "macro_sql": "{% macro default__get_empty_schema_sql(columns) %}\n {%- set col_err = [] -%}\n {%- set col_naked_numeric = [] -%}\n select\n {% for i in columns %}\n {%- set col = columns[i] -%}\n {%- if col['data_type'] is not defined -%}\n {%- do col_err.append(col['name']) -%}\n {#-- If this column's type is just 'numeric' then it is missing precision/scale, raise a warning --#}\n {%- elif col['data_type'].strip().lower() in ('numeric', 'decimal', 'number') -%}\n {%- do col_naked_numeric.append(col['name']) -%}\n {%- endif -%}\n {% set col_name = adapter.quote(col['name']) if col.get('quote') else col['name'] %}\n {{ cast('null', col['data_type']) }} as {{ col_name }}{{ \", \" if not loop.last }}\n {%- endfor -%}\n {%- if (col_err | length) > 0 -%}\n {{ exceptions.column_type_missing(column_names=col_err) }}\n {%- elif (col_naked_numeric | length) > 0 -%}\n {{ exceptions.warn(\"Detected columns with numeric type and unspecified precision/scale, this can lead to unintended rounding: \" ~ col_naked_numeric ~ \"`\") }}\n {%- endif -%}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.cast"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4503973, "supported_languages": null}, "macro.dbt.get_column_schema_from_query": {"name": "get_column_schema_from_query", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.get_column_schema_from_query", "macro_sql": "{% macro get_column_schema_from_query(select_sql, select_sql_header=none) -%}\n {% set columns = [] %}\n {# -- Using an 'empty subquery' here to get the same schema as the given select_sql statement, without necessitating a data scan.#}\n {% set sql = get_empty_subquery_sql(select_sql, select_sql_header) %}\n {% set column_schema = adapter.get_column_schema_from_query(sql) %}\n {{ return(column_schema) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_empty_subquery_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4511373, "supported_languages": null}, "macro.dbt.get_columns_in_query": {"name": "get_columns_in_query", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.get_columns_in_query", "macro_sql": "{% macro get_columns_in_query(select_sql) -%}\n {{ return(adapter.dispatch('get_columns_in_query', 'dbt')(select_sql)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_columns_in_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4515262, "supported_languages": null}, "macro.dbt.default__get_columns_in_query": {"name": "default__get_columns_in_query", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.default__get_columns_in_query", "macro_sql": "{% macro default__get_columns_in_query(select_sql) %}\n {% call statement('get_columns_in_query', fetch_result=True, auto_begin=False) -%}\n {{ get_empty_subquery_sql(select_sql) }}\n {% endcall %}\n {{ return(load_result('get_columns_in_query').table.columns | map(attribute='name') | list) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement", "macro.dbt.get_empty_subquery_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4522748, "supported_languages": null}, "macro.dbt.alter_column_type": {"name": "alter_column_type", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.alter_column_type", "macro_sql": "{% macro alter_column_type(relation, column_name, new_column_type) -%}\n {{ return(adapter.dispatch('alter_column_type', 'dbt')(relation, column_name, new_column_type)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__alter_column_type"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4527621, "supported_languages": null}, "macro.dbt.default__alter_column_type": {"name": "default__alter_column_type", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.default__alter_column_type", "macro_sql": "{% macro default__alter_column_type(relation, column_name, new_column_type) -%}\n {#\n 1. Create a new column (w/ temp name and correct type)\n 2. Copy data over to it\n 3. Drop the existing column (cascade!)\n 4. Rename the new column to existing column\n #}\n {%- set tmp_column = column_name + \"__dbt_alter\" -%}\n\n {% call statement('alter_column_type') %}\n alter table {{ relation.render() }} add column {{ adapter.quote(tmp_column) }} {{ new_column_type }};\n update {{ relation.render() }} set {{ adapter.quote(tmp_column) }} = {{ adapter.quote(column_name) }};\n alter table {{ relation.render() }} drop column {{ adapter.quote(column_name) }} cascade;\n alter table {{ relation.render() }} rename column {{ adapter.quote(tmp_column) }} to {{ adapter.quote(column_name) }}\n {% endcall %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4542122, "supported_languages": null}, "macro.dbt.alter_relation_add_remove_columns": {"name": "alter_relation_add_remove_columns", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.alter_relation_add_remove_columns", "macro_sql": "{% macro alter_relation_add_remove_columns(relation, add_columns = none, remove_columns = none) -%}\n {{ return(adapter.dispatch('alter_relation_add_remove_columns', 'dbt')(relation, add_columns, remove_columns)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__alter_relation_add_remove_columns"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.454766, "supported_languages": null}, "macro.dbt.default__alter_relation_add_remove_columns": {"name": "default__alter_relation_add_remove_columns", "resource_type": "macro", "package_name": "dbt", "path": "macros/adapters/columns.sql", "original_file_path": "macros/adapters/columns.sql", "unique_id": "macro.dbt.default__alter_relation_add_remove_columns", "macro_sql": "{% macro default__alter_relation_add_remove_columns(relation, add_columns, remove_columns) %}\n\n {% if add_columns is none %}\n {% set add_columns = [] %}\n {% endif %}\n {% if remove_columns is none %}\n {% set remove_columns = [] %}\n {% endif %}\n\n {% set sql -%}\n\n alter {{ relation.type }} {{ relation.render() }}\n\n {% for column in add_columns %}\n add column {{ column.name }} {{ column.data_type }}{{ ',' if not loop.last }}\n {% endfor %}{{ ',' if add_columns and remove_columns }}\n\n {% for column in remove_columns %}\n drop column {{ column.name }}{{ ',' if not loop.last }}\n {% endfor %}\n\n {%- endset -%}\n\n {% do run_query(sql) %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.run_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4566653, "supported_languages": null}, "macro.dbt.run_hooks": {"name": "run_hooks", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/hooks.sql", "original_file_path": "macros/materializations/hooks.sql", "unique_id": "macro.dbt.run_hooks", "macro_sql": "{% macro run_hooks(hooks, inside_transaction=True) %}\n {% for hook in hooks | selectattr('transaction', 'equalto', inside_transaction) %}\n {% if not inside_transaction and loop.first %}\n {% call statement(auto_begin=inside_transaction) %}\n commit;\n {% endcall %}\n {% endif %}\n {% set rendered = render(hook.get('sql')) | trim %}\n {% if (rendered | length) > 0 %}\n {% call statement(auto_begin=inside_transaction) %}\n {{ rendered }}\n {% endcall %}\n {% endif %}\n {% endfor %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4591262, "supported_languages": null}, "macro.dbt.make_hook_config": {"name": "make_hook_config", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/hooks.sql", "original_file_path": "macros/materializations/hooks.sql", "unique_id": "macro.dbt.make_hook_config", "macro_sql": "{% macro make_hook_config(sql, inside_transaction) %}\n {{ tojson({\"sql\": sql, \"transaction\": inside_transaction}) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4595382, "supported_languages": null}, "macro.dbt.before_begin": {"name": "before_begin", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/hooks.sql", "original_file_path": "macros/materializations/hooks.sql", "unique_id": "macro.dbt.before_begin", "macro_sql": "{% macro before_begin(sql) %}\n {{ make_hook_config(sql, inside_transaction=False) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.make_hook_config"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.459842, "supported_languages": null}, "macro.dbt.in_transaction": {"name": "in_transaction", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/hooks.sql", "original_file_path": "macros/materializations/hooks.sql", "unique_id": "macro.dbt.in_transaction", "macro_sql": "{% macro in_transaction(sql) %}\n {{ make_hook_config(sql, inside_transaction=True) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.make_hook_config"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4601405, "supported_languages": null}, "macro.dbt.after_commit": {"name": "after_commit", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/hooks.sql", "original_file_path": "macros/materializations/hooks.sql", "unique_id": "macro.dbt.after_commit", "macro_sql": "{% macro after_commit(sql) %}\n {{ make_hook_config(sql, inside_transaction=False) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.make_hook_config"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4604392, "supported_languages": null}, "macro.dbt.set_sql_header": {"name": "set_sql_header", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/configs.sql", "original_file_path": "macros/materializations/configs.sql", "unique_id": "macro.dbt.set_sql_header", "macro_sql": "{% macro set_sql_header(config) -%}\n {{ config.set('sql_header', caller()) }}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.461277, "supported_languages": null}, "macro.dbt.should_full_refresh": {"name": "should_full_refresh", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/configs.sql", "original_file_path": "macros/materializations/configs.sql", "unique_id": "macro.dbt.should_full_refresh", "macro_sql": "{% macro should_full_refresh() %}\n {% set config_full_refresh = config.get('full_refresh') %}\n {% if config_full_refresh is none %}\n {% set config_full_refresh = flags.FULL_REFRESH %}\n {% endif %}\n {% do return(config_full_refresh) %}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.461926, "supported_languages": null}, "macro.dbt.should_store_failures": {"name": "should_store_failures", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/configs.sql", "original_file_path": "macros/materializations/configs.sql", "unique_id": "macro.dbt.should_store_failures", "macro_sql": "{% macro should_store_failures() %}\n {% set config_store_failures = config.get('store_failures') %}\n {% if config_store_failures is none %}\n {% set config_store_failures = flags.STORE_FAILURES %}\n {% endif %}\n {% do return(config_store_failures) %}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4625762, "supported_languages": null}, "macro.dbt.create_columns": {"name": "create_columns", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.create_columns", "macro_sql": "{% macro create_columns(relation, columns) %}\n {{ adapter.dispatch('create_columns', 'dbt')(relation, columns) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__create_columns"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4734716, "supported_languages": null}, "macro.dbt.default__create_columns": {"name": "default__create_columns", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.default__create_columns", "macro_sql": "{% macro default__create_columns(relation, columns) %}\n {% for column in columns %}\n {% call statement() %}\n alter table {{ relation.render() }} add column \"{{ column.name }}\" {{ column.data_type }};\n {% endcall %}\n {% endfor %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4741306, "supported_languages": null}, "macro.dbt.post_snapshot": {"name": "post_snapshot", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.post_snapshot", "macro_sql": "{% macro post_snapshot(staging_relation) %}\n {{ adapter.dispatch('post_snapshot', 'dbt')(staging_relation) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__post_snapshot"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.474483, "supported_languages": null}, "macro.dbt.default__post_snapshot": {"name": "default__post_snapshot", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.default__post_snapshot", "macro_sql": "{% macro default__post_snapshot(staging_relation) %}\n {# no-op #}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.47468, "supported_languages": null}, "macro.dbt.get_true_sql": {"name": "get_true_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.get_true_sql", "macro_sql": "{% macro get_true_sql() %}\n {{ adapter.dispatch('get_true_sql', 'dbt')() }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_true_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.47499, "supported_languages": null}, "macro.dbt.default__get_true_sql": {"name": "default__get_true_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.default__get_true_sql", "macro_sql": "{% macro default__get_true_sql() %}\n {{ return('TRUE') }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.475232, "supported_languages": null}, "macro.dbt.snapshot_staging_table": {"name": "snapshot_staging_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.snapshot_staging_table", "macro_sql": "{% macro snapshot_staging_table(strategy, source_sql, target_relation) -%}\n {{ adapter.dispatch('snapshot_staging_table', 'dbt')(strategy, source_sql, target_relation) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__snapshot_staging_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4756703, "supported_languages": null}, "macro.dbt.default__snapshot_staging_table": {"name": "default__snapshot_staging_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.default__snapshot_staging_table", "macro_sql": "{% macro default__snapshot_staging_table(strategy, source_sql, target_relation) -%}\n\n with snapshot_query as (\n\n {{ source_sql }}\n\n ),\n\n snapshotted_data as (\n\n select *,\n {{ strategy.unique_key }} as dbt_unique_key\n\n from {{ target_relation }}\n where dbt_valid_to is null\n\n ),\n\n insertions_source_data as (\n\n select\n *,\n {{ strategy.unique_key }} as dbt_unique_key,\n {{ strategy.updated_at }} as dbt_updated_at,\n {{ strategy.updated_at }} as dbt_valid_from,\n nullif({{ strategy.updated_at }}, {{ strategy.updated_at }}) as dbt_valid_to,\n {{ strategy.scd_id }} as dbt_scd_id\n\n from snapshot_query\n ),\n\n updates_source_data as (\n\n select\n *,\n {{ strategy.unique_key }} as dbt_unique_key,\n {{ strategy.updated_at }} as dbt_updated_at,\n {{ strategy.updated_at }} as dbt_valid_from,\n {{ strategy.updated_at }} as dbt_valid_to\n\n from snapshot_query\n ),\n\n {%- if strategy.invalidate_hard_deletes %}\n\n deletes_source_data as (\n\n select\n *,\n {{ strategy.unique_key }} as dbt_unique_key\n from snapshot_query\n ),\n {% endif %}\n\n insertions as (\n\n select\n 'insert' as dbt_change_type,\n source_data.*\n\n from insertions_source_data as source_data\n left outer join snapshotted_data on snapshotted_data.dbt_unique_key = source_data.dbt_unique_key\n where snapshotted_data.dbt_unique_key is null\n or (\n snapshotted_data.dbt_unique_key is not null\n and (\n {{ strategy.row_changed }}\n )\n )\n\n ),\n\n updates as (\n\n select\n 'update' as dbt_change_type,\n source_data.*,\n snapshotted_data.dbt_scd_id\n\n from updates_source_data as source_data\n join snapshotted_data on snapshotted_data.dbt_unique_key = source_data.dbt_unique_key\n where (\n {{ strategy.row_changed }}\n )\n )\n\n {%- if strategy.invalidate_hard_deletes -%}\n ,\n\n deletes as (\n\n select\n 'delete' as dbt_change_type,\n source_data.*,\n {{ snapshot_get_time() }} as dbt_valid_from,\n {{ snapshot_get_time() }} as dbt_updated_at,\n {{ snapshot_get_time() }} as dbt_valid_to,\n snapshotted_data.dbt_scd_id\n\n from snapshotted_data\n left join deletes_source_data as source_data on snapshotted_data.dbt_unique_key = source_data.dbt_unique_key\n where source_data.dbt_unique_key is null\n )\n {%- endif %}\n\n select * from insertions\n union all\n select * from updates\n {%- if strategy.invalidate_hard_deletes %}\n union all\n select * from deletes\n {%- endif %}\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.snapshot_get_time"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.47772, "supported_languages": null}, "macro.dbt.build_snapshot_table": {"name": "build_snapshot_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.build_snapshot_table", "macro_sql": "{% macro build_snapshot_table(strategy, sql) -%}\n {{ adapter.dispatch('build_snapshot_table', 'dbt')(strategy, sql) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__build_snapshot_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4781175, "supported_languages": null}, "macro.dbt.default__build_snapshot_table": {"name": "default__build_snapshot_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.default__build_snapshot_table", "macro_sql": "{% macro default__build_snapshot_table(strategy, sql) %}\n\n select *,\n {{ strategy.scd_id }} as dbt_scd_id,\n {{ strategy.updated_at }} as dbt_updated_at,\n {{ strategy.updated_at }} as dbt_valid_from,\n nullif({{ strategy.updated_at }}, {{ strategy.updated_at }}) as dbt_valid_to\n from (\n {{ sql }}\n ) sbq\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4786832, "supported_languages": null}, "macro.dbt.build_snapshot_staging_table": {"name": "build_snapshot_staging_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.build_snapshot_staging_table", "macro_sql": "{% macro build_snapshot_staging_table(strategy, sql, target_relation) %}\n {% set temp_relation = make_temp_relation(target_relation) %}\n\n {% set select = snapshot_staging_table(strategy, sql, target_relation) %}\n\n {% call statement('build_snapshot_staging_relation') %}\n {{ create_table_as(True, temp_relation, select) }}\n {% endcall %}\n\n {% do return(temp_relation) %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.make_temp_relation", "macro.dbt.snapshot_staging_table", "macro.dbt.statement", "macro.dbt.create_table_as"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4796052, "supported_languages": null}, "macro.dbt.get_updated_at_column_data_type": {"name": "get_updated_at_column_data_type", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.get_updated_at_column_data_type", "macro_sql": "{% macro get_updated_at_column_data_type(snapshot_sql) %}\n {% set snapshot_sql_column_schema = get_column_schema_from_query(snapshot_sql) %}\n {% set dbt_updated_at_data_type = null %}\n {% set ns = namespace() -%} {#-- handle for-loop scoping with a namespace --#}\n {% set ns.dbt_updated_at_data_type = null -%}\n {% for column in snapshot_sql_column_schema %}\n {% if ((column.column == 'dbt_updated_at') or (column.column == 'DBT_UPDATED_AT')) %}\n {% set ns.dbt_updated_at_data_type = column.dtype %}\n {% endif %}\n {% endfor %}\n {{ return(ns.dbt_updated_at_data_type or none) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_column_schema_from_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.480892, "supported_languages": null}, "macro.dbt.check_time_data_types": {"name": "check_time_data_types", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/helpers.sql", "original_file_path": "macros/materializations/snapshots/helpers.sql", "unique_id": "macro.dbt.check_time_data_types", "macro_sql": "{% macro check_time_data_types(sql) %}\n {% set dbt_updated_at_data_type = get_updated_at_column_data_type(sql) %}\n {% set snapshot_get_time_data_type = get_snapshot_get_time_data_type() %}\n {% if snapshot_get_time_data_type is not none and dbt_updated_at_data_type is not none and snapshot_get_time_data_type != dbt_updated_at_data_type %}\n {% if exceptions.warn_snapshot_timestamp_data_types %}\n {{ exceptions.warn_snapshot_timestamp_data_types(snapshot_get_time_data_type, dbt_updated_at_data_type) }}\n {% endif %}\n {% endif %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_updated_at_column_data_type", "macro.dbt.get_snapshot_get_time_data_type"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4818401, "supported_languages": null}, "macro.dbt.strategy_dispatch": {"name": "strategy_dispatch", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "unique_id": "macro.dbt.strategy_dispatch", "macro_sql": "{% macro strategy_dispatch(name) -%}\n{% set original_name = name %}\n {% if '.' in name %}\n {% set package_name, name = name.split(\".\", 1) %}\n {% else %}\n {% set package_name = none %}\n {% endif %}\n\n {% if package_name is none %}\n {% set package_context = context %}\n {% elif package_name in context %}\n {% set package_context = context[package_name] %}\n {% else %}\n {% set error_msg %}\n Could not find package '{{package_name}}', called with '{{original_name}}'\n {% endset %}\n {{ exceptions.raise_compiler_error(error_msg | trim) }}\n {% endif %}\n\n {%- set search_name = 'snapshot_' ~ name ~ '_strategy' -%}\n\n {% if search_name not in package_context %}\n {% set error_msg %}\n The specified strategy macro '{{name}}' was not found in package '{{ package_name }}'\n {% endset %}\n {{ exceptions.raise_compiler_error(error_msg | trim) }}\n {% endif %}\n {{ return(package_context[search_name]) }}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.490156, "supported_languages": null}, "macro.dbt.snapshot_hash_arguments": {"name": "snapshot_hash_arguments", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "unique_id": "macro.dbt.snapshot_hash_arguments", "macro_sql": "{% macro snapshot_hash_arguments(args) -%}\n {{ adapter.dispatch('snapshot_hash_arguments', 'dbt')(args) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__snapshot_hash_arguments"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4906363, "supported_languages": null}, "macro.dbt.default__snapshot_hash_arguments": {"name": "default__snapshot_hash_arguments", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "unique_id": "macro.dbt.default__snapshot_hash_arguments", "macro_sql": "{% macro default__snapshot_hash_arguments(args) -%}\n md5({%- for arg in args -%}\n coalesce(cast({{ arg }} as varchar ), '')\n {% if not loop.last %} || '|' || {% endif %}\n {%- endfor -%})\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4911418, "supported_languages": null}, "macro.dbt.snapshot_timestamp_strategy": {"name": "snapshot_timestamp_strategy", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "unique_id": "macro.dbt.snapshot_timestamp_strategy", "macro_sql": "{% macro snapshot_timestamp_strategy(node, snapshotted_rel, current_rel, config, target_exists) %}\n {% set primary_key = config['unique_key'] %}\n {% set updated_at = config['updated_at'] %}\n {% set invalidate_hard_deletes = config.get('invalidate_hard_deletes', false) %}\n\n {#/*\n The snapshot relation might not have an {{ updated_at }} value if the\n snapshot strategy is changed from `check` to `timestamp`. We\n should use a dbt-created column for the comparison in the snapshot\n table instead of assuming that the user-supplied {{ updated_at }}\n will be present in the historical data.\n\n See https://github.com/dbt-labs/dbt-core/issues/2350\n */ #}\n {% set row_changed_expr -%}\n ({{ snapshotted_rel }}.dbt_valid_from < {{ current_rel }}.{{ updated_at }})\n {%- endset %}\n\n {% set scd_id_expr = snapshot_hash_arguments([primary_key, updated_at]) %}\n\n {% do return({\n \"unique_key\": primary_key,\n \"updated_at\": updated_at,\n \"row_changed\": row_changed_expr,\n \"scd_id\": scd_id_expr,\n \"invalidate_hard_deletes\": invalidate_hard_deletes\n }) %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.snapshot_hash_arguments"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4927282, "supported_languages": null}, "macro.dbt.snapshot_string_as_time": {"name": "snapshot_string_as_time", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "unique_id": "macro.dbt.snapshot_string_as_time", "macro_sql": "{% macro snapshot_string_as_time(timestamp) -%}\n {{ adapter.dispatch('snapshot_string_as_time', 'dbt')(timestamp) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__snapshot_string_as_time"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4930732, "supported_languages": null}, "macro.dbt.default__snapshot_string_as_time": {"name": "default__snapshot_string_as_time", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "unique_id": "macro.dbt.default__snapshot_string_as_time", "macro_sql": "{% macro default__snapshot_string_as_time(timestamp) %}\n {% do exceptions.raise_not_implemented(\n 'snapshot_string_as_time macro not implemented for adapter '+adapter.type()\n ) %}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4934413, "supported_languages": null}, "macro.dbt.snapshot_check_all_get_existing_columns": {"name": "snapshot_check_all_get_existing_columns", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "unique_id": "macro.dbt.snapshot_check_all_get_existing_columns", "macro_sql": "{% macro snapshot_check_all_get_existing_columns(node, target_exists, check_cols_config) -%}\n {%- if not target_exists -%}\n {#-- no table yet -> return whatever the query does --#}\n {{ return((false, query_columns)) }}\n {%- endif -%}\n\n {#-- handle any schema changes --#}\n {%- set target_relation = adapter.get_relation(database=node.database, schema=node.schema, identifier=node.alias) -%}\n\n {% if check_cols_config == 'all' %}\n {%- set query_columns = get_columns_in_query(node['compiled_code']) -%}\n\n {% elif check_cols_config is iterable and (check_cols_config | length) > 0 %}\n {#-- query for proper casing/quoting, to support comparison below --#}\n {%- set select_check_cols_from_target -%}\n {#-- N.B. The whitespace below is necessary to avoid edge case issue with comments --#}\n {#-- See: https://github.com/dbt-labs/dbt-core/issues/6781 --#}\n select {{ check_cols_config | join(', ') }} from (\n {{ node['compiled_code'] }}\n ) subq\n {%- endset -%}\n {% set query_columns = get_columns_in_query(select_check_cols_from_target) %}\n\n {% else %}\n {% do exceptions.raise_compiler_error(\"Invalid value for 'check_cols': \" ~ check_cols_config) %}\n {% endif %}\n\n {%- set existing_cols = adapter.get_columns_in_relation(target_relation) | map(attribute = 'name') | list -%}\n {%- set ns = namespace() -%} {#-- handle for-loop scoping with a namespace --#}\n {%- set ns.column_added = false -%}\n\n {%- set intersection = [] -%}\n {%- for col in query_columns -%}\n {%- if col in existing_cols -%}\n {%- do intersection.append(adapter.quote(col)) -%}\n {%- else -%}\n {% set ns.column_added = true %}\n {%- endif -%}\n {%- endfor -%}\n {{ return((ns.column_added, intersection)) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.get_columns_in_query"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.496503, "supported_languages": null}, "macro.dbt.snapshot_check_strategy": {"name": "snapshot_check_strategy", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/strategies.sql", "original_file_path": "macros/materializations/snapshots/strategies.sql", "unique_id": "macro.dbt.snapshot_check_strategy", "macro_sql": "{% macro snapshot_check_strategy(node, snapshotted_rel, current_rel, config, target_exists) %}\n {% set check_cols_config = config['check_cols'] %}\n {% set primary_key = config['unique_key'] %}\n {% set invalidate_hard_deletes = config.get('invalidate_hard_deletes', false) %}\n {% set updated_at = config.get('updated_at', snapshot_get_time()) %}\n\n {% set column_added = false %}\n\n {% set column_added, check_cols = snapshot_check_all_get_existing_columns(node, target_exists, check_cols_config) %}\n\n {%- set row_changed_expr -%}\n (\n {%- if column_added -%}\n {{ get_true_sql() }}\n {%- else -%}\n {%- for col in check_cols -%}\n {{ snapshotted_rel }}.{{ col }} != {{ current_rel }}.{{ col }}\n or\n (\n (({{ snapshotted_rel }}.{{ col }} is null) and not ({{ current_rel }}.{{ col }} is null))\n or\n ((not {{ snapshotted_rel }}.{{ col }} is null) and ({{ current_rel }}.{{ col }} is null))\n )\n {%- if not loop.last %} or {% endif -%}\n {%- endfor -%}\n {%- endif -%}\n )\n {%- endset %}\n\n {% set scd_id_expr = snapshot_hash_arguments([primary_key, updated_at]) %}\n\n {% do return({\n \"unique_key\": primary_key,\n \"updated_at\": updated_at,\n \"row_changed\": row_changed_expr,\n \"scd_id\": scd_id_expr,\n \"invalidate_hard_deletes\": invalidate_hard_deletes\n }) %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.snapshot_get_time", "macro.dbt.snapshot_check_all_get_existing_columns", "macro.dbt.get_true_sql", "macro.dbt.snapshot_hash_arguments"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.4993732, "supported_languages": null}, "macro.dbt.materialization_snapshot_default": {"name": "materialization_snapshot_default", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/snapshot.sql", "original_file_path": "macros/materializations/snapshots/snapshot.sql", "unique_id": "macro.dbt.materialization_snapshot_default", "macro_sql": "{% materialization snapshot, default %}\n {%- set config = model['config'] -%}\n\n {%- set target_table = model.get('alias', model.get('name')) -%}\n\n {%- set strategy_name = config.get('strategy') -%}\n {%- set unique_key = config.get('unique_key') %}\n -- grab current tables grants config for comparision later on\n {%- set grant_config = config.get('grants') -%}\n\n {% set target_relation_exists, target_relation = get_or_create_relation(\n database=model.database,\n schema=model.schema,\n identifier=target_table,\n type='table') -%}\n\n {%- if not target_relation.is_table -%}\n {% do exceptions.relation_wrong_type(target_relation, 'table') %}\n {%- endif -%}\n\n\n {{ run_hooks(pre_hooks, inside_transaction=False) }}\n\n {{ run_hooks(pre_hooks, inside_transaction=True) }}\n\n {% set strategy_macro = strategy_dispatch(strategy_name) %}\n {% set strategy = strategy_macro(model, \"snapshotted_data\", \"source_data\", config, target_relation_exists) %}\n\n {% if not target_relation_exists %}\n\n {% set build_sql = build_snapshot_table(strategy, model['compiled_code']) %}\n {% set build_or_select_sql = build_sql %}\n {% set final_sql = create_table_as(False, target_relation, build_sql) %}\n\n {% else %}\n\n {{ adapter.valid_snapshot_target(target_relation) }}\n\n {% set build_or_select_sql = snapshot_staging_table(strategy, sql, target_relation) %}\n {% set staging_table = build_snapshot_staging_table(strategy, sql, target_relation) %}\n\n -- this may no-op if the database does not require column expansion\n {% do adapter.expand_target_column_types(from_relation=staging_table,\n to_relation=target_relation) %}\n\n {% set missing_columns = adapter.get_missing_columns(staging_table, target_relation)\n | rejectattr('name', 'equalto', 'dbt_change_type')\n | rejectattr('name', 'equalto', 'DBT_CHANGE_TYPE')\n | rejectattr('name', 'equalto', 'dbt_unique_key')\n | rejectattr('name', 'equalto', 'DBT_UNIQUE_KEY')\n | list %}\n\n {% do create_columns(target_relation, missing_columns) %}\n\n {% set source_columns = adapter.get_columns_in_relation(staging_table)\n | rejectattr('name', 'equalto', 'dbt_change_type')\n | rejectattr('name', 'equalto', 'DBT_CHANGE_TYPE')\n | rejectattr('name', 'equalto', 'dbt_unique_key')\n | rejectattr('name', 'equalto', 'DBT_UNIQUE_KEY')\n | list %}\n\n {% set quoted_source_columns = [] %}\n {% for column in source_columns %}\n {% do quoted_source_columns.append(adapter.quote(column.name)) %}\n {% endfor %}\n\n {% set final_sql = snapshot_merge_sql(\n target = target_relation,\n source = staging_table,\n insert_cols = quoted_source_columns\n )\n %}\n\n {% endif %}\n\n\n {{ check_time_data_types(build_or_select_sql) }}\n\n {% call statement('main') %}\n {{ final_sql }}\n {% endcall %}\n\n {% set should_revoke = should_revoke(target_relation_exists, full_refresh_mode=False) %}\n {% do apply_grants(target_relation, grant_config, should_revoke=should_revoke) %}\n\n {% do persist_docs(target_relation, model) %}\n\n {% if not target_relation_exists %}\n {% do create_indexes(target_relation) %}\n {% endif %}\n\n {{ run_hooks(post_hooks, inside_transaction=True) }}\n\n {{ adapter.commit() }}\n\n {% if staging_table is defined %}\n {% do post_snapshot(staging_table) %}\n {% endif %}\n\n {{ run_hooks(post_hooks, inside_transaction=False) }}\n\n {{ return({'relations': [target_relation]}) }}\n\n{% endmaterialization %}", "depends_on": {"macros": ["macro.dbt.get_or_create_relation", "macro.dbt.run_hooks", "macro.dbt.strategy_dispatch", "macro.dbt.build_snapshot_table", "macro.dbt.create_table_as", "macro.dbt.snapshot_staging_table", "macro.dbt.build_snapshot_staging_table", "macro.dbt.create_columns", "macro.dbt.snapshot_merge_sql", "macro.dbt.check_time_data_types", "macro.dbt.statement", "macro.dbt.should_revoke", "macro.dbt.apply_grants", "macro.dbt.persist_docs", "macro.dbt.create_indexes", "macro.dbt.post_snapshot"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.513378, "supported_languages": ["sql"]}, "macro.dbt.snapshot_merge_sql": {"name": "snapshot_merge_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/snapshot_merge.sql", "original_file_path": "macros/materializations/snapshots/snapshot_merge.sql", "unique_id": "macro.dbt.snapshot_merge_sql", "macro_sql": "{% macro snapshot_merge_sql(target, source, insert_cols) -%}\n {{ adapter.dispatch('snapshot_merge_sql', 'dbt')(target, source, insert_cols) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__snapshot_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.514383, "supported_languages": null}, "macro.dbt.default__snapshot_merge_sql": {"name": "default__snapshot_merge_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/snapshots/snapshot_merge.sql", "original_file_path": "macros/materializations/snapshots/snapshot_merge.sql", "unique_id": "macro.dbt.default__snapshot_merge_sql", "macro_sql": "{% macro default__snapshot_merge_sql(target, source, insert_cols) -%}\n {%- set insert_cols_csv = insert_cols | join(', ') -%}\n\n merge into {{ target.render() }} as DBT_INTERNAL_DEST\n using {{ source }} as DBT_INTERNAL_SOURCE\n on DBT_INTERNAL_SOURCE.dbt_scd_id = DBT_INTERNAL_DEST.dbt_scd_id\n\n when matched\n and DBT_INTERNAL_DEST.dbt_valid_to is null\n and DBT_INTERNAL_SOURCE.dbt_change_type in ('update', 'delete')\n then update\n set dbt_valid_to = DBT_INTERNAL_SOURCE.dbt_valid_to\n\n when not matched\n and DBT_INTERNAL_SOURCE.dbt_change_type = 'insert'\n then insert ({{ insert_cols_csv }})\n values ({{ insert_cols_csv }})\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.5150478, "supported_languages": null}, "macro.dbt.materialization_view_default": {"name": "materialization_view_default", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/view.sql", "original_file_path": "macros/materializations/models/view.sql", "unique_id": "macro.dbt.materialization_view_default", "macro_sql": "{%- materialization view, default -%}\n\n {%- set existing_relation = load_cached_relation(this) -%}\n {%- set target_relation = this.incorporate(type='view') -%}\n {%- set intermediate_relation = make_intermediate_relation(target_relation) -%}\n\n -- the intermediate_relation should not already exist in the database; get_relation\n -- will return None in that case. Otherwise, we get a relation that we can drop\n -- later, before we try to use this name for the current operation\n {%- set preexisting_intermediate_relation = load_cached_relation(intermediate_relation) -%}\n /*\n This relation (probably) doesn't exist yet. If it does exist, it's a leftover from\n a previous run, and we're going to try to drop it immediately. At the end of this\n materialization, we're going to rename the \"existing_relation\" to this identifier,\n and then we're going to drop it. In order to make sure we run the correct one of:\n - drop view ...\n - drop table ...\n\n We need to set the type of this relation to be the type of the existing_relation, if it exists,\n or else \"view\" as a sane default if it does not. Note that if the existing_relation does not\n exist, then there is nothing to move out of the way and subsequentally drop. In that case,\n this relation will be effectively unused.\n */\n {%- set backup_relation_type = 'view' if existing_relation is none else existing_relation.type -%}\n {%- set backup_relation = make_backup_relation(target_relation, backup_relation_type) -%}\n -- as above, the backup_relation should not already exist\n {%- set preexisting_backup_relation = load_cached_relation(backup_relation) -%}\n -- grab current tables grants config for comparision later on\n {% set grant_config = config.get('grants') %}\n\n {{ run_hooks(pre_hooks, inside_transaction=False) }}\n\n -- drop the temp relations if they exist already in the database\n {{ drop_relation_if_exists(preexisting_intermediate_relation) }}\n {{ drop_relation_if_exists(preexisting_backup_relation) }}\n\n -- `BEGIN` happens here:\n {{ run_hooks(pre_hooks, inside_transaction=True) }}\n\n -- build model\n {% call statement('main') -%}\n {{ get_create_view_as_sql(intermediate_relation, sql) }}\n {%- endcall %}\n\n -- cleanup\n -- move the existing view out of the way\n {% if existing_relation is not none %}\n /* Do the equivalent of rename_if_exists. 'existing_relation' could have been dropped\n since the variable was first set. */\n {% set existing_relation = load_cached_relation(existing_relation) %}\n {% if existing_relation is not none %}\n {{ adapter.rename_relation(existing_relation, backup_relation) }}\n {% endif %}\n {% endif %}\n {{ adapter.rename_relation(intermediate_relation, target_relation) }}\n\n {% set should_revoke = should_revoke(existing_relation, full_refresh_mode=True) %}\n {% do apply_grants(target_relation, grant_config, should_revoke=should_revoke) %}\n\n {% do persist_docs(target_relation, model) %}\n\n {{ run_hooks(post_hooks, inside_transaction=True) }}\n\n {{ adapter.commit() }}\n\n {{ drop_relation_if_exists(backup_relation) }}\n\n {{ run_hooks(post_hooks, inside_transaction=False) }}\n\n {{ return({'relations': [target_relation]}) }}\n\n{%- endmaterialization -%}", "depends_on": {"macros": ["macro.dbt.load_cached_relation", "macro.dbt.make_intermediate_relation", "macro.dbt.make_backup_relation", "macro.dbt.run_hooks", "macro.dbt.drop_relation_if_exists", "macro.dbt.statement", "macro.dbt.get_create_view_as_sql", "macro.dbt.should_revoke", "macro.dbt.apply_grants", "macro.dbt.persist_docs"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.5216334, "supported_languages": ["sql"]}, "macro.dbt.materialization_materialized_view_default": {"name": "materialization_materialized_view_default", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/materialized_view.sql", "original_file_path": "macros/materializations/models/materialized_view.sql", "unique_id": "macro.dbt.materialization_materialized_view_default", "macro_sql": "{% materialization materialized_view, default %}\n {% set existing_relation = load_cached_relation(this) %}\n {% set target_relation = this.incorporate(type=this.MaterializedView) %}\n {% set intermediate_relation = make_intermediate_relation(target_relation) %}\n {% set backup_relation_type = target_relation.MaterializedView if existing_relation is none else existing_relation.type %}\n {% set backup_relation = make_backup_relation(target_relation, backup_relation_type) %}\n\n {{ materialized_view_setup(backup_relation, intermediate_relation, pre_hooks) }}\n\n {% set build_sql = materialized_view_get_build_sql(existing_relation, target_relation, backup_relation, intermediate_relation) %}\n\n {% if build_sql == '' %}\n {{ materialized_view_execute_no_op(target_relation) }}\n {% else %}\n {{ materialized_view_execute_build_sql(build_sql, existing_relation, target_relation, post_hooks) }}\n {% endif %}\n\n {{ materialized_view_teardown(backup_relation, intermediate_relation, post_hooks) }}\n\n {{ return({'relations': [target_relation]}) }}\n\n{% endmaterialization %}", "depends_on": {"macros": ["macro.dbt.load_cached_relation", "macro.dbt.make_intermediate_relation", "macro.dbt.make_backup_relation", "macro.dbt.materialized_view_setup", "macro.dbt.materialized_view_get_build_sql", "macro.dbt.materialized_view_execute_no_op", "macro.dbt.materialized_view_execute_build_sql", "macro.dbt.materialized_view_teardown"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.5336459, "supported_languages": ["sql"]}, "macro.dbt.materialized_view_setup": {"name": "materialized_view_setup", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/materialized_view.sql", "original_file_path": "macros/materializations/models/materialized_view.sql", "unique_id": "macro.dbt.materialized_view_setup", "macro_sql": "{% macro materialized_view_setup(backup_relation, intermediate_relation, pre_hooks) %}\n\n -- backup_relation and intermediate_relation should not already exist in the database\n -- it's possible these exist because of a previous run that exited unexpectedly\n {% set preexisting_backup_relation = load_cached_relation(backup_relation) %}\n {% set preexisting_intermediate_relation = load_cached_relation(intermediate_relation) %}\n\n -- drop the temp relations if they exist already in the database\n {{ drop_relation_if_exists(preexisting_backup_relation) }}\n {{ drop_relation_if_exists(preexisting_intermediate_relation) }}\n\n {{ run_hooks(pre_hooks, inside_transaction=False) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.load_cached_relation", "macro.dbt.drop_relation_if_exists", "macro.dbt.run_hooks"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.5344903, "supported_languages": null}, "macro.dbt.materialized_view_teardown": {"name": "materialized_view_teardown", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/materialized_view.sql", "original_file_path": "macros/materializations/models/materialized_view.sql", "unique_id": "macro.dbt.materialized_view_teardown", "macro_sql": "{% macro materialized_view_teardown(backup_relation, intermediate_relation, post_hooks) %}\n\n -- drop the temp relations if they exist to leave the database clean for the next run\n {{ drop_relation_if_exists(backup_relation) }}\n {{ drop_relation_if_exists(intermediate_relation) }}\n\n {{ run_hooks(post_hooks, inside_transaction=False) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.drop_relation_if_exists", "macro.dbt.run_hooks"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.5350301, "supported_languages": null}, "macro.dbt.materialized_view_get_build_sql": {"name": "materialized_view_get_build_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/materialized_view.sql", "original_file_path": "macros/materializations/models/materialized_view.sql", "unique_id": "macro.dbt.materialized_view_get_build_sql", "macro_sql": "{% macro materialized_view_get_build_sql(existing_relation, target_relation, backup_relation, intermediate_relation) %}\n\n {% set full_refresh_mode = should_full_refresh() %}\n\n -- determine the scenario we're in: create, full_refresh, alter, refresh data\n {% if existing_relation is none %}\n {% set build_sql = get_create_materialized_view_as_sql(target_relation, sql) %}\n {% elif full_refresh_mode or not existing_relation.is_materialized_view %}\n {% set build_sql = get_replace_sql(existing_relation, target_relation, sql) %}\n {% else %}\n\n -- get config options\n {% set on_configuration_change = config.get('on_configuration_change') %}\n {% set configuration_changes = get_materialized_view_configuration_changes(existing_relation, config) %}\n\n {% if configuration_changes is none %}\n {% set build_sql = refresh_materialized_view(target_relation) %}\n\n {% elif on_configuration_change == 'apply' %}\n {% set build_sql = get_alter_materialized_view_as_sql(target_relation, configuration_changes, sql, existing_relation, backup_relation, intermediate_relation) %}\n {% elif on_configuration_change == 'continue' %}\n {% set build_sql = '' %}\n {{ exceptions.warn(\"Configuration changes were identified and `on_configuration_change` was set to `continue` for `\" ~ target_relation.render() ~ \"`\") }}\n {% elif on_configuration_change == 'fail' %}\n {{ exceptions.raise_fail_fast_error(\"Configuration changes were identified and `on_configuration_change` was set to `fail` for `\" ~ target_relation.render() ~ \"`\") }}\n\n {% else %}\n -- this only happens if the user provides a value other than `apply`, 'skip', 'fail'\n {{ exceptions.raise_compiler_error(\"Unexpected configuration scenario\") }}\n\n {% endif %}\n\n {% endif %}\n\n {% do return(build_sql) %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.should_full_refresh", "macro.dbt.get_create_materialized_view_as_sql", "macro.dbt.get_replace_sql", "macro.dbt.get_materialized_view_configuration_changes", "macro.dbt.refresh_materialized_view", "macro.dbt.get_alter_materialized_view_as_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.53819, "supported_languages": null}, "macro.dbt.materialized_view_execute_no_op": {"name": "materialized_view_execute_no_op", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/materialized_view.sql", "original_file_path": "macros/materializations/models/materialized_view.sql", "unique_id": "macro.dbt.materialized_view_execute_no_op", "macro_sql": "{% macro materialized_view_execute_no_op(target_relation) %}\n {% do store_raw_result(\n name=\"main\",\n message=\"skip \" ~ target_relation,\n code=\"skip\",\n rows_affected=\"-1\"\n ) %}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.5387812, "supported_languages": null}, "macro.dbt.materialized_view_execute_build_sql": {"name": "materialized_view_execute_build_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/materialized_view.sql", "original_file_path": "macros/materializations/models/materialized_view.sql", "unique_id": "macro.dbt.materialized_view_execute_build_sql", "macro_sql": "{% macro materialized_view_execute_build_sql(build_sql, existing_relation, target_relation, post_hooks) %}\n\n -- `BEGIN` happens here:\n {{ run_hooks(pre_hooks, inside_transaction=True) }}\n\n {% set grant_config = config.get('grants') %}\n\n {% call statement(name=\"main\") %}\n {{ build_sql }}\n {% endcall %}\n\n {% set should_revoke = should_revoke(existing_relation, full_refresh_mode=True) %}\n {% do apply_grants(target_relation, grant_config, should_revoke=should_revoke) %}\n\n {% do persist_docs(target_relation, model) %}\n\n {{ run_hooks(post_hooks, inside_transaction=True) }}\n\n {{ adapter.commit() }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.run_hooks", "macro.dbt.statement", "macro.dbt.should_revoke", "macro.dbt.apply_grants", "macro.dbt.persist_docs"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.5403283, "supported_languages": null}, "macro.dbt.materialization_table_default": {"name": "materialization_table_default", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/table.sql", "original_file_path": "macros/materializations/models/table.sql", "unique_id": "macro.dbt.materialization_table_default", "macro_sql": "{% materialization table, default %}\n\n {%- set existing_relation = load_cached_relation(this) -%}\n {%- set target_relation = this.incorporate(type='table') %}\n {%- set intermediate_relation = make_intermediate_relation(target_relation) -%}\n -- the intermediate_relation should not already exist in the database; get_relation\n -- will return None in that case. Otherwise, we get a relation that we can drop\n -- later, before we try to use this name for the current operation\n {%- set preexisting_intermediate_relation = load_cached_relation(intermediate_relation) -%}\n /*\n See ../view/view.sql for more information about this relation.\n */\n {%- set backup_relation_type = 'table' if existing_relation is none else existing_relation.type -%}\n {%- set backup_relation = make_backup_relation(target_relation, backup_relation_type) -%}\n -- as above, the backup_relation should not already exist\n {%- set preexisting_backup_relation = load_cached_relation(backup_relation) -%}\n -- grab current tables grants config for comparision later on\n {% set grant_config = config.get('grants') %}\n\n -- drop the temp relations if they exist already in the database\n {{ drop_relation_if_exists(preexisting_intermediate_relation) }}\n {{ drop_relation_if_exists(preexisting_backup_relation) }}\n\n {{ run_hooks(pre_hooks, inside_transaction=False) }}\n\n -- `BEGIN` happens here:\n {{ run_hooks(pre_hooks, inside_transaction=True) }}\n\n -- build model\n {% call statement('main') -%}\n {{ get_create_table_as_sql(False, intermediate_relation, sql) }}\n {%- endcall %}\n\n -- cleanup\n {% if existing_relation is not none %}\n /* Do the equivalent of rename_if_exists. 'existing_relation' could have been dropped\n since the variable was first set. */\n {% set existing_relation = load_cached_relation(existing_relation) %}\n {% if existing_relation is not none %}\n {{ adapter.rename_relation(existing_relation, backup_relation) }}\n {% endif %}\n {% endif %}\n\n {{ adapter.rename_relation(intermediate_relation, target_relation) }}\n\n {% do create_indexes(target_relation) %}\n\n {{ run_hooks(post_hooks, inside_transaction=True) }}\n\n {% set should_revoke = should_revoke(existing_relation, full_refresh_mode=True) %}\n {% do apply_grants(target_relation, grant_config, should_revoke=should_revoke) %}\n\n {% do persist_docs(target_relation, model) %}\n\n -- `COMMIT` happens here\n {{ adapter.commit() }}\n\n -- finally, drop the existing/backup relation after the commit\n {{ drop_relation_if_exists(backup_relation) }}\n\n {{ run_hooks(post_hooks, inside_transaction=False) }}\n\n {{ return({'relations': [target_relation]}) }}\n{% endmaterialization %}", "depends_on": {"macros": ["macro.dbt.load_cached_relation", "macro.dbt.make_intermediate_relation", "macro.dbt.make_backup_relation", "macro.dbt.drop_relation_if_exists", "macro.dbt.run_hooks", "macro.dbt.statement", "macro.dbt.get_create_table_as_sql", "macro.dbt.create_indexes", "macro.dbt.should_revoke", "macro.dbt.apply_grants", "macro.dbt.persist_docs"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.547943, "supported_languages": ["sql"]}, "macro.dbt.create_or_replace_clone": {"name": "create_or_replace_clone", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/clone/create_or_replace_clone.sql", "original_file_path": "macros/materializations/models/clone/create_or_replace_clone.sql", "unique_id": "macro.dbt.create_or_replace_clone", "macro_sql": "{% macro create_or_replace_clone(this_relation, defer_relation) %}\n {{ return(adapter.dispatch('create_or_replace_clone', 'dbt')(this_relation, defer_relation)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__create_or_replace_clone"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.548666, "supported_languages": null}, "macro.dbt.default__create_or_replace_clone": {"name": "default__create_or_replace_clone", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/clone/create_or_replace_clone.sql", "original_file_path": "macros/materializations/models/clone/create_or_replace_clone.sql", "unique_id": "macro.dbt.default__create_or_replace_clone", "macro_sql": "{% macro default__create_or_replace_clone(this_relation, defer_relation) %}\n create or replace table {{ this_relation.render() }} clone {{ defer_relation.render() }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.5490386, "supported_languages": null}, "macro.dbt.can_clone_table": {"name": "can_clone_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/clone/can_clone_table.sql", "original_file_path": "macros/materializations/models/clone/can_clone_table.sql", "unique_id": "macro.dbt.can_clone_table", "macro_sql": "{% macro can_clone_table() %}\n {{ return(adapter.dispatch('can_clone_table', 'dbt')()) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__can_clone_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.549771, "supported_languages": null}, "macro.dbt.default__can_clone_table": {"name": "default__can_clone_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/clone/can_clone_table.sql", "original_file_path": "macros/materializations/models/clone/can_clone_table.sql", "unique_id": "macro.dbt.default__can_clone_table", "macro_sql": "{% macro default__can_clone_table() %}\n {{ return(False) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.5500624, "supported_languages": null}, "macro.dbt.materialization_clone_default": {"name": "materialization_clone_default", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/clone/clone.sql", "original_file_path": "macros/materializations/models/clone/clone.sql", "unique_id": "macro.dbt.materialization_clone_default", "macro_sql": "{%- materialization clone, default -%}\n\n {%- set relations = {'relations': []} -%}\n\n {%- if not defer_relation -%}\n -- nothing to do\n {{ log(\"No relation found in state manifest for \" ~ model.unique_id, info=True) }}\n {{ return(relations) }}\n {%- endif -%}\n\n {%- set existing_relation = load_cached_relation(this) -%}\n\n {%- if existing_relation and not flags.FULL_REFRESH -%}\n -- noop!\n {{ log(\"Relation \" ~ existing_relation ~ \" already exists\", info=True) }}\n {{ return(relations) }}\n {%- endif -%}\n\n {%- set other_existing_relation = load_cached_relation(defer_relation) -%}\n\n -- If this is a database that can do zero-copy cloning of tables, and the other relation is a table, then this will be a table\n -- Otherwise, this will be a view\n\n {% set can_clone_table = can_clone_table() %}\n\n {%- if other_existing_relation and other_existing_relation.type == 'table' and can_clone_table -%}\n\n {%- set target_relation = this.incorporate(type='table') -%}\n {% if existing_relation is not none and not existing_relation.is_table %}\n {{ log(\"Dropping relation \" ~ existing_relation.render() ~ \" because it is of type \" ~ existing_relation.type) }}\n {{ drop_relation_if_exists(existing_relation) }}\n {% endif %}\n\n -- as a general rule, data platforms that can clone tables can also do atomic 'create or replace'\n {% call statement('main') %}\n {% if target_relation and defer_relation and target_relation == defer_relation %}\n {{ log(\"Target relation and defer relation are the same, skipping clone for relation: \" ~ target_relation.render()) }}\n {% else %}\n {{ create_or_replace_clone(target_relation, defer_relation) }}\n {% endif %}\n\n {% endcall %}\n\n {% set should_revoke = should_revoke(existing_relation, full_refresh_mode=True) %}\n {% do apply_grants(target_relation, grant_config, should_revoke=should_revoke) %}\n {% do persist_docs(target_relation, model) %}\n\n {{ return({'relations': [target_relation]}) }}\n\n {%- else -%}\n\n {%- set target_relation = this.incorporate(type='view') -%}\n\n -- reuse the view materialization\n -- TODO: support actual dispatch for materialization macros\n -- Tracking ticket: https://github.com/dbt-labs/dbt-core/issues/7799\n {% set search_name = \"materialization_view_\" ~ adapter.type() %}\n {% if not search_name in context %}\n {% set search_name = \"materialization_view_default\" %}\n {% endif %}\n {% set materialization_macro = context[search_name] %}\n {% set relations = materialization_macro() %}\n {{ return(relations) }}\n\n {%- endif -%}\n\n{%- endmaterialization -%}", "depends_on": {"macros": ["macro.dbt.load_cached_relation", "macro.dbt.can_clone_table", "macro.dbt.drop_relation_if_exists", "macro.dbt.statement", "macro.dbt.create_or_replace_clone", "macro.dbt.should_revoke", "macro.dbt.apply_grants", "macro.dbt.persist_docs"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.5595074, "supported_languages": ["sql"]}, "macro.dbt.is_incremental": {"name": "is_incremental", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/is_incremental.sql", "original_file_path": "macros/materializations/models/incremental/is_incremental.sql", "unique_id": "macro.dbt.is_incremental", "macro_sql": "{% macro is_incremental() %}\n {#-- do not run introspective queries in parsing #}\n {% if not execute %}\n {{ return(False) }}\n {% else %}\n {% set relation = adapter.get_relation(this.database, this.schema, this.table) %}\n {{ return(relation is not none\n and relation.type == 'table'\n and model.config.materialized == 'incremental'\n and not should_full_refresh()) }}\n {% endif %}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.should_full_refresh"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.5610676, "supported_languages": null}, "macro.dbt.get_incremental_append_sql": {"name": "get_incremental_append_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.get_incremental_append_sql", "macro_sql": "{% macro get_incremental_append_sql(arg_dict) %}\n\n {{ return(adapter.dispatch('get_incremental_append_sql', 'dbt')(arg_dict)) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_incremental_append_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.5641367, "supported_languages": null}, "macro.dbt.default__get_incremental_append_sql": {"name": "default__get_incremental_append_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.default__get_incremental_append_sql", "macro_sql": "{% macro default__get_incremental_append_sql(arg_dict) %}\n\n {% do return(get_insert_into_sql(arg_dict[\"target_relation\"], arg_dict[\"temp_relation\"], arg_dict[\"dest_columns\"])) %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_insert_into_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.5649383, "supported_languages": null}, "macro.dbt.get_incremental_delete_insert_sql": {"name": "get_incremental_delete_insert_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.get_incremental_delete_insert_sql", "macro_sql": "{% macro get_incremental_delete_insert_sql(arg_dict) %}\n\n {{ return(adapter.dispatch('get_incremental_delete_insert_sql', 'dbt')(arg_dict)) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_incremental_delete_insert_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.565584, "supported_languages": null}, "macro.dbt.default__get_incremental_delete_insert_sql": {"name": "default__get_incremental_delete_insert_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.default__get_incremental_delete_insert_sql", "macro_sql": "{% macro default__get_incremental_delete_insert_sql(arg_dict) %}\n\n {% do return(get_delete_insert_merge_sql(arg_dict[\"target_relation\"], arg_dict[\"temp_relation\"], arg_dict[\"unique_key\"], arg_dict[\"dest_columns\"], arg_dict[\"incremental_predicates\"])) %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_delete_insert_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.5666065, "supported_languages": null}, "macro.dbt.get_incremental_merge_sql": {"name": "get_incremental_merge_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.get_incremental_merge_sql", "macro_sql": "{% macro get_incremental_merge_sql(arg_dict) %}\n\n {{ return(adapter.dispatch('get_incremental_merge_sql', 'dbt')(arg_dict)) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_incremental_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.5670629, "supported_languages": null}, "macro.dbt.default__get_incremental_merge_sql": {"name": "default__get_incremental_merge_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.default__get_incremental_merge_sql", "macro_sql": "{% macro default__get_incremental_merge_sql(arg_dict) %}\n\n {% do return(get_merge_sql(arg_dict[\"target_relation\"], arg_dict[\"temp_relation\"], arg_dict[\"unique_key\"], arg_dict[\"dest_columns\"], arg_dict[\"incremental_predicates\"])) %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.5677369, "supported_languages": null}, "macro.dbt.get_incremental_insert_overwrite_sql": {"name": "get_incremental_insert_overwrite_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.get_incremental_insert_overwrite_sql", "macro_sql": "{% macro get_incremental_insert_overwrite_sql(arg_dict) %}\n\n {{ return(adapter.dispatch('get_incremental_insert_overwrite_sql', 'dbt')(arg_dict)) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_incremental_insert_overwrite_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.5681381, "supported_languages": null}, "macro.dbt.default__get_incremental_insert_overwrite_sql": {"name": "default__get_incremental_insert_overwrite_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.default__get_incremental_insert_overwrite_sql", "macro_sql": "{% macro default__get_incremental_insert_overwrite_sql(arg_dict) %}\n\n {% do return(get_insert_overwrite_merge_sql(arg_dict[\"target_relation\"], arg_dict[\"temp_relation\"], arg_dict[\"dest_columns\"], arg_dict[\"incremental_predicates\"])) %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_insert_overwrite_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.5687094, "supported_languages": null}, "macro.dbt.get_incremental_default_sql": {"name": "get_incremental_default_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.get_incremental_default_sql", "macro_sql": "{% macro get_incremental_default_sql(arg_dict) %}\n\n {{ return(adapter.dispatch('get_incremental_default_sql', 'dbt')(arg_dict)) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt_postgres.postgres__get_incremental_default_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.569106, "supported_languages": null}, "macro.dbt.default__get_incremental_default_sql": {"name": "default__get_incremental_default_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.default__get_incremental_default_sql", "macro_sql": "{% macro default__get_incremental_default_sql(arg_dict) %}\n\n {% do return(get_incremental_append_sql(arg_dict)) %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_incremental_append_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.5694268, "supported_languages": null}, "macro.dbt.get_incremental_microbatch_sql": {"name": "get_incremental_microbatch_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.get_incremental_microbatch_sql", "macro_sql": "{% macro get_incremental_microbatch_sql(arg_dict) %}\n\n {{ return(adapter.dispatch('get_incremental_microbatch_sql', 'dbt')(arg_dict)) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_incremental_microbatch_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.5698178, "supported_languages": null}, "macro.dbt.default__get_incremental_microbatch_sql": {"name": "default__get_incremental_microbatch_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.default__get_incremental_microbatch_sql", "macro_sql": "{% macro default__get_incremental_microbatch_sql(arg_dict) %}\n\n {{ exceptions.raise_not_implemented('microbatch materialization strategy not implemented for adapter ' + adapter.type()) }}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.5701697, "supported_languages": null}, "macro.dbt.get_insert_into_sql": {"name": "get_insert_into_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/strategies.sql", "original_file_path": "macros/materializations/models/incremental/strategies.sql", "unique_id": "macro.dbt.get_insert_into_sql", "macro_sql": "{% macro get_insert_into_sql(target_relation, temp_relation, dest_columns) %}\n\n {%- set dest_cols_csv = get_quoted_csv(dest_columns | map(attribute=\"name\")) -%}\n\n insert into {{ target_relation }} ({{ dest_cols_csv }})\n (\n select {{ dest_cols_csv }}\n from {{ temp_relation }}\n )\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_quoted_csv"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.5707958, "supported_languages": null}, "macro.dbt.incremental_validate_on_schema_change": {"name": "incremental_validate_on_schema_change", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/on_schema_change.sql", "original_file_path": "macros/materializations/models/incremental/on_schema_change.sql", "unique_id": "macro.dbt.incremental_validate_on_schema_change", "macro_sql": "{% macro incremental_validate_on_schema_change(on_schema_change, default='ignore') %}\n\n {% if on_schema_change not in ['sync_all_columns', 'append_new_columns', 'fail', 'ignore'] %}\n\n {% set log_message = 'Invalid value for on_schema_change (%s) specified. Setting default value of %s.' % (on_schema_change, default) %}\n {% do log(log_message) %}\n\n {{ return(default) }}\n\n {% else %}\n\n {{ return(on_schema_change) }}\n\n {% endif %}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.5839787, "supported_languages": null}, "macro.dbt.check_for_schema_changes": {"name": "check_for_schema_changes", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/on_schema_change.sql", "original_file_path": "macros/materializations/models/incremental/on_schema_change.sql", "unique_id": "macro.dbt.check_for_schema_changes", "macro_sql": "{% macro check_for_schema_changes(source_relation, target_relation) %}\n\n {% set schema_changed = False %}\n\n {%- set source_columns = adapter.get_columns_in_relation(source_relation) -%}\n {%- set target_columns = adapter.get_columns_in_relation(target_relation) -%}\n {%- set source_not_in_target = diff_columns(source_columns, target_columns) -%}\n {%- set target_not_in_source = diff_columns(target_columns, source_columns) -%}\n\n {% set new_target_types = diff_column_data_types(source_columns, target_columns) %}\n\n {% if source_not_in_target != [] %}\n {% set schema_changed = True %}\n {% elif target_not_in_source != [] or new_target_types != [] %}\n {% set schema_changed = True %}\n {% elif new_target_types != [] %}\n {% set schema_changed = True %}\n {% endif %}\n\n {% set changes_dict = {\n 'schema_changed': schema_changed,\n 'source_not_in_target': source_not_in_target,\n 'target_not_in_source': target_not_in_source,\n 'source_columns': source_columns,\n 'target_columns': target_columns,\n 'new_target_types': new_target_types\n } %}\n\n {% set msg %}\n In {{ target_relation }}:\n Schema changed: {{ schema_changed }}\n Source columns not in target: {{ source_not_in_target }}\n Target columns not in source: {{ target_not_in_source }}\n New column types: {{ new_target_types }}\n {% endset %}\n\n {% do log(msg) %}\n\n {{ return(changes_dict) }}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.diff_columns", "macro.dbt.diff_column_data_types"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.5866818, "supported_languages": null}, "macro.dbt.sync_column_schemas": {"name": "sync_column_schemas", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/on_schema_change.sql", "original_file_path": "macros/materializations/models/incremental/on_schema_change.sql", "unique_id": "macro.dbt.sync_column_schemas", "macro_sql": "{% macro sync_column_schemas(on_schema_change, target_relation, schema_changes_dict) %}\n\n {%- set add_to_target_arr = schema_changes_dict['source_not_in_target'] -%}\n\n {%- if on_schema_change == 'append_new_columns'-%}\n {%- if add_to_target_arr | length > 0 -%}\n {%- do alter_relation_add_remove_columns(target_relation, add_to_target_arr, none) -%}\n {%- endif -%}\n\n {% elif on_schema_change == 'sync_all_columns' %}\n {%- set remove_from_target_arr = schema_changes_dict['target_not_in_source'] -%}\n {%- set new_target_types = schema_changes_dict['new_target_types'] -%}\n\n {% if add_to_target_arr | length > 0 or remove_from_target_arr | length > 0 %}\n {%- do alter_relation_add_remove_columns(target_relation, add_to_target_arr, remove_from_target_arr) -%}\n {% endif %}\n\n {% if new_target_types != [] %}\n {% for ntt in new_target_types %}\n {% set column_name = ntt['column_name'] %}\n {% set new_type = ntt['new_type'] %}\n {% do alter_column_type(target_relation, column_name, new_type) %}\n {% endfor %}\n {% endif %}\n\n {% endif %}\n\n {% set schema_change_message %}\n In {{ target_relation }}:\n Schema change approach: {{ on_schema_change }}\n Columns added: {{ add_to_target_arr }}\n Columns removed: {{ remove_from_target_arr }}\n Data types changed: {{ new_target_types }}\n {% endset %}\n\n {% do log(schema_change_message) %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.alter_relation_add_remove_columns", "macro.dbt.alter_column_type"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.5897434, "supported_languages": null}, "macro.dbt.process_schema_changes": {"name": "process_schema_changes", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/on_schema_change.sql", "original_file_path": "macros/materializations/models/incremental/on_schema_change.sql", "unique_id": "macro.dbt.process_schema_changes", "macro_sql": "{% macro process_schema_changes(on_schema_change, source_relation, target_relation) %}\n\n {% if on_schema_change == 'ignore' %}\n\n {{ return({}) }}\n\n {% else %}\n\n {% set schema_changes_dict = check_for_schema_changes(source_relation, target_relation) %}\n\n {% if schema_changes_dict['schema_changed'] %}\n\n {% if on_schema_change == 'fail' %}\n\n {% set fail_msg %}\n The source and target schemas on this incremental model are out of sync!\n They can be reconciled in several ways:\n - set the `on_schema_change` config to either append_new_columns or sync_all_columns, depending on your situation.\n - Re-run the incremental model with `full_refresh: True` to update the target schema.\n - update the schema manually and re-run the process.\n\n Additional troubleshooting context:\n Source columns not in target: {{ schema_changes_dict['source_not_in_target'] }}\n Target columns not in source: {{ schema_changes_dict['target_not_in_source'] }}\n New column types: {{ schema_changes_dict['new_target_types'] }}\n {% endset %}\n\n {% do exceptions.raise_compiler_error(fail_msg) %}\n\n {# -- unless we ignore, run the sync operation per the config #}\n {% else %}\n\n {% do sync_column_schemas(on_schema_change, target_relation, schema_changes_dict) %}\n\n {% endif %}\n\n {% endif %}\n\n {{ return(schema_changes_dict['source_columns']) }}\n\n {% endif %}\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.check_for_schema_changes", "macro.dbt.sync_column_schemas"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.5916386, "supported_languages": null}, "macro.dbt.materialization_incremental_default": {"name": "materialization_incremental_default", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/incremental.sql", "original_file_path": "macros/materializations/models/incremental/incremental.sql", "unique_id": "macro.dbt.materialization_incremental_default", "macro_sql": "{% materialization incremental, default -%}\n\n -- relations\n {%- set existing_relation = load_cached_relation(this) -%}\n {%- set target_relation = this.incorporate(type='table') -%}\n {%- set temp_relation = make_temp_relation(target_relation)-%}\n {%- set intermediate_relation = make_intermediate_relation(target_relation)-%}\n {%- set backup_relation_type = 'table' if existing_relation is none else existing_relation.type -%}\n {%- set backup_relation = make_backup_relation(target_relation, backup_relation_type) -%}\n\n -- configs\n {%- set unique_key = config.get('unique_key') -%}\n {%- set full_refresh_mode = (should_full_refresh() or existing_relation.is_view) -%}\n {%- set on_schema_change = incremental_validate_on_schema_change(config.get('on_schema_change'), default='ignore') -%}\n\n -- the temp_ and backup_ relations should not already exist in the database; get_relation\n -- will return None in that case. Otherwise, we get a relation that we can drop\n -- later, before we try to use this name for the current operation. This has to happen before\n -- BEGIN, in a separate transaction\n {%- set preexisting_intermediate_relation = load_cached_relation(intermediate_relation)-%}\n {%- set preexisting_backup_relation = load_cached_relation(backup_relation) -%}\n -- grab current tables grants config for comparision later on\n {% set grant_config = config.get('grants') %}\n {{ drop_relation_if_exists(preexisting_intermediate_relation) }}\n {{ drop_relation_if_exists(preexisting_backup_relation) }}\n\n {{ run_hooks(pre_hooks, inside_transaction=False) }}\n\n -- `BEGIN` happens here:\n {{ run_hooks(pre_hooks, inside_transaction=True) }}\n\n {% set to_drop = [] %}\n\n {% if existing_relation is none %}\n {% set build_sql = get_create_table_as_sql(False, target_relation, sql) %}\n {% elif full_refresh_mode %}\n {% set build_sql = get_create_table_as_sql(False, intermediate_relation, sql) %}\n {% set need_swap = true %}\n {% else %}\n {% do run_query(get_create_table_as_sql(True, temp_relation, sql)) %}\n {% set contract_config = config.get('contract') %}\n {% if not contract_config or not contract_config.enforced %}\n {% do adapter.expand_target_column_types(\n from_relation=temp_relation,\n to_relation=target_relation) %}\n {% endif %}\n {#-- Process schema changes. Returns dict of changes if successful. Use source columns for upserting/merging --#}\n {% set dest_columns = process_schema_changes(on_schema_change, temp_relation, existing_relation) %}\n {% if not dest_columns %}\n {% set dest_columns = adapter.get_columns_in_relation(existing_relation) %}\n {% endif %}\n\n {#-- Get the incremental_strategy, the macro to use for the strategy, and build the sql --#}\n {% set incremental_strategy = config.get('incremental_strategy') or 'default' %}\n {% set incremental_predicates = config.get('predicates', none) or config.get('incremental_predicates', none) %}\n {% set strategy_sql_macro_func = adapter.get_incremental_strategy_macro(context, incremental_strategy) %}\n {% set strategy_arg_dict = ({'target_relation': target_relation, 'temp_relation': temp_relation, 'unique_key': unique_key, 'dest_columns': dest_columns, 'incremental_predicates': incremental_predicates }) %}\n {% set build_sql = strategy_sql_macro_func(strategy_arg_dict) %}\n\n {% endif %}\n\n {% call statement(\"main\") %}\n {{ build_sql }}\n {% endcall %}\n\n {% if need_swap %}\n {% do adapter.rename_relation(target_relation, backup_relation) %}\n {% do adapter.rename_relation(intermediate_relation, target_relation) %}\n {% do to_drop.append(backup_relation) %}\n {% endif %}\n\n {% set should_revoke = should_revoke(existing_relation, full_refresh_mode) %}\n {% do apply_grants(target_relation, grant_config, should_revoke=should_revoke) %}\n\n {% do persist_docs(target_relation, model) %}\n\n {% if existing_relation is none or existing_relation.is_view or should_full_refresh() %}\n {% do create_indexes(target_relation) %}\n {% endif %}\n\n {{ run_hooks(post_hooks, inside_transaction=True) }}\n\n -- `COMMIT` happens here\n {% do adapter.commit() %}\n\n {% for rel in to_drop %}\n {% do adapter.drop_relation(rel) %}\n {% endfor %}\n\n {{ run_hooks(post_hooks, inside_transaction=False) }}\n\n {{ return({'relations': [target_relation]}) }}\n\n{%- endmaterialization %}", "depends_on": {"macros": ["macro.dbt.load_cached_relation", "macro.dbt.make_temp_relation", "macro.dbt.make_intermediate_relation", "macro.dbt.make_backup_relation", "macro.dbt.should_full_refresh", "macro.dbt.incremental_validate_on_schema_change", "macro.dbt.drop_relation_if_exists", "macro.dbt.run_hooks", "macro.dbt.get_create_table_as_sql", "macro.dbt.run_query", "macro.dbt.process_schema_changes", "macro.dbt.statement", "macro.dbt.should_revoke", "macro.dbt.apply_grants", "macro.dbt.persist_docs", "macro.dbt.create_indexes"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.603489, "supported_languages": ["sql"]}, "macro.dbt.get_merge_sql": {"name": "get_merge_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/merge.sql", "original_file_path": "macros/materializations/models/incremental/merge.sql", "unique_id": "macro.dbt.get_merge_sql", "macro_sql": "{% macro get_merge_sql(target, source, unique_key, dest_columns, incremental_predicates=none) -%}\n -- back compat for old kwarg name\n {% set incremental_predicates = kwargs.get('predicates', incremental_predicates) %}\n {{ adapter.dispatch('get_merge_sql', 'dbt')(target, source, unique_key, dest_columns, incremental_predicates) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.6177666, "supported_languages": null}, "macro.dbt.default__get_merge_sql": {"name": "default__get_merge_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/merge.sql", "original_file_path": "macros/materializations/models/incremental/merge.sql", "unique_id": "macro.dbt.default__get_merge_sql", "macro_sql": "{% macro default__get_merge_sql(target, source, unique_key, dest_columns, incremental_predicates=none) -%}\n {%- set predicates = [] if incremental_predicates is none else [] + incremental_predicates -%}\n {%- set dest_cols_csv = get_quoted_csv(dest_columns | map(attribute=\"name\")) -%}\n {%- set merge_update_columns = config.get('merge_update_columns') -%}\n {%- set merge_exclude_columns = config.get('merge_exclude_columns') -%}\n {%- set update_columns = get_merge_update_columns(merge_update_columns, merge_exclude_columns, dest_columns) -%}\n {%- set sql_header = config.get('sql_header', none) -%}\n\n {% if unique_key %}\n {% if unique_key is sequence and unique_key is not mapping and unique_key is not string %}\n {% for key in unique_key %}\n {% set this_key_match %}\n DBT_INTERNAL_SOURCE.{{ key }} = DBT_INTERNAL_DEST.{{ key }}\n {% endset %}\n {% do predicates.append(this_key_match) %}\n {% endfor %}\n {% else %}\n {% set unique_key_match %}\n DBT_INTERNAL_SOURCE.{{ unique_key }} = DBT_INTERNAL_DEST.{{ unique_key }}\n {% endset %}\n {% do predicates.append(unique_key_match) %}\n {% endif %}\n {% else %}\n {% do predicates.append('FALSE') %}\n {% endif %}\n\n {{ sql_header if sql_header is not none }}\n\n merge into {{ target }} as DBT_INTERNAL_DEST\n using {{ source }} as DBT_INTERNAL_SOURCE\n on {{\"(\" ~ predicates | join(\") and (\") ~ \")\"}}\n\n {% if unique_key %}\n when matched then update set\n {% for column_name in update_columns -%}\n {{ column_name }} = DBT_INTERNAL_SOURCE.{{ column_name }}\n {%- if not loop.last %}, {%- endif %}\n {%- endfor %}\n {% endif %}\n\n when not matched then insert\n ({{ dest_cols_csv }})\n values\n ({{ dest_cols_csv }})\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_quoted_csv", "macro.dbt.get_merge_update_columns"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.6213489, "supported_languages": null}, "macro.dbt.get_delete_insert_merge_sql": {"name": "get_delete_insert_merge_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/merge.sql", "original_file_path": "macros/materializations/models/incremental/merge.sql", "unique_id": "macro.dbt.get_delete_insert_merge_sql", "macro_sql": "{% macro get_delete_insert_merge_sql(target, source, unique_key, dest_columns, incremental_predicates) -%}\n {{ adapter.dispatch('get_delete_insert_merge_sql', 'dbt')(target, source, unique_key, dest_columns, incremental_predicates) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_delete_insert_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.6219158, "supported_languages": null}, "macro.dbt.default__get_delete_insert_merge_sql": {"name": "default__get_delete_insert_merge_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/merge.sql", "original_file_path": "macros/materializations/models/incremental/merge.sql", "unique_id": "macro.dbt.default__get_delete_insert_merge_sql", "macro_sql": "{% macro default__get_delete_insert_merge_sql(target, source, unique_key, dest_columns, incremental_predicates) -%}\n\n {%- set dest_cols_csv = get_quoted_csv(dest_columns | map(attribute=\"name\")) -%}\n\n {% if unique_key %}\n {% if unique_key is sequence and unique_key is not string %}\n delete from {{target }}\n using {{ source }}\n where (\n {% for key in unique_key %}\n {{ source }}.{{ key }} = {{ target }}.{{ key }}\n {{ \"and \" if not loop.last}}\n {% endfor %}\n {% if incremental_predicates %}\n {% for predicate in incremental_predicates %}\n and {{ predicate }}\n {% endfor %}\n {% endif %}\n );\n {% else %}\n delete from {{ target }}\n where (\n {{ unique_key }}) in (\n select ({{ unique_key }})\n from {{ source }}\n )\n {%- if incremental_predicates %}\n {% for predicate in incremental_predicates %}\n and {{ predicate }}\n {% endfor %}\n {%- endif -%};\n\n {% endif %}\n {% endif %}\n\n insert into {{ target }} ({{ dest_cols_csv }})\n (\n select {{ dest_cols_csv }}\n from {{ source }}\n )\n\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.get_quoted_csv"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.6242135, "supported_languages": null}, "macro.dbt.get_insert_overwrite_merge_sql": {"name": "get_insert_overwrite_merge_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/merge.sql", "original_file_path": "macros/materializations/models/incremental/merge.sql", "unique_id": "macro.dbt.get_insert_overwrite_merge_sql", "macro_sql": "{% macro get_insert_overwrite_merge_sql(target, source, dest_columns, predicates, include_sql_header=false) -%}\n {{ adapter.dispatch('get_insert_overwrite_merge_sql', 'dbt')(target, source, dest_columns, predicates, include_sql_header) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_insert_overwrite_merge_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.6247947, "supported_languages": null}, "macro.dbt.default__get_insert_overwrite_merge_sql": {"name": "default__get_insert_overwrite_merge_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/merge.sql", "original_file_path": "macros/materializations/models/incremental/merge.sql", "unique_id": "macro.dbt.default__get_insert_overwrite_merge_sql", "macro_sql": "{% macro default__get_insert_overwrite_merge_sql(target, source, dest_columns, predicates, include_sql_header) -%}\n {#-- The only time include_sql_header is True: --#}\n {#-- BigQuery + insert_overwrite strategy + \"static\" partitions config --#}\n {#-- We should consider including the sql header at the materialization level instead --#}\n\n {%- set predicates = [] if predicates is none else [] + predicates -%}\n {%- set dest_cols_csv = get_quoted_csv(dest_columns | map(attribute=\"name\")) -%}\n {%- set sql_header = config.get('sql_header', none) -%}\n\n {{ sql_header if sql_header is not none and include_sql_header }}\n\n merge into {{ target }} as DBT_INTERNAL_DEST\n using {{ source }} as DBT_INTERNAL_SOURCE\n on FALSE\n\n when not matched by source\n {% if predicates %} and {{ predicates | join(' and ') }} {% endif %}\n then delete\n\n when not matched then insert\n ({{ dest_cols_csv }})\n values\n ({{ dest_cols_csv }})\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_quoted_csv"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.6262393, "supported_languages": null}, "macro.dbt.get_quoted_csv": {"name": "get_quoted_csv", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/column_helpers.sql", "original_file_path": "macros/materializations/models/incremental/column_helpers.sql", "unique_id": "macro.dbt.get_quoted_csv", "macro_sql": "{% macro get_quoted_csv(column_names) %}\n\n {% set quoted = [] %}\n {% for col in column_names -%}\n {%- do quoted.append(adapter.quote(col)) -%}\n {%- endfor %}\n\n {%- set dest_cols_csv = quoted | join(', ') -%}\n {{ return(dest_cols_csv) }}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.630063, "supported_languages": null}, "macro.dbt.diff_columns": {"name": "diff_columns", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/column_helpers.sql", "original_file_path": "macros/materializations/models/incremental/column_helpers.sql", "unique_id": "macro.dbt.diff_columns", "macro_sql": "{% macro diff_columns(source_columns, target_columns) %}\n\n {% set result = [] %}\n {% set source_names = source_columns | map(attribute = 'column') | list %}\n {% set target_names = target_columns | map(attribute = 'column') | list %}\n\n {# --check whether the name attribute exists in the target - this does not perform a data type check #}\n {% for sc in source_columns %}\n {% if sc.name not in target_names %}\n {{ result.append(sc) }}\n {% endif %}\n {% endfor %}\n\n {{ return(result) }}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.631265, "supported_languages": null}, "macro.dbt.diff_column_data_types": {"name": "diff_column_data_types", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/column_helpers.sql", "original_file_path": "macros/materializations/models/incremental/column_helpers.sql", "unique_id": "macro.dbt.diff_column_data_types", "macro_sql": "{% macro diff_column_data_types(source_columns, target_columns) %}\n\n {% set result = [] %}\n {% for sc in source_columns %}\n {% set tc = target_columns | selectattr(\"name\", \"equalto\", sc.name) | list | first %}\n {% if tc %}\n {% if sc.data_type != tc.data_type and not sc.can_expand_to(other_column=tc) %}\n {{ result.append( { 'column_name': tc.name, 'new_type': sc.data_type } ) }}\n {% endif %}\n {% endif %}\n {% endfor %}\n\n {{ return(result) }}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.6327124, "supported_languages": null}, "macro.dbt.get_merge_update_columns": {"name": "get_merge_update_columns", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/column_helpers.sql", "original_file_path": "macros/materializations/models/incremental/column_helpers.sql", "unique_id": "macro.dbt.get_merge_update_columns", "macro_sql": "{% macro get_merge_update_columns(merge_update_columns, merge_exclude_columns, dest_columns) %}\n {{ return(adapter.dispatch('get_merge_update_columns', 'dbt')(merge_update_columns, merge_exclude_columns, dest_columns)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_merge_update_columns"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.6332202, "supported_languages": null}, "macro.dbt.default__get_merge_update_columns": {"name": "default__get_merge_update_columns", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/models/incremental/column_helpers.sql", "original_file_path": "macros/materializations/models/incremental/column_helpers.sql", "unique_id": "macro.dbt.default__get_merge_update_columns", "macro_sql": "{% macro default__get_merge_update_columns(merge_update_columns, merge_exclude_columns, dest_columns) %}\n {%- set default_cols = dest_columns | map(attribute=\"quoted\") | list -%}\n\n {%- if merge_update_columns and merge_exclude_columns -%}\n {{ exceptions.raise_compiler_error(\n 'Model cannot specify merge_update_columns and merge_exclude_columns. Please update model to use only one config'\n )}}\n {%- elif merge_update_columns -%}\n {%- set update_columns = merge_update_columns -%}\n {%- elif merge_exclude_columns -%}\n {%- set update_columns = [] -%}\n {%- for column in dest_columns -%}\n {% if column.column | lower not in merge_exclude_columns | map(\"lower\") | list %}\n {%- do update_columns.append(column.quoted) -%}\n {% endif %}\n {%- endfor -%}\n {%- else -%}\n {%- set update_columns = default_cols -%}\n {%- endif -%}\n\n {{ return(update_columns) }}\n\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.6348145, "supported_languages": null}, "macro.dbt.create_csv_table": {"name": "create_csv_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.create_csv_table", "macro_sql": "{% macro create_csv_table(model, agate_table) -%}\n {{ adapter.dispatch('create_csv_table', 'dbt')(model, agate_table) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__create_csv_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.6468165, "supported_languages": null}, "macro.dbt.default__create_csv_table": {"name": "default__create_csv_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.default__create_csv_table", "macro_sql": "{% macro default__create_csv_table(model, agate_table) %}\n {%- set column_override = model['config'].get('column_types', {}) -%}\n {%- set quote_seed_column = model['config'].get('quote_columns', None) -%}\n\n {% set sql %}\n create table {{ this.render() }} (\n {%- for col_name in agate_table.column_names -%}\n {%- set inferred_type = adapter.convert_type(agate_table, loop.index0) -%}\n {%- set type = column_override.get(col_name, inferred_type) -%}\n {%- set column_name = (col_name | string) -%}\n {{ adapter.quote_seed_column(column_name, quote_seed_column) }} {{ type }} {%- if not loop.last -%}, {%- endif -%}\n {%- endfor -%}\n )\n {% endset %}\n\n {% call statement('_') -%}\n {{ sql }}\n {%- endcall %}\n\n {{ return(sql) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.6487813, "supported_languages": null}, "macro.dbt.reset_csv_table": {"name": "reset_csv_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.reset_csv_table", "macro_sql": "{% macro reset_csv_table(model, full_refresh, old_relation, agate_table) -%}\n {{ adapter.dispatch('reset_csv_table', 'dbt')(model, full_refresh, old_relation, agate_table) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__reset_csv_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.6492844, "supported_languages": null}, "macro.dbt.default__reset_csv_table": {"name": "default__reset_csv_table", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.default__reset_csv_table", "macro_sql": "{% macro default__reset_csv_table(model, full_refresh, old_relation, agate_table) %}\n {% set sql = \"\" %}\n {% if full_refresh %}\n {{ adapter.drop_relation(old_relation) }}\n {% set sql = create_csv_table(model, agate_table) %}\n {% else %}\n {{ adapter.truncate_relation(old_relation) }}\n {% set sql = \"truncate table \" ~ old_relation.render() %}\n {% endif %}\n\n {{ return(sql) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.create_csv_table"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.6503673, "supported_languages": null}, "macro.dbt.get_csv_sql": {"name": "get_csv_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.get_csv_sql", "macro_sql": "{% macro get_csv_sql(create_or_truncate_sql, insert_sql) %}\n {{ adapter.dispatch('get_csv_sql', 'dbt')(create_or_truncate_sql, insert_sql) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_csv_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.6507893, "supported_languages": null}, "macro.dbt.default__get_csv_sql": {"name": "default__get_csv_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.default__get_csv_sql", "macro_sql": "{% macro default__get_csv_sql(create_or_truncate_sql, insert_sql) %}\n {{ create_or_truncate_sql }};\n -- dbt seed --\n {{ insert_sql }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.6510825, "supported_languages": null}, "macro.dbt.get_binding_char": {"name": "get_binding_char", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.get_binding_char", "macro_sql": "{% macro get_binding_char() -%}\n {{ adapter.dispatch('get_binding_char', 'dbt')() }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_binding_char"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.6513858, "supported_languages": null}, "macro.dbt.default__get_binding_char": {"name": "default__get_binding_char", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.default__get_binding_char", "macro_sql": "{% macro default__get_binding_char() %}\n {{ return('%s') }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.6516318, "supported_languages": null}, "macro.dbt.get_batch_size": {"name": "get_batch_size", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.get_batch_size", "macro_sql": "{% macro get_batch_size() -%}\n {{ return(adapter.dispatch('get_batch_size', 'dbt')()) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_batch_size"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.651968, "supported_languages": null}, "macro.dbt.default__get_batch_size": {"name": "default__get_batch_size", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.default__get_batch_size", "macro_sql": "{% macro default__get_batch_size() %}\n {{ return(10000) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.6522117, "supported_languages": null}, "macro.dbt.get_seed_column_quoted_csv": {"name": "get_seed_column_quoted_csv", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.get_seed_column_quoted_csv", "macro_sql": "{% macro get_seed_column_quoted_csv(model, column_names) %}\n {%- set quote_seed_column = model['config'].get('quote_columns', None) -%}\n {% set quoted = [] %}\n {% for col in column_names -%}\n {%- do quoted.append(adapter.quote_seed_column(col, quote_seed_column)) -%}\n {%- endfor %}\n\n {%- set dest_cols_csv = quoted | join(', ') -%}\n {{ return(dest_cols_csv) }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.6532302, "supported_languages": null}, "macro.dbt.load_csv_rows": {"name": "load_csv_rows", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.load_csv_rows", "macro_sql": "{% macro load_csv_rows(model, agate_table) -%}\n {{ adapter.dispatch('load_csv_rows', 'dbt')(model, agate_table) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__load_csv_rows"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.653617, "supported_languages": null}, "macro.dbt.default__load_csv_rows": {"name": "default__load_csv_rows", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/helpers.sql", "original_file_path": "macros/materializations/seeds/helpers.sql", "unique_id": "macro.dbt.default__load_csv_rows", "macro_sql": "{% macro default__load_csv_rows(model, agate_table) %}\n\n {% set batch_size = get_batch_size() %}\n\n {% set cols_sql = get_seed_column_quoted_csv(model, agate_table.column_names) %}\n {% set bindings = [] %}\n\n {% set statements = [] %}\n\n {% for chunk in agate_table.rows | batch(batch_size) %}\n {% set bindings = [] %}\n\n {% for row in chunk %}\n {% do bindings.extend(row) %}\n {% endfor %}\n\n {% set sql %}\n insert into {{ this.render() }} ({{ cols_sql }}) values\n {% for row in chunk -%}\n ({%- for column in agate_table.column_names -%}\n {{ get_binding_char() }}\n {%- if not loop.last%},{%- endif %}\n {%- endfor -%})\n {%- if not loop.last%},{%- endif %}\n {%- endfor %}\n {% endset %}\n\n {% do adapter.add_query(sql, bindings=bindings, abridge_sql_log=True) %}\n\n {% if loop.index0 == 0 %}\n {% do statements.append(sql) %}\n {% endif %}\n {% endfor %}\n\n {# Return SQL so we can render it out into the compiled files #}\n {{ return(statements[0]) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.get_batch_size", "macro.dbt.get_seed_column_quoted_csv", "macro.dbt.get_binding_char"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.6564314, "supported_languages": null}, "macro.dbt.materialization_seed_default": {"name": "materialization_seed_default", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/seeds/seed.sql", "original_file_path": "macros/materializations/seeds/seed.sql", "unique_id": "macro.dbt.materialization_seed_default", "macro_sql": "{% materialization seed, default %}\n\n {%- set identifier = model['alias'] -%}\n {%- set full_refresh_mode = (should_full_refresh()) -%}\n\n {%- set old_relation = adapter.get_relation(database=database, schema=schema, identifier=identifier) -%}\n\n {%- set exists_as_table = (old_relation is not none and old_relation.is_table) -%}\n {%- set exists_as_view = (old_relation is not none and old_relation.is_view) -%}\n\n {%- set grant_config = config.get('grants') -%}\n {%- set agate_table = load_agate_table() -%}\n -- grab current tables grants config for comparison later on\n\n {%- do store_result('agate_table', response='OK', agate_table=agate_table) -%}\n\n {{ run_hooks(pre_hooks, inside_transaction=False) }}\n\n -- `BEGIN` happens here:\n {{ run_hooks(pre_hooks, inside_transaction=True) }}\n\n -- build model\n {% set create_table_sql = \"\" %}\n {% if exists_as_view %}\n {{ exceptions.raise_compiler_error(\"Cannot seed to '{}', it is a view\".format(old_relation.render())) }}\n {% elif exists_as_table %}\n {% set create_table_sql = reset_csv_table(model, full_refresh_mode, old_relation, agate_table) %}\n {% else %}\n {% set create_table_sql = create_csv_table(model, agate_table) %}\n {% endif %}\n\n {% set code = 'CREATE' if full_refresh_mode else 'INSERT' %}\n {% set rows_affected = (agate_table.rows | length) %}\n {% set sql = load_csv_rows(model, agate_table) %}\n\n {% call noop_statement('main', code ~ ' ' ~ rows_affected, code, rows_affected) %}\n {{ get_csv_sql(create_table_sql, sql) }};\n {% endcall %}\n\n {% set target_relation = this.incorporate(type='table') %}\n\n {% set should_revoke = should_revoke(old_relation, full_refresh_mode) %}\n {% do apply_grants(target_relation, grant_config, should_revoke=should_revoke) %}\n\n {% do persist_docs(target_relation, model) %}\n\n {% if full_refresh_mode or not exists_as_table %}\n {% do create_indexes(target_relation) %}\n {% endif %}\n\n {{ run_hooks(post_hooks, inside_transaction=True) }}\n\n -- `COMMIT` happens here\n {{ adapter.commit() }}\n\n {{ run_hooks(post_hooks, inside_transaction=False) }}\n\n {{ return({'relations': [target_relation]}) }}\n\n{% endmaterialization %}", "depends_on": {"macros": ["macro.dbt.should_full_refresh", "macro.dbt.run_hooks", "macro.dbt.reset_csv_table", "macro.dbt.create_csv_table", "macro.dbt.load_csv_rows", "macro.dbt.noop_statement", "macro.dbt.get_csv_sql", "macro.dbt.should_revoke", "macro.dbt.apply_grants", "macro.dbt.persist_docs", "macro.dbt.create_indexes"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.6638553, "supported_languages": ["sql"]}, "macro.dbt.get_test_sql": {"name": "get_test_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/tests/helpers.sql", "original_file_path": "macros/materializations/tests/helpers.sql", "unique_id": "macro.dbt.get_test_sql", "macro_sql": "{% macro get_test_sql(main_sql, fail_calc, warn_if, error_if, limit) -%}\n {{ adapter.dispatch('get_test_sql', 'dbt')(main_sql, fail_calc, warn_if, error_if, limit) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_test_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.66664, "supported_languages": null}, "macro.dbt.default__get_test_sql": {"name": "default__get_test_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/tests/helpers.sql", "original_file_path": "macros/materializations/tests/helpers.sql", "unique_id": "macro.dbt.default__get_test_sql", "macro_sql": "{% macro default__get_test_sql(main_sql, fail_calc, warn_if, error_if, limit) -%}\n select\n {{ fail_calc }} as failures,\n {{ fail_calc }} {{ warn_if }} as should_warn,\n {{ fail_calc }} {{ error_if }} as should_error\n from (\n {{ main_sql }}\n {{ \"limit \" ~ limit if limit != none }}\n ) dbt_internal_test\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.6673336, "supported_languages": null}, "macro.dbt.get_unit_test_sql": {"name": "get_unit_test_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/tests/helpers.sql", "original_file_path": "macros/materializations/tests/helpers.sql", "unique_id": "macro.dbt.get_unit_test_sql", "macro_sql": "{% macro get_unit_test_sql(main_sql, expected_fixture_sql, expected_column_names) -%}\n {{ adapter.dispatch('get_unit_test_sql', 'dbt')(main_sql, expected_fixture_sql, expected_column_names) }}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_unit_test_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.667781, "supported_languages": null}, "macro.dbt.default__get_unit_test_sql": {"name": "default__get_unit_test_sql", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/tests/helpers.sql", "original_file_path": "macros/materializations/tests/helpers.sql", "unique_id": "macro.dbt.default__get_unit_test_sql", "macro_sql": "{% macro default__get_unit_test_sql(main_sql, expected_fixture_sql, expected_column_names) -%}\n-- Build actual result given inputs\nwith dbt_internal_unit_test_actual as (\n select\n {% for expected_column_name in expected_column_names %}{{expected_column_name}}{% if not loop.last -%},{% endif %}{%- endfor -%}, {{ dbt.string_literal(\"actual\") }} as {{ adapter.quote(\"actual_or_expected\") }}\n from (\n {{ main_sql }}\n ) _dbt_internal_unit_test_actual\n),\n-- Build expected result\ndbt_internal_unit_test_expected as (\n select\n {% for expected_column_name in expected_column_names %}{{expected_column_name}}{% if not loop.last -%}, {% endif %}{%- endfor -%}, {{ dbt.string_literal(\"expected\") }} as {{ adapter.quote(\"actual_or_expected\") }}\n from (\n {{ expected_fixture_sql }}\n ) _dbt_internal_unit_test_expected\n)\n-- Union actual and expected results\nselect * from dbt_internal_unit_test_actual\nunion all\nselect * from dbt_internal_unit_test_expected\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.string_literal"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.6691456, "supported_languages": null}, "macro.dbt.get_where_subquery": {"name": "get_where_subquery", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/tests/where_subquery.sql", "original_file_path": "macros/materializations/tests/where_subquery.sql", "unique_id": "macro.dbt.get_where_subquery", "macro_sql": "{% macro get_where_subquery(relation) -%}\n {% do return(adapter.dispatch('get_where_subquery', 'dbt')(relation)) %}\n{%- endmacro %}", "depends_on": {"macros": ["macro.dbt.default__get_where_subquery"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.6699612, "supported_languages": null}, "macro.dbt.default__get_where_subquery": {"name": "default__get_where_subquery", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/tests/where_subquery.sql", "original_file_path": "macros/materializations/tests/where_subquery.sql", "unique_id": "macro.dbt.default__get_where_subquery", "macro_sql": "{% macro default__get_where_subquery(relation) -%}\n {% set where = config.get('where', '') %}\n {% if where %}\n {%- set filtered -%}\n (select * from {{ relation }} where {{ where }}) dbt_subquery\n {%- endset -%}\n {% do return(filtered) %}\n {%- else -%}\n {% do return(relation) %}\n {%- endif -%}\n{%- endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.6707978, "supported_languages": null}, "macro.dbt.materialization_unit_default": {"name": "materialization_unit_default", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/tests/unit.sql", "original_file_path": "macros/materializations/tests/unit.sql", "unique_id": "macro.dbt.materialization_unit_default", "macro_sql": "{%- materialization unit, default -%}\n\n {% set relations = [] %}\n\n {% set expected_rows = config.get('expected_rows') %}\n {% set expected_sql = config.get('expected_sql') %}\n {% set tested_expected_column_names = expected_rows[0].keys() if (expected_rows | length ) > 0 else get_columns_in_query(sql) %} %}\n\n {%- set target_relation = this.incorporate(type='table') -%}\n {%- set temp_relation = make_temp_relation(target_relation)-%}\n {% do run_query(get_create_table_as_sql(True, temp_relation, get_empty_subquery_sql(sql))) %}\n {%- set columns_in_relation = adapter.get_columns_in_relation(temp_relation) -%}\n {%- set column_name_to_data_types = {} -%}\n {%- for column in columns_in_relation -%}\n {%- do column_name_to_data_types.update({column.name|lower: column.data_type}) -%}\n {%- endfor -%}\n\n {% if not expected_sql %}\n {% set expected_sql = get_expected_sql(expected_rows, column_name_to_data_types) %}\n {% endif %}\n {% set unit_test_sql = get_unit_test_sql(sql, expected_sql, tested_expected_column_names) %}\n\n {% call statement('main', fetch_result=True) -%}\n\n {{ unit_test_sql }}\n\n {%- endcall %}\n\n {% do adapter.drop_relation(temp_relation) %}\n\n {{ return({'relations': relations}) }}\n\n{%- endmaterialization -%}", "depends_on": {"macros": ["macro.dbt.get_columns_in_query", "macro.dbt.make_temp_relation", "macro.dbt.run_query", "macro.dbt.get_create_table_as_sql", "macro.dbt.get_empty_subquery_sql", "macro.dbt.get_expected_sql", "macro.dbt.get_unit_test_sql", "macro.dbt.statement"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.6747727, "supported_languages": ["sql"]}, "macro.dbt.materialization_test_default": {"name": "materialization_test_default", "resource_type": "macro", "package_name": "dbt", "path": "macros/materializations/tests/test.sql", "original_file_path": "macros/materializations/tests/test.sql", "unique_id": "macro.dbt.materialization_test_default", "macro_sql": "{%- materialization test, default -%}\n\n {% set relations = [] %}\n\n {% if should_store_failures() %}\n\n {% set identifier = model['alias'] %}\n {% set old_relation = adapter.get_relation(database=database, schema=schema, identifier=identifier) %}\n\n {% set store_failures_as = config.get('store_failures_as') %}\n -- if `--store-failures` is invoked via command line and `store_failures_as` is not set,\n -- config.get('store_failures_as', 'table') returns None, not 'table'\n {% if store_failures_as == none %}{% set store_failures_as = 'table' %}{% endif %}\n {% if store_failures_as not in ['table', 'view'] %}\n {{ exceptions.raise_compiler_error(\n \"'\" ~ store_failures_as ~ \"' is not a valid value for `store_failures_as`. \"\n \"Accepted values are: ['ephemeral', 'table', 'view']\"\n ) }}\n {% endif %}\n\n {% set target_relation = api.Relation.create(\n identifier=identifier, schema=schema, database=database, type=store_failures_as) -%} %}\n\n {% if old_relation %}\n {% do adapter.drop_relation(old_relation) %}\n {% endif %}\n\n {% call statement(auto_begin=True) %}\n {{ get_create_sql(target_relation, sql) }}\n {% endcall %}\n\n {% do relations.append(target_relation) %}\n\n {% set main_sql %}\n select *\n from {{ target_relation }}\n {% endset %}\n\n {{ adapter.commit() }}\n\n {% else %}\n\n {% set main_sql = sql %}\n\n {% endif %}\n\n {% set limit = config.get('limit') %}\n {% set fail_calc = config.get('fail_calc') %}\n {% set warn_if = config.get('warn_if') %}\n {% set error_if = config.get('error_if') %}\n\n {% call statement('main', fetch_result=True) -%}\n\n {{ get_test_sql(main_sql, fail_calc, warn_if, error_if, limit)}}\n\n {%- endcall %}\n\n {{ return({'relations': relations}) }}\n\n{%- endmaterialization -%}", "depends_on": {"macros": ["macro.dbt.should_store_failures", "macro.dbt.statement", "macro.dbt.get_create_sql", "macro.dbt.get_test_sql"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.6809459, "supported_languages": ["sql"]}, "macro.dbt.resolve_model_name": {"name": "resolve_model_name", "resource_type": "macro", "package_name": "dbt", "path": "macros/python_model/python.sql", "original_file_path": "macros/python_model/python.sql", "unique_id": "macro.dbt.resolve_model_name", "macro_sql": "{% macro resolve_model_name(input_model_name) %}\n {{ return(adapter.dispatch('resolve_model_name', 'dbt')(input_model_name)) }}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.default__resolve_model_name"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.6849558, "supported_languages": null}, "macro.dbt.default__resolve_model_name": {"name": "default__resolve_model_name", "resource_type": "macro", "package_name": "dbt", "path": "macros/python_model/python.sql", "original_file_path": "macros/python_model/python.sql", "unique_id": "macro.dbt.default__resolve_model_name", "macro_sql": "\n\n{%- macro default__resolve_model_name(input_model_name) -%}\n {{ input_model_name | string | replace('\"', '\\\"') }}\n{%- endmacro -%}\n\n", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.6852827, "supported_languages": null}, "macro.dbt.build_ref_function": {"name": "build_ref_function", "resource_type": "macro", "package_name": "dbt", "path": "macros/python_model/python.sql", "original_file_path": "macros/python_model/python.sql", "unique_id": "macro.dbt.build_ref_function", "macro_sql": "{% macro build_ref_function(model) %}\n\n {%- set ref_dict = {} -%}\n {%- for _ref in model.refs -%}\n {% set _ref_args = [_ref.get('package'), _ref['name']] if _ref.get('package') else [_ref['name'],] %}\n {%- set resolved = ref(*_ref_args, v=_ref.get('version')) -%}\n {%- if _ref.get('version') -%}\n {% do _ref_args.extend([\"v\" ~ _ref['version']]) %}\n {%- endif -%}\n {%- do ref_dict.update({_ref_args | join('.'): resolve_model_name(resolved)}) -%}\n {%- endfor -%}\n\ndef ref(*args, **kwargs):\n refs = {{ ref_dict | tojson }}\n key = '.'.join(args)\n version = kwargs.get(\"v\") or kwargs.get(\"version\")\n if version:\n key += f\".v{version}\"\n dbt_load_df_function = kwargs.get(\"dbt_load_df_function\")\n return dbt_load_df_function(refs[key])\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.resolve_model_name"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.6870618, "supported_languages": null}, "macro.dbt.build_source_function": {"name": "build_source_function", "resource_type": "macro", "package_name": "dbt", "path": "macros/python_model/python.sql", "original_file_path": "macros/python_model/python.sql", "unique_id": "macro.dbt.build_source_function", "macro_sql": "{% macro build_source_function(model) %}\n\n {%- set source_dict = {} -%}\n {%- for _source in model.sources -%}\n {%- set resolved = source(*_source) -%}\n {%- do source_dict.update({_source | join('.'): resolve_model_name(resolved)}) -%}\n {%- endfor -%}\n\ndef source(*args, dbt_load_df_function):\n sources = {{ source_dict | tojson }}\n key = '.'.join(args)\n return dbt_load_df_function(sources[key])\n\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.resolve_model_name"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.6879473, "supported_languages": null}, "macro.dbt.build_config_dict": {"name": "build_config_dict", "resource_type": "macro", "package_name": "dbt", "path": "macros/python_model/python.sql", "original_file_path": "macros/python_model/python.sql", "unique_id": "macro.dbt.build_config_dict", "macro_sql": "{% macro build_config_dict(model) %}\n {%- set config_dict = {} -%}\n {% set config_dbt_used = zip(model.config.config_keys_used, model.config.config_keys_defaults) | list %}\n {%- for key, default in config_dbt_used -%}\n {# weird type testing with enum, would be much easier to write this logic in Python! #}\n {%- if key == \"language\" -%}\n {%- set value = \"python\" -%}\n {%- endif -%}\n {%- set value = model.config.get(key, default) -%}\n {%- do config_dict.update({key: value}) -%}\n {%- endfor -%}\nconfig_dict = {{ config_dict }}\n{% endmacro %}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.6892066, "supported_languages": null}, "macro.dbt.py_script_postfix": {"name": "py_script_postfix", "resource_type": "macro", "package_name": "dbt", "path": "macros/python_model/python.sql", "original_file_path": "macros/python_model/python.sql", "unique_id": "macro.dbt.py_script_postfix", "macro_sql": "{% macro py_script_postfix(model) %}\n# This part is user provided model code\n# you will need to copy the next section to run the code\n# COMMAND ----------\n# this part is dbt logic for get ref work, do not modify\n\n{{ build_ref_function(model ) }}\n{{ build_source_function(model ) }}\n{{ build_config_dict(model) }}\n\nclass config:\n def __init__(self, *args, **kwargs):\n pass\n\n @staticmethod\n def get(key, default=None):\n return config_dict.get(key, default)\n\nclass this:\n \"\"\"dbt.this() or dbt.this.identifier\"\"\"\n database = \"{{ this.database }}\"\n schema = \"{{ this.schema }}\"\n identifier = \"{{ this.identifier }}\"\n {% set this_relation_name = resolve_model_name(this) %}\n def __repr__(self):\n return '{{ this_relation_name }}'\n\n\nclass dbtObj:\n def __init__(self, load_df_function) -> None:\n self.source = lambda *args: source(*args, dbt_load_df_function=load_df_function)\n self.ref = lambda *args, **kwargs: ref(*args, **kwargs, dbt_load_df_function=load_df_function)\n self.config = config\n self.this = this()\n self.is_incremental = {{ is_incremental() }}\n\n# COMMAND ----------\n{{py_script_comment()}}\n{% endmacro %}", "depends_on": {"macros": ["macro.dbt.build_ref_function", "macro.dbt.build_source_function", "macro.dbt.build_config_dict", "macro.dbt.resolve_model_name", "macro.dbt.is_incremental", "macro.dbt.py_script_comment"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.6902685, "supported_languages": null}, "macro.dbt.py_script_comment": {"name": "py_script_comment", "resource_type": "macro", "package_name": "dbt", "path": "macros/python_model/python.sql", "original_file_path": "macros/python_model/python.sql", "unique_id": "macro.dbt.py_script_comment", "macro_sql": "{%macro py_script_comment()%}\n{%endmacro%}", "depends_on": {"macros": []}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.6904247, "supported_languages": null}, "macro.dbt.test_unique": {"name": "test_unique", "resource_type": "macro", "package_name": "dbt", "path": "tests/generic/builtin.sql", "original_file_path": "tests/generic/builtin.sql", "unique_id": "macro.dbt.test_unique", "macro_sql": "{% test unique(model, column_name) %}\n {% set macro = adapter.dispatch('test_unique', 'dbt') %}\n {{ macro(model, column_name) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt.default__test_unique"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.6916378, "supported_languages": null}, "macro.dbt.test_not_null": {"name": "test_not_null", "resource_type": "macro", "package_name": "dbt", "path": "tests/generic/builtin.sql", "original_file_path": "tests/generic/builtin.sql", "unique_id": "macro.dbt.test_not_null", "macro_sql": "{% test not_null(model, column_name) %}\n {% set macro = adapter.dispatch('test_not_null', 'dbt') %}\n {{ macro(model, column_name) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt.default__test_not_null"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.6921787, "supported_languages": null}, "macro.dbt.test_accepted_values": {"name": "test_accepted_values", "resource_type": "macro", "package_name": "dbt", "path": "tests/generic/builtin.sql", "original_file_path": "tests/generic/builtin.sql", "unique_id": "macro.dbt.test_accepted_values", "macro_sql": "{% test accepted_values(model, column_name, values, quote=True) %}\n {% set macro = adapter.dispatch('test_accepted_values', 'dbt') %}\n {{ macro(model, column_name, values, quote) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt.default__test_accepted_values"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.692848, "supported_languages": null}, "macro.dbt.test_relationships": {"name": "test_relationships", "resource_type": "macro", "package_name": "dbt", "path": "tests/generic/builtin.sql", "original_file_path": "tests/generic/builtin.sql", "unique_id": "macro.dbt.test_relationships", "macro_sql": "{% test relationships(model, column_name, to, field) %}\n {% set macro = adapter.dispatch('test_relationships', 'dbt') %}\n {{ macro(model, column_name, to, field) }}\n{% endtest %}", "depends_on": {"macros": ["macro.dbt.default__test_relationships"]}, "description": "", "meta": {}, "docs": {"show": true, "node_color": null}, "patch_path": null, "arguments": [], "created_at": 1731470990.6934912, "supported_languages": null}}, "docs": {"doc.dbt.__overview__": {"name": "__overview__", "resource_type": "doc", "package_name": "dbt", "path": "overview.md", "original_file_path": "docs/overview.md", "unique_id": "doc.dbt.__overview__", "block_contents": "### Welcome!\n\nWelcome to the auto-generated documentation for your dbt project!\n\n### Navigation\n\nYou can use the `Project` and `Database` navigation tabs on the left side of the window to explore the models\nin your project.\n\n#### Project Tab\nThe `Project` tab mirrors the directory structure of your dbt project. In this tab, you can see all of the\nmodels defined in your dbt project, as well as models imported from dbt packages.\n\n#### Database Tab\nThe `Database` tab also exposes your models, but in a format that looks more like a database explorer. This view\nshows relations (tables and views) grouped into database schemas. Note that ephemeral models are _not_ shown\nin this interface, as they do not exist in the database.\n\n### Graph Exploration\nYou can click the blue icon on the bottom-right corner of the page to view the lineage graph of your models.\n\nOn model pages, you'll see the immediate parents and children of the model you're exploring. By clicking the `Expand`\nbutton at the top-right of this lineage pane, you'll be able to see all of the models that are used to build,\nor are built from, the model you're exploring.\n\nOnce expanded, you'll be able to use the `--select` and `--exclude` model selection syntax to filter the\nmodels in the graph. For more information on model selection, check out the [dbt docs](https://docs.getdbt.com/docs/model-selection-syntax).\n\nNote that you can also right-click on models to interactively filter and explore the graph.\n\n---\n\n### More information\n\n- [What is dbt](https://docs.getdbt.com/docs/introduction)?\n- Read the [dbt viewpoint](https://docs.getdbt.com/docs/viewpoint)\n- [Installation](https://docs.getdbt.com/docs/installation)\n- Join the [dbt Community](https://www.getdbt.com/community/) for questions and discussion"}}, "exposures": {}, "metrics": {}, "groups": {}, "selectors": {}, "disabled": {}, "parent_map": {"model.sagerx.int_dailymed_ranked_package_label_ndcs": ["model.sagerx.int_dailymed_validated_package_label_ndcs"], "model.sagerx.int_dailymed_ranked_package_label_images": ["model.sagerx.stg_dailymed__package_label_section_images"], "model.sagerx.int_dailymed_image_name_ndcs": ["model.sagerx.stg_dailymed__ndcs", "model.sagerx.stg_dailymed__package_label_section_images"], "model.sagerx.int_dailymed_validated_package_label_ndcs": ["model.sagerx.stg_dailymed__ndcs", "model.sagerx.stg_dailymed__package_label_section_ndcs"], "model.sagerx.int_dailymed_organization_metrics": ["model.sagerx.stg_dailymed__main", "model.sagerx.stg_dailymed__organization_texts", "model.sagerx.stg_dailymed__organizations"], "model.sagerx.int_dailymed_image_xml_ndcs": ["model.sagerx.int_dailymed_ranked_package_label_images", "model.sagerx.int_dailymed_ranked_package_label_ndcs"], "model.sagerx.int_rxnorm_clinical_products_to_ndcs": ["model.sagerx.stg_rxnorm__clinical_product_component_links", "model.sagerx.stg_rxnorm__clinical_product_components", "model.sagerx.stg_rxnorm__clinical_products", "model.sagerx.stg_rxnorm__dose_forms", "model.sagerx.stg_rxnorm__ingredients", "model.sagerx.stg_rxnorm__ndcs"], "model.sagerx.int_rxnorm_clinical_products_to_ingredient_strengths": ["model.sagerx.stg_rxnorm__clinical_product_component_links", "model.sagerx.stg_rxnorm__clinical_product_components", "model.sagerx.stg_rxnorm__clinical_products", "model.sagerx.stg_rxnorm__dose_forms", "model.sagerx.stg_rxnorm__ingredient_component_links", "model.sagerx.stg_rxnorm__ingredient_components", "model.sagerx.stg_rxnorm__ingredient_strength_links", "model.sagerx.stg_rxnorm__ingredient_strengths", "model.sagerx.stg_rxnorm__ingredients", "model.sagerx.stg_rxnorm__precise_ingredient_links", "model.sagerx.stg_rxnorm__precise_ingredients"], "model.sagerx.int_rxnorm_ndcs_to_products": ["model.sagerx.stg_rxnorm__brand_products", "model.sagerx.stg_rxnorm__clinical_products", "model.sagerx.stg_rxnorm__ndcs"], "model.sagerx.int_mthspl_products_to_active_moieties": ["model.sagerx.stg_rxnorm__mthspl_products", "model.sagerx.stg_rxnorm__mthspl_substances"], "model.sagerx.int_mthspl_products_to_active_ingredients": ["model.sagerx.stg_rxnorm__mthspl_products", "model.sagerx.stg_rxnorm__mthspl_substances"], "model.sagerx.int_rxnorm_clinical_products_to_dose_forms": ["model.sagerx.stg_rxnorm__clinical_product_component_links", "model.sagerx.stg_rxnorm__clinical_product_components", "model.sagerx.stg_rxnorm__clinical_products", "model.sagerx.stg_rxnorm__dose_forms"], "model.sagerx.int_rxnorm_clinical_products_to_clinical_product_components": ["model.sagerx.stg_rxnorm__clinical_product_component_links", "model.sagerx.stg_rxnorm__clinical_product_components", "model.sagerx.stg_rxnorm__clinical_products", "model.sagerx.stg_rxnorm__ndcs"], "model.sagerx.int_rxnorm_clinical_products_to_ingredients": ["model.sagerx.stg_rxnorm__clinical_product_component_links", "model.sagerx.stg_rxnorm__clinical_product_components", "model.sagerx.stg_rxnorm__clinical_products", "model.sagerx.stg_rxnorm__dose_forms", "model.sagerx.stg_rxnorm__ingredients"], "model.sagerx.int_rxnorm_clinical_products_to_ingredient_components": ["model.sagerx.stg_rxnorm__clinical_product_component_links", "model.sagerx.stg_rxnorm__clinical_product_components", "model.sagerx.stg_rxnorm__clinical_products", "model.sagerx.stg_rxnorm__dose_forms", "model.sagerx.stg_rxnorm__ingredient_component_links", "model.sagerx.stg_rxnorm__ingredient_components", "model.sagerx.stg_rxnorm__ingredients"], "model.sagerx.int_rxnorm_all_ndcs_to_product_rxcuis": ["model.sagerx.stg_rxnorm__all_ndcs"], "model.sagerx.int_mthspl_products_to_inactive_ingredients": ["model.sagerx.stg_rxnorm__mthspl_products", "model.sagerx.stg_rxnorm__mthspl_substances"], "model.sagerx.int_fda_ndc_to_te": ["model.sagerx.stg_fda_ndc__ndcs", "source.sagerx.orange_book.orange_book_products"], "model.sagerx.int_inactive_ingredients_to_fda_enforcement_reports": ["model.sagerx.int_mthspl_products_to_inactive_ingredients", "model.sagerx.int_rxnorm_clinical_products_to_ingredients", "model.sagerx.int_rxnorm_ndcs_to_products", "model.sagerx.stg_fda_enforcement__json_ndcs", "model.sagerx.stg_fda_enforcement__regex_ndcs", "model.sagerx.stg_fda_ndc__ndcs"], "model.sagerx.all_ndc_descriptions": ["model.sagerx.int_rxnorm_ndcs_to_products", "model.sagerx.stg_fda_excluded__ndcs", "model.sagerx.stg_fda_ndc__ndcs", "model.sagerx.stg_fda_unfinished__ndcs", "model.sagerx.stg_rxnorm__product_rxcuis", "model.sagerx.stg_rxnorm_historical__most_recent_ndcs"], "model.sagerx.all_ndcs_to_sources": ["model.sagerx.all_ndc_descriptions", "model.sagerx.stg_fda_excluded__ndcs", "model.sagerx.stg_fda_ndc__ndcs", "model.sagerx.stg_fda_unfinished__ndcs", "model.sagerx.stg_rxnorm__ndcs", "model.sagerx.stg_rxnorm_historical__ndcs"], "model.sagerx.ndcs_to_label_images": ["model.sagerx.int_dailymed_image_name_ndcs", "model.sagerx.int_dailymed_image_xml_ndcs"], "model.sagerx.atc_codes_to_rxnorm_products": ["model.sagerx.stg_rxclass__atc_codes_to_rxnorm_product_rxcuis", "model.sagerx.stg_rxnorm__atc_codes", "model.sagerx.stg_rxnorm__product_rxcuis"], "model.sagerx.products_to_inactive_ingredients": ["model.sagerx.int_mthspl_products_to_inactive_ingredients", "model.sagerx.stg_fda_unii__unii_codes", "seed.sagerx.usp_preservatives"], "model.sagerx.brand_products_with_related_ndcs": ["model.sagerx.int_rxnorm_ndcs_to_products", "model.sagerx.stg_fda_ndc__ndcs", "model.sagerx.stg_rxnorm__brand_products"], "model.sagerx.products": ["model.sagerx.int_rxnorm_clinical_products_to_ingredients", "model.sagerx.stg_rxnorm__products"], "model.sagerx.scorecard_data": ["model.sagerx.int_inactive_ingredients_to_fda_enforcement_reports"], "model.sagerx.fda_excluded": ["source.sagerx.fda_excluded.fda_excluded_package", "source.sagerx.fda_excluded.fda_excluded_product"], "model.sagerx.stg_rxclass__atc_codes_to_rxnorm_product_rxcuis": ["source.sagerx.rxclass.rxclass_atc_to_product"], "model.sagerx.stg_rxnorm_historical__ndcs": ["source.sagerx.rxnorm_historical.rxnorm_historical"], "model.sagerx.stg_rxnorm_historical__most_recent_ndcs": ["model.sagerx.stg_rxnorm_historical__ndcs"], "model.sagerx.stg_dailymed__organizations": [], "model.sagerx.stg_dailymed__package_label_section_ndcs": ["model.sagerx.stg_dailymed__package_label_sections"], "model.sagerx.stg_dailymed__interactions": [], "model.sagerx.stg_dailymed__organization_activities": [], "model.sagerx.stg_dailymed__package_label_sections": [], "model.sagerx.stg_dailymed__organization_texts": [], "model.sagerx.stg_dailymed__main": [], "model.sagerx.stg_dailymed__package_label_section_images": ["model.sagerx.stg_dailymed__package_label_sections"], "model.sagerx.stg_dailymed__organization_items": [], "model.sagerx.stg_dailymed__ndcs": [], "model.sagerx.stg_ashp__current_drug_shortages": ["source.sagerx.ashp.ashp_shortage_list"], "model.sagerx.stg_ashp__current_drug_shortages_ndcs": ["source.sagerx.ashp.ashp_shortage_list_ndcs"], "model.sagerx.stg_fda_unfinished__substances": ["source.sagerx.fda_unfinished.fda_unfinished_product"], "model.sagerx.stg_fda_unfinished__ndcs": ["source.sagerx.fda_unfinished.fda_unfinished_package", "source.sagerx.fda_unfinished.fda_unfinished_product"], "model.sagerx.stg_rxnorm__dose_forms": [], "model.sagerx.stg_rxnorm__ndcs": [], "model.sagerx.stg_rxnorm__ingredient_component_links": [], "model.sagerx.stg_rxnorm__all_ndcs": [], "model.sagerx.stg_rxnorm__precise_ingredient_links": [], "model.sagerx.stg_rxnorm__brands": [], "model.sagerx.stg_rxnorm__products": ["model.sagerx.stg_rxnorm__brand_products", "model.sagerx.stg_rxnorm__clinical_products", "source.sagerx.rxnorm.rxnorm_rxnconso"], "model.sagerx.stg_rxnorm__brand_product_components": [], "model.sagerx.stg_rxnorm__ingredients": [], "model.sagerx.stg_rxnorm__mthspl_ndcs": [], "model.sagerx.stg_rxnorm__clinical_product_component_links": [], "model.sagerx.stg_rxnorm__product_rxcuis": ["source.sagerx.rxnorm.rxnorm_rxnconso"], "model.sagerx.stg_rxnorm__dose_form_groups": [], "model.sagerx.stg_rxnorm__ingredient_strength_links": [], "model.sagerx.stg_rxnorm__ingredient_components": [], "model.sagerx.stg_rxnorm__mthspl_products": [], "model.sagerx.stg_rxnorm__precise_ingredients": [], "model.sagerx.stg_rxnorm__brand_product_component_links": [], "model.sagerx.stg_rxnorm__brand_products": [], "model.sagerx.stg_rxnorm__ingredient_strengths": [], "model.sagerx.stg_rxnorm__clinical_product_components": [], "model.sagerx.stg_rxnorm__dose_form_group_links": [], "model.sagerx.stg_rxnorm__atc_codes": [], "model.sagerx.stg_rxnorm__mthspl_substances": [], "model.sagerx.stg_rxnorm__clinical_products": [], "model.sagerx.stg_nadac__all_nadac": ["source.sagerx.nadac.nadac"], "model.sagerx.stg_nadac__enhanced_nadac": ["model.sagerx.stg_nadac__all_nadac"], "model.sagerx.stg_fda_unii__unii_codes": ["source.sagerx.fda_unii.fda_unii"], "model.sagerx.stg_rxterms__strengths": ["source.sagerx.rxterms.rxterms"], "model.sagerx.stg_rxterms__names": ["source.sagerx.rxterms.rxterms"], "model.sagerx.stg_fda_excluded__substances": ["source.sagerx.fda_excluded.fda_excluded_product"], "model.sagerx.stg_fda_excluded__classes": ["source.sagerx.fda_excluded.fda_excluded_product"], "model.sagerx.stg_fda_excluded__ndcs": ["source.sagerx.fda_excluded.fda_excluded_package", "source.sagerx.fda_excluded.fda_excluded_product"], "model.sagerx.stg_fda_enforcement__reports": [], "model.sagerx.stg_fda_enforcement__json_ndcs": [], "model.sagerx.stg_fda_enforcement__regex_ndcs": [], "model.sagerx.stg_fda_ndc__substances": ["source.sagerx.fda_ndc.fda_ndc_product"], "model.sagerx.stg_fda_ndc__ndcs": ["source.sagerx.fda_ndc.fda_ndc_package", "source.sagerx.fda_ndc.fda_ndc_product"], "model.sagerx.stg_fda_ndc__classes": ["source.sagerx.fda_ndc.fda_ndc_product"], "seed.sagerx.usp_preservatives": [], "test.sagerx.unique_all_ndc_descriptions_ndc.e6968eba9b": ["model.sagerx.all_ndc_descriptions"], "test.sagerx.not_null_all_ndc_descriptions_ndc.5637013605": ["model.sagerx.all_ndc_descriptions"], "test.sagerx.unique_atc_codes_to_rxnorm_products_rxcui.b171565c1d": ["model.sagerx.atc_codes_to_rxnorm_products"], "test.sagerx.not_null_atc_codes_to_rxnorm_products_rxcui.f1ef3093c1": ["model.sagerx.atc_codes_to_rxnorm_products"], "test.sagerx.unique_products_product_rxcui.72c98af3cb": ["model.sagerx.products"], "test.sagerx.not_null_products_product_rxcui.fa0e88a9af": ["model.sagerx.products"], "test.sagerx.unique_current_drug_shortages_id.44ee4734b0": [], "test.sagerx.not_null_current_drug_shortages_id.1c29e8e8fd": [], "test.sagerx.unique_current_drug_shortages_ndcs_id.8f2cb158e1": [], "test.sagerx.not_null_current_drug_shortages_ndcs_id.cc48ea0945": [], "test.sagerx.unique_stg_fda_unfinished__ndcs_ndc11.dd8892c8c6": ["model.sagerx.stg_fda_unfinished__ndcs"], "test.sagerx.not_null_stg_fda_unfinished__ndcs_ndc11.0257f0c5fe": ["model.sagerx.stg_fda_unfinished__ndcs"], "test.sagerx.unique_stg_rxnorm__ndcs_ndc.9929df0b31": ["model.sagerx.stg_rxnorm__ndcs"], "test.sagerx.not_null_stg_rxnorm__ndcs_ndc.4db0f5b5df": ["model.sagerx.stg_rxnorm__ndcs"], "test.sagerx.unique_stg_rxnorm__clinical_products_rxcui.0bac3cbe9c": ["model.sagerx.stg_rxnorm__clinical_products"], "test.sagerx.not_null_stg_rxnorm__clinical_products_rxcui.5dd04a1235": ["model.sagerx.stg_rxnorm__clinical_products"], "test.sagerx.not_null_stg_rxnorm__clinical_product_component_links_clinical_product_rxcui.94c75bf656": ["model.sagerx.stg_rxnorm__clinical_product_component_links"], "test.sagerx.not_null_stg_rxnorm__clinical_product_component_links_clinical_product_component_rxcui.869196279f": ["model.sagerx.stg_rxnorm__clinical_product_component_links"], "test.sagerx.unique_stg_rxnorm__clinical_product_components_rxcui.2705e1f418": ["model.sagerx.stg_rxnorm__clinical_product_components"], "test.sagerx.not_null_stg_rxnorm__clinical_product_components_rxcui.0b9c81f7ae": ["model.sagerx.stg_rxnorm__clinical_product_components"], "test.sagerx.unique_stg_rxnorm__dose_forms_rxcui.c7fb3a8da2": ["model.sagerx.stg_rxnorm__dose_forms"], "test.sagerx.not_null_stg_rxnorm__dose_forms_rxcui.a06bc0be08": ["model.sagerx.stg_rxnorm__dose_forms"], "test.sagerx.not_null_stg_rxnorm__dose_form_group_links_dose_form_rxcui.3fdd0d4bb1": ["model.sagerx.stg_rxnorm__dose_form_group_links"], "test.sagerx.not_null_stg_rxnorm__dose_form_group_links_dose_form_group_rxcui.f4fde7102f": ["model.sagerx.stg_rxnorm__dose_form_group_links"], "test.sagerx.unique_stg_rxnorm__dose_form_groups_rxcui.b2e6200e1b": ["model.sagerx.stg_rxnorm__dose_form_groups"], "test.sagerx.not_null_stg_rxnorm__dose_form_groups_rxcui.eca504df20": ["model.sagerx.stg_rxnorm__dose_form_groups"], "test.sagerx.unique_stg_rxnorm__ingredients_rxcui.c6b139419f": ["model.sagerx.stg_rxnorm__ingredients"], "test.sagerx.not_null_stg_rxnorm__ingredients_rxcui.24a1dca332": ["model.sagerx.stg_rxnorm__ingredients"], "test.sagerx.not_null_stg_rxnorm__ingredient_component_links_ingredient_rxcui.303404889c": ["model.sagerx.stg_rxnorm__ingredient_component_links"], "test.sagerx.not_null_stg_rxnorm__ingredient_component_links_ingredient_component_rxcui.a6923961b3": ["model.sagerx.stg_rxnorm__ingredient_component_links"], "test.sagerx.unique_stg_rxnorm__ingredient_components_rxcui.75f7804348": ["model.sagerx.stg_rxnorm__ingredient_components"], "test.sagerx.not_null_stg_rxnorm__ingredient_components_rxcui.aed8b0d4c5": ["model.sagerx.stg_rxnorm__ingredient_components"], "test.sagerx.accepted_values_stg_rxnorm__ingredient_components_tty__IN.5d941aec74": ["model.sagerx.stg_rxnorm__ingredient_components"], "test.sagerx.not_null_stg_rxnorm__ingredient_strength_links_clinical_product_component_rxcui.6be28272b5": ["model.sagerx.stg_rxnorm__ingredient_strength_links"], "test.sagerx.not_null_stg_rxnorm__ingredient_strength_links_ingredient_component_rxcui.fec66d7333": ["model.sagerx.stg_rxnorm__ingredient_strength_links"], "test.sagerx.not_null_stg_rxnorm__ingredient_strength_links_ingredient_strength_rxcui.3527b30bda": ["model.sagerx.stg_rxnorm__ingredient_strength_links"], "test.sagerx.unique_stg_rxnorm__ingredient_strengths_rxcui.716f558a6b": ["model.sagerx.stg_rxnorm__ingredient_strengths"], "test.sagerx.not_null_stg_rxnorm__ingredient_strengths_rxcui.d4a27e753c": ["model.sagerx.stg_rxnorm__ingredient_strengths"], "test.sagerx.not_null_stg_rxnorm__mthspl_products_rxcui.21eb3d19b0": ["model.sagerx.stg_rxnorm__mthspl_products"], "test.sagerx.unique_stg_rxnorm__mthspl_products_rxaui.09d72011ed": ["model.sagerx.stg_rxnorm__mthspl_products"], "test.sagerx.not_null_stg_rxnorm__mthspl_substances_rxcui.1b38748ca6": ["model.sagerx.stg_rxnorm__mthspl_substances"], "test.sagerx.unique_stg_rxnorm__brand_products_rxcui.da77867bbd": ["model.sagerx.stg_rxnorm__brand_products"], "test.sagerx.not_null_stg_rxnorm__brand_products_rxcui.634ef0c2ff": ["model.sagerx.stg_rxnorm__brand_products"], "test.sagerx.not_null_stg_rxnorm__brand_product_component_links_brand_product_rxcui.6135a1fa50": ["model.sagerx.stg_rxnorm__brand_product_component_links"], "test.sagerx.not_null_stg_rxnorm__brand_product_component_links_brand_product_component_rxcui.9f497ef16e": ["model.sagerx.stg_rxnorm__brand_product_component_links"], "test.sagerx.unique_stg_rxnorm__brand_product_components_rxcui.cd3b918573": ["model.sagerx.stg_rxnorm__brand_product_components"], "test.sagerx.not_null_stg_rxnorm__brand_product_components_rxcui.4917a3f0ca": ["model.sagerx.stg_rxnorm__brand_product_components"], "test.sagerx.not_null_stg_rxnorm__brand_product_components_clinical_product_component_rxcui.25fdaf356b": ["model.sagerx.stg_rxnorm__brand_product_components"], "test.sagerx.unique_stg_rxnorm__brands_rxcui.a2c8cd0cd0": ["model.sagerx.stg_rxnorm__brands"], "test.sagerx.not_null_stg_rxnorm__brands_rxcui.d067686860": ["model.sagerx.stg_rxnorm__brands"], "test.sagerx.not_null_stg_nadac__all_nadac_ndc.13fad59845": ["model.sagerx.stg_nadac__all_nadac"], "test.sagerx.not_null_stg_nadac__all_nadac_ndc_description.d0df11974f": ["model.sagerx.stg_nadac__all_nadac"], "test.sagerx.not_null_stg_nadac__enhanced_nadac_ndc.4d4e5ab99c": ["model.sagerx.stg_nadac__enhanced_nadac"], "test.sagerx.not_null_stg_nadac__enhanced_nadac_ndc_description.16fde5c578": ["model.sagerx.stg_nadac__enhanced_nadac"], "test.sagerx.unique_stg_fda_excluded__ndcs_ndc11.fcedc4532b": ["model.sagerx.stg_fda_excluded__ndcs"], "test.sagerx.not_null_stg_fda_excluded__ndcs_ndc11.f9b06099d2": ["model.sagerx.stg_fda_excluded__ndcs"], "test.sagerx.unique_stg_fda_ndc__ndcs_ndc11.8b4e77e239": ["model.sagerx.stg_fda_ndc__ndcs"], "test.sagerx.not_null_stg_fda_ndc__ndcs_ndc11.7680fa8975": ["model.sagerx.stg_fda_ndc__ndcs"], "source.sagerx.rxclass.rxclass_atc_to_product": [], "source.sagerx.rxnorm_historical.rxnorm_historical": [], "source.sagerx.ashp.ashp_shortage_list": [], "source.sagerx.ashp.ashp_shortage_list_ndcs": [], "source.sagerx.fda_unfinished.fda_unfinished_package": [], "source.sagerx.fda_unfinished.fda_unfinished_product": [], "source.sagerx.rxnorm.rxnorm_rxnatomarchive": [], "source.sagerx.rxnorm.rxnorm_rxnconso": [], "source.sagerx.rxnorm.rxnorm_rxncui": [], "source.sagerx.rxnorm.rxnorm_rxncuichanges": [], "source.sagerx.rxnorm.rxnorm_rxndoc": [], "source.sagerx.rxnorm.rxnorm_rxnrel": [], "source.sagerx.rxnorm.rxnorm_rxnsab": [], "source.sagerx.rxnorm.rxnorm_rxnsat": [], "source.sagerx.rxnorm.rxnorm_rxnsty": [], "source.sagerx.purple_book.purple_book": [], "source.sagerx.nadac.nadac": [], "source.sagerx.fda_unii.fda_unii": [], "source.sagerx.rxterms.rxterms_ingredients": [], "source.sagerx.rxterms.rxterms": [], "source.sagerx.orange_book.orange_book_exlusivity": [], "source.sagerx.orange_book.orange_book_patent": [], "source.sagerx.orange_book.orange_book_products": [], "source.sagerx.fda_excluded.fda_excluded_package": [], "source.sagerx.fda_excluded.fda_excluded_product": [], "source.sagerx.fda_enforcement.fda_enforcement": [], "source.sagerx.fda_ndc.fda_ndc_product": [], "source.sagerx.fda_ndc.fda_ndc_package": []}, "child_map": {"model.sagerx.int_dailymed_ranked_package_label_ndcs": ["model.sagerx.int_dailymed_image_xml_ndcs"], "model.sagerx.int_dailymed_ranked_package_label_images": ["model.sagerx.int_dailymed_image_xml_ndcs"], "model.sagerx.int_dailymed_image_name_ndcs": ["model.sagerx.ndcs_to_label_images"], "model.sagerx.int_dailymed_validated_package_label_ndcs": ["model.sagerx.int_dailymed_ranked_package_label_ndcs"], "model.sagerx.int_dailymed_organization_metrics": [], "model.sagerx.int_dailymed_image_xml_ndcs": ["model.sagerx.ndcs_to_label_images"], "model.sagerx.int_rxnorm_clinical_products_to_ndcs": [], "model.sagerx.int_rxnorm_clinical_products_to_ingredient_strengths": [], "model.sagerx.int_rxnorm_ndcs_to_products": ["model.sagerx.all_ndc_descriptions", "model.sagerx.brand_products_with_related_ndcs", "model.sagerx.int_inactive_ingredients_to_fda_enforcement_reports"], "model.sagerx.int_mthspl_products_to_active_moieties": [], "model.sagerx.int_mthspl_products_to_active_ingredients": [], "model.sagerx.int_rxnorm_clinical_products_to_dose_forms": [], "model.sagerx.int_rxnorm_clinical_products_to_clinical_product_components": [], "model.sagerx.int_rxnorm_clinical_products_to_ingredients": ["model.sagerx.int_inactive_ingredients_to_fda_enforcement_reports", "model.sagerx.products"], "model.sagerx.int_rxnorm_clinical_products_to_ingredient_components": [], "model.sagerx.int_rxnorm_all_ndcs_to_product_rxcuis": [], "model.sagerx.int_mthspl_products_to_inactive_ingredients": ["model.sagerx.int_inactive_ingredients_to_fda_enforcement_reports", "model.sagerx.products_to_inactive_ingredients"], "model.sagerx.int_fda_ndc_to_te": [], "model.sagerx.int_inactive_ingredients_to_fda_enforcement_reports": ["model.sagerx.scorecard_data"], "model.sagerx.all_ndc_descriptions": ["model.sagerx.all_ndcs_to_sources", "test.sagerx.not_null_all_ndc_descriptions_ndc.5637013605", "test.sagerx.unique_all_ndc_descriptions_ndc.e6968eba9b"], "model.sagerx.all_ndcs_to_sources": [], "model.sagerx.ndcs_to_label_images": [], "model.sagerx.atc_codes_to_rxnorm_products": ["test.sagerx.not_null_atc_codes_to_rxnorm_products_rxcui.f1ef3093c1", "test.sagerx.unique_atc_codes_to_rxnorm_products_rxcui.b171565c1d"], "model.sagerx.products_to_inactive_ingredients": [], "model.sagerx.brand_products_with_related_ndcs": [], "model.sagerx.products": ["test.sagerx.not_null_products_product_rxcui.fa0e88a9af", "test.sagerx.unique_products_product_rxcui.72c98af3cb"], "model.sagerx.scorecard_data": [], "model.sagerx.fda_excluded": [], "model.sagerx.stg_rxclass__atc_codes_to_rxnorm_product_rxcuis": ["model.sagerx.atc_codes_to_rxnorm_products"], "model.sagerx.stg_rxnorm_historical__ndcs": ["model.sagerx.all_ndcs_to_sources", "model.sagerx.stg_rxnorm_historical__most_recent_ndcs"], "model.sagerx.stg_rxnorm_historical__most_recent_ndcs": ["model.sagerx.all_ndc_descriptions"], "model.sagerx.stg_dailymed__organizations": ["model.sagerx.int_dailymed_organization_metrics"], "model.sagerx.stg_dailymed__package_label_section_ndcs": ["model.sagerx.int_dailymed_validated_package_label_ndcs"], "model.sagerx.stg_dailymed__interactions": [], "model.sagerx.stg_dailymed__organization_activities": [], "model.sagerx.stg_dailymed__package_label_sections": ["model.sagerx.stg_dailymed__package_label_section_images", "model.sagerx.stg_dailymed__package_label_section_ndcs"], "model.sagerx.stg_dailymed__organization_texts": ["model.sagerx.int_dailymed_organization_metrics"], "model.sagerx.stg_dailymed__main": ["model.sagerx.int_dailymed_organization_metrics"], "model.sagerx.stg_dailymed__package_label_section_images": ["model.sagerx.int_dailymed_image_name_ndcs", "model.sagerx.int_dailymed_ranked_package_label_images"], "model.sagerx.stg_dailymed__organization_items": [], "model.sagerx.stg_dailymed__ndcs": ["model.sagerx.int_dailymed_image_name_ndcs", "model.sagerx.int_dailymed_validated_package_label_ndcs"], "model.sagerx.stg_ashp__current_drug_shortages": [], "model.sagerx.stg_ashp__current_drug_shortages_ndcs": [], "model.sagerx.stg_fda_unfinished__substances": [], "model.sagerx.stg_fda_unfinished__ndcs": ["model.sagerx.all_ndc_descriptions", "model.sagerx.all_ndcs_to_sources", "test.sagerx.not_null_stg_fda_unfinished__ndcs_ndc11.0257f0c5fe", "test.sagerx.unique_stg_fda_unfinished__ndcs_ndc11.dd8892c8c6"], "model.sagerx.stg_rxnorm__dose_forms": ["model.sagerx.int_rxnorm_clinical_products_to_dose_forms", "model.sagerx.int_rxnorm_clinical_products_to_ingredient_components", "model.sagerx.int_rxnorm_clinical_products_to_ingredient_strengths", "model.sagerx.int_rxnorm_clinical_products_to_ingredients", "model.sagerx.int_rxnorm_clinical_products_to_ndcs", "test.sagerx.not_null_stg_rxnorm__dose_forms_rxcui.a06bc0be08", "test.sagerx.unique_stg_rxnorm__dose_forms_rxcui.c7fb3a8da2"], "model.sagerx.stg_rxnorm__ndcs": ["model.sagerx.all_ndcs_to_sources", "model.sagerx.int_rxnorm_clinical_products_to_clinical_product_components", "model.sagerx.int_rxnorm_clinical_products_to_ndcs", "model.sagerx.int_rxnorm_ndcs_to_products", "test.sagerx.not_null_stg_rxnorm__ndcs_ndc.4db0f5b5df", "test.sagerx.unique_stg_rxnorm__ndcs_ndc.9929df0b31"], "model.sagerx.stg_rxnorm__ingredient_component_links": ["model.sagerx.int_rxnorm_clinical_products_to_ingredient_components", "model.sagerx.int_rxnorm_clinical_products_to_ingredient_strengths", "test.sagerx.not_null_stg_rxnorm__ingredient_component_links_ingredient_component_rxcui.a6923961b3", "test.sagerx.not_null_stg_rxnorm__ingredient_component_links_ingredient_rxcui.303404889c"], "model.sagerx.stg_rxnorm__all_ndcs": ["model.sagerx.int_rxnorm_all_ndcs_to_product_rxcuis"], "model.sagerx.stg_rxnorm__precise_ingredient_links": ["model.sagerx.int_rxnorm_clinical_products_to_ingredient_strengths"], "model.sagerx.stg_rxnorm__brands": ["test.sagerx.not_null_stg_rxnorm__brands_rxcui.d067686860", "test.sagerx.unique_stg_rxnorm__brands_rxcui.a2c8cd0cd0"], "model.sagerx.stg_rxnorm__products": ["model.sagerx.products"], "model.sagerx.stg_rxnorm__brand_product_components": ["test.sagerx.not_null_stg_rxnorm__brand_product_components_clinical_product_component_rxcui.25fdaf356b", "test.sagerx.not_null_stg_rxnorm__brand_product_components_rxcui.4917a3f0ca", "test.sagerx.unique_stg_rxnorm__brand_product_components_rxcui.cd3b918573"], "model.sagerx.stg_rxnorm__ingredients": ["model.sagerx.int_rxnorm_clinical_products_to_ingredient_components", "model.sagerx.int_rxnorm_clinical_products_to_ingredient_strengths", "model.sagerx.int_rxnorm_clinical_products_to_ingredients", "model.sagerx.int_rxnorm_clinical_products_to_ndcs", "test.sagerx.not_null_stg_rxnorm__ingredients_rxcui.24a1dca332", "test.sagerx.unique_stg_rxnorm__ingredients_rxcui.c6b139419f"], "model.sagerx.stg_rxnorm__mthspl_ndcs": [], "model.sagerx.stg_rxnorm__clinical_product_component_links": ["model.sagerx.int_rxnorm_clinical_products_to_clinical_product_components", "model.sagerx.int_rxnorm_clinical_products_to_dose_forms", "model.sagerx.int_rxnorm_clinical_products_to_ingredient_components", "model.sagerx.int_rxnorm_clinical_products_to_ingredient_strengths", "model.sagerx.int_rxnorm_clinical_products_to_ingredients", "model.sagerx.int_rxnorm_clinical_products_to_ndcs", "test.sagerx.not_null_stg_rxnorm__clinical_product_component_links_clinical_product_component_rxcui.869196279f", "test.sagerx.not_null_stg_rxnorm__clinical_product_component_links_clinical_product_rxcui.94c75bf656"], "model.sagerx.stg_rxnorm__product_rxcuis": ["model.sagerx.all_ndc_descriptions", "model.sagerx.atc_codes_to_rxnorm_products"], "model.sagerx.stg_rxnorm__dose_form_groups": ["test.sagerx.not_null_stg_rxnorm__dose_form_groups_rxcui.eca504df20", "test.sagerx.unique_stg_rxnorm__dose_form_groups_rxcui.b2e6200e1b"], "model.sagerx.stg_rxnorm__ingredient_strength_links": ["model.sagerx.int_rxnorm_clinical_products_to_ingredient_strengths", "test.sagerx.not_null_stg_rxnorm__ingredient_strength_links_clinical_product_component_rxcui.6be28272b5", "test.sagerx.not_null_stg_rxnorm__ingredient_strength_links_ingredient_component_rxcui.fec66d7333", "test.sagerx.not_null_stg_rxnorm__ingredient_strength_links_ingredient_strength_rxcui.3527b30bda"], "model.sagerx.stg_rxnorm__ingredient_components": ["model.sagerx.int_rxnorm_clinical_products_to_ingredient_components", "model.sagerx.int_rxnorm_clinical_products_to_ingredient_strengths", "test.sagerx.accepted_values_stg_rxnorm__ingredient_components_tty__IN.5d941aec74", "test.sagerx.not_null_stg_rxnorm__ingredient_components_rxcui.aed8b0d4c5", "test.sagerx.unique_stg_rxnorm__ingredient_components_rxcui.75f7804348"], "model.sagerx.stg_rxnorm__mthspl_products": ["model.sagerx.int_mthspl_products_to_active_ingredients", "model.sagerx.int_mthspl_products_to_active_moieties", "model.sagerx.int_mthspl_products_to_inactive_ingredients", "test.sagerx.not_null_stg_rxnorm__mthspl_products_rxcui.21eb3d19b0", "test.sagerx.unique_stg_rxnorm__mthspl_products_rxaui.09d72011ed"], "model.sagerx.stg_rxnorm__precise_ingredients": ["model.sagerx.int_rxnorm_clinical_products_to_ingredient_strengths"], "model.sagerx.stg_rxnorm__brand_product_component_links": ["test.sagerx.not_null_stg_rxnorm__brand_product_component_links_brand_product_component_rxcui.9f497ef16e", "test.sagerx.not_null_stg_rxnorm__brand_product_component_links_brand_product_rxcui.6135a1fa50"], "model.sagerx.stg_rxnorm__brand_products": ["model.sagerx.brand_products_with_related_ndcs", "model.sagerx.int_rxnorm_ndcs_to_products", "model.sagerx.stg_rxnorm__products", "test.sagerx.not_null_stg_rxnorm__brand_products_rxcui.634ef0c2ff", "test.sagerx.unique_stg_rxnorm__brand_products_rxcui.da77867bbd"], "model.sagerx.stg_rxnorm__ingredient_strengths": ["model.sagerx.int_rxnorm_clinical_products_to_ingredient_strengths", "test.sagerx.not_null_stg_rxnorm__ingredient_strengths_rxcui.d4a27e753c", "test.sagerx.unique_stg_rxnorm__ingredient_strengths_rxcui.716f558a6b"], "model.sagerx.stg_rxnorm__clinical_product_components": ["model.sagerx.int_rxnorm_clinical_products_to_clinical_product_components", "model.sagerx.int_rxnorm_clinical_products_to_dose_forms", "model.sagerx.int_rxnorm_clinical_products_to_ingredient_components", "model.sagerx.int_rxnorm_clinical_products_to_ingredient_strengths", "model.sagerx.int_rxnorm_clinical_products_to_ingredients", "model.sagerx.int_rxnorm_clinical_products_to_ndcs", "test.sagerx.not_null_stg_rxnorm__clinical_product_components_rxcui.0b9c81f7ae", "test.sagerx.unique_stg_rxnorm__clinical_product_components_rxcui.2705e1f418"], "model.sagerx.stg_rxnorm__dose_form_group_links": ["test.sagerx.not_null_stg_rxnorm__dose_form_group_links_dose_form_group_rxcui.f4fde7102f", "test.sagerx.not_null_stg_rxnorm__dose_form_group_links_dose_form_rxcui.3fdd0d4bb1"], "model.sagerx.stg_rxnorm__atc_codes": ["model.sagerx.atc_codes_to_rxnorm_products"], "model.sagerx.stg_rxnorm__mthspl_substances": ["model.sagerx.int_mthspl_products_to_active_ingredients", "model.sagerx.int_mthspl_products_to_active_moieties", "model.sagerx.int_mthspl_products_to_inactive_ingredients", "test.sagerx.not_null_stg_rxnorm__mthspl_substances_rxcui.1b38748ca6"], "model.sagerx.stg_rxnorm__clinical_products": ["model.sagerx.int_rxnorm_clinical_products_to_clinical_product_components", "model.sagerx.int_rxnorm_clinical_products_to_dose_forms", "model.sagerx.int_rxnorm_clinical_products_to_ingredient_components", "model.sagerx.int_rxnorm_clinical_products_to_ingredient_strengths", "model.sagerx.int_rxnorm_clinical_products_to_ingredients", "model.sagerx.int_rxnorm_clinical_products_to_ndcs", "model.sagerx.int_rxnorm_ndcs_to_products", "model.sagerx.stg_rxnorm__products", "test.sagerx.not_null_stg_rxnorm__clinical_products_rxcui.5dd04a1235", "test.sagerx.unique_stg_rxnorm__clinical_products_rxcui.0bac3cbe9c"], "model.sagerx.stg_nadac__all_nadac": ["model.sagerx.stg_nadac__enhanced_nadac", "test.sagerx.not_null_stg_nadac__all_nadac_ndc.13fad59845", "test.sagerx.not_null_stg_nadac__all_nadac_ndc_description.d0df11974f"], "model.sagerx.stg_nadac__enhanced_nadac": ["test.sagerx.not_null_stg_nadac__enhanced_nadac_ndc.4d4e5ab99c", "test.sagerx.not_null_stg_nadac__enhanced_nadac_ndc_description.16fde5c578"], "model.sagerx.stg_fda_unii__unii_codes": ["model.sagerx.products_to_inactive_ingredients"], "model.sagerx.stg_rxterms__strengths": [], "model.sagerx.stg_rxterms__names": [], "model.sagerx.stg_fda_excluded__substances": [], "model.sagerx.stg_fda_excluded__classes": [], "model.sagerx.stg_fda_excluded__ndcs": ["model.sagerx.all_ndc_descriptions", "model.sagerx.all_ndcs_to_sources", "test.sagerx.not_null_stg_fda_excluded__ndcs_ndc11.f9b06099d2", "test.sagerx.unique_stg_fda_excluded__ndcs_ndc11.fcedc4532b"], "model.sagerx.stg_fda_enforcement__reports": [], "model.sagerx.stg_fda_enforcement__json_ndcs": ["model.sagerx.int_inactive_ingredients_to_fda_enforcement_reports"], "model.sagerx.stg_fda_enforcement__regex_ndcs": ["model.sagerx.int_inactive_ingredients_to_fda_enforcement_reports"], "model.sagerx.stg_fda_ndc__substances": [], "model.sagerx.stg_fda_ndc__ndcs": ["model.sagerx.all_ndc_descriptions", "model.sagerx.all_ndcs_to_sources", "model.sagerx.brand_products_with_related_ndcs", "model.sagerx.int_fda_ndc_to_te", "model.sagerx.int_inactive_ingredients_to_fda_enforcement_reports", "test.sagerx.not_null_stg_fda_ndc__ndcs_ndc11.7680fa8975", "test.sagerx.unique_stg_fda_ndc__ndcs_ndc11.8b4e77e239"], "model.sagerx.stg_fda_ndc__classes": [], "seed.sagerx.usp_preservatives": ["model.sagerx.products_to_inactive_ingredients"], "test.sagerx.unique_all_ndc_descriptions_ndc.e6968eba9b": [], "test.sagerx.not_null_all_ndc_descriptions_ndc.5637013605": [], "test.sagerx.unique_atc_codes_to_rxnorm_products_rxcui.b171565c1d": [], "test.sagerx.not_null_atc_codes_to_rxnorm_products_rxcui.f1ef3093c1": [], "test.sagerx.unique_products_product_rxcui.72c98af3cb": [], "test.sagerx.not_null_products_product_rxcui.fa0e88a9af": [], "test.sagerx.unique_current_drug_shortages_id.44ee4734b0": [], "test.sagerx.not_null_current_drug_shortages_id.1c29e8e8fd": [], "test.sagerx.unique_current_drug_shortages_ndcs_id.8f2cb158e1": [], "test.sagerx.not_null_current_drug_shortages_ndcs_id.cc48ea0945": [], "test.sagerx.unique_stg_fda_unfinished__ndcs_ndc11.dd8892c8c6": [], "test.sagerx.not_null_stg_fda_unfinished__ndcs_ndc11.0257f0c5fe": [], "test.sagerx.unique_stg_rxnorm__ndcs_ndc.9929df0b31": [], "test.sagerx.not_null_stg_rxnorm__ndcs_ndc.4db0f5b5df": [], "test.sagerx.unique_stg_rxnorm__clinical_products_rxcui.0bac3cbe9c": [], "test.sagerx.not_null_stg_rxnorm__clinical_products_rxcui.5dd04a1235": [], "test.sagerx.not_null_stg_rxnorm__clinical_product_component_links_clinical_product_rxcui.94c75bf656": [], "test.sagerx.not_null_stg_rxnorm__clinical_product_component_links_clinical_product_component_rxcui.869196279f": [], "test.sagerx.unique_stg_rxnorm__clinical_product_components_rxcui.2705e1f418": [], "test.sagerx.not_null_stg_rxnorm__clinical_product_components_rxcui.0b9c81f7ae": [], "test.sagerx.unique_stg_rxnorm__dose_forms_rxcui.c7fb3a8da2": [], "test.sagerx.not_null_stg_rxnorm__dose_forms_rxcui.a06bc0be08": [], "test.sagerx.not_null_stg_rxnorm__dose_form_group_links_dose_form_rxcui.3fdd0d4bb1": [], "test.sagerx.not_null_stg_rxnorm__dose_form_group_links_dose_form_group_rxcui.f4fde7102f": [], "test.sagerx.unique_stg_rxnorm__dose_form_groups_rxcui.b2e6200e1b": [], "test.sagerx.not_null_stg_rxnorm__dose_form_groups_rxcui.eca504df20": [], "test.sagerx.unique_stg_rxnorm__ingredients_rxcui.c6b139419f": [], "test.sagerx.not_null_stg_rxnorm__ingredients_rxcui.24a1dca332": [], "test.sagerx.not_null_stg_rxnorm__ingredient_component_links_ingredient_rxcui.303404889c": [], "test.sagerx.not_null_stg_rxnorm__ingredient_component_links_ingredient_component_rxcui.a6923961b3": [], "test.sagerx.unique_stg_rxnorm__ingredient_components_rxcui.75f7804348": [], "test.sagerx.not_null_stg_rxnorm__ingredient_components_rxcui.aed8b0d4c5": [], "test.sagerx.accepted_values_stg_rxnorm__ingredient_components_tty__IN.5d941aec74": [], "test.sagerx.not_null_stg_rxnorm__ingredient_strength_links_clinical_product_component_rxcui.6be28272b5": [], "test.sagerx.not_null_stg_rxnorm__ingredient_strength_links_ingredient_component_rxcui.fec66d7333": [], "test.sagerx.not_null_stg_rxnorm__ingredient_strength_links_ingredient_strength_rxcui.3527b30bda": [], "test.sagerx.unique_stg_rxnorm__ingredient_strengths_rxcui.716f558a6b": [], "test.sagerx.not_null_stg_rxnorm__ingredient_strengths_rxcui.d4a27e753c": [], "test.sagerx.not_null_stg_rxnorm__mthspl_products_rxcui.21eb3d19b0": [], "test.sagerx.unique_stg_rxnorm__mthspl_products_rxaui.09d72011ed": [], "test.sagerx.not_null_stg_rxnorm__mthspl_substances_rxcui.1b38748ca6": [], "test.sagerx.unique_stg_rxnorm__brand_products_rxcui.da77867bbd": [], "test.sagerx.not_null_stg_rxnorm__brand_products_rxcui.634ef0c2ff": [], "test.sagerx.not_null_stg_rxnorm__brand_product_component_links_brand_product_rxcui.6135a1fa50": [], "test.sagerx.not_null_stg_rxnorm__brand_product_component_links_brand_product_component_rxcui.9f497ef16e": [], "test.sagerx.unique_stg_rxnorm__brand_product_components_rxcui.cd3b918573": [], "test.sagerx.not_null_stg_rxnorm__brand_product_components_rxcui.4917a3f0ca": [], "test.sagerx.not_null_stg_rxnorm__brand_product_components_clinical_product_component_rxcui.25fdaf356b": [], "test.sagerx.unique_stg_rxnorm__brands_rxcui.a2c8cd0cd0": [], "test.sagerx.not_null_stg_rxnorm__brands_rxcui.d067686860": [], "test.sagerx.not_null_stg_nadac__all_nadac_ndc.13fad59845": [], "test.sagerx.not_null_stg_nadac__all_nadac_ndc_description.d0df11974f": [], "test.sagerx.not_null_stg_nadac__enhanced_nadac_ndc.4d4e5ab99c": [], "test.sagerx.not_null_stg_nadac__enhanced_nadac_ndc_description.16fde5c578": [], "test.sagerx.unique_stg_fda_excluded__ndcs_ndc11.fcedc4532b": [], "test.sagerx.not_null_stg_fda_excluded__ndcs_ndc11.f9b06099d2": [], "test.sagerx.unique_stg_fda_ndc__ndcs_ndc11.8b4e77e239": [], "test.sagerx.not_null_stg_fda_ndc__ndcs_ndc11.7680fa8975": [], "source.sagerx.rxclass.rxclass_atc_to_product": ["model.sagerx.stg_rxclass__atc_codes_to_rxnorm_product_rxcuis"], "source.sagerx.rxnorm_historical.rxnorm_historical": ["model.sagerx.stg_rxnorm_historical__ndcs"], "source.sagerx.ashp.ashp_shortage_list": ["model.sagerx.stg_ashp__current_drug_shortages"], "source.sagerx.ashp.ashp_shortage_list_ndcs": ["model.sagerx.stg_ashp__current_drug_shortages_ndcs"], "source.sagerx.fda_unfinished.fda_unfinished_package": ["model.sagerx.stg_fda_unfinished__ndcs"], "source.sagerx.fda_unfinished.fda_unfinished_product": ["model.sagerx.stg_fda_unfinished__ndcs", "model.sagerx.stg_fda_unfinished__substances"], "source.sagerx.rxnorm.rxnorm_rxnatomarchive": [], "source.sagerx.rxnorm.rxnorm_rxnconso": ["model.sagerx.stg_rxnorm__product_rxcuis", "model.sagerx.stg_rxnorm__products"], "source.sagerx.rxnorm.rxnorm_rxncui": [], "source.sagerx.rxnorm.rxnorm_rxncuichanges": [], "source.sagerx.rxnorm.rxnorm_rxndoc": [], "source.sagerx.rxnorm.rxnorm_rxnrel": [], "source.sagerx.rxnorm.rxnorm_rxnsab": [], "source.sagerx.rxnorm.rxnorm_rxnsat": [], "source.sagerx.rxnorm.rxnorm_rxnsty": [], "source.sagerx.purple_book.purple_book": [], "source.sagerx.nadac.nadac": ["model.sagerx.stg_nadac__all_nadac"], "source.sagerx.fda_unii.fda_unii": ["model.sagerx.stg_fda_unii__unii_codes"], "source.sagerx.rxterms.rxterms_ingredients": [], "source.sagerx.rxterms.rxterms": ["model.sagerx.stg_rxterms__names", "model.sagerx.stg_rxterms__strengths"], "source.sagerx.orange_book.orange_book_exlusivity": [], "source.sagerx.orange_book.orange_book_patent": [], "source.sagerx.orange_book.orange_book_products": ["model.sagerx.int_fda_ndc_to_te"], "source.sagerx.fda_excluded.fda_excluded_package": ["model.sagerx.fda_excluded", "model.sagerx.stg_fda_excluded__ndcs"], "source.sagerx.fda_excluded.fda_excluded_product": ["model.sagerx.fda_excluded", "model.sagerx.stg_fda_excluded__classes", "model.sagerx.stg_fda_excluded__ndcs", "model.sagerx.stg_fda_excluded__substances"], "source.sagerx.fda_enforcement.fda_enforcement": [], "source.sagerx.fda_ndc.fda_ndc_product": ["model.sagerx.stg_fda_ndc__classes", "model.sagerx.stg_fda_ndc__ndcs", "model.sagerx.stg_fda_ndc__substances"], "source.sagerx.fda_ndc.fda_ndc_package": ["model.sagerx.stg_fda_ndc__ndcs"]}, "group_map": {}, "saved_queries": {}, "semantic_models": {}, "unit_tests": {}} \ No newline at end of file diff --git a/docs/run_results.json b/docs/run_results.json index 7f69ac88..02356bc8 100644 --- a/docs/run_results.json +++ b/docs/run_results.json @@ -1 +1 @@ -{"metadata": {"dbt_schema_version": "https://schemas.getdbt.com/dbt/run-results/v4.json", "dbt_version": "1.5.1", "generated_at": "2024-05-07T14:46:21.437833Z", "invocation_id": "6e4ffa92-e21f-46a1-9954-99e6462bd05d", "env": {}}, "results": [{"status": "success", "timing": [{"name": "compile", "started_at": "2024-05-07T14:46:19.777172Z", "completed_at": "2024-05-07T14:46:19.780901Z"}, {"name": "execute", "started_at": "2024-05-07T14:46:19.781509Z", "completed_at": "2024-05-07T14:46:21.420048Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 1.6451177597045898, "adapter_response": {"_message": "SELECT 48786", "code": "SELECT", "rows_affected": 48786}, "message": "SELECT 48786", "failures": null, "unique_id": "model.sagerx.products"}], "elapsed_time": 1.8142449855804443, "args": {"resource_types": [], "log_level": "info", "static_parser": true, "use_colors_file": true, "write_json": true, "introspect": true, "quiet": false, "indirect_selection": "eager", "log_level_file": "debug", "macro_debugging": false, "populate_cache": true, "log_format_file": "debug", "printer_width": 80, "send_anonymous_usage_stats": true, "cache_selected_only": false, "use_colors": true, "partial_parse": true, "strict_mode": false, "defer": false, "warn_error_options": {"include": [], "exclude": []}, "favor_state": false, "log_path": "/dbt/sagerx/logs", "profiles_dir": "/dbt", "print": true, "version_check": true, "exclude": [], "select": ["products"], "which": "build", "vars": {}, "log_format": "default", "project_dir": "/dbt/sagerx", "show": false, "enable_legacy_logger": false}} \ No newline at end of file +{"metadata": {"dbt_schema_version": "https://schemas.getdbt.com/dbt/run-results/v6.json", "dbt_version": "1.8.6", "generated_at": "2024-11-21T21:06:53.543343Z", "invocation_id": "bb162212-7553-4074-8a3e-1e84d80ff754", "env": {}}, "results": [{"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.518431Z", "completed_at": "2024-11-21T21:06:52.533635Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.534023Z", "completed_at": "2024-11-21T21:06:52.534035Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.016502857208251953, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.fda_excluded", "compiled": true, "compiled_code": "SELECT\n\t\n \n CASE WHEN \n \n \n CASE WHEN pack.ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN pack.ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN pack.ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN pack.ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '10 Digit' THEN NULL\n WHEN \n \n \n CASE WHEN pack.ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN pack.ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN pack.ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN pack.ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '11 Digit' THEN pack.ndcpackagecode\n WHEN \n \n \n CASE WHEN pack.ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN pack.ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN pack.ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN pack.ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-4-2' THEN '0' || LEFT(pack.ndcpackagecode,4) || REPLACE(RIGHT(pack.ndcpackagecode,7),'-','')\n WHEN \n \n \n CASE WHEN pack.ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN pack.ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN pack.ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN pack.ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-3-2' THEN LEFT(pack.ndcpackagecode,5) || '0' || REPLACE(RIGHT(pack.ndcpackagecode,6),'-','')\n WHEN \n \n \n CASE WHEN pack.ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN pack.ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN pack.ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN pack.ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-1' THEN REPLACE(LEFT(pack.ndcpackagecode,10),'-','') || '0' || RIGHT(pack.ndcpackagecode, 1)\n WHEN \n \n \n CASE WHEN pack.ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN pack.ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN pack.ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN pack.ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-2' THEN REPLACE(pack.ndcpackagecode,'-','')\n WHEN \n \n \n CASE WHEN pack.ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN pack.ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN pack.ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN pack.ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-5' THEN NULL\n WHEN \n \n \n CASE WHEN pack.ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN pack.ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN pack.ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN pack.ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN pack.ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-6' THEN NULL\n ELSE NULL\n END\n \n AS ndc11\n\t, pack.productid\n\t, pack.productndc\n\t, producttypename\n\t, proprietaryname\n\t, proprietarynamesuffix\n\t, nonproprietaryname\n\t, dosageformname\n\t, routename\n\t, pack.startmarketingdate\n\t, pack.endmarketingdate\n\t, marketingcategoryname\n\t, applicationnumber\n\t, labelername\n\t, substancename\n\t, active_numerator_strength\n\t, active_ingred_unit\n\t, pharm_classes\n\t, deaschedule\n\t, pack.ndc_exclude_flag\n\t, listing_record_certified_through\n\t, ndcpackagecode\n\t, packagedescription\n\t, sample_package\nFROM \"sagerx\".\"sagerx_lake\".\"fda_excluded_package\" AS pack\nLEFT JOIN \"sagerx\".\"sagerx_lake\".\"fda_excluded_product\" AS prod\n\tON pack.productid = prod.productid", "relation_name": "\"sagerx\".\"sagerx_dev\".\"fda_excluded\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.535894Z", "completed_at": "2024-11-21T21:06:52.539086Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.539468Z", "completed_at": "2024-11-21T21:06:52.539476Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.004430055618286133, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_ashp__current_drug_shortages", "compiled": true, "compiled_code": "-- stg_ashp__current_drug_shortages.sql\n\nwith \n\nashp_shortage_list as (\n\n select * from \"sagerx\".\"sagerx_lake\".\"ashp_shortage_list\"\n\n),\n\ncurrent_drug_shortages as (\n\n select\n split_part(detail_url, '=', 2)::int as id,\n name,\n concat(\n 'https://www.ashp.org/drug-shortages/current-shortages/',\n lower(detail_url)) as url,\n shortage_reasons::jsonb,\n resupply_dates::jsonb,\n alternatives_and_management::jsonb,\n care_implications::jsonb,\n safety_notices::jsonb,\n created_date::date,\n updated_date::date\n from ashp_shortage_list\n\n)\n\nselect\n *\nfrom current_drug_shortages", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_ashp__current_drug_shortages\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.541273Z", "completed_at": "2024-11-21T21:06:52.544510Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.544898Z", "completed_at": "2024-11-21T21:06:52.544905Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.004452705383300781, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_ashp__current_drug_shortages_ndcs", "compiled": true, "compiled_code": "-- stg_ashp__current_drug_shortages_ndcs.sql\n\nwith \n\nashp_shortage_list as (\n\n select * from \"sagerx\".\"sagerx_lake\".\"ashp_shortage_list_ndcs\"\n\n),\n\ncurrent_drug_shortages_ndcs as (\n\n select\n split_part(detail_url, '=', 2)::int as id,\n replace(ndc, '-', '') as ndc_11,\n ndc_type\n from ashp_shortage_list\n\n)\n\nselect\n *\nfrom current_drug_shortages_ndcs", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_ashp__current_drug_shortages_ndcs\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.546668Z", "completed_at": "2024-11-21T21:06:52.549033Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.549417Z", "completed_at": "2024-11-21T21:06:52.549425Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.003562450408935547, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_dailymed__interactions", "compiled": true, "compiled_code": "/* staging.stg_dailymed__interactions */\n\nwith xml_table as\n(\n\tselect zip_file, xml_content::xml as xml_column\n\tfrom sagerx_lake.dailymed\n)\n\nselect zip_file, y.*\n from xml_table x,\n xmltable('dailymed/InteractionText'\n passing xml_column\n columns \n document_id \t text path '../documentId',\n\t\t\t\tset_id \t\t text path '../SetId',\n\t\t\t\tversion_number\t text path '../VersionNumber',\n\t\t\t\tinteraction_text text path '.'\n\t\t\t\t\t) y", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_dailymed__interactions\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.551182Z", "completed_at": "2024-11-21T21:06:52.553363Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.553738Z", "completed_at": "2024-11-21T21:06:52.553743Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.003360748291015625, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_dailymed__main", "compiled": true, "compiled_code": "/* staging.stg_dailymed__main */\n\nwith xml_table as\n(\n\tselect zip_file, xml_content::xml as xml_column\n\tfrom sagerx_lake.dailymed\n)\n\nselect zip_file, y.*, 'https://dailymed.nlm.nih.gov/dailymed/drugInfo.cfm?setid=' || y.set_id\n from xml_table x,\n xmltable('dailymed'\n passing xml_column\n columns \n document_id \tTEXT PATH './documentId',\n\t\t\t\tset_id \t\tTEXT PATH './SetId',\n\t\t\t\tversion_number\tTEXT PATH './VersionNumber',\n \t\t\t\teffective_date\tTEXT PATH './EffectiveDate',\n\t\t\t\tmarket_status\tTEXT PATH './MarketStatus',\n\t\t\t\tapplication_number TEXT PATH './ApplicationNumber'\n\t\t\t\t\t) y", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_dailymed__main\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.555470Z", "completed_at": "2024-11-21T21:06:52.559742Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.560124Z", "completed_at": "2024-11-21T21:06:52.560131Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.005464315414428711, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_dailymed__ndcs", "compiled": true, "compiled_code": "/* sagerx_dev.stg_dailymed__ndcs */\n\nwith xml_table as\n(\n\tselect zip_file, xml_content::xml as xml_column\n\tfrom sagerx_lake.dailymed\n),\n\nsql_table as (\n\n\tselect zip_file, y.*\n\t\tfrom xml_table x,\n\t\t\t\txmltable('dailymed/NDCList/NDC'\n\t\t\t\tpassing xml_column\n\t\t\t\tcolumns \n\t\t\t\t\tdocument_id \ttext path '../../documentId',\n\t\t\t\t\tset_id \t\ttext path '../../SetId',\n\t\t\t\t\tversion_number\t text path '../../VersionNumber',\n\t\t\t\t\tndc\t\t\t\ttext path '.'\n\t\t\t\t\t\t) y\n\n),\n\ncte as (\n\n\tselect\n\t\t*,\n\t\t\n \n CASE WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '10 Digit' THEN NULL\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '11 Digit' THEN ndc\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-4-2' THEN '0' || LEFT(ndc,4) || REPLACE(RIGHT(ndc,7),'-','')\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-3-2' THEN LEFT(ndc,5) || '0' || REPLACE(RIGHT(ndc,6),'-','')\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-1' THEN REPLACE(LEFT(ndc,10),'-','') || '0' || RIGHT(ndc, 1)\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-2' THEN REPLACE(ndc,'-','')\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-5' THEN NULL\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-6' THEN NULL\n ELSE NULL\n END\n \n as ndc11\n\t\n\tfrom sql_table\n\n)\n\nselect * from cte", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_dailymed__ndcs\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.561911Z", "completed_at": "2024-11-21T21:06:52.564168Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.564548Z", "completed_at": "2024-11-21T21:06:52.564554Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.003453969955444336, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_dailymed__organization_activities", "compiled": true, "compiled_code": "/* staging.stg_dailymed__organization_activities */\n \nwith xml_table as\n(\n\tselect zip_file, xml_content::xml as xml_column\n\tfrom sagerx_lake.dailymed\n)\n\nselect zip_file, y.*\n from xml_table x,\n xmltable('/dailymed/Organizations/establishment/function'\n passing xml_column\n columns \n document_id \ttext path '../../../documentId',\n\t\t\t\tset_id \t\ttext path '../../../SetId',\n\t\t\t\tversion_number\t text path '../VersionNumber',\n\t\t\t\tdun\t\t\t\ttext path '../DUN',\n\t activity\t\ttext path './name'\n\t\t\t\t\t) y", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_dailymed__organization_activities\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.566334Z", "completed_at": "2024-11-21T21:06:52.568584Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.568961Z", "completed_at": "2024-11-21T21:06:52.568968Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.0034563541412353516, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_dailymed__organization_items", "compiled": true, "compiled_code": "/* staging.dailymed_organization_item */\n\nwith xml_table as\n(\n\tselect zip_file, xml_content::xml as xml_column\n\tfrom sagerx_lake.dailymed\n)\n\nselect zip_file, y.*\n from xml_table x,\n xmltable('/dailymed/Organizations/establishment/function/item_list/item'\n passing xml_column\n columns\n document_id \ttext path '../../../../../documentId',\n\t\t\t\tset_id \t\ttext path '../../../../../SetId',\n\t\t\t\tversion_number\t text path '../../../../../VersionNumber',\n\t\t\t\tdun\t\t\t\ttext path '../../../DUN',\n\t activity\t\ttext path '../../name',\n\t\t\t\titem\t\t\ttext path '.'\n\t\t\t\t\t) y", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_dailymed__organization_items\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.570736Z", "completed_at": "2024-11-21T21:06:52.572981Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.573353Z", "completed_at": "2024-11-21T21:06:52.573359Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.003433704376220703, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_dailymed__organization_texts", "compiled": true, "compiled_code": "/* staging.stg_dailymed__organization_texts */\n\nwith xml_table as\n(\n\tselect zip_file, xml_content::xml as xml_column\n\tfrom sagerx_lake.dailymed\n)\n\nselect zip_file\n\t\t, document_id\n\t\t, set_id \n\t\t, version_number\n\t\t, organization_text\n\t\t, row_num\nfrom (select zip_file\n\t\t, y.document_id\n\t\t, y.set_id\n\t\t, y.version_number\n\t\t, y.organization_text\n\t\t--,regexp_matches(organization_text, '(manufactured|distributed) (by|for):([\\s\\S]*)(?=manufactured|distributed|made)', 'ig') as mfdg_by_match\n\t\t,row_number() over (partition by zip_file order by length(organization_text) desc) as row_num\n from xml_table x,\n xmltable('/dailymed/Organizations/OrganizationsText'\n passing xml_column\n columns \n document_id \t\ttext path '../../documentId',\n\t\t\t\tset_id \t\t\ttext path '../../SetId',\n\t\t\t\tversion_number\t text path '../../VersionNumber',\n\t\t\t\torganization_text\ttext path '.' \n\t\t\t\t\t) y\n\t) z\nwhere row_num = 1", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_dailymed__organization_texts\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.575129Z", "completed_at": "2024-11-21T21:06:52.577435Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.577798Z", "completed_at": "2024-11-21T21:06:52.577804Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.0035109519958496094, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_dailymed__organizations", "compiled": true, "compiled_code": "/* staging.stg_dailymed__organizations */\n\nwith xml_table as\n(\n\tselect zip_file, xml_content::xml as xml_column\n\tfrom sagerx_lake.dailymed\n)\n\nselect zip_file, y.*\n from xml_table x,\n xmltable('/dailymed/Organizations/establishment'\n passing xml_column\n columns \n document_id \ttext path '../../documentId',\n\t\t\t\tset_id \t\ttext path '../../SetId',\n\t\t\t\tversion_number\t text path '../../VersionNumber',\n\t\t\t\tdun\t\t\t\ttext path './DUN',\n\t org_name\t\ttext path './name',\n\t org_type\t\ttext path './type'\n\t\t\t\t\t) y", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_dailymed__organizations\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.579559Z", "completed_at": "2024-11-21T21:06:52.581858Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.582224Z", "completed_at": "2024-11-21T21:06:52.582229Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.003481626510620117, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_dailymed__package_label_sections", "compiled": true, "compiled_code": "/* staging.stg_dailymed__package_label_sections */\n\nwith xml_table as\n(\n\tselect zip_file, xml_content::xml as xml_column\n\tfrom sagerx_lake.dailymed\n)\n\nselect\n\tzip_file\n\t, y.*\nfrom xml_table x,\n\txmltable(\n\t\t'//PackageLabel' passing xml_column\n\t\tcolumns \n\t\t\tdocument_id \ttext path '../../documentId',\n\t\t\tset_id \t\ttext path '../../SetId',\n\t\t\tversion_number\ttext path '../../VersionNumber',\n\t\t\tid\t\t\t\ttext path 'ID',\n\t\t\ttext\t\t\ttext path 'Text',\n\t\t\tmedia_list\t\txml path 'MediaList'\n\t) y", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_dailymed__package_label_sections\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.583973Z", "completed_at": "2024-11-21T21:06:52.588128Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.588519Z", "completed_at": "2024-11-21T21:06:52.588524Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.005354404449462891, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_fda_enforcement__json_ndcs", "compiled": true, "compiled_code": "-- stg_fda_enforcement__json_ndcs.sql\n\nWITH base AS (\n\tselect\n\t\tfdae.recall_number\n\t\t, ndc.id_value #>> '{}' as ndc\n\t\t, app_num.id_value #>> '{}' as app_num\n\tfrom sagerx_lake.fda_enforcement fdae\n\t\t, json_array_elements(openfda->'package_ndc') with ordinality ndc(id_value, line)\n\t\t, json_array_elements(openfda->'application_number') with ordinality app_num(id_value, line)\n) \n\nselect\n\tfdae.recall_number\n\t, \n \n CASE WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '10 Digit' THEN NULL\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '11 Digit' THEN ndc\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-4-2' THEN '0' || LEFT(ndc,4) || REPLACE(RIGHT(ndc,7),'-','')\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-3-2' THEN LEFT(ndc,5) || '0' || REPLACE(RIGHT(ndc,6),'-','')\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-1' THEN REPLACE(LEFT(ndc,10),'-','') || '0' || RIGHT(ndc, 1)\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-2' THEN REPLACE(ndc,'-','')\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-5' THEN NULL\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-6' THEN NULL\n ELSE NULL\n END\n \n as ndc11\n\t, left(\n \n CASE WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '10 Digit' THEN NULL\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '11 Digit' THEN ndc\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-4-2' THEN '0' || LEFT(ndc,4) || REPLACE(RIGHT(ndc,7),'-','')\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-3-2' THEN LEFT(ndc,5) || '0' || REPLACE(RIGHT(ndc,6),'-','')\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-1' THEN REPLACE(LEFT(ndc,10),'-','') || '0' || RIGHT(ndc, 1)\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-2' THEN REPLACE(ndc,'-','')\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-5' THEN NULL\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-6' THEN NULL\n ELSE NULL\n END\n \n,9) as ndc9\n\t, app_num\nfrom sagerx_lake.fda_enforcement fdae\n\t, json_array_elements(openfda->'package_ndc') with ordinality ndc(id_value, line)\n\t, json_array_elements(openfda->'application_number') with ordinality app_num(id_value, line)\nwhere \n \n CASE WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '10 Digit' THEN NULL\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '11 Digit' THEN ndc\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-4-2' THEN '0' || LEFT(ndc,4) || REPLACE(RIGHT(ndc,7),'-','')\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-3-2' THEN LEFT(ndc,5) || '0' || REPLACE(RIGHT(ndc,6),'-','')\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-1' THEN REPLACE(LEFT(ndc,10),'-','') || '0' || RIGHT(ndc, 1)\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-2' THEN REPLACE(ndc,'-','')\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-5' THEN NULL\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-6' THEN NULL\n ELSE NULL\n END\n \n is not null", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_fda_enforcement__json_ndcs\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.590268Z", "completed_at": "2024-11-21T21:06:52.593796Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.594171Z", "completed_at": "2024-11-21T21:06:52.594176Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.004713296890258789, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_fda_enforcement__regex_ndcs", "compiled": true, "compiled_code": "-- stg_fda_enforcement__regex_ndcs.sql\n\n\nwith\n\nz_base as (\n\tselect\n\t\trecall_number\n\t\t, (regexp_matches(product_description, '(\\m\\d{1,5}-\\d{1,4}-\\d{1,2}\\M|\\m\\d{11}\\M)', 'g'))[1] as ndc\n\tfrom sagerx_lake.fda_enforcement\n),\nz as (\n\tselect \n\trecall_number\n\t, \n \n CASE WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '10 Digit' THEN NULL\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '11 Digit' THEN ndc\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-4-2' THEN '0' || LEFT(ndc,4) || REPLACE(RIGHT(ndc,7),'-','')\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-3-2' THEN LEFT(ndc,5) || '0' || REPLACE(RIGHT(ndc,6),'-','')\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-1' THEN REPLACE(LEFT(ndc,10),'-','') || '0' || RIGHT(ndc, 1)\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-2' THEN REPLACE(ndc,'-','')\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-5' THEN NULL\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-6' THEN NULL\n ELSE NULL\n END\n \n as ndc11\n\t, left( \n \n CASE WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '10 Digit' THEN NULL\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '11 Digit' THEN ndc\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-4-2' THEN '0' || LEFT(ndc,4) || REPLACE(RIGHT(ndc,7),'-','')\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-3-2' THEN LEFT(ndc,5) || '0' || REPLACE(RIGHT(ndc,6),'-','')\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-1' THEN REPLACE(LEFT(ndc,10),'-','') || '0' || RIGHT(ndc, 1)\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-2' THEN REPLACE(ndc,'-','')\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-5' THEN NULL\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-6' THEN NULL\n ELSE NULL\n END\n \n, 9) as ndc9\n\tfrom z_base\n)\t\n\nselect\n\t*\nfrom z\nwhere ndc11 is not null", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_fda_enforcement__regex_ndcs\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.595924Z", "completed_at": "2024-11-21T21:06:52.598194Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.598561Z", "completed_at": "2024-11-21T21:06:52.598566Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.003447294235229492, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_fda_enforcement__reports", "compiled": true, "compiled_code": "-- stg_fda_enforcement__reports.sql\n\nselect\n\tstatus\n\t, city\n\t, state\n\t, country\n\t, classification\n\t, openfda\n\t, product_type\n\t, event_id\n\t, recalling_firm\n\t, address_1\n\t, address_2\n\t, postal_code\n\t, voluntary_mandated\n\t, initial_firm_notification\n\t, distribution_pattern\n\t, recall_number\n\t, product_description\n\t, product_quantity\n\t, reason_for_recall\n\t, recall_initiation_date\n\t, center_classification_date\n\t, report_date\n\t, code_info\nfrom sagerx_lake.fda_enforcement", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_fda_enforcement__reports\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.600306Z", "completed_at": "2024-11-21T21:06:52.603406Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.603775Z", "completed_at": "2024-11-21T21:06:52.603780Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.004277944564819336, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_fda_excluded__classes", "compiled": true, "compiled_code": "-- stg_fda_excluded__classes.sql\nwith\n\nproduct as (\n select * from \"sagerx\".\"sagerx_lake\".\"fda_excluded_product\"\n)\n\n, pharm_classes_array as (\n\tselect \n\t\tproduct.productid\n\t\t, token\n\t\t, row_number() over (partition by product.productid order by token desc) as class_line\n\tfrom product, unnest(string_to_array(product.pharm_classes, ',')) as token\n)\n\nselect\n\tclasses.productid\n\t, classes.class_line\n\t, trim(left(classes.token, position('[' in classes.token) -1 )) as class_name\n\t, substring(classes.token, '\\[(.+)\\]') as class_type\nfrom pharm_classes_array classes\norder by\n\tproductid\n\t, class_line", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_fda_excluded__classes\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.605538Z", "completed_at": "2024-11-21T21:06:52.609578Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.609947Z", "completed_at": "2024-11-21T21:06:52.609952Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.005219697952270508, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_fda_excluded__ndcs", "compiled": true, "compiled_code": "-- stg_fda_excluded__ndcs.sql\n\nwith\n\nproduct as (\n \n select * from \"sagerx\".\"sagerx_lake\".\"fda_excluded_product\"\n\n),\n\npackage as (\n\n select * from \"sagerx\".\"sagerx_lake\".\"fda_excluded_package\"\n\n)\n\nselect\n\t\n \n CASE WHEN \n \n \n CASE WHEN ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '10 Digit' THEN NULL\n WHEN \n \n \n CASE WHEN ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '11 Digit' THEN ndcpackagecode\n WHEN \n \n \n CASE WHEN ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-4-2' THEN '0' || LEFT(ndcpackagecode,4) || REPLACE(RIGHT(ndcpackagecode,7),'-','')\n WHEN \n \n \n CASE WHEN ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-3-2' THEN LEFT(ndcpackagecode,5) || '0' || REPLACE(RIGHT(ndcpackagecode,6),'-','')\n WHEN \n \n \n CASE WHEN ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-1' THEN REPLACE(LEFT(ndcpackagecode,10),'-','') || '0' || RIGHT(ndcpackagecode, 1)\n WHEN \n \n \n CASE WHEN ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-2' THEN REPLACE(ndcpackagecode,'-','')\n WHEN \n \n \n CASE WHEN ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-5' THEN NULL\n WHEN \n \n \n CASE WHEN ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-6' THEN NULL\n ELSE NULL\n END\n \n as ndc11\n\t, package.productid\n\t, package.productndc\n\t, producttypename\n\t, proprietaryname\n\t, proprietarynamesuffix\n\t, nonproprietaryname\n\t, dosageformname\n\t, routename\n\t, product.startmarketingdate as product_startmarketingdate\n\t, product.endmarketingdate as product_endmarketingdate\n\t, marketingcategoryname\n\t, applicationnumber\n\t, labelername\n\t, substancename\n\t, active_numerator_strength\n\t, active_ingred_unit\n\t, pharm_classes\n\t, deaschedule\n\t, product.ndc_exclude_flag as product_ndc_exclude_flag\n\t, listing_record_certified_through\n\t, ndcpackagecode\n\t, packagedescription\n\t, package.startmarketingdate as package_startmarketingdate\n\t, package.endmarketingdate as package_endmarketingdate\n\t, package.ndc_exclude_flag as package_ndc_exclude_flag\n\t, sample_package\nfrom package\nleft join product\n\ton package.productid = product.productid", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_fda_excluded__ndcs\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.611696Z", "completed_at": "2024-11-21T21:06:52.615159Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.615551Z", "completed_at": "2024-11-21T21:06:52.615557Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.004682779312133789, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_fda_excluded__substances", "compiled": true, "compiled_code": "-- stg_fda_excluded__substances.sql\n\nwith\n\nproduct as ( \n select * from \"sagerx\".\"sagerx_lake\".\"fda_excluded_product\"\n)\n\n, substancename_array as (\n\tselect\n\t\tproductid\n\t\t, substance\n\t\t, row_number() over(partition by productid) as substance_line\n\tfrom product, unnest(string_to_array(substancename, '; ')) as substance\n)\n\n, strength_array as (\n\tselect\n\t\tproductid\n\t\t, strength\n\t\t, row_number() over(partition by productid) as strength_line\n\tfrom product, unnest(string_to_array(active_numerator_strength, '; ')) as strength\n)\n\n, unit_array as (\n\tselect\n\t\tproductid\n\t\t, unit\n\t\t, row_number() over(partition by productid) as unit_line\n\tfrom product, unnest(string_to_array(active_ingred_unit, '; ')) as unit\n)\n\nselect\n\tsubstance.productid\n\t, substance.substance_line\n\t, substance.substance as substancename\n\t, strength.strength as active_numerator_strength\n\t, unit.unit as active_ingred_unit\nfrom substancename_array substance\ninner join strength_array strength\n\ton strength.productid = substance.productid\n\tand strength.strength_line = substance.substance_line\ninner join unit_array unit\n\ton unit.productid = substance.productid\n\tand unit.unit_line = substance.substance_line\norder by\n\tproductid\n\t, substance_line", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_fda_excluded__substances\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.617418Z", "completed_at": "2024-11-21T21:06:52.622454Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.622847Z", "completed_at": "2024-11-21T21:06:52.622854Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.0063250064849853516, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_fda_ndc__classes", "compiled": true, "compiled_code": "-- stg_fda_ndc__classes.sql\n\nwith\n\nproduct as ( \n select * from \"sagerx\".\"sagerx_lake\".\"fda_ndc_product\"\n)\n\n, pharm_classes_array as (\n\tselect \n\t\tproduct.productid\n\t\t, token\n\t\t, row_number() over (partition by product.productid order by token desc) as class_line\n\tfrom product, unnest(string_to_array(product.pharm_classes, ',')) as token\n)\n\nselect\n\tclasses.productid\n\t, classes.class_line\n\t, trim(left(classes.token, position('[' in classes.token) -1 )) as class_name\n\t, substring(classes.token, '\\[(.+)\\]') as class_type\nfrom pharm_classes_array classes\norder by\n\tproductid\n\t, class_line", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_fda_ndc__classes\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.624687Z", "completed_at": "2024-11-21T21:06:52.678719Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.679392Z", "completed_at": "2024-11-21T21:06:52.679402Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.05563163757324219, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_fda_ndc__ndcs", "compiled": true, "compiled_code": "-- stg_fda_ndc__ndcs.sql\n\nwith\n\nproduct as (\n \n select * from \"sagerx\".\"sagerx_lake\".\"fda_ndc_product\"\n\n),\n\npackage as (\n\n select * from \"sagerx\".\"sagerx_lake\".\"fda_ndc_package\"\n\n)\n\nselect\n\t\n \n CASE WHEN \n \n \n CASE WHEN ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '10 Digit' THEN NULL\n WHEN \n \n \n CASE WHEN ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '11 Digit' THEN ndcpackagecode\n WHEN \n \n \n CASE WHEN ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-4-2' THEN '0' || LEFT(ndcpackagecode,4) || REPLACE(RIGHT(ndcpackagecode,7),'-','')\n WHEN \n \n \n CASE WHEN ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-3-2' THEN LEFT(ndcpackagecode,5) || '0' || REPLACE(RIGHT(ndcpackagecode,6),'-','')\n WHEN \n \n \n CASE WHEN ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-1' THEN REPLACE(LEFT(ndcpackagecode,10),'-','') || '0' || RIGHT(ndcpackagecode, 1)\n WHEN \n \n \n CASE WHEN ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-2' THEN REPLACE(ndcpackagecode,'-','')\n WHEN \n \n \n CASE WHEN ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-5' THEN NULL\n WHEN \n \n \n CASE WHEN ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-6' THEN NULL\n ELSE NULL\n END\n \n as ndc11\n\t, package.productid\n\t, package.productndc\n\t, producttypename\n\t, proprietaryname\n\t, proprietarynamesuffix\n\t, nonproprietaryname\n\t, dosageformname\n\t, routename\n\t, product.startmarketingdate as product_startmarketingdate\n\t, product.endmarketingdate as product_endmarketingdate\n\t, marketingcategoryname\n\t, applicationnumber\n\t, labelername\n\t, substancename\n\t, active_numerator_strength\n\t, active_ingred_unit\n\t, pharm_classes\n\t, deaschedule\n\t, product.ndc_exclude_flag as product_ndc_exclude_flag\n\t, listing_record_certified_through\n\t, ndcpackagecode\n\t, packagedescription\n\t, package.startmarketingdate as package_startmarketingdate\n\t, package.endmarketingdate as package_endmarketingdate\n\t, package.ndc_exclude_flag as package_ndc_exclude_flag\n\t, sample_package\nfrom package\nleft join product\n\ton package.productid = product.productid", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_fda_ndc__ndcs\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.682816Z", "completed_at": "2024-11-21T21:06:52.687993Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.688711Z", "completed_at": "2024-11-21T21:06:52.688720Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.007300376892089844, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_fda_ndc__substances", "compiled": true, "compiled_code": "-- stg_fda_ndc__substances.sql\n\nwith\n\nproduct as (\n select * from \"sagerx\".\"sagerx_lake\".\"fda_ndc_product\"\n)\n\n, substancename_array as (\n\tselect\n\t\tproductid\n\t\t, substance\n\t\t, row_number() over(partition by productid) as substance_line\n\tfrom product, unnest(string_to_array(substancename, '; ')) as substance\n)\n\n, strength_array as (\n\tselect\n\t\tproductid\n\t\t, strength\n\t\t, row_number() over(partition by productid) as strength_line\n\tfrom product, unnest(string_to_array(active_numerator_strength, '; ')) as strength\n)\n\n, unit_array as (\n\tselect\n\t\tproductid\n\t\t, unit\n\t\t, row_number() over(partition by productid) as unit_line\n\tfrom product, unnest(string_to_array(active_ingred_unit, '; ')) as unit\n)\n\nselect\n\tsubstance.productid\n\t, substance.substance_line\n\t, substance.substance as substancename\n\t, strength.strength as active_numerator_strength\n\t, unit.unit as active_ingred_unit\nfrom substancename_array substance\ninner join strength_array strength\n\ton strength.productid = substance.productid\n\tand strength.strength_line = substance.substance_line\ninner join unit_array unit\n\ton unit.productid = substance.productid\n\tand unit.unit_line = substance.substance_line\norder by\n\tproductid\n\t, substance_line", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_fda_ndc__substances\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.691623Z", "completed_at": "2024-11-21T21:06:52.697388Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.697926Z", "completed_at": "2024-11-21T21:06:52.697934Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.007692813873291016, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_fda_unfinished__ndcs", "compiled": true, "compiled_code": "-- stg_fda_unfinished__ndcs.sql\n\nwith\n\nproduct as (\n \n select * from \"sagerx\".\"sagerx_lake\".\"fda_unfinished_product\"\n\n),\n\npackage as (\n\n select * from \"sagerx\".\"sagerx_lake\".\"fda_unfinished_package\"\n\n)\n\nselect\n\t\n \n CASE WHEN \n \n \n CASE WHEN package.ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN package.ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN package.ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN package.ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '10 Digit' THEN NULL\n WHEN \n \n \n CASE WHEN package.ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN package.ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN package.ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN package.ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '11 Digit' THEN package.ndcpackagecode\n WHEN \n \n \n CASE WHEN package.ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN package.ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN package.ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN package.ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-4-2' THEN '0' || LEFT(package.ndcpackagecode,4) || REPLACE(RIGHT(package.ndcpackagecode,7),'-','')\n WHEN \n \n \n CASE WHEN package.ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN package.ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN package.ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN package.ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-3-2' THEN LEFT(package.ndcpackagecode,5) || '0' || REPLACE(RIGHT(package.ndcpackagecode,6),'-','')\n WHEN \n \n \n CASE WHEN package.ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN package.ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN package.ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN package.ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-1' THEN REPLACE(LEFT(package.ndcpackagecode,10),'-','') || '0' || RIGHT(package.ndcpackagecode, 1)\n WHEN \n \n \n CASE WHEN package.ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN package.ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN package.ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN package.ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-2' THEN REPLACE(package.ndcpackagecode,'-','')\n WHEN \n \n \n CASE WHEN package.ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN package.ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN package.ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN package.ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-5' THEN NULL\n WHEN \n \n \n CASE WHEN package.ndcpackagecode ~ '^\\d{10}$' THEN '10 Digit'\n WHEN package.ndcpackagecode ~ '^\\d{11}$' THEN '11 Digit'\n WHEN package.ndcpackagecode ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN package.ndcpackagecode ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN package.ndcpackagecode ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-6' THEN NULL\n ELSE NULL\n END\n \n as ndc11\n\t, package.productid\n\t, package.productndc\n\t, producttypename\n\t, nonproprietaryname\n\t, dosageformname\n\t, product.startmarketingdate as product_startmarketingdate\n\t, product.endmarketingdate as product_endmarketingdate\n\t, marketingcategoryname\n\t, labelername\n\t, substancename\n\t, active_numerator_strength\n\t, active_ingred_unit\n\t, deaschedule\n\t, listing_record_certified_through\n\t, ndcpackagecode\n\t, packagedescription\n\t, package.startmarketingdate as package_startmarketingdate\n\t, package.endmarketingdate as package_endmarketingdate\nfrom package\nleft join product\n\ton package.productid = product.productid", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_fda_unfinished__ndcs\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.700660Z", "completed_at": "2024-11-21T21:06:52.704906Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.705407Z", "completed_at": "2024-11-21T21:06:52.705414Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.005956411361694336, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_fda_unfinished__substances", "compiled": true, "compiled_code": "-- stg_fda_unfinished__substances.sql\n\nwith\n\nproduct as ( \n select * from \"sagerx\".\"sagerx_lake\".\"fda_unfinished_product\"\n)\n\n, substancename_array as (\n\tselect\n\t\tproductid\n\t\t, substance\n\t\t, row_number() over(partition by productid) as substance_line\n\tfrom product, unnest(string_to_array(substancename, '; ')) as substance\n)\n\n, strength_array as (\n\tselect\n\t\tproductid\n\t\t, strength\n\t\t, row_number() over(partition by productid) as strength_line\n\tfrom product, unnest(string_to_array(active_numerator_strength, '; ')) as strength\n)\n\n, unit_array as (\n\tselect\n\t\tproductid\n\t\t, unit\n\t\t, row_number() over(partition by productid) as unit_line\n\tfrom product, unnest(string_to_array(active_ingred_unit, '; ')) as unit\n)\n\nselect\n\tsubstance.productid\n\t, substance.substance_line\n\t, substance.substance as substancename\n\t, strength.strength as active_numerator_strength\n\t, unit.unit as active_ingred_unit\nfrom substancename_array substance\ninner join strength_array strength\n\ton strength.productid = substance.productid\n\tand strength.strength_line = substance.substance_line\ninner join unit_array unit\n\ton unit.productid = substance.productid\n\tand unit.unit_line = substance.substance_line\norder by\n\tproductid\n\t, substance_line", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_fda_unfinished__substances\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.707771Z", "completed_at": "2024-11-21T21:06:52.711681Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.712157Z", "completed_at": "2024-11-21T21:06:52.712164Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.005471706390380859, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_fda_unii__unii_codes", "compiled": true, "compiled_code": "-- stg_fda_unii__unii_codes.sql\n\nwith\n\nfda_unii as (\n select * from \"sagerx\".\"sagerx_lake\".\"fda_unii\"\n)\n\nselect\n unii\n , display_name\n , rxcui\n , pubchem\n , rn\n , ncit\n , ncbi\n , dailymed\nfrom fda_unii", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_fda_unii__unii_codes\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.714401Z", "completed_at": "2024-11-21T21:06:52.718096Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.718541Z", "completed_at": "2024-11-21T21:06:52.718547Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.005146026611328125, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_nadac__all_nadac", "compiled": true, "compiled_code": "-- stg_nadac__all_nadac.sql\n\nwith\n\nnadac as (\n\n select * from \"sagerx\".\"sagerx_lake\".\"nadac\"\n\n)\n\nselect distinct \n\tndc\n\t, ndc_description\n\t, nadac_per_unit::numeric\n\t, pricing_unit\n\t, effective_date::date\nfrom nadac", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_nadac__all_nadac\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.720686Z", "completed_at": "2024-11-21T21:06:52.724230Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.724717Z", "completed_at": "2024-11-21T21:06:52.724723Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.005017757415771484, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_rxclass__atc_codes_to_rxnorm_product_rxcuis", "compiled": true, "compiled_code": "-- stg_rxclass__atc_codes_to_rxnorm_product_rxcuis.sql\n\nwith atc_codes_to_rxnorm_product_rxcuis as (\n \n select * from \"sagerx\".\"sagerx_lake\".\"rxclass_atc_to_product\"\n\n)\n\nselect\n *\nfrom atc_codes_to_rxnorm_product_rxcuis", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxclass__atc_codes_to_rxnorm_product_rxcuis\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.726752Z", "completed_at": "2024-11-21T21:06:52.730354Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.730763Z", "completed_at": "2024-11-21T21:06:52.730769Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.004943370819091797, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_rxnorm__all_ndcs", "compiled": true, "compiled_code": "-- stg_rxnorm__all_ndcs.sql\n\nselect\n \n \n CASE WHEN \n \n \n CASE WHEN rxnsat.atv ~ '^\\d{10}$' THEN '10 Digit'\n WHEN rxnsat.atv ~ '^\\d{11}$' THEN '11 Digit'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '10 Digit' THEN NULL\n WHEN \n \n \n CASE WHEN rxnsat.atv ~ '^\\d{10}$' THEN '10 Digit'\n WHEN rxnsat.atv ~ '^\\d{11}$' THEN '11 Digit'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '11 Digit' THEN rxnsat.atv\n WHEN \n \n \n CASE WHEN rxnsat.atv ~ '^\\d{10}$' THEN '10 Digit'\n WHEN rxnsat.atv ~ '^\\d{11}$' THEN '11 Digit'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-4-2' THEN '0' || LEFT(rxnsat.atv,4) || REPLACE(RIGHT(rxnsat.atv,7),'-','')\n WHEN \n \n \n CASE WHEN rxnsat.atv ~ '^\\d{10}$' THEN '10 Digit'\n WHEN rxnsat.atv ~ '^\\d{11}$' THEN '11 Digit'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-3-2' THEN LEFT(rxnsat.atv,5) || '0' || REPLACE(RIGHT(rxnsat.atv,6),'-','')\n WHEN \n \n \n CASE WHEN rxnsat.atv ~ '^\\d{10}$' THEN '10 Digit'\n WHEN rxnsat.atv ~ '^\\d{11}$' THEN '11 Digit'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-1' THEN REPLACE(LEFT(rxnsat.atv,10),'-','') || '0' || RIGHT(rxnsat.atv, 1)\n WHEN \n \n \n CASE WHEN rxnsat.atv ~ '^\\d{10}$' THEN '10 Digit'\n WHEN rxnsat.atv ~ '^\\d{11}$' THEN '11 Digit'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-2' THEN REPLACE(rxnsat.atv,'-','')\n WHEN \n \n \n CASE WHEN rxnsat.atv ~ '^\\d{10}$' THEN '10 Digit'\n WHEN rxnsat.atv ~ '^\\d{11}$' THEN '11 Digit'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-5' THEN NULL\n WHEN \n \n \n CASE WHEN rxnsat.atv ~ '^\\d{10}$' THEN '10 Digit'\n WHEN rxnsat.atv ~ '^\\d{11}$' THEN '11 Digit'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-6' THEN NULL\n ELSE NULL\n END\n \nas ndc11\n , rxnsat.atv as ndc\n , rxnsat.rxcui\n , rxnsat.sab\n\t, case when rxnsat.suppress = 'N' then true else false end as active\n\t, case when rxnsat.cvf = '4096' then true else false end as prescribable\nfrom sagerx_lake.rxnorm_rxnsat rxnsat\n where rxnsat.atn = 'NDC'\n\tand rxnsat.sab in ('ATC', 'CVX', 'DRUGBANK', 'MSH', 'MTHCMSFRF', 'MTHSPL', 'RXNORM', 'USP', 'VANDF')", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__all_ndcs\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.732654Z", "completed_at": "2024-11-21T21:06:52.735070Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.735468Z", "completed_at": "2024-11-21T21:06:52.735474Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.003686666488647461, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_rxnorm__atc_codes", "compiled": true, "compiled_code": "with atc as (\n\tselect distinct a.rxcui\n\t\t,a.code\n\t\t,b.atn\n\t\t,b.atv as atc_class_level\n\t\t,a.str as description\n\t\t,a.sab\n\t\t,a.tty\n\tfrom (\n\t\tselect *\n\t\tfrom sagerx_lake.rxnorm_rxnconso\n\t\twhere sab = 'ATC'\n\t\tand tty not like 'RXN%'\n\t\torder by code\n\t) a\n\tleft join sagerx_lake.rxnorm_rxnsat b\n\t\ton a.code= b.code\n\twhere atn = 'ATC_LEVEL'\n\torder by code\n)\n\n, atc_5 as (\n\tselect\n\t\t*\n\tfrom atc\n\twhere atc_class_level = '5'\n)\n\n, atc_4 as (\n\tselect\n\t\t*\n\tfrom atc\n\twhere atc_class_level = '4'\n)\n\n, atc_3 as (\n\tselect\n\t\t*\n\tfrom atc\n\twhere atc_class_level = '3'\n)\n\n, atc_2 as (\n\tselect\n\t\t*\n\tfrom atc\n\twhere atc_class_level = '2'\n)\n\n, atc_1 as (\n\tselect\n\t\t*\n\tfrom atc\n\twhere atc_class_level = '1'\n)\n\n, sagerx_atc as (\n\nselect\n\tatc_1.code as atc_1_code\n\t, atc_1.description as atc_1_name\n\t, atc_2.code as atc_2_code\n\t, atc_2.description as atc_2_name\n\t, atc_3.code as atc_3_code\n\t, atc_3.description as atc_3_name\n\t, atc_4.code as atc_4_code\n\t, atc_4.description as atc_4_name\n\t, atc_5.code as atc_5_code\n\t, atc_5.description as atc_5_name\n\t, atc_5.rxcui as ingredient_rxcui\n\t, atc_5.description as ingredient_name\n\t, atc_5.tty as ingredient_tty\n\nfrom atc_5\nleft join atc_4\n\ton left(atc_5.code, 5) = atc_4.code\nleft join atc_3\n\ton left(atc_4.code, 4) = atc_3.code\nleft join atc_2\n\ton left(atc_3.code, 3) = atc_2.code\nleft join atc_1\n\ton left(atc_2.code, 1) = atc_1.code\n)\n\t\nselect * \nfrom sagerx_atc", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__atc_codes\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.737350Z", "completed_at": "2024-11-21T21:06:52.739557Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.739947Z", "completed_at": "2024-11-21T21:06:52.739952Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.003606557846069336, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_rxnorm__brand_product_component_links", "compiled": true, "compiled_code": "-- stg_rxnorm__brand_product_component_links.sql\n\nselect distinct\n\tproduct.rxcui as brand_product_rxcui\n\t, case when product_component.rxcui is null\n then product.rxcui\n else product_component.rxcui\n end as brand_product_component_rxcui\nfrom sagerx_lake.rxnorm_rxnconso product\nleft join sagerx_lake.rxnorm_rxnrel rxnrel on rxnrel.rxcui2 = product.rxcui and rxnrel.rela = 'contains'\nleft join sagerx_lake.rxnorm_rxnconso product_component\n\ton rxnrel.rxcui1 = product_component.rxcui\n\tand product_component.tty in ('SBD', 'SCD') -- NOTE: BPCKs can contain SBDs AND SCDs\n\tand product_component.sab = 'RXNORM'\nwhere product.tty in ('SBD', 'BPCK')\n\tand product.sab = 'RXNORM'", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__brand_product_component_links\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.741939Z", "completed_at": "2024-11-21T21:06:52.744223Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.744633Z", "completed_at": "2024-11-21T21:06:52.744639Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.0035276412963867188, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_rxnorm__brand_product_components", "compiled": true, "compiled_code": "-- stg_rxnorm__brand_product_components.sql\n\nselect distinct\n\tcase when product.tty = 'SBD' then product.rxcui else product_component.rxcui end rxcui\n\t, case when product.tty = 'SBD' then product.str else product_component.str end name\n\t, case when product.tty = 'SBD' then product.tty else product_component.tty end tty\n\t, case when product_component.tty = 'SCD' then product_component.rxcui else rxnrel_scd.rxcui1 end clinical_product_component_rxcui\n\t, rxnrel_bn.rxcui1 as brand_rxcui\n\t, case when \n case when product.tty = 'SBD'\n then product.suppress\n else product_component.suppress\n end = 'N' \n then true \n else false\n end as active\n\t, case when \n case when product.tty = 'SBD'\n then product.cvf\n else product_component.cvf \n end = '4096' \n then true\n else false\n end as prescribable\nfrom sagerx_lake.rxnorm_rxnconso product\nleft join sagerx_lake.rxnorm_rxnrel rxnrel on rxnrel.rxcui2 = product.rxcui and rxnrel.rela = 'contains'\nleft join sagerx_lake.rxnorm_rxnconso product_component\n\ton rxnrel.rxcui1 = product_component.rxcui\n\tand product_component.tty in ('SBD', 'SCD') -- NOTE: BPCKs can contain SBDs AND SCDs\n\tand product_component.sab = 'RXNORM'\nleft join sagerx_lake.rxnorm_rxnrel rxnrel_scd \n\ton rxnrel_scd.rxcui2 = case when product_component.rxcui is null then product.rxcui else product_component.rxcui end \n\tand rxnrel_scd.rela = 'tradename_of' -- rxnrel_scd.rxcui1 = clinical_product_component_rxcui\nleft join sagerx_lake.rxnorm_rxnrel rxnrel_bn \n\ton rxnrel_bn.rxcui2 = case when product_component.rxcui is null then product.rxcui else product_component.rxcui end \n\tand rxnrel_bn.rela = 'has_ingredient' -- rxnrel_bn.rxcui1 = brand_rxcui\nwhere product.tty in ('SBD', 'BPCK')\n\tand product.sab = 'RXNORM'", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__brand_product_components\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.746622Z", "completed_at": "2024-11-21T21:06:52.748972Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.749333Z", "completed_at": "2024-11-21T21:06:52.749338Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.0035467147827148438, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_rxnorm__brand_products", "compiled": true, "compiled_code": "-- stg_rxnorm__brand_products.sql\n\nselect\n\tproduct.rxcui as rxcui\n\t, product.str as name\n\t, product.tty as tty\n\t, clinical_product.rxcui as clinical_product_rxcui\n\t, case when product.suppress = 'N' then true else false end as active\n\t, case when product.cvf = '4096' then true else false end as prescribable\nfrom sagerx_lake.rxnorm_rxnconso product\nleft join sagerx_lake.rxnorm_rxnrel rxnrel on rxnrel.rxcui2 = product.rxcui and rxnrel.rela = 'tradename_of'\nleft join sagerx_lake.rxnorm_rxnconso clinical_product\n\ton rxnrel.rxcui1 = clinical_product.rxcui\n\tand clinical_product.tty in ('SCD', 'GPCK')\n\tand clinical_product.sab = 'RXNORM'\nwhere product.tty in('SBD', 'BPCK')\n\tand product.sab = 'RXNORM'", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__brand_products\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.751079Z", "completed_at": "2024-11-21T21:06:52.755100Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.755540Z", "completed_at": "2024-11-21T21:06:52.755549Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.0053081512451171875, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_rxnorm__brands", "compiled": true, "compiled_code": "-- stg_rxnorm__brands.sql\n\nwith cte as (\n\tselect\n\t\tsq.*\n\t\t, row_number() over(partition by rxcui order by ingredient_tty desc) as rn\n\tfrom (\n\n\t\tselect\n\t\t\tbrand.rxcui as rxcui\n\t\t\t, brand.str as name\n\t\t\t, brand.tty as tty\n\t\t\t, ingredient.rxcui as ingredient_rxcui\n\t\t\t, ingredient.str as ingredient_name\n\t\t\t, ingredient.tty as ingredient_tty\n\t\tfrom sagerx_lake.rxnorm_rxnconso brand\n\t\tinner join sagerx_lake.rxnorm_rxnrel rxnrel on rxnrel.rxcui2 = brand.rxcui and rxnrel.rela = 'tradename_of'\n\t\tinner join sagerx_lake.rxnorm_rxnconso ingredient\n\t\t\ton rxnrel.rxcui1 = ingredient.rxcui\n\t\t\tand ingredient.tty = 'IN'\n\t\t\tand ingredient.sab = 'RXNORM'\n\t\twhere brand.tty = 'BN'\n\t\t\tand brand.sab = 'RXNORM'\n\n\t\tunion all\n\n\t\tselect\n\t\t\tbrand.rxcui as rxcui\n\t\t\t, brand.str as name\n\t\t\t, brand.tty as tty\n\t\t\t, ingredient.rxcui as ingredient_rxcui\n\t\t\t, ingredient.str as ingredient_name\n\t\t\t, ingredient.tty as ingredient_tty\n\t\tfrom sagerx_lake.rxnorm_rxnconso brand\n\t\tinner join sagerx_lake.rxnorm_rxnrel sbd_rxnrel on sbd_rxnrel.rxcui2 = brand.rxcui and sbd_rxnrel.rela = 'ingredient_of'\n\t\tinner join sagerx_lake.rxnorm_rxnrel scd_rxnrel on scd_rxnrel.rxcui2 = sbd_rxnrel.rxcui1 and scd_rxnrel.rela = 'tradename_of'\n\t\tinner join sagerx_lake.rxnorm_rxnrel ingredient_rxnrel on ingredient_rxnrel.rxcui2 = scd_rxnrel.rxcui1 and ingredient_rxnrel.rela = 'has_ingredients'\n\t\tleft join sagerx_lake.rxnorm_rxnconso ingredient\n\t\t\ton ingredient_rxnrel.rxcui1 = ingredient.rxcui\n\t\t\tand ingredient.tty = 'MIN'\n\t\t\tand ingredient.sab = 'RXNORM'\t\t\n\t\twhere brand.tty = 'BN'\n\t\t\tand brand.sab = 'RXNORM'\n\t) sq\n)\n\nselect distinct\n\tbrand.rxcui as rxcui\n\t, brand.str as name\n\t, brand.tty as tty\n\t, case when brand.suppress = 'N' then true else false end as active\n\t, case when brand.cvf = '4096' then true else false end as prescribable\n\t, cte.ingredient_rxcui as ingredient_rxcui\nfrom sagerx_lake.rxnorm_rxnconso product\ninner join sagerx_lake.rxnorm_rxnrel rxnrel on rxnrel.rxcui2 = product.rxcui and rxnrel.rela = 'has_ingredient'\ninner join sagerx_lake.rxnorm_rxnconso brand\n\ton rxnrel.rxcui1 = brand.rxcui\n\tand brand.tty = 'BN'\n\tand brand.sab = 'RXNORM'\nLeft join cte on cte.rxcui = brand.rxcui and cte.rn < 2\nwhere product.tty = 'SBD'\n\tand product.sab = 'RXNORM'", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__brands\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.757537Z", "completed_at": "2024-11-21T21:06:52.760003Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.760405Z", "completed_at": "2024-11-21T21:06:52.760411Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.00372314453125, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_rxnorm__clinical_product_component_links", "compiled": true, "compiled_code": "-- stg_rxnorm__clinical_product_component_links.sql\n\nselect distinct\n\tproduct.rxcui as clinical_product_rxcui\n\t, case when product_component.rxcui is null\n then product.rxcui \n else product_component.rxcui \n end as clinical_product_component_rxcui\nfrom sagerx_lake.rxnorm_rxnconso product\nleft join sagerx_lake.rxnorm_rxnrel rxnrel on rxnrel.rxcui2 = product.rxcui and rxnrel.rela = 'contains'\nleft join sagerx_lake.rxnorm_rxnconso product_component\n on rxnrel.rxcui1 = product_component.rxcui\n and product_component.tty = 'SCD'\n and product_component.sab = 'RXNORM'\nwhere product.tty in('SCD', 'GPCK')\n\tand product.sab = 'RXNORM'", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_product_component_links\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.762292Z", "completed_at": "2024-11-21T21:06:52.764714Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.765110Z", "completed_at": "2024-11-21T21:06:52.765115Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.003662109375, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_rxnorm__clinical_product_components", "compiled": true, "compiled_code": "-- stg_rxnorm__clinical_product_components.sql\n\nwith cte as (\n\tselect\n\tsq.*,\n\trow_number() over(partition by product_component_rxcui order by ingredient_tty desc) as rn\n\tfrom (\n\t\tselect\n\t\t\tproduct_component.rxcui as product_component_rxcui\n\t\t\t, product_component.str as product_component_name\n\t\t\t, product_component.tty as product_component_tty\n\t\t\t, ingredient.rxcui as ingredient_rxcui\n\t\t\t, ingredient.str as ingredient_name\n\t\t\t, ingredient.tty as ingredient_tty\n\t\tfrom sagerx_lake.rxnorm_rxnconso product_component\n\t\tinner join sagerx_lake.rxnorm_rxnrel rxnrel\n\t\t\ton rxnrel.rxcui2 = product_component.rxcui and rxnrel.rela = 'has_ingredients'\n\t\tinner join sagerx_lake.rxnorm_rxnconso ingredient\n\t\t\ton rxnrel.rxcui1 = ingredient.rxcui\n\t\t\tand ingredient.tty = 'MIN'\n\t\t\tand ingredient.sab = 'RXNORM'\n\t\twhere product_component.tty = 'SCD'\n\t\t\tand product_component.sab = 'RXNORM'\n\n\t\tunion all\n\n\t\tselect\n\t\t\tproduct_component.rxcui as product_component_rxcui\n\t\t\t, product_component.str as product_component_name\n\t\t\t, product_component.tty as product_component_tty\n\t\t\t, ingredient.rxcui as ingredient_rxcui\n\t\t\t, ingredient.str as ingredient_name\n\t\t\t, ingredient.tty as ingredient_tty\n\t\tfrom sagerx_lake.rxnorm_rxnconso product_component\n\t\tinner join sagerx_lake.rxnorm_rxnrel scdc_rxnrel\n\t\t\ton scdc_rxnrel.rxcui2 = product_component.rxcui and scdc_rxnrel.rela = 'consists_of'\n\t\tinner join sagerx_lake.rxnorm_rxnconso scdc\n\t\t\ton scdc_rxnrel.rxcui1 = scdc.rxcui\n\t\tinner join sagerx_lake.rxnorm_rxnrel ingredient_rxnrel\n\t\t\ton ingredient_rxnrel.rxcui2 = scdc.rxcui and ingredient_rxnrel.rela = 'has_ingredient'\n\t\tinner join sagerx_lake.rxnorm_rxnconso ingredient\n\t\t\ton ingredient_rxnrel.rxcui1 = ingredient.rxcui\n\t\t\tand ingredient.tty = 'IN'\n\t\t\tand ingredient.sab = 'RXNORM'\n\t\twhere product_component.tty = 'SCD'\n\t\t\tand product_component.sab = 'RXNORM'\n\t) sq\n)\n\nselect distinct\n\tcase when product_component.rxcui is null then product.rxcui else product_component.rxcui end rxcui\n\t, case when product_component.str is null then product.str else product_component.str end name \n\t, case when product_component.tty is null then product.tty else product_component.tty end tty\n\t, case when \n\t\tcase when product_component.rxcui is null then product.suppress else product_component.suppress end = 'N' then true else false end as active\n\t, case when \n\t\tcase when product_component.rxcui is null then product.cvf else product_component.cvf end = '4096' then true else false end as prescribable\n\t, cte.ingredient_rxcui as ingredient_rxcui\n\t, dose_form_rxnrel.rxcui1 as dose_form_rxcui\nfrom sagerx_lake.rxnorm_rxnconso product\nleft join sagerx_lake.rxnorm_rxnrel rxnrel on rxnrel.rxcui2 = product.rxcui and rxnrel.rela = 'contains'\nleft join sagerx_lake.rxnorm_rxnconso product_component\n\ton rxnrel.rxcui1 = product_component.rxcui\n and product_component.tty = 'SCD'\n and product_component.sab = 'RXNORM'\nleft join cte \n\ton cte.product_component_rxcui = case when product_component.rxcui is null then product.rxcui else product_component.rxcui end\n\tand cte.rn < 2\nleft join sagerx_lake.rxnorm_rxnrel dose_form_rxnrel\n\ton dose_form_rxnrel.rxcui2 = case when product_component.rxcui is null then product.rxcui else product_component.rxcui end\n\tand dose_form_rxnrel.rela = 'has_dose_form'\n\tand dose_form_rxnrel.sab = 'RXNORM'\nwhere product.tty in('SCD', 'GPCK')\n\tand product.sab = 'RXNORM'", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_product_components\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.767008Z", "completed_at": "2024-11-21T21:06:52.769224Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.769604Z", "completed_at": "2024-11-21T21:06:52.769610Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.003419160842895508, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_rxnorm__clinical_products", "compiled": true, "compiled_code": "-- stg_rxnorm__clinical_products.sql\n\nselect\n\tproduct.rxcui as rxcui\n\t, product.str as name\n\t, product.tty as tty\n\t, case when product.suppress = 'N' then true else false end as active\n\t, case when product.cvf = '4096' then true else false end as prescribable\nfrom sagerx_lake.rxnorm_rxnconso product\nwhere product.tty in('SCD', 'GPCK')\n\tand product.sab = 'RXNORM'", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_products\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.771458Z", "completed_at": "2024-11-21T21:06:52.773771Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.774247Z", "completed_at": "2024-11-21T21:06:52.774253Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.003635883331298828, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_rxnorm__dose_form_group_links", "compiled": true, "compiled_code": "-- stg_rxnorm__dose_form_group_links.sql\n\nselect distinct\n\tdose_form.rxcui dose_form_rxcui\n\t, rxnrel.rxcui1 dose_form_group_rxcui\nfrom sagerx_lake.rxnorm_rxnconso dose_form\ninner join sagerx_lake.rxnorm_rxnrel rxnrel\n\ton rxnrel.rxcui2 = dose_form.rxcui\n\tand rxnrel.rela = 'isa'\n\tand rxnrel.sab = 'RXNORM'\nwhere dose_form.tty = 'DF'\n\tand dose_form.sab = 'RXNORM'", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__dose_form_group_links\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.776106Z", "completed_at": "2024-11-21T21:06:52.778499Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.778913Z", "completed_at": "2024-11-21T21:06:52.778920Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.003688812255859375, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_rxnorm__dose_form_groups", "compiled": true, "compiled_code": "-- stg_rxnorm__dose_form_groups.sql\n\nselect\n\tdose_form_group.rxcui rxcui\n\t, dose_form_group.str name\n\t, dose_form_group.tty tty\n\t, case when dose_form_group.suppress = 'N' then true else false end as active\n\t, case when dose_form_group.cvf = '4096' then true else false end as prescribable\nfrom sagerx_lake.rxnorm_rxnconso dose_form_group\nwhere dose_form_group.tty = 'DFG'\n\tand dose_form_group.sab = 'RXNORM'", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__dose_form_groups\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.780765Z", "completed_at": "2024-11-21T21:06:52.783057Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.783483Z", "completed_at": "2024-11-21T21:06:52.783489Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.0037550926208496094, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_rxnorm__dose_forms", "compiled": true, "compiled_code": "-- stg_rxnorm__dose_forms.sql\n\nselect\n\tdose_form.rxcui rxcui\n\t, dose_form.str name\n\t, dose_form.tty tty\n\t, case when dose_form.suppress = 'N' then true else false end as active\n\t, case when dose_form.cvf = '4096' then true else false end as prescribable\nfrom sagerx_lake.rxnorm_rxnconso dose_form\nwhere dose_form.tty = 'DF'\n\tand dose_form.sab = 'RXNORM'", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__dose_forms\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.785522Z", "completed_at": "2024-11-21T21:06:52.787840Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.788254Z", "completed_at": "2024-11-21T21:06:52.788260Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.003619670867919922, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_rxnorm__ingredient_component_links", "compiled": true, "compiled_code": "-- stg_rxnorm__ingredient_component_links.sql\n\nwith cte as (\n\tselect\n\t\trxnrel.rxcui2 as ingredient_rxcui\n\t\t, ingredient_component.rxcui as ingredient_component_rxcui\n\t\t, ingredient_component.str as ingredient_component_name\n\t\t, ingredient_component.tty as ingredient_component_tty\n\tfrom\n\t\tsagerx_lake.rxnorm_rxnrel rxnrel\n\tinner join sagerx_lake.rxnorm_rxnconso ingredient_component\n\t\ton rxnrel.rxcui1 = ingredient_component.rxcui\n\twhere rxnrel.rela = 'has_part'\n\t\tand ingredient_component.tty = 'IN'\n\t\tand ingredient_component.sab = 'RXNORM'\n)\n\nselect distinct\n\tingredient.rxcui as ingredient_rxcui\n\t, case when cte.ingredient_component_rxcui is null\n then ingredient.rxcui\n else cte.ingredient_component_rxcui\n end as ingredient_component_rxcui\nfrom sagerx_lake.rxnorm_rxnconso ingredient\nleft join cte on ingredient.rxcui = cte.ingredient_rxcui\nwhere ingredient.tty in('IN', 'MIN')\n\tand ingredient.sab = 'RXNORM'", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredient_component_links\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.790143Z", "completed_at": "2024-11-21T21:06:52.792526Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.792985Z", "completed_at": "2024-11-21T21:06:52.792992Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.0036907196044921875, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_rxnorm__ingredient_components", "compiled": true, "compiled_code": "-- stg_rxnorm__ingredient_components.sql\n\nwith cte as (\n\tselect\n\t\trxnrel.rxcui2 as ingredient_rxcui\n\t\t, ingredient_component.rxcui as rxcui\n\t\t, ingredient_component.str as name\n\t\t, ingredient_component.tty as tty\n\t\t, ingredient_component.suppress\n\t\t, ingredient_component.cvf\n\tfrom\n\t\tsagerx_lake.rxnorm_rxnrel rxnrel\n\tinner join sagerx_lake.rxnorm_rxnconso ingredient_component\n\t\ton rxnrel.rxcui1 = ingredient_component.rxcui\n\twhere rxnrel.rela = 'has_part'\n\t\tand ingredient_component.tty = 'IN'\n\t\tand ingredient_component.sab = 'RXNORM'\n)\n\nselect distinct\n\tcase when cte.rxcui is null then ingredient.rxcui else cte.rxcui end rxcui\n\t, case when cte.name is null then ingredient.str else cte.name end name\n\t, case when cte.tty is null then ingredient.tty else cte.tty end tty\n\t, case when \n\t\tcase when cte.rxcui is null then ingredient.suppress else cte.suppress end = 'N' then true else false end as active\n\t, case when \n\t\tcase when cte.rxcui is null then ingredient.cvf else cte.cvf end = '4096' then true else false end as prescribable\nfrom sagerx_lake.rxnorm_rxnconso ingredient\nleft join cte on ingredient.rxcui = cte.ingredient_rxcui\nwhere ingredient.tty in('IN', 'MIN')\n\tand ingredient.sab = 'RXNORM'", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredient_components\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.794850Z", "completed_at": "2024-11-21T21:06:52.797303Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.797768Z", "completed_at": "2024-11-21T21:06:52.797776Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.0038111209869384766, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_rxnorm__ingredient_strength_links", "compiled": true, "compiled_code": "-- stg_rxnorm__ingredient_strength_links.sql\n\nselect distinct\n\tproduct_component.rxcui as clinical_product_component_rxcui\n\t, ingredient.rxcui as ingredient_component_rxcui\n\t, ingredient_strength.rxcui as ingredient_strength_rxcui\nfrom sagerx_lake.rxnorm_rxnconso ingredient_strength\ninner join sagerx_lake.rxnorm_rxnrel has_ingredient\n on has_ingredient.rxcui2 = ingredient_strength.rxcui\n and has_ingredient.rela = 'has_ingredient'\ninner join sagerx_lake.rxnorm_rxnconso ingredient\n\ton ingredient.rxcui = has_ingredient.rxcui1\n\tand ingredient.tty = 'IN'\n\tand ingredient.sab = 'RXNORM'\ninner join sagerx_lake.rxnorm_rxnrel constitutes\n on constitutes.rxcui2 = ingredient_strength.rxcui\n and constitutes.rela = 'constitutes'\ninner join sagerx_lake.rxnorm_rxnconso product_component\n\ton product_component.rxcui = constitutes.rxcui1\n\tand product_component.tty = 'SCD'\n\tand product_component.sab = 'RXNORM'\nwhere ingredient_strength.tty = 'SCDC'\n\tand ingredient_strength.sab = 'RXNORM'", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredient_strength_links\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.799738Z", "completed_at": "2024-11-21T21:06:52.802548Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.802923Z", "completed_at": "2024-11-21T21:06:52.802930Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.004134654998779297, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_rxnorm__ingredient_strengths", "compiled": true, "compiled_code": "-- stg_rxnorm__ingredient_strengths.sql\n\nselect\n\tingredient_strength.rxcui as rxcui\n\t, ingredient_strength.str as name\n\t, numerator_value.atv as numerator_value\n\t, numerator_unit.atv as numerator_unit\n\t, denominator_value.atv as denominator_value\n\t, denominator_unit.atv as denominator_unit\n\t, text.atv as text\n\t, case when ingredient_strength.suppress = 'N'\n then true\n else false\n end as active\n\t, case when ingredient_strength.cvf = '4096'\n then true\n else false\n end as prescribable\nfrom sagerx_lake.rxnorm_rxnconso ingredient_strength\nleft join sagerx_lake.rxnorm_rxnsat numerator_value\n on numerator_value.rxcui = ingredient_strength.rxcui\n and numerator_value.atn = 'RXN_BOSS_STRENGTH_NUM_VALUE'\nleft join sagerx_lake.rxnorm_rxnsat numerator_unit\n on numerator_unit.rxcui = ingredient_strength.rxcui\n and numerator_unit.atn = 'RXN_BOSS_STRENGTH_NUM_UNIT'\nleft join sagerx_lake.rxnorm_rxnsat denominator_value\n on denominator_value.rxcui = ingredient_strength.rxcui\n and denominator_value.atn = 'RXN_BOSS_STRENGTH_DENOM_VALUE'\nleft join sagerx_lake.rxnorm_rxnsat denominator_unit\n on denominator_unit.rxcui = ingredient_strength.rxcui\n and denominator_unit.atn = 'RXN_BOSS_STRENGTH_DENOM_UNIT'\nleft join sagerx_lake.rxnorm_rxnsat text\n on text.rxcui = ingredient_strength.rxcui\n and text.atn = 'RXN_STRENGTH'\nwhere ingredient_strength.tty = 'SCDC'\n\tand ingredient_strength.sab = 'RXNORM'", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredient_strengths\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.804746Z", "completed_at": "2024-11-21T21:06:52.807145Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.807506Z", "completed_at": "2024-11-21T21:06:52.807512Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.003612518310546875, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_rxnorm__ingredients", "compiled": true, "compiled_code": "-- stg_rxnorm__ingredients.sql\n\nselect\n\tingredient.rxcui rxcui\n\t, ingredient.str name\n\t, ingredient.tty tty\n\t, case when ingredient.suppress = 'N' then true else false end as active\n\t, case when ingredient.cvf = '4096' then true else false end as prescribable\nfrom sagerx_lake.rxnorm_rxnconso ingredient\nwhere ingredient.tty in('IN', 'MIN')\n\tand ingredient.sab = 'RXNORM'", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredients\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.809268Z", "completed_at": "2024-11-21T21:06:52.812642Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.813052Z", "completed_at": "2024-11-21T21:06:52.813058Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.0045986175537109375, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_rxnorm__mthspl_ndcs", "compiled": true, "compiled_code": "-- stg_rxnorm__mthspl_ndcs.sql\n\nselect\n \n \n CASE WHEN \n \n \n CASE WHEN rxnsat.atv ~ '^\\d{10}$' THEN '10 Digit'\n WHEN rxnsat.atv ~ '^\\d{11}$' THEN '11 Digit'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '10 Digit' THEN NULL\n WHEN \n \n \n CASE WHEN rxnsat.atv ~ '^\\d{10}$' THEN '10 Digit'\n WHEN rxnsat.atv ~ '^\\d{11}$' THEN '11 Digit'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '11 Digit' THEN rxnsat.atv\n WHEN \n \n \n CASE WHEN rxnsat.atv ~ '^\\d{10}$' THEN '10 Digit'\n WHEN rxnsat.atv ~ '^\\d{11}$' THEN '11 Digit'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-4-2' THEN '0' || LEFT(rxnsat.atv,4) || REPLACE(RIGHT(rxnsat.atv,7),'-','')\n WHEN \n \n \n CASE WHEN rxnsat.atv ~ '^\\d{10}$' THEN '10 Digit'\n WHEN rxnsat.atv ~ '^\\d{11}$' THEN '11 Digit'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-3-2' THEN LEFT(rxnsat.atv,5) || '0' || REPLACE(RIGHT(rxnsat.atv,6),'-','')\n WHEN \n \n \n CASE WHEN rxnsat.atv ~ '^\\d{10}$' THEN '10 Digit'\n WHEN rxnsat.atv ~ '^\\d{11}$' THEN '11 Digit'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-1' THEN REPLACE(LEFT(rxnsat.atv,10),'-','') || '0' || RIGHT(rxnsat.atv, 1)\n WHEN \n \n \n CASE WHEN rxnsat.atv ~ '^\\d{10}$' THEN '10 Digit'\n WHEN rxnsat.atv ~ '^\\d{11}$' THEN '11 Digit'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-2' THEN REPLACE(rxnsat.atv,'-','')\n WHEN \n \n \n CASE WHEN rxnsat.atv ~ '^\\d{10}$' THEN '10 Digit'\n WHEN rxnsat.atv ~ '^\\d{11}$' THEN '11 Digit'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-5' THEN NULL\n WHEN \n \n \n CASE WHEN rxnsat.atv ~ '^\\d{10}$' THEN '10 Digit'\n WHEN rxnsat.atv ~ '^\\d{11}$' THEN '11 Digit'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN rxnsat.atv ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN rxnsat.atv ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-6' THEN NULL\n ELSE NULL\n END\n \n as ndc11\n , rxnsat.atv as ndc\n , rxnsat.rxcui\n\t, case when rxnsat.suppress = 'N' then true else false end as active\n\t, case when rxnsat.cvf = '4096' then true else false end as prescribable\nfrom sagerx_lake.rxnorm_rxnsat rxnsat\n where rxnsat.atn = 'NDC'\n and rxnsat.sab = 'MTHSPL'", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__mthspl_ndcs\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.814873Z", "completed_at": "2024-11-21T21:06:52.818819Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.819182Z", "completed_at": "2024-11-21T21:06:52.819188Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.005134105682373047, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_rxnorm__mthspl_products", "compiled": true, "compiled_code": "-- stg_rxnorm__mthspl_products.sql\n\nselect\n\tproduct.rxcui as rxcui\n\t, product.str as name\n\t, product.tty as tty\n\t, product.rxaui as rxaui\n\t, product.code as ndc\n\t, case when product.suppress = 'N' then true else false end as active\n\t, case when product.cvf = '4096' then true else false end as prescribable\nfrom sagerx_lake.rxnorm_rxnconso product\nwhere product.tty = 'DP'\n\tand product.sab = 'MTHSPL'", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__mthspl_products\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.821054Z", "completed_at": "2024-11-21T21:06:52.823354Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.823732Z", "completed_at": "2024-11-21T21:06:52.823737Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.003517627716064453, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_rxnorm__mthspl_substances", "compiled": true, "compiled_code": "-- stg_rxnorm__mthspl_substances.sql\n\nselect\n\tsubstance.rxcui rxcui\n\t, substance.str name\n\t, substance.tty tty\n\t, substance.rxaui rxaui\n\t, substance.code unii\n\t, case when substance.suppress = 'N' then true else false end as active\n\t, case when substance.cvf = '4096' then true else false end as prescribable\nfrom sagerx_lake.rxnorm_rxnconso substance\nwhere substance.tty = 'SU'\n\tand substance.sab = 'MTHSPL'", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__mthspl_substances\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.825688Z", "completed_at": "2024-11-21T21:06:52.827883Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.828235Z", "completed_at": "2024-11-21T21:06:52.828240Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.003377676010131836, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_rxnorm__ndcs", "compiled": true, "compiled_code": "-- stg_rxnorm__ndcs.sql\n\nselect rxnsat.atv as ndc\n\t,case when product.tty in ('BPCK','SBD') then clinical_product.rxcui\n\t\telse rxnsat.rxcui end as clinical_product_rxcui\t\t\n\t,case when product.tty in ('BPCK','SBD') then rxnsat.rxcui\n\t\telse null end as brand_product_rxcui\n\t, case when rxnsat.suppress = 'N' then true else false end as active\n\t, case when rxnsat.cvf = '4096' then true else false end as prescribable\nfrom sagerx_lake.rxnorm_rxnsat rxnsat\n\tinner join sagerx_lake.rxnorm_rxnconso product on rxnsat.rxaui = product.rxaui\n\tleft join sagerx_lake.rxnorm_rxnrel rxnrel on rxnsat.rxcui = rxnrel.rxcui2 and rela = 'tradename_of' and product.tty in ('BPCK','SBD')\n\tleft join sagerx_lake.rxnorm_rxnconso clinical_product\n\t\ton rxnrel.rxcui1 = clinical_product.rxcui\n\t\tand clinical_product.tty in ('SCD','GPCK')\n\t\tand clinical_product.sab = 'RXNORM'\nwhere rxnsat.atn = 'NDC'\n\tand rxnsat.sab in ('ATC', 'CVX', 'DRUGBANK', 'MSH', 'MTHCMSFRF', 'MTHSPL', 'RXNORM', 'USP', 'VANDF')\n\tand product.tty in ('SCD','SBD','GPCK','BPCK')\n\tand product.sab = 'RXNORM'", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ndcs\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.830250Z", "completed_at": "2024-11-21T21:06:52.832641Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.833021Z", "completed_at": "2024-11-21T21:06:52.833027Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.0037686824798583984, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_rxnorm__precise_ingredient_links", "compiled": true, "compiled_code": "-- stg_rxnorm__precise_ingredient_links.sql\n\nselect distinct\n\tingredient_strength.rxcui as ingredient_strength_rxcui\n\t, precise_ingredient.rxcui as precise_ingredient_rxcui\nfrom sagerx_lake.rxnorm_rxnconso precise_ingredient\ninner join sagerx_lake.rxnorm_rxnrel precise_ingredient_of\n on precise_ingredient_of.rxcui2 = precise_ingredient.rxcui\n and precise_ingredient_of.rela = 'precise_ingredient_of'\ninner join sagerx_lake.rxnorm_rxnconso ingredient_strength\n\ton ingredient_strength.rxcui = precise_ingredient_of.rxcui1\n\tand ingredient_strength.tty = 'SCDC'\n\tand ingredient_strength.sab = 'RXNORM'\nwhere precise_ingredient.tty = 'PIN'\n\tand precise_ingredient.sab = 'RXNORM'", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__precise_ingredient_links\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.834917Z", "completed_at": "2024-11-21T21:06:52.837326Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.837698Z", "completed_at": "2024-11-21T21:06:52.837704Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.0036382675170898438, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_rxnorm__precise_ingredients", "compiled": true, "compiled_code": "-- stg_rxnorm__precise_ingredients.sql\n\nselect\n\tingredient.rxcui rxcui\n\t, ingredient.str name\n\t, ingredient.tty tty\n\t, case when ingredient.suppress = 'N' then true else false end as active\n\t, case when ingredient.cvf = '4096' then true else false end as prescribable\nfrom sagerx_lake.rxnorm_rxnconso ingredient\nwhere ingredient.tty = 'PIN'\n\tand ingredient.sab = 'RXNORM'", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__precise_ingredients\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.839612Z", "completed_at": "2024-11-21T21:06:52.843000Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.843381Z", "completed_at": "2024-11-21T21:06:52.843387Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.004633188247680664, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_rxnorm__product_rxcuis", "compiled": true, "compiled_code": "-- stg_rxnorm__product_rxcuis\n\nselect * from \"sagerx\".\"sagerx_lake\".\"rxnorm_rxnconso\"\nwhere sab = 'RXNORM'\n and tty in ('SCD', 'SBD', 'GPCK', 'BPCK')", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__product_rxcuis\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.845475Z", "completed_at": "2024-11-21T21:06:52.848809Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.849187Z", "completed_at": "2024-11-21T21:06:52.849194Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.004667043685913086, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_rxnorm_historical__ndcs", "compiled": true, "compiled_code": "-- stg_rxnorm_historical__ndcs.sql\n\nselect\n *\nfrom \"sagerx\".\"sagerx_lake\".\"rxnorm_historical\"", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm_historical__ndcs\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.851155Z", "completed_at": "2024-11-21T21:06:52.854323Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.854686Z", "completed_at": "2024-11-21T21:06:52.854693Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.004590511322021484, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_rxterms__names", "compiled": true, "compiled_code": "with\n\nrxterms as (\n\n select * from \"sagerx\".\"sagerx_lake\".\"rxterms\"\n \n)\n\nselect distinct\n display_name as name\n , display_name_synonym as synonyms\nfrom rxterms\nwhere suppress_for is null \n and is_retired is null", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxterms__names\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.856739Z", "completed_at": "2024-11-21T21:06:52.859672Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.860031Z", "completed_at": "2024-11-21T21:06:52.860036Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.0041120052337646484, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_rxterms__strengths", "compiled": true, "compiled_code": "with\n\nrxterms as (\n\n select * from \"sagerx\".\"sagerx_lake\".\"rxterms\"\n \n)\n\nselect distinct\n rxcui\n , display_name as name\n , concat(strength, ' ', new_dose_form) as strength\nfrom rxterms\nwhere suppress_for is null \n and is_retired is null", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxterms__strengths\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.861841Z", "completed_at": "2024-11-21T21:06:52.863716Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.864084Z", "completed_at": "2024-11-21T21:06:52.864090Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.003047943115234375, "adapter_response": {}, "message": null, "failures": null, "unique_id": "seed.sagerx.usp_preservatives", "compiled": null, "compiled_code": null, "relation_name": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.865941Z", "completed_at": "2024-11-21T21:06:52.869969Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.870354Z", "completed_at": "2024-11-21T21:06:52.870362Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.005266904830932617, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.int_dailymed_organization_metrics", "compiled": true, "compiled_code": "/* intermediate.int_dailymed_organization_metrics */\n\nwith dailymed_main as (\n select * from \"sagerx\".\"sagerx_dev\".\"stg_dailymed__main\"\n),\n\ndailymed_organizations as (\n select * from \"sagerx\".\"sagerx_dev\".\"stg_dailymed__organizations\"\n),\n\ndailymed_organization_texts as (\n select * from \"sagerx\".\"sagerx_dev\".\"stg_dailymed__organization_texts\"\n)\n\nselect o.set_id\n\t, ma.market_status\n\t, sum(case when org_type = 'Functioner' then 1 else 0 end) as functioner_count\n\t, sum(case when org_type = 'Labeler' then 1 else 0 end) as labeler_count\n\t, sum(case when org_type = 'Repacker' then 1 else 0 end) as repacker_count\n\t, case when sum(case when ot.set_id is not null then 1 else 0 end) > 0 then 'Yes' else '' end as organization_text\n\t, case when sum(case when org_type = 'Labeler' then 1 else 0 end) = 1 \n\t\t\t\tand sum(case when org_type = 'Functioner' then 1 else 0 end) = 0\n\t\t\tthen 'yes' else '' end as labeler_only\n\t, count(*)\nfrom dailymed_main ma\n\tinner join dailymed_organizations o\n on o.set_id = ma.set_id\n\tleft join dailymed_organization_texts ot\n on o.set_id = ot.set_id\ngroup by o.set_id, ma.market_status", "relation_name": "\"sagerx\".\"sagerx_dev\".\"int_dailymed_organization_metrics\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.872275Z", "completed_at": "2024-11-21T21:06:52.875492Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.875864Z", "completed_at": "2024-11-21T21:06:52.875870Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.0044400691986083984, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_dailymed__package_label_section_images", "compiled": true, "compiled_code": "/* stg_dailymed__package_label_section_images */\n\nwith\n\npackage_label_sections as\n(\n\tselect * from \"sagerx\".\"sagerx_dev\".\"stg_dailymed__package_label_sections\"\n),\n\nimages as (\n\n\tselect\n\t\tp.set_id,\n\t\tp.id as package_label_section_id,\n\t\ty.*\n\tfrom package_label_sections p,\n\t\txmltable(\n\t\t\t'//MediaList/Media' passing media_list\n\t\t\tcolumns \n\t\t\t\timage \t\ttext path 'Image',\n\t\t\t\timage_id \ttext path 'ID'\n\t\t) y\n\n),\n\nid_images as (\n\n\tselect\n\t\trow_number() over() as id,\n\t\t*\n\tfrom images\n\n)\n\nselect * from id_images", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_dailymed__package_label_section_images\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.877762Z", "completed_at": "2024-11-21T21:06:52.880909Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.881311Z", "completed_at": "2024-11-21T21:06:52.881317Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.004385471343994141, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_dailymed__package_label_section_ndcs", "compiled": true, "compiled_code": "/* stg_dailymed__package_label_section_ndcs */\n\nwith\n\npackage_label_sections as\n(\n\tselect * from \"sagerx\".\"sagerx_dev\".\"stg_dailymed__package_label_sections\"\n),\n\nndcs as (\n\n\tselect\n\t\tp.set_id,\n\t\tp.id as package_label_section_id,\n\t\t-- TODO: account for NDCs with spaces instead of dashes\n\t\t-- example ndc 55292 140 01\n\t\t-- example set_id a0aad470-3f38-af97-e053-2995a90a383a\n\t\tregexp_replace(regexp_replace((regexp_matches(p.text, '(?:\\d{4}|\\d{5})\\s*(?:-|\u2013)\\s*\\d{3,6}\\s*(?:-|\u2013)\\s*\\d{1,2}|\\d{11}|\\d{10}', 'g'))[1], '\\s', '', 'g'), '\u2013', '-') as ndc\n\tfrom package_label_sections p\n\n),\n\nid_ndcs as (\n\n\tselect\n\t\trow_number() over() as id,\n\t\t*\n\tfrom ndcs\n\n)\n\nselect * from id_ndcs", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_dailymed__package_label_section_ndcs\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.883165Z", "completed_at": "2024-11-21T21:06:52.897372Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.897745Z", "completed_at": "2024-11-21T21:06:52.897751Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.015413045883178711, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.sagerx.not_null_stg_fda_excluded__ndcs_ndc11.f9b06099d2", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect ndc11\nfrom \"sagerx\".\"sagerx_dev\".\"stg_fda_excluded__ndcs\"\nwhere ndc11 is null\n\n\n", "relation_name": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.899599Z", "completed_at": "2024-11-21T21:06:52.906139Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.906502Z", "completed_at": "2024-11-21T21:06:52.906507Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.007736921310424805, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.sagerx.unique_stg_fda_excluded__ndcs_ndc11.fcedc4532b", "compiled": true, "compiled_code": "\n \n \n\nselect\n ndc11 as unique_field,\n count(*) as n_records\n\nfrom \"sagerx\".\"sagerx_dev\".\"stg_fda_excluded__ndcs\"\nwhere ndc11 is not null\ngroup by ndc11\nhaving count(*) > 1\n\n\n", "relation_name": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.908310Z", "completed_at": "2024-11-21T21:06:52.911862Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.912218Z", "completed_at": "2024-11-21T21:06:52.912223Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.0047223567962646484, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.int_fda_ndc_to_te", "compiled": true, "compiled_code": "-- DISCLAIMER: This model is under development and incomplete.\n\nwith cte as (\n select\n fda.ndc11\n , obp.te_code\n , count(fda.ndc11) over( partition by fda.ndc11 ) as num_te_codes\n from \"sagerx\".\"sagerx_lake\".\"orange_book_products\" as obp\n inner join \"sagerx\".\"sagerx_dev\".\"stg_fda_ndc__ndcs\" as fda \n on concat(case when obp.appl_type = 'A' then 'ANDA' else 'NDA' end, obp.appl_no) = fda.applicationnumber\n group by fda.ndc11, obp.te_code\n)\nselect\n fda.ndc11\n , fda.applicationnumber as application_number\n , cte.te_code\n , left(cte.te_code, 2) as first_two_te_code\n , left(cte.te_code, 1) as first_one_te_code\nfrom \"sagerx\".\"sagerx_dev\".\"stg_fda_ndc__ndcs\" as fda \ninner join cte \n on fda.ndc11 = cte.ndc11 \n and cte.num_te_codes = 1", "relation_name": "\"sagerx\".\"sagerx_dev\".\"int_fda_ndc_to_te\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.914222Z", "completed_at": "2024-11-21T21:06:52.918181Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.918541Z", "completed_at": "2024-11-21T21:06:52.918547Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.005317211151123047, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.sagerx.not_null_stg_fda_ndc__ndcs_ndc11.7680fa8975", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect ndc11\nfrom \"sagerx\".\"sagerx_dev\".\"stg_fda_ndc__ndcs\"\nwhere ndc11 is null\n\n\n", "relation_name": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.920366Z", "completed_at": "2024-11-21T21:06:52.924293Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.924661Z", "completed_at": "2024-11-21T21:06:52.924666Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.005117177963256836, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.sagerx.unique_stg_fda_ndc__ndcs_ndc11.8b4e77e239", "compiled": true, "compiled_code": "\n \n \n\nselect\n ndc11 as unique_field,\n count(*) as n_records\n\nfrom \"sagerx\".\"sagerx_dev\".\"stg_fda_ndc__ndcs\"\nwhere ndc11 is not null\ngroup by ndc11\nhaving count(*) > 1\n\n\n", "relation_name": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.926484Z", "completed_at": "2024-11-21T21:06:52.930478Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.930843Z", "completed_at": "2024-11-21T21:06:52.930849Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.005181789398193359, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.sagerx.not_null_stg_fda_unfinished__ndcs_ndc11.0257f0c5fe", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect ndc11\nfrom \"sagerx\".\"sagerx_dev\".\"stg_fda_unfinished__ndcs\"\nwhere ndc11 is null\n\n\n", "relation_name": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.932830Z", "completed_at": "2024-11-21T21:06:52.936775Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.937140Z", "completed_at": "2024-11-21T21:06:52.937145Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.005150794982910156, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.sagerx.unique_stg_fda_unfinished__ndcs_ndc11.dd8892c8c6", "compiled": true, "compiled_code": "\n \n \n\nselect\n ndc11 as unique_field,\n count(*) as n_records\n\nfrom \"sagerx\".\"sagerx_dev\".\"stg_fda_unfinished__ndcs\"\nwhere ndc11 is not null\ngroup by ndc11\nhaving count(*) > 1\n\n\n", "relation_name": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.939086Z", "completed_at": "2024-11-21T21:06:52.942259Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.942621Z", "completed_at": "2024-11-21T21:06:52.942626Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.004350185394287109, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_nadac__enhanced_nadac", "compiled": true, "compiled_code": "-- stg_nadac__enhanced_nadac.sql\n\nwith\n\nall_nadac as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_nadac__all_nadac\"\n\n),\n\nnadac as (\n\t\n\tselect ndc\n\t\t, ndc_description\n\t\t, row_number() over (partition by ndc order by effective_date desc) as price_line\n\t\t, effective_date as price_start_date\n\t\t, lag(effective_date, 1) over (partition by ndc order by effective_date desc) price_end_date\n\t\t, nadac_per_unit\n\t\t, pricing_unit\n\t\tfrom all_nadac\n\n)\n\nselect\n\tndc\n\t, ndc_description\n\t, price_line\n\t, nadac_per_unit\n\t, pricing_unit \n\t, price_start_date\n\t, case when price_line = 1 then true else false end as most_recent_price\n\t, case when price_line = first_value(price_line) over (partition by ndc order by price_line desc) then true else false end as first_price\n\t, (nadac_per_unit - lag(nadac_per_unit) over (partition by ndc order by price_line desc)) as dollar_change\n\t, (nadac_per_unit - lag(nadac_per_unit) over (partition by ndc order by price_line desc)) /\n\t\tlag(nadac_per_unit) over (partition by ndc order by price_line desc) as percent_change\n\t, case when (nadac_per_unit - lag(nadac_per_unit) over (partition by ndc order by price_line desc)) > 0 then 1\n\t\twhen (nadac_per_unit - lag(nadac_per_unit) over (partition by ndc order by price_line desc)) = 0 then 0\n\t\twhen (nadac_per_unit - lag(nadac_per_unit) over (partition by ndc order by price_line desc)) is null then null\n\t\telse -1 end as change_type\nfrom nadac", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_nadac__enhanced_nadac\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.944606Z", "completed_at": "2024-11-21T21:06:52.948704Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.949222Z", "completed_at": "2024-11-21T21:06:52.949228Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.005453348159790039, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.sagerx.not_null_stg_nadac__all_nadac_ndc.13fad59845", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect ndc\nfrom \"sagerx\".\"sagerx_dev\".\"stg_nadac__all_nadac\"\nwhere ndc is null\n\n\n", "relation_name": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.951200Z", "completed_at": "2024-11-21T21:06:52.955189Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.955553Z", "completed_at": "2024-11-21T21:06:52.955558Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.005179882049560547, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.sagerx.not_null_stg_nadac__all_nadac_ndc_description.d0df11974f", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect ndc_description\nfrom \"sagerx\".\"sagerx_dev\".\"stg_nadac__all_nadac\"\nwhere ndc_description is null\n\n\n", "relation_name": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.957450Z", "completed_at": "2024-11-21T21:06:52.960391Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.960760Z", "completed_at": "2024-11-21T21:06:52.960765Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.004143953323364258, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.int_rxnorm_all_ndcs_to_product_rxcuis", "compiled": true, "compiled_code": "with all_ndcs as\n(\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__all_ndcs\"\n),\n\nproduct_rxcuis as\n(\n select * from sagerx_lake.rxnorm_rxnconso\n where sab = 'RXNORM'\n and tty in ('SCD', 'SBD', 'GPCK', 'BPCK')\n)\n\nselect distinct\n all_ndcs.ndc11\n , product_rxcuis.rxcui\nfrom all_ndcs\ninner join product_rxcuis\n on all_ndcs.rxcui = product_rxcuis.rxcui", "relation_name": "\"sagerx\".\"sagerx_dev\".\"int_rxnorm_all_ndcs_to_product_rxcuis\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.962634Z", "completed_at": "2024-11-21T21:06:52.968361Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.968745Z", "completed_at": "2024-11-21T21:06:52.968751Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.006961345672607422, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.sagerx.not_null_stg_rxnorm__brand_product_component_links_brand_product_component_rxcui.9f497ef16e", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect brand_product_component_rxcui\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__brand_product_component_links\"\nwhere brand_product_component_rxcui is null\n\n\n", "relation_name": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.970633Z", "completed_at": "2024-11-21T21:06:52.974884Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.975261Z", "completed_at": "2024-11-21T21:06:52.975267Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.005479335784912109, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.sagerx.not_null_stg_rxnorm__brand_product_component_links_brand_product_rxcui.6135a1fa50", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect brand_product_rxcui\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__brand_product_component_links\"\nwhere brand_product_rxcui is null\n\n\n", "relation_name": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.977170Z", "completed_at": "2024-11-21T21:06:52.981462Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.981842Z", "completed_at": "2024-11-21T21:06:52.981848Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.005534648895263672, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.sagerx.not_null_stg_rxnorm__brand_product_components_clinical_product_component_rxcui.25fdaf356b", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect clinical_product_component_rxcui\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__brand_product_components\"\nwhere clinical_product_component_rxcui is null\n\n\n", "relation_name": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.983713Z", "completed_at": "2024-11-21T21:06:52.987696Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.988067Z", "completed_at": "2024-11-21T21:06:52.988072Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.005196571350097656, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.sagerx.not_null_stg_rxnorm__brand_product_components_rxcui.4917a3f0ca", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect rxcui\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__brand_product_components\"\nwhere rxcui is null\n\n\n", "relation_name": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.989937Z", "completed_at": "2024-11-21T21:06:52.993871Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:52.994240Z", "completed_at": "2024-11-21T21:06:52.994245Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.005140542984008789, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.sagerx.unique_stg_rxnorm__brand_product_components_rxcui.cd3b918573", "compiled": true, "compiled_code": "\n \n \n\nselect\n rxcui as unique_field,\n count(*) as n_records\n\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__brand_product_components\"\nwhere rxcui is not null\ngroup by rxcui\nhaving count(*) > 1\n\n\n", "relation_name": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:52.996078Z", "completed_at": "2024-11-21T21:06:53.000231Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.000714Z", "completed_at": "2024-11-21T21:06:53.000722Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.0055027008056640625, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.sagerx.not_null_stg_rxnorm__brand_products_rxcui.634ef0c2ff", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect rxcui\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__brand_products\"\nwhere rxcui is null\n\n\n", "relation_name": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.003333Z", "completed_at": "2024-11-21T21:06:53.010926Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.011574Z", "completed_at": "2024-11-21T21:06:53.011584Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.009642362594604492, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.sagerx.unique_stg_rxnorm__brand_products_rxcui.da77867bbd", "compiled": true, "compiled_code": "\n \n \n\nselect\n rxcui as unique_field,\n count(*) as n_records\n\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__brand_products\"\nwhere rxcui is not null\ngroup by rxcui\nhaving count(*) > 1\n\n\n", "relation_name": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.014821Z", "completed_at": "2024-11-21T21:06:53.020813Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.021228Z", "completed_at": "2024-11-21T21:06:53.021236Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.007834672927856445, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.sagerx.not_null_stg_rxnorm__brands_rxcui.d067686860", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect rxcui\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__brands\"\nwhere rxcui is null\n\n\n", "relation_name": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.023356Z", "completed_at": "2024-11-21T21:06:53.028297Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.028744Z", "completed_at": "2024-11-21T21:06:53.028752Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.006346940994262695, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.sagerx.unique_stg_rxnorm__brands_rxcui.a2c8cd0cd0", "compiled": true, "compiled_code": "\n \n \n\nselect\n rxcui as unique_field,\n count(*) as n_records\n\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__brands\"\nwhere rxcui is not null\ngroup by rxcui\nhaving count(*) > 1\n\n\n", "relation_name": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.030914Z", "completed_at": "2024-11-21T21:06:53.038277Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.038741Z", "completed_at": "2024-11-21T21:06:53.038748Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.008823394775390625, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.sagerx.not_null_stg_rxnorm__clinical_product_component_links_clinical_product_component_rxcui.869196279f", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect clinical_product_component_rxcui\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_product_component_links\"\nwhere clinical_product_component_rxcui is null\n\n\n", "relation_name": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.040956Z", "completed_at": "2024-11-21T21:06:53.046068Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.046512Z", "completed_at": "2024-11-21T21:06:53.046520Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.006566047668457031, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.sagerx.not_null_stg_rxnorm__clinical_product_component_links_clinical_product_rxcui.94c75bf656", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect clinical_product_rxcui\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_product_component_links\"\nwhere clinical_product_rxcui is null\n\n\n", "relation_name": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.048633Z", "completed_at": "2024-11-21T21:06:53.053414Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.053836Z", "completed_at": "2024-11-21T21:06:53.053844Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.006173849105834961, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.sagerx.not_null_stg_rxnorm__clinical_product_components_rxcui.0b9c81f7ae", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect rxcui\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_product_components\"\nwhere rxcui is null\n\n\n", "relation_name": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.055915Z", "completed_at": "2024-11-21T21:06:53.062594Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.063017Z", "completed_at": "2024-11-21T21:06:53.063025Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.008052825927734375, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.sagerx.unique_stg_rxnorm__clinical_product_components_rxcui.2705e1f418", "compiled": true, "compiled_code": "\n \n \n\nselect\n rxcui as unique_field,\n count(*) as n_records\n\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_product_components\"\nwhere rxcui is not null\ngroup by rxcui\nhaving count(*) > 1\n\n\n", "relation_name": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.065096Z", "completed_at": "2024-11-21T21:06:53.069927Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.070369Z", "completed_at": "2024-11-21T21:06:53.070377Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.006232261657714844, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_rxnorm__products", "compiled": true, "compiled_code": "-- stg_rxnorm__products.sql\n\nselect\n\tproduct.rxcui as rxcui\n\t, product.str as name\n\t, product.tty as tty\n , case\n when brand_product.rxcui is not null then brand_product.clinical_product_rxcui\n else product.rxcui\n end as clinical_product_rxcui\n\t, case\n when product.suppress = 'N' then true\n else false\n end as active\n\t, case \n when product.cvf = '4096' then true \n else false\n end as prescribable\nfrom \"sagerx\".\"sagerx_lake\".\"rxnorm_rxnconso\" product\nleft join \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__brand_products\" brand_product\n on product.rxcui = brand_product.rxcui\nwhere product.tty in('SCD', 'GPCK', 'SBD', 'BPCK')\n\tand product.sab = 'RXNORM'\n\n/*\nwith\n\nrcp as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_products\"\n\n),\n\nrbp as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__brand_products\"\n\n)\n\nselect distinct\n coalesce(rbp.rxcui, rcp.rxcui, null) as product_rxcui\n , coalesce(rbp.name, rcp.name, null) as product_name\n , coalesce(rbp.tty, rcp.tty, null) as product_tty\n , rcp.rxcui as clinical_product_rxcui\n , rcp.name as clinical_product_name\n , rcp.tty as clinical_product_tty\nfrom rcp\nleft join rbp\n on rbp.clinical_product_rxcui = rcp.rxcui\n*/", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm__products\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.072578Z", "completed_at": "2024-11-21T21:06:53.077643Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.078093Z", "completed_at": "2024-11-21T21:06:53.078101Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.006523609161376953, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.sagerx.not_null_stg_rxnorm__clinical_products_rxcui.5dd04a1235", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect rxcui\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_products\"\nwhere rxcui is null\n\n\n", "relation_name": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.080290Z", "completed_at": "2024-11-21T21:06:53.085285Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.085718Z", "completed_at": "2024-11-21T21:06:53.085726Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.006424903869628906, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.sagerx.unique_stg_rxnorm__clinical_products_rxcui.0bac3cbe9c", "compiled": true, "compiled_code": "\n \n \n\nselect\n rxcui as unique_field,\n count(*) as n_records\n\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_products\"\nwhere rxcui is not null\ngroup by rxcui\nhaving count(*) > 1\n\n\n", "relation_name": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.087890Z", "completed_at": "2024-11-21T21:06:53.093291Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.093746Z", "completed_at": "2024-11-21T21:06:53.093754Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.006854057312011719, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.sagerx.not_null_stg_rxnorm__dose_form_group_links_dose_form_group_rxcui.f4fde7102f", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect dose_form_group_rxcui\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__dose_form_group_links\"\nwhere dose_form_group_rxcui is null\n\n\n", "relation_name": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.095980Z", "completed_at": "2024-11-21T21:06:53.101184Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.101643Z", "completed_at": "2024-11-21T21:06:53.101651Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.006680488586425781, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.sagerx.not_null_stg_rxnorm__dose_form_group_links_dose_form_rxcui.3fdd0d4bb1", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect dose_form_rxcui\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__dose_form_group_links\"\nwhere dose_form_rxcui is null\n\n\n", "relation_name": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.103862Z", "completed_at": "2024-11-21T21:06:53.108886Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.109324Z", "completed_at": "2024-11-21T21:06:53.109332Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.006453990936279297, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.sagerx.not_null_stg_rxnorm__dose_form_groups_rxcui.eca504df20", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect rxcui\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__dose_form_groups\"\nwhere rxcui is null\n\n\n", "relation_name": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.111501Z", "completed_at": "2024-11-21T21:06:53.116478Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.116917Z", "completed_at": "2024-11-21T21:06:53.116925Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.006411314010620117, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.sagerx.unique_stg_rxnorm__dose_form_groups_rxcui.b2e6200e1b", "compiled": true, "compiled_code": "\n \n \n\nselect\n rxcui as unique_field,\n count(*) as n_records\n\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__dose_form_groups\"\nwhere rxcui is not null\ngroup by rxcui\nhaving count(*) > 1\n\n\n", "relation_name": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.119266Z", "completed_at": "2024-11-21T21:06:53.124216Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.124653Z", "completed_at": "2024-11-21T21:06:53.124660Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.0064945220947265625, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.int_rxnorm_clinical_products_to_dose_forms", "compiled": true, "compiled_code": "-- int_rxnorm_clinical_products_to_dose_forms.sql\n\nwith\n\nrcp as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_products\"\n\n),\n\nrcpcl as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_product_component_links\"\n\n),\n\nrcpc as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_product_components\"\n\n),\n\nrdf as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__dose_forms\"\n\n)\n\nselect\n rcp.rxcui as clinical_product_rxcui\n , rcp.name as clinical_product_name\n , rcp.tty as clinical_product_tty\n , rcpc.rxcui as clinical_product_component_rxcui\n , rcpc.name as clinical_product_compnent_name\n , rcpc.tty as clinical_product_component_tty\n , rdf.rxcui as dose_form_rxcui\n , rdf.name as dose_form_name\n , rdf.tty as dose_form_tty\n , rcp.active\n , rcp.prescribable\nfrom rcp \nleft join rcpcl \n on rcp.rxcui = rcpcl.clinical_product_rxcui \nleft join rcpc \n on rcpcl.clinical_product_component_rxcui = rcpc.rxcui \nleft join rdf \n on rcpc.dose_form_rxcui = rdf.rxcui", "relation_name": "\"sagerx\".\"sagerx_dev\".\"int_rxnorm_clinical_products_to_dose_forms\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.126725Z", "completed_at": "2024-11-21T21:06:53.131461Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.131872Z", "completed_at": "2024-11-21T21:06:53.131880Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.0060727596282958984, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.sagerx.not_null_stg_rxnorm__dose_forms_rxcui.a06bc0be08", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect rxcui\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__dose_forms\"\nwhere rxcui is null\n\n\n", "relation_name": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.133949Z", "completed_at": "2024-11-21T21:06:53.138711Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.139128Z", "completed_at": "2024-11-21T21:06:53.139135Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.006128072738647461, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.sagerx.unique_stg_rxnorm__dose_forms_rxcui.c7fb3a8da2", "compiled": true, "compiled_code": "\n \n \n\nselect\n rxcui as unique_field,\n count(*) as n_records\n\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__dose_forms\"\nwhere rxcui is not null\ngroup by rxcui\nhaving count(*) > 1\n\n\n", "relation_name": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.141260Z", "completed_at": "2024-11-21T21:06:53.146452Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.147035Z", "completed_at": "2024-11-21T21:06:53.147045Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.006756782531738281, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.sagerx.not_null_stg_rxnorm__ingredient_component_links_ingredient_component_rxcui.a6923961b3", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect ingredient_component_rxcui\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredient_component_links\"\nwhere ingredient_component_rxcui is null\n\n\n", "relation_name": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.149208Z", "completed_at": "2024-11-21T21:06:53.156482Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.156904Z", "completed_at": "2024-11-21T21:06:53.156911Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.008653402328491211, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.sagerx.not_null_stg_rxnorm__ingredient_component_links_ingredient_rxcui.303404889c", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect ingredient_rxcui\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredient_component_links\"\nwhere ingredient_rxcui is null\n\n\n", "relation_name": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.158974Z", "completed_at": "2024-11-21T21:06:53.168276Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.168707Z", "completed_at": "2024-11-21T21:06:53.168715Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.010679244995117188, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.sagerx.accepted_values_stg_rxnorm__ingredient_components_tty__IN.5d941aec74", "compiled": true, "compiled_code": "\n \n \n\nwith all_values as (\n\n select\n tty as value_field,\n count(*) as n_records\n\n from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredient_components\"\n group by tty\n\n)\n\nselect *\nfrom all_values\nwhere value_field not in (\n 'IN'\n)\n\n\n", "relation_name": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.170714Z", "completed_at": "2024-11-21T21:06:53.175150Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.175527Z", "completed_at": "2024-11-21T21:06:53.175533Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.005703449249267578, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.sagerx.not_null_stg_rxnorm__ingredient_components_rxcui.aed8b0d4c5", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect rxcui\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredient_components\"\nwhere rxcui is null\n\n\n", "relation_name": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.177534Z", "completed_at": "2024-11-21T21:06:53.181762Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.182140Z", "completed_at": "2024-11-21T21:06:53.182146Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.005498170852661133, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.sagerx.unique_stg_rxnorm__ingredient_components_rxcui.75f7804348", "compiled": true, "compiled_code": "\n \n \n\nselect\n rxcui as unique_field,\n count(*) as n_records\n\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredient_components\"\nwhere rxcui is not null\ngroup by rxcui\nhaving count(*) > 1\n\n\n", "relation_name": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.184076Z", "completed_at": "2024-11-21T21:06:53.188582Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.188973Z", "completed_at": "2024-11-21T21:06:53.188980Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.0057828426361083984, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.sagerx.not_null_stg_rxnorm__ingredient_strength_links_clinical_product_component_rxcui.6be28272b5", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect clinical_product_component_rxcui\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredient_strength_links\"\nwhere clinical_product_component_rxcui is null\n\n\n", "relation_name": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.190942Z", "completed_at": "2024-11-21T21:06:53.195881Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.196280Z", "completed_at": "2024-11-21T21:06:53.196288Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.006256103515625, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.sagerx.not_null_stg_rxnorm__ingredient_strength_links_ingredient_component_rxcui.fec66d7333", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect ingredient_component_rxcui\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredient_strength_links\"\nwhere ingredient_component_rxcui is null\n\n\n", "relation_name": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.198297Z", "completed_at": "2024-11-21T21:06:53.203224Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.203620Z", "completed_at": "2024-11-21T21:06:53.203627Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.006219625473022461, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.sagerx.not_null_stg_rxnorm__ingredient_strength_links_ingredient_strength_rxcui.3527b30bda", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect ingredient_strength_rxcui\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredient_strength_links\"\nwhere ingredient_strength_rxcui is null\n\n\n", "relation_name": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.205558Z", "completed_at": "2024-11-21T21:06:53.210026Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.210411Z", "completed_at": "2024-11-21T21:06:53.210418Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.0057222843170166016, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.sagerx.not_null_stg_rxnorm__ingredient_strengths_rxcui.d4a27e753c", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect rxcui\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredient_strengths\"\nwhere rxcui is null\n\n\n", "relation_name": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.212366Z", "completed_at": "2024-11-21T21:06:53.216705Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.217090Z", "completed_at": "2024-11-21T21:06:53.217097Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.005625486373901367, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.sagerx.unique_stg_rxnorm__ingredient_strengths_rxcui.716f558a6b", "compiled": true, "compiled_code": "\n \n \n\nselect\n rxcui as unique_field,\n count(*) as n_records\n\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredient_strengths\"\nwhere rxcui is not null\ngroup by rxcui\nhaving count(*) > 1\n\n\n", "relation_name": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.219052Z", "completed_at": "2024-11-21T21:06:53.224339Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.224754Z", "completed_at": "2024-11-21T21:06:53.224761Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.006593227386474609, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.int_rxnorm_clinical_products_to_ingredient_components", "compiled": true, "compiled_code": "-- int_rxnorm_clinical_products_to_ingredient_components.sql\n\nwith\n\nrcp as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_products\"\n\n),\n\nrcpcl as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_product_component_links\"\n\n),\n\nrcpc as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_product_components\"\n\n),\n\nrdf as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__dose_forms\"\n\n),\n\nri as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredients\"\n\n),\n\nricl as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredient_component_links\"\n\n),\n\nric as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredient_components\"\n\n)\n\nselect\n rcp.rxcui as clinical_product_rxcui\n , rcp.name as clinical_product_name\n , rcp.tty as clinical_product_tty\n , rcpc.rxcui as clinical_product_component_rxcui\n , rcpc.name as clinical_product_component_name\n , rcpc.tty as clinical_product_component_tty\n , rdf.rxcui as dose_form_rxcui\n , rdf.name as dose_form_name\n , rdf.tty as dose_form_tty\n , ri.rxcui as ingredient_rxcui\n , ri.name as ingredient_name\n , ri.tty as ingredient_tty\n , ric.rxcui as ingredient_component_rxcui\n , ric.name as ingredient_component_name\n , ric.tty as ingredient_component_tty\n , rcp.active\n , rcp.prescribable\nfrom rcp \nleft join rcpcl \n on rcp.rxcui = rcpcl.clinical_product_rxcui \nleft join rcpc \n on rcpcl.clinical_product_component_rxcui = rcpc.rxcui \nleft join rdf \n on rcpc.dose_form_rxcui = rdf.rxcui \nleft join ri \n on rcpc.ingredient_rxcui = ri.rxcui \nleft join ricl \n on ri.rxcui = ricl.ingredient_rxcui \nleft join ric \n on ricl.ingredient_component_rxcui = ric.rxcui", "relation_name": "\"sagerx\".\"sagerx_dev\".\"int_rxnorm_clinical_products_to_ingredient_components\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.226710Z", "completed_at": "2024-11-21T21:06:53.231399Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.231789Z", "completed_at": "2024-11-21T21:06:53.231796Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.005962848663330078, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.int_rxnorm_clinical_products_to_ingredients", "compiled": true, "compiled_code": "-- int_rxnorm_clinical_products_to_ingredients.sql\n\nwith\n\nrcp as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_products\"\n\n),\n\nrcpcl as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_product_component_links\"\n\n),\n\nrcpc as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_product_components\"\n\n),\n\nrdf as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__dose_forms\"\n\n),\n\nri as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredients\"\n\n)\n\nselect\n rcp.rxcui as clinical_product_rxcui\n , rcp.name as clinical_product_name\n , rcp.tty as clinical_product_tty\n , string_agg(rcpc.rxcui, ' | ') as clinical_product_component_rxcui\n , string_agg(rcpc.name, ' | ') as clinical_product_compnent_name\n , string_agg(rcpc.tty, ' | ') as clinical_product_component_tty\n , string_agg(rdf.rxcui, ' | ') as dose_form_rxcui\n , string_agg(rdf.name, ' | ') as dose_form_name\n , string_agg(rdf.tty, ' | ') as dose_form_tty\n , string_agg(ri.rxcui, ' | ') as ingredient_rxcui\n , string_agg(ri.name, ' | ') as ingredient_name\n , string_agg(ri.tty, ' | ') as ingredient_tty\n , rcp.active\n , rcp.prescribable \nfrom rcp \nleft join rcpcl \n on rcp.rxcui = rcpcl.clinical_product_rxcui \nleft join rcpc \n on rcpcl.clinical_product_component_rxcui = rcpc.rxcui \nleft join rdf \n on rcpc.dose_form_rxcui = rdf.rxcui \nleft join ri \n on rcpc.ingredient_rxcui = ri.rxcui \ngroup by\n rcp.rxcui\n , rcp.name\n , rcp.tty\n , rcp.active\n , rcp.prescribable", "relation_name": "\"sagerx\".\"sagerx_dev\".\"int_rxnorm_clinical_products_to_ingredients\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.233851Z", "completed_at": "2024-11-21T21:06:53.240210Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.240613Z", "completed_at": "2024-11-21T21:06:53.240621Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.007687807083129883, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.sagerx.not_null_stg_rxnorm__ingredients_rxcui.24a1dca332", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect rxcui\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredients\"\nwhere rxcui is null\n\n\n", "relation_name": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.242537Z", "completed_at": "2024-11-21T21:06:53.246789Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.247178Z", "completed_at": "2024-11-21T21:06:53.247186Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.005516767501831055, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.sagerx.unique_stg_rxnorm__ingredients_rxcui.c6b139419f", "compiled": true, "compiled_code": "\n \n \n\nselect\n rxcui as unique_field,\n count(*) as n_records\n\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredients\"\nwhere rxcui is not null\ngroup by rxcui\nhaving count(*) > 1\n\n\n", "relation_name": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.249201Z", "completed_at": "2024-11-21T21:06:53.254405Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.254857Z", "completed_at": "2024-11-21T21:06:53.254867Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.00658726692199707, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.sagerx.not_null_stg_rxnorm__mthspl_products_rxcui.21eb3d19b0", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect rxcui\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__mthspl_products\"\nwhere rxcui is null\n\n\n", "relation_name": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.257016Z", "completed_at": "2024-11-21T21:06:53.261901Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.262338Z", "completed_at": "2024-11-21T21:06:53.262346Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.00634002685546875, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.sagerx.unique_stg_rxnorm__mthspl_products_rxaui.09d72011ed", "compiled": true, "compiled_code": "\n \n \n\nselect\n rxaui as unique_field,\n count(*) as n_records\n\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__mthspl_products\"\nwhere rxaui is not null\ngroup by rxaui\nhaving count(*) > 1\n\n\n", "relation_name": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.264571Z", "completed_at": "2024-11-21T21:06:53.268662Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.269090Z", "completed_at": "2024-11-21T21:06:53.269098Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.005558013916015625, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.int_mthspl_products_to_active_ingredients", "compiled": true, "compiled_code": "-- int_mthspl_products_to_active_ingredients.sql\n\nwith\n\nsubstance as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__mthspl_substances\"\n\n),\n\nproduct as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__mthspl_products\"\n\n)\n\nselect distinct\n concat(lpad(split_part(product.ndc,'-', 1), 5, '0'), lpad(split_part(product.ndc,'-', 2), 4, '0')) as ndc9\n , product.ndc as ndc\n , product.rxcui as product_rxcui\n , product.name as product_name\n , product.tty as product_tty\n , substance.unii as active_ingredient_unii\n , substance.rxcui as active_ingredient_rxcui\n , substance.name as active_ingredient_name\n , substance.tty as active_ingredient_tty\t\n , product.active as active\n , product.prescribable as prescribable\nfrom sagerx_lake.rxnorm_rxnrel rxnrel\ninner join substance\n on rxnrel.rxaui1 = substance.rxaui\ninner join product\n on rxnrel.rxaui2 = product.rxaui\nwhere rela = 'has_active_ingredient'", "relation_name": "\"sagerx\".\"sagerx_dev\".\"int_mthspl_products_to_active_ingredients\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.271301Z", "completed_at": "2024-11-21T21:06:53.275447Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.276004Z", "completed_at": "2024-11-21T21:06:53.276014Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.00568699836730957, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.int_mthspl_products_to_active_moieties", "compiled": true, "compiled_code": "-- int_mthspl_products_to_active_moieties.sql\n\nwith\n\nsubstance as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__mthspl_substances\"\n\n),\n\nproduct as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__mthspl_products\"\n\n)\n\nselect distinct\n concat(lpad(split_part(product.ndc,'-', 1), 5, '0'), lpad(split_part(product.ndc,'-', 2), 4, '0')) as ndc9\n , product.ndc as ndc\n , product.rxcui as product_rxcui\n , product.name as product_name\n , product.tty as product_tty\n , substance.unii as active_moiety_unii\n , substance.rxcui as active_moiety_rxcui\n , substance.name as active_moiety_name\n , substance.tty as active_moiety_tty\t\n , product.active as active\n , product.prescribable as prescribable\nfrom sagerx_lake.rxnorm_rxnrel rxnrel\ninner join substance\n on rxnrel.rxaui1 = substance.rxaui\ninner join product\n on rxnrel.rxaui2 = product.rxaui\nwhere rela = 'has_active_moiety'", "relation_name": "\"sagerx\".\"sagerx_dev\".\"int_mthspl_products_to_active_moieties\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.278179Z", "completed_at": "2024-11-21T21:06:53.282161Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.282697Z", "completed_at": "2024-11-21T21:06:53.282706Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.005522012710571289, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.int_mthspl_products_to_inactive_ingredients", "compiled": true, "compiled_code": "-- int_mthspl_products_to_inactive_ingredients.sql\n\nwith\n\nsubstance as (\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__mthspl_substances\"\n)\n\n, product as (\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__mthspl_products\"\n)\n\nselect distinct\n concat(lpad(split_part(product.ndc,'-', 1), 5, '0'), lpad(split_part(product.ndc,'-', 2), 4, '0')) as ndc9\n , product.ndc as ndc\n , product.rxcui as product_rxcui\n , product.name as product_name\n , product.tty as product_tty\n , substance.unii as inactive_ingredient_unii\n , substance.rxcui as inactive_ingredient_rxcui\n , substance.name as inactive_ingredient_name\n , substance.tty as inactive_ingredient_tty\t\n , product.active as active\n , product.prescribable as prescribable\nfrom product\ninner join sagerx_lake.rxnorm_rxnrel rxnrel\n on rxnrel.rxaui2 = product.rxaui\ninner join substance\n on substance.rxaui = rxnrel.rxaui1\nwhere rela = 'has_inactive_ingredient'", "relation_name": "\"sagerx\".\"sagerx_dev\".\"int_mthspl_products_to_inactive_ingredients\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.284865Z", "completed_at": "2024-11-21T21:06:53.289842Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.290404Z", "completed_at": "2024-11-21T21:06:53.290413Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.0065495967864990234, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.sagerx.not_null_stg_rxnorm__mthspl_substances_rxcui.1b38748ca6", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect rxcui\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__mthspl_substances\"\nwhere rxcui is null\n\n\n", "relation_name": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.292641Z", "completed_at": "2024-11-21T21:06:53.297217Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.297782Z", "completed_at": "2024-11-21T21:06:53.297791Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.006236076354980469, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.int_rxnorm_clinical_products_to_clinical_product_components", "compiled": true, "compiled_code": "-- int_rxnorm_clinical_products_to_clinical_product_components.sql\n\nwith\n\nndc as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ndcs\"\n\n),\n\nrcp as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_products\"\n\n),\n\nrcpcl as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_product_component_links\"\n\n),\n\nrcpc as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_product_components\"\n\n)\n\nselect\n rcp.rxcui as clinical_product_rxcui\n , rcp.name as clinical_product_name\n , rcp.tty as clinical_product_tty\n , rcpc.rxcui as clinical_product_component_rxcui\n , rcpc.name as clinical_product_compnent_name\n , rcpc.tty as clinical_product_component_tty\n , rcp.active\n , rcp.prescribable\nfrom rcp \nleft join rcpcl \n on rcp.rxcui = rcpcl.clinical_product_rxcui \nleft join rcpc \n on rcpcl.clinical_product_component_rxcui = rcpc.rxcui", "relation_name": "\"sagerx\".\"sagerx_dev\".\"int_rxnorm_clinical_products_to_clinical_product_components\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.299964Z", "completed_at": "2024-11-21T21:06:53.305231Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.305786Z", "completed_at": "2024-11-21T21:06:53.305795Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.0068302154541015625, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.int_rxnorm_clinical_products_to_ndcs", "compiled": true, "compiled_code": "-- int_rxnorm_clinical_products_to_ndcs.sql\n\nwith\n\nrcp as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_products\"\n\n),\n\nrcpcl as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_product_component_links\"\n\n),\n\nrcpc as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_product_components\"\n\n),\n\nrdf as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__dose_forms\"\n\n),\n\nri as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredients\"\n\n),\n\nrn as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ndcs\"\n\n)\n\nselect\n rcp.rxcui as clinical_product_rxcui\n , rcp.name as clinical_product_name\n , rcp.tty as clinical_product_tty\n , rcpc.rxcui as clinical_product_component_rxcui\n , rcpc.name as clinical_product_compnent_name\n , rcpc.tty as clinical_product_component_tty\n , rdf.rxcui as dose_form_rxcui\n , rdf.name as dose_form_name\n , rdf.tty as dose_form_tty\n , ri.rxcui as ingredient_rxcui\n , ri.name as ingredient_name\n , ri.tty as ingredient_tty\n , rn.brand_product_rxcui\n , rn.ndc\n , rcp.active\n , rcp.prescribable\nfrom rcp \nleft join rcpcl \n on rcp.rxcui = rcpcl.clinical_product_rxcui \nleft join rcpc \n on rcpcl.clinical_product_component_rxcui = rcpc.rxcui \nleft join rdf \n on rcpc.dose_form_rxcui = rdf.rxcui \nleft join ri \n on rcpc.ingredient_rxcui = ri.rxcui \nleft join rn\n on rcp.rxcui = rn.clinical_product_rxcui", "relation_name": "\"sagerx\".\"sagerx_dev\".\"int_rxnorm_clinical_products_to_ndcs\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.307889Z", "completed_at": "2024-11-21T21:06:53.312023Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.312561Z", "completed_at": "2024-11-21T21:06:53.312571Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.005649089813232422, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.int_rxnorm_ndcs_to_products", "compiled": true, "compiled_code": "-- int_rxnorm_ndcs_to_products.sql\n\nwith\n\nndc as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ndcs\"\n\n),\n\nrcp as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_products\"\n\n),\n\nrbp as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__brand_products\"\n\n)\n\nselect distinct\n ndc\n , coalesce(rbp.rxcui, rcp.rxcui, null) as product_rxcui\n , coalesce(rbp.name, rcp.name, null) as product_name\n , coalesce(rbp.tty, rcp.tty, null) as product_tty\n , rcp.rxcui as clinical_product_rxcui\n , rcp.name as clinical_product_name\n , rcp.tty as clinical_product_tty\nfrom ndc\nleft join rcp \n on ndc.clinical_product_rxcui = rcp.rxcui\nleft join rbp\n on ndc.brand_product_rxcui = rbp.rxcui", "relation_name": "\"sagerx\".\"sagerx_dev\".\"int_rxnorm_ndcs_to_products\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.314753Z", "completed_at": "2024-11-21T21:06:53.319410Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.319922Z", "completed_at": "2024-11-21T21:06:53.319931Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.006133317947387695, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.sagerx.not_null_stg_rxnorm__ndcs_ndc.4db0f5b5df", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect ndc\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ndcs\"\nwhere ndc is null\n\n\n", "relation_name": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.322039Z", "completed_at": "2024-11-21T21:06:53.328795Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.329343Z", "completed_at": "2024-11-21T21:06:53.329353Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.008285045623779297, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.sagerx.unique_stg_rxnorm__ndcs_ndc.9929df0b31", "compiled": true, "compiled_code": "\n \n \n\nselect\n ndc as unique_field,\n count(*) as n_records\n\nfrom \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ndcs\"\nwhere ndc is not null\ngroup by ndc\nhaving count(*) > 1\n\n\n", "relation_name": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.331513Z", "completed_at": "2024-11-21T21:06:53.339521Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.340158Z", "completed_at": "2024-11-21T21:06:53.340168Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.009702920913696289, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.int_rxnorm_clinical_products_to_ingredient_strengths", "compiled": true, "compiled_code": "-- int_rxnorm_clinical_products_to_ingredient_strengths.sql\n\nwith\n\nrcp as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_products\"\n\n),\n\nrcpcl as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_product_component_links\"\n\n),\n\nrcpc as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__clinical_product_components\"\n\n),\n\nrdf as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__dose_forms\"\n\n),\n\nri as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredients\"\n\n),\n\nricl as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredient_component_links\"\n\n),\n\nric as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredient_components\"\n\n),\n\nrisl as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredient_strength_links\"\n\n),\n\nris as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ingredient_strengths\"\n\n),\n\npinl as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__precise_ingredient_links\"\n\n),\n\npin as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__precise_ingredients\"\n\n)\n\nselect\n rcp.rxcui as clinical_product_rxcui\n , rcp.name as clinical_product_name\n , rcp.tty as clinical_product_tty\n , rcpc.rxcui as clinical_product_component_rxcui\n , rcpc.name as clinical_product_compnent_name\n , rcpc.tty as clinical_product_component_tty\n , rdf.rxcui as dose_form_rxcui\n , rdf.name as dose_form_name\n , rdf.tty as dose_form_tty\n , ri.rxcui as ingredient_rxcui\n , ri.name as ingredient_name\n , ri.tty as ingredient_tty\n , ric.rxcui as ingredient_component_rxcui\n , ric.name as ingredient_component_name\n , ric.tty as ingredient_component_tty\n , ris.rxcui as ingredient_strength_rxcui\n , ris.name as ingredient_strength_name\n , ris.numerator_value as strength_numerator_value\n , ris.numerator_unit as strength_numerator_unit\n , ris.denominator_value as strength_denominator_value\n , ris.denominator_unit as strength_denominator_unit\n , ris.text as strength_text\n , pin.rxcui as precise_ingredient_rxcui\n , pin.name as precise_ingredient_name\n , pin.tty as precise_ingredient_tty\n , rcp.active\n , rcp.prescribable\nfrom rcp \nleft join rcpcl \n on rcp.rxcui = rcpcl.clinical_product_rxcui \nleft join rcpc \n on rcpcl.clinical_product_component_rxcui = rcpc.rxcui \nleft join rdf \n on rcpc.dose_form_rxcui = rdf.rxcui \nleft join ri \n on rcpc.ingredient_rxcui = ri.rxcui \nleft join ricl \n on ri.rxcui = ricl.ingredient_rxcui \nleft join ric \n on ricl.ingredient_component_rxcui = ric.rxcui \nleft join risl \n on rcpc.rxcui = risl.clinical_product_component_rxcui \n and ric.rxcui = risl.ingredient_component_rxcui \nleft join ris \n on risl.ingredient_strength_rxcui = ris.rxcui\nleft join pinl\n on ris.rxcui = pinl.ingredient_strength_rxcui\nleft join pin\n on pinl.precise_ingredient_rxcui = pin.rxcui", "relation_name": "\"sagerx\".\"sagerx_dev\".\"int_rxnorm_clinical_products_to_ingredient_strengths\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.343034Z", "completed_at": "2024-11-21T21:06:53.349197Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.349846Z", "completed_at": "2024-11-21T21:06:53.349855Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.008175134658813477, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.atc_codes_to_rxnorm_products", "compiled": true, "compiled_code": "-- atc_codes_to_rxnorm_products\n\nwith atc_codes_to_rxnorm_product_rxcuis as (\n\n\tselect * from \"sagerx\".\"sagerx_dev\".\"stg_rxclass__atc_codes_to_rxnorm_product_rxcuis\"\n\n)\n\n, atc_codes as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__atc_codes\"\n\n)\n\n, rxnorm_product_rxcuis as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__product_rxcuis\"\n\n)\n\nselect distinct\n\tatc_codes_to_rxnorm_product_rxcuis.rxcui\n\t, rxnorm_product_rxcuis.str as rxnorm_description\n\t, atc_codes.atc_1_code\n\t, atc_codes.atc_2_code\n\t, atc_codes.atc_3_code\n\t, atc_codes.atc_4_code\n\t, atc_codes.atc_1_name\n\t, atc_codes.atc_2_name\n\t, atc_codes.atc_3_name\n\t, atc_codes.atc_4_name\nfrom atc_codes_to_rxnorm_product_rxcuis\nleft join atc_codes\n\ton atc_codes.atc_4_code = atc_codes_to_rxnorm_product_rxcuis.class_id\nleft join rxnorm_product_rxcuis\n\ton rxnorm_product_rxcuis.rxcui = atc_codes_to_rxnorm_product_rxcuis.rxcui\norder by rxcui", "relation_name": "\"sagerx\".\"sagerx_dev\".\"atc_codes_to_rxnorm_products\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.353118Z", "completed_at": "2024-11-21T21:06:53.358154Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.358746Z", "completed_at": "2024-11-21T21:06:53.358757Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.007170438766479492, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.stg_rxnorm_historical__most_recent_ndcs", "compiled": true, "compiled_code": "-- stg_rxnorm_historical__most_recent_ndcs.sql\n\nwith \n\nrxnorm_historical_ndcs as\n(\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm_historical__ndcs\"\n)\n\n/*\nNOTE: we do this grouping and ranking to avoid NDCs that\nrelate to RXCUIs that have been remapped to multiple RXCUIs\n- see issue #265 for more details\n*/\n, grouped_and_ranked_rxnorm_historical_ndcs as\n(\n \n select\n ndc\n , end_date\n , row_number() over (partition by ndc order by end_date desc) as end_date_line\n , count(rxcui) as rxcui_count\n from rxnorm_historical_ndcs\n group by ndc, end_date\n order by count(rxcui) desc\n\n)\n\nselect\n rxnorm_historical_ndcs.*\nfrom grouped_and_ranked_rxnorm_historical_ndcs\ninner join rxnorm_historical_ndcs\n on rxnorm_historical_ndcs.ndc = grouped_and_ranked_rxnorm_historical_ndcs.ndc\n and rxnorm_historical_ndcs.end_date = grouped_and_ranked_rxnorm_historical_ndcs.end_date\nwhere rxcui_count = 1 -- only NDCs that are associated with one RXCUI per end_date\n\tand end_date_line = 1 -- only NDCs that are most recently associated with an RXCUI", "relation_name": "\"sagerx\".\"sagerx_dev\".\"stg_rxnorm_historical__most_recent_ndcs\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.361954Z", "completed_at": "2024-11-21T21:06:53.369161Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.369762Z", "completed_at": "2024-11-21T21:06:53.369772Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.009275436401367188, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.int_dailymed_image_name_ndcs", "compiled": true, "compiled_code": "-- int_dailymed_image_name_ndcs\n\nwith\n\npackage_label_section_images as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_dailymed__package_label_section_images\"\n\n),\n\nregex_ndcs as (\n\n select\n *,\n (regexp_matches(image, '(?:\\d{4}|\\d{5})-\\d{3,6}(?:-\\d{1,2})?|\\d{11}|\\d{10}', 'g'))[1] as regex_ndc\n from package_label_section_images\n\n /*\n \\d{11} | # 11 digit\n \\d{10} | # 10 digit\n \\d{5}-\\d{5} | # 5-5\n \\d{5}-\\d{4}-\\d{2} | # 5-4-2\n \\d{5}-\\d{4}-\\d{1} | # 5-4-1\n \\d{5}-\\d{3}-\\d{2} | # 5-3-2\n \\d{4}-\\d{6} | # 4-6\n \\d{4}-\\d{4}-\\d{2} # 4-4-2\n */\n\n),\n\nvalid_spl_ndcs as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_dailymed__ndcs\"\n\n),\n\nvalidated_ndcs as (\n\n select\n regex_ndcs.*,\n spl_ndc.ndc,\n spl_ndc.ndc11\n from regex_ndcs\n inner join valid_spl_ndcs spl_ndc\n on spl_ndc.set_id = regex_ndcs.set_id\n and \n \n CASE WHEN \n \n \n CASE WHEN spl_ndc.ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN spl_ndc.ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN spl_ndc.ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN spl_ndc.ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '10 Digit' THEN NULL\n WHEN \n \n \n CASE WHEN spl_ndc.ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN spl_ndc.ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN spl_ndc.ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN spl_ndc.ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '11 Digit' THEN spl_ndc.ndc\n WHEN \n \n \n CASE WHEN spl_ndc.ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN spl_ndc.ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN spl_ndc.ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN spl_ndc.ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-4-2' THEN '0' || LEFT(spl_ndc.ndc,4) || REPLACE(RIGHT(spl_ndc.ndc,7),'-','')\n WHEN \n \n \n CASE WHEN spl_ndc.ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN spl_ndc.ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN spl_ndc.ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN spl_ndc.ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-3-2' THEN LEFT(spl_ndc.ndc,5) || '0' || REPLACE(RIGHT(spl_ndc.ndc,6),'-','')\n WHEN \n \n \n CASE WHEN spl_ndc.ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN spl_ndc.ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN spl_ndc.ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN spl_ndc.ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-1' THEN REPLACE(LEFT(spl_ndc.ndc,10),'-','') || '0' || RIGHT(spl_ndc.ndc, 1)\n WHEN \n \n \n CASE WHEN spl_ndc.ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN spl_ndc.ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN spl_ndc.ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN spl_ndc.ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-2' THEN REPLACE(spl_ndc.ndc,'-','')\n WHEN \n \n \n CASE WHEN spl_ndc.ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN spl_ndc.ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN spl_ndc.ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN spl_ndc.ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-5' THEN NULL\n WHEN \n \n \n CASE WHEN spl_ndc.ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN spl_ndc.ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN spl_ndc.ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN spl_ndc.ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN spl_ndc.ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-6' THEN NULL\n ELSE NULL\n END\n \n = \n \n CASE WHEN \n \n \n CASE WHEN regex_ndcs.regex_ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '10 Digit' THEN NULL\n WHEN \n \n \n CASE WHEN regex_ndcs.regex_ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '11 Digit' THEN regex_ndcs.regex_ndc\n WHEN \n \n \n CASE WHEN regex_ndcs.regex_ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-4-2' THEN '0' || LEFT(regex_ndcs.regex_ndc,4) || REPLACE(RIGHT(regex_ndcs.regex_ndc,7),'-','')\n WHEN \n \n \n CASE WHEN regex_ndcs.regex_ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-3-2' THEN LEFT(regex_ndcs.regex_ndc,5) || '0' || REPLACE(RIGHT(regex_ndcs.regex_ndc,6),'-','')\n WHEN \n \n \n CASE WHEN regex_ndcs.regex_ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-1' THEN REPLACE(LEFT(regex_ndcs.regex_ndc,10),'-','') || '0' || RIGHT(regex_ndcs.regex_ndc, 1)\n WHEN \n \n \n CASE WHEN regex_ndcs.regex_ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-2' THEN REPLACE(regex_ndcs.regex_ndc,'-','')\n WHEN \n \n \n CASE WHEN regex_ndcs.regex_ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-5' THEN NULL\n WHEN \n \n \n CASE WHEN regex_ndcs.regex_ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN regex_ndcs.regex_ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-6' THEN NULL\n ELSE NULL\n END\n \n\n\n)\n\nselect * from validated_ndcs", "relation_name": "\"sagerx\".\"sagerx_dev\".\"int_dailymed_image_name_ndcs\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.372701Z", "completed_at": "2024-11-21T21:06:53.376383Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.376779Z", "completed_at": "2024-11-21T21:06:53.376786Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.0053730010986328125, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.int_dailymed_ranked_package_label_images", "compiled": true, "compiled_code": "with\n\npackage_label_images as (\n\n select * from\"sagerx\".\"sagerx_dev\".\"stg_dailymed__package_label_section_images\"\n\n),\n\nranked_package_images as (\n\n select \n *,\n row_number() over (\n partition by package_label_section_id\n order by id\n ) as rn\n from package_label_images\n\n)\n\nselect * from ranked_package_images", "relation_name": "\"sagerx\".\"sagerx_dev\".\"int_dailymed_ranked_package_label_images\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.379659Z", "completed_at": "2024-11-21T21:06:53.385212Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.385767Z", "completed_at": "2024-11-21T21:06:53.385774Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.007408618927001953, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.int_dailymed_validated_package_label_ndcs", "compiled": true, "compiled_code": "--int_dailymed_validated_package_label_ndcs\n\nwith\n\nvalid_spl_ndcs as (\n\n select * from\"sagerx\".\"sagerx_dev\".\"stg_dailymed__ndcs\"\n\n),\n\npackage_label_ndc_matches as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_dailymed__package_label_section_ndcs\"\n\n),\n\nvalidated_package_ndcs as (\n\n select\n *\n from package_label_ndc_matches pkg_ndc\n where exists (\n\n select\n ndc\n from valid_spl_ndcs\n where ndc = pkg_ndc.ndc\n \n )\n\n)\n\nselect * from validated_package_ndcs", "relation_name": "\"sagerx\".\"sagerx_dev\".\"int_dailymed_validated_package_label_ndcs\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.387869Z", "completed_at": "2024-11-21T21:06:53.394231Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.394824Z", "completed_at": "2024-11-21T21:06:53.394834Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.007920026779174805, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.sagerx.not_null_stg_nadac__enhanced_nadac_ndc.4d4e5ab99c", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect ndc\nfrom \"sagerx\".\"sagerx_dev\".\"stg_nadac__enhanced_nadac\"\nwhere ndc is null\n\n\n", "relation_name": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.397757Z", "completed_at": "2024-11-21T21:06:53.404037Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.404610Z", "completed_at": "2024-11-21T21:06:53.404618Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.008136510848999023, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.sagerx.not_null_stg_nadac__enhanced_nadac_ndc_description.16fde5c578", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect ndc_description\nfrom \"sagerx\".\"sagerx_dev\".\"stg_nadac__enhanced_nadac\"\nwhere ndc_description is null\n\n\n", "relation_name": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.407333Z", "completed_at": "2024-11-21T21:06:53.412559Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.413149Z", "completed_at": "2024-11-21T21:06:53.413159Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.007123708724975586, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.products", "compiled": true, "compiled_code": "with rxnorm_products as (\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__products\"\n)\n\n, rxnorm_clinical_products_to_ingredients as (\n select * from \"sagerx\".\"sagerx_dev\".\"int_rxnorm_clinical_products_to_ingredients\"\n)\n\nselect\n prod.rxcui as product_rxcui\n , prod.name as product_name\n , prod.tty as product_tty\n , case\n when prod.tty in ('SBD', 'BPCK') then 'brand'\n when prod.tty in ('SCD', 'GPCK') then 'generic'\n end as brand_vs_generic\n , substring(prod.name from '\\[(.*)\\]') as brand_name\n , cping.clinical_product_rxcui\n , cping.clinical_product_name\n , cping.clinical_product_tty\n , cping.ingredient_name\n -- strength - couldn't easily get strength at this grain - can if needed\n , cping.dose_form_name\nfrom rxnorm_products prod\nleft join rxnorm_clinical_products_to_ingredients cping\n on cping.clinical_product_rxcui = prod.clinical_product_rxcui", "relation_name": "\"sagerx\".\"sagerx_dev\".\"products\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.416369Z", "completed_at": "2024-11-21T21:06:53.423324Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.423949Z", "completed_at": "2024-11-21T21:06:53.423958Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.009029626846313477, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.products_to_inactive_ingredients", "compiled": true, "compiled_code": "-- products_to_inactive_ingredients.sql\n\nwith products_to_inactive_ingredients as (\n select * from \"sagerx\".\"sagerx_dev\".\"int_mthspl_products_to_inactive_ingredients\"\n)\n\n, unii_codes as (\n select * from \"sagerx\".\"sagerx_dev\".\"stg_fda_unii__unii_codes\"\n)\n\n, usp_preservatives as (\n select * from \"sagerx\".\"sagerx_dev\".\"usp_preservatives\"\n)\n\nselect\n ndc9\n , ndc\n , unii_codes.unii as fda_unii_code\n , unii_codes.display_name as fda_unii_display_name\n , unii_codes.pubchem as pubchem_id\n , max(case\n when preservative.cas_rn is not null\n then 1\n end) as preservative\n , product_rxcui\n , string_agg(product_name, ' | ') as product_name\n , product_tty\n , inactive_ingredient_unii\n , inactive_ingredient_rxcui\n , string_agg(inactive_ingredient_name, ' | ') as inactive_ingredient_name\n , inactive_ingredient_tty\n , active\n , prescribable\nfrom products_to_inactive_ingredients\n/*\nneed to join unii_codes twice - once\nto pull in the actual UNII -> displa\ny name\nmapping, and another initial one to try\nto map substance RXCUIs to FDA UNII RXCUIs.\n*/\nleft join unii_codes rxcui_to_unii\n on rxcui_to_unii.rxcui = inactive_ingredient_rxcui\n/*\nif MTHSPL (DailyMed) has a substance UNII,\nuse that. if it does not, try to map the\nsubstance RXCUI to the FDA UNII RXCUI and\nthen use the resulting matched UNII to pull\nin the UNII display name.\n*/\nleft join unii_codes\n on unii_codes.unii = case\n when (\n inactive_ingredient_unii is not null \n and\n inactive_ingredient_unii != 'NOCODE'\n ) then inactive_ingredient_unii\n else rxcui_to_unii.unii\n end\nleft join usp_preservatives preservative\n on preservative.cas_rn = unii_codes.rn\ngroup by\n ndc9\n , ndc\n , unii_codes.unii\n , unii_codes.display_name\n , unii_codes.pubchem\n , product_rxcui\n , product_tty\n , inactive_ingredient_unii\n , inactive_ingredient_rxcui\n , inactive_ingredient_tty\n , active\n , prescribable", "relation_name": "\"sagerx\".\"sagerx_dev\".\"products_to_inactive_ingredients\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.427076Z", "completed_at": "2024-11-21T21:06:53.433839Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.434332Z", "completed_at": "2024-11-21T21:06:53.434341Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.008645772933959961, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.brand_products_with_related_ndcs", "compiled": true, "compiled_code": "with brand_products as (\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__brand_products\"\n)\n\n, fda_ndcs as (\n select * from \"sagerx\".\"sagerx_dev\".\"stg_fda_ndc__ndcs\"\n)\n\n, rxnorm_ndcs_to_products as (\n select * from \"sagerx\".\"sagerx_dev\".\"int_rxnorm_ndcs_to_products\"\n)\n\n, map as (\n select\n prod.tty as product_tty\n , prod.rxcui as product_rxcui\n , prod.name as product_name\n , ndc.product_tty as ndc_product_tty\n , ndc.product_rxcui as ndc_product_rxcui\n , ndc.product_name as ndc_product_name\n , ndc.ndc\n , fda.product_startmarketingdate\n , fda.package_startmarketingdate\n from brand_products prod\n left join rxnorm_ndcs_to_products ndc\n on ndc.clinical_product_rxcui = prod.clinical_product_rxcui\n left join fda_ndcs fda\n on fda.ndc11 = ndc.ndc\n order by prod.rxcui\n)\n\nselect\n *\nfrom map", "relation_name": "\"sagerx\".\"sagerx_dev\".\"brand_products_with_related_ndcs\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.436860Z", "completed_at": "2024-11-21T21:06:53.445881Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.446396Z", "completed_at": "2024-11-21T21:06:53.446405Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.010695934295654297, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.int_inactive_ingredients_to_fda_enforcement_reports", "compiled": true, "compiled_code": "with\n\nregex_ndcs as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_fda_enforcement__regex_ndcs\"\n\n),\n\njson_ndcs as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_fda_enforcement__json_ndcs\"\n\n),\n\nenf as (\n -- UNION RegEx NDCs from description and JSON NDCs from OpenFDA column\n -- NOTE: UNION removes duplicates by default, which is what we want here\n select * from (\n -- first get only the NDCs from combined RegEx and JSON enforcement report data\n select \n recall_number\n , ndc11\n , ndc9\n from regex_ndcs\n \n union\n \n select\n recall_number\n , ndc11\n , ndc9\n from json_ndcs\n ) enf_ndcs\n -- then, join NDCs with application numbers, where they exist from JSON data\n left join (\n -- get distinct NDC11 -> application numbers so as to not blow up granularity\n select\n ndc11\n , app_num\n from json_ndcs\n group by\n ndc11\n , app_num\n ) json_app_num\n on enf_ndcs.ndc11 = json_app_num.ndc11\n),\n\nndc as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"int_rxnorm_ndcs_to_products\"\n\n),\n\ning as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"int_rxnorm_clinical_products_to_ingredients\"\n\n),\n\nspl as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"int_mthspl_products_to_inactive_ingredients\"\n\n),\n\nfda as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_fda_ndc__ndcs\"\n\n)\n\nselect distinct\n ndc.ndc as ndc11\n , left(ndc.ndc, 9) as ndc9\n , ndc.product_rxcui\n , ndc.product_name\n , ndc.product_tty\n , ndc.clinical_product_rxcui\n , ndc.clinical_product_name\n , ndc.clinical_product_tty\n , ing.ingredient_rxcui as active_ingredient_rxcui\n , ing.ingredient_name as active_ingredient_name\n , ing.ingredient_tty as active_ingredient_tty\n -- if FDA NDC Directory has an application number, use that...\n -- otherwise, use the application number from the enforcement report JSON\n , coalesce(fda.applicationnumber, enf.app_num) as application_number\n , fda.labelername as labeler\n , enf.recall_number\n , spl.inactive_ingredient_unii\n , spl.inactive_ingredient_rxcui\n , spl.inactive_ingredient_name\n , spl.inactive_ingredient_tty\n-- RxNorm NDCs that have one of the ingredients in the WHERE clause\nfrom ndc\n-- clinical product and related active ingredients for each NDC\nleft join ing\n on ing.clinical_product_rxcui = ndc.clinical_product_rxcui\n-- FDA enforcement reports (UNION of RegEx and JSON) joined on NDC9\nleft join enf\n on enf.ndc9 = left(ndc.ndc, 9)\n-- DailyMed SPL inactive ingredients joined on NDC9\nleft join spl\n on spl.ndc9 = left(ndc.ndc, 9)\n-- FDA NDC Directory joined on NDC11 to pull in application number\nleft join fda\n on fda.ndc11 = ndc.ndc", "relation_name": "\"sagerx\".\"sagerx_dev\".\"int_inactive_ingredients_to_fda_enforcement_reports\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.449096Z", "completed_at": "2024-11-21T21:06:53.454536Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.455013Z", "completed_at": "2024-11-21T21:06:53.455022Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.0071337223052978516, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.sagerx.not_null_atc_codes_to_rxnorm_products_rxcui.f1ef3093c1", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect rxcui\nfrom \"sagerx\".\"sagerx_dev\".\"atc_codes_to_rxnorm_products\"\nwhere rxcui is null\n\n\n", "relation_name": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.457390Z", "completed_at": "2024-11-21T21:06:53.462610Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.463065Z", "completed_at": "2024-11-21T21:06:53.463074Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.006726980209350586, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.sagerx.unique_atc_codes_to_rxnorm_products_rxcui.b171565c1d", "compiled": true, "compiled_code": "\n \n \n\nselect\n rxcui as unique_field,\n count(*) as n_records\n\nfrom \"sagerx\".\"sagerx_dev\".\"atc_codes_to_rxnorm_products\"\nwhere rxcui is not null\ngroup by rxcui\nhaving count(*) > 1\n\n\n", "relation_name": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.465314Z", "completed_at": "2024-11-21T21:06:53.471693Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.472119Z", "completed_at": "2024-11-21T21:06:53.472127Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.007814884185791016, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.all_ndc_descriptions", "compiled": true, "compiled_code": "-- all_ndc_descriptions.sql\n\nwith \n\n/*\nNOTE: this intermediate table is only NDCs that have\nSAB = RXNORM RXCUIs, which limits the total NDC count - \nthere are lots of NDCs that don't have RXNORM RXCUIs\nthat might be good to include in the future, but a lot\nseem to be inactive or not prescribable\nMTHSPL = 174k+, VANDF = 309k+, CVX = 500+\n*/\nrxnorm_ndcs as (\n\n select\n ndc\n , product_rxcui as rxcui\n , product_name as rxnorm_description\n from \"sagerx\".\"sagerx_dev\".\"int_rxnorm_ndcs_to_products\"\n\n) \n\n/* \nNOTE: maybe want to make a stg_rxnorm__products table\nto replace this weird one-off table\n*/\n, rxnorm_product_rxcuis as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__product_rxcuis\"\n\n)\n\n/*\nNOTE: do we really only want the most recent historical NDCs?\nmaybe should mash rxnorm_historical_ndcs up against rxnorm_ndcs\nand somehow filter out any parts that are wrong?\n*/\n, most_recent_rxnorm_historical_ndcs as (\n\n select\n rxnorm_historical_most_recent_ndcs.ndc::varchar\n , rxnorm_historical_most_recent_ndcs.rxcui::varchar\n , rxnorm_product_rxcuis.str as rxnorm_description\n from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm_historical__most_recent_ndcs\" rxnorm_historical_most_recent_ndcs\n left join rxnorm_product_rxcuis\n on rxnorm_product_rxcuis.rxcui = rxnorm_historical_most_recent_ndcs.rxcui::varchar\n\n)\n\n, fda_ndc_ndcs as (\n\n select\n ndc11 as ndc\n , trim(concat(\n nonproprietaryname\n , ' '\n , active_numerator_strength\n , ' '\n , active_ingred_unit\n , ' '\n , lower(dosageformname)\n , case when proprietaryname is not null then concat(\n ' ['\n , proprietaryname\n , case when proprietarynamesuffix is not null then concat(\n ' '\n , proprietarynamesuffix\n ) else '' end\n , ']'\n ) else '' end\n )) as fda_description\n from \"sagerx\".\"sagerx_dev\".\"stg_fda_ndc__ndcs\"\n\n)\n\n, fda_unfinished_ndcs as (\n\n select\n ndc11 as ndc\n , trim(concat(\n nonproprietaryname\n , ' '\n , active_numerator_strength\n , ' '\n , active_ingred_unit\n , ' '\n , lower(dosageformname)\n )) as fda_description\n from \"sagerx\".\"sagerx_dev\".\"stg_fda_unfinished__ndcs\"\n\n)\n\n, fda_excluded_ndcs as (\n\n select\n ndc11 as ndc\n , trim(concat(\n nonproprietaryname\n , ' '\n , active_numerator_strength\n , ' '\n , active_ingred_unit\n , ' '\n , lower(dosageformname)\n , case when proprietaryname is not null then concat(\n ' ['\n , proprietaryname\n , case when proprietarynamesuffix is not null then concat(\n ' '\n , proprietarynamesuffix\n ) else '' end\n , ']'\n ) else '' end\n )) as fda_description\n from \"sagerx\".\"sagerx_dev\".\"stg_fda_excluded__ndcs\"\n\n)\n\n, all_rxnorm_ndcs as (\n \n select *, 1 as table_rank from rxnorm_ndcs\n\n union\n\n select *, 2 as table_rank from most_recent_rxnorm_historical_ndcs\n\n)\n\n, ranked_rxnorm_ndcs as (\n\n select\n *\n , row_number() over (partition by ndc order by table_rank asc) as row_num\n from all_rxnorm_ndcs\n\n)\n\n, distinct_rxnorm_ndcs as (\n\n select\n ndc\n , rxcui\n , rxnorm_description\n from ranked_rxnorm_ndcs\n where row_num = 1\n\n)\n\n, all_fda_ndcs as (\n\n select *, 1 as table_rank from fda_ndc_ndcs\n \n union\n \n select *, 2 as table_rank from fda_excluded_ndcs\n\n union\n\n select *, 3 as table_rank from fda_unfinished_ndcs \n\n)\n\n, ranked_fda_ndcs as (\n\n select\n *\n , row_number() over (partition by ndc order by table_rank asc) as row_num\n from all_fda_ndcs\n\n)\n\n, distinct_fda_ndcs as (\n\n select\n ndc\n , fda_description\n from ranked_fda_ndcs\n where row_num = 1\n\n)\n\n, all_ndcs as (\n\n select ndc from distinct_rxnorm_ndcs\n\n union\n \n select ndc from distinct_fda_ndcs\n\n)\n\n, all_ndc_descriptions as (\n\n select\n all_ndcs.ndc\n , rxcui\n , rxnorm_description\n , fda_description\n from all_ndcs\n left join distinct_rxnorm_ndcs\n on distinct_rxnorm_ndcs.ndc = all_ndcs.ndc\n left join distinct_fda_ndcs\n on distinct_fda_ndcs.ndc = all_ndcs.ndc\n\n)\n\n, all_not_null_ndc_descriptions as (\n\nselect * from all_ndc_descriptions\nwhere ndc is not null\n\n)\n\nselect * from all_not_null_ndc_descriptions", "relation_name": "\"sagerx\".\"sagerx_dev\".\"all_ndc_descriptions\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.474451Z", "completed_at": "2024-11-21T21:06:53.477999Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.478420Z", "completed_at": "2024-11-21T21:06:53.478428Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.004919767379760742, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.int_dailymed_ranked_package_label_ndcs", "compiled": true, "compiled_code": "with\n\nvalidated_package_ndcs as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"int_dailymed_validated_package_label_ndcs\"\n\n),\n\nranked_package_ndcs as (\n\n select \n *,\n row_number() over (\n partition by package_label_section_id\n order by id\n ) as rn\n from validated_package_ndcs\n\n)\n\nselect * from ranked_package_ndcs", "relation_name": "\"sagerx\".\"sagerx_dev\".\"int_dailymed_ranked_package_label_ndcs\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.480666Z", "completed_at": "2024-11-21T21:06:53.485480Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.485900Z", "completed_at": "2024-11-21T21:06:53.485908Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.006268978118896484, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.sagerx.not_null_products_product_rxcui.fa0e88a9af", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect product_rxcui\nfrom \"sagerx\".\"sagerx_dev\".\"products\"\nwhere product_rxcui is null\n\n\n", "relation_name": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.487999Z", "completed_at": "2024-11-21T21:06:53.492837Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.493258Z", "completed_at": "2024-11-21T21:06:53.493266Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.0062139034271240234, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.sagerx.unique_products_product_rxcui.72c98af3cb", "compiled": true, "compiled_code": "\n \n \n\nselect\n product_rxcui as unique_field,\n count(*) as n_records\n\nfrom \"sagerx\".\"sagerx_dev\".\"products\"\nwhere product_rxcui is not null\ngroup by product_rxcui\nhaving count(*) > 1\n\n\n", "relation_name": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.495346Z", "completed_at": "2024-11-21T21:06:53.499044Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.499452Z", "completed_at": "2024-11-21T21:06:53.499460Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.005051612854003906, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.scorecard_data", "compiled": true, "compiled_code": "with\n\ning_to_report as (\n\n select * from \"sagerx\".\"sagerx_dev\".\"int_inactive_ingredients_to_fda_enforcement_reports\"\n\n)\n\nselect * from ing_to_report\nwhere active_ingredient_name in (\n 'risperidone'\n , 'adalimumab'\n , 'lidocaine'\n , 'carbamazepine'\n , 'phenytoin'\n , 'midazolam'\n , 'valproate'\n , 'tacrolimus'\n , 'amoxicillin'\n , 'hydrocortisone'\n , 'cetirizine'\n , 'pertuzumab'\n , 'methylphenidate'\n , 'erythromycin'\n , 'gabapentin'\n , 'lopinavir / ritonavir'\n , 'levothyroxine'\n , 'albuterol'\n )", "relation_name": "\"sagerx\".\"sagerx_dev\".\"scorecard_data\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.501622Z", "completed_at": "2024-11-21T21:06:53.507137Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.507549Z", "completed_at": "2024-11-21T21:06:53.507557Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.006898403167724609, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.all_ndcs_to_sources", "compiled": true, "compiled_code": "-- stg_ndc_all_ndcs_to_sources.sql\n\nwith rxnorm_historical_ndcs as\n(\n -- NOTE: likely need to pick the most recent NDC\n -- instead of just distinct\n -- and pull in the other columns too possibly\n select distinct ndc\n from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm_historical__ndcs\"\n)\n\n, rxnorm_ndcs as\n(\n select distinct ndc\n from \"sagerx\".\"sagerx_dev\".\"stg_rxnorm__ndcs\"\n)\n\n, fda_ndc_ndcs as\n(\n select distinct ndc11 as ndc\n from \"sagerx\".\"sagerx_dev\".\"stg_fda_ndc__ndcs\"\n)\n\n, fda_excluded_ndcs as\n(\n select distinct ndc11 as ndc\n from \"sagerx\".\"sagerx_dev\".\"stg_fda_excluded__ndcs\"\n)\n\n, fda_unfinished_ndcs as\n(\n select distinct ndc11 as ndc\n from \"sagerx\".\"sagerx_dev\".\"stg_fda_unfinished__ndcs\"\n)\n\n, all_distinct_ndcs as\n(\n select ndc from rxnorm_historical_ndcs\n union\n select ndc from rxnorm_ndcs\n union\n select ndc from fda_ndc_ndcs\n union\n select ndc from fda_excluded_ndcs\n union\n select ndc from fda_unfinished_ndcs\n)\n\n, all_ndcs_to_sources as (\n select\n all_distinct_ndcs.ndc\n , case when rxnorm_historical_ndcs.ndc is not null\n then 1 \n else 0\n end as rxnorm_historical_ndcs\n , case when rxnorm_ndcs.ndc is not null\n then 1 \n else 0\n end as rxnorm_ndcs\n , case when fda_ndc_ndcs.ndc is not null\n then 1 \n else 0\n end as fda_ndc_ndcs\n , case when fda_excluded_ndcs.ndc is not null\n then 1 \n else 0\n end as fda_excluded_ndcs\n , case when fda_unfinished_ndcs.ndc is not null\n then 1 \n else 0\n end as fda_unfinished_ndcs\n from all_distinct_ndcs\n left join rxnorm_historical_ndcs\n on rxnorm_historical_ndcs.ndc = all_distinct_ndcs.ndc\n left join rxnorm_ndcs\n on rxnorm_ndcs.ndc = all_distinct_ndcs.ndc\n left join fda_ndc_ndcs\n on fda_ndc_ndcs.ndc = all_distinct_ndcs.ndc\n left join fda_excluded_ndcs\n on fda_excluded_ndcs.ndc = all_distinct_ndcs.ndc\n left join fda_unfinished_ndcs\n on fda_unfinished_ndcs.ndc = all_distinct_ndcs.ndc\n)\n\n, all_not_null_ndcs_to_sources as (\n select\n *\n from all_ndcs_to_sources\n where ndc is not null\n)\n\n, all_ndc_descriptions as (\n select * from \"sagerx\".\"sagerx_dev\".\"all_ndc_descriptions\"\n)\n\n, all_ndcs_with_descriptions_to_sources as (\n select\n all_not_null_ndcs_to_sources.*\n from all_not_null_ndcs_to_sources\n inner join all_ndc_descriptions\n on all_ndc_descriptions.ndc = all_not_null_ndcs_to_sources.ndc\n)\n\nselect * from all_ndcs_with_descriptions_to_sources", "relation_name": "\"sagerx\".\"sagerx_dev\".\"all_ndcs_to_sources\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.509993Z", "completed_at": "2024-11-21T21:06:53.514798Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.515211Z", "completed_at": "2024-11-21T21:06:53.515219Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.006180524826049805, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.sagerx.not_null_all_ndc_descriptions_ndc.5637013605", "compiled": true, "compiled_code": "\n \n \n\n\n\nselect ndc\nfrom \"sagerx\".\"sagerx_dev\".\"all_ndc_descriptions\"\nwhere ndc is null\n\n\n", "relation_name": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.517303Z", "completed_at": "2024-11-21T21:06:53.522174Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.522608Z", "completed_at": "2024-11-21T21:06:53.522618Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.006268978118896484, "adapter_response": {}, "message": null, "failures": null, "unique_id": "test.sagerx.unique_all_ndc_descriptions_ndc.e6968eba9b", "compiled": true, "compiled_code": "\n \n \n\nselect\n ndc as unique_field,\n count(*) as n_records\n\nfrom \"sagerx\".\"sagerx_dev\".\"all_ndc_descriptions\"\nwhere ndc is not null\ngroup by ndc\nhaving count(*) > 1\n\n\n", "relation_name": null}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.524886Z", "completed_at": "2024-11-21T21:06:53.528884Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.529299Z", "completed_at": "2024-11-21T21:06:53.529307Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.005491495132446289, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.int_dailymed_image_xml_ndcs", "compiled": true, "compiled_code": "-- int_dailymed_image_xml_ndcs\n\nwith\n\nranked_package_label_images as\n(\n\n select * from \"sagerx\".\"sagerx_dev\".\"int_dailymed_ranked_package_label_images\"\n\n),\n\nranked_package_label_ndcs as\n(\n\n select * from \"sagerx\".\"sagerx_dev\".\"int_dailymed_ranked_package_label_ndcs\"\n\n)\n\nselect\n\timg.set_id,\n\tndc.ndc,\n\timg.image\nfrom ranked_package_label_images img\nleft join ranked_package_label_ndcs ndc\n\ton ndc.package_label_section_id = img.package_label_section_id\n\tand ndc.rn = img.rn\nwhere ndc.ndc is not null", "relation_name": "\"sagerx\".\"sagerx_dev\".\"int_dailymed_image_xml_ndcs\""}, {"status": "success", "timing": [{"name": "compile", "started_at": "2024-11-21T21:06:53.532125Z", "completed_at": "2024-11-21T21:06:53.540663Z"}, {"name": "execute", "started_at": "2024-11-21T21:06:53.541083Z", "completed_at": "2024-11-21T21:06:53.541091Z"}], "thread_id": "Thread-1 (worker)", "execution_time": 0.010181903839111328, "adapter_response": {}, "message": null, "failures": null, "unique_id": "model.sagerx.ndcs_to_label_images", "compiled": true, "compiled_code": "-- ndcs_to_label_images\n\nwith\n\nimage_xml_ndcs as (\n\n\tselect * from \"sagerx\".\"sagerx_dev\".\"int_dailymed_image_xml_ndcs\"\n\n\n),\n\nimage_name_ndcs as (\n\n\tselect * from \"sagerx\".\"sagerx_dev\".\"int_dailymed_image_name_ndcs\"\n\n),\n\nall_image_ndcs as (\n\n\tselect\n\t\tset_id,\n\t\tndc,\n\t\timage\t\n\tfrom image_xml_ndcs\n\n\tunion\n\n\tselect\n\t\tset_id,\n\t\tndc,\n\t\timage\n\tfrom image_name_ndcs\n\n),\n\nall_image_ndcs_ndc11 as (\n\n\tselect\n\t\tset_id,\n\t\tndc,\n\t\t\n \n CASE WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '10 Digit' THEN NULL\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '11 Digit' THEN ndc\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-4-2' THEN '0' || LEFT(ndc,4) || REPLACE(RIGHT(ndc,7),'-','')\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-3-2' THEN LEFT(ndc,5) || '0' || REPLACE(RIGHT(ndc,6),'-','')\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-1' THEN REPLACE(LEFT(ndc,10),'-','') || '0' || RIGHT(ndc, 1)\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-4-2' THEN REPLACE(ndc,'-','')\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '5-5' THEN NULL\n WHEN \n \n \n CASE WHEN ndc ~ '^\\d{10}$' THEN '10 Digit'\n WHEN ndc ~ '^\\d{11}$' THEN '11 Digit'\n WHEN ndc ~ '^\\d{4}-\\d{4}-\\d{2}$' THEN '4-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{3}-\\d{2}$' THEN '5-3-2'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{1}$' THEN '5-4-1'\n WHEN ndc ~ '^\\d{5}-\\d{4}-\\d{2}$' THEN '5-4-2'\n WHEN ndc ~ '^\\d{5}-\\d{5}$' THEN '5-5'\n WHEN ndc ~ '^\\d{4}-\\d{6}$' THEN '4-6'\n\t ELSE 'Unkown'\n\t END\n \n = '4-6' THEN NULL\n ELSE NULL\n END\n \n as ndc11,\n\t\tconcat('https://dailymed.nlm.nih.gov/dailymed/image.cfm?name=', image, '&setid=', set_id) as image_url,\n\t\timage as image_file,\n\t\tconcat('https://dailymed.nlm.nih.gov/dailymed/drugInfo.cfm?setid=', set_id) as dailymed_spl_url\n\tfrom all_image_ndcs\n\n)\n\nselect * from all_image_ndcs_ndc11", "relation_name": "\"sagerx\".\"sagerx_dev\".\"ndcs_to_label_images\""}], "elapsed_time": 1.158635139465332, "args": {"require_resource_names_without_spaces": false, "warn_error_options": {"include": [], "exclude": []}, "require_explicit_package_overrides_for_builtin_materializations": true, "static": false, "log_format_file": "debug", "invocation_command": "dbt docs generate", "empty_catalog": false, "partial_parse_file_diff": true, "favor_state": false, "macro_debugging": false, "static_parser": true, "use_colors_file": true, "log_file_max_bytes": 10485760, "partial_parse": true, "introspect": true, "log_level_file": "debug", "use_colors": true, "profiles_dir": "/dbt", "write_json": true, "cache_selected_only": false, "send_anonymous_usage_stats": true, "exclude": [], "select": [], "project_dir": "/dbt/sagerx", "compile": true, "enable_legacy_logger": false, "printer_width": 80, "vars": {}, "print": true, "quiet": false, "strict_mode": false, "log_level": "info", "indirect_selection": "eager", "version_check": true, "log_format": "default", "log_path": "/dbt/sagerx/logs", "which": "generate", "show_resource_report": false, "defer": false, "populate_cache": true, "source_freshness_run_project_hooks": false}} \ No newline at end of file