Detectarea bolii cronice de rinichi din probe de sânge utilizând rețele neuronale
Mar 10, 2022
Pentru mai multe informații:Ali.ma@wecistanche.com
Mohamed Ghassan Latheef*, Rajasvaran Logeswaran și Nurul Haniza Mohtar
Universitatea de Tehnologie și Inovare din Asia Pacific, Bukit Jalil, 57000 Kuala Lumpur, Malaezia
*E-mail al autorului corespondent:TP047492@mail.apu.edu.my,
Abstract.
Această lucrare propune o abordare a rețelei neuronale artificiale pentru detectarea automatăBoală cronică de rinichiprin probe de lichid prelevate de la pacienti. Este prezentată motivația dezvoltării unui astfel de sistem, precum și posibilele beneficii pentru pacienți și industria medicală. Sisteme similare propuse în industrie și pentru diagnosticareboală cronică de rinichiprin alte abordări precum algoritmii de clasificare sunt explorați. Se colectează un set de date pentru antrenarea rețelei neuronale și se analizează caracteristicile, precum și metodologia și instrumentele care vor fi utilizate în dezvoltarea rețelei neuronale.
Termenii index. ArtificialRețele neuronale, Diagnostic medical, Analiza datelor,Boală cronică de rinichi(CKD).
1. Introducere
Se estimează că aproximativ 1 din 10 adulți suferă de o anumită formă de afectare a rinichilor, milioane de oameni mor anual cu complicații legate deBoală cronică de rinichi(CKD) [1]. Studiul Global Burden of Disease a inclus CKD pe locul 27 în lista cauzelor unui număr total de decese la nivel mondial în 1990, dar a urcat pe locul 18 în 2010 - un grad de listă care ocupă locul al doilea după cel al HIV și SIDA. CKD (Boală cronică de rinichi)este extrem de dăunător și incurabil, dar dacă este prins devreme, progresul său poate fi oprit prin medicamente și un regim alimentar adecvat.
Cu toate acestea, este dificil să prindeți boala devreme, din cauza lipsei simptomelor de avertizare care sunt vizibile în exterior în stadiile incipiente. Prin urmare, cu excepția cazului în care cineva are alte afecțiuni care l-ar face mai susceptibil la afectarea rinichilor, dacă persoana este foarte precaută și face controale regulate pe întregul corp sau dacă a făcut testul de sânge sau urină dintr-un alt motiv și, întâmplător, a găsit și BRC, în mod normal CKD(Boală cronică de rinichi) se găsește doar în stadiile mijlocii sau târzii.
CKD(Boală cronică de rinichi) se stabilește când, timp de mai mult de trei luni, rinichii sunt observați ca fiind incapabili să-și îndeplinească în mod eficient funcțiile propuse, cum ar fi curățarea sângelui de deșeuri și produse în exces și de a ajuta la controlul tensiunii arteriale [2]. Acest lucru poate duce la acumularea de deșeuri în corpul pacientului, ducând la umflarea și balonarea gleznelor, insomnie, dificultăți de respirație și slăbiciune. Până când chiar și aceste simptome sunt observate, este posibil să fie deja prea târziu. IRC precoce nu prezintă semne sau simptome exterioare, uneori chiar până în momentul în care persoana și-a pierdut deja 90% din funcțiile renale [3].
Metodele actuale de diagnosticare a BRC(Boală cronică de rinichi) includ rezultatele măsurării creatininei serice în sânge, nivelurile de glucoză din sânge pentru a vedea dacă pacientul este diabetic (deoarece pacienții diabetici au o prevalență mult mai mare pentru a fi afectați de CKD), precum și măsurarea albuminei sau prezența proteinelor în urină, care ar fi filtrată în rinichi sănătoși.
Cu toate acestea, acestea necesită, în general, trei luni de monitorizare a nivelului creatininei, precum și alte criterii precum hematurie, malformații congenitale etc. Potrivit Institutului Național de Diabet și Boli Digestive și Renale din SUA (NIDDK), cele mai recente cercetări sugerează că o stadializare /sistemul de clasificare identifică riscul de CKD din analiza datelor pacientului cu o mai mare acuratețe în predicțiile sale, necesită factori multipli și nu doar eGFR, creatinina sau nivelurile de albumină, ci toate trei, vârsta și starea diabetului [4]. Prin urmare, acest proiect își propune să utilizeze un set similar de date despre pacienți cu caracteristici multiple pentru a antrena o rețea neuronală pentru a putea identifica modele care indică prezența CKD și pentru a face clasificarea binară. Procedând astfel, acest proiect își propune să ușureze procesul de testare pentru CKD(Boală cronică de rinichi) și reduceți timpul de așteptare de câteva luni pentru a determina dacă problema este cronică, prin simpla utilizare a rezultatelor unui test de sânge și a altor observații și probe efectuate/prelevate, cu o mai mare încredere în diagnosticul bazat pe mai mulți factori în loc de un singur factor, care ar avea șanse mai mari de a fi un outlier din cauza factorilor externi. Acest lucru este deosebit de vital, deoarece orice progresie a BRC este ireversibilă și, prin urmare, este în interesul pacienților să fie diagnosticată rapid și precis pentru a începe tratamentul și a lua măsurile adecvate pentru a încetini imediat afectarea.

