Schema Examination

In this example we build schema of documents with complex structure and show how can we filter it and perform transformations. We start by adding libraries we want to use

Tip

This example is also available as a Jupyter notebook, feel free to run it yourself: schema_examination.ipynb

using JsonGrinder, Flux, Mill, JSON, HierarchicalUtils, StatsBase, OrderedCollections
using JsonGrinder: DictEntry, Entry

data_dir = "../../../data/documents"
"../../../data/documents"

This is how some of the documents look like:

open(JSON.parse, first(readdir(data_dir, join=true)))
Dict{String, Any} with 7 entries:
  "bib_entries" => Dict{String, Any}("BIBREF9"=>Dict{String, Any}("ref_id"=>"b9", "volume"=>"68", "other_ids"=>Dict{String, Any}(), "year"=>2020, "pages"=>"912--919", "venue"=>"J Am Geriatr Soc", "title"=>"Coronavirus Disease 2019 in Geriatrics and Long-Term Care: The ABCDs of COVID-19", "issn"=>"", "authors"=>Any[Dict{String, Any}("first"=>"H", "suffix"=>"", "last"=>"D'adamo", "middle"=>Any[]), Dict{String, Any}("first"=>"T", "suffix"=>"", "last"=>"Yoshikawa", "middle"=>Any[]), Dict{String, Any}("first"=>"J", "suffix"=>"", "last"=>"Ouslander", "middle"=>Any["G"])]), "BIBREF16"=>Dict{String, Any}("ref_id"=>"b16", "volume"=>"", "other_ids"=>Dict{String, Any}(), "year"=>nothing, "pages"=>"", "venue"=>"", "title"=>"Papel de la Geriatría en la Coordinación con el medio Residencial. Madrid, 4 de mayo de 2020", "issn"=>"", "authors"=>Any[Dict{String, Any}("first"=>"", "suffix"=>"", "last"=>"Sociedad Española De Geriatría Y Gerontología", "middle"=>Any[])]), "BIBREF36"=>Dict{String, Any}("ref_id"=>"b36", "volume"=>"10", "other_ids"=>Dict{String, Any}("DOI"=>Any["10.1016/j.jamda.2009.07.001"]), "year"=>2009, "pages"=>"644--52", "venue"=>"J Am Med Dir Assoc", "title"=>"Reducing potentially avoidable hospitalizations of nursing home residents: results of a pilot quality improvement project", "issn"=>"9", "authors"=>Any[Dict{String, Any}("first"=>"J", "suffix"=>"", "last"=>"Ouslander", "middle"=>Any["G"]), Dict{String, Any}("first"=>"M", "suffix"=>"", "last"=>"Perloe", "middle"=>Any[]), Dict{String, Any}("first"=>"J", "suffix"=>"", "last"=>"Givens", "middle"=>Any["H"]), Dict{String, Any}("first"=>"L", "suffix"=>"", "last"=>"Kluge", "middle"=>Any[]), Dict{String, Any}("first"=>"T", "suffix"=>"", "last"=>"Rutland", "middle"=>Any[]), Dict{String, Any}("first"=>"G", "suffix"=>"", "last"=>"Lamb", "middle"=>Any[])]), "BIBREF18"=>Dict{String, Any}("ref_id"=>"b18", "volume"=>"24", "other_ids"=>Dict{String, Any}("DOI"=>Any["10.1007/s12603-020-1356-x"]), "year"=>2020, "pages"=>"466--70", "venue"=>"J Nutr Health Aging", "title"=>"The New Challenge of Geriatrics: Saving Frail Older People from the SARS-COV-2 Pandemic Infection", "issn"=>"5", "authors"=>Any[Dict{String, Any}("first"=>"F", "suffix"=>"", "last"=>"Landi", "middle"=>Any[]), Dict{String, Any}("first"=>"C", "suffix"=>"", "last"=>"Barillaro", "middle"=>Any[]), Dict{String, Any}("first"=>"A", "suffix"=>"", "last"=>"Bellieni", "middle"=>Any[]), Dict{String, Any}("first"=>"V", "suffix"=>"", "last"=>"Brandi", "middle"=>Any[]), Dict{String, Any}("first"=>"A", "suffix"=>"", "last"=>"Carfì", "middle"=>Any[]), Dict{String, Any}("first"=>"D'", "suffix"=>"", "last"=>"Angelo", "middle"=>Any[]), Dict{String, Any}("first"=>"M", "suffix"=>"", "last"=>"", "middle"=>Any[])]), "BIBREF48"=>Dict{String, Any}("ref_id"=>"b48", "volume"=>"32", "other_ids"=>Dict{String, Any}("DOI"=>Any["10.1111/jdv.14341"]), "year"=>2018, "pages"=>"215--239", "venue"=>"J Eur Acad Dermatol Venereol", "title"=>"Telemedicine in dermatology: findings and experiences worldwide -a systematic literature review", "issn"=>"2", "authors"=>Any[Dict{String, Any}("first"=>"A", "suffix"=>"", "last"=>"Trettel", "middle"=>Any[]), Dict{String, Any}("first"=>"L", "suffix"=>"", "last"=>"Eissing", "middle"=>Any[]), Dict{String, Any}("first"=>"Augustin", "suffix"=>"", "last"=>"", "middle"=>Any["M"])]), "BIBREF33"=>Dict{String, Any}("ref_id"=>"b33", "volume"=>"50", "other_ids"=>Dict{String, Any}(), "year"=>2015, "pages"=>"", "venue"=>"Rev Esp Geriatr Gerontol", "title"=>"Optimización del coste en la atención al anciano institucionalizado a través de un programa de atención geriátrica residencial", "issn"=>"", "authors"=>Any[Dict{String, Any}("first"=>"J", "suffix"=>"", "last"=>"Gómez Pavón", "middle"=>Any[]), Dict{String, Any}("first"=>"Valverde", "suffix"=>"", "last"=>"Moyar", "middle"=>Any[]), Dict{String, Any}("first"=>"M", "suffix"=>"", "last"=>"", "middle"=>Any["V"]), Dict{String, Any}("first"=>"Villar", "suffix"=>"", "last"=>"Badía", "middle"=>Any[]), Dict{String, Any}("first"=>"J", "suffix"=>"", "last"=>"", "middle"=>Any["L"]), Dict{String, Any}("first"=>"Fernández", "suffix"=>"", "last"=>"De La Puente", "middle"=>Any[]), Dict{String, Any}("first"=>"E", "suffix"=>"", "last"=>"Valle Martín", "middle"=>Any[]), Dict{String, Any}("first"=>"M", "suffix"=>"", "last"=>"", "middle"=>Any["A"]), Dict{String, Any}("first"=>"Fernández", "suffix"=>"", "last"=>"Rodríguez", "middle"=>Any[]), Dict{String, Any}("first"=>"A", "suffix"=>"", "last"=>"", "middle"=>Any["M"])]), "BIBREF51"=>Dict{String, Any}("ref_id"=>"b51", "volume"=>"135", "other_ids"=>Dict{String, Any}("DOI"=>Any["10.1038/jid.2014.441.Epub"]), "year"=>2014, "pages"=>"895--900", "venue"=>"J Invest Dermatol", "title"=>"Expert advice provided through telemedicine improves healing of chronic wounds: prospective cluster controlled study", "issn"=>"3", "authors"=>Any[Dict{String, Any}("first"=>"K", "suffix"=>"", "last"=>"Zarchi", "middle"=>Any[]), Dict{String, Any}("first"=>"V", "suffix"=>"", "last"=>"Haugaard", "middle"=>Any["B"]), Dict{String, Any}("first"=>"D", "suffix"=>"", "last"=>"Dufour", "middle"=>Any["N"]), Dict{String, Any}("first"=>"Gbe", "suffix"=>"", "last"=>"Jemec", "middle"=>Any[])]), "BIBREF45"=>Dict{String, Any}("ref_id"=>"b45", "volume"=>"173", "other_ids"=>Dict{String, Any}("DOI"=>Any["10.7326/M20-1982"]), "year"=>2020, "pages"=>"486--494", "venue"=>"Ann Intern Med", "title"=>"The new normal: key considerations for effective serious illness communication over video or telephone during the Coronavirus Disease 2019 (COVID-19) pandemic", "issn"=>"6", "authors"=>Any[Dict{String, Any}("first"=>"L", "suffix"=>"", "last"=>"Flint", "middle"=>Any[]), Dict{String, Any}("first"=>"A", "suffix"=>"", "last"=>"Kotwal", "middle"=>Any[])]), "BIBREF28"=>Dict{String, Any}("ref_id"=>"b28", "volume"=>"13", "other_ids"=>Dict{String, Any}("DOI"=>Any["10.1016/j.jamda.2012.01.004"]), "year"=>2012, "pages"=>"314--319", "venue"=>"J Am Med Dir Assoc", "title"=>"On assisted living, are we hitting the mark or missing the boat?", "issn"=>"", "authors"=>Any[Dict{String, Any}("first"=>"S", "suffix"=>"", "last"=>"Levenson", "middle"=>Any["A"])]), "BIBREF47"=>Dict{String, Any}("ref_id"=>"b47", "volume"=>"67", "other_ids"=>Dict{String, Any}("DOI"=>Any["10.1111/jgs.15959"]), "year"=>2019, "pages"=>"1737--1786", "venue"=>"J Am Geriatr Soc", "title"=>"Effectiveness of Ambulatory Telemedicine Care in Older Adults: A Systematic Review", "issn"=>"8", "authors"=>Any[Dict{String, Any}("first"=>"J", "suffix"=>"", "last"=>"Batsis", "middle"=>Any["A"]), Dict{String, Any}("first"=>"P", "suffix"=>"", "last"=>"Dimilia", "middle"=>Any["R"]), Dict{String, Any}("first"=>"L", "suffix"=>"", "last"=>"Seo", "middle"=>Any["M"]), Dict{String, Any}("first"=>"K", "suffix"=>"", "last"=>"Fortuna", "middle"=>Any["L"]), Dict{String, Any}("first"=>"M", "suffix"=>"", "last"=>"Kennedy", "middle"=>Any["A"]), Dict{String, Any}("first"=>"H", "suffix"=>"", "last"=>"Blunt", "middle"=>Any["B"])]), "BIBREF27"=>Dict{String, Any}("ref_id"=>"b27", "volume"=>"53", "other_ids"=>Dict{String, Any}(), "year"=>2018, "pages"=>"", "venue"=>"Rev Esp Geriatr Gerontol", "title"=>"Evaluación de las derivaciones al servicio de urgencias y hospitalizaciones en mayores institucionalizados", "issn"=>"S1", "authors"=>Any[Dict{String, Any}("first"=>"C", "suffix"=>"", "last"=>"Roldán-Plaza", "middle"=>Any[]), Dict{String, Any}("first"=>"Vaquero", "suffix"=>"", "last"=>"Pinto", "middle"=>Any[]), Dict{String, Any}("first"=>"M", "suffix"=>"", "last"=>"", "middle"=>Any["N"]), Dict{String, Any}("first"=>"Pérez", "suffix"=>"", "last"=>"Panizo", "middle"=>Any[]), Dict{String, Any}("first"=>"N", "suffix"=>"", "last"=>"", "middle"=>Any[]), Dict{String, Any}("first"=>"Déniz", "suffix"=>"", "last"=>"González", "middle"=>Any[]), Dict{String, Any}("first"=>"V", "suffix"=>"", "last"=>"", "middle"=>Any["M"]), Dict{String, Any}("first"=>"Martín", "suffix"=>"", "last"=>"Rodrigo", "middle"=>Any[]), Dict{String, Any}("first"=>"M", "suffix"=>"", "last"=>"", "middle"=>Any["A"]), Dict{String, Any}("first"=>"Montero", "suffix"=>"", "last"=>"Errasquin", "middle"=>Any[]), Dict{String, Any}("first"=>"B", "suffix"=>"", "last"=>"", "middle"=>Any[]), Dict{String, Any}("first"=>"Cruz", "suffix"=>"", "last"=>"Jentoft", "middle"=>Any[]), Dict{String, Any}("first"=>"A", "suffix"=>"", "last"=>"", "middle"=>Any[])]), "BIBREF30"=>Dict{String, Any}("ref_id"=>"b30", "volume"=>"51", "other_ids"=>Dict{String, Any}("DOI"=>Any["10.1097/MLR.0b013e3182984bff"]), "year"=>2013, "pages"=>"673--81", "venue"=>"Med Care", "title"=>"Potentially avoidable hospitalizations for elderly long-stay residents in nursing homes", "issn"=>"8", "authors"=>Any[Dict{String, Any}("first"=>"W", "suffix"=>"", "last"=>"Spector", "middle"=>Any["D"]), Dict{String, Any}("first"=>"R", "suffix"=>"", "last"=>"Limcangco", "middle"=>Any[]), Dict{String, Any}("first"=>"C", "suffix"=>"", "last"=>"Williams", "middle"=>Any[]), Dict{String, Any}("first"=>"W", "suffix"=>"", "last"=>"Rhodes", "middle"=>Any[]), Dict{String, Any}("first"=>"D", "suffix"=>"", "last"=>"Hurd", "middle"=>Any[])]), "BIBREF13"=>Dict{String, Any}("ref_id"=>"b13", "volume"=>"55", "other_ids"=>Dict{String, Any}("DOI"=>Any["10.1016/j.regg.2020.04.001"]), "year"=>2020, "pages"=>"191--193", "venue"=>"Rev Esp Geriatr Gerontol", "title"=>"COVID-19, adulto mayor y edadismo: errores que nunca han de volver a ocurrir", "issn"=>"4", "authors"=>Any[]), "BIBREF41"=>Dict{String, Any}("ref_id"=>"b41", "volume"=>"", "other_ids"=>Dict{String, Any}(), "year"=>nothing, "pages"=>"", "venue"=>"British Geriatrics Society Resources", "title"=>"Telehealth and 'assistive technology' What it means and how it might affect the way that care is delivered", "issn"=>"", "authors"=>Any[Dict{String, Any}("first"=>"W", "suffix"=>"", "last"=>"Barker", "middle"=>Any[])]), "BIBREF14"=>Dict{String, Any}("ref_id"=>"b14", "volume"=>"91", "other_ids"=>Dict{String, Any}("DOI"=>Any["10.1016/j.archger.2020.104240"]), "year"=>2020, "pages"=>"104240--104240", "venue"=>"Arch Gerontol Geriatr", "title"=>"Death risk stratification in elderly patients with covid-19. A comparative cohort study in nursing homes outreaks", "issn"=>"", "authors"=>Any[Dict{String, Any}("first"=>"M", "suffix"=>"", "last"=>"Bernabeu-Wittel", "middle"=>Any[]), Dict{String, Any}("first"=>"J", "suffix"=>"", "last"=>"Ternero-Vega", "middle"=>Any["E"]), Dict{String, Any}("first"=>"C", "suffix"=>"", "last"=>"Díaz-Jiménez", "middle"=>Any[]), Dict{String, Any}("first"=>"M", "suffix"=>"", "last"=>"Conde-Guzmán", "middle"=>Any[]), Dict{String, Any}("first"=>"L", "suffix"=>"", "last"=>"Nieto-Martín", "middle"=>Any[]), Dict{String, Any}("first"=>"J", "suffix"=>"", "last"=>"Moreno-Gaviño", "middle"=>Any[])]), "BIBREF8"=>Dict{String, Any}("ref_id"=>"b8", "volume"=>"382", "other_ids"=>Dict{String, Any}("DOI"=>Any["10.1056/NEJMoa2008457"]), "year"=>2020, "pages"=>"2081--90", "venue"=>"N Engl J Med", "title"=>"Presymptomatic SARS-CoV-2 Infections and Transmission in a Skilled Nursing Facility", "issn"=>"22", "authors"=>Any[Dict{String, Any}("first"=>"M", "suffix"=>"", "last"=>"Arons", "middle"=>Any["M"]), Dict{String, Any}("first"=>"K", "suffix"=>"", "last"=>"Hatfield", "middle"=>Any["M"]), Dict{String, Any}("first"=>"S", "suffix"=>"", "last"=>"Reddy", "middle"=>Any["C"]), Dict{String, Any}("first"=>"A", "suffix"=>"", "last"=>"Kimball", "middle"=>Any[]), Dict{String, Any}("first"=>"A", "suffix"=>"", "last"=>"James", "middle"=>Any[]), Dict{String, Any}("first"=>"J", "suffix"=>"", "last"=>"Jacobs", "middle"=>Any["R"])]), "BIBREF50"=>Dict{String, Any}("ref_id"=>"b50", "volume"=>"22", "other_ids"=>Dict{String, Any}("DOI"=>Any["10.12968/jowc.2013.22.9.481"]), "year"=>2013, "pages"=>"481--489", "venue"=>"J Wound Care", "title"=>"A pilot study on the potential of remote support to enhance wound care for nursing-home patients", "issn"=>"9", "authors"=>Any[Dict{String, Any}("first"=>"K", "suffix"=>"", "last"=>"Vowden", "middle"=>Any[]), Dict{String, Any}("first"=>"P", "suffix"=>"", "last"=>"Vowden", "middle"=>Any[])]), "BIBREF54"=>Dict{String, Any}("ref_id"=>"b54", "volume"=>"45", "other_ids"=>Dict{String, Any}(), "year"=>2010, "pages"=>"19--21", "venue"=>"Rev Esp Geriatr Gerontol", "title"=>"Efectividad de la revaloración de ingresos de pacientes con mala situación funcional", "issn"=>"1", "authors"=>Any[Dict{String, Any}("first"=>"Alonso", "suffix"=>"", "last"=>"Bouzón", "middle"=>Any[]), Dict{String, Any}("first"=>"C", "suffix"=>"", "last"=>"", "middle"=>Any[]), Dict{String, Any}("first"=>"Petidier", "suffix"=>"", "last"=>"Torregrosa", "middle"=>Any[]), Dict{String, Any}("first"=>"R", "suffix"=>"", "last"=>"", "middle"=>Any[]), Dict{String, Any}("first"=>"Martín", "suffix"=>"", "last"=>"Larraín", "middle"=>Any[]), Dict{String, Any}("first"=>"P", "suffix"=>"", "last"=>"", "middle"=>Any["P"]), Dict{String, Any}("first"=>"Rodríguez", "suffix"=>"", "last"=>"Mañas", "middle"=>Any[]), Dict{String, Any}("first"=>"L", "suffix"=>"", "last"=>"", "middle"=>Any[])]), "BIBREF57"=>Dict{String, Any}("ref_id"=>"b57", "volume"=>"32", "other_ids"=>Dict{String, Any}(), "year"=>2020, "pages"=>"122--152", "venue"=>"Emergencias", "title"=>"desaprender y reaprender para asistir ancianos en urgencias: el secreto del cambio", "issn"=>"", "authors"=>Any[Dict{String, Any}("first"=>"Puig", "suffix"=>"", "last"=>"Campmany", "middle"=>Any[]), Dict{String, Any}("first"=>"M", "suffix"=>"", "last"=>"Blázquez Andión", "middle"=>Any[]), Dict{String, Any}("first"=>"M", "suffix"=>"", "last"=>"", "middle"=>Any[]), Dict{String, Any}("first"=>"Ris", "suffix"=>"", "last"=>"Romeu", "middle"=>Any[]), Dict{String, Any}("first"=>"J", "suffix"=>"", "last"=>"Aprender", "middle"=>Any[])]), "BIBREF20"=>Dict{String, Any}("ref_id"=>"b20", "volume"=>"383", "other_ids"=>Dict{String, Any}("DOI"=>Any["10.1056/NEJMp2006115"]), "year"=>2020, "pages"=>"4--6", "venue"=>"N Eng J Med", "title"=>"Age, complexity, and crisis. A prescription for progress in pandemic", "issn"=>"1", "authors"=>Any[Dict{String, Any}("first"=>"L", "suffix"=>"", "last"=>"Aronson", "middle"=>Any[])]), "BIBREF35"=>Dict{String, Any}("ref_id"=>"b35", "volume"=>"17", "other_ids"=>Dict{String, Any}("DOI"=>Any["10.1684/pnv.2019.0808"]), "year"=>2019, "pages"=>"261--70", "venue"=>"", "title"=>"Impact of geriatric teleconsultations on hospitalization of elderly living in nursing homes. Geriatr Psychol Neuropsychiatr Vieil", "issn"=>"", "authors"=>Any[Dict{String, Any}("first"=>"P", "suffix"=>"", "last"=>"Troudet", "middle"=>Any[]), Dict{String, Any}("first"=>"F", "suffix"=>"", "last"=>"Mignen", "middle"=>Any[]), Dict{String, Any}("first"=>"A", "suffix"=>"", "last"=>"Boureau", "middle"=>Any["S"]), Dict{String, Any}("first"=>"G", "suffix"=>"", "last"=>"Berrut", "middle"=>Any[]), Dict{String, Any}("first"=>"E", "suffix"=>"", "last"=>"Georgeton", "middle"=>Any[])]), "BIBREF32"=>Dict{String, Any}("ref_id"=>"b32", "volume"=>"16", "other_ids"=>Dict{String, Any}("DOI"=>Any["doi.org/10.1016/j.jamda.2015.01.096"]), "year"=>2015, "pages"=>"354--361", "venue"=>"J Am Med Dir Assoc", "title"=>"this really an emergency? reducing potentially preventable emergency department visits among nursing home residents", "issn"=>"", "authors"=>Any[Dict{String, Any}("first"=>"J", "suffix"=>"", "last"=>"Ouslander", "middle"=>Any["G"]), Dict{String, Any}("first"=>"J", "suffix"=>"", "last"=>"Schnelle", "middle"=>Any["F"]), Dict{String, Any}("first"=>"J", "suffix"=>"", "last"=>"Hanis", "middle"=>Any[])]), "BIBREF53"=>Dict{String, Any}("ref_id"=>"b53", "volume"=>"", "other_ids"=>Dict{String, Any}(), "year"=>2015, "pages"=>"", "venue"=>"Oficina del Defensor del Pueblo. Las urgencias hospitalarias en el Sistema Nacional de Salud. Derechos y Garantías de los pacientes", "title"=>"Estudio conjunto de los defensores del pueblo", "issn"=>"", "authors"=>Any[]), "BIBREF15"=>Dict{String, Any}("ref_id"=>"b15", "volume"=>"", "other_ids"=>Dict{String, Any}("DOI"=>Any["10.1016/j.jamda.2020.12.003"]), "year"=>2020, "pages"=>"", "venue"=>"J Am Med Dir Assoc", "title"=>"Clinical Characterisitics, frailtyand mortalityof residents with COVID-19 in nursing homes of a region of Madrid", "issn"=>"", "authors"=>Any[Dict{String, Any}("first"=>"R", "suffix"=>"", "last"=>"Bielza", "middle"=>Any[]), Dict{String, Any}("first"=>"J", "suffix"=>"", "last"=>"Sanz", "middle"=>Any[]), Dict{String, Any}("first"=>"F", "suffix"=>"", "last"=>"Zambrana", "middle"=>Any[]), Dict{String, Any}("first"=>"E", "suffix"=>"", "last"=>"Arias", "middle"=>Any[]), Dict{String, Any}("first"=>"E", "suffix"=>"", "last"=>"Malmierca", "middle"=>Any[]), Dict{String, Any}("first"=>"L", "suffix"=>"", "last"=>"Portillo", "middle"=>Any[])]), "BIBREF52"=>Dict{String, Any}("ref_id"=>"b52", "volume"=>"50", "other_ids"=>Dict{String, Any}(), "year"=>2015, "pages"=>"", "venue"=>"Rev Esp Geroatr Gerontol", "title"=>"Uso de nuevas tecnologías en atención geriátrica domiciliaria y residencias: Teledermatología móvil geriátrica", "issn"=>"", "authors"=>Any[Dict{String, Any}("first"=>"J", "suffix"=>"", "last"=>"Gómez Pavón", "middle"=>Any[]), Dict{String, Any}("first"=>"Sánchez", "suffix"=>"", "last"=>"Del Corral", "middle"=>Any[]), Dict{String, Any}("first"=>"F", "suffix"=>"", "last"=>"Guarino", "middle"=>Any[]), Dict{String, Any}("first"=>"M", "suffix"=>"", "last"=>"Barrio", "middle"=>Any[]), Dict{String, Any}("first"=>"J", "suffix"=>"", "last"=>"Baztán", "middle"=>Any[]), Dict{String, Any}("first"=>"J", "suffix"=>"", "last"=>"", "middle"=>Any["J"]), Dict{String, Any}("first"=>"Piñuel", "suffix"=>"", "last"=>"González", "middle"=>Any[]), Dict{String, Any}("first"=>"M", "suffix"=>"", "last"=>"", "middle"=>Any["I"])]), "BIBREF44"=>Dict{String, Any}("ref_id"=>"b44", "volume"=>"", "other_ids"=>Dict{String, Any}(), "year"=>nothing, "pages"=>"", "venue"=>"British Geriatrics Society", "title"=>"Capturing beneficial change from the COVID-19 pandemic. Response from the British Geriatrics Society", "issn"=>"", "authors"=>Any[]), "BIBREF58"=>Dict{String, Any}("ref_id"=>"b58", "volume"=>"52", "other_ids"=>Dict{String, Any}(), "year"=>2017, "pages"=>"295--301", "venue"=>"Rev Esp Geriatr Gerontol", "title"=>"Reducción de costes mediante un programa de coordinación entre médicos de urgencias y médicos de residencias", "issn"=>"5", "authors"=>Any[Dict{String, Any}("first"=>"Bermejo", "suffix"=>"", "last"=>"Boixareu", "middle"=>Any[]), Dict{String, Any}("first"=>"C", "suffix"=>"", "last"=>"", "middle"=>Any[]), Dict{String, Any}("first"=>"Saavedra", "suffix"=>"", "last"=>"Quirós", "middle"=>Any[]), Dict{String, Any}("first"=>"V", "suffix"=>"", "last"=>"", "middle"=>Any[]), Dict{String, Any}("first"=>"Gutiérrez", "suffix"=>"", "last"=>"Parrés", "middle"=>Any[]), Dict{String, Any}("first"=>"B", "suffix"=>"", "last"=>"", "middle"=>Any[]), Dict{String, Any}("first"=>"Núñez", "suffix"=>"", "last"=>"González", "middle"=>Any[]), Dict{String, Any}("first"=>"A", "suffix"=>"", "last"=>"", "middle"=>Any[]), Dict{String, Any}("first"=>"Gómez", "suffix"=>"", "last"=>"Rodrigo", "middle"=>Any[]), Dict{String, Any}("first"=>"J", "suffix"=>"", "last"=>"", "middle"=>Any[])]), "BIBREF19"=>Dict{String, Any}("ref_id"=>"b19", "volume"=>"2020", "other_ids"=>Dict{String, Any}("DOI"=>Any["10.1111/jgs.16665"]), "year"=>nothing, "pages"=>"", "venue"=>"J Am Geriatr Soc", "title"=>"Long-Term Care Facilities and the COVID-19 Pandemic: Lessons Learned in Madrid", "issn"=>"", "authors"=>Any[Dict{String, Any}("first"=>"J", "suffix"=>"", "last"=>"Martínez-Peromingo", "middle"=>Any[]), Dict{String, Any}("first"=>"J", "suffix"=>"", "last"=>"Serra-Rexach", "middle"=>Any["A"])]), "BIBREF26"=>Dict{String, Any}("ref_id"=>"b26", "volume"=>"43", "other_ids"=>Dict{String, Any}("DOI"=>Any["10.1093/ageing/aft077"]), "year"=>2013, "pages"=>"97--103", "venue"=>"Age Ageing", "title"=>"Health status of UK care home residents: a cohort study", "issn"=>"1", "authors"=>Any[Dict{String, Any}("first"=>"A", "suffix"=>"", "last"=>"Gordon", "middle"=>Any["L"]), Dict{String, Any}("first"=>"M", "suffix"=>"", "last"=>"Franklin", "middle"=>Any[]), Dict{String, Any}("first"=>"L", "suffix"=>"", "last"=>"Bradshaw", "middle"=>Any[]), Dict{String, Any}("first"=>"P", "suffix"=>"", "last"=>"Logan", "middle"=>Any[]), Dict{String, Any}("first"=>"R", "suffix"=>"", "last"=>"Elliott", "middle"=>Any[]), Dict{String, Any}("first"=>"Jrf", "suffix"=>"", "last"=>"Gladman", "middle"=>Any[])]), "BIBREF6"=>Dict{String, Any}("ref_id"=>"b6", "volume"=>"45", "other_ids"=>Dict{String, Any}(), "year"=>2015, "pages"=>"148--53", "venue"=>"J R Coll Physicians Edinb", "title"=>"What is the case for care home medicine? The geriatrician's perspective", "issn"=>"", "authors"=>Any[Dict{String, Any}("first"=>"A", "suffix"=>"", "last"=>"Gordon", "middle"=>Any["L"])]), "BIBREF10"=>Dict{String, Any}("ref_id"=>"b10", "volume"=>"761", "other_ids"=>Dict{String, Any}(), "year"=>2020, "pages"=>"22--25", "venue"=>"BGS Newsletter", "title"=>"Atypical covid 10 presentations in older people: the need for continued vigilance", "issn"=>"", "authors"=>Any[Dict{String, Any}("first"=>"T", "suffix"=>"", "last"=>"Solanki", "middle"=>Any[])]), "BIBREF23"=>Dict{String, Any}("ref_id"=>"b23", "volume"=>"", "other_ids"=>Dict{String, Any}(), "year"=>2020, "pages"=>"", "venue"=>"", "title"=>"Infection prevention and control guidance for long-term care facilities in the context of COVID-19. Interim Guidance", "issn"=>"", "authors"=>Any[]), "BIBREF4"=>Dict{String, Any}("ref_id"=>"b4", "volume"=>"", "other_ids"=>Dict{String, Any}("DOI"=>Any["10.1787/health_glance_eur-2018-en"]), "year"=>2018, "pages"=>"", "venue"=>"", "title"=>"Health at a Glance: Europe 2018: State of Health in the EU Cycle", "issn"=>"", "authors"=>Any[Dict{String, Any}("first"=>"", "suffix"=>"", "last"=>"Oecd/Eu", "middle"=>Any[])]), "BIBREF43"=>Dict{String, Any}("ref_id"=>"b43", "volume"=>"20", "other_ids"=>Dict{String, Any}("DOI"=>Any["10.1111/ggi.13934"]), "year"=>2020, "pages"=>"646--653", "venue"=>"Geriatr Gerontol Int", "title"=>"Telemedicine in nursing homes during the COVID-19 outbreak: A star is born (again)", "issn"=>"6", "authors"=>Any[Dict{String, Any}("first"=>"C", "suffix"=>"", "last"=>"Cormi", "middle"=>Any[]), Dict{String, Any}("first"=>"J", "suffix"=>"", "last"=>"Chrusciel", "middle"=>Any[]), Dict{String, Any}("first"=>"D", "suffix"=>"", "last"=>"Laplanche", "middle"=>Any[]), Dict{String, Any}("first"=>"M", "suffix"=>"", "last"=>"Dramé", "middle"=>Any[]), Dict{String, Any}("first"=>"S", "suffix"=>"", "last"=>"Sanchez", "middle"=>Any[])]), "BIBREF31"=>Dict{String, Any}("ref_id"=>"b31", "volume"=>"59", "other_ids"=>Dict{String, Any}("DOI"=>Any["10.1111/j.1532-5415.2011.03556.x"]), "year"=>2011, "pages"=>"1665--1672", "venue"=>"J Am Geriatr Soc", "title"=>"Avoidability of Hospital Transfers of Nursing Home Residents: Perspectives of Frontline Staff", "issn"=>"", "authors"=>Any[Dict{String, Any}("first"=>"G", "suffix"=>"", "last"=>"Lamb", "middle"=>Any[]), Dict{String, Any}("first"=>"R", "suffix"=>"", "last"=>"Tappen", "middle"=>Any[]), Dict{String, Any}("first"=>"S", "suffix"=>"", "last"=>"Diaz", "middle"=>Any[]), Dict{String, Any}("first"=>"L", "suffix"=>"", "last"=>"Herndon", "middle"=>Any[]), Dict{String, Any}("first"=>"J", "suffix"=>"", "last"=>"Ouslander", "middle"=>Any["G"])]), "BIBREF5"=>Dict{String, Any}("ref_id"=>"b5", "volume"=>"369", "other_ids"=>Dict{String, Any}("DOI"=>Any["10.1136/bmj.m1465"]), "year"=>2020, "pages"=>"", "venue"=>"BMJ", "title"=>"Covid-19: why we need a national health and social care service. Neglect of social care during the pandemic shames the UK", "issn"=>"", "authors"=>Any[Dict{String, Any}("first"=>"A", "suffix"=>"", "last"=>"Pollock", "middle"=>Any["M"]), Dict{String, Any}("first"=>"L", "suffix"=>"", "last"=>"Clements", "middle"=>Any[]), Dict{String, Any}("first"=>"L", "suffix"=>"", "last"=>"Harding-Edgar", "middle"=>Any[])]), "BIBREF25"=>Dict{String, Any}("ref_id"=>"b25", "volume"=>"5", "other_ids"=>Dict{String, Any}(), "year"=>nothing, "pages"=>"", "venue"=>"", "title"=>"Procedimiento de diagnóstico, vigilancia y control de casos covid-19 en centros sociosanitarios. Madrid", "issn"=>"", "authors"=>Any[]), "BIBREF37"=>Dict{String, Any}("ref_id"=>"b37", "volume"=>"55", "other_ids"=>Dict{String, Any}("DOI"=>Any["10.1016/j.archger.2011.10.014"]), "year"=>2012, "pages"=>"331--338", "venue"=>"Arch Gerontol Geriatr", "title"=>"Geriatrician input into nursing homes reduces emergency hospital admissions", "issn"=>"", "authors"=>Any[Dict{String, Any}("first"=>"R", "suffix"=>"", "last"=>"Lisk", "middle"=>Any[]), Dict{String, Any}("first"=>"K", "suffix"=>"", "last"=>"Yeong", "middle"=>Any[]), Dict{String, Any}("first"=>"A", "suffix"=>"", "last"=>"Nasim", "middle"=>Any[]), Dict{String, Any}("first"=>"M", "suffix"=>"", "last"=>"Baxter", "middle"=>Any[]), Dict{String, Any}("first"=>"B", "suffix"=>"", "last"=>"Mandal", "middle"=>Any[]), Dict{String, Any}("first"=>"Nari", "suffix"=>"", "last"=>"", "middle"=>Any["R"])]), "BIBREF29"=>Dict{String, Any}("ref_id"=>"b29", "volume"=>"16", "other_ids"=>Dict{String, Any}("DOI"=>Any["doi.org/10.1016/j.jamda.2015.03.007"]), "year"=>2015, "pages"=>"551--62", "venue"=>"J Am Med Dir Assoc", "title"=>"Unplanned transfer to emergency departments for frail elderly residents of aged care facilities: a review of patient and organizational factors", "issn"=>"", "authors"=>Any[Dict{String, Any}("first"=>"R", "suffix"=>"", "last"=>"Dwyer", "middle"=>Any[]), Dict{String, Any}("first"=>"J", "suffix"=>"", "last"=>"Stoelwinder", "middle"=>Any[]), Dict{String, Any}("first"=>"B", "suffix"=>"", "last"=>"Gabbe", "middle"=>Any[]), Dict{String, Any}("first"=>"J", "suffix"=>"", "last"=>"Lowthian", "middle"=>Any[])]), "BIBREF3"=>Dict{String, Any}("ref_id"=>"b3", "volume"=>"", "other_ids"=>Dict{String, Any}(), "year"=>2019, "pages"=>"", "venue"=>"Informe Anual", "title"=>"Separata sobre la atención residencial a las personas mayores. Centros residenciales. Defensor del Pueblo", "issn"=>"", "authors"=>Any[Dict{String, Any}("first"=>"Oficina", "suffix"=>"", "last"=>"Del Defensor Del Pueblo", "middle"=>Any[])]), "BIBREF7"=>Dict{String, Any}("ref_id"=>"b7", "volume"=>"", "other_ids"=>Dict{String, Any}("DOI"=>Any["10.1016/j.eimc.2020.06.005"]), "year"=>2020, "pages"=>"30236--30242", "venue"=>"Enferm Infecc Microbiol Clin", "title"=>"Impacto de COVID-19 en el sistema hospitalario de Madrid", "issn"=>"20", "authors"=>Any[Dict{String, Any}("first"=>"E", "suffix"=>"", "last"=>"Condes", "middle"=>Any[]), Dict{String, Any}("first"=>"J", "suffix"=>"", "last"=>"Arribas", "middle"=>Any["R"])]), "BIBREF17"=>Dict{String, Any}("ref_id"=>"b17", "volume"=>"52", "other_ids"=>Dict{String, Any}(), "year"=>2017, "pages"=>"", "venue"=>"Rev Esp Geriatr Gerontol", "title"=>"Coordinación sociosanitaria entre un hospital terciario y las residencias de PPMM de su área Asistencial", "issn"=>"", "authors"=>Any[Dict{String, Any}("first"=>"Menéndez", "suffix"=>"", "last"=>"Colino", "middle"=>Any[]), Dict{String, Any}("first"=>"R", "suffix"=>"", "last"=>"", "middle"=>Any[]), Dict{String, Any}("first"=>"Ramírez", "suffix"=>"", "last"=>"Martín", "middle"=>Any[]), Dict{String, Any}("first"=>"R", "suffix"=>"", "last"=>"", "middle"=>Any[]), Dict{String, Any}("first"=>"Martín", "suffix"=>"", "last"=>"Maestre", "middle"=>Any[]), Dict{String, Any}("first"=>"I", "suffix"=>"", "last"=>"Muñoz", "middle"=>Any[]), Dict{String, Any}("first"=>"J", "suffix"=>"", "last"=>"Amengual", "middle"=>Any["M"]), Dict{String, Any}("first"=>"M", "suffix"=>"", "last"=>"Ramos", "middle"=>Any[]), Dict{String, Any}("first"=>"P", "suffix"=>"", "last"=>"", "middle"=>Any[])]), "BIBREF55"=>Dict{String, Any}("ref_id"=>"b55", "volume"=>"53", "other_ids"=>Dict{String, Any}(), "year"=>2018, "pages"=>"", "venue"=>"Rev Esp Geriatr Gerontol", "title"=>"Uso de una unidad de observación en urgencias por geriatras", "issn"=>"S1", "authors"=>Any[Dict{String, Any}("first"=>"B", "suffix"=>"", "last"=>"Cámara", "middle"=>Any[]), Dict{String, Any}("first"=>"O", "suffix"=>"", "last"=>"Saavedra", "middle"=>Any[]), Dict{String, Any}("first"=>"M", "suffix"=>"", "last"=>"Bermúdez", "middle"=>Any[]), Dict{String, Any}("first"=>"E", "suffix"=>"", "last"=>"Valle", "middle"=>Any[]), Dict{String, Any}("first"=>"B", "suffix"=>"", "last"=>"Peña", "middle"=>Any[]), Dict{String, Any}("first"=>"J", "suffix"=>"", "last"=>"Solano", "middle"=>Any["J"]), Dict{String, Any}("first"=>"J", "suffix"=>"", "last"=>"García", "middle"=>Any[])]), "BIBREF34"=>Dict{String, Any}("ref_id"=>"b34", "volume"=>"9", "other_ids"=>Dict{String, Any}(), "year"=>2009, "pages"=>"528--561", "venue"=>"Clinical Medicine", "title"=>"Geriatricians and care homes: perspectives from geriatric medicine departments and primary care trusts", "issn"=>"6", "authors"=>Any[Dict{String, Any}("first"=>"C", "suffix"=>"", "last"=>"Steves", "middle"=>Any["J"]), Dict{String, Any}("first"=>"R", "suffix"=>"", "last"=>"Schiff", "middle"=>Any[]), Dict{String, Any}("first"=>"F", "suffix"=>"", "last"=>"Martin", "middle"=>Any["C"])]), "BIBREF2"=>Dict{String, Any}("ref_id"=>"b2", "volume"=>"", "other_ids"=>Dict{String, Any}(), "year"=>2016, "pages"=>"", "venue"=>"British Geriatrics Society", "title"=>"Effective healthcare for older people living in care homes. Guidance on commissioning and providing healthcare services across the UK", "issn"=>"6", "authors"=>Any[]), "BIBREF1"=>Dict{String, Any}("ref_id"=>"b1", "volume"=>"", "other_ids"=>Dict{String, Any}(), "year"=>2015, "pages"=>"", "venue"=>"", "title"=>"Perfil sanitario de las personas ingresadas en centros residenciales", "issn"=>"", "authors"=>Any[Dict{String, Any}("first"=>"", "suffix"=>"", "last"=>"Fundación Instituto Edad Y Vida", "middle"=>Any[])]), "BIBREF40"=>Dict{String, Any}("ref_id"=>"b40", "volume"=>"20", "other_ids"=>Dict{String, Any}("DOI"=>Any["10.1186/s12877-020-01634-4"]), "year"=>2020, "pages"=>"", "venue"=>"BMC Geriatr", "title"=>"Optimisation of medications used in residential aged care facilities: a systematic review and meta-analysis of randomized controlled trials", "issn"=>"1", "authors"=>Any[Dict{String, Any}("first"=>"H", "suffix"=>"", "last"=>"Almutairi", "middle"=>Any[]), Dict{String, Any}("first"=>"A", "suffix"=>"", "last"=>"Stafford", "middle"=>Any[]), Dict{String, Any}("first"=>"C", "suffix"=>"", "last"=>"Etherton-Beer", "middle"=>Any[]), Dict{String, Any}("first"=>"L", "suffix"=>"", "last"=>"Flicker", "middle"=>Any[])]), "BIBREF56"=>Dict{String, Any}("ref_id"=>"b56", "volume"=>"45", "other_ids"=>Dict{String, Any}(), "year"=>2010, "pages"=>"358--367", "venue"=>"Rev Esp Geriatr Gerontol", "title"=>"Valoración geriátrica en los pacientes mayores de 75 años ingresados en la unidad de observación de urgencias", "issn"=>"6", "authors"=>Any[Dict{String, Any}("first"=>"Martín", "suffix"=>"", "last"=>"Sánchez", "middle"=>Any[]), Dict{String, Any}("first"=>"F", "suffix"=>"", "last"=>"Fernández", "middle"=>Any["J"]), Dict{String, Any}("first"=>"C", "suffix"=>"", "last"=>"González-Armengol", "middle"=>Any[]), Dict{String, Any}("first"=>"J", "suffix"=>"", "last"=>"", "middle"=>Any["J"]), Dict{String, Any}("first"=>"Ribera", "suffix"=>"", "last"=>"Casado", "middle"=>Any[]), Dict{String, Any}("first"=>"J", "suffix"=>"", "last"=>"", "middle"=>Any["M"])]), "BIBREF21"=>Dict{String, Any}("ref_id"=>"b21", "volume"=>"369", "other_ids"=>Dict{String, Any}("DOI"=>Any["10.1136/bmj.m2461"]), "year"=>2020, "pages"=>"", "venue"=>"BMJ", "title"=>"Preventing more deaths in care homes in a second pandemic surge", "issn"=>"", "authors"=>Any[Dict{String, Any}("first"=>"David", "suffix"=>"", "last"=>"Oliver", "middle"=>Any[])]), "BIBREF42"=>Dict{String, Any}("ref_id"=>"b42", "volume"=>"1", "other_ids"=>Dict{String, Any}(), "year"=>2020, "pages"=>"1--11", "venue"=>"J Geriatr Em Med", "title"=>"COVID-19 in Older Adults: Key Points for Emergency Department Providers", "issn"=>"4", "authors"=>Any[Dict{String, Any}("first"=>"M", "suffix"=>"", "last"=>"Malone", "middle"=>Any["L"]), Dict{String, Any}("first"=>"T", "suffix"=>"", "last"=>"Hogan", "middle"=>Any["M"]), Dict{String, Any}("first"=>"A", "suffix"=>"", "last"=>"Perry", "middle"=>Any[]), Dict{String, Any}("first"=>"K", "suffix"=>"", "last"=>"Biese", "middle"=>Any[]), Dict{String, Any}("first"=>"A", "suffix"=>"", "last"=>"Bonner", "middle"=>Any[]), Dict{String, Any}("first"=>"P", "suffix"=>"", "last"=>"Pagel", "middle"=>Any[])]), "BIBREF11"=>Dict{String, Any}("ref_id"=>"b11", "volume"=>"", "other_ids"=>Dict{String, Any}(), "year"=>2020, "pages"=>"", "venue"=>"", "title"=>"Mortality associated with COVID-19 outbreaks in care homes: early international evidence. Article in LTCcovid.org, International Long-Term Care Policy Network", "issn"=>"", "authors"=>Any[Dict{String, Any}("first"=>"A", "suffix"=>"", "last"=>"Comas-Herrera", "middle"=>Any[]), Dict{String, Any}("first"=>"J", "suffix"=>"", "last"=>"Zalakaín", "middle"=>Any[]), Dict{String, Any}("first"=>"C", "suffix"=>"", "last"=>"Litwin", "middle"=>Any[]), Dict{String, Any}("first"=>"A", "suffix"=>"", "last"=>"Hsu", "middle"=>Any["T"]), Dict{String, Any}("first"=>"Lane", "suffix"=>"", "last"=>"Fernández", "middle"=>Any["N"]), Dict{String, Any}("first"=>"J", "suffix"=>"", "last"=>"", "middle"=>Any["L"])]), "BIBREF39"=>Dict{String, Any}("ref_id"=>"b39", "volume"=>"33", "other_ids"=>Dict{String, Any}(), "year"=>2004, "pages"=>"612--619", "venue"=>"Age and Ageing", "title"=>"An outreach geriatric medication advisory service in residential aged care: a randomized controlled trial of case conferencing", "issn"=>"", "authors"=>Any[Dict{String, Any}("first"=>"M", "suffix"=>"", "last"=>"Crotty", "middle"=>Any[]), Dict{String, Any}("first"=>"J", "suffix"=>"", "last"=>"Halbert", "middle"=>Any[]), Dict{String, Any}("first"=>"D", "suffix"=>"", "last"=>"Rowett", "middle"=>Any[]), Dict{String, Any}("first"=>"L", "suffix"=>"", "last"=>"Giles", "middle"=>Any[]), Dict{String, Any}("first"=>"R", "suffix"=>"", "last"=>"Birks", "middle"=>Any[]), Dict{String, Any}("first"=>"H", "suffix"=>"", "last"=>"Williams", "middle"=>Any[])]), "BIBREF46"=>Dict{String, Any}("ref_id"=>"b46", "volume"=>"", "other_ids"=>Dict{String, Any}("DOI"=>Any["10.1002/14651858.CD002098.pub2"]), "year"=>2015, "pages"=>"", "venue"=>"Cochrane Database of Systematic Reviews", "title"=>"Interactive telemedicine: effects on professional practice and health care outcomes", "issn"=>"9", "authors"=>Any[Dict{String, Any}("first"=>"G", "suffix"=>"", "last"=>"Flodgren", "middle"=>Any[]), Dict{String, Any}("first"=>"A", "suffix"=>"", "last"=>"Rachas", "middle"=>Any[]), Dict{String, Any}("first"=>"A", "suffix"=>"", "last"=>"Farmer", "middle"=>Any["J"]), Dict{String, Any}("first"=>"M", "suffix"=>"", "last"=>"Inzitari", "middle"=>Any[]), Dict{String, Any}("first"=>"S", "suffix"=>"", "last"=>"Shepperd", "middle"=>Any[])]), "BIBREF22"=>Dict{String, Any}("ref_id"=>"b22", "volume"=>"6", "other_ids"=>Dict{String, Any}(), "year"=>2020, "pages"=>"24--33", "venue"=>"J Nursing Home Res", "title"=>"An aspirational approach to nursing home operations during the covid-19 pandemic", "issn"=>"", "authors"=>Any[Dict{String, Any}("first"=>"M", "suffix"=>"", "last"=>"Wasserman", "middle"=>Any[]), Dict{String, Any}("first"=>"A", "suffix"=>"", "last"=>"Wolk", "middle"=>Any["G"]), Dict{String, Any}("first"=>"A", "suffix"=>"", "last"=>"Lam", "middle"=>Any[])]), "BIBREF49"=>Dict{String, Any}("ref_id"=>"b49", "volume"=>"25", "other_ids"=>Dict{String, Any}("DOI"=>Any["10.1684/ejd.2015.2657"]), "year"=>2015, "pages"=>"606--618", "venue"=>"Eur J Dermatol", "title"=>"Dermatologic care of institutionalized elderly patients:a survey among dermatologists in the Netherlands", "issn"=>"6", "authors"=>Any[Dict{String, Any}("first"=>"Sfk", "suffix"=>"", "last"=>"Lubeek", "middle"=>Any[]), Dict{String, Any}("first"=>"E", "suffix"=>"", "last"=>"Van Der Geer", "middle"=>Any["R"]), Dict{String, Any}("first"=>"Mmhj", "suffix"=>"", "last"=>"Van Gelder", "middle"=>Any[]), Dict{String, Any}("first"=>"Pcm", "suffix"=>"", "last"=>"Van De Kerkhof", "middle"=>Any[]), Dict{String, Any}("first"=>"Mjp", "suffix"=>"", "last"=>"Gerritsen", "middle"=>Any[])]), "BIBREF0"=>Dict{String, Any}("ref_id"=>"b0", "volume"=>"", "other_ids"=>Dict{String, Any}(), "year"=>2019, "pages"=>"", "venue"=>"Indicadores estadísticos básicos. Madrid, Informes Envejecimiento en red nº 22", "title"=>"Un perfil de las personas mayores en España", "issn"=>"", "authors"=>Any[Dict{String, Any}("first"=>"Abellán", "suffix"=>"", "last"=>"García", "middle"=>Any[]), Dict{String, Any}("first"=>"A", "suffix"=>"", "last"=>"", "middle"=>Any[]), Dict{String, Any}("first"=>"Aceituno", "suffix"=>"", "last"=>"Nieto", "middle"=>Any[]), Dict{String, Any}("first"=>"P", "suffix"=>"", "last"=>"", "middle"=>Any[]), Dict{String, Any}("first"=>"Pérez", "suffix"=>"", "last"=>"Díaz", "middle"=>Any[]), Dict{String, Any}("first"=>"J", "suffix"=>"", "last"=>"", "middle"=>Any[]), Dict{String, Any}("first"=>"Ramiro", "suffix"=>"", "last"=>"Fariñas", "middle"=>Any[]), Dict{String, Any}("first"=>"D", "suffix"=>"", "last"=>"", "middle"=>Any[]), Dict{String, Any}("first"=>"Ayala", "suffix"=>"", "last"=>"García", "middle"=>Any[]), Dict{String, Any}("first"=>"A", "suffix"=>"", "last"=>"", "middle"=>Any[]), Dict{String, Any}("first"=>"Pujol", "suffix"=>"", "last"=>"Rodríguez", "middle"=>Any[]), Dict{String, Any}("first"=>"R", "suffix"=>"", "last"=>"", "middle"=>Any[])]), "BIBREF24"=>Dict{String, Any}("ref_id"=>"b24", "volume"=>"21", "other_ids"=>Dict{String, Any}("DOI"=>Any["10.1016/j.jamda.2020.10.023"]), "year"=>2020, "pages"=>"1811--1814", "venue"=>"J Am Med Dir Assoc", "title"=>"Implementation of an Algorithm of Cohort Classification to Prevent the Spread of COVID-19 in Nursing Homes", "issn"=>"12", "authors"=>Any[Dict{String, Any}("first"=>"C", "suffix"=>"", "last"=>"González De Villaumbrosia", "middle"=>Any[]), Dict{String, Any}("first"=>"Martínez", "suffix"=>"", "last"=>"Peromingo", "middle"=>Any[]), Dict{String, Any}("first"=>"J", "suffix"=>"", "last"=>"", "middle"=>Any[]), Dict{String, Any}("first"=>"Ortiz", "suffix"=>"", "last"=>"Imedio", "middle"=>Any[]), Dict{String, Any}("first"=>"J", "suffix"=>"", "last"=>"", "middle"=>Any[]), Dict{String, Any}("first"=>"Álvarez", "suffix"=>"", "last"=>"De Espejo Montiel", "middle"=>Any[]), Dict{String, Any}("first"=>"T", "suffix"=>"", "last"=>"", "middle"=>Any[]), Dict{String, Any}("first"=>"García", "suffix"=>"", "last"=>"Puente", "middle"=>Any[]), Dict{String, Any}("first"=>"L", "suffix"=>"", "last"=>"", "middle"=>Any[]), Dict{String, Any}("first"=>"Navas", "suffix"=>"", "last"=>"Clemente", "middle"=>Any[]), Dict{String, Any}("first"=>"I", "suffix"=>"", "last"=>"", "middle"=>Any[])]), "BIBREF38"=>Dict{String, Any}("ref_id"=>"b38", "volume"=>"61", "other_ids"=>Dict{String, Any}("DOI"=>Any["10.1111/jgs.12039"]), "year"=>2013, "pages"=>"4--11", "venue"=>"J Am Geriatr Soc", "title"=>"Is geriatric care associated with reduced emergency department use?", "issn"=>"1", "authors"=>Any[Dict{String, Any}("first"=>"L", "suffix"=>"", "last"=>"D'arcy", "middle"=>Any["P"]), Dict{String, Any}("first"=>"S", "suffix"=>"", "last"=>"Stearns", "middle"=>Any["C"]), Dict{String, Any}("first"=>"M", "suffix"=>"", "last"=>"Domino", "middle"=>Any["E"]), Dict{String, Any}("first"=>"L", "suffix"=>"", "last"=>"Hanson", "middle"=>Any["C"]), Dict{String, Any}("first"=>"M", "suffix"=>"", "last"=>"Weinberger", "middle"=>Any[])]))
  "body_text" => Any[Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[Dict{String, Any}("ref_id"=>"BIBREF0", "start"=>175, "text"=>"1", "end"=>176), Dict{String, Any}("ref_id"=>"BIBREF2", "start"=>812, "text"=>"3", "end"=>813)], "section"=>"Introducción: Las residencias de personas mayores en España.", "text"=>"Se calcula que en España existen cerca de 367.000 plazas residenciales para personas mayores (PPMM) con una ocupación del 80%, con lo que casi 300.000 personas viven en ellas 1 . Respecto a sus características clínicas, el estudio de la Fundación Edad y Vida, sobre casi 20.000 personas, residentes en 111 centros de 15 CCAA 2 , las describe con una elevada pluripatología (76% de los casos tienen ≥3 diagnósticos activos) y polifarmacia (el 66% toman ≥7 fármacos), inestabilidad clínica (cada año el 38% son derivadas a urgencias) y terminalidad (el 43% fallecen durante el año). Al ingreso, 63% padecen deterioro cognitivo, 45% dependencia severa para las actividades básicas de la vida diaria, 55% malnutrición o riesgo de ella y 18% úlceras por presión. Perfiles similares han sido descritos en otros países 3 ."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[], "section"=>"Introducción: Las residencias de personas mayores en España.", "text"=>"La atención a estas personas institucionalizadas, dista mucho de ser la ideal. En el Informe del Defensor del Pueblo de 2019 4 se afirma que resultan necesarias reformas normativas de calado que garanticen a los mayores el ejercicio sus derechos y que se preste una mayor atención presupuestaria, formativa, dotacional e inspectora en los centros residenciales. Se destacan en este Informe, la dispersión normativa sobre los requisitos que deben reunir los centros, la escasez del número de plazas públicas, la necesidad de un aumento presupuestario y de incrementar los ratios de personal y su cualificación, así como la falta de regulación de un modelo sociosanitario, con atención médica y de enfermería más amplia."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[Dict{String, Any}("ref_id"=>"BIBREF4", "start"=>249, "text"=>"5", "end"=>250)], "section"=>"Introducción: Las residencias de personas mayores en España.", "text"=>"La financiación del sistema de cuidados de larga estancia es deficitario en España en comparación con el resto de países de Europa, ya que es uno de los países que menos porcentaje del producto interior bruto dedica a los cuidados de larga duración 5 ."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[], "section"=>"Introducción: Las residencias de personas mayores en España.", "text"=>"Es notable, además, la heterogeneidad de los centros residenciales. En un aparente mismo sistema, coexisten centros públicos y privados (con y sin ánimo de lucro), residencias grandes frente a pequeñas, instituciones (y empresas) con vocación de atención integral (social y sanitaria) frente a otros que rechazan cualquier \"medicalización\" y prefieren no ser más que \"hogares\", centros dotados de personal suficiente para abordar problemas de salud comunes e incluso algunos agudos frente a otros que no disponen de profesionales sanitarios, … y así en otros aspectos. Por ello, el generalizar con el término de \"residencias\" lleva el riesgo de incluir en el mismo saco a instalaciones que no tienen en común más que el hecho de alojar a PPMM."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[Dict{String, Any}("ref_id"=>"BIBREF5", "start"=>330, "text"=>"6", "end"=>331)], "section"=>"Introducción: Las residencias de personas mayores en España.", "text"=>"Así pues, el panorama residencial es el de un nivel de atención que, asiste a un número muy importante de PPMM con necesidades sociales y sanitarias, pero que no goza de la regulación, financiación, provisión, capacitación de personal, ni de los sistemas de inspección que precisaría, situación que parece similar en otros países 6 . La atención médica especializada se encuentra en un punto que necesita muchas mejoras 7 . Siendo así la en condiciones habituales, sus carencias se agudizarán mucho más ante cualquier amenaza externa."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[Dict{String, Any}("ref_id"=>"BIBREF7", "start"=>187, "text"=>"8", "end"=>188)], "section"=>"La crisis de la Covid-19 y el cambio ocurrido en la Geriatría de Madrid", "text"=>"La situación sanitaria que provocó la pandemia de Covid-19 generó en el mundo una tensión que estuvo a punto de colapsar los servicios de salud y que puso en evidencia sus puntos débiles 8 ."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[Dict{String, Any}("ref_id"=>"BIBREF8", "start"=>415, "text"=>"9", "end"=>416), Dict{String, Any}("ref_id"=>"BIBREF9", "start"=>544, "text"=>"10,", "end"=>547), Dict{String, Any}("ref_id"=>"BIBREF10", "start"=>548, "text"=>"11", "end"=>550), Dict{String, Any}("ref_id"=>"BIBREF11", "start"=>677, "text"=>"[12]", "end"=>681), Dict{String, Any}("ref_id"=>nothing, "start"=>682, "text"=>"[13]", "end"=>686), Dict{String, Any}("ref_id"=>"BIBREF14", "start"=>687, "text"=>"[14]", "end"=>691), Dict{String, Any}("ref_id"=>"BIBREF15", "start"=>692, "text"=>"[15]", "end"=>696)], "section"=>"La crisis de la Covid-19 y el cambio ocurrido en la Geriatría de Madrid", "text"=>"Las personas mayores residentes en instituciones fueron víctimas frecuentes del nuevo virus. Incidieron en ellas una serie de coincidencias (institucionalización, fragilidad, dependencia de cuidados, enfermedades importantes) que los hicieron más vulnerables. Pronto se supo que el aislamiento de los casos sintomáticos no era suficiente, sino que había que hacer test, a mayores asintomáticos muy escasos entonces 9 . Además, las personas mayores presentaban manifestaciones clínicas diferentes de las típicas, que dificultaban el diagnóstico 10, 11 . Las tasas de contagio nosocomial se dispararon en algunos centros y, aún peor, la letalidad de la infección también lo hizo [12] [13] [14] [15] ."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[], "section"=>"La crisis de la Covid-19 y el cambio ocurrido en la Geriatría de Madrid", "text"=>"En la Comunidad de Madrid, en un intento de reforzar la asistencia y de mejorar la coordinación con los hospitales, se activó el 13 de marzo un dispositivo, denominado Geriatría de Enlace. Se designaron geriatras de referencia en los hospitales y se estableció una conexión directa con los centros residenciales. Los geriatras de enlace recibieron multitud de llamadas de sus colegas de las residencias comentando la situación clínica de los pacientes, evaluaron la posibilidad de derivación hospitalaria, coordinaron la provisión de medicación de uso hospitalario y concentradores de oxígeno, realizaron el seguimiento tanto en las residencias como en los hospitales y, cuando fue posible, iniciaron visitas presenciales en los centros."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[Dict{String, Any}("ref_id"=>"BIBREF16", "start"=>1075, "text"=>"16", "end"=>1077)], "section"=>"La crisis de la Covid-19 y el cambio ocurrido en la Geriatría de Madrid", "text"=>"Este artículo no analiza esa fase de la asistencia, que fue \"reactiva\" a la situación generada, sino que pretende describir la fase posterior, \"proactiva\", puesta en marcha una vez superada la primera ola. Durante ese periodo inicial se produjo una sensibilización del sistema sanitario hacia las necesidades clínicas de las PPMM institucionalizadas, se establecieron vínculos entre los profesionales de ambos entornos asistenciales y, las autoridades sanitarias dieron instrucciones dirigidas a mejorar la coordinación y suprimir la fragmentación de los cuidados previa. A finales de mayo, desde la Dirección General de Coordinación Sociosanitaria dependiente de la Consejería de Sanidad se reforzó a los servicios de Geriatría con la incorporación de nuevos geriatras (53 especialistas en 19 hospitales públicos) cuya misión fue mejorar la atención a las PPMM institucionalizadas mediante la coordinación y la continuidad asistencial entre los hospitales y las residencias. La Sociedad Española de Geriatría y Gerontología (SEGG) definió el modelo de coordinación a seguir 16 . La propia presidenta de la Comunidad afirmó en una entrevista que \"se abre un momento en el que tenemos que dejar ya perpetuado un sistema nuevo de trabajo con las residencias\"."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[Dict{String, Any}("ref_id"=>"BIBREF17", "start"=>220, "text"=>"17", "end"=>222)], "section"=>"Actividad previa a la pandemia por Covid-19 en el Hospital La Paz", "text"=>"Desde el año 2014 se había iniciado en el servicio de Geriatría un Programa de Coordinación con 15 residencias del área (en las que residían 3.500 personas) con la dedicación a tiempo parcial de una de las autoras (RMC) 17 . La actividad en el último año consistió, entre otras, en 476 contactos telefónicos, 165 pacientes consultados o seguidos mediante correo electrónico, provisión de medicación de uso hospitalario para 24 pacientes (que supuso 158 estancias hospitalarias evitadas) y 17 pacientes ingresados de forma programada."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[], "section"=>"Actividad previa a la pandemia por Covid-19 en el Hospital La Paz", "text"=>"Más importante que el volumen de actividad fueron, 1) el conocimiento de la localización y la catalogación de todas las residencias del área, que fue de gran ayuda en la pandemia y 2) el convencimiento de la necesidad de evitar la fragmentación de cuidados y el compromiso del servicio con esta coordinación"), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[], "section"=>"Actividad de Geriatría de Enlace en el Hospital Universitario La Paz en la pandemia por Covid-19", "text"=>"En este trabajo se describen las áreas reforzadas tras la primera ola y, para ilustrar la experiencia, se describe la actividad de una Unidad de Geriatría de Enlace en un hospital terciario en cuya área existen 41 centros residenciales. En ellos vivían antes de la pandemia 3.420 residentes en residencias privadas o concertadas y 1.535 en residencias públicas. Para su atención clínica, las residencias disponían de 57 médicos y 135 enfermeras."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[], "section"=>"Actividad de Geriatría de Enlace en el Hospital Universitario La Paz en la pandemia por Covid-19", "text"=>"Durante la fase inicial (13 de marzo al 31 de mayo) los geriatras de enlace del Hospital Universitario La Paz, en horario de 8h a 22h los 7 días de la semana, atendieron 1.810 llamadas de médicos de residencias, fueron consultados por 1.157 residentes de los que el 47% fueron hospitalizados, se respondieron 1.016 consultas no clínicas y se proporcionaron 519 tratamientos de uso hospitalario y 199 concentradores de oxígeno. Se realizó un cribado con PCR a 2.115 residentes, en el que se detectaron 225 casos positivos que fueron aislados y sus centros sectorizados, hasta su negativización. Se elaboró un \"mapa de residencias\" preliminar, se elaboró un Plan de Contingencia ante la posibilidad de nuevos brotes, se inició la coordinación con Atención Primaria y, en cuanto se dispuso de personal, se iniciaron las visitas a las residencias."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[], "section"=>"Actividad de Geriatría de Enlace en el Hospital Universitario La Paz en la pandemia por Covid-19", "text"=>"A partir de aquí, cuando se hace referencia a la actividad, se refiere a la realizada desde el 1 de junio, fecha a partir de la cual se pudo contar con el refuerzo específico de 3 geriatras y una enfermera, coordinadas por una geriatra de la plantilla del servicio, hasta el 31 de octubre de 2020, que desde el inicio de la segunda ola estuvieron operativas de 8 a 18 horas los 7 días de la semana."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[], "section"=>"Actividades de la Geriatría de Enlace tras la primera ola de la pandemia", "text"=>"En la tabla 1, se muestra un breve listado de las actividades realizadas."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[Dict{String, Any}("ref_id"=>"BIBREF9", "start"=>215, "text"=>"10,", "end"=>218), Dict{String, Any}("ref_id"=>"BIBREF18", "start"=>219, "text"=>"[18]", "end"=>223), Dict{String, Any}("ref_id"=>"BIBREF19", "start"=>224, "text"=>"[19]", "end"=>228), Dict{String, Any}("ref_id"=>"BIBREF20", "start"=>229, "text"=>"[20]", "end"=>233), Dict{String, Any}("ref_id"=>"BIBREF16", "start"=>387, "text"=>"16,", "end"=>390), Dict{String, Any}("ref_id"=>nothing, "start"=>391, "text"=>"21", "end"=>393)], "section"=>"Actividad específica sobre Covid-19 en las residencias", "text"=>"Pronto fue reconocido a nivel mundial el papel de los geriatras en la atención a las PPMM con Covid-19 y la necesidad de reorganizar los sistemas de salud hacia un abordaje integral de la enfermedad en los ancianos 10, [18] [19] [20] . En España, la SEGG emitió documentos con propuestas para el manejo de la epidemia y el papel de la especialidad en la coordinación con las residencias 16, 21 . Posteriormente, publicó un documento para el manejo de los rebrotes, con directrices sobre prevención y detección precoz, diagnóstico, aislamiento y sectorización, formación, clasificación de los centros, coordinación de las derivaciones, papel de los diferentes niveles, provisión de tratamientos de uso hospitalario, elaboración de planes de contingencia y transparencia 22 . Más recientemente, la Organización Médica Colegial ha definido también una serie de propuestas de líneas de mejora de respuesta a la pandemia en residencias y centros sociosanitarios 23 ."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[Dict{String, Any}("ref_id"=>"BIBREF16", "start"=>323, "text"=>"16,", "end"=>326), Dict{String, Any}("ref_id"=>"BIBREF21", "start"=>327, "text"=>"[24]", "end"=>331), Dict{String, Any}("ref_id"=>"BIBREF22", "start"=>332, "text"=>"[25]", "end"=>336), Dict{String, Any}("ref_id"=>"BIBREF23", "start"=>337, "text"=>"[26]", "end"=>341)], "section"=>"Actividad específica sobre Covid-19 en las residencias", "text"=>"Tras la primera fase los puntos débiles detectados: falta de equipos de protección individual, falta de pruebas diagnósticas, desconocimiento sobre la sectorización en los centros, desajustes en la derivación de pacientes, escasez de medicalización de los centros y la descoordinación entre niveles debieron ser corregidos 16, [24] [25] [26] ."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[], "section"=>"Actividad específica sobre Covid-19 en las residencias", "text"=>"Las principales actividades desarrolladas sobre este aspecto en la unidad de Geriatría de Enlace del Hospital La Paz durante los primeros 5 meses se resumen en los siguientes apartados."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[], "section"=>"-Realización del Mapa de Residencias del área", "text"=>"Por encargo de la Dirección General de Coordinación Sociosanitaria se elaboró el mapa de las residencias del área según los criterios de la SEGG 20 . Su finalidad es poder estimar la capacidad de respuesta de cada centro ante la pandemia, lo que resulta de gran ayuda ante la aparición de nuevos brotes. Además, se completó la información con observaciones sobre la capacidad de la gestión de los aislamientos, la capacidad arquitectónica para una sectorización adecuada y la capacidad de obtención de material de protección. La visión general del mapa se muestra en la Tabla 2."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[Dict{String, Any}("ref_id"=>"BIBREF25", "start"=>97, "text"=>"28", "end"=>99)], "section"=>"-Atención a los nuevos brotes", "text"=>"La aparición de un caso positivo para Covid-19 en una residencia define la aparición de un brote 28 . La Unidad de Geriatría de Enlace del Hospital La Paz, ante la aparición de cada nuevo caso, realiza: 1) activación del brote mediante comunicación inmediata y simultánea a la Dirección de la residencia, Dirección Asistencial de Atención Primaria, servicio de Salud Pública del Área, Dirección del Hospital y Dirección General de Coordinación Sociosanitaria, 2) atención clínica al/los pacientes diagnosticados, si es preciso mediante visita presencial en colaboración con Atención Primaria, 3) coordinación de las pruebas diagnósticas necesarias, incluyendo el cribado de contactos estrechos, y 4) seguimiento telefónico y/o presencial de los casos hasta su resolución. Las visitas se coordinan con las Unidades de Atención a Residencias (UAR) de Atención Primaria. El servicio de Salud Pública asesora y supervisa a la residencia sobre la sectorización, aislamientos, y otros aspectos epidemiológicos."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[], "section"=>"-Atención a los nuevos brotes", "text"=>"Entre el 1 de junio y el 31 de octubre se activaron brotes en 20 residencias del área, en los que se diagnosticaron 195 casos de Covid-19. Cien (63%) fueron casos graves que precisaron hospitalización. Se realizó el cribado de 742 residentes por ser contactos estrechos. Se produjeron 24 exitus (15% de los diagnosticados), 19 en el Hospital y 5 en sus residencias."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[], "section"=>"-Seguimiento de los pacientes Covid-19", "text"=>"Los pacientes diagnosticados fueron seguidos telefónica, telemáticamente o de forma presencial, hasta la resolución o el exitus. En los casos leves se realizó seguimiento telefónico con el médico y la enfermera de la residencia, o con profesionales de Atención Primaria. En los casos graves que requirieron hospitalización, se mantuvo comunicación con los médicos de las plantas y coordinación entre ellos y los profesionales de las residencias."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[], "section"=>"-Visitas a las residencias", "text"=>"Una geriatra y una enfermera dedicaron su actividad a la realización diaria de visitas presenciales. Se realizaron 84 visitas programadas y 18 visitas urgentes motivadas por aparición de brotes. Sus principales tareas fueron no sólo la valoración clínica de pacientes (175 residentes por sospecha de Covid y 21 por otras causas) sino también la evaluación de las condiciones y organización de cada centro. Los aspectos evaluados se muestran en la tabla 3."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[], "section"=>"-Coordinación con Atención Primaria y Salud Pública", "text"=>"La coordinación con estos estamentos ha sido uno de los cambios cualitativos más notables desde la puesta en marcha de la Unidad de Geriatría de Enlace. Muy pronto se percibió la necesidad de organizar reuniones telemáticas con los técnicos de Atención Primaria del Área, de las que se mantuvieron 28 en los 5 meses auditados. En ellas 1) se coordina la actividad del equipo de visitas de la Unidad con la de las UAR de Atención Primaria, 2) se colabora en la apertura y seguimiento de los brotes y 3) se reparten las cargas de extracción de pruebas."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[], "section"=>"-Coordinación con Atención Primaria y Salud Pública", "text"=>"Cuando la situación epidemiológica lo permitió se realizaron visitas conjuntas de la UAR, Unidad de Geriatría de Enlace y Salud Pública a residencias para la evaluación conjunta de las mismas y formación de sus profesionales."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[], "section"=>"-Coordinación con Atención Primaria y Salud Pública", "text"=>"La implicación de los médicos de la Dirección de Salud Pública del Área 5-Norte ha sido también fundamental a la hora del abordaje epidemiológico de cada brote, dando instrucciones y coordinando las acciones de su ámbito de competencias."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[], "section"=>"-Estudio de seroprevalencia: el Proyecto SeroSOS", "text"=>"La Consejería de Sanidad de la Comunidad de Madrid acometió un estudio de seroprevalencia, mediante obtención de niveles de IgG y PCR, que se ofreció a todos los residentes y profesionales de las residencias e instituciones para discapacitados de la Comunidad Autónoma y fue coordinado por la Dirección General de Salud Pública y la Dirección General de Coordinación Socio-Sanitaria. Probablemente se trate del estudio más amplio en esta población, pues incluyó 517 centros sociosanitarios en los que se analizó a 55.542 personas."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[], "section"=>"-Estudio de seroprevalencia: el Proyecto SeroSOS", "text"=>"Los geriatras de enlace de cada hospital coordinaron la logística de obtención de muestras en el área de su hospital. El esfuerzo fue grande. A ellos hubo que sumar la colaboración de 200 enfermeras y la utilización de 20 vehículos. Por parte de la Consejería de Sanidad participaron 12 investigadores, 12 técnicos de laboratorio, 2 administrativos y 25 encuestadores. Las muestras se analizaron en el Laboratorio Regional de Salud Pública de la Consejería de Sanidad."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[], "section"=>"-Estudio de seroprevalencia: el Proyecto SeroSOS", "text"=>"Los resultados globales arrojaron una tasa de seroprevalencia (IgG positiva) del 53% entre los residentes y del 37% entre los trabajadores. Se clasificó a los centros en tres categorías: Inmunidad Alta (>70% de residentes seropositivos) el 26% de los centros, Inmunidad Media (del 50% al 70% de residentes seropositivos) el 28% de los centros e Inmunidad baja (≤50% de residentes seropositivos) el 46% restante. Los resultados de este proyecto, además de su interés epidemiológico, fueron de utilidad ante la aparición posterior de casos. Para esta tarea la Unidad de Geriatría de Enlace del Hospital La Paz tuvo que coordinar 60 visitas de obtención de muestras y su transporte al Laboratorio Regional. A las residencias habituales se añadieron 19 centros más entre pequeños núcleos de convivencia y centros de discapacitados de adultos. El esfuerzo de organización fue notable al tener que gestionar los tiempos de desplazamiento y obtención de muestras del equipo de extracciones a una serie numerosa de centros distantes entre 1 y 48 Km y con un número de residentes variable entre 26 y 220. Para la recogida de muestras, se contó, además de los recursos propios, con el apoyo de 5 enfermeras de otros servicios del hospital, con las UAR de Atención Primaria, 1 conductor y 1 vehículo del Hospital, un contrato con una empresa de recogida de muestras, y personal administrativo específico que operaron de forma continuada durante 6 semanas (17 de julio al 28 de agosto)."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[], "section"=>"-Estudio de seroprevalencia: el Proyecto SeroSOS", "text"=>"La participación en el estudio fue voluntaria. En el área del Hospital La Paz se obtuvieron muestras de 2.006 residentes y 1.648 trabajadores. Resultó una tasa de seropositividad del 53% entre los residentes y del 30% entre los trabajadores, aunque la tasa fue enormemente variable, con una horquilla entre centros del 0% al 87%."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[], "section"=>"Actividad preferentemente no-Covid", "text"=>"Antes del inicio de la pandemia ya existían sobradas razones para la mejora de la atención especializada geriátrica en las residencias. La British Geriatrics Society, en 2.016, destacaba 3 : las características clínicas y la situación funcional y mental de los residentes, las peculiaridades de sus enfermedades y sus tratamientos que requieren un conocimiento geriátrico especializado, la insuficiente accesibilidad al sistema sanitario y la necesidad de un abordaje integrado entre los diferentes proveedores en el que la contribución del geriatra mejora la eficacia y la eficiencia. No es suficiente con un enfoque \"reactivo\", es necesario un modelo de atención centrada en la persona que incluya planes individualizados de cuidados."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[Dict{String, Any}("ref_id"=>"BIBREF26", "start"=>197, "text"=>"29", "end"=>199), Dict{String, Any}("ref_id"=>"BIBREF27", "start"=>544, "text"=>"30", "end"=>546)], "section"=>"Actividad preferentemente no-Covid", "text"=>"Las necesidades de atención sanitaria de los residentes son elevadas. En un estudio se ha contabilizado que cada residente mantiene contacto con los servicios sanitarios una vez al mes de promedio 29 . Estos contactos no siempre tienen la canalización adecuada. Es habitual el hecho de la derivación a los servicios de urgencias cuando no se encuentra otra vía más resolutiva. Como consecuencia, un porcentaje importante de los pacientes geriátricos derivados a los servicios de urgencias desde residencias pueden ser derivaciones innecesarias 30 ."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[Dict{String, Any}("ref_id"=>"BIBREF31", "start"=>1095, "text"=>"34", "end"=>1097), Dict{String, Any}("ref_id"=>"BIBREF28", "start"=>1347, "text"=>"31", "end"=>1349)], "section"=>"Actividad preferentemente no-Covid", "text"=>"Entre las posibles razones y situaciones que se asocian con las hospitalizaciones no programadas (a veces evitables y a veces no) desde las residencias 31-33 se han mencionado algunas dependientes de la institución, como la falta de capacidad para proveer tratamiento ante las agudizaciones no graves o proporcionar tratamiento paliativo, la imposibilidad de realizar pruebas diagnósticas, tratamientos o monitorización o la categoría de la residencia como \"con ánimo de lucro\". Otras son dependientes del personal, como la falta de disponibilidad de médico o la valoración insuficiente por la plantilla de la residencia. También existen situaciones relacionadas con el residente o su familia como la falta de directrices avanzadas o su insistencia en la derivación, la presencia de ciertas patologías (enfermedad pulmonar crónica, insuficiencia cardiaca y diabetes), ser portador de catéteres, e incluso el deterioro funcional. Otros han expuesto como razones no programables para generar el traslado otras como el cambio agudo en la situación clínica de un residente o la insistencia familiar 34 . Las residencias menos dotadas que no disponen del personal sanitario para valorar síntomas, cambios en el estado de los residentes o administrar tratamientos utilizan a veces la hospitalización como una forma de trasladar el problema a otro lugar 31 . De todo ello surge una de las razones para la tan importante coordinación entre las residencias con Atención Primaria y con el servicio de Geriatría."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[Dict{String, Any}("ref_id"=>"BIBREF32", "start"=>276, "text"=>"35", "end"=>278)], "section"=>"Actividad preferentemente no-Covid", "text"=>"Algunas \"barreras\" que dificultan el éxito de los programas de coordinación pueden ser la infradotación del personal de las residencias junto con su elevada tasa de rotación, así como el aumento de costes que puede suponer el manejo de ciertas situaciones en el propio centro 35 ."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[Dict{String, Any}("ref_id"=>"BIBREF2", "start"=>693, "text"=>"3,", "end"=>695), Dict{String, Any}("ref_id"=>"BIBREF33", "start"=>696, "text"=>"36", "end"=>698)], "section"=>"Actividad preferentemente no-Covid", "text"=>"Los beneficios de la colaboración de los geriatras en las residencias son, para los propios residentes, mejoras en el manejo de los síndromes geriátricos y sus complicaciones, prevención de eventos agudos como infecciones o broncoaspiraciones, minimización de la progresión clínica de procesos crónicos, reducción de efectos adversos a fármacos mediante la deprescripción de tratamientos innecesarios, mayor autonomía en la toma de decisiones y mejora en la experiencia en situaciones de terminalidad para el paciente y sus familiares 3 . Aunque por su extensión quedan fuera de este artículo, las mejoras percibidas por el sistema sanitario y por las propias residencias también son notables 3, 36 . Globalmente, se considera que debería haber una mayor implicación de los geriatras en el manejo de los residentes en instituciones 37 ."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[Dict{String, Any}("ref_id"=>"BIBREF35", "start"=>187, "text"=>"38,", "end"=>190), Dict{String, Any}("ref_id"=>"BIBREF36", "start"=>191, "text"=>"39", "end"=>193), Dict{String, Any}("ref_id"=>"BIBREF37", "start"=>551, "text"=>"40,", "end"=>554), Dict{String, Any}("ref_id"=>"BIBREF38", "start"=>555, "text"=>"41", "end"=>557)], "section"=>"-Teleconsulta sobre patología habitual y coordinación telefónica", "text"=>"Los programas de comunicación y coordinación con las residencias parecen reducir de manera importante las hospitalizaciones programadas y urgentes de ancianos residentes en instituciones 38, 39 . Acciones desde Geriatría como las sesiones conjuntas con el personal de la residencia, las visitas a los centros, la comunicación telefónica, la provisión de medicación de uso hospitalario o de tratamiento paliativo reducen significativamente el número de ingresos hospitalarios evitables y acercan el tratamiento al paciente, con la comodidad que supone 40, 41 ."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[], "section"=>"-Teleconsulta sobre patología habitual y coordinación telefónica", "text"=>"En la Tabla 4 se presenta un resumen de los tratamientos pautados por la Unidad de Geriatría de Enlace del hospital La Paz en el periodo estudiado. Cada tratamiento, además de la consulta inicial, genera controles posteriores."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[], "section"=>"-Teleconsulta sobre patología habitual y coordinación telefónica", "text"=>"La coordinación telefónica fue el principal canal de comunicación durante la primera ola y sus posibilidades se vieron potenciadas en la fase posterior. En el periodo aquí analizado (junio a octubre de 2020) se mantuvieron 4.163 conversaciones telefónicas (27 llamadas diarias de media), en las que se consultaron 2.976 pacientes. En 279 (9%) se recomendó la derivación a Urgencias y en los restantes 2.697 (91%) seguimiento en la residencia en colaboración con los médicos de la misma. Se proporcionó tratamiento de uso hospitalario en 78 casos y concentradores de oxígeno en 20 (que supuso un ahorro de 462 estancias hospitalarias)."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[], "section"=>"-Teleconsulta sobre patología habitual y coordinación telefónica", "text"=>"Además de las consultas clínicas, se solicitó otro tipo de asesoramiento o coordinación en 5.347 ocasiones, tanto de patología Covid cono no Covid (consultas sobre la aplicación de protocolos vigentes, coordinación de visitas a residencias. seguimiento semanal de la situación de todas las residencias, coordinación de ingresos y altas programados, solicitud y resultados de pruebas complementarias entre otras )"), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[Dict{String, Any}("ref_id"=>"BIBREF39", "start"=>161, "text"=>"42,", "end"=>164), Dict{String, Any}("ref_id"=>"BIBREF40", "start"=>165, "text"=>"43", "end"=>167)], "section"=>"-Revisión de medicación", "text"=>"Los programas de coordinación entre geriatría y residencias que incluyen la revisión de medicación suelen obtener una mejora en la adecuación de la prescripción 42, 43 . Las geriatras de la unidad realizaron dicha revisión en 92 pacientes, en los que se llevó a cabo una deprescripción de 81 fármacos innecesarios."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[Dict{String, Any}("ref_id"=>"BIBREF41", "start"=>148, "text"=>"44", "end"=>150), Dict{String, Any}("ref_id"=>"BIBREF42", "start"=>209, "text"=>"[45]", "end"=>213), Dict{String, Any}("ref_id"=>"BIBREF43", "start"=>214, "text"=>"[46]", "end"=>218), Dict{String, Any}("ref_id"=>"BIBREF44", "start"=>219, "text"=>"[47]", "end"=>223), Dict{String, Any}("ref_id"=>"BIBREF45", "start"=>279, "text"=>"48", "end"=>281), Dict{String, Any}("ref_id"=>"BIBREF46", "start"=>848, "text"=>"49", "end"=>850)], "section"=>"-Telemedicina", "text"=>"La telemedicina es la comunicación remota entre un paciente en su entorno habitual y los profesionales sanitarios para su diagnóstico o seguimiento 44 . Ha cobrado una importancia especial durante la pandemia [45] [46] [47] , pero también tiene y tendrá su función fuera de ella 48 . Entre sus ventajas figura que soslaya las necesidades de transporte del paciente y mitiga inconvenientes sociales o de incomodidad que pueden conducir al rechazo de su traslado. También puede mejorar la eficiencia de la asistencia reduciendo derivaciones a consultas (programadas o urgentes) e ingresos evitables, minimizando costes. La actividad de telemedicina tiene como funciones la monitorización de enfermedades crónicas, formación y educación sanitaria, acceso al especialista para decisiones diagnósticas o terapéuticas y valoración clínica en tiempo real 49 . Existen evidencias de que la Telemedicina puede tener aplicabilidad, aceptabilidad y eficacia en población mayor 22,50 ."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[Dict{String, Any}("ref_id"=>"BIBREF50", "start"=>281, "text"=>"[53]", "end"=>285), Dict{String, Any}("ref_id"=>"BIBREF51", "start"=>286, "text"=>"[54]", "end"=>290), Dict{String, Any}("ref_id"=>"BIBREF52", "start"=>291, "text"=>"[55]", "end"=>295)], "section"=>"-Telemedicina", "text"=>"La TeleDermatología tiene entidad propia dentro de la TeleMedicina 51 , especialmente para consultas sobre valoración de lesiones malignas, eccemas y úlceras por presión 52 y ha demostrado mejoras en la atención y una mayor eficiencia frente al cuidado convencional en residencias [53] [54] [55] ."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[], "section"=>"-Telemedicina", "text"=>"La unidad de Geriatría de Enlace del Hospital La Paz, en 9 semanas de funcionamiento ha mantenido 16 sesiones de Telemedicina en las que se han consultado 68 pacientes (4,3 pacientes/sesión) en los que se evitó su desplazamiento al hospital. Los motivos más frecuentes de consulta han sido el deterioro cognitivo y el ajuste de tratamiento en pacientes con pluripatología (se ha hecho deprescripción de 47 fármacos, 0,7 por paciente). Respecto a la Teledermatología, se han mantenido 3 sesiones en las que se han consultado 11 pacientes. La patología más frecuente fue la sospecha tumoral, en la que los casos sospechosos fueron citados directamente para la realización de biopsia."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[], "section"=>"-Contactos por correo electrónico", "text"=>"Se mantuvieron por este medio 1188 contactos por motivos clínicos. Algunos de los más frecuentes fueron relacionados con patología Covid, además de muchos otros como comunicación de resultados de pruebas diagnósticas, consultas clínicas de pacientes en residencias, informes de medicación que precisan visado por el especialista y material ortoprotésico así como de los seguimientos de pacientes valorados en telemedicina."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[], "section"=>"Coordinación y valoración geriátrica en el servicio urgencias hospitalario.", "text"=>"Las características clínicas y funcionales de los residentes en instituciones les convierten en un tipo de paciente especialmente vulnerable en los servicios de urgencias hospitalarios y el reconocimiento de ello debe generar su adaptación a la atención de estos usuarios."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[Dict{String, Any}("ref_id"=>"BIBREF53", "start"=>564, "text"=>"56,", "end"=>567), Dict{String, Any}("ref_id"=>nothing, "start"=>568, "text"=>"57", "end"=>570)], "section"=>"Coordinación y valoración geriátrica en el servicio urgencias hospitalario.", "text"=>"Tanto en el documento del Defensor del Pueblo de 2019 como en el Plan Director del Servicio Madrileño de Salud 2016-2019 se recomienda la mejora de la coordinación entre los servicios de urgencias hospitalarios y los centros sociosanitarios y las residencias, tanto para optimizar el funcionamiento del sistema sanitario como para minimizar los efectos disfuncionales que las urgencias tienen en estos pacientes. Esto requiere que en los servicios de urgencia se cuente con profesionales formados específicamente en el tratamiento y la asistencia a estas personas 56, 57 ."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[Dict{String, Any}("ref_id"=>"BIBREF16", "start"=>8, "text"=>"16", "end"=>10)], "section"=>"Coordinación y valoración geriátrica en el servicio urgencias hospitalario.", "text"=>"La SEGG 16 propone diferentes actividades en la coordinación de los pacientes de residencias en urgencias, como 1) la valoración en el servicio de Urgencias de los ancianos derivados desde las residencias con el objetivo de disminuir su estancia en Urgencias haciéndola más eficiente, 2) si el cuadro clínico lo permite, evitar el ingreso facilitando medicación que pueda ser administrada en la residencia, 3) si el paciente requiere ingreso hacerlo en el servicio de Geriatría, si la patología así lo aconseja, para asegurar la continuidad de cuidados."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[Dict{String, Any}("ref_id"=>"BIBREF54", "start"=>264, "text"=>"[58]", "end"=>268), Dict{String, Any}("ref_id"=>"BIBREF55", "start"=>269, "text"=>"[59]", "end"=>273), Dict{String, Any}("ref_id"=>"BIBREF56", "start"=>274, "text"=>"[60]", "end"=>278), Dict{String, Any}("ref_id"=>"BIBREF57", "start"=>279, "text"=>"[61]", "end"=>283)], "section"=>"Coordinación y valoración geriátrica en el servicio urgencias hospitalario.", "text"=>"En el terreno práctico, existen experiencias previas que han demostrado la eficacia y la eficiencia de la valoración geriátrica en urgencias. Los programas de este tipo en el área de urgencias han demostrado evitar un número significativo de ingresos innecesarios [58] [59] [60] [61] . Otro modelo, consistente en una unidad de observación en urgencias dedicada a pacientes de residencias ha contribuido a mejorar la humanización de su asistencia y demostró una importante reducción de estancias y de costes 62 ."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[], "section"=>"Coordinación y valoración geriátrica en el servicio urgencias hospitalario.", "text"=>"Los objetivos de la Geriatría de Enlace en el servicio de urgencias podrían resumirse en dos tipos: 1) Optimizar y agilizar la asistencia urgente y ajustar la adecuación de los ingresos de los residentes y 2) contribuir a la humanización de dicha asistencia mediante una atención centrada en las características de este grupo de población reduciendo el impacto de su paso por el SUH."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[], "section"=>"Coordinación y valoración geriátrica en el servicio urgencias hospitalario.", "text"=>"En el área sanitaria del hospital La Paz existen 4.400 habitualmente plazas de personas mayores institucionalizadas, de las que aproximadamente un tercio son derivadas anualmente al servicio de Urgencias, lo que supone una ocupación media de 5-6 camas en urgencias/día. En la Tabla 5 se muestra la actividad de la unidad de Geriatría de Enlace en el servicio de Urgencias. De los pacientes no-Covid-19 a los que se realizó valoración geriátrica el 25% pudieron volver de nuevo a su residencia para continuar su tratamiento en ella. Se trata de un área en la que claramente, una vez disminuya la presión de pacientes COVID, deberá aumentar la presencia de los geriatras de enlace."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[], "section"=>"Docencia e investigación", "text"=>"Si se asume, como es en el caso de los autores de este artículo, que la Geriatría de Enlace es una actividad necesaria en los servicios de Geriatría y que es necesario su desarrollo en todos los hospitales que tengan en su área un número importante de residencias, sería deseable que los médicos residentes de Geriatría iniciaran rotaciones docentes en estos equipos y unidades, como ocurre ya en algunos hospitales."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[], "section"=>"Docencia e investigación", "text"=>"También, el campo que se abre para la investigación es grande, tanto para incrementar la inclusión de residentes en instituciones en ensayos clínicos, como para, por medio del conocimiento que aporta el análisis de los datos de campo, mejorar la asistencia a este importante y heterogéneo grupo de pacientes. Desde la puesta en marcha de la Unidad en nuestro hospital, los geriatras forman parte del comité científico del ensayo clínico fase III adaptativo PanCOVID EudraCT2020-01156-18, promovido por la Fundación para la Investigación Biomédica del Hospital la Paz y se han recibido otras propuestas de estudios de investigación tanto de instituciones públicas como de la industria farmacéutica."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[], "section"=>"Conclusiones.", "text"=>"Aunque ya se conocían algunos de los déficits existentes en la atención sanitaria en las residencias, la pandemia de Covid-19 los ha hecho más evidentes y ha provocado que su atención sea más urgente. Desde el sistema sanitario, y en concreto desde la geriatría, la Geriatría de Enlace no aporta la solución de todos los problemas, pero sí que supone un paso adelante definido en un modelo sobre el terreno del que ya podemos ir obteniendo datos sobre su actividad y eficacia. Esta actividad es multidimensional, que habrá que testar e ir definiendo pero que añade un plus a la situación previa en la que la desconexión entre niveles y la fragmentación de cuidados constituían la práctica habitual."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[], "section"=>"Conclusiones.", "text"=>"Este nivel asistencial funcional aporta una utilidad clara ante una situación como la pandemia de Covid-19 como parece quedar claro en el abordaje a esta segunda ola, pero también presenta un enorme campo de actuación en otras actividades que mejoran la atención a las personas mayores institucionalizadas mediante el acercamiento y la redirección de los recursos hospitalarios a la medida de dichas personas."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[], "section"=>"Conclusiones.", "text"=>"A medida que se reduzca la presión de la actividad Covid, el objetivo de la Geriatría de Enlace debe ser consolidar el conocimiento adquirido en tan difíciles circunstancias, estar preparados para futuras situaciones de estrés del sistema sanitario y expandir el foco de su actividad hacia el resto de áreas de atención que por el momento son deficitarias, como la coordinación telefónica, el aumento de las visitas presenciales en los centros, las sesiones de telemedicina y la presencia en urgencias, sin perder el terreno ganado en coordinación con Atención Primaria y Salud Pública."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[], "section"=>"Conclusiones.", "text"=>"Por todo ello, los hospitales deben plantearse la implantación de equipos y unidades con este cometido, no sólo para que no se repitan algunas situaciones vividas durante la pandemia, sino con el convencimiento de que es una de las acciones más útiles, de las muchas que quedan por hacer, para mejorar la atención al sector de la población mayor institucionalizada. "), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[], "section"=>"Docencia e Investigación", "text"=>"Tabla 2: Un ejemplo práctico de Mapa de Residencias, cuyo objeto es clasificar los centros, en este caso del área de referencia del Hospital Universitario La Paz, para poder estimar su capacidad de respuesta a la pandemia de Covid-19. (Los centros han sido anonimizados para evitar su identificación) Tabla 3: Lista de aspectos que se evalúan en la visita a las residencias por la Unidad de Geriatría de Enlace en relación a la pandemia por Covid-19 y cuyo resultado se detalla en un informe de cada visita."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[], "section"=>"Situación actual", "text"=>"Número de residentes actuales: Covid y no-Covid ")]
  "back_matter" => Any[Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[], "section"=>"Grado de recepción de las sugerencias aportadas", "text"=>"Cumplimiento de las observaciones en las visitas previas.EPIs: Equipos de protección individual."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[], "section"=>"Tabla 4:", "text"=>"Resumen de los tratamientos iniciados en pacientes de residencias por los componentes de la unidad de Geriatría de Enlace entre el 1-6-2020 y el 31-10-2020."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[], "section"=>"Tratamiento", "text"=>"Número de casos"), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[], "section"=>"Antibioterapia intravenosa 19", "text"=>"Antibioterapia oral 45"), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[], "section"=>"Sueroterapia intravenosa 17", "text"=>"Concentradores de oxígeno 20"), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[], "section"=>"Tratamientos neurolépticos 29", "text"=>"Anticoagulantes 122Broncodilatadores 21Otros tratamientos (Anticolinesterásicos, antidepresivos…) 95Suplementación nutricional oral 9Material ortoprotésico")]
  "metadata" => Dict{String, Any}("title"=>"", "authors"=>Any[Dict{String, Any}("first"=>"Miguel", "suffix"=>"", "last"=>"Montserrat", "middle"=>Any[], "affiliation"=>Dict{String, Any}(), "email"=>""), Dict{String, Any}("first"=>"Barcons", "suffix"=>"", "last"=>"Marqués", "middle"=>Any[], "affiliation"=>Dict{String, Any}("laboratory"=>"", "location"=>Dict{String, Any}(), "institution"=>"Servicio de Geriatría. Hospital Universitario"), "email"=>""), Dict{String, Any}("first"=>"Blanca", "suffix"=>"", "last"=>"Chaparro Jiménez", "middle"=>Any[], "affiliation"=>Dict{String, Any}("laboratory"=>"", "location"=>Dict{String, Any}(), "institution"=>"Servicio de Geriatría. Hospital Universitario"), "email"=>""), Dict{String, Any}("first"=>"Carolina", "suffix"=>"", "last"=>"Figueroa", "middle"=>Any[], "affiliation"=>Dict{String, Any}(), "email"=>""), Dict{String, Any}("first"=>"Poblete", "suffix"=>"", "last"=>"Teresa", "middle"=>Any[], "affiliation"=>Dict{String, Any}(), "email"=>""), Dict{String, Any}("first"=>"Alarcón", "suffix"=>"", "last"=>"Francisco", "middle"=>Any[], "affiliation"=>Dict{String, Any}(), "email"=>""), Dict{String, Any}("first"=>"Javier", "suffix"=>"", "last"=>"Martínez", "middle"=>Any[], "affiliation"=>Dict{String, Any}(), "email"=>""), Dict{String, Any}("first"=>"Peromingo", "suffix"=>"", "last"=>"Juan", "middle"=>Any[], "affiliation"=>Dict{String, Any}(), "email"=>""), Dict{String, Any}("first"=>"Ignacio", "suffix"=>"", "last"=>"González-Montalvo", "middle"=>Any[], "affiliation"=>Dict{String, Any}(), "email"=>""), Dict{String, Any}("first"=>"Rocío", "suffix"=>"", "last"=>"Menéndez-Colino", "middle"=>Any[], "affiliation"=>Dict{String, Any}("laboratory"=>"", "location"=>Dict{String, Any}(), "institution"=>"Servicio de Geriatría. Hospital Universitario"), "email"=>""), Dict{String, Any}("first"=>"Francesca", "suffix"=>"", "last"=>"Argentina", "middle"=>Any[], "affiliation"=>Dict{String, Any}("laboratory"=>"", "location"=>Dict{String, Any}(), "institution"=>"Servicio de Geriatría. Hospital Universitario"), "email"=>""), Dict{String, Any}("first"=>"Ana", "suffix"=>"", "last"=>"Merello De Miguel", "middle"=>Any[], "affiliation"=>Dict{String, Any}("laboratory"=>"", "location"=>Dict{String, Any}(), "institution"=>"Servicio de Geriatría. Hospital Universitario"), "email"=>""), Dict{String, Any}("first"=>"Carolina", "suffix"=>"", "last"=>"Figueroa Poblete", "middle"=>Any[], "affiliation"=>Dict{String, Any}("laboratory"=>"", "location"=>Dict{String, Any}(), "institution"=>"Servicio de Geriatría. Hospital Universitario"), "email"=>""), Dict{String, Any}("first"=>"Teresa", "suffix"=>"", "last"=>"Alarcón", "middle"=>Any[], "affiliation"=>Dict{String, Any}("laboratory"=>"", "location"=>Dict{String, Any}(), "institution"=>"Servicio de Geriatría. Hospital Universitario"), "email"=>""), Dict{String, Any}("first"=>"Francisco", "suffix"=>"", "last"=>"Javier", "middle"=>Any[], "affiliation"=>Dict{String, Any}(), "email"=>""), Dict{String, Any}("first"=>"Martínez", "suffix"=>"", "last"=>"Peromingo", "middle"=>Any[], "affiliation"=>Dict{String, Any}(), "email"=>""), Dict{String, Any}("first"=>"Juan", "suffix"=>"", "last"=>"Ignacio González-Montalvo", "middle"=>Any[], "affiliation"=>Dict{String, Any}("laboratory"=>"", "location"=>Dict{String, Any}(), "institution"=>"Servicio de Geriatría. Hospital Universitario"), "email"=>""), Dict{String, Any}("first"=>"La", "suffix"=>"", "last"=>"Paz", "middle"=>Any[], "affiliation"=>Dict{String, Any}(), "email"=>""), Dict{String, Any}("first"=>"", "suffix"=>"", "last"=>"Madrid", "middle"=>Any[], "affiliation"=>Dict{String, Any}(), "email"=>""), Dict{String, Any}("first"=>"Madrid", "suffix"=>"", "last"=>"Autor", "middle"=>Any[], "affiliation"=>Dict{String, Any}(), "email"=>""), Dict{String, Any}("first"=>"Rocío", "suffix"=>"", "last"=>"Menéndez", "middle"=>Any[], "affiliation"=>Dict{String, Any}(), "email"=>""), Dict{String, Any}("first"=>"Colino", "suffix"=>"", "last"=>"Servicio De Geriatría", "middle"=>Any[], "affiliation"=>Dict{String, Any}(), "email"=>"")])
  "abstract" => Any[Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[], "section"=>"Abstract", "text"=>"Contribución de los autores: Rocío Menéndez Colino y Juan Ignacio González Montalvo han contribuido de manera equitativa en este trabajo."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[], "section"=>"Abstract", "text"=>"A Cristina Reyes López por el inestimable trabajo administrativo A todos los Servicios del Hospital la Paz sin cuyo apoyo la actividad de la Unidad de Geriatría de Enlace no hubiera sido posible Page 2 of 26 J o u r n a l P r e -p r o o f 2"), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[], "section"=>"Abstract", "text"=>"Los autores declaran no tener ningún conflicto de intereses en relación con este trabajo La Geriatría de Enlace con residencias en la época de la Covid-19."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[], "section"=>"Abstract", "text"=>"Un nuevo modelo de coordinación que ha llegado para quedarse. (Liaison Geriatrics with nursing homes in Covid time. A new coordination model arrived to stay) Page 3 of 26 J o u r n a l P r e -p r o o f 3"), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[], "section"=>"Abstract", "text"=>"Las personas mayores residentes en instituciones cumplen criterios de pacientes geriátricos complejos, pero con frecuencia no tienen resueltas sus necesidades sanitarias. La pandemia de Covid-19 ha hecho evidentes los déficits existentes en la atención sanitaria a estas personas. Como respuesta a ello surge la necesidad de mejorar la coordinación entre hospitales y residencias, lo que en Madrid se ha materializado en la implantación de equipos o unidades de Geriatría de Enlace en los hospitales públicos. Respecto a las acciones frente a la pandemia por Covid-19, la Sociedad Española de Geriatría y Gerontología ha definido el papel de los geriatras en esta función y ha dado directrices sobre prevención, detección precoz, aislamiento y sectorización, formación, clasificación de las residencias, coordinación de las derivaciones y papel de los diferentes niveles asistenciales, entre otras. Estas unidades también deben dirigir su actividad hacia otras áreas de atención actualmente deficitarias como la coordinación, las visitas presenciales en los centros, las sesiones de telemedicina, la valoración geriátrica en los servicios de urgencias y la coordinación con Atención Primaria y Salud Pública. En este artículo se describe la generación del concepto y la implantación de la Geriatría de Enlace en la Comunidad de Madrid a raíz de la pandemia de Covid-19 y se ilustra con los datos de actividad de una unidad cuyo hospital tiene en su área un elevado número de residencias. El objetivo es ayudar a comprender la necesidad de esta actividad, que para evitar la fragmentación de cuidados existente en la actualidad entre hospitales y residencias. Actividad que debería consolidarse y mantenerse en el futuro."), Dict{String, Any}("ref_spans"=>Any[], "cite_spans"=>Any[], "section"=>"Abstract", "text"=>"Abstract:")]
  "ref_entries" => Dict{String, Any}("FIGREF0"=>Dict{String, Any}("latex"=>nothing, "text"=>"Visitas a las residencias por motivos no-Covid -Provisión a las residencias de tratamientos de uso hospitalario -Prescripción de material ortoprotésico y medicación que precise visado -Sesión diaria de coordinación de la Unidad y con el resto del servicio 3. Coordinación en Urgencias -Sesión diaria en Urgencias de revisión de los ingresos -Coordinación con la urgencia de las derivaciones hospitalarias -Valoración de pacientes en el servicio de Urgencias -Coordinación del alta de pacientes desde el servicio de Urgencias -Provisión a las residencias de tratamientos de uso hospitalario", "type"=>"figure"), "TABREF1"=>Dict{String, Any}("latex"=>nothing, "text"=>"Total de fallecimientos por Covid y por otras patologías Control de constantes y cuestionario clínico a la entrada Desinfección a la entrada y en lugares estratégicos Uniformidad permanente con lavado en el propio centro Personal externo y mantenimiento Vía de acceso independiente del personal propio Control epidemiológico del personal externo Limpieza, mobiliario y decoración Desinfección de suelos, superficie y entornos Desinfección de aparataje clínico Bolsas hidrosolubles para ropa de zona contaminada Contenedores clase III, papeleras con tapa y pedal. Mantelería y menaje desechable Retirada de mobiliario y material decorativo prescindibles Recursos ante la pandemia Material: EPIs, guantes, hidroalcohol, mascarillas Coordinación del acceso a pruebas PCR Provisión de medicación de uso hospitalario y oxígeno Plan de contingencia Existencia de un Plan de Contingencia Disponibilidad de stock de material para dos semanas Sectorización Capacidad de sectorización geográfica en diferentes zonas Sectorización del personal Optimización circuito limpio-sucio. de familiares Política de visitas ajustada al protocolo vigente Otros Grado de conocimiento de los protocolos vigentes Comunicación con la unidad de geriatría de enlace Compromiso de continuidad de la colaboración Tabla 5: Residentes atendidos en el Servicio de Urgencias por la Unidad de Geriatría de Enlace entre el 1 de junio y el 31 de octubre de 2020 (días laborables). Pacientes valorados diagnosticados de Covid-19", "type"=>"table"), "TABREF0"=>Dict{String, Any}("latex"=>nothing, "text"=>"Listado de actividades de la Unidad de Geriatría de Enlace. 1. Actividad específica sobre Covid-19 en las residencias -Realización del Mapa de Residencias del área -Activación y atención a los nuevos brotes -Actualización del parte diario de brotes -Seguimiento de los pacientes Covid-19 -Coordinación de las altas hospitalarias entre las unidades Covid y las residencias -Visitas a las residencias -Coordinación con Atención Primaria y Salud Pública -Estudio de seroprevalencia: el Proyecto SeroSOS 2. Actividad preferentemente no-Covid", "type"=>"table"))
  "paper_id" => "0000fcce604204b1b9d876dc073eb529eb5ce305"

