diff --git a/config/services.yaml b/config/services.yaml index 1f57ad9b..f7855a97 100644 --- a/config/services.yaml +++ b/config/services.yaml @@ -20,6 +20,10 @@ services: App\: resource: '../src/' + App\Category\Command\SeedCategoriesCommand: + arguments: + $projectDir: '%kernel.project_dir%' + App\Doctor\Controller\DoctorController: arguments: $projectDir: '%kernel.project_dir%' diff --git a/data/seed/cities.json b/data/seed/cities.json new file mode 100644 index 00000000..f57559eb --- /dev/null +++ b/data/seed/cities.json @@ -0,0 +1,761 @@ +[ + { + "id": 129, + "uuid": "7bfba4b5-646b-11f1-84d7-f26ca1845824", + "name": "اراک", + "status": 1, + "weight": 0, + "province_id": 28, + "province_name": "مرکزی", + "representation_id": null, + "contact_phone": "+98 086 33333333", + "email": "nobat724@gmail.com", + "description": "اراک نوبت، سامانه هوشمند نوبت‌دهی پزشکی استان مرکزی. دسترسی به پزشکان و بیمارستان‌ها. اراک نوبت امکان فیلتر براساس تخصص، منطقه و بیمه پذیرفته شده را فراهم می‌کند.", + "slogan": "رزرو آنلاین نوبت پزشکان اراک، ۲۴ ساعته", + "domain": "arak-nobat.ir", + "keywords": "پزشکان اراک, مراکز درمانی مرکزی, متخصصین اراک, کلینیک‌های اراک, بیمارستان‌های استان مرکزی", + "footer_description": "اراک نوبت، سامانه جامع نوبت‌دهی پزشکی در استان مرکزی. رزرو نوبت از پزشکان و مراکز درمانی اراک بدون نیاز به مراجعه حضوری.", + "social_media": { + "instagram": "arak_nobat", + "telegram": "arak_nobat", + "whatsapp": "989120000027" + }, + "logo_url": null + }, + { + "id": 103, + "uuid": "7bfb6d65-646b-11f1-84d7-f26ca1845824", + "name": "اردبیل", + "status": 1, + "weight": 0, + "province_id": 3, + "province_name": "اردبیل", + "representation_id": null, + "contact_phone": "+98 045 33333333", + "email": "nobat724@gmail.com", + "description": "اردبیل نوبت، پیشرفته‌ترین سیستم نوبت‌دهی آنلاین پزشکی در اردبیل. انتخاب پزشک براساس تخصص و منطقه. با اردبیل نوبت، خداحافظی با صف‌های طولانی و اتلاف وقت.", + "slogan": "نوبت‌دهی آنلاین پزشکی در اردبیل، بدون اتلاف وقت", + "domain": "ardabil-nobat.ir", + "keywords": "نوبت‌دهی پزشکی اردبیل, پزشکان متخصص اردبیل, کلینیک‌های اردبیل, خدمات پزشکی استان اردبیل, مراکز درمانی اردبیل", + "footer_description": "اردبیل نوبت، سامانه پیشرفته نوبت‌دهی آنلاین پزشکی در استان اردبیل. رزرو نوبت از پزشکان و مراکز درمانی اردبیل بدون اتلاف وقت.", + "social_media": { + "instagram": "ardabil_nobat", + "telegram": "ardabil_nobat", + "whatsapp": "989120000002" + }, + "logo_url": null + }, + { + "id": 102, + "uuid": "7bfb6ac3-646b-11f1-84d7-f26ca1845824", + "name": "ارومیه", + "status": 1, + "weight": 0, + "province_id": 2, + "province_name": "آذربایجان غربی", + "representation_id": null, + "contact_phone": "+98 044 33333333", + "email": "nobat724@gmail.com", + "description": "ارومیه نوبت، امکان رزرو آنلاین پزشکان متخصص و عمومی در ارومیه. بدون نیاز به مراجعه حضوری، نوبت خود را رزرو کنید. ارومیه نوبت همراه شما در مسیر سلامت است.", + "slogan": "نوبت پزشک در ارومیه، در سریع‌ترین زمان ممکن", + "domain": "urmia-nobat.ir", + "keywords": "پزشکان ارومیه, درمانگاه‌های ارومیه, متخصصین ارومیه, نوبت دهی آنلاین ارومیه, کلینیک‌های آذربایجان غربی", + "footer_description": "ارومیه نوبت، سامانه جامع نوبت‌دهی پزشکی در آذربایجان غربی. رزرو نوبت از پزشکان و مراکز درمانی ارومیه بدون نیاز به مراجعه حضوری.", + "social_media": { + "instagram": "urmia_nobat", + "telegram": "urmia_nobat", + "whatsapp": "989120000001" + }, + "logo_url": null + }, + { + "id": 104, + "uuid": "7bfb6f78-646b-11f1-84d7-f26ca1845824", + "name": "اصفهان", + "status": 1, + "weight": 0, + "province_id": 4, + "province_name": "اصفهان", + "representation_id": null, + "contact_phone": "+98 031 33333333", + "email": "nobat724@gmail.com", + "description": "اصفهان نوبت، دسترسی به شبکه پزشکان و بیمارستان‌های اصفهان. امکان جستجو و رزرو از بهترین متخصصان. با اصفهان نوبت، رزرو آنلاین در کمتر از یک دقیقه ممکن است.", + "slogan": "دریافت نوبت از بهترین پزشکان اصفهان، تنها با چند کلیک", + "domain": "esf-nobat.ir", + "keywords": "رزرو نوبت اصفهان, پزشکان نصف جهان, مراکز تخصصی اصفهان, بیمارستان‌های اصفهان, مشاوره پزشکی اصفهان", + "footer_description": "اصفهان نوبت، سامانه جامع نوبت‌دهی پزشکی در استان اصفهان. رزرو نوبت از پزشکان و مراکز درمانی اصفهان در کمترین زمان ممکن.", + "social_media": { + "instagram": "esfahan_nobat", + "telegram": "esfahan_nobat", + "whatsapp": "989120000003" + }, + "logo_url": null + }, + { + "id": 113, + "uuid": "7bfb8171-646b-11f1-84d7-f26ca1845824", + "name": "اهواز", + "status": 1, + "weight": 0, + "province_id": 13, + "province_name": "خوزستان", + "representation_id": null, + "contact_phone": "+98 061 33333333", + "email": "nobat724@gmail.com", + "description": "اهواز نوبت، سامانه نوبت‌دهی آنلاین در اهواز و استان خوزستان. امکان جستجو و رزرو نوبت در مراکز درمانی. اهواز نوبت بهترین راه دسترسی به پزشکان متخصص است.", + "slogan": "سامانه هوشمند نوبت‌دهی پزشکان اهواز", + "domain": "ahvaz-nobat.ir", + "keywords": "رزرو نوبت اهواز, پزشکان خوزستان, کلینیک‌های اهواز, بیمارستان‌های اهواز, متخصصین پزشکی اهواز", + "footer_description": "اهواز نوبت، سامانه جامع نوبت‌دهی پزشکی در استان خوزستان. رزرو نوبت از پزشکان و مراکز درمانی اهواز بدون نیاز به مراجعه حضوری.", + "social_media": { + "instagram": "ahvaz_nobat", + "telegram": "ahvaz_nobat", + "whatsapp": "989120000012" + }, + "logo_url": null + }, + { + "id": 106, + "uuid": "7bfb738a-646b-11f1-84d7-f26ca1845824", + "name": "ایلام", + "status": 1, + "weight": 0, + "province_id": 6, + "province_name": "ایلام", + "representation_id": null, + "contact_phone": "+98 084 33333333", + "email": "nobat724@gmail.com", + "description": "ایلام نوبت، اولین سامانه تخصصی نوبت‌دهی پزشکی در استان ایلام. پوشش گسترده پزشکان با امکان فیلتر تخصص. با ایلام نوبت، نوبت‌دهی ۲۴ ساعته، آسان و سریع.", + "slogan": "رزرو آنلاین نوبت پزشکان ایلام، بدون مراجعه حضوری", + "domain": "ilam-nobat.ir", + "keywords": "دکترهای ایلام, مراکز درمانی ایلام, نوبت آنلاین ایلام, پزشکان متخصص ایلام, کلینیک‌های ایلام", + "footer_description": "ایلام نوبت، سامانه جامع نوبت‌دهی پزشکی در استان ایلام. رزرو نوبت از پزشکان و مراکز درمانی ایلام بدون نیاز به مراجعه حضوری.", + "social_media": { + "instagram": "ilam_nobat", + "telegram": "ilam_nobat", + "whatsapp": "989120000005" + }, + "logo_url": null + }, + { + "id": 112, + "uuid": "7bfb7f73-646b-11f1-84d7-f26ca1845824", + "name": "بجنورد", + "status": 1, + "weight": 0, + "province_id": 12, + "province_name": "خراسان شمالی", + "representation_id": null, + "contact_phone": "+98 058 33333333", + "email": "nobat724@gmail.com", + "description": "بجنورد نوبت، ارائه‌دهنده خدمات نوبت‌دهی آنلاین به پزشکان و مراکز درمانی خراسان شمالی. بجنورد نوبت به شما در صرفه‌جویی وقت و هزینه با سیستم رزرو هوشمند کمک می‌کند.", + "slogan": "نوبت پزشک در بجنورد، تنها با چند کلیک", + "domain": "bojnord-nobat.ir", + "keywords": "دکترهای بجنورد, مطب‌های خراسان شمالی, کلینیک‌های بجنورد, خدمات درمانی بجنورد, پزشکان متخصص خراسان شمالی", + "footer_description": "بجنورد نوبت، سامانه جامع نوبت‌دهی پزشکی در استان خراسان شمالی. رزرو نوبت از پزشکان و مراکز درمانی بجنورد بدون نیاز به مراجعه حضوری.", + "social_media": { + "instagram": "bojnord_nobat", + "telegram": "bojnord_nobat", + "whatsapp": "989120000011" + }, + "logo_url": null + }, + { + "id": 130, + "uuid": "7bfba6b9-646b-11f1-84d7-f26ca1845824", + "name": "بندرعباس", + "status": 1, + "weight": 0, + "province_id": 29, + "province_name": "هرمزگان", + "representation_id": null, + "contact_phone": "+98 076 33333333", + "email": "nobat724@gmail.com", + "description": "بندرعباس نوبت، اولین سامانه نوبت‌دهی آنلاین پزشکی هرمزگان. دسترسی به پزشکان و مراکز تشخیصی. با بندرعباس نوبت رزرو نوبت با کمترین زمان انتظار امکان‌پذیر است.", + "slogan": "سیستم جامع نوبت‌گیری پزشکی بندرعباس", + "domain": "bandar-nobat.ir", + "keywords": "نوبت پزشک بندرعباس, مراکز درمانی هرمزگان, متخصصین بندرعباس, کلینیک‌های جنوب ایران, پزشکان هرمزگان", + "footer_description": "بندرعباس نوبت، سامانه جامع نوبت‌دهی پزشکی در استان هرمزگان. رزرو نوبت از پزشکان و مراکز درمانی بندرعباس بدون نیاز به مراجعه حضوری.", + "social_media": { + "instagram": "bandarabbas_nobat", + "telegram": "bandarabbas_nobat", + "whatsapp": "989120000028" + }, + "logo_url": null + }, + { + "id": 107, + "uuid": "7bfb7583-646b-11f1-84d7-f26ca1845824", + "name": "بوشهر", + "status": 1, + "weight": 0, + "province_id": 7, + "province_name": "بوشهر", + "representation_id": null, + "contact_phone": "+98 077 33333333", + "email": "nobat724@gmail.com", + "description": "بوشهر نوبت، پلتفرم جامع نوبت‌دهی پزشکی استان بوشهر. دسترسی به پزشکان متخصص و مراکز پاراکلینیکی. با بوشهر نوبت، مدیریت زمان و کاهش هزینه‌های درمان آسان است.", + "slogan": "نوبت‌دهی هوشمند پزشکی بوشهر، در هر ساعت از شبانه‌روز", + "domain": "bushehr-nobat.ir", + "keywords": "نوبت پزشک بوشهر, کلینیک‌های استان بوشهر, پزشکان جنوب کشور, مراکز تشخیصی بوشهر, خدمات پزشکی بوشهر", + "footer_description": "بوشهر نوبت، سامانه تخصصی نوبت‌دهی پزشکی در استان بوشهر. رزرو نوبت از پزشکان و مراکز درمانی بوشهر بدون نیاز به مراجعه حضوری.", + "social_media": { + "instagram": "bushehr_nobat", + "telegram": "bushehr_nobat", + "whatsapp": "989120000006" + }, + "logo_url": null + }, + { + "id": 110, + "uuid": "7bfb7b9b-646b-11f1-84d7-f26ca1845824", + "name": "بیرجند", + "status": 1, + "weight": 0, + "province_id": 10, + "province_name": "خراسان جنوبی", + "representation_id": null, + "contact_phone": "+98 056 33333333", + "email": "nobat724@gmail.com", + "description": "بیرجند نوبت، سامانه هوشمند نوبت‌دهی پزشکی در خراسان جنوبی. پوشش مراکز درمانی و پزشکان متخصص. با بیرجند نوبت، با چند کلیک ساده در هر ساعت نوبت خود را رزرو کنید.", + "slogan": "نوبت‌دهی پزشکی بیرجند، در کمترین زمان ممکن", + "domain": "birjand-nobat.ir", + "keywords": "پزشکان بیرجند, مراکز درمانی خراسان جنوبی, کلینیک‌های بیرجند, متخصصین بیرجند, نوبت‌دهی آنلاین خراسان جنوبی", + "footer_description": "بیرجند نوبت، سامانه جامع نوبت‌دهی پزشکی در استان خراسان جنوبی. رزرو نوبت از پزشکان و مراکز درمانی بیرجند بدون نیاز به مراجعه حضوری.", + "social_media": { + "instagram": "birjand_nobat", + "telegram": "birjand_nobat", + "whatsapp": "989120000009" + }, + "logo_url": null + }, + { + "id": 101, + "uuid": "7bfb684b-646b-11f1-84d7-f26ca1845824", + "name": "تبریز", + "status": 1, + "weight": 0, + "province_id": 1, + "province_name": "آذربایجان شرقی", + "representation_id": null, + "contact_phone": "+98 041 33333333", + "email": "nobat724@gmail.com", + "description": "تبریز نوبت، سامانه تخصصی نوبت‌دهی پزشکی با سریع‌ترین روش ممکن. دسترسی به پزشکان متخصص و مراکز درمانی معتبر تبریز. با تبریز نوبت، رزرو آنلاین در هر ساعت از شبانه‌روز امکان‌پذیر است.", + "slogan": "سریع‌ترین سیستم نوبت‌دهی پزشکی تبریز", + "domain": "tabriz-nobat.ir", + "keywords": "نوبت پزشک تبریز, متخصصان تبریز, رزرو آنلاین پزشک تبریز, مراکز درمانی تبریز, بیمارستان‌های تبریز", + "footer_description": "تبریز نوبت، اولین سامانه تخصصی نوبت‌دهی آنلاین پزشکی در شمال غرب کشور. رزرو نوبت از پزشکان و مراکز درمانی معتبر تبریز در کمترین زمان ممکن.", + "social_media": { + "instagram": "tabriz_nobat", + "telegram": "tabriz_nobat", + "whatsapp": "989120000000" + }, + "logo_url": null + }, + { + "id": 108, + "uuid": "7bfb777e-646b-11f1-84d7-f26ca1845824", + "name": "تهران", + "status": 1, + "weight": 0, + "province_id": 8, + "province_name": "تهران", + "representation_id": null, + "contact_phone": "+98 021 33333333", + "email": "nobat724@gmail.com", + "description": "تهران نوبت، بزرگترین سامانه نوبت‌دهی پزشکی پایتخت. پوشش هزاران پزشک و بیمارستان با جستجوی پیشرفته. تهران نوبت امکان مشاهده نظرات بیماران و رزرو آنلاین را فراهم می‌کند.", + "slogan": "دسترسی به هزاران پزشک تهران، با یک سامانه هوشمند", + "domain": "tehran-nobat.ir", + "keywords": "پزشکان متخصص تهران, کلینیک‌های پایتخت, بیمارستان‌های تهران, نوبت‌گیری آنلاین پزشکی تهران, فوق تخصص‌های تهران", + "footer_description": "تهران نوبت، سامانه جامع نوبت‌دهی پزشکی در پایتخت. رزرو نوبت از پزشکان و مراکز درمانی تهران بدون نیاز به مراجعه حضوری.", + "social_media": { + "instagram": "tehran_nobat", + "telegram": "tehran_nobat", + "whatsapp": "989120000007" + }, + "logo_url": null + }, + { + "id": 127, + "uuid": "7bfba0b0-646b-11f1-84d7-f26ca1845824", + "name": "خرم‌آباد", + "status": 1, + "weight": 0, + "province_id": 26, + "province_name": "لرستان", + "representation_id": null, + "contact_phone": "+98 066 33333333", + "email": "nobat724@gmail.com", + "description": "خرم‌آباد نوبت، سامانه نوبت‌دهی آنلاین پزشکی در لرستان. ارائه خدمات به مراکز درمانی و پزشکان استان. خرم‌آباد نوبت امکان جستجو براساس تخصص و بیمه را فراهم می‌کند.", + "slogan": "نوبت‌دهی آنلاین پزشکان خرم‌آباد، با چند کلیک ساده", + "domain": "lorestan-nobat.ir", + "keywords": "پزشکان خرم‌آباد, مراکز درمانی لرستان, کلینیک‌های خرم‌آباد, متخصصین لرستان, خدمات پزشکی خرم‌آباد", + "footer_description": "خرم‌آباد نوبت، سامانه جامع نوبت‌دهی پزشکی در استان لرستان. رزرو نوبت از پزشکان و مراکز درمانی خرم‌آباد بدون نیاز به مراجعه حضوری.", + "social_media": { + "instagram": "khorramabad_nobat", + "telegram": "khorramabad_nobat", + "whatsapp": "989120000025" + }, + "logo_url": null + }, + { + "id": 126, + "uuid": "7bfb9ea9-646b-11f1-84d7-f26ca1845824", + "name": "رشت", + "status": 1, + "weight": 0, + "province_id": 25, + "province_name": "گیلان", + "representation_id": null, + "contact_phone": "+98 013 33333333", + "email": "nobat724@gmail.com", + "description": "رشت نوبت، سامانه تخصصی نوبت‌دهی پزشکی استان گیلان. دسترسی به پزشکان و مراکز تشخیصی استان. رشت نوبت امکان رزرو از پزشکان معتبر با مرور سوابق را فراهم می‌کند.", + "slogan": "سامانه هوشمند نوبت پزشکی در رشت", + "domain": "rasht-nobat.ir", + "keywords": "نوبت پزشک رشت, مراکز درمانی گیلان, متخصصین رشت, کلینیک‌های رشت, بیمارستان‌های گیلان", + "footer_description": "رشت نوبت، سامانه جامع نوبت‌دهی پزشکی در استان گیلان. رزرو نوبت از پزشکان و مراکز درمانی رشت بدون نیاز به مراجعه حضوری.", + "social_media": { + "instagram": "rasht_nobat", + "telegram": "rasht_nobat", + "whatsapp": "989120000024" + }, + "logo_url": null + }, + { + "id": 116, + "uuid": "7bfb88eb-646b-11f1-84d7-f26ca1845824", + "name": "زاهدان", + "status": 1, + "weight": 0, + "province_id": 16, + "province_name": "سیستان و بلوچستان", + "representation_id": null, + "contact_phone": "+98 054 33333333", + "email": "nobat724@gmail.com", + "description": "زاهدان نوبت، سامانه ویژه نوبت‌دهی پزشکی در سیستان و بلوچستان. پوشش پزشکان عمومی، متخصص و فوق‌تخصص. با زاهدان نوبت، رزرو آنلاین از مراکز معتبر درمانی استان.", + "slogan": "نوبت‌دهی پزشکی زاهدان، سریع و مطمئن", + "domain": "zahedan-nobat.ir", + "keywords": "نوبت پزشکان زاهدان, مراکز درمانی سیستان و بلوچستان, متخصصین زاهدان, کلینیک‌های زاهدان, خدمات پزشکی زاهدان", + "footer_description": "زاهدان نوبت، سامانه جامع نوبت‌دهی پزشکی در استان سیستان و بلوچستان. رزرو نوبت از پزشکان و مراکز درمانی زاهدان بدون نیاز به مراجعه حضوری.", + "social_media": { + "instagram": "zahedan_nobat", + "telegram": "zahedan_nobat", + "whatsapp": "989120000015" + }, + "logo_url": null + }, + { + "id": 114, + "uuid": "7bfb8454-646b-11f1-84d7-f26ca1845824", + "name": "زنجان", + "status": 1, + "weight": 0, + "province_id": 14, + "province_name": "زنجان", + "representation_id": null, + "contact_phone": "+98 024 33333333", + "email": "nobat724@gmail.com", + "description": "زنجان نوبت، اولین سامانه تخصصی رزرو آنلاین نوبت پزشکی در استان زنجان. دسترسی سریع به پزشکان. با زنجان نوبت، انتخاب آگاهانه با مشاهده سوابق و نظرات بیماران.", + "slogan": "نوبت‌گیری آنلاین از پزشکان زنجان، در هر ساعتی از روز", + "domain": "zanjan-nobat.ir", + "keywords": "نوبت پزشک زنجان, درمانگاه‌های زنجان, متخصصین استان زنجان, کلینیک‌های زنجان, مراکز پزشکی زنجان", + "footer_description": "زنجان نوبت، سامانه جامع نوبت‌دهی پزشکی در استان زنجان. رزرو نوبت از پزشکان و مراکز درمانی زنجان بدون نیاز به مراجعه حضوری.", + "social_media": { + "instagram": "zanjan_nobat", + "telegram": "zanjan_nobat", + "whatsapp": "989120000013" + }, + "logo_url": null + }, + { + "id": 128, + "uuid": "7bfba2b0-646b-11f1-84d7-f26ca1845824", + "name": "ساری", + "status": 1, + "weight": 0, + "province_id": 27, + "province_name": "مازندران", + "representation_id": null, + "contact_phone": "+98 011 33333333", + "email": "nobat724@gmail.com", + "description": "ساری نوبت، سامانه جامع نوبت‌دهی پزشکی استان مازندران. پوشش مراکز درمانی و پزشکان متخصص. ساری نوبت امکان رزرو در هر ساعت بدون نیاز به تماس تلفنی را فراهم می‌کند.", + "slogan": "نوبت پزشکی در ساری، بدون اتلاف وقت", + "domain": "sari-nobat.ir", + "keywords": "نوبت پزشک ساری, مراکز درمانی مازندران, متخصصین ساری, کلینیک‌های شمال ایران, پزشکان استان مازندران", + "footer_description": "ساری نوبت، سامانه جامع نوبت‌دهی پزشکی در استان مازندران. رزرو نوبت از پزشکان و مراکز درمانی ساری بدون نیاز به مراجعه حضوری.", + "social_media": { + "instagram": "sari_nobat", + "telegram": "sari_nobat", + "whatsapp": "989120000026" + }, + "logo_url": null + }, + { + "id": 115, + "uuid": "7bfb8666-646b-11f1-84d7-f26ca1845824", + "name": "سمنان", + "status": 1, + "weight": 0, + "province_id": 15, + "province_name": "سمنان", + "representation_id": null, + "contact_phone": "+98 023 33333333", + "email": "nobat724@gmail.com", + "description": "سمنان نوبت، جامع‌ترین مرجع نوبت‌دهی آنلاین پزشکی در استان سمنان. با سمنان نوبت خدمات رزرو آنلاین برای مراکز درمانی و پزشکان متخصص را در کمترین زمان دریافت کنید.", + "slogan": "رزرو آنلاین پزشکان سمنان، بدون محدودیت زمانی", + "domain": "semnan-nobat.ir", + "keywords": "پزشکان سمنان, مراکز درمانی سمنان, رزرو نوبت آنلاین سمنان, متخصصین استان سمنان, کلینیک‌های سمنان", + "footer_description": "سمنان نوبت، سامانه جامع نوبت‌دهی پزشکی در استان سمنان. رزرو نوبت از پزشکان و مراکز درمانی سمنان بدون نیاز به مراجعه حضوری.", + "social_media": { + "instagram": "semnan_nobat", + "telegram": "semnan_nobat", + "whatsapp": "989120000014" + }, + "logo_url": null + }, + { + "id": 120, + "uuid": "7bfb90fb-646b-11f1-84d7-f26ca1845824", + "name": "سنندج", + "status": 1, + "weight": 0, + "province_id": 20, + "province_name": "کردستان", + "representation_id": null, + "contact_phone": "+98 087 33333333", + "email": "nobat724@gmail.com", + "description": "سنندج نوبت، سامانه تخصصی نوبت‌دهی پزشکی استان کردستان. رزرو آنلاین نوبت از مراکز بهداشتی و پزشکان. سنندج نوبت به کاهش هزینه‌های درمان با مدیریت زمان کمک می‌کند.", + "slogan": "نوبت‌دهی آنلاین پزشکان سنندج، ساده و کاربردی", + "domain": "sanandaj-nobat.ir", + "keywords": "نوبت پزشک سنندج, مراکز درمانی کردستان, متخصصان سنندج, کلینیک‌های سنندج, پزشکان عمومی سنندج", + "footer_description": "سنندج نوبت، سامانه جامع نوبت‌دهی پزشکی در استان کردستان. رزرو نوبت از پزشکان و مراکز درمانی سنندج بدون نیاز به مراجعه حضوری.", + "social_media": { + "instagram": "sanandaj_nobat", + "telegram": "sanandaj_nobat", + "whatsapp": "989120000019" + }, + "logo_url": null + }, + { + "id": 109, + "uuid": "7bfb797f-646b-11f1-84d7-f26ca1845824", + "name": "شهرکرد", + "status": 1, + "weight": 0, + "province_id": 9, + "province_name": "چهارمحال و بختیاری", + "representation_id": null, + "contact_phone": "+98 038 33333333", + "email": "nobat724@gmail.com", + "description": "شهرکرد نوبت، سامانه جامع نوبت‌دهی پزشکی در چهارمحال و بختیاری. حذف صف‌های طولانی با رزرو آنلاین. با شهرکرد نوبت، دسترسی به پزشکان در کوتاه‌ترین زمان ممکن.", + "slogan": "صف‌های طولانی نوبت در شهرکرد را فراموش کنید", + "domain": "shkord-nobat.ir", + "keywords": "پزشکان شهرکرد, درمانگاه‌های چهارمحال و بختیاری, متخصصین شهرکرد, کلینیک‌های شهرکرد, خدمات درمانی بام ایران", + "footer_description": "شهرکرد نوبت، سامانه تخصصی نوبت‌دهی پزشکی در استان چهارمحال و بختیاری. رزرو نوبت از پزشکان و مراکز درمانی شهرکرد بدون نیاز به مراجعه حضوری.", + "social_media": { + "instagram": "shahrekord_nobat", + "telegram": "shahrekord_nobat", + "whatsapp": "989120000008" + }, + "logo_url": null + }, + { + "id": 117, + "uuid": "7bfb8b02-646b-11f1-84d7-f26ca1845824", + "name": "شیراز", + "status": 1, + "weight": 0, + "province_id": 17, + "province_name": "فارس", + "representation_id": null, + "contact_phone": "+98 071 33333333", + "email": "nobat724@gmail.com", + "description": "شیراز نوبت، سامانه پیشرفته رزرو آنلاین نوبت پزشکی در شیراز. دسترسی به پزشکان برتر و مراکز درمانی فارس. شیراز نوبت امکان جستجو براساس تخصص و منطقه را فراهم می‌کند.", + "slogan": "نوبت‌دهی آنلاین پزشکان شیراز، در کمترین زمان", + "domain": "shiraz-nobat.ir", + "keywords": "پزشکان شیراز, بیمارستان‌های شیراز, مراکز درمانی فارس, مطب‌های شیراز, متخصصین شهر شیراز", + "footer_description": "شیراز نوبت، سامانه جامع نوبت‌دهی پزشکی در استان فارس. رزرو نوبت از پزشکان و مراکز درمانی شیراز بدون نیاز به مراجعه حضوری.", + "social_media": { + "instagram": "shiraz_nobat", + "telegram": "shiraz_nobat", + "whatsapp": "989120000016" + }, + "logo_url": null + }, + { + "id": 118, + "uuid": "7bfb8d02-646b-11f1-84d7-f26ca1845824", + "name": "قزوین", + "status": 1, + "weight": 0, + "province_id": 18, + "province_name": "قزوین", + "representation_id": null, + "contact_phone": "+98 028 33333333", + "email": "nobat724@gmail.com", + "description": "قزوین نوبت، اولین سامانه هوشمند نوبت‌دهی پزشکی در استان قزوین. رزرو آنلاین نوبت از پزشکان و مراکز پاراکلینیکی. با قزوین نوبت، مدیریت نوبت‌ها از طریق پنل کاربری.", + "slogan": "نوبت‌گیری از پزشکان قزوین، بدون نیاز به حضور فیزیکی", + "domain": "qazvin-nobat.ir", + "keywords": "نوبت پزشک قزوین, مراکز درمانی استان قزوین, متخصصین قزوین, کلینیک‌های قزوین, خدمات پزشکی قزوین", + "footer_description": "قزوین نوبت، سامانه جامع نوبت‌دهی پزشکی در استان قزوین. رزرو نوبت از پزشکان و مراکز درمانی قزوین بدون نیاز به مراجعه حضوری.", + "social_media": { + "instagram": "qazvin_nobat", + "telegram": "qazvin_nobat", + "whatsapp": "989120000017" + }, + "logo_url": null + }, + { + "id": 119, + "uuid": "7bfb8efd-646b-11f1-84d7-f26ca1845824", + "name": "قم", + "status": 1, + "weight": 0, + "province_id": 19, + "province_name": "قم", + "representation_id": null, + "contact_phone": "+98 025 33333333", + "email": "nobat724@gmail.com", + "description": "قم نوبت، سامانه اختصاصی نوبت‌دهی پزشکی قم با پشتیبانی ۲۴ ساعته. دسترسی به پزشکان و مراکز درمانی شهر قم. قم نوبت امکان مشاهده تخصص‌ها و هزینه‌ها را فراهم می‌کند.", + "slogan": "سامانه جامع نوبت‌دهی پزشکی قم، در خدمت سلامت شما", + "domain": "qom-nobat.ir", + "keywords": "پزشکان قم, بیمارستان‌های قم, مراکز تشخیصی قم, متخصصین شهر قم, کلینیک‌های درمانی قم", + "footer_description": "قم نوبت، سامانه جامع نوبت‌دهی پزشکی در استان قم. رزرو نوبت از پزشکان و مراکز درمانی قم بدون نیاز به مراجعه حضوری.", + "social_media": { + "instagram": "qom_nobat", + "telegram": "qom_nobat", + "whatsapp": "989120000018" + }, + "logo_url": null + }, + { + "id": 105, + "uuid": "7bfb718c-646b-11f1-84d7-f26ca1845824", + "name": "کرج", + "status": 1, + "weight": 0, + "province_id": 5, + "province_name": "البرز", + "representation_id": null, + "contact_phone": "+98 026 33333333", + "email": "nobat724@gmail.com", + "description": "کرج نوبت، راهکار آسان برای نوبت‌دهی پزشکی در کرج و حومه. پوشش مراکز درمانی البرز با رزرو آنلاین. کرج نوبت بدون نیاز به تلفن و انتظار در صف خدمت می‌کند.", + "slogan": "نوبت‌دهی پزشکی کرج، سریع و آسان", + "domain": "karaj-nobat.ir", + "keywords": "نوبت‌دهی آنلاین کرج, پزشکان البرز, مطب‌های کرج, درمانگاه‌های کرج, مراکز تخصصی البرز", + "footer_description": "کرج نوبت، سامانه تخصصی نوبت‌دهی پزشکی در استان البرز. رزرو نوبت از پزشکان و مراکز درمانی کرج بدون نیاز به مراجعه حضوری.", + "social_media": { + "instagram": "karaj_nobat", + "telegram": "karaj_nobat", + "whatsapp": "989120000004" + }, + "logo_url": null + }, + { + "id": 121, + "uuid": "7bfb93e4-646b-11f1-84d7-f26ca1845824", + "name": "کرمان", + "status": 1, + "weight": 0, + "province_id": 21, + "province_name": "کرمان", + "representation_id": null, + "contact_phone": "+98 034 33333333", + "email": "nobat724@gmail.com", + "description": "کرمان نوبت، سیستم جامع نوبت‌دهی آنلاین پزشکی در استان کرمان. پوشش گسترده پزشکان و مراکز تخصصی. کرمان نوبت امکان رزرو براساس نزدیکترین زمان و مکان را فراهم می‌کند.", + "slogan": "نوبت‌دهی پزشکی کرمان، در خدمت سلامت شما", + "domain": "kerman-nobat.ir", + "keywords": "رزرو نوبت کرمان, پزشکان استان کرمان, کلینیک‌های کرمان, متخصصین کرمان, مراکز درمانی کرمان", + "footer_description": "کرمان نوبت، سامانه جامع نوبت‌دهی پزشکی در استان کرمان. رزرو نوبت از پزشکان و مراکز درمانی کرمان بدون نیاز به مراجعه حضوری.", + "social_media": { + "instagram": "kerman_nobat", + "telegram": "kerman_nobat", + "whatsapp": "989120000020" + }, + "logo_url": null + }, + { + "id": 122, + "uuid": "7bfb9685-646b-11f1-84d7-f26ca1845824", + "name": "کرمانشاه", + "status": 1, + "weight": 0, + "province_id": 22, + "province_name": "کرمانشاه", + "representation_id": null, + "contact_phone": "+98 083 33333333", + "email": "nobat724@gmail.com", + "description": "کرمانشاه نوبت، سامانه هوشمند نوبت‌دهی پزشکی با پوشش مراکز درمانی کرمانشاه. کرمانشاه نوبت امکان رزرو آنلاین از پزشکان متخصص و بیمارستان‌ها در هر ساعت را فراهم می‌کند.", + "slogan": "رزرو آنلاین نوبت پزشکان کرمانشاه، ۲۴ ساعته", + "domain": "kermanshah-nobat.ir", + "keywords": "پزشکان کرمانشاه, نوبت‌دهی درمانی کرمانشاه, مطب‌های کرمانشاه, کلینیک‌های غرب کشور, بیمارستان‌های کرمانشاه", + "footer_description": "کرمانشاه نوبت، سامانه جامع نوبت‌دهی پزشکی در استان کرمانشاه. رزرو نوبت از پزشکان و مراکز درمانی کرمانشاه بدون نیاز به مراجعه حضوری.", + "social_media": { + "instagram": "kermanshah_nobat", + "telegram": "kermanshah_nobat", + "whatsapp": "989120000021" + }, + "logo_url": null + }, + { + "id": 124, + "uuid": "7bfb9ab1-646b-11f1-84d7-f26ca1845824", + "name": "گچساران", + "status": 1, + "weight": 0, + "province_id": 23, + "province_name": "کهگیلویه و بویراحمد", + "representation_id": null, + "contact_phone": "+98 074 33333333", + "email": "nobat724@gmail.com", + "description": "یاسوج نوبت، سامانه نوبت‌دهی آنلاین پزشکی در کهگیلویه و بویراحمد. دسترسی به پزشکان متخصص و مراکز درمانی. یاسوج نوبت باعث کاهش اتلاف وقت و هزینه می‌شود.", + "slogan": "نوبت‌دهی پزشکان یاسوج، بدون اتلاف وقت و هزینه", + "domain": "yasuj-nobat.ir", + "keywords": "نوبت پزشک یاسوج, مراکز درمانی کهگیلویه و بویراحمد, متخصصین یاسوج, کلینیک‌های یاسوج, درمانگاه‌های یاسوج", + "footer_description": "یاسوج نوبت، سامانه جامع نوبت‌دهی پزشکی در استان کهگیلویه و بویراحمد. رزرو نوبت از پزشکان و مراکز درمانی یاسوج بدون نیاز به مراجعه حضوری.", + "social_media": { + "instagram": "yasuj_nobat", + "telegram": "yasuj_nobat", + "whatsapp": "989120000022" + }, + "logo_url": null + }, + { + "id": 125, + "uuid": "7bfb9cb5-646b-11f1-84d7-f26ca1845824", + "name": "گرگان", + "status": 1, + "weight": 0, + "province_id": 24, + "province_name": "گلستان", + "representation_id": null, + "contact_phone": "+98 017 33333333", + "email": "nobat724@gmail.com", + "description": "گرگان نوبت، پیشرفته‌ترین سامانه رزرو آنلاین نوبت پزشکی گلستان. خدمات نوبت‌دهی به تمامی مراکز درمانی و پزشکان. با گرگان نوبت، رزرو سریع با چند کلیک ساده.", + "slogan": "نوبت‌دهی آنلاین پزشکی گرگان، ساده و سریع", + "domain": "golestan-nobat.ir", + "keywords": "پزشکان گرگان, خدمات درمانی گلستان, مطب‌های گرگان, کلینیک‌های گرگان, متخصصین استان گلستان", + "footer_description": "گرگان نوبت، سامانه جامع نوبت‌دهی پزشکی در استان گلستان. رزرو نوبت از پزشکان و مراکز درمانی گرگان بدون نیاز به مراجعه حضوری.", + "social_media": { + "instagram": "gorgan_nobat", + "telegram": "gorgan_nobat", + "whatsapp": "989120000023" + }, + "logo_url": null + }, + { + "id": 111, + "uuid": "7bfb7d86-646b-11f1-84d7-f26ca1845824", + "name": "مشهد", + "status": 1, + "weight": 0, + "province_id": 11, + "province_name": "خراسان رضوی", + "representation_id": null, + "contact_phone": "+98 051 33333333", + "email": "nobat724@gmail.com", + "description": "مشهد نوبت، پیشرفته‌ترین سامانه رزرو نوبت پزشکی در مشهد مقدس. امکان مشاهده سوابق پزشکان و نظرات بیماران. مشهد نوبت تمامی مراکز درمانی شهر را پوشش می‌دهد.", + "slogan": "خداحافظی با صف‌های نوبت پزشکی در مشهد", + "domain": "mashhad-nobat.ir", + "keywords": "پزشکان مشهد مقدس, بیمارستان‌های مشهد, کلینیک‌های خراسان رضوی, متخصصین مشهد, فوق تخصص‌های مشهد", + "footer_description": "مشهد نوبت، سامانه جامع نوبت‌دهی پزشکی در استان خراسان رضوی. رزرو نوبت از پزشکان و مراکز درمانی مشهد بدون نیاز به مراجعه حضوری.", + "social_media": { + "instagram": "mashhad_nobat", + "telegram": "mashhad_nobat", + "whatsapp": "989120000010" + }, + "logo_url": null + }, + { + "id": 600, + "uuid": "7bfbad3c-646b-11f1-84d7-f26ca1845824", + "name": "نوبت 724", + "status": 1, + "weight": 0, + "province_id": null, + "province_name": null, + "representation_id": null, + "contact_phone": "+98 021 724724724", + "email": "nobat724@gmail.com", + "description": "نوبت 724 - سیستم آنلاین نوبت‌دهی برای پزشکان و کلینیک‌ها. با استفاده از نوبت 724، به راحتی نوبت پزشکی خود را به صورت آنلاین رزرو کنید و از خدمات سریع و کارآمد ما بهره‌مند شوید", + "slogan": "دیگه نوبت گرفتن کار سختی نیست !", + "domain": "nobat724.com", + "keywords": "نوبت 724, نوبت دهی, رزرو نوبت, پزشک, پزشکی, کلینیک, بیمارستان, نوبت آنلاین, سیستم نوبت دهی, سیستم نوبت دهی آنلاین, سیستم نوبت دهی پزشکی, سیستم نوبت دهی کلینیک, سیستم نوبت دهی بیمارستان, سیستم نوبت دهی آنلاین پزشکی, سیستم نوبت دهی آنلاین کلینیک, سیستم نوبت دهی آنلاین بیمارستان", + "footer_description": "نوبت 724، سامانه جامع نوبت‌دهی پزشکی برای تمامی شهرها. رزرو نوبت از پزشکان و مراکز درمانی معتبر بدون نیاز به مراجعه حضوری.", + "social_media": { + "instagram": "nobat724", + "telegram": "nobat724", + "whatsapp": "989120000031" + }, + "logo_url": null + }, + { + "id": 131, + "uuid": "7bfba8b7-646b-11f1-84d7-f26ca1845824", + "name": "همدان", + "status": 1, + "weight": 0, + "province_id": 30, + "province_name": "همدان", + "representation_id": null, + "contact_phone": "+98 081 33333333", + "email": "nobat724@gmail.com", + "description": "همدان نوبت، سامانه پیشرفته نوبت‌دهی پزشکی در استان همدان. پوشش پزشکان و مراکز درمانی استان. همدان نوبت امکان جستجو براساس تخصص و محله را فراهم می‌کند.", + "slogan": "نوبت‌دهی پزشکی همدان، آسان و سریع", + "domain": "hamadan-nobat.ir", + "keywords": "پزشکان همدان, نوبت‌دهی متخصصین همدان, کلینیک‌های استان همدان, مراکز درمانی همدان, بیمارستان‌های همدان", + "footer_description": "همدان نوبت، سامانه جامع نوبت‌دهی پزشکی در استان همدان. رزرو نوبت از پزشکان و مراکز درمانی همدان بدون نیاز به مراجعه حضوری.", + "social_media": { + "instagram": "hamedan_nobat", + "telegram": "hamedan_nobat", + "whatsapp": "989120000029" + }, + "logo_url": null + }, + { + "id": 123, + "uuid": "7bfb989e-646b-11f1-84d7-f26ca1845824", + "name": "یاسوج", + "status": 1, + "weight": 0, + "province_id": 23, + "province_name": "کهگیلویه و بویراحمد", + "representation_id": null, + "contact_phone": "+98 074 33333333", + "email": "nobat724@gmail.com", + "description": "یاسوج نوبت، سامانه نوبت‌دهی آنلاین پزشکی در کهگیلویه و بویراحمد. دسترسی به پزشکان متخصص و مراکز درمانی. یاسوج نوبت باعث کاهش اتلاف وقت و هزینه می‌شود.", + "slogan": "نوبت‌دهی پزشکان یاسوج، بدون اتلاف وقت و هزینه", + "domain": "yasuj-nobat.ir", + "keywords": "نوبت پزشک یاسوج, مراکز درمانی کهگیلویه و بویراحمد, متخصصین یاسوج, کلینیک‌های یاسوج, درمانگاه‌های یاسوج", + "footer_description": "یاسوج نوبت، سامانه جامع نوبت‌دهی پزشکی در استان کهگیلویه و بویراحمد. رزرو نوبت از پزشکان و مراکز درمانی یاسوج بدون نیاز به مراجعه حضوری.", + "social_media": { + "instagram": "yasuj_nobat", + "telegram": "yasuj_nobat", + "whatsapp": "989120000022" + }, + "logo_url": null + }, + { + "id": 132, + "uuid": "7bfbaacd-646b-11f1-84d7-f26ca1845824", + "name": "یزد", + "status": 1, + "weight": 0, + "province_id": 100, + "province_name": "یزد", + "representation_id": null, + "contact_phone": "+98 035 33333333", + "email": "nobat724@gmail.com", + "description": "یزد نوبت، کامل‌ترین سامانه نوبت‌دهی آنلاین پزشکی در استان یزد. دسترسی به پزشکان و مراکز پاراکلینیکی. یزد نوبت امکان رزرو با کمترین زمان انتظار را فراهم می‌کند.", + "slogan": "نوبت‌گیری آنلاین پزشکان یزد، در هر ساعت از روز", + "domain": "yazd-nobat.ir", + "keywords": "نوبت پزشک یزد, مراکز درمانی استان یزد, متخصصین یزد, کلینیک‌های یزد, خدمات پزشکی شهر جهانی یزد", + "footer_description": "یزد نوبت، سامانه جامع نوبت‌دهی پزشکی در استان یزد. رزرو نوبت از پزشکان و مراکز درمانی یزد بدون نیاز به مراجعه حضوری.", + "social_media": { + "instagram": "yazd_nobat", + "telegram": "yazd_nobat", + "whatsapp": "989120000030" + }, + "logo_url": null + } +] \ No newline at end of file diff --git a/data/seed/doctor_services.json b/data/seed/doctor_services.json new file mode 100644 index 00000000..bc18f4b6 --- /dev/null +++ b/data/seed/doctor_services.json @@ -0,0 +1,1937 @@ +[ + { + "id": 1, + "uuid": "a1d4683f-7b1a-47b5-b779-78917a3509e0", + "name": "ویزیت پزشک عمومی", + "slug": "general-practitioner-visit", + "status": 1, + "weight": 10, + "specialty_id": 1 + }, + { + "id": 2, + "uuid": "799ecde0-5715-4cb5-a20e-4eae31c8c88d", + "name": "معاینه دوره‌ای و چکاپ", + "slug": "general-practitioner-checkup", + "status": 1, + "weight": 20, + "specialty_id": 1 + }, + { + "id": 3, + "uuid": "cacca3d5-2ede-4b31-9e9e-29d0803c1775", + "name": "تزریقات و پانسمان", + "slug": "general-practitioner-injection-dressing", + "status": 1, + "weight": 30, + "specialty_id": 1 + }, + { + "id": 4, + "uuid": "e7726ebc-d7e7-4822-bced-2ed9b865eb3b", + "name": "صدور گواهی سلامت", + "slug": "general-practitioner-health-certificate", + "status": 1, + "weight": 40, + "specialty_id": 1 + }, + { + "id": 5, + "uuid": "487caabf-6448-4bbb-8a50-c59a928e47b9", + "name": "ویزیت داخلی", + "slug": "internal-medicine-visit", + "status": 1, + "weight": 10, + "specialty_id": 2 + }, + { + "id": 6, + "uuid": "4e52ba83-5d32-4f4c-b34a-b92fe872eb36", + "name": "چکاپ کامل داخلی", + "slug": "internal-medicine-full-checkup", + "status": 1, + "weight": 20, + "specialty_id": 2 + }, + { + "id": 7, + "uuid": "d7be9fca-5b24-4193-84ed-6990fe93317d", + "name": "ویزیت گوارش", + "slug": "gastroenterology-visit", + "status": 1, + "weight": 10, + "specialty_id": 3 + }, + { + "id": 8, + "uuid": "a0e2669a-7a3b-4ab7-8aa6-1f7283153cfb", + "name": "آندوسکوپی", + "slug": "gastroenterology-endoscopy", + "status": 1, + "weight": 20, + "specialty_id": 3 + }, + { + "id": 9, + "uuid": "f734021d-dc48-423f-8041-4345f60b3931", + "name": "کولونوسکوپی", + "slug": "gastroenterology-colonoscopy", + "status": 1, + "weight": 30, + "specialty_id": 3 + }, + { + "id": 10, + "uuid": "d04dd66b-0816-464c-bca1-bba390f18893", + "name": "ای آر سی پی (ERCP)", + "slug": "gastroenterology-ercp", + "status": 1, + "weight": 40, + "specialty_id": 3 + }, + { + "id": 11, + "uuid": "5ea53cbd-ecbd-4fb2-a0df-e1a68de82488", + "name": "سونوگرافی شکم و لگن", + "slug": "gastroenterology-abdominal-ultrasound", + "status": 1, + "weight": 50, + "specialty_id": 3 + }, + { + "id": 12, + "uuid": "c24d9ae7-cad9-4f9a-a44f-fafb44d5e1bf", + "name": "فیبرواسکن کبد", + "slug": "gastroenterology-fibroscan", + "status": 1, + "weight": 60, + "specialty_id": 3 + }, + { + "id": 13, + "uuid": "30c9bf6d-4daf-45d7-80f8-79b94e71db35", + "name": "ویزیت کلیه و نفرولوژی", + "slug": "nephrology-visit", + "status": 1, + "weight": 10, + "specialty_id": 4 + }, + { + "id": 14, + "uuid": "d880a681-47d7-4dc6-a1cd-8519c9bfa56d", + "name": "دیالیز", + "slug": "nephrology-dialysis", + "status": 1, + "weight": 20, + "specialty_id": 4 + }, + { + "id": 15, + "uuid": "08d7df17-6eff-41db-a7af-7783babde6f7", + "name": "بیوپسی کلیه", + "slug": "nephrology-kidney-biopsy", + "status": 1, + "weight": 30, + "specialty_id": 4 + }, + { + "id": 16, + "uuid": "a91f3b62-0391-46ae-bb13-1f4cd9fe5eef", + "name": "ویزیت غدد", + "slug": "endocrinology-visit", + "status": 1, + "weight": 10, + "specialty_id": 5 + }, + { + "id": 17, + "uuid": "42d34b90-4c94-4c35-88bb-310bf27bbc3c", + "name": "مدیریت دیابت", + "slug": "endocrinology-diabetes-management", + "status": 1, + "weight": 20, + "specialty_id": 5 + }, + { + "id": 18, + "uuid": "ca6863b6-f33c-409b-bdad-ebfbe4a962b3", + "name": "تست عملکرد تیروئید", + "slug": "endocrinology-thyroid-test", + "status": 1, + "weight": 30, + "specialty_id": 5 + }, + { + "id": 19, + "uuid": "6384a0fa-a683-4031-a6b1-3f3b4e2e0dab", + "name": "ویزیت روماتولوژی", + "slug": "rheumatology-visit", + "status": 1, + "weight": 10, + "specialty_id": 6 + }, + { + "id": 20, + "uuid": "44e9d0ad-b79e-495c-80b0-d34a1193892b", + "name": "تزریق داخل مفصل", + "slug": "rheumatology-joint-injection", + "status": 1, + "weight": 20, + "specialty_id": 6 + }, + { + "id": 21, + "uuid": "68baa92a-9670-47da-a9b9-a3a363af2a0c", + "name": "ویزیت خون و آنکولوژی", + "slug": "hematology-oncology-visit", + "status": 1, + "weight": 10, + "specialty_id": 7 + }, + { + "id": 22, + "uuid": "e851aa74-a17c-42b2-93ab-da936033e2cc", + "name": "شیمی‌درمانی", + "slug": "hematology-oncology-chemotherapy", + "status": 1, + "weight": 20, + "specialty_id": 7 + }, + { + "id": 23, + "uuid": "8be4d76b-dbbb-4c25-b346-1f50f37b88d6", + "name": "بیوپسی مغز استخوان", + "slug": "hematology-oncology-bone-marrow-biopsy", + "status": 1, + "weight": 30, + "specialty_id": 7 + }, + { + "id": 24, + "uuid": "93ac0e0b-aefb-40c6-8978-7913483f209d", + "name": "ویزیت ریه", + "slug": "pulmonology-visit", + "status": 1, + "weight": 10, + "specialty_id": 8 + }, + { + "id": 25, + "uuid": "ede9fe10-99e2-4652-a9fb-51771a54cf46", + "name": "اسپیرومتری", + "slug": "pulmonology-spirometry", + "status": 1, + "weight": 20, + "specialty_id": 8 + }, + { + "id": 26, + "uuid": "bbe2756d-d8ba-4e4b-913b-2eb43e0f8b19", + "name": "برونکوسکوپی", + "slug": "pulmonology-bronchoscopy", + "status": 1, + "weight": 30, + "specialty_id": 8 + }, + { + "id": 27, + "uuid": "149d0813-500a-431e-aa5f-a5bcc21c6e72", + "name": "ویزیت عفونی", + "slug": "infectious-disease-visit", + "status": 1, + "weight": 10, + "specialty_id": 9 + }, + { + "id": 28, + "uuid": "1bc5de37-e066-470b-a27a-936c090a0279", + "name": "ویزیت قلب و عروق", + "slug": "cardiology-visit", + "status": 1, + "weight": 10, + "specialty_id": 10 + }, + { + "id": 29, + "uuid": "81d81e5c-1924-483c-a61f-24012186fe71", + "name": "نوار قلب (ECG)", + "slug": "cardiology-ecg", + "status": 1, + "weight": 20, + "specialty_id": 10 + }, + { + "id": 30, + "uuid": "b09825d7-88eb-456d-95b1-615ba2e2f1f4", + "name": "اکوکاردیوگرافی", + "slug": "cardiology-echocardiography", + "status": 1, + "weight": 30, + "specialty_id": 10 + }, + { + "id": 31, + "uuid": "f587a2f1-1a1c-4d06-abad-91f12e0c4470", + "name": "تست ورزش قلب", + "slug": "cardiology-exercise-test", + "status": 1, + "weight": 40, + "specialty_id": 10 + }, + { + "id": 32, + "uuid": "14a676e2-f652-4e64-85e0-c3469ae43f5d", + "name": "هولتر مانیتورینگ", + "slug": "cardiology-holter-monitoring", + "status": 1, + "weight": 50, + "specialty_id": 10 + }, + { + "id": 33, + "uuid": "603b202e-5b62-40f0-ad5d-5cfc9c320b1d", + "name": "ویزیت", + "slug": "interventional-cardiology-visit", + "status": 1, + "weight": 10, + "specialty_id": 11 + }, + { + "id": 34, + "uuid": "40e2e4a5-30e0-4590-a2f3-1dccbea88417", + "name": "آنژیوگرافی قلب", + "slug": "interventional-cardiology-coronary-angiography", + "status": 1, + "weight": 20, + "specialty_id": 11 + }, + { + "id": 35, + "uuid": "61ad9ddd-fce8-4ef6-a1f4-e16096c1b05e", + "name": "آنژیوپلاستی", + "slug": "interventional-cardiology-angioplasty", + "status": 1, + "weight": 30, + "specialty_id": 11 + }, + { + "id": 36, + "uuid": "57a03290-f43f-4a87-8150-03398d098f62", + "name": "ویزیت", + "slug": "cardiac-electrophysiology-visit", + "status": 1, + "weight": 10, + "specialty_id": 12 + }, + { + "id": 37, + "uuid": "e4e08a3d-e622-4518-9430-0cc4f8c2d654", + "name": "مطالعه الکتروفیزیولوژی (EPS)", + "slug": "cardiac-electrophysiology-eps", + "status": 1, + "weight": 20, + "specialty_id": 12 + }, + { + "id": 38, + "uuid": "450b9463-9946-4126-ab02-b46c5c98b0e8", + "name": "ابلیشن قلب", + "slug": "cardiac-electrophysiology-ablation", + "status": 1, + "weight": 30, + "specialty_id": 12 + }, + { + "id": 39, + "uuid": "8db31be8-bfc0-4a72-a573-c4fb3032b35f", + "name": "تعبیه پیس‌میکر", + "slug": "cardiac-electrophysiology-pacemaker", + "status": 1, + "weight": 40, + "specialty_id": 12 + }, + { + "id": 40, + "uuid": "bfd872fa-db61-4643-b828-d5c4387dabea", + "name": "ویزیت جراحی عمومی", + "slug": "general-surgery-visit", + "status": 1, + "weight": 10, + "specialty_id": 13 + }, + { + "id": 41, + "uuid": "9bae9064-ce88-4d73-82be-a5c8c0b8bd57", + "name": "جراحی فتق", + "slug": "general-surgery-hernia-surgery", + "status": 1, + "weight": 20, + "specialty_id": 13 + }, + { + "id": 42, + "uuid": "1ea3e97c-6d0e-4db1-aee9-f1020466dace", + "name": "جراحی کیسه صفرا (لاپاروسکوپی)", + "slug": "general-surgery-gallbladder-surgery", + "status": 1, + "weight": 30, + "specialty_id": 13 + }, + { + "id": 43, + "uuid": "d80f7b4e-757e-429b-9787-a61f4620c8b6", + "name": "جراحی آپاندیس", + "slug": "general-surgery-appendectomy", + "status": 1, + "weight": 40, + "specialty_id": 13 + }, + { + "id": 44, + "uuid": "bb9b17ed-1850-4c3f-8918-bfaa30479fcd", + "name": "ویزیت جراحی پلاستیک", + "slug": "plastic-surgery-visit", + "status": 1, + "weight": 10, + "specialty_id": 14 + }, + { + "id": 45, + "uuid": "4b689c45-e4b9-4f9f-83ed-541021b732e9", + "name": "جراحی بینی", + "slug": "plastic-surgery-rhinoplasty", + "status": 1, + "weight": 20, + "specialty_id": 14 + }, + { + "id": 46, + "uuid": "3f249a7c-b627-4a8a-8331-b390e2bcf3a7", + "name": "لیپوساکشن", + "slug": "plastic-surgery-liposuction", + "status": 1, + "weight": 30, + "specialty_id": 14 + }, + { + "id": 47, + "uuid": "e3b75f91-578d-476a-92cc-cedf02bb3cba", + "name": "پروتز سینه", + "slug": "plastic-surgery-breast-implant", + "status": 1, + "weight": 40, + "specialty_id": 14 + }, + { + "id": 48, + "uuid": "3029ffa9-637e-4e75-91ab-939665f33757", + "name": "لیفت صورت", + "slug": "plastic-surgery-facelift", + "status": 1, + "weight": 50, + "specialty_id": 14 + }, + { + "id": 49, + "uuid": "59952688-3f1c-4b1a-8676-d53ee20ed504", + "name": "ابدومینوپلاستی", + "slug": "plastic-surgery-abdominoplasty", + "status": 1, + "weight": 60, + "specialty_id": 14 + }, + { + "id": 50, + "uuid": "dd2fc54d-80a3-4a17-a220-5e1bf3114a3f", + "name": "ویزیت جراحی عروق", + "slug": "vascular-surgery-visit", + "status": 1, + "weight": 10, + "specialty_id": 15 + }, + { + "id": 51, + "uuid": "156f46a4-ce83-4baf-abd1-90ca4c404b50", + "name": "درمان واریس", + "slug": "vascular-surgery-varicose-treatment", + "status": 1, + "weight": 20, + "specialty_id": 15 + }, + { + "id": 52, + "uuid": "11f799e6-a178-45f7-89e3-cc320db8f8ec", + "name": "ویزیت جراحی توراکس", + "slug": "thoracic-surgery-visit", + "status": 1, + "weight": 10, + "specialty_id": 16 + }, + { + "id": 53, + "uuid": "8097204e-3a73-4c34-a056-75f88cbc1512", + "name": "توراکوسکوپی", + "slug": "thoracic-surgery-thoracoscopy", + "status": 1, + "weight": 20, + "specialty_id": 16 + }, + { + "id": 54, + "uuid": "8d3921f5-c403-42a8-822d-b94dd2df4c6e", + "name": "ویزیت جراحی کولورکتال", + "slug": "colorectal-surgery-visit", + "status": 1, + "weight": 10, + "specialty_id": 17 + }, + { + "id": 55, + "uuid": "a5494448-c53a-474e-a93a-879357d098d2", + "name": "جراحی بواسیر (هموروئید)", + "slug": "colorectal-surgery-hemorrhoid-surgery", + "status": 1, + "weight": 20, + "specialty_id": 17 + }, + { + "id": 56, + "uuid": "3aba38b7-c18f-448e-98b7-7bf523f8ddd1", + "name": "ویزیت جراحی پستان", + "slug": "breast-surgery-visit", + "status": 1, + "weight": 10, + "specialty_id": 18 + }, + { + "id": 57, + "uuid": "67cb5ca9-217e-4b38-aedc-89288bc1e787", + "name": "ماموگرافی", + "slug": "breast-surgery-mammography", + "status": 1, + "weight": 20, + "specialty_id": 18 + }, + { + "id": 58, + "uuid": "ef2e9a69-70dc-4442-87f2-96827adc581d", + "name": "بیوپسی پستان", + "slug": "breast-surgery-breast-biopsy", + "status": 1, + "weight": 30, + "specialty_id": 18 + }, + { + "id": 59, + "uuid": "16cf7ebe-3d35-43db-8db9-2727def5e263", + "name": "ویزیت ارتوپدی", + "slug": "orthopedics-visit", + "status": 1, + "weight": 10, + "specialty_id": 19 + }, + { + "id": 60, + "uuid": "55250fc7-5256-4e5e-96b4-6b3b60866b99", + "name": "گچ‌گیری و آتل", + "slug": "orthopedics-casting", + "status": 1, + "weight": 20, + "specialty_id": 19 + }, + { + "id": 61, + "uuid": "6347a978-bf20-42a6-af76-78387b3727bd", + "name": "تزریق داخل مفصل", + "slug": "orthopedics-joint-injection", + "status": 1, + "weight": 30, + "specialty_id": 19 + }, + { + "id": 62, + "uuid": "15a9055a-b16a-4449-8eab-a63148d106f6", + "name": "ویزیت", + "slug": "knee-surgery-visit", + "status": 1, + "weight": 10, + "specialty_id": 20 + }, + { + "id": 63, + "uuid": "ae5cfd8d-8e71-4d2c-adbb-a73e3b633a93", + "name": "تعویض مفصل زانو", + "slug": "knee-surgery-knee-replacement", + "status": 1, + "weight": 20, + "specialty_id": 20 + }, + { + "id": 64, + "uuid": "eb122767-c06e-4b38-912a-68302341f0d6", + "name": "آرتروسکوپی زانو", + "slug": "knee-surgery-knee-arthroscopy", + "status": 1, + "weight": 30, + "specialty_id": 20 + }, + { + "id": 65, + "uuid": "3c090fa0-2ec8-4804-bf32-2b14239b275f", + "name": "ویزیت", + "slug": "shoulder-elbow-surgery-visit", + "status": 1, + "weight": 10, + "specialty_id": 21 + }, + { + "id": 66, + "uuid": "3c27e2d0-ac15-4b5b-93a8-7bbbf360385f", + "name": "آرتروسکوپی شانه", + "slug": "shoulder-elbow-surgery-shoulder-arthroscopy", + "status": 1, + "weight": 20, + "specialty_id": 21 + }, + { + "id": 67, + "uuid": "9367ebed-0ec5-40bd-9d7d-fb74a3d34443", + "name": "ویزیت", + "slug": "spine-surgery-visit", + "status": 1, + "weight": 10, + "specialty_id": 22 + }, + { + "id": 68, + "uuid": "1340a08a-c84c-44cd-ac49-f91576f8c533", + "name": "جراحی دیسک و دیسککتومی", + "slug": "spine-surgery-discectomy", + "status": 1, + "weight": 20, + "specialty_id": 22 + }, + { + "id": 69, + "uuid": "5302f715-a9da-44ee-b50f-99dd105dd930", + "name": "ویزیت", + "slug": "hand-surgery-visit", + "status": 1, + "weight": 10, + "specialty_id": 23 + }, + { + "id": 70, + "uuid": "a6248b37-f425-438d-9690-fd65a59cdf18", + "name": "جراحی تونل کارپال", + "slug": "hand-surgery-carpal-tunnel-surgery", + "status": 1, + "weight": 20, + "specialty_id": 23 + }, + { + "id": 71, + "uuid": "e990d258-b199-478e-a4d3-8b746bc82ada", + "name": "ویزیت", + "slug": "foot-ankle-surgery-visit", + "status": 1, + "weight": 10, + "specialty_id": 24 + }, + { + "id": 72, + "uuid": "b93a655c-a1ca-461a-acc3-4123296b2096", + "name": "ویزیت زنان و زایمان", + "slug": "obstetrics-gynecology-visit", + "status": 1, + "weight": 10, + "specialty_id": 25 + }, + { + "id": 73, + "uuid": "700a763d-49be-417b-b8a6-82188a57763f", + "name": "سونوگرافی بارداری", + "slug": "obstetrics-gynecology-pregnancy-ultrasound", + "status": 1, + "weight": 20, + "specialty_id": 25 + }, + { + "id": 74, + "uuid": "3e52bea6-c983-4a57-91d5-da9e5d38dd78", + "name": "پاپ اسمیر", + "slug": "obstetrics-gynecology-pap-smear", + "status": 1, + "weight": 30, + "specialty_id": 25 + }, + { + "id": 75, + "uuid": "2b7d2892-bc1d-470a-83f1-274e0003d44d", + "name": "زایمان طبیعی", + "slug": "obstetrics-gynecology-natural-delivery", + "status": 1, + "weight": 40, + "specialty_id": 25 + }, + { + "id": 76, + "uuid": "778b1478-243a-46a7-b334-c5586dc51605", + "name": "سزارین", + "slug": "obstetrics-gynecology-cesarean", + "status": 1, + "weight": 50, + "specialty_id": 25 + }, + { + "id": 77, + "uuid": "2a10655f-ee0d-4a24-9ebe-ea6ba8025ce1", + "name": "کولپوسکوپی", + "slug": "obstetrics-gynecology-colposcopy", + "status": 1, + "weight": 60, + "specialty_id": 25 + }, + { + "id": 78, + "uuid": "f2565bf9-c321-4ec5-b743-745c36b69b07", + "name": "نصب و خروج آی‌یو‌دی", + "slug": "obstetrics-gynecology-iud", + "status": 1, + "weight": 70, + "specialty_id": 25 + }, + { + "id": 79, + "uuid": "425f6d0f-f2cb-4b58-bc55-d62f7fe3ba0a", + "name": "ویزیت ناباروری", + "slug": "infertility-ivf-visit", + "status": 1, + "weight": 10, + "specialty_id": 26 + }, + { + "id": 80, + "uuid": "f424a828-ddb2-434d-9610-62a18445e10a", + "name": "لقاح آزمایشگاهی (IVF)", + "slug": "infertility-ivf-ivf", + "status": 1, + "weight": 20, + "specialty_id": 26 + }, + { + "id": 81, + "uuid": "db2154ef-ebd4-4c5a-9741-89e377d1690b", + "name": "تلقیح داخل رحمی (IUI)", + "slug": "infertility-ivf-iui", + "status": 1, + "weight": 30, + "specialty_id": 26 + }, + { + "id": 82, + "uuid": "a7859f10-4da1-4f0b-84fe-a6b054a87b19", + "name": "فریز تخمک", + "slug": "infertility-ivf-egg-freezing", + "status": 1, + "weight": 40, + "specialty_id": 26 + }, + { + "id": 83, + "uuid": "5f011af1-37de-43fc-baee-0916941c77b1", + "name": "ویزیت انکولوژی زنان", + "slug": "gynecologic-oncology-visit", + "status": 1, + "weight": 10, + "specialty_id": 27 + }, + { + "id": 84, + "uuid": "84f8fafd-64bf-47d4-8783-854227f41064", + "name": "ویزیت پریناتولوژی", + "slug": "perinatology-visit", + "status": 1, + "weight": 10, + "specialty_id": 28 + }, + { + "id": 85, + "uuid": "27ed4878-768c-405e-92d8-19758b54790a", + "name": "سونوگرافی آنومالی", + "slug": "perinatology-anomaly-scan", + "status": 1, + "weight": 20, + "specialty_id": 28 + }, + { + "id": 86, + "uuid": "292b537a-e29b-400d-bc41-d3286a3d0a3e", + "name": "غربالگری جنین", + "slug": "perinatology-fetal-screening", + "status": 1, + "weight": 30, + "specialty_id": 28 + }, + { + "id": 87, + "uuid": "fbe8b37d-0dac-4063-8f71-0327de2f4804", + "name": "ویزیت کودکان", + "slug": "pediatrics-visit", + "status": 1, + "weight": 10, + "specialty_id": 29 + }, + { + "id": 88, + "uuid": "71af5ac4-a8c6-4fea-a19a-ec6a4a3d39b9", + "name": "واکسیناسیون", + "slug": "pediatrics-vaccination", + "status": 1, + "weight": 20, + "specialty_id": 29 + }, + { + "id": 89, + "uuid": "55c031f0-0d98-4aee-a922-e7890c1c0266", + "name": "پایش رشد و تکامل", + "slug": "pediatrics-growth-monitoring", + "status": 1, + "weight": 30, + "specialty_id": 29 + }, + { + "id": 90, + "uuid": "6d8302e5-7bcc-4f6b-a6ff-12b01f08e3ac", + "name": "ویزیت نوزاد", + "slug": "neonatology-visit", + "status": 1, + "weight": 10, + "specialty_id": 30 + }, + { + "id": 91, + "uuid": "85f38b6c-bdb9-4efc-a091-25eeaaa49539", + "name": "غربالگری نوزاد", + "slug": "neonatology-newborn-screening", + "status": 1, + "weight": 20, + "specialty_id": 30 + }, + { + "id": 92, + "uuid": "d13eb51c-4e1a-4944-976d-d8cb59b903ec", + "name": "ویزیت قلب کودکان", + "slug": "pediatric-cardiology-visit", + "status": 1, + "weight": 10, + "specialty_id": 31 + }, + { + "id": 93, + "uuid": "d0fcc7cc-d140-465a-82f3-03a0d2d526d1", + "name": "اکوکاردیوگرافی کودکان", + "slug": "pediatric-cardiology-pediatric-echo", + "status": 1, + "weight": 20, + "specialty_id": 31 + }, + { + "id": 94, + "uuid": "fca15178-b220-437f-b6a4-1878389ba713", + "name": "ویزیت گوارش کودکان", + "slug": "pediatric-gastroenterology-visit", + "status": 1, + "weight": 10, + "specialty_id": 32 + }, + { + "id": 95, + "uuid": "e88d7be9-8796-4684-a27e-19fa2fd7d804", + "name": "ویزیت عفونی کودکان", + "slug": "pediatric-infectious-disease-visit", + "status": 1, + "weight": 10, + "specialty_id": 33 + }, + { + "id": 96, + "uuid": "96343223-b92e-4c5e-8457-e2a89cd10ff5", + "name": "ویزیت غدد کودکان", + "slug": "pediatric-endocrinology-visit", + "status": 1, + "weight": 10, + "specialty_id": 34 + }, + { + "id": 97, + "uuid": "410d1fa1-f006-442d-93e2-ae89854145b5", + "name": "ویزیت مغز و اعصاب کودکان", + "slug": "pediatric-neurology-visit", + "status": 1, + "weight": 10, + "specialty_id": 35 + }, + { + "id": 98, + "uuid": "5e0af0a6-6e8b-4c6e-b9c6-8e21c4be00b5", + "name": "ویزیت کلیه کودکان", + "slug": "pediatric-nephrology-visit", + "status": 1, + "weight": 10, + "specialty_id": 36 + }, + { + "id": 99, + "uuid": "b1b32272-4305-4578-84fa-b7becf672d6b", + "name": "ویزیت خون و سرطان کودکان", + "slug": "pediatric-hematology-oncology-visit", + "status": 1, + "weight": 10, + "specialty_id": 37 + }, + { + "id": 100, + "uuid": "322dfc35-e79d-43a5-92ca-066eb1fe3c92", + "name": "ویزیت مغز و اعصاب", + "slug": "neurology-visit", + "status": 1, + "weight": 10, + "specialty_id": 38 + }, + { + "id": 101, + "uuid": "c9b25f46-cb8d-4d38-a26b-a92f473e401c", + "name": "نوار مغز (EEG)", + "slug": "neurology-eeg", + "status": 1, + "weight": 20, + "specialty_id": 38 + }, + { + "id": 102, + "uuid": "325a0faa-77a8-4b91-bec9-fc502cb104e8", + "name": "نوار عصب و عضله (EMG/NCV)", + "slug": "neurology-emg-ncv", + "status": 1, + "weight": 30, + "specialty_id": 38 + }, + { + "id": 103, + "uuid": "e30c63ad-9e6f-4673-95d4-dfa9b97f1b0f", + "name": "ویزیت جراحی مغز و اعصاب", + "slug": "neurosurgery-visit", + "status": 1, + "weight": 10, + "specialty_id": 39 + }, + { + "id": 104, + "uuid": "b48d25ee-b3f5-428b-a15a-abe52214fc3f", + "name": "جراحی دیسک کمر", + "slug": "neurosurgery-lumbar-disc-surgery", + "status": 1, + "weight": 20, + "specialty_id": 39 + }, + { + "id": 105, + "uuid": "bb54bc5d-0ae8-4bce-9d7f-fd4d1635c694", + "name": "ویزیت روانپزشکی", + "slug": "psychiatry-visit", + "status": 1, + "weight": 10, + "specialty_id": 40 + }, + { + "id": 106, + "uuid": "f2f07ba8-b307-497a-b4a8-3afe399c1aed", + "name": "تحریک مغناطیسی مغز (rTMS)", + "slug": "psychiatry-rtms", + "status": 1, + "weight": 20, + "specialty_id": 40 + }, + { + "id": 107, + "uuid": "e60994a9-270c-4c2e-88cb-9ade09afaac6", + "name": "الکتروشوک درمانی (ECT)", + "slug": "psychiatry-ect", + "status": 1, + "weight": 30, + "specialty_id": 40 + }, + { + "id": 108, + "uuid": "c9b164c0-7567-4298-8638-afc1905a4d81", + "name": "ویزیت روانپزشکی کودک و نوجوان", + "slug": "child-adolescent-psychiatry-visit", + "status": 1, + "weight": 10, + "specialty_id": 41 + }, + { + "id": 109, + "uuid": "e678fbb1-1128-4cdc-aba4-4a00d2069cc9", + "name": "ویزیت چشم پزشکی", + "slug": "ophthalmology-visit", + "status": 1, + "weight": 10, + "specialty_id": 42 + }, + { + "id": 110, + "uuid": "5aa73b35-81f3-49dd-9710-7914fb096f01", + "name": "معاینه و تعیین بینایی", + "slug": "ophthalmology-eye-exam", + "status": 1, + "weight": 20, + "specialty_id": 42 + }, + { + "id": 111, + "uuid": "e353d5f9-4b12-49a0-873b-36cc8c43c0a1", + "name": "جراحی آب مروارید", + "slug": "ophthalmology-cataract-surgery", + "status": 1, + "weight": 30, + "specialty_id": 42 + }, + { + "id": 112, + "uuid": "f6d257b0-0b0a-4d51-938a-e66f4df19cce", + "name": "ویزیت قرنیه", + "slug": "cornea-visit", + "status": 1, + "weight": 10, + "specialty_id": 43 + }, + { + "id": 113, + "uuid": "0e07b978-d2f9-4ddf-a0a9-d959d1b61945", + "name": "پیوند قرنیه", + "slug": "cornea-cornea-transplant", + "status": 1, + "weight": 20, + "specialty_id": 43 + }, + { + "id": 114, + "uuid": "20c84d7a-4a35-43e9-92a7-d25a52449298", + "name": "عمل لیزیک و اسمایل", + "slug": "cornea-lasik-smile", + "status": 1, + "weight": 30, + "specialty_id": 43 + }, + { + "id": 115, + "uuid": "b11da667-98d9-47ff-b377-7a788237aa36", + "name": "ویزیت شبکیه", + "slug": "retina-visit", + "status": 1, + "weight": 10, + "specialty_id": 44 + }, + { + "id": 116, + "uuid": "41087776-5586-4188-9200-cc403c2180e6", + "name": "تزریق داخل چشمی", + "slug": "retina-intravitreal-injection", + "status": 1, + "weight": 20, + "specialty_id": 44 + }, + { + "id": 117, + "uuid": "937d6651-b82f-496f-8302-d96c6dd0ad93", + "name": "لیزر شبکیه", + "slug": "retina-retinal-laser", + "status": 1, + "weight": 30, + "specialty_id": 44 + }, + { + "id": 118, + "uuid": "86447e60-61bf-42d8-9666-ee04ca6a355c", + "name": "او سی تی (OCT)", + "slug": "retina-oct", + "status": 1, + "weight": 40, + "specialty_id": 44 + }, + { + "id": 119, + "uuid": "3bb12e1a-e621-4fff-856b-26cc57729002", + "name": "ویزیت گلوکوم", + "slug": "glaucoma-visit", + "status": 1, + "weight": 10, + "specialty_id": 45 + }, + { + "id": 120, + "uuid": "262aefed-49bb-401d-8bf3-8acf899a71e7", + "name": "تست میدان بینایی", + "slug": "glaucoma-visual-field-test", + "status": 1, + "weight": 20, + "specialty_id": 45 + }, + { + "id": 121, + "uuid": "fb0855d0-f83f-41e8-acd8-d6b7b95e7ed0", + "name": "ویزیت انحراف چشم", + "slug": "strabismus-visit", + "status": 1, + "weight": 10, + "specialty_id": 46 + }, + { + "id": 122, + "uuid": "67667249-0d6f-4fb0-8a40-64a867992b9e", + "name": "ویزیت چشم پزشکی کودکان", + "slug": "pediatric-ophthalmology-visit", + "status": 1, + "weight": 10, + "specialty_id": 47 + }, + { + "id": 123, + "uuid": "bf194b8d-5f7c-49fa-b16f-522c8bc1c262", + "name": "ویزیت گوش و حلق و بینی", + "slug": "ent-visit", + "status": 1, + "weight": 10, + "specialty_id": 48 + }, + { + "id": 124, + "uuid": "c4849c41-98b0-4cf9-919a-bb2d794cc6e2", + "name": "جراحی لوزه (تانسیلکتومی)", + "slug": "ent-tonsillectomy", + "status": 1, + "weight": 20, + "specialty_id": 48 + }, + { + "id": 125, + "uuid": "75796f20-dcea-46f8-b7cc-67c148b980c0", + "name": "جراحی آدنوئید", + "slug": "ent-adenoidectomy", + "status": 1, + "weight": 30, + "specialty_id": 48 + }, + { + "id": 126, + "uuid": "8e526082-687c-4bcf-bc60-051a53901817", + "name": "تست شنوایی", + "slug": "ent-hearing-test", + "status": 1, + "weight": 40, + "specialty_id": 48 + }, + { + "id": 127, + "uuid": "b7e309fb-225e-4c73-a232-8ce965b639e0", + "name": "ویزیت جراحی بینی", + "slug": "rhinoplasty-visit", + "status": 1, + "weight": 10, + "specialty_id": 49 + }, + { + "id": 128, + "uuid": "e4d2ca53-5f72-4478-a44b-b70eb45a429a", + "name": "جراحی بینی (رینوپلاستی)", + "slug": "rhinoplasty-rhinoplasty", + "status": 1, + "weight": 20, + "specialty_id": 49 + }, + { + "id": 129, + "uuid": "0f4ca2be-ed10-4f60-818f-3e8fe0c49aa0", + "name": "سپتوپلاستی", + "slug": "rhinoplasty-septoplasty", + "status": 1, + "weight": 30, + "specialty_id": 49 + }, + { + "id": 130, + "uuid": "29d6922f-db91-4502-a330-4d750e746617", + "name": "ویزیت اتولوژی", + "slug": "otology-visit", + "status": 1, + "weight": 10, + "specialty_id": 50 + }, + { + "id": 131, + "uuid": "5e5476e4-162c-4e3c-90fc-5e8207e3e13c", + "name": "کاشت حلزون شنوایی", + "slug": "otology-cochlear-implant", + "status": 1, + "weight": 20, + "specialty_id": 50 + }, + { + "id": 132, + "uuid": "0eff2543-abe6-4bf9-adb1-41bbf3840efa", + "name": "ویزیت پوست و مو", + "slug": "dermatology-visit", + "status": 1, + "weight": 10, + "specialty_id": 51 + }, + { + "id": 133, + "uuid": "e996b14f-1087-4819-8517-88f6ebe2efda", + "name": "لیزر موهای زائد", + "slug": "dermatology-hair-laser", + "status": 1, + "weight": 20, + "specialty_id": 51 + }, + { + "id": 134, + "uuid": "cf0f5cf5-2895-46de-95b7-1022b4fddf1f", + "name": "تزریق بوتاکس", + "slug": "dermatology-botox", + "status": 1, + "weight": 30, + "specialty_id": 51 + }, + { + "id": 135, + "uuid": "17af62c8-72e9-48d4-beb9-2a4753ae89ce", + "name": "تزریق ژل و فیلر", + "slug": "dermatology-filler", + "status": 1, + "weight": 40, + "specialty_id": 51 + }, + { + "id": 136, + "uuid": "2f6dfdde-801c-4c91-99d6-59a2c5776ce8", + "name": "کاشت مو", + "slug": "dermatology-hair-transplant", + "status": 1, + "weight": 50, + "specialty_id": 51 + }, + { + "id": 137, + "uuid": "092051e3-3790-44e9-a115-6bbc335a21ac", + "name": "میکرونیدلینگ", + "slug": "dermatology-microneedling", + "status": 1, + "weight": 60, + "specialty_id": 51 + }, + { + "id": 138, + "uuid": "31ae816d-0c07-4857-819a-308cb748a206", + "name": "کرایوتراپی", + "slug": "dermatology-cryotherapy", + "status": 1, + "weight": 70, + "specialty_id": 51 + }, + { + "id": 139, + "uuid": "a592aaf9-010f-4a1b-9d9b-fa48f8c56706", + "name": "بیوپسی پوست", + "slug": "dermatology-skin-biopsy", + "status": 1, + "weight": 80, + "specialty_id": 51 + }, + { + "id": 140, + "uuid": "66da2258-bb98-48e0-b587-5ecada55a440", + "name": "ویزیت اورولوژی", + "slug": "urology-visit", + "status": 1, + "weight": 10, + "specialty_id": 52 + }, + { + "id": 141, + "uuid": "efe4efba-2661-4452-a721-e807b43eb67f", + "name": "سیستوسکوپی", + "slug": "urology-cystoscopy", + "status": 1, + "weight": 20, + "specialty_id": 52 + }, + { + "id": 142, + "uuid": "83da47ee-ffe0-410a-b274-dbb4200b2cc0", + "name": "سنگ‌شکنی (ESWL)", + "slug": "urology-eswl", + "status": 1, + "weight": 30, + "specialty_id": 52 + }, + { + "id": 143, + "uuid": "26b32410-10d7-409b-a931-e27bfe8c9f43", + "name": "ختنه", + "slug": "urology-circumcision", + "status": 1, + "weight": 40, + "specialty_id": 52 + }, + { + "id": 144, + "uuid": "6b936cc4-f410-45bc-b982-cd3d15d1e56a", + "name": "ویزیت اندویورولوژی", + "slug": "endourology-visit", + "status": 1, + "weight": 10, + "specialty_id": 53 + }, + { + "id": 145, + "uuid": "61b9540c-7bda-496d-a73b-5c75bd60c66d", + "name": "سنگ‌شکنی داخل حالب (TUL)", + "slug": "endourology-tul", + "status": 1, + "weight": 20, + "specialty_id": 53 + }, + { + "id": 146, + "uuid": "5cc7c34f-5d09-4abe-a728-e45cc0c54244", + "name": "ویزیت اوروانکولوژی", + "slug": "urologic-oncology-visit", + "status": 1, + "weight": 10, + "specialty_id": 54 + }, + { + "id": 147, + "uuid": "0e7815c5-2a32-4d38-9772-a31a114d6a35", + "name": "ویزیت اورولوژی کودکان", + "slug": "pediatric-urology-visit", + "status": 1, + "weight": 10, + "specialty_id": 55 + }, + { + "id": 148, + "uuid": "44f9a5fb-ae08-4ead-9ddc-d5128175b2da", + "name": "سونوگرافی", + "slug": "ultrasound-ultrasound", + "status": 1, + "weight": 10, + "specialty_id": 57 + }, + { + "id": 149, + "uuid": "5853a2b2-b25a-4d29-a5fd-c2a67c96a807", + "name": "سونوگرافی داپلر", + "slug": "ultrasound-doppler-ultrasound", + "status": 1, + "weight": 20, + "specialty_id": 57 + }, + { + "id": 150, + "uuid": "d74e0035-af46-46af-a923-d0bd8dd3b700", + "name": "ام آر آی (MRI)", + "slug": "mri-mri", + "status": 1, + "weight": 10, + "specialty_id": 58 + }, + { + "id": 151, + "uuid": "d817a839-b49e-442b-8bb8-5d62b64d4137", + "name": "سی تی اسکن", + "slug": "ct-scan-ct-scan", + "status": 1, + "weight": 10, + "specialty_id": 59 + }, + { + "id": 152, + "uuid": "ebaa97a2-b864-4741-a79b-8149088c4419", + "name": "سی‌تی آنژیوگرافی", + "slug": "ct-scan-ct-angiography", + "status": 1, + "weight": 20, + "specialty_id": 59 + }, + { + "id": 153, + "uuid": "73c9a708-9529-426e-a053-7ae174033277", + "name": "نمونه‌برداری و پاتولوژی", + "slug": "pathology-biopsy-pathology", + "status": 1, + "weight": 10, + "specialty_id": 60 + }, + { + "id": 154, + "uuid": "81baa350-fb7d-4908-8c68-0cc9c592bdc7", + "name": "ویزیت بیهوشی", + "slug": "anesthesiology-visit", + "status": 1, + "weight": 10, + "specialty_id": 61 + }, + { + "id": 155, + "uuid": "9fedd5f4-5aee-4adf-9323-ad465424440b", + "name": "ویزیت طب درد", + "slug": "pain-medicine-visit", + "status": 1, + "weight": 10, + "specialty_id": 62 + }, + { + "id": 156, + "uuid": "9fdd35eb-d76e-4115-9f85-bdd69666287e", + "name": "بلاک عصبی", + "slug": "pain-medicine-nerve-block", + "status": 1, + "weight": 20, + "specialty_id": 62 + }, + { + "id": 157, + "uuid": "7590724c-d550-47a8-8d8e-9c963a9f444a", + "name": "تزریق اپیدورال", + "slug": "pain-medicine-epidural-injection", + "status": 1, + "weight": 30, + "specialty_id": 62 + }, + { + "id": 158, + "uuid": "656d875b-d158-4969-bd5c-de42816a261d", + "name": "ویزیت طب اورژانس", + "slug": "emergency-medicine-visit", + "status": 1, + "weight": 10, + "specialty_id": 63 + }, + { + "id": 159, + "uuid": "9e6a1313-622a-4c70-917b-ac5c5f77812b", + "name": "ویزیت طب فیزیکی و توانبخشی", + "slug": "physical-medicine-rehab-visit", + "status": 1, + "weight": 10, + "specialty_id": 64 + }, + { + "id": 160, + "uuid": "3a52dc3b-2797-4dbf-a34c-466727870fa1", + "name": "نوار عصب و عضله", + "slug": "physical-medicine-rehab-emg-ncv", + "status": 1, + "weight": 20, + "specialty_id": 64 + }, + { + "id": 161, + "uuid": "9e4143d2-1b24-4503-9880-9b8ebc55dd6a", + "name": "تزریق بوتاکس اسپاسم", + "slug": "physical-medicine-rehab-spasm-botox", + "status": 1, + "weight": 30, + "specialty_id": 64 + }, + { + "id": 162, + "uuid": "bcda2acc-cbee-4705-b390-a3ca8bc015f2", + "name": "معاینه طب کار", + "slug": "occupational-medicine-occupational-exam", + "status": 1, + "weight": 10, + "specialty_id": 65 + }, + { + "id": 163, + "uuid": "80405614-71b7-430b-a596-476f89352583", + "name": "اسکن پزشکی هسته‌ای", + "slug": "nuclear-medicine-nuclear-scan", + "status": 1, + "weight": 10, + "specialty_id": 66 + }, + { + "id": 164, + "uuid": "9db36c3a-6e69-4c47-86f2-1f7b6c547f66", + "name": "اسپکت قلب", + "slug": "nuclear-medicine-cardiac-spect", + "status": 1, + "weight": 20, + "specialty_id": 66 + }, + { + "id": 165, + "uuid": "5dc65a5a-3eb2-4b3c-b9fb-b0e03165cef3", + "name": "ویزیت رادیوانکولوژی", + "slug": "radiation-oncology-visit", + "status": 1, + "weight": 10, + "specialty_id": 67 + }, + { + "id": 166, + "uuid": "41ca37ea-ba47-4170-9dd5-2a3dd0c02ec2", + "name": "رادیوتراپی", + "slug": "radiation-oncology-radiotherapy", + "status": 1, + "weight": 20, + "specialty_id": 67 + }, + { + "id": 167, + "uuid": "4f1ae93f-613a-4741-a020-887cd63e8088", + "name": "ویزیت طب سالمندان", + "slug": "geriatrics-visit", + "status": 1, + "weight": 10, + "specialty_id": 68 + }, + { + "id": 168, + "uuid": "9d37903a-7499-4edf-8953-3b55b214f0ca", + "name": "ویزیت طب خواب", + "slug": "sleep-medicine-visit", + "status": 1, + "weight": 10, + "specialty_id": 69 + }, + { + "id": 169, + "uuid": "14156fb7-f52d-459d-8759-686c8f2f1a0c", + "name": "تست خواب (پلی‌سومنوگرافی)", + "slug": "sleep-medicine-polysomnography", + "status": 1, + "weight": 20, + "specialty_id": 69 + }, + { + "id": 170, + "uuid": "9243dc78-ad6f-4de5-b281-1cb5157442e9", + "name": "ویزیت طب ورزشی", + "slug": "sports-medicine-visit", + "status": 1, + "weight": 10, + "specialty_id": 70 + }, + { + "id": 171, + "uuid": "f36f0017-f11d-4c73-95b9-ab04260bfb63", + "name": "مشاوره ژنتیک", + "slug": "medical-genetics-genetic-counseling", + "status": 1, + "weight": 10, + "specialty_id": 71 + }, + { + "id": 172, + "uuid": "55488f03-5034-4001-8966-ec476835a433", + "name": "تست NIPT", + "slug": "medical-genetics-nipt", + "status": 1, + "weight": 20, + "specialty_id": 71 + }, + { + "id": 173, + "uuid": "f1607c23-c4d3-476d-8be1-1e061031b090", + "name": "ویزیت آلرژی و ایمونولوژی", + "slug": "allergy-immunology-visit", + "status": 1, + "weight": 10, + "specialty_id": 72 + }, + { + "id": 174, + "uuid": "7eecceb6-95db-4166-8b42-a6989afe23d1", + "name": "تست آلرژی", + "slug": "allergy-immunology-allergy-test", + "status": 1, + "weight": 20, + "specialty_id": 72 + }, + { + "id": 175, + "uuid": "21fc8ff4-c16b-4699-a893-bd5c750d77c1", + "name": "ویزیت طب سنتی", + "slug": "traditional-medicine-visit", + "status": 1, + "weight": 10, + "specialty_id": 73 + }, + { + "id": 176, + "uuid": "b8ed7a87-30a4-40bc-b552-5b71f6f48207", + "name": "حجامت", + "slug": "traditional-medicine-cupping", + "status": 1, + "weight": 20, + "specialty_id": 73 + }, + { + "id": 177, + "uuid": "cbc7d737-4785-4ee1-83d9-8b7ec62d6639", + "name": "زالودرمانی", + "slug": "traditional-medicine-leech-therapy", + "status": 1, + "weight": 30, + "specialty_id": 73 + }, + { + "id": 178, + "uuid": "b6a2dd81-e544-40bc-8879-1ab08b4f495d", + "name": "طب سوزنی", + "slug": "traditional-medicine-acupuncture", + "status": 1, + "weight": 40, + "specialty_id": 73 + }, + { + "id": 179, + "uuid": "9f6e0802-4e06-44e4-aa3a-1d9c4a053616", + "name": "ویزیت دندانپزشکی", + "slug": "dentistry-visit", + "status": 1, + "weight": 10, + "specialty_id": 74 + }, + { + "id": 180, + "uuid": "ae0a5dc7-4aaf-462a-8df3-da5dec0e09db", + "name": "جرم‌گیری", + "slug": "dentistry-scaling", + "status": 1, + "weight": 20, + "specialty_id": 74 + }, + { + "id": 181, + "uuid": "89a1b9e4-437a-4a81-8dd5-5cdb1894f2db", + "name": "کشیدن دندان", + "slug": "dentistry-extraction", + "status": 1, + "weight": 30, + "specialty_id": 74 + }, + { + "id": 182, + "uuid": "61449be2-ef92-4af9-b843-4d9aa69bbf61", + "name": "پرکردن دندان", + "slug": "dentistry-filling", + "status": 1, + "weight": 40, + "specialty_id": 74 + }, + { + "id": 183, + "uuid": "1ddfa049-37d2-4ae0-b437-b8abfa545533", + "name": "بلیچینگ (سفیدکردن)", + "slug": "dentistry-bleaching", + "status": 1, + "weight": 50, + "specialty_id": 74 + }, + { + "id": 184, + "uuid": "7628b263-bf1f-4608-851b-0bd205e65b84", + "name": "ویزیت جراحی فک و صورت", + "slug": "oral-maxillofacial-surgery-visit", + "status": 1, + "weight": 10, + "specialty_id": 75 + }, + { + "id": 185, + "uuid": "dc022227-7601-4fab-9e83-2cda69fbcdd3", + "name": "جراحی دندان عقل", + "slug": "oral-maxillofacial-surgery-wisdom-tooth-surgery", + "status": 1, + "weight": 20, + "specialty_id": 75 + }, + { + "id": 186, + "uuid": "c8cac3f6-9f2b-4a67-bf71-bf7782f368d8", + "name": "ویزیت ارتودنسی", + "slug": "orthodontics-visit", + "status": 1, + "weight": 10, + "specialty_id": 76 + }, + { + "id": 187, + "uuid": "6d5ecfdc-9394-472d-92ae-bf8f86912836", + "name": "ارتودنسی ثابت", + "slug": "orthodontics-fixed-orthodontics", + "status": 1, + "weight": 20, + "specialty_id": 76 + }, + { + "id": 188, + "uuid": "d7178386-0cff-4418-82e2-c4c20d58b2cd", + "name": "ارتودنسی متحرک", + "slug": "orthodontics-removable-orthodontics", + "status": 1, + "weight": 30, + "specialty_id": 76 + }, + { + "id": 189, + "uuid": "00ae4a79-580c-4109-b572-5805ed61cc1f", + "name": "عصب‌کشی (درمان ریشه)", + "slug": "endodontics-root-canal", + "status": 1, + "weight": 10, + "specialty_id": 77 + }, + { + "id": 190, + "uuid": "6d8b2ca4-94e8-4ce0-81ae-203ed8ff0ee0", + "name": "ویزیت دندانپزشکی کودکان", + "slug": "pediatric-dentistry-visit", + "status": 1, + "weight": 10, + "specialty_id": 78 + }, + { + "id": 191, + "uuid": "2f2953dd-5248-485b-b0c8-89f21c3d9a61", + "name": "فیشورسیلانت", + "slug": "pediatric-dentistry-fissure-sealant", + "status": 1, + "weight": 20, + "specialty_id": 78 + }, + { + "id": 192, + "uuid": "f7e88f0a-a987-4266-8a15-3ed0ea161ab5", + "name": "روکش دندان", + "slug": "prosthodontics-dental-crown", + "status": 1, + "weight": 10, + "specialty_id": 79 + }, + { + "id": 193, + "uuid": "5ca9f1ca-9ceb-4df2-852e-8ce5e2fea051", + "name": "دست دندان و پروتز", + "slug": "prosthodontics-denture", + "status": 1, + "weight": 20, + "specialty_id": 79 + }, + { + "id": 194, + "uuid": "a4150309-4d31-4da6-86df-c7f948fe9edd", + "name": "جراحی لثه", + "slug": "periodontics-gum-surgery", + "status": 1, + "weight": 10, + "specialty_id": 80 + }, + { + "id": 195, + "uuid": "0f2dbdf7-8af7-47a1-bd7e-d94bf3f1327f", + "name": "لمینت دندان", + "slug": "restorative-dentistry-veneer", + "status": 1, + "weight": 10, + "specialty_id": 81 + }, + { + "id": 196, + "uuid": "e8b8fb3c-1539-498e-a342-097c9337bf69", + "name": "کامپوزیت دندان", + "slug": "restorative-dentistry-composite", + "status": 1, + "weight": 20, + "specialty_id": 81 + }, + { + "id": 197, + "uuid": "22a7e09b-f29c-4bcf-8990-1a73babaae56", + "name": "ایمپلنت دندان", + "slug": "dental-implant-implant", + "status": 1, + "weight": 10, + "specialty_id": 82 + }, + { + "id": 198, + "uuid": "69fbeb24-59ac-4714-8743-cee460782a59", + "name": "مشاوره تغذیه و رژیم", + "slug": "nutrition-consult", + "status": 1, + "weight": 10, + "specialty_id": 83 + }, + { + "id": 199, + "uuid": "fbf305dd-355c-427c-b911-d91427e1ceab", + "name": "تست بادی کامپوزیشن", + "slug": "nutrition-body-composition", + "status": 1, + "weight": 20, + "specialty_id": 83 + }, + { + "id": 200, + "uuid": "ec3c46f8-c8f8-4f89-a374-0297b8563e31", + "name": "جلسه مشاوره روانشناسی", + "slug": "psychology-session", + "status": 1, + "weight": 10, + "specialty_id": 84 + }, + { + "id": 201, + "uuid": "88ee948e-2783-48e6-9200-75cd9507e570", + "name": "زوج‌درمانی", + "slug": "psychology-couple-therapy", + "status": 1, + "weight": 20, + "specialty_id": 84 + }, + { + "id": 202, + "uuid": "89ea2227-7d17-4557-93a7-e14a4862450d", + "name": "جلسه مشاوره کودک", + "slug": "child-psychology-session", + "status": 1, + "weight": 10, + "specialty_id": 85 + }, + { + "id": 203, + "uuid": "4c29d443-4ff2-4edf-921a-01843047451b", + "name": "جلسه فیزیوتراپی", + "slug": "physiotherapy-session", + "status": 1, + "weight": 10, + "specialty_id": 86 + }, + { + "id": 204, + "uuid": "a63d1ec1-340b-4642-a3ea-ff699e73e792", + "name": "شاک‌ویو تراپی", + "slug": "physiotherapy-shockwave", + "status": 1, + "weight": 20, + "specialty_id": 86 + }, + { + "id": 205, + "uuid": "6db2bde9-326e-4bd7-b233-07c60ece33da", + "name": "جلسه کاردرمانی", + "slug": "occupational-therapy-session", + "status": 1, + "weight": 10, + "specialty_id": 87 + }, + { + "id": 206, + "uuid": "12afe5fd-63b9-4ec1-9070-5f4a7f85a349", + "name": "جلسه گفتاردرمانی", + "slug": "speech-therapy-session", + "status": 1, + "weight": 10, + "specialty_id": 88 + }, + { + "id": 207, + "uuid": "74166961-7837-4b4e-8bbf-cffe90309dec", + "name": "تست شنوایی (ادیومتری)", + "slug": "audiology-audiometry", + "status": 1, + "weight": 10, + "specialty_id": 89 + }, + { + "id": 208, + "uuid": "9a915cd1-bfc9-437a-bef0-6b59b4ca1c49", + "name": "تجویز سمعک", + "slug": "audiology-hearing-aid", + "status": 1, + "weight": 20, + "specialty_id": 89 + }, + { + "id": 209, + "uuid": "7f01fa5a-caf1-4c56-853a-261097a987ff", + "name": "تعیین شماره عینک", + "slug": "optometry-refraction", + "status": 1, + "weight": 10, + "specialty_id": 90 + }, + { + "id": 210, + "uuid": "68c3325a-dd77-4db8-ad6d-20d3bda4f24c", + "name": "معاینه بینایی‌سنجی", + "slug": "optometry-exam", + "status": 1, + "weight": 20, + "specialty_id": 90 + }, + { + "id": 211, + "uuid": "cf00caed-83d5-414f-a041-78e49d320281", + "name": "ویزیت مامایی", + "slug": "midwifery-visit", + "status": 1, + "weight": 10, + "specialty_id": 91 + }, + { + "id": 212, + "uuid": "5fb8d504-f34d-4b4d-989b-7427febb68f2", + "name": "مراقبت دوران بارداری", + "slug": "midwifery-prenatal-care", + "status": 1, + "weight": 20, + "specialty_id": 91 + }, + { + "id": 213, + "uuid": "a1477e18-5a63-46fe-a428-d455d8a2043d", + "name": "آزمایش خون", + "slug": "lab-sciences-blood-test", + "status": 1, + "weight": 10, + "specialty_id": 92 + }, + { + "id": 214, + "uuid": "36397bd1-edb0-4a6f-8afa-163c54358c9e", + "name": "آزمایش ادرار", + "slug": "lab-sciences-urine-test", + "status": 1, + "weight": 20, + "specialty_id": 92 + }, + { + "id": 215, + "uuid": "4ea76a2b-3ceb-40be-961e-5a3a6dfaafb8", + "name": "مشاوره دارویی", + "slug": "pharmacy-consult", + "status": 1, + "weight": 10, + "specialty_id": 93 + } +] \ No newline at end of file diff --git a/data/seed/provinces.json b/data/seed/provinces.json new file mode 100644 index 00000000..cc042d2d --- /dev/null +++ b/data/seed/provinces.json @@ -0,0 +1,219 @@ +[ + { + "id": 1, + "uuid": "7bfb3151-646b-11f1-84d7-f26ca1845824", + "name": "آذربایجان شرقی", + "status": 1, + "weight": 10 + }, + { + "id": 2, + "uuid": "7bfb33c9-646b-11f1-84d7-f26ca1845824", + "name": "آذربایجان غربی", + "status": 1, + "weight": 20 + }, + { + "id": 3, + "uuid": "7bfb35cc-646b-11f1-84d7-f26ca1845824", + "name": "اردبیل", + "status": 1, + "weight": 30 + }, + { + "id": 4, + "uuid": "7bfb37c2-646b-11f1-84d7-f26ca1845824", + "name": "اصفهان", + "status": 1, + "weight": 40 + }, + { + "id": 5, + "uuid": "7bfb3912-646b-11f1-84d7-f26ca1845824", + "name": "البرز", + "status": 1, + "weight": 50 + }, + { + "id": 6, + "uuid": "7bfb3b56-646b-11f1-84d7-f26ca1845824", + "name": "ایلام", + "status": 1, + "weight": 60 + }, + { + "id": 7, + "uuid": "7bfb3d5d-646b-11f1-84d7-f26ca1845824", + "name": "بوشهر", + "status": 1, + "weight": 70 + }, + { + "id": 8, + "uuid": "7bfb3f37-646b-11f1-84d7-f26ca1845824", + "name": "تهران", + "status": 1, + "weight": 80 + }, + { + "id": 9, + "uuid": "7bfb410e-646b-11f1-84d7-f26ca1845824", + "name": "چهارمحال و بختیاری", + "status": 1, + "weight": 90 + }, + { + "id": 10, + "uuid": "7bfb42e9-646b-11f1-84d7-f26ca1845824", + "name": "خراسان جنوبی", + "status": 1, + "weight": 100 + }, + { + "id": 11, + "uuid": "7bfb44b7-646b-11f1-84d7-f26ca1845824", + "name": "خراسان رضوی", + "status": 1, + "weight": 110 + }, + { + "id": 12, + "uuid": "7bfb46c7-646b-11f1-84d7-f26ca1845824", + "name": "خراسان شمالی", + "status": 1, + "weight": 120 + }, + { + "id": 13, + "uuid": "7bfb4897-646b-11f1-84d7-f26ca1845824", + "name": "خوزستان", + "status": 1, + "weight": 130 + }, + { + "id": 14, + "uuid": "7bfb4a78-646b-11f1-84d7-f26ca1845824", + "name": "زنجان", + "status": 1, + "weight": 140 + }, + { + "id": 15, + "uuid": "7bfb4c40-646b-11f1-84d7-f26ca1845824", + "name": "سمنان", + "status": 1, + "weight": 150 + }, + { + "id": 16, + "uuid": "7bfb4db6-646b-11f1-84d7-f26ca1845824", + "name": "سیستان و بلوچستان", + "status": 1, + "weight": 160 + }, + { + "id": 17, + "uuid": "7bfb4f39-646b-11f1-84d7-f26ca1845824", + "name": "فارس", + "status": 1, + "weight": 170 + }, + { + "id": 18, + "uuid": "7bfb50da-646b-11f1-84d7-f26ca1845824", + "name": "قزوین", + "status": 1, + "weight": 180 + }, + { + "id": 19, + "uuid": "7bfb5214-646b-11f1-84d7-f26ca1845824", + "name": "قم", + "status": 1, + "weight": 190 + }, + { + "id": 20, + "uuid": "7bfb5347-646b-11f1-84d7-f26ca1845824", + "name": "کردستان", + "status": 1, + "weight": 200 + }, + { + "id": 21, + "uuid": "7bfb54a5-646b-11f1-84d7-f26ca1845824", + "name": "کرمان", + "status": 1, + "weight": 210 + }, + { + "id": 22, + "uuid": "7bfb55d3-646b-11f1-84d7-f26ca1845824", + "name": "کرمانشاه", + "status": 1, + "weight": 220 + }, + { + "id": 23, + "uuid": "7bfb5705-646b-11f1-84d7-f26ca1845824", + "name": "کهگیلویه و بویراحمد", + "status": 1, + "weight": 230 + }, + { + "id": 24, + "uuid": "7bfb583a-646b-11f1-84d7-f26ca1845824", + "name": "گلستان", + "status": 1, + "weight": 240 + }, + { + "id": 25, + "uuid": "7bfb5963-646b-11f1-84d7-f26ca1845824", + "name": "گیلان", + "status": 1, + "weight": 250 + }, + { + "id": 26, + "uuid": "7bfb5a8e-646b-11f1-84d7-f26ca1845824", + "name": "لرستان", + "status": 1, + "weight": 260 + }, + { + "id": 27, + "uuid": "7bfb5bca-646b-11f1-84d7-f26ca1845824", + "name": "مازندران", + "status": 1, + "weight": 270 + }, + { + "id": 28, + "uuid": "7bfb5cf2-646b-11f1-84d7-f26ca1845824", + "name": "مرکزی", + "status": 1, + "weight": 280 + }, + { + "id": 29, + "uuid": "7bfb5e34-646b-11f1-84d7-f26ca1845824", + "name": "هرمزگان", + "status": 1, + "weight": 290 + }, + { + "id": 30, + "uuid": "7bfb5fff-646b-11f1-84d7-f26ca1845824", + "name": "همدان", + "status": 1, + "weight": 300 + }, + { + "id": 100, + "uuid": "7bfb61b0-646b-11f1-84d7-f26ca1845824", + "name": "یزد", + "status": 1, + "weight": 310 + } +] \ No newline at end of file diff --git a/data/seed/specialties.json b/data/seed/specialties.json new file mode 100644 index 00000000..6a053853 --- /dev/null +++ b/data/seed/specialties.json @@ -0,0 +1,839 @@ +[ + { + "id": 1, + "uuid": "c60b2c3c-de3c-4c2b-a4c9-75c3444e69cb", + "name": "پزشک عمومی", + "slug": "general-practitioner", + "status": 1, + "weight": 10, + "parent_id": null + }, + { + "id": 2, + "uuid": "0774979b-99d0-4918-aeb4-60967bce7add", + "name": "داخلی", + "slug": "internal-medicine", + "status": 1, + "weight": 20, + "parent_id": null + }, + { + "id": 3, + "uuid": "b5ce97a1-0cab-4997-9889-7d30a60091ff", + "name": "گوارش و کبد", + "slug": "gastroenterology", + "status": 1, + "weight": 1, + "parent_id": 2 + }, + { + "id": 4, + "uuid": "cf6c5c00-ca83-4b2f-aed8-8cb5d5ed88be", + "name": "کلیه و نفرولوژی", + "slug": "nephrology", + "status": 1, + "weight": 2, + "parent_id": 2 + }, + { + "id": 5, + "uuid": "827ca657-2666-4ce0-988d-72ce5118a836", + "name": "غدد و متابولیسم", + "slug": "endocrinology", + "status": 1, + "weight": 3, + "parent_id": 2 + }, + { + "id": 6, + "uuid": "1a15587d-be31-433b-8ece-aec32a22b344", + "name": "روماتولوژی", + "slug": "rheumatology", + "status": 1, + "weight": 4, + "parent_id": 2 + }, + { + "id": 7, + "uuid": "092f916c-e156-433a-bf3c-e5016e6ecc74", + "name": "خون و آنکولوژی", + "slug": "hematology-oncology", + "status": 1, + "weight": 5, + "parent_id": 2 + }, + { + "id": 8, + "uuid": "f47465e1-793c-403a-b9d7-73f0dbd6e6ff", + "name": "ریه", + "slug": "pulmonology", + "status": 1, + "weight": 6, + "parent_id": 2 + }, + { + "id": 9, + "uuid": "9e76f731-5e16-41f1-98f6-99df6c8e0972", + "name": "عفونی", + "slug": "infectious-disease", + "status": 1, + "weight": 7, + "parent_id": 2 + }, + { + "id": 10, + "uuid": "a6916e7b-2633-4fa0-9998-6d197712cae6", + "name": "قلب و عروق", + "slug": "cardiology", + "status": 1, + "weight": 30, + "parent_id": null + }, + { + "id": 11, + "uuid": "af3f35aa-5355-4fe2-9ad2-9ca4c233d2e9", + "name": "اینترونشنال کاردیولوژی", + "slug": "interventional-cardiology", + "status": 1, + "weight": 1, + "parent_id": 10 + }, + { + "id": 12, + "uuid": "fa9ccaf1-b150-4cd7-9f5c-751567282e8b", + "name": "الکتروفیزیولوژی قلب", + "slug": "cardiac-electrophysiology", + "status": 1, + "weight": 2, + "parent_id": 10 + }, + { + "id": 13, + "uuid": "b11b599b-e864-4e5e-8635-90c1fab2c480", + "name": "جراحی عمومی", + "slug": "general-surgery", + "status": 1, + "weight": 40, + "parent_id": null + }, + { + "id": 14, + "uuid": "c5dba7a5-336a-4e86-aeea-8c3e841c5046", + "name": "جراحی پلاستیک و زیبایی", + "slug": "plastic-surgery", + "status": 1, + "weight": 1, + "parent_id": 13 + }, + { + "id": 15, + "uuid": "cc229600-3622-44e9-be8f-d919d57e0b99", + "name": "جراحی عروق", + "slug": "vascular-surgery", + "status": 1, + "weight": 2, + "parent_id": 13 + }, + { + "id": 16, + "uuid": "724448b9-3863-489e-a08a-120acc22ca98", + "name": "جراحی توراکس", + "slug": "thoracic-surgery", + "status": 1, + "weight": 3, + "parent_id": 13 + }, + { + "id": 17, + "uuid": "8361c86f-8797-42c7-af68-c5331dfb4db3", + "name": "جراحی کولورکتال", + "slug": "colorectal-surgery", + "status": 1, + "weight": 4, + "parent_id": 13 + }, + { + "id": 18, + "uuid": "75995975-caa9-4d54-a550-0cdb8f4cd123", + "name": "جراحی پستان", + "slug": "breast-surgery", + "status": 1, + "weight": 5, + "parent_id": 13 + }, + { + "id": 19, + "uuid": "abae50f0-dd5d-4be9-b93d-7dbf5db44b4a", + "name": "ارتوپدی", + "slug": "orthopedics", + "status": 1, + "weight": 50, + "parent_id": null + }, + { + "id": 20, + "uuid": "6243a40a-14c9-4f3d-afd0-115189905eb4", + "name": "جراحی زانو", + "slug": "knee-surgery", + "status": 1, + "weight": 1, + "parent_id": 19 + }, + { + "id": 21, + "uuid": "acbae32d-91db-4bd6-9d9c-290c2fbbf6e2", + "name": "جراحی شانه و آرنج", + "slug": "shoulder-elbow-surgery", + "status": 1, + "weight": 2, + "parent_id": 19 + }, + { + "id": 22, + "uuid": "a1d72081-5bbc-4455-b534-c9f5aa363c12", + "name": "جراحی ستون فقرات", + "slug": "spine-surgery", + "status": 1, + "weight": 3, + "parent_id": 19 + }, + { + "id": 23, + "uuid": "3fc84d3e-7d4e-4924-aae1-08ed92deec6f", + "name": "جراحی دست", + "slug": "hand-surgery", + "status": 1, + "weight": 4, + "parent_id": 19 + }, + { + "id": 24, + "uuid": "440638f8-07c8-42a9-8d1b-261baf05f080", + "name": "جراحی پا و مچ پا", + "slug": "foot-ankle-surgery", + "status": 1, + "weight": 5, + "parent_id": 19 + }, + { + "id": 25, + "uuid": "32745d28-1f03-43e9-92f1-7d106df05842", + "name": "زنان و زایمان", + "slug": "obstetrics-gynecology", + "status": 1, + "weight": 60, + "parent_id": null + }, + { + "id": 26, + "uuid": "8a6bcd23-178d-43ba-a646-ac0b519cada6", + "name": "نازایی و IVF", + "slug": "infertility-ivf", + "status": 1, + "weight": 1, + "parent_id": 25 + }, + { + "id": 27, + "uuid": "9a1d6f51-9959-4b6a-8fbb-861e354e1998", + "name": "انکولوژی زنان", + "slug": "gynecologic-oncology", + "status": 1, + "weight": 2, + "parent_id": 25 + }, + { + "id": 28, + "uuid": "6f2fe9f5-4f2c-4c36-a28c-a44f38e9d2d9", + "name": "پریناتولوژی", + "slug": "perinatology", + "status": 1, + "weight": 3, + "parent_id": 25 + }, + { + "id": 29, + "uuid": "e2b27ef8-5eb6-4324-856d-2c841db47178", + "name": "کودکان و اطفال", + "slug": "pediatrics", + "status": 1, + "weight": 70, + "parent_id": null + }, + { + "id": 30, + "uuid": "5dd804cc-f159-41d2-9fce-cd0fa9da2d52", + "name": "طب نوزادی", + "slug": "neonatology", + "status": 1, + "weight": 1, + "parent_id": 29 + }, + { + "id": 31, + "uuid": "b9661fbb-77dd-4378-a048-4b38adaed35a", + "name": "قلب کودکان", + "slug": "pediatric-cardiology", + "status": 1, + "weight": 2, + "parent_id": 29 + }, + { + "id": 32, + "uuid": "4dff6aa0-2d15-4a77-98a3-6d03675378b5", + "name": "گوارش کودکان", + "slug": "pediatric-gastroenterology", + "status": 1, + "weight": 3, + "parent_id": 29 + }, + { + "id": 33, + "uuid": "ca1ebfbd-6abd-4b17-84b8-9a44d34ca93d", + "name": "عفونی کودکان", + "slug": "pediatric-infectious-disease", + "status": 1, + "weight": 4, + "parent_id": 29 + }, + { + "id": 34, + "uuid": "b3469e17-f66c-422a-be8e-d2732727a42d", + "name": "غدد کودکان", + "slug": "pediatric-endocrinology", + "status": 1, + "weight": 5, + "parent_id": 29 + }, + { + "id": 35, + "uuid": "2af734ef-3109-40fc-a720-8fe48c02197c", + "name": "مغز و اعصاب کودکان", + "slug": "pediatric-neurology", + "status": 1, + "weight": 6, + "parent_id": 29 + }, + { + "id": 36, + "uuid": "ae0d7fc2-d418-4b16-94c9-5b04867f58a6", + "name": "کلیه کودکان", + "slug": "pediatric-nephrology", + "status": 1, + "weight": 7, + "parent_id": 29 + }, + { + "id": 37, + "uuid": "09b8af69-0c70-466e-bb6a-3f954444b229", + "name": "خون و سرطان کودکان", + "slug": "pediatric-hematology-oncology", + "status": 1, + "weight": 8, + "parent_id": 29 + }, + { + "id": 38, + "uuid": "f80bbdc9-ee39-492c-b22e-8b6962805ea7", + "name": "مغز و اعصاب (نورولوژی)", + "slug": "neurology", + "status": 1, + "weight": 80, + "parent_id": null + }, + { + "id": 39, + "uuid": "0f5d9ba4-e732-4857-858d-233885a62386", + "name": "جراحی مغز و اعصاب", + "slug": "neurosurgery", + "status": 1, + "weight": 90, + "parent_id": null + }, + { + "id": 40, + "uuid": "9745fefe-8404-4697-a34e-98784960cab5", + "name": "روانپزشکی", + "slug": "psychiatry", + "status": 1, + "weight": 100, + "parent_id": null + }, + { + "id": 41, + "uuid": "46164060-8ee9-442a-9b69-4d92256a347a", + "name": "روانپزشکی کودک و نوجوان", + "slug": "child-adolescent-psychiatry", + "status": 1, + "weight": 1, + "parent_id": 40 + }, + { + "id": 42, + "uuid": "052621ab-b3bd-4072-9c48-6707ff92eded", + "name": "چشم پزشکی", + "slug": "ophthalmology", + "status": 1, + "weight": 110, + "parent_id": null + }, + { + "id": 43, + "uuid": "b9c1dc6d-136f-4629-a708-6e2d964b1ac1", + "name": "قرنیه", + "slug": "cornea", + "status": 1, + "weight": 1, + "parent_id": 42 + }, + { + "id": 44, + "uuid": "921b2830-6cfe-4a92-a811-051de577b7e7", + "name": "شبکیه (رتین)", + "slug": "retina", + "status": 1, + "weight": 2, + "parent_id": 42 + }, + { + "id": 45, + "uuid": "c2e00ff9-eb27-48c4-9c03-3f2b5ac8ea44", + "name": "گلوکوم (آب سیاه)", + "slug": "glaucoma", + "status": 1, + "weight": 3, + "parent_id": 42 + }, + { + "id": 46, + "uuid": "0a0a2942-afc2-4728-8dd9-015b58494d1b", + "name": "انحراف چشم (استرابیسم)", + "slug": "strabismus", + "status": 1, + "weight": 4, + "parent_id": 42 + }, + { + "id": 47, + "uuid": "be28431b-9421-4574-92f9-a13348aa15b9", + "name": "چشم پزشکی کودکان", + "slug": "pediatric-ophthalmology", + "status": 1, + "weight": 5, + "parent_id": 42 + }, + { + "id": 48, + "uuid": "cae460c2-81c4-4e5c-bcc1-8a2f0cf9b7a4", + "name": "گوش و حلق و بینی", + "slug": "ent", + "status": 1, + "weight": 120, + "parent_id": null + }, + { + "id": 49, + "uuid": "ca92fbbc-1e10-48ae-9230-4f176536a0f7", + "name": "جراحی بینی (رینوپلاستی)", + "slug": "rhinoplasty", + "status": 1, + "weight": 1, + "parent_id": 48 + }, + { + "id": 50, + "uuid": "c2eb20ce-158f-4e4b-9a57-d5bd0fd22f0c", + "name": "اتولوژی و شنوایی", + "slug": "otology", + "status": 1, + "weight": 2, + "parent_id": 48 + }, + { + "id": 51, + "uuid": "1ae24990-f48e-4f02-8c69-bcd86076100e", + "name": "پوست و مو", + "slug": "dermatology", + "status": 1, + "weight": 130, + "parent_id": null + }, + { + "id": 52, + "uuid": "cf06d647-ebea-471a-8c02-f50cadf54c01", + "name": "اورولوژی", + "slug": "urology", + "status": 1, + "weight": 140, + "parent_id": null + }, + { + "id": 53, + "uuid": "750b12d1-a6ad-48fc-a069-a7fe93157d34", + "name": "اندویورولوژی", + "slug": "endourology", + "status": 1, + "weight": 1, + "parent_id": 52 + }, + { + "id": 54, + "uuid": "4faa9cf1-239b-4776-8a36-0f2a98605781", + "name": "اوروانکولوژی", + "slug": "urologic-oncology", + "status": 1, + "weight": 2, + "parent_id": 52 + }, + { + "id": 55, + "uuid": "234ce8ec-e831-4654-917d-a91afc76fa0c", + "name": "اورولوژی کودکان", + "slug": "pediatric-urology", + "status": 1, + "weight": 3, + "parent_id": 52 + }, + { + "id": 56, + "uuid": "3b2fcb1f-f27d-4d25-a5b0-bedf36cc8440", + "name": "رادیولوژی و تصویربرداری", + "slug": "radiology", + "status": 1, + "weight": 150, + "parent_id": null + }, + { + "id": 57, + "uuid": "5162b9a2-b644-48e1-b048-7a3ecf5c7c53", + "name": "سونوگرافی", + "slug": "ultrasound", + "status": 1, + "weight": 1, + "parent_id": 56 + }, + { + "id": 58, + "uuid": "7700a1e6-e28d-43c1-ba23-a73dde339b52", + "name": "ام آر آی (MRI)", + "slug": "mri", + "status": 1, + "weight": 2, + "parent_id": 56 + }, + { + "id": 59, + "uuid": "9ed62c2e-9793-47cc-b917-f60ff49e50bb", + "name": "سی تی اسکن", + "slug": "ct-scan", + "status": 1, + "weight": 3, + "parent_id": 56 + }, + { + "id": 60, + "uuid": "17eaf65f-5e49-448a-ab44-bd4c5990c1ce", + "name": "پاتولوژی و آسیب‌شناسی", + "slug": "pathology", + "status": 1, + "weight": 160, + "parent_id": null + }, + { + "id": 61, + "uuid": "ba14b33b-8d2a-4827-9860-28f414059ead", + "name": "بیهوشی", + "slug": "anesthesiology", + "status": 1, + "weight": 170, + "parent_id": null + }, + { + "id": 62, + "uuid": "da600631-75e6-40ac-8d23-07055eec5b39", + "name": "طب درد", + "slug": "pain-medicine", + "status": 1, + "weight": 180, + "parent_id": null + }, + { + "id": 63, + "uuid": "0c0e2925-81b4-4a7b-8295-2b806b47391a", + "name": "طب اورژانس", + "slug": "emergency-medicine", + "status": 1, + "weight": 190, + "parent_id": null + }, + { + "id": 64, + "uuid": "c75bd083-64d6-48ff-88cc-bb94872a400d", + "name": "طب فیزیکی و توانبخشی", + "slug": "physical-medicine-rehab", + "status": 1, + "weight": 200, + "parent_id": null + }, + { + "id": 65, + "uuid": "c098edd8-2625-45a7-b218-7351c4719015", + "name": "طب کار", + "slug": "occupational-medicine", + "status": 1, + "weight": 210, + "parent_id": null + }, + { + "id": 66, + "uuid": "89379b60-04e5-44da-9730-8e259aea2041", + "name": "پزشکی هسته‌ای", + "slug": "nuclear-medicine", + "status": 1, + "weight": 220, + "parent_id": null + }, + { + "id": 67, + "uuid": "b73eb94f-16d9-41e9-b2bb-8d60ce3074c5", + "name": "رادیوتراپی و انکولوژی", + "slug": "radiation-oncology", + "status": 1, + "weight": 230, + "parent_id": null + }, + { + "id": 68, + "uuid": "cd25dde8-0df7-4449-82d5-bd0d60c44006", + "name": "طب سالمندان", + "slug": "geriatrics", + "status": 1, + "weight": 240, + "parent_id": null + }, + { + "id": 69, + "uuid": "7853fe8b-2f55-44e4-803a-dd75e47d965b", + "name": "طب خواب", + "slug": "sleep-medicine", + "status": 1, + "weight": 250, + "parent_id": null + }, + { + "id": 70, + "uuid": "99c185b1-63c9-487e-83bf-2c4a579e8774", + "name": "طب ورزشی", + "slug": "sports-medicine", + "status": 1, + "weight": 260, + "parent_id": null + }, + { + "id": 71, + "uuid": "89a75512-e621-4c4e-94a6-4506e3e7a7a5", + "name": "ژنتیک پزشکی", + "slug": "medical-genetics", + "status": 1, + "weight": 270, + "parent_id": null + }, + { + "id": 72, + "uuid": "e316dee3-bf28-41db-959d-8b491bcf0a35", + "name": "آلرژی و ایمونولوژی", + "slug": "allergy-immunology", + "status": 1, + "weight": 280, + "parent_id": null + }, + { + "id": 73, + "uuid": "4714aca3-8618-4b2e-9980-a0287ca34ca0", + "name": "طب سنتی", + "slug": "traditional-medicine", + "status": 1, + "weight": 290, + "parent_id": null + }, + { + "id": 74, + "uuid": "1a9f12af-095f-42ac-b6c3-724e01871f70", + "name": "دندانپزشک", + "slug": "dentistry", + "status": 1, + "weight": 300, + "parent_id": null + }, + { + "id": 75, + "uuid": "5e95efb3-9db1-4fcc-9e84-f50916589e4b", + "name": "جراحی فک و صورت", + "slug": "oral-maxillofacial-surgery", + "status": 1, + "weight": 1, + "parent_id": 74 + }, + { + "id": 76, + "uuid": "0802c01f-17a2-4e68-9bfb-3994d4edf1bd", + "name": "ارتودنسی", + "slug": "orthodontics", + "status": 1, + "weight": 2, + "parent_id": 74 + }, + { + "id": 77, + "uuid": "0a2dc4fa-834f-4a15-a517-c3fbf81c6db7", + "name": "درمان ریشه (اندودانتیکس)", + "slug": "endodontics", + "status": 1, + "weight": 3, + "parent_id": 74 + }, + { + "id": 78, + "uuid": "9c53ef7d-bd01-41f8-840d-673c7467790d", + "name": "دندانپزشکی کودکان", + "slug": "pediatric-dentistry", + "status": 1, + "weight": 4, + "parent_id": 74 + }, + { + "id": 79, + "uuid": "ebba72d7-da6a-43ee-8751-cd9e85dbf8ce", + "name": "پروتزهای دندانی", + "slug": "prosthodontics", + "status": 1, + "weight": 5, + "parent_id": 74 + }, + { + "id": 80, + "uuid": "ae4174bf-546c-42ac-8741-f390ebe8ab13", + "name": "لثه (پریودانتیکس)", + "slug": "periodontics", + "status": 1, + "weight": 6, + "parent_id": 74 + }, + { + "id": 81, + "uuid": "fdceafab-8861-46dc-9231-0f79cc00d9e8", + "name": "دندانپزشکی ترمیمی و زیبایی", + "slug": "restorative-dentistry", + "status": 1, + "weight": 7, + "parent_id": 74 + }, + { + "id": 82, + "uuid": "111154ae-731c-407f-b324-5a47f4686cf7", + "name": "ایمپلنت دندان", + "slug": "dental-implant", + "status": 1, + "weight": 8, + "parent_id": 74 + }, + { + "id": 83, + "uuid": "f241f1fe-baf5-4b0e-a2cc-1600960b3b33", + "name": "تغذیه و رژیم درمانی", + "slug": "nutrition", + "status": 1, + "weight": 310, + "parent_id": null + }, + { + "id": 84, + "uuid": "55513c19-c0fa-422c-9718-0b5a98bbc17d", + "name": "روانشناسی و مشاوره", + "slug": "psychology", + "status": 1, + "weight": 320, + "parent_id": null + }, + { + "id": 85, + "uuid": "0b54a5e1-9c85-4de1-a90f-d528afd487dc", + "name": "روانشناسی کودک", + "slug": "child-psychology", + "status": 1, + "weight": 1, + "parent_id": 84 + }, + { + "id": 86, + "uuid": "009ca13f-dbb9-434d-aea1-306d652988e1", + "name": "فیزیوتراپی", + "slug": "physiotherapy", + "status": 1, + "weight": 330, + "parent_id": null + }, + { + "id": 87, + "uuid": "0639904d-0730-497d-8680-7f57761adabe", + "name": "کاردرمانی", + "slug": "occupational-therapy", + "status": 1, + "weight": 340, + "parent_id": null + }, + { + "id": 88, + "uuid": "b0408896-7919-4b85-b48c-20f2465653b1", + "name": "گفتاردرمانی", + "slug": "speech-therapy", + "status": 1, + "weight": 350, + "parent_id": null + }, + { + "id": 89, + "uuid": "d51ad157-eb69-40a6-ba79-0e4aa8a5ce3a", + "name": "شنوایی‌سنجی", + "slug": "audiology", + "status": 1, + "weight": 360, + "parent_id": null + }, + { + "id": 90, + "uuid": "63974c3c-232d-4416-b38f-c230eb4ec2b3", + "name": "بینایی‌سنجی", + "slug": "optometry", + "status": 1, + "weight": 370, + "parent_id": null + }, + { + "id": 91, + "uuid": "38422839-d512-487e-b010-bf580eab8e9e", + "name": "مامایی", + "slug": "midwifery", + "status": 1, + "weight": 380, + "parent_id": null + }, + { + "id": 92, + "uuid": "9bbe83ab-e8d9-44ee-bdc2-94d55dcc3bca", + "name": "علوم آزمایشگاهی", + "slug": "lab-sciences", + "status": 1, + "weight": 390, + "parent_id": null + }, + { + "id": 93, + "uuid": "249928fd-5d81-48f1-8ee5-cdec1ea086cd", + "name": "داروسازی", + "slug": "pharmacy", + "status": 1, + "weight": 400, + "parent_id": null + } +] \ No newline at end of file diff --git a/docs/api/category-import.md b/docs/api/category-import.md index c27e7ac8..863a2274 100644 --- a/docs/api/category-import.md +++ b/docs/api/category-import.md @@ -111,3 +111,29 @@ A non-empty array of records, or `{ "items": [ … ] }`. Max **5000** rows. | `ERR_IMPORT_TOO_LARGE` | 422 | More than 5000 rows | | (field errors) | 422 | One entry per failed row/field; no rows written | | `ERR_IMPORT_FAILED` | 500 | DB error during replace (transaction rolled back) | + +--- + +## Seeding a from-scratch database + +Canonical category data ships in the repo at `data/seed/*.json` +(`provinces.json`, `cities.json`, `specialties.json`, `doctor_services.json`). +After creating an empty schema, populate it with: + +```bash +ddev exec php bin/console app:seed-categories +``` + +The command (`App\Category\Command\SeedCategoriesCommand`) reads those files and +runs the same strict validation + wipe-and-replace as the HTTP import, in +dependency order (provinces → cities, specialties → doctor_services). The shared +logic lives in `App\Category\Service\CategoryImporter`. + +Full rebuild: +```bash +ddev exec php bin/console doctrine:database:drop --force +ddev exec php bin/console doctrine:database:create +ddev exec php bin/console doctrine:migrations:migrate --no-interaction +ddev exec php bin/console app:seed-categories +ddev exec php bin/console app:create-admin 09100000001 'Test@1234' +``` diff --git a/graphify-out/.graphify_labels.json b/graphify-out/.graphify_labels.json index f817569d..42f04848 100644 --- a/graphify-out/.graphify_labels.json +++ b/graphify-out/.graphify_labels.json @@ -653,13 +653,9 @@ "651": "Community 651", "652": "Community 652", "653": "Community 653", - "659": "Community 659", - "660": "Community 660", - "661": "Community 661", + "654": "Community 654", "662": "Community 662", "663": "Community 663", - "666": "Community 666", - "667": "Community 667", "668": "Community 668", "669": "Community 669", "670": "Community 670", diff --git a/graphify-out/GRAPH_REPORT.md b/graphify-out/GRAPH_REPORT.md index e75f6ad3..232c7b3f 100644 --- a/graphify-out/GRAPH_REPORT.md +++ b/graphify-out/GRAPH_REPORT.md @@ -1,16 +1,16 @@ # Graph Report - clinicpro (2026-06-30) ## Corpus Check -- 657 files · ~453,738 words +- 663 files · ~463,560 words - Verdict: corpus is large enough that graph structure adds value. ## Summary -- 8314 nodes · 11496 edges · 665 communities (540 shown, 125 thin omitted) +- 8328 nodes · 11514 edges · 661 communities (532 shown, 129 thin omitted) - Extraction: 98% EXTRACTED · 2% INFERRED · 0% AMBIGUOUS · INFERRED: 264 edges (avg confidence: 0.8) - Token cost: 0 input · 0 output ## Graph Freshness -- Built from commit: `80319610` +- Built from commit: `22937dfa` - Run `git rev-parse HEAD` and compare to check if the graph is stale. - Run `graphify update .` after code changes (no API cost). @@ -655,13 +655,9 @@ - [[_COMMUNITY_Community 651|Community 651]] - [[_COMMUNITY_Community 652|Community 652]] - [[_COMMUNITY_Community 653|Community 653]] -- [[_COMMUNITY_Community 659|Community 659]] -- [[_COMMUNITY_Community 660|Community 660]] -- [[_COMMUNITY_Community 661|Community 661]] +- [[_COMMUNITY_Community 654|Community 654]] - [[_COMMUNITY_Community 662|Community 662]] - [[_COMMUNITY_Community 663|Community 663]] -- [[_COMMUNITY_Community 666|Community 666]] -- [[_COMMUNITY_Community 667|Community 667]] - [[_COMMUNITY_Community 668|Community 668]] - [[_COMMUNITY_Community 669|Community 669]] - [[_COMMUNITY_Community 672|Community 672]] @@ -683,45 +679,45 @@ assets/admin/components/ServiceTariffModal.tsx → assets/admin/lib/utils.ts - `PersianDatePicker()` --calls--> `formatDate()` [EXTRACTED] assets/admin/components/ui/PersianDatePicker.tsx → assets/admin/lib/utils.ts +- `MyFinancialPage()` --calls--> `formatRial()` [EXTRACTED] + assets/admin/pages/MyFinancialPage.tsx → assets/admin/lib/utils.ts +- `RepresentationSettlementPage()` --calls--> `formatRial()` [EXTRACTED] + assets/admin/pages/RepresentationSettlementPage.tsx → assets/admin/lib/utils.ts - `SmsPage()` --calls--> `formatDateTime()` [EXTRACTED] assets/admin/pages/SmsPage.tsx → assets/admin/lib/utils.ts -- `PrivateRoute()` --calls--> `useAuthStore` [EXTRACTED] - assets/admin/App.tsx → assets/admin/stores/authStore.ts -- `PublicRoute()` --calls--> `useAuthStore` [EXTRACTED] - assets/admin/App.tsx → assets/admin/stores/authStore.ts ## Import Cycles - None detected. -## Communities (665 total, 125 thin omitted) +## Communities (661 total, 129 thin omitted) ### Community 0 - "Community 0" -Cohesion: 0.04 -Nodes (46): ALLOWED_ROLES, PrivateRoute(), PublicRoute(), RoleRoute(), queryClient, toastStyle, NewAppointmentModal(), LogoUploadField() (+38 more) +Cohesion: 0.05 +Nodes (43): ALLOWED_ROLES, PrivateRoute(), PublicRoute(), RoleRoute(), queryClient, toastStyle, AddForm, addSchema (+35 more) ### Community 1 - "Community 1" Cohesion: 0.03 Nodes (41): AddressData, AddrForm, addrSchema, AVATAR_COLORS, BookingMeta, CityOpt, DateOverrideData, DEFAULT_BOOKING_META (+33 more) ### Community 2 - "Community 2" -Cohesion: 0.10 -Nodes (19): get, BeforeInstallPromptEvent, usePwaInstall(), api, ApiError, getToken(), refreshOnce(), request() (+11 more) +Cohesion: 0.07 +Nodes (27): get, BeforeInstallPromptEvent, usePwaInstall(), api, ApiError, getToken(), refreshOnce(), request() (+19 more) ### Community 3 - "Community 3" -Cohesion: 0.05 -Nodes (43): PaginatedResponse, formatDate(), STATUS_FILTERS, FILTERS, Breakdown, SOURCE_LABEL, Summary, STATUS_FILTERS (+35 more) +Cohesion: 0.04 +Nodes (71): PaginatedResponse, formatDate(), ALL_STATUSES, AppointmentDetailPage(), STATUS_FILTERS, FILTERS, Breakdown, SOURCE_LABEL (+63 more) ### Community 4 - "Community 4" -Cohesion: 0.05 -Nodes (11): DoctorServiceController, DoctorService, Doctor, DoctorServiceRepository, Collection, self, User, WeeklySchedule (+3 more) +Cohesion: 0.06 +Nodes (8): DoctorService, Doctor, DoctorServiceRepository, Collection, self, User, WeeklySchedule, ManagerRegistry ### Community 5 - "Community 5" Cohesion: 0.07 Nodes (3): UserProfile, self, User ### Community 6 - "Community 6" -Cohesion: 0.17 -Nodes (8): SettlementController, SettlementRepository, Settlement, JsonResponse, Request, User, ManagerRegistry, User +Cohesion: 0.12 +Nodes (12): SettlementController, SettlementRepository, WalletTransactionRepository, Settlement, JsonResponse, Request, User, ManagerRegistry (+4 more) ### Community 7 - "Community 7" Cohesion: 0.07 @@ -729,7 +725,7 @@ Nodes (5): Clinic, Collection, Doctor, self, User ### Community 8 - "Community 8" Cohesion: 0.08 -Nodes (30): useSubscription(), AdminLayout(), avatarBg(), buildSections(), HUES, Props, ROLE_LABELS, Section (+22 more) +Nodes (28): useSubscription(), AdminLayout(), avatarBg(), buildSections(), HUES, Props, ROLE_LABELS, Section (+20 more) ### Community 9 - "Community 9" Cohesion: 0.04 @@ -740,8 +736,8 @@ Cohesion: 0.04 Nodes (46): Clinic Address Management, Clinic API, DELETE `/api/v1/admin/clinic/{clinicUuid}/doctor/{doctorUuid}`, `DELETE /api/v1/clinic/{clinicUuid}/address/{addressUuid}`, Errors, Errors, Errors, Errors (+38 more) ### Community 11 - "Community 11" -Cohesion: 0.06 -Nodes (35): FreeVisitPrice(), Pricing, usePaymentConfig(), ApiResponse, formatRial(), InsurancePricingPage(), FinancialSummary, MonthlyEntry (+27 more) +Cohesion: 0.05 +Nodes (33): usePaymentConfig(), ApiResponse, emptyFeatures(), FEATURE_KEYS, FEATURE_LABELS, PeriodForm, periodSchema, PLAN_DISPLAY (+25 more) ### Community 12 - "Community 12" Cohesion: 0.05 @@ -752,16 +748,16 @@ Cohesion: 0.08 Nodes (28): cn(), formatDateTime(), iranMobileOptionalSchema, iranMobileSchema, isValidIranMobile(), maskMobile(), sanitizeMobileInput(), toDate() (+20 more) ### Community 14 - "Community 14" -Cohesion: 0.10 -Nodes (12): AppointmentSettingsController, DateOverride, Holiday, DateOverrideRepository, HolidayRepository, JsonResponse, Request, User (+4 more) +Cohesion: 0.15 +Nodes (8): AppointmentSettingsController, Holiday, HolidayRepository, JsonResponse, Request, User, Doctor, ManagerRegistry ### Community 15 - "Community 15" Cohesion: 0.10 Nodes (13): PaymentController, MockGateway, SepGateway, JsonResponse, Payment, PaymentGatewayInterface, Request, Response (+5 more) ### Community 16 - "Community 16" -Cohesion: 0.09 -Nodes (6): PatientSession, Appointment, Collection, PatientRecord, self, SessionService +Cohesion: 0.07 +Nodes (7): PatientSession, SmsWallet, Appointment, Collection, PatientRecord, self, SessionService ### Community 17 - "Community 17" Cohesion: 0.05 @@ -772,20 +768,20 @@ Cohesion: 0.05 Nodes (38): API, API, API, API, API, Route, Route, Route (+30 more) ### Community 19 - "Community 19" -Cohesion: 0.07 -Nodes (21): Contract, InsuranceOption, KIND_LABEL, ALL_STATUSES, AppointmentDetailPage(), FormData, schema, AdminUser (+13 more) +Cohesion: 0.09 +Nodes (17): Contract, InsuranceOption, KIND_LABEL, FormData, schema, AdminUser, ChangeRoleModal(), getPrimaryRole() (+9 more) ### Community 20 - "Community 20" -Cohesion: 0.15 -Nodes (3): AdminApiController, JsonResponse, Request +Cohesion: 0.12 +Nodes (4): AdminApiController, InputValidator, JsonResponse, Request ### Community 21 - "Community 21" Cohesion: 0.05 -Nodes (34): formatNumber(), ClinicDetailPage(), AdminCharts, AdminDashboard(), AdminRecent, AdminStats, APPT_CLS, APPT_COLOR (+26 more) +Nodes (42): FreeVisitPrice(), Pricing, formatNumber(), formatRial(), ClinicDetailPage(), AdminCharts, AdminDashboard(), AdminRecent (+34 more) ### Community 22 - "Community 22" -Cohesion: 0.15 -Nodes (9): RatingController, Like, LikeRepository, JsonResponse, Request, User, Comment, ManagerRegistry (+1 more) +Cohesion: 0.11 +Nodes (14): RatingController, Like, Rate, LikeRepository, RateRepository, JsonResponse, Request, User (+6 more) ### Community 23 - "Community 23" Cohesion: 0.05 @@ -800,8 +796,8 @@ Cohesion: 0.05 Nodes (39): Appointment API, Error Responses, Errors, Errors, Errors, Errors, Errors, Errors (+31 more) ### Community 26 - "Community 26" -Cohesion: 0.24 -Nodes (4): InsuranceController, JsonResponse, Request, User +Cohesion: 0.15 +Nodes (7): InsuranceController, EntityInsurancePricing, EntityInsurancePricingRepository, JsonResponse, Request, User, ManagerRegistry ### Community 27 - "Community 27" Cohesion: 0.05 @@ -860,8 +856,8 @@ Cohesion: 0.09 Nodes (4): User, PasswordAuthenticatedUserInterface, self, UserInterface ### Community 41 - "Community 41" -Cohesion: 0.04 -Nodes (41): CityForm, citySchema, ImportError, InsuranceForm, insuranceSchema, ProvinceForm, provinceSchema, ServiceForm (+33 more) +Cohesion: 0.06 +Nodes (23): CityForm, citySchema, ImportError, InsuranceForm, insuranceSchema, LogoUploadField(), ProvinceForm, provinceSchema (+15 more) ### Community 42 - "Community 42" Cohesion: 0.07 @@ -893,7 +889,7 @@ Nodes (4): Payment, Appointment, self, User ### Community 49 - "Community 49" Cohesion: 0.07 -Nodes (20): AppointmentsPage(), BookingSlot, CancelledBadge(), DateNavigator(), EMPTY_ARR, getPersianWeekDay(), navBtnSx, SessionGroup (+12 more) +Nodes (21): AppointmentsPage(), BookingSlot, CancelledBadge(), DateNavigator(), EMPTY_ARR, getPersianWeekDay(), navBtnSx, NewAppointmentModal() (+13 more) ### Community 50 - "Community 50" Cohesion: 0.07 @@ -908,8 +904,8 @@ Cohesion: 0.07 Nodes (26): الزامات UI, باگ‌فیکس صفحه نوبت‌ها, باگ ۱ — کرش تقویم, باگ ۲ — روز هفته در DateNavigator, باگ ۳ — پیام «slot نیست», باگ ۴ — نوبت جدید: نام اجباری + find-or-create patient, باگ ۵ — patient_mobile نشان می‌دهد موبایل پزشک, باگ ۶ — نوبت‌های رزرو شده در نمایش زمانبندی (+18 more) ### Community 53 - "Community 53" -Cohesion: 0.11 -Nodes (13): AppLogRepository, ClaimItemRepository, DoctorInsuranceRepository, PreRegistrationRepository, SmsSettingsRepository, ServiceEntityRepository, SmsSettings, ManagerRegistry (+5 more) +Cohesion: 0.08 +Nodes (15): AppLogRepository, CityRepository, ClaimItemRepository, InvoiceItemRepository, PreRegistrationRepository, SiteConfigRepository, ServiceEntityRepository, ManagerRegistry (+7 more) ### Community 54 - "Community 54" Cohesion: 0.10 @@ -945,24 +941,20 @@ Nodes (22): Billing API — صورتحساب (فاز ۴ سیستم صورتحس ### Community 62 - "Community 62" Cohesion: 0.08 -Nodes (20): Authentication, ClinicPro — API Documentation Index, Error Code Reference, Modules, Standard Response Envelope, Bulk import / export, DELETE `/api/v1/admin/specialty/{id}`, Errors (+12 more) +Nodes (24): Bulk import / export, DELETE `/api/v1/admin/specialty/{id}`, Errors, Errors, Errors, Errors, GET `/api/v1/admin/specialties`, GET `/api/v1/specialties` (+16 more) ### Community 63 - "Community 63" Cohesion: 0.22 Nodes (5): AuthController, RateLimiterFactory, JsonResponse, Request, User ### Community 64 - "Community 64" -Cohesion: 0.32 -Nodes (4): SmsWalletController, JsonResponse, Request, User +Cohesion: 0.20 +Nodes (7): SmsWalletController, SmsSettingsRepository, SmsSettings, JsonResponse, Request, User, ManagerRegistry ### Community 65 - "Community 65" Cohesion: 0.08 Nodes (24): 2. کاربر (User), 4. 🔵 `POST` verify code, 5. 🔵 `POST` send code, 6. 🔵 `POST` register, 7. 🔴 `DELETE` delete user, 8. 🟡 `PATCH` patch, 9. 🟢 `GET` list secretary, Request Body (+16 more) -### Community 66 - "Community 66" -Cohesion: 0.07 -Nodes (4): ClinicStaff, SmsSettings, self, self - ### Community 67 - "Community 67" Cohesion: 0.11 Nodes (4): Invoice, Collection, InvoiceItem, self @@ -1015,10 +1007,6 @@ Nodes (3): SubscriptionPlan, Collection, self Cohesion: 0.09 Nodes (22): dependencies, @ckeditor/ckeditor5-build-classic, @ckeditor/ckeditor5-react, @fontsource/vazirmatn, @heroicons/react, @hookform/resolvers, jalaali-js, leaflet (+14 more) -### Community 82 - "Community 82" -Cohesion: 0.05 -Nodes (14): CategoryImportTest, Connection, RepositoryClassMappingTest, KernelTestCase, LoggerInterface, DbLogger, KavehNegarProvider, RanginehProvider (+6 more) - ### Community 83 - "Community 83" Cohesion: 0.09 Nodes (21): Backend, CSS / UI, Frontend, روند اجرای هر قابلیت, قبل از شروع — تحلیل پرامپت و ساخت Todo, قوانین اجرا (اجباری — هیچ استثنایی ندارد), قوانین خاص این پروژه, مثال اجرا (+13 more) @@ -1032,8 +1020,8 @@ Cohesion: 0.07 Nodes (29): devDependencies, @babel/core, @babel/preset-env, @babel/preset-react, @babel/preset-typescript, core-js, @hotwired/stimulus, jsdom (+21 more) ### Community 86 - "Community 86" -Cohesion: 0.07 -Nodes (13): AppointmentExpiryServiceTest, LowTierFixesTest, SendCodeMobileRateLimitTest, ClaimsListPaginationTest, ServiceItemStaffOwnershipTest, EntityManagerInterface, KernelBrowser, CommentPaginationTest (+5 more) +Cohesion: 0.06 +Nodes (15): AppointmentExpiryServiceTest, LowTierFixesTest, SendCodeMobileRateLimitTest, ClaimsListPaginationTest, ServiceItemDeleteCleanupTest, ServiceItemStaffOwnershipTest, EntityManagerInterface, KernelBrowser (+7 more) ### Community 87 - "Community 87" Cohesion: 0.10 @@ -1068,8 +1056,8 @@ Cohesion: 0.10 Nodes (20): 12. تنظیمات نوبت — تعطیلات, 76. 🔴 `DELETE` delete, 77. 🔵 `POST` post, 78. 🟡 `PATCH` patch, 79. 🔴 `DELETE` delete, 80. 🟢 `GET` get, Request Body, Request Body (+12 more) ### Community 95 - "Community 95" -Cohesion: 0.09 -Nodes (7): ClinicSubscription, TenantInsuranceService, CoverageRule, TenantInsurance, Payment, SubscriptionPeriod, SubscriptionPlan +Cohesion: 0.15 +Nodes (4): ClinicSubscription, Payment, SubscriptionPeriod, SubscriptionPlan ### Community 96 - "Community 96" Cohesion: 0.18 @@ -1096,7 +1084,7 @@ Cohesion: 0.10 Nodes (19): Backend — endpoint اشتراک, Frontend — App.tsx, Frontend — authStore, Frontend — Sidebar, اعمال محدودیت‌های اشتراک در پنل ادمین (Frontend Gate), ترتیب اجرا, زمینه, فایل‌های مرتبط (+11 more) ### Community 102 - "Community 102" -Cohesion: 0.10 +Cohesion: 0.11 Nodes (19): Bulk import / export, DELETE `/api/v1/admin/tag/{id}`, Errors, Errors, Errors, Errors, GET `/api/v1/admin/tags`, GET `/api/v1/tags` (+11 more) ### Community 103 - "Community 103" @@ -1121,7 +1109,7 @@ Nodes (6): AppointmentController, Appointment, Doctor, JsonResponse, Request, Us ### Community 108 - "Community 108" Cohesion: 0.18 -Nodes (7): BaseController, CategoryController, SmsMessageController, JsonResponse, JsonResponse, JsonResponse, Request +Nodes (7): BaseController, CategoryController, CategoryImportController, JsonResponse, JsonResponse, Request, JsonResponse ### Community 109 - "Community 109" Cohesion: 0.29 @@ -1328,8 +1316,8 @@ Cohesion: 0.13 Nodes (13): Architecture, Auth, Backend (PHP/Symfony), Backend — `src/`, Category / Bundle system, Commands, Database, First-time setup (+5 more) ### Community 163 - "Community 163" -Cohesion: 0.11 -Nodes (18): autoload, autoload-dev, psr-4, psr-4, conflict, symfony/symfony, description, extra (+10 more) +Cohesion: 0.13 +Nodes (14): autoload, autoload-dev, psr-4, psr-4, conflict, symfony/symfony, description, license (+6 more) ### Community 164 - "Community 164" Cohesion: 0.29 @@ -1399,10 +1387,6 @@ Nodes (3): PatientRecord, Collection, User Cohesion: 0.23 Nodes (3): WeeklySchedule, Doctor, self -### Community 182 - "Community 182" -Cohesion: 0.13 -Nodes (13): emptyFeatures(), FEATURE_KEYS, FEATURE_LABELS, PeriodForm, periodSchema, PLAN_DISPLAY, PlanForm, planSchema (+5 more) - ### Community 183 - "Community 183" Cohesion: 0.14 Nodes (13): `UserDetailPage.tsx` — فقط user query, زمینه, فایل‌های مرتبط, قرارداد پروفایل (`UserProfile.toArray`), مشکل / هدف, نمایش پروفایل کاربر در صفحه‌ی جزئیات کاربرِ پنل ادمین, نکات مهم, وضعیت فعلی (کد واقعی) (+5 more) @@ -1473,7 +1457,7 @@ Nodes (13): Endpoint ها, PATCH /api/v1/secretary/{uuid}, POST /api/v1/secretar ### Community 201 - "Community 201" Cohesion: 0.15 -Nodes (13): Admin API, Clinic Invitation Management, GET `/api/v1/admin/representations`, GET `/api/v1/admin/secretaries`, GET /api/v1/admin/settings, PATCH /api/v1/admin/settings, Query Parameters, Query Parameters (+5 more) +Nodes (13): Admin API, Clinic Invitation Management, GET `/api/v1/admin/payments`, GET `/api/v1/admin/representations`, GET /api/v1/admin/settings, PATCH /api/v1/admin/settings, Payment Management, Query Parameters (+5 more) ### Community 202 - "Community 202" Cohesion: 0.15 @@ -1488,16 +1472,16 @@ Cohesion: 0.21 Nodes (6): AuthenticationException, ExceptionSubscriber, SecurityHeadersSubscriber, EventSubscriberInterface, ExceptionEvent, ResponseEvent ### Community 205 - "Community 205" -Cohesion: 0.10 -Nodes (14): Command, CancelExpiredAppointmentsCommand, CreateAdminCommand, SeedSmsMessageTemplatesCommand, SmsMessageTemplateRepository, SmsTextResolver, SmsMessageTemplate, InputInterface (+6 more) +Cohesion: 0.13 +Nodes (13): Command, CancelExpiredAppointmentsCommand, CreateAdminCommand, SeedCategoriesCommand, SeedSmsMessageTemplatesCommand, InputInterface, OutputInterface, InputInterface (+5 more) ### Community 206 - "Community 206" Cohesion: 0.35 Nodes (6): DashboardController, Clinic, DoctorSecretary, JsonResponse, Request, User ### Community 207 - "Community 207" -Cohesion: 0.15 -Nodes (13): ۲. مدل داده و موجودیت‌ها, ۲.۱ کاربر (User), ۲.۱۰ پرداخت (Payment Types), ۲.۱۰.۱ پرداخت نوبت, ۲.۱۰.۲ پرداخت اشتراک, ۲.۱۱ پروفایل بیمار (Profile), ۲.۱۲ وبلاگ (Blog), ۲.۳ دکتر (Doctor) (+5 more) +Cohesion: 0.07 +Nodes (30): ۲. مدل داده و موجودیت‌ها, ۲.۱ کاربر (User), ۲.۱۰ پرداخت (Payment Types), ۲.۱۰.۱ پرداخت نوبت, ۲.۱۰.۲ پرداخت اشتراک, ۲.۱۱ پروفایل بیمار (Profile), ۲.۱۲ وبلاگ (Blog), ۲.۱۳ نظرات، لایک و امتیازدهی (+22 more) ### Community 208 - "Community 208" Cohesion: 0.23 @@ -1664,8 +1648,8 @@ Cohesion: 0.18 Nodes (11): 1. 🔵 `POST` refresh token, 1. احراز هویت (Authentication), 2. 🟢 `GET` X-CSRF-Token, 3. 🟢 `GET` user info 🆕, Request Body, بخش دوم — مستند کامل API, خطاهای عمومی, فهرست مطالب (+3 more) ### Community 255 - "Community 255" -Cohesion: 0.18 -Nodes (11): GET /api/v1/doctors/{id}, GET /api/v1/doctors/{id}/insurances, GET /api/v1/representations/{id}, GET /oauth/userinfo — اطلاعات کاربر (سازگار با دروپال), POST /api/v1/representations/{id}/bank-accounts, POST /oauth/token — تجدید توکن (Refresh), POST /oauth/token — ورود به سیستم, Task-02: احراز هویت (Authentication) (+3 more) +Cohesion: 0.11 +Nodes (19): GET /api/v1/appointment-settings/slots — دریافت اسلات‌های خالی, GET /api/v1/categories/cities — شهرها, GET /api/v1/categories/states — استان‌ها, GET /api/v1/doctors/{id}, GET /api/v1/doctors/{id}/insurances, GET /api/v1/representations/{id}, GET /oauth/userinfo — اطلاعات کاربر (سازگار با دروپال), POST /api/v1/appointment-settings/holidays — ثبت تعطیلی (فقط ادمین) (+11 more) ### Community 256 - "Community 256" Cohesion: 0.29 @@ -1736,8 +1720,8 @@ Cohesion: 0.18 Nodes (10): Endpoint های موجود که تغییر می‌کنند, GET /api/v1/admin/dashboard/charts?from=UNIX&to=UNIX, GET /api/v1/dashboard/clinic, GET /api/v1/dashboard/doctor, تسک ۱۶: داشبورد هوشمند — چارت + فیلتر زمانی, توضیح, زمان تخمینی, فیلتر بازه زمانی (+2 more) ### Community 274 - "Community 274" -Cohesion: 0.22 -Nodes (3): CategoryImportController, JsonResponse, Request +Cohesion: 0.19 +Nodes (5): Authentication, ClinicPro — API Documentation Index, Error Code Reference, Modules, Standard Response Envelope ### Community 275 - "Community 275" Cohesion: 0.38 @@ -1748,8 +1732,8 @@ Cohesion: 0.20 Nodes (9): Architecture Audit — ClinicPro Symfony 7 Migration, Architecture Score (بعد از اصلاحات), Architecture Violations, Executive Summary, Final Verdict (بعد از اصلاحات), Missing Requirements (کامل), اصلاحات اعمال‌شده (بعد از Audit), دلیل تصمیم (+1 more) ### Community 277 - "Community 277" -Cohesion: 0.20 -Nodes (9): بخش اول — مستند محصول (PRD), فهرست کلی, کلینیک پرو — مستند جامع فنی و API, ۵. فهرست مشکلات شناسایی‌شده و اصلاحات لازم, ۶. پیوست, ۶.۱ دیاگرام وضعیت نوبت, ۶.۲ جریان کمیسیون, ۶.۳ بررسی محدودیت منشی (+1 more) +Cohesion: 0.08 +Nodes (23): GET /api/v1/sms/balance — موجودی حساب پیامک, POST /api/v1/sms/queue — افزودن به صف, بخش اول — مستند محصول (PRD), ثبت‌نام دکتر — از طریق نماینده, ثبت‌نام دکتر — از طریق کلینیک, ثبت‌نام دکتر — مستقل, فهرست کلی, کلینیک پرو — مستند جامع فنی و API (+15 more) ### Community 279 - "Community 279" Cohesion: 0.20 @@ -1853,7 +1837,7 @@ Nodes (16): آماده‌سازی پروژه ClinicPro برای دیپلوی ر ### Community 304 - "Community 304" Cohesion: 0.04 -Nodes (56): 29. 🟢 `GET` clinic list 🆕, 30. 🟢 `GET` get 🆕, 31. 🟡 `PATCH` patch, 33. 🔵 `POST` image_clinic, 34. 🔵 `POST` image logo, 36. 🟢 `GET` get my rate, 37. 🔵 `POST` post, 39. 🟡 `PATCH` Comment confirmation (+48 more) +Nodes (52): 29. 🟢 `GET` clinic list 🆕, 30. 🟢 `GET` get 🆕, 31. 🟡 `PATCH` patch, 32. 🔵 `POST` post, 33. 🔵 `POST` image_clinic, 34. 🔵 `POST` image logo, 36. 🟢 `GET` get my rate, 37. 🔵 `POST` post (+44 more) ### Community 306 - "Community 306" Cohesion: 0.07 @@ -1903,10 +1887,6 @@ Nodes (3): SubscriptionPlanRepository, ManagerRegistry, SubscriptionPlan Cohesion: 0.36 Nodes (3): TariffRepository, ManagerRegistry, Tariff -### Community 318 - "Community 318" -Cohesion: 0.15 -Nodes (5): EntityInsurancePricing, TenantInsuranceCleanupTest, EntityInsurancePricingRepository, TenantInsuranceCleanupService, ManagerRegistry - ### Community 319 - "Community 319" Cohesion: 0.39 Nodes (3): UserRepository, ManagerRegistry, User @@ -1979,10 +1959,6 @@ Nodes (15): ClaimsPage.tsx — بدون صفحه‌بندی، فقط `data.data. Cohesion: 0.39 Nodes (5): JsonContains, FunctionNode, Node, Parser, SqlWalker -### Community 340 - "Community 340" -Cohesion: 0.24 -Nodes (5): WalletTransactionRepository, WalletTransactionsPaginationTest, ManagerRegistry, User, WalletTransaction - ### Community 341 - "Community 341" Cohesion: 0.12 Nodes (15): بازنویسی متن استارت‌اپی و رفع نمایش موبایل صفحه فرود (Landing), تست نهایی, راهنمای بازنویسی (نمونه لحن استارت‌اپی — می‌توانی بهترش کنی), زمینه, فایل‌های مرتبط, مشکل / هدف, مشکل ۲٫۱ — سرریز هدر روی گوشی, مشکل ۲٫۲ — منوی موبایل با inline-style شکننده باز می‌شود و بسته نمی‌شود (+7 more) @@ -2004,20 +1980,20 @@ Cohesion: 0.25 Nodes (8): بک‌اند — تغییرات `Appointment` entity:, بک‌اند — تغییرات `AppointmentController::book()`:, بک‌اند — موجودیت `SiteConfig` (جدید):, بک‌اند — کنترلر تنظیمات ادمین (جدید):, فرانت‌اند — تغییرات `AppointmentsPage.tsx`:, فرانت‌اند — صفحه تنظیمات ادمین (جدید):, مرحله ۹ — سیستم کمیسیون نوبت‌دهی (بک‌اند + فرانت‌اند) — جدید, منطق کسب‌وکار: ### Community 346 - "Community 346" -Cohesion: 0.39 -Nodes (3): CityRepository, City, ManagerRegistry +Cohesion: 0.26 +Nodes (3): TenantInsuranceService, CoverageRule, TenantInsurance ### Community 347 - "Community 347" -Cohesion: 0.25 -Nodes (8): ثبت‌نام دکتر — از طریق نماینده, ثبت‌نام دکتر — از طریق کلینیک, ثبت‌نام دکتر — مستقل, ۱. معرفی محصول, ۱.۱ نقش‌های سیستم, ۱.۲ فلوهای عملیاتی اصلی, ۱.۳ پلن‌های اشتراک, ۱.۴ سیستم پیامک +Cohesion: 0.36 +Nodes (3): DoctorServiceController, JsonResponse, Request ### Community 348 - "Community 348" Cohesion: 0.39 Nodes (3): ProvinceRepository, ManagerRegistry, Province ### Community 349 - "Community 349" -Cohesion: 0.20 -Nodes (10): Category Import / Export API, Errors, Errors, GET `/api/v1/admin/categories/{bundle}/export`, Per-row validation rules, POST `/api/v1/admin/categories/{bundle}/import`, Request Body (`application/json`), Response `200` (+2 more) +Cohesion: 0.18 +Nodes (11): Category Import / Export API, Errors, Errors, GET `/api/v1/admin/categories/{bundle}/export`, Per-row validation rules, POST `/api/v1/admin/categories/{bundle}/import`, Request Body (`application/json`), Response `200` (+3 more) ### Community 350 - "Community 350" Cohesion: 0.43 @@ -2028,8 +2004,8 @@ Cohesion: 0.50 Nodes (4): UserActiveContextRepository, ManagerRegistry, User, UserActiveContext ### Community 352 - "Community 352" -Cohesion: 0.38 -Nodes (5): Rate, RateRepository, Doctor, ManagerRegistry, User +Cohesion: 0.25 +Nodes (4): SmsMessageTemplateRepository, SmsTextResolver, SmsMessageTemplate, ManagerRegistry ### Community 354 - "Community 354" Cohesion: 0.36 @@ -2087,6 +2063,10 @@ Nodes (7): ادمین, دکتر نمونه کامل — تبریز, دکتران Cohesion: 0.29 Nodes (7): Dashboard, GET `/api/v1/admin/dashboard/charts`, GET `/api/v1/admin/dashboard/recent`, GET `/api/v1/admin/dashboard/stats`, Response `200`, Response `200`, Response `200` +### Community 368 - "Community 368" +Cohesion: 0.21 +Nodes (5): DateOverrideOwnershipTest, DateOverride, DateOverrideRepository, Doctor, ManagerRegistry + ### Community 369 - "Community 369" Cohesion: 0.29 Nodes (7): php-http/discovery, symfony/flex, symfony/runtime, config, allow-plugins, bump-after-update, sort-packages @@ -2099,10 +2079,6 @@ Nodes (7): Authentication, Authorization, Input Validation, Logging Security, Ra Cohesion: 0.15 Nodes (6): UniqueConstraintsTest, FinancialBreakdown, FinancialBreakdownRepository, FinancialBreakdownIntegrityTest, ManagerRegistry, Payment -### Community 372 - "Community 372" -Cohesion: 0.25 -Nodes (8): ۲.۲ انواع دسته‌بندی (Category Types), ۲.۲.۱ تگ (Tag), ۲.۲.۲ استان (State), ۲.۲.۳ شهر (City), ۲.۲.۴ بیمه پایه (Basic Insurance), ۲.۲.۵ بیمه مکمل (Supplementary Insurance), ۲.۲.۶ تخصص دکتر (Doctor Specialty), ۲.۲.۷ خدمات دکتر (Doctor Services) - ### Community 374 - "Community 374" Cohesion: 0.29 Nodes (7): API, Entity جدید, Frontend, اپیک ۱ — پرسنل (Staff), توضیح, فایل‌های جدید, نیازمندی‌های کارکردی @@ -2199,14 +2175,26 @@ Nodes (6): ClaimAmountBoundsTest, ClaimsListNPlusOneTest, ClaimItem, Claim, Doct Cohesion: 0.33 Nodes (4): initiate(), verify(), PaymentInitResult, PaymentVerifyResult +### Community 400 - "Community 400" +Cohesion: 0.23 +Nodes (5): AbstractMigration, Schema, Version20260609131553, Schema, Version20260609134741 + ### Community 405 - "Community 405" Cohesion: 0.47 Nodes (3): CommissionService, Payment, Representation +### Community 407 - "Community 407" +Cohesion: 0.36 +Nodes (3): SmsService, SendSmsMessage, SmsProviderInterface + ### Community 418 - "Community 418" Cohesion: 0.17 Nodes (11): دیپلوی ClinicPro روی Coolify (Docker Compose), رفع اشکال, مراحل دیپلوی, معماری دیپلوی, نکات عملیاتی, چند دامنه فرانت‌اند (مهم), ۱. ساخت Resource در Coolify, ۲. اختصاص دامنه (+3 more) +### Community 440 - "Community 440" +Cohesion: 0.43 +Nodes (3): SmsMessageController, JsonResponse, Request + ### Community 452 - "Community 452" Cohesion: 0.10 Nodes (12): ClinicAddress, ClinicDoctorItem, ClinicInvitation, EditForm, editSchema, HUES_LIST, INV_STATUS_MAP, IRAN_CENTER (+4 more) @@ -2300,8 +2288,8 @@ Cohesion: 0.40 Nodes (5): Errors, Notes, POST `/api/v1/notification-mobile/request-otp`, Request Body, Response `200` ### Community 482 - "Community 482" -Cohesion: 0.33 -Nodes (6): GET /api/v1/sms/balance — موجودی حساب پیامک, POST /api/v1/sms/queue — افزودن به صف, ۴. سیستم حساب و صف پیامک, ۴.۱ حساب پیامک (SMS Account), ۴.۲ صف پیامک (SMS Queue), ۴.۳ API پیامک +Cohesion: 0.38 +Nodes (3): RepositoryClassMappingTest, KernelTestCase, DbLoggerTest ### Community 483 - "Community 483" Cohesion: 0.40 @@ -2323,10 +2311,6 @@ Nodes (5): Errors, GET `/api/v1/representation/dashboard/summary`, GET `/api/v1/ Cohesion: 0.40 Nodes (5): Admin Endpoints, GET /api/v1/admin/sms/settings/review, GET /api/v1/admin/sms/wallet-report, POST /api/v1/admin/sms/settings/{id}/approve, POST /api/v1/admin/sms/settings/{id}/reject -### Community 492 - "Community 492" -Cohesion: 0.40 -Nodes (5): 32. 🔵 `POST` post, Request Body, مثال Request, هدرهای اضافی, پاسخ‌ها - ### Community 493 - "Community 493" Cohesion: 0.20 Nodes (9): Backend Audit Backlog — ClinicPro, ☐ CRITICAL, ✅ DONE (committed on backend-audit), ☐ EPICS (design debt — cross-repo, defer; do NOT quick-fix), ☐ HIGH, ☐ LOW, ☐ MEDIUM, Progress (this audit session) (+1 more) @@ -2611,10 +2595,6 @@ Nodes (15): دیپلوی ClinicPro (Symfony) روی لیارا با Docker, زم Cohesion: 0.50 Nodes (4): API های جدید که باید ساخته شوند, API های موجود (استفاده کن، تغییر نده), تغییر روی API موجود, وضعیت فعلی API (مهم — قبل از پیاده‌سازی بخوان) -### Community 583 - "Community 583" -Cohesion: 0.23 -Nodes (5): AbstractMigration, Schema, Version20260609134112, Schema, Version20260628165710 - ### Community 584 - "Community 584" Cohesion: 0.50 Nodes (3): Entity: UserProfile, ساختار فایل‌ها, معماری — تسک ۰۳: ماژول پروفایل کاربر @@ -2672,8 +2652,8 @@ Cohesion: 0.67 Nodes (3): POST `/api/v1/admin/sms/template/{uuid}/approve`, Request Body (`application/json`), Response `200` ### Community 602 - "Community 602" -Cohesion: 0.40 -Nodes (5): Errors, PATCH `/api/v1/admin/specialty/{id}`, Path Parameters, Request Body (all optional), Response `200` +Cohesion: 0.48 +Nodes (3): DoctorInsuranceRepository, DoctorInsurance, ManagerRegistry ### Community 603 - "Community 603" Cohesion: 0.67 @@ -2695,17 +2675,13 @@ Nodes (5): DELETE `/api/v1/billing/tenant-insurances/{uuid}`, GET `/api/v1/billi Cohesion: 0.39 Nodes (3): ClinicStaffRepository, ClinicStaff, ManagerRegistry -### Community 608 - "Community 608" -Cohesion: 0.50 -Nodes (4): Errors, POST `/api/v1/admin/specialty`, Request Body (`application/json`), Response `201` - ### Community 612 - "Community 612" Cohesion: 0.67 Nodes (3): بک‌اند, فرانت‌اند, وضعیت فعلی کد (مهم — قبل از تغییر بخوان) ### Community 618 - "Community 618" -Cohesion: 0.16 -Nodes (5): ServiceItemDeleteCleanupTest, ServiceCoverageNPlusOneTest, TenantServiceCoverageRepository, ManagerRegistry, TenantServiceCoverage +Cohesion: 0.12 +Nodes (6): ServiceCoverageNPlusOneTest, TenantInsuranceCleanupTest, TenantServiceCoverageRepository, TenantInsuranceCleanupService, ManagerRegistry, TenantServiceCoverage ### Community 631 - "Community 631" Cohesion: 0.50 @@ -2747,17 +2723,17 @@ Nodes (3): POST `/api/v1/admin/insurance/{id}/upload-logo`, Request, Response `2 Cohesion: 0.40 Nodes (5): 35. 🟡 `PATCH` patch, Request Body, مثال Request, هدرهای اضافی, پاسخ‌ها -### Community 647 - "Community 647" -Cohesion: 0.43 -Nodes (3): InvoiceItemRepository, InvoiceItem, ManagerRegistry - ### Community 648 - "Community 648" Cohesion: 0.40 -Nodes (5): ۲.۸ تنظیمات نوبت (Appointment Settings), ۲.۸.۱ برنامه هفتگی (Weekly Schedule), ۲.۸.۲ تعطیلات (Holidays), ۲.۸.۳ لغو تعطیل (Date Override), ۲.۸.۴ الگوریتم محاسبه اسلات‌های خالی +Nodes (5): 41. 🟡 `PATCH` patch, Request Body, مثال Request, هدرهای اضافی, پاسخ‌ها + +### Community 649 - "Community 649" +Cohesion: 0.50 +Nodes (4): GET `/api/v1/admin/secretaries`, Query Parameters, Response `200`, Secretary Management ### Community 650 - "Community 650" -Cohesion: 0.40 -Nodes (3): Props, StatTone, TONE +Cohesion: 0.50 +Nodes (4): extra, symfony, allow-contrib, require ### Community 651 - "Community 651" Cohesion: 0.53 @@ -2771,49 +2747,37 @@ Nodes (4): GET `/api/v1/admin/pre-registrations`, POST `/api/v1/admin/pre-regist Cohesion: 0.50 Nodes (4): 38. 🟢 `GET` Unapproved comments, هدرهای اضافی, پارامترهای Query, پاسخ‌ها -### Community 659 - "Community 659" +### Community 654 - "Community 654" Cohesion: 0.50 -Nodes (4): GET /api/v1/appointment-settings/slots — دریافت اسلات‌های خالی, POST /api/v1/appointment-settings/holidays — ثبت تعطیلی (فقط ادمین), POST /api/v1/appointment-settings/overrides — ثبت Override توسط دکتر, Task-09: API تنظیمات نوبت - -### Community 660 - "Community 660" -Cohesion: 0.50 -Nodes (4): GET /api/v1/categories/cities — شهرها, GET /api/v1/categories/states — استان‌ها, Task-08: API دسته‌بندی‌ها, سایر Endpoint های دسته‌بندی — الزامی - -### Community 661 - "Community 661" -Cohesion: 0.50 -Nodes (4): ۲.۱۳ نظرات، لایک و امتیازدهی, ۲.۱۳.۱ نظر (Comment), ۲.۱۳.۲ لایک (Like), ۲.۱۳.۳ امتیاز (Rate) +Nodes (4): 44. 🟢 `GET` list comment, هدرهای اضافی, پارامترهای Query, پاسخ‌ها ### Community 662 - "Community 662" Cohesion: 0.50 Nodes (4): Application Logs, GET `/api/v1/admin/logs`, Query Parameters, Response `200` -### Community 667 - "Community 667" -Cohesion: 0.50 -Nodes (4): GET `/api/v1/admin/payments`, Payment Management, Query Parameters, Response `200` - ### Community 672 - "Community 672" Cohesion: 0.50 Nodes (4): GET `/api/v1/admin/settlements`, Query Parameters, Response `200`, Settlement Management ## Knowledge Gaps -- **3563 isolated node(s):** `ALLOWED_ROLES`, `Pricing`, `TenantInsurance`, `CoverageRow`, `Draft` (+3558 more) +- **3564 isolated node(s):** `ALLOWED_ROLES`, `Pricing`, `TenantInsurance`, `CoverageRow`, `Draft` (+3559 more) These have ≤1 connection - possible missing edges or undocumented components. -- **125 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. +- **129 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. ## Suggested Questions _Questions this graph is uniquely positioned to answer:_ -- **Why does `BaseController` connect `Community 108` to `Community 4`, `Community 6`, `Community 138`, `Community 139`, `Community 14`, `Community 15`, `Community 274`, `Community 275`, `Community 20`, `Community 22`, `Community 26`, `Community 164`, `Community 295`, `Community 300`, `Community 301`, `Community 175`, `Community 176`, `Community 177`, `Community 58`, `Community 59`, `Community 63`, `Community 64`, `Community 70`, `Community 71`, `Community 75`, `Community 206`, `Community 230`, `Community 103`, `Community 104`, `Community 107`, `Community 109`, `Community 121`, `Community 122`, `Community 252`?** - _High betweenness centrality (0.037) - this node is a cross-community bridge._ -- **Why does `Version20260614181657` connect `Community 431` to `Community 583`?** - _High betweenness centrality (0.017) - this node is a cross-community bridge._ -- **Why does `Version20260625150304` connect `Community 457` to `Community 583`?** +- **Why does `BaseController` connect `Community 108` to `Community 6`, `Community 138`, `Community 139`, `Community 14`, `Community 15`, `Community 275`, `Community 20`, `Community 22`, `Community 26`, `Community 164`, `Community 295`, `Community 300`, `Community 301`, `Community 175`, `Community 176`, `Community 177`, `Community 440`, `Community 58`, `Community 59`, `Community 63`, `Community 64`, `Community 70`, `Community 71`, `Community 75`, `Community 206`, `Community 347`, `Community 230`, `Community 103`, `Community 104`, `Community 107`, `Community 109`, `Community 121`, `Community 122`, `Community 252`?** + _High betweenness centrality (0.028) - this node is a cross-community bridge._ +- **Why does `ApiTestCase` connect `Community 86` to `Community 609`, `Community 541`, `Community 484`, `Community 574`, `Community 618`, `Community 397`, `Community 495`, `Community 368`, `Community 497`, `Community 594`, `Community 562`, `Community 371`, `Community 565`, `Community 535`, `Community 636`, `Community 573`, `Community 318`, `Community 575`?** + _High betweenness centrality (0.019) - this node is a cross-community bridge._ +- **Why does `Version20260614181657` connect `Community 431` to `Community 400`?** _High betweenness centrality (0.017) - this node is a cross-community bridge._ - **What connects `ALLOWED_ROLES`, `Pricing`, `TenantInsurance` to the rest of the system?** - _3563 weakly-connected nodes found - possible documentation gaps or missing edges._ + _3564 weakly-connected nodes found - possible documentation gaps or missing edges._ - **Should `Community 0` be split into smaller, more focused modules?** - _Cohesion score 0.04471153846153846 - nodes in this community are weakly interconnected._ + _Cohesion score 0.047107014848950336 - nodes in this community are weakly interconnected._ - **Should `Community 1` be split into smaller, more focused modules?** _Cohesion score 0.028985507246376812 - nodes in this community are weakly interconnected._ - **Should `Community 2` be split into smaller, more focused modules?** - _Cohesion score 0.10037878787878787 - nodes in this community are weakly interconnected._ \ No newline at end of file + _Cohesion score 0.07317073170731707 - nodes in this community are weakly interconnected._ \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.8.44/13a71e6dab76fcb921270b6e2f996145b78e3c09d69b38592612a879707d87dc.json b/graphify-out/cache/ast/v0.8.44/13a71e6dab76fcb921270b6e2f996145b78e3c09d69b38592612a879707d87dc.json new file mode 100644 index 00000000..f7f67797 --- /dev/null +++ b/graphify-out/cache/ast/v0.8.44/13a71e6dab76fcb921270b6e2f996145b78e3c09d69b38592612a879707d87dc.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_category_command_seedcategoriescommand_php", "label": "SeedCategoriesCommand.php", "file_type": "code", "source_file": "src/Category/Command/SeedCategoriesCommand.php", "source_location": "L1"}, {"id": "command_seedcategoriescommand_seedcategoriescommand", "label": "SeedCategoriesCommand", "file_type": "code", "source_file": "src/Category/Command/SeedCategoriesCommand.php", "source_location": "L22"}, {"id": "command", "label": "Command", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "command_seedcategoriescommand_seedcategoriescommand_construct", "label": ".__construct()", "file_type": "code", "source_file": "src/Category/Command/SeedCategoriesCommand.php", "source_location": "L28"}, {"id": "command_seedcategoriescommand_seedcategoriescommand_execute", "label": ".execute()", "file_type": "code", "source_file": "src/Category/Command/SeedCategoriesCommand.php", "source_location": "L35"}, {"id": "inputinterface", "label": "InputInterface", "file_type": "code", "source_file": "src/Category/Command/SeedCategoriesCommand.php", "source_location": "L35"}, {"id": "outputinterface", "label": "OutputInterface", "file_type": "code", "source_file": "src/Category/Command/SeedCategoriesCommand.php", "source_location": "L35"}], "edges": [{"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_category_command_seedcategoriescommand_php", "target": "categoryimporter", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Category/Command/SeedCategoriesCommand.php", "source_location": "L5", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_category_command_seedcategoriescommand_php", "target": "ascommand", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Category/Command/SeedCategoriesCommand.php", "source_location": "L6", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_category_command_seedcategoriescommand_php", "target": "command", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Category/Command/SeedCategoriesCommand.php", "source_location": "L7", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_category_command_seedcategoriescommand_php", "target": "inputinterface", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Category/Command/SeedCategoriesCommand.php", "source_location": "L8", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_category_command_seedcategoriescommand_php", "target": "outputinterface", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Category/Command/SeedCategoriesCommand.php", "source_location": "L9", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_category_command_seedcategoriescommand_php", "target": "symfonystyle", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Category/Command/SeedCategoriesCommand.php", "source_location": "L10", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_category_command_seedcategoriescommand_php", "target": "command_seedcategoriescommand_seedcategoriescommand", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/Category/Command/SeedCategoriesCommand.php", "source_location": "L22", "weight": 1.0}, {"source": "command_seedcategoriescommand_seedcategoriescommand", "target": "command", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "src/Category/Command/SeedCategoriesCommand.php", "source_location": "L23", "weight": 1.0}, {"source": "command_seedcategoriescommand_seedcategoriescommand", "target": "command_seedcategoriescommand_seedcategoriescommand_construct", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Category/Command/SeedCategoriesCommand.php", "source_location": "L28", "weight": 1.0}, {"source": "command_seedcategoriescommand_seedcategoriescommand", "target": "command_seedcategoriescommand_seedcategoriescommand_execute", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Category/Command/SeedCategoriesCommand.php", "source_location": "L35", "weight": 1.0}, {"source": "command_seedcategoriescommand_seedcategoriescommand_execute", "target": "inputinterface", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Category/Command/SeedCategoriesCommand.php", "source_location": "L35", "weight": 1.0, "context": "parameter_type"}, {"source": "command_seedcategoriescommand_seedcategoriescommand_execute", "target": "outputinterface", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Category/Command/SeedCategoriesCommand.php", "source_location": "L35", "weight": 1.0, "context": "parameter_type"}, {"source": "command_seedcategoriescommand_seedcategoriescommand_execute", "target": "command", "relation": "references_constant", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "src/Category/Command/SeedCategoriesCommand.php", "source_location": "L44", "weight": 1.0}], "raw_calls": [{"caller_nid": "command_seedcategoriescommand_seedcategoriescommand_construct", "callee": "parent", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Command/SeedCategoriesCommand.php", "source_location": "L32", "receiver": null}, {"caller_nid": "command_seedcategoriescommand_seedcategoriescommand_execute", "callee": "is_file", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Command/SeedCategoriesCommand.php", "source_location": "L42", "receiver": null}, {"caller_nid": "command_seedcategoriescommand_seedcategoriescommand_execute", "callee": "error", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Command/SeedCategoriesCommand.php", "source_location": "L43", "receiver": null}, {"caller_nid": "command_seedcategoriescommand_seedcategoriescommand_execute", "callee": "json_decode", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Command/SeedCategoriesCommand.php", "source_location": "L47", "receiver": null}, {"caller_nid": "command_seedcategoriescommand_seedcategoriescommand_execute", "callee": "file_get_contents", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Command/SeedCategoriesCommand.php", "source_location": "L47", "receiver": null}, {"caller_nid": "command_seedcategoriescommand_seedcategoriescommand_execute", "callee": "is_array", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Command/SeedCategoriesCommand.php", "source_location": "L48", "receiver": null}, {"caller_nid": "command_seedcategoriescommand_seedcategoriescommand_execute", "callee": "array_keys", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Command/SeedCategoriesCommand.php", "source_location": "L48", "receiver": null}, {"caller_nid": "command_seedcategoriescommand_seedcategoriescommand_execute", "callee": "count", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Command/SeedCategoriesCommand.php", "source_location": "L48", "receiver": null}, {"caller_nid": "command_seedcategoriescommand_seedcategoriescommand_execute", "callee": "error", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Command/SeedCategoriesCommand.php", "source_location": "L49", "receiver": null}, {"caller_nid": "command_seedcategoriescommand_seedcategoriescommand_execute", "callee": "validate", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Command/SeedCategoriesCommand.php", "source_location": "L54", "receiver": null}, {"caller_nid": "command_seedcategoriescommand_seedcategoriescommand_execute", "callee": "error", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Command/SeedCategoriesCommand.php", "source_location": "L56", "receiver": null}, {"caller_nid": "command_seedcategoriescommand_seedcategoriescommand_execute", "callee": "count", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Command/SeedCategoriesCommand.php", "source_location": "L56", "receiver": null}, {"caller_nid": "command_seedcategoriescommand_seedcategoriescommand_execute", "callee": "array_slice", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Command/SeedCategoriesCommand.php", "source_location": "L57", "receiver": null}, {"caller_nid": "command_seedcategoriescommand_seedcategoriescommand_execute", "callee": "writeln", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Command/SeedCategoriesCommand.php", "source_location": "L58", "receiver": null}, {"caller_nid": "command_seedcategoriescommand_seedcategoriescommand_execute", "callee": "replace", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Command/SeedCategoriesCommand.php", "source_location": "L63", "receiver": null}, {"caller_nid": "command_seedcategoriescommand_seedcategoriescommand_execute", "callee": "success", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Command/SeedCategoriesCommand.php", "source_location": "L64", "receiver": null}, {"caller_nid": "command_seedcategoriescommand_seedcategoriescommand_execute", "callee": "sprintf", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Command/SeedCategoriesCommand.php", "source_location": "L64", "receiver": null}, {"caller_nid": "command_seedcategoriescommand_seedcategoriescommand_execute", "callee": "count", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Command/SeedCategoriesCommand.php", "source_location": "L64", "receiver": null}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.8.44/3a5610d926bb9581c868449c387e80feef104aec7c9bdc6ed39835e87c287015.json b/graphify-out/cache/ast/v0.8.44/3a5610d926bb9581c868449c387e80feef104aec7c9bdc6ed39835e87c287015.json new file mode 100644 index 00000000..9635c36c --- /dev/null +++ b/graphify-out/cache/ast/v0.8.44/3a5610d926bb9581c868449c387e80feef104aec7c9bdc6ed39835e87c287015.json @@ -0,0 +1 @@ +{"nodes": [], "edges": [], "skipped": "data json (non-object root)"} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.8.44/4f34d9f9f45c9a445f12116cf0ee77b9105dfe11673bb77f0595861febc7851e.json b/graphify-out/cache/ast/v0.8.44/4f34d9f9f45c9a445f12116cf0ee77b9105dfe11673bb77f0595861febc7851e.json new file mode 100644 index 00000000..9635c36c --- /dev/null +++ b/graphify-out/cache/ast/v0.8.44/4f34d9f9f45c9a445f12116cf0ee77b9105dfe11673bb77f0595861febc7851e.json @@ -0,0 +1 @@ +{"nodes": [], "edges": [], "skipped": "data json (non-object root)"} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.8.44/721aecace95083433388fa4205e063cb45867b202d5430f44c1b0bbb1faa4465.json b/graphify-out/cache/ast/v0.8.44/721aecace95083433388fa4205e063cb45867b202d5430f44c1b0bbb1faa4465.json new file mode 100644 index 00000000..0f6c1014 --- /dev/null +++ b/graphify-out/cache/ast/v0.8.44/721aecace95083433388fa4205e063cb45867b202d5430f44c1b0bbb1faa4465.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_category_controller_categoryimportcontroller_php", "label": "CategoryImportController.php", "file_type": "code", "source_file": "src/Category/Controller/CategoryImportController.php", "source_location": "L1"}, {"id": "controller_categoryimportcontroller_categoryimportcontroller", "label": "CategoryImportController", "file_type": "code", "source_file": "src/Category/Controller/CategoryImportController.php", "source_location": "L25"}, {"id": "basecontroller", "label": "BaseController", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "controller_categoryimportcontroller_categoryimportcontroller_construct", "label": ".__construct()", "file_type": "code", "source_file": "src/Category/Controller/CategoryImportController.php", "source_location": "L29"}, {"id": "controller_categoryimportcontroller_categoryimportcontroller_export", "label": ".export()", "file_type": "code", "source_file": "src/Category/Controller/CategoryImportController.php", "source_location": "L39"}, {"id": "jsonresponse", "label": "JsonResponse", "file_type": "code", "source_file": "src/Category/Controller/CategoryImportController.php", "source_location": "L39"}, {"id": "controller_categoryimportcontroller_categoryimportcontroller_import", "label": ".import()", "file_type": "code", "source_file": "src/Category/Controller/CategoryImportController.php", "source_location": "L49"}, {"id": "request", "label": "Request", "file_type": "code", "source_file": "src/Category/Controller/CategoryImportController.php", "source_location": "L49"}], "edges": [{"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_category_controller_categoryimportcontroller_php", "target": "categoryimporter", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Category/Controller/CategoryImportController.php", "source_location": "L5", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_category_controller_categoryimportcontroller_php", "target": "basecontroller", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Category/Controller/CategoryImportController.php", "source_location": "L6", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_category_controller_categoryimportcontroller_php", "target": "jsonresponse", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Category/Controller/CategoryImportController.php", "source_location": "L7", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_category_controller_categoryimportcontroller_php", "target": "request", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Category/Controller/CategoryImportController.php", "source_location": "L8", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_category_controller_categoryimportcontroller_php", "target": "route", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Category/Controller/CategoryImportController.php", "source_location": "L9", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_category_controller_categoryimportcontroller_php", "target": "isgranted", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Category/Controller/CategoryImportController.php", "source_location": "L10", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_category_controller_categoryimportcontroller_php", "target": "attributes", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Category/Controller/CategoryImportController.php", "source_location": "L11", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_category_controller_categoryimportcontroller_php", "target": "controller_categoryimportcontroller_categoryimportcontroller", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/Category/Controller/CategoryImportController.php", "source_location": "L25", "weight": 1.0}, {"source": "controller_categoryimportcontroller_categoryimportcontroller", "target": "basecontroller", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "src/Category/Controller/CategoryImportController.php", "source_location": "L27", "weight": 1.0}, {"source": "controller_categoryimportcontroller_categoryimportcontroller", "target": "controller_categoryimportcontroller_categoryimportcontroller_construct", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Category/Controller/CategoryImportController.php", "source_location": "L29", "weight": 1.0}, {"source": "controller_categoryimportcontroller_categoryimportcontroller", "target": "controller_categoryimportcontroller_categoryimportcontroller_export", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Category/Controller/CategoryImportController.php", "source_location": "L39", "weight": 1.0}, {"source": "controller_categoryimportcontroller_categoryimportcontroller_export", "target": "jsonresponse", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Category/Controller/CategoryImportController.php", "source_location": "L39", "weight": 1.0, "context": "return_type"}, {"source": "controller_categoryimportcontroller_categoryimportcontroller", "target": "controller_categoryimportcontroller_categoryimportcontroller_import", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Category/Controller/CategoryImportController.php", "source_location": "L49", "weight": 1.0}, {"source": "controller_categoryimportcontroller_categoryimportcontroller_import", "target": "request", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Category/Controller/CategoryImportController.php", "source_location": "L49", "weight": 1.0, "context": "parameter_type"}, {"source": "controller_categoryimportcontroller_categoryimportcontroller_import", "target": "jsonresponse", "relation": "references", "confidence": "EXTRACTED", "source_file": "src/Category/Controller/CategoryImportController.php", "source_location": "L49", "weight": 1.0, "context": "return_type"}], "raw_calls": [{"caller_nid": "controller_categoryimportcontroller_categoryimportcontroller_export", "callee": "isValidBundle", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Controller/CategoryImportController.php", "source_location": "L42", "receiver": null}, {"caller_nid": "controller_categoryimportcontroller_categoryimportcontroller_export", "callee": "error", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Controller/CategoryImportController.php", "source_location": "L43", "receiver": null}, {"caller_nid": "controller_categoryimportcontroller_categoryimportcontroller_export", "callee": "success", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Controller/CategoryImportController.php", "source_location": "L46", "receiver": null}, {"caller_nid": "controller_categoryimportcontroller_categoryimportcontroller_export", "callee": "exportAll", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Controller/CategoryImportController.php", "source_location": "L46", "receiver": null}, {"caller_nid": "controller_categoryimportcontroller_categoryimportcontroller_import", "callee": "isValidBundle", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Controller/CategoryImportController.php", "source_location": "L52", "receiver": null}, {"caller_nid": "controller_categoryimportcontroller_categoryimportcontroller_import", "callee": "error", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Controller/CategoryImportController.php", "source_location": "L53", "receiver": null}, {"caller_nid": "controller_categoryimportcontroller_categoryimportcontroller_import", "callee": "json_decode", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Controller/CategoryImportController.php", "source_location": "L56", "receiver": null}, {"caller_nid": "controller_categoryimportcontroller_categoryimportcontroller_import", "callee": "getContent", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Controller/CategoryImportController.php", "source_location": "L56", "receiver": null}, {"caller_nid": "controller_categoryimportcontroller_categoryimportcontroller_import", "callee": "is_array", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Controller/CategoryImportController.php", "source_location": "L58", "receiver": null}, {"caller_nid": "controller_categoryimportcontroller_categoryimportcontroller_import", "callee": "isset", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Controller/CategoryImportController.php", "source_location": "L58", "receiver": null}, {"caller_nid": "controller_categoryimportcontroller_categoryimportcontroller_import", "callee": "is_array", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Controller/CategoryImportController.php", "source_location": "L58", "receiver": null}, {"caller_nid": "controller_categoryimportcontroller_categoryimportcontroller_import", "callee": "is_array", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Controller/CategoryImportController.php", "source_location": "L61", "receiver": null}, {"caller_nid": "controller_categoryimportcontroller_categoryimportcontroller_import", "callee": "array_keys", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Controller/CategoryImportController.php", "source_location": "L61", "receiver": null}, {"caller_nid": "controller_categoryimportcontroller_categoryimportcontroller_import", "callee": "count", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Controller/CategoryImportController.php", "source_location": "L61", "receiver": null}, {"caller_nid": "controller_categoryimportcontroller_categoryimportcontroller_import", "callee": "error", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Controller/CategoryImportController.php", "source_location": "L62", "receiver": null}, {"caller_nid": "controller_categoryimportcontroller_categoryimportcontroller_import", "callee": "count", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Controller/CategoryImportController.php", "source_location": "L64", "receiver": null}, {"caller_nid": "controller_categoryimportcontroller_categoryimportcontroller_import", "callee": "error", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Controller/CategoryImportController.php", "source_location": "L65", "receiver": null}, {"caller_nid": "controller_categoryimportcontroller_categoryimportcontroller_import", "callee": "validate", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Controller/CategoryImportController.php", "source_location": "L69", "receiver": null}, {"caller_nid": "controller_categoryimportcontroller_categoryimportcontroller_import", "callee": "replace", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Controller/CategoryImportController.php", "source_location": "L75", "receiver": null}, {"caller_nid": "controller_categoryimportcontroller_categoryimportcontroller_import", "callee": "error", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Controller/CategoryImportController.php", "source_location": "L77", "receiver": null}, {"caller_nid": "controller_categoryimportcontroller_categoryimportcontroller_import", "callee": "getMessage", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Controller/CategoryImportController.php", "source_location": "L77", "receiver": null}, {"caller_nid": "controller_categoryimportcontroller_categoryimportcontroller_import", "callee": "success", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Controller/CategoryImportController.php", "source_location": "L80", "receiver": null}, {"caller_nid": "controller_categoryimportcontroller_categoryimportcontroller_import", "callee": "count", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Controller/CategoryImportController.php", "source_location": "L80", "receiver": null}]} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.8.44/9bcf8a9b8f83e159a290b14c13b17b485185812c9e53ef62df4e33f84b216e47.json b/graphify-out/cache/ast/v0.8.44/9bcf8a9b8f83e159a290b14c13b17b485185812c9e53ef62df4e33f84b216e47.json new file mode 100644 index 00000000..9635c36c --- /dev/null +++ b/graphify-out/cache/ast/v0.8.44/9bcf8a9b8f83e159a290b14c13b17b485185812c9e53ef62df4e33f84b216e47.json @@ -0,0 +1 @@ +{"nodes": [], "edges": [], "skipped": "data json (non-object root)"} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.8.44/c28e9c29f212ac946af73f8122b545bd3761766ebc2c8e0a47567ef6a9fc5197.json b/graphify-out/cache/ast/v0.8.44/c28e9c29f212ac946af73f8122b545bd3761766ebc2c8e0a47567ef6a9fc5197.json new file mode 100644 index 00000000..9635c36c --- /dev/null +++ b/graphify-out/cache/ast/v0.8.44/c28e9c29f212ac946af73f8122b545bd3761766ebc2c8e0a47567ef6a9fc5197.json @@ -0,0 +1 @@ +{"nodes": [], "edges": [], "skipped": "data json (non-object root)"} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.8.44/d7c221bd66dc2ed13630b80966c57f9f824126dfcff92928ea41a28441d30879.json b/graphify-out/cache/ast/v0.8.44/d7c221bd66dc2ed13630b80966c57f9f824126dfcff92928ea41a28441d30879.json new file mode 100644 index 00000000..6e5feabd --- /dev/null +++ b/graphify-out/cache/ast/v0.8.44/d7c221bd66dc2ed13630b80966c57f9f824126dfcff92928ea41a28441d30879.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_hamed_pj_my_pj_clinic_pro_clinicpro_docs_api_category_import_md", "label": "category-import.md", "file_type": "document", "source_file": "docs/api/category-import.md", "source_location": "L1"}, {"id": "api_category_import_category_import_export_api", "label": "Category Import / Export API", "file_type": "document", "source_file": "docs/api/category-import.md", "source_location": "L1"}, {"id": "api_category_import_get_api_v1_admin_categories_bundle_export", "label": "GET `/api/v1/admin/categories/{bundle}/export`", "file_type": "document", "source_file": "docs/api/category-import.md", "source_location": "L26"}, {"id": "api_category_import_response_200", "label": "Response `200`", "file_type": "document", "source_file": "docs/api/category-import.md", "source_location": "L35"}, {"id": "api_category_import_errors", "label": "Errors", "file_type": "document", "source_file": "docs/api/category-import.md", "source_location": "L45"}, {"id": "api_category_import_post_api_v1_admin_categories_bundle_import", "label": "POST `/api/v1/admin/categories/{bundle}/import`", "file_type": "document", "source_file": "docs/api/category-import.md", "source_location": "L54"}, {"id": "api_category_import_request_body_application_json", "label": "Request Body (`application/json`)", "file_type": "document", "source_file": "docs/api/category-import.md", "source_location": "L64"}, {"id": "api_category_import_per_row_validation_rules", "label": "Per-row validation rules", "file_type": "document", "source_file": "docs/api/category-import.md", "source_location": "L74"}, {"id": "api_category_import_response_200_88", "label": "Response `200`", "file_type": "document", "source_file": "docs/api/category-import.md", "source_location": "L88"}, {"id": "api_category_import_response_422_validation_failed_nothing_written", "label": "Response `422` (validation failed \u2014 nothing written)", "file_type": "document", "source_file": "docs/api/category-import.md", "source_location": "L93"}, {"id": "api_category_import_errors_104", "label": "Errors", "file_type": "document", "source_file": "docs/api/category-import.md", "source_location": "L104"}, {"id": "api_category_import_seeding_a_from_scratch_database", "label": "Seeding a from-scratch database", "file_type": "document", "source_file": "docs/api/category-import.md", "source_location": "L117"}], "edges": [{"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_docs_api_category_import_md", "target": "api_category_import_category_import_export_api", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/category-import.md", "source_location": "L1", "weight": 1.0}, {"source": "api_category_import_category_import_export_api", "target": "api_category_import_get_api_v1_admin_categories_bundle_export", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/category-import.md", "source_location": "L26", "weight": 1.0}, {"source": "api_category_import_get_api_v1_admin_categories_bundle_export", "target": "api_category_import_response_200", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/category-import.md", "source_location": "L35", "weight": 1.0}, {"source": "api_category_import_get_api_v1_admin_categories_bundle_export", "target": "api_category_import_errors", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/category-import.md", "source_location": "L45", "weight": 1.0}, {"source": "api_category_import_category_import_export_api", "target": "api_category_import_post_api_v1_admin_categories_bundle_import", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/category-import.md", "source_location": "L54", "weight": 1.0}, {"source": "api_category_import_post_api_v1_admin_categories_bundle_import", "target": "api_category_import_request_body_application_json", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/category-import.md", "source_location": "L64", "weight": 1.0}, {"source": "api_category_import_post_api_v1_admin_categories_bundle_import", "target": "api_category_import_per_row_validation_rules", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/category-import.md", "source_location": "L74", "weight": 1.0}, {"source": "api_category_import_post_api_v1_admin_categories_bundle_import", "target": "api_category_import_response_200_88", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/category-import.md", "source_location": "L88", "weight": 1.0}, {"source": "api_category_import_post_api_v1_admin_categories_bundle_import", "target": "api_category_import_response_422_validation_failed_nothing_written", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/category-import.md", "source_location": "L93", "weight": 1.0}, {"source": "api_category_import_post_api_v1_admin_categories_bundle_import", "target": "api_category_import_errors_104", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/category-import.md", "source_location": "L104", "weight": 1.0}, {"source": "api_category_import_category_import_export_api", "target": "api_category_import_seeding_a_from_scratch_database", "relation": "contains", "confidence": "EXTRACTED", "source_file": "docs/api/category-import.md", "source_location": "L117", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0} \ No newline at end of file diff --git a/graphify-out/cache/ast/v0.8.44/de00c98fc50b71185668d058a3f4bcba79db6ce8f9cf9d11bc4647fa24470a1c.json b/graphify-out/cache/ast/v0.8.44/de00c98fc50b71185668d058a3f4bcba79db6ce8f9cf9d11bc4647fa24470a1c.json new file mode 100644 index 00000000..02c583c5 --- /dev/null +++ b/graphify-out/cache/ast/v0.8.44/de00c98fc50b71185668d058a3f4bcba79db6ce8f9cf9d11bc4647fa24470a1c.json @@ -0,0 +1 @@ +{"nodes": [{"id": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_category_service_categoryimporter_php", "label": "CategoryImporter.php", "file_type": "code", "source_file": "src/Category/Service/CategoryImporter.php", "source_location": "L1"}, {"id": "service_categoryimporter_categoryimporter", "label": "CategoryImporter", "file_type": "code", "source_file": "src/Category/Service/CategoryImporter.php", "source_location": "L16"}, {"id": "service_categoryimporter_categoryimporter_construct", "label": ".__construct()", "file_type": "code", "source_file": "src/Category/Service/CategoryImporter.php", "source_location": "L28"}, {"id": "service_categoryimporter_categoryimporter_isvalidbundle", "label": ".isValidBundle()", "file_type": "code", "source_file": "src/Category/Service/CategoryImporter.php", "source_location": "L32"}, {"id": "service_categoryimporter_categoryimporter_exportall", "label": ".exportAll()", "file_type": "code", "source_file": "src/Category/Service/CategoryImporter.php", "source_location": "L38"}, {"id": "service_categoryimporter_categoryimporter_validate", "label": ".validate()", "file_type": "code", "source_file": "src/Category/Service/CategoryImporter.php", "source_location": "L58"}, {"id": "service_categoryimporter_categoryimporter_replace", "label": ".replace()", "file_type": "code", "source_file": "src/Category/Service/CategoryImporter.php", "source_location": "L169"}, {"id": "service_categoryimporter_categoryimporter_validatereferences", "label": ".validateReferences()", "file_type": "code", "source_file": "src/Category/Service/CategoryImporter.php", "source_location": "L188"}, {"id": "service_categoryimporter_categoryimporter_existingids", "label": ".existingIds()", "file_type": "code", "source_file": "src/Category/Service/CategoryImporter.php", "source_location": "L232"}, {"id": "service_categoryimporter_categoryimporter_ispositiveint", "label": ".isPositiveInt()", "file_type": "code", "source_file": "src/Category/Service/CategoryImporter.php", "source_location": "L241"}, {"id": "service_categoryimporter_categoryimporter_normint", "label": ".normInt()", "file_type": "code", "source_file": "src/Category/Service/CategoryImporter.php", "source_location": "L246"}, {"id": "service_categoryimporter_categoryimporter_nullableid", "label": ".nullableId()", "file_type": "code", "source_file": "src/Category/Service/CategoryImporter.php", "source_location": "L253"}, {"id": "service_categoryimporter_categoryimporter_optstr", "label": ".optStr()", "file_type": "code", "source_file": "src/Category/Service/CategoryImporter.php", "source_location": "L263"}], "edges": [{"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_category_service_categoryimporter_php", "target": "connection", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Category/Service/CategoryImporter.php", "source_location": "L5", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_category_service_categoryimporter_php", "target": "uuid", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Category/Service/CategoryImporter.php", "source_location": "L6", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_category_service_categoryimporter_php", "target": "service_categoryimporter_categoryimporter", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/Category/Service/CategoryImporter.php", "source_location": "L16", "weight": 1.0}, {"source": "service_categoryimporter_categoryimporter", "target": "service_categoryimporter_categoryimporter_construct", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Category/Service/CategoryImporter.php", "source_location": "L28", "weight": 1.0}, {"source": "service_categoryimporter_categoryimporter", "target": "service_categoryimporter_categoryimporter_isvalidbundle", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Category/Service/CategoryImporter.php", "source_location": "L32", "weight": 1.0}, {"source": "service_categoryimporter_categoryimporter", "target": "service_categoryimporter_categoryimporter_exportall", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Category/Service/CategoryImporter.php", "source_location": "L38", "weight": 1.0}, {"source": "service_categoryimporter_categoryimporter", "target": "service_categoryimporter_categoryimporter_validate", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Category/Service/CategoryImporter.php", "source_location": "L58", "weight": 1.0}, {"source": "service_categoryimporter_categoryimporter", "target": "service_categoryimporter_categoryimporter_replace", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Category/Service/CategoryImporter.php", "source_location": "L169", "weight": 1.0}, {"source": "service_categoryimporter_categoryimporter", "target": "service_categoryimporter_categoryimporter_validatereferences", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Category/Service/CategoryImporter.php", "source_location": "L188", "weight": 1.0}, {"source": "service_categoryimporter_categoryimporter", "target": "service_categoryimporter_categoryimporter_existingids", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Category/Service/CategoryImporter.php", "source_location": "L232", "weight": 1.0}, {"source": "service_categoryimporter_categoryimporter", "target": "service_categoryimporter_categoryimporter_ispositiveint", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Category/Service/CategoryImporter.php", "source_location": "L241", "weight": 1.0}, {"source": "service_categoryimporter_categoryimporter", "target": "service_categoryimporter_categoryimporter_normint", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Category/Service/CategoryImporter.php", "source_location": "L246", "weight": 1.0}, {"source": "service_categoryimporter_categoryimporter", "target": "service_categoryimporter_categoryimporter_nullableid", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Category/Service/CategoryImporter.php", "source_location": "L253", "weight": 1.0}, {"source": "service_categoryimporter_categoryimporter", "target": "service_categoryimporter_categoryimporter_optstr", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Category/Service/CategoryImporter.php", "source_location": "L263", "weight": 1.0}, {"source": "service_categoryimporter_categoryimporter_validate", "target": "service_categoryimporter_categoryimporter_validatereferences", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/Category/Service/CategoryImporter.php", "source_location": "L163", "weight": 1.0}, {"source": "service_categoryimporter_categoryimporter_validatereferences", "target": "service_categoryimporter_categoryimporter_existingids", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/Category/Service/CategoryImporter.php", "source_location": "L205", "weight": 1.0}], "raw_calls": [{"caller_nid": "service_categoryimporter_categoryimporter_isvalidbundle", "callee": "isset", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L34", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_exportall", "callee": "fetchAllAssociative", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L41", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_exportall", "callee": "array_key_exists", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L44", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validate", "callee": "is_array", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L71", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validate", "callee": "array_keys", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L71", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validate", "callee": "count", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L71", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validate", "callee": "$add", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L72", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validate", "callee": "self", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L77", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validate", "callee": "$add", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L78", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validate", "callee": "isset", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L79", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validate", "callee": "$add", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L80", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validate", "callee": "is_string", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L86", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validate", "callee": "trim", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L86", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validate", "callee": "$add", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L87", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validate", "callee": "mb_strlen", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L88", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validate", "callee": "$add", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L89", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validate", "callee": "self", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L92", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validate", "callee": "in_array", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L93", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validate", "callee": "$add", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L94", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validate", "callee": "self", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L98", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validate", "callee": "is_string", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L99", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validate", "callee": "mb_substr", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L99", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validate", "callee": "toRfc4122", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L99", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validate", "callee": "Uuid", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L99", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validate", "callee": "is_string", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L100", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validate", "callee": "trim", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L100", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validate", "callee": "in_array", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L104", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validate", "callee": "self", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L105", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validate", "callee": "$add", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L107", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validate", "callee": "in_array", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L112", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validate", "callee": "is_string", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L114", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validate", "callee": "trim", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L114", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validate", "callee": "$add", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L115", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validate", "callee": "mb_strlen", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L116", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validate", "callee": "$add", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L117", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validate", "callee": "trim", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L119", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validate", "callee": "isset", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L120", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validate", "callee": "$add", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L121", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validate", "callee": "self", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L131", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validate", "callee": "self", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L134", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validate", "callee": "in_array", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L138", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validate", "callee": "$add", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L139", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validate", "callee": "is_string", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L141", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validate", "callee": "self", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L142", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validate", "callee": "self", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L145", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validate", "callee": "self", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L146", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validate", "callee": "self", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L147", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validate", "callee": "self", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L148", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validate", "callee": "self", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L149", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validate", "callee": "self", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L150", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validate", "callee": "self", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L151", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validate", "callee": "self", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L152", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validate", "callee": "self", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L153", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validate", "callee": "self", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L154", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validate", "callee": "is_string", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L156", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validate", "callee": "json_encode", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L156", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_replace", "callee": "beginTransaction", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L172", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_replace", "callee": "executeStatement", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L174", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_replace", "callee": "executeStatement", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L175", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_replace", "callee": "insert", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L177", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_replace", "callee": "executeStatement", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L179", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_replace", "callee": "commit", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L180", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_replace", "callee": "rollBack", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L182", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_replace", "callee": "executeStatement", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L183", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validatereferences", "callee": "isset", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L197", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validatereferences", "callee": "$err", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L198", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validatereferences", "callee": "isset", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L208", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validatereferences", "callee": "$err", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L209", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validatereferences", "callee": "isset", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L220", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validatereferences", "callee": "$err", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L221", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validatereferences", "callee": "isset", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L224", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_validatereferences", "callee": "$err", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L225", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_existingids", "callee": "fetchFirstColumn", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L235", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_ispositiveint", "callee": "is_int", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L243", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_ispositiveint", "callee": "is_string", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L243", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_ispositiveint", "callee": "ctype_digit", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L243", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_normint", "callee": "is_int", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L248", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_normint", "callee": "is_string", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L249", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_normint", "callee": "preg_match", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L249", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_nullableid", "callee": "self", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L256", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_nullableid", "callee": "$add", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L257", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_optstr", "callee": "is_string", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L265", "receiver": null}, {"caller_nid": "service_categoryimporter_categoryimporter_optstr", "callee": "trim", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php", "source_location": "L266", "receiver": null}]} \ No newline at end of file diff --git a/graphify-out/cache/stat-index.json b/graphify-out/cache/stat-index.json index bb9d127f..d473f2de 100644 --- a/graphify-out/cache/stat-index.json +++ b/graphify-out/cache/stat-index.json @@ -1 +1 @@ -{"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/assets/controllers.json":{"size":198,"mtime_ns":1781030172830093265,"hash":"c2038f4c739d4a1620199394a2ccfdd5c91ef846a0f81048388ffa7b65df091b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/composer.json":{"size":3082,"mtime_ns":1782645766148245683,"hash":"d1fe8db3ea082855e8c562819934d2719debd0d5541e7eb5853d87d13cc47459"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/config/bundles.php":{"size":991,"mtime_ns":1781030790602666616,"hash":"ffc97986a2386074ed8eb1b4b9dcbca2ffa7cc6b3600a6c37e3112d6be39e0f4"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/config/preload.php":{"size":184,"mtime_ns":1781009656090972900,"hash":"718612fb509259556db6202d93b5f3b1bd85a6be6d523cdc6fb1d81b569ce256"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/config/reference.php":{"size":105233,"mtime_ns":1782645766235591855,"hash":"a2030203ccca39bf435675e884e805a2bc3db13ddfded1d346ac649bab6deeab"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/create_test_users.php":{"size":4062,"mtime_ns":1781168063674077630,"hash":"35e828a0495a0a4aaa7539781076edff3b0af2e88562ea0ae1299cfc17fa91b6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/data/city.json":{"size":48958,"mtime_ns":1760953552261818528,"hash":"4c321bdc22df2c9e02e37cb3c1a44d792710e94c53f0131f14e88f0ba60cfbf5"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/data/doctor_services.json":{"size":42359,"mtime_ns":1781085019042251229,"hash":"086809f01c4c6e77ab1161688bd03d60ff524735d0d7655cb0daa55bbb53875a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/data/import.php":{"size":5488,"mtime_ns":1781089058225002885,"hash":"7f22b1eef5dacde90d1f87178f5b446df06562e86331f2b1fef0672da6d33fb9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/data/seed.php":{"size":27683,"mtime_ns":1781090517391813278,"hash":"9f68801870c368286543040b482a6a8e9773a82506565226d705c0b410873025"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/data/seed_finish.php":{"size":10806,"mtime_ns":1781091340487318516,"hash":"f36f97df126491fcfdc438f289489a189bbc58b7fa5dc61e48a40edefb77c623"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/data/seed_full.php":{"size":42270,"mtime_ns":1781091251098443866,"hash":"da652ff8b7513cab398dc4f7d6dcc92399ef0507410f466a72929684aee6abc2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/data/specialties.json":{"size":16189,"mtime_ns":1781084374016184330,"hash":"de4ba8a0ed9fe595a89be7b4113ae37bddd5dcc5e59766f4cdf7ec34cfd44dc6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/data/state.json":{"size":1708,"mtime_ns":1760953552262399793,"hash":"3678b80abe63c2c45d0ef5f5cfd63cb46f5bcff7cb6f73fb3c8d188ce24d0242"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609130407.php":{"size":1154,"mtime_ns":1781010250896191835,"hash":"d9130e4e0fcecbfc302da5ef3184d0665ef9844067e63673b091dc6b09e5c432"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609131304.php":{"size":8945,"mtime_ns":1781010908745260477,"hash":"d8db037c64d216c9d6e3018caab7c9a4966abfe31e41794f43728ac0bd3c11bb"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609131553.php":{"size":1477,"mtime_ns":1781010960853107810,"hash":"1b3c9ad833965008985bcf3f6a1894e400bc58bb0a8de2b6bc159c31ecdcca5d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609132009.php":{"size":1986,"mtime_ns":1781011210879944205,"hash":"95e296cf289224cc43748507a9496f493d0e25b829a9e3d8bb8567f6f022d378"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609132708.php":{"size":5572,"mtime_ns":1781011630935659766,"hash":"d3211b9b4b08ad40b543052498b4ad7adeb034ffbabc4a83f761807df8e2fe9f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609133121.php":{"size":4855,"mtime_ns":1781011890870506406,"hash":"fc65641b70ce6d9bb2409aeecccb580333685ba71bcdddb72ea185fc9b717e9b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609133334.php":{"size":1529,"mtime_ns":1781012020936148882,"hash":"d2753baf2902d723dba6ef2928c65627dbc4f006c5493a45182b450fb4598fd6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609133546.php":{"size":1688,"mtime_ns":1781012150911850095,"hash":"98b56edc2e31c609f70d82d1e697c6598f3c65c4120d4e77510d19c0030e9d87"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609134112.php":{"size":2830,"mtime_ns":1781012480955463648,"hash":"ffb5700205e312f10728cd20f9638450cd2195df9627b5b51f92690526214845"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609134741.php":{"size":1789,"mtime_ns":1781012870832220674,"hash":"eb2a55b4f50f4fd58288452b71dfb5e190958cb8c775354dc9c9f99c929dfff0"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609135126.php":{"size":1922,"mtime_ns":1781013090876422882,"hash":"a736efea5774baa48ac87522442943580e9ce47cab3479e1033e71fc6131eae5"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609135514.php":{"size":1449,"mtime_ns":1781013320954994440,"hash":"e3901078cc23a4e9ba6a7b748e32fc1a04f888c8d5680da5100b26a56dcd0559"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609135704.php":{"size":2558,"mtime_ns":1781013430957508206,"hash":"6ce6851d5331c07c1f13c94f475a7f6823551927ff0b7ccfa8fddec146e69fcc"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609135923.php":{"size":3457,"mtime_ns":1781013570869080544,"hash":"b7a581c53e463fa8bfb6a7ccdd65d75c2146aa3b8190852a84a15ad2c8d3bf3d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609140223.php":{"size":1590,"mtime_ns":1781013750963170886,"hash":"c0c011d8f3040d2b81dff1ec667f2d650567eb141271ff4d368ed66fdfef9342"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609140423.php":{"size":1535,"mtime_ns":1781013870906972885,"hash":"0fb344e74f64622b3ea3f4a29e8b6412f35ec60ee46cd25abd5ea3e0abc8c299"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260610062539.php":{"size":826,"mtime_ns":1781072744933894396,"hash":"c9a4bfd06b4bdb00f74c6a5973acbea2b86b4c8ab64c8d28c730dcdda5bc0e88"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260610092558.php":{"size":780,"mtime_ns":1781083564938987613,"hash":"7b3ae1ae82625519d5c7986d542c84dc5c37949ac4f3a8c356191dc480b7cc0c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260610103401.php":{"size":20904,"mtime_ns":1781087803230706453,"hash":"f54443ba8ee1b2d436f3e2bdafcdb026b5b3c8dae9941623fb401792aa68bb85"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260610110039.php":{"size":817,"mtime_ns":1781089244896521926,"hash":"a68634b6818f1b331bc2232ff9429792f11a7090ef18315754dbb5feec3981b7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260610110921.php":{"size":1611,"mtime_ns":1781089784421230793,"hash":"2f112d7fbfee7d1a0ec047535854cfb1bf8088099d4f5219e23f9458380f90ce"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260610111254.php":{"size":1109,"mtime_ns":1781089984946035862,"hash":"2c68d5ebfef56abee588aa5abb74a571918a0ed04eec7be7ea8039d9a12046ff"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260610113711.php":{"size":1499,"mtime_ns":1781091448606693864,"hash":"4cd9c0910a49718627e7ea3c5f6f448e6508e609c70d643e160a6c740937d13f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260610140853.php":{"size":5927,"mtime_ns":1782583543657239761,"hash":"02683252b3c23dc3005af00fc6a42cbc360a306c799a88ee722cf1560ba22da4"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260610175105.php":{"size":767,"mtime_ns":1781113873591904402,"hash":"49ffb1ef4d630a180b47d4b1f42da6c3ddf8283dc93bc192c16060cc093b5b82"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260610183655.php":{"size":2273,"mtime_ns":1781116623586431980,"hash":"e1573ba5f962b956314e7e17a8adf8fc3683dc6065c34490b60a25636d7fe4a6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260611075829.php":{"size":3004,"mtime_ns":1782626301195816873,"hash":"b3ba50cb2690810d8fb010f0ede4cf92906376908208bf0093512752d72fed76"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260611083424.php":{"size":881,"mtime_ns":1781166873770630956,"hash":"38e49fefb94b0029f3a10ac5aa846f341e47fb69686ad6d23c4b324de4b5e218"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260611084046.php":{"size":1410,"mtime_ns":1781167246413147688,"hash":"ace825e63afb52cfc794f24547a03563c501cb951545c1a8fe50e2f198e11572"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260612081739.php":{"size":1185,"mtime_ns":1781252261521732569,"hash":"abfc51c67c959f525711c661c21872e6a831079510241c197b86175623bc217b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260612132848.php":{"size":1667,"mtime_ns":1781258338612526059,"hash":"c3d155690c12d3c3243190dcc759adf44cdf6a727b3b2563ba50caa78fd2a3cc"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260614181134.php":{"size":1715,"mtime_ns":1781516938570601065,"hash":"4febd40d1e647abbd00413dbb51dc59d5f73d15a6d54d7668d08861f2e6c2d99"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260614181629.php":{"size":3515,"mtime_ns":1781516938570859523,"hash":"c8a4a0b22f709c3ad72760ab89c787f44260064e9d3222449292133d85b27862"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260614181657.php":{"size":4760,"mtime_ns":1781516938571506442,"hash":"3f5f75cf96210cabb9a36a61036acb7bea5fd01466b367725995b9fd52bedb2c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260614182549.php":{"size":2122,"mtime_ns":1781516938571645400,"hash":"1fc5633381813d3939e8513eb233bfd9c24797537a8348bc83e1f29c2b41e311"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260614182950.php":{"size":2545,"mtime_ns":1781516938571764692,"hash":"fd126b1e4e09b2f3433242d40992cb2a829d80a357faa87bf922d86bbf514c2f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260614183527.php":{"size":4022,"mtime_ns":1781516938571888567,"hash":"98a07ace9623c623dddcecb1bf1d4189d8efe1692ba261779b1f9661ac07ff25"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260615060415.php":{"size":851,"mtime_ns":1781516938572128193,"hash":"0231ff42cfb43dd4cb4ecfaff3e4f1d285d30fdd87a120fccc6046fac3d1e040"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260615061938.php":{"size":981,"mtime_ns":1781516938572427735,"hash":"1ac836b1d7089a2dd47756eb7ba0e65801105e2dda52aee3f5df981daa57db88"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260615074107.php":{"size":1712,"mtime_ns":1781516938573278653,"hash":"f16f0d0bcf5a4646bcaf98725563639c8ff8b4f2a6d8cf9b8f6a0e7bfbe4c39d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260615142236.php":{"size":1117,"mtime_ns":1781535498215147916,"hash":"27e62ea86a4f3aa8539bd976213f57efbd6eb36b8aa4798fe52f2274571941c3"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260615203529.php":{"size":1746,"mtime_ns":1781557035803907615,"hash":"b735a483f4db548f9613dd6d5efc8489f1a14559737b39f5fa9ec395f6ad21c2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260619062912.php":{"size":772,"mtime_ns":1781850555276849213,"hash":"7803c7d2fe66171063a19937794a6630d34dff563450bbcead5fa6051866ca2f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260619121047.php":{"size":780,"mtime_ns":1781871054836536786,"hash":"5b96978f092d4e81b6b9ca61e2a5d5a53e51f1b9b8bf6be43f38cc462371a252"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260619170105.php":{"size":1000,"mtime_ns":1781888467242271818,"hash":"24b56c5edca5c601b008f28dc8b642de32dceeeb408ec38cd5e3f7c40c3ce4f3"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260621084558.php":{"size":774,"mtime_ns":1782031565107938146,"hash":"1a88683010bc9f3571111e2c63fceda2062724f08e0c93a8519405d4ed8bf33c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260621094624.php":{"size":774,"mtime_ns":1782035186037116338,"hash":"846706a2c43ed5b3354ff1ebc8d0eb9d9c7dcaca94802f6b8ae4d4653eb54fc9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260622160119.php":{"size":779,"mtime_ns":1782144086923054995,"hash":"d1a46bd2a54a9e9f55a692342bbd1bc49add55e4c29368fef1c0fd6d4f8a9292"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260622163152.php":{"size":1377,"mtime_ns":1782214545724072190,"hash":"64ff3985f32d0d18646d441f0edd99be402305cbff68d66519dcb196e17e42bd"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260622171538.php":{"size":1410,"mtime_ns":1782214545724191815,"hash":"42c0bfb273a488f98079a84f3331c2000ec0018e5c1a748a4f76481853fca168"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260622173707.php":{"size":1491,"mtime_ns":1782214545724314524,"hash":"e7ca8699e56c8ce50350006668b7958af1be4663f36620a12ce34dc1fecea6e1"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260622181251.php":{"size":1171,"mtime_ns":1782214545724441066,"hash":"9a5233ddd9873b485bfcf9b9009619a42cec5bc0a4516d98a387b42a249aa0c5"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260622184409.php":{"size":2212,"mtime_ns":1782214545724627733,"hash":"caa199786e4c7016e4232e653b063278fe809536f4eb2b42305e3bd30beef290"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260622185948.php":{"size":2005,"mtime_ns":1782214545724826651,"hash":"7048fe9c1439b52f85abf3186cf4eec913eb873e8ac6ae1154712adccc327b83"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260623115721.php":{"size":779,"mtime_ns":1782215846636875546,"hash":"4c8e43a5be46030c087a8679b9b84e8cf58b4174e9228f94fa02dd0d3f2e5990"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260623173907.php":{"size":779,"mtime_ns":1782253591740927223,"hash":"237d660c556b7f37176854a98f02cd114fafab9405f9ae4945a8a75941928f8d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260624030339.php":{"size":916,"mtime_ns":1782270223182271448,"hash":"a97dc816b64080ab3aabd67347c2161faff7090629810a6db13c051991edd8af"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260624092459.php":{"size":2059,"mtime_ns":1782293101374459999,"hash":"44b5621ce383ac7cb1cea47d7006f3c2b0b47bba8d49f59c78a0df4f737f8482"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260624093738.php":{"size":1266,"mtime_ns":1782293867202071491,"hash":"dedb9cb5586cb39f3d35af323fab3e41ff8e63ca961cdb98b8a7beabd113c8af"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260624123236.php":{"size":809,"mtime_ns":1782304359030218634,"hash":"acb3129833c4f6b1ec99f90496e23400de1df0624f1dbbba5077a20500a38548"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260625135132.php":{"size":780,"mtime_ns":1782395498606655159,"hash":"a1c3aafeaa1761bfaff51ae0c523a2781cf359fca511e7aa8bd294b70011a9a9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260625150304.php":{"size":1990,"mtime_ns":1782399813900039403,"hash":"87f84613f1b928abd28cf7502c4572ebf7599d0c47d3c97497a5d74b9fb2c983"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/package.json":{"size":2261,"mtime_ns":1782728407180886172,"hash":"44bbdc99c5e4a3a3c3645f2d400419bae158aef97f432ecf3340eb902c8deab7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/public/index.php":{"size":206,"mtime_ns":1781009656089267135,"hash":"6609137ba6c6187032cdfd84e9d39097732d861414157cacbdeb77b2b271ac8b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/public/manifest.json":{"size":851,"mtime_ns":1781344581738519976,"hash":"1f7781991eb738e4d1e1d94ecbc02013b898ef8bf8a7beeecf1af9687643b4dd"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/seed_realistic_data.php":{"size":24320,"mtime_ns":1781519949285784202,"hash":"2ad075c6d333a42f3ac51adb0e1d8b444f64f3b5a01bc87f53d9522cb272ce68"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/seed_test_data.php":{"size":13557,"mtime_ns":1781169644756523490,"hash":"d5bbc3b4a96e7abf610d9cd63da61dac6b73bdd97b5672eb4ec191bbec2255e8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/skills-lock.json":{"size":267,"mtime_ns":1782232921467371596,"hash":"4b889910ed363cee9dbd7da20e9c0748ddf40dd483ed92b5e581ebedb506f179"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Admin/Controller/AdminApiController.php":{"size":100417,"mtime_ns":1782750165340121553,"hash":"5c94ca6ec5ce79cd14d07da357d72b77bcaba0e1f311e187cd3c8eeb2ab4c46b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Admin/Controller/AdminController.php":{"size":490,"mtime_ns":1781030416417456388,"hash":"7d18322ef916885ae0181a7b9dde07ab07d08bc49cbf72669f50e5268ffeef62"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Command/CancelExpiredAppointmentsCommand.php":{"size":920,"mtime_ns":1781551622411049671,"hash":"3b56ad9741a4349bd249a4a4e320f7195c320fec9a96ccde6da5b8f75d87b32d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Controller/AppointmentController.php":{"size":24240,"mtime_ns":1782304270243667628,"hash":"8a6f406c0d70ab3cc8802470ee6fe0d24c883177fb8fd436653c31edaa915e36"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Controller/AppointmentSettingsController.php":{"size":17714,"mtime_ns":1782728407188976018,"hash":"213d1b93ba08882b32a47b70be27553aae4d53bf92fcdb66d2c2876e33f0eb6a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Controller/MyAppointmentsController.php":{"size":15723,"mtime_ns":1782728407189591731,"hash":"36e9472f0cdcf7178c898629a676f50452d0572c9dfc7f6c0d3f91a602716a0c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Entity/Appointment.php":{"size":9871,"mtime_ns":1782728407190164318,"hash":"199c0bce6c58ae43bfd76f426a9b879985958641a5730886b73f925b79e85395"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Entity/DateOverride.php":{"size":2925,"mtime_ns":1782728407190402153,"hash":"c59fdb6d3f05bdb6cd558bb74e701897aa14947acafadb64943469c19fe696f0"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Entity/Holiday.php":{"size":2953,"mtime_ns":1782650883604011152,"hash":"45b9c56571e20dfc0cabc789b083e2099273efbe5c0a589268a7f5e35106e631"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Entity/WeeklySchedule.php":{"size":3519,"mtime_ns":1782650883602991274,"hash":"ac7a64333676e95bd5f9a78c22fe0f83fcad6bf96d65ae2605685ab8c01ed453"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Message/ExpireAppointmentsMessage.php":{"size":85,"mtime_ns":1781551622411423796,"hash":"094a07b7c7552dd1c2812e066ae7e9cde6dc6bc9ca4ef07e11b82f8feec45fd6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/MessageHandler/ExpireAppointmentsHandler.php":{"size":504,"mtime_ns":1781551622411619546,"hash":"8981c0048e84b26121eb8e2a6e1f9913a7d61d958a48bc4bee113df6c0c77a80"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Repository/AppointmentRepository.php":{"size":7660,"mtime_ns":1782728407190649529,"hash":"293ee69d87a2ee0421f6a4f73ef854b9fd7d261642ac34795a453438ac762b39"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Repository/DateOverrideRepository.php":{"size":1119,"mtime_ns":1781012268350237489,"hash":"f383ecc7f0712616f9969689e3a2011faf49b3ee6c2ec3fc6751f0e93560df91"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Repository/HolidayRepository.php":{"size":1768,"mtime_ns":1781099253934669137,"hash":"f886ede4b1998bcbd43c335af00c205c410cfe7bd74b17c12add062b12b84d7c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Repository/SlotTakenException.php":{"size":101,"mtime_ns":1781535498216404171,"hash":"e6ca84966b94b947c7df53646b8a0c5b1a5f5564d144e2b0e00b7756c97d718a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Repository/WeeklyScheduleRepository.php":{"size":1480,"mtime_ns":1781523180068721029,"hash":"8a3deac81ebf1b16b5221f172aeefc9a45009658b7820e6e8597a589ea3af936"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Service/AppointmentExpiryService.php":{"size":1834,"mtime_ns":1782728407190939073,"hash":"0e08a53cd50f1fa75c2998ce2d39400cf116f1e7d5632015fefd589ca730e771"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Service/SlotCalculatorService.php":{"size":11056,"mtime_ns":1782217986438154633,"hash":"b42aeef988db241ca6b6bba68a3932214b3a0bcd6b89e1185883c7a52ee8be3f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php":{"size":36120,"mtime_ns":1782728407191234283,"hash":"d7f98b20db8f66beaae6688b6a84f1692b43437de6e85a3808774743694f3c80"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/NotificationMobileController.php":{"size":7438,"mtime_ns":1781888558424222836,"hash":"f741f4d2cc7d43672b9c3ba189b7a6164cd5ef1031a02a697a6971287f6ac9be"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php":{"size":7871,"mtime_ns":1782728407191857954,"hash":"fc3c53bab05acd5e3c477e5d05c90964c4e7172f3afe5c96d11376a85510b1d2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Entity/MobileVerificationOtp.php":{"size":1930,"mtime_ns":1781167196281533241,"hash":"511faa2e0698158b312aa66c5b7d54539963056b011200b3a7b86a65651e56b7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Entity/PreRegistration.php":{"size":3061,"mtime_ns":1781252232305967808,"hash":"74a388c7ebafa889c4428ba1538ac46ed8f1f5c6ef5a34975016f85a128c5f40"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Entity/User.php":{"size":4972,"mtime_ns":1782728407192144123,"hash":"83e9341f771214eaab94dd7c4f0aa2de0e5c0528a0fa5eb4927659f94bc7ddf0"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Entity/UserActiveContext.php":{"size":1160,"mtime_ns":1782652951356493481,"hash":"1c60c30e2800176bb2dde9730607d081f2fa1a05f8f6ee6e917ad256bcfa73cc"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Repository/PreRegistrationRepository.php":{"size":842,"mtime_ns":1781252241014651656,"hash":"050d7fae8134856aeccfff39607f5cfb44e8b923e13d0235411a577b78a6f96d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Repository/UserActiveContextRepository.php":{"size":952,"mtime_ns":1781164699567301035,"hash":"22c3a507b65fe3f858806b1d7bed15411be794586278ddae7ac5ebe09782bbd6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Repository/UserRepository.php":{"size":1023,"mtime_ns":1781010107490769863,"hash":"748b70a06bf6833d94e5168e4ebc06ad7faf0dff67f5f099f595f10cf4f59137"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Security/PasswordAuthenticator.php":{"size":4195,"mtime_ns":1781946748878509164,"hash":"abec4d9e6782d2833c1eb7862460130ae093b20b5afd4e1ca468f9ce784b53ef"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Service/OtpService.php":{"size":3228,"mtime_ns":1781946485891979924,"hash":"e9d828bddc99129d0ac0c37ce23b83257fec16b7033074557acecb4757d88f14"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Service/TokenService.php":{"size":2166,"mtime_ns":1782036558107915300,"hash":"3b749587b4c8ffc2d0fcf9a266ab32aff75b1681af31e6797d8046dd3ee36713"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Contract/ClaimSubmissionResult.php":{"size":509,"mtime_ns":1782214545726213864,"hash":"5391e205be5e00bf0cdd088d6f9b52427e30e3a5d29d2c0ae39753b15b67fac8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Contract/ClaimSubmitterInterface.php":{"size":461,"mtime_ns":1782214545726346198,"hash":"9286f1fdb68765c4512fa8aa302156a4fc54df7af3fb5d5d1e2d59c24111c3db"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Controller/BillingController.php":{"size":13703,"mtime_ns":1782728407192799169,"hash":"7226845540da9c2d9121eb7e25eab910b5d60d45d0f5dc14321ce9379b079967"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Entity/Claim.php":{"size":6465,"mtime_ns":1782214545726749575,"hash":"85028f866ff4695fa0095e4ba3191a385a63fdb3aa1f3222fda2d94b61d6d39c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Entity/ClaimItem.php":{"size":1646,"mtime_ns":1782214545726889450,"hash":"0e3bb1ebc45d4c045ef0e6fe09170976c315d7da410efd79bdcc53189e9dab49"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Entity/Invoice.php":{"size":6079,"mtime_ns":1782214545727230826,"hash":"02081acac585d1cfaabd1d404b0bb25c7bcf25fa51e32bf986cd75675d14ac24"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Entity/InvoiceItem.php":{"size":3448,"mtime_ns":1782214545727383452,"hash":"63280ec10f55dc16106afecac0784a9094ce12fbd3787a482a75eafe451aa5bb"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Repository/ClaimItemRepository.php":{"size":895,"mtime_ns":1782214545727554077,"hash":"9f606952d141e1db9f444ec80bba343c34a5c39f905f72c53c76d7cc7dc58f89"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Repository/ClaimRepository.php":{"size":5807,"mtime_ns":1782728407193826801,"hash":"26fd73c5de681031611a56b0e9a1140cf3b4c1088059ba954e7c3c8a344392de"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Repository/InvoiceItemRepository.php":{"size":2056,"mtime_ns":1782262433593751772,"hash":"6a2e18c9de2434f67ce2250dc17ec50a29f207b95ca2fc6e2a9c7d338a67a67e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Repository/InvoiceRepository.php":{"size":865,"mtime_ns":1782214545727978079,"hash":"71c55535e6b20d820e351a26af6bd1c1b6cb26c371414e611e8e858c2d8486f9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Service/BillingCalculator.php":{"size":1975,"mtime_ns":1782214545728144705,"hash":"9751645f561446a0d0f6a618cbbeae012f7f2274c5c1fbb4379220b995070f16"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Service/ClaimService.php":{"size":4124,"mtime_ns":1782254015995593528,"hash":"f04e02faaf3d8f49d493c2e77f8f80120e8de353af185e624996c9b14e36267b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Service/InvoiceService.php":{"size":3335,"mtime_ns":1782263056583478624,"hash":"411b9e4e6aa41a158211959c5b9c4c286ada95c8b68596364eca3b1cbf436e86"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Service/ManualClaimSubmitter.php":{"size":771,"mtime_ns":1782214545728543539,"hash":"11064e4cf0182849f67012ead852a3b45c2d8b66693e9680bfabf4094c3b9d40"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/ValueObject/Money.php":{"size":775,"mtime_ns":1782214545728705873,"hash":"97c8de0bcd950f7b29c8f8fb87d33f4cb79bd0b17e531592c80fa5fb5c0e6de8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/ValueObject/ShareBreakdown.php":{"size":599,"mtime_ns":1782214545728844457,"hash":"98b4c746ff1d241697d227cd21bf6a8b010cea93dbf0a219f89910456c511ac1"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Blog/Controller/BlogController.php":{"size":17742,"mtime_ns":1782050215484280688,"hash":"4bc5e62060b6e27970972698933b7e9b6f63a4eba44cac9fd08cabb6d5c355f2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Blog/Entity/Blog.php":{"size":5562,"mtime_ns":1782650883613744390,"hash":"5e6a312d48b1efacb7e4c14b87a658d1ad64bf0d3aefa5bdb2008011cb3b175b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Blog/Repository/BlogRepository.php":{"size":2133,"mtime_ns":1782049659479434537,"hash":"a15b4c1c26d71f5cd0b0d4e3c913702999a475ae13abd7d8eb29ab20e033adee"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Controller/CategoryController.php":{"size":1776,"mtime_ns":1782728407194246845,"hash":"1be28d02d6f241500cc7a55f1a597962d80b5f72c814c9308fd6811029aef714"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Clinic/Controller/ClinicController.php":{"size":34368,"mtime_ns":1782035216514487631,"hash":"434df68031d6367be88eaa0faa9ed185484cd9e7d4e4b4b9e0b50d4d743e18a6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Clinic/Entity/Clinic.php":{"size":12311,"mtime_ns":1782728407194604639,"hash":"d192f3609f782986a1c36a6236066c503364b8d1bb7312c928e7c9ff1a2f5d80"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Clinic/Repository/ClinicRepository.php":{"size":4495,"mtime_ns":1781782025398193552,"hash":"e6a358cbfbbd1bd23e4e823ad1b981c488de8282df7bdcf2eea921232be0b090"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/ClinicInvitation/Controller/ClinicInvitationController.php":{"size":10193,"mtime_ns":1782728407194937600,"hash":"9e968ad47c34e34775e6793301147eaf9768692a8f254ceed37152207ae3d202"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/ClinicInvitation/Entity/ClinicDoctorInvitation.php":{"size":5434,"mtime_ns":1782728407195142351,"hash":"44d986e38a0aaff4ff36d621205c7361769814ac64e5e559dfeb02d2e63b09d6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/ClinicInvitation/Repository/ClinicDoctorInvitationRepository.php":{"size":1821,"mtime_ns":1781293272835808881,"hash":"10604824317018d8f535539834b9913ef3982889b1ffb2874e4438f848f06726"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/ClinicInvitation/Service/ClinicInvitationService.php":{"size":4420,"mtime_ns":1781888637727954912,"hash":"123c29f45911c7151d410112521a5d787922a73bbb0ebb1f53792aff70376e6b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/ClinicService/Controller/ClinicServiceController.php":{"size":15449,"mtime_ns":1782728407195387478,"hash":"38d8db77331e6ccdf9e78a54f5f223cd74cd1b83880d40ececcf4cce392472cb"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/ClinicService/Entity/ServiceItem.php":{"size":4270,"mtime_ns":1782260462891413703,"hash":"f7c314c5ddc678d4896d358c4b89ee1048c314fe237fb307b1909e44d986307f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/ClinicService/Entity/ServiceSection.php":{"size":2865,"mtime_ns":1781516938575505158,"hash":"6fce4d578f8878eb023372cfeeed180e1826274363811165b1623578b8911386"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/ClinicService/Entity/Tariff.php":{"size":2497,"mtime_ns":1782214545729589627,"hash":"77a5e0dca59cd5587ab614a2bedd46a0de3485d620a6125f4804db7b688115f6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/ClinicService/Repository/ServiceItemRepository.php":{"size":1193,"mtime_ns":1781516938575690367,"hash":"3561e5174c09c2d295bf2b77e3a2692c234f30cfe76b597213ce1bd2ff9bc81b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/ClinicService/Repository/ServiceSectionRepository.php":{"size":1274,"mtime_ns":1781516938575822117,"hash":"6e87ff4062b59b4870ac32891b6fd40ab36ed939b3a67959c600a63a0375b299"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/ClinicService/Repository/TariffRepository.php":{"size":1312,"mtime_ns":1782214545729721752,"hash":"fece09188f0d746cc7fdc518fb8d63488c77314d629940d1c0969b6f28fc7b38"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/ClinicService/Service/TariffService.php":{"size":1653,"mtime_ns":1782214545729910003,"hash":"13d77eda5f22d43badf639d0127bc7252b3adfe6c72657c33423ad5a04f345b2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Config/Controller/SiteConfigController.php":{"size":3369,"mtime_ns":1782319753499631658,"hash":"91d6de5e3c6f14955c0b99c55dafeab4daf8838256eb3d9954fe577f6051c78d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Config/Entity/SiteConfig.php":{"size":1026,"mtime_ns":1782650883609343293,"hash":"694f1f497f5a3a1095f2949eacd68694eb7e8d6536abcd1bb61e7d788abed158"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Config/Entity/TaxRateHistory.php":{"size":1836,"mtime_ns":1782650883608855500,"hash":"1b50a1ed1a3d72be73df9bce2bcb010e2b90888bc7daa0a312ede4d181327631"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Config/Repository/SiteConfigRepository.php":{"size":2533,"mtime_ns":1782319853828508658,"hash":"50306f63113ee6dfa84443fe08d91f9fb9b17b7b9f86a85539bcd3a05215c51a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Config/Repository/TaxRateHistoryRepository.php":{"size":591,"mtime_ns":1782293892020820040,"hash":"1161721d41f057cd7c7d820b405a526cf644ade3da6a44a93e63ce9a364a9ca3"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Dashboard/Controller/DashboardController.php":{"size":18227,"mtime_ns":1781522583733722442,"hash":"d67fce94d5e7ecfa0222a05f525586c96c9c280bcbee7605865b114594201bfb"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Doctor/Controller/DoctorController.php":{"size":37753,"mtime_ns":1782728407195775022,"hash":"2c2f4c831d7ede2101b72277fc7c20ad06ac22dcd23045b8134aca7471278238"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Doctor/Entity/Doctor.php":{"size":16811,"mtime_ns":1782728407196033316,"hash":"dcd2dd96c11cd47f033dbb41718dde4b0f7fa2a2110f25ba4804b33e37e331e2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Doctor/Entity/DoctorAddress.php":{"size":5470,"mtime_ns":1782650883611537550,"hash":"f42a0409b492abf55f1ed704e65e2273b1a9b7424abf0d2bd9c9507ea9345747"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Doctor/Repository/DoctorAddressRepository.php":{"size":2770,"mtime_ns":1781783246170814153,"hash":"531973c4cf541ba9e8f3955fad4c863ec94f0a5cf84a03c9fa438aa59f979a3c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Doctor/Repository/DoctorRepository.php":{"size":7714,"mtime_ns":1782728407196368484,"hash":"3b22e183b3ec75a81be9e5095a62c8597b792a7be8b588e084f50c3f3ae0c2e9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/DoctorService/Controller/DoctorServiceController.php":{"size":5406,"mtime_ns":1781522583732540897,"hash":"953781115f6180a8b4d33de1d600d1a64d9dbf949a93069a82f1d8b28a14a5dc"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/DoctorService/Entity/DoctorService.php":{"size":2831,"mtime_ns":1781085550562230229,"hash":"6d7d545954a787dfcf52e2f9b8ccae47a1af55c21a43d3c60ca8c59dbade506e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/DoctorService/Repository/DoctorServiceRepository.php":{"size":1274,"mtime_ns":1781085558665462494,"hash":"79eb3168176aa86043e1613fa832e0a94b683ab7cd5a7553222d88ef9198f4c7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Controller/InsuranceController.php":{"size":25368,"mtime_ns":1782728407196781029,"hash":"457ca31fba8263cb58b3c47f214164fd28094d3074e6c57f8d4bdc0a0728a0bb"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Entity/DoctorInsurance.php":{"size":1960,"mtime_ns":1782728407197029697,"hash":"3835c0d26cf2af6937ccb1990a2a097e0696bc03c144ca9863867906de1b3a94"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Entity/EntityInsurancePricing.php":{"size":2507,"mtime_ns":1782214545730369713,"hash":"e0c3664524d71706ffc2c377c20c9ea5d12be0b8aacbe3feaeffe555ee003ef7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Entity/Insurance.php":{"size":2270,"mtime_ns":1781085569269281268,"hash":"bb5c7b593458bca73e6d767909d845c59371d50aefc54d6819b53b036d16d8a4"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Entity/TenantInsurance.php":{"size":4767,"mtime_ns":1782214545730514547,"hash":"8f4a4e4087e65a58cdc2444a4584a3a40796948313e4374e1f8a38983385bda9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Entity/TenantServiceCoverage.php":{"size":3432,"mtime_ns":1782214545730644047,"hash":"fd098f4aef57bc0988ca8d17760b0009d2742666fd62fc0ff2ce07fc6b0dab1f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Enum/InsuranceType.php":{"size":351,"mtime_ns":1781085440519759893,"hash":"30ae4d15da752fad6f6fdf214fc764732f372af51c1361fcdd23ccf7cb66d41c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Repository/DoctorInsuranceRepository.php":{"size":848,"mtime_ns":1781011984448803782,"hash":"61e05cda6d846d53a56fe1bc16a932bd7ee1fcc43f8ad9cdc4f8eda7635a2bb8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Repository/EntityInsurancePricingRepository.php":{"size":1404,"mtime_ns":1782214545730775964,"hash":"623b73aedc8f41f9f0ac7d374725808c1c72012956628e15ebde5681f7034dce"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Repository/InsuranceRepository.php":{"size":1220,"mtime_ns":1781085576476951957,"hash":"dc63f462de508c5f6d1fd51b08ebd887c5f79528d5183fc7a792e6cb579e26ca"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Repository/TenantInsuranceRepository.php":{"size":2436,"mtime_ns":1782214545730912256,"hash":"b99e224b9f48a68ebdb627590ef6c9057f3ec7969e4ca2e317378766527785a0"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Repository/TenantServiceCoverageRepository.php":{"size":1339,"mtime_ns":1782214545731054174,"hash":"5d8193d5276ee2a12f650ee075fc47f0bb32f32bcaf26f46328b1c7498636853"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Service/TenantInsuranceService.php":{"size":6310,"mtime_ns":1782268410292219426,"hash":"088a8086ca7a8284aa67577aa0ffe060d532f3bbb2090b6c3e3ff0f4730e2703"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/ValueObject/CoverageRule.php":{"size":381,"mtime_ns":1782214545731415633,"hash":"3ce989704beb3ff9aa60cad8460e69a1ef5a411ff0024b7d5541df502f4cbf2b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Kernel.php":{"size":992,"mtime_ns":1782743240249498742,"hash":"3b2fcf35ae459cfe82147916f43a6da872819e946938e0cd330a596a226065a8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Location/Controller/LocationController.php":{"size":10195,"mtime_ns":1781522583734100069,"hash":"64770748d202a36f7ebd57f5fe725201462f80835839fc0dee471cadf8e663bf"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Location/Entity/City.php":{"size":5855,"mtime_ns":1781089230145855904,"hash":"a9c471a92b627484e74df8e11ebc9f6db21a05c249df2f67eb74a39477204e4c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Location/Entity/Province.php":{"size":1688,"mtime_ns":1781085458710667014,"hash":"3353fa978b6558c945031d0c09a3dc24706f592287978236072c53c3cc13d033"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Location/Repository/CityRepository.php":{"size":1187,"mtime_ns":1781085493561648130,"hash":"1a7f0d07099224c30cc6111ba102ddf6cd583df610528c692ce923d42bf1e591"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Location/Repository/ProvinceRepository.php":{"size":1071,"mtime_ns":1781085486117016673,"hash":"4572085d4a4e79a86a1c2cfcc89b5cd6268ddeb466878a16db71f60216a6c148"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Patient/Controller/PatientController.php":{"size":15797,"mtime_ns":1782728407197647952,"hash":"0adb531514bb19b3fabe1e679468f731f00cc6d34a2edbb9e887a18c94447bc2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Patient/Entity/PatientRecord.php":{"size":3088,"mtime_ns":1782144029159424511,"hash":"8be2218c1dcc6dd9101278637b469d927567abf3e264d6b8c634292641096dfe"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Patient/Entity/PatientSession.php":{"size":7041,"mtime_ns":1782728407197911662,"hash":"e99aa5f70fa1eee35e78e90f7ea8e8e5f4bc80b77d2de0888eafd91b3ef0fcf6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Patient/Entity/SessionService.php":{"size":3069,"mtime_ns":1782253591741414931,"hash":"d7326f5115c044fe75744a4c6ac0e2d0efca2b4a93e57984483f1c859ffba1c9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Patient/Repository/PatientRecordRepository.php":{"size":3131,"mtime_ns":1782144042914186374,"hash":"c445fbf45f6eb65c5fd5c3f0704e1c972f0a9d9297a80d0dc879165fc57666c9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Patient/Repository/PatientSessionRepository.php":{"size":3665,"mtime_ns":1782268984212730950,"hash":"24f29fe0ee2cade4f4bef5572aa45086f444ab02d67f82d24228de49ccc25a2c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Patient/Repository/SessionServiceRepository.php":{"size":563,"mtime_ns":1781516938578050288,"hash":"24beb2335672cb84cfa5a787618c7907663606aa14262af1b8ee93058c0ac265"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Patient/Service/PatientService.php":{"size":7827,"mtime_ns":1782263039495809276,"hash":"e23289a2e8d04c22a69888e3775e2b851246b28c6e217cf22e8c91e99ada9ee9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Payment/Controller/PaymentController.php":{"size":31721,"mtime_ns":1782728407198201330,"hash":"6a6342e4ae451579ce88f5c0bedce9415ad95ce71406a9ff24117096264bbdad"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Payment/Entity/Payment.php":{"size":5647,"mtime_ns":1782728407198542249,"hash":"baea6fcd3343ee16bf9c045dc65f6cf06e022b157b485144dd459f385f9ee5c8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Payment/Gateway/MellatGateway.php":{"size":5989,"mtime_ns":1782750018514940514,"hash":"5f7ed3260ea0be9c83ebc1afec10ca24dd4d6118a7079299105fed545eadb817"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Payment/Gateway/MockGateway.php":{"size":1429,"mtime_ns":1782728407198901168,"hash":"4e4f8c687212fb476a9672747ed28d3a827e9d01ab864b275e18c1a5cd37f659"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Payment/Gateway/PaymentGatewayInterface.php":{"size":429,"mtime_ns":1781012928742348313,"hash":"0ea6fa1641009afe5a0f6ca33dd6afc4e224978bd7cbfd4be8865a6ac52c9c05"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Payment/Gateway/PaymentInitResult.php":{"size":307,"mtime_ns":1781012933059275866,"hash":"9b5327e24637c885b0696cc7172071104927aec8791208b43867049dcbbe0d63"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Payment/Gateway/PaymentVerifyResult.php":{"size":368,"mtime_ns":1781591920508677099,"hash":"88f08d81dc92ac75d2f0628c60f3fb78b039b9184039592047cc92c58d0db068"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Payment/Gateway/SepGateway.php":{"size":3800,"mtime_ns":1782750047532974461,"hash":"c9214091aa37726eb1cb7109234bd2a24ce6cd77674d50ec83fc188cad819a0c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Payment/Repository/PaymentRepository.php":{"size":3293,"mtime_ns":1782728407199154920,"hash":"9051e2d1dd67a0d6fb8a70504e7bbbc79f891e098a4d836d0e8f9ae6ff7639aa"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Payment/Service/CircuitBreakerService.php":{"size":1228,"mtime_ns":1781012993246621609,"hash":"4e04548bbb1ae6b6c17a4206408f3050ad341da5ddcc74d4b1af376b50580911"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php":{"size":22783,"mtime_ns":1782728407199386297,"hash":"64462e603b4569268e25d7f6a989f1b4d9b598a7613405a5d5d0165df2b477fc"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Entity/Comment.php":{"size":4881,"mtime_ns":1782650883605327864,"hash":"c43aa389121312d1fe2ba9639e3a6a0ba5fc21f78d0784adb723c26e3afbc0fa"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Entity/Like.php":{"size":2153,"mtime_ns":1782650883604545320,"hash":"7a7937df6b8df47196e035544c1ec78a11847a0a1688114bdb5265adde8d32c0"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Entity/Rate.php":{"size":4359,"mtime_ns":1782650883604952613,"hash":"bb8b2b8ccda54b99bd5ab0bd937dc29d4ac840195e3f89fcfc286b5429b2b863"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Repository/CommentRepository.php":{"size":3785,"mtime_ns":1782728407199666132,"hash":"57721807456fc1a9e0c2df0dadb2b4c45cff8a7c2e650c33ff1e4edc22ec9eb0"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Repository/LikeRepository.php":{"size":1619,"mtime_ns":1781557035805931490,"hash":"9c2c1575ce7f26c9d2139ab8301fd887658e295f66b4f164b48d050bd43a411a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Repository/RateRepository.php":{"size":2052,"mtime_ns":1781557035806516573,"hash":"5e2c5765f0d67648d72fde8992e1969822df630577e503f9a086dc01960e3f90"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Representation/Controller/RepresentationActionController.php":{"size":41170,"mtime_ns":1782728407200475887,"hash":"973a496476356f34610a5a3167495b0d91dec8c49306f38fae4480267ae9f378"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Representation/Controller/RepresentationController.php":{"size":21984,"mtime_ns":1782728407200758181,"hash":"681dfdf19f3a7a8d0d86ddefff60f30fb81d1a9c1024137c0f9ba3af6c658fe4"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Representation/Entity/Representation.php":{"size":5417,"mtime_ns":1782650883614592767,"hash":"ce5a938bccaf71572af189a1b92ee7e21baa9865c299dd261e3f18180b21b620"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Representation/Repository/RepresentationRepository.php":{"size":1239,"mtime_ns":1782304285868497898,"hash":"7b69c315115cadf10ed9b253b37141184c085cad544ab6274f330a0d1b17bfc1"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Representation/Service/JalaliDateService.php":{"size":4368,"mtime_ns":1782384877403158726,"hash":"8a1282441580b6b46896c1c52a6ff284279e0e3610da60c638bfce1067450fb3"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Schedule.php":{"size":882,"mtime_ns":1781551622412449131,"hash":"2ec793b26f528520f7f80ce26684ea383b09eb5081e94900a469447ee3091d8c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Secretary/Controller/SecretaryController.php":{"size":10070,"mtime_ns":1781522583736830703,"hash":"581abaa41c138ece2fb0796f9ed8e43158f848aad1efa337c5076f8a290f6b72"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Secretary/Entity/DoctorSecretary.php":{"size":5203,"mtime_ns":1782728407201032933,"hash":"7a89e177bf272aa6e20c29d8e39c66c4e9f761daa1875a073525369cebc48193"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Secretary/Repository/DoctorSecretaryRepository.php":{"size":5327,"mtime_ns":1782728407201262976,"hash":"bac031cd09fb91bf156e250accd69b5bb83f2af7738e8394852e746f3152dbb2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Secretary/Security/SecretaryPermissionChecker.php":{"size":724,"mtime_ns":1781012108901602268,"hash":"42ddb598442c2c167950e1a33eeceb551384377427749d0ee3b6a61f152e64bf"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Settlement/Controller/SettlementController.php":{"size":23112,"mtime_ns":1782728407201510186,"hash":"b6f3ad0ae1b555833b87edf0398a96200295160b1c6a57c26e3f751274892c9f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Settlement/Entity/FinancialBreakdown.php":{"size":5470,"mtime_ns":1782728407201776813,"hash":"a0c5e8cc2f0a3597518275c45fe403a188bbfe210fa75da65eee3ebeef594963"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Settlement/Entity/Settlement.php":{"size":4252,"mtime_ns":1782650883606160908,"hash":"36b84f9a63c52cdf4150c0848c4a3fd28a0c7a1aba6bda3f147c3dd9da2f969c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Settlement/Entity/WalletTransaction.php":{"size":3099,"mtime_ns":1782728407202004397,"hash":"d2acafb91806e555535cdbddd5151e71b71561cddf2d0872461285e6d1489b73"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Settlement/Repository/FinancialBreakdownRepository.php":{"size":779,"mtime_ns":1782293142660794730,"hash":"ae9fa6ec3678bedb9574a38678795af169ff793fe2e660d9413fe05ba1523041"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Settlement/Repository/SettlementRepository.php":{"size":2270,"mtime_ns":1782728407202173607,"hash":"9c617a929f6ed0595a371ee05d2e9d19d204ed3eb80bd0df9fe9de71fbf76e2a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Settlement/Repository/WalletTransactionRepository.php":{"size":974,"mtime_ns":1782728407202497901,"hash":"12fdfe848f6eb143b87b09645122480b33a778bdf2d9179fd9d45c27540a23a0"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Settlement/Service/CommissionService.php":{"size":5477,"mtime_ns":1782304402886645822,"hash":"643e2a0f6dbf7cbcb2f4002b3dae74d02c8d6e9f694cd1249ad54ae7ddc63e92"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Constant/ErrorCodes.php":{"size":9417,"mtime_ns":1782728407202855820,"hash":"3e172a36ac3e336ad3501c5defbd9ec894334ba4f7f720b04d4515bd6703b939"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Controller/BaseController.php":{"size":1710,"mtime_ns":1781009861592137456,"hash":"4bd3aa269121a122fcf443aa15c884adf07e0700950135a3e66dbdf27b9c2416"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Controller/HealthController.php":{"size":1190,"mtime_ns":1781009995463320374,"hash":"124d5bfe7f63a910acd5ddab19c0ecb83c9d9005786fcd6606e597e7f6b6050b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Controller/HomeController.php":{"size":409,"mtime_ns":1781248993159620643,"hash":"d08f9d35b78ee68ab06620388e34b709eab59364bd0b84e5d2e1478f45310970"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Doctrine/JsonContains.php":{"size":1061,"mtime_ns":1782050362337187655,"hash":"bc76253c31cf5a3bb23264736171549281989a4d9915b05a303647324d5aa4e3"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/EventSubscriber/ExceptionSubscriber.php":{"size":5579,"mtime_ns":1782747822711536821,"hash":"cc3e848cbd0237379c1c26afed58de7230b93b095d87ca672ffc16e88a7bac40"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/EventSubscriber/SecurityHeadersSubscriber.php":{"size":1559,"mtime_ns":1782728407203289865,"hash":"4c05cb260495d4e38a1c9f13163eb64ee0cf264d95c6f87994cc03e4508c285c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Exception/AppException.php":{"size":637,"mtime_ns":1781009868466892123,"hash":"7956e81fe8e81b642076d55380a796ca70431e6c3880db06d2fc264c8b078f82"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Message/SendSmsMessage.php":{"size":235,"mtime_ns":1781010000546687126,"hash":"daff508176e43de48738f7d7b86a97f047329c0c3a9896602933c7aa130ff739"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Service/ApiIrService.php":{"size":4598,"mtime_ns":1782750061879006297,"hash":"d2a46876b0e6e0cc5cf9a88c3ea9067de7a0f64df5bc59099c215c14a123a305"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Service/FileValidatorService.php":{"size":2743,"mtime_ns":1781946812332075105,"hash":"4c26e4f47f2793bbef582d233a1f08e96e91274448209159653ec0d95a3b8b73"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Service/InputValidator.php":{"size":1811,"mtime_ns":1782290232599858088,"hash":"3d610effa54b8c5afa1c206c0dd46ed3ead6b84215d54b39e6789c498c01427d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Command/SeedSmsMessageTemplatesCommand.php":{"size":1380,"mtime_ns":1781888665382463925,"hash":"1a62b01d290b483e8188ad1a555bb459bd780334cd28835e86bcc0517382c78d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Controller/SmsController.php":{"size":21687,"mtime_ns":1781889430823494936,"hash":"e768f521935e2bfebedf60e563dd50f8c2eaf1bec54382bc01e05aa72ba2941d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Controller/SmsMessageController.php":{"size":4104,"mtime_ns":1781888448780113939,"hash":"4724d7f809243a92d8e48fb121d8d7e946d9e4072879f7df95804a9e69e13fe6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Controller/SmsWalletController.php":{"size":11962,"mtime_ns":1782110309289351872,"hash":"6a1abec43951233b9e88021712f1159d043eb14f47473e5bb6fd41105a8267e5"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Entity/SmsLog.php":{"size":2985,"mtime_ns":1782650883607542538,"hash":"752ea776d88a216c309798cf1df356d28dac035914ea78f0af679025c38060ea"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Entity/SmsMessageTemplate.php":{"size":3865,"mtime_ns":1782650883608436957,"hash":"b91fb21ae3b217e83df16601ebac5b3bb369854fbc2fd4aae7e2430e4a417f7f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Entity/SmsSettings.php":{"size":5136,"mtime_ns":1782109802341264005,"hash":"751faac90d0b9d9320a8315e7b0765dc39d94089c96a65bacb4a59d84bc442c6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Entity/SmsTemplate.php":{"size":4085,"mtime_ns":1782650883608045581,"hash":"9c1ebef6b3ee3a4724e94af555854df18a8d5f2bba6f524781a94478123be0dc"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Entity/SmsWallet.php":{"size":1749,"mtime_ns":1781516938580571044,"hash":"af121e73720cdd1fac6a329c931f01349fae4aba0cc9ca12bf25c232ebb69e5d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Entity/SmsWalletTransaction.php":{"size":2423,"mtime_ns":1781516938580684919,"hash":"5272a1b08bc5d6f28d5d845e9201780a4804fce789175b7be82001a4102f09bc"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Message/SendSmsMessage.php":{"size":495,"mtime_ns":1781871113880839659,"hash":"e37f791352f7f9ab7ededa626d6c3d53fa7675ae4e9cd65f499d5b0f0d8a356f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Provider/KavehNegarProvider.php":{"size":2886,"mtime_ns":1782749956405975569,"hash":"8e10ac183f88465faeecb560f4dfedb97a9faacf46758d37dae0a268df96d093"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Provider/RanginehProvider.php":{"size":2234,"mtime_ns":1782749977746062400,"hash":"e2910a9314c0a63d60a4d5df210a421d12149e64db2550cb58bf021bb84f19c7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Provider/SmsProviderInterface.php":{"size":361,"mtime_ns":1781013608175277472,"hash":"225781d93f9a713aa0a979f12efff07f7805972e287cc1fe11371367bfcc4e43"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Repository/SmsLogRepository.php":{"size":502,"mtime_ns":1781013670673270702,"hash":"66b4158b7f47661bd573f21e65c35e20e22ecbb830736f07091857004868eeb8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Repository/SmsMessageTemplateRepository.php":{"size":752,"mtime_ns":1781888405897787839,"hash":"a6b1523de3a122f8c6dd8e442929ae821b0cc88dab224899c0a8cf100b6247a9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Repository/SmsSettingsRepository.php":{"size":729,"mtime_ns":1781516938580977169,"hash":"c2df1e6cc37ef5422312c0eac75fdea0d42de8e6eb822faa96e7bc5e423be9cf"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Repository/SmsTemplateRepository.php":{"size":789,"mtime_ns":1781013662226415873,"hash":"8da60c0de8613863b8928cb46c6bd846cff26539f158be4a68115ff3a6c68684"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Repository/SmsWalletRepository.php":{"size":911,"mtime_ns":1781516938581096086,"hash":"01a35794369da341601324499da53378a75ab8592d14a32b72d564b44137177d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Repository/SmsWalletTransactionRepository.php":{"size":1325,"mtime_ns":1781516938581213795,"hash":"68b117404c5f1c7c68914a367f9ac656b25cb486daeabb9808a36be205f4de56"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Service/SendSmsHandler.php":{"size":372,"mtime_ns":1781013692820181847,"hash":"f644961f4a1538c1d315e1d6000fcae2d4466975c054685003dc616186614172"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Service/SmsService.php":{"size":1914,"mtime_ns":1781888026617108387,"hash":"4581869e73129d4933612504c7f98caadb405f5a192dca7a805d4cd5220482ea"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Service/SmsTextResolver.php":{"size":990,"mtime_ns":1781888419028487399,"hash":"c83ed15618515fd7301a8fd03a409f17232d3d03e917fcda93bf1f72fc70b963"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Service/SmsWalletService.php":{"size":1830,"mtime_ns":1781516938581332837,"hash":"72dc9bef8e8ddc92b4e2053e804407f80ffde9a4b57d1dbd07095d47f6651dc0"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Specialty/Controller/SpecialtyController.php":{"size":6151,"mtime_ns":1781636247076758267,"hash":"e6cc213607cc6d3d56450b73f04c696e4f2ad5adfc6eb3ebbf85395867f06552"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Specialty/Entity/Specialty.php":{"size":2698,"mtime_ns":1781085518712241650,"hash":"683f2375f3d9528dd02e9cbfe7bd344ff51208aff0ef02dfed3d576c3460a1f7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Specialty/Repository/SpecialtyRepository.php":{"size":2293,"mtime_ns":1781636247076888517,"hash":"9b991dc48c3a9c42baad98f553ee0fa395c4b596f65e84230420929f3e32e6c0"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Staff/Controller/StaffController.php":{"size":5842,"mtime_ns":1781522583734490612,"hash":"8b6ad6acaf1a93214344464c7dcc3b9792720118a1c0963340f639a87de43264"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Staff/Entity/ClinicStaff.php":{"size":4240,"mtime_ns":1781516938581704629,"hash":"95c3df6b577ad88a80af1bec2e17b48c6d7b9f35b1a8f75490d0a1bfbc940fee"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Staff/Repository/ClinicStaffRepository.php":{"size":1179,"mtime_ns":1781516938581849755,"hash":"d83ac7466427c09ca77b63924a66dd5710c8ecc9ba3b6dbdeecc4648940a711b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Subscription/Controller/SubscriptionController.php":{"size":11185,"mtime_ns":1781522583734953988,"hash":"65a467e75d34ebf32f56e45ca5aafffb2a0560dcaf538b6e5d962b46b3265718"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Subscription/Entity/ClinicSubscription.php":{"size":4057,"mtime_ns":1782728407203534324,"hash":"a21caf7417e2a32180b91b4fe18ac8245f2b0aeb8887104b2739771151a37350"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Subscription/Entity/SubscriptionPeriod.php":{"size":3806,"mtime_ns":1782728407203839326,"hash":"0121bf60210628bcbb1cbe89419eddfd71b29c65debdbd3dbce51e2d2632c75b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Subscription/Entity/SubscriptionPlan.php":{"size":3867,"mtime_ns":1781516938582569339,"hash":"ea26b39ca447321dcd1a8f9b199a6b8e2b82c67814754709ea47570066ed15e1"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Subscription/Repository/ClinicSubscriptionRepository.php":{"size":1780,"mtime_ns":1781516938582726506,"hash":"b5459ccb551f37c349aab40fef73ac8f33414ba9f130289f284595c7b3e14622"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Subscription/Repository/SubscriptionPeriodRepository.php":{"size":954,"mtime_ns":1781516938582865590,"hash":"726666fe5f74b8a9927376e82af264b70b209a4e86d164061eb7a9b1d9440942"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Subscription/Repository/SubscriptionPlanRepository.php":{"size":1084,"mtime_ns":1781516938582984965,"hash":"1f4ddab7ada6116daee3a80a2b4ded6c8b84612e036cc16621211616ea9cb2e2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Subscription/Service/SubscriptionService.php":{"size":4048,"mtime_ns":1781516938583134340,"hash":"1ccd90f5a75d47aad2155484d487cf0dfceb319ec0b9ae4f45a30cb931e5e031"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Tag/Controller/TagController.php":{"size":4028,"mtime_ns":1781522583736261243,"hash":"59af02e5966b18ea820af39e59750ddaf6cb2a569369fabb64b15e50ec8aef27"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Tag/Entity/Tag.php":{"size":1775,"mtime_ns":1781085585665970564,"hash":"cd3edf2f90d5bdd70487b38e085a751cb578a9cb2395086bbe2964e5dbd1996d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Tag/Repository/TagRepository.php":{"size":967,"mtime_ns":1781085592043241382,"hash":"283d4f4300d6202a7ab924d3bf130f7b2d90716a520b6d40ba35edd27cc88059"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/UserProfile/Controller/UserProfileController.php":{"size":12912,"mtime_ns":1782289553079211479,"hash":"9d2e310f94dcbde48859dea9872428189b32d7f415af52e6aa5eb523c446fed7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/UserProfile/Entity/UserProfile.php":{"size":9546,"mtime_ns":1782650883615317561,"hash":"d65393c833dec86f7dae8413a72b3a6cd0cc75f3e7faf36bb02995d72b463bb7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/UserProfile/Repository/UserProfileRepository.php":{"size":1267,"mtime_ns":1782270252112779103,"hash":"d36f160a81c8fa1927ea604fb2c27f0ed0f1b33507d838e28adf9fa1fa3b6fcd"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Billing/BillingCalculatorTest.php":{"size":3007,"mtime_ns":1782214545731907969,"hash":"85b469b70480541f73092cf1593029c76fb703bdaf77f71327a0f25ecffd7924"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/bootstrap.php":{"size":248,"mtime_ns":1781009800080637813,"hash":"57ff9294703e34a685f28cd3c0e46ab54a5dd3f4fe3356c224e3aed0958269d7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tsconfig.json":{"size":423,"mtime_ns":1782729422588693047,"hash":"53fac6b4a0917eecde4dc3efc021cceca3d48600d9cfb58a3d4c946135751c66"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/admin-pwa.md":{"size":9407,"mtime_ns":1781343171405896374,"hash":"f6294cbb97d2ca4465b4f185c394daabb11f6ddacc29c2d471decb04da8c7265"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/admin-ui-kit-redesign.md":{"size":10577,"mtime_ns":1782232921465705417,"hash":"24c6ca8b5c2e6f9b9783d446829be9cd4ffe5c6b550e0754d2d4521555382892"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/admin-user-detail-show-profile.md":{"size":9288,"mtime_ns":1781549990210378142,"hash":"629f80e928f666143a4f251067bb31a4f866773e509f34b6c2d623580424e3aa"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/appointment-detail-enrich.md":{"size":4876,"mtime_ns":1781636247075313849,"hash":"a846f9cb4c0d643d7488873cd7a27a15adf39c8b1a206a371efdd0bedb472612"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/appointment-lock-patient-confirm.md":{"size":16770,"mtime_ns":1781535498213998370,"hash":"0a79349da76f2fe2c50e76e3add06522ea796a255722386426e7b7edf988637e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/appointments-day-of-week.md":{"size":15777,"mtime_ns":1781192992528836012,"hash":"73bc57098ab8816c91d042649840e5d34f5d00f096aa88b4bd3d5b9501b749b4"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/appointments-redesign.md":{"size":24082,"mtime_ns":1781173659296708465,"hash":"fe28753bae9a95b192796f18322282909e707d96f00082b8d1ce655b47d2aa2a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/build-homepage.md":{"size":4205,"mtime_ns":1781248910704293609,"hash":"4dda73a4d2f91de3fa5b641c559cf509ba8b87ec4621bf2e8eeedea3f9927412"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/clinic-detail-fixes.md":{"size":3514,"mtime_ns":1781286844618120218,"hash":"2cecd1fb0904f3aff92545007b33eb4bf970efd7b03cff7c53e6ca73dd2ef9e6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/clinic-doctor-deactivate.md":{"size":15114,"mtime_ns":1781257376721043348,"hash":"6b36b95516cd5fafc100a500b72fc98d68992d8cb07c02160a09f827e2fb58e9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/clinic-social-media-field.md":{"size":5746,"mtime_ns":1782034582969356341,"hash":"01a6fc5a55d6357607e36837cd39a6ed646f4097fd4ba944ababf826cd1f0ff4"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/clinic-view-doctor-profile.md":{"size":6746,"mtime_ns":1781361314655405808,"hash":"b7d523d90f08ea239fa8b03eae601cf68353be6f45c0192762cabfef28c55e67"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/create-patient-without-signup.md":{"size":5271,"mtime_ns":1782145462624789979,"hash":"5bf24921d4002ea348e38c87cc81bc08ef8e169924787c3c719bac9d3e62d4a4"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/create-phase2-tasks.md":{"size":24506,"mtime_ns":1781516938546554807,"hash":"f3d49625dfa644a00f6cd5a582e52d63bfefbd2db875f25164774a71cf345ecd"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/doctor-booking-window-and-month-availability.md":{"size":12511,"mtime_ns":1781535414057585490,"hash":"505938967d29a4e337e18cb22f2a299f97e5e452e05c9b94a9e409c86107f23c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/doctor-clinic-address-access.md":{"size":10705,"mtime_ns":1781362104619727130,"hash":"657c686420a8a45159812178f8a65dbc317591779844dc26b3921c536f92de8c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/doctor-profile-page.md":{"size":8799,"mtime_ns":1781175765248517513,"hash":"f1078372d9fc8eaa9196ec9840ce187d86a27b723a1c218cf872cc4e4ede5d3e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/doctor-social-media-field.md":{"size":6783,"mtime_ns":1782031213435560461,"hash":"072cbab44fe86ab89e7a46724b8631528acdd63ae0c3aee2526ab408e1c021d7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-access-scoping-doctor-clinic-representation.md":{"size":14171,"mtime_ns":1781863132633307507,"hash":"8ad2e8c5d53e8f34d69e1b4fd6ce71775720cee430130043803bc44f903341e8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-auth-token-hardening.md":{"size":12680,"mtime_ns":1781946301827134938,"hash":"a52ecdd96fda0f396864de78704f6c53efb9982debb51f4ea1a4494007f925cd"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-bugs-and-features.md":{"size":20820,"mtime_ns":1781516938546940516,"hash":"c45843d9ef701e2b73f7cd161083ffe23d315d81b68382ed4f9f45feb642c6dd"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-clinic-filter-by-address-location.md":{"size":6683,"mtime_ns":1781674935483152098,"hash":"b5aa923fc81b1ab79f29f7f02401dcfc56b88ce6bbcf0c5e015200000d7ae6d6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-clinic-patient-auto-add.md":{"size":4991,"mtime_ns":1782145525259778908,"hash":"9dcfac3aba7cdb8101c97017973a1bf7e4217f0d8df94b9dcbd1bda10192263b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-doctor-city-via-clinic.md":{"size":5124,"mtime_ns":1782040974660614329,"hash":"a3571d2085a8c4aa6cdc7094b964fbf54281b482a064cbf368f623dc5fda26c4"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-doctor-schedule-fields.md":{"size":10822,"mtime_ns":1781523041417094452,"hash":"7ceaad108bd7bcec35b9271f73308586072e8fe12be63b1dc754e5ec902bfa1d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-doctor-search-performance.md":{"size":13253,"mtime_ns":1782046573636729825,"hash":"febfb8452181a0ee429a6c1383b489ca071afe45ffb617b9343e9a406ca02d0b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-guest-doctor-clinic-context-access.md":{"size":9535,"mtime_ns":1781890240620846065,"hash":"dbcabb830aa0a81fc529eb14feeec65afdd979ac4eb7ce31c80eeb22b2166166"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-invitation-accept.md":{"size":4399,"mtime_ns":1781360063617429536,"hash":"2bc99d1a7460fdf5be3711a0add4de54d4ab78a0fc16079680d4da58e4615997"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-profile-in-clinic-context.md":{"size":8367,"mtime_ns":1781365327185378947,"hash":"f063eae11f94b2132d84b0a8472bac1d4d404a2bfbfacb049f0c583f9c586219"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-server-side-mobile-nationalcode-validation.md":{"size":8677,"mtime_ns":1781945049606053409,"hash":"32049409986f11fd29d302dc3e1036cab7172ae9033c3901e0622e8171fda14a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-switch-context-role.md":{"size":7032,"mtime_ns":1781363356184798552,"hash":"74cb88449b93fd682e3ac81a322e1d405d54e111e172758e5b10ca80437e1a3b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/implement-phase2-backend.md":{"size":23991,"mtime_ns":1781516938547317892,"hash":"ba39a2e1ccfbc1a98662ecc71225aa32583a410df8e238dad15de69a62fdb521"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/implement-phase2-frontend.md":{"size":28042,"mtime_ns":1781520442021329832,"hash":"4faf26a0b91c83a3c183e3ed929d5d2dc92e7624549af170165bbf2faa9eec2b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/insurance-pages-subscription-gating.md":{"size":8256,"mtime_ns":1782258337653428004,"hash":"3755a25eb7694c8c1587bfad9e02166c438ab4bd361268126cfe0f3ee553bbb7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/insurance-pricing-and-selects-cleanup.md":{"size":7612,"mtime_ns":1782253591735960479,"hash":"00ca797277e9520885bf056e719721e9d72d97c4000fbd9f8bcd69980a5bd69d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/insurance-visit-pricing.md":{"size":6483,"mtime_ns":1782214545719956341,"hash":"4197cd316ec7560bb084840cd96f82df6d524916d4a4ec4a0f71108c2cdbec6e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/location-clinic-address.md":{"size":15649,"mtime_ns":1781257855652300954,"hash":"c147a47466d89f4591d1efff242e3ec90e1b979463cc2d2ce5f65bd55002b770"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/mark-past-slots-unavailable.md":{"size":7754,"mtime_ns":1781535427967339672,"hash":"51d4e6c59bbcf69395fb0d0a1420f5c47f5c3ea5bf77e95b3180fef5e2081fed"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/multi-role-dashboard.md":{"size":47174,"mtime_ns":1781164462782884121,"hash":"bdbb8f8d4f66f36005c2c7e87f123d905c49048dba266e475c775b73d438b434"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/my-payments-list-endpoint.md":{"size":6964,"mtime_ns":1781539108766134646,"hash":"5c6b5a4fff2796f32393914512d82d2cf18fe1a2bb5c70f7087c6152451e2ce9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/national-code-unique-profile.md":{"size":9589,"mtime_ns":1782270001832720420,"hash":"4bac96e773838ee4ef912cca328f84ce957deb6c594c1a00016b305380c93112"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/new-visit-modal-ux.md":{"size":5602,"mtime_ns":1782145407253133698,"hash":"5ec3558c752110146df788f8f2f85025c4ff17876ace24f8de0b2208013a622b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/patient-record-profile-binding.md":{"size":5004,"mtime_ns":1782145573523412851,"hash":"5195bc67dec077d35f5220df58a5c2ffbb62fd44c881cc9e51d8aa53a08d065b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/payment-test-mode-ui.md":{"size":7973,"mtime_ns":1781516938547896351,"hash":"a37f514022aea65c1e8d35c8855c087e0913c650a642cabdd39f9690577d8cd1"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/payment-unified-status-canceled-and-managed-hosts.md":{"size":11866,"mtime_ns":1781591920505562932,"hash":"32799eaded7c02d109b78be529dc0ecc8b7fc0b500326573428a365e21869b74"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/pre-registration.md":{"size":12415,"mtime_ns":1781252082262696147,"hash":"b1857341551ffad0b98d9d867f3caeeb8924c5b903099e9f2823620efa8eecc6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/profile-birthday-jalali-persist.md":{"size":4796,"mtime_ns":1781597628367003291,"hash":"e90db79d423bcbe97680ffed422228037e2843e8169bb1188237f7f6b6babbd6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/qa-bug-audit.md":{"size":10008,"mtime_ns":1781892497314247088,"hash":"63ca9f918e24b1c15839c13744045e0b8aac212279b5b4fbfa5ae619b7709804"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/rating-multidimensional-and-rich-comments.md":{"size":12831,"mtime_ns":1781557035802767573,"hash":"332d9f393aee67c403841f184f3e6c069edaeb4459b4ee328a9310055f937cef"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/rating-require-recent-confirmed-appointment.md":{"size":9517,"mtime_ns":1781557035802942698,"hash":"305ff640dad68d7e842a5825bbf7a8f4cdb02b145eed8b782c1151db3305632e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/representation-admin-panel-access.md":{"size":16498,"mtime_ns":1781857058512546863,"hash":"72c1500ed688169cfd796adcf9554b63994849119943dba5d5a70883eb5a8dce"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/representation-commission-tax-engine.md":{"size":21994,"mtime_ns":1782292728412115840,"hash":"ca8cb1567b8434a59f5717a4b33c6ea142e69f4d1010df15010081905b556669"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/representation-domain-guard-dashboard-settlement.md":{"size":16314,"mtime_ns":1782304099038050829,"hash":"be8842b5ac2c5a57277b047c4c6ac3f828ae302dc6a94569e8f46760564b90d8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/representation-identity-iban-verification.md":{"size":17082,"mtime_ns":1782399022752193648,"hash":"59271ef71e8e71f9f1bb9dcde1aea41565a2dbef6ed9aa8d35b1e7202c685f38"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/schedule-cancel-expired-appointments.md":{"size":8800,"mtime_ns":1781551622406496621,"hash":"43d63ab1fbae2e6e2d5192d922a09293b1abbadddfe98819e39671dc00e04a99"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/secretary-context-scope.md":{"size":14283,"mtime_ns":1781520442021272248,"hash":"e684ae83cc15db840406769e15852b219ceff63405fe6064bde19263b2fccfdc"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/seed-realistic-data.md":{"size":14531,"mtime_ns":1781519566626148059,"hash":"6b2eea6f45404e64d2b8b3998a117e8bada7517c880339af1fc4ff72cd0409d2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/service-insurance-coverage.md":{"size":4046,"mtime_ns":1782214545720279342,"hash":"3ff0f0f6b3a99f5facadc19ce455b27c8cea3020038a1b40bdebda4fdbaf84f5"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/service-insurance-per-insurer-coverage.md":{"size":14249,"mtime_ns":1782259799527430466,"hash":"295cae74decafadb2379fac86ac7ac1f420042d715f798d5024b03362560363d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/sms-log-tags.md":{"size":15685,"mtime_ns":1781870909734605934,"hash":"abe301d83cba0655c353e32c6f55a9bf20dc808d033c9f5d1e40f8fa9ad5bd62"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/sms-login.md":{"size":9252,"mtime_ns":1781255737102412820,"hash":"af6300f99ef2e66cad5abf34a421e4c3f2d34995535a907f82aa86cfe4c29b74"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/specialty-doctor-counts.md":{"size":6533,"mtime_ns":1781636247075492016,"hash":"32a97260ea56f3bd9529a034cbb791df59ce29ca60d9966a24d469cb743fee41"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/subscription-gate-ui.md":{"size":17009,"mtime_ns":1781520442075008039,"hash":"81757bb902f7ddb74f51b2aa43612d9c73fbe20abebbc2f046a6014498f9b58f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/sync-user-realname-from-profile.md":{"size":6614,"mtime_ns":1781594222051658800,"hash":"b9ee6559e409596b698b855fe4ff283fac5a062a218b4aea42a3b09d14a8fd0a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/ui-darkmode-polish.md":{"size":9534,"mtime_ns":1781520979984254456,"hash":"9f195ed3dccbf8df6079d978142aac339fa50d0b949526fc1b7b832af151da1a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/ui-ux-pages-redesign.md":{"size":18980,"mtime_ns":1781520442021457666,"hash":"2dce360a15f48c97610df47e5e6fbeea313e39fdc152e0d55bf687ec17784e47"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/user-profile-resolve-by-user-uuid.md":{"size":9637,"mtime_ns":1781537870411647855,"hash":"880cbf5c1bbd64937f4a197a91cdedf9c742bb3910ab2104cfb6c59e8cc7ba0c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/skills/prompt-writer/SKILL.md":{"size":5151,"mtime_ns":1781361052504791267,"hash":"abe2c711bf0a283fe50a70e5180d0ed7c7e10f7b699ceb50b4701485cf7b74bc"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/skills/run-prompt/SKILL.md":{"size":9443,"mtime_ns":1781176103482888341,"hash":"bc8c63ca2411b0ed4242f54f4a998590698d1cc62ef9b2661a84668ed1e80689"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/CLAUDE.md":{"size":8393,"mtime_ns":1781551622406854747,"hash":"1712a6a680cb00c102367be014ced75a77306c0c8ac1fbccec95f37ed31cff4e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/TEST_USERS.md":{"size":4101,"mtime_ns":1781520709654384302,"hash":"ae97e1e0de7fdd1d8dccf030c996f155262259cbd648b71d4834436f90827910"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/Architecture_Audit.md":{"size":33583,"mtime_ns":1780948937761931658,"hash":"e79771047616dbb7a604687b92ffcd47f09dc19a112fa51174cc2738a0e5c49b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/ClinicPro_Manual_v2.md":{"size":228782,"mtime_ns":1780944864742215753,"hash":"86c808b50dd3da1c5107e4b6a3a03190f30c643643ad6de4c89b2045f803baee"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/PRD/prd.md":{"size":28619,"mtime_ns":1781520442203119936,"hash":"a1691fe2f87737cd12253bac3bfda2f8feeaabc15a159a8dce6482eea7fd6e8e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/PRD/pre_prd.md":{"size":5454,"mtime_ns":1781516938560096835,"hash":"4736bcde5ba8e7c73405d0e7c31b6e2651b65d475e4cb9a924ae152b799bc4f1"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/admin-ui/ui-design-spec.md":{"size":20687,"mtime_ns":1781024129379257560,"hash":"60176b60869538ed763bfd4b0d02c138481811e62482b73c41693ea5393e8460"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/admin-ui/user-flow.md":{"size":16280,"mtime_ns":1781022482742007613,"hash":"aad348887a0347a4d348eb228959ef9e44099e2c4e60959d0dc06d976ebe7e16"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/README.md":{"size":3621,"mtime_ns":1781158395412841916,"hash":"8ddb00666307b307dcaba4c0b7b4f4c13e5f31502f7d20d5c3a8a82729c606b8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/admin.md":{"size":29605,"mtime_ns":1782750435771295635,"hash":"6b0c84481084c4920b085db292f903c4d296f1bc05b91e906e5917ad517660f3"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/appointment-settings.md":{"size":16574,"mtime_ns":1782728407106610964,"hash":"540be837def81a7c24a001654fde543de78f168ba34ed839c6e6fd597ea55ed6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/appointment.md":{"size":16822,"mtime_ns":1782728407107114384,"hash":"7b39650f7266519461983913a0c78e186275d036101a827049dd6f8c3574707e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/auth.md":{"size":18998,"mtime_ns":1782728407107527803,"hash":"3ef75b524c4a8eb4748ae652659d5849cf3a6359015216d8f24b3a0f555efc6e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/billing.md":{"size":10078,"mtime_ns":1782728407107896681,"hash":"c9f6afebfd6b6f7a7e55bf1d14c8123f9230a99fc566c63aa9cb4d01b6204324"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/blog.md":{"size":5522,"mtime_ns":1782050526553302749,"hash":"fc22dc80387b6c8f477854a19dfe01e496b90b688020325f1df589e0ae5cab8f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/clinic-invitation.md":{"size":9237,"mtime_ns":1781360269658725816,"hash":"50b040f0cc844000cdf24ba7971b4bfe4367e7980413f2dd90d7187a4e0c9991"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/clinic-services.md":{"size":6228,"mtime_ns":1782728407108299892,"hash":"d03260630a54476e8c29c60a2eb6540abb203d81d7656a95fbb1381344ad1a00"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/clinic.md":{"size":14733,"mtime_ns":1782035382888801592,"hash":"f92d6767717fca87e08884cee26a75a77b5ff8278bf0f6a0219245b3028130ca"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/dashboard.md":{"size":6099,"mtime_ns":1781516938560827336,"hash":"8368266c4453ba5364ed0787679059288d98527506bf05a44f86b5a31a7e0a6b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/doctor-service.md":{"size":3285,"mtime_ns":1782839237808648869,"hash":"8db2c22f2fafdb62913657534ac8b49778de786e78cd200e4a35d5cef3cee0c2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/doctor.md":{"size":13600,"mtime_ns":1782728407108632102,"hash":"9b489729903535dc83ff137376247c057a7b537da0e8ad41d7a62c7163119c63"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/insurance.md":{"size":14363,"mtime_ns":1782839237808906660,"hash":"de0f23dce595f64032e3422ab8ec643d7b27948d1b3a846aa718d1fad6df87dd"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/location.md":{"size":5355,"mtime_ns":1782839237808473953,"hash":"c6d9fbd080fb7897206b3d9dc7f5b49cf347fe29ca6428e30e9e9948727ccabc"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/patient.md":{"size":11646,"mtime_ns":1782289600489452444,"hash":"37294299886dbe4d8227c8fdc5afea62f50755e0fd42f229eedc58f1a036abb9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/payment.md":{"size":11302,"mtime_ns":1782728407109555775,"hash":"199db5f2b3eb3e52fc2e42ce726e34b0b1cfa288085076a5eb2350605e23b48c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/rating.md":{"size":11090,"mtime_ns":1782728407110670616,"hash":"61914c5f9d29060ba157369cf8e82392cc6b094df3f3a1423904c2988b19def9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/representation.md":{"size":21174,"mtime_ns":1782728407111252662,"hash":"5885967c5170bf2400f9732554f43375edc13e81715385df337db7eeea45295f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/secretary.md":{"size":10497,"mtime_ns":1781520442059899034,"hash":"06548919f6a826850f8e2b392875bb773a3dd1bfe0c670321e68b8fff30c132b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/settlement.md":{"size":9976,"mtime_ns":1782728407112458962,"hash":"ad88d08fd6960cb9bfd932b91def2ad395a50c391f7692e9ec30fa4dab681722"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/sms.md":{"size":13363,"mtime_ns":1782367200506345625,"hash":"ad782caaf9d874097e138f7407bbe018dfb48d8860d052eafcedfafd04a9b85b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/specialty.md":{"size":4612,"mtime_ns":1782839237808248370,"hash":"a024e860e973def0803da5f84669451313079c9b087f2dc5e185ef1f676cd033"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/staff.md":{"size":3093,"mtime_ns":1781516938562286131,"hash":"b3690ab9cdd530eb6a0180f96f08a258ccae0c77d31416e80f49a92974eac730"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/subscription.md":{"size":5356,"mtime_ns":1781516938563076716,"hash":"0bfc1f146132195c74357b078df7c099d0dbff2c90ed2bd65f5f5c476dec793b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/tag.md":{"size":2788,"mtime_ns":1782839237809069869,"hash":"44d523853c3cf5679d907526a3b63b6fed530e55195a26cf4f433b4bfdc80b64"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/user-profile.md":{"size":7549,"mtime_ns":1782289592597934192,"hash":"5d269afd10ce9174f3ac63fb4fdcf1cb7272564925db2d3f5f7e75df50c42925"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/architecture/insurance-billing-system.md":{"size":22566,"mtime_ns":1782214545723920606,"hash":"afec1678fc22a9caa8f39eb9fac3f934751dcd6a315ac1441f1378193b88ba0b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-10-staff/architecture.md":{"size":4831,"mtime_ns":1781516938563423092,"hash":"589134d822642da7433ffa06823f4e2c79ad74e3feb135df95e581377b01ffd3"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-10-staff/database.md":{"size":2045,"mtime_ns":1781516938563622759,"hash":"580ede75d18ef6d8117ef56ab233775e5143bc25de4716cfaf53464bdaeac599"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-10-staff/task.md":{"size":2775,"mtime_ns":1781516938564295343,"hash":"b55eb66cf597d5665d57d79f268a2fc106da8a8e01c18d7f8da2327da6dc7927"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-10-staff/user_flow.md":{"size":3553,"mtime_ns":1781516938564465635,"hash":"c5436837b9320d6cb9e5f50e7e6b7aeaaa8bdb8dc9a68fa4b5f4b22fdd58002a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-11-subscription/architecture.md":{"size":6182,"mtime_ns":1781516938564667844,"hash":"97af6c2e032264f5dd128efc6ec07a4c1c23664f325cba46bc7dca9da57b9578"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-11-subscription/database.md":{"size":4694,"mtime_ns":1781516938564824594,"hash":"3b798be28cfff874d1b09b25429767e7c928e7c0fd9a9db2a9685f429b299299"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-11-subscription/task.md":{"size":5322,"mtime_ns":1781516938564985928,"hash":"46d7f8870c6b9f46071a717d0235dceffd7d25508ca4f69886e5062c8b37d0e1"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-11-subscription/user_flow.md":{"size":5889,"mtime_ns":1781516938565157637,"hash":"d11628bbcd90efc0d3d09961a2ed62fe3707c3f5b60bbbfcc615da3b7180acd4"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-12-secretary-completion/architecture.md":{"size":2393,"mtime_ns":1781516938565327637,"hash":"d036ecddd7c889f68aac644919fb9255189de2f82cd62e3933b860bc348d34a2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-12-secretary-completion/database.md":{"size":1646,"mtime_ns":1781516938565469596,"hash":"bb7eaeece88f414ea6253e95b2acbbdbbf74396c5e51b213301593f2aa5d409c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-12-secretary-completion/task.md":{"size":6288,"mtime_ns":1781520442208567994,"hash":"f18a2edba4a0b75fef8e08e155a4cf100b8a98e463acf88d31d506c195f5b27b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-12-secretary-completion/user_flow.md":{"size":3821,"mtime_ns":1781520442059890701,"hash":"72aca8c6bba58695e7e1b63a3aa709d1068753beb31b981c648564fb822e4fec"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-13-clinic-services/architecture.md":{"size":3719,"mtime_ns":1781516938565894180,"hash":"c2c7361b57f654925f2801d0820f78bbbb97dfbd07c808b4ec304f7938139151"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-13-clinic-services/database.md":{"size":2673,"mtime_ns":1781516938566026680,"hash":"de17f21b92fb807651d65288c8539699aad5597b8e541e47c9bce4dd0f97b696"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-13-clinic-services/task.md":{"size":2931,"mtime_ns":1781516938566167056,"hash":"87038a0b3a2f872944d232bcf66eb5fab7676f00a9d29319c082a4b576a1fc40"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-13-clinic-services/user_flow.md":{"size":4046,"mtime_ns":1781516938566343181,"hash":"4bce3394d64f2c1d3441cd2c3ad717670d1c91817b9015db00aa9ae4eead4f66"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-14-sms-panel/architecture.md":{"size":5145,"mtime_ns":1781516938566580015,"hash":"14afd5263c7d520a89f36bbba8c8a1884f88df74d09afe4caf7464025ee25063"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-14-sms-panel/database.md":{"size":3803,"mtime_ns":1781516938567109641,"hash":"2a952887767f9f9811df0c99a9bc2ba9986defd5ea1caf3ed11080ce11c61f1f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-14-sms-panel/task.md":{"size":3454,"mtime_ns":1781516938567288849,"hash":"5badde1225cf74657f886825aaaae8582c1c627570f655ae9f631144bc75d7a9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-14-sms-panel/user_flow.md":{"size":4630,"mtime_ns":1781516938567444933,"hash":"8e4bcbd2fd0a486d4942df7ced8131738816487d2c16f0a05730d4c190a10296"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-15-patient-records/architecture.md":{"size":6622,"mtime_ns":1781516938567688975,"hash":"138a7655a0efa500b4a9a8f829bebbdff35803cb3abfd3da7f4d4f362d7b63c9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-15-patient-records/database.md":{"size":5463,"mtime_ns":1781516938567863767,"hash":"1dceb66c7a12a35660145fdf3bf0bbe4d5b8275f5b45bf86cbba4cf80f64675a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-15-patient-records/task.md":{"size":4809,"mtime_ns":1781516938568156268,"hash":"1222b425e9e9856e291b8fb39c28348287dbafcf7b0a30531c5bab8642d2cb17"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-15-patient-records/user_flow.md":{"size":6283,"mtime_ns":1781516938568370060,"hash":"e28725b4fd619e8e105951b570c0066efb23fd6f378c1939bbe5cfcdad47b2d5"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-16-smart-dashboard/architecture.md":{"size":3095,"mtime_ns":1781516938569635604,"hash":"6494802db54a411d47ce102df7a5584c1e7db3482aad69df967bf1ca71c5ba58"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-16-smart-dashboard/database.md":{"size":1971,"mtime_ns":1781516938569893480,"hash":"ec0826918bb413f88d2d989f514b0c75a8cb932d11476d2c6e46908ce87968e8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-16-smart-dashboard/task.md":{"size":2630,"mtime_ns":1781516938570195856,"hash":"19bc98b5866f489ff0cafdb3533f2698de3546aef26ad438d16beb2d7218c859"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-16-smart-dashboard/user_flow.md":{"size":5110,"mtime_ns":1781516938570362314,"hash":"3572f80a2a4741eeaa91c80e9c362bd8ff452c14c4d1f052efad6467db72ce60"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/qa/bug-report-2026-06-20.md":{"size":6123,"mtime_ns":1781932195178136627,"hash":"12f46177c25b3354d11d67086bea1387dfc7c630aa26c3ae766c680f2843640e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/security-audit.md":{"size":17685,"mtime_ns":1781029533522601843,"hash":"a4ff28a805763f65454696132ecea7011101bc37b1b6517222f1c75daf450ab1"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/README.md":{"size":3380,"mtime_ns":1780914526335796118,"hash":"defeedb0410731f689fba5e8e2c6f3e35b8bf9e5e284dad43313a1184b58b1ae"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-01-project-setup/architecture.md":{"size":4379,"mtime_ns":1780948878189677238,"hash":"01cbb020665bc50a95519b010c5cb4bdcda727e5e3b11144854ea69380bba84d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-01-project-setup/database.md":{"size":2777,"mtime_ns":1780913653761675119,"hash":"6ad045e9dcec53f77822e126640dacb6bd22ac3baee94373331ba46567bf37f5"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-01-project-setup/implementation_notes.md":{"size":11109,"mtime_ns":1781000268522993445,"hash":"7fcefe550ef23683ee4ed703af2881fb5c985930b4d1a3ab7c93a74ef491bdae"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-01-project-setup/task.md":{"size":15372,"mtime_ns":1780948866192116618,"hash":"311edd5597e787245e16d25b061f5faccd468d3d7a63ebb05bb04e26b3c7218e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-02-authentication/architecture.md":{"size":2897,"mtime_ns":1780913716805987120,"hash":"ee14b45989f69598f9862c975c097e7c3cb720c2bb06967b9787307e7acfe361"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-02-authentication/database.md":{"size":4381,"mtime_ns":1780945850080810308,"hash":"d1ce5e67b210864664df658d7de16fc479948f90164e90c89f53c33ee6de069a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-02-authentication/implementation_notes.md":{"size":4894,"mtime_ns":1780945075278630018,"hash":"8074b8f1bfe41c918b96cb9ab1c78937bf5986feb3ebe9db3c3ca7af88d7dc2e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-02-authentication/task.md":{"size":14847,"mtime_ns":1781000259106649518,"hash":"500d89358f6bf99cb445fcb71f0fe67afc142c3c607ccfb030cbcbea8409883e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-02-authentication/user_flow.md":{"size":2706,"mtime_ns":1780915019246111035,"hash":"03ed965fb14b51c065108f4eeca9672f20e8090195fcc442de5c5c60c950ec10"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-03-user-profile/architecture.md":{"size":2719,"mtime_ns":1780913810512596011,"hash":"1a83b9b76c0687098bffc9471e7fb2c51a97be4939347bd11990d55fc290fbe9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-03-user-profile/database.md":{"size":4620,"mtime_ns":1780945096397670031,"hash":"8d639d843c5d51531781080fa6179168662a5cbd22af7ea828e770823d374c00"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-03-user-profile/implementation_notes.md":{"size":2408,"mtime_ns":1780913848138283491,"hash":"5a60299e3ce86373b2ae7c2e0efdc5fb85b753123cc45bb09e0c9d671d396811"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-03-user-profile/task.md":{"size":2503,"mtime_ns":1780913798113112926,"hash":"f00a38d5a28420b3a8fda800286352a56f0f98b190ec67e57e1d971debae3bef"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-04-blog/architecture.md":{"size":1757,"mtime_ns":1780913877006618619,"hash":"e63b0d01ec3714992eefec62777ee965be7af2a59d55a9e72cf87effac0f4a8f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-04-blog/database.md":{"size":2332,"mtime_ns":1780917970043029189,"hash":"ae2d7fd401bce729cba77a040a613a7f8fe0e9b20e8d4a31eaa970451296a001"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-04-blog/implementation_notes.md":{"size":4727,"mtime_ns":1780945968298846841,"hash":"92f49568f1ecb690bef8287e9455ef0b2ed56d897309ea6b8a580fa667f8a5f6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-04-blog/task.md":{"size":1962,"mtime_ns":1780913865638451815,"hash":"2884592d17fcc3363768f899a4371d0ff2f25bc05bf4ab378647224aac695fc5"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-05-doctor/architecture.md":{"size":6624,"mtime_ns":1780915477914900899,"hash":"180c8f1b3163d1c97e3add7912571278ce7d53477095695010024be863743ee8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-05-doctor/database.md":{"size":7593,"mtime_ns":1780917946898365021,"hash":"00d19e027d60b4461e43310d6445f95fab85d7b6ba26ba946e44ea001556b0d0"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-05-doctor/implementation_notes.md":{"size":2375,"mtime_ns":1780913973933789015,"hash":"1fa793e81dd07304171c11a760104acd6802dbeec00363618f5d4c1e651668ba"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-05-doctor/task.md":{"size":6294,"mtime_ns":1780946040236355543,"hash":"042d405bfc9f389c3f4031533534485742dabdcfe86b4d753c0cc052a755f1f5"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-06-clinic/architecture.md":{"size":1851,"mtime_ns":1780913996728031516,"hash":"6cb465ec4509143b1ff168e629400684e18542a7c1f616f5885f1c4f8be7876f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-06-clinic/database.md":{"size":3657,"mtime_ns":1780926795107362628,"hash":"6ae9c1c5e9c833a0781878a60323428b3388dc46dfdb5620d649371d98c03f36"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-06-clinic/implementation_notes.md":{"size":1042,"mtime_ns":1780914015153456807,"hash":"5bb3da0cf9daf5a64f1316e32f20d5a24d70ae5a639bc0d4b62a2667a6742b19"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-06-clinic/task.md":{"size":5429,"mtime_ns":1780946101876308203,"hash":"709ac2fb057f4d470a55c5e47dc0bbda7f38f6a336622fd93be0e334019ee066"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-08-categories/architecture.md":{"size":1985,"mtime_ns":1780914070674333692,"hash":"b6839bd6197cc3e53162104e0ccddcb4c0dad2d268815ce71e50591dd58dcaea"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-08-categories/database.md":{"size":3623,"mtime_ns":1780917987390393019,"hash":"6a1ac2b1feeec574386ab34b5176b6c069ee3582e7152757e4693e18440d0365"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-08-categories/implementation_notes.md":{"size":1244,"mtime_ns":1780914095217341542,"hash":"fa7fd9bc9193bd89ed8e6438a3538bb8ba6aac5dbc8859735887b8a2a876956a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-08-categories/task.md":{"size":1912,"mtime_ns":1780914058797929168,"hash":"4a40fbf276a9595d6be7409e5b8ec3ce0963f7cff1ae1acdbbd8e2a8962f0f76"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-09-appointment-settings/architecture.md":{"size":3399,"mtime_ns":1780914129817089915,"hash":"b75f451ea0018239fff4ace9a06e486880409d0015582b1aa5f843b4ff14d9ab"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-09-appointment-settings/database.md":{"size":4225,"mtime_ns":1780915919108824849,"hash":"07a565453b405723fef58584dc058518729c7d27e873492d8a3cea7e7de0d690"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-09-appointment-settings/implementation_notes.md":{"size":3094,"mtime_ns":1780945173910875440,"hash":"c75e7608c3765170173b475dc5b2b224c663e6c116cecadf38107efdc86d6878"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-09-appointment-settings/task.md":{"size":2582,"mtime_ns":1780914114135141253,"hash":"48422a947301ff86b51f11c3168ec190bfa7f9dcc10821abd5ce5b9a460979ee"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-09-appointment-settings/user_flow.md":{"size":2191,"mtime_ns":1780914171627644777,"hash":"07b7bc5971ab5201243c5bdf67eb2d111629753dd697034c85e92c96d1008809"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-10-appointment/architecture.md":{"size":1996,"mtime_ns":1780914199549617529,"hash":"289adc397ac626b52b89755bfe8648fab0d7afbbdca30005de728b7697b9a214"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-10-appointment/database.md":{"size":3717,"mtime_ns":1780915937514717817,"hash":"88321d5b96f7d4a6b8e1704430500c45915eb2e259eef363d95f26de72109092"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-10-appointment/implementation_notes.md":{"size":4621,"mtime_ns":1780915380116156578,"hash":"a83b0c475c907a8d8a30ed2d0ca711db33f60fb1e61c202b76bc4731a5bf8243"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-10-appointment/task.md":{"size":8716,"mtime_ns":1780948491117865920,"hash":"da3cd77c8f2c7ad9129a69ccf1f8dc2317dc91a1dd956cf2f042b65361be6395"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-10-appointment/user_flow.md":{"size":1550,"mtime_ns":1780914238340850115,"hash":"9f5dce77e5f9988bba7dfcc621622610a49a42e0b065b884bab56b56661cd84b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-11-insurance/architecture.md":{"size":1127,"mtime_ns":1780914261808559537,"hash":"375e8ddd7ec2c6078760759c4501a4cfbfa68fafd7835fb01fb77ec9e63edae3"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-11-insurance/database.md":{"size":1786,"mtime_ns":1780945194993545294,"hash":"d839d386d4403610f52b0415868efd6ee3555dc5b209d13ec923975ec4bb799f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-11-insurance/implementation_notes.md":{"size":682,"mtime_ns":1780914277970139742,"hash":"9f0f9dc9c02d7e8672e66bf856526f7b0ed7956b926665bf807466cb5be8ae97"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-11-insurance/task.md":{"size":1020,"mtime_ns":1780914250465105891,"hash":"6dd946fad62474b45da1077a795263188685817d871a6fe6a7a48686e24d6193"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-12-rating-comment/architecture.md":{"size":2188,"mtime_ns":1780914305970064998,"hash":"5fdcb2df78dd410d0c2d434203efb1e7a932ef9e9a17270a252584779e59f6cb"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-12-rating-comment/database.md":{"size":3810,"mtime_ns":1780915977159314990,"hash":"2fdfac8ae3f0fc238d5398ffcc770d33470901fe1d371043f2762ca15a0c6e50"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-12-rating-comment/implementation_notes.md":{"size":5724,"mtime_ns":1780946157194396377,"hash":"df382ed8eb807a193bfc884447401cd87c9a678f6ecb95a0a246468cc9311851"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-12-rating-comment/task.md":{"size":3935,"mtime_ns":1780946250306428313,"hash":"fa4fc2ef76c08670eae962ffd0a3836d7cce4469bc5f407cebff751c025e5c7b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-13-like/architecture.md":{"size":974,"mtime_ns":1780914349899858832,"hash":"a0adb45cf9f78498055809006e340318b4ca21e6f8627ecbcdcac2205f3f7b29"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-13-like/database.md":{"size":1630,"mtime_ns":1780926837375006318,"hash":"3d670c92b56d80fa1da6b751fda3b776da46ea368106339d1b80dd6012e01d2a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-13-like/implementation_notes.md":{"size":596,"mtime_ns":1780914363412821531,"hash":"d49115b6d3c76aec3c3678cc86c6ef5b394e8e63d96e493479bc79db4cd8558c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-13-like/task.md":{"size":475,"mtime_ns":1780914338292873383,"hash":"0f032e0490838820a0692ba9c0042dadce5a9558d87083874219c84dcde92742"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-14-secretary/architecture.md":{"size":1308,"mtime_ns":1780914379600079656,"hash":"17eba56cf557f9cf9d6300b9946fe25cd348fd937bd20914ba382b1a760112aa"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-14-secretary/database.md":{"size":1827,"mtime_ns":1780926849934970617,"hash":"46384e53c3b5bd73ef416c647833213a49f5eaefdd7a6c63c4227cf54e5e8aa6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-14-secretary/implementation_notes.md":{"size":849,"mtime_ns":1780914395413759232,"hash":"432b4d0ed90802ae1dd2495e54a2493f60f07ca0ca57a7e68734ff493b2c8031"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-14-secretary/task.md":{"size":9039,"mtime_ns":1781000115337852359,"hash":"322eeb47d17aa1d34573f1daab3e4e6aaaa6c89a6c97bb7be08ea4e10c475f16"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-15-payment/architecture.md":{"size":1945,"mtime_ns":1780914418815337658,"hash":"434ff7a1e4e0cb8d175321f3af647ef5276602ed753c9ca9c3c9480a7456d53c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-15-payment/database.md":{"size":5305,"mtime_ns":1780946202243066788,"hash":"86fdf19600fc6c72961d37e60d2f056f9012b1b26d0fddac2a6d31b15295f105"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-15-payment/implementation_notes.md":{"size":3038,"mtime_ns":1780915087810785770,"hash":"1fbc6a5462ddb25a89b765941b2c4eebae1b3c2e62cf5dbf48bc48015b79e6ab"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-15-payment/task.md":{"size":8918,"mtime_ns":1780948846758672237,"hash":"ae564ca5b8f57b3e399f6996c978ed63e5d2425342b6d9dc6eb0b29c90fa2da4"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-16-representation/architecture.md":{"size":1957,"mtime_ns":1780915416796818495,"hash":"9ed187252c771e6fbbbc24009d84f0fe52b4c3f565b16413ffd753c16c1793d2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-16-representation/database.md":{"size":2934,"mtime_ns":1780917918423562169,"hash":"bc18f2996973b821a4c393e627028ca7212b1bb769a7faf122fd0b7f4fc4da10"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-16-representation/implementation_notes.md":{"size":4833,"mtime_ns":1780915404939572215,"hash":"b8c731a6b5e06985b3179372e17bf6b678fd4bccf0f2a488cec7b842ecd56798"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-16-representation/task.md":{"size":4814,"mtime_ns":1780948110250153184,"hash":"ecf2f1d6b695c256805cea006ad4ea2c64d4419dba5da0e8a862ddcb78c185d8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-17-sms/database.md":{"size":2141,"mtime_ns":1780945235470226049,"hash":"4ef4177ff9c455909dc4d2d64ef4ee2fd8e1d5eaef1bda53fe9fed7923809e1f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-17-sms/implementation_notes.md":{"size":1864,"mtime_ns":1780945250993937969,"hash":"75cfb72ca7fff3f679ed78b75fb7cc251344cba57d46d4926a1ff24c61a18193"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-17-sms/task.md":{"size":14473,"mtime_ns":1781000201191461921,"hash":"b4a1a494a5417c78db3a85dc80fa158db77860e74eee9337fb15a5f5052f829f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-18-settlement/database.md":{"size":3780,"mtime_ns":1780948101369445086,"hash":"8c43bfccc6aafad28eebd86afc5b32f56ca6db3dc081b796567f4c95824df146"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-18-settlement/task.md":{"size":4116,"mtime_ns":1780948080182510614,"hash":"33696ec512d7848300e8575d2a387e09a90153045860fed8b8f2c5632b6592f1"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docker/entrypoint.sh":{"size":1468,"mtime_ns":1782633219516893494,"hash":"48c33a7c55c256a65ba4c089893e1112aea5b1320c9dc6b46f4eadb865b68ae4"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docker/frontend-domains.json":{"size":2348,"mtime_ns":1782410142646593892,"hash":"dc12d68e32830d446995ea2a8cf98fe0bc24e15d4b6b0b27dd5b97dc84b06568"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docker/gen-cors-env.php":{"size":1941,"mtime_ns":1782410159219136761,"hash":"cee724b4cbfc04771874ccdf454cb5bf04dcf63d16955f9e11357390e3a65c6b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docker/healthcheck.sh":{"size":443,"mtime_ns":1782647901237410548,"hash":"b4d2a6f75f334c832e9a015b4e296f3fb9210f128b2b1b40bfe74abf6e6babc5"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260628133044.php":{"size":1747,"mtime_ns":1782728407177086438,"hash":"5c24097f68a7696b4ae58ba6df68b6ace4f508b1f0ebf3e964fff23661c8ea0a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260628134241.php":{"size":1159,"mtime_ns":1782728407177374107,"hash":"c31886c1f10dd25296b56fb7ba336f1fc45aa45d6627ab6bdb148f18d49872ee"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260628152738.php":{"size":1873,"mtime_ns":1782728407177652192,"hash":"d7a00a9e505a45fe1056cde539a8cbefcb42f67a0c3755427d77ba12959e0c4c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260628153625.php":{"size":882,"mtime_ns":1782728407177952152,"hash":"b314e4f194586cb9b4037fb48ab8400a307ce428def8108b94616a263e24e238"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260628153855.php":{"size":1146,"mtime_ns":1782728407179127785,"hash":"1ec80db45af56adf7be93c412e0165c70fb629dde2ccc09b06a3452a66c52c05"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260628165710.php":{"size":809,"mtime_ns":1782728407179735539,"hash":"cca05740bf26d1540b361283f5a140aeb446bd717250615b7ed040977788dab6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260628173151.php":{"size":1639,"mtime_ns":1782728407180333627,"hash":"b8bbe9ad2ce3faae637534db20bfc455e288bc2c5fb3a1b9a10f4a29db2432aa"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Command/CreateAdminCommand.php":{"size":2428,"mtime_ns":1782649564990017265,"hash":"2fd1cffeb4d8299abb1a5fda3d9f29a08c882ff6e66781dffbc038ff675906c8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Service/TenantInsuranceCleanupService.php":{"size":1874,"mtime_ns":1782728407197355450,"hash":"19f366c81466bfebfd37cd2310f8602b243cf5111e51308892e196b7d5a7dc4e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/ApiTestCase.php":{"size":2923,"mtime_ns":1782728407205043418,"hash":"6ec92ce7ac31774fec6ceb5e33a073d6cdbe06044221f38e4939f99270fe8bfb"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Appointment/AppointmentExpiryServiceTest.php":{"size":2163,"mtime_ns":1782728407205393295,"hash":"5586072347e23a24fddaa187efeb93d702697b7cdd1a399909239684cf371372"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Appointment/AppointmentSettingsListOwnershipTest.php":{"size":1592,"mtime_ns":1782728407205827923,"hash":"1ffb3b0a89f531658a75520df810efc7e18022e106a75d885d92986d62ba74e7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Appointment/BookingScopeTest.php":{"size":1653,"mtime_ns":1782728407206108967,"hash":"395161c96b8a660dab252a12c063090de94131b66d672c3b8804d70800327451"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Appointment/DateOverrideOwnershipTest.php":{"size":1259,"mtime_ns":1782728407206489928,"hash":"10dfd3691f16464f1d16a317942a53046f5369260a74ce133960d1b1f30218aa"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Appointment/ScheduleOwnershipTest.php":{"size":1721,"mtime_ns":1782728407206779055,"hash":"f935dde55aaa34b8c10780019e1c8ee7f5733c602874cc951411737dc9691329"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Appointment/SlotUniquenessTest.php":{"size":2475,"mtime_ns":1782728407206954431,"hash":"0168f3c381e9da2663e2cf118fd67f5b90d2ea6e4e96433e3d05a567248961f4"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Audit/LowTierFixesTest.php":{"size":1517,"mtime_ns":1782728407207202432,"hash":"6d65ac794b959d7b177dfd5ed9792082e5f79a073b0cda79be8503b689edc907"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Auth/RefreshTokenTest.php":{"size":1924,"mtime_ns":1782728407207460101,"hash":"745716b0c8627a1f72fed9305b2dc70af84c14ed015ff3341bd3c6422ea63c87"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Auth/SendCodeMobileRateLimitTest.php":{"size":1421,"mtime_ns":1782728407207651102,"hash":"f069f1c427ffbeb082d3777ae8da34e031e940e4a0c79e5da4e80708345890aa"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Billing/ClaimAmountBoundsTest.php":{"size":1863,"mtime_ns":1782728407207878645,"hash":"0b7551406b5b0c2fe47812614e3edbf359b72ef3c0f16b12466e387c5bdbb041"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Billing/ClaimsListNPlusOneTest.php":{"size":1782,"mtime_ns":1782728407208062397,"hash":"dcf666e9d1a149bf85e0ef7869083bceec48bd8ba95958292878d73f7e330467"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Billing/ClaimsListPaginationTest.php":{"size":1215,"mtime_ns":1782728407208282107,"hash":"3d81e096e779dc685eed5920d7fef419ebf2c96e96794ae8d6222daeb0dea7e3"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/ClinicService/ServiceItemDeleteCleanupTest.php":{"size":1598,"mtime_ns":1782728407208527691,"hash":"f9809dce56ba099731d9fbf6e1da781c18acc49a758537002868a7db3efad7b1"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/ClinicService/ServiceItemStaffOwnershipTest.php":{"size":1464,"mtime_ns":1782728407208738276,"hash":"e8b808423b34ee5471e7d00407f94ed22593e06ed6c4e674f92e972ed0e8718f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Database/UniqueConstraintsTest.php":{"size":2595,"mtime_ns":1782728407208978278,"hash":"aeaae84730fbdecfb8337f25283653d3867d3cf50332e7bea917c946672c97cd"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Doctor/ClinicDoctorListNPlusOneTest.php":{"size":2457,"mtime_ns":1782728407209223988,"hash":"705820b9d1590cf2f642e6ee7391a651536104c92acf39f261e2df71516ed55a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Doctor/DoctorAddressOwnershipTest.php":{"size":1313,"mtime_ns":1782728407209479490,"hash":"8fde8b4d6db03191fc8d650bf86fa6962956b504013b76a55c4e5ae791e47c38"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Doctrine/RepositoryClassMappingTest.php":{"size":1573,"mtime_ns":1782728407209727575,"hash":"5289139754fae16d85a09fcff134ceef249968876f029c180f36b1c7d53bf5d5"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Insurance/DoctorInsuranceOwnershipTest.php":{"size":1486,"mtime_ns":1782728407209989701,"hash":"9231aaeffd13bf27869e74186679ddd38d1f6ebc9c52d36a8dad9b589bea3ad0"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Insurance/ServiceCoverageNPlusOneTest.php":{"size":3714,"mtime_ns":1782728407210225203,"hash":"dd8ffa7d6329453fa49a9403b95a13556ad08dd318c89733a202d9d6c8ecfa4f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Insurance/TenantInsuranceCleanupTest.php":{"size":3021,"mtime_ns":1782728407210448121,"hash":"986643979f19f6a7ee71127782524852eb9eb163b77db793253e95b8df534675"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Payment/PaymentCallbackAmountTest.php":{"size":3356,"mtime_ns":1782728407210719081,"hash":"1b32d36a573652e1860ae2ceaf20ead7eee9cef0c204c9d4875ce8926849e278"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Rating/CommentListNPlusOneTest.php":{"size":3794,"mtime_ns":1782728407210931374,"hash":"473c67b119935570a66ab5e75cc36311f04ce314729e75bf44fd337bacbc4535"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Rating/CommentPaginationTest.php":{"size":1836,"mtime_ns":1782728407211216876,"hash":"7d11e7ba342faf3c69e5844c1adab2aa7583b201737d16e0724d9233d00ad1e6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Representation/RepresentationCommissionTest.php":{"size":2548,"mtime_ns":1782728407211506878,"hash":"26b9f23b2462b30adea512eeb07f92f4db597a60c0ed3610a4169bd22f7c6c26"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Secretary/SecretaryListNPlusOneTest.php":{"size":1592,"mtime_ns":1782728407211848922,"hash":"bce8c0d2597c3641885ba9322eb03bada116d979e3bd7a0b4c90d5208fdd620c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Settlement/FinancialBreakdownIntegrityTest.php":{"size":1173,"mtime_ns":1782728407212105424,"hash":"3e987494345d3a7c1cc90de7b27bfcac7bc45bb54e8fa0a7a3f790bdfa406aaf"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Settlement/SettlementListPaginationTest.php":{"size":957,"mtime_ns":1782728407212820054,"hash":"74501df43886dc66c5fe19f849549a2194644dc948d94856f97d0af17c0d179c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Settlement/WalletTransactionsPaginationTest.php":{"size":1087,"mtime_ns":1782728407213026555,"hash":"8df4dfce9a91d73297d88f22e047a4127fee2b00e2fe1bc8f43eed2ff805fae9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/ErrorCodesTest.php":{"size":1547,"mtime_ns":1782728407213280973,"hash":"bf392c01cd7a70c25efe7c4ad59ffdb4579b1216576d58393c3a965524360f0c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Smoke/InfraSmokeTest.php":{"size":1444,"mtime_ns":1782728407213624767,"hash":"d8d4a8c5688d7ed7168570bfc39c3cf038e2c43324498dff3239f5668afa0a1f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/doctrine_object_manager.php":{"size":479,"mtime_ns":1782728407213800685,"hash":"7a99fb0ab55d30b31cdebe923546775d6372a0aa6e731b409c37fb8f98671f5d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/admin-spa-adapt-backend-audit.md":{"size":8798,"mtime_ns":1782728407083687268,"hash":"f7e83133c40658496827e06f6182a995ccaff35018d83b7ee8aa32aba25a03fb"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/coolify-docker-production-hardening.md":{"size":13443,"mtime_ns":1782647901236299599,"hash":"74228033d085f739ed39f615762ad721c6b3678122d0afc3f988676c4b514589"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/coolify-symfony-deploy.md":{"size":18877,"mtime_ns":1782409236333930026,"hash":"a81d0aa4535ae4be51f69d47c5101f7a72415654ded3889e01f1baf98718715a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/full-backend-audit.md":{"size":11545,"mtime_ns":1782728407084760233,"hash":"448fb57a5fdadd9bb3176b1570c0421b6459bbf2a5bd69bd4154246ae0c61285"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/home-landing-copy-and-mobile.md":{"size":11823,"mtime_ns":1782728407085277028,"hash":"596043e27126b0500ddbd861f0e7a8c17681ca49b3381da382458f2bc2355b09"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/split-db-redis-to-coolify-resources.md":{"size":12357,"mtime_ns":1782632977626228125,"hash":"6d87685ede07fb029b01d211fa82bdb7311bde9eb31ee9869992e6c49da5c75f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/DEPLOY.md":{"size":11539,"mtime_ns":1782647901238565498,"hash":"39797d5439fd4fd0fd19ae7a5b033febf0fbf6b58d07fdd1750d3aa2799b9163"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/audit-backlog.md":{"size":19190,"mtime_ns":1782728407113021215,"hash":"63afb7aaff2eb3113700644ab9bbfa07562ccec38cba4c77c0f21cd9acb98706"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/deploy/coolify.md":{"size":10378,"mtime_ns":1782410984792896284,"hash":"f1d06d336c14b8df1530ec41dd80021b40e7113be0895504f9dda70b112a1cdf"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Controller/SeoController.php":{"size":1860,"mtime_ns":1782728407203067196,"hash":"df1028d7b1b294928a318cc7c27de5ca99b00d583d81ef6f400494c22380b6a6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/liara.json":{"size":638,"mtime_ns":1782743447395127690,"hash":"337416608afe2e6e989bfd903bb5bca1e977e6f8eb5cc02ca05a46bbda53edc4"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/liara_pre_build.sh":{"size":559,"mtime_ns":1782735663785720587,"hash":"d9b9232a0f115eb1d752c2b149a5224ea030fd04d3c92ab964d53a6701d5e0a7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/liara_pre_start.sh":{"size":1063,"mtime_ns":1782747838542662883,"hash":"c5d143014bb281d056f6c286cf66faa4894b059584cceeacd150b01648cbde52"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/admin-spa-test-suite.md":{"size":19691,"mtime_ns":1782728407084188354,"hash":"73ad644cede4254811fab6f825750f127edb1b5f08b8bad25b99b85c097a9556"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/deploy-liara-docker.md":{"size":14106,"mtime_ns":1782732118990034632,"hash":"1a5f6f8bba054ea974f99dc5c01aeb19ed1cf612c3fd18a700bc03beaded2b5d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/deploy-liara-php.md":{"size":13353,"mtime_ns":1782735439025822952,"hash":"39f30d7c6d20b1869f5f06b2b532071e94b264f4bddf248c3cf84c62159ed86c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/deploy-liara-php.md":{"size":10664,"mtime_ns":1782736008651392836,"hash":"65c93d7d9e14dd468b75c5c81dee1ae6438d267253e8ad295953d3746d68d250"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/deploy-liara.md":{"size":8919,"mtime_ns":1782732335270881309,"hash":"ade1392f7cf72c544736a765b03140858e45cc5f12a480cd03ba4628af17e84b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260629161536.php":{"size":1115,"mtime_ns":1782749766472631367,"hash":"c0e9b10f345c3d894d27267c90618903fab9693fd4be3542a755fbed3787fcba"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Logging/AppLog.php":{"size":1707,"mtime_ns":1782749711194459630,"hash":"5b3237552e7ae040e5a3b2a289e8fc0f0518a1df84553665ea214efd36c2321d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Logging/AppLogRepository.php":{"size":321,"mtime_ns":1782749721788872841,"hash":"467e207cc4ef518da9d34cbc907c3de3ffc355fcd67f30c3155fe38624853f8b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Logging/DbLogger.php":{"size":3546,"mtime_ns":1782749810227775663,"hash":"4d5328c774fe4619eb75f9de434173ae4a4b5ca53f7729383399b12c2a222805"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Admin/AdminLogsTest.php":{"size":1600,"mtime_ns":1782750195979032925,"hash":"a8f899cc061053e5664833c2ebcbf1fe2613c8d5b150973bb95e621750267c61"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/DbLoggerTest.php":{"size":1768,"mtime_ns":1782749879165982208,"hash":"48db5c733cc7e02a8a226fc4ed552cd5282c91d400dc72b32f3f122c127033bf"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/project-wide-logging.md":{"size":14450,"mtime_ns":1782749549958444881,"hash":"3970d300cb4b804fed477773b47b653edb7aa3754b8cefd0e3f7d31a49417e6f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Controller/CategoryImportController.php":{"size":14537,"mtime_ns":1782839057028730482,"hash":"d12c8b8c7291a2149985c804a34191bbbf7f2050bb2264b4efca1bbef3616251"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Category/CategoryImportTest.php":{"size":3925,"mtime_ns":1782839178845925849,"hash":"03c15491170644124dd399b100bbac0982d3ffad86ccffa9a2b9f4076bfabaad"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/category-import.md":{"size":4214,"mtime_ns":1782839220815382512,"hash":"26fd005455195480c3845ca99124dee7d2bc2949e7d0c56c1fd003aff3784eb8"}} \ No newline at end of file +{"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/assets/controllers.json":{"size":198,"mtime_ns":1781030172830093265,"hash":"c2038f4c739d4a1620199394a2ccfdd5c91ef846a0f81048388ffa7b65df091b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/composer.json":{"size":3082,"mtime_ns":1782645766148245683,"hash":"d1fe8db3ea082855e8c562819934d2719debd0d5541e7eb5853d87d13cc47459"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/config/bundles.php":{"size":991,"mtime_ns":1781030790602666616,"hash":"ffc97986a2386074ed8eb1b4b9dcbca2ffa7cc6b3600a6c37e3112d6be39e0f4"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/config/preload.php":{"size":184,"mtime_ns":1781009656090972900,"hash":"718612fb509259556db6202d93b5f3b1bd85a6be6d523cdc6fb1d81b569ce256"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/config/reference.php":{"size":105233,"mtime_ns":1782645766235591855,"hash":"a2030203ccca39bf435675e884e805a2bc3db13ddfded1d346ac649bab6deeab"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/create_test_users.php":{"size":4062,"mtime_ns":1781168063674077630,"hash":"35e828a0495a0a4aaa7539781076edff3b0af2e88562ea0ae1299cfc17fa91b6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/data/city.json":{"size":48958,"mtime_ns":1760953552261818528,"hash":"4c321bdc22df2c9e02e37cb3c1a44d792710e94c53f0131f14e88f0ba60cfbf5"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/data/doctor_services.json":{"size":42359,"mtime_ns":1781085019042251229,"hash":"086809f01c4c6e77ab1161688bd03d60ff524735d0d7655cb0daa55bbb53875a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/data/import.php":{"size":5488,"mtime_ns":1781089058225002885,"hash":"7f22b1eef5dacde90d1f87178f5b446df06562e86331f2b1fef0672da6d33fb9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/data/seed.php":{"size":27683,"mtime_ns":1781090517391813278,"hash":"9f68801870c368286543040b482a6a8e9773a82506565226d705c0b410873025"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/data/seed_finish.php":{"size":10806,"mtime_ns":1781091340487318516,"hash":"f36f97df126491fcfdc438f289489a189bbc58b7fa5dc61e48a40edefb77c623"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/data/seed_full.php":{"size":42270,"mtime_ns":1781091251098443866,"hash":"da652ff8b7513cab398dc4f7d6dcc92399ef0507410f466a72929684aee6abc2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/data/specialties.json":{"size":16189,"mtime_ns":1781084374016184330,"hash":"de4ba8a0ed9fe595a89be7b4113ae37bddd5dcc5e59766f4cdf7ec34cfd44dc6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/data/state.json":{"size":1708,"mtime_ns":1760953552262399793,"hash":"3678b80abe63c2c45d0ef5f5cfd63cb46f5bcff7cb6f73fb3c8d188ce24d0242"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609130407.php":{"size":1154,"mtime_ns":1781010250896191835,"hash":"d9130e4e0fcecbfc302da5ef3184d0665ef9844067e63673b091dc6b09e5c432"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609131304.php":{"size":8945,"mtime_ns":1781010908745260477,"hash":"d8db037c64d216c9d6e3018caab7c9a4966abfe31e41794f43728ac0bd3c11bb"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609131553.php":{"size":1477,"mtime_ns":1781010960853107810,"hash":"1b3c9ad833965008985bcf3f6a1894e400bc58bb0a8de2b6bc159c31ecdcca5d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609132009.php":{"size":1986,"mtime_ns":1781011210879944205,"hash":"95e296cf289224cc43748507a9496f493d0e25b829a9e3d8bb8567f6f022d378"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609132708.php":{"size":5572,"mtime_ns":1781011630935659766,"hash":"d3211b9b4b08ad40b543052498b4ad7adeb034ffbabc4a83f761807df8e2fe9f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609133121.php":{"size":4855,"mtime_ns":1781011890870506406,"hash":"fc65641b70ce6d9bb2409aeecccb580333685ba71bcdddb72ea185fc9b717e9b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609133334.php":{"size":1529,"mtime_ns":1781012020936148882,"hash":"d2753baf2902d723dba6ef2928c65627dbc4f006c5493a45182b450fb4598fd6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609133546.php":{"size":1688,"mtime_ns":1781012150911850095,"hash":"98b56edc2e31c609f70d82d1e697c6598f3c65c4120d4e77510d19c0030e9d87"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609134112.php":{"size":2830,"mtime_ns":1781012480955463648,"hash":"ffb5700205e312f10728cd20f9638450cd2195df9627b5b51f92690526214845"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609134741.php":{"size":1789,"mtime_ns":1781012870832220674,"hash":"eb2a55b4f50f4fd58288452b71dfb5e190958cb8c775354dc9c9f99c929dfff0"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609135126.php":{"size":1922,"mtime_ns":1781013090876422882,"hash":"a736efea5774baa48ac87522442943580e9ce47cab3479e1033e71fc6131eae5"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609135514.php":{"size":1449,"mtime_ns":1781013320954994440,"hash":"e3901078cc23a4e9ba6a7b748e32fc1a04f888c8d5680da5100b26a56dcd0559"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609135704.php":{"size":2558,"mtime_ns":1781013430957508206,"hash":"6ce6851d5331c07c1f13c94f475a7f6823551927ff0b7ccfa8fddec146e69fcc"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609135923.php":{"size":3457,"mtime_ns":1781013570869080544,"hash":"b7a581c53e463fa8bfb6a7ccdd65d75c2146aa3b8190852a84a15ad2c8d3bf3d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609140223.php":{"size":1590,"mtime_ns":1781013750963170886,"hash":"c0c011d8f3040d2b81dff1ec667f2d650567eb141271ff4d368ed66fdfef9342"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260609140423.php":{"size":1535,"mtime_ns":1781013870906972885,"hash":"0fb344e74f64622b3ea3f4a29e8b6412f35ec60ee46cd25abd5ea3e0abc8c299"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260610062539.php":{"size":826,"mtime_ns":1781072744933894396,"hash":"c9a4bfd06b4bdb00f74c6a5973acbea2b86b4c8ab64c8d28c730dcdda5bc0e88"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260610092558.php":{"size":780,"mtime_ns":1781083564938987613,"hash":"7b3ae1ae82625519d5c7986d542c84dc5c37949ac4f3a8c356191dc480b7cc0c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260610103401.php":{"size":20904,"mtime_ns":1781087803230706453,"hash":"f54443ba8ee1b2d436f3e2bdafcdb026b5b3c8dae9941623fb401792aa68bb85"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260610110039.php":{"size":817,"mtime_ns":1781089244896521926,"hash":"a68634b6818f1b331bc2232ff9429792f11a7090ef18315754dbb5feec3981b7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260610110921.php":{"size":1611,"mtime_ns":1781089784421230793,"hash":"2f112d7fbfee7d1a0ec047535854cfb1bf8088099d4f5219e23f9458380f90ce"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260610111254.php":{"size":1109,"mtime_ns":1781089984946035862,"hash":"2c68d5ebfef56abee588aa5abb74a571918a0ed04eec7be7ea8039d9a12046ff"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260610113711.php":{"size":1499,"mtime_ns":1781091448606693864,"hash":"4cd9c0910a49718627e7ea3c5f6f448e6508e609c70d643e160a6c740937d13f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260610140853.php":{"size":5927,"mtime_ns":1782583543657239761,"hash":"02683252b3c23dc3005af00fc6a42cbc360a306c799a88ee722cf1560ba22da4"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260610175105.php":{"size":767,"mtime_ns":1781113873591904402,"hash":"49ffb1ef4d630a180b47d4b1f42da6c3ddf8283dc93bc192c16060cc093b5b82"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260610183655.php":{"size":2273,"mtime_ns":1781116623586431980,"hash":"e1573ba5f962b956314e7e17a8adf8fc3683dc6065c34490b60a25636d7fe4a6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260611075829.php":{"size":3004,"mtime_ns":1782626301195816873,"hash":"b3ba50cb2690810d8fb010f0ede4cf92906376908208bf0093512752d72fed76"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260611083424.php":{"size":881,"mtime_ns":1781166873770630956,"hash":"38e49fefb94b0029f3a10ac5aa846f341e47fb69686ad6d23c4b324de4b5e218"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260611084046.php":{"size":1410,"mtime_ns":1781167246413147688,"hash":"ace825e63afb52cfc794f24547a03563c501cb951545c1a8fe50e2f198e11572"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260612081739.php":{"size":1185,"mtime_ns":1781252261521732569,"hash":"abfc51c67c959f525711c661c21872e6a831079510241c197b86175623bc217b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260612132848.php":{"size":1667,"mtime_ns":1781258338612526059,"hash":"c3d155690c12d3c3243190dcc759adf44cdf6a727b3b2563ba50caa78fd2a3cc"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260614181134.php":{"size":1715,"mtime_ns":1781516938570601065,"hash":"4febd40d1e647abbd00413dbb51dc59d5f73d15a6d54d7668d08861f2e6c2d99"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260614181629.php":{"size":3515,"mtime_ns":1781516938570859523,"hash":"c8a4a0b22f709c3ad72760ab89c787f44260064e9d3222449292133d85b27862"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260614181657.php":{"size":4760,"mtime_ns":1781516938571506442,"hash":"3f5f75cf96210cabb9a36a61036acb7bea5fd01466b367725995b9fd52bedb2c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260614182549.php":{"size":2122,"mtime_ns":1781516938571645400,"hash":"1fc5633381813d3939e8513eb233bfd9c24797537a8348bc83e1f29c2b41e311"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260614182950.php":{"size":2545,"mtime_ns":1781516938571764692,"hash":"fd126b1e4e09b2f3433242d40992cb2a829d80a357faa87bf922d86bbf514c2f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260614183527.php":{"size":4022,"mtime_ns":1781516938571888567,"hash":"98a07ace9623c623dddcecb1bf1d4189d8efe1692ba261779b1f9661ac07ff25"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260615060415.php":{"size":851,"mtime_ns":1781516938572128193,"hash":"0231ff42cfb43dd4cb4ecfaff3e4f1d285d30fdd87a120fccc6046fac3d1e040"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260615061938.php":{"size":981,"mtime_ns":1781516938572427735,"hash":"1ac836b1d7089a2dd47756eb7ba0e65801105e2dda52aee3f5df981daa57db88"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260615074107.php":{"size":1712,"mtime_ns":1781516938573278653,"hash":"f16f0d0bcf5a4646bcaf98725563639c8ff8b4f2a6d8cf9b8f6a0e7bfbe4c39d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260615142236.php":{"size":1117,"mtime_ns":1781535498215147916,"hash":"27e62ea86a4f3aa8539bd976213f57efbd6eb36b8aa4798fe52f2274571941c3"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260615203529.php":{"size":1746,"mtime_ns":1781557035803907615,"hash":"b735a483f4db548f9613dd6d5efc8489f1a14559737b39f5fa9ec395f6ad21c2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260619062912.php":{"size":772,"mtime_ns":1781850555276849213,"hash":"7803c7d2fe66171063a19937794a6630d34dff563450bbcead5fa6051866ca2f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260619121047.php":{"size":780,"mtime_ns":1781871054836536786,"hash":"5b96978f092d4e81b6b9ca61e2a5d5a53e51f1b9b8bf6be43f38cc462371a252"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260619170105.php":{"size":1000,"mtime_ns":1781888467242271818,"hash":"24b56c5edca5c601b008f28dc8b642de32dceeeb408ec38cd5e3f7c40c3ce4f3"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260621084558.php":{"size":774,"mtime_ns":1782031565107938146,"hash":"1a88683010bc9f3571111e2c63fceda2062724f08e0c93a8519405d4ed8bf33c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260621094624.php":{"size":774,"mtime_ns":1782035186037116338,"hash":"846706a2c43ed5b3354ff1ebc8d0eb9d9c7dcaca94802f6b8ae4d4653eb54fc9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260622160119.php":{"size":779,"mtime_ns":1782144086923054995,"hash":"d1a46bd2a54a9e9f55a692342bbd1bc49add55e4c29368fef1c0fd6d4f8a9292"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260622163152.php":{"size":1377,"mtime_ns":1782214545724072190,"hash":"64ff3985f32d0d18646d441f0edd99be402305cbff68d66519dcb196e17e42bd"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260622171538.php":{"size":1410,"mtime_ns":1782214545724191815,"hash":"42c0bfb273a488f98079a84f3331c2000ec0018e5c1a748a4f76481853fca168"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260622173707.php":{"size":1491,"mtime_ns":1782214545724314524,"hash":"e7ca8699e56c8ce50350006668b7958af1be4663f36620a12ce34dc1fecea6e1"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260622181251.php":{"size":1171,"mtime_ns":1782214545724441066,"hash":"9a5233ddd9873b485bfcf9b9009619a42cec5bc0a4516d98a387b42a249aa0c5"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260622184409.php":{"size":2212,"mtime_ns":1782214545724627733,"hash":"caa199786e4c7016e4232e653b063278fe809536f4eb2b42305e3bd30beef290"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260622185948.php":{"size":2005,"mtime_ns":1782214545724826651,"hash":"7048fe9c1439b52f85abf3186cf4eec913eb873e8ac6ae1154712adccc327b83"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260623115721.php":{"size":779,"mtime_ns":1782215846636875546,"hash":"4c8e43a5be46030c087a8679b9b84e8cf58b4174e9228f94fa02dd0d3f2e5990"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260623173907.php":{"size":779,"mtime_ns":1782253591740927223,"hash":"237d660c556b7f37176854a98f02cd114fafab9405f9ae4945a8a75941928f8d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260624030339.php":{"size":916,"mtime_ns":1782270223182271448,"hash":"a97dc816b64080ab3aabd67347c2161faff7090629810a6db13c051991edd8af"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260624092459.php":{"size":2059,"mtime_ns":1782293101374459999,"hash":"44b5621ce383ac7cb1cea47d7006f3c2b0b47bba8d49f59c78a0df4f737f8482"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260624093738.php":{"size":1266,"mtime_ns":1782293867202071491,"hash":"dedb9cb5586cb39f3d35af323fab3e41ff8e63ca961cdb98b8a7beabd113c8af"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260624123236.php":{"size":809,"mtime_ns":1782304359030218634,"hash":"acb3129833c4f6b1ec99f90496e23400de1df0624f1dbbba5077a20500a38548"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260625135132.php":{"size":780,"mtime_ns":1782395498606655159,"hash":"a1c3aafeaa1761bfaff51ae0c523a2781cf359fca511e7aa8bd294b70011a9a9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260625150304.php":{"size":1990,"mtime_ns":1782399813900039403,"hash":"87f84613f1b928abd28cf7502c4572ebf7599d0c47d3c97497a5d74b9fb2c983"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/package.json":{"size":2261,"mtime_ns":1782728407180886172,"hash":"44bbdc99c5e4a3a3c3645f2d400419bae158aef97f432ecf3340eb902c8deab7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/public/index.php":{"size":206,"mtime_ns":1781009656089267135,"hash":"6609137ba6c6187032cdfd84e9d39097732d861414157cacbdeb77b2b271ac8b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/public/manifest.json":{"size":851,"mtime_ns":1781344581738519976,"hash":"1f7781991eb738e4d1e1d94ecbc02013b898ef8bf8a7beeecf1af9687643b4dd"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/seed_realistic_data.php":{"size":24320,"mtime_ns":1781519949285784202,"hash":"2ad075c6d333a42f3ac51adb0e1d8b444f64f3b5a01bc87f53d9522cb272ce68"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/seed_test_data.php":{"size":13557,"mtime_ns":1781169644756523490,"hash":"d5bbc3b4a96e7abf610d9cd63da61dac6b73bdd97b5672eb4ec191bbec2255e8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/skills-lock.json":{"size":267,"mtime_ns":1782232921467371596,"hash":"4b889910ed363cee9dbd7da20e9c0748ddf40dd483ed92b5e581ebedb506f179"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Admin/Controller/AdminApiController.php":{"size":100417,"mtime_ns":1782750165340121553,"hash":"5c94ca6ec5ce79cd14d07da357d72b77bcaba0e1f311e187cd3c8eeb2ab4c46b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Admin/Controller/AdminController.php":{"size":490,"mtime_ns":1781030416417456388,"hash":"7d18322ef916885ae0181a7b9dde07ab07d08bc49cbf72669f50e5268ffeef62"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Command/CancelExpiredAppointmentsCommand.php":{"size":920,"mtime_ns":1781551622411049671,"hash":"3b56ad9741a4349bd249a4a4e320f7195c320fec9a96ccde6da5b8f75d87b32d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Controller/AppointmentController.php":{"size":24240,"mtime_ns":1782304270243667628,"hash":"8a6f406c0d70ab3cc8802470ee6fe0d24c883177fb8fd436653c31edaa915e36"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Controller/AppointmentSettingsController.php":{"size":17714,"mtime_ns":1782728407188976018,"hash":"213d1b93ba08882b32a47b70be27553aae4d53bf92fcdb66d2c2876e33f0eb6a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Controller/MyAppointmentsController.php":{"size":15723,"mtime_ns":1782728407189591731,"hash":"36e9472f0cdcf7178c898629a676f50452d0572c9dfc7f6c0d3f91a602716a0c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Entity/Appointment.php":{"size":9871,"mtime_ns":1782728407190164318,"hash":"199c0bce6c58ae43bfd76f426a9b879985958641a5730886b73f925b79e85395"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Entity/DateOverride.php":{"size":2925,"mtime_ns":1782728407190402153,"hash":"c59fdb6d3f05bdb6cd558bb74e701897aa14947acafadb64943469c19fe696f0"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Entity/Holiday.php":{"size":2953,"mtime_ns":1782650883604011152,"hash":"45b9c56571e20dfc0cabc789b083e2099273efbe5c0a589268a7f5e35106e631"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Entity/WeeklySchedule.php":{"size":3519,"mtime_ns":1782650883602991274,"hash":"ac7a64333676e95bd5f9a78c22fe0f83fcad6bf96d65ae2605685ab8c01ed453"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Message/ExpireAppointmentsMessage.php":{"size":85,"mtime_ns":1781551622411423796,"hash":"094a07b7c7552dd1c2812e066ae7e9cde6dc6bc9ca4ef07e11b82f8feec45fd6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/MessageHandler/ExpireAppointmentsHandler.php":{"size":504,"mtime_ns":1781551622411619546,"hash":"8981c0048e84b26121eb8e2a6e1f9913a7d61d958a48bc4bee113df6c0c77a80"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Repository/AppointmentRepository.php":{"size":7660,"mtime_ns":1782728407190649529,"hash":"293ee69d87a2ee0421f6a4f73ef854b9fd7d261642ac34795a453438ac762b39"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Repository/DateOverrideRepository.php":{"size":1119,"mtime_ns":1781012268350237489,"hash":"f383ecc7f0712616f9969689e3a2011faf49b3ee6c2ec3fc6751f0e93560df91"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Repository/HolidayRepository.php":{"size":1768,"mtime_ns":1781099253934669137,"hash":"f886ede4b1998bcbd43c335af00c205c410cfe7bd74b17c12add062b12b84d7c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Repository/SlotTakenException.php":{"size":101,"mtime_ns":1781535498216404171,"hash":"e6ca84966b94b947c7df53646b8a0c5b1a5f5564d144e2b0e00b7756c97d718a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Repository/WeeklyScheduleRepository.php":{"size":1480,"mtime_ns":1781523180068721029,"hash":"8a3deac81ebf1b16b5221f172aeefc9a45009658b7820e6e8597a589ea3af936"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Service/AppointmentExpiryService.php":{"size":1834,"mtime_ns":1782728407190939073,"hash":"0e08a53cd50f1fa75c2998ce2d39400cf116f1e7d5632015fefd589ca730e771"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Appointment/Service/SlotCalculatorService.php":{"size":11056,"mtime_ns":1782217986438154633,"hash":"b42aeef988db241ca6b6bba68a3932214b3a0bcd6b89e1185883c7a52ee8be3f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/AuthController.php":{"size":36120,"mtime_ns":1782728407191234283,"hash":"d7f98b20db8f66beaae6688b6a84f1692b43437de6e85a3808774743694f3c80"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/NotificationMobileController.php":{"size":7438,"mtime_ns":1781888558424222836,"hash":"f741f4d2cc7d43672b9c3ba189b7a6164cd5ef1031a02a697a6971287f6ac9be"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Controller/PreRegistrationController.php":{"size":7871,"mtime_ns":1782728407191857954,"hash":"fc3c53bab05acd5e3c477e5d05c90964c4e7172f3afe5c96d11376a85510b1d2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Entity/MobileVerificationOtp.php":{"size":1930,"mtime_ns":1781167196281533241,"hash":"511faa2e0698158b312aa66c5b7d54539963056b011200b3a7b86a65651e56b7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Entity/PreRegistration.php":{"size":3061,"mtime_ns":1781252232305967808,"hash":"74a388c7ebafa889c4428ba1538ac46ed8f1f5c6ef5a34975016f85a128c5f40"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Entity/User.php":{"size":4972,"mtime_ns":1782728407192144123,"hash":"83e9341f771214eaab94dd7c4f0aa2de0e5c0528a0fa5eb4927659f94bc7ddf0"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Entity/UserActiveContext.php":{"size":1160,"mtime_ns":1782652951356493481,"hash":"1c60c30e2800176bb2dde9730607d081f2fa1a05f8f6ee6e917ad256bcfa73cc"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Repository/PreRegistrationRepository.php":{"size":842,"mtime_ns":1781252241014651656,"hash":"050d7fae8134856aeccfff39607f5cfb44e8b923e13d0235411a577b78a6f96d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Repository/UserActiveContextRepository.php":{"size":952,"mtime_ns":1781164699567301035,"hash":"22c3a507b65fe3f858806b1d7bed15411be794586278ddae7ac5ebe09782bbd6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Repository/UserRepository.php":{"size":1023,"mtime_ns":1781010107490769863,"hash":"748b70a06bf6833d94e5168e4ebc06ad7faf0dff67f5f099f595f10cf4f59137"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Security/PasswordAuthenticator.php":{"size":4195,"mtime_ns":1781946748878509164,"hash":"abec4d9e6782d2833c1eb7862460130ae093b20b5afd4e1ca468f9ce784b53ef"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Service/OtpService.php":{"size":3228,"mtime_ns":1781946485891979924,"hash":"e9d828bddc99129d0ac0c37ce23b83257fec16b7033074557acecb4757d88f14"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Service/TokenService.php":{"size":2166,"mtime_ns":1782036558107915300,"hash":"3b749587b4c8ffc2d0fcf9a266ab32aff75b1681af31e6797d8046dd3ee36713"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Contract/ClaimSubmissionResult.php":{"size":509,"mtime_ns":1782214545726213864,"hash":"5391e205be5e00bf0cdd088d6f9b52427e30e3a5d29d2c0ae39753b15b67fac8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Contract/ClaimSubmitterInterface.php":{"size":461,"mtime_ns":1782214545726346198,"hash":"9286f1fdb68765c4512fa8aa302156a4fc54df7af3fb5d5d1e2d59c24111c3db"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Controller/BillingController.php":{"size":13703,"mtime_ns":1782728407192799169,"hash":"7226845540da9c2d9121eb7e25eab910b5d60d45d0f5dc14321ce9379b079967"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Entity/Claim.php":{"size":6465,"mtime_ns":1782214545726749575,"hash":"85028f866ff4695fa0095e4ba3191a385a63fdb3aa1f3222fda2d94b61d6d39c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Entity/ClaimItem.php":{"size":1646,"mtime_ns":1782214545726889450,"hash":"0e3bb1ebc45d4c045ef0e6fe09170976c315d7da410efd79bdcc53189e9dab49"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Entity/Invoice.php":{"size":6079,"mtime_ns":1782214545727230826,"hash":"02081acac585d1cfaabd1d404b0bb25c7bcf25fa51e32bf986cd75675d14ac24"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Entity/InvoiceItem.php":{"size":3448,"mtime_ns":1782214545727383452,"hash":"63280ec10f55dc16106afecac0784a9094ce12fbd3787a482a75eafe451aa5bb"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Repository/ClaimItemRepository.php":{"size":895,"mtime_ns":1782214545727554077,"hash":"9f606952d141e1db9f444ec80bba343c34a5c39f905f72c53c76d7cc7dc58f89"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Repository/ClaimRepository.php":{"size":5807,"mtime_ns":1782728407193826801,"hash":"26fd73c5de681031611a56b0e9a1140cf3b4c1088059ba954e7c3c8a344392de"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Repository/InvoiceItemRepository.php":{"size":2056,"mtime_ns":1782262433593751772,"hash":"6a2e18c9de2434f67ce2250dc17ec50a29f207b95ca2fc6e2a9c7d338a67a67e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Repository/InvoiceRepository.php":{"size":865,"mtime_ns":1782214545727978079,"hash":"71c55535e6b20d820e351a26af6bd1c1b6cb26c371414e611e8e858c2d8486f9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Service/BillingCalculator.php":{"size":1975,"mtime_ns":1782214545728144705,"hash":"9751645f561446a0d0f6a618cbbeae012f7f2274c5c1fbb4379220b995070f16"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Service/ClaimService.php":{"size":4124,"mtime_ns":1782254015995593528,"hash":"f04e02faaf3d8f49d493c2e77f8f80120e8de353af185e624996c9b14e36267b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Service/InvoiceService.php":{"size":3335,"mtime_ns":1782263056583478624,"hash":"411b9e4e6aa41a158211959c5b9c4c286ada95c8b68596364eca3b1cbf436e86"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/Service/ManualClaimSubmitter.php":{"size":771,"mtime_ns":1782214545728543539,"hash":"11064e4cf0182849f67012ead852a3b45c2d8b66693e9680bfabf4094c3b9d40"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/ValueObject/Money.php":{"size":775,"mtime_ns":1782214545728705873,"hash":"97c8de0bcd950f7b29c8f8fb87d33f4cb79bd0b17e531592c80fa5fb5c0e6de8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Billing/ValueObject/ShareBreakdown.php":{"size":599,"mtime_ns":1782214545728844457,"hash":"98b4c746ff1d241697d227cd21bf6a8b010cea93dbf0a219f89910456c511ac1"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Blog/Controller/BlogController.php":{"size":17742,"mtime_ns":1782050215484280688,"hash":"4bc5e62060b6e27970972698933b7e9b6f63a4eba44cac9fd08cabb6d5c355f2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Blog/Entity/Blog.php":{"size":5562,"mtime_ns":1782650883613744390,"hash":"5e6a312d48b1efacb7e4c14b87a658d1ad64bf0d3aefa5bdb2008011cb3b175b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Blog/Repository/BlogRepository.php":{"size":2133,"mtime_ns":1782049659479434537,"hash":"a15b4c1c26d71f5cd0b0d4e3c913702999a475ae13abd7d8eb29ab20e033adee"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Controller/CategoryController.php":{"size":1776,"mtime_ns":1782728407194246845,"hash":"1be28d02d6f241500cc7a55f1a597962d80b5f72c814c9308fd6811029aef714"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Clinic/Controller/ClinicController.php":{"size":34368,"mtime_ns":1782035216514487631,"hash":"434df68031d6367be88eaa0faa9ed185484cd9e7d4e4b4b9e0b50d4d743e18a6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Clinic/Entity/Clinic.php":{"size":12311,"mtime_ns":1782728407194604639,"hash":"d192f3609f782986a1c36a6236066c503364b8d1bb7312c928e7c9ff1a2f5d80"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Clinic/Repository/ClinicRepository.php":{"size":4495,"mtime_ns":1781782025398193552,"hash":"e6a358cbfbbd1bd23e4e823ad1b981c488de8282df7bdcf2eea921232be0b090"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/ClinicInvitation/Controller/ClinicInvitationController.php":{"size":10193,"mtime_ns":1782728407194937600,"hash":"9e968ad47c34e34775e6793301147eaf9768692a8f254ceed37152207ae3d202"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/ClinicInvitation/Entity/ClinicDoctorInvitation.php":{"size":5434,"mtime_ns":1782728407195142351,"hash":"44d986e38a0aaff4ff36d621205c7361769814ac64e5e559dfeb02d2e63b09d6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/ClinicInvitation/Repository/ClinicDoctorInvitationRepository.php":{"size":1821,"mtime_ns":1781293272835808881,"hash":"10604824317018d8f535539834b9913ef3982889b1ffb2874e4438f848f06726"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/ClinicInvitation/Service/ClinicInvitationService.php":{"size":4420,"mtime_ns":1781888637727954912,"hash":"123c29f45911c7151d410112521a5d787922a73bbb0ebb1f53792aff70376e6b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/ClinicService/Controller/ClinicServiceController.php":{"size":15449,"mtime_ns":1782728407195387478,"hash":"38d8db77331e6ccdf9e78a54f5f223cd74cd1b83880d40ececcf4cce392472cb"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/ClinicService/Entity/ServiceItem.php":{"size":4270,"mtime_ns":1782260462891413703,"hash":"f7c314c5ddc678d4896d358c4b89ee1048c314fe237fb307b1909e44d986307f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/ClinicService/Entity/ServiceSection.php":{"size":2865,"mtime_ns":1781516938575505158,"hash":"6fce4d578f8878eb023372cfeeed180e1826274363811165b1623578b8911386"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/ClinicService/Entity/Tariff.php":{"size":2497,"mtime_ns":1782214545729589627,"hash":"77a5e0dca59cd5587ab614a2bedd46a0de3485d620a6125f4804db7b688115f6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/ClinicService/Repository/ServiceItemRepository.php":{"size":1193,"mtime_ns":1781516938575690367,"hash":"3561e5174c09c2d295bf2b77e3a2692c234f30cfe76b597213ce1bd2ff9bc81b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/ClinicService/Repository/ServiceSectionRepository.php":{"size":1274,"mtime_ns":1781516938575822117,"hash":"6e87ff4062b59b4870ac32891b6fd40ab36ed939b3a67959c600a63a0375b299"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/ClinicService/Repository/TariffRepository.php":{"size":1312,"mtime_ns":1782214545729721752,"hash":"fece09188f0d746cc7fdc518fb8d63488c77314d629940d1c0969b6f28fc7b38"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/ClinicService/Service/TariffService.php":{"size":1653,"mtime_ns":1782214545729910003,"hash":"13d77eda5f22d43badf639d0127bc7252b3adfe6c72657c33423ad5a04f345b2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Config/Controller/SiteConfigController.php":{"size":3369,"mtime_ns":1782319753499631658,"hash":"91d6de5e3c6f14955c0b99c55dafeab4daf8838256eb3d9954fe577f6051c78d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Config/Entity/SiteConfig.php":{"size":1026,"mtime_ns":1782650883609343293,"hash":"694f1f497f5a3a1095f2949eacd68694eb7e8d6536abcd1bb61e7d788abed158"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Config/Entity/TaxRateHistory.php":{"size":1836,"mtime_ns":1782650883608855500,"hash":"1b50a1ed1a3d72be73df9bce2bcb010e2b90888bc7daa0a312ede4d181327631"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Config/Repository/SiteConfigRepository.php":{"size":2533,"mtime_ns":1782319853828508658,"hash":"50306f63113ee6dfa84443fe08d91f9fb9b17b7b9f86a85539bcd3a05215c51a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Config/Repository/TaxRateHistoryRepository.php":{"size":591,"mtime_ns":1782293892020820040,"hash":"1161721d41f057cd7c7d820b405a526cf644ade3da6a44a93e63ce9a364a9ca3"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Dashboard/Controller/DashboardController.php":{"size":18227,"mtime_ns":1781522583733722442,"hash":"d67fce94d5e7ecfa0222a05f525586c96c9c280bcbee7605865b114594201bfb"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Doctor/Controller/DoctorController.php":{"size":37753,"mtime_ns":1782728407195775022,"hash":"2c2f4c831d7ede2101b72277fc7c20ad06ac22dcd23045b8134aca7471278238"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Doctor/Entity/Doctor.php":{"size":16811,"mtime_ns":1782728407196033316,"hash":"dcd2dd96c11cd47f033dbb41718dde4b0f7fa2a2110f25ba4804b33e37e331e2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Doctor/Entity/DoctorAddress.php":{"size":5470,"mtime_ns":1782650883611537550,"hash":"f42a0409b492abf55f1ed704e65e2273b1a9b7424abf0d2bd9c9507ea9345747"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Doctor/Repository/DoctorAddressRepository.php":{"size":2770,"mtime_ns":1781783246170814153,"hash":"531973c4cf541ba9e8f3955fad4c863ec94f0a5cf84a03c9fa438aa59f979a3c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Doctor/Repository/DoctorRepository.php":{"size":7714,"mtime_ns":1782728407196368484,"hash":"3b22e183b3ec75a81be9e5095a62c8597b792a7be8b588e084f50c3f3ae0c2e9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/DoctorService/Controller/DoctorServiceController.php":{"size":5406,"mtime_ns":1781522583732540897,"hash":"953781115f6180a8b4d33de1d600d1a64d9dbf949a93069a82f1d8b28a14a5dc"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/DoctorService/Entity/DoctorService.php":{"size":2831,"mtime_ns":1781085550562230229,"hash":"6d7d545954a787dfcf52e2f9b8ccae47a1af55c21a43d3c60ca8c59dbade506e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/DoctorService/Repository/DoctorServiceRepository.php":{"size":1274,"mtime_ns":1781085558665462494,"hash":"79eb3168176aa86043e1613fa832e0a94b683ab7cd5a7553222d88ef9198f4c7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Controller/InsuranceController.php":{"size":25368,"mtime_ns":1782728407196781029,"hash":"457ca31fba8263cb58b3c47f214164fd28094d3074e6c57f8d4bdc0a0728a0bb"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Entity/DoctorInsurance.php":{"size":1960,"mtime_ns":1782728407197029697,"hash":"3835c0d26cf2af6937ccb1990a2a097e0696bc03c144ca9863867906de1b3a94"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Entity/EntityInsurancePricing.php":{"size":2507,"mtime_ns":1782214545730369713,"hash":"e0c3664524d71706ffc2c377c20c9ea5d12be0b8aacbe3feaeffe555ee003ef7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Entity/Insurance.php":{"size":2270,"mtime_ns":1781085569269281268,"hash":"bb5c7b593458bca73e6d767909d845c59371d50aefc54d6819b53b036d16d8a4"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Entity/TenantInsurance.php":{"size":4767,"mtime_ns":1782214545730514547,"hash":"8f4a4e4087e65a58cdc2444a4584a3a40796948313e4374e1f8a38983385bda9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Entity/TenantServiceCoverage.php":{"size":3432,"mtime_ns":1782214545730644047,"hash":"fd098f4aef57bc0988ca8d17760b0009d2742666fd62fc0ff2ce07fc6b0dab1f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Enum/InsuranceType.php":{"size":351,"mtime_ns":1781085440519759893,"hash":"30ae4d15da752fad6f6fdf214fc764732f372af51c1361fcdd23ccf7cb66d41c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Repository/DoctorInsuranceRepository.php":{"size":848,"mtime_ns":1781011984448803782,"hash":"61e05cda6d846d53a56fe1bc16a932bd7ee1fcc43f8ad9cdc4f8eda7635a2bb8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Repository/EntityInsurancePricingRepository.php":{"size":1404,"mtime_ns":1782214545730775964,"hash":"623b73aedc8f41f9f0ac7d374725808c1c72012956628e15ebde5681f7034dce"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Repository/InsuranceRepository.php":{"size":1220,"mtime_ns":1781085576476951957,"hash":"dc63f462de508c5f6d1fd51b08ebd887c5f79528d5183fc7a792e6cb579e26ca"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Repository/TenantInsuranceRepository.php":{"size":2436,"mtime_ns":1782214545730912256,"hash":"b99e224b9f48a68ebdb627590ef6c9057f3ec7969e4ca2e317378766527785a0"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Repository/TenantServiceCoverageRepository.php":{"size":1339,"mtime_ns":1782214545731054174,"hash":"5d8193d5276ee2a12f650ee075fc47f0bb32f32bcaf26f46328b1c7498636853"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Service/TenantInsuranceService.php":{"size":6310,"mtime_ns":1782268410292219426,"hash":"088a8086ca7a8284aa67577aa0ffe060d532f3bbb2090b6c3e3ff0f4730e2703"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/ValueObject/CoverageRule.php":{"size":381,"mtime_ns":1782214545731415633,"hash":"3ce989704beb3ff9aa60cad8460e69a1ef5a411ff0024b7d5541df502f4cbf2b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Kernel.php":{"size":992,"mtime_ns":1782743240249498742,"hash":"3b2fcf35ae459cfe82147916f43a6da872819e946938e0cd330a596a226065a8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Location/Controller/LocationController.php":{"size":10195,"mtime_ns":1781522583734100069,"hash":"64770748d202a36f7ebd57f5fe725201462f80835839fc0dee471cadf8e663bf"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Location/Entity/City.php":{"size":5855,"mtime_ns":1781089230145855904,"hash":"a9c471a92b627484e74df8e11ebc9f6db21a05c249df2f67eb74a39477204e4c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Location/Entity/Province.php":{"size":1688,"mtime_ns":1781085458710667014,"hash":"3353fa978b6558c945031d0c09a3dc24706f592287978236072c53c3cc13d033"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Location/Repository/CityRepository.php":{"size":1187,"mtime_ns":1781085493561648130,"hash":"1a7f0d07099224c30cc6111ba102ddf6cd583df610528c692ce923d42bf1e591"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Location/Repository/ProvinceRepository.php":{"size":1071,"mtime_ns":1781085486117016673,"hash":"4572085d4a4e79a86a1c2cfcc89b5cd6268ddeb466878a16db71f60216a6c148"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Patient/Controller/PatientController.php":{"size":15797,"mtime_ns":1782728407197647952,"hash":"0adb531514bb19b3fabe1e679468f731f00cc6d34a2edbb9e887a18c94447bc2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Patient/Entity/PatientRecord.php":{"size":3088,"mtime_ns":1782144029159424511,"hash":"8be2218c1dcc6dd9101278637b469d927567abf3e264d6b8c634292641096dfe"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Patient/Entity/PatientSession.php":{"size":7041,"mtime_ns":1782728407197911662,"hash":"e99aa5f70fa1eee35e78e90f7ea8e8e5f4bc80b77d2de0888eafd91b3ef0fcf6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Patient/Entity/SessionService.php":{"size":3069,"mtime_ns":1782253591741414931,"hash":"d7326f5115c044fe75744a4c6ac0e2d0efca2b4a93e57984483f1c859ffba1c9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Patient/Repository/PatientRecordRepository.php":{"size":3131,"mtime_ns":1782144042914186374,"hash":"c445fbf45f6eb65c5fd5c3f0704e1c972f0a9d9297a80d0dc879165fc57666c9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Patient/Repository/PatientSessionRepository.php":{"size":3665,"mtime_ns":1782268984212730950,"hash":"24f29fe0ee2cade4f4bef5572aa45086f444ab02d67f82d24228de49ccc25a2c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Patient/Repository/SessionServiceRepository.php":{"size":563,"mtime_ns":1781516938578050288,"hash":"24beb2335672cb84cfa5a787618c7907663606aa14262af1b8ee93058c0ac265"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Patient/Service/PatientService.php":{"size":7827,"mtime_ns":1782263039495809276,"hash":"e23289a2e8d04c22a69888e3775e2b851246b28c6e217cf22e8c91e99ada9ee9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Payment/Controller/PaymentController.php":{"size":31721,"mtime_ns":1782728407198201330,"hash":"6a6342e4ae451579ce88f5c0bedce9415ad95ce71406a9ff24117096264bbdad"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Payment/Entity/Payment.php":{"size":5647,"mtime_ns":1782728407198542249,"hash":"baea6fcd3343ee16bf9c045dc65f6cf06e022b157b485144dd459f385f9ee5c8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Payment/Gateway/MellatGateway.php":{"size":5989,"mtime_ns":1782750018514940514,"hash":"5f7ed3260ea0be9c83ebc1afec10ca24dd4d6118a7079299105fed545eadb817"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Payment/Gateway/MockGateway.php":{"size":1429,"mtime_ns":1782728407198901168,"hash":"4e4f8c687212fb476a9672747ed28d3a827e9d01ab864b275e18c1a5cd37f659"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Payment/Gateway/PaymentGatewayInterface.php":{"size":429,"mtime_ns":1781012928742348313,"hash":"0ea6fa1641009afe5a0f6ca33dd6afc4e224978bd7cbfd4be8865a6ac52c9c05"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Payment/Gateway/PaymentInitResult.php":{"size":307,"mtime_ns":1781012933059275866,"hash":"9b5327e24637c885b0696cc7172071104927aec8791208b43867049dcbbe0d63"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Payment/Gateway/PaymentVerifyResult.php":{"size":368,"mtime_ns":1781591920508677099,"hash":"88f08d81dc92ac75d2f0628c60f3fb78b039b9184039592047cc92c58d0db068"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Payment/Gateway/SepGateway.php":{"size":3800,"mtime_ns":1782750047532974461,"hash":"c9214091aa37726eb1cb7109234bd2a24ce6cd77674d50ec83fc188cad819a0c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Payment/Repository/PaymentRepository.php":{"size":3293,"mtime_ns":1782728407199154920,"hash":"9051e2d1dd67a0d6fb8a70504e7bbbc79f891e098a4d836d0e8f9ae6ff7639aa"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Payment/Service/CircuitBreakerService.php":{"size":1228,"mtime_ns":1781012993246621609,"hash":"4e04548bbb1ae6b6c17a4206408f3050ad341da5ddcc74d4b1af376b50580911"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Controller/RatingController.php":{"size":22783,"mtime_ns":1782728407199386297,"hash":"64462e603b4569268e25d7f6a989f1b4d9b598a7613405a5d5d0165df2b477fc"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Entity/Comment.php":{"size":4881,"mtime_ns":1782650883605327864,"hash":"c43aa389121312d1fe2ba9639e3a6a0ba5fc21f78d0784adb723c26e3afbc0fa"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Entity/Like.php":{"size":2153,"mtime_ns":1782650883604545320,"hash":"7a7937df6b8df47196e035544c1ec78a11847a0a1688114bdb5265adde8d32c0"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Entity/Rate.php":{"size":4359,"mtime_ns":1782650883604952613,"hash":"bb8b2b8ccda54b99bd5ab0bd937dc29d4ac840195e3f89fcfc286b5429b2b863"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Repository/CommentRepository.php":{"size":3785,"mtime_ns":1782728407199666132,"hash":"57721807456fc1a9e0c2df0dadb2b4c45cff8a7c2e650c33ff1e4edc22ec9eb0"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Repository/LikeRepository.php":{"size":1619,"mtime_ns":1781557035805931490,"hash":"9c2c1575ce7f26c9d2139ab8301fd887658e295f66b4f164b48d050bd43a411a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Rating/Repository/RateRepository.php":{"size":2052,"mtime_ns":1781557035806516573,"hash":"5e2c5765f0d67648d72fde8992e1969822df630577e503f9a086dc01960e3f90"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Representation/Controller/RepresentationActionController.php":{"size":41170,"mtime_ns":1782728407200475887,"hash":"973a496476356f34610a5a3167495b0d91dec8c49306f38fae4480267ae9f378"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Representation/Controller/RepresentationController.php":{"size":21984,"mtime_ns":1782728407200758181,"hash":"681dfdf19f3a7a8d0d86ddefff60f30fb81d1a9c1024137c0f9ba3af6c658fe4"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Representation/Entity/Representation.php":{"size":5417,"mtime_ns":1782650883614592767,"hash":"ce5a938bccaf71572af189a1b92ee7e21baa9865c299dd261e3f18180b21b620"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Representation/Repository/RepresentationRepository.php":{"size":1239,"mtime_ns":1782304285868497898,"hash":"7b69c315115cadf10ed9b253b37141184c085cad544ab6274f330a0d1b17bfc1"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Representation/Service/JalaliDateService.php":{"size":4368,"mtime_ns":1782384877403158726,"hash":"8a1282441580b6b46896c1c52a6ff284279e0e3610da60c638bfce1067450fb3"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Schedule.php":{"size":882,"mtime_ns":1781551622412449131,"hash":"2ec793b26f528520f7f80ce26684ea383b09eb5081e94900a469447ee3091d8c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Secretary/Controller/SecretaryController.php":{"size":10070,"mtime_ns":1781522583736830703,"hash":"581abaa41c138ece2fb0796f9ed8e43158f848aad1efa337c5076f8a290f6b72"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Secretary/Entity/DoctorSecretary.php":{"size":5203,"mtime_ns":1782728407201032933,"hash":"7a89e177bf272aa6e20c29d8e39c66c4e9f761daa1875a073525369cebc48193"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Secretary/Repository/DoctorSecretaryRepository.php":{"size":5327,"mtime_ns":1782728407201262976,"hash":"bac031cd09fb91bf156e250accd69b5bb83f2af7738e8394852e746f3152dbb2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Secretary/Security/SecretaryPermissionChecker.php":{"size":724,"mtime_ns":1781012108901602268,"hash":"42ddb598442c2c167950e1a33eeceb551384377427749d0ee3b6a61f152e64bf"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Settlement/Controller/SettlementController.php":{"size":23112,"mtime_ns":1782728407201510186,"hash":"b6f3ad0ae1b555833b87edf0398a96200295160b1c6a57c26e3f751274892c9f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Settlement/Entity/FinancialBreakdown.php":{"size":5470,"mtime_ns":1782728407201776813,"hash":"a0c5e8cc2f0a3597518275c45fe403a188bbfe210fa75da65eee3ebeef594963"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Settlement/Entity/Settlement.php":{"size":4252,"mtime_ns":1782650883606160908,"hash":"36b84f9a63c52cdf4150c0848c4a3fd28a0c7a1aba6bda3f147c3dd9da2f969c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Settlement/Entity/WalletTransaction.php":{"size":3099,"mtime_ns":1782728407202004397,"hash":"d2acafb91806e555535cdbddd5151e71b71561cddf2d0872461285e6d1489b73"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Settlement/Repository/FinancialBreakdownRepository.php":{"size":779,"mtime_ns":1782293142660794730,"hash":"ae9fa6ec3678bedb9574a38678795af169ff793fe2e660d9413fe05ba1523041"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Settlement/Repository/SettlementRepository.php":{"size":2270,"mtime_ns":1782728407202173607,"hash":"9c617a929f6ed0595a371ee05d2e9d19d204ed3eb80bd0df9fe9de71fbf76e2a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Settlement/Repository/WalletTransactionRepository.php":{"size":974,"mtime_ns":1782728407202497901,"hash":"12fdfe848f6eb143b87b09645122480b33a778bdf2d9179fd9d45c27540a23a0"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Settlement/Service/CommissionService.php":{"size":5477,"mtime_ns":1782304402886645822,"hash":"643e2a0f6dbf7cbcb2f4002b3dae74d02c8d6e9f694cd1249ad54ae7ddc63e92"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Constant/ErrorCodes.php":{"size":9417,"mtime_ns":1782728407202855820,"hash":"3e172a36ac3e336ad3501c5defbd9ec894334ba4f7f720b04d4515bd6703b939"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Controller/BaseController.php":{"size":1710,"mtime_ns":1781009861592137456,"hash":"4bd3aa269121a122fcf443aa15c884adf07e0700950135a3e66dbdf27b9c2416"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Controller/HealthController.php":{"size":1190,"mtime_ns":1781009995463320374,"hash":"124d5bfe7f63a910acd5ddab19c0ecb83c9d9005786fcd6606e597e7f6b6050b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Controller/HomeController.php":{"size":409,"mtime_ns":1781248993159620643,"hash":"d08f9d35b78ee68ab06620388e34b709eab59364bd0b84e5d2e1478f45310970"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Doctrine/JsonContains.php":{"size":1061,"mtime_ns":1782050362337187655,"hash":"bc76253c31cf5a3bb23264736171549281989a4d9915b05a303647324d5aa4e3"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/EventSubscriber/ExceptionSubscriber.php":{"size":5579,"mtime_ns":1782747822711536821,"hash":"cc3e848cbd0237379c1c26afed58de7230b93b095d87ca672ffc16e88a7bac40"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/EventSubscriber/SecurityHeadersSubscriber.php":{"size":1559,"mtime_ns":1782728407203289865,"hash":"4c05cb260495d4e38a1c9f13163eb64ee0cf264d95c6f87994cc03e4508c285c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Exception/AppException.php":{"size":637,"mtime_ns":1781009868466892123,"hash":"7956e81fe8e81b642076d55380a796ca70431e6c3880db06d2fc264c8b078f82"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Message/SendSmsMessage.php":{"size":235,"mtime_ns":1781010000546687126,"hash":"daff508176e43de48738f7d7b86a97f047329c0c3a9896602933c7aa130ff739"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Service/ApiIrService.php":{"size":4598,"mtime_ns":1782750061879006297,"hash":"d2a46876b0e6e0cc5cf9a88c3ea9067de7a0f64df5bc59099c215c14a123a305"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Service/FileValidatorService.php":{"size":2743,"mtime_ns":1781946812332075105,"hash":"4c26e4f47f2793bbef582d233a1f08e96e91274448209159653ec0d95a3b8b73"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Service/InputValidator.php":{"size":1811,"mtime_ns":1782290232599858088,"hash":"3d610effa54b8c5afa1c206c0dd46ed3ead6b84215d54b39e6789c498c01427d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Command/SeedSmsMessageTemplatesCommand.php":{"size":1380,"mtime_ns":1781888665382463925,"hash":"1a62b01d290b483e8188ad1a555bb459bd780334cd28835e86bcc0517382c78d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Controller/SmsController.php":{"size":21687,"mtime_ns":1781889430823494936,"hash":"e768f521935e2bfebedf60e563dd50f8c2eaf1bec54382bc01e05aa72ba2941d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Controller/SmsMessageController.php":{"size":4104,"mtime_ns":1781888448780113939,"hash":"4724d7f809243a92d8e48fb121d8d7e946d9e4072879f7df95804a9e69e13fe6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Controller/SmsWalletController.php":{"size":11962,"mtime_ns":1782110309289351872,"hash":"6a1abec43951233b9e88021712f1159d043eb14f47473e5bb6fd41105a8267e5"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Entity/SmsLog.php":{"size":2985,"mtime_ns":1782650883607542538,"hash":"752ea776d88a216c309798cf1df356d28dac035914ea78f0af679025c38060ea"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Entity/SmsMessageTemplate.php":{"size":3865,"mtime_ns":1782650883608436957,"hash":"b91fb21ae3b217e83df16601ebac5b3bb369854fbc2fd4aae7e2430e4a417f7f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Entity/SmsSettings.php":{"size":5136,"mtime_ns":1782109802341264005,"hash":"751faac90d0b9d9320a8315e7b0765dc39d94089c96a65bacb4a59d84bc442c6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Entity/SmsTemplate.php":{"size":4085,"mtime_ns":1782650883608045581,"hash":"9c1ebef6b3ee3a4724e94af555854df18a8d5f2bba6f524781a94478123be0dc"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Entity/SmsWallet.php":{"size":1749,"mtime_ns":1781516938580571044,"hash":"af121e73720cdd1fac6a329c931f01349fae4aba0cc9ca12bf25c232ebb69e5d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Entity/SmsWalletTransaction.php":{"size":2423,"mtime_ns":1781516938580684919,"hash":"5272a1b08bc5d6f28d5d845e9201780a4804fce789175b7be82001a4102f09bc"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Message/SendSmsMessage.php":{"size":495,"mtime_ns":1781871113880839659,"hash":"e37f791352f7f9ab7ededa626d6c3d53fa7675ae4e9cd65f499d5b0f0d8a356f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Provider/KavehNegarProvider.php":{"size":2886,"mtime_ns":1782749956405975569,"hash":"8e10ac183f88465faeecb560f4dfedb97a9faacf46758d37dae0a268df96d093"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Provider/RanginehProvider.php":{"size":2234,"mtime_ns":1782749977746062400,"hash":"e2910a9314c0a63d60a4d5df210a421d12149e64db2550cb58bf021bb84f19c7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Provider/SmsProviderInterface.php":{"size":361,"mtime_ns":1781013608175277472,"hash":"225781d93f9a713aa0a979f12efff07f7805972e287cc1fe11371367bfcc4e43"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Repository/SmsLogRepository.php":{"size":502,"mtime_ns":1781013670673270702,"hash":"66b4158b7f47661bd573f21e65c35e20e22ecbb830736f07091857004868eeb8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Repository/SmsMessageTemplateRepository.php":{"size":752,"mtime_ns":1781888405897787839,"hash":"a6b1523de3a122f8c6dd8e442929ae821b0cc88dab224899c0a8cf100b6247a9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Repository/SmsSettingsRepository.php":{"size":729,"mtime_ns":1781516938580977169,"hash":"c2df1e6cc37ef5422312c0eac75fdea0d42de8e6eb822faa96e7bc5e423be9cf"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Repository/SmsTemplateRepository.php":{"size":789,"mtime_ns":1781013662226415873,"hash":"8da60c0de8613863b8928cb46c6bd846cff26539f158be4a68115ff3a6c68684"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Repository/SmsWalletRepository.php":{"size":911,"mtime_ns":1781516938581096086,"hash":"01a35794369da341601324499da53378a75ab8592d14a32b72d564b44137177d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Repository/SmsWalletTransactionRepository.php":{"size":1325,"mtime_ns":1781516938581213795,"hash":"68b117404c5f1c7c68914a367f9ac656b25cb486daeabb9808a36be205f4de56"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Service/SendSmsHandler.php":{"size":372,"mtime_ns":1781013692820181847,"hash":"f644961f4a1538c1d315e1d6000fcae2d4466975c054685003dc616186614172"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Service/SmsService.php":{"size":1914,"mtime_ns":1781888026617108387,"hash":"4581869e73129d4933612504c7f98caadb405f5a192dca7a805d4cd5220482ea"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Service/SmsTextResolver.php":{"size":990,"mtime_ns":1781888419028487399,"hash":"c83ed15618515fd7301a8fd03a409f17232d3d03e917fcda93bf1f72fc70b963"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Sms/Service/SmsWalletService.php":{"size":1830,"mtime_ns":1781516938581332837,"hash":"72dc9bef8e8ddc92b4e2053e804407f80ffde9a4b57d1dbd07095d47f6651dc0"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Specialty/Controller/SpecialtyController.php":{"size":6151,"mtime_ns":1781636247076758267,"hash":"e6cc213607cc6d3d56450b73f04c696e4f2ad5adfc6eb3ebbf85395867f06552"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Specialty/Entity/Specialty.php":{"size":2698,"mtime_ns":1781085518712241650,"hash":"683f2375f3d9528dd02e9cbfe7bd344ff51208aff0ef02dfed3d576c3460a1f7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Specialty/Repository/SpecialtyRepository.php":{"size":2293,"mtime_ns":1781636247076888517,"hash":"9b991dc48c3a9c42baad98f553ee0fa395c4b596f65e84230420929f3e32e6c0"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Staff/Controller/StaffController.php":{"size":5842,"mtime_ns":1781522583734490612,"hash":"8b6ad6acaf1a93214344464c7dcc3b9792720118a1c0963340f639a87de43264"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Staff/Entity/ClinicStaff.php":{"size":4240,"mtime_ns":1781516938581704629,"hash":"95c3df6b577ad88a80af1bec2e17b48c6d7b9f35b1a8f75490d0a1bfbc940fee"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Staff/Repository/ClinicStaffRepository.php":{"size":1179,"mtime_ns":1781516938581849755,"hash":"d83ac7466427c09ca77b63924a66dd5710c8ecc9ba3b6dbdeecc4648940a711b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Subscription/Controller/SubscriptionController.php":{"size":11185,"mtime_ns":1781522583734953988,"hash":"65a467e75d34ebf32f56e45ca5aafffb2a0560dcaf538b6e5d962b46b3265718"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Subscription/Entity/ClinicSubscription.php":{"size":4057,"mtime_ns":1782728407203534324,"hash":"a21caf7417e2a32180b91b4fe18ac8245f2b0aeb8887104b2739771151a37350"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Subscription/Entity/SubscriptionPeriod.php":{"size":3806,"mtime_ns":1782728407203839326,"hash":"0121bf60210628bcbb1cbe89419eddfd71b29c65debdbd3dbce51e2d2632c75b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Subscription/Entity/SubscriptionPlan.php":{"size":3867,"mtime_ns":1781516938582569339,"hash":"ea26b39ca447321dcd1a8f9b199a6b8e2b82c67814754709ea47570066ed15e1"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Subscription/Repository/ClinicSubscriptionRepository.php":{"size":1780,"mtime_ns":1781516938582726506,"hash":"b5459ccb551f37c349aab40fef73ac8f33414ba9f130289f284595c7b3e14622"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Subscription/Repository/SubscriptionPeriodRepository.php":{"size":954,"mtime_ns":1781516938582865590,"hash":"726666fe5f74b8a9927376e82af264b70b209a4e86d164061eb7a9b1d9440942"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Subscription/Repository/SubscriptionPlanRepository.php":{"size":1084,"mtime_ns":1781516938582984965,"hash":"1f4ddab7ada6116daee3a80a2b4ded6c8b84612e036cc16621211616ea9cb2e2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Subscription/Service/SubscriptionService.php":{"size":4048,"mtime_ns":1781516938583134340,"hash":"1ccd90f5a75d47aad2155484d487cf0dfceb319ec0b9ae4f45a30cb931e5e031"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Tag/Controller/TagController.php":{"size":4028,"mtime_ns":1781522583736261243,"hash":"59af02e5966b18ea820af39e59750ddaf6cb2a569369fabb64b15e50ec8aef27"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Tag/Entity/Tag.php":{"size":1775,"mtime_ns":1781085585665970564,"hash":"cd3edf2f90d5bdd70487b38e085a751cb578a9cb2395086bbe2964e5dbd1996d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Tag/Repository/TagRepository.php":{"size":967,"mtime_ns":1781085592043241382,"hash":"283d4f4300d6202a7ab924d3bf130f7b2d90716a520b6d40ba35edd27cc88059"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/UserProfile/Controller/UserProfileController.php":{"size":12912,"mtime_ns":1782289553079211479,"hash":"9d2e310f94dcbde48859dea9872428189b32d7f415af52e6aa5eb523c446fed7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/UserProfile/Entity/UserProfile.php":{"size":9546,"mtime_ns":1782650883615317561,"hash":"d65393c833dec86f7dae8413a72b3a6cd0cc75f3e7faf36bb02995d72b463bb7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/UserProfile/Repository/UserProfileRepository.php":{"size":1267,"mtime_ns":1782270252112779103,"hash":"d36f160a81c8fa1927ea604fb2c27f0ed0f1b33507d838e28adf9fa1fa3b6fcd"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Billing/BillingCalculatorTest.php":{"size":3007,"mtime_ns":1782214545731907969,"hash":"85b469b70480541f73092cf1593029c76fb703bdaf77f71327a0f25ecffd7924"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/bootstrap.php":{"size":248,"mtime_ns":1781009800080637813,"hash":"57ff9294703e34a685f28cd3c0e46ab54a5dd3f4fe3356c224e3aed0958269d7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tsconfig.json":{"size":423,"mtime_ns":1782729422588693047,"hash":"53fac6b4a0917eecde4dc3efc021cceca3d48600d9cfb58a3d4c946135751c66"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/admin-pwa.md":{"size":9407,"mtime_ns":1781343171405896374,"hash":"f6294cbb97d2ca4465b4f185c394daabb11f6ddacc29c2d471decb04da8c7265"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/admin-ui-kit-redesign.md":{"size":10577,"mtime_ns":1782232921465705417,"hash":"24c6ca8b5c2e6f9b9783d446829be9cd4ffe5c6b550e0754d2d4521555382892"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/admin-user-detail-show-profile.md":{"size":9288,"mtime_ns":1781549990210378142,"hash":"629f80e928f666143a4f251067bb31a4f866773e509f34b6c2d623580424e3aa"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/appointment-detail-enrich.md":{"size":4876,"mtime_ns":1781636247075313849,"hash":"a846f9cb4c0d643d7488873cd7a27a15adf39c8b1a206a371efdd0bedb472612"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/appointment-lock-patient-confirm.md":{"size":16770,"mtime_ns":1781535498213998370,"hash":"0a79349da76f2fe2c50e76e3add06522ea796a255722386426e7b7edf988637e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/appointments-day-of-week.md":{"size":15777,"mtime_ns":1781192992528836012,"hash":"73bc57098ab8816c91d042649840e5d34f5d00f096aa88b4bd3d5b9501b749b4"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/appointments-redesign.md":{"size":24082,"mtime_ns":1781173659296708465,"hash":"fe28753bae9a95b192796f18322282909e707d96f00082b8d1ce655b47d2aa2a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/build-homepage.md":{"size":4205,"mtime_ns":1781248910704293609,"hash":"4dda73a4d2f91de3fa5b641c559cf509ba8b87ec4621bf2e8eeedea3f9927412"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/clinic-detail-fixes.md":{"size":3514,"mtime_ns":1781286844618120218,"hash":"2cecd1fb0904f3aff92545007b33eb4bf970efd7b03cff7c53e6ca73dd2ef9e6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/clinic-doctor-deactivate.md":{"size":15114,"mtime_ns":1781257376721043348,"hash":"6b36b95516cd5fafc100a500b72fc98d68992d8cb07c02160a09f827e2fb58e9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/clinic-social-media-field.md":{"size":5746,"mtime_ns":1782034582969356341,"hash":"01a6fc5a55d6357607e36837cd39a6ed646f4097fd4ba944ababf826cd1f0ff4"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/clinic-view-doctor-profile.md":{"size":6746,"mtime_ns":1781361314655405808,"hash":"b7d523d90f08ea239fa8b03eae601cf68353be6f45c0192762cabfef28c55e67"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/create-patient-without-signup.md":{"size":5271,"mtime_ns":1782145462624789979,"hash":"5bf24921d4002ea348e38c87cc81bc08ef8e169924787c3c719bac9d3e62d4a4"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/create-phase2-tasks.md":{"size":24506,"mtime_ns":1781516938546554807,"hash":"f3d49625dfa644a00f6cd5a582e52d63bfefbd2db875f25164774a71cf345ecd"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/doctor-booking-window-and-month-availability.md":{"size":12511,"mtime_ns":1781535414057585490,"hash":"505938967d29a4e337e18cb22f2a299f97e5e452e05c9b94a9e409c86107f23c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/doctor-clinic-address-access.md":{"size":10705,"mtime_ns":1781362104619727130,"hash":"657c686420a8a45159812178f8a65dbc317591779844dc26b3921c536f92de8c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/doctor-profile-page.md":{"size":8799,"mtime_ns":1781175765248517513,"hash":"f1078372d9fc8eaa9196ec9840ce187d86a27b723a1c218cf872cc4e4ede5d3e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/doctor-social-media-field.md":{"size":6783,"mtime_ns":1782031213435560461,"hash":"072cbab44fe86ab89e7a46724b8631528acdd63ae0c3aee2526ab408e1c021d7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-access-scoping-doctor-clinic-representation.md":{"size":14171,"mtime_ns":1781863132633307507,"hash":"8ad2e8c5d53e8f34d69e1b4fd6ce71775720cee430130043803bc44f903341e8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-auth-token-hardening.md":{"size":12680,"mtime_ns":1781946301827134938,"hash":"a52ecdd96fda0f396864de78704f6c53efb9982debb51f4ea1a4494007f925cd"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-bugs-and-features.md":{"size":20820,"mtime_ns":1781516938546940516,"hash":"c45843d9ef701e2b73f7cd161083ffe23d315d81b68382ed4f9f45feb642c6dd"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-clinic-filter-by-address-location.md":{"size":6683,"mtime_ns":1781674935483152098,"hash":"b5aa923fc81b1ab79f29f7f02401dcfc56b88ce6bbcf0c5e015200000d7ae6d6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-clinic-patient-auto-add.md":{"size":4991,"mtime_ns":1782145525259778908,"hash":"9dcfac3aba7cdb8101c97017973a1bf7e4217f0d8df94b9dcbd1bda10192263b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-doctor-city-via-clinic.md":{"size":5124,"mtime_ns":1782040974660614329,"hash":"a3571d2085a8c4aa6cdc7094b964fbf54281b482a064cbf368f623dc5fda26c4"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-doctor-schedule-fields.md":{"size":10822,"mtime_ns":1781523041417094452,"hash":"7ceaad108bd7bcec35b9271f73308586072e8fe12be63b1dc754e5ec902bfa1d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-doctor-search-performance.md":{"size":13253,"mtime_ns":1782046573636729825,"hash":"febfb8452181a0ee429a6c1383b489ca071afe45ffb617b9343e9a406ca02d0b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-guest-doctor-clinic-context-access.md":{"size":9535,"mtime_ns":1781890240620846065,"hash":"dbcabb830aa0a81fc529eb14feeec65afdd979ac4eb7ce31c80eeb22b2166166"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-invitation-accept.md":{"size":4399,"mtime_ns":1781360063617429536,"hash":"2bc99d1a7460fdf5be3711a0add4de54d4ab78a0fc16079680d4da58e4615997"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-profile-in-clinic-context.md":{"size":8367,"mtime_ns":1781365327185378947,"hash":"f063eae11f94b2132d84b0a8472bac1d4d404a2bfbfacb049f0c583f9c586219"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-server-side-mobile-nationalcode-validation.md":{"size":8677,"mtime_ns":1781945049606053409,"hash":"32049409986f11fd29d302dc3e1036cab7172ae9033c3901e0622e8171fda14a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/fix-switch-context-role.md":{"size":7032,"mtime_ns":1781363356184798552,"hash":"74cb88449b93fd682e3ac81a322e1d405d54e111e172758e5b10ca80437e1a3b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/implement-phase2-backend.md":{"size":23991,"mtime_ns":1781516938547317892,"hash":"ba39a2e1ccfbc1a98662ecc71225aa32583a410df8e238dad15de69a62fdb521"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/implement-phase2-frontend.md":{"size":28042,"mtime_ns":1781520442021329832,"hash":"4faf26a0b91c83a3c183e3ed929d5d2dc92e7624549af170165bbf2faa9eec2b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/insurance-pages-subscription-gating.md":{"size":8256,"mtime_ns":1782258337653428004,"hash":"3755a25eb7694c8c1587bfad9e02166c438ab4bd361268126cfe0f3ee553bbb7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/insurance-pricing-and-selects-cleanup.md":{"size":7612,"mtime_ns":1782253591735960479,"hash":"00ca797277e9520885bf056e719721e9d72d97c4000fbd9f8bcd69980a5bd69d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/insurance-visit-pricing.md":{"size":6483,"mtime_ns":1782214545719956341,"hash":"4197cd316ec7560bb084840cd96f82df6d524916d4a4ec4a0f71108c2cdbec6e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/location-clinic-address.md":{"size":15649,"mtime_ns":1781257855652300954,"hash":"c147a47466d89f4591d1efff242e3ec90e1b979463cc2d2ce5f65bd55002b770"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/mark-past-slots-unavailable.md":{"size":7754,"mtime_ns":1781535427967339672,"hash":"51d4e6c59bbcf69395fb0d0a1420f5c47f5c3ea5bf77e95b3180fef5e2081fed"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/multi-role-dashboard.md":{"size":47174,"mtime_ns":1781164462782884121,"hash":"bdbb8f8d4f66f36005c2c7e87f123d905c49048dba266e475c775b73d438b434"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/my-payments-list-endpoint.md":{"size":6964,"mtime_ns":1781539108766134646,"hash":"5c6b5a4fff2796f32393914512d82d2cf18fe1a2bb5c70f7087c6152451e2ce9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/national-code-unique-profile.md":{"size":9589,"mtime_ns":1782270001832720420,"hash":"4bac96e773838ee4ef912cca328f84ce957deb6c594c1a00016b305380c93112"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/new-visit-modal-ux.md":{"size":5602,"mtime_ns":1782145407253133698,"hash":"5ec3558c752110146df788f8f2f85025c4ff17876ace24f8de0b2208013a622b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/patient-record-profile-binding.md":{"size":5004,"mtime_ns":1782145573523412851,"hash":"5195bc67dec077d35f5220df58a5c2ffbb62fd44c881cc9e51d8aa53a08d065b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/payment-test-mode-ui.md":{"size":7973,"mtime_ns":1781516938547896351,"hash":"a37f514022aea65c1e8d35c8855c087e0913c650a642cabdd39f9690577d8cd1"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/payment-unified-status-canceled-and-managed-hosts.md":{"size":11866,"mtime_ns":1781591920505562932,"hash":"32799eaded7c02d109b78be529dc0ecc8b7fc0b500326573428a365e21869b74"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/pre-registration.md":{"size":12415,"mtime_ns":1781252082262696147,"hash":"b1857341551ffad0b98d9d867f3caeeb8924c5b903099e9f2823620efa8eecc6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/profile-birthday-jalali-persist.md":{"size":4796,"mtime_ns":1781597628367003291,"hash":"e90db79d423bcbe97680ffed422228037e2843e8169bb1188237f7f6b6babbd6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/qa-bug-audit.md":{"size":10008,"mtime_ns":1781892497314247088,"hash":"63ca9f918e24b1c15839c13744045e0b8aac212279b5b4fbfa5ae619b7709804"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/rating-multidimensional-and-rich-comments.md":{"size":12831,"mtime_ns":1781557035802767573,"hash":"332d9f393aee67c403841f184f3e6c069edaeb4459b4ee328a9310055f937cef"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/rating-require-recent-confirmed-appointment.md":{"size":9517,"mtime_ns":1781557035802942698,"hash":"305ff640dad68d7e842a5825bbf7a8f4cdb02b145eed8b782c1151db3305632e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/representation-admin-panel-access.md":{"size":16498,"mtime_ns":1781857058512546863,"hash":"72c1500ed688169cfd796adcf9554b63994849119943dba5d5a70883eb5a8dce"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/representation-commission-tax-engine.md":{"size":21994,"mtime_ns":1782292728412115840,"hash":"ca8cb1567b8434a59f5717a4b33c6ea142e69f4d1010df15010081905b556669"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/representation-domain-guard-dashboard-settlement.md":{"size":16314,"mtime_ns":1782304099038050829,"hash":"be8842b5ac2c5a57277b047c4c6ac3f828ae302dc6a94569e8f46760564b90d8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/representation-identity-iban-verification.md":{"size":17082,"mtime_ns":1782399022752193648,"hash":"59271ef71e8e71f9f1bb9dcde1aea41565a2dbef6ed9aa8d35b1e7202c685f38"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/schedule-cancel-expired-appointments.md":{"size":8800,"mtime_ns":1781551622406496621,"hash":"43d63ab1fbae2e6e2d5192d922a09293b1abbadddfe98819e39671dc00e04a99"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/secretary-context-scope.md":{"size":14283,"mtime_ns":1781520442021272248,"hash":"e684ae83cc15db840406769e15852b219ceff63405fe6064bde19263b2fccfdc"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/seed-realistic-data.md":{"size":14531,"mtime_ns":1781519566626148059,"hash":"6b2eea6f45404e64d2b8b3998a117e8bada7517c880339af1fc4ff72cd0409d2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/service-insurance-coverage.md":{"size":4046,"mtime_ns":1782214545720279342,"hash":"3ff0f0f6b3a99f5facadc19ce455b27c8cea3020038a1b40bdebda4fdbaf84f5"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/service-insurance-per-insurer-coverage.md":{"size":14249,"mtime_ns":1782259799527430466,"hash":"295cae74decafadb2379fac86ac7ac1f420042d715f798d5024b03362560363d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/sms-log-tags.md":{"size":15685,"mtime_ns":1781870909734605934,"hash":"abe301d83cba0655c353e32c6f55a9bf20dc808d033c9f5d1e40f8fa9ad5bd62"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/sms-login.md":{"size":9252,"mtime_ns":1781255737102412820,"hash":"af6300f99ef2e66cad5abf34a421e4c3f2d34995535a907f82aa86cfe4c29b74"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/specialty-doctor-counts.md":{"size":6533,"mtime_ns":1781636247075492016,"hash":"32a97260ea56f3bd9529a034cbb791df59ce29ca60d9966a24d469cb743fee41"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/subscription-gate-ui.md":{"size":17009,"mtime_ns":1781520442075008039,"hash":"81757bb902f7ddb74f51b2aa43612d9c73fbe20abebbc2f046a6014498f9b58f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/sync-user-realname-from-profile.md":{"size":6614,"mtime_ns":1781594222051658800,"hash":"b9ee6559e409596b698b855fe4ff283fac5a062a218b4aea42a3b09d14a8fd0a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/ui-darkmode-polish.md":{"size":9534,"mtime_ns":1781520979984254456,"hash":"9f195ed3dccbf8df6079d978142aac339fa50d0b949526fc1b7b832af151da1a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/ui-ux-pages-redesign.md":{"size":18980,"mtime_ns":1781520442021457666,"hash":"2dce360a15f48c97610df47e5e6fbeea313e39fdc152e0d55bf687ec17784e47"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/user-profile-resolve-by-user-uuid.md":{"size":9637,"mtime_ns":1781537870411647855,"hash":"880cbf5c1bbd64937f4a197a91cdedf9c742bb3910ab2104cfb6c59e8cc7ba0c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/skills/prompt-writer/SKILL.md":{"size":5151,"mtime_ns":1781361052504791267,"hash":"abe2c711bf0a283fe50a70e5180d0ed7c7e10f7b699ceb50b4701485cf7b74bc"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/skills/run-prompt/SKILL.md":{"size":9443,"mtime_ns":1781176103482888341,"hash":"bc8c63ca2411b0ed4242f54f4a998590698d1cc62ef9b2661a84668ed1e80689"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/CLAUDE.md":{"size":8393,"mtime_ns":1781551622406854747,"hash":"1712a6a680cb00c102367be014ced75a77306c0c8ac1fbccec95f37ed31cff4e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/TEST_USERS.md":{"size":4101,"mtime_ns":1781520709654384302,"hash":"ae97e1e0de7fdd1d8dccf030c996f155262259cbd648b71d4834436f90827910"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/Architecture_Audit.md":{"size":33583,"mtime_ns":1780948937761931658,"hash":"e79771047616dbb7a604687b92ffcd47f09dc19a112fa51174cc2738a0e5c49b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/ClinicPro_Manual_v2.md":{"size":228782,"mtime_ns":1780944864742215753,"hash":"86c808b50dd3da1c5107e4b6a3a03190f30c643643ad6de4c89b2045f803baee"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/PRD/prd.md":{"size":28619,"mtime_ns":1781520442203119936,"hash":"a1691fe2f87737cd12253bac3bfda2f8feeaabc15a159a8dce6482eea7fd6e8e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/PRD/pre_prd.md":{"size":5454,"mtime_ns":1781516938560096835,"hash":"4736bcde5ba8e7c73405d0e7c31b6e2651b65d475e4cb9a924ae152b799bc4f1"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/admin-ui/ui-design-spec.md":{"size":20687,"mtime_ns":1781024129379257560,"hash":"60176b60869538ed763bfd4b0d02c138481811e62482b73c41693ea5393e8460"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/admin-ui/user-flow.md":{"size":16280,"mtime_ns":1781022482742007613,"hash":"aad348887a0347a4d348eb228959ef9e44099e2c4e60959d0dc06d976ebe7e16"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/README.md":{"size":3621,"mtime_ns":1781158395412841916,"hash":"8ddb00666307b307dcaba4c0b7b4f4c13e5f31502f7d20d5c3a8a82729c606b8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/admin.md":{"size":29605,"mtime_ns":1782750435771295635,"hash":"6b0c84481084c4920b085db292f903c4d296f1bc05b91e906e5917ad517660f3"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/appointment-settings.md":{"size":16574,"mtime_ns":1782728407106610964,"hash":"540be837def81a7c24a001654fde543de78f168ba34ed839c6e6fd597ea55ed6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/appointment.md":{"size":16822,"mtime_ns":1782728407107114384,"hash":"7b39650f7266519461983913a0c78e186275d036101a827049dd6f8c3574707e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/auth.md":{"size":18998,"mtime_ns":1782728407107527803,"hash":"3ef75b524c4a8eb4748ae652659d5849cf3a6359015216d8f24b3a0f555efc6e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/billing.md":{"size":10078,"mtime_ns":1782728407107896681,"hash":"c9f6afebfd6b6f7a7e55bf1d14c8123f9230a99fc566c63aa9cb4d01b6204324"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/blog.md":{"size":5522,"mtime_ns":1782050526553302749,"hash":"fc22dc80387b6c8f477854a19dfe01e496b90b688020325f1df589e0ae5cab8f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/clinic-invitation.md":{"size":9237,"mtime_ns":1781360269658725816,"hash":"50b040f0cc844000cdf24ba7971b4bfe4367e7980413f2dd90d7187a4e0c9991"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/clinic-services.md":{"size":6228,"mtime_ns":1782728407108299892,"hash":"d03260630a54476e8c29c60a2eb6540abb203d81d7656a95fbb1381344ad1a00"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/clinic.md":{"size":14733,"mtime_ns":1782035382888801592,"hash":"f92d6767717fca87e08884cee26a75a77b5ff8278bf0f6a0219245b3028130ca"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/dashboard.md":{"size":6099,"mtime_ns":1781516938560827336,"hash":"8368266c4453ba5364ed0787679059288d98527506bf05a44f86b5a31a7e0a6b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/doctor-service.md":{"size":3285,"mtime_ns":1782839237808648869,"hash":"8db2c22f2fafdb62913657534ac8b49778de786e78cd200e4a35d5cef3cee0c2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/doctor.md":{"size":13600,"mtime_ns":1782728407108632102,"hash":"9b489729903535dc83ff137376247c057a7b537da0e8ad41d7a62c7163119c63"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/insurance.md":{"size":14363,"mtime_ns":1782839237808906660,"hash":"de0f23dce595f64032e3422ab8ec643d7b27948d1b3a846aa718d1fad6df87dd"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/location.md":{"size":5355,"mtime_ns":1782839237808473953,"hash":"c6d9fbd080fb7897206b3d9dc7f5b49cf347fe29ca6428e30e9e9948727ccabc"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/patient.md":{"size":11646,"mtime_ns":1782289600489452444,"hash":"37294299886dbe4d8227c8fdc5afea62f50755e0fd42f229eedc58f1a036abb9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/payment.md":{"size":11302,"mtime_ns":1782728407109555775,"hash":"199db5f2b3eb3e52fc2e42ce726e34b0b1cfa288085076a5eb2350605e23b48c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/rating.md":{"size":11090,"mtime_ns":1782728407110670616,"hash":"61914c5f9d29060ba157369cf8e82392cc6b094df3f3a1423904c2988b19def9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/representation.md":{"size":21174,"mtime_ns":1782728407111252662,"hash":"5885967c5170bf2400f9732554f43375edc13e81715385df337db7eeea45295f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/secretary.md":{"size":10497,"mtime_ns":1781520442059899034,"hash":"06548919f6a826850f8e2b392875bb773a3dd1bfe0c670321e68b8fff30c132b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/settlement.md":{"size":9976,"mtime_ns":1782728407112458962,"hash":"ad88d08fd6960cb9bfd932b91def2ad395a50c391f7692e9ec30fa4dab681722"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/sms.md":{"size":13363,"mtime_ns":1782367200506345625,"hash":"ad782caaf9d874097e138f7407bbe018dfb48d8860d052eafcedfafd04a9b85b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/specialty.md":{"size":4612,"mtime_ns":1782839237808248370,"hash":"a024e860e973def0803da5f84669451313079c9b087f2dc5e185ef1f676cd033"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/staff.md":{"size":3093,"mtime_ns":1781516938562286131,"hash":"b3690ab9cdd530eb6a0180f96f08a258ccae0c77d31416e80f49a92974eac730"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/subscription.md":{"size":5356,"mtime_ns":1781516938563076716,"hash":"0bfc1f146132195c74357b078df7c099d0dbff2c90ed2bd65f5f5c476dec793b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/tag.md":{"size":2788,"mtime_ns":1782839237809069869,"hash":"44d523853c3cf5679d907526a3b63b6fed530e55195a26cf4f433b4bfdc80b64"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/user-profile.md":{"size":7549,"mtime_ns":1782289592597934192,"hash":"5d269afd10ce9174f3ac63fb4fdcf1cb7272564925db2d3f5f7e75df50c42925"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/architecture/insurance-billing-system.md":{"size":22566,"mtime_ns":1782214545723920606,"hash":"afec1678fc22a9caa8f39eb9fac3f934751dcd6a315ac1441f1378193b88ba0b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-10-staff/architecture.md":{"size":4831,"mtime_ns":1781516938563423092,"hash":"589134d822642da7433ffa06823f4e2c79ad74e3feb135df95e581377b01ffd3"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-10-staff/database.md":{"size":2045,"mtime_ns":1781516938563622759,"hash":"580ede75d18ef6d8117ef56ab233775e5143bc25de4716cfaf53464bdaeac599"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-10-staff/task.md":{"size":2775,"mtime_ns":1781516938564295343,"hash":"b55eb66cf597d5665d57d79f268a2fc106da8a8e01c18d7f8da2327da6dc7927"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-10-staff/user_flow.md":{"size":3553,"mtime_ns":1781516938564465635,"hash":"c5436837b9320d6cb9e5f50e7e6b7aeaaa8bdb8dc9a68fa4b5f4b22fdd58002a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-11-subscription/architecture.md":{"size":6182,"mtime_ns":1781516938564667844,"hash":"97af6c2e032264f5dd128efc6ec07a4c1c23664f325cba46bc7dca9da57b9578"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-11-subscription/database.md":{"size":4694,"mtime_ns":1781516938564824594,"hash":"3b798be28cfff874d1b09b25429767e7c928e7c0fd9a9db2a9685f429b299299"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-11-subscription/task.md":{"size":5322,"mtime_ns":1781516938564985928,"hash":"46d7f8870c6b9f46071a717d0235dceffd7d25508ca4f69886e5062c8b37d0e1"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-11-subscription/user_flow.md":{"size":5889,"mtime_ns":1781516938565157637,"hash":"d11628bbcd90efc0d3d09961a2ed62fe3707c3f5b60bbbfcc615da3b7180acd4"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-12-secretary-completion/architecture.md":{"size":2393,"mtime_ns":1781516938565327637,"hash":"d036ecddd7c889f68aac644919fb9255189de2f82cd62e3933b860bc348d34a2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-12-secretary-completion/database.md":{"size":1646,"mtime_ns":1781516938565469596,"hash":"bb7eaeece88f414ea6253e95b2acbbdbbf74396c5e51b213301593f2aa5d409c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-12-secretary-completion/task.md":{"size":6288,"mtime_ns":1781520442208567994,"hash":"f18a2edba4a0b75fef8e08e155a4cf100b8a98e463acf88d31d506c195f5b27b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-12-secretary-completion/user_flow.md":{"size":3821,"mtime_ns":1781520442059890701,"hash":"72aca8c6bba58695e7e1b63a3aa709d1068753beb31b981c648564fb822e4fec"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-13-clinic-services/architecture.md":{"size":3719,"mtime_ns":1781516938565894180,"hash":"c2c7361b57f654925f2801d0820f78bbbb97dfbd07c808b4ec304f7938139151"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-13-clinic-services/database.md":{"size":2673,"mtime_ns":1781516938566026680,"hash":"de17f21b92fb807651d65288c8539699aad5597b8e541e47c9bce4dd0f97b696"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-13-clinic-services/task.md":{"size":2931,"mtime_ns":1781516938566167056,"hash":"87038a0b3a2f872944d232bcf66eb5fab7676f00a9d29319c082a4b576a1fc40"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-13-clinic-services/user_flow.md":{"size":4046,"mtime_ns":1781516938566343181,"hash":"4bce3394d64f2c1d3441cd2c3ad717670d1c91817b9015db00aa9ae4eead4f66"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-14-sms-panel/architecture.md":{"size":5145,"mtime_ns":1781516938566580015,"hash":"14afd5263c7d520a89f36bbba8c8a1884f88df74d09afe4caf7464025ee25063"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-14-sms-panel/database.md":{"size":3803,"mtime_ns":1781516938567109641,"hash":"2a952887767f9f9811df0c99a9bc2ba9986defd5ea1caf3ed11080ce11c61f1f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-14-sms-panel/task.md":{"size":3454,"mtime_ns":1781516938567288849,"hash":"5badde1225cf74657f886825aaaae8582c1c627570f655ae9f631144bc75d7a9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-14-sms-panel/user_flow.md":{"size":4630,"mtime_ns":1781516938567444933,"hash":"8e4bcbd2fd0a486d4942df7ced8131738816487d2c16f0a05730d4c190a10296"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-15-patient-records/architecture.md":{"size":6622,"mtime_ns":1781516938567688975,"hash":"138a7655a0efa500b4a9a8f829bebbdff35803cb3abfd3da7f4d4f362d7b63c9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-15-patient-records/database.md":{"size":5463,"mtime_ns":1781516938567863767,"hash":"1dceb66c7a12a35660145fdf3bf0bbe4d5b8275f5b45bf86cbba4cf80f64675a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-15-patient-records/task.md":{"size":4809,"mtime_ns":1781516938568156268,"hash":"1222b425e9e9856e291b8fb39c28348287dbafcf7b0a30531c5bab8642d2cb17"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-15-patient-records/user_flow.md":{"size":6283,"mtime_ns":1781516938568370060,"hash":"e28725b4fd619e8e105951b570c0066efb23fd6f378c1939bbe5cfcdad47b2d5"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-16-smart-dashboard/architecture.md":{"size":3095,"mtime_ns":1781516938569635604,"hash":"6494802db54a411d47ce102df7a5584c1e7db3482aad69df967bf1ca71c5ba58"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-16-smart-dashboard/database.md":{"size":1971,"mtime_ns":1781516938569893480,"hash":"ec0826918bb413f88d2d989f514b0c75a8cb932d11476d2c6e46908ce87968e8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-16-smart-dashboard/task.md":{"size":2630,"mtime_ns":1781516938570195856,"hash":"19bc98b5866f489ff0cafdb3533f2698de3546aef26ad438d16beb2d7218c859"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/phase2_taskes/task-16-smart-dashboard/user_flow.md":{"size":5110,"mtime_ns":1781516938570362314,"hash":"3572f80a2a4741eeaa91c80e9c362bd8ff452c14c4d1f052efad6467db72ce60"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/qa/bug-report-2026-06-20.md":{"size":6123,"mtime_ns":1781932195178136627,"hash":"12f46177c25b3354d11d67086bea1387dfc7c630aa26c3ae766c680f2843640e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/security-audit.md":{"size":17685,"mtime_ns":1781029533522601843,"hash":"a4ff28a805763f65454696132ecea7011101bc37b1b6517222f1c75daf450ab1"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/README.md":{"size":3380,"mtime_ns":1780914526335796118,"hash":"defeedb0410731f689fba5e8e2c6f3e35b8bf9e5e284dad43313a1184b58b1ae"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-01-project-setup/architecture.md":{"size":4379,"mtime_ns":1780948878189677238,"hash":"01cbb020665bc50a95519b010c5cb4bdcda727e5e3b11144854ea69380bba84d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-01-project-setup/database.md":{"size":2777,"mtime_ns":1780913653761675119,"hash":"6ad045e9dcec53f77822e126640dacb6bd22ac3baee94373331ba46567bf37f5"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-01-project-setup/implementation_notes.md":{"size":11109,"mtime_ns":1781000268522993445,"hash":"7fcefe550ef23683ee4ed703af2881fb5c985930b4d1a3ab7c93a74ef491bdae"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-01-project-setup/task.md":{"size":15372,"mtime_ns":1780948866192116618,"hash":"311edd5597e787245e16d25b061f5faccd468d3d7a63ebb05bb04e26b3c7218e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-02-authentication/architecture.md":{"size":2897,"mtime_ns":1780913716805987120,"hash":"ee14b45989f69598f9862c975c097e7c3cb720c2bb06967b9787307e7acfe361"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-02-authentication/database.md":{"size":4381,"mtime_ns":1780945850080810308,"hash":"d1ce5e67b210864664df658d7de16fc479948f90164e90c89f53c33ee6de069a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-02-authentication/implementation_notes.md":{"size":4894,"mtime_ns":1780945075278630018,"hash":"8074b8f1bfe41c918b96cb9ab1c78937bf5986feb3ebe9db3c3ca7af88d7dc2e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-02-authentication/task.md":{"size":14847,"mtime_ns":1781000259106649518,"hash":"500d89358f6bf99cb445fcb71f0fe67afc142c3c607ccfb030cbcbea8409883e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-02-authentication/user_flow.md":{"size":2706,"mtime_ns":1780915019246111035,"hash":"03ed965fb14b51c065108f4eeca9672f20e8090195fcc442de5c5c60c950ec10"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-03-user-profile/architecture.md":{"size":2719,"mtime_ns":1780913810512596011,"hash":"1a83b9b76c0687098bffc9471e7fb2c51a97be4939347bd11990d55fc290fbe9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-03-user-profile/database.md":{"size":4620,"mtime_ns":1780945096397670031,"hash":"8d639d843c5d51531781080fa6179168662a5cbd22af7ea828e770823d374c00"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-03-user-profile/implementation_notes.md":{"size":2408,"mtime_ns":1780913848138283491,"hash":"5a60299e3ce86373b2ae7c2e0efdc5fb85b753123cc45bb09e0c9d671d396811"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-03-user-profile/task.md":{"size":2503,"mtime_ns":1780913798113112926,"hash":"f00a38d5a28420b3a8fda800286352a56f0f98b190ec67e57e1d971debae3bef"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-04-blog/architecture.md":{"size":1757,"mtime_ns":1780913877006618619,"hash":"e63b0d01ec3714992eefec62777ee965be7af2a59d55a9e72cf87effac0f4a8f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-04-blog/database.md":{"size":2332,"mtime_ns":1780917970043029189,"hash":"ae2d7fd401bce729cba77a040a613a7f8fe0e9b20e8d4a31eaa970451296a001"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-04-blog/implementation_notes.md":{"size":4727,"mtime_ns":1780945968298846841,"hash":"92f49568f1ecb690bef8287e9455ef0b2ed56d897309ea6b8a580fa667f8a5f6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-04-blog/task.md":{"size":1962,"mtime_ns":1780913865638451815,"hash":"2884592d17fcc3363768f899a4371d0ff2f25bc05bf4ab378647224aac695fc5"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-05-doctor/architecture.md":{"size":6624,"mtime_ns":1780915477914900899,"hash":"180c8f1b3163d1c97e3add7912571278ce7d53477095695010024be863743ee8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-05-doctor/database.md":{"size":7593,"mtime_ns":1780917946898365021,"hash":"00d19e027d60b4461e43310d6445f95fab85d7b6ba26ba946e44ea001556b0d0"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-05-doctor/implementation_notes.md":{"size":2375,"mtime_ns":1780913973933789015,"hash":"1fa793e81dd07304171c11a760104acd6802dbeec00363618f5d4c1e651668ba"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-05-doctor/task.md":{"size":6294,"mtime_ns":1780946040236355543,"hash":"042d405bfc9f389c3f4031533534485742dabdcfe86b4d753c0cc052a755f1f5"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-06-clinic/architecture.md":{"size":1851,"mtime_ns":1780913996728031516,"hash":"6cb465ec4509143b1ff168e629400684e18542a7c1f616f5885f1c4f8be7876f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-06-clinic/database.md":{"size":3657,"mtime_ns":1780926795107362628,"hash":"6ae9c1c5e9c833a0781878a60323428b3388dc46dfdb5620d649371d98c03f36"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-06-clinic/implementation_notes.md":{"size":1042,"mtime_ns":1780914015153456807,"hash":"5bb3da0cf9daf5a64f1316e32f20d5a24d70ae5a639bc0d4b62a2667a6742b19"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-06-clinic/task.md":{"size":5429,"mtime_ns":1780946101876308203,"hash":"709ac2fb057f4d470a55c5e47dc0bbda7f38f6a336622fd93be0e334019ee066"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-08-categories/architecture.md":{"size":1985,"mtime_ns":1780914070674333692,"hash":"b6839bd6197cc3e53162104e0ccddcb4c0dad2d268815ce71e50591dd58dcaea"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-08-categories/database.md":{"size":3623,"mtime_ns":1780917987390393019,"hash":"6a1ac2b1feeec574386ab34b5176b6c069ee3582e7152757e4693e18440d0365"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-08-categories/implementation_notes.md":{"size":1244,"mtime_ns":1780914095217341542,"hash":"fa7fd9bc9193bd89ed8e6438a3538bb8ba6aac5dbc8859735887b8a2a876956a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-08-categories/task.md":{"size":1912,"mtime_ns":1780914058797929168,"hash":"4a40fbf276a9595d6be7409e5b8ec3ce0963f7cff1ae1acdbbd8e2a8962f0f76"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-09-appointment-settings/architecture.md":{"size":3399,"mtime_ns":1780914129817089915,"hash":"b75f451ea0018239fff4ace9a06e486880409d0015582b1aa5f843b4ff14d9ab"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-09-appointment-settings/database.md":{"size":4225,"mtime_ns":1780915919108824849,"hash":"07a565453b405723fef58584dc058518729c7d27e873492d8a3cea7e7de0d690"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-09-appointment-settings/implementation_notes.md":{"size":3094,"mtime_ns":1780945173910875440,"hash":"c75e7608c3765170173b475dc5b2b224c663e6c116cecadf38107efdc86d6878"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-09-appointment-settings/task.md":{"size":2582,"mtime_ns":1780914114135141253,"hash":"48422a947301ff86b51f11c3168ec190bfa7f9dcc10821abd5ce5b9a460979ee"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-09-appointment-settings/user_flow.md":{"size":2191,"mtime_ns":1780914171627644777,"hash":"07b7bc5971ab5201243c5bdf67eb2d111629753dd697034c85e92c96d1008809"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-10-appointment/architecture.md":{"size":1996,"mtime_ns":1780914199549617529,"hash":"289adc397ac626b52b89755bfe8648fab0d7afbbdca30005de728b7697b9a214"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-10-appointment/database.md":{"size":3717,"mtime_ns":1780915937514717817,"hash":"88321d5b96f7d4a6b8e1704430500c45915eb2e259eef363d95f26de72109092"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-10-appointment/implementation_notes.md":{"size":4621,"mtime_ns":1780915380116156578,"hash":"a83b0c475c907a8d8a30ed2d0ca711db33f60fb1e61c202b76bc4731a5bf8243"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-10-appointment/task.md":{"size":8716,"mtime_ns":1780948491117865920,"hash":"da3cd77c8f2c7ad9129a69ccf1f8dc2317dc91a1dd956cf2f042b65361be6395"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-10-appointment/user_flow.md":{"size":1550,"mtime_ns":1780914238340850115,"hash":"9f5dce77e5f9988bba7dfcc621622610a49a42e0b065b884bab56b56661cd84b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-11-insurance/architecture.md":{"size":1127,"mtime_ns":1780914261808559537,"hash":"375e8ddd7ec2c6078760759c4501a4cfbfa68fafd7835fb01fb77ec9e63edae3"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-11-insurance/database.md":{"size":1786,"mtime_ns":1780945194993545294,"hash":"d839d386d4403610f52b0415868efd6ee3555dc5b209d13ec923975ec4bb799f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-11-insurance/implementation_notes.md":{"size":682,"mtime_ns":1780914277970139742,"hash":"9f0f9dc9c02d7e8672e66bf856526f7b0ed7956b926665bf807466cb5be8ae97"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-11-insurance/task.md":{"size":1020,"mtime_ns":1780914250465105891,"hash":"6dd946fad62474b45da1077a795263188685817d871a6fe6a7a48686e24d6193"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-12-rating-comment/architecture.md":{"size":2188,"mtime_ns":1780914305970064998,"hash":"5fdcb2df78dd410d0c2d434203efb1e7a932ef9e9a17270a252584779e59f6cb"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-12-rating-comment/database.md":{"size":3810,"mtime_ns":1780915977159314990,"hash":"2fdfac8ae3f0fc238d5398ffcc770d33470901fe1d371043f2762ca15a0c6e50"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-12-rating-comment/implementation_notes.md":{"size":5724,"mtime_ns":1780946157194396377,"hash":"df382ed8eb807a193bfc884447401cd87c9a678f6ecb95a0a246468cc9311851"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-12-rating-comment/task.md":{"size":3935,"mtime_ns":1780946250306428313,"hash":"fa4fc2ef76c08670eae962ffd0a3836d7cce4469bc5f407cebff751c025e5c7b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-13-like/architecture.md":{"size":974,"mtime_ns":1780914349899858832,"hash":"a0adb45cf9f78498055809006e340318b4ca21e6f8627ecbcdcac2205f3f7b29"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-13-like/database.md":{"size":1630,"mtime_ns":1780926837375006318,"hash":"3d670c92b56d80fa1da6b751fda3b776da46ea368106339d1b80dd6012e01d2a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-13-like/implementation_notes.md":{"size":596,"mtime_ns":1780914363412821531,"hash":"d49115b6d3c76aec3c3678cc86c6ef5b394e8e63d96e493479bc79db4cd8558c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-13-like/task.md":{"size":475,"mtime_ns":1780914338292873383,"hash":"0f032e0490838820a0692ba9c0042dadce5a9558d87083874219c84dcde92742"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-14-secretary/architecture.md":{"size":1308,"mtime_ns":1780914379600079656,"hash":"17eba56cf557f9cf9d6300b9946fe25cd348fd937bd20914ba382b1a760112aa"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-14-secretary/database.md":{"size":1827,"mtime_ns":1780926849934970617,"hash":"46384e53c3b5bd73ef416c647833213a49f5eaefdd7a6c63c4227cf54e5e8aa6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-14-secretary/implementation_notes.md":{"size":849,"mtime_ns":1780914395413759232,"hash":"432b4d0ed90802ae1dd2495e54a2493f60f07ca0ca57a7e68734ff493b2c8031"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-14-secretary/task.md":{"size":9039,"mtime_ns":1781000115337852359,"hash":"322eeb47d17aa1d34573f1daab3e4e6aaaa6c89a6c97bb7be08ea4e10c475f16"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-15-payment/architecture.md":{"size":1945,"mtime_ns":1780914418815337658,"hash":"434ff7a1e4e0cb8d175321f3af647ef5276602ed753c9ca9c3c9480a7456d53c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-15-payment/database.md":{"size":5305,"mtime_ns":1780946202243066788,"hash":"86fdf19600fc6c72961d37e60d2f056f9012b1b26d0fddac2a6d31b15295f105"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-15-payment/implementation_notes.md":{"size":3038,"mtime_ns":1780915087810785770,"hash":"1fbc6a5462ddb25a89b765941b2c4eebae1b3c2e62cf5dbf48bc48015b79e6ab"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-15-payment/task.md":{"size":8918,"mtime_ns":1780948846758672237,"hash":"ae564ca5b8f57b3e399f6996c978ed63e5d2425342b6d9dc6eb0b29c90fa2da4"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-16-representation/architecture.md":{"size":1957,"mtime_ns":1780915416796818495,"hash":"9ed187252c771e6fbbbc24009d84f0fe52b4c3f565b16413ffd753c16c1793d2"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-16-representation/database.md":{"size":2934,"mtime_ns":1780917918423562169,"hash":"bc18f2996973b821a4c393e627028ca7212b1bb769a7faf122fd0b7f4fc4da10"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-16-representation/implementation_notes.md":{"size":4833,"mtime_ns":1780915404939572215,"hash":"b8c731a6b5e06985b3179372e17bf6b678fd4bccf0f2a488cec7b842ecd56798"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-16-representation/task.md":{"size":4814,"mtime_ns":1780948110250153184,"hash":"ecf2f1d6b695c256805cea006ad4ea2c64d4419dba5da0e8a862ddcb78c185d8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-17-sms/database.md":{"size":2141,"mtime_ns":1780945235470226049,"hash":"4ef4177ff9c455909dc4d2d64ef4ee2fd8e1d5eaef1bda53fe9fed7923809e1f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-17-sms/implementation_notes.md":{"size":1864,"mtime_ns":1780945250993937969,"hash":"75cfb72ca7fff3f679ed78b75fb7cc251344cba57d46d4926a1ff24c61a18193"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-17-sms/task.md":{"size":14473,"mtime_ns":1781000201191461921,"hash":"b4a1a494a5417c78db3a85dc80fa158db77860e74eee9337fb15a5f5052f829f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-18-settlement/database.md":{"size":3780,"mtime_ns":1780948101369445086,"hash":"8c43bfccc6aafad28eebd86afc5b32f56ca6db3dc081b796567f4c95824df146"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/tasks/task-18-settlement/task.md":{"size":4116,"mtime_ns":1780948080182510614,"hash":"33696ec512d7848300e8575d2a387e09a90153045860fed8b8f2c5632b6592f1"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docker/entrypoint.sh":{"size":1468,"mtime_ns":1782633219516893494,"hash":"48c33a7c55c256a65ba4c089893e1112aea5b1320c9dc6b46f4eadb865b68ae4"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docker/frontend-domains.json":{"size":2348,"mtime_ns":1782410142646593892,"hash":"dc12d68e32830d446995ea2a8cf98fe0bc24e15d4b6b0b27dd5b97dc84b06568"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docker/gen-cors-env.php":{"size":1941,"mtime_ns":1782410159219136761,"hash":"cee724b4cbfc04771874ccdf454cb5bf04dcf63d16955f9e11357390e3a65c6b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docker/healthcheck.sh":{"size":443,"mtime_ns":1782647901237410548,"hash":"b4d2a6f75f334c832e9a015b4e296f3fb9210f128b2b1b40bfe74abf6e6babc5"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260628133044.php":{"size":1747,"mtime_ns":1782728407177086438,"hash":"5c24097f68a7696b4ae58ba6df68b6ace4f508b1f0ebf3e964fff23661c8ea0a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260628134241.php":{"size":1159,"mtime_ns":1782728407177374107,"hash":"c31886c1f10dd25296b56fb7ba336f1fc45aa45d6627ab6bdb148f18d49872ee"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260628152738.php":{"size":1873,"mtime_ns":1782728407177652192,"hash":"d7a00a9e505a45fe1056cde539a8cbefcb42f67a0c3755427d77ba12959e0c4c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260628153625.php":{"size":882,"mtime_ns":1782728407177952152,"hash":"b314e4f194586cb9b4037fb48ab8400a307ce428def8108b94616a263e24e238"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260628153855.php":{"size":1146,"mtime_ns":1782728407179127785,"hash":"1ec80db45af56adf7be93c412e0165c70fb629dde2ccc09b06a3452a66c52c05"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260628165710.php":{"size":809,"mtime_ns":1782728407179735539,"hash":"cca05740bf26d1540b361283f5a140aeb446bd717250615b7ed040977788dab6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260628173151.php":{"size":1639,"mtime_ns":1782728407180333627,"hash":"b8bbe9ad2ce3faae637534db20bfc455e288bc2c5fb3a1b9a10f4a29db2432aa"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Command/CreateAdminCommand.php":{"size":2428,"mtime_ns":1782649564990017265,"hash":"2fd1cffeb4d8299abb1a5fda3d9f29a08c882ff6e66781dffbc038ff675906c8"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Insurance/Service/TenantInsuranceCleanupService.php":{"size":1874,"mtime_ns":1782728407197355450,"hash":"19f366c81466bfebfd37cd2310f8602b243cf5111e51308892e196b7d5a7dc4e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/ApiTestCase.php":{"size":2923,"mtime_ns":1782728407205043418,"hash":"6ec92ce7ac31774fec6ceb5e33a073d6cdbe06044221f38e4939f99270fe8bfb"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Appointment/AppointmentExpiryServiceTest.php":{"size":2163,"mtime_ns":1782728407205393295,"hash":"5586072347e23a24fddaa187efeb93d702697b7cdd1a399909239684cf371372"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Appointment/AppointmentSettingsListOwnershipTest.php":{"size":1592,"mtime_ns":1782728407205827923,"hash":"1ffb3b0a89f531658a75520df810efc7e18022e106a75d885d92986d62ba74e7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Appointment/BookingScopeTest.php":{"size":1653,"mtime_ns":1782728407206108967,"hash":"395161c96b8a660dab252a12c063090de94131b66d672c3b8804d70800327451"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Appointment/DateOverrideOwnershipTest.php":{"size":1259,"mtime_ns":1782728407206489928,"hash":"10dfd3691f16464f1d16a317942a53046f5369260a74ce133960d1b1f30218aa"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Appointment/ScheduleOwnershipTest.php":{"size":1721,"mtime_ns":1782728407206779055,"hash":"f935dde55aaa34b8c10780019e1c8ee7f5733c602874cc951411737dc9691329"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Appointment/SlotUniquenessTest.php":{"size":2475,"mtime_ns":1782728407206954431,"hash":"0168f3c381e9da2663e2cf118fd67f5b90d2ea6e4e96433e3d05a567248961f4"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Audit/LowTierFixesTest.php":{"size":1517,"mtime_ns":1782728407207202432,"hash":"6d65ac794b959d7b177dfd5ed9792082e5f79a073b0cda79be8503b689edc907"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Auth/RefreshTokenTest.php":{"size":1924,"mtime_ns":1782728407207460101,"hash":"745716b0c8627a1f72fed9305b2dc70af84c14ed015ff3341bd3c6422ea63c87"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Auth/SendCodeMobileRateLimitTest.php":{"size":1421,"mtime_ns":1782728407207651102,"hash":"f069f1c427ffbeb082d3777ae8da34e031e940e4a0c79e5da4e80708345890aa"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Billing/ClaimAmountBoundsTest.php":{"size":1863,"mtime_ns":1782728407207878645,"hash":"0b7551406b5b0c2fe47812614e3edbf359b72ef3c0f16b12466e387c5bdbb041"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Billing/ClaimsListNPlusOneTest.php":{"size":1782,"mtime_ns":1782728407208062397,"hash":"dcf666e9d1a149bf85e0ef7869083bceec48bd8ba95958292878d73f7e330467"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Billing/ClaimsListPaginationTest.php":{"size":1215,"mtime_ns":1782728407208282107,"hash":"3d81e096e779dc685eed5920d7fef419ebf2c96e96794ae8d6222daeb0dea7e3"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/ClinicService/ServiceItemDeleteCleanupTest.php":{"size":1598,"mtime_ns":1782728407208527691,"hash":"f9809dce56ba099731d9fbf6e1da781c18acc49a758537002868a7db3efad7b1"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/ClinicService/ServiceItemStaffOwnershipTest.php":{"size":1464,"mtime_ns":1782728407208738276,"hash":"e8b808423b34ee5471e7d00407f94ed22593e06ed6c4e674f92e972ed0e8718f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Database/UniqueConstraintsTest.php":{"size":2595,"mtime_ns":1782728407208978278,"hash":"aeaae84730fbdecfb8337f25283653d3867d3cf50332e7bea917c946672c97cd"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Doctor/ClinicDoctorListNPlusOneTest.php":{"size":2457,"mtime_ns":1782728407209223988,"hash":"705820b9d1590cf2f642e6ee7391a651536104c92acf39f261e2df71516ed55a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Doctor/DoctorAddressOwnershipTest.php":{"size":1313,"mtime_ns":1782728407209479490,"hash":"8fde8b4d6db03191fc8d650bf86fa6962956b504013b76a55c4e5ae791e47c38"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Doctrine/RepositoryClassMappingTest.php":{"size":1573,"mtime_ns":1782728407209727575,"hash":"5289139754fae16d85a09fcff134ceef249968876f029c180f36b1c7d53bf5d5"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Insurance/DoctorInsuranceOwnershipTest.php":{"size":1486,"mtime_ns":1782728407209989701,"hash":"9231aaeffd13bf27869e74186679ddd38d1f6ebc9c52d36a8dad9b589bea3ad0"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Insurance/ServiceCoverageNPlusOneTest.php":{"size":3714,"mtime_ns":1782728407210225203,"hash":"dd8ffa7d6329453fa49a9403b95a13556ad08dd318c89733a202d9d6c8ecfa4f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Insurance/TenantInsuranceCleanupTest.php":{"size":3021,"mtime_ns":1782728407210448121,"hash":"986643979f19f6a7ee71127782524852eb9eb163b77db793253e95b8df534675"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Payment/PaymentCallbackAmountTest.php":{"size":3356,"mtime_ns":1782728407210719081,"hash":"1b32d36a573652e1860ae2ceaf20ead7eee9cef0c204c9d4875ce8926849e278"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Rating/CommentListNPlusOneTest.php":{"size":3794,"mtime_ns":1782728407210931374,"hash":"473c67b119935570a66ab5e75cc36311f04ce314729e75bf44fd337bacbc4535"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Rating/CommentPaginationTest.php":{"size":1836,"mtime_ns":1782728407211216876,"hash":"7d11e7ba342faf3c69e5844c1adab2aa7583b201737d16e0724d9233d00ad1e6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Representation/RepresentationCommissionTest.php":{"size":2548,"mtime_ns":1782728407211506878,"hash":"26b9f23b2462b30adea512eeb07f92f4db597a60c0ed3610a4169bd22f7c6c26"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Secretary/SecretaryListNPlusOneTest.php":{"size":1592,"mtime_ns":1782728407211848922,"hash":"bce8c0d2597c3641885ba9322eb03bada116d979e3bd7a0b4c90d5208fdd620c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Settlement/FinancialBreakdownIntegrityTest.php":{"size":1173,"mtime_ns":1782728407212105424,"hash":"3e987494345d3a7c1cc90de7b27bfcac7bc45bb54e8fa0a7a3f790bdfa406aaf"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Settlement/SettlementListPaginationTest.php":{"size":957,"mtime_ns":1782728407212820054,"hash":"74501df43886dc66c5fe19f849549a2194644dc948d94856f97d0af17c0d179c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Settlement/WalletTransactionsPaginationTest.php":{"size":1087,"mtime_ns":1782728407213026555,"hash":"8df4dfce9a91d73297d88f22e047a4127fee2b00e2fe1bc8f43eed2ff805fae9"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/ErrorCodesTest.php":{"size":1547,"mtime_ns":1782728407213280973,"hash":"bf392c01cd7a70c25efe7c4ad59ffdb4579b1216576d58393c3a965524360f0c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Smoke/InfraSmokeTest.php":{"size":1444,"mtime_ns":1782728407213624767,"hash":"d8d4a8c5688d7ed7168570bfc39c3cf038e2c43324498dff3239f5668afa0a1f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/doctrine_object_manager.php":{"size":479,"mtime_ns":1782728407213800685,"hash":"7a99fb0ab55d30b31cdebe923546775d6372a0aa6e731b409c37fb8f98671f5d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/admin-spa-adapt-backend-audit.md":{"size":8798,"mtime_ns":1782728407083687268,"hash":"f7e83133c40658496827e06f6182a995ccaff35018d83b7ee8aa32aba25a03fb"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/coolify-docker-production-hardening.md":{"size":13443,"mtime_ns":1782647901236299599,"hash":"74228033d085f739ed39f615762ad721c6b3678122d0afc3f988676c4b514589"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/coolify-symfony-deploy.md":{"size":18877,"mtime_ns":1782409236333930026,"hash":"a81d0aa4535ae4be51f69d47c5101f7a72415654ded3889e01f1baf98718715a"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/full-backend-audit.md":{"size":11545,"mtime_ns":1782728407084760233,"hash":"448fb57a5fdadd9bb3176b1570c0421b6459bbf2a5bd69bd4154246ae0c61285"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/home-landing-copy-and-mobile.md":{"size":11823,"mtime_ns":1782728407085277028,"hash":"596043e27126b0500ddbd861f0e7a8c17681ca49b3381da382458f2bc2355b09"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/split-db-redis-to-coolify-resources.md":{"size":12357,"mtime_ns":1782632977626228125,"hash":"6d87685ede07fb029b01d211fa82bdb7311bde9eb31ee9869992e6c49da5c75f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/DEPLOY.md":{"size":11539,"mtime_ns":1782647901238565498,"hash":"39797d5439fd4fd0fd19ae7a5b033febf0fbf6b58d07fdd1750d3aa2799b9163"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/audit-backlog.md":{"size":19190,"mtime_ns":1782728407113021215,"hash":"63afb7aaff2eb3113700644ab9bbfa07562ccec38cba4c77c0f21cd9acb98706"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/deploy/coolify.md":{"size":10378,"mtime_ns":1782410984792896284,"hash":"f1d06d336c14b8df1530ec41dd80021b40e7113be0895504f9dda70b112a1cdf"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Controller/SeoController.php":{"size":1860,"mtime_ns":1782728407203067196,"hash":"df1028d7b1b294928a318cc7c27de5ca99b00d583d81ef6f400494c22380b6a6"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/liara.json":{"size":638,"mtime_ns":1782743447395127690,"hash":"337416608afe2e6e989bfd903bb5bca1e977e6f8eb5cc02ca05a46bbda53edc4"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/liara_pre_build.sh":{"size":559,"mtime_ns":1782735663785720587,"hash":"d9b9232a0f115eb1d752c2b149a5224ea030fd04d3c92ab964d53a6701d5e0a7"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/liara_pre_start.sh":{"size":1063,"mtime_ns":1782747838542662883,"hash":"c5d143014bb281d056f6c286cf66faa4894b059584cceeacd150b01648cbde52"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/admin-spa-test-suite.md":{"size":19691,"mtime_ns":1782728407084188354,"hash":"73ad644cede4254811fab6f825750f127edb1b5f08b8bad25b99b85c097a9556"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/deploy-liara-docker.md":{"size":14106,"mtime_ns":1782732118990034632,"hash":"1a5f6f8bba054ea974f99dc5c01aeb19ed1cf612c3fd18a700bc03beaded2b5d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/deploy-liara-php.md":{"size":13353,"mtime_ns":1782735439025822952,"hash":"39f30d7c6d20b1869f5f06b2b532071e94b264f4bddf248c3cf84c62159ed86c"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/deploy-liara-php.md":{"size":10664,"mtime_ns":1782736008651392836,"hash":"65c93d7d9e14dd468b75c5c81dee1ae6438d267253e8ad295953d3746d68d250"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/deploy-liara.md":{"size":8919,"mtime_ns":1782732335270881309,"hash":"ade1392f7cf72c544736a765b03140858e45cc5f12a480cd03ba4628af17e84b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260629161536.php":{"size":1115,"mtime_ns":1782749766472631367,"hash":"c0e9b10f345c3d894d27267c90618903fab9693fd4be3542a755fbed3787fcba"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Logging/AppLog.php":{"size":1707,"mtime_ns":1782749711194459630,"hash":"5b3237552e7ae040e5a3b2a289e8fc0f0518a1df84553665ea214efd36c2321d"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Logging/AppLogRepository.php":{"size":321,"mtime_ns":1782749721788872841,"hash":"467e207cc4ef518da9d34cbc907c3de3ffc355fcd67f30c3155fe38624853f8b"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Shared/Logging/DbLogger.php":{"size":3546,"mtime_ns":1782749810227775663,"hash":"4d5328c774fe4619eb75f9de434173ae4a4b5ca53f7729383399b12c2a222805"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Admin/AdminLogsTest.php":{"size":1600,"mtime_ns":1782750195979032925,"hash":"a8f899cc061053e5664833c2ebcbf1fe2613c8d5b150973bb95e621750267c61"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/DbLoggerTest.php":{"size":1768,"mtime_ns":1782749879165982208,"hash":"48db5c733cc7e02a8a226fc4ed552cd5282c91d400dc72b32f3f122c127033bf"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/.claude/prompt/project-wide-logging.md":{"size":14450,"mtime_ns":1782749549958444881,"hash":"3970d300cb4b804fed477773b47b653edb7aa3754b8cefd0e3f7d31a49417e6f"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Controller/CategoryImportController.php":{"size":3511,"mtime_ns":1782843840412881578,"hash":"721aecace95083433388fa4205e063cb45867b202d5430f44c1b0bbb1faa4465"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Category/CategoryImportTest.php":{"size":3925,"mtime_ns":1782839178845925849,"hash":"03c15491170644124dd399b100bbac0982d3ffad86ccffa9a2b9f4076bfabaad"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/docs/api/category-import.md":{"size":5124,"mtime_ns":1782844030493510597,"hash":"d7c221bd66dc2ed13630b80966c57f9f824126dfcff92928ea41a28441d30879"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/data/seed/cities.json":{"size":44977,"mtime_ns":1782843868773038823,"hash":"4f34d9f9f45c9a445f12116cf0ee77b9105dfe11673bb77f0595861febc7851e"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/data/seed/doctor_services.json":{"size":46716,"mtime_ns":1782843868777989827,"hash":"3a5610d926bb9581c868449c387e80feef104aec7c9bdc6ed39835e87c287015"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/data/seed/provinces.json":{"size":4364,"mtime_ns":1782843868770610383,"hash":"c28e9c29f212ac946af73f8122b545bd3761766ebc2c8e0a47567ef6a9fc5197"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/data/seed/specialties.json":{"size":18764,"mtime_ns":1782843868775505763,"hash":"9bcf8a9b8f83e159a290b14c13b17b485185812c9e53ef62df4e33f84b216e47"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Command/SeedCategoriesCommand.php":{"size":2775,"mtime_ns":1782843891881834765,"hash":"13a71e6dab76fcb921270b6e2f996145b78e3c09d69b38592612a879707d87dc"},"/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Category/Service/CategoryImporter.php":{"size":11150,"mtime_ns":1782843813843439598,"hash":"de00c98fc50b71185668d058a3f4bcba79db6ce8f9cf9d11bc4647fa24470a1c"}} \ No newline at end of file diff --git a/graphify-out/graph.json b/graphify-out/graph.json index 519a0a3f..c6aa1ed4 100644 --- a/graphify-out/graph.json +++ b/graphify-out/graph.json @@ -70,7 +70,7 @@ "source_location": "L1", "_origin": "ast", "id": "components_freevisitprice", - "community": 11, + "community": 21, "norm_label": "freevisitprice.tsx" }, { @@ -80,7 +80,7 @@ "source_location": "L7", "_origin": "ast", "id": "components_freevisitprice_pricing", - "community": 11, + "community": 21, "norm_label": "pricing" }, { @@ -90,7 +90,7 @@ "source_location": "L9", "_origin": "ast", "id": "components_freevisitprice_freevisitprice", - "community": 11, + "community": 21, "norm_label": "freevisitprice()" }, { @@ -1100,7 +1100,7 @@ "source_location": "L1", "_origin": "ast", "id": "ui_statcard", - "community": 650, + "community": 21, "norm_label": "statcard.tsx" }, { @@ -1110,7 +1110,7 @@ "source_location": "L3", "_origin": "ast", "id": "ui_statcard_stattone", - "community": 650, + "community": 21, "norm_label": "stattone" }, { @@ -1120,7 +1120,7 @@ "source_location": "L5", "_origin": "ast", "id": "ui_statcard_tone", - "community": 650, + "community": 21, "norm_label": "tone" }, { @@ -1130,7 +1130,7 @@ "source_location": "L12", "_origin": "ast", "id": "ui_statcard_props", - "community": 650, + "community": 21, "norm_label": "props" }, { @@ -1140,7 +1140,7 @@ "source_location": "L19", "_origin": "ast", "id": "ui_statcard_statcard", - "community": 650, + "community": 21, "norm_label": "statcard()" }, { @@ -1530,7 +1530,7 @@ "source_location": "L3", "_origin": "ast", "id": "lib_utils_formatrial", - "community": 11, + "community": 21, "norm_label": "formatrial()" }, { @@ -1660,7 +1660,7 @@ "source_location": "L1", "_origin": "ast", "id": "pages_adminsubscriptionpage", - "community": 182, + "community": 11, "norm_label": "adminsubscriptionpage.tsx" }, { @@ -1670,7 +1670,7 @@ "source_location": "L19", "_origin": "ast", "id": "pages_adminsubscriptionpage_reportrow", - "community": 182, + "community": 11, "norm_label": "reportrow" }, { @@ -1680,7 +1680,7 @@ "source_location": "L33", "_origin": "ast", "id": "pages_adminsubscriptionpage_planschema", - "community": 182, + "community": 11, "norm_label": "planschema" }, { @@ -1690,7 +1690,7 @@ "source_location": "L40", "_origin": "ast", "id": "pages_adminsubscriptionpage_planform", - "community": 182, + "community": 11, "norm_label": "planform" }, { @@ -1700,7 +1700,7 @@ "source_location": "L42", "_origin": "ast", "id": "pages_adminsubscriptionpage_periodschema", - "community": 182, + "community": 11, "norm_label": "periodschema" }, { @@ -1710,7 +1710,7 @@ "source_location": "L51", "_origin": "ast", "id": "pages_adminsubscriptionpage_periodform", - "community": 182, + "community": 11, "norm_label": "periodform" }, { @@ -1720,7 +1720,7 @@ "source_location": "L55", "_origin": "ast", "id": "pages_adminsubscriptionpage_feature_labels", - "community": 182, + "community": 11, "norm_label": "feature_labels" }, { @@ -1730,7 +1730,7 @@ "source_location": "L62", "_origin": "ast", "id": "pages_adminsubscriptionpage_feature_keys", - "community": 182, + "community": 11, "norm_label": "feature_keys" }, { @@ -1740,7 +1740,7 @@ "source_location": "L64", "_origin": "ast", "id": "pages_adminsubscriptionpage_emptyfeatures", - "community": 182, + "community": 11, "norm_label": "emptyfeatures()" }, { @@ -1750,7 +1750,7 @@ "source_location": "L67", "_origin": "ast", "id": "pages_adminsubscriptionpage_plan_display", - "community": 182, + "community": 11, "norm_label": "plan_display" }, { @@ -1760,7 +1760,7 @@ "source_location": "L75", "_origin": "ast", "id": "pages_adminsubscriptionpage_switchtoggle", - "community": 182, + "community": 11, "norm_label": "switchtoggle" }, { @@ -1770,7 +1770,7 @@ "source_location": "L88", "_origin": "ast", "id": "pages_adminsubscriptionpage_planstab", - "community": 182, + "community": 11, "norm_label": "planstab()" }, { @@ -1780,7 +1780,7 @@ "source_location": "L365", "_origin": "ast", "id": "pages_adminsubscriptionpage_reporttab", - "community": 182, + "community": 11, "norm_label": "reporttab()" }, { @@ -1790,7 +1790,7 @@ "source_location": "L431", "_origin": "ast", "id": "pages_adminsubscriptionpage_adminsubscriptionpage", - "community": 182, + "community": 11, "norm_label": "adminsubscriptionpage()" }, { @@ -1800,7 +1800,7 @@ "source_location": "L1", "_origin": "ast", "id": "pages_appointmentdetailpage", - "community": 19, + "community": 3, "norm_label": "appointmentdetailpage.tsx" }, { @@ -1810,7 +1810,7 @@ "source_location": "L15", "_origin": "ast", "id": "pages_appointmentdetailpage_all_statuses", - "community": 19, + "community": 3, "norm_label": "all_statuses" }, { @@ -1820,7 +1820,7 @@ "source_location": "L25", "_origin": "ast", "id": "pages_appointmentdetailpage_inforow", - "community": 19, + "community": 3, "norm_label": "inforow()" }, { @@ -1830,7 +1830,7 @@ "source_location": "L34", "_origin": "ast", "id": "pages_appointmentdetailpage_appointmentdetailpage", - "community": 19, + "community": 3, "norm_label": "appointmentdetailpage()" }, { @@ -2080,7 +2080,7 @@ "source_location": "L432", "_origin": "ast", "id": "pages_appointmentspage_newappointmentmodal", - "community": 0, + "community": 49, "norm_label": "newappointmentmodal()" }, { @@ -2280,7 +2280,7 @@ "source_location": "L44", "_origin": "ast", "id": "pages_categoriespage_logouploadfield", - "community": 0, + "community": 41, "norm_label": "logouploadfield()" }, { @@ -2310,7 +2310,7 @@ "source_location": "L136", "_origin": "ast", "id": "pages_categoriespage_tabactions", - "community": 0, + "community": 41, "norm_label": "tabactions()" }, { @@ -3420,7 +3420,7 @@ "source_location": "L1136", "_origin": "ast", "id": "pages_dashboardpage_dashboardpage", - "community": 0, + "community": 21, "norm_label": "dashboardpage()" }, { @@ -4510,7 +4510,7 @@ "source_location": "L1", "_origin": "ast", "id": "pages_insurancepricingpage", - "community": 11, + "community": 0, "norm_label": "insurancepricingpage.tsx" }, { @@ -4520,7 +4520,7 @@ "source_location": "L6", "_origin": "ast", "id": "pages_insurancepricingpage_insurancepricingpage", - "community": 11, + "community": 0, "norm_label": "insurancepricingpage()" }, { @@ -5140,7 +5140,7 @@ "source_location": "L1", "_origin": "ast", "id": "pages_paymentdetailpage", - "community": 11, + "community": 3, "norm_label": "paymentdetailpage.tsx" }, { @@ -5150,7 +5150,7 @@ "source_location": "L12", "_origin": "ast", "id": "pages_paymentdetailpage_inforow", - "community": 11, + "community": 3, "norm_label": "inforow()" }, { @@ -5160,7 +5160,7 @@ "source_location": "L21", "_origin": "ast", "id": "pages_paymentdetailpage_paymentdetailpage", - "community": 11, + "community": 3, "norm_label": "paymentdetailpage()" }, { @@ -5450,7 +5450,7 @@ "source_location": "L1", "_origin": "ast", "id": "pages_representationsettlementpage", - "community": 11, + "community": 2, "norm_label": "representationsettlementpage.tsx" }, { @@ -5460,7 +5460,7 @@ "source_location": "L9", "_origin": "ast", "id": "pages_representationsettlementpage_walletbalance", - "community": 11, + "community": 2, "norm_label": "walletbalance" }, { @@ -5470,7 +5470,7 @@ "source_location": "L10", "_origin": "ast", "id": "pages_representationsettlementpage_repsummary", - "community": 11, + "community": 2, "norm_label": "repsummary" }, { @@ -5480,7 +5480,7 @@ "source_location": "L11", "_origin": "ast", "id": "pages_representationsettlementpage_settlementrow", - "community": 11, + "community": 2, "norm_label": "settlementrow" }, { @@ -5490,7 +5490,7 @@ "source_location": "L19", "_origin": "ast", "id": "pages_representationsettlementpage_status_label", - "community": 11, + "community": 2, "norm_label": "status_label" }, { @@ -5500,7 +5500,7 @@ "source_location": "L22", "_origin": "ast", "id": "pages_representationsettlementpage_status_class", - "community": 11, + "community": 2, "norm_label": "status_class" }, { @@ -5510,7 +5510,7 @@ "source_location": "L26", "_origin": "ast", "id": "pages_representationsettlementpage_ibanitem", - "community": 11, + "community": 2, "norm_label": "ibanitem" }, { @@ -5520,7 +5520,7 @@ "source_location": "L27", "_origin": "ast", "id": "pages_representationsettlementpage_repme", - "community": 11, + "community": 2, "norm_label": "repme" }, { @@ -5530,7 +5530,7 @@ "source_location": "L29", "_origin": "ast", "id": "pages_representationsettlementpage_representationsettlementpage", - "community": 11, + "community": 2, "norm_label": "representationsettlementpage()" }, { @@ -5800,7 +5800,7 @@ "source_location": "L24", "_origin": "ast", "id": "pages_settlementspage_settlementspage", - "community": 11, + "community": 21, "norm_label": "settlementspage()" }, { @@ -5810,7 +5810,7 @@ "source_location": "L1", "_origin": "ast", "id": "pages_smspage", - "community": 41, + "community": 3, "norm_label": "smspage.tsx" }, { @@ -5820,7 +5820,7 @@ "source_location": "L19", "_origin": "ast", "id": "pages_smspage_templateschema", - "community": 41, + "community": 3, "norm_label": "templateschema" }, { @@ -5830,7 +5830,7 @@ "source_location": "L23", "_origin": "ast", "id": "pages_smspage_templateformdata", - "community": 41, + "community": 3, "norm_label": "templateformdata" }, { @@ -5840,7 +5840,7 @@ "source_location": "L25", "_origin": "ast", "id": "pages_smspage_tab", - "community": 41, + "community": 3, "norm_label": "tab" }, { @@ -5850,7 +5850,7 @@ "source_location": "L27", "_origin": "ast", "id": "pages_smspage_status_log_meta", - "community": 41, + "community": 3, "norm_label": "status_log_meta" }, { @@ -5860,7 +5860,7 @@ "source_location": "L33", "_origin": "ast", "id": "pages_smspage_tag_labels", - "community": 41, + "community": 3, "norm_label": "tag_labels" }, { @@ -5870,7 +5870,7 @@ "source_location": "L43", "_origin": "ast", "id": "pages_smspage_tag_filter_options", - "community": 41, + "community": 3, "norm_label": "tag_filter_options" }, { @@ -5880,7 +5880,7 @@ "source_location": "L48", "_origin": "ast", "id": "pages_smspage_smspage", - "community": 41, + "community": 3, "norm_label": "smspage()" }, { @@ -6600,7 +6600,7 @@ "source_location": "L1", "_origin": "ast", "id": "types_index", - "community": 41, + "community": 3, "norm_label": "index.ts" }, { @@ -6610,7 +6610,7 @@ "source_location": "L1", "_origin": "ast", "id": "types_index_user", - "community": 41, + "community": 3, "norm_label": "user" }, { @@ -6620,7 +6620,7 @@ "source_location": "L15", "_origin": "ast", "id": "types_index_userprofile", - "community": 41, + "community": 3, "norm_label": "userprofile" }, { @@ -6630,7 +6630,7 @@ "source_location": "L26", "_origin": "ast", "id": "types_index_doctor", - "community": 41, + "community": 3, "norm_label": "doctor" }, { @@ -6660,7 +6660,7 @@ "source_location": "L82", "_origin": "ast", "id": "types_index_appointmentstatus", - "community": 19, + "community": 3, "norm_label": "appointmentstatus" }, { @@ -6670,7 +6670,7 @@ "source_location": "L91", "_origin": "ast", "id": "types_index_appointment", - "community": 19, + "community": 3, "norm_label": "appointment" }, { @@ -6690,7 +6690,7 @@ "source_location": "L113", "_origin": "ast", "id": "types_index_paymentgateway", - "community": 41, + "community": 3, "norm_label": "paymentgateway" }, { @@ -6700,7 +6700,7 @@ "source_location": "L115", "_origin": "ast", "id": "types_index_payment", - "community": 11, + "community": 3, "norm_label": "payment" }, { @@ -6720,7 +6720,7 @@ "source_location": "L129", "_origin": "ast", "id": "types_index_settlement", - "community": 41, + "community": 3, "norm_label": "settlement" }, { @@ -6740,7 +6740,7 @@ "source_location": "L157", "_origin": "ast", "id": "types_index_comment", - "community": 41, + "community": 3, "norm_label": "comment" }, { @@ -6750,7 +6750,7 @@ "source_location": "L167", "_origin": "ast", "id": "types_index_rating", - "community": 41, + "community": 3, "norm_label": "rating" }, { @@ -6770,7 +6770,7 @@ "source_location": "L182", "_origin": "ast", "id": "types_index_smstemplate", - "community": 41, + "community": 3, "norm_label": "smstemplate" }, { @@ -6780,7 +6780,7 @@ "source_location": "L192", "_origin": "ast", "id": "types_index_smslog", - "community": 41, + "community": 3, "norm_label": "smslog" }, { @@ -6800,7 +6800,7 @@ "source_location": "L213", "_origin": "ast", "id": "types_index_smsmessagetext", - "community": 41, + "community": 3, "norm_label": "smsmessagetext" }, { @@ -6880,7 +6880,7 @@ "source_location": "L299", "_origin": "ast", "id": "types_index_secretary", - "community": 8, + "community": 3, "norm_label": "secretary" }, { @@ -6890,7 +6890,7 @@ "source_location": "L310", "_origin": "ast", "id": "types_index_secretarypermissions", - "community": 8, + "community": 3, "norm_label": "secretarypermissions" }, { @@ -6900,7 +6900,7 @@ "source_location": "L335", "_origin": "ast", "id": "types_index_specialty", - "community": 41, + "community": 3, "norm_label": "specialty" }, { @@ -6920,7 +6920,7 @@ "source_location": "L353", "_origin": "ast", "id": "types_index_subscriptionplan", - "community": 182, + "community": 11, "norm_label": "subscriptionplan" }, { @@ -6930,7 +6930,7 @@ "source_location": "L362", "_origin": "ast", "id": "types_index_subscriptionperiod", - "community": 182, + "community": 11, "norm_label": "subscriptionperiod" }, { @@ -6950,7 +6950,7 @@ "source_location": "L387", "_origin": "ast", "id": "types_index_mysubscription", - "community": 41, + "community": 3, "norm_label": "mysubscription" }, { @@ -7010,7 +7010,7 @@ "source_location": "L437", "_origin": "ast", "id": "types_index_patientprofile", - "community": 41, + "community": 3, "norm_label": "patientprofile" }, { @@ -7860,7 +7860,7 @@ "source_location": "L87", "_origin": "ast", "id": "composer_extra", - "community": 163, + "community": 650, "norm_label": "extra" }, { @@ -7870,7 +7870,7 @@ "source_location": "L88", "_origin": "ast", "id": "composer_extra_symfony", - "community": 163, + "community": 650, "norm_label": "symfony" }, { @@ -7880,7 +7880,7 @@ "source_location": "L89", "_origin": "ast", "id": "composer_symfony_allow_contrib", - "community": 163, + "community": 650, "norm_label": "allow-contrib" }, { @@ -7890,7 +7890,7 @@ "source_location": "L90", "_origin": "ast", "id": "composer_symfony_require", - "community": 163, + "community": 650, "norm_label": "require" }, { @@ -8202,7 +8202,7 @@ "source_location": "", "_origin": "ast", "id": "abstractmigration", - "community": 583, + "community": 400, "norm_label": "abstractmigration" }, { @@ -8742,7 +8742,7 @@ "source_location": "L1", "_origin": "ast", "id": "migrations_version20260609134741", - "community": 407, + "community": 400, "norm_label": "version20260609134741.php" }, { @@ -8752,7 +8752,7 @@ "source_location": "L13", "_origin": "ast", "id": "migrations_version20260609134741_version20260609134741", - "community": 407, + "community": 400, "norm_label": "version20260609134741" }, { @@ -8762,7 +8762,7 @@ "source_location": "L15", "_origin": "ast", "id": "migrations_version20260609134741_version20260609134741_getdescription", - "community": 407, + "community": 400, "norm_label": ".getdescription()" }, { @@ -8772,7 +8772,7 @@ "source_location": "L20", "_origin": "ast", "id": "migrations_version20260609134741_version20260609134741_up", - "community": 407, + "community": 400, "norm_label": ".up()" }, { @@ -8782,7 +8782,7 @@ "source_location": "L20", "_origin": "ast", "id": "migrations_version20260609134741_php_schema", - "community": 407, + "community": 400, "norm_label": "schema" }, { @@ -8792,7 +8792,7 @@ "source_location": "L28", "_origin": "ast", "id": "migrations_version20260609134741_version20260609134741_down", - "community": 407, + "community": 400, "norm_label": ".down()" }, { @@ -12222,7 +12222,7 @@ "source_location": "L1", "_origin": "ast", "id": "migrations_version20260628165710", - "community": 583, + "community": 647, "norm_label": "version20260628165710.php" }, { @@ -12232,7 +12232,7 @@ "source_location": "L13", "_origin": "ast", "id": "migrations_version20260628165710_version20260628165710", - "community": 583, + "community": 647, "norm_label": "version20260628165710" }, { @@ -12242,7 +12242,7 @@ "source_location": "L15", "_origin": "ast", "id": "migrations_version20260628165710_version20260628165710_getdescription", - "community": 583, + "community": 647, "norm_label": ".getdescription()" }, { @@ -12252,7 +12252,7 @@ "source_location": "L20", "_origin": "ast", "id": "migrations_version20260628165710_version20260628165710_up", - "community": 583, + "community": 647, "norm_label": ".up()" }, { @@ -12262,7 +12262,7 @@ "source_location": "L20", "_origin": "ast", "id": "migrations_version20260628165710_php_schema", - "community": 583, + "community": 647, "norm_label": "schema" }, { @@ -12272,7 +12272,7 @@ "source_location": "L26", "_origin": "ast", "id": "migrations_version20260628165710_version20260628165710_down", - "community": 583, + "community": 647, "norm_label": ".down()" }, { @@ -15342,7 +15342,7 @@ "source_location": "L1", "_origin": "ast", "id": "repository_dateoverriderepository", - "community": 14, + "community": 368, "norm_label": "dateoverriderepository.php" }, { @@ -15352,7 +15352,7 @@ "source_location": "L10", "_origin": "ast", "id": "repository_dateoverriderepository_dateoverriderepository", - "community": 14, + "community": 368, "norm_label": "dateoverriderepository" }, { @@ -15362,7 +15362,7 @@ "source_location": "L12", "_origin": "ast", "id": "repository_dateoverriderepository_dateoverriderepository_construct", - "community": 14, + "community": 368, "norm_label": ".__construct()" }, { @@ -15372,7 +15372,7 @@ "source_location": "L12", "_origin": "ast", "id": "src_appointment_repository_dateoverriderepository_php_managerregistry", - "community": 14, + "community": 368, "norm_label": "managerregistry" }, { @@ -15382,7 +15382,7 @@ "source_location": "L17", "_origin": "ast", "id": "repository_dateoverriderepository_dateoverriderepository_findbyuuid", - "community": 14, + "community": 368, "norm_label": ".findbyuuid()" }, { @@ -15392,7 +15392,7 @@ "source_location": "L17", "_origin": "ast", "id": "dateoverride", - "community": 14, + "community": 368, "norm_label": "dateoverride" }, { @@ -15402,7 +15402,7 @@ "source_location": "L23", "_origin": "ast", "id": "repository_dateoverriderepository_dateoverriderepository_findbydoctor", - "community": 14, + "community": 368, "norm_label": ".findbydoctor()" }, { @@ -15412,7 +15412,7 @@ "source_location": "L23", "_origin": "ast", "id": "src_appointment_repository_dateoverriderepository_php_doctor", - "community": 14, + "community": 368, "norm_label": "doctor" }, { @@ -15422,7 +15422,7 @@ "source_location": "L28", "_origin": "ast", "id": "repository_dateoverriderepository_dateoverriderepository_save", - "community": 14, + "community": 368, "norm_label": ".save()" }, { @@ -15432,7 +15432,7 @@ "source_location": "L34", "_origin": "ast", "id": "repository_dateoverriderepository_dateoverriderepository_remove", - "community": 14, + "community": 368, "norm_label": ".remove()" }, { @@ -15692,7 +15692,7 @@ "source_location": "L1", "_origin": "ast", "id": "service_appointmentexpiryservice", - "community": 649, + "community": 401, "norm_label": "appointmentexpiryservice.php" }, { @@ -15702,7 +15702,7 @@ "source_location": "L10", "_origin": "ast", "id": "service_appointmentexpiryservice_appointmentexpiryservice", - "community": 649, + "community": 401, "norm_label": "appointmentexpiryservice" }, { @@ -15712,7 +15712,7 @@ "source_location": "L12", "_origin": "ast", "id": "service_appointmentexpiryservice_appointmentexpiryservice_construct", - "community": 649, + "community": 401, "norm_label": ".__construct()" }, { @@ -15722,7 +15722,7 @@ "source_location": "L23", "_origin": "ast", "id": "service_appointmentexpiryservice_appointmentexpiryservice_expirestale", - "community": 649, + "community": 401, "norm_label": ".expirestale()" }, { @@ -18732,7 +18732,7 @@ "source_location": "L1", "_origin": "ast", "id": "repository_invoiceitemrepository", - "community": 647, + "community": 53, "norm_label": "invoiceitemrepository.php" }, { @@ -18742,7 +18742,7 @@ "source_location": "L9", "_origin": "ast", "id": "repository_invoiceitemrepository_invoiceitemrepository", - "community": 647, + "community": 53, "norm_label": "invoiceitemrepository" }, { @@ -18752,7 +18752,7 @@ "source_location": "L11", "_origin": "ast", "id": "repository_invoiceitemrepository_invoiceitemrepository_construct", - "community": 647, + "community": 53, "norm_label": ".__construct()" }, { @@ -18762,7 +18762,7 @@ "source_location": "L11", "_origin": "ast", "id": "src_billing_repository_invoiceitemrepository_php_managerregistry", - "community": 647, + "community": 53, "norm_label": "managerregistry" }, { @@ -18772,7 +18772,7 @@ "source_location": "L16", "_origin": "ast", "id": "repository_invoiceitemrepository_invoiceitemrepository_save", - "community": 647, + "community": 53, "norm_label": ".save()" }, { @@ -18782,7 +18782,7 @@ "source_location": "L16", "_origin": "ast", "id": "src_billing_repository_invoiceitemrepository_php_invoiceitem", - "community": 647, + "community": 53, "norm_label": "invoiceitem" }, { @@ -18792,7 +18792,7 @@ "source_location": "L29", "_origin": "ast", "id": "repository_invoiceitemrepository_invoiceitemrepository_detailsforids", - "community": 647, + "community": 53, "norm_label": ".detailsforids()" }, { @@ -19825,6 +19825,66 @@ "community": 58, "norm_label": ".remove()" }, + { + "label": "SeedCategoriesCommand.php", + "file_type": "code", + "source_file": "src/Category/Command/SeedCategoriesCommand.php", + "source_location": "L1", + "_origin": "ast", + "id": "command_seedcategoriescommand", + "community": 205, + "norm_label": "seedcategoriescommand.php" + }, + { + "label": "SeedCategoriesCommand", + "file_type": "code", + "source_file": "src/Category/Command/SeedCategoriesCommand.php", + "source_location": "L22", + "_origin": "ast", + "id": "command_seedcategoriescommand_seedcategoriescommand", + "community": 205, + "norm_label": "seedcategoriescommand" + }, + { + "label": ".__construct()", + "file_type": "code", + "source_file": "src/Category/Command/SeedCategoriesCommand.php", + "source_location": "L28", + "_origin": "ast", + "id": "command_seedcategoriescommand_seedcategoriescommand_construct", + "community": 205, + "norm_label": ".__construct()" + }, + { + "label": ".execute()", + "file_type": "code", + "source_file": "src/Category/Command/SeedCategoriesCommand.php", + "source_location": "L35", + "_origin": "ast", + "id": "command_seedcategoriescommand_seedcategoriescommand_execute", + "community": 205, + "norm_label": ".execute()" + }, + { + "label": "InputInterface", + "file_type": "code", + "source_file": "src/Category/Command/SeedCategoriesCommand.php", + "source_location": "L35", + "_origin": "ast", + "id": "src_category_command_seedcategoriescommand_php_inputinterface", + "community": 205, + "norm_label": "inputinterface" + }, + { + "label": "OutputInterface", + "file_type": "code", + "source_file": "src/Category/Command/SeedCategoriesCommand.php", + "source_location": "L35", + "_origin": "ast", + "id": "src_category_command_seedcategoriescommand_php_outputinterface", + "community": 205, + "norm_label": "outputinterface" + }, { "label": "CategoryController.php", "file_type": "code", @@ -19872,127 +19932,197 @@ "source_location": "L1", "_origin": "ast", "id": "controller_categoryimportcontroller", - "community": 274, + "community": 108, "norm_label": "categoryimportcontroller.php" }, { "label": "CategoryImportController", "file_type": "code", "source_file": "src/Category/Controller/CategoryImportController.php", - "source_location": "L28", + "source_location": "L25", "_origin": "ast", "id": "controller_categoryimportcontroller_categoryimportcontroller", - "community": 274, + "community": 108, "norm_label": "categoryimportcontroller" }, { "label": ".__construct()", "file_type": "code", "source_file": "src/Category/Controller/CategoryImportController.php", - "source_location": "L42", + "source_location": "L29", "_origin": "ast", "id": "controller_categoryimportcontroller_categoryimportcontroller_construct", - "community": 274, + "community": 108, "norm_label": ".__construct()" }, { "label": ".export()", "file_type": "code", "source_file": "src/Category/Controller/CategoryImportController.php", - "source_location": "L54", + "source_location": "L39", "_origin": "ast", "id": "controller_categoryimportcontroller_categoryimportcontroller_export", - "community": 274, + "community": 108, "norm_label": ".export()" }, { "label": "JsonResponse", "file_type": "code", "source_file": "src/Category/Controller/CategoryImportController.php", - "source_location": "L54", + "source_location": "L39", "_origin": "ast", "id": "src_category_controller_categoryimportcontroller_php_jsonresponse", - "community": 274, + "community": 108, "norm_label": "jsonresponse" }, { "label": ".import()", "file_type": "code", "source_file": "src/Category/Controller/CategoryImportController.php", - "source_location": "L77", + "source_location": "L49", "_origin": "ast", "id": "controller_categoryimportcontroller_categoryimportcontroller_import", - "community": 274, + "community": 108, "norm_label": ".import()" }, { "label": "Request", "file_type": "code", "source_file": "src/Category/Controller/CategoryImportController.php", - "source_location": "L77", + "source_location": "L49", "_origin": "ast", "id": "src_category_controller_categoryimportcontroller_php_request", - "community": 274, + "community": 108, "norm_label": "request" }, + { + "label": "CategoryImporter.php", + "file_type": "code", + "source_file": "src/Category/Service/CategoryImporter.php", + "source_location": "L1", + "_origin": "ast", + "id": "service_categoryimporter", + "community": 318, + "norm_label": "categoryimporter.php" + }, + { + "label": "CategoryImporter", + "file_type": "code", + "source_file": "src/Category/Service/CategoryImporter.php", + "source_location": "L16", + "_origin": "ast", + "id": "service_categoryimporter_categoryimporter", + "community": 340, + "norm_label": "categoryimporter" + }, + { + "label": ".__construct()", + "file_type": "code", + "source_file": "src/Category/Service/CategoryImporter.php", + "source_location": "L28", + "_origin": "ast", + "id": "service_categoryimporter_categoryimporter_construct", + "community": 340, + "norm_label": ".__construct()" + }, + { + "label": ".isValidBundle()", + "file_type": "code", + "source_file": "src/Category/Service/CategoryImporter.php", + "source_location": "L32", + "_origin": "ast", + "id": "service_categoryimporter_categoryimporter_isvalidbundle", + "community": 340, + "norm_label": ".isvalidbundle()" + }, + { + "label": ".exportAll()", + "file_type": "code", + "source_file": "src/Category/Service/CategoryImporter.php", + "source_location": "L38", + "_origin": "ast", + "id": "service_categoryimporter_categoryimporter_exportall", + "community": 340, + "norm_label": ".exportall()" + }, + { + "label": ".validate()", + "file_type": "code", + "source_file": "src/Category/Service/CategoryImporter.php", + "source_location": "L58", + "_origin": "ast", + "id": "service_categoryimporter_categoryimporter_validate", + "community": 340, + "norm_label": ".validate()" + }, + { + "label": ".replace()", + "file_type": "code", + "source_file": "src/Category/Service/CategoryImporter.php", + "source_location": "L169", + "_origin": "ast", + "id": "service_categoryimporter_categoryimporter_replace", + "community": 340, + "norm_label": ".replace()" + }, { "label": ".validateReferences()", "file_type": "code", - "source_file": "src/Category/Controller/CategoryImportController.php", - "source_location": "L242", + "source_file": "src/Category/Service/CategoryImporter.php", + "source_location": "L188", "_origin": "ast", - "id": "controller_categoryimportcontroller_categoryimportcontroller_validatereferences", - "community": 274, + "id": "service_categoryimporter_categoryimporter_validatereferences", + "community": 340, "norm_label": ".validatereferences()" }, { "label": ".existingIds()", "file_type": "code", - "source_file": "src/Category/Controller/CategoryImportController.php", - "source_location": "L286", + "source_file": "src/Category/Service/CategoryImporter.php", + "source_location": "L232", "_origin": "ast", - "id": "controller_categoryimportcontroller_categoryimportcontroller_existingids", - "community": 274, + "id": "service_categoryimporter_categoryimporter_existingids", + "community": 340, "norm_label": ".existingids()" }, { "label": ".isPositiveInt()", "file_type": "code", - "source_file": "src/Category/Controller/CategoryImportController.php", - "source_location": "L296", + "source_file": "src/Category/Service/CategoryImporter.php", + "source_location": "L241", "_origin": "ast", - "id": "controller_categoryimportcontroller_categoryimportcontroller_ispositiveint", - "community": 274, + "id": "service_categoryimporter_categoryimporter_ispositiveint", + "community": 340, "norm_label": ".ispositiveint()" }, { "label": ".normInt()", "file_type": "code", - "source_file": "src/Category/Controller/CategoryImportController.php", - "source_location": "L301", + "source_file": "src/Category/Service/CategoryImporter.php", + "source_location": "L246", "_origin": "ast", - "id": "controller_categoryimportcontroller_categoryimportcontroller_normint", - "community": 274, + "id": "service_categoryimporter_categoryimporter_normint", + "community": 340, "norm_label": ".normint()" }, { "label": ".nullableId()", "file_type": "code", - "source_file": "src/Category/Controller/CategoryImportController.php", - "source_location": "L309", + "source_file": "src/Category/Service/CategoryImporter.php", + "source_location": "L253", "_origin": "ast", - "id": "controller_categoryimportcontroller_categoryimportcontroller_nullableid", - "community": 274, + "id": "service_categoryimporter_categoryimporter_nullableid", + "community": 340, "norm_label": ".nullableid()" }, { "label": ".optStr()", "file_type": "code", - "source_file": "src/Category/Controller/CategoryImportController.php", - "source_location": "L319", + "source_file": "src/Category/Service/CategoryImporter.php", + "source_location": "L263", "_origin": "ast", - "id": "controller_categoryimportcontroller_categoryimportcontroller_optstr", - "community": 274, + "id": "service_categoryimporter_categoryimporter_optstr", + "community": 340, "norm_label": ".optstr()" }, { @@ -22942,7 +23072,7 @@ "source_location": "L1", "_origin": "ast", "id": "repository_siteconfigrepository", - "community": 440, + "community": 53, "norm_label": "siteconfigrepository.php" }, { @@ -22952,7 +23082,7 @@ "source_location": "L9", "_origin": "ast", "id": "repository_siteconfigrepository_siteconfigrepository", - "community": 440, + "community": 53, "norm_label": "siteconfigrepository" }, { @@ -22962,7 +23092,7 @@ "source_location": "L40", "_origin": "ast", "id": "repository_siteconfigrepository_siteconfigrepository_construct", - "community": 440, + "community": 53, "norm_label": ".__construct()" }, { @@ -22972,7 +23102,7 @@ "source_location": "L40", "_origin": "ast", "id": "src_config_repository_siteconfigrepository_php_managerregistry", - "community": 440, + "community": 53, "norm_label": "managerregistry" }, { @@ -22982,7 +23112,7 @@ "source_location": "L45", "_origin": "ast", "id": "repository_siteconfigrepository_siteconfigrepository_get", - "community": 440, + "community": 53, "norm_label": ".get()" }, { @@ -22992,7 +23122,7 @@ "source_location": "L54", "_origin": "ast", "id": "repository_siteconfigrepository_siteconfigrepository_getall", - "community": 440, + "community": 53, "norm_label": ".getall()" }, { @@ -23002,7 +23132,7 @@ "source_location": "L70", "_origin": "ast", "id": "repository_siteconfigrepository_siteconfigrepository_set", - "community": 440, + "community": 53, "norm_label": ".set()" }, { @@ -24492,7 +24622,7 @@ "source_location": "L1", "_origin": "ast", "id": "controller_doctorservicecontroller", - "community": 4, + "community": 347, "norm_label": "doctorservicecontroller.php" }, { @@ -24502,7 +24632,7 @@ "source_location": "L16", "_origin": "ast", "id": "controller_doctorservicecontroller_doctorservicecontroller", - "community": 4, + "community": 347, "norm_label": "doctorservicecontroller" }, { @@ -24512,7 +24642,7 @@ "source_location": "L19", "_origin": "ast", "id": "controller_doctorservicecontroller_doctorservicecontroller_construct", - "community": 4, + "community": 347, "norm_label": ".__construct()" }, { @@ -24522,7 +24652,7 @@ "source_location": "L24", "_origin": "ast", "id": "controller_doctorservicecontroller_doctorservicecontroller_list", - "community": 4, + "community": 347, "norm_label": ".list()" }, { @@ -24532,7 +24662,7 @@ "source_location": "L24", "_origin": "ast", "id": "src_doctorservice_controller_doctorservicecontroller_php_request", - "community": 4, + "community": 347, "norm_label": "request" }, { @@ -24542,7 +24672,7 @@ "source_location": "L24", "_origin": "ast", "id": "src_doctorservice_controller_doctorservicecontroller_php_jsonresponse", - "community": 4, + "community": 347, "norm_label": "jsonresponse" }, { @@ -24552,7 +24682,7 @@ "source_location": "L37", "_origin": "ast", "id": "controller_doctorservicecontroller_doctorservicecontroller_create", - "community": 4, + "community": 347, "norm_label": ".create()" }, { @@ -24562,7 +24692,7 @@ "source_location": "L62", "_origin": "ast", "id": "controller_doctorservicecontroller_doctorservicecontroller_update", - "community": 4, + "community": 347, "norm_label": ".update()" }, { @@ -24572,7 +24702,7 @@ "source_location": "L85", "_origin": "ast", "id": "controller_doctorservicecontroller_doctorservicecontroller_delete", - "community": 4, + "community": 347, "norm_label": ".delete()" }, { @@ -24582,7 +24712,7 @@ "source_location": "L98", "_origin": "ast", "id": "controller_doctorservicecontroller_doctorservicecontroller_adminlist", - "community": 4, + "community": 347, "norm_label": ".adminlist()" }, { @@ -24592,7 +24722,7 @@ "source_location": "L127", "_origin": "ast", "id": "controller_doctorservicecontroller_doctorservicecontroller_slugify", - "community": 4, + "community": 347, "norm_label": ".slugify()" }, { @@ -25932,7 +26062,7 @@ "source_location": "L1", "_origin": "ast", "id": "repository_doctorinsurancerepository", - "community": 53, + "community": 602, "norm_label": "doctorinsurancerepository.php" }, { @@ -25942,7 +26072,7 @@ "source_location": "L9", "_origin": "ast", "id": "repository_doctorinsurancerepository_doctorinsurancerepository", - "community": 53, + "community": 602, "norm_label": "doctorinsurancerepository" }, { @@ -25952,7 +26082,7 @@ "source_location": "L11", "_origin": "ast", "id": "repository_doctorinsurancerepository_doctorinsurancerepository_construct", - "community": 53, + "community": 602, "norm_label": ".__construct()" }, { @@ -25962,7 +26092,7 @@ "source_location": "L11", "_origin": "ast", "id": "src_insurance_repository_doctorinsurancerepository_php_managerregistry", - "community": 53, + "community": 602, "norm_label": "managerregistry" }, { @@ -25972,7 +26102,7 @@ "source_location": "L16", "_origin": "ast", "id": "repository_doctorinsurancerepository_doctorinsurancerepository_save", - "community": 53, + "community": 602, "norm_label": ".save()" }, { @@ -25982,7 +26112,7 @@ "source_location": "L16", "_origin": "ast", "id": "src_insurance_repository_doctorinsurancerepository_php_doctorinsurance", - "community": 53, + "community": 602, "norm_label": "doctorinsurance" }, { @@ -25992,7 +26122,7 @@ "source_location": "L24", "_origin": "ast", "id": "repository_doctorinsurancerepository_doctorinsurancerepository_remove", - "community": 53, + "community": 602, "norm_label": ".remove()" }, { @@ -26002,7 +26132,7 @@ "source_location": "L1", "_origin": "ast", "id": "repository_entityinsurancepricingrepository", - "community": 318, + "community": 26, "norm_label": "entityinsurancepricingrepository.php" }, { @@ -26012,7 +26142,7 @@ "source_location": "L9", "_origin": "ast", "id": "repository_entityinsurancepricingrepository_entityinsurancepricingrepository", - "community": 318, + "community": 26, "norm_label": "entityinsurancepricingrepository" }, { @@ -26022,7 +26152,7 @@ "source_location": "L11", "_origin": "ast", "id": "repository_entityinsurancepricingrepository_entityinsurancepricingrepository_construct", - "community": 318, + "community": 26, "norm_label": ".__construct()" }, { @@ -26032,7 +26162,7 @@ "source_location": "L11", "_origin": "ast", "id": "src_insurance_repository_entityinsurancepricingrepository_php_managerregistry", - "community": 318, + "community": 26, "norm_label": "managerregistry" }, { @@ -26042,7 +26172,7 @@ "source_location": "L17", "_origin": "ast", "id": "repository_entityinsurancepricingrepository_entityinsurancepricingrepository_findbyentity", - "community": 318, + "community": 26, "norm_label": ".findbyentity()" }, { @@ -26052,7 +26182,7 @@ "source_location": "L22", "_origin": "ast", "id": "repository_entityinsurancepricingrepository_entityinsurancepricingrepository_findoneforinsurance", - "community": 318, + "community": 26, "norm_label": ".findoneforinsurance()" }, { @@ -26062,7 +26192,7 @@ "source_location": "L22", "_origin": "ast", "id": "entityinsurancepricing", - "community": 318, + "community": 26, "norm_label": "entityinsurancepricing" }, { @@ -26072,7 +26202,7 @@ "source_location": "L31", "_origin": "ast", "id": "repository_entityinsurancepricingrepository_entityinsurancepricingrepository_save", - "community": 318, + "community": 26, "norm_label": ".save()" }, { @@ -26082,7 +26212,7 @@ "source_location": "L39", "_origin": "ast", "id": "repository_entityinsurancepricingrepository_entityinsurancepricingrepository_remove", - "community": 318, + "community": 26, "norm_label": ".remove()" }, { @@ -26372,7 +26502,7 @@ "source_location": "L1", "_origin": "ast", "id": "service_tenantinsurancecleanupservice", - "community": 318, + "community": 618, "norm_label": "tenantinsurancecleanupservice.php" }, { @@ -26382,7 +26512,7 @@ "source_location": "L17", "_origin": "ast", "id": "service_tenantinsurancecleanupservice_tenantinsurancecleanupservice", - "community": 318, + "community": 618, "norm_label": "tenantinsurancecleanupservice" }, { @@ -26392,7 +26522,7 @@ "source_location": "L19", "_origin": "ast", "id": "service_tenantinsurancecleanupservice_tenantinsurancecleanupservice_construct", - "community": 318, + "community": 618, "norm_label": ".__construct()" }, { @@ -26402,7 +26532,7 @@ "source_location": "L21", "_origin": "ast", "id": "service_tenantinsurancecleanupservice_tenantinsurancecleanupservice_purgeforentity", - "community": 318, + "community": 618, "norm_label": ".purgeforentity()" }, { @@ -26412,7 +26542,7 @@ "source_location": "L1", "_origin": "ast", "id": "service_tenantinsuranceservice", - "community": 95, + "community": 346, "norm_label": "tenantinsuranceservice.php" }, { @@ -26422,7 +26552,7 @@ "source_location": "L14", "_origin": "ast", "id": "service_tenantinsuranceservice_tenantinsuranceservice", - "community": 95, + "community": 346, "norm_label": "tenantinsuranceservice" }, { @@ -26432,7 +26562,7 @@ "source_location": "L16", "_origin": "ast", "id": "service_tenantinsuranceservice_tenantinsuranceservice_construct", - "community": 95, + "community": 346, "norm_label": ".__construct()" }, { @@ -26442,7 +26572,7 @@ "source_location": "L27", "_origin": "ast", "id": "service_tenantinsuranceservice_tenantinsuranceservice_activate", - "community": 95, + "community": 346, "norm_label": ".activate()" }, { @@ -26452,7 +26582,7 @@ "source_location": "L27", "_origin": "ast", "id": "src_insurance_service_tenantinsuranceservice_php_tenantinsurance", - "community": 95, + "community": 346, "norm_label": "tenantinsurance" }, { @@ -26462,7 +26592,7 @@ "source_location": "L55", "_origin": "ast", "id": "service_tenantinsuranceservice_tenantinsuranceservice_deactivate", - "community": 95, + "community": 346, "norm_label": ".deactivate()" }, { @@ -26472,7 +26602,7 @@ "source_location": "L64", "_origin": "ast", "id": "service_tenantinsuranceservice_tenantinsuranceservice_assertactive", - "community": 95, + "community": 346, "norm_label": ".assertactive()" }, { @@ -26482,7 +26612,7 @@ "source_location": "L77", "_origin": "ast", "id": "service_tenantinsuranceservice_tenantinsuranceservice_coveragerule", - "community": 95, + "community": 346, "norm_label": ".coveragerule()" }, { @@ -26492,7 +26622,7 @@ "source_location": "L77", "_origin": "ast", "id": "src_insurance_service_tenantinsuranceservice_php_coveragerule", - "community": 95, + "community": 346, "norm_label": "coveragerule" }, { @@ -26502,7 +26632,7 @@ "source_location": "L100", "_origin": "ast", "id": "service_tenantinsuranceservice_tenantinsuranceservice_coverageruleforservice", - "community": 95, + "community": 346, "norm_label": ".coverageruleforservice()" }, { @@ -26512,7 +26642,7 @@ "source_location": "L131", "_origin": "ast", "id": "service_tenantinsuranceservice_tenantinsuranceservice_getservicecoverage", - "community": 95, + "community": 346, "norm_label": ".getservicecoverage()" }, { @@ -26522,7 +26652,7 @@ "source_location": "L137", "_origin": "ast", "id": "service_tenantinsuranceservice_tenantinsuranceservice_setservicecoverage", - "community": 95, + "community": 346, "norm_label": ".setservicecoverage()" }, { @@ -27312,7 +27442,7 @@ "source_location": "L1", "_origin": "ast", "id": "repository_cityrepository", - "community": 346, + "community": 53, "norm_label": "cityrepository.php" }, { @@ -27322,7 +27452,7 @@ "source_location": "L9", "_origin": "ast", "id": "repository_cityrepository_cityrepository", - "community": 346, + "community": 53, "norm_label": "cityrepository" }, { @@ -27332,7 +27462,7 @@ "source_location": "L11", "_origin": "ast", "id": "repository_cityrepository_cityrepository_construct", - "community": 346, + "community": 53, "norm_label": ".__construct()" }, { @@ -27342,7 +27472,7 @@ "source_location": "L11", "_origin": "ast", "id": "src_location_repository_cityrepository_php_managerregistry", - "community": 346, + "community": 53, "norm_label": "managerregistry" }, { @@ -27352,7 +27482,7 @@ "source_location": "L17", "_origin": "ast", "id": "repository_cityrepository_cityrepository_findactive", - "community": 346, + "community": 53, "norm_label": ".findactive()" }, { @@ -27362,7 +27492,7 @@ "source_location": "L31", "_origin": "ast", "id": "repository_cityrepository_cityrepository_save", - "community": 346, + "community": 53, "norm_label": ".save()" }, { @@ -27372,7 +27502,7 @@ "source_location": "L31", "_origin": "ast", "id": "src_location_repository_cityrepository_php_city", - "community": 346, + "community": 53, "norm_label": "city" }, { @@ -27382,7 +27512,7 @@ "source_location": "L37", "_origin": "ast", "id": "repository_cityrepository_cityrepository_remove", - "community": 346, + "community": 53, "norm_label": ".remove()" }, { @@ -29242,7 +29372,7 @@ "source_location": "L1", "_origin": "ast", "id": "gateway_mellatgateway", - "community": 82, + "community": 372, "norm_label": "mellatgateway.php" }, { @@ -29382,7 +29512,7 @@ "source_location": "L153", "_origin": "ast", "id": "gateway_mellatgateway_mellatgateway_time", - "community": 66, + "community": 16, "norm_label": ".time()" }, { @@ -30792,7 +30922,7 @@ "source_location": "L1", "_origin": "ast", "id": "repository_raterepository", - "community": 352, + "community": 22, "norm_label": "raterepository.php" }, { @@ -30802,7 +30932,7 @@ "source_location": "L11", "_origin": "ast", "id": "repository_raterepository_raterepository", - "community": 352, + "community": 22, "norm_label": "raterepository" }, { @@ -30812,7 +30942,7 @@ "source_location": "L13", "_origin": "ast", "id": "repository_raterepository_raterepository_construct", - "community": 352, + "community": 22, "norm_label": ".__construct()" }, { @@ -30822,7 +30952,7 @@ "source_location": "L13", "_origin": "ast", "id": "src_rating_repository_raterepository_php_managerregistry", - "community": 352, + "community": 22, "norm_label": "managerregistry" }, { @@ -30832,7 +30962,7 @@ "source_location": "L15", "_origin": "ast", "id": "repository_raterepository_raterepository_findbyuseranddoctor", - "community": 352, + "community": 22, "norm_label": ".findbyuseranddoctor()" }, { @@ -30842,7 +30972,7 @@ "source_location": "L15", "_origin": "ast", "id": "src_rating_repository_raterepository_php_user", - "community": 352, + "community": 22, "norm_label": "user" }, { @@ -30852,7 +30982,7 @@ "source_location": "L15", "_origin": "ast", "id": "src_rating_repository_raterepository_php_doctor", - "community": 352, + "community": 22, "norm_label": "doctor" }, { @@ -30862,7 +30992,7 @@ "source_location": "L15", "_origin": "ast", "id": "rate", - "community": 352, + "community": 22, "norm_label": "rate" }, { @@ -30872,7 +31002,7 @@ "source_location": "L22", "_origin": "ast", "id": "repository_raterepository_raterepository_getaggregate", - "community": 352, + "community": 22, "norm_label": ".getaggregate()" }, { @@ -30882,7 +31012,7 @@ "source_location": "L53", "_origin": "ast", "id": "repository_raterepository_raterepository_save", - "community": 352, + "community": 22, "norm_label": ".save()" }, { @@ -33282,7 +33412,7 @@ "source_location": "L1", "_origin": "ast", "id": "repository_wallettransactionrepository", - "community": 340, + "community": 6, "norm_label": "wallettransactionrepository.php" }, { @@ -33292,7 +33422,7 @@ "source_location": "L10", "_origin": "ast", "id": "repository_wallettransactionrepository_wallettransactionrepository", - "community": 340, + "community": 6, "norm_label": "wallettransactionrepository" }, { @@ -33302,7 +33432,7 @@ "source_location": "L12", "_origin": "ast", "id": "repository_wallettransactionrepository_wallettransactionrepository_construct", - "community": 340, + "community": 6, "norm_label": ".__construct()" }, { @@ -33312,7 +33442,7 @@ "source_location": "L12", "_origin": "ast", "id": "src_settlement_repository_wallettransactionrepository_php_managerregistry", - "community": 340, + "community": 6, "norm_label": "managerregistry" }, { @@ -33322,7 +33452,7 @@ "source_location": "L18", "_origin": "ast", "id": "repository_wallettransactionrepository_wallettransactionrepository_findbyuser", - "community": 340, + "community": 6, "norm_label": ".findbyuser()" }, { @@ -33332,7 +33462,7 @@ "source_location": "L18", "_origin": "ast", "id": "src_settlement_repository_wallettransactionrepository_php_user", - "community": 340, + "community": 6, "norm_label": "user" }, { @@ -33342,7 +33472,7 @@ "source_location": "L23", "_origin": "ast", "id": "repository_wallettransactionrepository_wallettransactionrepository_countbyuser", - "community": 340, + "community": 6, "norm_label": ".countbyuser()" }, { @@ -33352,7 +33482,7 @@ "source_location": "L28", "_origin": "ast", "id": "repository_wallettransactionrepository_wallettransactionrepository_save", - "community": 340, + "community": 6, "norm_label": ".save()" }, { @@ -33362,7 +33492,7 @@ "source_location": "L28", "_origin": "ast", "id": "wallettransaction", - "community": 340, + "community": 6, "norm_label": "wallettransaction" }, { @@ -34062,7 +34192,7 @@ "source_location": "L1", "_origin": "ast", "id": "logging_dblogger", - "community": 82, + "community": 318, "norm_label": "dblogger.php" }, { @@ -34082,7 +34212,7 @@ "source_location": "", "_origin": "ast", "id": "loggerinterface", - "community": 82, + "community": 372, "norm_label": "loggerinterface" }, { @@ -34242,7 +34372,7 @@ "source_location": "L1", "_origin": "ast", "id": "service_apiirservice", - "community": 82, + "community": 372, "norm_label": "apiirservice.php" }, { @@ -34252,7 +34382,7 @@ "source_location": "L22", "_origin": "ast", "id": "service_apiirservice_apiirservice", - "community": 82, + "community": 608, "norm_label": "apiirservice" }, { @@ -34262,7 +34392,7 @@ "source_location": "L24", "_origin": "ast", "id": "service_apiirservice_apiirservice_construct", - "community": 82, + "community": 608, "norm_label": ".__construct()" }, { @@ -34272,7 +34402,7 @@ "source_location": "L31", "_origin": "ast", "id": "service_apiirservice_apiirservice_isconfigured", - "community": 82, + "community": 608, "norm_label": ".isconfigured()" }, { @@ -34282,7 +34412,7 @@ "source_location": "L39", "_origin": "ast", "id": "service_apiirservice_apiirservice_shahkarmatch", - "community": 82, + "community": 608, "norm_label": ".shahkarmatch()" }, { @@ -34292,7 +34422,7 @@ "source_location": "L58", "_origin": "ast", "id": "service_apiirservice_apiirservice_ibanmatch", - "community": 82, + "community": 608, "norm_label": ".ibanmatch()" }, { @@ -34302,7 +34432,7 @@ "source_location": "L77", "_origin": "ast", "id": "service_apiirservice_apiirservice_post", - "community": 82, + "community": 608, "norm_label": ".post()" }, { @@ -34312,7 +34442,7 @@ "source_location": "L113", "_origin": "ast", "id": "service_apiirservice_apiirservice_extractmatched", - "community": 82, + "community": 608, "norm_label": ".extractmatched()" }, { @@ -34402,7 +34532,7 @@ "source_location": "L1", "_origin": "ast", "id": "service_inputvalidator", - "community": 666, + "community": 20, "norm_label": "inputvalidator.php" }, { @@ -34412,7 +34542,7 @@ "source_location": "L9", "_origin": "ast", "id": "service_inputvalidator_inputvalidator", - "community": 666, + "community": 20, "norm_label": "inputvalidator" }, { @@ -34422,7 +34552,7 @@ "source_location": "L11", "_origin": "ast", "id": "service_inputvalidator_inputvalidator_isvalidiranmobile", - "community": 666, + "community": 20, "norm_label": ".isvalidiranmobile()" }, { @@ -34432,7 +34562,7 @@ "source_location": "L17", "_origin": "ast", "id": "service_inputvalidator_inputvalidator_isvalidirannationalcode", - "community": 666, + "community": 20, "norm_label": ".isvalidirannationalcode()" }, { @@ -34442,7 +34572,7 @@ "source_location": "L27", "_origin": "ast", "id": "service_inputvalidator_inputvalidator_maskmobile", - "community": 666, + "community": 20, "norm_label": ".maskmobile()" }, { @@ -34452,7 +34582,7 @@ "source_location": "L37", "_origin": "ast", "id": "service_inputvalidator_inputvalidator_toenglishdigits", - "community": 666, + "community": 20, "norm_label": ".toenglishdigits()" }, { @@ -34672,7 +34802,7 @@ "source_location": "L1", "_origin": "ast", "id": "controller_smsmessagecontroller", - "community": 108, + "community": 440, "norm_label": "smsmessagecontroller.php" }, { @@ -34682,7 +34812,7 @@ "source_location": "L18", "_origin": "ast", "id": "controller_smsmessagecontroller_smsmessagecontroller", - "community": 108, + "community": 440, "norm_label": "smsmessagecontroller" }, { @@ -34692,7 +34822,7 @@ "source_location": "L22", "_origin": "ast", "id": "controller_smsmessagecontroller_smsmessagecontroller_construct", - "community": 108, + "community": 440, "norm_label": ".__construct()" }, { @@ -34702,7 +34832,7 @@ "source_location": "L26", "_origin": "ast", "id": "controller_smsmessagecontroller_smsmessagecontroller_list", - "community": 108, + "community": 440, "norm_label": ".list()" }, { @@ -34712,7 +34842,7 @@ "source_location": "L26", "_origin": "ast", "id": "src_sms_controller_smsmessagecontroller_php_jsonresponse", - "community": 108, + "community": 440, "norm_label": "jsonresponse" }, { @@ -34722,7 +34852,7 @@ "source_location": "L55", "_origin": "ast", "id": "controller_smsmessagecontroller_smsmessagecontroller_update", - "community": 108, + "community": 440, "norm_label": ".update()" }, { @@ -34732,7 +34862,7 @@ "source_location": "L55", "_origin": "ast", "id": "src_sms_controller_smsmessagecontroller_php_request", - "community": 108, + "community": 440, "norm_label": "request" }, { @@ -35122,7 +35252,7 @@ "source_location": "L1", "_origin": "ast", "id": "entity_smssettings", - "community": 66, + "community": 182, "norm_label": "smssettings.php" }, { @@ -35132,7 +35262,7 @@ "source_location": "L8", "_origin": "ast", "id": "entity_smssettings_smssettings", - "community": 66, + "community": 182, "norm_label": "smssettings" }, { @@ -35142,7 +35272,7 @@ "source_location": "L53", "_origin": "ast", "id": "entity_smssettings_smssettings_construct", - "community": 66, + "community": 182, "norm_label": ".__construct()" }, { @@ -35152,7 +35282,7 @@ "source_location": "L60", "_origin": "ast", "id": "entity_smssettings_smssettings_getid", - "community": 66, + "community": 182, "norm_label": ".getid()" }, { @@ -35162,7 +35292,7 @@ "source_location": "L61", "_origin": "ast", "id": "entity_smssettings_smssettings_getentitytype", - "community": 66, + "community": 182, "norm_label": ".getentitytype()" }, { @@ -35172,7 +35302,7 @@ "source_location": "L62", "_origin": "ast", "id": "entity_smssettings_smssettings_getentityid", - "community": 66, + "community": 182, "norm_label": ".getentityid()" }, { @@ -35182,7 +35312,7 @@ "source_location": "L63", "_origin": "ast", "id": "entity_smssettings_smssettings_isreminderenabled", - "community": 66, + "community": 182, "norm_label": ".isreminderenabled()" }, { @@ -35192,7 +35322,7 @@ "source_location": "L64", "_origin": "ast", "id": "entity_smssettings_smssettings_getreminderhoursbefore", - "community": 66, + "community": 182, "norm_label": ".getreminderhoursbefore()" }, { @@ -35202,7 +35332,7 @@ "source_location": "L65", "_origin": "ast", "id": "entity_smssettings_smssettings_ispostvisitenabled", - "community": 66, + "community": 182, "norm_label": ".ispostvisitenabled()" }, { @@ -35212,7 +35342,7 @@ "source_location": "L66", "_origin": "ast", "id": "entity_smssettings_smssettings_getpostvisittext", - "community": 66, + "community": 182, "norm_label": ".getpostvisittext()" }, { @@ -35222,7 +35352,7 @@ "source_location": "L68", "_origin": "ast", "id": "entity_smssettings_smssettings_getpostvisittextpending", - "community": 66, + "community": 182, "norm_label": ".getpostvisittextpending()" }, { @@ -35232,7 +35362,7 @@ "source_location": "L69", "_origin": "ast", "id": "entity_smssettings_smssettings_getpostvisittextstatus", - "community": 66, + "community": 182, "norm_label": ".getpostvisittextstatus()" }, { @@ -35242,7 +35372,7 @@ "source_location": "L70", "_origin": "ast", "id": "entity_smssettings_smssettings_getpostvisittextrejectreason", - "community": 66, + "community": 182, "norm_label": ".getpostvisittextrejectreason()" }, { @@ -35252,7 +35382,7 @@ "source_location": "L72", "_origin": "ast", "id": "entity_smssettings_smssettings_setreminderenabled", - "community": 66, + "community": 182, "norm_label": ".setreminderenabled()" }, { @@ -35262,7 +35392,7 @@ "source_location": "L72", "_origin": "ast", "id": "src_sms_entity_smssettings_php_self", - "community": 66, + "community": 182, "norm_label": "self" }, { @@ -35272,7 +35402,7 @@ "source_location": "L73", "_origin": "ast", "id": "entity_smssettings_smssettings_setreminderhoursbefore", - "community": 66, + "community": 182, "norm_label": ".setreminderhoursbefore()" }, { @@ -35282,7 +35412,7 @@ "source_location": "L74", "_origin": "ast", "id": "entity_smssettings_smssettings_setpostvisitenabled", - "community": 66, + "community": 182, "norm_label": ".setpostvisitenabled()" }, { @@ -35292,7 +35422,7 @@ "source_location": "L75", "_origin": "ast", "id": "entity_smssettings_smssettings_setpostvisittext", - "community": 66, + "community": 182, "norm_label": ".setpostvisittext()" }, { @@ -35302,7 +35432,7 @@ "source_location": "L77", "_origin": "ast", "id": "entity_smssettings_smssettings_submitpostvisittext", - "community": 66, + "community": 182, "norm_label": ".submitpostvisittext()" }, { @@ -35312,7 +35442,7 @@ "source_location": "L86", "_origin": "ast", "id": "entity_smssettings_smssettings_approvepostvisittext", - "community": 66, + "community": 182, "norm_label": ".approvepostvisittext()" }, { @@ -35322,7 +35452,7 @@ "source_location": "L97", "_origin": "ast", "id": "entity_smssettings_smssettings_rejectpostvisittext", - "community": 66, + "community": 182, "norm_label": ".rejectpostvisittext()" }, { @@ -35332,7 +35462,7 @@ "source_location": "L105", "_origin": "ast", "id": "entity_smssettings_smssettings_toarray", - "community": 66, + "community": 182, "norm_label": ".toarray()" }, { @@ -35572,7 +35702,7 @@ "source_location": "L1", "_origin": "ast", "id": "entity_smswallet", - "community": 401, + "community": 16, "norm_label": "smswallet.php" }, { @@ -35582,7 +35712,7 @@ "source_location": "L8", "_origin": "ast", "id": "entity_smswallet_smswallet", - "community": 401, + "community": 16, "norm_label": "smswallet" }, { @@ -35592,7 +35722,7 @@ "source_location": "L33", "_origin": "ast", "id": "entity_smswallet_smswallet_construct", - "community": 401, + "community": 16, "norm_label": ".__construct()" }, { @@ -35602,7 +35732,7 @@ "source_location": "L41", "_origin": "ast", "id": "entity_smswallet_smswallet_getid", - "community": 401, + "community": 16, "norm_label": ".getid()" }, { @@ -35612,7 +35742,7 @@ "source_location": "L42", "_origin": "ast", "id": "entity_smswallet_smswallet_getentitytype", - "community": 401, + "community": 16, "norm_label": ".getentitytype()" }, { @@ -35622,7 +35752,7 @@ "source_location": "L43", "_origin": "ast", "id": "entity_smswallet_smswallet_getentityid", - "community": 401, + "community": 16, "norm_label": ".getentityid()" }, { @@ -35632,7 +35762,7 @@ "source_location": "L44", "_origin": "ast", "id": "entity_smswallet_smswallet_getbalancerials", - "community": 401, + "community": 16, "norm_label": ".getbalancerials()" }, { @@ -35642,7 +35772,7 @@ "source_location": "L46", "_origin": "ast", "id": "entity_smswallet_smswallet_credit", - "community": 401, + "community": 16, "norm_label": ".credit()" }, { @@ -35652,7 +35782,7 @@ "source_location": "L52", "_origin": "ast", "id": "entity_smswallet_smswallet_debit", - "community": 401, + "community": 16, "norm_label": ".debit()" }, { @@ -35812,7 +35942,7 @@ "source_location": "L1", "_origin": "ast", "id": "provider_kavehnegarprovider", - "community": 82, + "community": 372, "norm_label": "kavehnegarprovider.php" }, { @@ -35822,7 +35952,7 @@ "source_location": "L9", "_origin": "ast", "id": "provider_kavehnegarprovider_kavehnegarprovider", - "community": 82, + "community": 492, "norm_label": "kavehnegarprovider" }, { @@ -35832,7 +35962,7 @@ "source_location": "L13", "_origin": "ast", "id": "provider_kavehnegarprovider_kavehnegarprovider_construct", - "community": 82, + "community": 492, "norm_label": ".__construct()" }, { @@ -35842,7 +35972,7 @@ "source_location": "L23", "_origin": "ast", "id": "provider_kavehnegarprovider_kavehnegarprovider_key", - "community": 82, + "community": 492, "norm_label": ".key()" }, { @@ -35852,7 +35982,7 @@ "source_location": "L24", "_origin": "ast", "id": "provider_kavehnegarprovider_kavehnegarprovider_sender", - "community": 82, + "community": 492, "norm_label": ".sender()" }, { @@ -35862,7 +35992,7 @@ "source_location": "L26", "_origin": "ast", "id": "provider_kavehnegarprovider_kavehnegarprovider_getname", - "community": 82, + "community": 492, "norm_label": ".getname()" }, { @@ -35872,7 +36002,7 @@ "source_location": "L28", "_origin": "ast", "id": "provider_kavehnegarprovider_kavehnegarprovider_send", - "community": 82, + "community": 492, "norm_label": ".send()" }, { @@ -35882,7 +36012,7 @@ "source_location": "L49", "_origin": "ast", "id": "provider_kavehnegarprovider_kavehnegarprovider_sendtemplate", - "community": 82, + "community": 492, "norm_label": ".sendtemplate()" }, { @@ -35892,7 +36022,7 @@ "source_location": "L1", "_origin": "ast", "id": "provider_ranginehprovider", - "community": 82, + "community": 372, "norm_label": "ranginehprovider.php" }, { @@ -35902,7 +36032,7 @@ "source_location": "L8", "_origin": "ast", "id": "provider_ranginehprovider_ranginehprovider", - "community": 82, + "community": 372, "norm_label": "ranginehprovider" }, { @@ -35912,7 +36042,7 @@ "source_location": "L12", "_origin": "ast", "id": "provider_ranginehprovider_ranginehprovider_construct", - "community": 82, + "community": 372, "norm_label": ".__construct()" }, { @@ -35922,7 +36052,7 @@ "source_location": "L21", "_origin": "ast", "id": "provider_ranginehprovider_ranginehprovider_getname", - "community": 82, + "community": 372, "norm_label": ".getname()" }, { @@ -35932,7 +36062,7 @@ "source_location": "L23", "_origin": "ast", "id": "provider_ranginehprovider_ranginehprovider_send", - "community": 82, + "community": 372, "norm_label": ".send()" }, { @@ -35942,7 +36072,7 @@ "source_location": "L38", "_origin": "ast", "id": "provider_ranginehprovider_ranginehprovider_sendtemplate", - "community": 82, + "community": 372, "norm_label": ".sendtemplate()" }, { @@ -36052,7 +36182,7 @@ "source_location": "L1", "_origin": "ast", "id": "repository_smsmessagetemplaterepository", - "community": 205, + "community": 352, "norm_label": "smsmessagetemplaterepository.php" }, { @@ -36062,7 +36192,7 @@ "source_location": "L9", "_origin": "ast", "id": "repository_smsmessagetemplaterepository_smsmessagetemplaterepository", - "community": 205, + "community": 352, "norm_label": "smsmessagetemplaterepository" }, { @@ -36072,7 +36202,7 @@ "source_location": "L11", "_origin": "ast", "id": "repository_smsmessagetemplaterepository_smsmessagetemplaterepository_construct", - "community": 205, + "community": 352, "norm_label": ".__construct()" }, { @@ -36082,7 +36212,7 @@ "source_location": "L11", "_origin": "ast", "id": "src_sms_repository_smsmessagetemplaterepository_php_managerregistry", - "community": 205, + "community": 352, "norm_label": "managerregistry" }, { @@ -36092,7 +36222,7 @@ "source_location": "L16", "_origin": "ast", "id": "repository_smsmessagetemplaterepository_smsmessagetemplaterepository_findbytag", - "community": 205, + "community": 352, "norm_label": ".findbytag()" }, { @@ -36102,7 +36232,7 @@ "source_location": "L16", "_origin": "ast", "id": "smsmessagetemplate", - "community": 205, + "community": 352, "norm_label": "smsmessagetemplate" }, { @@ -36112,7 +36242,7 @@ "source_location": "L21", "_origin": "ast", "id": "repository_smsmessagetemplaterepository_smsmessagetemplaterepository_save", - "community": 205, + "community": 352, "norm_label": ".save()" }, { @@ -36122,7 +36252,7 @@ "source_location": "L1", "_origin": "ast", "id": "repository_smssettingsrepository", - "community": 53, + "community": 64, "norm_label": "smssettingsrepository.php" }, { @@ -36132,7 +36262,7 @@ "source_location": "L9", "_origin": "ast", "id": "repository_smssettingsrepository_smssettingsrepository", - "community": 53, + "community": 64, "norm_label": "smssettingsrepository" }, { @@ -36142,7 +36272,7 @@ "source_location": "L11", "_origin": "ast", "id": "repository_smssettingsrepository_smssettingsrepository_construct", - "community": 53, + "community": 64, "norm_label": ".__construct()" }, { @@ -36152,7 +36282,7 @@ "source_location": "L11", "_origin": "ast", "id": "src_sms_repository_smssettingsrepository_php_managerregistry", - "community": 53, + "community": 64, "norm_label": "managerregistry" }, { @@ -36162,7 +36292,7 @@ "source_location": "L16", "_origin": "ast", "id": "repository_smssettingsrepository_smssettingsrepository_findbyentity", - "community": 53, + "community": 64, "norm_label": ".findbyentity()" }, { @@ -36172,7 +36302,7 @@ "source_location": "L16", "_origin": "ast", "id": "smssettings", - "community": 53, + "community": 64, "norm_label": "smssettings" }, { @@ -36182,7 +36312,7 @@ "source_location": "L21", "_origin": "ast", "id": "repository_smssettingsrepository_smssettingsrepository_save", - "community": 53, + "community": 64, "norm_label": ".save()" }, { @@ -36492,7 +36622,7 @@ "source_location": "L1", "_origin": "ast", "id": "service_smsservice", - "community": 82, + "community": 407, "norm_label": "smsservice.php" }, { @@ -36502,7 +36632,7 @@ "source_location": "L13", "_origin": "ast", "id": "service_smsservice_smsservice", - "community": 82, + "community": 407, "norm_label": "smsservice" }, { @@ -36512,7 +36642,7 @@ "source_location": "L17", "_origin": "ast", "id": "service_smsservice_smsservice_construct", - "community": 82, + "community": 407, "norm_label": ".__construct()" }, { @@ -36522,7 +36652,7 @@ "source_location": "L29", "_origin": "ast", "id": "service_smsservice_smsservice_dispatchasync", - "community": 82, + "community": 407, "norm_label": ".dispatchasync()" }, { @@ -36532,7 +36662,7 @@ "source_location": "L43", "_origin": "ast", "id": "service_smsservice_smsservice_sendnow", - "community": 82, + "community": 407, "norm_label": ".sendnow()" }, { @@ -36542,7 +36672,7 @@ "source_location": "L43", "_origin": "ast", "id": "src_sms_service_smsservice_php_sendsmsmessage", - "community": 82, + "community": 407, "norm_label": "sendsmsmessage" }, { @@ -36552,7 +36682,7 @@ "source_location": "L58", "_origin": "ast", "id": "service_smsservice_smsservice_resolveprovider", - "community": 82, + "community": 407, "norm_label": ".resolveprovider()" }, { @@ -36562,7 +36692,7 @@ "source_location": "L58", "_origin": "ast", "id": "src_sms_service_smsservice_php_smsproviderinterface", - "community": 82, + "community": 407, "norm_label": "smsproviderinterface" }, { @@ -36572,7 +36702,7 @@ "source_location": "L1", "_origin": "ast", "id": "service_smstextresolver", - "community": 205, + "community": 352, "norm_label": "smstextresolver.php" }, { @@ -36582,7 +36712,7 @@ "source_location": "L12", "_origin": "ast", "id": "service_smstextresolver_smstextresolver", - "community": 205, + "community": 352, "norm_label": "smstextresolver" }, { @@ -36592,7 +36722,7 @@ "source_location": "L14", "_origin": "ast", "id": "service_smstextresolver_smstextresolver_construct", - "community": 205, + "community": 352, "norm_label": ".__construct()" }, { @@ -36602,7 +36732,7 @@ "source_location": "L19", "_origin": "ast", "id": "service_smstextresolver_smstextresolver_resolve", - "community": 205, + "community": 352, "norm_label": ".resolve()" }, { @@ -40832,7 +40962,7 @@ "source_location": "L1", "_origin": "ast", "id": "category_categoryimporttest", - "community": 82, + "community": 318, "norm_label": "categoryimporttest.php" }, { @@ -40842,7 +40972,7 @@ "source_location": "L19", "_origin": "ast", "id": "category_categoryimporttest_categoryimporttest", - "community": 82, + "community": 318, "norm_label": "categoryimporttest" }, { @@ -40852,7 +40982,7 @@ "source_location": "L21", "_origin": "ast", "id": "category_categoryimporttest_categoryimporttest_db", - "community": 82, + "community": 318, "norm_label": ".db()" }, { @@ -40862,7 +40992,7 @@ "source_location": "L21", "_origin": "ast", "id": "connection", - "community": 82, + "community": 318, "norm_label": "connection" }, { @@ -40872,7 +41002,7 @@ "source_location": "L26", "_origin": "ast", "id": "category_categoryimporttest_categoryimporttest_rowcount", - "community": 82, + "community": 318, "norm_label": ".rowcount()" }, { @@ -40882,7 +41012,7 @@ "source_location": "L31", "_origin": "ast", "id": "category_categoryimporttest_categoryimporttest_testvalidimportreplacesthewholetable", - "community": 82, + "community": 318, "norm_label": ".testvalidimportreplacesthewholetable()" }, { @@ -40892,7 +41022,7 @@ "source_location": "L47", "_origin": "ast", "id": "category_categoryimporttest_categoryimporttest_testinvalidfileisrejectedandnothingiswritten", - "community": 82, + "community": 318, "norm_label": ".testinvalidfileisrejectedandnothingiswritten()" }, { @@ -40902,7 +41032,7 @@ "source_location": "L67", "_origin": "ast", "id": "category_categoryimporttest_categoryimporttest_testspecialtyparentmustexistwithinthefile", - "community": 82, + "community": 318, "norm_label": ".testspecialtyparentmustexistwithinthefile()" }, { @@ -40912,7 +41042,7 @@ "source_location": "L81", "_origin": "ast", "id": "category_categoryimporttest_categoryimporttest_testnonadminisforbidden", - "community": 82, + "community": 318, "norm_label": ".testnonadminisforbidden()" }, { @@ -40922,7 +41052,7 @@ "source_location": "L90", "_origin": "ast", "id": "category_categoryimporttest_categoryimporttest_testunknownbundleis404", - "community": 82, + "community": 318, "norm_label": ".testunknownbundleis404()" }, { @@ -40932,7 +41062,7 @@ "source_location": "L1", "_origin": "ast", "id": "clinicservice_serviceitemdeletecleanuptest", - "community": 618, + "community": 86, "norm_label": "serviceitemdeletecleanuptest.php" }, { @@ -40942,7 +41072,7 @@ "source_location": "L17", "_origin": "ast", "id": "clinicservice_serviceitemdeletecleanuptest_serviceitemdeletecleanuptest", - "community": 618, + "community": 86, "norm_label": "serviceitemdeletecleanuptest" }, { @@ -40952,7 +41082,7 @@ "source_location": "L19", "_origin": "ast", "id": "clinicservice_serviceitemdeletecleanuptest_serviceitemdeletecleanuptest_testdeletingitempurgestariffandcoverage", - "community": 618, + "community": 86, "norm_label": ".testdeletingitempurgestariffandcoverage()" }, { @@ -41162,7 +41292,7 @@ "source_location": "L1", "_origin": "ast", "id": "doctrine_repositoryclassmappingtest", - "community": 82, + "community": 482, "norm_label": "repositoryclassmappingtest.php" }, { @@ -41172,7 +41302,7 @@ "source_location": "L18", "_origin": "ast", "id": "doctrine_repositoryclassmappingtest_repositoryclassmappingtest", - "community": 82, + "community": 482, "norm_label": "repositoryclassmappingtest" }, { @@ -41182,7 +41312,7 @@ "source_location": "", "_origin": "ast", "id": "kerneltestcase", - "community": 82, + "community": 482, "norm_label": "kerneltestcase" }, { @@ -41192,7 +41322,7 @@ "source_location": "L20", "_origin": "ast", "id": "doctrine_repositoryclassmappingtest_repositoryclassmappingtest_testentitieswithcustomrepodeclareit", - "community": 82, + "community": 482, "norm_label": ".testentitieswithcustomrepodeclareit()" }, { @@ -41312,7 +41442,7 @@ "source_location": "L1", "_origin": "ast", "id": "insurance_tenantinsurancecleanuptest", - "community": 318, + "community": 618, "norm_label": "tenantinsurancecleanuptest.php" }, { @@ -41322,7 +41452,7 @@ "source_location": "L16", "_origin": "ast", "id": "insurance_tenantinsurancecleanuptest_tenantinsurancecleanuptest", - "community": 318, + "community": 618, "norm_label": "tenantinsurancecleanuptest" }, { @@ -41332,7 +41462,7 @@ "source_location": "L18", "_origin": "ast", "id": "insurance_tenantinsurancecleanuptest_tenantinsurancecleanuptest_testpurgeremovestenantinsurancepricingandcoverage", - "community": 318, + "community": 618, "norm_label": ".testpurgeremovestenantinsurancepricingandcoverage()" }, { @@ -41342,7 +41472,7 @@ "source_location": "L49", "_origin": "ast", "id": "insurance_tenantinsurancecleanuptest_tenantinsurancecleanuptest_testdeletedoctorendpointpurgesinsuranceconfig", - "community": 318, + "community": 618, "norm_label": ".testdeletedoctorendpointpurgesinsuranceconfig()" }, { @@ -41732,7 +41862,7 @@ "source_location": "L1", "_origin": "ast", "id": "settlement_wallettransactionspaginationtest", - "community": 340, + "community": 86, "norm_label": "wallettransactionspaginationtest.php" }, { @@ -41742,7 +41872,7 @@ "source_location": "L12", "_origin": "ast", "id": "settlement_wallettransactionspaginationtest_wallettransactionspaginationtest", - "community": 340, + "community": 86, "norm_label": "wallettransactionspaginationtest" }, { @@ -41752,7 +41882,7 @@ "source_location": "L14", "_origin": "ast", "id": "settlement_wallettransactionspaginationtest_wallettransactionspaginationtest_testpaginatesandreportstotals", - "community": 340, + "community": 86, "norm_label": ".testpaginatesandreportstotals()" }, { @@ -41762,7 +41892,7 @@ "source_location": "L1", "_origin": "ast", "id": "shared_dbloggertest", - "community": 82, + "community": 482, "norm_label": "dbloggertest.php" }, { @@ -41772,7 +41902,7 @@ "source_location": "L13", "_origin": "ast", "id": "shared_dbloggertest_dbloggertest", - "community": 82, + "community": 482, "norm_label": "dbloggertest" }, { @@ -41782,7 +41912,7 @@ "source_location": "L15", "_origin": "ast", "id": "shared_dbloggertest_dbloggertest_testwarningpersistedbutinfoisnot", - "community": 82, + "community": 482, "norm_label": ".testwarningpersistedbutinfoisnot()" }, { @@ -57482,7 +57612,7 @@ "source_location": "L55", "_origin": "ast", "id": "docs_clinicpro_manual_v2_\u06f1_\u0645\u0639\u0631\u0641\u06cc_\u0645\u062d\u0635\u0648\u0644", - "community": 347, + "community": 277, "norm_label": "\u06f1. \u0645\u0639\u0631\u0641\u06cc \u0645\u062d\u0635\u0648\u0644" }, { @@ -57492,7 +57622,7 @@ "source_location": "L59", "_origin": "ast", "id": "docs_clinicpro_manual_v2_\u06f1_\u06f1_\u0646\u0642\u0634_\u0647\u0627\u06cc_\u0633\u06cc\u0633\u062a\u0645", - "community": 347, + "community": 277, "norm_label": "\u06f1.\u06f1 \u0646\u0642\u0634\u200c\u0647\u0627\u06cc \u0633\u06cc\u0633\u062a\u0645" }, { @@ -57502,7 +57632,7 @@ "source_location": "L71", "_origin": "ast", "id": "docs_clinicpro_manual_v2_\u06f1_\u06f2_\u0641\u0644\u0648\u0647\u0627\u06cc_\u0639\u0645\u0644\u06cc\u0627\u062a\u06cc_\u0627\u0635\u0644\u06cc", - "community": 347, + "community": 277, "norm_label": "\u06f1.\u06f2 \u0641\u0644\u0648\u0647\u0627\u06cc \u0639\u0645\u0644\u06cc\u0627\u062a\u06cc \u0627\u0635\u0644\u06cc" }, { @@ -57512,7 +57642,7 @@ "source_location": "L73", "_origin": "ast", "id": "docs_clinicpro_manual_v2_\u062b\u0628\u062a_\u0646\u0627\u0645_\u062f\u06a9\u062a\u0631_\u0645\u0633\u062a\u0642\u0644", - "community": 347, + "community": 277, "norm_label": "\u062b\u0628\u062a\u200c\u0646\u0627\u0645 \u062f\u06a9\u062a\u0631 \u2014 \u0645\u0633\u062a\u0642\u0644" }, { @@ -57522,7 +57652,7 @@ "source_location": "L81", "_origin": "ast", "id": "docs_clinicpro_manual_v2_\u062b\u0628\u062a_\u0646\u0627\u0645_\u062f\u06a9\u062a\u0631_\u0627\u0632_\u0637\u0631\u06cc\u0642_\u06a9\u0644\u06cc\u0646\u06cc\u06a9", - "community": 347, + "community": 277, "norm_label": "\u062b\u0628\u062a\u200c\u0646\u0627\u0645 \u062f\u06a9\u062a\u0631 \u2014 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u06a9\u0644\u06cc\u0646\u06cc\u06a9" }, { @@ -57532,7 +57662,7 @@ "source_location": "L91", "_origin": "ast", "id": "docs_clinicpro_manual_v2_\u062b\u0628\u062a_\u0646\u0627\u0645_\u062f\u06a9\u062a\u0631_\u0627\u0632_\u0637\u0631\u06cc\u0642_\u0646\u0645\u0627\u06cc\u0646\u062f\u0647", - "community": 347, + "community": 277, "norm_label": "\u062b\u0628\u062a\u200c\u0646\u0627\u0645 \u062f\u06a9\u062a\u0631 \u2014 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u0646\u0645\u0627\u06cc\u0646\u062f\u0647" }, { @@ -57542,7 +57672,7 @@ "source_location": "L99", "_origin": "ast", "id": "docs_clinicpro_manual_v2_\u06f1_\u06f3_\u067e\u0644\u0646_\u0647\u0627\u06cc_\u0627\u0634\u062a\u0631\u0627\u06a9", - "community": 347, + "community": 277, "norm_label": "\u06f1.\u06f3 \u067e\u0644\u0646\u200c\u0647\u0627\u06cc \u0627\u0634\u062a\u0631\u0627\u06a9" }, { @@ -57552,7 +57682,7 @@ "source_location": "L111", "_origin": "ast", "id": "docs_clinicpro_manual_v2_\u06f1_\u06f4_\u0633\u06cc\u0633\u062a\u0645_\u067e\u06cc\u0627\u0645\u06a9", - "community": 347, + "community": 277, "norm_label": "\u06f1.\u06f4 \u0633\u06cc\u0633\u062a\u0645 \u067e\u06cc\u0627\u0645\u06a9" }, { @@ -57582,7 +57712,7 @@ "source_location": "L147", "_origin": "ast", "id": "docs_clinicpro_manual_v2_\u06f2_\u06f2_\u0627\u0646\u0648\u0627\u0639_\u062f\u0633\u062a\u0647_\u0628\u0646\u062f\u06cc_category_types", - "community": 372, + "community": 207, "norm_label": "\u06f2.\u06f2 \u0627\u0646\u0648\u0627\u0639 \u062f\u0633\u062a\u0647\u200c\u0628\u0646\u062f\u06cc (category types)" }, { @@ -57592,7 +57722,7 @@ "source_location": "L151", "_origin": "ast", "id": "docs_clinicpro_manual_v2_\u06f2_\u06f2_\u06f1_\u062a\u06af_tag", - "community": 372, + "community": 207, "norm_label": "\u06f2.\u06f2.\u06f1 \u062a\u06af (tag)" }, { @@ -57602,7 +57732,7 @@ "source_location": "L163", "_origin": "ast", "id": "docs_clinicpro_manual_v2_\u06f2_\u06f2_\u06f2_\u0627\u0633\u062a\u0627\u0646_state", - "community": 372, + "community": 207, "norm_label": "\u06f2.\u06f2.\u06f2 \u0627\u0633\u062a\u0627\u0646 (state)" }, { @@ -57612,7 +57742,7 @@ "source_location": "L175", "_origin": "ast", "id": "docs_clinicpro_manual_v2_\u06f2_\u06f2_\u06f3_\u0634\u0647\u0631_city", - "community": 372, + "community": 207, "norm_label": "\u06f2.\u06f2.\u06f3 \u0634\u0647\u0631 (city)" }, { @@ -57622,7 +57752,7 @@ "source_location": "L201", "_origin": "ast", "id": "docs_clinicpro_manual_v2_\u06f2_\u06f2_\u06f4_\u0628\u06cc\u0645\u0647_\u067e\u0627\u06cc\u0647_basic_insurance", - "community": 372, + "community": 207, "norm_label": "\u06f2.\u06f2.\u06f4 \u0628\u06cc\u0645\u0647 \u067e\u0627\u06cc\u0647 (basic insurance)" }, { @@ -57632,7 +57762,7 @@ "source_location": "L214", "_origin": "ast", "id": "docs_clinicpro_manual_v2_\u06f2_\u06f2_\u06f5_\u0628\u06cc\u0645\u0647_\u0645\u06a9\u0645\u0644_supplementary_insurance", - "community": 372, + "community": 207, "norm_label": "\u06f2.\u06f2.\u06f5 \u0628\u06cc\u0645\u0647 \u0645\u06a9\u0645\u0644 (supplementary insurance)" }, { @@ -57642,7 +57772,7 @@ "source_location": "L218", "_origin": "ast", "id": "docs_clinicpro_manual_v2_\u06f2_\u06f2_\u06f6_\u062a\u062e\u0635\u0635_\u062f\u06a9\u062a\u0631_doctor_specialty", - "community": 372, + "community": 207, "norm_label": "\u06f2.\u06f2.\u06f6 \u062a\u062e\u0635\u0635 \u062f\u06a9\u062a\u0631 (doctor specialty)" }, { @@ -57652,7 +57782,7 @@ "source_location": "L231", "_origin": "ast", "id": "docs_clinicpro_manual_v2_\u06f2_\u06f2_\u06f7_\u062e\u062f\u0645\u0627\u062a_\u062f\u06a9\u062a\u0631_doctor_services", - "community": 372, + "community": 207, "norm_label": "\u06f2.\u06f2.\u06f7 \u062e\u062f\u0645\u0627\u062a \u062f\u06a9\u062a\u0631 (doctor services)" }, { @@ -57712,7 +57842,7 @@ "source_location": "L356", "_origin": "ast", "id": "docs_clinicpro_manual_v2_\u06f2_\u06f8_\u062a\u0646\u0638\u06cc\u0645\u0627\u062a_\u0646\u0648\u0628\u062a_appointment_settings", - "community": 648, + "community": 207, "norm_label": "\u06f2.\u06f8 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0646\u0648\u0628\u062a (appointment settings)" }, { @@ -57722,7 +57852,7 @@ "source_location": "L360", "_origin": "ast", "id": "docs_clinicpro_manual_v2_\u06f2_\u06f8_\u06f1_\u0628\u0631\u0646\u0627\u0645\u0647_\u0647\u0641\u062a\u06af\u06cc_weekly_schedule", - "community": 648, + "community": 207, "norm_label": "\u06f2.\u06f8.\u06f1 \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0641\u062a\u06af\u06cc (weekly schedule)" }, { @@ -57732,7 +57862,7 @@ "source_location": "L373", "_origin": "ast", "id": "docs_clinicpro_manual_v2_\u06f2_\u06f8_\u06f2_\u062a\u0639\u0637\u06cc\u0644\u0627\u062a_holidays", - "community": 648, + "community": 207, "norm_label": "\u06f2.\u06f8.\u06f2 \u062a\u0639\u0637\u06cc\u0644\u0627\u062a (holidays)" }, { @@ -57742,7 +57872,7 @@ "source_location": "L388", "_origin": "ast", "id": "docs_clinicpro_manual_v2_\u06f2_\u06f8_\u06f3_\u0644\u063a\u0648_\u062a\u0639\u0637\u06cc\u0644_date_override", - "community": 648, + "community": 207, "norm_label": "\u06f2.\u06f8.\u06f3 \u0644\u063a\u0648 \u062a\u0639\u0637\u06cc\u0644 (date override)" }, { @@ -57752,7 +57882,7 @@ "source_location": "L404", "_origin": "ast", "id": "docs_clinicpro_manual_v2_\u06f2_\u06f8_\u06f4_\u0627\u0644\u06af\u0648\u0631\u06cc\u062a\u0645_\u0645\u062d\u0627\u0633\u0628\u0647_\u0627\u0633\u0644\u0627\u062a_\u0647\u0627\u06cc_\u062e\u0627\u0644\u06cc", - "community": 648, + "community": 207, "norm_label": "\u06f2.\u06f8.\u06f4 \u0627\u0644\u06af\u0648\u0631\u06cc\u062a\u0645 \u0645\u062d\u0627\u0633\u0628\u0647 \u0627\u0633\u0644\u0627\u062a\u200c\u0647\u0627\u06cc \u062e\u0627\u0644\u06cc" }, { @@ -57822,7 +57952,7 @@ "source_location": "L524", "_origin": "ast", "id": "docs_clinicpro_manual_v2_\u06f2_\u06f1\u06f3_\u0646\u0638\u0631\u0627\u062a_\u0644\u0627\u06cc\u06a9_\u0648_\u0627\u0645\u062a\u06cc\u0627\u0632\u062f\u0647\u06cc", - "community": 661, + "community": 207, "norm_label": "\u06f2.\u06f1\u06f3 \u0646\u0638\u0631\u0627\u062a\u060c \u0644\u0627\u06cc\u06a9 \u0648 \u0627\u0645\u062a\u06cc\u0627\u0632\u062f\u0647\u06cc" }, { @@ -57832,7 +57962,7 @@ "source_location": "L526", "_origin": "ast", "id": "docs_clinicpro_manual_v2_\u06f2_\u06f1\u06f3_\u06f1_\u0646\u0638\u0631_comment", - "community": 661, + "community": 207, "norm_label": "\u06f2.\u06f1\u06f3.\u06f1 \u0646\u0638\u0631 (comment)" }, { @@ -57842,7 +57972,7 @@ "source_location": "L539", "_origin": "ast", "id": "docs_clinicpro_manual_v2_\u06f2_\u06f1\u06f3_\u06f2_\u0644\u0627\u06cc\u06a9_like", - "community": 661, + "community": 207, "norm_label": "\u06f2.\u06f1\u06f3.\u06f2 \u0644\u0627\u06cc\u06a9 (like)" }, { @@ -57852,7 +57982,7 @@ "source_location": "L550", "_origin": "ast", "id": "docs_clinicpro_manual_v2_\u06f2_\u06f1\u06f3_\u06f3_\u0627\u0645\u062a\u06cc\u0627\u0632_rate", - "community": 661, + "community": 207, "norm_label": "\u06f2.\u06f1\u06f3.\u06f3 \u0627\u0645\u062a\u06cc\u0627\u0632 (rate)" }, { @@ -57972,7 +58102,7 @@ "source_location": "L646", "_origin": "ast", "id": "docs_clinicpro_manual_v2_task_08_api_\u062f\u0633\u062a\u0647_\u0628\u0646\u062f\u06cc_\u0647\u0627", - "community": 660, + "community": 255, "norm_label": "task-08: api \u062f\u0633\u062a\u0647\u200c\u0628\u0646\u062f\u06cc\u200c\u0647\u0627" }, { @@ -57982,7 +58112,7 @@ "source_location": "L650", "_origin": "ast", "id": "docs_clinicpro_manual_v2_get_api_v1_categories_states_\u0627\u0633\u062a\u0627\u0646_\u0647\u0627", - "community": 660, + "community": 255, "norm_label": "get /api/v1/categories/states \u2014 \u0627\u0633\u062a\u0627\u0646\u200c\u0647\u0627" }, { @@ -57992,7 +58122,7 @@ "source_location": "L659", "_origin": "ast", "id": "docs_clinicpro_manual_v2_get_api_v1_categories_cities_\u0634\u0647\u0631\u0647\u0627", - "community": 660, + "community": 255, "norm_label": "get /api/v1/categories/cities \u2014 \u0634\u0647\u0631\u0647\u0627" }, { @@ -58002,7 +58132,7 @@ "source_location": "L668", "_origin": "ast", "id": "docs_clinicpro_manual_v2_\u0633\u0627\u06cc\u0631_endpoint_\u0647\u0627\u06cc_\u062f\u0633\u062a\u0647_\u0628\u0646\u062f\u06cc_\u0627\u0644\u0632\u0627\u0645\u06cc", - "community": 660, + "community": 255, "norm_label": "\u0633\u0627\u06cc\u0631 endpoint \u0647\u0627\u06cc \u062f\u0633\u062a\u0647\u200c\u0628\u0646\u062f\u06cc \u2014 \u0627\u0644\u0632\u0627\u0645\u06cc" }, { @@ -58012,7 +58142,7 @@ "source_location": "L678", "_origin": "ast", "id": "docs_clinicpro_manual_v2_task_09_api_\u062a\u0646\u0638\u06cc\u0645\u0627\u062a_\u0646\u0648\u0628\u062a", - "community": 659, + "community": 255, "norm_label": "task-09: api \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0646\u0648\u0628\u062a" }, { @@ -58022,7 +58152,7 @@ "source_location": "L680", "_origin": "ast", "id": "docs_clinicpro_manual_v2_get_api_v1_appointment_settings_slots_\u062f\u0631\u06cc\u0627\u0641\u062a_\u0627\u0633\u0644\u0627\u062a_\u0647\u0627\u06cc_\u062e\u0627\u0644\u06cc", - "community": 659, + "community": 255, "norm_label": "get /api/v1/appointment-settings/slots \u2014 \u062f\u0631\u06cc\u0627\u0641\u062a \u0627\u0633\u0644\u0627\u062a\u200c\u0647\u0627\u06cc \u062e\u0627\u0644\u06cc" }, { @@ -58032,7 +58162,7 @@ "source_location": "L689", "_origin": "ast", "id": "docs_clinicpro_manual_v2_post_api_v1_appointment_settings_overrides_\u062b\u0628\u062a_override_\u062a\u0648\u0633\u0637_\u062f\u06a9\u062a\u0631", - "community": 659, + "community": 255, "norm_label": "post /api/v1/appointment-settings/overrides \u2014 \u062b\u0628\u062a override \u062a\u0648\u0633\u0637 \u062f\u06a9\u062a\u0631" }, { @@ -58042,7 +58172,7 @@ "source_location": "L698", "_origin": "ast", "id": "docs_clinicpro_manual_v2_post_api_v1_appointment_settings_holidays_\u062b\u0628\u062a_\u062a\u0639\u0637\u06cc\u0644\u06cc_\u0641\u0642\u0637_\u0627\u062f\u0645\u06cc\u0646", - "community": 659, + "community": 255, "norm_label": "post /api/v1/appointment-settings/holidays \u2014 \u062b\u0628\u062a \u062a\u0639\u0637\u06cc\u0644\u06cc (\u0641\u0642\u0637 \u0627\u062f\u0645\u06cc\u0646)" }, { @@ -58052,7 +58182,7 @@ "source_location": "L707", "_origin": "ast", "id": "docs_clinicpro_manual_v2_\u06f4_\u0633\u06cc\u0633\u062a\u0645_\u062d\u0633\u0627\u0628_\u0648_\u0635\u0641_\u067e\u06cc\u0627\u0645\u06a9", - "community": 482, + "community": 277, "norm_label": "\u06f4. \u0633\u06cc\u0633\u062a\u0645 \u062d\u0633\u0627\u0628 \u0648 \u0635\u0641 \u067e\u06cc\u0627\u0645\u06a9" }, { @@ -58062,7 +58192,7 @@ "source_location": "L709", "_origin": "ast", "id": "docs_clinicpro_manual_v2_\u06f4_\u06f1_\u062d\u0633\u0627\u0628_\u067e\u06cc\u0627\u0645\u06a9_sms_account", - "community": 482, + "community": 277, "norm_label": "\u06f4.\u06f1 \u062d\u0633\u0627\u0628 \u067e\u06cc\u0627\u0645\u06a9 (sms account)" }, { @@ -58072,7 +58202,7 @@ "source_location": "L721", "_origin": "ast", "id": "docs_clinicpro_manual_v2_\u06f4_\u06f2_\u0635\u0641_\u067e\u06cc\u0627\u0645\u06a9_sms_queue", - "community": 482, + "community": 277, "norm_label": "\u06f4.\u06f2 \u0635\u0641 \u067e\u06cc\u0627\u0645\u06a9 (sms queue)" }, { @@ -58082,7 +58212,7 @@ "source_location": "L737", "_origin": "ast", "id": "docs_clinicpro_manual_v2_\u06f4_\u06f3_api_\u067e\u06cc\u0627\u0645\u06a9", - "community": 482, + "community": 277, "norm_label": "\u06f4.\u06f3 api \u067e\u06cc\u0627\u0645\u06a9" }, { @@ -58092,7 +58222,7 @@ "source_location": "L739", "_origin": "ast", "id": "docs_clinicpro_manual_v2_post_api_v1_sms_queue_\u0627\u0641\u0632\u0648\u062f\u0646_\u0628\u0647_\u0635\u0641", - "community": 482, + "community": 277, "norm_label": "post /api/v1/sms/queue \u2014 \u0627\u0641\u0632\u0648\u062f\u0646 \u0628\u0647 \u0635\u0641" }, { @@ -58102,7 +58232,7 @@ "source_location": "L748", "_origin": "ast", "id": "docs_clinicpro_manual_v2_get_api_v1_sms_balance_\u0645\u0648\u062c\u0648\u062f\u06cc_\u062d\u0633\u0627\u0628_\u067e\u06cc\u0627\u0645\u06a9", - "community": 482, + "community": 277, "norm_label": "get /api/v1/sms/balance \u2014 \u0645\u0648\u062c\u0648\u062f\u06cc \u062d\u0633\u0627\u0628 \u067e\u06cc\u0627\u0645\u06a9" }, { @@ -59292,7 +59422,7 @@ "source_location": "L3075", "_origin": "ast", "id": "docs_clinicpro_manual_v2_32_post_post", - "community": 492, + "community": 304, "norm_label": "32. \ud83d\udd35 `post` post" }, { @@ -59302,7 +59432,7 @@ "source_location": "L3085", "_origin": "ast", "id": "docs_clinicpro_manual_v2_\u0647\u062f\u0631\u0647\u0627\u06cc_\u0627\u0636\u0627\u0641\u06cc_3085", - "community": 492, + "community": 304, "norm_label": "\u0647\u062f\u0631\u0647\u0627\u06cc \u0627\u0636\u0627\u0641\u06cc" }, { @@ -59312,7 +59442,7 @@ "source_location": "L3091", "_origin": "ast", "id": "docs_clinicpro_manual_v2_request_body_3091", - "community": 492, + "community": 304, "norm_label": "request body" }, { @@ -59322,7 +59452,7 @@ "source_location": "L3110", "_origin": "ast", "id": "docs_clinicpro_manual_v2_\u0645\u062b\u0627\u0644_request_3110", - "community": 492, + "community": 304, "norm_label": "\u0645\u062b\u0627\u0644 request" }, { @@ -59332,7 +59462,7 @@ "source_location": "L3145", "_origin": "ast", "id": "docs_clinicpro_manual_v2_\u067e\u0627\u0633\u062e_\u0647\u0627_3145", - "community": 492, + "community": 304, "norm_label": "\u067e\u0627\u0633\u062e\u200c\u0647\u0627" }, { @@ -59652,7 +59782,7 @@ "source_location": "L3412", "_origin": "ast", "id": "docs_clinicpro_manual_v2_41_patch_patch", - "community": 304, + "community": 648, "norm_label": "41. \ud83d\udfe1 `patch` patch" }, { @@ -59662,7 +59792,7 @@ "source_location": "L3420", "_origin": "ast", "id": "docs_clinicpro_manual_v2_\u0647\u062f\u0631\u0647\u0627\u06cc_\u0627\u0636\u0627\u0641\u06cc_3420", - "community": 304, + "community": 648, "norm_label": "\u0647\u062f\u0631\u0647\u0627\u06cc \u0627\u0636\u0627\u0641\u06cc" }, { @@ -59672,7 +59802,7 @@ "source_location": "L3427", "_origin": "ast", "id": "docs_clinicpro_manual_v2_request_body_3427", - "community": 304, + "community": 648, "norm_label": "request body" }, { @@ -59682,7 +59812,7 @@ "source_location": "L3439", "_origin": "ast", "id": "docs_clinicpro_manual_v2_\u0645\u062b\u0627\u0644_request_3439", - "community": 304, + "community": 648, "norm_label": "\u0645\u062b\u0627\u0644 request" }, { @@ -59692,7 +59822,7 @@ "source_location": "L3453", "_origin": "ast", "id": "docs_clinicpro_manual_v2_\u067e\u0627\u0633\u062e_\u0647\u0627_3453", - "community": 304, + "community": 648, "norm_label": "\u067e\u0627\u0633\u062e\u200c\u0647\u0627" }, { @@ -59762,7 +59892,7 @@ "source_location": "L3506", "_origin": "ast", "id": "docs_clinicpro_manual_v2_44_get_list_comment", - "community": 304, + "community": 654, "norm_label": "44. \ud83d\udfe2 `get` list comment" }, { @@ -59772,7 +59902,7 @@ "source_location": "L3514", "_origin": "ast", "id": "docs_clinicpro_manual_v2_\u067e\u0627\u0631\u0627\u0645\u062a\u0631\u0647\u0627\u06cc_query_3514", - "community": 304, + "community": 654, "norm_label": "\u067e\u0627\u0631\u0627\u0645\u062a\u0631\u0647\u0627\u06cc query" }, { @@ -59782,7 +59912,7 @@ "source_location": "L3521", "_origin": "ast", "id": "docs_clinicpro_manual_v2_\u0647\u062f\u0631\u0647\u0627\u06cc_\u0627\u0636\u0627\u0641\u06cc_3521", - "community": 304, + "community": 654, "norm_label": "\u0647\u062f\u0631\u0647\u0627\u06cc \u0627\u0636\u0627\u0641\u06cc" }, { @@ -59792,7 +59922,7 @@ "source_location": "L3528", "_origin": "ast", "id": "docs_clinicpro_manual_v2_\u067e\u0627\u0633\u062e_\u0647\u0627_3528", - "community": 304, + "community": 654, "norm_label": "\u067e\u0627\u0633\u062e\u200c\u0647\u0627" }, { @@ -63342,7 +63472,7 @@ "source_location": "L1", "_origin": "ast", "id": "api_readme", - "community": 62, + "community": 274, "norm_label": "readme.md" }, { @@ -63352,7 +63482,7 @@ "source_location": "L1", "_origin": "ast", "id": "api_readme_clinicpro_api_documentation_index", - "community": 62, + "community": 274, "norm_label": "clinicpro \u2014 api documentation index" }, { @@ -63362,7 +63492,7 @@ "source_location": "L9", "_origin": "ast", "id": "api_readme_authentication", - "community": 62, + "community": 274, "norm_label": "authentication" }, { @@ -63372,7 +63502,7 @@ "source_location": "L27", "_origin": "ast", "id": "api_readme_standard_response_envelope", - "community": 62, + "community": 274, "norm_label": "standard response envelope" }, { @@ -63382,7 +63512,7 @@ "source_location": "L42", "_origin": "ast", "id": "api_readme_modules", - "community": 62, + "community": 274, "norm_label": "modules" }, { @@ -63392,7 +63522,7 @@ "source_location": "L69", "_origin": "ast", "id": "api_readme_error_code_reference", - "community": 62, + "community": 274, "norm_label": "error code reference" }, { @@ -63402,7 +63532,7 @@ "source_location": "L1", "_origin": "ast", "id": "api_admin", - "community": 62, + "community": 274, "norm_label": "admin.md" }, { @@ -64032,7 +64162,7 @@ "source_location": "L585", "_origin": "ast", "id": "api_admin_payment_management", - "community": 667, + "community": 201, "norm_label": "payment management" }, { @@ -64042,7 +64172,7 @@ "source_location": "L587", "_origin": "ast", "id": "api_admin_get_api_v1_admin_payments", - "community": 667, + "community": 201, "norm_label": "get `/api/v1/admin/payments`" }, { @@ -64052,7 +64182,7 @@ "source_location": "L593", "_origin": "ast", "id": "api_admin_query_parameters_593", - "community": 667, + "community": 201, "norm_label": "query parameters" }, { @@ -64062,7 +64192,7 @@ "source_location": "L600", "_origin": "ast", "id": "api_admin_response_200_600", - "community": 667, + "community": 201, "norm_label": "response `200`" }, { @@ -64152,7 +64282,7 @@ "source_location": "L696", "_origin": "ast", "id": "api_admin_secretary_management", - "community": 201, + "community": 649, "norm_label": "secretary management" }, { @@ -64162,7 +64292,7 @@ "source_location": "L698", "_origin": "ast", "id": "api_admin_get_api_v1_admin_secretaries", - "community": 201, + "community": 649, "norm_label": "get `/api/v1/admin/secretaries`" }, { @@ -64172,7 +64302,7 @@ "source_location": "L704", "_origin": "ast", "id": "api_admin_query_parameters_704", - "community": 201, + "community": 649, "norm_label": "query parameters" }, { @@ -64182,7 +64312,7 @@ "source_location": "L711", "_origin": "ast", "id": "api_admin_response_200_711", - "community": 201, + "community": 649, "norm_label": "response `200`" }, { @@ -66412,7 +66542,7 @@ "source_location": "L1", "_origin": "ast", "id": "api_category_import", - "community": 62, + "community": 274, "norm_label": "category-import.md" }, { @@ -66515,6 +66645,16 @@ "community": 349, "norm_label": "errors" }, + { + "label": "Seeding a from-scratch database", + "file_type": "document", + "source_file": "docs/api/category-import.md", + "source_location": "L117", + "_origin": "ast", + "id": "api_category_import_seeding_a_from_scratch_database", + "community": 349, + "norm_label": "seeding a from-scratch database" + }, { "label": "clinic-invitation.md", "file_type": "document", @@ -66522,7 +66662,7 @@ "source_location": "L1", "_origin": "ast", "id": "api_clinic_invitation", - "community": 62, + "community": 274, "norm_label": "clinic-invitation.md" }, { @@ -67732,7 +67872,7 @@ "source_location": "L1", "_origin": "ast", "id": "api_doctor_service", - "community": 92, + "community": 274, "norm_label": "doctor-service.md" }, { @@ -68442,7 +68582,7 @@ "source_location": "L1", "_origin": "ast", "id": "api_insurance", - "community": 62, + "community": 274, "norm_label": "insurance.md" }, { @@ -68952,7 +69092,7 @@ "source_location": "L1", "_origin": "ast", "id": "api_location", - "community": 62, + "community": 274, "norm_label": "location.md" }, { @@ -71402,7 +71542,7 @@ "source_location": "L1", "_origin": "ast", "id": "api_sms", - "community": 62, + "community": 274, "norm_label": "sms.md" }, { @@ -71962,7 +72102,7 @@ "source_location": "L1", "_origin": "ast", "id": "api_specialty", - "community": 62, + "community": 274, "norm_label": "specialty.md" }, { @@ -72082,7 +72222,7 @@ "source_location": "L108", "_origin": "ast", "id": "api_specialty_post_api_v1_admin_specialty", - "community": 608, + "community": 62, "norm_label": "post `/api/v1/admin/specialty`" }, { @@ -72092,7 +72232,7 @@ "source_location": "L114", "_origin": "ast", "id": "api_specialty_request_body_application_json", - "community": 608, + "community": 62, "norm_label": "request body (`application/json`)" }, { @@ -72102,7 +72242,7 @@ "source_location": "L133", "_origin": "ast", "id": "api_specialty_response_201", - "community": 608, + "community": 62, "norm_label": "response `201`" }, { @@ -72112,7 +72252,7 @@ "source_location": "L136", "_origin": "ast", "id": "api_specialty_errors_136", - "community": 608, + "community": 62, "norm_label": "errors" }, { @@ -72122,7 +72262,7 @@ "source_location": "L145", "_origin": "ast", "id": "api_specialty_patch_api_v1_admin_specialty_id", - "community": 602, + "community": 62, "norm_label": "patch `/api/v1/admin/specialty/{id}`" }, { @@ -72132,7 +72272,7 @@ "source_location": "L151", "_origin": "ast", "id": "api_specialty_path_parameters", - "community": 602, + "community": 62, "norm_label": "path parameters" }, { @@ -72142,7 +72282,7 @@ "source_location": "L156", "_origin": "ast", "id": "api_specialty_request_body_all_optional", - "community": 602, + "community": 62, "norm_label": "request body (all optional)" }, { @@ -72152,7 +72292,7 @@ "source_location": "L167", "_origin": "ast", "id": "api_specialty_response_200_167", - "community": 602, + "community": 62, "norm_label": "response `200`" }, { @@ -72162,7 +72302,7 @@ "source_location": "L170", "_origin": "ast", "id": "api_specialty_errors_170", - "community": 602, + "community": 62, "norm_label": "errors" }, { @@ -72432,7 +72572,7 @@ "source_location": "L1", "_origin": "ast", "id": "api_tag", - "community": 102, + "community": 274, "norm_label": "tag.md" }, { @@ -93317,9 +93457,9 @@ "source_file": "assets/admin/pages/CategoriesPage.tsx", "source_location": "L24", "weight": 1.0, + "confidence_score": 1.0, "source": "pages_categoriespage", - "target": "pages_categoriespage_importerror", - "confidence_score": 1.0 + "target": "pages_categoriespage_importerror" }, { "relation": "contains", @@ -109024,6 +109164,37 @@ "source": "command_createadmincommand_createadmincommand_execute", "target": "command" }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/Category/Command/SeedCategoriesCommand.php", + "source_location": "L7", + "weight": 1.0, + "source": "command_seedcategoriescommand", + "target": "command", + "confidence_score": 1.0 + }, + { + "relation": "inherits", + "confidence": "EXTRACTED", + "source_file": "src/Category/Command/SeedCategoriesCommand.php", + "source_location": "L23", + "weight": 1.0, + "source": "command_seedcategoriescommand_seedcategoriescommand", + "target": "command", + "confidence_score": 1.0 + }, + { + "relation": "references_constant", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "src/Category/Command/SeedCategoriesCommand.php", + "source_location": "L44", + "weight": 1.0, + "source": "command_seedcategoriescommand_seedcategoriescommand_execute", + "target": "command" + }, { "relation": "imports", "context": "import", @@ -121791,6 +121962,80 @@ "source": "repository_blogrepository_blogrepository_applytagfilter", "target": "src_blog_repository_blogrepository_php_querybuilder" }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/Category/Command/SeedCategoriesCommand.php", + "source_location": "L22", + "weight": 1.0, + "source": "command_seedcategoriescommand", + "target": "command_seedcategoriescommand_seedcategoriescommand", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/Category/Command/SeedCategoriesCommand.php", + "source_location": "L8", + "weight": 1.0, + "source": "command_seedcategoriescommand", + "target": "src_category_command_seedcategoriescommand_php_inputinterface", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/Category/Command/SeedCategoriesCommand.php", + "source_location": "L9", + "weight": 1.0, + "source": "command_seedcategoriescommand", + "target": "src_category_command_seedcategoriescommand_php_outputinterface", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/Category/Command/SeedCategoriesCommand.php", + "source_location": "L28", + "weight": 1.0, + "source": "command_seedcategoriescommand_seedcategoriescommand", + "target": "command_seedcategoriescommand_seedcategoriescommand_construct", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/Category/Command/SeedCategoriesCommand.php", + "source_location": "L35", + "weight": 1.0, + "source": "command_seedcategoriescommand_seedcategoriescommand", + "target": "command_seedcategoriescommand_seedcategoriescommand_execute", + "confidence_score": 1.0 + }, + { + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "src/Category/Command/SeedCategoriesCommand.php", + "source_location": "L35", + "weight": 1.0, + "context": "parameter_type", + "source": "command_seedcategoriescommand_seedcategoriescommand_execute", + "target": "src_category_command_seedcategoriescommand_php_inputinterface", + "confidence_score": 1.0 + }, + { + "relation": "references", + "confidence": "EXTRACTED", + "source_file": "src/Category/Command/SeedCategoriesCommand.php", + "source_location": "L35", + "weight": 1.0, + "context": "parameter_type", + "source": "command_seedcategoriescommand_seedcategoriescommand_execute", + "target": "src_category_command_seedcategoriescommand_php_outputinterface", + "confidence_score": 1.0 + }, { "relation": "imports", "context": "import", @@ -121861,9 +122106,9 @@ "source_file": "src/Category/Controller/CategoryImportController.php", "source_location": "L6", "weight": 1.0, + "confidence_score": 1.0, "source": "controller_categoryimportcontroller", - "target": "connection", - "confidence_score": 1.0 + "target": "connection" }, { "relation": "imports", @@ -121872,9 +122117,9 @@ "source_file": "src/Category/Controller/CategoryImportController.php", "source_location": "L5", "weight": 1.0, + "confidence_score": 1.0, "source": "controller_categoryimportcontroller", - "target": "controller_basecontroller_basecontroller", - "confidence_score": 1.0 + "target": "controller_basecontroller_basecontroller" }, { "relation": "contains", @@ -121882,9 +122127,9 @@ "source_file": "src/Category/Controller/CategoryImportController.php", "source_location": "L28", "weight": 1.0, + "confidence_score": 1.0, "source": "controller_categoryimportcontroller", - "target": "controller_categoryimportcontroller_categoryimportcontroller", - "confidence_score": 1.0 + "target": "controller_categoryimportcontroller_categoryimportcontroller" }, { "relation": "imports", @@ -121893,9 +122138,9 @@ "source_file": "src/Category/Controller/CategoryImportController.php", "source_location": "L7", "weight": 1.0, + "confidence_score": 1.0, "source": "controller_categoryimportcontroller", - "target": "src_category_controller_categoryimportcontroller_php_jsonresponse", - "confidence_score": 1.0 + "target": "src_category_controller_categoryimportcontroller_php_jsonresponse" }, { "relation": "imports", @@ -121904,9 +122149,9 @@ "source_file": "src/Category/Controller/CategoryImportController.php", "source_location": "L8", "weight": 1.0, + "confidence_score": 1.0, "source": "controller_categoryimportcontroller", - "target": "src_category_controller_categoryimportcontroller_php_request", - "confidence_score": 1.0 + "target": "src_category_controller_categoryimportcontroller_php_request" }, { "relation": "inherits", @@ -121914,9 +122159,9 @@ "source_file": "src/Category/Controller/CategoryImportController.php", "source_location": "L30", "weight": 1.0, + "confidence_score": 1.0, "source": "controller_categoryimportcontroller_categoryimportcontroller", - "target": "controller_basecontroller_basecontroller", - "confidence_score": 1.0 + "target": "controller_basecontroller_basecontroller" }, { "relation": "method", @@ -121924,19 +122169,9 @@ "source_file": "src/Category/Controller/CategoryImportController.php", "source_location": "L42", "weight": 1.0, + "confidence_score": 1.0, "source": "controller_categoryimportcontroller_categoryimportcontroller", - "target": "controller_categoryimportcontroller_categoryimportcontroller_construct", - "confidence_score": 1.0 - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/Category/Controller/CategoryImportController.php", - "source_location": "L286", - "weight": 1.0, - "source": "controller_categoryimportcontroller_categoryimportcontroller", - "target": "controller_categoryimportcontroller_categoryimportcontroller_existingids", - "confidence_score": 1.0 + "target": "controller_categoryimportcontroller_categoryimportcontroller_construct" }, { "relation": "method", @@ -121944,9 +122179,9 @@ "source_file": "src/Category/Controller/CategoryImportController.php", "source_location": "L54", "weight": 1.0, + "confidence_score": 1.0, "source": "controller_categoryimportcontroller_categoryimportcontroller", - "target": "controller_categoryimportcontroller_categoryimportcontroller_export", - "confidence_score": 1.0 + "target": "controller_categoryimportcontroller_categoryimportcontroller_export" }, { "relation": "method", @@ -121954,59 +122189,9 @@ "source_file": "src/Category/Controller/CategoryImportController.php", "source_location": "L77", "weight": 1.0, + "confidence_score": 1.0, "source": "controller_categoryimportcontroller_categoryimportcontroller", - "target": "controller_categoryimportcontroller_categoryimportcontroller_import", - "confidence_score": 1.0 - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/Category/Controller/CategoryImportController.php", - "source_location": "L296", - "weight": 1.0, - "source": "controller_categoryimportcontroller_categoryimportcontroller", - "target": "controller_categoryimportcontroller_categoryimportcontroller_ispositiveint", - "confidence_score": 1.0 - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/Category/Controller/CategoryImportController.php", - "source_location": "L301", - "weight": 1.0, - "source": "controller_categoryimportcontroller_categoryimportcontroller", - "target": "controller_categoryimportcontroller_categoryimportcontroller_normint", - "confidence_score": 1.0 - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/Category/Controller/CategoryImportController.php", - "source_location": "L309", - "weight": 1.0, - "source": "controller_categoryimportcontroller_categoryimportcontroller", - "target": "controller_categoryimportcontroller_categoryimportcontroller_nullableid", - "confidence_score": 1.0 - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/Category/Controller/CategoryImportController.php", - "source_location": "L319", - "weight": 1.0, - "source": "controller_categoryimportcontroller_categoryimportcontroller", - "target": "controller_categoryimportcontroller_categoryimportcontroller_optstr", - "confidence_score": 1.0 - }, - { - "relation": "method", - "confidence": "EXTRACTED", - "source_file": "src/Category/Controller/CategoryImportController.php", - "source_location": "L242", - "weight": 1.0, - "source": "controller_categoryimportcontroller_categoryimportcontroller", - "target": "controller_categoryimportcontroller_categoryimportcontroller_validatereferences", - "confidence_score": 1.0 + "target": "controller_categoryimportcontroller_categoryimportcontroller_import" }, { "relation": "references", @@ -122015,9 +122200,9 @@ "source_location": "L54", "weight": 1.0, "context": "return_type", + "confidence_score": 1.0, "source": "controller_categoryimportcontroller_categoryimportcontroller_export", - "target": "src_category_controller_categoryimportcontroller_php_jsonresponse", - "confidence_score": 1.0 + "target": "src_category_controller_categoryimportcontroller_php_jsonresponse" }, { "relation": "references", @@ -122026,20 +122211,9 @@ "source_location": "L77", "weight": 1.0, "context": "return_type", + "confidence_score": 1.0, "source": "controller_categoryimportcontroller_categoryimportcontroller_import", - "target": "src_category_controller_categoryimportcontroller_php_jsonresponse", - "confidence_score": 1.0 - }, - { - "relation": "calls", - "context": "call", - "confidence": "EXTRACTED", - "source_file": "src/Category/Controller/CategoryImportController.php", - "source_location": "L211", - "weight": 1.0, - "source": "controller_categoryimportcontroller_categoryimportcontroller_import", - "target": "controller_categoryimportcontroller_categoryimportcontroller_validatereferences", - "confidence_score": 1.0 + "target": "src_category_controller_categoryimportcontroller_php_jsonresponse" }, { "relation": "references", @@ -122048,19 +122222,161 @@ "source_location": "L77", "weight": 1.0, "context": "parameter_type", + "confidence_score": 1.0, "source": "controller_categoryimportcontroller_categoryimportcontroller_import", - "target": "src_category_controller_categoryimportcontroller_php_request", + "target": "src_category_controller_categoryimportcontroller_php_request" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "src/Category/Service/CategoryImporter.php", + "source_location": "L5", + "weight": 1.0, + "source": "service_categoryimporter", + "target": "connection", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "src/Category/Service/CategoryImporter.php", + "source_location": "L16", + "weight": 1.0, + "source": "service_categoryimporter", + "target": "service_categoryimporter_categoryimporter", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/Category/Service/CategoryImporter.php", + "source_location": "L28", + "weight": 1.0, + "source": "service_categoryimporter_categoryimporter", + "target": "service_categoryimporter_categoryimporter_construct", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/Category/Service/CategoryImporter.php", + "source_location": "L232", + "weight": 1.0, + "source": "service_categoryimporter_categoryimporter", + "target": "service_categoryimporter_categoryimporter_existingids", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/Category/Service/CategoryImporter.php", + "source_location": "L38", + "weight": 1.0, + "source": "service_categoryimporter_categoryimporter", + "target": "service_categoryimporter_categoryimporter_exportall", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/Category/Service/CategoryImporter.php", + "source_location": "L241", + "weight": 1.0, + "source": "service_categoryimporter_categoryimporter", + "target": "service_categoryimporter_categoryimporter_ispositiveint", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/Category/Service/CategoryImporter.php", + "source_location": "L32", + "weight": 1.0, + "source": "service_categoryimporter_categoryimporter", + "target": "service_categoryimporter_categoryimporter_isvalidbundle", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/Category/Service/CategoryImporter.php", + "source_location": "L246", + "weight": 1.0, + "source": "service_categoryimporter_categoryimporter", + "target": "service_categoryimporter_categoryimporter_normint", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/Category/Service/CategoryImporter.php", + "source_location": "L253", + "weight": 1.0, + "source": "service_categoryimporter_categoryimporter", + "target": "service_categoryimporter_categoryimporter_nullableid", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/Category/Service/CategoryImporter.php", + "source_location": "L263", + "weight": 1.0, + "source": "service_categoryimporter_categoryimporter", + "target": "service_categoryimporter_categoryimporter_optstr", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/Category/Service/CategoryImporter.php", + "source_location": "L169", + "weight": 1.0, + "source": "service_categoryimporter_categoryimporter", + "target": "service_categoryimporter_categoryimporter_replace", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/Category/Service/CategoryImporter.php", + "source_location": "L58", + "weight": 1.0, + "source": "service_categoryimporter_categoryimporter", + "target": "service_categoryimporter_categoryimporter_validate", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "src/Category/Service/CategoryImporter.php", + "source_location": "L188", + "weight": 1.0, + "source": "service_categoryimporter_categoryimporter", + "target": "service_categoryimporter_categoryimporter_validatereferences", "confidence_score": 1.0 }, { "relation": "calls", "context": "call", "confidence": "EXTRACTED", - "source_file": "src/Category/Controller/CategoryImportController.php", - "source_location": "L259", + "source_file": "src/Category/Service/CategoryImporter.php", + "source_location": "L163", "weight": 1.0, - "source": "controller_categoryimportcontroller_categoryimportcontroller_validatereferences", - "target": "controller_categoryimportcontroller_categoryimportcontroller_existingids", + "source": "service_categoryimporter_categoryimporter_validate", + "target": "service_categoryimporter_categoryimporter_validatereferences", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "src/Category/Service/CategoryImporter.php", + "source_location": "L205", + "weight": 1.0, + "source": "service_categoryimporter_categoryimporter_validatereferences", + "target": "service_categoryimporter_categoryimporter_existingids", "confidence_score": 1.0 }, { @@ -150041,9 +150357,9 @@ "source_file": "src/Shared/Logging/DbLogger.php", "source_location": "L5", "weight": 1.0, + "confidence_score": 1.0, "source": "logging_dblogger", - "target": "connection", - "confidence_score": 1.0 + "target": "connection" }, { "relation": "imports", @@ -159895,9 +160211,9 @@ "source_file": "tests/Category/CategoryImportTest.php", "source_location": "L5", "weight": 1.0, + "confidence_score": 1.0, "source": "category_categoryimporttest", - "target": "tests_apitestcase_apitestcase", - "confidence_score": 1.0 + "target": "tests_apitestcase_apitestcase" }, { "relation": "inherits", @@ -159905,9 +160221,9 @@ "source_file": "tests/Category/CategoryImportTest.php", "source_location": "L19", "weight": 1.0, + "confidence_score": 1.0, "source": "category_categoryimporttest_categoryimporttest", - "target": "tests_apitestcase_apitestcase", - "confidence_score": 1.0 + "target": "tests_apitestcase_apitestcase" }, { "relation": "imports", @@ -161514,9 +161830,9 @@ "source_file": "tests/Category/CategoryImportTest.php", "source_location": "L19", "weight": 1.0, + "confidence_score": 1.0, "source": "category_categoryimporttest", - "target": "category_categoryimporttest_categoryimporttest", - "confidence_score": 1.0 + "target": "category_categoryimporttest_categoryimporttest" }, { "relation": "imports", @@ -161525,9 +161841,9 @@ "source_file": "tests/Category/CategoryImportTest.php", "source_location": "L6", "weight": 1.0, + "confidence_score": 1.0, "source": "category_categoryimporttest", - "target": "connection", - "confidence_score": 1.0 + "target": "connection" }, { "relation": "method", @@ -161535,9 +161851,9 @@ "source_file": "tests/Category/CategoryImportTest.php", "source_location": "L21", "weight": 1.0, + "confidence_score": 1.0, "source": "category_categoryimporttest_categoryimporttest", - "target": "category_categoryimporttest_categoryimporttest_db", - "confidence_score": 1.0 + "target": "category_categoryimporttest_categoryimporttest_db" }, { "relation": "method", @@ -161545,9 +161861,9 @@ "source_file": "tests/Category/CategoryImportTest.php", "source_location": "L26", "weight": 1.0, + "confidence_score": 1.0, "source": "category_categoryimporttest_categoryimporttest", - "target": "category_categoryimporttest_categoryimporttest_rowcount", - "confidence_score": 1.0 + "target": "category_categoryimporttest_categoryimporttest_rowcount" }, { "relation": "method", @@ -161555,9 +161871,9 @@ "source_file": "tests/Category/CategoryImportTest.php", "source_location": "L47", "weight": 1.0, + "confidence_score": 1.0, "source": "category_categoryimporttest_categoryimporttest", - "target": "category_categoryimporttest_categoryimporttest_testinvalidfileisrejectedandnothingiswritten", - "confidence_score": 1.0 + "target": "category_categoryimporttest_categoryimporttest_testinvalidfileisrejectedandnothingiswritten" }, { "relation": "method", @@ -161565,9 +161881,9 @@ "source_file": "tests/Category/CategoryImportTest.php", "source_location": "L81", "weight": 1.0, + "confidence_score": 1.0, "source": "category_categoryimporttest_categoryimporttest", - "target": "category_categoryimporttest_categoryimporttest_testnonadminisforbidden", - "confidence_score": 1.0 + "target": "category_categoryimporttest_categoryimporttest_testnonadminisforbidden" }, { "relation": "method", @@ -161575,9 +161891,9 @@ "source_file": "tests/Category/CategoryImportTest.php", "source_location": "L67", "weight": 1.0, + "confidence_score": 1.0, "source": "category_categoryimporttest_categoryimporttest", - "target": "category_categoryimporttest_categoryimporttest_testspecialtyparentmustexistwithinthefile", - "confidence_score": 1.0 + "target": "category_categoryimporttest_categoryimporttest_testspecialtyparentmustexistwithinthefile" }, { "relation": "method", @@ -161585,9 +161901,9 @@ "source_file": "tests/Category/CategoryImportTest.php", "source_location": "L90", "weight": 1.0, + "confidence_score": 1.0, "source": "category_categoryimporttest_categoryimporttest", - "target": "category_categoryimporttest_categoryimporttest_testunknownbundleis404", - "confidence_score": 1.0 + "target": "category_categoryimporttest_categoryimporttest_testunknownbundleis404" }, { "relation": "method", @@ -161595,9 +161911,9 @@ "source_file": "tests/Category/CategoryImportTest.php", "source_location": "L31", "weight": 1.0, + "confidence_score": 1.0, "source": "category_categoryimporttest_categoryimporttest", - "target": "category_categoryimporttest_categoryimporttest_testvalidimportreplacesthewholetable", - "confidence_score": 1.0 + "target": "category_categoryimporttest_categoryimporttest_testvalidimportreplacesthewholetable" }, { "relation": "references_constant", @@ -161617,9 +161933,9 @@ "source_file": "tests/Category/CategoryImportTest.php", "source_location": "L28", "weight": 1.0, + "confidence_score": 1.0, "source": "category_categoryimporttest_categoryimporttest_rowcount", - "target": "category_categoryimporttest_categoryimporttest_db", - "confidence_score": 1.0 + "target": "category_categoryimporttest_categoryimporttest_db" }, { "relation": "calls", @@ -161628,9 +161944,9 @@ "source_file": "tests/Category/CategoryImportTest.php", "source_location": "L44", "weight": 1.0, + "confidence_score": 1.0, "source": "category_categoryimporttest_categoryimporttest_testvalidimportreplacesthewholetable", - "target": "category_categoryimporttest_categoryimporttest_db", - "confidence_score": 1.0 + "target": "category_categoryimporttest_categoryimporttest_db" }, { "relation": "imports", @@ -161639,9 +161955,9 @@ "source_file": "tests/Shared/DbLoggerTest.php", "source_location": "L5", "weight": 1.0, + "confidence_score": 1.0, "source": "shared_dbloggertest", - "target": "connection", - "confidence_score": 1.0 + "target": "connection" }, { "relation": "calls", @@ -161650,9 +161966,9 @@ "source_file": "tests/Category/CategoryImportTest.php", "source_location": "L55", "weight": 1.0, + "confidence_score": 1.0, "source": "category_categoryimporttest_categoryimporttest_testinvalidfileisrejectedandnothingiswritten", - "target": "category_categoryimporttest_categoryimporttest_rowcount", - "confidence_score": 1.0 + "target": "category_categoryimporttest_categoryimporttest_rowcount" }, { "relation": "calls", @@ -161661,9 +161977,9 @@ "source_file": "tests/Category/CategoryImportTest.php", "source_location": "L43", "weight": 1.0, + "confidence_score": 1.0, "source": "category_categoryimporttest_categoryimporttest_testvalidimportreplacesthewholetable", - "target": "category_categoryimporttest_categoryimporttest_rowcount", - "confidence_score": 1.0 + "target": "category_categoryimporttest_categoryimporttest_rowcount" }, { "relation": "contains", @@ -186609,9 +186925,9 @@ "source_file": "docs/api/category-import.md", "source_location": "L1", "weight": 1.0, + "confidence_score": 1.0, "source": "api_category_import", - "target": "api_category_import_category_import_export_api", - "confidence_score": 1.0 + "target": "api_category_import_category_import_export_api" }, { "relation": "references", @@ -186619,9 +186935,9 @@ "source_file": "docs/api/doctor-service.md", "source_location": "L153", "weight": 1.0, + "confidence_score": 1.0, "source": "api_doctor_service", - "target": "api_category_import", - "confidence_score": 1.0 + "target": "api_category_import" }, { "relation": "references", @@ -186629,9 +186945,9 @@ "source_file": "docs/api/insurance.md", "source_location": "L465", "weight": 1.0, + "confidence_score": 1.0, "source": "api_insurance", - "target": "api_category_import", - "confidence_score": 1.0 + "target": "api_category_import" }, { "relation": "references", @@ -186639,9 +186955,9 @@ "source_file": "docs/api/location.md", "source_location": "L256", "weight": 1.0, + "confidence_score": 1.0, "source": "api_location", - "target": "api_category_import", - "confidence_score": 1.0 + "target": "api_category_import" }, { "relation": "references", @@ -186649,9 +186965,9 @@ "source_file": "docs/api/specialty.md", "source_location": "L202", "weight": 1.0, + "confidence_score": 1.0, "source": "api_specialty", - "target": "api_category_import", - "confidence_score": 1.0 + "target": "api_category_import" }, { "relation": "references", @@ -186659,9 +186975,9 @@ "source_file": "docs/api/tag.md", "source_location": "L139", "weight": 1.0, + "confidence_score": 1.0, "source": "api_tag", - "target": "api_category_import", - "confidence_score": 1.0 + "target": "api_category_import" }, { "relation": "contains", @@ -186669,9 +186985,9 @@ "source_file": "docs/api/category-import.md", "source_location": "L26", "weight": 1.0, + "confidence_score": 1.0, "source": "api_category_import_category_import_export_api", - "target": "api_category_import_get_api_v1_admin_categories_bundle_export", - "confidence_score": 1.0 + "target": "api_category_import_get_api_v1_admin_categories_bundle_export" }, { "relation": "contains", @@ -186679,8 +186995,18 @@ "source_file": "docs/api/category-import.md", "source_location": "L54", "weight": 1.0, + "confidence_score": 1.0, "source": "api_category_import_category_import_export_api", - "target": "api_category_import_post_api_v1_admin_categories_bundle_import", + "target": "api_category_import_post_api_v1_admin_categories_bundle_import" + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "docs/api/category-import.md", + "source_location": "L117", + "weight": 1.0, + "source": "api_category_import_category_import_export_api", + "target": "api_category_import_seeding_a_from_scratch_database", "confidence_score": 1.0 }, { @@ -186689,9 +187015,9 @@ "source_file": "docs/api/category-import.md", "source_location": "L45", "weight": 1.0, + "confidence_score": 1.0, "source": "api_category_import_get_api_v1_admin_categories_bundle_export", - "target": "api_category_import_errors", - "confidence_score": 1.0 + "target": "api_category_import_errors" }, { "relation": "contains", @@ -186699,9 +187025,9 @@ "source_file": "docs/api/category-import.md", "source_location": "L35", "weight": 1.0, + "confidence_score": 1.0, "source": "api_category_import_get_api_v1_admin_categories_bundle_export", - "target": "api_category_import_response_200", - "confidence_score": 1.0 + "target": "api_category_import_response_200" }, { "relation": "contains", @@ -186709,9 +187035,9 @@ "source_file": "docs/api/category-import.md", "source_location": "L104", "weight": 1.0, + "confidence_score": 1.0, "source": "api_category_import_post_api_v1_admin_categories_bundle_import", - "target": "api_category_import_errors_104", - "confidence_score": 1.0 + "target": "api_category_import_errors_104" }, { "relation": "contains", @@ -186719,9 +187045,9 @@ "source_file": "docs/api/category-import.md", "source_location": "L74", "weight": 1.0, + "confidence_score": 1.0, "source": "api_category_import_post_api_v1_admin_categories_bundle_import", - "target": "api_category_import_per_row_validation_rules", - "confidence_score": 1.0 + "target": "api_category_import_per_row_validation_rules" }, { "relation": "contains", @@ -186729,9 +187055,9 @@ "source_file": "docs/api/category-import.md", "source_location": "L64", "weight": 1.0, + "confidence_score": 1.0, "source": "api_category_import_post_api_v1_admin_categories_bundle_import", - "target": "api_category_import_request_body_application_json", - "confidence_score": 1.0 + "target": "api_category_import_request_body_application_json" }, { "relation": "contains", @@ -186739,9 +187065,9 @@ "source_file": "docs/api/category-import.md", "source_location": "L88", "weight": 1.0, + "confidence_score": 1.0, "source": "api_category_import_post_api_v1_admin_categories_bundle_import", - "target": "api_category_import_response_200_88", - "confidence_score": 1.0 + "target": "api_category_import_response_200_88" }, { "relation": "contains", @@ -186749,9 +187075,9 @@ "source_file": "docs/api/category-import.md", "source_location": "L93", "weight": 1.0, + "confidence_score": 1.0, "source": "api_category_import_post_api_v1_admin_categories_bundle_import", - "target": "api_category_import_response_422_validation_failed_nothing_written", - "confidence_score": 1.0 + "target": "api_category_import_response_422_validation_failed_nothing_written" }, { "relation": "contains", @@ -187939,9 +188265,9 @@ "source_file": "docs/api/doctor-service.md", "source_location": "L150", "weight": 1.0, + "confidence_score": 1.0, "source": "api_doctor_service_doctor_service_api", - "target": "api_doctor_service_bulk_import_export", - "confidence_score": 1.0 + "target": "api_doctor_service_bulk_import_export" }, { "relation": "contains", @@ -188629,9 +188955,9 @@ "source_file": "docs/api/insurance.md", "source_location": "L462", "weight": 1.0, + "confidence_score": 1.0, "source": "api_insurance_insurance_api", - "target": "api_insurance_bulk_import_export", - "confidence_score": 1.0 + "target": "api_insurance_bulk_import_export" }, { "relation": "contains", @@ -189129,9 +189455,9 @@ "source_file": "docs/api/location.md", "source_location": "L253", "weight": 1.0, + "confidence_score": 1.0, "source": "api_location_location_api_province_city", - "target": "api_location_bulk_import_export", - "confidence_score": 1.0 + "target": "api_location_bulk_import_export" }, { "relation": "contains", @@ -192059,9 +192385,9 @@ "source_file": "docs/api/specialty.md", "source_location": "L199", "weight": 1.0, + "confidence_score": 1.0, "source": "api_specialty_specialty_api", - "target": "api_specialty_bulk_import_export", - "confidence_score": 1.0 + "target": "api_specialty_bulk_import_export" }, { "relation": "contains", @@ -192499,9 +192825,9 @@ "source_file": "docs/api/tag.md", "source_location": "L136", "weight": 1.0, + "confidence_score": 1.0, "source": "api_tag_tag_api", - "target": "api_tag_bulk_import_export", - "confidence_score": 1.0 + "target": "api_tag_bulk_import_export" }, { "relation": "contains", @@ -202185,5 +202511,5 @@ } ], "hyperedges": [], - "built_at_commit": "803196108c062bb44b159ab28525c705265f3298" + "built_at_commit": "22937dfa566e32055df1c4d1ccd10a7810e51c5b" } \ No newline at end of file diff --git a/graphify-out/manifest.json b/graphify-out/manifest.json index 20958924..1ebea870 100644 --- a/graphify-out/manifest.json +++ b/graphify-out/manifest.json @@ -2300,8 +2300,8 @@ "semantic_hash": "" }, "config/services.yaml": { - "mtime": 1782749831.6264865, - "ast_hash": "e2fbe3625e44dc10f140933838278ac1", + "mtime": 1782843927.2499301, + "ast_hash": "6ddd0cb49e2be3c0d29348e843166ed1", "semantic_hash": "" }, "docs/Architecture_Audit.md": { @@ -3415,8 +3415,8 @@ "semantic_hash": "" }, "src/Category/Controller/CategoryImportController.php": { - "mtime": 1782839057.0287304, - "ast_hash": "f4d8651689e73ca956bc2a9570bba695", + "mtime": 1782843840.4128816, + "ast_hash": "c7d911f98ab9a98e3f8394370ebc2021", "semantic_hash": "" }, "tests/Category/CategoryImportTest.php": { @@ -3425,8 +3425,38 @@ "semantic_hash": "" }, "docs/api/category-import.md": { - "mtime": 1782839220.8153825, - "ast_hash": "da0c24b873a9f46c97cd8760ac4eeba5", + "mtime": 1782844030.4935105, + "ast_hash": "d7eaf7bd2002ca82b3a95e16b0eb34dd", + "semantic_hash": "" + }, + "data/seed/cities.json": { + "mtime": 1782843868.7730389, + "ast_hash": "2baadcc7287ed58538b074906b531efc", + "semantic_hash": "" + }, + "data/seed/doctor_services.json": { + "mtime": 1782843868.7779899, + "ast_hash": "4001a6181d3279c2f850e20748a33566", + "semantic_hash": "" + }, + "data/seed/provinces.json": { + "mtime": 1782843868.7706103, + "ast_hash": "24b4c89c8deb44101cedaa3006b74751", + "semantic_hash": "" + }, + "data/seed/specialties.json": { + "mtime": 1782843868.7755058, + "ast_hash": "37dc79f859896696d1f7dd74afecfabe", + "semantic_hash": "" + }, + "src/Category/Command/SeedCategoriesCommand.php": { + "mtime": 1782843891.8818347, + "ast_hash": "2aa038b0454d52de87cc30f83d8c9da0", + "semantic_hash": "" + }, + "src/Category/Service/CategoryImporter.php": { + "mtime": 1782843813.8434396, + "ast_hash": "47a348a1a7cf97da5de81caad5f026d9", "semantic_hash": "" } } \ No newline at end of file diff --git a/src/Category/Command/SeedCategoriesCommand.php b/src/Category/Command/SeedCategoriesCommand.php new file mode 100644 index 00000000..fe576ce8 --- /dev/null +++ b/src/Category/Command/SeedCategoriesCommand.php @@ -0,0 +1,69 @@ +projectDir . '/data/seed'; + + foreach (self::ORDER as $bundle) { + $file = $seedDir . '/' . $bundle . '.json'; + if (!is_file($file)) { + $io->error("فایل seed یافت نشد: {$file}"); + return Command::FAILURE; + } + + $payload = json_decode((string) file_get_contents($file), true); + if (!is_array($payload) || $payload === [] || array_keys($payload) !== range(0, count($payload) - 1)) { + $io->error("{$bundle}: فایل باید یک آرایه‌ی غیرخالی باشد"); + return Command::FAILURE; + } + + $normalized = []; + $errors = $this->importer->validate($bundle, $payload, $normalized); + if ($errors !== []) { + $io->error("{$bundle}: اعتبارسنجی ناموفق — " . count($errors) . ' خطا'); + foreach (array_slice($errors, 0, 10) as $e) { + $io->writeln(" • {$e['message']}"); + } + return Command::FAILURE; + } + + $this->importer->replace($bundle, $normalized); + $io->success(sprintf('%s: %d رکورد seed شد', $bundle, count($normalized))); + } + + return Command::SUCCESS; + } +} diff --git a/src/Category/Controller/CategoryImportController.php b/src/Category/Controller/CategoryImportController.php index 47d8deba..ef0c7e99 100644 --- a/src/Category/Controller/CategoryImportController.php +++ b/src/Category/Controller/CategoryImportController.php @@ -2,83 +2,54 @@ namespace App\Category\Controller; +use App\Category\Service\CategoryImporter; use App\Shared\Controller\BaseController; -use Doctrine\DBAL\Connection; use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\Routing\Attribute\Route; use Symfony\Component\Security\Http\Attribute\IsGranted; -use Symfony\Component\Uid\Uuid; use OpenApi\Attributes as OA; /** - * Bulk JSON import for the admin "دسته‌بندی‌ها" page (all six tabs). + * Bulk JSON export/import for the admin "دسته‌بندی‌ها" page (all six tabs). * - * Consumes the exact JSON produced by each tab's "خروجی JSON" export - * (an array of objects shaped like the entity's toArray()). + * Thin HTTP layer over {@see CategoryImporter}, which holds the strict + * validation + wipe-and-replace logic shared with the `app:seed-categories` + * console command. * - * Behaviour: * - Strict two-phase validation: the WHOLE file is validated first; if any * row is invalid, nothing is written and every error is returned (HTTP 422). - * - Wipe + full replace: on success the target table is emptied and rebuilt - * from the file, preserving the raw `id` of each row so relations - * (parent_id / province_id / specialty_id) stay intact. - * - The whole replace runs inside one transaction with FK checks disabled. + * - Wipe + full replace, preserving raw `id`s so relations stay intact, inside + * one transaction with FK checks disabled. */ #[OA\Tag(name: 'Categories')] #[IsGranted('ROLE_ADMIN')] class CategoryImportController extends BaseController { - /** bundle => table name */ - private const TABLES = [ - 'provinces' => 'provinces', - 'cities' => 'cities', - 'specialties' => 'specialties', - 'doctor_services' => 'doctor_services', - 'insurances' => 'insurances', - 'tags' => 'tags', - ]; - public function __construct( - private readonly Connection $db, + private readonly CategoryImporter $importer, ) {} /** - * Complete export of a bundle — EVERY row, no pagination cap. - * - * The page's old "خروجی JSON" button pointed at the admin list endpoint, - * which silently caps at 100 rows. Feeding that truncated file back into the - * wipe+replace import deletes the tail. This endpoint returns the full table - * so the export/import round-trip is lossless. + * Complete export of a bundle — EVERY row, no pagination cap. The page's old + * "خروجی JSON" button pointed at the admin list endpoint (caps at 100 rows); + * feeding that truncated file into the wipe+replace import below deletes the + * tail. This endpoint returns the full table so the round-trip is lossless. */ #[Route('/api/v1/admin/categories/{bundle}/export', methods: ['GET'])] public function export(string $bundle): JsonResponse { - $table = self::TABLES[$bundle] ?? null; - if ($table === null) { + if (!$this->importer->isValidBundle($bundle)) { return $this->error('ERR_BUNDLE_UNKNOWN', 'نوع دسته‌بندی نامعتبر است', 404, 'bundle'); } - $rows = $this->db->fetchAllAssociative('SELECT * FROM ' . $table . ' ORDER BY id ASC'); - - // normalize numeric columns so the JSON matches the entity shape - foreach ($rows as &$r) { - foreach (['id', 'status', 'weight', 'parent_id', 'specialty_id', 'province_id', 'representation_id'] as $intCol) { - if (array_key_exists($intCol, $r) && $r[$intCol] !== null) { - $r[$intCol] = (int) $r[$intCol]; - } - } - } - unset($r); - - return $this->success($rows); + return $this->success($this->importer->exportAll($bundle)); } #[Route('/api/v1/admin/categories/{bundle}/import', methods: ['POST'])] public function import(string $bundle, Request $request): JsonResponse { - $table = self::TABLES[$bundle] ?? null; - if ($table === null) { + if (!$this->importer->isValidBundle($bundle)) { return $this->error('ERR_BUNDLE_UNKNOWN', 'نوع دسته‌بندی نامعتبر است', 404, 'bundle'); } @@ -94,233 +65,18 @@ class CategoryImportController extends BaseController return $this->error('ERR_IMPORT_TOO_LARGE', 'حداکثر ۵۰۰۰ رکورد در هر import مجاز است', 422, 'file'); } - // ── Phase 1: strict validation ─────────────────────────────────────── - $errors = []; - $rows = []; // normalized, ready-to-insert column maps - $seenId = []; // id => row index (uniqueness within file) - $seenSlug = []; // slug => row index - - foreach ($payload as $i => $raw) { - $rowNo = $i + 1; - $add = function (string $field, string $message) use (&$errors, $rowNo): void { - $errors[] = ['row' => $rowNo, 'field' => $field, 'message' => "ردیف {$rowNo}: {$message}"]; - }; - - if (!is_array($raw) || array_keys($raw) === range(0, count($raw) - 1)) { - $add('-', 'ساختار رکورد نامعتبر است'); - continue; - } - - // id — required, positive int, unique in file (relations rely on it) - $id = $raw['id'] ?? null; - if (!self::isPositiveInt($id)) { - $add('id', 'شناسه (id) باید عدد صحیح مثبت باشد'); - } elseif (isset($seenId[(int) $id])) { - $add('id', "شناسه {$id} تکراری است (ردیف {$seenId[(int) $id]})"); - } else { - $seenId[(int) $id] = $rowNo; - } - - // name — required non-empty string ≤255 - $name = $raw['name'] ?? null; - if (!is_string($name) || trim($name) === '') { - $add('name', 'نام الزامی است'); - } elseif (mb_strlen($name) > 255) { - $add('name', 'نام نباید بیش از ۲۵۵ نویسه باشد'); - } - - // status — 0 or 1 - $status = self::normInt($raw['status'] ?? 1); - if ($status === null || !in_array($status, [0, 1], true)) { - $add('status', 'وضعیت باید ۰ یا ۱ باشد'); - } - - $row = [ - 'id' => self::isPositiveInt($id) ? (int) $id : null, - 'uuid' => (is_string($raw['uuid'] ?? null) && $raw['uuid'] !== '') ? mb_substr($raw['uuid'], 0, 36) : Uuid::v4()->toRfc4122(), - 'name' => is_string($name) ? trim($name) : '', - 'status' => $status ?? 1, - ]; - - // weight — int ≥0 (only bundles whose table has a weight column) - if (in_array($bundle, ['provinces', 'cities', 'specialties', 'doctor_services'], true)) { - $weight = self::normInt($raw['weight'] ?? 0); - if ($weight === null || $weight < 0) { - $add('weight', 'ترتیب نمایش باید عدد صحیح نامنفی باشد'); - } - $row['weight'] = $weight ?? 0; - } - - // slug — required for bundles that have it, unique in file - if (in_array($bundle, ['specialties', 'doctor_services', 'tags'], true)) { - $slug = $raw['slug'] ?? null; - if (!is_string($slug) || trim($slug) === '') { - $add('slug', 'slug الزامی است'); - } elseif (mb_strlen($slug) > 255) { - $add('slug', 'slug نباید بیش از ۲۵۵ نویسه باشد'); - } else { - $slug = trim($slug); - if (isset($seenSlug[$slug])) { - $add('slug', "slug «{$slug}» تکراری است (ردیف {$seenSlug[$slug]})"); - } else { - $seenSlug[$slug] = $rowNo; - } - $row['slug'] = $slug; - } - } - - // bundle-specific columns - switch ($bundle) { - case 'specialties': - $row['parent_id'] = self::nullableId($raw['parent_id'] ?? null, $add, 'parent_id'); - break; - - case 'doctor_services': - $row['specialty_id'] = self::nullableId($raw['specialty_id'] ?? null, $add, 'specialty_id'); - break; - - case 'insurances': - $type = $raw['type'] ?? null; - if (!in_array($type, ['basic', 'supplementary'], true)) { - $add('type', 'نوع بیمه باید basic یا supplementary باشد'); - } - $row['type'] = is_string($type) ? $type : 'basic'; - $row['logo_url'] = self::optStr($raw['logo_url'] ?? null); - break; - - case 'cities': - $row['province_id'] = self::nullableId($raw['province_id'] ?? null, $add, 'province_id'); - $row['representation_id'] = self::nullableId($raw['representation_id'] ?? null, $add, 'representation_id'); - $row['contact_phone'] = self::optStr($raw['contact_phone'] ?? null); - $row['email'] = self::optStr($raw['email'] ?? null); - $row['description'] = self::optStr($raw['description'] ?? null); - $row['slogan'] = self::optStr($raw['slogan'] ?? null); - $row['domain'] = self::optStr($raw['domain'] ?? null); - $row['keywords'] = self::optStr($raw['keywords'] ?? null); - $row['footer_description'] = self::optStr($raw['footer_description'] ?? null); - $row['logo_url'] = self::optStr($raw['logo_url'] ?? null); - $sm = $raw['social_media'] ?? null; - $row['social_media'] = ($sm === null || $sm === '') ? null : (is_string($sm) ? $sm : json_encode($sm, JSON_UNESCAPED_UNICODE)); - break; - } - - $rows[] = $row; - } - - // referential integrity (only meaningful once ids are collected) - $this->validateReferences($bundle, $rows, $seenId, $errors); - + $normalized = []; + $errors = $this->importer->validate($bundle, $payload, $normalized); if ($errors !== []) { return new JsonResponse(['success' => false, 'data' => null, 'errors' => $errors], 422); } - // ── Phase 2: wipe + replace inside a transaction ───────────────────── - $this->db->beginTransaction(); try { - $this->db->executeStatement('SET FOREIGN_KEY_CHECKS = 0'); - $this->db->executeStatement('DELETE FROM ' . $table); - foreach ($rows as $row) { - $this->db->insert($table, $row); - } - $this->db->executeStatement('SET FOREIGN_KEY_CHECKS = 1'); - $this->db->commit(); + $this->importer->replace($bundle, $normalized); } catch (\Throwable $e) { - $this->db->rollBack(); - try { $this->db->executeStatement('SET FOREIGN_KEY_CHECKS = 1'); } catch (\Throwable) {} return $this->error('ERR_IMPORT_FAILED', 'خطا در ذخیره‌سازی: ' . $e->getMessage(), 500); } - return $this->success(['imported' => count($rows)]); - } - - /** - * Cross-row / cross-table reference checks. - * - specialties.parent_id must point to an id present in the same file. - * - cities.province_id / cities.representation_id / doctor_services.specialty_id - * must exist in their (un-wiped) reference tables. - */ - private function validateReferences(string $bundle, array $rows, array $seenId, array &$errors): void - { - $err = function (int $rowNo, string $field, string $message) use (&$errors): void { - $errors[] = ['row' => $rowNo, 'field' => $field, 'message' => "ردیف {$rowNo}: {$message}"]; - }; - - if ($bundle === 'specialties') { - foreach ($rows as $idx => $r) { - $p = $r['parent_id'] ?? null; - if ($p !== null && !isset($seenId[$p])) { - $err($idx + 1, 'parent_id', "والد با شناسه {$p} در همین فایل وجود ندارد"); - } - } - return; - } - - if ($bundle === 'doctor_services') { - $valid = $this->existingIds('specialties'); - foreach ($rows as $idx => $r) { - $s = $r['specialty_id'] ?? null; - if ($s !== null && !isset($valid[$s])) { - $err($idx + 1, 'specialty_id', "تخصص با شناسه {$s} در سیستم وجود ندارد"); - } - } - return; - } - - if ($bundle === 'cities') { - $validProv = $this->existingIds('provinces'); - $validRep = $this->existingIds('representations'); - foreach ($rows as $idx => $r) { - $pv = $r['province_id'] ?? null; - if ($pv !== null && !isset($validProv[$pv])) { - $err($idx + 1, 'province_id', "استان با شناسه {$pv} وجود ندارد"); - } - $rp = $r['representation_id'] ?? null; - if ($rp !== null && !isset($validRep[$rp])) { - $err($idx + 1, 'representation_id', "نماینده با شناسه {$rp} وجود ندارد"); - } - } - } - } - - /** @return array set of existing ids in a table */ - private function existingIds(string $table): array - { - $ids = $this->db->fetchFirstColumn('SELECT id FROM ' . $table); - $set = []; - foreach ($ids as $id) { - $set[(int) $id] = true; - } - return $set; - } - - private static function isPositiveInt(mixed $v): bool - { - return (is_int($v) || (is_string($v) && ctype_digit($v))) && (int) $v > 0; - } - - private static function normInt(mixed $v): ?int - { - if (is_int($v)) return $v; - if (is_string($v) && preg_match('/^-?\d+$/', $v)) return (int) $v; - return null; - } - - /** Validate an optional FK-style id: null stays null, otherwise must be positive int. */ - private static function nullableId(mixed $v, callable $add, string $field): ?int - { - if ($v === null || $v === '' || $v === 0 || $v === '0') return null; - if (!self::isPositiveInt($v)) { - $add($field, "{$field} باید عدد صحیح مثبت یا خالی باشد"); - return null; - } - return (int) $v; - } - - private static function optStr(mixed $v): ?string - { - if ($v === null) return null; - if (!is_string($v)) return null; - $v = trim($v); - return $v === '' ? null : $v; + return $this->success(['imported' => count($normalized)]); } } diff --git a/src/Category/Service/CategoryImporter.php b/src/Category/Service/CategoryImporter.php new file mode 100644 index 00000000..2b40a719 --- /dev/null +++ b/src/Category/Service/CategoryImporter.php @@ -0,0 +1,269 @@ + table name */ + public const TABLES = [ + 'provinces' => 'provinces', + 'cities' => 'cities', + 'specialties' => 'specialties', + 'doctor_services' => 'doctor_services', + 'insurances' => 'insurances', + 'tags' => 'tags', + ]; + + public function __construct( + private readonly Connection $db, + ) {} + + public function isValidBundle(string $bundle): bool + { + return isset(self::TABLES[$bundle]); + } + + /** Complete export of a bundle — every row, normalized numeric columns. */ + public function exportAll(string $bundle): array + { + $table = self::TABLES[$bundle]; + $rows = $this->db->fetchAllAssociative('SELECT * FROM ' . $table . ' ORDER BY id ASC'); + foreach ($rows as &$r) { + foreach (['id', 'status', 'weight', 'parent_id', 'specialty_id', 'province_id', 'representation_id'] as $intCol) { + if (array_key_exists($intCol, $r) && $r[$intCol] !== null) { + $r[$intCol] = (int) $r[$intCol]; + } + } + } + unset($r); + return $rows; + } + + /** + * Strict, two-phase validation. Returns a list of + * ['row' => int, 'field' => string, 'message' => string]; empty == valid. + * On success $normalized is filled with ready-to-insert column maps. + */ + public function validate(string $bundle, array $payload, array &$normalized): array + { + $errors = []; + $normalized = []; + $seenId = []; + $seenSlug = []; + + foreach ($payload as $i => $raw) { + $rowNo = $i + 1; + $add = function (string $field, string $message) use (&$errors, $rowNo): void { + $errors[] = ['row' => $rowNo, 'field' => $field, 'message' => "ردیف {$rowNo}: {$message}"]; + }; + + if (!is_array($raw) || array_keys($raw) === range(0, count($raw) - 1)) { + $add('-', 'ساختار رکورد نامعتبر است'); + continue; + } + + $id = $raw['id'] ?? null; + if (!self::isPositiveInt($id)) { + $add('id', 'شناسه (id) باید عدد صحیح مثبت باشد'); + } elseif (isset($seenId[(int) $id])) { + $add('id', "شناسه {$id} تکراری است (ردیف {$seenId[(int) $id]})"); + } else { + $seenId[(int) $id] = $rowNo; + } + + $name = $raw['name'] ?? null; + if (!is_string($name) || trim($name) === '') { + $add('name', 'نام الزامی است'); + } elseif (mb_strlen($name) > 255) { + $add('name', 'نام نباید بیش از ۲۵۵ نویسه باشد'); + } + + $status = self::normInt($raw['status'] ?? 1); + if ($status === null || !in_array($status, [0, 1], true)) { + $add('status', 'وضعیت باید ۰ یا ۱ باشد'); + } + + $row = [ + 'id' => self::isPositiveInt($id) ? (int) $id : null, + 'uuid' => (is_string($raw['uuid'] ?? null) && $raw['uuid'] !== '') ? mb_substr($raw['uuid'], 0, 36) : Uuid::v4()->toRfc4122(), + 'name' => is_string($name) ? trim($name) : '', + 'status' => $status ?? 1, + ]; + + if (in_array($bundle, ['provinces', 'cities', 'specialties', 'doctor_services'], true)) { + $weight = self::normInt($raw['weight'] ?? 0); + if ($weight === null || $weight < 0) { + $add('weight', 'ترتیب نمایش باید عدد صحیح نامنفی باشد'); + } + $row['weight'] = $weight ?? 0; + } + + if (in_array($bundle, ['specialties', 'doctor_services', 'tags'], true)) { + $slug = $raw['slug'] ?? null; + if (!is_string($slug) || trim($slug) === '') { + $add('slug', 'slug الزامی است'); + } elseif (mb_strlen($slug) > 255) { + $add('slug', 'slug نباید بیش از ۲۵۵ نویسه باشد'); + } else { + $slug = trim($slug); + if (isset($seenSlug[$slug])) { + $add('slug', "slug «{$slug}» تکراری است (ردیف {$seenSlug[$slug]})"); + } else { + $seenSlug[$slug] = $rowNo; + } + $row['slug'] = $slug; + } + } + + switch ($bundle) { + case 'specialties': + $row['parent_id'] = self::nullableId($raw['parent_id'] ?? null, $add, 'parent_id'); + break; + case 'doctor_services': + $row['specialty_id'] = self::nullableId($raw['specialty_id'] ?? null, $add, 'specialty_id'); + break; + case 'insurances': + $type = $raw['type'] ?? null; + if (!in_array($type, ['basic', 'supplementary'], true)) { + $add('type', 'نوع بیمه باید basic یا supplementary باشد'); + } + $row['type'] = is_string($type) ? $type : 'basic'; + $row['logo_url'] = self::optStr($raw['logo_url'] ?? null); + break; + case 'cities': + $row['province_id'] = self::nullableId($raw['province_id'] ?? null, $add, 'province_id'); + $row['representation_id'] = self::nullableId($raw['representation_id'] ?? null, $add, 'representation_id'); + $row['contact_phone'] = self::optStr($raw['contact_phone'] ?? null); + $row['email'] = self::optStr($raw['email'] ?? null); + $row['description'] = self::optStr($raw['description'] ?? null); + $row['slogan'] = self::optStr($raw['slogan'] ?? null); + $row['domain'] = self::optStr($raw['domain'] ?? null); + $row['keywords'] = self::optStr($raw['keywords'] ?? null); + $row['footer_description'] = self::optStr($raw['footer_description'] ?? null); + $row['logo_url'] = self::optStr($raw['logo_url'] ?? null); + $sm = $raw['social_media'] ?? null; + $row['social_media'] = ($sm === null || $sm === '') ? null : (is_string($sm) ? $sm : json_encode($sm, JSON_UNESCAPED_UNICODE)); + break; + } + + $normalized[] = $row; + } + + $this->validateReferences($bundle, $normalized, $seenId, $errors); + + return $errors; + } + + /** Wipe the bundle's table and insert the normalized rows in one transaction. */ + public function replace(string $bundle, array $normalized): void + { + $table = self::TABLES[$bundle]; + $this->db->beginTransaction(); + try { + $this->db->executeStatement('SET FOREIGN_KEY_CHECKS = 0'); + $this->db->executeStatement('DELETE FROM ' . $table); + foreach ($normalized as $row) { + $this->db->insert($table, $row); + } + $this->db->executeStatement('SET FOREIGN_KEY_CHECKS = 1'); + $this->db->commit(); + } catch (\Throwable $e) { + $this->db->rollBack(); + try { $this->db->executeStatement('SET FOREIGN_KEY_CHECKS = 1'); } catch (\Throwable) {} + throw $e; + } + } + + private function validateReferences(string $bundle, array $rows, array $seenId, array &$errors): void + { + $err = function (int $rowNo, string $field, string $message) use (&$errors): void { + $errors[] = ['row' => $rowNo, 'field' => $field, 'message' => "ردیف {$rowNo}: {$message}"]; + }; + + if ($bundle === 'specialties') { + foreach ($rows as $idx => $r) { + $p = $r['parent_id'] ?? null; + if ($p !== null && !isset($seenId[$p])) { + $err($idx + 1, 'parent_id', "والد با شناسه {$p} در همین فایل وجود ندارد"); + } + } + return; + } + + if ($bundle === 'doctor_services') { + $valid = $this->existingIds('specialties'); + foreach ($rows as $idx => $r) { + $s = $r['specialty_id'] ?? null; + if ($s !== null && !isset($valid[$s])) { + $err($idx + 1, 'specialty_id', "تخصص با شناسه {$s} در سیستم وجود ندارد"); + } + } + return; + } + + if ($bundle === 'cities') { + $validProv = $this->existingIds('provinces'); + $validRep = $this->existingIds('representations'); + foreach ($rows as $idx => $r) { + $pv = $r['province_id'] ?? null; + if ($pv !== null && !isset($validProv[$pv])) { + $err($idx + 1, 'province_id', "استان با شناسه {$pv} وجود ندارد"); + } + $rp = $r['representation_id'] ?? null; + if ($rp !== null && !isset($validRep[$rp])) { + $err($idx + 1, 'representation_id', "نماینده با شناسه {$rp} وجود ندارد"); + } + } + } + } + + /** @return array */ + private function existingIds(string $table): array + { + $set = []; + foreach ($this->db->fetchFirstColumn('SELECT id FROM ' . $table) as $id) { + $set[(int) $id] = true; + } + return $set; + } + + private static function isPositiveInt(mixed $v): bool + { + return (is_int($v) || (is_string($v) && ctype_digit($v))) && (int) $v > 0; + } + + private static function normInt(mixed $v): ?int + { + if (is_int($v)) return $v; + if (is_string($v) && preg_match('/^-?\d+$/', $v)) return (int) $v; + return null; + } + + private static function nullableId(mixed $v, callable $add, string $field): ?int + { + if ($v === null || $v === '' || $v === 0 || $v === '0') return null; + if (!self::isPositiveInt($v)) { + $add($field, "{$field} باید عدد صحیح مثبت یا خالی باشد"); + return null; + } + return (int) $v; + } + + private static function optStr(mixed $v): ?string + { + if (!is_string($v)) return null; + $v = trim($v); + return $v === '' ? null : $v; + } +}