Faceți clic pentru organicCistanche pentru tratarea bolii cronice de rinichi
2. Studiul literaturii
2.1 Cercetare în domeniu
Diagnosticul medical și luarea deciziilor este un domeniu de înaltă prioritate și risc ridicat, în care stabilirea diagnosticelor precise este absolut esențială pentru sănătatea pacienților. ArtificialRețele neuronale(ANN-urile) și alte tehnici de învățare automată sunt din ce în ce mai utilizate pentru cazurile de diagnosticare a bolilor, cu niveluri promițătoare de acuratețe.
Al-Shaya a prezentat două cazuri în care ANN-urile sunt utilizate pentru diagnosticul (1) bolii nefritei acute, care apare atunci când rinichii se inflamează brusc și duc la insuficiență renală dacă nu sunt tratate, precum și (2) boli de inimă [5]. S-a folosit propagarea cu feed-forward, modelul pentru nefrita acută a raportat 99 la sută, iar bolile de inimă cu o rată de acuratețe de 95 la sută în diagnostic. Modelul pentru primul a avut 6 intrări, 20 de neuroni ascunși, 2 straturi și a folosit retropropagarea Levenberg-Marquardt ca algoritm de antrenament, cu antrenament bazat pe îmbunătățirea erorii pătrate medii (MSE). Această din urmă rețea a folosit 2 straturi, 22 de intrări, 20 de neuroni ascunși, alți factori fiind la fel ca și precedenta.
Šter și Dobnikar au testat cinci baze de date medicale diferite (Boala arterelor coronare, Cancerul de sân, Hepatita, Diabetul indienilor Pima și Bolile de inimă) cu ANN și cu metode discriminante liniare mai simple [6]. Performanța a fost relativ aceeași, implicând, susțineau ei, că datele sunt simple, valorile fiind atribute independente. Ca atare, ei susțin că sistemele complexe de clasificare sau ANN nu sunt necesare în diagnosticul medical, deoarece rezultatele sunt ridicate și pentru metodele discriminante liniară și Naïve Bayes. Cu toate acestea, trebuie remarcat faptul că ei au testat metodele cu configurații implicite și fără reglaj fin și, deoarece ei înșiși acceptă că chiar și un câștig de câteva procente de inexactități în diagnosticul pacienților este vital, pe cât de cantitativ, care ar putea fi de până la sute. de mii de oameni. Acesta a fost un studiu anterior, iar ANN-urile au crescut semnificativ ulterior, în special cu învățarea profundă. Cu toate acestea, o problemă persistentă cu ANN-urile este lipsa de transparență – nu se poate vedea cum a luat ANN decizia pe care a produs-o și ce valori s-a bazat decizia. Pacientul nu ar fi convins dacă medicul nu ar ști de ce îi administrează pacientului medicamentul și tratamentul specific, pur și simplu urmând prescripția unui ANN. Lipsa explicației înseamnă și că medicii umani sunt lăsați în întuneric și nu pot învăța din deciziile luate de ANN.
Liu și colab. și-a asumat sarcina de a testa acuratețea profesioniștilor din domeniul sănătății în comparație cu tehnicile de învățare profundă, cum ar fi ANN [7]. Pentru a obține un set de date cât mai mare posibil, au cercetat articolele și analizele existente pentru a realiza o meta-analiză, pe studii din 1 ianuarie 2012 până în 6 iunie 2019, pentru studii care compară performanța diagnosticului pentru orice boală a modelelor de învățare profundă. comparativ cu profesioniștii din domeniul sănătății. Comparația performanței pentru 14 dintre aceste studii a arătat o sensibilitate cumulata de 87% și o specificitate comună de 92,5% pentru modelele de învățare profundă, cu 86,4% și, respectiv, 90,5% pentru profesioniștii din domeniul sănătății. Deși rezultatele sunt similare, modelele de învățare profundă au avut în general mai bune, chiar dacă marginal, și orice creștere minoră a procentului este încă o reflectare a nenumărate vieți salvate sau îmbunătățite prin extrapolarea acestei cifre la valoarea cantitativă a celor afectați de astfel de condiții de sănătate.
2.2 Sisteme similare
Există multe articole care detaliază diagnosticul CKD(Boală cronică de rinichi) folosind ANN sau alte metode, cum ar fi utilizarea Mașinilor Vectoriale Suport (SVM) și Naïve Bayes.
Kriplani și colab. a folosit Deep Neural Network pentru a prezice CKD folosind 18 parametri în stratul de intrare, deși numărul de neuroni ai stratului ascuns, straturi și arhitectura de rețea nu a fost menționat în lucrare [8]. Deep Neural Network a avut o rată adevărată pozitivă de 95,2% și o rată adevărată negativă de 100%, care a fost, de asemenea, comparată cu alte metode de clasificare, cum ar fi Logistic, Random Forest, Adaboost, SVM și Naïve Bayes. Lucrarea susținea că Deep Neural Network a avut cea mai mare acuratețe dintre toate metodele evidențiate mai sus. Cu toate acestea, la o analiză ulterioară a rezultatelor de performanță prezentate în lucrare, deși aceeași rată negativă adevărată a fost obținută prin toate celelalte metode de clasificare, Naïve Bayes și Random Forest, algoritmi relativ mai simpli, au funcționat la fel de bine ca ANN-ul cu 95,2% adevărat pozitiv. precizie. În plus, atât Adaboost, cât și SVM au atins o rată de acuratețe pozitivă reală de 96,2%, care este mai mare decât Rețeaua neuronală profundă. Într-un alt tabel furnizat, Naïve Bayes și Deep Neural Network au fost afișate cu o precizie de 97,7679 la sută, în timp ce Adaboost și SVM au avut ambele o precizie de 98,2143 la sută, iar Random Forest a avut o precizie de 99,1071 la sută. Astfel, concluzia lor că dintre toate modelele comparate, Deep Neural Network a fost cel mai bun, pare eronată conform cifrelor furnizate în lucrarea lor, deoarece nu numai că este mai lentă și mai mare în resursele de calcul consumate, Naïve Bayes, a realizat în egală măsură, cu Adaboost. , SVM și Random Forest obținând o precizie mai mare.
Ahmad și colab. a folosit SVM pentru a propune un instrument auxiliar de suport decizional pentru situații de urgență, folosind 5 intrări: tensiunea arterială, creatinina serică, volumul celular compact, factorul de hipertensiune arterială și factorul de anemie [9]. SVM-ul a fost codificat în limbajul de programare R, cu o precizie de 98,34%. De asemenea, ei au concluzionat în lucrarea lor că importanța atributelor a fost legată de scăderea medie a Gini sau de media scăderii totale a variabilei a impurității nodului, cu valoarea mai mare mai mare rolul atributului. Folosind acest lucru, ei au descoperit că volumul celular a fost cel mai important atribut în diagnosticarea CKD(Boală cronică de rinichi) din date. Întrucât doar nivelurile de creatinine serice sunt una dintre modalitățile prin care CKD este diagnosticată acum, acest lucru creează o oarecare incertitudine cu privire la faptul dacă ar putea fi mai precis să se bazeze pe valorile volumului celular compact.
Ravindra și colab. a folosit de asemenea SVM pentru a efectua clasificarea și identificarea CKD(Boală cronică de rinichi) pacienţi [10]. Valorile de intrare au fost distribuite în patru cazuri diferite pe baza asocierii strânse dintre ele, cu:
Caz 1 -tensiunea arterială, greutatea specifică și creatinina serică;
Caz 2 -albumină, zahăr, glicemie aleatorie și hemoglobină;
Caz 3 -volumul de celule, numărul de celule albe din sânge și numărul de celule roșii din sânge;
Caz 4 -albumină, zahăr, glicemie aleatorie, creatinina serică, sodiu, potasiu și hemoglobină.
Fiecare dintre cele patru cazuri a fost testat separat cu clasificatorul SVM fără alți factori și s-a constatat că cazul 2 a avut cea mai mare precizie de 93,75 la sută. Cu toate acestea, acuratețea este mai mică decât alte articole anterior, care au folosit un număr mai mare de intrări. Prin urmare, în timp ce albumina, zahărul, glicemia aleatorie și hemoglobina par să producă rezultate bune de la sine, alte inputuri au demonstrat o creștere a preciziei atunci când sunt incluse alături.
Salekin și Stankovic au folosit Random Forest și au obținut o precizie de 99,3% și 0.1084 Root Mean Square Error (RMSE) folosind 24 de intrări [11]. Cu toate acestea, au folosit apoi o varietate de metode, cum ar fi o metodă de învățare automată și regularizarea LASSO, pentru a selecta 5 caracteristici din cele 24 inițiale:
.gravitație specifică,.albumină,.diabetul zaharat,.hipertensiune arterială și.hemoglobină.