We load files in data/documents and parse them

sch = JsonGrinder.schema(readdir(data_dir, join=true), x->open(JSON.parse, x))
[Dict]  # updated = 16
  ├───── metadata: [Dict]  # updated = 16
  │                  ├── authors: [List]  # updated = 16
  │                  │              ╰── [Dict]  # updated = 91
  │                  │                    ├─────── middle: [List]  # updated = 91
  │                  │                    │                  ┊
  │                  │                    ├──────── first: [Scalar - String], 86 unique values  # updated = 91
  │                  │                    ├─────── suffix: [Scalar - String], 1 unique values  # updated = 91
  │                  │                    ├───────── last: [Scalar - String], 79 unique values  # updated = 91
  │                  │                    ├──────── email: [Scalar - String], 4 unique values  # updated = 91
  │                  │                    ╰── affiliation: [Dict]  # updated = 91
  │                  │                                       ┊
  │                  ╰──── title: [Scalar - String], 14 unique values  # updated = 16
  ├── ref_entries: [Dict]  # updated = 16
  │                  ├── TABREF4: [Dict]  # updated = 3
  │                  │              ├── type: [Scalar - String], 1 unique values  # updated = 3
  │                  │              ├── text: [Scalar - String], 3 unique values  # updated = 3
  │                  │              ╰── html: [Scalar - String], 2 unique values  # updated = 2
  │                  ├── FIGREF3: [Dict]  # updated = 3
  │                  │              ├── type: [Scalar - String], 1 unique values  # updated = 3
  │                  │              ╰── text: [Scalar - String], 3 unique values  # updated = 3
  │                  ├── FIGREF2: [Dict]  # updated = 6
  │                  │              ├── type: [Scalar - String], 1 unique values  # updated = 6
  │                  │              ╰── text: [Scalar - String], 6 unique values  # updated = 6
  │                  ├── FIGREF4: [Dict]  # updated = 2
  │                  │              ├── type: [Scalar - String], 1 unique values  # updated = 2
  │                  │              ╰── text: [Scalar - String], 2 unique values  # updated = 2
  │                  ├── TABREF3: [Dict]  # updated = 5
  │                  │              ├── type: [Scalar - String], 1 unique values  # updated = 5
  │                  │              ├── text: [Scalar - String], 5 unique values  # updated = 5
  │                  │              ╰── html: [Scalar - String], 2 unique values  # updated = 2
  │                  ├── TABREF5: [Dict]  # updated = 2
  │                  │              ├── type: [Scalar - String], 1 unique values  # updated = 2
  │                  │              ├── text: [Scalar - String], 2 unique values  # updated = 2
  │                  │              ╰── html: [Scalar - String], 1 unique values  # updated = 1
  │                  ├── TABREF6: [Dict]  # updated = 1
  │                  │              ├── type: [Scalar - String], 1 unique values  # updated = 1
  │                  │              ╰── text: [Scalar - String], 1 unique values  # updated = 1
  │                  ├── TABREF1: [Dict]  # updated = 12
  │                  │              ├── type: [Scalar - String], 1 unique values  # updated = 12
  │                  │              ├── text: [Scalar - String], 12 unique values  # updated = 12
  │                  │              ╰── html: [Scalar - String], 6 unique values  # updated = 6
  │                  ┊
  │                  ├── TABREF0: [Dict]  # updated = 10
  │                  │              ├── type: [Scalar - String], 1 unique values  # updated = 10
  │                  │              ├── text: [Scalar - String], 10 unique values  # updated = 10
  │                  │              ╰── html: [Scalar - String], 1 unique values  # updated = 1
  │                  ╰── TABREF2: [Dict]  # updated = 6
  │                                 ├── type: [Scalar - String], 1 unique values  # updated = 6
  │                                 ├── text: [Scalar - String], 6 unique values  # updated = 6
  │                                 ╰── html: [Scalar - String], 2 unique values  # updated = 2
  ├───── paper_id: [Scalar - String], 16 unique values  # updated = 16
  ├──── body_text: [List]  # updated = 16
  │                  ╰── [Dict]  # updated = 460
  │                        ├──────── text: [Scalar - String], 459 unique values  # updated = 460
  │                        ├───── section: [Scalar - String], 157 unique values  # updated = 460
  │                        ├── cite_spans: [List]  # updated = 460
  │                        │                 ╰── [Dict]  # updated = 478
  │                        │                       ┊
  │                        ╰─── ref_spans: [List]  # updated = 460
  │                                          ╰── [Dict]  # updated = 98
  │                                                ┊
  ├── back_matter: [List]  # updated = 16
  │                  ╰── [Dict]  # updated = 24
  │                        ├──────── text: [Scalar - String], 23 unique values  # updated = 24
  │                        ├───── section: [Scalar - String], 21 unique values  # updated = 24
  │                        ├── cite_spans: [List]  # updated = 24
  │                        │                 ╰── [Dict]  # updated = 1
  │                        │                       ┊
  │                        ╰─── ref_spans: [List]  # updated = 24
  │                                          ╰── [Dict]  # updated = 3
  │                                                ┊
  ├── bib_entries: [Dict]  # updated = 16
  │                  ├─── BIBREF33: [Dict]  # updated = 4
  │                  │                ├────── pages: [Scalar - String], 3 unique values  # updated = 4
  │                  │                ├───── volume: [Scalar - String], 4 unique values  # updated = 4
  │                  │                ├────── venue: [Scalar - String], 4 unique values  # updated = 4
  │                  │                ├─────── year: [Scalar - Int64], 4 unique values  # updated = 4
  │                  │                ├─────── issn: [Scalar - String], 3 unique values  # updated = 4
  │                  │                ├──── authors: [List]  # updated = 4
  │                  │                │                ╰── [Dict]  # updated = 20
  │                  │                │                      ┊
  │                  │                ├───── ref_id: [Scalar - String], 1 unique values  # updated = 4
  │                  │                ├────── title: [Scalar - String], 4 unique values  # updated = 4
  │                  │                ╰── other_ids: [Dict]  # updated = 4
  │                  ├─── BIBREF43: [Dict]  # updated = 5
  │                  │                ├────── pages: [Scalar - String], 4 unique values  # updated = 5
  │                  │                ├───── volume: [Scalar - String], 5 unique values  # updated = 5
  │                  │                ├────── venue: [Scalar - String], 5 unique values  # updated = 5
  │                  │                ├─────── year: [Scalar - Int64], 4 unique values  # updated = 4
  │                  │                ├─────── issn: [Scalar - String], 2 unique values  # updated = 5
  │                  │                ├──── authors: [List]  # updated = 5
  │                  │                │                ╰── [Dict]  # updated = 19
  │                  │                │                      ┊
  │                  │                ├───── ref_id: [Scalar - String], 1 unique values  # updated = 5
  │                  │                ├────── title: [Scalar - String], 5 unique values  # updated = 5
  │                  │                ╰── other_ids: [Dict]  # updated = 5
  │                  │                                 ╰── DOI: [List]  # updated = 1
  │                  │                                            ┊
  │                  ├── BIBREF127: [Dict]  # updated = 1
  │                  │                ├────── pages: [Scalar - String], 1 unique values  # updated = 1
  │                  │                ├───── volume: [Scalar - String], 1 unique values  # updated = 1
  │                  │                ├────── venue: [Scalar - String], 1 unique values  # updated = 1
  │                  │                ├─────── issn: [Scalar - String], 1 unique values  # updated = 1
  │                  │                ├──── authors: [Empty List]  # updated = 1
  │                  │                │                ╰── Nothing
  │                  │                ├───── ref_id: [Scalar - String], 1 unique values  # updated = 1
  │                  │                ├────── title: [Scalar - String], 1 unique values  # updated = 1
  │                  │                ╰── other_ids: [Dict]  # updated = 1
  │                  ├─── BIBREF67: [Dict]  # updated = 2
  │                  │                ├────── pages: [Scalar - String], 2 unique values  # updated = 2
  │                  │                ├───── volume: [Scalar - String], 2 unique values  # updated = 2
  │                  │                ├────── venue: [Scalar - String], 2 unique values  # updated = 2
  │                  │                ├─────── year: [Scalar - Int64], 2 unique values  # updated = 2
  │                  │                ├─────── issn: [Scalar - String], 2 unique values  # updated = 2
  │                  │                ├──── authors: [List]  # updated = 2
  │                  │                │                ╰── [Dict]  # updated = 13
  │                  │                │                      ┊
  │                  │                ├───── ref_id: [Scalar - String], 1 unique values  # updated = 2
  │                  │                ├────── title: [Scalar - String], 2 unique values  # updated = 2
  │                  │                ╰── other_ids: [Dict]  # updated = 2
  │                  ├─── BIBREF79: [Dict]  # updated = 2
  │                  │                ├────── pages: [Scalar - String], 2 unique values  # updated = 2
  │                  │                ├───── volume: [Scalar - String], 2 unique values  # updated = 2
  │                  │                ├────── venue: [Scalar - String], 2 unique values  # updated = 2
  │                  │                ├─────── year: [Scalar - Int64], 2 unique values  # updated = 2
  │                  │                ├─────── issn: [Scalar - String], 2 unique values  # updated = 2
  │                  │                ├──── authors: [List]  # updated = 2
  │                  │                │                ╰── [Dict]  # updated = 5
  │                  │                │                      ┊
  │                  │                ├───── ref_id: [Scalar - String], 1 unique values  # updated = 2
  │                  │                ├────── title: [Scalar - String], 2 unique values  # updated = 2
  │                  │                ╰── other_ids: [Dict]  # updated = 2
  │                  ├── BIBREF153: [Dict]  # updated = 1
  │                  │                ├────── pages: [Scalar - String], 1 unique values  # updated = 1
  │                  │                ├───── volume: [Scalar - String], 1 unique values  # updated = 1
  │                  │                ├────── venue: [Scalar - String], 1 unique values  # updated = 1
  │                  │                ├─────── issn: [Scalar - String], 1 unique values  # updated = 1
  │                  │                ├──── authors: [Empty List]  # updated = 1
  │                  │                │                ╰── Nothing
  │                  │                ├───── ref_id: [Scalar - String], 1 unique values  # updated = 1
  │                  │                ├────── title: [Scalar - String], 1 unique values  # updated = 1
  │                  │                ╰── other_ids: [Dict]  # updated = 1
  │                  ├─── BIBREF84: [Dict]  # updated = 2
  │                  │                ├────── pages: [Scalar - String], 2 unique values  # updated = 2
  │                  │                ├───── volume: [Scalar - String], 2 unique values  # updated = 2
  │                  │                ├────── venue: [Scalar - String], 2 unique values  # updated = 2
  │                  │                ├─────── year: [Scalar - Int64], 2 unique values  # updated = 2
  │                  │                ├─────── issn: [Scalar - String], 2 unique values  # updated = 2
  │                  │                ├──── authors: [List]  # updated = 2
  │                  │                │                ╰── [Dict]  # updated = 16
  │                  │                │                      ┊
  │                  │                ├───── ref_id: [Scalar - String], 1 unique values  # updated = 2
  │                  │                ├────── title: [Scalar - String], 2 unique values  # updated = 2
  │                  │                ╰── other_ids: [Dict]  # updated = 2
  │                  ├──── BIBREF2: [Dict]  # updated = 13
  │                  │                ├────── pages: [Scalar - String], 6 unique values  # updated = 13
  │                  │                ├───── volume: [Scalar - String], 7 unique values  # updated = 13
  │                  │                ├────── venue: [Scalar - String], 10 unique values  # updated = 13
  │                  │                ├─────── year: [Scalar - Int64], 8 unique values  # updated = 12
  │                  │                ├─────── issn: [Scalar - String], 4 unique values  # updated = 13
  │                  │                ├──── authors: [List]  # updated = 13
  │                  │                │                ╰── [Dict]  # updated = 46
  │                  │                │                      ┊
  │                  │                ├───── ref_id: [Scalar - String], 1 unique values  # updated = 13
  │                  │                ├────── title: [Scalar - String], 13 unique values  # updated = 13
  │                  │                ╰── other_ids: [Dict]  # updated = 13
  │                  │                                 ╰── DOI: [List]  # updated = 1
  │                  │                                            ┊
  │                  ┊
  │                  ├─── BIBREF80: [Dict]  # updated = 2
  │                  │                ├────── pages: [Scalar - String], 2 unique values  # updated = 2
  │                  │                ├───── volume: [Scalar - String], 2 unique values  # updated = 2
  │                  │                ├────── venue: [Scalar - String], 2 unique values  # updated = 2
  │                  │                ├─────── year: [Scalar - Int64], 2 unique values  # updated = 2
  │                  │                ├─────── issn: [Scalar - String], 2 unique values  # updated = 2
  │                  │                ├──── authors: [List]  # updated = 2
  │                  │                │                ╰── [Dict]  # updated = 10
  │                  │                │                      ┊
  │                  │                ├───── ref_id: [Scalar - String], 1 unique values  # updated = 2
  │                  │                ├────── title: [Scalar - String], 2 unique values  # updated = 2
  │                  │                ╰── other_ids: [Dict]  # updated = 2
  │                  ╰─── BIBREF42: [Dict]  # updated = 3
  │                                   ├────── pages: [Scalar - String], 3 unique values  # updated = 3
  │                                   ├───── volume: [Scalar - String], 3 unique values  # updated = 3
  │                                   ├────── venue: [Scalar - String], 3 unique values  # updated = 3
  │                                   ├─────── year: [Scalar - Int64], 3 unique values  # updated = 3
  │                                   ├─────── issn: [Scalar - String], 2 unique values  # updated = 3
  │                                   ├──── authors: [List]  # updated = 3
  │                                   │                ╰── [Dict]  # updated = 13
  │                                   │                      ┊
  │                                   ├───── ref_id: [Scalar - String], 1 unique values  # updated = 3
  │                                   ├────── title: [Scalar - String], 3 unique values  # updated = 3
  │                                   ╰── other_ids: [Dict]  # updated = 3
  ╰───── abstract: [List]  # updated = 16
                     ╰── [Dict]  # updated = 22
                           ├──────── text: [Scalar - String], 22 unique values  # updated = 22
                           ├───── section: [Scalar - String], 1 unique values  # updated = 22
                           ├── cite_spans: [Empty List]  # updated = 22
                           │                 ╰── Nothing
                           ╰─── ref_spans: [Empty List]  # updated = 22
                                             ╰── Nothing

