Bachelor's Thesis

Intelligent Structured Data Extraction from PDF Documents

Final Thesis 2.75 MB

Author of thesis: Bc. Lukáš Šidlík

Acad. year: 2025/2026

Supervisor: doc. Ing. Radek Burget, Ph.D.

Reviewer: Ing. Kristýna Zaklová

Abstract:

The thesis deals with the extraction of structured data from medical documents in PDF format, which are generated during follow-up visits of patients with cardiac implantable devices. The result of the thesis is a desktop application in Python that retrieves and processes the required data from the documents based on a user-defined configuration, using the PyMuPDF library for documents with a text layer and the Tesseract tool for scanned records. The output is a CSV file with the extracted values in tabular form and images saved in an output folder selected by the user. Testing of the application on documents provided by the client verified that data extraction from the records is reliable (text layer extraction achieved precision of 100 % and recall of 98.53 %, while OCR reached 98.75 % and 99.37 %), provided that the configuration is set correctly.

Keywords:

PDF, data extraction, OCR, document parsing, language models, PyMuPDF, Tesseract

Date of defence

18.06.2026

Result of the defence

Defended (thesis was successfully defended)

znamkaBznamka

Grading

B

Process of defence

Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm B.

Topics for thesis defence

  1. Vaše práce se zabývá problematikou, kterou již řešily dřívější závěrečné práce. Na které konkrétní výstupy bylo možné navázat a v čem se Vámi vytvořené řešení od předchozích přístupů liší?
  2. Vaše řešení bylo testováno na zdravotnické dokumentaci související s kardiostimulátory. Jak náročné by bylo jeho přizpůsobení pro jiné typy dokumentů a jaké vlastnosti musí mít dokumenty, aby bylo možné dosahovat obdobné přesnosti extrakce?
  3. Bylo by možné problém s rozdílným počtem mezer řešit i pomocí regulárních výrazů?

Language of thesis

Czech

Faculty

Department

Study programme

Information Technology (BIT)

Composition of Committee

doc. Ing. Petr Matoušek, Ph.D., M.A. (předseda)
doc. Ing. Michal Bidlo, Ph.D. (místopředseda)
Ing. Radek Kočí, Ph.D. (člen)
Ing. Jan Pluskal, Ph.D. (člen)
Ing. František Grézl, Ph.D. (člen)

Supervisor’s report
doc. Ing. Radek Burget, Ph.D.

Pan Šidlík řešil svoji bakalářskou práci průběžně, své jednotlivé detaily řešení průběžně konzultoval s vedoucím i zadavatelem. Jeho práci proto hodnotím jako nadprůměrnou.

Evaluation criteria Verbal classification
Information about assignment

Cílem práce byla extrakce dat ze specifických dokumentů PDF pořízených lékařskými přístroji ve FN Brno. Zadání navazuje na předchozí práce se stejným cílem, které však nebyly z uživatelského hlediska uspokojivé. Student měl proto prozkoumat alternativní možnosti specifikace úlohy a implementace včetně velkých jazykových modelů, které se však vzhledem ke specifickému nasazení aplikace neukázaly jako vhodné. Zadání považuji z pohledu vedoucího za splněné.

Work with literature

Student využíval doporučenou literaturu a samostatně si vyhledával další relevantní zdroje.

Activity during solution, consultations, communication

Student pracoval na své bakalářské práci soustavně po celou dobu řešení, své výsledky průběžně konzultoval s vedoucím a opakovaně i se zadavatelem ve FN Brno.

Activity during completion

Práce byla dokončena včas a její výsledná podoba byla konzultována.

Publication activity, awards
Points proposed by supervisor: 85

Grade proposed by supervisor: B

Reviewer’s report
Ing. Kristýna Zaklová

Student navrhl, implementoval a otestoval nástroj pro automatizovanou extrakci údajů z dokumentů PDF. Oceňuji zejména praktické zaměření práce, dosažené výsledky testování na reálných datech a rozšiřitelnost vytvořeného řešení. Technická zpráva obsahuje několik prezentačních a formálních nedostatků, přesto považuji práci za kvalitní a přínosnou a navrhuji hodnocení stupněm B.

Evaluation criteria Verbal classification Points
The difficulty of the assignment

Evaluation level: moderately difficult assignment