Cistanche poate îmbunătăți funcția rinichilor
Lucrarea a evidențiat o metodă de detectare automată eficientă din punct de vedere al costurilor și, prin urmare, reducerea numărului de factori necesari, menținând acuratețea cât mai la nivel posibil, ar crește eficiența costurilor datorită mai puținelor teste necesare și a timpului necesar pentru a obține rezultatele testelor. Ei estimează că, cu rata inflației de 2016 din SUA și prețul testelor medicale, nu ar fi nevoie de mai mult de 45,05 USD pentru un test pentru pacient. Cu cele 5 atribute, ei au obținut o precizie de 98 la sută cu 0,11 RMSE, o scădere de doar 1,3 la sută precizie după ce au renunțat la 19 dintre cele 24 de caracteristici originale.
Vijayarani și Dhayanand au folosit MATLAB pentru a compara performanța SVM și a unui ANN (feedforward cu backpropagation) pe un set de date de pacienți cu boală renală [12]. ANN a avut un rating de precizie de 87,70 la sută, cu SVM având o precizie de 76,32 la sută. Cu toate acestea, SVM a durat 3,22 secunde, în timp ce ANN-ul a durat aproape dublu, la 7,26 secunde. Precizia a fost semnificativ sub cea a sistemelor menționate anterior. Cu toate acestea, acest sistem a avut și mai mult decât clasificarea binară a CKD(Boală cronică de rinichi) sau Rinichi sănătoși, în schimb, a fost clasificat în 5 cazuri diferite: Normal, Sindrom Nefritic Acut, BRC, Insuficiență Renală Acută sau Glomerulonefrită cronică, ceea ce a făcut sarcina mai complexă.
2.3 Rezumatul revizuirii
Lucrarea lui Liu et al. arată viabilitatea ANN și a altor înlocuitori de învățare automată pentru a înlocui ochiul instruit al profesioniștilor din domeniul sănătății, pur și simplu fiind mai precis. Cu toate acestea, după cum subliniază Šter și Dobnikar, există o problemă cu transparența deciziilor ANN, deoarece nu există nicio modalitate de a identifica ce factor a jucat în acea decizie și cât de puternic. Factorii pot fi identificați în afara ANN prin diferite metode de extragere și analiză a datelor similare cu abordarea lui Salekin și Stankovic cu privire la CKD(Boală cronică de rinichi) caracteristici pentru a vedea care joacă un rol mai important. Cu toate acestea, există contradicții atunci când sunt utilizate diferite metode pentru a identifica prioritatea caracteristicilor, cum ar fi acel set de 5 care partajează doar o caracteristică cu cea mai mare acuratețe în descoperirile lui Ravindra și colab., albumina. În plus, abordarea Mean Decrease in Gini a lui Ahmad și colab. a constatat că volumul celulelor compacte este cel mai semnificativ factor, cu toate acestea, niciuna dintre lucrările anterioare nu a avut vreo semnificație atribuită acelui factor în caracteristicile finale pe care le-au ales pentru sistemele lor.
Există probleme cu modul în care ANN-urile iau decizii și, într-un fel, acele decizii au un anumit element de părtinire umană, deoarece dezvoltatorii decid ce intrări să renunțe ca fiind inutile și pe care să le păstreze. Salekin și Stankovic au totuși un punct bun; avem mijloacele și este timpul să dezvoltăm o soluție mai precisă și rentabilă pentru identificarea CKD(Boală cronică de rinichi) pacienții mai repede, astfel încât oamenii să evite durerea excesivă, suferința și moartea.
3.0 Materiale și Metode
3.1 Programarea ANN
MATLAB a fost folosit pentru prototipare rapidă, deoarece permite crearea nativă de ANN-uri prin Deep Learning Toolbox fără nicio codificare suplimentară. Figura 1 oferă un instantaneu al instrumentului de instruire ANN din Deep Learning Toolbox. După Kanban, toate sarcinile pentru proiect sunt plasate pe o tablă virtuală, cum ar fi Trello, cu coloane diferite pentru sarcinile care au fost deja finalizate (cum ar fi decizia asupra funcționalității sistemului, colectarea datelor, planificarea programului, finalizarea raportului preliminar, completarea formularul de etică etc.), sarcini în curs de finalizare (finalizarea raportului de investigație) și sarcini de finalizat în viitor (curățarea datelor, instruirea AI cu date, rezultatele documentelor etc.). Principiul de bază este să păstrezi o limită de lucru în desfășurare și să te ții de ea, fiind cât mai constant posibil, fără a depăși limita și asumând prea multe sarcini deodată și să continui până la finalizarea proiectului.
3.2 Obținerea datelor de instruire și testare
Pentru instruirea și testarea modelului, au fost luate în considerare două opțiuni. Unul a fost să contacteze spitalele locale pentru informații anonime despre pacienți pentru uz pur academic, iar celălalt a fost să găsească un set de date disponibil pentru utilizare online. Preferința a fost online și a fost găsit un set de date cu 400 de înregistrări ale pacienților, 250 CKD(Boală cronică de rinichi) pacienți și 150 de pacienți non-CKD, colectați de la spitalele Apollo din Tamilnadu, India, pe parcursul a 2 luni. Au existat 24 de caracteristici diferite, așa cum se arată în Tabelul 1. Cu toate acestea, înregistrările au fost incomplete, cu date lipsă sau corupte în multe cazuri, așa cum este adesea cazul. Dacă toate înregistrările cu o valoare goală ar fi eliminate, înregistrările utilizabile ar fi doar puțin peste 200. Astfel, trebuiau analizate metode alternative de curățare a datelor și de păstrare a înregistrărilor incomplete, cum ar fi înlocuirea valorilor goale cu modul, sau valoarea cea mai frecvent văzută în caracteristică, dar cu o considerație suplimentară pentru cea mai frecventă valoare văzută în alte înregistrări pentru acea caracteristică, printre înregistrările care sunt de altfel cel mai asemănătoare cu înregistrarea cu caracteristica lipsă.