The default printing method restricts depth and width of the printed schema. We can see the whole schema using the printtree function from HierarchicalUtils. The htrunc and vtrunc kwargs tell us maximum number of keys and max depth that will be rendered, respectively.

printtree(sch, htrunc=20, vtrunc=20)
[Dict]  # updated = 16
  ├───── metadata: [Dict]  # updated = 16
  │                  ├── authors: [List]  # updated = 16
  │                  │              ╰── [Dict]  # updated = 91
  │                  │                    ├─────── middle: [List]  # updated = 91
  │                  │                    │                  ╰── [Scalar - String], 12 unique values  # updated = 12
  │                  │                    ├──────── first: [Scalar - String], 86 unique values  # updated = 91
  │                  │                    ├─────── suffix: [Scalar - String], 1 unique values  # updated = 91
  │                  │                    ├───────── last: [Scalar - String], 79 unique values  # updated = 91
  │                  │                    ├──────── email: [Scalar - String], 4 unique values  # updated = 91
  │                  │                    ╰── affiliation: [Dict]  # updated = 91
  │                  │                                       ├─── laboratory: [Scalar - String], 5 unique values  # updated = 48
  │                  │                                       ├───── location: [Dict]  # updated = 48
  │                  │                                       │                  ├── settlement: [Scalar - String], 9 unique values  # updated = 29
  │                  │                                       │                  ├──── addrLine: [Scalar - String], 4 unique values  # updated = 15
  │                  │                                       │                  ├───── country: [Scalar - String], 7 unique values  # updated = 40
  │                  │                                       │                  ├──── postCode: [Scalar - String], 4 unique values  # updated = 11
  │                  │                                       │                  ╰────── region: [Scalar - String], 1 unique values  # updated = 1
  │                  │                                       ╰── institution: [Scalar - String], 13 unique values  # updated = 48
  │                  ╰──── title: [Scalar - String], 14 unique values  # updated = 16
  ├── ref_entries: [Dict]  # updated = 16
  │                  ├── TABREF4: [Dict]  # updated = 3
  │                  │              ├── type: [Scalar - String], 1 unique values  # updated = 3
  │                  │              ├── text: [Scalar - String], 3 unique values  # updated = 3
  │                  │              ╰── html: [Scalar - String], 2 unique values  # updated = 2
  │                  ├── FIGREF3: [Dict]  # updated = 3
  │                  │              ├── type: [Scalar - String], 1 unique values  # updated = 3
  │                  │              ╰── text: [Scalar - String], 3 unique values  # updated = 3
  │                  ├── FIGREF2: [Dict]  # updated = 6
  │                  │              ├── type: [Scalar - String], 1 unique values  # updated = 6
  │                  │              ╰── text: [Scalar - String], 6 unique values  # updated = 6
  │                  ├── FIGREF4: [Dict]  # updated = 2
  │                  │              ├── type: [Scalar - String], 1 unique values  # updated = 2
  │                  │              ╰── text: [Scalar - String], 2 unique values  # updated = 2
  │                  ├── TABREF3: [Dict]  # updated = 5
  │                  │              ├── type: [Scalar - String], 1 unique values  # updated = 5
  │                  │              ├── text: [Scalar - String], 5 unique values  # updated = 5
  │                  │              ╰── html: [Scalar - String], 2 unique values  # updated = 2
  │                  ├── TABREF5: [Dict]  # updated = 2
  │                  │              ├── type: [Scalar - String], 1 unique values  # updated = 2
  │                  │              ├── text: [Scalar - String], 2 unique values  # updated = 2
  │                  │              ╰── html: [Scalar - String], 1 unique values  # updated = 1
  │                  ├── TABREF6: [Dict]  # updated = 1
  │                  │              ├── type: [Scalar - String], 1 unique values  # updated = 1
  │                  │              ╰── text: [Scalar - String], 1 unique values  # updated = 1
  │                  ├── TABREF1: [Dict]  # updated = 12
  │                  │              ├── type: [Scalar - String], 1 unique values  # updated = 12
  │                  │              ├── text: [Scalar - String], 12 unique values  # updated = 12
  │                  │              ╰── html: [Scalar - String], 6 unique values  # updated = 6
  │                  ├── TABREF7: [Dict]  # updated = 1
  │                  │              ├── type: [Scalar - String], 1 unique values  # updated = 1
  │                  │              ├── text: [Scalar - String], 1 unique values  # updated = 1
  │                  │              ╰── html: [Scalar - String], 1 unique values  # updated = 1
  │                  ├── FIGREF0: [Dict]  # updated = 12
  │                  │              ├── type: [Scalar - String], 1 unique values  # updated = 12
  │                  │              ╰── text: [Scalar - String], 12 unique values  # updated = 12
  │                  ├── FIGREF1: [Dict]  # updated = 8
  │                  │              ├── type: [Scalar - String], 1 unique values  # updated = 8
  │                  │              ╰── text: [Scalar - String], 8 unique values  # updated = 8
  │                  ├── TABREF0: [Dict]  # updated = 10
  │                  │              ├── type: [Scalar - String], 1 unique values  # updated = 10
  │                  │              ├── text: [Scalar - String], 10 unique values  # updated = 10
  │                  │              ╰── html: [Scalar - String], 1 unique values  # updated = 1
  │                  ╰── TABREF2: [Dict]  # updated = 6
  │                                 ├── type: [Scalar - String], 1 unique values  # updated = 6
  │                                 ├── text: [Scalar - String], 6 unique values  # updated = 6
  │                                 ╰── html: [Scalar - String], 2 unique values  # updated = 2
  ├───── paper_id: [Scalar - String], 16 unique values  # updated = 16
  ├──── body_text: [List]  # updated = 16
  │                  ╰── [Dict]  # updated = 460
  │                        ├──────── text: [Scalar - String], 459 unique values  # updated = 460
  │                        ├───── section: [Scalar - String], 157 unique values  # updated = 460
  │                        ├── cite_spans: [List]  # updated = 460
  │                        │                 ╰── [Dict]  # updated = 478
  │                        │                       ├── ref_id: [Scalar - String], 84 unique values  # updated = 445
  │                        │                       ├─── start: [Scalar - Int64], 413 unique values  # updated = 478
  │                        │                       ├──── text: [Scalar - String], 244 unique values  # updated = 478
  │                        │                       ╰───── end: [Scalar - Int64], 406 unique values  # updated = 478
  │                        ╰─── ref_spans: [List]  # updated = 460
  │                                          ╰── [Dict]  # updated = 98
  │                                                ├── ref_id: [Scalar - String], 10 unique values  # updated = 59
  │                                                ├─── start: [Scalar - Int64], 95 unique values  # updated = 98
  │                                                ├──── text: [Scalar - String], 56 unique values  # updated = 98
  │                                                ╰───── end: [Scalar - Int64], 98 unique values  # updated = 98
  ├── back_matter: [List]  # updated = 16
  │                  ╰── [Dict]  # updated = 24
  │                        ├──────── text: [Scalar - String], 23 unique values  # updated = 24
  │                        ├───── section: [Scalar - String], 21 unique values  # updated = 24
  │                        ├── cite_spans: [List]  # updated = 24
  │                        │                 ╰── [Dict]  # updated = 1
  │                        │                       ├── ref_id: [Scalar - String], 1 unique values  # updated = 1
  │                        │                       ├─── start: [Scalar - Int64], 1 unique values  # updated = 1
  │                        │                       ├──── text: [Scalar - String], 1 unique values  # updated = 1
  │                        │                       ╰───── end: [Scalar - Int64], 1 unique values  # updated = 1
  │                        ╰─── ref_spans: [List]  # updated = 24
  │                                          ╰── [Dict]  # updated = 3
  │                                                ├── start: [Scalar - Int64], 3 unique values  # updated = 3
  │                                                ├─── text: [Scalar - String], 3 unique values  # updated = 3
  │                                                ╰──── end: [Scalar - Int64], 3 unique values  # updated = 3
  ├── bib_entries: [Dict]  # updated = 16
  │                  ├─── BIBREF33: [Dict]  # updated = 4
  │                  │                ├────── pages: [Scalar - String], 3 unique values  # updated = 4
  │                  │                ├───── volume: [Scalar - String], 4 unique values  # updated = 4
  │                  │                ├────── venue: [Scalar - String], 4 unique values  # updated = 4
  │                  │                ├─────── year: [Scalar - Int64], 4 unique values  # updated = 4
  │                  │                ├─────── issn: [Scalar - String], 3 unique values  # updated = 4
  │                  │                ├──── authors: [List]  # updated = 4
  │                  │                │                ╰── [Dict]  # updated = 20
  │                  │                │                      ├── middle: [List]  # updated = 20
  │                  │                │                      │             ╰── [Scalar - String], 4 unique values  # updated = 6
  │                  │                │                      ├─── first: [Scalar - String], 12 unique values  # updated = 20
  │                  │                │                      ├── suffix: [Scalar - String], 1 unique values  # updated = 20
  │                  │                │                      ╰──── last: [Scalar - String], 17 unique values  # updated = 20
  │                  │                ├───── ref_id: [Scalar - String], 1 unique values  # updated = 4
  │                  │                ├────── title: [Scalar - String], 4 unique values  # updated = 4
  │                  │                ╰── other_ids: [Dict]  # updated = 4
  │                  ├─── BIBREF43: [Dict]  # updated = 5
  │                  │                ├────── pages: [Scalar - String], 4 unique values  # updated = 5
  │                  │                ├───── volume: [Scalar - String], 5 unique values  # updated = 5
  │                  │                ├────── venue: [Scalar - String], 5 unique values  # updated = 5
  │                  │                ├─────── year: [Scalar - Int64], 4 unique values  # updated = 4
  │                  │                ├─────── issn: [Scalar - String], 2 unique values  # updated = 5
  │                  │                ├──── authors: [List]  # updated = 5
  │                  │                │                ╰── [Dict]  # updated = 19
  │                  │                │                      ├── middle: [List]  # updated = 19
  │                  │                │                      │             ╰── [Scalar - String], 4 unique values  # updated = 4
  │                  │                │                      ├─── first: [Scalar - String], 11 unique values  # updated = 19
  │                  │                │                      ├── suffix: [Scalar - String], 1 unique values  # updated = 19
  │                  │                │                      ╰──── last: [Scalar - String], 19 unique values  # updated = 19
  │                  │                ├───── ref_id: [Scalar - String], 1 unique values  # updated = 5
  │                  │                ├────── title: [Scalar - String], 5 unique values  # updated = 5
  │                  │                ╰── other_ids: [Dict]  # updated = 5
  │                  │                                 ╰── DOI: [List]  # updated = 1
  │                  │                                            ╰── [Scalar - String], 1 unique values  # updated = 1
  │                  ├── BIBREF127: [Dict]  # updated = 1
  │                  │                ├────── pages: [Scalar - String], 1 unique values  # updated = 1
  │                  │                ├───── volume: [Scalar - String], 1 unique values  # updated = 1
  │                  │                ├────── venue: [Scalar - String], 1 unique values  # updated = 1
  │                  │                ├─────── issn: [Scalar - String], 1 unique values  # updated = 1
  │                  │                ├──── authors: [Empty List]  # updated = 1
  │                  │                │                ╰── Nothing
  │                  │                ├───── ref_id: [Scalar - String], 1 unique values  # updated = 1
  │                  │                ├────── title: [Scalar - String], 1 unique values  # updated = 1
  │                  │                ╰── other_ids: [Dict]  # updated = 1
  │                  ├─── BIBREF67: [Dict]  # updated = 2
  │                  │                ├────── pages: [Scalar - String], 2 unique values  # updated = 2
  │                  │                ├───── volume: [Scalar - String], 2 unique values  # updated = 2
  │                  │                ├────── venue: [Scalar - String], 2 unique values  # updated = 2
  │                  │                ├─────── year: [Scalar - Int64], 2 unique values  # updated = 2
  │                  │                ├─────── issn: [Scalar - String], 2 unique values  # updated = 2
  │                  │                ├──── authors: [List]  # updated = 2
  │                  │                │                ╰── [Dict]  # updated = 13
  │                  │                │                      ├── middle: [List]  # updated = 13
  │                  │                │                      │             ╰── [Scalar - String], 6 unique values  # updated = 7
  │                  │                │                      ├─── first: [Scalar - String], 9 unique values  # updated = 13
  │                  │                │                      ├── suffix: [Scalar - String], 1 unique values  # updated = 13
  │                  │                │                      ╰──── last: [Scalar - String], 12 unique values  # updated = 13
  │                  │                ├───── ref_id: [Scalar - String], 1 unique values  # updated = 2
  │                  │                ├────── title: [Scalar - String], 2 unique values  # updated = 2
  │                  │                ╰── other_ids: [Dict]  # updated = 2
  │                  ├─── BIBREF79: [Dict]  # updated = 2
  │                  │                ├────── pages: [Scalar - String], 2 unique values  # updated = 2
  │                  │                ├───── volume: [Scalar - String], 2 unique values  # updated = 2
  │                  │                ├────── venue: [Scalar - String], 2 unique values  # updated = 2
  │                  │                ├─────── year: [Scalar - Int64], 2 unique values  # updated = 2
  │                  │                ├─────── issn: [Scalar - String], 2 unique values  # updated = 2
  │                  │                ├──── authors: [List]  # updated = 2
  │                  │                │                ╰── [Dict]  # updated = 5
  │                  │                │                      ├── middle: [List]  # updated = 5
  │                  │                │                      │             ╰── [Scalar - String], 2 unique values  # updated = 2
  │                  │                │                      ├─── first: [Scalar - String], 5 unique values  # updated = 5
  │                  │                │                      ├── suffix: [Scalar - String], 1 unique values  # updated = 5
  │                  │                │                      ╰──── last: [Scalar - String], 5 unique values  # updated = 5
  │                  │                ├───── ref_id: [Scalar - String], 1 unique values  # updated = 2
  │                  │                ├────── title: [Scalar - String], 2 unique values  # updated = 2
  │                  │                ╰── other_ids: [Dict]  # updated = 2
  │                  ├── BIBREF153: [Dict]  # updated = 1
  │                  │                ├────── pages: [Scalar - String], 1 unique values  # updated = 1
  │                  │                ├───── volume: [Scalar - String], 1 unique values  # updated = 1
  │                  │                ├────── venue: [Scalar - String], 1 unique values  # updated = 1
  │                  │                ├─────── issn: [Scalar - String], 1 unique values  # updated = 1
  │                  │                ├──── authors: [Empty List]  # updated = 1
  │                  │                │                ╰── Nothing
  │                  │                ├───── ref_id: [Scalar - String], 1 unique values  # updated = 1
  │                  │                ├────── title: [Scalar - String], 1 unique values  # updated = 1
  │                  │                ╰── other_ids: [Dict]  # updated = 1
  │                  ├─── BIBREF84: [Dict]  # updated = 2
  │                  │                ├────── pages: [Scalar - String], 2 unique values  # updated = 2
  │                  │                ├───── volume: [Scalar - String], 2 unique values  # updated = 2
  │                  │                ├────── venue: [Scalar - String], 2 unique values  # updated = 2
  │                  │                ├─────── year: [Scalar - Int64], 2 unique values  # updated = 2
  │                  │                ├─────── issn: [Scalar - String], 2 unique values  # updated = 2
  │                  │                ├──── authors: [List]  # updated = 2
  │                  │                │                ╰── [Dict]  # updated = 16
  │                  │                │                      ├── middle: [List]  # updated = 16
  │                  │                │                      │             ╰── [Scalar - String], 6 unique values  # updated = 6
  │                  │                │                      ├─── first: [Scalar - String], 8 unique values  # updated = 16
  │                  │                │                      ├── suffix: [Scalar - String], 1 unique values  # updated = 16
  │                  │                │                      ╰──── last: [Scalar - String], 16 unique values  # updated = 16
  │                  │                ├───── ref_id: [Scalar - String], 1 unique values  # updated = 2
  │                  │                ├────── title: [Scalar - String], 2 unique values  # updated = 2
  │                  │                ╰── other_ids: [Dict]  # updated = 2
  │                  ├──── BIBREF2: [Dict]  # updated = 13
  │                  │                ├────── pages: [Scalar - String], 6 unique values  # updated = 13
  │                  │                ├───── volume: [Scalar - String], 7 unique values  # updated = 13
  │                  │                ├────── venue: [Scalar - String], 10 unique values  # updated = 13
  │                  │                ├─────── year: [Scalar - Int64], 8 unique values  # updated = 12
  │                  │                ├─────── issn: [Scalar - String], 4 unique values  # updated = 13
  │                  │                ├──── authors: [List]  # updated = 13
  │                  │                │                ╰── [Dict]  # updated = 46
  │                  │                │                      ├── middle: [List]  # updated = 46
  │                  │                │                      │             ╰── [Scalar - String], 15 unique values  # updated = 26
  │                  │                │                      ├─── first: [Scalar - String], 19 unique values  # updated = 46
  │                  │                │                      ├── suffix: [Scalar - String], 1 unique values  # updated = 46
  │                  │                │                      ╰──── last: [Scalar - String], 44 unique values  # updated = 46
  │                  │                ├───── ref_id: [Scalar - String], 1 unique values  # updated = 13
  │                  │                ├────── title: [Scalar - String], 13 unique values  # updated = 13
  │                  │                ╰── other_ids: [Dict]  # updated = 13
  │                  │                                 ╰── DOI: [List]  # updated = 1
  │                  │                                            ╰── [Scalar - String], 1 unique values  # updated = 1
  │                  ├── BIBREF223: [Dict]  # updated = 1
  │                  │                ├────── pages: [Scalar - String], 1 unique values  # updated = 1
  │                  │                ├───── volume: [Scalar - String], 1 unique values  # updated = 1
  │                  │                ├────── venue: [Scalar - String], 1 unique values  # updated = 1
  │                  │                ├─────── issn: [Scalar - String], 1 unique values  # updated = 1
  │                  │                ├──── authors: [Empty List]  # updated = 1
  │                  │                │                ╰── Nothing
  │                  │                ├───── ref_id: [Scalar - String], 1 unique values  # updated = 1
  │                  │                ├────── title: [Scalar - String], 1 unique values  # updated = 1
  │                  │                ╰── other_ids: [Dict]  # updated = 1
  │                  ├─── BIBREF38: [Dict]  # updated = 4
  │                  │                ├────── pages: [Scalar - String], 3 unique values  # updated = 4
  │                  │                ├───── volume: [Scalar - String], 3 unique values  # updated = 4
  │                  │                ├────── venue: [Scalar - String], 3 unique values  # updated = 4
  │                  │                ├─────── year: [Scalar - Int64], 2 unique values  # updated = 2
  │                  │                ├─────── issn: [Scalar - String], 3 unique values  # updated = 4
  │                  │                ├──── authors: [List]  # updated = 4
  │                  │                │                ╰── [Dict]  # updated = 16
  │                  │                │                      ├── middle: [List]  # updated = 16
  │                  │                │                      │             ╰── [Scalar - String], 5 unique values  # updated = 6
  │                  │                │                      ├─── first: [Scalar - String], 8 unique values  # updated = 16
  │                  │                │                      ├── suffix: [Scalar - String], 1 unique values  # updated = 16
  │                  │                │                      ╰──── last: [Scalar - String], 16 unique values  # updated = 16
  │                  │                ├───── ref_id: [Scalar - String], 1 unique values  # updated = 4
  │                  │                ├────── title: [Scalar - String], 4 unique values  # updated = 4
  │                  │                ╰── other_ids: [Dict]  # updated = 4
  │                  │                                 ╰── DOI: [List]  # updated = 1
  │                  │                                            ╰── [Scalar - String], 1 unique values  # updated = 1
  │                  ├── BIBREF170: [Dict]  # updated = 1
  │                  │                ├────── pages: [Scalar - String], 1 unique values  # updated = 1
  │                  │                ├───── volume: [Scalar - String], 1 unique values  # updated = 1
  │                  │                ├────── venue: [Scalar - String], 1 unique values  # updated = 1
  │                  │                ├─────── issn: [Scalar - String], 1 unique values  # updated = 1
  │                  │                ├──── authors: [Empty List]  # updated = 1
  │                  │                │                ╰── Nothing
  │                  │                ├───── ref_id: [Scalar - String], 1 unique values  # updated = 1
  │                  │                ├────── title: [Scalar - String], 1 unique values  # updated = 1
  │                  │                ╰── other_ids: [Dict]  # updated = 1
  │                  ├─── BIBREF18: [Dict]  # updated = 9
  │                  │                ├────── pages: [Scalar - String], 7 unique values  # updated = 9
  │                  │                ├───── volume: [Scalar - String], 9 unique values  # updated = 9
  │                  │                ├────── venue: [Scalar - String], 7 unique values  # updated = 9
  │                  │                ├─────── year: [Scalar - Int64], 7 unique values  # updated = 9
  │                  │                ├─────── issn: [Scalar - String], 3 unique values  # updated = 9
  │                  │                ├──── authors: [List]  # updated = 9
  │                  │                │                ╰── [Dict]  # updated = 42
  │                  │                │                      ├── middle: [List]  # updated = 42
  │                  │                │                      │             ╰── [Scalar - String], 5 unique values  # updated = 8
  │                  │                │                      ├─── first: [Scalar - String], 21 unique values  # updated = 42
  │                  │                │                      ├── suffix: [Scalar - String], 1 unique values  # updated = 42
  │                  │                │                      ╰──── last: [Scalar - String], 39 unique values  # updated = 42
  │                  │                ├───── ref_id: [Scalar - String], 1 unique values  # updated = 9
  │                  │                ├────── title: [Scalar - String], 9 unique values  # updated = 9
  │                  │                ╰── other_ids: [Dict]  # updated = 9
  │                  │                                 ╰── DOI: [List]  # updated = 3
  │                  │                                            ╰── [Scalar - String], 3 unique values  # updated = 3
  │                  ├─── BIBREF17: [Dict]  # updated = 9
  │                  │                ├────── pages: [Scalar - String], 4 unique values  # updated = 9
  │                  │                ├───── volume: [Scalar - String], 8 unique values  # updated = 9
  │                  │                ├────── venue: [Scalar - String], 8 unique values  # updated = 9
  │                  │                ├─────── year: [Scalar - Int64], 8 unique values  # updated = 9
  │                  │                ├─────── issn: [Scalar - String], 2 unique values  # updated = 9
  │                  │                ├──── authors: [List]  # updated = 9
  │                  │                │                ╰── [Dict]  # updated = 41
  │                  │                │                      ├── middle: [List]  # updated = 41
  │                  │                │                      │             ╰── [Scalar - String], 8 unique values  # updated = 13
  │                  │                │                      ├─── first: [Scalar - String], 20 unique values  # updated = 41
  │                  │                │                      ├── suffix: [Scalar - String], 1 unique values  # updated = 41
  │                  │                │                      ╰──── last: [Scalar - String], 39 unique values  # updated = 41
  │                  │                ├───── ref_id: [Scalar - String], 1 unique values  # updated = 9
  │                  │                ├────── title: [Scalar - String], 9 unique values  # updated = 9
  │                  │                ╰── other_ids: [Dict]  # updated = 9
  │                  │                                 ╰── DOI: [List]  # updated = 2
  │                  │                                            ╰── [Scalar - String], 2 unique values  # updated = 2
  │                  ├─── BIBREF72: [Dict]  # updated = 3
  │                  │                ├────── pages: [Scalar - String], 2 unique values  # updated = 3
  │                  │                ├───── volume: [Scalar - String], 3 unique values  # updated = 3
  │                  │                ├────── venue: [Scalar - String], 3 unique values  # updated = 3
  │                  │                ├─────── year: [Scalar - Int64], 2 unique values  # updated = 2
  │                  │                ├─────── issn: [Scalar - String], 2 unique values  # updated = 3
  │                  │                ├──── authors: [List]  # updated = 3
  │                  │                │                ╰── [Dict]  # updated = 12
  │                  │                │                      ├── middle: [List]  # updated = 12
  │                  │                │                      │             ╰── [Scalar - String], 4 unique values  # updated = 5
  │                  │                │                      ├─── first: [Scalar - String], 10 unique values  # updated = 12
  │                  │                │                      ├── suffix: [Scalar - String], 1 unique values  # updated = 12
  │                  │                │                      ╰──── last: [Scalar - String], 12 unique values  # updated = 12
  │                  │                ├───── ref_id: [Scalar - String], 1 unique values  # updated = 3
  │                  │                ├────── title: [Scalar - String], 3 unique values  # updated = 3
  │                  │                ╰── other_ids: [Dict]  # updated = 3
  │                  ├─── BIBREF14: [Dict]  # updated = 8
  │                  │                ├────── pages: [Scalar - String], 8 unique values  # updated = 8
  │                  │                ├───── volume: [Scalar - String], 8 unique values  # updated = 8
  │                  │                ├────── venue: [Scalar - String], 8 unique values  # updated = 8
  │                  │                ├─────── year: [Scalar - Int64], 6 unique values  # updated = 8
  │                  │                ├─────── issn: [Scalar - String], 3 unique values  # updated = 8
  │                  │                ├──── authors: [List]  # updated = 8
  │                  │                │                ╰── [Dict]  # updated = 52
  │                  │                │                      ├── middle: [List]  # updated = 52
  │                  │                │                      │             ╰── [Scalar - String], 10 unique values  # updated = 19
  │                  │                │                      ├─── first: [Scalar - String], 17 unique values  # updated = 52
  │                  │                │                      ├── suffix: [Scalar - String], 1 unique values  # updated = 52
  │                  │                │                      ╰──── last: [Scalar - String], 52 unique values  # updated = 52
  │                  │                ├───── ref_id: [Scalar - String], 1 unique values  # updated = 8
  │                  │                ├────── title: [Scalar - String], 8 unique values  # updated = 8
  │                  │                ╰── other_ids: [Dict]  # updated = 8
  │                  │                                 ╰── DOI: [List]  # updated = 4
  │                  │                                            ╰── [Scalar - String], 4 unique values  # updated = 4
  │                  ├─── BIBREF74: [Dict]  # updated = 1
  │                  │                ├────── pages: [Scalar - String], 1 unique values  # updated = 1
  │                  │                ├───── volume: [Scalar - String], 1 unique values  # updated = 1
  │                  │                ├────── venue: [Scalar - String], 1 unique values  # updated = 1
  │                  │                ├─────── year: [Scalar - Int64], 1 unique values  # updated = 1
  │                  │                ├─────── issn: [Scalar - String], 1 unique values  # updated = 1
  │                  │                ├──── authors: [List]  # updated = 1
  │                  │                │                ╰── [Dict]  # updated = 3
  │                  │                │                      ├── middle: [List]  # updated = 3
  │                  │                │                      │             ╰── [Scalar - String], 2 unique values  # updated = 3
  │                  │                │                      ├─── first: [Scalar - String], 2 unique values  # updated = 3
  │                  │                │                      ├── suffix: [Scalar - String], 1 unique values  # updated = 3
  │                  │                │                      ╰──── last: [Scalar - String], 3 unique values  # updated = 3
  │                  │                ├───── ref_id: [Scalar - String], 1 unique values  # updated = 1
  │                  │                ├────── title: [Scalar - String], 1 unique values  # updated = 1
  │                  │                ╰── other_ids: [Dict]  # updated = 1
  │                  ├─── BIBREF88: [Dict]  # updated = 1
  │                  │                ├────── pages: [Scalar - String], 1 unique values  # updated = 1
  │                  │                ├───── volume: [Scalar - String], 1 unique values  # updated = 1
  │                  │                ├────── venue: [Scalar - String], 1 unique values  # updated = 1
  │                  │                ├─────── issn: [Scalar - String], 1 unique values  # updated = 1
  │                  │                ├──── authors: [List]  # updated = 1
  │                  │                │                ╰── [Dict]  # updated = 2
  │                  │                │                      ├── middle: [List]  # updated = 2
  │                  │                │                      │             ╰── [Scalar - String], 1 unique values  # updated = 2
  │                  │                │                      ├─── first: [Scalar - String], 2 unique values  # updated = 2
  │                  │                │                      ├── suffix: [Scalar - String], 1 unique values  # updated = 2
  │                  │                │                      ╰──── last: [Scalar - String], 2 unique values  # updated = 2
  │                  │                ├───── ref_id: [Scalar - String], 1 unique values  # updated = 1
  │                  │                ├────── title: [Scalar - String], 1 unique values  # updated = 1
  │                  │                ╰── other_ids: [Dict]  # updated = 1
  │                  ├─── BIBREF21: [Dict]  # updated = 8
  │                  │                ├────── pages: [Scalar - String], 4 unique values  # updated = 8
  │                  │                ├───── volume: [Scalar - String], 8 unique values  # updated = 8
  │                  │                ├────── venue: [Scalar - String], 8 unique values  # updated = 8
  │                  │                ├─────── year: [Scalar - Int64], 7 unique values  # updated = 8
  │                  │                ├─────── issn: [Scalar - String], 2 unique values  # updated = 8
  │                  │                ├──── authors: [List]  # updated = 8
  │                  │                │                ╰── [Dict]  # updated = 29
  │                  │                │                      ├── middle: [List]  # updated = 29
  │                  │                │                      │             ╰── [Scalar - String], 6 unique values  # updated = 7
  │                  │                │                      ├─── first: [Scalar - String], 14 unique values  # updated = 29
  │                  │                │                      ├── suffix: [Scalar - String], 1 unique values  # updated = 29
  │                  │                │                      ╰──── last: [Scalar - String], 27 unique values  # updated = 29
  │                  │                ├───── ref_id: [Scalar - String], 1 unique values  # updated = 8
  │                  │                ├────── title: [Scalar - String], 8 unique values  # updated = 8
  │                  │                ╰── other_ids: [Dict]  # updated = 8
  │                  │                                 ╰── DOI: [List]  # updated = 2
  │                  │                                            ╰── [Scalar - String], 2 unique values  # updated = 2
  │                  ┊
  │                  ├─── BIBREF80: [Dict]  # updated = 2
  │                  │                ├────── pages: [Scalar - String], 2 unique values  # updated = 2
  │                  │                ├───── volume: [Scalar - String], 2 unique values  # updated = 2
  │                  │                ├────── venue: [Scalar - String], 2 unique values  # updated = 2
  │                  │                ├─────── year: [Scalar - Int64], 2 unique values  # updated = 2
  │                  │                ├─────── issn: [Scalar - String], 2 unique values  # updated = 2
  │                  │                ├──── authors: [List]  # updated = 2
  │                  │                │                ╰── [Dict]  # updated = 10
  │                  │                │                      ├── middle: [List]  # updated = 10
  │                  │                │                      │             ╰── [Scalar - String], 3 unique values  # updated = 3
  │                  │                │                      ├─── first: [Scalar - String], 9 unique values  # updated = 10
  │                  │                │                      ├── suffix: [Scalar - String], 1 unique values  # updated = 10
  │                  │                │                      ╰──── last: [Scalar - String], 10 unique values  # updated = 10
  │                  │                ├───── ref_id: [Scalar - String], 1 unique values  # updated = 2
  │                  │                ├────── title: [Scalar - String], 2 unique values  # updated = 2
  │                  │                ╰── other_ids: [Dict]  # updated = 2
  │                  ╰─── BIBREF42: [Dict]  # updated = 3
  │                                   ├────── pages: [Scalar - String], 3 unique values  # updated = 3
  │                                   ├───── volume: [Scalar - String], 3 unique values  # updated = 3
  │                                   ├────── venue: [Scalar - String], 3 unique values  # updated = 3
  │                                   ├─────── year: [Scalar - Int64], 3 unique values  # updated = 3
  │                                   ├─────── issn: [Scalar - String], 2 unique values  # updated = 3
  │                                   ├──── authors: [List]  # updated = 3
  │                                   │                ╰── [Dict]  # updated = 13
  │                                   │                      ├── middle: [List]  # updated = 13
  │                                   │                      │             ╰── [Scalar - String], 5 unique values  # updated = 5
  │                                   │                      ├─── first: [Scalar - String], 10 unique values  # updated = 13
  │                                   │                      ├── suffix: [Scalar - String], 1 unique values  # updated = 13
  │                                   │                      ╰──── last: [Scalar - String], 13 unique values  # updated = 13
  │                                   ├───── ref_id: [Scalar - String], 1 unique values  # updated = 3
  │                                   ├────── title: [Scalar - String], 3 unique values  # updated = 3
  │                                   ╰── other_ids: [Dict]  # updated = 3
  ╰───── abstract: [List]  # updated = 16
                     ╰── [Dict]  # updated = 22
                           ├──────── text: [Scalar - String], 22 unique values  # updated = 22
                           ├───── section: [Scalar - String], 1 unique values  # updated = 22
                           ├── cite_spans: [Empty List]  # updated = 22
                           │                 ╰── Nothing
                           ╰─── ref_spans: [Empty List]  # updated = 22
                                             ╰── Nothing

