7  Database

Airtable not anymore used to host the database

As of May 2024, the Africa CDC Database backend has shifted from Airtable to DoltHub.

This chapter has been kept here to document how the database started and to show the history of its development.

To read about DoltHub, see Chapter 2. To learn more about the use of dolt and DoltHub as the current backend for the database, read Chapter 6.

The current database is built using Airtable. The current database has the following schema:

This schema can be viewed interactively from here - https://airtable.com/appAL7fJUpBPYtOq4/tblt9ott045tWENcg/viwznxjIFAsTu0jzJ?blocks=bliZ6LV2bkGQNzgKF

7.1 Activities Table

7.1.1 Table details

create_data_dictionary(metadata = airtable_metadata, table = "Activities") |>
  (\(x) x$table_details)() |>
  knitr::kable() |>
  kableExtra::row_spec(row = 0, bold = TRUE) |>
  kableExtra::kable_paper(lightable_options = "striped")

Activities pertain to the formal/official title of the project that has been identified during the database search or survey.

Following are the different fields within the Activities table with their description.

7.1.2 Fields details

create_data_dictionary(metadata = airtable_metadata, table = "Activities") |>
  (\(x) x$field_details)() |>
  knitr::kable() |>
  kableExtra::row_spec(row = 0, bold = TRUE) |>
  kableExtra::kable_paper(lightable_options = "striped")
Field Name Field Description Field Type Field Values
Activity Activity name singleLineText NA
Source Name (from Primary Sources) Name of primary source multipleLookupValues NA
Notes Internal notes for maintenance singleLineText NA
Topic Activity Topic multipleRecordLinks Topics
Grant ID Grand Identifier singleLineText NA
Collaborators Activity collaborators multipleRecordLinks Institutions
Researchers Researchers involved in activity multipleRecordLinks Researchers
Published Work Links to published work singleLineText NA
Activity Location alt Activity location multipleRecordLinks Countries
UN Stats Sub-region Name (from Activity Location alt) NA multipleLookupValues NA
Activity Outputs Activity Outputs multipleSelects Data, Publication, Report, Guideline/SOP, Archive, Improving Diagnostics, Vaccine development, Therapeutics, Epidemic/Pandemic Preparedness, Biosurveillance technology, Prophylaxis, Surveillance, Improving Vaccine strategies, Training, Risk Assessment, Improving Capacity, Policies
Activity Status Activity Status singleSelect Active, Completed
Activity Website Activity Website url NA
Activity Identifier Activity identifier formula NA
Primary Sources Primary source of information multipleRecordLinks Sources
Date validated Date when record was validated. dateTime NA
Validated Indicate whether this record has been validated. checkbox NA
Additional Sources Additional sources singleLineText NA
Continent Name (from Activity Location alt) NA multipleLookupValues NA
AU Region Name (from Activity Location alt) NA multipleLookupValues NA

7.2 Countries Table

7.2.1 Table details

create_data_dictionary(metadata = airtable_metadata, table = "AU Countries") |>
  (\(x) x$table_details)() |>
  knitr::kable() |>
  kableExtra::row_spec(row = 0, bold = TRUE) |>
  kableExtra::kable_paper(lightable_options = "striped")

List of countries used to indicate the location information for the researchers, topics, funders, sources, institutions, and activities tables

Following are the different fields within the Countries table with their description.

7.2.2 Fields details

create_data_dictionary(metadata = airtable_metadata, table = "Countries") |>
  (\(x) x$field_details)() |>
  knitr::kable() |>
  kableExtra::row_spec(row = 0, bold = TRUE) |>
  kableExtra::kable_paper(lightable_options = "striped")
Field Name Field Description Field Type Field Values
Researchers NA multipleRecordLinks Researchers
Funders NA multipleRecordLinks Funders
AU Region Name NA singleSelect Northern Africa, Eastern Africa, NA, Central Africa, Southern Africa, Western Africa
UN Stats Sub-region Name Name of further sub-regional grouping to which country is usually classified within. This is based on the UN Statistics Division nomenclature. singleSelect NA, Eastern Africa, Middle Africa, Southern Africa, Western Africa, Channel Islands, Sark

7.3 Description Table

7.3.1 Table details

create_data_dictionary(metadata = airtable_metadata, table = "Description") |>
  (\(x) x$table_details)() |>
  knitr::kable() |>
  kableExtra::row_spec(row = 0, bold = TRUE) |>
  kableExtra::kable_paper(lightable_options = "striped")