Cistanche pentru boli de rinichi
Figura 1. Instrumentul de formare a rețelei neuronale, o caracteristică a casetei de instrumente Deep Learning

Tabelul 1. Lista de caracteristici


10 dintre valori au fost, de asemenea, text reprezentând valori booleene, care au trebuit, de asemenea, curățate la 0 și 1 valori, deoarece sunt acceptate numai valori numerice pentru a antrena ANN. În plus, este dificil pentru inteligența artificială (AI) fără context de limbaj să facă asocierea că „da” este opusul „nu”, spre deosebire de „1” și „0”. În funcție de rezultatele curățării datelor și a înregistrărilor păstrate, este posibil să se recurgă la alte surse de date, cum ar fi contactarea spitalelor pentru date anonime ale pacienților.
4. Rezultate și discuții
În medie, vârsta tipică a CKD(Boală cronică de rinichi) s-a constatat că pacienții au între 55 și 75 de ani, în timp ce vârsta pacienților fără IRC a fost distribuită mai uniform. Acest lucru arată că CKD este mai răspândită la vârstnici, ceea ce este rezonabil, având în vedere lipsa problemelor genetice, deoarece este nevoie de timp și de deteriorare susținută a rinichilor pentru a dezvolta CKD.
Diabetul zaharat, cunoscut și sub denumirea de diabet, este un factor de risc care crește șansa de a face IRC. De fapt, conform American National Kidney Foundation [13], aproximativ 30% dintre diabeticii de tip 1 și 40% dintre diabeticii de tip 2 suferă de CKD mai târziu în viață. Dacă pacienții diabetici nu își reglează nivelul de glucoză din sânge prin medicamente, injecții cu insulină și dietă, nivelurile ridicate de glucoză înfundă capilarele mici de sânge din rinichi, dăunând rinichii. Toți pacienții diabetici din setul de date au fost, de asemenea, pacienți cu CKD, cu mai mult de jumătate din CKD(Boală cronică de rinichi) pacientii fiind diabetici.
Numărul de celule roșii din sânge în medie la pacienții cu CKD este mai mic decât cel al pacienților non-CKD, variind de la 2 până la 6 milioane în loc de 4 până la 7 milioane de globule roșii sănătoase per microlitru de sânge. Un număr scăzut de celule roșii din sânge indică anemie. Rinichii produc un hormon numit eritropoietina (EPO), care determină organismul să producă celule sanguine, din care suficiente nu sunt produse atunci când funcția rinichilor scade din cauza leziunilor cauzate de CKD [14]. Ca atare, nivelurile de EPO scad, determinând scăderea numărului de celule roșii din sânge la rândul său, provocând astfel anemie. Acest lucru duce la mai puțin oxigen transportat în organism, oboseală generală, dificultăți de respirație, extremități reci (mâini și picioare) și, în cele mai grave cazuri, moarte.
Sodiul și potasiul sunt săruri minerale esențiale necesare organismului uman. Cu toate acestea, este posibil să se depășească doza zilnică limită, ca și în cazul apei. În mod normal, rinichii curăță excesul de săruri și lichide, problema cu butanul apare atunci când nu mai funcționează așa cum ar trebui. Acest lucru duce la o acumulare de lichid în țesuturi și sânge, provocând hipertensiune arterială, precum și greață, slăbiciune și ritm cardiac anormal [15]. Potasiul este în intervalul 3,3 până la 5,25 pentru pacienții fără IRC, cu o varianță mare și sodiu la 135 până la 151. Cu toate acestea, valorile potasiului ale IRC(Boală cronică de rinichi) pacienții pot atinge un vârf de până la 48,4, de aproximativ 10 ori mai mare decât cantitatea normală, cu vârful de sodiu la 170,4.
Există multe valori în datele de intrare care au atribute similare legate, cum ar fi hemoglobina, numărul de celule roșii din sânge și anemia. Desigur, numărul scăzut de celule roșii din sânge și hemoglobina scăzută se corelează cu dezvoltarea anemiei. În mod similar, există o corelație între nivelurile de potasiu și sodiu cu hipertensiunea arterială, precum și nivelul de glucoză din sânge, zahăr și diabet. Celulele de puroi și aglomerările de puroi, precum și valorile bacteriilor se corelează, de asemenea, deoarece prezența bacteriilor provoacă puroi, care precede aglomerările de celule de puroi. Acesta poate fi folosit pentru a reduce numărul de intrări sau poate fi luat în considerare la curățarea datelor și adăugarea valorilor incomplete. Greutățile pe care ANN-ul le plasează pe fiecare intrare individuală vor fi prin antrenament și nu vor fi setate manual, așa că încă nu a fost văzut dacă analiza se potrivește cu propriul proces de luare a deciziilor rețelei neuronale.
5. Concluzie
Datele analizate ale pacienților arată un model clar prin analiza manuală a datelor chiar și pentru ochiul uman. Un ANN poate fi capabil să vadă modele mult mai subtile în datele numerice și, prin urmare, poate prezenta un nivel ridicat de acuratețe în ceea ce privește diagnosticarea CKD(Boală cronică de rinichi) la pacienţi prin observarea valorilor caracteristicilor prezente în fluidele lor corporale. De fapt, revizuirea lucrărilor pe un subiect similar arată că numărul de caracteristici poate fi redus și testele și fluidele colectate de la un pacient. Prin urmare, cu o reducere a costurilor și efortului, este posibil să se efectueze o scădere minimă a preciziei rezultatelor datorită corelației constant ridicate arătate între unele valori.

Cistanche pentru boli de rinichi