We suggest default extractor.

extractor = suggestextractor(sch)
Dict
  ├───── metadata: Dict
  │                  ├── authors: Array of
  │                  │              ╰── Dict
  │                  │                    ├─────── middle: Array of
  │                  │                    │                  ┊
  │                  │                    ├──────── first: Categorical d = 87
  │                  │                    ├─────── suffix: Categorical d = 2
  │                  │                    ├───────── last: Categorical d = 80
  │                  │                    ├──────── email: Categorical d = 5
  │                  │                    ╰── affiliation: Dict
  │                  │                                       ┊
  │                  ╰──── title: Categorical d = 15
  ├── ref_entries: Dict
  │                  ├── TABREF5: Dict
  │                  │              ├── type: Categorical d = 2
  │                  │              ├── text: Categorical d = 3
  │                  │              ╰── html: Categorical d = 2
  │                  ├── TABREF4: Dict
  │                  │              ├── type: Categorical d = 2
  │                  │              ├── text: Categorical d = 4
  │                  │              ╰── html: Categorical d = 3
  │                  ├── TABREF6: Dict
  │                  │              ├── type: Categorical d = 2
  │                  │              ╰── text: Categorical d = 2
  │                  ├── FIGREF3: Dict
  │                  │              ├── type: Categorical d = 2
  │                  │              ╰── text: Categorical d = 4
  │                  ├── FIGREF2: Dict
  │                  │              ├── type: Categorical d = 2
  │                  │              ╰── text: Categorical d = 7
  │                  ├── FIGREF4: Dict
  │                  │              ├── type: Categorical d = 2
  │                  │              ╰── text: Categorical d = 3
  │                  ├── TABREF1: Dict
  │                  │              ├── type: Categorical d = 2
  │                  │              ├── text: Categorical d = 13
  │                  │              ╰── html: Categorical d = 7
  │                  ├── TABREF7: Dict
  │                  │              ├── type: Categorical d = 2
  │                  │              ├── text: Categorical d = 2
  │                  │              ╰── html: Categorical d = 2
  │                  ┊
  │                  ├── TABREF0: Dict
  │                  │              ├── type: Categorical d = 2
  │                  │              ├── text: Categorical d = 11
  │                  │              ╰── html: Categorical d = 2
  │                  ╰── TABREF2: Dict
  │                                 ├── type: Categorical d = 2
  │                                 ├── text: Categorical d = 7
  │                                 ╰── html: Categorical d = 3
  ├───── paper_id: Categorical d = 17
  ├──── body_text: Array of
  │                  ╰── Dict
  │                        ├──────── text: String
  │                        ├───── section: String
  │                        ├── cite_spans: Array of
  │                        │                 ╰── Dict
  │                        │                       ┊
  │                        ╰─── ref_spans: Array of
  │                                          ╰── Dict
  │                                                ┊
  ├── back_matter: Array of
  │                  ╰── Dict
  │                        ├──────── text: Categorical d = 24
  │                        ├───── section: Categorical d = 22
  │                        ├── cite_spans: Array of
  │                        │                 ╰── Dict
  │                        │                       ┊
  │                        ╰─── ref_spans: Array of
  │                                          ╰── Dict
  │                                                ┊
  ├── bib_entries: Dict
  │                  ├─── BIBREF33: Dict
  │                  │                ├──── pages: Categorical d = 4
  │                  │                ├─── volume: Categorical d = 5
  │                  │                ├──── venue: Categorical d = 5
  │                  │                ├───── year: Categorical d = 5
  │                  │                ├───── issn: Categorical d = 4
  │                  │                ├── authors: Array of
  │                  │                │              ╰── Dict
  │                  │                │                    ┊
  │                  │                ├─── ref_id: Categorical d = 2
  │                  │                ╰──── title: Categorical d = 5
  │                  ├─── BIBREF43: Dict
  │                  │                ├────── pages: Categorical d = 5
  │                  │                ├───── volume: Categorical d = 6
  │                  │                ├────── venue: Categorical d = 6
  │                  │                ├─────── year: Categorical d = 5
  │                  │                ├─────── issn: Categorical d = 3
  │                  │                ├──── authors: Array of
  │                  │                │                ╰── Dict
  │                  │                │                      ┊
  │                  │                ├───── ref_id: Categorical d = 2
  │                  │                ├────── title: Categorical d = 6
  │                  │                ╰── other_ids: Dict
  │                  │                                 ╰── DOI: Array of
  │                  │                                            ┊
  │                  ├── BIBREF127: Dict
  │                  │                ├─── pages: Categorical d = 2
  │                  │                ├── volume: Categorical d = 2
  │                  │                ├─── venue: Categorical d = 2
  │                  │                ├──── issn: Categorical d = 2
  │                  │                ├── ref_id: Categorical d = 2
  │                  │                ╰─── title: Categorical d = 2
  │                  ├─── BIBREF67: Dict
  │                  │                ├──── pages: Categorical d = 3
  │                  │                ├─── volume: Categorical d = 3
  │                  │                ├──── venue: Categorical d = 3
  │                  │                ├───── year: Categorical d = 3
  │                  │                ├───── issn: Categorical d = 3
  │                  │                ├── authors: Array of
  │                  │                │              ╰── Dict
  │                  │                │                    ┊
  │                  │                ├─── ref_id: Categorical d = 2
  │                  │                ╰──── title: Categorical d = 3
  │                  ├─── BIBREF79: Dict
  │                  │                ├──── pages: Categorical d = 3
  │                  │                ├─── volume: Categorical d = 3
  │                  │                ├──── venue: Categorical d = 3
  │                  │                ├───── year: Categorical d = 3
  │                  │                ├───── issn: Categorical d = 3
  │                  │                ├── authors: Array of
  │                  │                │              ╰── Dict
  │                  │                │                    ┊
  │                  │                ├─── ref_id: Categorical d = 2
  │                  │                ╰──── title: Categorical d = 3
  │                  ├── BIBREF153: Dict
  │                  │                ├─── pages: Categorical d = 2
  │                  │                ├── volume: Categorical d = 2
  │                  │                ├─── venue: Categorical d = 2
  │                  │                ├──── issn: Categorical d = 2
  │                  │                ├── ref_id: Categorical d = 2
  │                  │                ╰─── title: Categorical d = 2
  │                  ├─── BIBREF84: Dict
  │                  │                ├──── pages: Categorical d = 3
  │                  │                ├─── volume: Categorical d = 3
  │                  │                ├──── venue: Categorical d = 3
  │                  │                ├───── year: Categorical d = 3
  │                  │                ├───── issn: Categorical d = 3
  │                  │                ├── authors: Array of
  │                  │                │              ╰── Dict
  │                  │                │                    ┊
  │                  │                ├─── ref_id: Categorical d = 2
  │                  │                ╰──── title: Categorical d = 3
  │                  ├──── BIBREF2: Dict
  │                  │                ├────── pages: Categorical d = 7
  │                  │                ├───── volume: Categorical d = 8
  │                  │                ├────── venue: Categorical d = 11
  │                  │                ├─────── year: Categorical d = 9
  │                  │                ├─────── issn: Categorical d = 5
  │                  │                ├──── authors: Array of
  │                  │                │                ╰── Dict
  │                  │                │                      ┊
  │                  │                ├───── ref_id: Categorical d = 2
  │                  │                ├────── title: Categorical d = 14
  │                  │                ╰── other_ids: Dict
  │                  │                                 ╰── DOI: Array of
  │                  │                                            ┊
  │                  ┊
  │                  ├─── BIBREF80: Dict
  │                  │                ├──── pages: Categorical d = 3
  │                  │                ├─── volume: Categorical d = 3
  │                  │                ├──── venue: Categorical d = 3
  │                  │                ├───── year: Categorical d = 3
  │                  │                ├───── issn: Categorical d = 3
  │                  │                ├── authors: Array of
  │                  │                │              ╰── Dict
  │                  │                │                    ┊
  │                  │                ├─── ref_id: Categorical d = 2
  │                  │                ╰──── title: Categorical d = 3
  │                  ╰─── BIBREF42: Dict
  │                                   ├──── pages: Categorical d = 4
  │                                   ├─── volume: Categorical d = 4
  │                                   ├──── venue: Categorical d = 4
  │                                   ├───── year: Categorical d = 4
  │                                   ├───── issn: Categorical d = 3
  │                                   ├── authors: Array of
  │                                   │              ╰── Dict
  │                                   │                    ┊
  │                                   ├─── ref_id: Categorical d = 2
  │                                   ╰──── title: Categorical d = 4
  ╰───── abstract: Array of
                     ╰── Dict
                           ├───── text: Categorical d = 23
                           ╰── section: Categorical d = 2

