import json import glob import os import uuid import re from pathlib import Path internalMedicine = [ "Предмет и задачи на вътрешната медицина. Раздели на вътрешните болести.", "Болест и здраве. Етиология и патогенеза на болестите. Периоди на болестта.", "Агония. Клинична смърт. Биологична смърт.", "Основни класически методи на изследване във вътрешната медицина – анамнеза. Физикални методи на изследване на пациентите – оглед, палпация, перкусия, аускултация. Специални методи на изследване на пациентите.", "Сегашно състояние – обективен статус на болния. Клинична диагноза и прогноза. Проследяване на болния – декурзус.", "Изследване на дихателната система. Основни симптоми и синдроми при заболявания на дихателната система. Физикални и специални методи на изследване на дихателната система.", "Остър и хроничен бронхит. Белодробен емфизем. ХОББ.", "Пневмонии: класификации, клиника, лечение.", "Бронхиектазии. Белодробен абсцес.", "Тумори на белия дроб.", "Белодробен тромбоемболизъм.", "Плеврити.", "Белодробна туберкулоза – етиология, патогенеза и клинична картина. Първична белодробна туберкулоза. Вторична белодробна туберкулоза. Лечение и профилактика на белодробната туберкулоза.", "Дихателна недостатъчност – остра и хронична. Етиология и патогенеза. Степени, клиника и поведение.", "Основни симптоми и синдроми при заболявания на сърдечно-съдовата система. Физикални и специални методи на изследване на сърдечно-съдовата система.", "Ревматизъм.", "Сърдечна недостатъчност – остра и хронична.", "Лечение на сърдечната недостатъчност. Поведение на медицинската сестра при спешни състояния на остра или обострена хронична сърдечна недостатъчност.", "Ендокардити, перикардити. Миокардити.", "Хипертонична болест: рискови фактори, патогенеза, клиника, лечение.", "Остра периферна сърдечно-съдова недостатъчност. Кардиогенен шок.", "Ритъмни и проводни нарушения на сърдечната дейност.", "Исхемична болест на сърцето: етиология и патогенеза, рискови фактори. Стенокардия.", "Исхемична болест на сърцето: етиология и патогенеза, рискови фактори. Инфаркт на миокарда.", "Болести на хипофизата: Акромегалия. Безвкусен диабет.", "Болести на щитовидната жлеза: Тиреотоксикоза. Микседем. Ендемична гуша.", "Болести на надбъбречните жлези: Хиперкортицизъм. Хипокортицизъм.", "Захарен диабет – етиология, патогенеза, класификация, клиника. Диабетна кетоацидоза и хипогликемична кома. Поведение на медицинската сестра при диабетно болен в кома.", "Захарен диабет – късни усложнения. Захарен диабет – диета и медикаментозно лечение.", "Метаболитен синдром. Затлъстяване. Подагра.", "Изследване на стомашно-чревния тракт. Анамнеза. Основни симптоми и синдроми при заболявания на стомашно-чревния тракт.", "Физикални и специални методи на изследване на стомашно-чревния тракт.", "Гастрити. ГЕРБ.", "Язвена болест. Рак на стомаха.", "Ентерити и колити. Рак на дебелото черво.", "Основни симптоми и синдроми при заболяване на черния дроб и жлъчните пътища. Анамнеза, физикални и специални методи за изследване на черния дроб и жлъчните пътища.", "Хронични хепатити. Чернодробни цирози.", "Холелитиаза, холецистити.", "Основни симптоми и синдроми при заболявания на отделителната система. Функционално изследване на отделителната система.", "Остър и хроничен гломерулонефрит.", "Нефролитиаза.", "Пиелонефрити.", "Остра бъбречна недостатъчност. Хронична бъбречна недостатъчност.", "Балканска ендемична нефропатия. Бъбречна поликистозна болест. Бъбречна туберкулоза.", "Ревматоиден артрит.", "Лупус еритематодес.", "Артрозна болест. Остеопороза.", "Желязодефицитни анемии.", "Витамин В12-дефицитни анемии.", "Хемолитични анемии вследствие на вътре- и извънеритроцитни фактори: вродени и придобити.", "Хеморагични диатези – хемофилия, есенциална тромбоцитопения, капиляротоксикоза.", "Бластна левкоза. Хронична миелолевкоза.", "Нехочкинови и хочкинови лимфоми.", "Остри екзогенни интоксикации. Общи принципи и правила в лечението на острите екзогенни отравяния. Поведение на медицинската сестра и грижи за болния с остро отравяне.", "Алергия. Алергични заболявания. Анафилактичен шок. Поведение на медицинската сестра при спешни алергични състояния.", ] pharmacology = [ "Лекарствена форма – определение, видове (твърди, течни, меки, газообразни и галенови лекарствени форми). Рецептурни примери.", "Видове дози – терапевтична, токсична. Терапевтичен индекс и терапевтична ширина. Дозиране на лекарствата при различните възрастови групи.", "Въвеждане на лекарството в организма. Явления при многократно и при комбинирано прилагане.", "Ефективност и потентност на лекарството. Фактори, модификациращи лекарствените действия от страна на организма и на околната среда.", "Хистамин и антихистаминови лекарствени средства.", "Психотропни лекарствени средства – анксиолитици, психостимуланти, ноотропни средства.", "Наркотични (опиоидни) аналгетици.", "Ненаркотични (неопиоидни) аналгетици – пиразолонови, пиразолидиндионови, анилинови, салицилови производни. Нестероидни противовъзпалителни средства.", "Лекарствени средства за лечение на сърдечна недостатъчност. Антиаритмични лекарствени средства.", "Антистенокардни (антиангинозни) и антиатероматозни лекарствени средства.", "Антихипертензивни лекарствени средства – централни и периферни симпатиколитици, миотропни вазодилататори, калциеви антагонисти, инхибитори на ренин-ангиотензин II-алдостероновата система, диуретици.", "Лекарствени средства, влияещи върху хемопоезата и кръвосъсирването (антианемични средства, хемостатици, коагуланти, антикоагуланти, фибринолитици и инхибитори на стимулирания фибринолитичен процес).", "Беталактамни антибиотици – пеницилини, цефалоспорини, карбапенеми, монобактами.", "Гликопептидни антибиотици (ванкомицин, тейкопланин). Аминогликозидни антибиотици.", "Макролидни антибиотици. Линкозамиди. Рифамицини.", "Полипептидни антибиотици. Противотуберкулозни лекарствени средства.", "Тетрациклини, сулфонамиди, рифамицини.", "Флуорохинолони.", "Антимикотични и антивирусни лекарствени средства.", "Лекарствени средства, действащи върху дихателната система – аналептици на дихателния център, противокашлични, отхрачващи и антисептични средства.", "Лекарствени средства, действащи върху храносмилателната система – апетитостимулиращи, апетитопотискащи (анорексигенни), противоповръщащи (антиеметични), противоязвени (антиулкусни).", ] subjects = [internalMedicine, pharmacology] # Usage directory = Path("./md_files") md_filenames = [f.name for f in directory.glob("*.md")] structure = [{"byId": {}, "allIds": []}, {"byId": {}, "allIds": []}] for filename in md_filenames: name_without_ext = filename.replace(".md", "") parts = name_without_ext.split("_") if len(parts) == 4 and parts[0] == "F": subject_index = int(parts[1]) - 1 position = int(parts[2]) version = int(parts[3]) code = f"F{subject_index}_{position}" if code in structure[subject_index]["byId"]: structure[subject_index]["byId"][code]["files"].append( {"filename": filename, "version": version} ) else: # id = str(uuid.uuid4()) index = position - 1 structure[subject_index]["byId"][code] = { "id": code, "index": index, "isFirst": index == 0, "isLast": position == len(subjects[subject_index]), "title": subjects[subject_index][index], "subject": subject_index, "files": [{"filename": filename, "version": version}], } structure[subject_index]["allIds"].append( {"id": code, "position": position} ) structure[0]["allIds"] = [ item["id"] for item in sorted(structure[0]["allIds"], key=lambda x: x["position"]) ] structure[1]["allIds"] = [ item["id"] for item in sorted(structure[1]["allIds"], key=lambda x: x["position"]) ] # Save the new structure to topics.json with open("topics.json", "w", encoding="utf-8") as file: json.dump(structure, file, ensure_ascii=False, indent=4) print("topics.json created successfully with fixed punctuation")