Zadání práce hodnotím jako průměrně obtížné. Student prostudoval formát PDF, dostupné nástroje pro jeho zpracování a možnosti automatizované extrakce dat z dokumentů. Dále analyzoval požadavky zadavatele na zpracování zdravotnické dokumentace a navrhl rozšiřitelný nástroj umožňující extrakci údajů na základě uživatelské konfigurace. Součástí řešení byla podpora dokumentů s textovou vrstvou i skenovaných dokumentů využívajících OCR a následné ověření funkčnosti na reálných datech.

Presentation level of the technical report

Struktura technické zprávy se skládá z osmi kapitol. Zpráva má logické členění a její obsah je vhodně rozdělen. Oceňuji zejména názorné ukázky jednotlivých konfigurací a podrobné návody v přílohách práce. Místy však dochází k příliš jemnému členění textu do krátkých sekcí s číslovanými nadpisy a některé informace se opakují. V kapitole věnované formátu PDF je problematika popsána poměrně široce, ačkoliv pouze přebírá informace ze standardu. V textu také postrádám podrobnější popis scénáře použití z pohledu cílového uživatele – lékaře, pro kterého je řešení určeno. Není tak zcela zřejmé, jaké typy chyb extrakce jsou v praxi akceptovatelné a jaké by již představovaly problém.

80
Formal preparation of a technical report

Po jazykové stránce je technická zpráva na dobré úrovni a neobsahuje závažné nedostatky. Objevují se však drobné typografické problémy, například bílá místa a chybějící odkazy na některé obrázky, tabulky či výpisy. Místy dochází ke skloňování názvů produktů a technologií způsobem, který může působit neobratně (např. názvy výrobců zařízení). Přílohy nejsou v textu odkazovány.

80
Realisation output

Realizačním výstupem je desktopová aplikace umožňující automatizovanou extrakci údajů ze zdravotnických dokumentů ve formátu PDF. Řešení podporuje jak dokumenty s textovou vrstvou, tak skenované dokumenty zpracovávané pomocí OCR. Řešení je konfigurovatelné prostřednictvím uživatelských definic. Výsledky testování na vybrané podmnožině atributů prokazují vysokou přesnost a úplnost extrakce.

95
Usability of results

Vytvořené řešení má potenciál praktického využití při zpracování zdravotnické dokumentace. Pro jeho praktické nasazení by však bylo nutné získat rozsáhlejší zpětnou vazbu od cílového uživatele a dále zjednodušit konfiguraci systému např. pomocí grafického rozhraní pro editaci konfiguračních souborů.

The extent to which the requirements of the assignment have been met

Evaluation level: assignment fulfilled

Zadání považuji za splněné. Textová část práce obsahuje informace, které pokrývají všechny body zadání, a vytvořené výstupy odpovídají stanoveným cílům. Student analyzoval možnosti využití jazykových modelů pro extrakci údajů z dokumentů PDF a na základě požadavků zadavatele zvolil řešení založené na kombinaci nástrojů PyMuPDF, Tesseract a uživatelsky definovaných konfiguračních pravidel zapisovaných ve formátu YAML. Tento přístup se v rámci realizovaných experimentů ukázal jako vhodný.

Extent of the technical report

Evaluation level: is within the usual extent

Práce má 52 stran včetně seznamu literatury, rozsah technické zprávy splňuje předepsané požadavky. 

Work with literature

Práce se odkazuje na 17 zdrojů. Použité zdroje jsou pro řešenou problematiku relevantní. V některých částech textu se opakují citace stejného zdroje v krátkém sledu za sebou. Vzhledem k návaznosti tématu na předchozí práce zabývající se obdobnou problematikou bych očekávala podrobnější diskusi jejich výsledků a případného využití v navrženém řešení.

75
Topics for thesis defence:
  1. Vaše práce se zabývá problematikou, kterou již řešily dřívější závěrečné práce. Na které konkrétní výstupy bylo možné navázat a v čem se Vámi vytvořené řešení od předchozích přístupů liší?
  2. Vaše řešení bylo testováno na zdravotnické dokumentaci související s kardiostimulátory. Jak náročné by bylo jeho přizpůsobení pro jiné typy dokumentů a jaké vlastnosti musí mít dokumenty, aby bylo možné dosahovat obdobné přesnosti extrakce?
Points proposed by reviewer: 84

Grade proposed by reviewer: B

Responsibility: Mgr. et Mgr. Hana Odstrčilová