We show the almost whole extractor. Feel free to remove the htrunc and vtrunc kwargs if you want to see it whole.

printtree(extractor, htrunc=20, vtrunc=20)
Dict
  ├───── metadata: Dict
  │                  ├── authors: Array of
  │                  │              ╰── Dict
  │                  │                    ├─────── middle: Array of
  │                  │                    │                  ╰── Categorical d = 13
  │                  │                    ├──────── first: Categorical d = 87
  │                  │                    ├─────── suffix: Categorical d = 2
  │                  │                    ├───────── last: Categorical d = 80
  │                  │                    ├──────── email: Categorical d = 5
  │                  │                    ╰── affiliation: Dict
  │                  │                                       ├─── laboratory: Categorical d = 6
  │                  │                                       ├───── location: Dict
  │                  │                                       │                  ├── settlement: Categorical d = 10
  │                  │                                       │                  ├──── addrLine: Categorical d = 5
  │                  │                                       │                  ├───── country: Categorical d = 8
  │                  │                                       │                  ├──── postCode: Categorical d = 5
  │                  │                                       │                  ╰────── region: Categorical d = 2
  │                  │                                       ╰── institution: Categorical d = 14
  │                  ╰──── title: Categorical d = 15
  ├── ref_entries: Dict
  │                  ├── TABREF5: Dict
  │                  │              ├── type: Categorical d = 2
  │                  │              ├── text: Categorical d = 3
  │                  │              ╰── html: Categorical d = 2
  │                  ├── TABREF4: Dict
  │                  │              ├── type: Categorical d = 2
  │                  │              ├── text: Categorical d = 4
  │                  │              ╰── html: Categorical d = 3
  │                  ├── TABREF6: Dict
  │                  │              ├── type: Categorical d = 2
  │                  │              ╰── text: Categorical d = 2
  │                  ├── FIGREF3: Dict
  │                  │              ├── type: Categorical d = 2
  │                  │              ╰── text: Categorical d = 4
  │                  ├── FIGREF2: Dict
  │                  │              ├── type: Categorical d = 2
  │                  │              ╰── text: Categorical d = 7
  │                  ├── FIGREF4: Dict
  │                  │              ├── type: Categorical d = 2
  │                  │              ╰── text: Categorical d = 3
  │                  ├── TABREF1: Dict
  │                  │              ├── type: Categorical d = 2
  │                  │              ├── text: Categorical d = 13
  │                  │              ╰── html: Categorical d = 7
  │                  ├── TABREF7: Dict
  │                  │              ├── type: Categorical d = 2
  │                  │              ├── text: Categorical d = 2
  │                  │              ╰── html: Categorical d = 2
  │                  ├── TABREF3: Dict
  │                  │              ├── type: Categorical d = 2
  │                  │              ├── text: Categorical d = 6
  │                  │              ╰── html: Categorical d = 3
  │                  ├── FIGREF0: Dict
  │                  │              ├── type: Categorical d = 2
  │                  │              ╰── text: Categorical d = 13
  │                  ├── FIGREF1: Dict
  │                  │              ├── type: Categorical d = 2
  │                  │              ╰── text: Categorical d = 9
  │                  ├── TABREF0: Dict
  │                  │              ├── type: Categorical d = 2
  │                  │              ├── text: Categorical d = 11
  │                  │              ╰── html: Categorical d = 2
  │                  ╰── TABREF2: Dict
  │                                 ├── type: Categorical d = 2
  │                                 ├── text: Categorical d = 7
  │                                 ╰── html: Categorical d = 3
  ├───── paper_id: Categorical d = 17
  ├──── body_text: Array of
  │                  ╰── Dict
  │                        ├──────── text: String
  │                        ├───── section: String
  │                        ├── cite_spans: Array of
  │                        │                 ╰── Dict
  │                        │                       ├── ref_id: Categorical d = 85
  │                        │                       ├─── start: Float32
  │                        │                       ├──── text: String
  │                        │                       ╰───── end: Float32
  │                        ╰─── ref_spans: Array of
  │                                          ╰── Dict
  │                                                ├── ref_id: Categorical d = 11
  │                                                ├─── start: Categorical d = 96
  │                                                ├──── text: Categorical d = 57
  │                                                ╰───── end: Categorical d = 99
  ├── back_matter: Array of
  │                  ╰── Dict
  │                        ├──────── text: Categorical d = 24
  │                        ├───── section: Categorical d = 22
  │                        ├── cite_spans: Array of
  │                        │                 ╰── Dict
  │                        │                       ├── ref_id: Categorical d = 2
  │                        │                       ├─── start: Categorical d = 2
  │                        │                       ├──── text: Categorical d = 2
  │                        │                       ╰───── end: Categorical d = 2
  │                        ╰─── ref_spans: Array of
  │                                          ╰── Dict
  │                                                ├── start: Categorical d = 4
  │                                                ├─── text: Categorical d = 4
  │                                                ╰──── end: Categorical d = 4
  ├── bib_entries: Dict
  │                  ├─── BIBREF33: Dict
  │                  │                ├──── pages: Categorical d = 4
  │                  │                ├─── volume: Categorical d = 5
  │                  │                ├──── venue: Categorical d = 5
  │                  │                ├───── year: Categorical d = 5
  │                  │                ├───── issn: Categorical d = 4
  │                  │                ├── authors: Array of
  │                  │                │              ╰── Dict
  │                  │                │                    ├── middle: Array of
  │                  │                │                    │             ╰── Categorical d = 5
  │                  │                │                    ├─── first: Categorical d = 13
  │                  │                │                    ├── suffix: Categorical d = 2
  │                  │                │                    ╰──── last: Categorical d = 18
  │                  │                ├─── ref_id: Categorical d = 2
  │                  │                ╰──── title: Categorical d = 5
  │                  ├─── BIBREF43: Dict
  │                  │                ├────── pages: Categorical d = 5
  │                  │                ├───── volume: Categorical d = 6
  │                  │                ├────── venue: Categorical d = 6
  │                  │                ├─────── year: Categorical d = 5
  │                  │                ├─────── issn: Categorical d = 3
  │                  │                ├──── authors: Array of
  │                  │                │                ╰── Dict
  │                  │                │                      ├── middle: Array of
  │                  │                │                      │             ╰── Categorical d = 5
  │                  │                │                      ├─── first: Categorical d = 12
  │                  │                │                      ├── suffix: Categorical d = 2
  │                  │                │                      ╰──── last: Categorical d = 20
  │                  │                ├───── ref_id: Categorical d = 2
  │                  │                ├────── title: Categorical d = 6
  │                  │                ╰── other_ids: Dict
  │                  │                                 ╰── DOI: Array of
  │                  │                                            ╰── Categorical d = 2
  │                  ├── BIBREF127: Dict
  │                  │                ├─── pages: Categorical d = 2
  │                  │                ├── volume: Categorical d = 2
  │                  │                ├─── venue: Categorical d = 2
  │                  │                ├──── issn: Categorical d = 2
  │                  │                ├── ref_id: Categorical d = 2
  │                  │                ╰─── title: Categorical d = 2
  │                  ├─── BIBREF67: Dict
  │                  │                ├──── pages: Categorical d = 3
  │                  │                ├─── volume: Categorical d = 3
  │                  │                ├──── venue: Categorical d = 3
  │                  │                ├───── year: Categorical d = 3
  │                  │                ├───── issn: Categorical d = 3
  │                  │                ├── authors: Array of
  │                  │                │              ╰── Dict
  │                  │                │                    ├── middle: Array of
  │                  │                │                    │             ╰── Categorical d = 7
  │                  │                │                    ├─── first: Categorical d = 10
  │                  │                │                    ├── suffix: Categorical d = 2
  │                  │                │                    ╰──── last: Categorical d = 13
  │                  │                ├─── ref_id: Categorical d = 2
  │                  │                ╰──── title: Categorical d = 3
  │                  ├─── BIBREF79: Dict
  │                  │                ├──── pages: Categorical d = 3
  │                  │                ├─── volume: Categorical d = 3
  │                  │                ├──── venue: Categorical d = 3
  │                  │                ├───── year: Categorical d = 3
  │                  │                ├───── issn: Categorical d = 3
  │                  │                ├── authors: Array of
  │                  │                │              ╰── Dict
  │                  │                │                    ├── middle: Array of
  │                  │                │                    │             ╰── Categorical d = 3
  │                  │                │                    ├─── first: Categorical d = 6
  │                  │                │                    ├── suffix: Categorical d = 2
  │                  │                │                    ╰──── last: Categorical d = 6
  │                  │                ├─── ref_id: Categorical d = 2
  │                  │                ╰──── title: Categorical d = 3
  │                  ├── BIBREF153: Dict
  │                  │                ├─── pages: Categorical d = 2
  │                  │                ├── volume: Categorical d = 2
  │                  │                ├─── venue: Categorical d = 2
  │                  │                ├──── issn: Categorical d = 2
  │                  │                ├── ref_id: Categorical d = 2
  │                  │                ╰─── title: Categorical d = 2
  │                  ├─── BIBREF84: Dict
  │                  │                ├──── pages: Categorical d = 3
  │                  │                ├─── volume: Categorical d = 3
  │                  │                ├──── venue: Categorical d = 3
  │                  │                ├───── year: Categorical d = 3
  │                  │                ├───── issn: Categorical d = 3
  │                  │                ├── authors: Array of
  │                  │                │              ╰── Dict
  │                  │                │                    ├── middle: Array of
  │                  │                │                    │             ╰── Categorical d = 7
  │                  │                │                    ├─── first: Categorical d = 9
  │                  │                │                    ├── suffix: Categorical d = 2
  │                  │                │                    ╰──── last: Categorical d = 17
  │                  │                ├─── ref_id: Categorical d = 2
  │                  │                ╰──── title: Categorical d = 3
  │                  ├──── BIBREF2: Dict
  │                  │                ├────── pages: Categorical d = 7
  │                  │                ├───── volume: Categorical d = 8
  │                  │                ├────── venue: Categorical d = 11
  │                  │                ├─────── year: Categorical d = 9
  │                  │                ├─────── issn: Categorical d = 5
  │                  │                ├──── authors: Array of
  │                  │                │                ╰── Dict
  │                  │                │                      ├── middle: Array of
  │                  │                │                      │             ╰── Categorical d = 16
  │                  │                │                      ├─── first: Categorical d = 20
  │                  │                │                      ├── suffix: Categorical d = 2
  │                  │                │                      ╰──── last: Categorical d = 45
  │                  │                ├───── ref_id: Categorical d = 2
  │                  │                ├────── title: Categorical d = 14
  │                  │                ╰── other_ids: Dict
  │                  │                                 ╰── DOI: Array of
  │                  │                                            ╰── Categorical d = 2
  │                  ├── BIBREF223: Dict
  │                  │                ├─── pages: Categorical d = 2
  │                  │                ├── volume: Categorical d = 2
  │                  │                ├─── venue: Categorical d = 2
  │                  │                ├──── issn: Categorical d = 2
  │                  │                ├── ref_id: Categorical d = 2
  │                  │                ╰─── title: Categorical d = 2
  │                  ├─── BIBREF38: Dict
  │                  │                ├────── pages: Categorical d = 4
  │                  │                ├───── volume: Categorical d = 4
  │                  │                ├────── venue: Categorical d = 4
  │                  │                ├─────── year: Categorical d = 3
  │                  │                ├─────── issn: Categorical d = 4
  │                  │                ├──── authors: Array of
  │                  │                │                ╰── Dict
  │                  │                │                      ├── middle: Array of
  │                  │                │                      │             ╰── Categorical d = 6
  │                  │                │                      ├─── first: Categorical d = 9
  │                  │                │                      ├── suffix: Categorical d = 2
  │                  │                │                      ╰──── last: Categorical d = 17
  │                  │                ├───── ref_id: Categorical d = 2
  │                  │                ├────── title: Categorical d = 5
  │                  │                ╰── other_ids: Dict
  │                  │                                 ╰── DOI: Array of
  │                  │                                            ╰── Categorical d = 2
  │                  ├── BIBREF170: Dict
  │                  │                ├─── pages: Categorical d = 2
  │                  │                ├── volume: Categorical d = 2
  │                  │                ├─── venue: Categorical d = 2
  │                  │                ├──── issn: Categorical d = 2
  │                  │                ├── ref_id: Categorical d = 2
  │                  │                ╰─── title: Categorical d = 2
  │                  ├─── BIBREF18: Dict
  │                  │                ├────── pages: Categorical d = 8
  │                  │                ├───── volume: Categorical d = 10
  │                  │                ├────── venue: Categorical d = 8
  │                  │                ├─────── year: Categorical d = 8
  │                  │                ├─────── issn: Categorical d = 4
  │                  │                ├──── authors: Array of
  │                  │                │                ╰── Dict
  │                  │                │                      ├── middle: Array of
  │                  │                │                      │             ╰── Categorical d = 6
  │                  │                │                      ├─── first: Categorical d = 22
  │                  │                │                      ├── suffix: Categorical d = 2
  │                  │                │                      ╰──── last: Categorical d = 40
  │                  │                ├───── ref_id: Categorical d = 2
  │                  │                ├────── title: Categorical d = 10
  │                  │                ╰── other_ids: Dict
  │                  │                                 ╰── DOI: Array of
  │                  │                                            ╰── Categorical d = 4
  │                  ├─── BIBREF17: Dict
  │                  │                ├────── pages: Categorical d = 5
  │                  │                ├───── volume: Categorical d = 9
  │                  │                ├────── venue: Categorical d = 9
  │                  │                ├─────── year: Categorical d = 9
  │                  │                ├─────── issn: Categorical d = 3
  │                  │                ├──── authors: Array of
  │                  │                │                ╰── Dict
  │                  │                │                      ├── middle: Array of
  │                  │                │                      │             ╰── Categorical d = 9
  │                  │                │                      ├─── first: Categorical d = 21
  │                  │                │                      ├── suffix: Categorical d = 2
  │                  │                │                      ╰──── last: Categorical d = 40
  │                  │                ├───── ref_id: Categorical d = 2
  │                  │                ├────── title: Categorical d = 10
  │                  │                ╰── other_ids: Dict
  │                  │                                 ╰── DOI: Array of
  │                  │                                            ╰── Categorical d = 3
  │                  ├─── BIBREF72: Dict
  │                  │                ├──── pages: Categorical d = 3
  │                  │                ├─── volume: Categorical d = 4
  │                  │                ├──── venue: Categorical d = 4
  │                  │                ├───── year: Categorical d = 3
  │                  │                ├───── issn: Categorical d = 3
  │                  │                ├── authors: Array of
  │                  │                │              ╰── Dict
  │                  │                │                    ├── middle: Array of
  │                  │                │                    │             ╰── Categorical d = 5
  │                  │                │                    ├─── first: Categorical d = 11
  │                  │                │                    ├── suffix: Categorical d = 2
  │                  │                │                    ╰──── last: Categorical d = 13
  │                  │                ├─── ref_id: Categorical d = 2
  │                  │                ╰──── title: Categorical d = 4
  │                  ├─── BIBREF14: Dict
  │                  │                ├────── pages: Categorical d = 9
  │                  │                ├───── volume: Categorical d = 9
  │                  │                ├────── venue: Categorical d = 9
  │                  │                ├─────── year: Categorical d = 7
  │                  │                ├─────── issn: Categorical d = 4
  │                  │                ├──── authors: Array of
  │                  │                │                ╰── Dict
  │                  │                │                      ├── middle: Array of
  │                  │                │                      │             ╰── Categorical d = 11
  │                  │                │                      ├─── first: Categorical d = 18
  │                  │                │                      ├── suffix: Categorical d = 2
  │                  │                │                      ╰──── last: Categorical d = 53
  │                  │                ├───── ref_id: Categorical d = 2
  │                  │                ├────── title: Categorical d = 9
  │                  │                ╰── other_ids: Dict
  │                  │                                 ╰── DOI: Array of
  │                  │                                            ╰── Categorical d = 5
  │                  ├─── BIBREF74: Dict
  │                  │                ├──── pages: Categorical d = 2
  │                  │                ├─── volume: Categorical d = 2
  │                  │                ├──── venue: Categorical d = 2
  │                  │                ├───── year: Categorical d = 2
  │                  │                ├───── issn: Categorical d = 2
  │                  │                ├── authors: Array of
  │                  │                │              ╰── Dict
  │                  │                │                    ├── middle: Array of
  │                  │                │                    │             ╰── Categorical d = 3
  │                  │                │                    ├─── first: Categorical d = 3
  │                  │                │                    ├── suffix: Categorical d = 2
  │                  │                │                    ╰──── last: Categorical d = 4
  │                  │                ├─── ref_id: Categorical d = 2
  │                  │                ╰──── title: Categorical d = 2
  │                  ├─── BIBREF88: Dict
  │                  │                ├──── pages: Categorical d = 2
  │                  │                ├─── volume: Categorical d = 2
  │                  │                ├──── venue: Categorical d = 2
  │                  │                ├───── issn: Categorical d = 2
  │                  │                ├── authors: Array of
  │                  │                │              ╰── Dict
  │                  │                │                    ├── middle: Array of
  │                  │                │                    │             ╰── Categorical d = 2
  │                  │                │                    ├─── first: Categorical d = 3
  │                  │                │                    ├── suffix: Categorical d = 2
  │                  │                │                    ╰──── last: Categorical d = 3
  │                  │                ├─── ref_id: Categorical d = 2
  │                  │                ╰──── title: Categorical d = 2
  │                  ├─── BIBREF21: Dict
  │                  │                ├────── pages: Categorical d = 5
  │                  │                ├───── volume: Categorical d = 9
  │                  │                ├────── venue: Categorical d = 9
  │                  │                ├─────── year: Categorical d = 8
  │                  │                ├─────── issn: Categorical d = 3
  │                  │                ├──── authors: Array of
  │                  │                │                ╰── Dict
  │                  │                │                      ├── middle: Array of
  │                  │                │                      │             ╰── Categorical d = 7
  │                  │                │                      ├─── first: Categorical d = 15
  │                  │                │                      ├── suffix: Categorical d = 2
  │                  │                │                      ╰──── last: Categorical d = 28
  │                  │                ├───── ref_id: Categorical d = 2
  │                  │                ├────── title: Categorical d = 9
  │                  │                ╰── other_ids: Dict
  │                  │                                 ╰── DOI: Array of
  │                  │                                            ╰── Categorical d = 3
  │                  ┊
  │                  ├─── BIBREF80: Dict
  │                  │                ├──── pages: Categorical d = 3
  │                  │                ├─── volume: Categorical d = 3
  │                  │                ├──── venue: Categorical d = 3
  │                  │                ├───── year: Categorical d = 3
  │                  │                ├───── issn: Categorical d = 3
  │                  │                ├── authors: Array of
  │                  │                │              ╰── Dict
  │                  │                │                    ├── middle: Array of
  │                  │                │                    │             ╰── Categorical d = 4
  │                  │                │                    ├─── first: Categorical d = 10
  │                  │                │                    ├── suffix: Categorical d = 2
  │                  │                │                    ╰──── last: Categorical d = 11
  │                  │                ├─── ref_id: Categorical d = 2
  │                  │                ╰──── title: Categorical d = 3
  │                  ╰─── BIBREF42: Dict
  │                                   ├──── pages: Categorical d = 4
  │                                   ├─── volume: Categorical d = 4
  │                                   ├──── venue: Categorical d = 4
  │                                   ├───── year: Categorical d = 4
  │                                   ├───── issn: Categorical d = 3
  │                                   ├── authors: Array of
  │                                   │              ╰── Dict
  │                                   │                    ├── middle: Array of
  │                                   │                    │             ╰── Categorical d = 6
  │                                   │                    ├─── first: Categorical d = 11
  │                                   │                    ├── suffix: Categorical d = 2
  │                                   │                    ╰──── last: Categorical d = 14
  │                                   ├─── ref_id: Categorical d = 2
  │                                   ╰──── title: Categorical d = 4
  ╰───── abstract: Array of
                     ╰── Dict
                           ├───── text: Categorical d = 23
                           ╰── section: Categorical d = 2