The Description table provides overall description of this entire database.

Following are the different fields within the Description table with their description.

7.3.2 Fields details

create_data_dictionary(metadata = airtable_metadata, table = "Description") |>
  (\(x) x$field_details)() |>
  knitr::kable() |>
  kableExtra::row_spec(row = 0, bold = TRUE) |>
  kableExtra::kable_paper(lightable_options = "striped")
Field Name Field Description Field Type Field Values
Email Email for primary contact email NA
Primary Contact Person to correspond with about the base singleLineText NA
IRB Optional: Link to IRB url NA
Base Description Characterization of the base. What is the base describing? multilineText NA

7.4 Funder Table

7.4.1 Table details

create_data_dictionary(metadata = airtable_metadata, table = "Funders") |>
  (\(x) x$table_details)() |>
  knitr::kable() |>
  kableExtra::row_spec(row = 0, bold = TRUE) |>
  kableExtra::kable_paper(lightable_options = "striped")

Funders pertain to the entities funding each activity.

The funders’ information is retrieved from declared funders for the activities identified during the database search or the survey.

Following are the different fields within the Funders table with their description.

7.4.2 Fields details

create_data_dictionary(metadata = airtable_metadata, table = "Funders") |>
  (\(x) x$field_details)() |>
  knitr::kable() |>
  kableExtra::row_spec(row = 0, bold = TRUE) |>
  kableExtra::kable_paper(lightable_options = "striped")
Field Name Field Description Field Type Field Values
Funder Type Type of funder singleSelect Charitable organization, Foundation, Pharmaceutical company , Not-for-profit Partnership, NGO, Government Agency, University, Research Institut, Public- public partnership , Public-private partnership
Funder Website Website of funder url NA
Source Name (from Primary Sources) Source from where funder was identified multipleLookupValues NA
Activities Activities supported by funder multipleRecordLinks Activities
WHO Region Name (from Funder Location alt) NA multipleLookupValues NA
Continent Name (from Funder Location alt) NA multipleLookupValues NA
Primary Sources Source from where funder was identified multipleRecordLinks Sources

7.5 Institutions Table

7.5.1 Table details

create_data_dictionary(metadata = airtable_metadata, table = "Institutions") |>
  (\(x) x$table_details)() |>
  knitr::kable() |>
  kableExtra::row_spec(row = 0, bold = TRUE) |>
  kableExtra::kable_paper(lightable_options = "striped")

Institutions pertain to the entities directly related to or implementing the activity and/or the affiliation of the researcher implementing the activity.

Following are the different fields within the Institutions table with their description.

7.5.2 Fields details

create_data_dictionary(metadata = airtable_metadata, table = "Institutions") |>
  (\(x) x$field_details)() |>
  knitr::kable() |>
  kableExtra::row_spec(row = 0, bold = TRUE) |>
  kableExtra::kable_paper(lightable_options = "striped")
Field Name Field Description Field Type Field Values
Institution Email Email of institution email NA
Institution Website Institution Website url NA
Activities Name of activity identified with institution multipleRecordLinks Activities
Sources Name of primary source multipleRecordLinks Sources
Institution Type Institution Type singleSelect Research Institute, University, NGO, National Government Institution, Non-profit Organisation , Hospital, Government Agency, Consortium, Partnership of Institutes, Industry, Charity, Public-private partnetship, International Coalition , Inter-governmental Organisation, Medical Service Provider, Network
Institution Location Institution location multipleRecordLinks WHO Countries
Notes Internal notes (for maintenance) singleLineText NA
Topic (from Activities) Name of topic identified with the institution multipleLookupValues NA

7.6 Researchers Table

7.6.1 Table details

create_data_dictionary(metadata = airtable_metadata, table = "Researchers") |>
  (\(x) x$table_details)() |>
  knitr::kable() |>
  kableExtra::row_spec(row = 0, bold = TRUE) |>
  kableExtra::kable_paper(lightable_options = "striped")

Researchers pertains to the people involved in the activities contained in this database, and maybe involved in a variety of activity types. including but not limited to, research.

Researchers identified during the database search. Information on researchers are primarily retrieved once activities have been identified from the database search process. It is possible that researchers are identified apriori and from which information on topics, funders, sources, institutions, and activities may be identified relevant to the specific researcher. This may happen when the planned/proposed survey is implemented and sent to known researchers who may or may not be in the database to begin with.

