141 lines
13 KiB
Python
141 lines
13 KiB
Python
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": index == len(md_filenames) - 1,
|
||
"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")
|