We see that there are some dictionaries with lots of keys, so let's examine the schema more.

Mill.jl treats Dictionaries as a cartesian product of their embeddings which does make sense in case when there is consistent number of keys, and keys themselves don't carry semantic meaning. Looking at the schema, we can hypothesize many different keys, which occur very scarcely in data, carry semantic information.

We want to examine how many unique keys are there in the schema in order to handle them differently and train also on key names in such case. So let's take a look at histogram of number of children per Dictionary.

Function list_lens ¨ from Mill.jl lets us iterate over all nodes in our tree structure in a way we know their position in the schema.

StatsBase.countmap([length(get(sch, i).childs) for i in list_lens(sch) if get(sch, i) isa DictEntry]) |> sort
OrderedCollections.OrderedDict{Int64, Int64} with 12 entries:
  0 => 59
  1 => 43
  2 => 8
  3 => 9
  4 => 97
  5 => 1
  6 => 1
  7 => 1
  8 => 12
  9 => 91
  13 => 1
  103 => 1

We see that 1 dict has 103 unique children, 1 dict has 13 unique children, 91 dicts have 9 unique children, 59 dicts don't have any children etc.

We can take a more detailed look at Dicts with > 5 children.

The following code prints paths to all Dictionaries in the schema and number of their children if they have more than 5 children. In total there is lots of diction