Following are the different fields within the Researchers table with their description.

7.6.2 Fields details

create_data_dictionary(metadata = airtable_metadata, table = "Researchers") |>
  (\(x) x$field_details)() |>
  knitr::kable() |>
  kableExtra::row_spec(row = 0, bold = TRUE) |>
  kableExtra::kable_paper(lightable_options = "striped")
Field Name Field Description Field Type Field Values
WHO Region Name (from Researcher Country Location alt) NA multipleLookupValues NA
ACDC Status Is researcher from the Africa CDC? singleSelect Non-member, Member
Sources Name of source multipleRecordLinks Sources
UN Stats Region Name (from Researcher Country Location alt) NA multipleLookupValues NA
Affiliation Institution researcher is affiliated with. Choices from the institutions table multipleRecordLinks Institutions
Institution Location alt (from Affiliation) NA multipleLookupValues NA
Topic (from Activity) Name of topic multipleLookupValues NA
Researcher Name Full name of researcher identified in the search singleLineText NA
Notes Internal notes (for maintenance) singleLineText NA
Source Name (from Sources) Name of source multipleLookupValues NA
Additional Sources Additional sources singleLineText NA
Activity Type (from Activity) Type of activity multipleLookupValues NA
Topic (from Activity) 2 NA multipleLookupValues NA
Website Personal website of researcher (if any) singleLineText NA
Activity Activity/activities researchers is involved in multipleRecordLinks Activities
Institution Location (from Affiliation) Name of location where institution is based multipleLookupValues NA
Willing to be contacted Is the researcher willing to be contacted? checkbox NA
Continent Name (from Researcher Country Location alt) NA multipleLookupValues NA

7.7 Sources Table

7.7.1 Table details

create_data_dictionary(metadata = airtable_metadata, table = "Sources") |>
  (\(x) x$table_details)() |>
  knitr::kable() |>
  kableExtra::row_spec(row = 0, bold = TRUE) |>
  kableExtra::kable_paper(lightable_options = "striped")

Sources contain initial set of sources (primarily funders) identified to initiate the database search. These original sources are fully described here - https://ecohealthalliance.github.io/rig-handbook/sources.html.

From the initial search, other sources were identified from which additional streams of searches were performed. Currently, the sources table is updated through a primary search of possible sources in addition to the search performed on the original sources list.

Following are the different fields within the Sources table with their description.

7.7.2 Fields details

create_data_dictionary(metadata = airtable_metadata, table = "Sources") |>
  (\(x) x$field_details)() |>
  knitr::kable() |>
  kableExtra::row_spec(row = 0, bold = TRUE) |>
  kableExtra::kable_paper(lightable_options = "striped")
Field Name Field Description Field Type Field Values
Source Type Type of primary source singleSelect Website text page, Website table, Website search, Downloadable document in PDF, Downloadable document in XLSX, Downloadable document in CSV, Downloadable document in DOCX, A form of database, Website text page, Website search, Links to downloadable documents in PDF, Website table, Website search
Source Notes Internal notes for primary source (for maintenance) multilineText NA
Topics Topics identified from primary source multipleRecordLinks Topics
Relevant tables Notes on relevant tables found from primary source multipleSelects Researchers, Topics, Activities, Funders, Institutions, Countries
Funders Funders identified from primary source multipleRecordLinks Funders
Source Name Name of primary source singleLineText NA
Created By Person who created the entry createdBy NA
Researchers Name of researcher identified from primary source multipleRecordLinks Researchers

7.8 Survey Results Table

7.8.1 Table details

create_data_dictionary(metadata = airtable_metadata, table = "Survey Results") |>
  (\(x) x$table_details)() |>
  knitr::kable() |>
  kableExtra::row_spec(row = 0, bold = TRUE) |>
  kableExtra::kable_paper(lightable_options = "striped")

NA

Following are the different fields within the Survey Results table with their description.

7.8.2 Field details

create_data_dictionary(metadata = airtable_metadata, table = "Survey Results") |>
  (\(x) x$field_details)() |>
  knitr::kable() |>
  kableExtra::row_spec(row = 0, bold = TRUE) |>
  kableExtra::kable_paper(lightable_options = "striped")
