From 9c6d23e92c3e3d8b15e265ce0ff6badc329600e4 Mon Sep 17 00:00:00 2001 From: abpwrs Date: Sun, 29 Mar 2020 14:35:39 -0500 Subject: [PATCH 1/7] SAVE: working w/ zain irl --- convert/fmp.py | 103 -- convert/generate_json_from_fmp.py | 38 - {convert => db}/.gitignore | 0 convert/init/.gitkeep => db/README.md | 0 database.env => db/database.env | 0 db/db.py | 19 + .../.gitkeep => db/docker/base.dockerfile | 0 db/enter_psql.bash | 1 + db/fk.sql | 17 + db/fmp.py | 98 ++ {convert => db}/fmp_to_postgres.py | 0 db/init-db.bash | 17 + .../init/20200305_2357_init_db.sql | 4 +- db/init/20200309_1938_init_db.sql | 280 ++++ db/json_from_fmp.py | 30 + {convert/seed => db/models}/.gitkeep | 0 .../models/20200305_2357_model.json | 0 .../models/20200309_1936_model.json | 0 db/models/20200309_1938_model.json | 1306 +++++++++++++++++ db/postgres_init_from_json.py | 79 + .../postgres_seed_from_json.py | 2 +- db/postgres_to_fmp.py | 0 db/psql.py | 7 + db/seed-db.bash | 17 + db/seed/.gitignore | 2 + docker-compose.yml | 2 +- 26 files changed, 1877 insertions(+), 145 deletions(-) delete mode 100644 convert/fmp.py delete mode 100644 convert/generate_json_from_fmp.py rename {convert => db}/.gitignore (100%) rename convert/init/.gitkeep => db/README.md (100%) rename database.env => db/database.env (100%) create mode 100644 db/db.py rename convert/models/.gitkeep => db/docker/base.dockerfile (100%) create mode 100644 db/enter_psql.bash create mode 100644 db/fk.sql create mode 100644 db/fmp.py rename {convert => db}/fmp_to_postgres.py (100%) create mode 100755 db/init-db.bash rename {convert => db}/init/20200305_2357_init_db.sql (99%) create mode 100644 db/init/20200309_1938_init_db.sql create mode 100644 db/json_from_fmp.py rename {convert/seed => db/models}/.gitkeep (100%) rename {convert => db}/models/20200305_2357_model.json (100%) rename convert/postgres_to_fmp.py => db/models/20200309_1936_model.json (100%) create mode 100644 db/models/20200309_1938_model.json create mode 100644 db/postgres_init_from_json.py rename convert/generate_postgres_seed_from_json.py => db/postgres_seed_from_json.py (95%) create mode 100644 db/postgres_to_fmp.py create mode 100644 db/psql.py create mode 100755 db/seed-db.bash create mode 100644 db/seed/.gitignore diff --git a/convert/fmp.py b/convert/fmp.py deleted file mode 100644 index 20d7cd2..0000000 --- a/convert/fmp.py +++ /dev/null @@ -1,103 +0,0 @@ -import pyodbc - - -""" -File Maker Pro Connection Object -""" - - -class FMP(object): - __connection_string = "DSN=chifmp;UID=hjohnson;PWD=hjohnson" - - def __init__(self): - self.fmp_table_names = [ - "clinics", - "patients", - "visits", - "diagnoses", - "diagnoses_made", - "meds", - "meds_dispensed", - # "settings", - # "globals", - ] - - self.python_types_to_sql = { - "str": "VARCHAR", - "date": "TIMESTAMP", - "float64": "FLOAT", - "NoneType": "VARCHAR", - } - - self.__connection = pyodbc.connect(FMP.__connection_string) - - def fmp_table_names(self): - return self.fmp_table_names - - @property - def connection(self): - return self.__connection - - -class CHIFMPModel(object): - def __init__(self): - self.chifmp_table_names = [ - "patients", - "visits", - "clinics", - "diagnoses", - "diagnoses_made", - "meds", - "meds_dispensed", - # "globals", - # "settings", - ] - - def get_chifmp_table_names(self): - return self.chifmp_table_names - - def _get_connection_string(self): - # import netrc - - ## Add secret information in the `~/.netrc file - # machine chihaiti.fmp - # account chihaiti #<- the name of the DSN to connetct to - # login fmp_database_name - # password fmp_database_password - # netrcparser = netrc.netrc() - # mylogin, myaccount, mypassword = netrcparser.authenticators("chihaiti.fmp") - connection_string = "DSN=chifmp;UID=hjohnson;PWD=hjohnson" - print("Starting Connection with {0}".format(connection_string)) - # del mylogin, myaccount, mypassword - return connection_string - - def get_connnection(self): - import pyodbc - - return pyodbc.connect(self._get_connection_string()) - - -class QueryElements(object): - """ - Class to hold components used to construct a query - - updates should be done like the following: - - template = "UPDATE patients SET first_name = ? WHERE pk_patient_id = ?" - values = ('My"Name"', 12342) - cursor.execute(template, values); - - """ - - def __init__(self, query_template, query_values): - self.query_template = query_template - self.query_values = query_values - - def get_query_template(self): - return self.query_template - - def get_query_values(self): - return self.query_values - - def __str__(self): - return str(self.query_template) + " " + str(self.query_values) diff --git a/convert/generate_json_from_fmp.py b/convert/generate_json_from_fmp.py deleted file mode 100644 index f5ba179..0000000 --- a/convert/generate_json_from_fmp.py +++ /dev/null @@ -1,38 +0,0 @@ -import json -from datetime import datetime - -import pandas as pd -import pyodbc - -from fmp import FMP - -db_json = dict() -fmp_model = FMP() - -for tbl in fmp_model.fmp_table_names: - query = "select * from {tbl}".format(tbl=tbl) - df = pd.read_sql(query, fmp_model.connection) - - print(tbl) - col_types = [ - df.iloc[1, index].__class__.__name__ for index in range(len(df.columns)) - ] - for elem in zip(df.columns, col_types): - print(elem) - print() - - db_json[tbl] = {} - col_types = [ - df.iloc[1, index].__class__.__name__ for index in range(len(df.columns)) - ] - for elem in zip(df.columns, col_types): - db_json[tbl][elem[0]] = {} - db_json[tbl][elem[0]]["type"] = elem[1] - db_json[tbl][elem[0]]["pk"] = "pk" == elem[0][:2] - db_json[tbl][elem[0]]["fk"] = "fk" == elem[0][:2] - - -curr_time = datetime.now().strftime("%Y%m%d_%H%M") - -with open("./models/{time}_model.json".format(time=curr_time), "w") as f: - json.dump(db_json, f, indent=4) diff --git a/convert/.gitignore b/db/.gitignore similarity index 100% rename from convert/.gitignore rename to db/.gitignore diff --git a/convert/init/.gitkeep b/db/README.md similarity index 100% rename from convert/init/.gitkeep rename to db/README.md diff --git a/database.env b/db/database.env similarity index 100% rename from database.env rename to db/database.env diff --git a/db/db.py b/db/db.py new file mode 100644 index 0000000..cb0394c --- /dev/null +++ b/db/db.py @@ -0,0 +1,19 @@ +from abc import ABC, abstractmethod + + +class DB(ABC): + def __init__(self): + self._model = None + self.datetime_format = "%Y%m%d_%H%M" + + @abstractmethod + def write_model(self): + pass + + @abstractmethod + def parse_database(self) -> dict(): + pass + + @abstractmethod + def init_from_json(self, json_model: dict()): + pass diff --git a/convert/models/.gitkeep b/db/docker/base.dockerfile similarity index 100% rename from convert/models/.gitkeep rename to db/docker/base.dockerfile diff --git a/db/enter_psql.bash b/db/enter_psql.bash new file mode 100644 index 0000000..0366ad9 --- /dev/null +++ b/db/enter_psql.bash @@ -0,0 +1 @@ +psql --host=database --username=user --dbname=database diff --git a/db/fk.sql b/db/fk.sql new file mode 100644 index 0000000..d8ce91a --- /dev/null +++ b/db/fk.sql @@ -0,0 +1,17 @@ +SELECT + tc.table_schema, + tc.constraint_name, + tc.table_name, + kcu.column_name, + ccu.table_schema AS foreign_table_schema, + ccu.table_name AS foreign_table_name, + ccu.column_name AS foreign_column_name +FROM + information_schema.table_constraints AS tc + JOIN information_schema.key_column_usage AS kcu + ON tc.constraint_name = kcu.constraint_name + AND tc.table_schema = kcu.table_schema + JOIN information_schema.constraint_column_usage AS ccu + ON ccu.constraint_name = tc.constraint_name + AND ccu.table_schema = tc.table_schema +WHERE tc.constraint_type = 'FOREIGN KEY' AND tc.table_name='patients'; \ No newline at end of file diff --git a/db/fmp.py b/db/fmp.py new file mode 100644 index 0000000..99ee197 --- /dev/null +++ b/db/fmp.py @@ -0,0 +1,98 @@ +import json +from datetime import datetime + +import pandas as pd +import pyodbc +from tqdm import tqdm + +from db import DB + + +""" +File Maker Pro Connection Object + +Desc: +This file contains the primary logic for interacting with the file maker pro database +""" + + +class FMP(DB): + def __init__(self, dsn=None, username=None, password=None): + DB.__init__(self) + if dsn is None: + dsn = input("Enter the FMP DSN: ") + if username is None: + username = input("Enter your FMP username: ") + if password is None: + password = input("Enter your FMP password: ") + + self.__dsn = dsn + self.__username = username + self.__password = password + + self.__connection_string = "DSN={0};UID={1};PWD={2}".format( + self.__dsn, self.__username, self.__password + ) + + self.__fmp_table_names = [ + "clinics", + "patients", + "visits", + "diagnoses", + "diagnoses_made", + "meds", + "meds_dispensed", + # "settings", + # "globals", + ] + + self.__python_types_to_sql = { + "str": "VARCHAR", + "date": "TIMESTAMP", + "float64": "FLOAT", + "NoneType": "VARCHAR", + } + + self.__pyodbc_connection = pyodbc.connect(self.__connection_string) + + @property + def python_types_to_sql(self): + return self.__python_types_to_sql + + @property + def fmp_table_names(self): + return self.__fmp_table_names + + @property + def connection(self): + return self.__pyodbc_connection + + # ABSTRACT BASE CLASS MEHTODS + def init_from_json(model_object): + self._model = model_object + + def parse_database(self) -> dict(): + self._model = dict() + for tbl in tqdm(self.fmp_table_names): + query = "select * from {tbl}".format(tbl=tbl) + df = pd.read_sql(query, self.connection) + + self._model[tbl] = {} + col_types = [ + df.iloc[1, index].__class__.__name__ for index in range(len(df.columns)) + ] + + for elem in zip(df.columns, col_types): + self._model[tbl][elem[0]] = {} + self._model[tbl][elem[0]]["type"] = elem[1] + self._model[tbl][elem[0]]["pk"] = "pk" == elem[0][:2] + self._model[tbl][elem[0]]["fk"] = "fk" == elem[0][:2] + return self._model + + def write_model(self, model_object=None): + curr_time = datetime.now().strftime(self.datetime_format) + with open("./models/{time}_model.json".format(time=curr_time), "w") as f: + if model_object is not None: + json.dump(model_object, f, indent=4) + else: + json.dump(self._model, f, indent=4) diff --git a/convert/fmp_to_postgres.py b/db/fmp_to_postgres.py similarity index 100% rename from convert/fmp_to_postgres.py rename to db/fmp_to_postgres.py diff --git a/db/init-db.bash b/db/init-db.bash new file mode 100755 index 0000000..225d2f5 --- /dev/null +++ b/db/init-db.bash @@ -0,0 +1,17 @@ +#!/usr/bin/env bash +# Author: "hertz" +# Date: 20200310 + +# args: +# 1 -- +# 2 -- + +#if [[ $# -ne 1 ]]; then +# echo "Usage: $0 ..." +# exit +#fi + + +# script: + + diff --git a/convert/init/20200305_2357_init_db.sql b/db/init/20200305_2357_init_db.sql similarity index 99% rename from convert/init/20200305_2357_init_db.sql rename to db/init/20200305_2357_init_db.sql index d89c1b1..61314ad 100644 --- a/convert/init/20200305_2357_init_db.sql +++ b/db/init/20200305_2357_init_db.sql @@ -238,7 +238,7 @@ create table chi_20200305_2357.visits ( create table chi_20200305_2357.diagnoses ( pk_diagnosis_id FLOAT primary key, diagnosis_name VARCHAR , - pk_diagnosis_key VARCHAR primary key, + pk_diagnosis_key VARCHAR , creation_date TIMESTAMP , creation_acct VARCHAR , modified_date TIMESTAMP , @@ -262,7 +262,7 @@ create table chi_20200305_2357.meds ( creation_acct VARCHAR , modified_date TIMESTAMP , modified_acct VARCHAR , - pk_med_key VARCHAR primary key, + pk_med_key VARCHAR , med_type VARCHAR ); diff --git a/db/init/20200309_1938_init_db.sql b/db/init/20200309_1938_init_db.sql new file mode 100644 index 0000000..0e371ae --- /dev/null +++ b/db/init/20200309_1938_init_db.sql @@ -0,0 +1,280 @@ +create schema chi_20200309_1938; +create table chi_20200309_1938.clinics ( + pk_clinic_id FLOAT primary key, + clinic_name VARCHAR , + creation_date TIMESTAMP , + creation_acct VARCHAR , + modified_date TIMESTAMP , + modified_acct VARCHAR +); + +create table chi_20200309_1938.patients ( + pk_patient_id FLOAT primary key, + creation_date TIMESTAMP , + creation_acct VARCHAR , + modified_date TIMESTAMP , + modified_acct VARCHAR , + last_name VARCHAR , + first_name VARCHAR , + gender VARCHAR , + face_photo VARCHAR , + birthdate VARCHAR , + phone VARCHAR , + town VARCHAR , + unique_name VARCHAR , + unique_ID_name VARCHAR , + nickname VARCHAR , + needs_review VARCHAR , + notes_modification_status VARCHAR , + fk_geonameid VARCHAR +); + +create table chi_20200309_1938.visits ( + pk_visit_id FLOAT primary key, + creation_date TIMESTAMP , + creation_acct VARCHAR , + modified_date TIMESTAMP , + modified_acct VARCHAR , + fk_patient_id FLOAT , + fk_clinic_id FLOAT , + visit_date TIMESTAMP , + visit_age FLOAT , + ob_pregnant VARCHAR , + ob_last_menstrual_period VARCHAR , + bp_systolic_blood_pressure FLOAT , + bp_diastolic_blood_pressure FLOAT , + bp_mean_arterial_pressure FLOAT , + temp_in_fahrenheit FLOAT , + pulse_rate FLOAT , + weight_in_lbs FLOAT , + height_in_inches FLOAT , + glasses_given VARCHAR , + sunglasses_given VARCHAR , + dx_surgical_candidate VARCHAR , + surgical_comments VARCHAR , + visit_age_unit VARCHAR , + chief_complaint VARCHAR , + history_of_present_illness VARCHAR , + visit_age_years FLOAT , + exam_comments VARCHAR , + tests_comments VARCHAR , + tests_blood_sugar_result FLOAT , + tests_pregnancy_result VARCHAR , + tests_urine_glucose_result VARCHAR , + tests_urine_protein_result VARCHAR , + tests_urine_leukocytes_result VARCHAR , + tests_urine_nitrites_result VARCHAR , + ob_gravida FLOAT , + ob_para FLOAT , + ob_abortus FLOAT , + ob_history VARCHAR , + ob_wants_planning VARCHAR , + albendazole_given VARCHAR , + first_visit VARCHAR , + known_med_allergies VARCHAR , + meds_currently_taken VARCHAR , + tests_pregnancy_given VARCHAR , + tests_blood_sugar_given VARCHAR , + tests_eye_exam_given VARCHAR , + tests_urine_analysis_given VARCHAR , + dx_asthma VARCHAR , + dx_allergies VARCHAR , + dx_anemia VARCHAR , + dx_malnutrition VARCHAR , + dx_diabetes VARCHAR , + dx_pterygium VARCHAR , + dx_cataract VARCHAR , + dx_dry_eye VARCHAR , + dx_conjunctivitis VARCHAR , + dx_fever VARCHAR , + dx_possible_malaria VARCHAR , + dx_filariasis VARCHAR , + dx_gastritis VARCHAR , + dx_gerd VARCHAR , + dx_gastroenteritis VARCHAR , + dx_dysentery VARCHAR , + dx_possible_cholera VARCHAR , + dx_headache VARCHAR , + dx_hernia VARCHAR , + dx_hernia_type VARCHAR , + dx_hypertension VARCHAR , + dx_stroke VARCHAR , + dx_angina VARCHAR , + dx_chf VARCHAR , + dx_musculoskeletal_pain VARCHAR , + dx_otitis VARCHAR , + dx_otitis_ear VARCHAR , + dx_pneumonia VARCHAR , + dx_sinusitis VARCHAR , + dx_uri VARCHAR , + dx_pregnant VARCHAR , + dx_pregnant_weeks FLOAT , + dx_atopic_derm VARCHAR , + dx_fungal VARCHAR , + dx_scabies VARCHAR , + dx_impetigo VARCHAR , + dx_tinea_capitus VARCHAR , + dx_possible_std VARCHAR , + dx_possible_tb VARCHAR , + dx_vaginitis_candidal VARCHAR , + dx_vaginitis_trich VARCHAR , + dx_vaginitis_bv VARCHAR , + dx_other VARCHAR , + dx_other_text VARCHAR , + tx_multivitamin VARCHAR , + tx_pain_acetaminophen VARCHAR , + tx_gi_omeprazole VARCHAR , + tx_gi_pepto_bismol VARCHAR , + tx_gi_cimetidine VARCHAR , + tx_gi_tums VARCHAR , + tx_gi_ors VARCHAR , + tx_infections_albendazole VARCHAR , + tx_infections_amoxicillin VARCHAR , + tx_infections_azithromycin VARCHAR , + tx_infections_bactrim VARCHAR , + tx_infections_cipro VARCHAR , + tx_infections_doxycycline VARCHAR , + tx_infections_flagyl VARCHAR , + tx_infections_fluconazole VARCHAR , + tx_infections_griseofulvin VARCHAR , + tx_infections_ivermectin VARCHAR , + tx_infections_keflex VARCHAR , + tx_infections_rocephin VARCHAR , + tx_cardiac_amlodipine VARCHAR , + tx_cardiac_aspirin VARCHAR , + tx_cardiac_atenolol VARCHAR , + tx_cardiac_hctz VARCHAR , + tx_cardiac_lasix VARCHAR , + tx_cardiac_enalapril VARCHAR , + tx_topical_clotrimazole VARCHAR , + tx_topical_hydrocortisone VARCHAR , + tx_topical_silvadine VARCHAR , + tx_topical_permethirine VARCHAR , + tx_im_dexamethasone VARCHAR , + tx_im_lasix VARCHAR , + tx_misc_albuterol VARCHAR , + tx_misc_benadryl VARCHAR , + tx_misc_ferrous_sulfate VARCHAR , + tx_misc_metformin VARCHAR , + tx_misc_prednisolone VARCHAR , + tx_misc_other VARCHAR , + tx_misc_other_text VARCHAR , + tx_comments VARCHAR , + dx_uti VARCHAR , + tx_multivitamin_varieties VARCHAR , + tx_pain_acetaminophen_varieties VARCHAR , + tx_infections_amoxicillin_varieties VARCHAR , + tx_pain_ibuprofen VARCHAR , + dx_comments VARCHAR , + tx_infections_azithromycin_varieties VARCHAR , + tx_infections_bactrim_varieties VARCHAR , + tx_infections_keflex_varieties VARCHAR , + tx_infections_rocephin_varieties VARCHAR , + dx_vaginitis_general VARCHAR , + dx_needs_to_see_dentist VARCHAR , + dx_needs_to_see_eye_doctor VARCHAR , + dx_healthy VARCHAR , + provider VARCHAR , + tx_saw_dentist VARCHAR , + tx_saw_eye_doctor VARCHAR , + tx_outside_referral VARCHAR , + tx_outside_referral_text VARCHAR , + tx_gi_zinc VARCHAR , + tx_cardiac_methyldopa VARCHAR , + tx_infections_augmentin VARCHAR , + tx_infections_chloroquine VARCHAR , + tx_infections_griseofuvin_varieties VARCHAR , + tx_infections_nitrofurantoin VARCHAR , + tx_topical_double_antibiotic VARCHAR , + tx_misc_fluoxetine VARCHAR , + tx_misc_ocp VARCHAR , + tx_misc_phenytoin VARCHAR , + dx_possible_parasites VARCHAR , + tx_misc_iud VARCHAR , + tests_id_test_given VARCHAR , + tests_id_chlamydia_result VARCHAR , + tests_id_hiv_result VARCHAR , + tests_id_syphilis_result VARCHAR , + tests_id_gonorrhea_result VARCHAR , + tests_eye_exam_right_sphere VARCHAR , + tests_eye_exam_right_cylinder VARCHAR , + tests_eye_exam_right_axis VARCHAR , + tests_eye_exam_right_bifocal VARCHAR , + tests_eye_exam_left_sphere VARCHAR , + tests_eye_exam_left_cylinder VARCHAR , + tests_eye_exam_left_axis VARCHAR , + tests_eye_exam_left_bifocal VARCHAR , + tx_pain_ibuprofen_varieties VARCHAR , + tx_misc_benadryl_varieties VARCHAR , + tests_id_tb_result VARCHAR , + tests_id_confirm_hiv_cd4 VARCHAR , + tests_id_confirm_hiv_result VARCHAR , + tests_id_confirm_hiv_arvt VARCHAR , + tests_id_confirm_hiv_enrolled VARCHAR , + tests_id_confirm_hiv_problems VARCHAR , + tests_id_confirm_tb_result VARCHAR , + tests_id_confirm_tb_comments VARCHAR , + tests_id_confirm_hiv_enrolled_at VARCHAR , + dx_depression VARCHAR , + clinic_trip VARCHAR , + tx_chw_referral VARCHAR , + tx_misc_depo VARCHAR , + tx_misc_paroxetine VARCHAR , + tx_misc_keppra VARCHAR , + dx_totalcount FLOAT , + tx_totalcount FLOAT , + tx_given_glasses VARCHAR , + tx_misc_labetolol VARCHAR , + tx_misc_carbamazepine VARCHAR , + tx_misc_terazosin VARCHAR , + tx_gi_ranitidine VARCHAR , + tx_cardiac_lisinopril VARCHAR , + tx_topical_triple_antibiotic VARCHAR , + tx_misc_prednisone VARCHAR , + clinic VARCHAR , + notes_modification_status VARCHAR +); + +create table chi_20200309_1938.diagnoses ( + pk_diagnosis_id FLOAT primary key, + diagnosis_name VARCHAR , + pk_diagnosis_key VARCHAR , + creation_date TIMESTAMP , + creation_acct VARCHAR , + modified_date TIMESTAMP , + modified_acct VARCHAR +); + +create table chi_20200309_1938.diagnoses_made ( + pk_diagnoses_made FLOAT primary key, + fk_visit_id FLOAT , + fk_diagnosis_key VARCHAR , + creation_date TIMESTAMP , + creation_acct VARCHAR , + modified_date TIMESTAMP , + modified_acct VARCHAR +); + +create table chi_20200309_1938.meds ( + pk_med_id FLOAT primary key, + med_name VARCHAR , + creation_date TIMESTAMP , + creation_acct VARCHAR , + modified_date TIMESTAMP , + modified_acct VARCHAR , + pk_med_key VARCHAR , + med_type VARCHAR +); + +create table chi_20200309_1938.meds_dispensed ( + pk_meds_dispensed FLOAT primary key, + fk_visit_id FLOAT , + fk_med_key VARCHAR , + creation_date TIMESTAMP , + creation_acct VARCHAR , + modified_date TIMESTAMP , + modified_acct VARCHAR , + dispensed_total FLOAT , + med_dosage VARCHAR +); + diff --git a/db/json_from_fmp.py b/db/json_from_fmp.py new file mode 100644 index 0000000..f2729ad --- /dev/null +++ b/db/json_from_fmp.py @@ -0,0 +1,30 @@ +import argparse +import sys + +from fmp import FMP + +""" +Generate JSON from file maker pro + +DESC: +This file will take in a data source name (dsn), username, and password, and generate to the +best of it's abilities a json file that represents the structure of the database +""" + + +def parse_args(): + parser = argparse.ArgumentParser() + parser.add_argument("-d", "--dsn", help="dsn name") + parser.add_argument("-u", "--username", help="username for dsn") + parser.add_argument("-p", "--password", help="password for dsn") + return parser.parse_args() + + +def main(argv): + fmp = FMP(argv.dsn, argv.username, argv.password) + model = fmp.parse_database() + fmp.write_model(model) + + +if __name__ == "__main__": + sys.exit(main(parse_args())) diff --git a/convert/seed/.gitkeep b/db/models/.gitkeep similarity index 100% rename from convert/seed/.gitkeep rename to db/models/.gitkeep diff --git a/convert/models/20200305_2357_model.json b/db/models/20200305_2357_model.json similarity index 100% rename from convert/models/20200305_2357_model.json rename to db/models/20200305_2357_model.json diff --git a/convert/postgres_to_fmp.py b/db/models/20200309_1936_model.json similarity index 100% rename from convert/postgres_to_fmp.py rename to db/models/20200309_1936_model.json diff --git a/db/models/20200309_1938_model.json b/db/models/20200309_1938_model.json new file mode 100644 index 0000000..ffcac33 --- /dev/null +++ b/db/models/20200309_1938_model.json @@ -0,0 +1,1306 @@ +{ + "clinics": { + "pk_clinic_id": { + "type": "float64", + "pk": true, + "fk": false + }, + "clinic_name": { + "type": "str", + "pk": false, + "fk": false + }, + "creation_date": { + "type": "date", + "pk": false, + "fk": false + }, + "creation_acct": { + "type": "str", + "pk": false, + "fk": false + }, + "modified_date": { + "type": "date", + "pk": false, + "fk": false + }, + "modified_acct": { + "type": "str", + "pk": false, + "fk": false + } + }, + "patients": { + "pk_patient_id": { + "type": "float64", + "pk": true, + "fk": false + }, + "creation_date": { + "type": "date", + "pk": false, + "fk": false + }, + "creation_acct": { + "type": "str", + "pk": false, + "fk": false + }, + "modified_date": { + "type": "date", + "pk": false, + "fk": false + }, + "modified_acct": { + "type": "str", + "pk": false, + "fk": false + }, + "last_name": { + "type": "str", + "pk": false, + "fk": false + }, + "first_name": { + "type": "str", + "pk": false, + "fk": false + }, + "gender": { + "type": "str", + "pk": false, + "fk": false + }, + "face_photo": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "birthdate": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "phone": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "town": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "unique_name": { + "type": "str", + "pk": false, + "fk": false + }, + "unique_ID_name": { + "type": "str", + "pk": false, + "fk": false + }, + "nickname": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "needs_review": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "notes_modification_status": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "fk_geonameid": { + "type": "NoneType", + "pk": false, + "fk": true + } + }, + "visits": { + "pk_visit_id": { + "type": "float64", + "pk": true, + "fk": false + }, + "creation_date": { + "type": "date", + "pk": false, + "fk": false + }, + "creation_acct": { + "type": "str", + "pk": false, + "fk": false + }, + "modified_date": { + "type": "date", + "pk": false, + "fk": false + }, + "modified_acct": { + "type": "str", + "pk": false, + "fk": false + }, + "fk_patient_id": { + "type": "float64", + "pk": false, + "fk": true + }, + "fk_clinic_id": { + "type": "float64", + "pk": false, + "fk": true + }, + "visit_date": { + "type": "date", + "pk": false, + "fk": false + }, + "visit_age": { + "type": "float64", + "pk": false, + "fk": false + }, + "ob_pregnant": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "ob_last_menstrual_period": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "bp_systolic_blood_pressure": { + "type": "float64", + "pk": false, + "fk": false + }, + "bp_diastolic_blood_pressure": { + "type": "float64", + "pk": false, + "fk": false + }, + "bp_mean_arterial_pressure": { + "type": "float64", + "pk": false, + "fk": false + }, + "temp_in_fahrenheit": { + "type": "float64", + "pk": false, + "fk": false + }, + "pulse_rate": { + "type": "float64", + "pk": false, + "fk": false + }, + "weight_in_lbs": { + "type": "float64", + "pk": false, + "fk": false + }, + "height_in_inches": { + "type": "float64", + "pk": false, + "fk": false + }, + "glasses_given": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "sunglasses_given": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "dx_surgical_candidate": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "surgical_comments": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "visit_age_unit": { + "type": "str", + "pk": false, + "fk": false + }, + "chief_complaint": { + "type": "str", + "pk": false, + "fk": false + }, + "history_of_present_illness": { + "type": "str", + "pk": false, + "fk": false + }, + "visit_age_years": { + "type": "float64", + "pk": false, + "fk": false + }, + "exam_comments": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tests_comments": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tests_blood_sugar_result": { + "type": "float64", + "pk": false, + "fk": false + }, + "tests_pregnancy_result": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tests_urine_glucose_result": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tests_urine_protein_result": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tests_urine_leukocytes_result": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tests_urine_nitrites_result": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "ob_gravida": { + "type": "float64", + "pk": false, + "fk": false + }, + "ob_para": { + "type": "float64", + "pk": false, + "fk": false + }, + "ob_abortus": { + "type": "float64", + "pk": false, + "fk": false + }, + "ob_history": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "ob_wants_planning": { + "type": "str", + "pk": false, + "fk": false + }, + "albendazole_given": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "first_visit": { + "type": "str", + "pk": false, + "fk": false + }, + "known_med_allergies": { + "type": "str", + "pk": false, + "fk": false + }, + "meds_currently_taken": { + "type": "str", + "pk": false, + "fk": false + }, + "tests_pregnancy_given": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tests_blood_sugar_given": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tests_eye_exam_given": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tests_urine_analysis_given": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "dx_asthma": { + "type": "str", + "pk": false, + "fk": false + }, + "dx_allergies": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "dx_anemia": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "dx_malnutrition": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "dx_diabetes": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "dx_pterygium": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "dx_cataract": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "dx_dry_eye": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "dx_conjunctivitis": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "dx_fever": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "dx_possible_malaria": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "dx_filariasis": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "dx_gastritis": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "dx_gerd": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "dx_gastroenteritis": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "dx_dysentery": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "dx_possible_cholera": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "dx_headache": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "dx_hernia": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "dx_hernia_type": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "dx_hypertension": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "dx_stroke": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "dx_angina": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "dx_chf": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "dx_musculoskeletal_pain": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "dx_otitis": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "dx_otitis_ear": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "dx_pneumonia": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "dx_sinusitis": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "dx_uri": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "dx_pregnant": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "dx_pregnant_weeks": { + "type": "float64", + "pk": false, + "fk": false + }, + "dx_atopic_derm": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "dx_fungal": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "dx_scabies": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "dx_impetigo": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "dx_tinea_capitus": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "dx_possible_std": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "dx_possible_tb": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "dx_vaginitis_candidal": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "dx_vaginitis_trich": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "dx_vaginitis_bv": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "dx_other": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "dx_other_text": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_multivitamin": { + "type": "str", + "pk": false, + "fk": false + }, + "tx_pain_acetaminophen": { + "type": "str", + "pk": false, + "fk": false + }, + "tx_gi_omeprazole": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_gi_pepto_bismol": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_gi_cimetidine": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_gi_tums": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_gi_ors": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_infections_albendazole": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_infections_amoxicillin": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_infections_azithromycin": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_infections_bactrim": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_infections_cipro": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_infections_doxycycline": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_infections_flagyl": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_infections_fluconazole": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_infections_griseofulvin": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_infections_ivermectin": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_infections_keflex": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_infections_rocephin": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_cardiac_amlodipine": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_cardiac_aspirin": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_cardiac_atenolol": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_cardiac_hctz": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_cardiac_lasix": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_cardiac_enalapril": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_topical_clotrimazole": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_topical_hydrocortisone": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_topical_silvadine": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_topical_permethirine": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_im_dexamethasone": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_im_lasix": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_misc_albuterol": { + "type": "str", + "pk": false, + "fk": false + }, + "tx_misc_benadryl": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_misc_ferrous_sulfate": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_misc_metformin": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_misc_prednisolone": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_misc_other": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_misc_other_text": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_comments": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "dx_uti": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_multivitamin_varieties": { + "type": "str", + "pk": false, + "fk": false + }, + "tx_pain_acetaminophen_varieties": { + "type": "str", + "pk": false, + "fk": false + }, + "tx_infections_amoxicillin_varieties": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_pain_ibuprofen": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "dx_comments": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_infections_azithromycin_varieties": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_infections_bactrim_varieties": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_infections_keflex_varieties": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_infections_rocephin_varieties": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "dx_vaginitis_general": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "dx_needs_to_see_dentist": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "dx_needs_to_see_eye_doctor": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "dx_healthy": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "provider": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_saw_dentist": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_saw_eye_doctor": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_outside_referral": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_outside_referral_text": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_gi_zinc": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_cardiac_methyldopa": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_infections_augmentin": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_infections_chloroquine": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_infections_griseofuvin_varieties": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_infections_nitrofurantoin": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_topical_double_antibiotic": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_misc_fluoxetine": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_misc_ocp": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_misc_phenytoin": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "dx_possible_parasites": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_misc_iud": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tests_id_test_given": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tests_id_chlamydia_result": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tests_id_hiv_result": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tests_id_syphilis_result": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tests_id_gonorrhea_result": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tests_eye_exam_right_sphere": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tests_eye_exam_right_cylinder": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tests_eye_exam_right_axis": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tests_eye_exam_right_bifocal": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tests_eye_exam_left_sphere": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tests_eye_exam_left_cylinder": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tests_eye_exam_left_axis": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tests_eye_exam_left_bifocal": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_pain_ibuprofen_varieties": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_misc_benadryl_varieties": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tests_id_tb_result": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tests_id_confirm_hiv_cd4": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tests_id_confirm_hiv_result": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tests_id_confirm_hiv_arvt": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tests_id_confirm_hiv_enrolled": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tests_id_confirm_hiv_problems": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tests_id_confirm_tb_result": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tests_id_confirm_tb_comments": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tests_id_confirm_hiv_enrolled_at": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "dx_depression": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "clinic_trip": { + "type": "str", + "pk": false, + "fk": false + }, + "tx_chw_referral": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_misc_depo": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_misc_paroxetine": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_misc_keppra": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "dx_totalcount": { + "type": "float64", + "pk": false, + "fk": false + }, + "tx_totalcount": { + "type": "float64", + "pk": false, + "fk": false + }, + "tx_given_glasses": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_misc_labetolol": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_misc_carbamazepine": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_misc_terazosin": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_gi_ranitidine": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_cardiac_lisinopril": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_topical_triple_antibiotic": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "tx_misc_prednisone": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "clinic": { + "type": "NoneType", + "pk": false, + "fk": false + }, + "notes_modification_status": { + "type": "NoneType", + "pk": false, + "fk": false + } + }, + "diagnoses": { + "pk_diagnosis_id": { + "type": "float64", + "pk": true, + "fk": false + }, + "diagnosis_name": { + "type": "str", + "pk": false, + "fk": false + }, + "pk_diagnosis_key": { + "type": "str", + "pk": true, + "fk": false + }, + "creation_date": { + "type": "date", + "pk": false, + "fk": false + }, + "creation_acct": { + "type": "str", + "pk": false, + "fk": false + }, + "modified_date": { + "type": "date", + "pk": false, + "fk": false + }, + "modified_acct": { + "type": "str", + "pk": false, + "fk": false + } + }, + "diagnoses_made": { + "pk_diagnoses_made": { + "type": "float64", + "pk": true, + "fk": false + }, + "fk_visit_id": { + "type": "float64", + "pk": false, + "fk": true + }, + "fk_diagnosis_key": { + "type": "str", + "pk": false, + "fk": true + }, + "creation_date": { + "type": "date", + "pk": false, + "fk": false + }, + "creation_acct": { + "type": "str", + "pk": false, + "fk": false + }, + "modified_date": { + "type": "date", + "pk": false, + "fk": false + }, + "modified_acct": { + "type": "str", + "pk": false, + "fk": false + } + }, + "meds": { + "pk_med_id": { + "type": "float64", + "pk": true, + "fk": false + }, + "med_name": { + "type": "str", + "pk": false, + "fk": false + }, + "creation_date": { + "type": "date", + "pk": false, + "fk": false + }, + "creation_acct": { + "type": "str", + "pk": false, + "fk": false + }, + "modified_date": { + "type": "date", + "pk": false, + "fk": false + }, + "modified_acct": { + "type": "str", + "pk": false, + "fk": false + }, + "pk_med_key": { + "type": "str", + "pk": true, + "fk": false + }, + "med_type": { + "type": "str", + "pk": false, + "fk": false + } + }, + "meds_dispensed": { + "pk_meds_dispensed": { + "type": "float64", + "pk": true, + "fk": false + }, + "fk_visit_id": { + "type": "float64", + "pk": false, + "fk": true + }, + "fk_med_key": { + "type": "str", + "pk": false, + "fk": true + }, + "creation_date": { + "type": "date", + "pk": false, + "fk": false + }, + "creation_acct": { + "type": "str", + "pk": false, + "fk": false + }, + "modified_date": { + "type": "date", + "pk": false, + "fk": false + }, + "modified_acct": { + "type": "str", + "pk": false, + "fk": false + }, + "dispensed_total": { + "type": "float64", + "pk": false, + "fk": false + }, + "med_dosage": { + "type": "str", + "pk": false, + "fk": false + } + } +} \ No newline at end of file diff --git a/db/postgres_init_from_json.py b/db/postgres_init_from_json.py new file mode 100644 index 0000000..d3bb04c --- /dev/null +++ b/db/postgres_init_from_json.py @@ -0,0 +1,79 @@ +import argparse +import json +import os +import sys +from datetime import datetime + +from fmp import FMP + +db_json = dict() +fmp_model = FMP() + + +# 1st (sql file) +# 2nd (write to sql connection) +def write_command(string, out_file): + with open(out_file, "w") as f: + f.write(string) + + +def parse_args(): + parser = argparse.ArgumentParser() + parser.add_argument("-m", "--model", required=True, help="JSON model file to seed") + args = parser.parse_args() + print(args) + if not os.path.isfile(os.path.abspath(args.model)): + raise ValueError("File: {0} doesn't exist".format(args.model)) + return args + + +def main(argv): + model_file = argv.model + with open(model_file, "r") as f: + data_model = json.load(f) + + date_time = "_".join(os.path.split(os.path.abspath(model_file))[-1].split("_")[:2]) + output_file = "./init/{date_time}_init_db.sql".format(date_time=date_time) + + schema = "chi_{date_time}".format(date_time=date_time) + command = "create schema {schema};\n".format(schema=schema) + for table_name, attribute_dict in data_model.items(): + command += "create table {schema}.{table_name} (\n".format( + schema=schema, table_name=table_name + ) + features = list(attribute_dict.keys()) + last_elem = features[-1] + + # HACK: mark the first feautre name with 'pk' in + # the name as the primary key even if others exist. + pk_found = False + for feature in features: + + extra_param_string = "" + + if attribute_dict[feature]["pk"] and not pk_found: + extra_param_string += "primary key" + pk_found = True + + # elif attribute_dict[feature]["fk"]: + # extra_param_string += "foreign key" + + command += "\t{attr_name} {attr_type} {extra_params}".format( + attr_name=feature, + attr_type=fmp_model.python_types_to_sql[ + attribute_dict[feature]["type"] + ], + extra_params=extra_param_string, + ) + if feature != last_elem: + command += ",\n" + else: + command += "\n" + + command += ");\n\n" + + write_command(command, output_file) + + +if __name__ == "__main__": + sys.exit(main(parse_args())) diff --git a/convert/generate_postgres_seed_from_json.py b/db/postgres_seed_from_json.py similarity index 95% rename from convert/generate_postgres_seed_from_json.py rename to db/postgres_seed_from_json.py index 25a6067..e9b761c 100644 --- a/convert/generate_postgres_seed_from_json.py +++ b/db/postgres_seed_from_json.py @@ -32,7 +32,7 @@ def main(argv): with open(model_file, "r") as f: data_model = json.load(f) - date_time = '_'.join(os.path.split(os.path.abspath(model_file))[-1].split('_')[:2]) + date_time = "_".join(os.path.split(os.path.abspath(model_file))[-1].split("_")[:2]) schema = "chi_{date_time}".format(date_time=date_time) command = "create schema {schema};\n".format(schema=schema) for table_name, attribute_dict in data_model.items(): diff --git a/db/postgres_to_fmp.py b/db/postgres_to_fmp.py new file mode 100644 index 0000000..e69de29 diff --git a/db/psql.py b/db/psql.py new file mode 100644 index 0000000..6ddba78 --- /dev/null +++ b/db/psql.py @@ -0,0 +1,7 @@ +# import some python ORM for SQl +from db import DB + + +class PSQL(DB): + def __init__(self,): + pass diff --git a/db/seed-db.bash b/db/seed-db.bash new file mode 100755 index 0000000..225d2f5 --- /dev/null +++ b/db/seed-db.bash @@ -0,0 +1,17 @@ +#!/usr/bin/env bash +# Author: "hertz" +# Date: 20200310 + +# args: +# 1 -- +# 2 -- + +#if [[ $# -ne 1 ]]; then +# echo "Usage: $0 ..." +# exit +#fi + + +# script: + + diff --git a/db/seed/.gitignore b/db/seed/.gitignore new file mode 100644 index 0000000..c96a04f --- /dev/null +++ b/db/seed/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 4c85104..5b61553 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -13,7 +13,7 @@ services: database: image: "postgres" # use latest official postgres version env_file: - - database.env # configure postgres + - ./db/database.env # configure postgres volumes: - database-data:/var/lib/postgresql/data/ # persist data even if container shuts down ports: From 914abaf4d4bb0cb7583c0063ec40bd961964df05 Mon Sep 17 00:00:00 2001 From: abpwrs Date: Wed, 8 Apr 2020 14:33:13 -0500 Subject: [PATCH 2/7] ENH: adding function to extract tablenames from fieldnames --- db/__init__.py | 0 db/fields.csv | 811 +++++++++++++++++++++++++++++++++++++++ db/fmp.py | 46 ++- db/tables.csv | 28 ++ db/test_edit_distance.py | 12 + db/utils.py | 22 ++ 6 files changed, 915 insertions(+), 4 deletions(-) create mode 100644 db/__init__.py create mode 100644 db/fields.csv create mode 100644 db/tables.csv create mode 100644 db/test_edit_distance.py create mode 100644 db/utils.py diff --git a/db/__init__.py b/db/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/db/fields.csv b/db/fields.csv new file mode 100644 index 0000000..ed93348 --- /dev/null +++ b/db/fields.csv @@ -0,0 +1,811 @@ +,TableName,FieldName,FieldType,FieldId,FieldClass,FieldReps,ModCount +0,clinics,pk_clinic_id,decimal,1.0,Normal,1.0,9.0 +1,clinics,clinic_name,varchar,2.0,Normal,1.0,10.0 +2,clinics,creation_date,date,4.0,Normal,1.0,2.0 +3,clinics,creation_acct,varchar,5.0,Normal,1.0,3.0 +4,clinics,modified_date,date,6.0,Normal,1.0,4.0 +5,clinics,modified_acct,varchar,7.0,Normal,1.0,5.0 +6,clinics_from_visits,pk_clinic_id,decimal,1.0,Normal,1.0,9.0 +7,clinics_from_visits,clinic_name,varchar,2.0,Normal,1.0,10.0 +8,clinics_from_visits,creation_date,date,4.0,Normal,1.0,2.0 +9,clinics_from_visits,creation_acct,varchar,5.0,Normal,1.0,3.0 +10,clinics_from_visits,modified_date,date,6.0,Normal,1.0,4.0 +11,clinics_from_visits,modified_acct,varchar,7.0,Normal,1.0,5.0 +12,diagnoses,pk_diagnosis_id,decimal,1.0,Normal,1.0,8.0 +13,diagnoses,diagnosis_name,varchar,4.0,Normal,1.0,5.0 +14,diagnoses,pk_diagnosis_key,varchar,6.0,Normal,1.0,3.0 +15,diagnoses,creation_date,date,9.0,Normal,1.0,1.0 +16,diagnoses,creation_acct,varchar,10.0,Normal,1.0,1.0 +17,diagnoses,modified_date,date,11.0,Normal,1.0,1.0 +18,diagnoses,modified_acct,varchar,12.0,Normal,1.0,1.0 +19,diagnoses_from_visits,pk_diagnosis_id,decimal,1.0,Normal,1.0,8.0 +20,diagnoses_from_visits,diagnosis_name,varchar,4.0,Normal,1.0,5.0 +21,diagnoses_from_visits,pk_diagnosis_key,varchar,6.0,Normal,1.0,3.0 +22,diagnoses_from_visits,creation_date,date,9.0,Normal,1.0,1.0 +23,diagnoses_from_visits,creation_acct,varchar,10.0,Normal,1.0,1.0 +24,diagnoses_from_visits,modified_date,date,11.0,Normal,1.0,1.0 +25,diagnoses_from_visits,modified_acct,varchar,12.0,Normal,1.0,1.0 +26,diagnoses_made,pk_diagnoses_made,decimal,1.0,Normal,1.0,3.0 +27,diagnoses_made,fk_visit_id,decimal,2.0,Normal,1.0,1.0 +28,diagnoses_made,fk_diagnosis_key,varchar,3.0,Normal,1.0,2.0 +29,diagnoses_made,creation_date,date,4.0,Normal,1.0,1.0 +30,diagnoses_made,creation_acct,varchar,5.0,Normal,1.0,1.0 +31,diagnoses_made,modified_date,date,6.0,Normal,1.0,1.0 +32,diagnoses_made,modified_acct,varchar,7.0,Normal,1.0,1.0 +33,diagnoses_made_from_visits,pk_diagnoses_made,decimal,1.0,Normal,1.0,3.0 +34,diagnoses_made_from_visits,fk_visit_id,decimal,2.0,Normal,1.0,1.0 +35,diagnoses_made_from_visits,fk_diagnosis_key,varchar,3.0,Normal,1.0,2.0 +36,diagnoses_made_from_visits,creation_date,date,4.0,Normal,1.0,1.0 +37,diagnoses_made_from_visits,creation_acct,varchar,5.0,Normal,1.0,1.0 +38,diagnoses_made_from_visits,modified_date,date,6.0,Normal,1.0,1.0 +39,diagnoses_made_from_visits,modified_acct,varchar,7.0,Normal,1.0,1.0 +40,geonames,pk_geonameid,decimal,1.0,Normal,1.0,5.0 +41,geonames,name,varchar,2.0,Normal,1.0,1.0 +42,geonames,asciiname,varchar,3.0,Normal,1.0,1.0 +43,geonames,alternatenames,varchar,4.0,Normal,1.0,1.0 +44,geonames,latitude,decimal,5.0,Normal,1.0,2.0 +45,geonames,longitude,decimal,6.0,Normal,1.0,2.0 +46,geonames,feature_class,varchar,7.0,Normal,1.0,1.0 +47,geonames,feature_code,varchar,8.0,Normal,1.0,1.0 +48,geonames,country_code,varchar,9.0,Normal,1.0,1.0 +49,geonames,cc2,varchar,10.0,Normal,1.0,1.0 +50,geonames,admin1_code,varchar,11.0,Normal,1.0,1.0 +51,geonames,admin2_code,varchar,12.0,Normal,1.0,1.0 +52,geonames,admin3_cod,varchar,13.0,Normal,1.0,1.0 +53,geonames,admin4_code,varchar,14.0,Normal,1.0,1.0 +54,geonames,population,decimal,15.0,Normal,1.0,2.0 +55,geonames,elevation,decimal,16.0,Normal,1.0,1.0 +56,geonames,dem,decimal,17.0,Normal,1.0,1.0 +57,geonames,timezone,varchar,18.0,Normal,1.0,1.0 +58,geonames,modification_date,date,19.0,Normal,1.0,1.0 +59,globals,phone_country_code,global varchar,2.0,Normal,1.0,6.0 +60,globals,chi_logo,global binary,3.0,Normal,1.0,1.0 +61,globals,selected_patient,global varchar,4.0,Normal,1.0,2.0 +62,globals,visits_next_serial_number,global decimal,5.0,Normal,1.0,3.0 +63,globals,patients_next_serial_number,global decimal,6.0,Normal,1.0,5.0 +64,globals,meds_dispensed_date_range,global date,8.0,Normal,1.0,4.0 +65,globals,meds_dispensed_show_daily,global varchar,9.0,Normal,1.0,4.0 +66,globals,tests_id_priv_msg_acknowledged,global varchar,10.0,Normal,1.0,2.0 +67,globals,htn_patients_date,global date,11.0,Normal,1.0,5.0 +68,globals,htn_patients_treated_date,global date,12.0,Normal,1.0,6.0 +69,globals,htn_patients_date Copy,global date,13.0,Normal,1.0,5.0 +70,globals,le_5_yrs_old_date,global date,14.0,Normal,1.0,2.0 +71,globals,le_5_yrs_old_weighed_date,global date,15.0,Normal,1.0,2.0 +72,globals,patient_search,global varchar,17.0,Normal,1.0,3.0 +73,meds,pk_med_id,decimal,1.0,Normal,1.0,5.0 +74,meds,med_name,varchar,2.0,Normal,1.0,3.0 +75,meds,creation_date,date,3.0,Normal,1.0,1.0 +76,meds,creation_acct,varchar,4.0,Normal,1.0,1.0 +77,meds,modified_date,date,5.0,Normal,1.0,1.0 +78,meds,modified_acct,varchar,6.0,Normal,1.0,1.0 +79,meds,pk_med_key,varchar,7.0,Normal,1.0,7.0 +80,meds,med_type,varchar,8.0,Normal,1.0,5.0 +81,meds_dispensed,pk_meds_dispensed,decimal,2.0,Normal,1.0,3.0 +82,meds_dispensed,fk_visit_id,decimal,3.0,Normal,1.0,2.0 +83,meds_dispensed,fk_med_key,varchar,4.0,Normal,1.0,2.0 +84,meds_dispensed,creation_date,date,5.0,Normal,1.0,1.0 +85,meds_dispensed,creation_acct,varchar,6.0,Normal,1.0,1.0 +86,meds_dispensed,modified_date,date,7.0,Normal,1.0,1.0 +87,meds_dispensed,modified_acct,varchar,8.0,Normal,1.0,1.0 +88,meds_dispensed,dispensed_total,decimal,9.0,Summary,1.0,1.0 +89,meds_dispensed,med_dosage,varchar,11.0,Normal,1.0,2.0 +90,meds_dispensed_from_visits,pk_meds_dispensed,decimal,2.0,Normal,1.0,3.0 +91,meds_dispensed_from_visits,fk_visit_id,decimal,3.0,Normal,1.0,2.0 +92,meds_dispensed_from_visits,fk_med_key,varchar,4.0,Normal,1.0,2.0 +93,meds_dispensed_from_visits,creation_date,date,5.0,Normal,1.0,1.0 +94,meds_dispensed_from_visits,creation_acct,varchar,6.0,Normal,1.0,1.0 +95,meds_dispensed_from_visits,modified_date,date,7.0,Normal,1.0,1.0 +96,meds_dispensed_from_visits,modified_acct,varchar,8.0,Normal,1.0,1.0 +97,meds_dispensed_from_visits,dispensed_total,decimal,9.0,Summary,1.0,1.0 +98,meds_dispensed_from_visits,med_dosage,varchar,11.0,Normal,1.0,2.0 +99,meds_from_meds_dispensed,pk_med_id,decimal,1.0,Normal,1.0,5.0 +100,meds_from_meds_dispensed,med_name,varchar,2.0,Normal,1.0,3.0 +101,meds_from_meds_dispensed,creation_date,date,3.0,Normal,1.0,1.0 +102,meds_from_meds_dispensed,creation_acct,varchar,4.0,Normal,1.0,1.0 +103,meds_from_meds_dispensed,modified_date,date,5.0,Normal,1.0,1.0 +104,meds_from_meds_dispensed,modified_acct,varchar,6.0,Normal,1.0,1.0 +105,meds_from_meds_dispensed,pk_med_key,varchar,7.0,Normal,1.0,7.0 +106,meds_from_meds_dispensed,med_type,varchar,8.0,Normal,1.0,5.0 +107,meds_from_visits,pk_med_id,decimal,1.0,Normal,1.0,5.0 +108,meds_from_visits,med_name,varchar,2.0,Normal,1.0,3.0 +109,meds_from_visits,creation_date,date,3.0,Normal,1.0,1.0 +110,meds_from_visits,creation_acct,varchar,4.0,Normal,1.0,1.0 +111,meds_from_visits,modified_date,date,5.0,Normal,1.0,1.0 +112,meds_from_visits,modified_acct,varchar,6.0,Normal,1.0,1.0 +113,meds_from_visits,pk_med_key,varchar,7.0,Normal,1.0,7.0 +114,meds_from_visits,med_type,varchar,8.0,Normal,1.0,5.0 +115,patients,pk_patient_id,decimal,1.0,Normal,1.0,26.0 +116,patients,creation_date,date,2.0,Normal,1.0,3.0 +117,patients,creation_acct,varchar,3.0,Normal,1.0,3.0 +118,patients,modified_date,date,4.0,Normal,1.0,3.0 +119,patients,modified_acct,varchar,5.0,Normal,1.0,4.0 +120,patients,last_name,varchar,6.0,Normal,1.0,4.0 +121,patients,first_name,varchar,7.0,Normal,1.0,4.0 +122,patients,gender,varchar,9.0,Normal,1.0,4.0 +123,patients,face_photo,binary,10.0,Normal,1.0,4.0 +124,patients,birthdate,date,11.0,Normal,1.0,5.0 +125,patients,phone,varchar,13.0,Normal,1.0,10.0 +126,patients,town,varchar,14.0,Normal,1.0,3.0 +127,patients,unique_name,varchar,16.0,Calculated,1.0,2.0 +128,patients,unique_ID_name,varchar,17.0,Calculated,1.0,4.0 +129,patients,nickname,varchar,19.0,Normal,1.0,5.0 +130,patients,needs_review,varchar,20.0,Normal,1.0,4.0 +131,patients,notes_modification_status,varchar,21.0,Normal,1.0,1.0 +132,patients,fk_geonameid,decimal,22.0,Normal,1.0,4.0 +133,patients_from_visits,pk_patient_id,decimal,1.0,Normal,1.0,26.0 +134,patients_from_visits,creation_date,date,2.0,Normal,1.0,3.0 +135,patients_from_visits,creation_acct,varchar,3.0,Normal,1.0,3.0 +136,patients_from_visits,modified_date,date,4.0,Normal,1.0,3.0 +137,patients_from_visits,modified_acct,varchar,5.0,Normal,1.0,4.0 +138,patients_from_visits,last_name,varchar,6.0,Normal,1.0,4.0 +139,patients_from_visits,first_name,varchar,7.0,Normal,1.0,4.0 +140,patients_from_visits,gender,varchar,9.0,Normal,1.0,4.0 +141,patients_from_visits,face_photo,binary,10.0,Normal,1.0,4.0 +142,patients_from_visits,birthdate,date,11.0,Normal,1.0,5.0 +143,patients_from_visits,phone,varchar,13.0,Normal,1.0,10.0 +144,patients_from_visits,town,varchar,14.0,Normal,1.0,3.0 +145,patients_from_visits,unique_name,varchar,16.0,Calculated,1.0,2.0 +146,patients_from_visits,unique_ID_name,varchar,17.0,Calculated,1.0,4.0 +147,patients_from_visits,nickname,varchar,19.0,Normal,1.0,5.0 +148,patients_from_visits,needs_review,varchar,20.0,Normal,1.0,4.0 +149,patients_from_visits,notes_modification_status,varchar,21.0,Normal,1.0,1.0 +150,patients_from_visits,fk_geonameid,decimal,22.0,Normal,1.0,4.0 +151,patients_from_visits_for_search,pk_patient_id,decimal,1.0,Normal,1.0,26.0 +152,patients_from_visits_for_search,creation_date,date,2.0,Normal,1.0,3.0 +153,patients_from_visits_for_search,creation_acct,varchar,3.0,Normal,1.0,3.0 +154,patients_from_visits_for_search,modified_date,date,4.0,Normal,1.0,3.0 +155,patients_from_visits_for_search,modified_acct,varchar,5.0,Normal,1.0,4.0 +156,patients_from_visits_for_search,last_name,varchar,6.0,Normal,1.0,4.0 +157,patients_from_visits_for_search,first_name,varchar,7.0,Normal,1.0,4.0 +158,patients_from_visits_for_search,gender,varchar,9.0,Normal,1.0,4.0 +159,patients_from_visits_for_search,face_photo,binary,10.0,Normal,1.0,4.0 +160,patients_from_visits_for_search,birthdate,date,11.0,Normal,1.0,5.0 +161,patients_from_visits_for_search,phone,varchar,13.0,Normal,1.0,10.0 +162,patients_from_visits_for_search,town,varchar,14.0,Normal,1.0,3.0 +163,patients_from_visits_for_search,unique_name,varchar,16.0,Calculated,1.0,2.0 +164,patients_from_visits_for_search,unique_ID_name,varchar,17.0,Calculated,1.0,4.0 +165,patients_from_visits_for_search,nickname,varchar,19.0,Normal,1.0,5.0 +166,patients_from_visits_for_search,needs_review,varchar,20.0,Normal,1.0,4.0 +167,patients_from_visits_for_search,notes_modification_status,varchar,21.0,Normal,1.0,1.0 +168,patients_from_visits_for_search,fk_geonameid,decimal,22.0,Normal,1.0,4.0 +169,settings,today_date,date,1.0,Normal,1.0,2.0 +170,settings,pk_settings_id,decimal,3.0,Normal,1.0,2.0 +171,settings,default_clinic_id,decimal,5.0,Normal,1.0,1.0 +172,settings,default_clinic_trip,varchar,7.0,Normal,1.0,3.0 +173,settings_from_clinics,today_date,date,1.0,Normal,1.0,2.0 +174,settings_from_clinics,pk_settings_id,decimal,3.0,Normal,1.0,2.0 +175,settings_from_clinics,default_clinic_id,decimal,5.0,Normal,1.0,1.0 +176,settings_from_clinics,default_clinic_trip,varchar,7.0,Normal,1.0,3.0 +177,settings_from_diagnoses,today_date,date,1.0,Normal,1.0,2.0 +178,settings_from_diagnoses,pk_settings_id,decimal,3.0,Normal,1.0,2.0 +179,settings_from_diagnoses,default_clinic_id,decimal,5.0,Normal,1.0,1.0 +180,settings_from_diagnoses,default_clinic_trip,varchar,7.0,Normal,1.0,3.0 +181,settings_from_diagnoses 2,today_date,date,1.0,Normal,1.0,2.0 +182,settings_from_diagnoses 2,pk_settings_id,decimal,3.0,Normal,1.0,2.0 +183,settings_from_diagnoses 2,default_clinic_id,decimal,5.0,Normal,1.0,1.0 +184,settings_from_diagnoses 2,default_clinic_trip,varchar,7.0,Normal,1.0,3.0 +185,settings_from_meds,today_date,date,1.0,Normal,1.0,2.0 +186,settings_from_meds,pk_settings_id,decimal,3.0,Normal,1.0,2.0 +187,settings_from_meds,default_clinic_id,decimal,5.0,Normal,1.0,1.0 +188,settings_from_meds,default_clinic_trip,varchar,7.0,Normal,1.0,3.0 +189,settings_from_meds_dispensed,today_date,date,1.0,Normal,1.0,2.0 +190,settings_from_meds_dispensed,pk_settings_id,decimal,3.0,Normal,1.0,2.0 +191,settings_from_meds_dispensed,default_clinic_id,decimal,5.0,Normal,1.0,1.0 +192,settings_from_meds_dispensed,default_clinic_trip,varchar,7.0,Normal,1.0,3.0 +193,settings_from_patients,today_date,date,1.0,Normal,1.0,2.0 +194,settings_from_patients,pk_settings_id,decimal,3.0,Normal,1.0,2.0 +195,settings_from_patients,default_clinic_id,decimal,5.0,Normal,1.0,1.0 +196,settings_from_patients,default_clinic_trip,varchar,7.0,Normal,1.0,3.0 +197,settings_from_visits,today_date,date,1.0,Normal,1.0,2.0 +198,settings_from_visits,pk_settings_id,decimal,3.0,Normal,1.0,2.0 +199,settings_from_visits,default_clinic_id,decimal,5.0,Normal,1.0,1.0 +200,settings_from_visits,default_clinic_trip,varchar,7.0,Normal,1.0,3.0 +201,visits,pk_visit_id,decimal,1.0,Normal,1.0,30.0 +202,visits,creation_date,date,2.0,Normal,1.0,2.0 +203,visits,creation_acct,varchar,3.0,Normal,1.0,2.0 +204,visits,modified_date,date,4.0,Normal,1.0,4.0 +205,visits,modified_acct,varchar,5.0,Normal,1.0,3.0 +206,visits,fk_patient_id,decimal,8.0,Normal,1.0,7.0 +207,visits,fk_clinic_id,decimal,9.0,Normal,1.0,4.0 +208,visits,visit_date,date,10.0,Normal,1.0,4.0 +209,visits,visit_age,decimal,11.0,Normal,1.0,3.0 +210,visits,ob_pregnant,varchar,12.0,Normal,1.0,7.0 +211,visits,ob_last_menstrual_period,date,13.0,Normal,1.0,4.0 +212,visits,bp_systolic_blood_pressure,decimal,14.0,Normal,1.0,3.0 +213,visits,bp_diastolic_blood_pressure,decimal,15.0,Normal,1.0,4.0 +214,visits,bp_mean_arterial_pressure,decimal,16.0,Calculated,1.0,4.0 +215,visits,temp_in_fahrenheit,decimal,17.0,Normal,1.0,4.0 +216,visits,pulse_rate,decimal,18.0,Normal,1.0,4.0 +217,visits,weight_in_lbs,decimal,19.0,Normal,1.0,3.0 +218,visits,height_in_inches,decimal,21.0,Normal,1.0,3.0 +219,visits,glasses_given,varchar,25.0,Normal,1.0,4.0 +220,visits,sunglasses_given,varchar,26.0,Normal,1.0,4.0 +221,visits,dx_surgical_candidate,varchar,27.0,Normal,1.0,6.0 +222,visits,surgical_comments,varchar,28.0,Normal,1.0,2.0 +223,visits,visit_age_unit,varchar,30.0,Normal,1.0,3.0 +224,visits,chief_complaint,varchar,31.0,Normal,1.0,2.0 +225,visits,history_of_present_illness,varchar,32.0,Normal,1.0,3.0 +226,visits,visit_age_years,decimal,33.0,Normal,1.0,5.0 +227,visits,exam_comments,varchar,34.0,Normal,1.0,2.0 +228,visits,tests_comments,varchar,36.0,Normal,1.0,1.0 +229,visits,tests_blood_sugar_result,decimal,37.0,Normal,1.0,2.0 +230,visits,tests_pregnancy_result,varchar,38.0,Normal,1.0,6.0 +231,visits,tests_urine_glucose_result,varchar,42.0,Normal,1.0,9.0 +232,visits,tests_urine_protein_result,varchar,43.0,Normal,1.0,10.0 +233,visits,tests_urine_leukocytes_result,varchar,44.0,Normal,1.0,11.0 +234,visits,tests_urine_nitrites_result,varchar,45.0,Normal,1.0,13.0 +235,visits,ob_gravida,decimal,52.0,Normal,1.0,7.0 +236,visits,ob_para,decimal,53.0,Normal,1.0,7.0 +237,visits,ob_abortus,decimal,54.0,Normal,1.0,8.0 +238,visits,ob_history,varchar,56.0,Calculated,1.0,6.0 +239,visits,ob_wants_planning,varchar,57.0,Normal,1.0,5.0 +240,visits,albendazole_given,varchar,58.0,Normal,1.0,7.0 +241,visits,first_visit,varchar,59.0,Normal,1.0,6.0 +242,visits,known_med_allergies,varchar,60.0,Normal,1.0,2.0 +243,visits,meds_currently_taken,varchar,61.0,Normal,1.0,3.0 +244,visits,tests_pregnancy_given,varchar,63.0,Normal,1.0,3.0 +245,visits,tests_blood_sugar_given,varchar,64.0,Normal,1.0,3.0 +246,visits,tests_eye_exam_given,varchar,65.0,Normal,1.0,4.0 +247,visits,tests_urine_analysis_given,varchar,66.0,Normal,1.0,5.0 +248,visits,dx_asthma,varchar,68.0,Normal,1.0,4.0 +249,visits,dx_allergies,varchar,69.0,Normal,1.0,5.0 +250,visits,dx_anemia,varchar,70.0,Normal,1.0,6.0 +251,visits,dx_malnutrition,varchar,71.0,Normal,1.0,7.0 +252,visits,dx_diabetes,varchar,72.0,Normal,1.0,9.0 +253,visits,dx_pterygium,varchar,73.0,Normal,1.0,10.0 +254,visits,dx_cataract,varchar,74.0,Normal,1.0,11.0 +255,visits,dx_dry_eye,varchar,75.0,Normal,1.0,12.0 +256,visits,dx_conjunctivitis,varchar,76.0,Normal,1.0,13.0 +257,visits,dx_fever,varchar,77.0,Normal,1.0,10.0 +258,visits,dx_possible_malaria,varchar,78.0,Normal,1.0,11.0 +259,visits,dx_filariasis,varchar,79.0,Normal,1.0,12.0 +260,visits,dx_gastritis,varchar,80.0,Normal,1.0,13.0 +261,visits,dx_gerd,varchar,81.0,Normal,1.0,14.0 +262,visits,dx_gastroenteritis,varchar,82.0,Normal,1.0,15.0 +263,visits,dx_dysentery,varchar,83.0,Normal,1.0,16.0 +264,visits,dx_possible_cholera,varchar,84.0,Normal,1.0,17.0 +265,visits,dx_headache,varchar,85.0,Normal,1.0,18.0 +266,visits,dx_hernia,varchar,86.0,Normal,1.0,19.0 +267,visits,dx_hernia_type,varchar,87.0,Normal,1.0,21.0 +268,visits,dx_hypertension,varchar,88.0,Normal,1.0,20.0 +269,visits,dx_stroke,varchar,89.0,Normal,1.0,21.0 +270,visits,dx_angina,varchar,90.0,Normal,1.0,22.0 +271,visits,dx_chf,varchar,91.0,Normal,1.0,23.0 +272,visits,dx_musculoskeletal_pain,varchar,92.0,Normal,1.0,24.0 +273,visits,dx_otitis,varchar,93.0,Normal,1.0,25.0 +274,visits,dx_otitis_ear,varchar,94.0,Normal,1.0,28.0 +275,visits,dx_pneumonia,varchar,95.0,Normal,1.0,26.0 +276,visits,dx_sinusitis,varchar,96.0,Normal,1.0,27.0 +277,visits,dx_uri,varchar,97.0,Normal,1.0,28.0 +278,visits,dx_pregnant,varchar,98.0,Normal,1.0,29.0 +279,visits,dx_pregnant_weeks,decimal,99.0,Normal,1.0,33.0 +280,visits,dx_atopic_derm,varchar,100.0,Normal,1.0,31.0 +281,visits,dx_fungal,varchar,101.0,Normal,1.0,32.0 +282,visits,dx_scabies,varchar,102.0,Normal,1.0,33.0 +283,visits,dx_impetigo,varchar,103.0,Normal,1.0,34.0 +284,visits,dx_tinea_capitus,varchar,104.0,Normal,1.0,35.0 +285,visits,dx_possible_std,varchar,105.0,Normal,1.0,18.0 +286,visits,dx_possible_tb,varchar,106.0,Normal,1.0,19.0 +287,visits,dx_vaginitis_candidal,varchar,107.0,Normal,1.0,24.0 +288,visits,dx_vaginitis_trich,varchar,108.0,Normal,1.0,24.0 +289,visits,dx_vaginitis_bv,varchar,109.0,Normal,1.0,25.0 +290,visits,dx_other,varchar,110.0,Normal,1.0,26.0 +291,visits,dx_other_text,varchar,111.0,Normal,1.0,33.0 +292,visits,tx_multivitamin,varchar,112.0,Normal,1.0,26.0 +293,visits,tx_pain_acetaminophen,varchar,113.0,Normal,1.0,28.0 +294,visits,tx_gi_omeprazole,varchar,114.0,Normal,1.0,27.0 +295,visits,tx_gi_pepto_bismol,varchar,115.0,Normal,1.0,28.0 +296,visits,tx_gi_cimetidine,varchar,116.0,Normal,1.0,31.0 +297,visits,tx_gi_tums,varchar,117.0,Normal,1.0,30.0 +298,visits,tx_gi_ors,varchar,118.0,Normal,1.0,31.0 +299,visits,tx_infections_albendazole,varchar,119.0,Normal,1.0,33.0 +300,visits,tx_infections_amoxicillin,varchar,120.0,Normal,1.0,34.0 +301,visits,tx_infections_azithromycin,varchar,121.0,Normal,1.0,35.0 +302,visits,tx_infections_bactrim,varchar,122.0,Normal,1.0,36.0 +303,visits,tx_infections_cipro,varchar,123.0,Normal,1.0,37.0 +304,visits,tx_infections_doxycycline,varchar,124.0,Normal,1.0,38.0 +305,visits,tx_infections_flagyl,varchar,125.0,Normal,1.0,39.0 +306,visits,tx_infections_fluconazole,varchar,126.0,Normal,1.0,40.0 +307,visits,tx_infections_griseofulvin,varchar,127.0,Normal,1.0,41.0 +308,visits,tx_infections_ivermectin,varchar,129.0,Normal,1.0,43.0 +309,visits,tx_infections_keflex,varchar,130.0,Normal,1.0,44.0 +310,visits,tx_infections_rocephin,varchar,131.0,Normal,1.0,46.0 +311,visits,tx_cardiac_amlodipine,varchar,132.0,Normal,1.0,47.0 +312,visits,tx_cardiac_aspirin,varchar,133.0,Normal,1.0,48.0 +313,visits,tx_cardiac_atenolol,varchar,134.0,Normal,1.0,48.0 +314,visits,tx_cardiac_hctz,varchar,135.0,Normal,1.0,49.0 +315,visits,tx_cardiac_lasix,varchar,136.0,Normal,1.0,51.0 +316,visits,tx_cardiac_enalapril,varchar,137.0,Normal,1.0,52.0 +317,visits,tx_topical_clotrimazole,varchar,138.0,Normal,1.0,53.0 +318,visits,tx_topical_hydrocortisone,varchar,139.0,Normal,1.0,53.0 +319,visits,tx_topical_silvadine,varchar,141.0,Normal,1.0,55.0 +320,visits,tx_topical_permethirine,varchar,142.0,Normal,1.0,57.0 +321,visits,tx_im_dexamethasone,varchar,143.0,Normal,1.0,57.0 +322,visits,tx_im_lasix,varchar,144.0,Normal,1.0,58.0 +323,visits,tx_misc_albuterol,varchar,145.0,Normal,1.0,60.0 +324,visits,tx_misc_benadryl,varchar,146.0,Normal,1.0,61.0 +325,visits,tx_misc_ferrous_sulfate,varchar,147.0,Normal,1.0,62.0 +326,visits,tx_misc_metformin,varchar,148.0,Normal,1.0,63.0 +327,visits,tx_misc_prednisolone,varchar,149.0,Normal,1.0,65.0 +328,visits,tx_misc_other,varchar,150.0,Normal,1.0,64.0 +329,visits,tx_misc_other_text,varchar,151.0,Normal,1.0,71.0 +330,visits,tx_comments,varchar,152.0,Normal,1.0,68.0 +331,visits,dx_uti,varchar,153.0,Normal,1.0,29.0 +332,visits,tx_multivitamin_varieties,varchar,155.0,Normal,1.0,29.0 +333,visits,tx_pain_acetaminophen_varieties,varchar,156.0,Normal,1.0,30.0 +334,visits,tx_infections_amoxicillin_varieties,varchar,159.0,Normal,1.0,36.0 +335,visits,tx_pain_ibuprofen,varchar,160.0,Normal,1.0,29.0 +336,visits,dx_comments,varchar,161.0,Normal,1.0,69.0 +337,visits,tx_infections_azithromycin_varieties,varchar,162.0,Normal,1.0,38.0 +338,visits,tx_infections_bactrim_varieties,varchar,163.0,Normal,1.0,40.0 +339,visits,tx_infections_keflex_varieties,varchar,164.0,Normal,1.0,42.0 +340,visits,tx_infections_rocephin_varieties,varchar,165.0,Normal,1.0,44.0 +341,visits,dx_vaginitis_general,varchar,166.0,Normal,1.0,26.0 +342,visits,dx_needs_to_see_dentist,varchar,168.0,Normal,1.0,26.0 +343,visits,dx_needs_to_see_eye_doctor,varchar,169.0,Normal,1.0,27.0 +344,visits,dx_healthy,varchar,170.0,Normal,1.0,8.0 +345,visits,provider,varchar,172.0,Normal,1.0,5.0 +346,visits,tx_saw_dentist,varchar,173.0,Normal,1.0,27.0 +347,visits,tx_saw_eye_doctor,varchar,174.0,Normal,1.0,29.0 +348,visits,tx_outside_referral,varchar,175.0,Normal,1.0,29.0 +349,visits,tx_outside_referral_text,varchar,176.0,Normal,1.0,34.0 +350,visits,tx_gi_zinc,varchar,177.0,Normal,1.0,32.0 +351,visits,tx_cardiac_methyldopa,varchar,178.0,Normal,1.0,53.0 +352,visits,tx_infections_augmentin,varchar,179.0,Normal,1.0,36.0 +353,visits,tx_infections_chloroquine,varchar,180.0,Normal,1.0,37.0 +354,visits,tx_infections_griseofuvin_varieties,varchar,181.0,Normal,1.0,38.0 +355,visits,tx_infections_nitrofurantoin,varchar,182.0,Normal,1.0,44.0 +356,visits,tx_topical_double_antibiotic,varchar,183.0,Normal,1.0,54.0 +357,visits,tx_misc_fluoxetine,varchar,184.0,Normal,1.0,67.0 +358,visits,tx_misc_ocp,varchar,185.0,Normal,1.0,65.0 +359,visits,tx_misc_phenytoin,varchar,186.0,Normal,1.0,66.0 +360,visits,dx_possible_parasites,varchar,188.0,Normal,1.0,20.0 +361,visits,tx_misc_iud,varchar,189.0,Normal,1.0,67.0 +362,visits,tests_id_test_given,varchar,190.0,Normal,1.0,7.0 +363,visits,tests_id_chlamydia_result,varchar,191.0,Normal,1.0,11.0 +364,visits,tests_id_hiv_result,varchar,192.0,Normal,1.0,13.0 +365,visits,tests_id_syphilis_result,varchar,193.0,Normal,1.0,13.0 +366,visits,tests_id_gonorrhea_result,varchar,194.0,Normal,1.0,14.0 +367,visits,tests_eye_exam_right_sphere,varchar,195.0,Normal,1.0,7.0 +368,visits,tests_eye_exam_right_cylinder,varchar,196.0,Normal,1.0,9.0 +369,visits,tests_eye_exam_right_axis,varchar,197.0,Normal,1.0,10.0 +370,visits,tests_eye_exam_right_bifocal,varchar,198.0,Normal,1.0,11.0 +371,visits,tests_eye_exam_left_sphere,varchar,199.0,Normal,1.0,8.0 +372,visits,tests_eye_exam_left_cylinder,varchar,200.0,Normal,1.0,10.0 +373,visits,tests_eye_exam_left_axis,varchar,201.0,Normal,1.0,11.0 +374,visits,tests_eye_exam_left_bifocal,varchar,202.0,Normal,1.0,12.0 +375,visits,tx_pain_ibuprofen_varieties,varchar,203.0,Normal,1.0,33.0 +376,visits,tx_misc_benadryl_varieties,varchar,204.0,Normal,1.0,35.0 +377,visits,tests_id_tb_result,varchar,209.0,Normal,1.0,15.0 +378,visits,tests_id_confirm_hiv_cd4,decimal,210.0,Normal,1.0,3.0 +379,visits,tests_id_confirm_hiv_result,varchar,211.0,Normal,1.0,14.0 +380,visits,tests_id_confirm_hiv_arvt,varchar,212.0,Normal,1.0,7.0 +381,visits,tests_id_confirm_hiv_enrolled,varchar,213.0,Normal,1.0,7.0 +382,visits,tests_id_confirm_hiv_problems,varchar,214.0,Normal,1.0,5.0 +383,visits,tests_id_confirm_tb_result,varchar,215.0,Normal,1.0,15.0 +384,visits,tests_id_confirm_tb_comments,varchar,216.0,Normal,1.0,6.0 +385,visits,tests_id_confirm_hiv_enrolled_at,varchar,218.0,Normal,1.0,6.0 +386,visits,dx_depression,varchar,219.0,Normal,1.0,10.0 +387,visits,clinic_trip,varchar,220.0,Normal,1.0,12.0 +388,visits,tx_chw_referral,varchar,221.0,Normal,1.0,31.0 +389,visits,tx_misc_depo,varchar,222.0,Normal,1.0,5.0 +390,visits,tx_misc_paroxetine,varchar,224.0,Normal,1.0,67.0 +391,visits,tx_misc_keppra,varchar,225.0,Normal,1.0,67.0 +392,visits,dx_totalcount,decimal,226.0,Calculated,1.0,1.0 +393,visits,tx_totalcount,decimal,228.0,Calculated,1.0,3.0 +394,visits,tx_given_glasses,varchar,229.0,Normal,1.0,4.0 +395,visits,tx_misc_labetolol,varchar,230.0,Normal,1.0,3.0 +396,visits,tx_misc_carbamazepine,varchar,231.0,Normal,1.0,66.0 +397,visits,tx_misc_terazosin,varchar,232.0,Normal,1.0,67.0 +398,visits,tx_gi_ranitidine,varchar,233.0,Normal,1.0,28.0 +399,visits,tx_cardiac_lisinopril,varchar,234.0,Normal,1.0,52.0 +400,visits,tx_topical_triple_antibiotic,varchar,235.0,Normal,1.0,55.0 +401,visits,tx_misc_prednisone,varchar,236.0,Normal,1.0,66.0 +402,visits,clinic,varchar,237.0,Normal,1.0,1.0 +403,visits,notes_modification_status,varchar,238.0,Normal,1.0,1.0 +404,visits_from_meds_dispensed,pk_visit_id,decimal,1.0,Normal,1.0,30.0 +405,visits_from_meds_dispensed,creation_date,date,2.0,Normal,1.0,2.0 +406,visits_from_meds_dispensed,creation_acct,varchar,3.0,Normal,1.0,2.0 +407,visits_from_meds_dispensed,modified_date,date,4.0,Normal,1.0,4.0 +408,visits_from_meds_dispensed,modified_acct,varchar,5.0,Normal,1.0,3.0 +409,visits_from_meds_dispensed,fk_patient_id,decimal,8.0,Normal,1.0,7.0 +410,visits_from_meds_dispensed,fk_clinic_id,decimal,9.0,Normal,1.0,4.0 +411,visits_from_meds_dispensed,visit_date,date,10.0,Normal,1.0,4.0 +412,visits_from_meds_dispensed,visit_age,decimal,11.0,Normal,1.0,3.0 +413,visits_from_meds_dispensed,ob_pregnant,varchar,12.0,Normal,1.0,7.0 +414,visits_from_meds_dispensed,ob_last_menstrual_period,date,13.0,Normal,1.0,4.0 +415,visits_from_meds_dispensed,bp_systolic_blood_pressure,decimal,14.0,Normal,1.0,3.0 +416,visits_from_meds_dispensed,bp_diastolic_blood_pressure,decimal,15.0,Normal,1.0,4.0 +417,visits_from_meds_dispensed,bp_mean_arterial_pressure,decimal,16.0,Calculated,1.0,4.0 +418,visits_from_meds_dispensed,temp_in_fahrenheit,decimal,17.0,Normal,1.0,4.0 +419,visits_from_meds_dispensed,pulse_rate,decimal,18.0,Normal,1.0,4.0 +420,visits_from_meds_dispensed,weight_in_lbs,decimal,19.0,Normal,1.0,3.0 +421,visits_from_meds_dispensed,height_in_inches,decimal,21.0,Normal,1.0,3.0 +422,visits_from_meds_dispensed,glasses_given,varchar,25.0,Normal,1.0,4.0 +423,visits_from_meds_dispensed,sunglasses_given,varchar,26.0,Normal,1.0,4.0 +424,visits_from_meds_dispensed,dx_surgical_candidate,varchar,27.0,Normal,1.0,6.0 +425,visits_from_meds_dispensed,surgical_comments,varchar,28.0,Normal,1.0,2.0 +426,visits_from_meds_dispensed,visit_age_unit,varchar,30.0,Normal,1.0,3.0 +427,visits_from_meds_dispensed,chief_complaint,varchar,31.0,Normal,1.0,2.0 +428,visits_from_meds_dispensed,history_of_present_illness,varchar,32.0,Normal,1.0,3.0 +429,visits_from_meds_dispensed,visit_age_years,decimal,33.0,Normal,1.0,5.0 +430,visits_from_meds_dispensed,exam_comments,varchar,34.0,Normal,1.0,2.0 +431,visits_from_meds_dispensed,tests_comments,varchar,36.0,Normal,1.0,1.0 +432,visits_from_meds_dispensed,tests_blood_sugar_result,decimal,37.0,Normal,1.0,2.0 +433,visits_from_meds_dispensed,tests_pregnancy_result,varchar,38.0,Normal,1.0,6.0 +434,visits_from_meds_dispensed,tests_urine_glucose_result,varchar,42.0,Normal,1.0,9.0 +435,visits_from_meds_dispensed,tests_urine_protein_result,varchar,43.0,Normal,1.0,10.0 +436,visits_from_meds_dispensed,tests_urine_leukocytes_result,varchar,44.0,Normal,1.0,11.0 +437,visits_from_meds_dispensed,tests_urine_nitrites_result,varchar,45.0,Normal,1.0,13.0 +438,visits_from_meds_dispensed,ob_gravida,decimal,52.0,Normal,1.0,7.0 +439,visits_from_meds_dispensed,ob_para,decimal,53.0,Normal,1.0,7.0 +440,visits_from_meds_dispensed,ob_abortus,decimal,54.0,Normal,1.0,8.0 +441,visits_from_meds_dispensed,ob_history,varchar,56.0,Calculated,1.0,6.0 +442,visits_from_meds_dispensed,ob_wants_planning,varchar,57.0,Normal,1.0,5.0 +443,visits_from_meds_dispensed,albendazole_given,varchar,58.0,Normal,1.0,7.0 +444,visits_from_meds_dispensed,first_visit,varchar,59.0,Normal,1.0,6.0 +445,visits_from_meds_dispensed,known_med_allergies,varchar,60.0,Normal,1.0,2.0 +446,visits_from_meds_dispensed,meds_currently_taken,varchar,61.0,Normal,1.0,3.0 +447,visits_from_meds_dispensed,tests_pregnancy_given,varchar,63.0,Normal,1.0,3.0 +448,visits_from_meds_dispensed,tests_blood_sugar_given,varchar,64.0,Normal,1.0,3.0 +449,visits_from_meds_dispensed,tests_eye_exam_given,varchar,65.0,Normal,1.0,4.0 +450,visits_from_meds_dispensed,tests_urine_analysis_given,varchar,66.0,Normal,1.0,5.0 +451,visits_from_meds_dispensed,dx_asthma,varchar,68.0,Normal,1.0,4.0 +452,visits_from_meds_dispensed,dx_allergies,varchar,69.0,Normal,1.0,5.0 +453,visits_from_meds_dispensed,dx_anemia,varchar,70.0,Normal,1.0,6.0 +454,visits_from_meds_dispensed,dx_malnutrition,varchar,71.0,Normal,1.0,7.0 +455,visits_from_meds_dispensed,dx_diabetes,varchar,72.0,Normal,1.0,9.0 +456,visits_from_meds_dispensed,dx_pterygium,varchar,73.0,Normal,1.0,10.0 +457,visits_from_meds_dispensed,dx_cataract,varchar,74.0,Normal,1.0,11.0 +458,visits_from_meds_dispensed,dx_dry_eye,varchar,75.0,Normal,1.0,12.0 +459,visits_from_meds_dispensed,dx_conjunctivitis,varchar,76.0,Normal,1.0,13.0 +460,visits_from_meds_dispensed,dx_fever,varchar,77.0,Normal,1.0,10.0 +461,visits_from_meds_dispensed,dx_possible_malaria,varchar,78.0,Normal,1.0,11.0 +462,visits_from_meds_dispensed,dx_filariasis,varchar,79.0,Normal,1.0,12.0 +463,visits_from_meds_dispensed,dx_gastritis,varchar,80.0,Normal,1.0,13.0 +464,visits_from_meds_dispensed,dx_gerd,varchar,81.0,Normal,1.0,14.0 +465,visits_from_meds_dispensed,dx_gastroenteritis,varchar,82.0,Normal,1.0,15.0 +466,visits_from_meds_dispensed,dx_dysentery,varchar,83.0,Normal,1.0,16.0 +467,visits_from_meds_dispensed,dx_possible_cholera,varchar,84.0,Normal,1.0,17.0 +468,visits_from_meds_dispensed,dx_headache,varchar,85.0,Normal,1.0,18.0 +469,visits_from_meds_dispensed,dx_hernia,varchar,86.0,Normal,1.0,19.0 +470,visits_from_meds_dispensed,dx_hernia_type,varchar,87.0,Normal,1.0,21.0 +471,visits_from_meds_dispensed,dx_hypertension,varchar,88.0,Normal,1.0,20.0 +472,visits_from_meds_dispensed,dx_stroke,varchar,89.0,Normal,1.0,21.0 +473,visits_from_meds_dispensed,dx_angina,varchar,90.0,Normal,1.0,22.0 +474,visits_from_meds_dispensed,dx_chf,varchar,91.0,Normal,1.0,23.0 +475,visits_from_meds_dispensed,dx_musculoskeletal_pain,varchar,92.0,Normal,1.0,24.0 +476,visits_from_meds_dispensed,dx_otitis,varchar,93.0,Normal,1.0,25.0 +477,visits_from_meds_dispensed,dx_otitis_ear,varchar,94.0,Normal,1.0,28.0 +478,visits_from_meds_dispensed,dx_pneumonia,varchar,95.0,Normal,1.0,26.0 +479,visits_from_meds_dispensed,dx_sinusitis,varchar,96.0,Normal,1.0,27.0 +480,visits_from_meds_dispensed,dx_uri,varchar,97.0,Normal,1.0,28.0 +481,visits_from_meds_dispensed,dx_pregnant,varchar,98.0,Normal,1.0,29.0 +482,visits_from_meds_dispensed,dx_pregnant_weeks,decimal,99.0,Normal,1.0,33.0 +483,visits_from_meds_dispensed,dx_atopic_derm,varchar,100.0,Normal,1.0,31.0 +484,visits_from_meds_dispensed,dx_fungal,varchar,101.0,Normal,1.0,32.0 +485,visits_from_meds_dispensed,dx_scabies,varchar,102.0,Normal,1.0,33.0 +486,visits_from_meds_dispensed,dx_impetigo,varchar,103.0,Normal,1.0,34.0 +487,visits_from_meds_dispensed,dx_tinea_capitus,varchar,104.0,Normal,1.0,35.0 +488,visits_from_meds_dispensed,dx_possible_std,varchar,105.0,Normal,1.0,18.0 +489,visits_from_meds_dispensed,dx_possible_tb,varchar,106.0,Normal,1.0,19.0 +490,visits_from_meds_dispensed,dx_vaginitis_candidal,varchar,107.0,Normal,1.0,24.0 +491,visits_from_meds_dispensed,dx_vaginitis_trich,varchar,108.0,Normal,1.0,24.0 +492,visits_from_meds_dispensed,dx_vaginitis_bv,varchar,109.0,Normal,1.0,25.0 +493,visits_from_meds_dispensed,dx_other,varchar,110.0,Normal,1.0,26.0 +494,visits_from_meds_dispensed,dx_other_text,varchar,111.0,Normal,1.0,33.0 +495,visits_from_meds_dispensed,tx_multivitamin,varchar,112.0,Normal,1.0,26.0 +496,visits_from_meds_dispensed,tx_pain_acetaminophen,varchar,113.0,Normal,1.0,28.0 +497,visits_from_meds_dispensed,tx_gi_omeprazole,varchar,114.0,Normal,1.0,27.0 +498,visits_from_meds_dispensed,tx_gi_pepto_bismol,varchar,115.0,Normal,1.0,28.0 +499,visits_from_meds_dispensed,tx_gi_cimetidine,varchar,116.0,Normal,1.0,31.0 +500,visits_from_meds_dispensed,tx_gi_tums,varchar,117.0,Normal,1.0,30.0 +501,visits_from_meds_dispensed,tx_gi_ors,varchar,118.0,Normal,1.0,31.0 +502,visits_from_meds_dispensed,tx_infections_albendazole,varchar,119.0,Normal,1.0,33.0 +503,visits_from_meds_dispensed,tx_infections_amoxicillin,varchar,120.0,Normal,1.0,34.0 +504,visits_from_meds_dispensed,tx_infections_azithromycin,varchar,121.0,Normal,1.0,35.0 +505,visits_from_meds_dispensed,tx_infections_bactrim,varchar,122.0,Normal,1.0,36.0 +506,visits_from_meds_dispensed,tx_infections_cipro,varchar,123.0,Normal,1.0,37.0 +507,visits_from_meds_dispensed,tx_infections_doxycycline,varchar,124.0,Normal,1.0,38.0 +508,visits_from_meds_dispensed,tx_infections_flagyl,varchar,125.0,Normal,1.0,39.0 +509,visits_from_meds_dispensed,tx_infections_fluconazole,varchar,126.0,Normal,1.0,40.0 +510,visits_from_meds_dispensed,tx_infections_griseofulvin,varchar,127.0,Normal,1.0,41.0 +511,visits_from_meds_dispensed,tx_infections_ivermectin,varchar,129.0,Normal,1.0,43.0 +512,visits_from_meds_dispensed,tx_infections_keflex,varchar,130.0,Normal,1.0,44.0 +513,visits_from_meds_dispensed,tx_infections_rocephin,varchar,131.0,Normal,1.0,46.0 +514,visits_from_meds_dispensed,tx_cardiac_amlodipine,varchar,132.0,Normal,1.0,47.0 +515,visits_from_meds_dispensed,tx_cardiac_aspirin,varchar,133.0,Normal,1.0,48.0 +516,visits_from_meds_dispensed,tx_cardiac_atenolol,varchar,134.0,Normal,1.0,48.0 +517,visits_from_meds_dispensed,tx_cardiac_hctz,varchar,135.0,Normal,1.0,49.0 +518,visits_from_meds_dispensed,tx_cardiac_lasix,varchar,136.0,Normal,1.0,51.0 +519,visits_from_meds_dispensed,tx_cardiac_enalapril,varchar,137.0,Normal,1.0,52.0 +520,visits_from_meds_dispensed,tx_topical_clotrimazole,varchar,138.0,Normal,1.0,53.0 +521,visits_from_meds_dispensed,tx_topical_hydrocortisone,varchar,139.0,Normal,1.0,53.0 +522,visits_from_meds_dispensed,tx_topical_silvadine,varchar,141.0,Normal,1.0,55.0 +523,visits_from_meds_dispensed,tx_topical_permethirine,varchar,142.0,Normal,1.0,57.0 +524,visits_from_meds_dispensed,tx_im_dexamethasone,varchar,143.0,Normal,1.0,57.0 +525,visits_from_meds_dispensed,tx_im_lasix,varchar,144.0,Normal,1.0,58.0 +526,visits_from_meds_dispensed,tx_misc_albuterol,varchar,145.0,Normal,1.0,60.0 +527,visits_from_meds_dispensed,tx_misc_benadryl,varchar,146.0,Normal,1.0,61.0 +528,visits_from_meds_dispensed,tx_misc_ferrous_sulfate,varchar,147.0,Normal,1.0,62.0 +529,visits_from_meds_dispensed,tx_misc_metformin,varchar,148.0,Normal,1.0,63.0 +530,visits_from_meds_dispensed,tx_misc_prednisolone,varchar,149.0,Normal,1.0,65.0 +531,visits_from_meds_dispensed,tx_misc_other,varchar,150.0,Normal,1.0,64.0 +532,visits_from_meds_dispensed,tx_misc_other_text,varchar,151.0,Normal,1.0,71.0 +533,visits_from_meds_dispensed,tx_comments,varchar,152.0,Normal,1.0,68.0 +534,visits_from_meds_dispensed,dx_uti,varchar,153.0,Normal,1.0,29.0 +535,visits_from_meds_dispensed,tx_multivitamin_varieties,varchar,155.0,Normal,1.0,29.0 +536,visits_from_meds_dispensed,tx_pain_acetaminophen_varieties,varchar,156.0,Normal,1.0,30.0 +537,visits_from_meds_dispensed,tx_infections_amoxicillin_varieties,varchar,159.0,Normal,1.0,36.0 +538,visits_from_meds_dispensed,tx_pain_ibuprofen,varchar,160.0,Normal,1.0,29.0 +539,visits_from_meds_dispensed,dx_comments,varchar,161.0,Normal,1.0,69.0 +540,visits_from_meds_dispensed,tx_infections_azithromycin_varieties,varchar,162.0,Normal,1.0,38.0 +541,visits_from_meds_dispensed,tx_infections_bactrim_varieties,varchar,163.0,Normal,1.0,40.0 +542,visits_from_meds_dispensed,tx_infections_keflex_varieties,varchar,164.0,Normal,1.0,42.0 +543,visits_from_meds_dispensed,tx_infections_rocephin_varieties,varchar,165.0,Normal,1.0,44.0 +544,visits_from_meds_dispensed,dx_vaginitis_general,varchar,166.0,Normal,1.0,26.0 +545,visits_from_meds_dispensed,dx_needs_to_see_dentist,varchar,168.0,Normal,1.0,26.0 +546,visits_from_meds_dispensed,dx_needs_to_see_eye_doctor,varchar,169.0,Normal,1.0,27.0 +547,visits_from_meds_dispensed,dx_healthy,varchar,170.0,Normal,1.0,8.0 +548,visits_from_meds_dispensed,provider,varchar,172.0,Normal,1.0,5.0 +549,visits_from_meds_dispensed,tx_saw_dentist,varchar,173.0,Normal,1.0,27.0 +550,visits_from_meds_dispensed,tx_saw_eye_doctor,varchar,174.0,Normal,1.0,29.0 +551,visits_from_meds_dispensed,tx_outside_referral,varchar,175.0,Normal,1.0,29.0 +552,visits_from_meds_dispensed,tx_outside_referral_text,varchar,176.0,Normal,1.0,34.0 +553,visits_from_meds_dispensed,tx_gi_zinc,varchar,177.0,Normal,1.0,32.0 +554,visits_from_meds_dispensed,tx_cardiac_methyldopa,varchar,178.0,Normal,1.0,53.0 +555,visits_from_meds_dispensed,tx_infections_augmentin,varchar,179.0,Normal,1.0,36.0 +556,visits_from_meds_dispensed,tx_infections_chloroquine,varchar,180.0,Normal,1.0,37.0 +557,visits_from_meds_dispensed,tx_infections_griseofuvin_varieties,varchar,181.0,Normal,1.0,38.0 +558,visits_from_meds_dispensed,tx_infections_nitrofurantoin,varchar,182.0,Normal,1.0,44.0 +559,visits_from_meds_dispensed,tx_topical_double_antibiotic,varchar,183.0,Normal,1.0,54.0 +560,visits_from_meds_dispensed,tx_misc_fluoxetine,varchar,184.0,Normal,1.0,67.0 +561,visits_from_meds_dispensed,tx_misc_ocp,varchar,185.0,Normal,1.0,65.0 +562,visits_from_meds_dispensed,tx_misc_phenytoin,varchar,186.0,Normal,1.0,66.0 +563,visits_from_meds_dispensed,dx_possible_parasites,varchar,188.0,Normal,1.0,20.0 +564,visits_from_meds_dispensed,tx_misc_iud,varchar,189.0,Normal,1.0,67.0 +565,visits_from_meds_dispensed,tests_id_test_given,varchar,190.0,Normal,1.0,7.0 +566,visits_from_meds_dispensed,tests_id_chlamydia_result,varchar,191.0,Normal,1.0,11.0 +567,visits_from_meds_dispensed,tests_id_hiv_result,varchar,192.0,Normal,1.0,13.0 +568,visits_from_meds_dispensed,tests_id_syphilis_result,varchar,193.0,Normal,1.0,13.0 +569,visits_from_meds_dispensed,tests_id_gonorrhea_result,varchar,194.0,Normal,1.0,14.0 +570,visits_from_meds_dispensed,tests_eye_exam_right_sphere,varchar,195.0,Normal,1.0,7.0 +571,visits_from_meds_dispensed,tests_eye_exam_right_cylinder,varchar,196.0,Normal,1.0,9.0 +572,visits_from_meds_dispensed,tests_eye_exam_right_axis,varchar,197.0,Normal,1.0,10.0 +573,visits_from_meds_dispensed,tests_eye_exam_right_bifocal,varchar,198.0,Normal,1.0,11.0 +574,visits_from_meds_dispensed,tests_eye_exam_left_sphere,varchar,199.0,Normal,1.0,8.0 +575,visits_from_meds_dispensed,tests_eye_exam_left_cylinder,varchar,200.0,Normal,1.0,10.0 +576,visits_from_meds_dispensed,tests_eye_exam_left_axis,varchar,201.0,Normal,1.0,11.0 +577,visits_from_meds_dispensed,tests_eye_exam_left_bifocal,varchar,202.0,Normal,1.0,12.0 +578,visits_from_meds_dispensed,tx_pain_ibuprofen_varieties,varchar,203.0,Normal,1.0,33.0 +579,visits_from_meds_dispensed,tx_misc_benadryl_varieties,varchar,204.0,Normal,1.0,35.0 +580,visits_from_meds_dispensed,tests_id_tb_result,varchar,209.0,Normal,1.0,15.0 +581,visits_from_meds_dispensed,tests_id_confirm_hiv_cd4,decimal,210.0,Normal,1.0,3.0 +582,visits_from_meds_dispensed,tests_id_confirm_hiv_result,varchar,211.0,Normal,1.0,14.0 +583,visits_from_meds_dispensed,tests_id_confirm_hiv_arvt,varchar,212.0,Normal,1.0,7.0 +584,visits_from_meds_dispensed,tests_id_confirm_hiv_enrolled,varchar,213.0,Normal,1.0,7.0 +585,visits_from_meds_dispensed,tests_id_confirm_hiv_problems,varchar,214.0,Normal,1.0,5.0 +586,visits_from_meds_dispensed,tests_id_confirm_tb_result,varchar,215.0,Normal,1.0,15.0 +587,visits_from_meds_dispensed,tests_id_confirm_tb_comments,varchar,216.0,Normal,1.0,6.0 +588,visits_from_meds_dispensed,tests_id_confirm_hiv_enrolled_at,varchar,218.0,Normal,1.0,6.0 +589,visits_from_meds_dispensed,dx_depression,varchar,219.0,Normal,1.0,10.0 +590,visits_from_meds_dispensed,clinic_trip,varchar,220.0,Normal,1.0,12.0 +591,visits_from_meds_dispensed,tx_chw_referral,varchar,221.0,Normal,1.0,31.0 +592,visits_from_meds_dispensed,tx_misc_depo,varchar,222.0,Normal,1.0,5.0 +593,visits_from_meds_dispensed,tx_misc_paroxetine,varchar,224.0,Normal,1.0,67.0 +594,visits_from_meds_dispensed,tx_misc_keppra,varchar,225.0,Normal,1.0,67.0 +595,visits_from_meds_dispensed,dx_totalcount,decimal,226.0,Calculated,1.0,1.0 +596,visits_from_meds_dispensed,tx_totalcount,decimal,228.0,Calculated,1.0,3.0 +597,visits_from_meds_dispensed,tx_given_glasses,varchar,229.0,Normal,1.0,4.0 +598,visits_from_meds_dispensed,tx_misc_labetolol,varchar,230.0,Normal,1.0,3.0 +599,visits_from_meds_dispensed,tx_misc_carbamazepine,varchar,231.0,Normal,1.0,66.0 +600,visits_from_meds_dispensed,tx_misc_terazosin,varchar,232.0,Normal,1.0,67.0 +601,visits_from_meds_dispensed,tx_gi_ranitidine,varchar,233.0,Normal,1.0,28.0 +602,visits_from_meds_dispensed,tx_cardiac_lisinopril,varchar,234.0,Normal,1.0,52.0 +603,visits_from_meds_dispensed,tx_topical_triple_antibiotic,varchar,235.0,Normal,1.0,55.0 +604,visits_from_meds_dispensed,tx_misc_prednisone,varchar,236.0,Normal,1.0,66.0 +605,visits_from_meds_dispensed,clinic,varchar,237.0,Normal,1.0,1.0 +606,visits_from_meds_dispensed,notes_modification_status,varchar,238.0,Normal,1.0,1.0 +607,visits_from_patients,pk_visit_id,decimal,1.0,Normal,1.0,30.0 +608,visits_from_patients,creation_date,date,2.0,Normal,1.0,2.0 +609,visits_from_patients,creation_acct,varchar,3.0,Normal,1.0,2.0 +610,visits_from_patients,modified_date,date,4.0,Normal,1.0,4.0 +611,visits_from_patients,modified_acct,varchar,5.0,Normal,1.0,3.0 +612,visits_from_patients,fk_patient_id,decimal,8.0,Normal,1.0,7.0 +613,visits_from_patients,fk_clinic_id,decimal,9.0,Normal,1.0,4.0 +614,visits_from_patients,visit_date,date,10.0,Normal,1.0,4.0 +615,visits_from_patients,visit_age,decimal,11.0,Normal,1.0,3.0 +616,visits_from_patients,ob_pregnant,varchar,12.0,Normal,1.0,7.0 +617,visits_from_patients,ob_last_menstrual_period,date,13.0,Normal,1.0,4.0 +618,visits_from_patients,bp_systolic_blood_pressure,decimal,14.0,Normal,1.0,3.0 +619,visits_from_patients,bp_diastolic_blood_pressure,decimal,15.0,Normal,1.0,4.0 +620,visits_from_patients,bp_mean_arterial_pressure,decimal,16.0,Calculated,1.0,4.0 +621,visits_from_patients,temp_in_fahrenheit,decimal,17.0,Normal,1.0,4.0 +622,visits_from_patients,pulse_rate,decimal,18.0,Normal,1.0,4.0 +623,visits_from_patients,weight_in_lbs,decimal,19.0,Normal,1.0,3.0 +624,visits_from_patients,height_in_inches,decimal,21.0,Normal,1.0,3.0 +625,visits_from_patients,glasses_given,varchar,25.0,Normal,1.0,4.0 +626,visits_from_patients,sunglasses_given,varchar,26.0,Normal,1.0,4.0 +627,visits_from_patients,dx_surgical_candidate,varchar,27.0,Normal,1.0,6.0 +628,visits_from_patients,surgical_comments,varchar,28.0,Normal,1.0,2.0 +629,visits_from_patients,visit_age_unit,varchar,30.0,Normal,1.0,3.0 +630,visits_from_patients,chief_complaint,varchar,31.0,Normal,1.0,2.0 +631,visits_from_patients,history_of_present_illness,varchar,32.0,Normal,1.0,3.0 +632,visits_from_patients,visit_age_years,decimal,33.0,Normal,1.0,5.0 +633,visits_from_patients,exam_comments,varchar,34.0,Normal,1.0,2.0 +634,visits_from_patients,tests_comments,varchar,36.0,Normal,1.0,1.0 +635,visits_from_patients,tests_blood_sugar_result,decimal,37.0,Normal,1.0,2.0 +636,visits_from_patients,tests_pregnancy_result,varchar,38.0,Normal,1.0,6.0 +637,visits_from_patients,tests_urine_glucose_result,varchar,42.0,Normal,1.0,9.0 +638,visits_from_patients,tests_urine_protein_result,varchar,43.0,Normal,1.0,10.0 +639,visits_from_patients,tests_urine_leukocytes_result,varchar,44.0,Normal,1.0,11.0 +640,visits_from_patients,tests_urine_nitrites_result,varchar,45.0,Normal,1.0,13.0 +641,visits_from_patients,ob_gravida,decimal,52.0,Normal,1.0,7.0 +642,visits_from_patients,ob_para,decimal,53.0,Normal,1.0,7.0 +643,visits_from_patients,ob_abortus,decimal,54.0,Normal,1.0,8.0 +644,visits_from_patients,ob_history,varchar,56.0,Calculated,1.0,6.0 +645,visits_from_patients,ob_wants_planning,varchar,57.0,Normal,1.0,5.0 +646,visits_from_patients,albendazole_given,varchar,58.0,Normal,1.0,7.0 +647,visits_from_patients,first_visit,varchar,59.0,Normal,1.0,6.0 +648,visits_from_patients,known_med_allergies,varchar,60.0,Normal,1.0,2.0 +649,visits_from_patients,meds_currently_taken,varchar,61.0,Normal,1.0,3.0 +650,visits_from_patients,tests_pregnancy_given,varchar,63.0,Normal,1.0,3.0 +651,visits_from_patients,tests_blood_sugar_given,varchar,64.0,Normal,1.0,3.0 +652,visits_from_patients,tests_eye_exam_given,varchar,65.0,Normal,1.0,4.0 +653,visits_from_patients,tests_urine_analysis_given,varchar,66.0,Normal,1.0,5.0 +654,visits_from_patients,dx_asthma,varchar,68.0,Normal,1.0,4.0 +655,visits_from_patients,dx_allergies,varchar,69.0,Normal,1.0,5.0 +656,visits_from_patients,dx_anemia,varchar,70.0,Normal,1.0,6.0 +657,visits_from_patients,dx_malnutrition,varchar,71.0,Normal,1.0,7.0 +658,visits_from_patients,dx_diabetes,varchar,72.0,Normal,1.0,9.0 +659,visits_from_patients,dx_pterygium,varchar,73.0,Normal,1.0,10.0 +660,visits_from_patients,dx_cataract,varchar,74.0,Normal,1.0,11.0 +661,visits_from_patients,dx_dry_eye,varchar,75.0,Normal,1.0,12.0 +662,visits_from_patients,dx_conjunctivitis,varchar,76.0,Normal,1.0,13.0 +663,visits_from_patients,dx_fever,varchar,77.0,Normal,1.0,10.0 +664,visits_from_patients,dx_possible_malaria,varchar,78.0,Normal,1.0,11.0 +665,visits_from_patients,dx_filariasis,varchar,79.0,Normal,1.0,12.0 +666,visits_from_patients,dx_gastritis,varchar,80.0,Normal,1.0,13.0 +667,visits_from_patients,dx_gerd,varchar,81.0,Normal,1.0,14.0 +668,visits_from_patients,dx_gastroenteritis,varchar,82.0,Normal,1.0,15.0 +669,visits_from_patients,dx_dysentery,varchar,83.0,Normal,1.0,16.0 +670,visits_from_patients,dx_possible_cholera,varchar,84.0,Normal,1.0,17.0 +671,visits_from_patients,dx_headache,varchar,85.0,Normal,1.0,18.0 +672,visits_from_patients,dx_hernia,varchar,86.0,Normal,1.0,19.0 +673,visits_from_patients,dx_hernia_type,varchar,87.0,Normal,1.0,21.0 +674,visits_from_patients,dx_hypertension,varchar,88.0,Normal,1.0,20.0 +675,visits_from_patients,dx_stroke,varchar,89.0,Normal,1.0,21.0 +676,visits_from_patients,dx_angina,varchar,90.0,Normal,1.0,22.0 +677,visits_from_patients,dx_chf,varchar,91.0,Normal,1.0,23.0 +678,visits_from_patients,dx_musculoskeletal_pain,varchar,92.0,Normal,1.0,24.0 +679,visits_from_patients,dx_otitis,varchar,93.0,Normal,1.0,25.0 +680,visits_from_patients,dx_otitis_ear,varchar,94.0,Normal,1.0,28.0 +681,visits_from_patients,dx_pneumonia,varchar,95.0,Normal,1.0,26.0 +682,visits_from_patients,dx_sinusitis,varchar,96.0,Normal,1.0,27.0 +683,visits_from_patients,dx_uri,varchar,97.0,Normal,1.0,28.0 +684,visits_from_patients,dx_pregnant,varchar,98.0,Normal,1.0,29.0 +685,visits_from_patients,dx_pregnant_weeks,decimal,99.0,Normal,1.0,33.0 +686,visits_from_patients,dx_atopic_derm,varchar,100.0,Normal,1.0,31.0 +687,visits_from_patients,dx_fungal,varchar,101.0,Normal,1.0,32.0 +688,visits_from_patients,dx_scabies,varchar,102.0,Normal,1.0,33.0 +689,visits_from_patients,dx_impetigo,varchar,103.0,Normal,1.0,34.0 +690,visits_from_patients,dx_tinea_capitus,varchar,104.0,Normal,1.0,35.0 +691,visits_from_patients,dx_possible_std,varchar,105.0,Normal,1.0,18.0 +692,visits_from_patients,dx_possible_tb,varchar,106.0,Normal,1.0,19.0 +693,visits_from_patients,dx_vaginitis_candidal,varchar,107.0,Normal,1.0,24.0 +694,visits_from_patients,dx_vaginitis_trich,varchar,108.0,Normal,1.0,24.0 +695,visits_from_patients,dx_vaginitis_bv,varchar,109.0,Normal,1.0,25.0 +696,visits_from_patients,dx_other,varchar,110.0,Normal,1.0,26.0 +697,visits_from_patients,dx_other_text,varchar,111.0,Normal,1.0,33.0 +698,visits_from_patients,tx_multivitamin,varchar,112.0,Normal,1.0,26.0 +699,visits_from_patients,tx_pain_acetaminophen,varchar,113.0,Normal,1.0,28.0 +700,visits_from_patients,tx_gi_omeprazole,varchar,114.0,Normal,1.0,27.0 +701,visits_from_patients,tx_gi_pepto_bismol,varchar,115.0,Normal,1.0,28.0 +702,visits_from_patients,tx_gi_cimetidine,varchar,116.0,Normal,1.0,31.0 +703,visits_from_patients,tx_gi_tums,varchar,117.0,Normal,1.0,30.0 +704,visits_from_patients,tx_gi_ors,varchar,118.0,Normal,1.0,31.0 +705,visits_from_patients,tx_infections_albendazole,varchar,119.0,Normal,1.0,33.0 +706,visits_from_patients,tx_infections_amoxicillin,varchar,120.0,Normal,1.0,34.0 +707,visits_from_patients,tx_infections_azithromycin,varchar,121.0,Normal,1.0,35.0 +708,visits_from_patients,tx_infections_bactrim,varchar,122.0,Normal,1.0,36.0 +709,visits_from_patients,tx_infections_cipro,varchar,123.0,Normal,1.0,37.0 +710,visits_from_patients,tx_infections_doxycycline,varchar,124.0,Normal,1.0,38.0 +711,visits_from_patients,tx_infections_flagyl,varchar,125.0,Normal,1.0,39.0 +712,visits_from_patients,tx_infections_fluconazole,varchar,126.0,Normal,1.0,40.0 +713,visits_from_patients,tx_infections_griseofulvin,varchar,127.0,Normal,1.0,41.0 +714,visits_from_patients,tx_infections_ivermectin,varchar,129.0,Normal,1.0,43.0 +715,visits_from_patients,tx_infections_keflex,varchar,130.0,Normal,1.0,44.0 +716,visits_from_patients,tx_infections_rocephin,varchar,131.0,Normal,1.0,46.0 +717,visits_from_patients,tx_cardiac_amlodipine,varchar,132.0,Normal,1.0,47.0 +718,visits_from_patients,tx_cardiac_aspirin,varchar,133.0,Normal,1.0,48.0 +719,visits_from_patients,tx_cardiac_atenolol,varchar,134.0,Normal,1.0,48.0 +720,visits_from_patients,tx_cardiac_hctz,varchar,135.0,Normal,1.0,49.0 +721,visits_from_patients,tx_cardiac_lasix,varchar,136.0,Normal,1.0,51.0 +722,visits_from_patients,tx_cardiac_enalapril,varchar,137.0,Normal,1.0,52.0 +723,visits_from_patients,tx_topical_clotrimazole,varchar,138.0,Normal,1.0,53.0 +724,visits_from_patients,tx_topical_hydrocortisone,varchar,139.0,Normal,1.0,53.0 +725,visits_from_patients,tx_topical_silvadine,varchar,141.0,Normal,1.0,55.0 +726,visits_from_patients,tx_topical_permethirine,varchar,142.0,Normal,1.0,57.0 +727,visits_from_patients,tx_im_dexamethasone,varchar,143.0,Normal,1.0,57.0 +728,visits_from_patients,tx_im_lasix,varchar,144.0,Normal,1.0,58.0 +729,visits_from_patients,tx_misc_albuterol,varchar,145.0,Normal,1.0,60.0 +730,visits_from_patients,tx_misc_benadryl,varchar,146.0,Normal,1.0,61.0 +731,visits_from_patients,tx_misc_ferrous_sulfate,varchar,147.0,Normal,1.0,62.0 +732,visits_from_patients,tx_misc_metformin,varchar,148.0,Normal,1.0,63.0 +733,visits_from_patients,tx_misc_prednisolone,varchar,149.0,Normal,1.0,65.0 +734,visits_from_patients,tx_misc_other,varchar,150.0,Normal,1.0,64.0 +735,visits_from_patients,tx_misc_other_text,varchar,151.0,Normal,1.0,71.0 +736,visits_from_patients,tx_comments,varchar,152.0,Normal,1.0,68.0 +737,visits_from_patients,dx_uti,varchar,153.0,Normal,1.0,29.0 +738,visits_from_patients,tx_multivitamin_varieties,varchar,155.0,Normal,1.0,29.0 +739,visits_from_patients,tx_pain_acetaminophen_varieties,varchar,156.0,Normal,1.0,30.0 +740,visits_from_patients,tx_infections_amoxicillin_varieties,varchar,159.0,Normal,1.0,36.0 +741,visits_from_patients,tx_pain_ibuprofen,varchar,160.0,Normal,1.0,29.0 +742,visits_from_patients,dx_comments,varchar,161.0,Normal,1.0,69.0 +743,visits_from_patients,tx_infections_azithromycin_varieties,varchar,162.0,Normal,1.0,38.0 +744,visits_from_patients,tx_infections_bactrim_varieties,varchar,163.0,Normal,1.0,40.0 +745,visits_from_patients,tx_infections_keflex_varieties,varchar,164.0,Normal,1.0,42.0 +746,visits_from_patients,tx_infections_rocephin_varieties,varchar,165.0,Normal,1.0,44.0 +747,visits_from_patients,dx_vaginitis_general,varchar,166.0,Normal,1.0,26.0 +748,visits_from_patients,dx_needs_to_see_dentist,varchar,168.0,Normal,1.0,26.0 +749,visits_from_patients,dx_needs_to_see_eye_doctor,varchar,169.0,Normal,1.0,27.0 +750,visits_from_patients,dx_healthy,varchar,170.0,Normal,1.0,8.0 +751,visits_from_patients,provider,varchar,172.0,Normal,1.0,5.0 +752,visits_from_patients,tx_saw_dentist,varchar,173.0,Normal,1.0,27.0 +753,visits_from_patients,tx_saw_eye_doctor,varchar,174.0,Normal,1.0,29.0 +754,visits_from_patients,tx_outside_referral,varchar,175.0,Normal,1.0,29.0 +755,visits_from_patients,tx_outside_referral_text,varchar,176.0,Normal,1.0,34.0 +756,visits_from_patients,tx_gi_zinc,varchar,177.0,Normal,1.0,32.0 +757,visits_from_patients,tx_cardiac_methyldopa,varchar,178.0,Normal,1.0,53.0 +758,visits_from_patients,tx_infections_augmentin,varchar,179.0,Normal,1.0,36.0 +759,visits_from_patients,tx_infections_chloroquine,varchar,180.0,Normal,1.0,37.0 +760,visits_from_patients,tx_infections_griseofuvin_varieties,varchar,181.0,Normal,1.0,38.0 +761,visits_from_patients,tx_infections_nitrofurantoin,varchar,182.0,Normal,1.0,44.0 +762,visits_from_patients,tx_topical_double_antibiotic,varchar,183.0,Normal,1.0,54.0 +763,visits_from_patients,tx_misc_fluoxetine,varchar,184.0,Normal,1.0,67.0 +764,visits_from_patients,tx_misc_ocp,varchar,185.0,Normal,1.0,65.0 +765,visits_from_patients,tx_misc_phenytoin,varchar,186.0,Normal,1.0,66.0 +766,visits_from_patients,dx_possible_parasites,varchar,188.0,Normal,1.0,20.0 +767,visits_from_patients,tx_misc_iud,varchar,189.0,Normal,1.0,67.0 +768,visits_from_patients,tests_id_test_given,varchar,190.0,Normal,1.0,7.0 +769,visits_from_patients,tests_id_chlamydia_result,varchar,191.0,Normal,1.0,11.0 +770,visits_from_patients,tests_id_hiv_result,varchar,192.0,Normal,1.0,13.0 +771,visits_from_patients,tests_id_syphilis_result,varchar,193.0,Normal,1.0,13.0 +772,visits_from_patients,tests_id_gonorrhea_result,varchar,194.0,Normal,1.0,14.0 +773,visits_from_patients,tests_eye_exam_right_sphere,varchar,195.0,Normal,1.0,7.0 +774,visits_from_patients,tests_eye_exam_right_cylinder,varchar,196.0,Normal,1.0,9.0 +775,visits_from_patients,tests_eye_exam_right_axis,varchar,197.0,Normal,1.0,10.0 +776,visits_from_patients,tests_eye_exam_right_bifocal,varchar,198.0,Normal,1.0,11.0 +777,visits_from_patients,tests_eye_exam_left_sphere,varchar,199.0,Normal,1.0,8.0 +778,visits_from_patients,tests_eye_exam_left_cylinder,varchar,200.0,Normal,1.0,10.0 +779,visits_from_patients,tests_eye_exam_left_axis,varchar,201.0,Normal,1.0,11.0 +780,visits_from_patients,tests_eye_exam_left_bifocal,varchar,202.0,Normal,1.0,12.0 +781,visits_from_patients,tx_pain_ibuprofen_varieties,varchar,203.0,Normal,1.0,33.0 +782,visits_from_patients,tx_misc_benadryl_varieties,varchar,204.0,Normal,1.0,35.0 +783,visits_from_patients,tests_id_tb_result,varchar,209.0,Normal,1.0,15.0 +784,visits_from_patients,tests_id_confirm_hiv_cd4,decimal,210.0,Normal,1.0,3.0 +785,visits_from_patients,tests_id_confirm_hiv_result,varchar,211.0,Normal,1.0,14.0 +786,visits_from_patients,tests_id_confirm_hiv_arvt,varchar,212.0,Normal,1.0,7.0 +787,visits_from_patients,tests_id_confirm_hiv_enrolled,varchar,213.0,Normal,1.0,7.0 +788,visits_from_patients,tests_id_confirm_hiv_problems,varchar,214.0,Normal,1.0,5.0 +789,visits_from_patients,tests_id_confirm_tb_result,varchar,215.0,Normal,1.0,15.0 +790,visits_from_patients,tests_id_confirm_tb_comments,varchar,216.0,Normal,1.0,6.0 +791,visits_from_patients,tests_id_confirm_hiv_enrolled_at,varchar,218.0,Normal,1.0,6.0 +792,visits_from_patients,dx_depression,varchar,219.0,Normal,1.0,10.0 +793,visits_from_patients,clinic_trip,varchar,220.0,Normal,1.0,12.0 +794,visits_from_patients,tx_chw_referral,varchar,221.0,Normal,1.0,31.0 +795,visits_from_patients,tx_misc_depo,varchar,222.0,Normal,1.0,5.0 +796,visits_from_patients,tx_misc_paroxetine,varchar,224.0,Normal,1.0,67.0 +797,visits_from_patients,tx_misc_keppra,varchar,225.0,Normal,1.0,67.0 +798,visits_from_patients,dx_totalcount,decimal,226.0,Calculated,1.0,1.0 +799,visits_from_patients,tx_totalcount,decimal,228.0,Calculated,1.0,3.0 +800,visits_from_patients,tx_given_glasses,varchar,229.0,Normal,1.0,4.0 +801,visits_from_patients,tx_misc_labetolol,varchar,230.0,Normal,1.0,3.0 +802,visits_from_patients,tx_misc_carbamazepine,varchar,231.0,Normal,1.0,66.0 +803,visits_from_patients,tx_misc_terazosin,varchar,232.0,Normal,1.0,67.0 +804,visits_from_patients,tx_gi_ranitidine,varchar,233.0,Normal,1.0,28.0 +805,visits_from_patients,tx_cardiac_lisinopril,varchar,234.0,Normal,1.0,52.0 +806,visits_from_patients,tx_topical_triple_antibiotic,varchar,235.0,Normal,1.0,55.0 +807,visits_from_patients,tx_misc_prednisone,varchar,236.0,Normal,1.0,66.0 +808,visits_from_patients,clinic,varchar,237.0,Normal,1.0,1.0 +809,visits_from_patients,notes_modification_status,varchar,238.0,Normal,1.0,1.0 diff --git a/db/fmp.py b/db/fmp.py index 99ee197..b7d75d3 100644 --- a/db/fmp.py +++ b/db/fmp.py @@ -2,11 +2,13 @@ import json from datetime import datetime import pandas as pd +import numpy as np import pyodbc from tqdm import tqdm from db import DB +from utils import edit_distance """ File Maker Pro Connection Object @@ -60,7 +62,7 @@ class FMP(DB): return self.__python_types_to_sql @property - def fmp_table_names(self): + def fmp_table_names(self) -> list: return self.__fmp_table_names @property @@ -73,6 +75,7 @@ class FMP(DB): def parse_database(self) -> dict(): self._model = dict() + for tbl in tqdm(self.fmp_table_names): query = "select * from {tbl}".format(tbl=tbl) df = pd.read_sql(query, self.connection) @@ -85,11 +88,46 @@ class FMP(DB): for elem in zip(df.columns, col_types): self._model[tbl][elem[0]] = {} self._model[tbl][elem[0]]["type"] = elem[1] - self._model[tbl][elem[0]]["pk"] = "pk" == elem[0][:2] - self._model[tbl][elem[0]]["fk"] = "fk" == elem[0][:2] + # get table + # convert to singular + # + # check_str = f"pk_{}_id" + # self._model[tbl][elem[0]]["pk"] = "pk" == elem[0][:2] + # self._model[tbl][elem[0]]["fk"] = "fk" == elem[0][:2] + # foreign key true --> what it points to + + primary_key_field_name = "" + for field_name in self._model[tbl].keys(): + self._model[tbl][field_name]["fk"] = "fk" == field_name[:2] + return self._model - def write_model(self, model_object=None): + def get_tablename_from_fieldname(self, field_name: str): + # remove "pk_" or "fk_" --> we only enter this function if this has already matched + extracted_field_to_match = field_name[3:] + # not all fields that start with "pk_" or "fk_" end in "_id" + if field_name[-3:] == "_id": + extracted_field_to_match = extracted_field_to_match[:-3] + else: + print(f"consider fixing fieldname: {field_name}") + + # function that returns the edit distance of the table to the extracted field name + matcher = lambda table_name: edit_distance(table_name, extracted_field_to_match) + + try: + # map lambda over list of table `names & extract min edit distance + index_of_match = int( + np.argmin(np.array(list(map(matcher, self.__fmp_table_names))), axis=0) + ) + except TypeError as e: + print("FAILURE: to tables have equally close edit_distance") + # TODO: potentially add a backup lookup table here + # for now we will re-raise the error and crash the program + raise (e) + + return self.__fmp_table_names[index_of_match] + + def write_model(self, model_object: dict = None): curr_time = datetime.now().strftime(self.datetime_format) with open("./models/{time}_model.json".format(time=curr_time), "w") as f: if model_object is not None: diff --git a/db/tables.csv b/db/tables.csv new file mode 100644 index 0000000..b571ef8 --- /dev/null +++ b/db/tables.csv @@ -0,0 +1,28 @@ +,TableName,TableId,BaseTableName,BaseFileName,ModCount +0,clinics,1065096.0,clinics,chihaiti (engr-ece-m010),17.0 +1,clinics_from_visits,1065091.0,clinics,chihaiti (engr-ece-m010),17.0 +2,diagnoses,1065112.0,diagnoses,chihaiti (engr-ece-m010),10.0 +3,diagnoses_from_visits,1065106.0,diagnoses,chihaiti (engr-ece-m010),10.0 +4,diagnoses_made,1065118.0,diagnoses_made,chihaiti (engr-ece-m010),4.0 +5,diagnoses_made_from_visits,1065107.0,diagnoses_made,chihaiti (engr-ece-m010),4.0 +6,geonames,1065124.0,geonames,chihaiti (engr-ece-m010),3.0 +7,globals,1065092.0,globals,chihaiti (engr-ece-m010),26.0 +8,meds,1065111.0,meds,chihaiti (engr-ece-m010),6.0 +9,meds_dispensed,1065110.0,meds_dispensed,chihaiti (engr-ece-m010),10.0 +10,meds_dispensed_from_visits,1065101.0,meds_dispensed,chihaiti (engr-ece-m010),10.0 +11,meds_from_meds_dispensed,1065120.0,meds,chihaiti (engr-ece-m010),6.0 +12,meds_from_visits,1065100.0,meds,chihaiti (engr-ece-m010),6.0 +13,patients,1065097.0,patients,chihaiti (engr-ece-m010),77.0 +14,patients_from_visits,1065089.0,patients,chihaiti (engr-ece-m010),77.0 +15,patients_from_visits_for_search,1065123.0,patients,chihaiti (engr-ece-m010),77.0 +16,settings,1065098.0,settings,chihaiti (engr-ece-m010),12.0 +17,settings_from_clinics,1065099.0,settings,chihaiti (engr-ece-m010),12.0 +18,settings_from_diagnoses,1065116.0,settings,chihaiti (engr-ece-m010),12.0 +19,settings_from_diagnoses 2,1065119.0,settings,chihaiti (engr-ece-m010),12.0 +20,settings_from_meds,1065115.0,settings,chihaiti (engr-ece-m010),12.0 +21,settings_from_meds_dispensed,1065117.0,settings,chihaiti (engr-ece-m010),12.0 +22,settings_from_patients,1065114.0,settings,chihaiti (engr-ece-m010),12.0 +23,settings_from_visits,1065093.0,settings,chihaiti (engr-ece-m010),12.0 +24,visits,1065090.0,visits,chihaiti (engr-ece-m010),199.0 +25,visits_from_meds_dispensed,1065113.0,visits,chihaiti (engr-ece-m010),199.0 +26,visits_from_patients,1065122.0,visits,chihaiti (engr-ece-m010),199.0 diff --git a/db/test_edit_distance.py b/db/test_edit_distance.py new file mode 100644 index 0000000..a71f038 --- /dev/null +++ b/db/test_edit_distance.py @@ -0,0 +1,12 @@ +from fmp import FMP +import pandas as pd + +fmp_model = FMP("20200303_chihaiti", "hjohnson", "hjohnson") + +pk_visit_id = "pk_visit_id" +fk_clinic_id = "fk_clinic_id" + +print(fmp_model.get_tablename_from_fieldname(pk_visit_id)) # expect this to be "visits" +print( + fmp_model.get_tablename_from_fieldname(fk_clinic_id) +) # expect this to be "clinics" diff --git a/db/utils.py b/db/utils.py new file mode 100644 index 0000000..ea9021d --- /dev/null +++ b/db/utils.py @@ -0,0 +1,22 @@ +def edit_distance(str1, str2): + return edit_distance_helper(str1, str2, len(str1) - 1, len(str2) - 1) + + +def edit_distance_helper(str1, str2, m, n): + if m == 0: + return n + + if n == 0: + return m + + if str1[m] == str2[n]: + return edit_distance_helper(str1, str2, m - 1, n - 1) + + return ( + min( + edit_distance_helper(str1, str2, m, n - 1), + edit_distance_helper(str1, str2, m - 1, n), + edit_distance_helper(str1, str2, m - 1, n - 1), + ) + + 1 + ) From 27a1873765e7233b6b53c692fcf7ea384c0e3f6e Mon Sep 17 00:00:00 2001 From: abpwrs Date: Wed, 8 Apr 2020 15:05:02 -0500 Subject: [PATCH 3/7] ENH: implementing init_from_json to avoid dulication in FMP & PSQL --- db/db.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/db/db.py b/db/db.py index cb0394c..263fef0 100644 --- a/db/db.py +++ b/db/db.py @@ -14,6 +14,5 @@ class DB(ABC): def parse_database(self) -> dict(): pass - @abstractmethod def init_from_json(self, json_model: dict()): - pass + self._model = json_model From 109040a715a5cc90a2513d89806101b6307a78e7 Mon Sep 17 00:00:00 2001 From: abpwrs Date: Wed, 8 Apr 2020 15:05:37 -0500 Subject: [PATCH 4/7] ENH: making connecting to the FMP an option on initialization --- db/fmp.py | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/db/fmp.py b/db/fmp.py index b7d75d3..7f8f259 100644 --- a/db/fmp.py +++ b/db/fmp.py @@ -19,7 +19,7 @@ This file contains the primary logic for interacting with the file maker pro dat class FMP(DB): - def __init__(self, dsn=None, username=None, password=None): + def __init__(self, dsn=None, username=None, password=None, connect=True): DB.__init__(self) if dsn is None: dsn = input("Enter the FMP DSN: ") @@ -55,7 +55,13 @@ class FMP(DB): "NoneType": "VARCHAR", } - self.__pyodbc_connection = pyodbc.connect(self.__connection_string) + self.__pyodbc_connection = None + if connect: + self.__connect() + + def __connect(self): + if self.__pyodbc_connection is None + self.__pyodbc_connection = pyodbc.connect(self.__connection_string) @property def python_types_to_sql(self): @@ -67,12 +73,11 @@ class FMP(DB): @property def connection(self): + if self.__pyodbc_connection is None: + self.__connect() return self.__pyodbc_connection # ABSTRACT BASE CLASS MEHTODS - def init_from_json(model_object): - self._model = model_object - def parse_database(self) -> dict(): self._model = dict() @@ -117,7 +122,7 @@ class FMP(DB): try: # map lambda over list of table `names & extract min edit distance index_of_match = int( - np.argmin(np.array(list(map(matcher, self.__fmp_table_names))), axis=0) + np.argmin(np.array(list(map(matcher, self.fmp_table_names))), axis=0) ) except TypeError as e: print("FAILURE: to tables have equally close edit_distance") From 9aa67d0e7f8b32ea550985cf52a53a0f6d911a0e Mon Sep 17 00:00:00 2001 From: abpwrs Date: Wed, 8 Apr 2020 15:30:43 -0500 Subject: [PATCH 5/7] FIX: removing extra __init__.py --- db/__init__.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 db/__init__.py diff --git a/db/__init__.py b/db/__init__.py deleted file mode 100644 index e69de29..0000000 From c3c3de452d160efa8a637be7007920ba9927a7c5 Mon Sep 17 00:00:00 2001 From: abpwrs Date: Wed, 8 Apr 2020 15:33:33 -0500 Subject: [PATCH 6/7] ENH: consolidating bash scripts --- db/execute-sql-in-container.bash | 22 ++++++++++++++++++++++ db/init-db.bash | 17 ----------------- db/seed-db.bash | 17 ----------------- 3 files changed, 22 insertions(+), 34 deletions(-) create mode 100755 db/execute-sql-in-container.bash delete mode 100755 db/init-db.bash delete mode 100755 db/seed-db.bash diff --git a/db/execute-sql-in-container.bash b/db/execute-sql-in-container.bash new file mode 100755 index 0000000..3ed782f --- /dev/null +++ b/db/execute-sql-in-container.bash @@ -0,0 +1,22 @@ +#!/usr/bin/env bash +# Author: "hertz" +# Date: 20200310 +# #################### +# DESC: +# A script to execute a SQL script inside of postgres docker container +# #################### + + +# args: +# 1 -- name of container running postgres to execute the script inside of +# 2 -- path to .SQL script to be execute inside of the postgres container + +#if [[ $# -ne 1 ]]; then +# echo "Usage: $0 ..." +# exit +#fi + + +# script: + + diff --git a/db/init-db.bash b/db/init-db.bash deleted file mode 100755 index 225d2f5..0000000 --- a/db/init-db.bash +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/env bash -# Author: "hertz" -# Date: 20200310 - -# args: -# 1 -- -# 2 -- - -#if [[ $# -ne 1 ]]; then -# echo "Usage: $0 ..." -# exit -#fi - - -# script: - - diff --git a/db/seed-db.bash b/db/seed-db.bash deleted file mode 100755 index 225d2f5..0000000 --- a/db/seed-db.bash +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/env bash -# Author: "hertz" -# Date: 20200310 - -# args: -# 1 -- -# 2 -- - -#if [[ $# -ne 1 ]]; then -# echo "Usage: $0 ..." -# exit -#fi - - -# script: - - From 82cba4b1a128c004de71350c80c55b189970efe7 Mon Sep 17 00:00:00 2001 From: abpwrs Date: Wed, 8 Apr 2020 16:08:55 -0500 Subject: [PATCH 7/7] ENH: adding git-secret --- .gitignore | 4 + .gitsecret/keys/pubring.kbx | Bin 0 -> 2902 bytes .gitsecret/keys/pubring.kbx~ | Bin 0 -> 1466 bytes .gitsecret/keys/trustdb.gpg | Bin 0 -> 1200 bytes .gitsecret/paths/mapping.cfg | 6 + db/init/20200305_2357_init_db.sql | 280 ----- db/init/20200305_2357_init_db.sql.secret | Bin 0 -> 2438 bytes db/init/20200309_1938_init_db.sql | 280 ----- db/init/20200309_1938_init_db.sql.secret | Bin 0 -> 2440 bytes db/models/.gitignore | 3 + db/models/.gitkeep | 0 db/models/20200305_2357_model.json | 1306 --------------------- db/models/20200305_2357_model.json.secret | Bin 0 -> 2723 bytes db/models/20200309_1936_model.json | 0 db/models/20200309_1936_model.json.secret | Bin 0 -> 627 bytes db/models/20200309_1938_model.json | 1306 --------------------- db/models/20200309_1938_model.json.secret | Bin 0 -> 2723 bytes db/seed/.gitignore | 3 +- db/seed/test.sql.secret | Bin 0 -> 611 bytes 19 files changed, 15 insertions(+), 3173 deletions(-) create mode 100644 .gitsecret/keys/pubring.kbx create mode 100644 .gitsecret/keys/pubring.kbx~ create mode 100644 .gitsecret/keys/trustdb.gpg create mode 100644 .gitsecret/paths/mapping.cfg delete mode 100644 db/init/20200305_2357_init_db.sql create mode 100644 db/init/20200305_2357_init_db.sql.secret delete mode 100644 db/init/20200309_1938_init_db.sql create mode 100644 db/init/20200309_1938_init_db.sql.secret create mode 100644 db/models/.gitignore delete mode 100644 db/models/.gitkeep delete mode 100644 db/models/20200305_2357_model.json create mode 100644 db/models/20200305_2357_model.json.secret delete mode 100644 db/models/20200309_1936_model.json create mode 100644 db/models/20200309_1936_model.json.secret delete mode 100644 db/models/20200309_1938_model.json create mode 100644 db/models/20200309_1938_model.json.secret create mode 100644 db/seed/test.sql.secret diff --git a/.gitignore b/.gitignore index 7093a31..1c846f7 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,7 @@ env/* # postgres persisted data pgdata/ +.gitsecret/keys/random_seed +!*.secret +db/init/20200305_2357_init_db.sql +db/init/20200309_1938_init_db.sql diff --git a/.gitsecret/keys/pubring.kbx b/.gitsecret/keys/pubring.kbx new file mode 100644 index 0000000000000000000000000000000000000000..2aadae8a0336718cb0b8c90f696380aac88c5b34 GIT binary patch literal 2902 zcma)+2{@E%8^>qHGA5FJU&dfU$ubm!k*zF^E#VMCV~lMW`&!NrO17cwjHNu>e2-kxw(m4Z0K`1e3sw*oLKu7MkJS{sHKI;Hk-hvGEp; zx`Fj~uP3TQ1RC0J)0Z{(_vix%V55h8dM5Sb9Ry(fG5<$6_=7CqVMfQKlWss3KqEP- z=PQi19pl}egi-=NR_H1|TEE=(WPlxq9pSZ*F0~VBzt4WhdBP!o2I~=)+x0+~^Ty%8 zoxE)&^u)VB_6lTrTIxieayh5<=NN7CAtQa!b+SHKT37OZ3{)lBk-Hm0fVO5`)E}Sxs ze>o)5NGR1jE0>xb@x)fyFqNU)u%bbx6Il}NDNvx=!V2cT9;&(H{Z&e=Br?+ew$_+Sb0?#{RXoV@?#(}6gAu=5GbXqppcf>%+Hvf zMvEqLPF|Q4pwxsXDnmLqORW;`pu^u2L(O)zSE>uh)fl1gPc@NNzf$8;`7z&IGmlm= z0~qMS02=>o*dZ~$S&mn<*X%6le*UQfjO-}!IyUUWP_@}~y;*QQv2APG#d&M&wwZi{ zA!hLl%s7d3>7n}`4;S)tk}m9=J)~8ncZao``6sZ+muvQI=Feh%M zy>RwaB zZq0aVQOz=ZH&)?gLv*822PaSq7;-%s=8%bV|_p`ngCtLz!~_ zMCL>LWUfDB`n}w(RYK(R zU;ZnZ;rplQU;8g))`aeF|0FYVi>~e66kTNI(i-*p)wv zatWv>i=QiZ&DO6RUXh3&ziWL*)JX!6mf+(D_2{6&3vS+|CKH&~UO!nt8Dy18x0sD~ z1f0hT*Y9vZd5%OGu)YTmUGq)6;uhJ0(0&Ad{@E(~x6%_HVd9@>+U#+bel{rC8_JH> z9g6QVHr{0IMcwy(ESP1=bErvFOm?(ee0tys)O$7B!mr!|VFod+?DV%Jv&vQgI(zRd zk4n_F$WaEVNb z30J)LKd|}ll-y@Ca_j$M^MUy1Ex` z(oN8_S9@Nb99;t5@DJm4@gPAF8*gfWkG|V#VtVRX{F0W6x^A!28-y3UyjZM5HDeS~ zJP{>6 zWq2gq6&Z)HGOy|6i8yysd6-i0(j$W=^DGw=(P4D|0^BU+=K9SbEtp z@xUY$U-t6Di!ucplNS|pTd#P28Sd1HTZMYA2`Tjd&LyYYypv9Q87!A1rErNbKQ=u^ zngdTL34`itaq8jX6(dU)Ml-fHZ~wyPf3n-3*nD8Ckuoria8)s7xvKbHMW3xttj@>Z z>AMTc(?9(8aO3m0i`)nzMTF+@w- z7#ie`KRP(Ecq(k9kHz^273y7!QX|ZTZ@1=TE(z4tBtyyH>yN^OF>Ns)D`5}NXi06p zVuw17XHSC^(`Z&N1Tdbk`Cj5IwB_j7S&T|XuefpaKwO4-D&C|{x_e@)h@+P~!;k@d zykL1m?>?_p_Qs-WC(Fir-)2EkLP=_d#-^{>jD)N5fvxr`hLXAKOoAtd)s0+@I|uA2 H!H53NP zfdx#X5il3bWaMRu>oZGZqxCN(d;NH-%fvm{fuIK`nfGrv4hFEypq4yuO<62zU1AuPhc;ItD{WWg4XtW2Qr zW|C%RC9XB*(}k-oU`cDFBQ5&+FL#hg8LVD9oEb z`Pa_An?}q2$=oYv(tUU%VXnZ2i+_!KA{>+Fz5G@9@`z&puDDANF8>k)6*G} zj}@~vs}=G+^sF-c{Xy=Ugx0}oL*@@*iuse@q#yh9pDS}A&jc~n)C%@2A%+G2d-jU6 zOquk*v03n8=tGJ9o2z?_IFEl{8q%}OxB6~#rT-uM51ZyM+>|QyZ;y>tNYmr?iQ=h0 zl4q!IU}IngMhwGFM1s90SNKBU!vD*B9KILDAI(qIyw%*5UKM(6lmF9g{^i@6kNkX^ zl=$<`bbs9%kJPsxmAv{UC#=u-Dt+l8TNZqE|MAJ^UgS?+{?#TfV1sygnf%|VbvLqeLqn2gJgh7-jWkm( ztF>*M|7DX>O+fR{Nv9IC4TLo;AIHla(%i}OVf#dOv-3Z!Ym!#$FJij+S^M|f6GaCP z?LFccC_jr`o;y}h(Oc%o+b|{F5Bf7g7KLlODxL0rAw5Y#Vpq{&nOts$CxKIv&sVfx zKkq3oxag~^O68iHXT{=vY|veiX|Cc7POzPfHY^gr;Mjjt}2!<#eVxnXBcWx$bD|#+JU*ce9CD z*_?K!RaU;UE4T{Z&F{`{Gf6uAxRdj)oBC<4MP3Tgz@epYiU@>^)ygcF&(*`}0}0^_)`8zz?(fD!$)8@n@&K<=+<51@mP8 zu=BQ*hujd}uAw(`|3aZs4MQ6aM)mS(f)5W``7+(we=zOjQ6t~|MVuY|Y)gBd#@A>5 zIP6x}ytJYALaY7HRVO5sTkKvmKT}(>RAvd&*w(&Ei#w%>hh_b2LS1pULgPg literal 0 HcmV?d00001 diff --git a/.gitsecret/keys/trustdb.gpg b/.gitsecret/keys/trustdb.gpg new file mode 100644 index 0000000000000000000000000000000000000000..90e4459ad2f0d9a2f77d038d47af75a4e8fb06ed GIT binary patch literal 1200 zcmZQfFGy!*W@Ke#Vql2tvzpI<9WZiX7sn7CRfiEIV1dza84VXu2#lr!%F+P<00RU! literal 0 HcmV?d00001 diff --git a/.gitsecret/paths/mapping.cfg b/.gitsecret/paths/mapping.cfg new file mode 100644 index 0000000..10b4982 --- /dev/null +++ b/.gitsecret/paths/mapping.cfg @@ -0,0 +1,6 @@ +db/seed/test.sql:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 +db/init/20200305_2357_init_db.sql:197708aa84419fc409a75c164689e58f71d6501b8e7c79f04797909a619838fc +db/init/20200309_1938_init_db.sql:10c62ab73168e76aaa038f480729bad74b804b0272b4a3f1cdde22a2609df43c +db/models/20200305_2357_model.json:a06db3d67a60cd5225ea57c444d3fbfd8fe7efc01cf8eebe0b67ea9275e92570 +db/models/20200309_1936_model.json:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 +db/models/20200309_1938_model.json:a06db3d67a60cd5225ea57c444d3fbfd8fe7efc01cf8eebe0b67ea9275e92570 diff --git a/db/init/20200305_2357_init_db.sql b/db/init/20200305_2357_init_db.sql deleted file mode 100644 index 61314ad..0000000 --- a/db/init/20200305_2357_init_db.sql +++ /dev/null @@ -1,280 +0,0 @@ -create schema chi_20200305_2357; -create table chi_20200305_2357.clinics ( - pk_clinic_id FLOAT primary key, - clinic_name VARCHAR , - creation_date TIMESTAMP , - creation_acct VARCHAR , - modified_date TIMESTAMP , - modified_acct VARCHAR -); - -create table chi_20200305_2357.patients ( - pk_patient_id FLOAT primary key, - creation_date TIMESTAMP , - creation_acct VARCHAR , - modified_date TIMESTAMP , - modified_acct VARCHAR , - last_name VARCHAR , - first_name VARCHAR , - gender VARCHAR , - face_photo VARCHAR , - birthdate VARCHAR , - phone VARCHAR , - town VARCHAR , - unique_name VARCHAR , - unique_ID_name VARCHAR , - nickname VARCHAR , - needs_review VARCHAR , - notes_modification_status VARCHAR , - fk_geonameid VARCHAR -); - -create table chi_20200305_2357.visits ( - pk_visit_id FLOAT primary key, - creation_date TIMESTAMP , - creation_acct VARCHAR , - modified_date TIMESTAMP , - modified_acct VARCHAR , - fk_patient_id FLOAT , - fk_clinic_id FLOAT , - visit_date TIMESTAMP , - visit_age FLOAT , - ob_pregnant VARCHAR , - ob_last_menstrual_period VARCHAR , - bp_systolic_blood_pressure FLOAT , - bp_diastolic_blood_pressure FLOAT , - bp_mean_arterial_pressure FLOAT , - temp_in_fahrenheit FLOAT , - pulse_rate FLOAT , - weight_in_lbs FLOAT , - height_in_inches FLOAT , - glasses_given VARCHAR , - sunglasses_given VARCHAR , - dx_surgical_candidate VARCHAR , - surgical_comments VARCHAR , - visit_age_unit VARCHAR , - chief_complaint VARCHAR , - history_of_present_illness VARCHAR , - visit_age_years FLOAT , - exam_comments VARCHAR , - tests_comments VARCHAR , - tests_blood_sugar_result FLOAT , - tests_pregnancy_result VARCHAR , - tests_urine_glucose_result VARCHAR , - tests_urine_protein_result VARCHAR , - tests_urine_leukocytes_result VARCHAR , - tests_urine_nitrites_result VARCHAR , - ob_gravida FLOAT , - ob_para FLOAT , - ob_abortus FLOAT , - ob_history VARCHAR , - ob_wants_planning VARCHAR , - albendazole_given VARCHAR , - first_visit VARCHAR , - known_med_allergies VARCHAR , - meds_currently_taken VARCHAR , - tests_pregnancy_given VARCHAR , - tests_blood_sugar_given VARCHAR , - tests_eye_exam_given VARCHAR , - tests_urine_analysis_given VARCHAR , - dx_asthma VARCHAR , - dx_allergies VARCHAR , - dx_anemia VARCHAR , - dx_malnutrition VARCHAR , - dx_diabetes VARCHAR , - dx_pterygium VARCHAR , - dx_cataract VARCHAR , - dx_dry_eye VARCHAR , - dx_conjunctivitis VARCHAR , - dx_fever VARCHAR , - dx_possible_malaria VARCHAR , - dx_filariasis VARCHAR , - dx_gastritis VARCHAR , - dx_gerd VARCHAR , - dx_gastroenteritis VARCHAR , - dx_dysentery VARCHAR , - dx_possible_cholera VARCHAR , - dx_headache VARCHAR , - dx_hernia VARCHAR , - dx_hernia_type VARCHAR , - dx_hypertension VARCHAR , - dx_stroke VARCHAR , - dx_angina VARCHAR , - dx_chf VARCHAR , - dx_musculoskeletal_pain VARCHAR , - dx_otitis VARCHAR , - dx_otitis_ear VARCHAR , - dx_pneumonia VARCHAR , - dx_sinusitis VARCHAR , - dx_uri VARCHAR , - dx_pregnant VARCHAR , - dx_pregnant_weeks FLOAT , - dx_atopic_derm VARCHAR , - dx_fungal VARCHAR , - dx_scabies VARCHAR , - dx_impetigo VARCHAR , - dx_tinea_capitus VARCHAR , - dx_possible_std VARCHAR , - dx_possible_tb VARCHAR , - dx_vaginitis_candidal VARCHAR , - dx_vaginitis_trich VARCHAR , - dx_vaginitis_bv VARCHAR , - dx_other VARCHAR , - dx_other_text VARCHAR , - tx_multivitamin VARCHAR , - tx_pain_acetaminophen VARCHAR , - tx_gi_omeprazole VARCHAR , - tx_gi_pepto_bismol VARCHAR , - tx_gi_cimetidine VARCHAR , - tx_gi_tums VARCHAR , - tx_gi_ors VARCHAR , - tx_infections_albendazole VARCHAR , - tx_infections_amoxicillin VARCHAR , - tx_infections_azithromycin VARCHAR , - tx_infections_bactrim VARCHAR , - tx_infections_cipro VARCHAR , - tx_infections_doxycycline VARCHAR , - tx_infections_flagyl VARCHAR , - tx_infections_fluconazole VARCHAR , - tx_infections_griseofulvin VARCHAR , - tx_infections_ivermectin VARCHAR , - tx_infections_keflex VARCHAR , - tx_infections_rocephin VARCHAR , - tx_cardiac_amlodipine VARCHAR , - tx_cardiac_aspirin VARCHAR , - tx_cardiac_atenolol VARCHAR , - tx_cardiac_hctz VARCHAR , - tx_cardiac_lasix VARCHAR , - tx_cardiac_enalapril VARCHAR , - tx_topical_clotrimazole VARCHAR , - tx_topical_hydrocortisone VARCHAR , - tx_topical_silvadine VARCHAR , - tx_topical_permethirine VARCHAR , - tx_im_dexamethasone VARCHAR , - tx_im_lasix VARCHAR , - tx_misc_albuterol VARCHAR , - tx_misc_benadryl VARCHAR , - tx_misc_ferrous_sulfate VARCHAR , - tx_misc_metformin VARCHAR , - tx_misc_prednisolone VARCHAR , - tx_misc_other VARCHAR , - tx_misc_other_text VARCHAR , - tx_comments VARCHAR , - dx_uti VARCHAR , - tx_multivitamin_varieties VARCHAR , - tx_pain_acetaminophen_varieties VARCHAR , - tx_infections_amoxicillin_varieties VARCHAR , - tx_pain_ibuprofen VARCHAR , - dx_comments VARCHAR , - tx_infections_azithromycin_varieties VARCHAR , - tx_infections_bactrim_varieties VARCHAR , - tx_infections_keflex_varieties VARCHAR , - tx_infections_rocephin_varieties VARCHAR , - dx_vaginitis_general VARCHAR , - dx_needs_to_see_dentist VARCHAR , - dx_needs_to_see_eye_doctor VARCHAR , - dx_healthy VARCHAR , - provider VARCHAR , - tx_saw_dentist VARCHAR , - tx_saw_eye_doctor VARCHAR , - tx_outside_referral VARCHAR , - tx_outside_referral_text VARCHAR , - tx_gi_zinc VARCHAR , - tx_cardiac_methyldopa VARCHAR , - tx_infections_augmentin VARCHAR , - tx_infections_chloroquine VARCHAR , - tx_infections_griseofuvin_varieties VARCHAR , - tx_infections_nitrofurantoin VARCHAR , - tx_topical_double_antibiotic VARCHAR , - tx_misc_fluoxetine VARCHAR , - tx_misc_ocp VARCHAR , - tx_misc_phenytoin VARCHAR , - dx_possible_parasites VARCHAR , - tx_misc_iud VARCHAR , - tests_id_test_given VARCHAR , - tests_id_chlamydia_result VARCHAR , - tests_id_hiv_result VARCHAR , - tests_id_syphilis_result VARCHAR , - tests_id_gonorrhea_result VARCHAR , - tests_eye_exam_right_sphere VARCHAR , - tests_eye_exam_right_cylinder VARCHAR , - tests_eye_exam_right_axis VARCHAR , - tests_eye_exam_right_bifocal VARCHAR , - tests_eye_exam_left_sphere VARCHAR , - tests_eye_exam_left_cylinder VARCHAR , - tests_eye_exam_left_axis VARCHAR , - tests_eye_exam_left_bifocal VARCHAR , - tx_pain_ibuprofen_varieties VARCHAR , - tx_misc_benadryl_varieties VARCHAR , - tests_id_tb_result VARCHAR , - tests_id_confirm_hiv_cd4 VARCHAR , - tests_id_confirm_hiv_result VARCHAR , - tests_id_confirm_hiv_arvt VARCHAR , - tests_id_confirm_hiv_enrolled VARCHAR , - tests_id_confirm_hiv_problems VARCHAR , - tests_id_confirm_tb_result VARCHAR , - tests_id_confirm_tb_comments VARCHAR , - tests_id_confirm_hiv_enrolled_at VARCHAR , - dx_depression VARCHAR , - clinic_trip VARCHAR , - tx_chw_referral VARCHAR , - tx_misc_depo VARCHAR , - tx_misc_paroxetine VARCHAR , - tx_misc_keppra VARCHAR , - dx_totalcount FLOAT , - tx_totalcount FLOAT , - tx_given_glasses VARCHAR , - tx_misc_labetolol VARCHAR , - tx_misc_carbamazepine VARCHAR , - tx_misc_terazosin VARCHAR , - tx_gi_ranitidine VARCHAR , - tx_cardiac_lisinopril VARCHAR , - tx_topical_triple_antibiotic VARCHAR , - tx_misc_prednisone VARCHAR , - clinic VARCHAR , - notes_modification_status VARCHAR -); - -create table chi_20200305_2357.diagnoses ( - pk_diagnosis_id FLOAT primary key, - diagnosis_name VARCHAR , - pk_diagnosis_key VARCHAR , - creation_date TIMESTAMP , - creation_acct VARCHAR , - modified_date TIMESTAMP , - modified_acct VARCHAR -); - -create table chi_20200305_2357.diagnoses_made ( - pk_diagnoses_made FLOAT primary key, - fk_visit_id FLOAT , - fk_diagnosis_key VARCHAR , - creation_date TIMESTAMP , - creation_acct VARCHAR , - modified_date TIMESTAMP , - modified_acct VARCHAR -); - -create table chi_20200305_2357.meds ( - pk_med_id FLOAT primary key, - med_name VARCHAR , - creation_date TIMESTAMP , - creation_acct VARCHAR , - modified_date TIMESTAMP , - modified_acct VARCHAR , - pk_med_key VARCHAR , - med_type VARCHAR -); - -create table chi_20200305_2357.meds_dispensed ( - pk_meds_dispensed FLOAT primary key, - fk_visit_id FLOAT , - fk_med_key VARCHAR , - creation_date TIMESTAMP , - creation_acct VARCHAR , - modified_date TIMESTAMP , - modified_acct VARCHAR , - dispensed_total FLOAT , - med_dosage VARCHAR -); - diff --git a/db/init/20200305_2357_init_db.sql.secret b/db/init/20200305_2357_init_db.sql.secret new file mode 100644 index 0000000000000000000000000000000000000000..e2f54c8d98d027e0beede12e8f458fa63a144fe7 GIT binary patch literal 2438 zcmV;133>K~0Sp6*j5!Gyx5bwM2me&AK}6iYLVpc&wgMf01Sxi*s-UF)zrB|YUhb%E z(~Nq$6X+!5b?gZh4fA}DyLE~|iUgfg0uDqr6wOHg5-2(plpQL>5BPjZ$mc2pes0uy zhV7g@UyZ3y-JOoR=w>fo%et42QwKwHhGub4x(&6=#s$zd(`^YDHiU%_sk$-+raP*f{`=+M1v_eT3Q;Piu zjyWWBmD>E%xPK_>=urq#0>{A+%Sk>_W8{9p8iqJS?TLkJ5>++=thFOxU@W>&g@kyN zd<<`TFMV=O#89*)M5=LD7{P@B3_`HbdQgOMjNw)jV)yW3!$oF zY#WBGw;DROT0UnS!f5c9&%|JyZ&P}ni>Kwu5=_tl{SFq6T|*p|wjcMR_I4s*a18M} zm=^a;H8Pz=hk+g%x)1Tp z9q!;8?l=|^W18cAdh0|#2i&gaW`#9iV7Sl3$AYKSi>icijwIY0n`J1F{L{UH@cL%3 zVjd8K{vz;ECG`I#uYb$g3WY&T9sFuQHl9K>~nKcAKI*6vDkd%IWk^Xok<8s_K-SPWKZj zrnPVvCeUq@y!~UQoZ@hEL4S30Xpo2U>QL^VS4-1Rz~lk^+;Z9A{@7sTE$!& z4(R>$lZRBS@X1@nK;ceot#_bQWCL8KK4)&BSH`tO5Pc1xyd%`)H}OyHuH)!#Gx7xy zpyPCf6q9-=k~uCVPTfv9Z~YujGvGuh0S#aB2$@K|dbTK|J&w`99tgST)yj(@HG-rS zA~Jh>JbdL8@8(F_4{qqIakslthoCS#*+sD1<;~$NBgr&Z-okOS9FWK2g8D-g| zyPO?YNd6JEdHV&S{H@9>xQb6z5pVazA%S0dCKYc9P63bf@L4wq)4-*a=H!s^Z31l& zF0?35I?PJ0QT^|Os|AtF3s7Oqu+c1V>{;=a@76Nb@jqG0N?ei{0GdbJy$2# zwJT?8=h*S*I8}<7_1(Y&3_N*3#?iTWRY8u5nI$c^oyti;0Dm!ecgNrpbUcXD`nVH( zjYZXgt@cu$Hn%ThxTi{5fEDp)-MF?78INozcHrqO>qYEm7gss)4CKks*K=4GHKz}< zjFaW)F0smHLO64w@W9cqi2k{*s(R$~fUsL$ zRL#!suQT(9mbE{8b-v9g*aNpvP;8Gz>5fl~?f8GJn!YxI1ul0yMd6JDi#UFslgFi; zo5dm$ZJnmjL>c;LB%Ix;{5DAZ!%@97gE)KQv_Xqs4Ft95iF0?sewz=Bfpjet)7&Kb z{PL3N+vVr!wNgQCjF!PGp!eOmU;usDx;-6B>-WRk42Ta#(rO!*-Pm`8TTqfr6U zzFx5CK{`;h{UhAVTL~5W9g`;B6swQfPmm;-48V1g+idRkSS~TS4^1v!Eg?SDLT#a zjI(&E5lv7tvd%jI=**Sr;%!B`%S^ssImnM1{d2rzZfTh`9*wDVO?5E-_{gy_y$q=g z%2fD?@*J5!nrU-E(+&gT!X`MK{~Pj?+Qetu_5_w{782l$y_>;QOhJgh0T(MuK4Ujy z)X$l~yq_4(>wU}zm`PDXwQdLi8Y*nqE;t9sb)MG#eq0^XnMa zC_*RI3x})RK^G2ndHDE;*7fYBVn*rJt^BWQ+Hn*GW}c%KkY;xroGQ4ru^eJ-5x_WE)d{=(roF-+}|-%m^i3L-S?x+eEJ# zh1pgQno|z3#$85}-=+hZ90A{W6cc5YFO|CI^Dq5`j)Zu4>pDx_ox(rUHDN3k{5Wj( zh-zPK6bU$YOf!&S@>Tb82oVYijlocqoxIkc>umIy5j^2~eNOKsMTSc~|8v==BBfG; zUNlt*yp0+T^SH~CN%pAjXn`0LW_kp!;HiJ0?6m!tE?xd`LrUpyRb~^o+U^Ngqw3sC zD8u`y-`Ws_z@tU%;XN{(kbEo~=cgn~+m`_-g3<4rrBz1f$nG*o7)3H2>Y{HZ{KPlo zXmcOv2QY=3PndZgn>QMls5fe&L;g*D%knNf+OWusf? z8&4i9JGG=>W;UU^OUAoAIxyWWmj5*DFTq}tq(xB-?0eD8AFa)=t0^8ZTDBh4wwMQi z9(7vvZ&<>&x7MQ7RqG#}9Z#OMqso2_UOfNRU5S~|>4Jpc%u;1;gpyYceMZj1Mrsqz zm}Ap#J`|qnWI${N{ws}^9^BjuwyN7J*aqbt3X)hx^BIw}>%zL7yR;wgaCyT5Be7!v zLMH#jxfO$JB8%R+`H1!AGK|Nvb(GGG6P7|WfsRPx#lLf7%;n%=i6Cjnh!b5xgs7Sv zVA9fx2j7jzd}M@8rwavyM7q|RaGZ(wpb?!Uv{ORHEL4p32P>0hU^-qhBmOHGHDmlPzcol5@L^#(Fr&YGbEXg^Zc+5LOGUE!YVd;tX^_!=q+(y7h#_D)#$5 zEMmoxm{*#s;@FYMOsCm!j2lG4OybYqA<3|aL0|mZpegs<6V7m%D8q*Qo zhSMVPQrh`!Fo9C?VE_EkExM%F4><&0ehs?ODS|{bo`uBhIIWm@@`jBQv;amLw?WS8 zBoLUk1h;ejETd9o;}a#q&@YElCzRf@G=Kr9!q7aBZyb%$g~C~9F}$qoZAi~j(A&e- zKKMrB=a|Tj9w8d;At14w$X2?kI<~9DjCxI$4($dJ9;O&gUf-u`GRo{NHb5rTMOHmW+=rsoU z&ia(<0~lyziQMnimYt3~1P_JG>S4B8VFdgVO2&i&lEKA&#3a-yl z1m%j#f<#I4C~m${1!YQikRgQLmWcJe`mRZc8F?}BzdE*=EdAF3KDUiaEIU+ z#?Ao!QbNS=T60k~0Ng3L#_jN|GGN|o_nAL?qNX2aXCrzy_w@w$R*ZJW>Yw=T0(DCh zfXNMr3OsmGsmYK@+L<&Fhvk+%IaNPECPKFl&o2PUPk$QpF5V2X_3efR)21VL#bTq9 z98PSv(V+r3Wm=*#I1LX~2+JDNB0om|ZC=2f=K#_7xMR^=gM;)oR#AnCd7vvTAQ;Sv zLTYsqMS>NhAIEFknOJC#`Eh+F(W7g|d;l#O%DP{0lCXW=XNTli6{vU`NGl^cA#kaz z1Z;$TB?657mG~v_fayWfIoWD>&dh?T?X_~+poP^-PWlo!YW2mN2>xJy5|;;bR}x>^ zG{#8``IPK_vFHBPCntJpRyeqL--{w%TKSyAl0z*20A=ob!^Dl^TI_{u(s8PZLctCs z%(poYG#~9>$^=5UF-%>Bc)5V0#KR1x9@xKr=`gSV3hQ4^LpUpEQ^Vnex^%Qs_(Gbbp)vo($T1*AEj!M7Ext&u`2c63QEKYy-Q%Jz1h8gs#eQ4>?Hv zW`?(F)bSYSdp%p+YlBU6Fd!N;+j5QN{q^cfZis_MP`PhC-?q4$&)Hyop)&ZnZZWEV z9_I-ij@ao(CJZl}GQ{E0l->zt*A7SyZ_jRTFRKgdS2zv|)TA^}qX$Be4C$||Bv+bH zCb58qG`p#4r1|3i3}C!v;>(uusiEEp|I;}3SZL(9*0A6pR7e;Y*eNz9_xF9UNOiaJ zhL?+hm8A0e=FZ;0Ec`S)G@p&8g0Aew5eJEdg#8}s9Gj{CyRznReBB9FgCBkT3yh_#@>IqVd5JYB-k++2n&(nqVMXZCsnP#c#mrA)36b&yT)g`0LQxheP=eRDA%0i+kXgyHI{V#_?wL0bh3k zAoYG)QL6LL3WSas0LFZk<~jAP~*Yo<`?=l$!bcs-}|qKY7B)s&-_j z>6A?3+YX#&%Lsxx6}+hHu{k^LjCY_+ID(HjmE!mOE+c!dDKbC-3P_4a+3KvOQ<+Ar zHa7n#$tjSFbXvu>UW@?K<+6L0zEGLD_AYthxm`yd$bv@pp{M&84H-EdhBZga=n<>>KcJh6 zIoC+;VpWiaiS@gt_8hkpRU$CvQPJug8< z%5kwk$%)M7z@=@92urGA%kVYa!J6GxF<)G4XjMiSe;M+O#)s??$Zn=d*-T*s?W^i6 zg&CF5fg!AWKX?M6o)4(TycWyU(!Kej$ZlZ)FBJHoLuZA?M*G%+AgcPkMmbo;LR$vw z5^P)N(|e)$lLeBLL0UZSfzPv;@vT$FO;h6=?(n8>qk~q9hNnM zid%rb$=ARTp*>xc2{t@F0x0%B{2UzL-qGm6g>GgMgsl69l4b(?sT%Uo4Y28?)dbiH GF0tT)^2BHW literal 0 HcmV?d00001 diff --git a/db/models/.gitignore b/db/models/.gitignore new file mode 100644 index 0000000..bdf5868 --- /dev/null +++ b/db/models/.gitignore @@ -0,0 +1,3 @@ +* +!.gitignore +!*.secret \ No newline at end of file diff --git a/db/models/.gitkeep b/db/models/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/db/models/20200305_2357_model.json b/db/models/20200305_2357_model.json deleted file mode 100644 index ffcac33..0000000 --- a/db/models/20200305_2357_model.json +++ /dev/null @@ -1,1306 +0,0 @@ -{ - "clinics": { - "pk_clinic_id": { - "type": "float64", - "pk": true, - "fk": false - }, - "clinic_name": { - "type": "str", - "pk": false, - "fk": false - }, - "creation_date": { - "type": "date", - "pk": false, - "fk": false - }, - "creation_acct": { - "type": "str", - "pk": false, - "fk": false - }, - "modified_date": { - "type": "date", - "pk": false, - "fk": false - }, - "modified_acct": { - "type": "str", - "pk": false, - "fk": false - } - }, - "patients": { - "pk_patient_id": { - "type": "float64", - "pk": true, - "fk": false - }, - "creation_date": { - "type": "date", - "pk": false, - "fk": false - }, - "creation_acct": { - "type": "str", - "pk": false, - "fk": false - }, - "modified_date": { - "type": "date", - "pk": false, - "fk": false - }, - "modified_acct": { - "type": "str", - "pk": false, - "fk": false - }, - "last_name": { - "type": "str", - "pk": false, - "fk": false - }, - "first_name": { - "type": "str", - "pk": false, - "fk": false - }, - "gender": { - "type": "str", - "pk": false, - "fk": false - }, - "face_photo": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "birthdate": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "phone": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "town": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "unique_name": { - "type": "str", - "pk": false, - "fk": false - }, - "unique_ID_name": { - "type": "str", - "pk": false, - "fk": false - }, - "nickname": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "needs_review": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "notes_modification_status": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "fk_geonameid": { - "type": "NoneType", - "pk": false, - "fk": true - } - }, - "visits": { - "pk_visit_id": { - "type": "float64", - "pk": true, - "fk": false - }, - "creation_date": { - "type": "date", - "pk": false, - "fk": false - }, - "creation_acct": { - "type": "str", - "pk": false, - "fk": false - }, - "modified_date": { - "type": "date", - "pk": false, - "fk": false - }, - "modified_acct": { - "type": "str", - "pk": false, - "fk": false - }, - "fk_patient_id": { - "type": "float64", - "pk": false, - "fk": true - }, - "fk_clinic_id": { - "type": "float64", - "pk": false, - "fk": true - }, - "visit_date": { - "type": "date", - "pk": false, - "fk": false - }, - "visit_age": { - "type": "float64", - "pk": false, - "fk": false - }, - "ob_pregnant": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "ob_last_menstrual_period": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "bp_systolic_blood_pressure": { - "type": "float64", - "pk": false, - "fk": false - }, - "bp_diastolic_blood_pressure": { - "type": "float64", - "pk": false, - "fk": false - }, - "bp_mean_arterial_pressure": { - "type": "float64", - "pk": false, - "fk": false - }, - "temp_in_fahrenheit": { - "type": "float64", - "pk": false, - "fk": false - }, - "pulse_rate": { - "type": "float64", - "pk": false, - "fk": false - }, - "weight_in_lbs": { - "type": "float64", - "pk": false, - "fk": false - }, - "height_in_inches": { - "type": "float64", - "pk": false, - "fk": false - }, - "glasses_given": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "sunglasses_given": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_surgical_candidate": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "surgical_comments": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "visit_age_unit": { - "type": "str", - "pk": false, - "fk": false - }, - "chief_complaint": { - "type": "str", - "pk": false, - "fk": false - }, - "history_of_present_illness": { - "type": "str", - "pk": false, - "fk": false - }, - "visit_age_years": { - "type": "float64", - "pk": false, - "fk": false - }, - "exam_comments": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_comments": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_blood_sugar_result": { - "type": "float64", - "pk": false, - "fk": false - }, - "tests_pregnancy_result": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_urine_glucose_result": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_urine_protein_result": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_urine_leukocytes_result": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_urine_nitrites_result": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "ob_gravida": { - "type": "float64", - "pk": false, - "fk": false - }, - "ob_para": { - "type": "float64", - "pk": false, - "fk": false - }, - "ob_abortus": { - "type": "float64", - "pk": false, - "fk": false - }, - "ob_history": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "ob_wants_planning": { - "type": "str", - "pk": false, - "fk": false - }, - "albendazole_given": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "first_visit": { - "type": "str", - "pk": false, - "fk": false - }, - "known_med_allergies": { - "type": "str", - "pk": false, - "fk": false - }, - "meds_currently_taken": { - "type": "str", - "pk": false, - "fk": false - }, - "tests_pregnancy_given": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_blood_sugar_given": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_eye_exam_given": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_urine_analysis_given": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_asthma": { - "type": "str", - "pk": false, - "fk": false - }, - "dx_allergies": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_anemia": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_malnutrition": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_diabetes": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_pterygium": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_cataract": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_dry_eye": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_conjunctivitis": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_fever": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_possible_malaria": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_filariasis": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_gastritis": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_gerd": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_gastroenteritis": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_dysentery": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_possible_cholera": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_headache": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_hernia": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_hernia_type": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_hypertension": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_stroke": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_angina": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_chf": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_musculoskeletal_pain": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_otitis": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_otitis_ear": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_pneumonia": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_sinusitis": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_uri": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_pregnant": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_pregnant_weeks": { - "type": "float64", - "pk": false, - "fk": false - }, - "dx_atopic_derm": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_fungal": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_scabies": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_impetigo": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_tinea_capitus": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_possible_std": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_possible_tb": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_vaginitis_candidal": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_vaginitis_trich": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_vaginitis_bv": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_other": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_other_text": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_multivitamin": { - "type": "str", - "pk": false, - "fk": false - }, - "tx_pain_acetaminophen": { - "type": "str", - "pk": false, - "fk": false - }, - "tx_gi_omeprazole": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_gi_pepto_bismol": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_gi_cimetidine": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_gi_tums": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_gi_ors": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_infections_albendazole": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_infections_amoxicillin": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_infections_azithromycin": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_infections_bactrim": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_infections_cipro": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_infections_doxycycline": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_infections_flagyl": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_infections_fluconazole": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_infections_griseofulvin": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_infections_ivermectin": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_infections_keflex": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_infections_rocephin": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_cardiac_amlodipine": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_cardiac_aspirin": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_cardiac_atenolol": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_cardiac_hctz": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_cardiac_lasix": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_cardiac_enalapril": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_topical_clotrimazole": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_topical_hydrocortisone": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_topical_silvadine": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_topical_permethirine": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_im_dexamethasone": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_im_lasix": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_misc_albuterol": { - "type": "str", - "pk": false, - "fk": false - }, - "tx_misc_benadryl": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_misc_ferrous_sulfate": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_misc_metformin": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_misc_prednisolone": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_misc_other": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_misc_other_text": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_comments": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_uti": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_multivitamin_varieties": { - "type": "str", - "pk": false, - "fk": false - }, - "tx_pain_acetaminophen_varieties": { - "type": "str", - "pk": false, - "fk": false - }, - "tx_infections_amoxicillin_varieties": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_pain_ibuprofen": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_comments": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_infections_azithromycin_varieties": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_infections_bactrim_varieties": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_infections_keflex_varieties": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_infections_rocephin_varieties": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_vaginitis_general": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_needs_to_see_dentist": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_needs_to_see_eye_doctor": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_healthy": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "provider": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_saw_dentist": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_saw_eye_doctor": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_outside_referral": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_outside_referral_text": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_gi_zinc": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_cardiac_methyldopa": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_infections_augmentin": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_infections_chloroquine": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_infections_griseofuvin_varieties": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_infections_nitrofurantoin": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_topical_double_antibiotic": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_misc_fluoxetine": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_misc_ocp": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_misc_phenytoin": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_possible_parasites": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_misc_iud": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_id_test_given": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_id_chlamydia_result": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_id_hiv_result": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_id_syphilis_result": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_id_gonorrhea_result": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_eye_exam_right_sphere": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_eye_exam_right_cylinder": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_eye_exam_right_axis": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_eye_exam_right_bifocal": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_eye_exam_left_sphere": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_eye_exam_left_cylinder": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_eye_exam_left_axis": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_eye_exam_left_bifocal": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_pain_ibuprofen_varieties": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_misc_benadryl_varieties": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_id_tb_result": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_id_confirm_hiv_cd4": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_id_confirm_hiv_result": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_id_confirm_hiv_arvt": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_id_confirm_hiv_enrolled": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_id_confirm_hiv_problems": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_id_confirm_tb_result": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_id_confirm_tb_comments": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_id_confirm_hiv_enrolled_at": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_depression": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "clinic_trip": { - "type": "str", - "pk": false, - "fk": false - }, - "tx_chw_referral": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_misc_depo": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_misc_paroxetine": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_misc_keppra": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_totalcount": { - "type": "float64", - "pk": false, - "fk": false - }, - "tx_totalcount": { - "type": "float64", - "pk": false, - "fk": false - }, - "tx_given_glasses": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_misc_labetolol": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_misc_carbamazepine": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_misc_terazosin": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_gi_ranitidine": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_cardiac_lisinopril": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_topical_triple_antibiotic": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_misc_prednisone": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "clinic": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "notes_modification_status": { - "type": "NoneType", - "pk": false, - "fk": false - } - }, - "diagnoses": { - "pk_diagnosis_id": { - "type": "float64", - "pk": true, - "fk": false - }, - "diagnosis_name": { - "type": "str", - "pk": false, - "fk": false - }, - "pk_diagnosis_key": { - "type": "str", - "pk": true, - "fk": false - }, - "creation_date": { - "type": "date", - "pk": false, - "fk": false - }, - "creation_acct": { - "type": "str", - "pk": false, - "fk": false - }, - "modified_date": { - "type": "date", - "pk": false, - "fk": false - }, - "modified_acct": { - "type": "str", - "pk": false, - "fk": false - } - }, - "diagnoses_made": { - "pk_diagnoses_made": { - "type": "float64", - "pk": true, - "fk": false - }, - "fk_visit_id": { - "type": "float64", - "pk": false, - "fk": true - }, - "fk_diagnosis_key": { - "type": "str", - "pk": false, - "fk": true - }, - "creation_date": { - "type": "date", - "pk": false, - "fk": false - }, - "creation_acct": { - "type": "str", - "pk": false, - "fk": false - }, - "modified_date": { - "type": "date", - "pk": false, - "fk": false - }, - "modified_acct": { - "type": "str", - "pk": false, - "fk": false - } - }, - "meds": { - "pk_med_id": { - "type": "float64", - "pk": true, - "fk": false - }, - "med_name": { - "type": "str", - "pk": false, - "fk": false - }, - "creation_date": { - "type": "date", - "pk": false, - "fk": false - }, - "creation_acct": { - "type": "str", - "pk": false, - "fk": false - }, - "modified_date": { - "type": "date", - "pk": false, - "fk": false - }, - "modified_acct": { - "type": "str", - "pk": false, - "fk": false - }, - "pk_med_key": { - "type": "str", - "pk": true, - "fk": false - }, - "med_type": { - "type": "str", - "pk": false, - "fk": false - } - }, - "meds_dispensed": { - "pk_meds_dispensed": { - "type": "float64", - "pk": true, - "fk": false - }, - "fk_visit_id": { - "type": "float64", - "pk": false, - "fk": true - }, - "fk_med_key": { - "type": "str", - "pk": false, - "fk": true - }, - "creation_date": { - "type": "date", - "pk": false, - "fk": false - }, - "creation_acct": { - "type": "str", - "pk": false, - "fk": false - }, - "modified_date": { - "type": "date", - "pk": false, - "fk": false - }, - "modified_acct": { - "type": "str", - "pk": false, - "fk": false - }, - "dispensed_total": { - "type": "float64", - "pk": false, - "fk": false - }, - "med_dosage": { - "type": "str", - "pk": false, - "fk": false - } - } -} \ No newline at end of file diff --git a/db/models/20200305_2357_model.json.secret b/db/models/20200305_2357_model.json.secret new file mode 100644 index 0000000000000000000000000000000000000000..0ae6f4067febeff93309eda499646e2e6177fa14 GIT binary patch literal 2723 zcmV;U3S9Mt0Sp6*j5!Gyx5bwM2mqhL$=~Tm*qE_(B6*9~@jcdQl#&Ho@F=%`H~xdf zUp(+m!bH}ZHeja*o*N59<7f5M)c5=M;{Unu2 z{`4m|!&pRigwcSwLmkzE|J@Kf=#Uvh;Ktbf2aMh*SSigB1Tpcu|8b#RO|e@pMrg?5 z-I~I~BUlX*(CM9)tg{&qldFXR3are)A)Hg#CxOP_}N5 z;!Mm}op2sL2m{Z7ceEP#VD{%x!k(6#hGq&)p$iwMLIg3piBk{Rcc}p2VF=JrQAU=T z$J-j1Mq*Rv9|%%fa=crc#c<`xd+@|lfSTtFYL~T}3Wc{n=NdJT+0^D?93QPnObs)S z;tXeo7DVhooAF zQccuFWBX!fclZilEkD_T6HQs zOc^~|qBs|48@xq-)xsEB^P@7j?j^z(1X^isy8T9v)shU6-0ZPC&;6PRl;BwPNYb-9 z74&2Z0|;v**OTx+0V+oFx3ggHf0XmhagbgkzMy`Z2}{U(;a#kRb?#r=js_n8uUA$MfD zJ;AQ?Oe0Lco8PxP-|^^;c}`?lz(vcSkVq;{)L-vFi5q zkmpoJgaH1{0TuPsE(T5yoC6Kiij|EtW)&~-s0w)hVYPbo&x*udNPyKrhUyjLBk+bM z2N9qEzsX?gufE>vGw!JF^#79Y-0j)bZm~0$d)%JLTxU>7{CIfuM6tlEDbC{`t0_wlnspqeOPdUolB4WJ zhL-aHvHm=vUb!+7bXiX?-9Gq984}3c>X?~z8YY*Vmv0~NO%ssr*R^IYYXRnmoAqau zrZ5>9VO39=pw4_h4Y59G^RZorq1H`q6^ zxQ?3duT?uBlhy*sBtyV(M&0jwFN0-Hf^rRB@izUKFR1?*4bFT`I!0PryL_zEo>i_w z2_I&@l+OC2T2iv@i!V*e-lrl0#8liqe!bD&G3t2R{gaq~FF~1WdFeIEjx-!Ir`+Wl zx6L*y6SC6pk%mAMK65(=UWb6y+Shg#ZWiO{d@$t0frzaqzU`DHTW)@LcBRWJx}w|j zwo=ttC6eZ0QCjYf@zjf9#lolSN^;-rpt$9LS8=n@kkq|YiWQY`PF|A)AP{F*KFYvG z77p8UU{}-miS}NbV1^Qc5QO_5eHPx$8CklsrpNAS@*J2#mxd!W@~;g_;sMH#WZ}=G zVUq4ujyCOXi7}d4!&a;d909lE?Pi}$-8o8$I`&|8RPQ9!1TkdiW+okbiYe&T*EJ0w zQ_bzq-WZ`qzJb%JG;-Ec<#Y8I#P<>_MW_yLnnZs|fI~4fKegw@HM9d$WN^)95Qp%F z*}6^OX-y^;))u4&G?Xt6zAt?y7!0d`ESCjVG`$CoHKacRpI*taTR zdUvl!W2l>|Vxl?O9f;+aO@+pAoj4_(&_b*yKCL5ef1~c_tpC2$H}~KmI70Z09zf~h zW-C9|J_5F*)5q9>p~Kwl7zt*hUovOr+(+7~w`MKwER~taeCOcd=xUJ;kc zcMF=%KL9u~SCg1NMfwRrrU8tocB(Q0#fD*<#6sdwYwQCY=TvpZxqgbjq5lB|mQ+Te zyg@*QnJV3%KW|_t~u26%j29owVDUepQk~@99a|JW|<+}pd45f&;Grlkc zn|+t&ktATResDQPEqnQIiV$URme^lmeRX#C)x)BqbeAf9^B(s8?`?(aH*RWf^rTn{ zyUPZ!WSHBOh!36T8K)boa>}6Ow1($N%CEgxdFQo;RSC9hFYOExtg$PEaF6m$hTd+hGP= zG`i;^ja0nSDV(2&*rGW0fgq)*`n@R`W|?6y@o>=*`NdP=oM0ds@*r-}?+D`aa27VU z-29YEFgNj(`KNn4tla8^h8Q8Px59W5!!&H6VBD3`X}`U*AUR9jCXJ6n3R6X^?`1-t z&}alky!#$!z=g%eZqPrjx&YCA$RTsjD;fz&1#Zl<9^M$1im-`^9FS8fmQi2)#e1mh z!yvnW7-SMOepmKN{;*0)8m+e!OOc$vmthl%eKQwdc125rK-_c{wB0=P$uo{r{YWoJ zrB7dgBK*4xN}URzu|nRB!>!z?NOgdqGi&mvDxT2zS79On9bdIlFgeJ%uT&g3dBJUh zLy>P>FPgTLNsK9Z%&~f^#bw%r##nV8;c!3(l?@Ep%}#EVxb6j;v+IE_e(8A!BP da^iXbLod?o=n$ojsP${?OjQc zni;qX_1SB)46>%QA61Nz0m*Qo2(9=m>=Y3GEp{Rc*oM27|T z^XY(o^8gBgFmQS?PXc+fV{jFA@pf(IkK1d@v#+d|shqZ8rPIt7S+; zK^OWT_~e>=6#0_T23Q89N~j*L@r83af-G1q@BZiHXF&MIgWE>JJJ<`M57#t8N!IpV zm{Oj}O(qG<8IOl~xnuSp!uW~JQ4&0GC`$I|Z|*$PwZqLtRr literal 0 HcmV?d00001 diff --git a/db/models/20200309_1938_model.json b/db/models/20200309_1938_model.json deleted file mode 100644 index ffcac33..0000000 --- a/db/models/20200309_1938_model.json +++ /dev/null @@ -1,1306 +0,0 @@ -{ - "clinics": { - "pk_clinic_id": { - "type": "float64", - "pk": true, - "fk": false - }, - "clinic_name": { - "type": "str", - "pk": false, - "fk": false - }, - "creation_date": { - "type": "date", - "pk": false, - "fk": false - }, - "creation_acct": { - "type": "str", - "pk": false, - "fk": false - }, - "modified_date": { - "type": "date", - "pk": false, - "fk": false - }, - "modified_acct": { - "type": "str", - "pk": false, - "fk": false - } - }, - "patients": { - "pk_patient_id": { - "type": "float64", - "pk": true, - "fk": false - }, - "creation_date": { - "type": "date", - "pk": false, - "fk": false - }, - "creation_acct": { - "type": "str", - "pk": false, - "fk": false - }, - "modified_date": { - "type": "date", - "pk": false, - "fk": false - }, - "modified_acct": { - "type": "str", - "pk": false, - "fk": false - }, - "last_name": { - "type": "str", - "pk": false, - "fk": false - }, - "first_name": { - "type": "str", - "pk": false, - "fk": false - }, - "gender": { - "type": "str", - "pk": false, - "fk": false - }, - "face_photo": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "birthdate": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "phone": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "town": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "unique_name": { - "type": "str", - "pk": false, - "fk": false - }, - "unique_ID_name": { - "type": "str", - "pk": false, - "fk": false - }, - "nickname": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "needs_review": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "notes_modification_status": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "fk_geonameid": { - "type": "NoneType", - "pk": false, - "fk": true - } - }, - "visits": { - "pk_visit_id": { - "type": "float64", - "pk": true, - "fk": false - }, - "creation_date": { - "type": "date", - "pk": false, - "fk": false - }, - "creation_acct": { - "type": "str", - "pk": false, - "fk": false - }, - "modified_date": { - "type": "date", - "pk": false, - "fk": false - }, - "modified_acct": { - "type": "str", - "pk": false, - "fk": false - }, - "fk_patient_id": { - "type": "float64", - "pk": false, - "fk": true - }, - "fk_clinic_id": { - "type": "float64", - "pk": false, - "fk": true - }, - "visit_date": { - "type": "date", - "pk": false, - "fk": false - }, - "visit_age": { - "type": "float64", - "pk": false, - "fk": false - }, - "ob_pregnant": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "ob_last_menstrual_period": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "bp_systolic_blood_pressure": { - "type": "float64", - "pk": false, - "fk": false - }, - "bp_diastolic_blood_pressure": { - "type": "float64", - "pk": false, - "fk": false - }, - "bp_mean_arterial_pressure": { - "type": "float64", - "pk": false, - "fk": false - }, - "temp_in_fahrenheit": { - "type": "float64", - "pk": false, - "fk": false - }, - "pulse_rate": { - "type": "float64", - "pk": false, - "fk": false - }, - "weight_in_lbs": { - "type": "float64", - "pk": false, - "fk": false - }, - "height_in_inches": { - "type": "float64", - "pk": false, - "fk": false - }, - "glasses_given": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "sunglasses_given": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_surgical_candidate": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "surgical_comments": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "visit_age_unit": { - "type": "str", - "pk": false, - "fk": false - }, - "chief_complaint": { - "type": "str", - "pk": false, - "fk": false - }, - "history_of_present_illness": { - "type": "str", - "pk": false, - "fk": false - }, - "visit_age_years": { - "type": "float64", - "pk": false, - "fk": false - }, - "exam_comments": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_comments": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_blood_sugar_result": { - "type": "float64", - "pk": false, - "fk": false - }, - "tests_pregnancy_result": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_urine_glucose_result": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_urine_protein_result": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_urine_leukocytes_result": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_urine_nitrites_result": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "ob_gravida": { - "type": "float64", - "pk": false, - "fk": false - }, - "ob_para": { - "type": "float64", - "pk": false, - "fk": false - }, - "ob_abortus": { - "type": "float64", - "pk": false, - "fk": false - }, - "ob_history": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "ob_wants_planning": { - "type": "str", - "pk": false, - "fk": false - }, - "albendazole_given": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "first_visit": { - "type": "str", - "pk": false, - "fk": false - }, - "known_med_allergies": { - "type": "str", - "pk": false, - "fk": false - }, - "meds_currently_taken": { - "type": "str", - "pk": false, - "fk": false - }, - "tests_pregnancy_given": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_blood_sugar_given": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_eye_exam_given": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_urine_analysis_given": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_asthma": { - "type": "str", - "pk": false, - "fk": false - }, - "dx_allergies": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_anemia": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_malnutrition": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_diabetes": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_pterygium": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_cataract": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_dry_eye": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_conjunctivitis": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_fever": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_possible_malaria": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_filariasis": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_gastritis": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_gerd": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_gastroenteritis": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_dysentery": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_possible_cholera": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_headache": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_hernia": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_hernia_type": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_hypertension": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_stroke": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_angina": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_chf": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_musculoskeletal_pain": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_otitis": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_otitis_ear": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_pneumonia": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_sinusitis": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_uri": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_pregnant": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_pregnant_weeks": { - "type": "float64", - "pk": false, - "fk": false - }, - "dx_atopic_derm": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_fungal": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_scabies": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_impetigo": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_tinea_capitus": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_possible_std": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_possible_tb": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_vaginitis_candidal": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_vaginitis_trich": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_vaginitis_bv": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_other": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_other_text": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_multivitamin": { - "type": "str", - "pk": false, - "fk": false - }, - "tx_pain_acetaminophen": { - "type": "str", - "pk": false, - "fk": false - }, - "tx_gi_omeprazole": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_gi_pepto_bismol": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_gi_cimetidine": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_gi_tums": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_gi_ors": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_infections_albendazole": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_infections_amoxicillin": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_infections_azithromycin": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_infections_bactrim": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_infections_cipro": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_infections_doxycycline": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_infections_flagyl": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_infections_fluconazole": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_infections_griseofulvin": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_infections_ivermectin": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_infections_keflex": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_infections_rocephin": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_cardiac_amlodipine": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_cardiac_aspirin": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_cardiac_atenolol": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_cardiac_hctz": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_cardiac_lasix": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_cardiac_enalapril": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_topical_clotrimazole": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_topical_hydrocortisone": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_topical_silvadine": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_topical_permethirine": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_im_dexamethasone": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_im_lasix": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_misc_albuterol": { - "type": "str", - "pk": false, - "fk": false - }, - "tx_misc_benadryl": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_misc_ferrous_sulfate": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_misc_metformin": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_misc_prednisolone": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_misc_other": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_misc_other_text": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_comments": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_uti": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_multivitamin_varieties": { - "type": "str", - "pk": false, - "fk": false - }, - "tx_pain_acetaminophen_varieties": { - "type": "str", - "pk": false, - "fk": false - }, - "tx_infections_amoxicillin_varieties": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_pain_ibuprofen": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_comments": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_infections_azithromycin_varieties": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_infections_bactrim_varieties": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_infections_keflex_varieties": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_infections_rocephin_varieties": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_vaginitis_general": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_needs_to_see_dentist": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_needs_to_see_eye_doctor": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_healthy": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "provider": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_saw_dentist": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_saw_eye_doctor": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_outside_referral": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_outside_referral_text": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_gi_zinc": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_cardiac_methyldopa": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_infections_augmentin": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_infections_chloroquine": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_infections_griseofuvin_varieties": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_infections_nitrofurantoin": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_topical_double_antibiotic": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_misc_fluoxetine": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_misc_ocp": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_misc_phenytoin": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_possible_parasites": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_misc_iud": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_id_test_given": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_id_chlamydia_result": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_id_hiv_result": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_id_syphilis_result": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_id_gonorrhea_result": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_eye_exam_right_sphere": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_eye_exam_right_cylinder": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_eye_exam_right_axis": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_eye_exam_right_bifocal": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_eye_exam_left_sphere": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_eye_exam_left_cylinder": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_eye_exam_left_axis": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_eye_exam_left_bifocal": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_pain_ibuprofen_varieties": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_misc_benadryl_varieties": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_id_tb_result": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_id_confirm_hiv_cd4": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_id_confirm_hiv_result": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_id_confirm_hiv_arvt": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_id_confirm_hiv_enrolled": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_id_confirm_hiv_problems": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_id_confirm_tb_result": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_id_confirm_tb_comments": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tests_id_confirm_hiv_enrolled_at": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_depression": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "clinic_trip": { - "type": "str", - "pk": false, - "fk": false - }, - "tx_chw_referral": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_misc_depo": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_misc_paroxetine": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_misc_keppra": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "dx_totalcount": { - "type": "float64", - "pk": false, - "fk": false - }, - "tx_totalcount": { - "type": "float64", - "pk": false, - "fk": false - }, - "tx_given_glasses": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_misc_labetolol": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_misc_carbamazepine": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_misc_terazosin": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_gi_ranitidine": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_cardiac_lisinopril": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_topical_triple_antibiotic": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "tx_misc_prednisone": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "clinic": { - "type": "NoneType", - "pk": false, - "fk": false - }, - "notes_modification_status": { - "type": "NoneType", - "pk": false, - "fk": false - } - }, - "diagnoses": { - "pk_diagnosis_id": { - "type": "float64", - "pk": true, - "fk": false - }, - "diagnosis_name": { - "type": "str", - "pk": false, - "fk": false - }, - "pk_diagnosis_key": { - "type": "str", - "pk": true, - "fk": false - }, - "creation_date": { - "type": "date", - "pk": false, - "fk": false - }, - "creation_acct": { - "type": "str", - "pk": false, - "fk": false - }, - "modified_date": { - "type": "date", - "pk": false, - "fk": false - }, - "modified_acct": { - "type": "str", - "pk": false, - "fk": false - } - }, - "diagnoses_made": { - "pk_diagnoses_made": { - "type": "float64", - "pk": true, - "fk": false - }, - "fk_visit_id": { - "type": "float64", - "pk": false, - "fk": true - }, - "fk_diagnosis_key": { - "type": "str", - "pk": false, - "fk": true - }, - "creation_date": { - "type": "date", - "pk": false, - "fk": false - }, - "creation_acct": { - "type": "str", - "pk": false, - "fk": false - }, - "modified_date": { - "type": "date", - "pk": false, - "fk": false - }, - "modified_acct": { - "type": "str", - "pk": false, - "fk": false - } - }, - "meds": { - "pk_med_id": { - "type": "float64", - "pk": true, - "fk": false - }, - "med_name": { - "type": "str", - "pk": false, - "fk": false - }, - "creation_date": { - "type": "date", - "pk": false, - "fk": false - }, - "creation_acct": { - "type": "str", - "pk": false, - "fk": false - }, - "modified_date": { - "type": "date", - "pk": false, - "fk": false - }, - "modified_acct": { - "type": "str", - "pk": false, - "fk": false - }, - "pk_med_key": { - "type": "str", - "pk": true, - "fk": false - }, - "med_type": { - "type": "str", - "pk": false, - "fk": false - } - }, - "meds_dispensed": { - "pk_meds_dispensed": { - "type": "float64", - "pk": true, - "fk": false - }, - "fk_visit_id": { - "type": "float64", - "pk": false, - "fk": true - }, - "fk_med_key": { - "type": "str", - "pk": false, - "fk": true - }, - "creation_date": { - "type": "date", - "pk": false, - "fk": false - }, - "creation_acct": { - "type": "str", - "pk": false, - "fk": false - }, - "modified_date": { - "type": "date", - "pk": false, - "fk": false - }, - "modified_acct": { - "type": "str", - "pk": false, - "fk": false - }, - "dispensed_total": { - "type": "float64", - "pk": false, - "fk": false - }, - "med_dosage": { - "type": "str", - "pk": false, - "fk": false - } - } -} \ No newline at end of file diff --git a/db/models/20200309_1938_model.json.secret b/db/models/20200309_1938_model.json.secret new file mode 100644 index 0000000000000000000000000000000000000000..9d2838fa3d274fad574512543603502595ed64e3 GIT binary patch literal 2723 zcmV;U3S9Mt0Sp6*j5!Gyx5bwM2mf`m{C>Kb&qdPP`%)4#VBHzoF97ZCdKwwBQT#%f zxmKKZ-fbZ+8P=u@+J3eug-h`G^V%pv))xX|^qX`a1cfbUlM)Wf_^u6}%2D2@k0}bgouR;$#Z|dl&(7d~rV~juJB5V-3+_BpL;FLB<*SJBi@;3pzD2s$NMebub$3 z=}vgZY9=D-b`~k5+ zM<(0J2*}Efl9Gc}(Gu(U>>8yasyR-ec3ys<%hKxsM2-Ax8W@n6rTtg6+;6Y6>?~?P z05cg&V^KIYau|icpeZ{Du*$BQ8XmjE4T~y z!ZEr-pD+niVuTk*rkv+#uu9jw{_JoPwhou64F+`D)G%=f64h7u+=SRD(M zsDiQXy4EZqz`L(*R68Y}cNHlG=HH4e=!oofo&#|T>eeCjsa~} ziKjle_HC4?4)HKZ^vyyB&qU?QXUfsE^SSY!$+ds`9=DSFY~ECU^5dk;UBeH}cq&xH zy=g2R2Z`9$+FM1pgIr4x!L)1c24;DzuBqfbxxK8BgJ9|vkzPs{Gnj-Ipk~$3jFAC|y5()JW9-ePC{6f-UoV z+ECxiRH#XF+ze&5@v5$Dct}cX%NKFZ8teYtPNB>2tk#|m>0x^q*?$bcSWn<>M1#kf zp}u*i7tiLH`eG}|eR1&s)0hoy4um2}HT*mmuGWZ0Q#awvmB=4(dOH(^f2LxB&LDZYD=u_C$a!Jz{wj|?j zMZGaRo`nHrrDE=>%Euwg9sEeyqQw2!7mN)h0^5&r#vJ9UMgzPndA4AJJ@>i;5M~(Y ztnLgz3;P4K0XvQ5Yy&sf=igL0(4!=&&GGXE_~mBrNe(r~j$g|(Pt_1yYT1yh5WYJL zzGn`x?3ECpUK_Ldfb@FP3H8bC6Z!HBbs0J01H^K=I>DUKp(ic8d&u-azG5gajNZxg zt~Bf%MBK7XBw12h_p7kX1|M5(iPnq2`LcPs<0+o_;<8&D2qp43bQ{hC8ggW;*))UX zF%TX`5daSC0Q8{+hc6-O0e|H!+iEO`kMooMHSPhT)P7kR?P)UJMm+XnM(CE+WE6Mz5OO zzaHr`4nqZsQHUD6VGU`P!^0SaFlye&^6C`+#l1FPM8C#FC~X5Ya(zJKuTy~ad&)IK zi3|G8>Y*VHhOQd=FZLkKSO5R>VVJy@jb9YHHd*|t`#`mz?J3o&1@3NkFlEblc`VNR?p!ktZ7quN7*wPmvr{N~r0hxgHwBywJqw3$fk&dnwU;eT zEFowyHryi-#JcFx2%-Rk`-*1Z-;?)U`rL5{-p6H_cL{fSH~hLlkSh!o(OCR74@h(d^O+#S^LYf?DcTO`wY5F`TUPuE_aD<2)^r z?ChlzHS4zymXQDYj@ZY-aUDnqq$FB!@v|*uT)!aVfI#b9qAM9#^U+Ew9!iRhC082(Mn_lp$Ef#jR=S>RZwjyP_{ z7u*OKv~GCe1GL2e8{*TmnqYsoEK22;Y%+auo%2#=z%cwa@5d~bfCwwCh+UPkT3{a7 zFwY}74-AE}G%Uw$_cF?k)6%^!b;{#GB_AB_;`!ss<3Glzro3~~xbD(Lj}f2ZAyBA` z=@VRREHr6r|34-FSvfo64V2)0IM*hQN%^9wS)Ct3U~PW&{}Gfr#Hxc)L!_4rb{8;P zktUt99CcDRvY7&b2Omd0a&DwSpeB?O%!b%s*<-Ns?WwW+X2-Gl{Iv5(ENHZo1D9_j z5sB7@ZA=Q(jD;EWoP+m@fGx*!GEUEE{0i#j5U2!&zj|TO7Zp)MFcJt#Ed-+I_}U>j z+;D+(eDb=ym%kF6U*_#bsJa|W?Q{e=oIl@Gy6VwNmCd**BA1Yxn1UAK0;y7Y|WBGDZie!h+&FMJg&!uzc^YlpjyA z3;_AxtD`6#CEDo|*U`%eUTHhbt!8zp^PB-~+9R%f8~X=WeY^yzvS5|KvQlBiDyiUQ dBqelx^!K~YjA`}s+iuGZ*!{IB?~jj~YMS#DSPB3D literal 0 HcmV?d00001 diff --git a/db/seed/.gitignore b/db/seed/.gitignore index c96a04f..bdf5868 100644 --- a/db/seed/.gitignore +++ b/db/seed/.gitignore @@ -1,2 +1,3 @@ * -!.gitignore \ No newline at end of file +!.gitignore +!*.secret \ No newline at end of file diff --git a/db/seed/test.sql.secret b/db/seed/test.sql.secret new file mode 100644 index 0000000000000000000000000000000000000000..d772804bb314c1ea456d960c7fe5332d11a5eb3b GIT binary patch literal 611 zcmV-p0-XJY0Sp6*j5!Gyx5bwM2me74+gtP7_}D z%N}*&jjfvi*oPPM+K2enuR2EkywV}~$?$wx}` zDbwlX=y*sb-J^JIg;lBn74HV_%)<#ZT(|zbdFq|`;W!x_asRc*w zRt)F=HS1#zEj$}gU(j00j(vpz3jK#3n+;};kZL%d6oC5B4^DF5*J!m1NKpp(AQm!{ zIK%{s4K?^b*-X#8IYU5PSQqC!%wsIuB(#f5OLdN%k9j;bqi92IICRaGzMw*nj&m9b zY?#`s{AqIreXK%9)7Y)BtxJNJ_!tvXs9e&zEA%x6#w#}#9o zZKaCf%{>!U*>++98m6CIVu4Rzn#+8y70we}t$HJ;T23IiZNVUXSf=58CXeFy0>3ZV zc5@1pbFF89jlw6S`bunyPX^hhGPuueL^