for i in list_lens(sch)
    e = get(sch, i)
    if e isa DictEntry && length(e.childs) > 5
        @info i length(e.childs)
    end
end
┌ Info: (@lens _)
└   length(e.childs) = 7
┌ Info: (@lens _.childs[:metadata].childs[:authors].items)
└   length(e.childs) = 6
┌ Info: (@lens _.childs[:ref_entries])
└   length(e.childs) = 13
┌ Info: (@lens _.childs[:bib_entries])
└   length(e.childs) = 103
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF33])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF43])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF127])
└   length(e.childs) = 8
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF67])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF79])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF153])
└   length(e.childs) = 8
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF84])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF2])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF223])
└   length(e.childs) = 8
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF38])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF170])
└   length(e.childs) = 8
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF18])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF17])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF72])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF14])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF74])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF88])
└   length(e.childs) = 8
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF21])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF91])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF20])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF56])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF62])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF26])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF5])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF65])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF39])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF22])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF64])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF41])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF19])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF61])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF9])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF27])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF52])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF50])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF0])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF1])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF37])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF58])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF6])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF73])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF76])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF92])
└   length(e.childs) = 8
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF16])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF94])
└   length(e.childs) = 8
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF25])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF83])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF66])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF15])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF57])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF11])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF87])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF78])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF4])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF123])
└   length(e.childs) = 8
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF44])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF23])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF46])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF82])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF10])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF77])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF89])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF36])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF71])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF35])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF51])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF30])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF32])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF53])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF3])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF70])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF163])
└   length(e.childs) = 8
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF12])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF59])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF86])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF7])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF45])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF151])
└   length(e.childs) = 8
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF40])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF69])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF75])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF31])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF49])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF28])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF24])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF47])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF8])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF55])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF158])
└   length(e.childs) = 8
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF63])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF90])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF13])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF48])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF60])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF54])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF68])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF34])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF85])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF218])
└   length(e.childs) = 8
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF81])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF29])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF80])
└   length(e.childs) = 9
┌ Info: (@lens _.childs[:bib_entries].childs[:BIBREF42])
└   length(e.childs) = 9

The dictionaries with most unique children are following ones:

┌ Info: (@lens _.childs[:ref_entries])
└   length(e.childs) = 13
┌ Info: (@lens _.childs[:bib_entries])
└   length(e.childs) = 103

because this is where keys have semantic meaning. JsonGrinder contains ExtractKeyAsField extractor, which treats dictionaries with large number of keys as array of pairs (key, value) which leads to more reasonable model.

There is a default value, but we want to set it ourselves to 13 to cover both cases we see in out data. This can be performed by creating new extractor like this