Field Name Field Description Field Type Field Values
Activity description/ purpose Description of activity multilineText NA
Sharing with Colleagues Is respondent going to share with colleagues? singleLineText NA
Lead Researcher Name of lead researcher singleLineText NA
Created By Name of survey respondent createdBy NA
Other websites listing this project Other website listings for this project singleLineText NA
Funder Name of funder for this project singleLineText NA
Official Project Title Official project title singleLineText NA
Official Project website Official project website singleLineText NA

7.9 Topics Table

7.9.1 Table details

create_data_dictionary(metadata = airtable_metadata, table = "Topics") |>
  (\(x) x$table_details)() |>
  knitr::kable() |>
  kableExtra::row_spec(row = 0, bold = TRUE) |>
  kableExtra::kable_paper(lightable_options = "striped")

Topics pertain to the disease names and disease types.

The topics table contains disease types/disease entities of interest to the Africa CDC based on their priorities (as described in their Framework document) and is continually updated with whatever disease/disease entity/disease type were deemed relevant by the database contributor.

Following are the different fields within the Topics table with their description.

7.9.2 Fields details

create_data_dictionary(metadata = airtable_metadata, table = "Topics") |>
  (\(x) x$field_details)() |>
  knitr::kable() |>
  kableExtra::row_spec(row = 0, bold = TRUE) |>
  kableExtra::kable_paper(lightable_options = "striped")
Field Name Field Description Field Type Field Values
Sources Name of Source multipleRecordLinks Sources
Diseases Disease entity related/relevant to the field/topic of interest multipleSelects HIV, TB, COVID-19, Monkeypox, Lassa fever, Bat flu, Avian flu, Swine flu, Ebola virus disease, Marburg virus disease, Marburg haemorrhagic fever, H7N9, H5N1, H1N1, H1N2, H3N2, Plague, Anthrax, Crimean-Congo Haemorrhagic Fever, Rift Valley Fever, Nipah Virus, Brucellosis, undulant fever, Malta fever, Mediterranean fever, Hantavirus haemorrhagic fever with renal syndrome, Hantavirus pulmonary syndrome, Q fever, Chikungunya, Henipavirus, Ghanaian bat henipavirus, Leptospirosis, Weill's disease, West Nile Fever, Zika fever, Dengue fever, African trypanosomiasis, Chagas disease, Yellow fever, Malaria, Re-emerging viruses, Visceral Leishmaniasis, Kala-azar, Cutaneous leishmaniasis , Hepatitis E , Viral Hepatitis, Hepatitis C, Hepatitis B, Leprosy, Hookworm, Schistosomiasis, Ascariasis, Trichuriasis, Lymphatic filariasis, Trachoma, Buruli ulcer, Dracunculiasis, Bilharzia, Whipworm Infection, Elephantiasis, Guinea-worm disease , Burkitt lymphoma, Cryptococcal meningitis, Kaposi sarcoma, schistosomiasis, Viral haemorrhagic fever, Rabies
Activity Location (from Activities) Name of location of activity in which topic was identified multipleLookupValues NA
Survey Results Results from survey multipleRecordLinks Survey Results
Search terms Search terms used to identify topic multipleSelects antimycobacterial, anti-mycobacterial, COVID-19, coronavirus, omicron, rifampicin, ritonavir, darunavir, dolutegravir, MIS-C, HVTN, ART, antiretroviral, lopinavir, bedaquiline, clofazimine, isoniazid, pyrazinamide, antitubercular, tenofovir disoproxil fumarate, emtricitabine, dolutegravir , efavirenz, tubercular, drug-resistant, AMR, raltegravir, DR-, DR-TB, helminth, TBM, fluke, wildlife sampling, biosurveillance, surveillance network, seroprevalence, detection of __, monitoring of __, seroevidence, identification of __, seropositive, seroepidemiological, survey, screened, __ prevalence
Disease Types Type/category to which disease is grouped under multipleSelects infectious disease, viral, bacterial, parasitic, vector-bourne, zoonotic, virus, soil-transmitted
Continent Name (from Activity Location alt) (from Activities) NA multipleLookupValues NA
Activity Location alt (from Activities) NA multipleLookupValues NA
Institutions Institutions multipleRecordLinks Institutions
Region (from Activity Location) (from Activities) Name of region where topic was identified multipleLookupValues NA
AU Region Name (from Activity Location alt) (from Activities) NA multipleLookupValues NA