extractor = suggestextractor(sch, (; key_as_field=13))
Dict
  ├───── metadata: Dict
  │                  ├── authors: Array of
  │                  │              ╰── Dict
  │                  │                    ├─────── middle: Array of
  │                  │                    │                  ┊
  │                  │                    ├──────── first: Categorical d = 87
  │                  │                    ├─────── suffix: Categorical d = 2
  │                  │                    ├───────── last: Categorical d = 80
  │                  │                    ├──────── email: Categorical d = 5
  │                  │                    ╰── affiliation: Dict
  │                  │                                       ┊
  │                  ╰──── title: Categorical d = 15
  ├── ref_entries: KeyAsField
  │                  ├── String
  │                  ╰── Dict
  │                        ├── type: Categorical d = 3
  │                        ├── text: Categorical d = 72
  │                        ╰── html: Categorical d = 16
  ├───── paper_id: Categorical d = 17
  ├──── body_text: Array of
  │                  ╰── Dict
  │                        ├──────── text: String
  │                        ├───── section: String
  │                        ├── cite_spans: Array of
  │                        │                 ╰── Dict
  │                        │                       ┊
  │                        ╰─── ref_spans: Array of
  │                                          ╰── Dict
  │                                                ┊
  ├── back_matter: Array of
  │                  ╰── Dict
  │                        ├──────── text: Categorical d = 24
  │                        ├───── section: Categorical d = 22
  │                        ├── cite_spans: Array of
  │                        │                 ╰── Dict
  │                        │                       ┊
  │                        ╰─── ref_spans: Array of
  │                                          ╰── Dict
  │                                                ┊
  ├── bib_entries: KeyAsField
  │                  ├── String
  │                  ╰── Dict
  │                        ├────── pages: String
  │                        ├───── volume: String
  │                        ├────── venue: String
  │                        ├─────── issn: Categorical d = 39
  │                        ├─────── year: Categorical d = 42
  │                        ├──── authors: Array of
  │                        │                ╰── Dict
  │                        │                      ┊
  │                        ├───── ref_id: String
  │                        ├────── title: String
  │                        ╰── other_ids: Dict
  │                                         ├── PMID: Array of
  │                                         │           ┊
  │                                         ╰─── DOI: Array of
  │                                                     ┊
  ╰───── abstract: Array of
                     ╰── Dict
                           ├───── text: Categorical d = 23
                           ╰── section: Categorical d = 2

When we look at the larger part of extractor

printtree(extractor, htrunc=20, vtrunc=20)
Dict
  ├───── metadata: Dict
  │                  ├── authors: Array of
  │                  │              ╰── Dict
  │                  │                    ├─────── middle: Array of
  │                  │                    │                  ╰── Categorical d = 13
  │                  │                    ├──────── first: Categorical d = 87
  │                  │                    ├─────── suffix: Categorical d = 2
  │                  │                    ├───────── last: Categorical d = 80
  │                  │                    ├──────── email: Categorical d = 5
  │                  │                    ╰── affiliation: Dict
  │                  │                                       ├─── laboratory: Categorical d = 6
  │                  │                                       ├───── location: Dict
  │                  │                                       │                  ├── settlement: Categorical d = 10
  │                  │                                       │                  ├──── addrLine: Categorical d = 5
  │                  │                                       │                  ├───── country: Categorical d = 8
  │                  │                                       │                  ├──── postCode: Categorical d = 5
  │                  │                                       │                  ╰────── region: Categorical d = 2
  │                  │                                       ╰── institution: Categorical d = 14
  │                  ╰──── title: Categorical d = 15
  ├── ref_entries: KeyAsField
  │                  ├── String
  │                  ╰── Dict
  │                        ├── type: Categorical d = 3
  │                        ├── text: Categorical d = 72
  │                        ╰── html: Categorical d = 16
  ├───── paper_id: Categorical d = 17
  ├──── body_text: Array of
  │                  ╰── Dict
  │                        ├──────── text: String
  │                        ├───── section: String
  │                        ├── cite_spans: Array of
  │                        │                 ╰── Dict
  │                        │                       ├── ref_id: Categorical d = 85
  │                        │                       ├─── start: Float32
  │                        │                       ├──── text: String
  │                        │                       ╰───── end: Float32
  │                        ╰─── ref_spans: Array of
  │                                          ╰── Dict
  │                                                ├── ref_id: Categorical d = 11
  │                                                ├─── start: Categorical d = 96
  │                                                ├──── text: Categorical d = 57
  │                                                ╰───── end: Categorical d = 99
  ├── back_matter: Array of
  │                  ╰── Dict
  │                        ├──────── text: Categorical d = 24
  │                        ├───── section: Categorical d = 22
  │                        ├── cite_spans: Array of
  │                        │                 ╰── Dict
  │                        │                       ├── ref_id: Categorical d = 2
  │                        │                       ├─── start: Categorical d = 2
  │                        │                       ├──── text: Categorical d = 2
  │                        │                       ╰───── end: Categorical d = 2
  │                        ╰─── ref_spans: Array of
  │                                          ╰── Dict
  │                                                ├── start: Categorical d = 4
  │                                                ├─── text: Categorical d = 4
  │                                                ╰──── end: Categorical d = 4
  ├── bib_entries: KeyAsField
  │                  ├── String
  │                  ╰── Dict
  │                        ├────── pages: String
  │                        ├───── volume: String
  │                        ├────── venue: String
  │                        ├─────── issn: Categorical d = 39
  │                        ├─────── year: Categorical d = 42
  │                        ├──── authors: Array of
  │                        │                ╰── Dict
  │                        │                      ├── middle: Array of
  │                        │                      │             ╰── Categorical d = 27
  │                        │                      ├─── first: Categorical d = 112
  │                        │                      ├── suffix: Categorical d = 2
  │                        │                      ╰──── last: String
  │                        ├───── ref_id: String
  │                        ├────── title: String
  │                        ╰── other_ids: Dict
  │                                         ├── PMID: Array of
  │                                         │           ╰── Categorical d = 2
  │                                         ╰─── DOI: Array of
  │                                                     ╰── Categorical d = 85
  ╰───── abstract: Array of
                     ╰── Dict
                           ├───── text: Categorical d = 23
                           ╰── section: Categorical d = 2

we now see represenation of bib_entries and ref_entries is more reasonable now.

So we can say this extractor looks much better.

But still, some values are very sparse, let's print all parts of schema where each value is observed only once

for i in list_lens(sch)
    e = get(sch, i)
    if e isa Entry && maximum(values(e.counts)) == 1
        @info i
    end
end
[ Info: (@lens _.childs[:metadata].childs[:authors].items.childs[:middle].items)
[ Info: (@lens _.childs[:metadata].childs[:authors].items.childs[:affiliation].childs[:location].childs[:region])
[ Info: (@lens _.childs[:ref_entries].childs[:TABREF4].childs[:text])
[ Info: (@lens _.childs[:ref_entries].childs[:TABREF4].childs[:html])
[ Info: (@lens _.childs[:ref_entries].childs[:FIGREF3].childs[:text])
[ Info: (@lens _.childs[:ref_entries].childs[:FIGREF2].childs[:text])
[ Info: (@lens _.childs[:ref_entries].childs[:FIGREF4].childs[:text])
[ Info: (@lens _.childs[:ref_entries].childs[:TABREF3].childs[:text])
[ Info: (@lens _.childs[:ref_entries].childs[:TABREF3].childs[:html])
[ Info: (@lens _.childs[:ref_entries].childs[:TABREF5].childs[:text])
[ Info: (@lens _.childs[:ref_entries].childs[:TABREF5].childs[:html])
[ Info: (@lens _.childs[:ref_entries].childs[:TABREF6].childs[:type])
[ Info: (@lens _.childs[:ref_entries].childs[:TABREF6].childs[:text])
[ Info: (@lens _.childs[:ref_entries].childs[:TABREF1].childs[:text])
[ Info: (@lens _.childs[:ref_entries].childs[:TABREF1].childs[:html])
[ Info: (@lens _.childs[:ref_entries].childs[:TABREF7].childs[:type])
[ Info: (@lens _.childs[:ref_entries].childs[:TABREF7].childs[:text])
[ Info: (@lens _.childs[:ref_entries].childs[:TABREF7].childs[:html])
[ Info: (@lens _.childs[:ref_entries].childs[:FIGREF0].childs[:text])
[ Info: (@lens _.childs[:ref_entries].childs[:FIGREF1].childs[:text])
[ Info: (@lens _.childs[:ref_entries].childs[:TABREF0].childs[:text])
[ Info: (@lens _.childs[:ref_entries].childs[:TABREF0].childs[:html])
[ Info: (@lens _.childs[:ref_entries].childs[:TABREF2].childs[:text])
[ Info: (@lens _.childs[:ref_entries].childs[:TABREF2].childs[:html])
[ Info: (@lens _.childs[:paper_id])
[ Info: (@lens _.childs[:body_text].items.childs[:ref_spans].items.childs[:end])
[ Info: (@lens _.childs[:back_matter].items.childs[:cite_spans].items.childs[:ref_id])
[ Info: (@lens _.childs[:back_matter].items.childs[:cite_spans].items.childs[:start])
[ Info: (@lens _.childs[:back_matter].items.childs[:cite_spans].items.childs[:text])
[ Info: (@lens _.childs[:back_matter].items.childs[:cite_spans].items.childs[:end])
[ Info: (@lens _.childs[:back_matter].items.childs[:ref_spans].items.childs[:start])
[ Info: (@lens _.childs[:back_matter].items.childs[:ref_spans].items.childs[:text])
[ Info: (@lens _.childs[:back_matter].items.childs[:ref_spans].items.childs[:end])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF33].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF33].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF33].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF33].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF43].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF43].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF43].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF43].childs[:authors].items.childs[:middle].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF43].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF43].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF43].childs[:other_ids].childs[:DOI].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF127].childs[:pages])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF127].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF127].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF127].childs[:issn])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF127].childs[:ref_id])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF127].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF67].childs[:pages])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF67].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF67].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF67].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF67].childs[:issn])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF67].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF79].childs[:pages])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF79].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF79].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF79].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF79].childs[:issn])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF79].childs[:authors].items.childs[:middle].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF79].childs[:authors].items.childs[:first])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF79].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF79].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF153].childs[:pages])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF153].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF153].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF153].childs[:issn])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF153].childs[:ref_id])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF153].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF84].childs[:pages])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF84].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF84].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF84].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF84].childs[:issn])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF84].childs[:authors].items.childs[:middle].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF84].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF84].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF2].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF2].childs[:other_ids].childs[:DOI].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF223].childs[:pages])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF223].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF223].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF223].childs[:issn])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF223].childs[:ref_id])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF223].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF38].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF38].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF38].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF38].childs[:other_ids].childs[:DOI].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF170].childs[:pages])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF170].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF170].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF170].childs[:issn])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF170].childs[:ref_id])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF170].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF18].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF18].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF18].childs[:other_ids].childs[:DOI].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF17].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF17].childs[:other_ids].childs[:DOI].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF72].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF72].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF72].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF72].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF72].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF14].childs[:pages])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF14].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF14].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF14].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF14].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF14].childs[:other_ids].childs[:DOI].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF74].childs[:pages])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF74].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF74].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF74].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF74].childs[:issn])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF74].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF74].childs[:ref_id])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF74].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF88].childs[:pages])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF88].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF88].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF88].childs[:issn])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF88].childs[:authors].items.childs[:first])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF88].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF88].childs[:ref_id])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF88].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF21].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF21].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF21].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF21].childs[:other_ids].childs[:DOI].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF91].childs[:pages])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF91].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF91].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF91].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF91].childs[:issn])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF91].childs[:authors].items.childs[:first])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF91].childs[:authors].items.childs[:suffix])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF91].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF91].childs[:ref_id])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF91].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF20].childs[:pages])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF20].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF20].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF20].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF20].childs[:other_ids].childs[:DOI].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF56].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF56].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF62].childs[:pages])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF62].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF62].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF62].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF62].childs[:authors].items.childs[:middle].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF62].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF62].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF26].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF26].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF26].childs[:authors].items.childs[:middle].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF26].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF26].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF26].childs[:other_ids].childs[:DOI].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF5].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF5].childs[:other_ids].childs[:DOI].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF65].childs[:pages])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF65].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF65].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF65].childs[:issn])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF65].childs[:authors].items.childs[:first])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF65].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF65].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF65].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF39].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF39].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF39].childs[:authors].items.childs[:middle].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF39].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF39].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF22].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF22].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF22].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF22].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF22].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF22].childs[:other_ids].childs[:DOI].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF64].childs[:pages])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF64].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF64].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF64].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF64].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF41].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF41].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF41].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF41].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF19].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF19].childs[:other_ids].childs[:DOI].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF61].childs[:pages])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF61].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF61].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF61].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF61].childs[:issn])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF61].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF61].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF9].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF9].childs[:other_ids].childs[:DOI].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF27].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF27].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF27].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF27].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF52].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF52].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF52].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF52].childs[:authors].items.childs[:middle].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF52].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF50].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF50].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF50].childs[:issn])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF50].childs[:authors].items.childs[:middle].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF50].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF50].childs[:other_ids].childs[:DOI].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF0].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF0].childs[:other_ids].childs[:DOI].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF1].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF1].childs[:other_ids].childs[:DOI].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF37].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF37].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF37].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF37].childs[:authors].items.childs[:middle].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF37].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF37].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF37].childs[:other_ids].childs[:DOI].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF58].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF58].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF58].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF58].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF6].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF6].childs[:other_ids].childs[:DOI].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF73].childs[:pages])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF73].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF73].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF73].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF73].childs[:issn])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF73].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF73].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF76].childs[:pages])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF76].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF76].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF76].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF76].childs[:issn])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF76].childs[:authors].items.childs[:middle].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF76].childs[:authors].items.childs[:first])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF76].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF76].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF92].childs[:pages])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF92].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF92].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF92].childs[:issn])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF92].childs[:ref_id])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF92].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF16].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF16].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF16].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF16].childs[:other_ids].childs[:DOI].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF94].childs[:pages])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF94].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF94].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF94].childs[:issn])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF94].childs[:ref_id])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF94].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF25].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF25].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF25].childs[:authors].items.childs[:middle].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF25].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF25].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF25].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF83].childs[:pages])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF83].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF83].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF83].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF83].childs[:issn])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF83].childs[:authors].items.childs[:middle].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF83].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF83].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF66].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF66].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF66].childs[:issn])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF66].childs[:authors].items.childs[:first])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF66].childs[:authors].items.childs[:suffix])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF66].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF66].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF66].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF15].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF15].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF15].childs[:other_ids].childs[:DOI].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF57].childs[:pages])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF57].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF57].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF57].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF57].childs[:authors].items.childs[:middle].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF57].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF57].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF11].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF11].childs[:other_ids].childs[:DOI].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF87].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF87].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF87].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF87].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF78].childs[:pages])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF78].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF78].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF78].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF78].childs[:issn])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF78].childs[:authors].items.childs[:middle].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF78].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF78].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF4].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF4].childs[:other_ids].childs[:PMID].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF4].childs[:other_ids].childs[:DOI].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF123].childs[:pages])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF123].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF123].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF123].childs[:issn])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF123].childs[:ref_id])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF123].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF44].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF44].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF44].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF23].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF23].childs[:other_ids].childs[:DOI].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF46].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF46].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF46].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF46].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF46].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF46].childs[:other_ids].childs[:DOI].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF82].childs[:pages])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF82].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF82].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF82].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF82].childs[:issn])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF82].childs[:authors].items.childs[:middle].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF82].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF82].childs[:ref_id])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF82].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF10].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF10].childs[:other_ids].childs[:DOI].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF77].childs[:pages])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF77].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF77].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF77].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF77].childs[:issn])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF77].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF77].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF89].childs[:pages])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF89].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF89].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF89].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF89].childs[:issn])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF89].childs[:authors].items.childs[:first])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF89].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF89].childs[:ref_id])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF89].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF36].childs[:pages])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF36].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF36].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF36].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF36].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF36].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF36].childs[:other_ids].childs[:DOI].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF71].childs[:pages])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF71].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF71].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF71].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF71].childs[:issn])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF71].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF71].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF35].childs[:pages])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF35].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF35].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF35].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF35].childs[:other_ids].childs[:DOI].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF51].childs[:pages])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF51].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF51].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF51].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF51].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF51].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF51].childs[:other_ids].childs[:DOI].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF30].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF30].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF30].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF30].childs[:authors].items.childs[:middle].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF30].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF30].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF30].childs[:other_ids].childs[:DOI].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF32].childs[:pages])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF32].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF32].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF32].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF32].childs[:authors].items.childs[:middle].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF32].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF32].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF32].childs[:other_ids].childs[:DOI].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF53].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF53].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF53].childs[:authors].items.childs[:middle].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF53].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF53].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF3].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF3].childs[:other_ids].childs[:DOI].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF70].childs[:pages])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF70].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF70].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF70].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF70].childs[:issn])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF70].childs[:authors].items.childs[:middle].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF70].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF70].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF163].childs[:pages])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF163].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF163].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF163].childs[:issn])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF163].childs[:ref_id])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF163].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF12].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF12].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF12].childs[:other_ids].childs[:DOI].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF59].childs[:pages])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF59].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF59].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF59].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF59].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF59].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF86].childs[:pages])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF86].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF86].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF86].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF86].childs[:issn])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF86].childs[:authors].items.childs[:middle].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF86].childs[:ref_id])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF86].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF7].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF7].childs[:other_ids].childs[:DOI].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF45].childs[:pages])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF45].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF45].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF45].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF45].childs[:issn])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF45].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF45].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF45].childs[:other_ids].childs[:DOI].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF151].childs[:pages])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF151].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF151].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF151].childs[:issn])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF151].childs[:ref_id])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF151].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF40].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF40].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF40].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF40].childs[:authors].items.childs[:middle].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF40].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF40].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF40].childs[:other_ids].childs[:DOI].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF69].childs[:pages])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF69].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF69].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF69].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF69].childs[:issn])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF69].childs[:authors].items.childs[:first])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF69].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF69].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF75].childs[:pages])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF75].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF75].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF75].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF75].childs[:issn])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF75].childs[:authors].items.childs[:middle].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF75].childs[:authors].items.childs[:first])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF75].childs[:authors].items.childs[:suffix])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF75].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF75].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF31].childs[:pages])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF31].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF31].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF31].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF31].childs[:authors].items.childs[:middle].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF31].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF31].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF31].childs[:other_ids].childs[:DOI].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF49].childs[:pages])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF49].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF49].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF49].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF49].childs[:issn])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF49].childs[:authors].items.childs[:middle].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF49].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF49].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF49].childs[:other_ids].childs[:DOI].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF28].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF28].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF28].childs[:authors].items.childs[:middle].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF28].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF28].childs[:other_ids].childs[:DOI].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF24].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF24].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF24].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF24].childs[:authors].items.childs[:middle].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF24].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF24].childs[:other_ids].childs[:DOI].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF47].childs[:pages])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF47].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF47].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF47].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF47].childs[:issn])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF47].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF47].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF47].childs[:other_ids].childs[:DOI].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF8].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF8].childs[:other_ids].childs[:DOI].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF55].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF55].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF55].childs[:issn])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF55].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF55].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF158].childs[:pages])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF158].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF158].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF158].childs[:issn])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF158].childs[:ref_id])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF158].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF63].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF63].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF63].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF63].childs[:authors].items.childs[:middle].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF63].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF63].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF90].childs[:pages])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF90].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF90].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF90].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF90].childs[:issn])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF90].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF90].childs[:ref_id])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF90].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF13].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF13].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF13].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF13].childs[:other_ids].childs[:DOI].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF48].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF48].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF48].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF48].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF48].childs[:other_ids].childs[:DOI].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF60].childs[:pages])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF60].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF60].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF60].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF60].childs[:issn])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF60].childs[:authors].items.childs[:first])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF60].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF60].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF54].childs[:pages])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF54].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF54].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF54].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF54].childs[:issn])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF54].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF68].childs[:pages])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF68].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF68].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF68].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF68].childs[:issn])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF68].childs[:authors].items.childs[:middle].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF68].childs[:authors].items.childs[:first])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF68].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF68].childs[:ref_id])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF68].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF34].childs[:pages])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF34].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF34].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF34].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF34].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF34].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF85].childs[:pages])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF85].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF85].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF85].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF85].childs[:issn])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF85].childs[:ref_id])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF85].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF218].childs[:pages])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF218].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF218].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF218].childs[:issn])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF218].childs[:ref_id])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF218].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF81].childs[:pages])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF81].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF81].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF81].childs[:issn])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF81].childs[:authors].items.childs[:middle].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF81].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF81].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF81].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF29].childs[:pages])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF29].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF29].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF29].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF29].childs[:other_ids].childs[:DOI].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF80].childs[:pages])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF80].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF80].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF80].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF80].childs[:issn])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF80].childs[:authors].items.childs[:middle].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF80].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF80].childs[:title])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF42].childs[:pages])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF42].childs[:volume])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF42].childs[:venue])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF42].childs[:year])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF42].childs[:authors].items.childs[:middle].items)
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF42].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:bib_entries].childs[:BIBREF42].childs[:title])
[ Info: (@lens _.childs[:abstract].items.childs[:text])

we can see lots of leaves under bib_entries, which is cased by uniqueness of keys here but apart from that, we can see other interesting fields

[ Info: (@lens _.childs[:metadata].childs[:authors].items.childs[:middle].items)
[ Info: (@lens _.childs[:metadata].childs[:authors].items.childs[:last])
[ Info: (@lens _.childs[:metadata].childs[:authors].items.childs[:affiliation].childs[:location].childs[:region])
[ Info: (@lens _.childs[:paper_id])
[ Info: (@lens _.childs[:body_text].items.childs[:text])
[ Info: (@lens _.childs[:body_text].items.childs[:ref_spans].items.childs[:start])
[ Info: (@lens _.childs[:body_text].items.childs[:ref_spans].items.childs[:end])
[ Info: (@lens _.childs[:back_matter].items.childs[:text])
[ Info: (@lens _.childs[:back_matter].items.childs[:cite_spans].items.childs[:ref_id])
[ Info: (@lens _.childs[:back_matter].items.childs[:cite_spans].items.childs[:start])
[ Info: (@lens _.childs[:back_matter].items.childs[:cite_spans].items.childs[:text])
[ Info: (@lens _.childs[:back_matter].items.childs[:cite_spans].items.childs[:end])
[ Info: (@lens _.childs[:back_matter].items.childs[:ref_spans].items.childs[:start])
[ Info: (@lens _.childs[:back_matter].items.childs[:ref_spans].items.childs[:text])
[ Info: (@lens _.childs[:back_matter].items.childs[:ref_spans].items.childs[:end])

Let's remove some of them from the extractor so we don't train on them.

delete!(extractor.dict, :paper_id)
delete!(extractor.dict[:metadata].dict[:authors].item.dict, :last)
delete!(extractor.dict[:metadata].dict[:authors].item.dict, :middle)
Dict{Symbol, JsonGrinder.AbstractExtractor} with 4 entries:
  :first => ExtractCategorical
  :suffix => ExtractCategorical
  :email => ExtractCategorical
  :affiliation => ExtractDict

Now the extractor looks even better!

printtree(extractor, htrunc=20, vtrunc=20)
Dict
  ├───── metadata: Dict
  │                  ├── authors: Array of
  │                  │              ╰── Dict
  │                  │                    ├──────── first: Categorical d = 87
  │                  │                    ├─────── suffix: Categorical d = 2
  │                  │                    ├──────── email: Categorical d = 5
  │                  │                    ╰── affiliation: Dict
  │                  │                                       ├─── laboratory: Categorical d = 6
  │                  │                                       ├───── location: Dict
  │                  │                                       │                  ├── settlement: Categorical d = 10
  │                  │                                       │                  ├──── addrLine: Categorical d = 5
  │                  │                                       │                  ├───── country: Categorical d = 8
  │                  │                                       │                  ├──── postCode: Categorical d = 5
  │                  │                                       │                  ╰────── region: Categorical d = 2
  │                  │                                       ╰── institution: Categorical d = 14
  │                  ╰──── title: Categorical d = 15
  ├── ref_entries: KeyAsField
  │                  ├── String
  │                  ╰── Dict
  │                        ├── type: Categorical d = 3
  │                        ├── text: Categorical d = 72
  │                        ╰── html: Categorical d = 16
  ├──── body_text: Array of
  │                  ╰── Dict
  │                        ├──────── text: String
  │                        ├───── section: String
  │                        ├── cite_spans: Array of
  │                        │                 ╰── Dict
  │                        │                       ├── ref_id: Categorical d = 85
  │                        │                       ├─── start: Float32
  │                        │                       ├──── text: String
  │                        │                       ╰───── end: Float32
  │                        ╰─── ref_spans: Array of
  │                                          ╰── Dict
  │                                                ├── ref_id: Categorical d = 11
  │                                                ├─── start: Categorical d = 96
  │                                                ├──── text: Categorical d = 57
  │                                                ╰───── end: Categorical d = 99
  ├── back_matter: Array of
  │                  ╰── Dict
  │                        ├──────── text: Categorical d = 24
  │                        ├───── section: Categorical d = 22
  │                        ├── cite_spans: Array of
  │                        │                 ╰── Dict
  │                        │                       ├── ref_id: Categorical d = 2
  │                        │                       ├─── start: Categorical d = 2
  │                        │                       ├──── text: Categorical d = 2
  │                        │                       ╰───── end: Categorical d = 2
  │                        ╰─── ref_spans: Array of
  │                                          ╰── Dict
  │                                                ├── start: Categorical d = 4
  │                                                ├─── text: Categorical d = 4
  │                                                ╰──── end: Categorical d = 4
  ├── bib_entries: KeyAsField
  │                  ├── String
  │                  ╰── Dict
  │                        ├────── pages: String
  │                        ├───── volume: String
  │                        ├────── venue: String
  │                        ├─────── issn: Categorical d = 39
  │                        ├─────── year: Categorical d = 42
  │                        ├──── authors: Array of
  │                        │                ╰── Dict
  │                        │                      ├── middle: Array of
  │                        │                      │             ╰── Categorical d = 27
  │                        │                      ├─── first: Categorical d = 112
  │                        │                      ├── suffix: Categorical d = 2
  │                        │                      ╰──── last: String
  │                        ├───── ref_id: String
  │                        ├────── title: String
  │                        ╰── other_ids: Dict
  │                                         ├── PMID: Array of
  │                                         │           ╰── Categorical d = 2
  │                                         ╰─── DOI: Array of
  │                                                     ╰── Categorical d = 85
  ╰───── abstract: Array of
                     ╰── Dict
                           ├───── text: Categorical d = 23
                           ╰── section: Categorical d = 2

This concludes example about examining schema and modifying extractor accordingly.