{"id":31716,"date":"2019-10-31T21:42:42","date_gmt":"2019-10-31T18:42:42","guid":{"rendered":"https:\/\/prohoster.info\/blog\/izmenenie-nastroek-programm-s-sohraneniem-personalnyh-parametrov\/"},"modified":"2019-10-31T21:42:42","modified_gmt":"2019-10-31T18:42:42","slug":"izmenenie-nastroek-programm-s-sohraneniem-personalnyh-parametrov","status":"publish","type":"post","link":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/izmenenie-nastroek-programm-s-sohraneniem-personalnyh-parametrov","title":{"rendered":"Schimbarea set\u0103rilor aplica\u021biilor p\u0103str\u00e2nd preferin\u021bele personale","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<h2>Povestea<\/h2>\n<p>\n\u00centr-o organiza\u021bie medical\u0103, au fost implementate solu\u021bii bazate pe servere PACS Orthanc \u0219i client DICOM Radiant. \u00cen timpul configur\u0103rii, s-a constatat c\u0103 fiecare client DICOM trebuie descris \u00een serverele PACS \u00een urm\u0103torul mod:<\/p>\n<ul>\n<li>Numele clientului<\/li>\n<li>Numele AE (trebuie s\u0103 fie unic)<\/li>\n<li>Portul TCP, care se deschide automat pe partea clientului \u0219i prime\u0219te examene DICOM de la serverul PACS (adic\u0103, serverul le \u00eempinge c\u0103tre client \u2013 ini\u021biind conexiunea prima dat\u0103)<\/li>\n<li>Adres\u0103 IP<\/li>\n<\/ul>\n<p>\nDup\u0103 configurarea clien\u021bilor Radiant, am primit urm\u0103toarele informa\u021bii de reflectare \u2013 fiecare client avea o configura\u021bie software cu parametrii men\u021biona\u021bi mai sus, care ducea la completarea fi\u0219ierului <b>pacs.xml<\/b>, care se afla \u00een profilul utilizatorului (calea: <b>%APPDATA%RadiantViewerpacs.xml<\/b>). \u00cen acest sens, configura\u021bia unui client se deosebea de alta prin cel pu\u021bin doi parametri (numele AE fiind diferit pentru to\u021bi, iar portul \u00een principal identic, cu excep\u021bia clien\u021bilor terminali care func\u021bioneaz\u0103 pe acela\u0219i server \u2013 acolo porturile trebuiau de asemenea atribuite diferit).<\/p>\n<p>Exemplu de fi\u0219ier pacs.xml pentru <noindex><a rel=\"nofollow\" href=\"https:\/\/drive.google.com\/open?id=1yd5q77gKRafZ2rvp6TWy-k1BKQrbrg6f\">linkul<\/a><\/noindex>: <\/p>\n<p>Aproximativ \u0219ase luni totul a mers bine, sistemul a func\u021bionat... \u0219i apoi au ajuns la noi \u201e<b>capcanele <\/b><b>subterane<\/b>\u00bb:<\/p>\n<ul>\n<li>Trebuie s\u0103 introducem \u00een func\u021biune c\u00e2teva servere PACS noi, care vor \u00eenlocui pe cele vechi (unde s-a terminat spa\u021biul pe discuri). Serverele PACS sunt \u00een ma\u0219ini virtuale, dar nu despre asta este vorba; <\/li>\n<li>Trebuie s\u0103 schimb\u0103m cumva centralizat configura\u021biile unice (cu cele dou\u0103 parametrii diferi\u021bi) pe 200 de ma\u0219ini (num\u0103rul acestora cresc\u00e2nd constant); <\/li>\n<li>Av\u00e2nd \u00een vedere ritmul de cre\u0219tere a volumului de examin\u0103ri, solu\u021bia trebuie s\u0103 fie nu o singur\u0103 dat\u0103, ci replicabil\u0103 \u0219i regulat\u0103 (de exemplu, o dat\u0103 la 3-5 luni). <\/li>\n<\/ul>\n<p>\nSolu\u021bia este mai jos.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Alegerea instrumentelor pentru solu\u021bionarea sarcinii<\/h2>\n<p>\nLa \u00eenceput, au fost \u00eencerc\u0103ri de a g\u0103si o solu\u021bie care s\u0103 modifice fi\u0219ierul pacs.xml pe partea clientului \u0219i s\u0103 fac\u0103 modific\u0103ri \u00een lista serverelor PACS, f\u0103r\u0103 a altera set\u0103rile numelui AE \u0219i portului TCP. Clien\u021bii Windows, \u00een acel moment, erau at\u00e2t pe Windows XP, c\u00e2t \u0219i pe Windows 7 \u2013 prin urmare, au fost \u00eencerc\u0103ri de a scrie ceva pe baza VBScript. Dar din p\u0103cate \u2013 nu am reu\u0219it s\u0103 duc la bun sf\u00e2r\u0219it o astfel de sarcin\u0103, din cauza lipsei totale de experien\u021b\u0103 \u00een scrierea ceva complex pe acest limbaj. \u00cencerc\u0103rile de a g\u0103si \u0219i a rescrie de asemenea nu au avut succes (aici trebuie men\u021bionat c\u0103 deja aveam un alt plan \u00een minte, a\u0219a c\u0103 nu am insistat pe VBScript mai mult de 3-4 ore).<\/p>\n<p>\u00cen cele din urm\u0103, m-am oprit la urm\u0103toarea solu\u021bie:<\/p>\n<ul>\n<li>Adun\u0103 toate fi\u0219ierele pacs.xml \u00eentr-un singur loc pe un server din resursa de re\u021bea; <\/li>\n<li>Schimb\u0103 fi\u0219ierele \u00een grup (avem experien\u021b\u0103 \u00een solu\u021bionarea unor astfel de sarcini \u2013 folosind Perl); <\/li>\n<li>De asemenea, actualizeaz\u0103 set\u0103rile clien\u021bilor folosind politici de grup. <\/li>\n<\/ul>\n<p><\/p>\n<h3>Str\u00e2ngerea fi\u0219ierelor cu ajutorul politicii de grup<\/h3>\n<p>\nCea mai simpl\u0103 parte \u2013 atunci c\u00e2nd clientul se conecteaz\u0103 la profilul s\u0103u, cu drepturile sale execut\u0103 un anumit fi\u0219ier .bat, \u00een care este specificat:<\/p>\n<pre><code class=\"vbscript\">echo off\nIf exist %APPDATA%RadiantViewerpacs.xml copy %APPDATA%RadiantViewerpacs.xml srv.test.localpconfigs$pacs-%COMPUTERNAME%-%USERNAME%.xml\n<\/code><\/pre>\n<p>\nAstfel, pe server \u00een resursa ascuns\u0103 vor acumula fi\u0219ierele pacs.xml, \u00een numele c\u0103rora exist\u0103 informa\u021bii din ce calculator \u0219i de la ce utilizator a fost copiat acest config.<\/p>\n<p>Cea mai dificil\u0103 parte a fost \u2013 s\u0103 a\u0219tept\u0103m p\u00e2n\u0103 c\u00e2nd politica a fost aplicat\u0103 tuturor utilizatorilor.<\/p>\n<h3>Modificarea configura\u021biilor cu ajutorul unui script Perl<\/h3>\n<p>\nNe va trebui <noindex><a rel=\"nofollow\" href=\"https:\/\/www.activestate.com\/products\/activeperl\/downloads\/\">Active Perl<\/a><\/noindex> pentru Windows de la ActiveState, precum \u0219i modulul XML::Writer, care poate fi instalat folosind comanda <b>ppm install XML-Writer<\/b>.<\/p>\n<p>Scriptul \u00een sine este destul de simplu:<\/p>\n<pre><code class=\"perl\">use XML::Writer;\n \n# Deschidem folderul cu rapoarte, proces\u0103m lista (\u00eendep\u0103rt\u0103m surplusul):\n\t$report_dir = \"C:Perl64WORKPACS-xml3\";\n\topendir(DIR, \"$report_dir\") or die \"Nu pot deschide folderul cu rapoarte!\";\n\t@report_files = readdir DIR;\n\tshift (@report_files); # \u00eendep\u0103rt\u0103m punctul din elementele array-ului (.)\n\tshift (@report_files); # \u00eendep\u0103rt\u0103m dou\u0103 puncte din elementele array-ului (..)\n#\tprint \"@report_files\";\n\tclosedir(DIR);\n \n# \u00cencepem s\u0103 proces\u0103m fi\u0219ierele - unul c\u00e2te unul. Trebuie s\u0103 citim parametrul AET \u0219i num\u0103rul portului \u00een variabile.\nforeach $analiz_file (@report_files) \n{\n\t$full_path_to_file=\"C:Perl64WORKPACS-xml3\".$analiz_file;\n\topen (INFO, $full_path_to_file);\n \n\twhile ($line = )\n\t{\n\t\t# Variabilele $aet \u0219i $port con\u021bin date unice pentru fiecare fi\u0219ier XML:\n\t\tmy ($other1, $aet, $other2, $port, $other3) = split \/\"\", $line, 5;\n\t\t# Dac\u0103 \u00eent\u00e2lnim linia listener - atunci am ajuns la linia dorit\u0103 \u0219i putem forma un nou XML:\n\t\tif ($other1 =~ 'listener')\n\t\t\t{\n\t\t\t\t# Form\u0103m un nou XML cu c\u00e2mpurile \u0219i datele necesare:\n\t\t\t\tmy $writer = XML::Writer-&gt;new(OUTPUT =&gt; 'self', DATA_MODE =&gt; 1, DATA_INDENT =&gt; 2);\n\t\t\t\t$writer-&gt;xmlDecl('utf-8');\n\t\t\t\t$writer-&gt;startTag('pacs');\n\t\t\t\t$writer-&gt;startTag('listener', ae =&gt; $aet, port =&gt; $port);\n\t\t\t\t$writer-&gt;endTag();\n\t\t\t\t$writer-&gt;startTag('hosts');\n\t\t\t\t$writer-&gt;startTag('host', name =&gt; 'MRT', ae =&gt; 'ORTHANC', ip =&gt; 'XX.YY.214.17', ts =&gt; '1.2.840.10008.1.2.1', port =&gt; '4242', maxassoc =&gt; '1', allpres =&gt; '0', search =&gt; '1', protocol =&gt; '1', searchcharset =&gt; '', wildcards =&gt; '3', carets =&gt; '0');\n\t\t\t\t$writer-&gt;endTag();\n\t\t\t\t$writer-&gt;startTag('host', name =&gt; 'KT', ae =&gt; 'ORTHANC2', ip =&gt; 'XX.YY.215.253', ts =&gt; '1.2.840.10008.1.2.1', port =&gt; '4242', maxassoc =&gt; '1', allpres =&gt; '0', search =&gt; '1', protocol =&gt; '1', searchcharset =&gt; '', wildcards =&gt; '3', carets =&gt; '0');\n\t\t\t\t$writer-&gt;endTag();\n\t\t\t\t$writer-&gt;startTag('host', name =&gt; 'R', ae =&gt; 'ORTHANC3', ip =&gt; 'XX.YY.215.252', ts =&gt; '1.2.840.10008.1.2.1', port =&gt; '4242', maxassoc =&gt; '1', allpres =&gt; '0', search =&gt; '1', protocol =&gt; '1', searchcharset =&gt; '', wildcards =&gt; '3', carets =&gt; '0');\n\t\t\t\t$writer-&gt;endTag();\n\t\t\t\t$writer-&gt;startTag('host', name =&gt; 'KT-20180501-20180831', ae =&gt; 'ORTHANC4', ip =&gt; 'XX.YY.215.251', ts =&gt; '1.2.840.10008.1.2.1', port =&gt; '4242', maxassoc =&gt; '1', allpres =&gt; '0', search =&gt; '1', protocol =&gt; '1', searchcharset =&gt; '', wildcards =&gt; '3', carets =&gt; '0');\n\t\t\t\t$writer-&gt;endTag();\n\t\t\t\t$writer-&gt;startTag('host', name =&gt; 'KT-20180901-20181130', ae =&gt; 'ORTHANC5', ip =&gt; 'XX.YY.215.250', ts =&gt; '1.2.840.10008.1.2.1', port =&gt; '4242', maxassoc =&gt; '1', allpres =&gt; '0', search =&gt; '1', protocol =&gt; '1', searchcharset =&gt; '', wildcards =&gt; '3', carets =&gt; '0');\n\t\t\t\t$writer-&gt;endTag();\n\t\t\t\t$writer-&gt;endTag('hosts');\n\t\t\t\t$writer-&gt;startTag('presets');\n\t\t\t\t$writer-&gt;endTag();\n\t\t\t\t$writer-&gt;startTag('lastsearch', dt =&gt; '4', mfid =&gt; '1048592');\n\t\t\t\t$writer-&gt;endTag();\n\t\t\t\t$writer-&gt;endTag('pacs');\n \n\t\t\t\t# Plas\u0103m XML-ul generat \u00een variabil\u0103:\n\t\t\t\tmy $xml = $writer-&gt;end();\n\t\t\t\t# Preg\u0103tim fi\u0219ierul pentru rescriere:\n\t\t\t\t$rewritexml = $full_path_to_file;\n\t\t\t\t# Rescriem fi\u0219ierele XML cu noile date:\n\t\t\t\topen (NEWXML, \"&gt;&gt;$rewritexml\");\n\t\t\t\tprint NEWXML $xml;\n\t\t\t\tclose (NEWXML);\t\t\t\t\n\t\t\t}\n\t}\n \n}\n<\/code><\/pre>\n<p>\nPrincipiul s\u0103u de func\u021bionare:<\/p>\n<ul>\n<li>Deschidem catalogul \u00een care avem configur\u0103rile pacs.xml de la clien\u021bi \u0219i plas\u0103m lista fi\u0219ierelor \u00een un array scalari (@report_files); <\/li>\n<li>\u00centr-un ciclu, proces\u0103m c\u00e2te un fi\u0219ier \u0219i citim linie cu linie; <\/li>\n<li>Folosind split, \u00eemp\u0103r\u021bim fiecare linie \u00een 5 p\u0103r\u021bi, folosind ghilimelele ca separator; <\/li>\n<li>G\u0103sim linia cu cuv\u00e2ntul listener \u0219i plas\u0103m \u00een dou\u0103 variabile date unice pentru fiecare fi\u0219ier (numele AE al clientului \u0219i num\u0103rul portului TCP); <\/li>\n<li>Dup\u0103 aceea, pur \u0219i simplu form\u0103m un nou fi\u0219ier XML, introducem parametrii unici \u0219i apoi inser\u0103m num\u0103rul necesar de servere PACS cu parametrii lor - <b>adic\u0103, ceea ce se urma de la bun \u00eenceput<\/b>) <\/li>\n<li>Scriem noul fi\u0219ier XML peste cel vechi. <\/li>\n<\/ul>\n<p>\nTrebuie men\u021bionat c\u0103, de fapt, eu folosesc acest script nu complet automat \u2013 practic, copiez configura\u021biile adunate \u00eentr-un catalog separat \u0219i apoi, rul\u00e2nd scriptul, le modific \u00een \u00eentregime. Apoi, fac o verificare selectiv\u0103 \u2013 \u0219i configura\u021biile pot fi distribuite \u00eenapoi pe ma\u0219ini.<\/p>\n<h3>Distribu\u021bia fi\u0219ierelor pacs.xml modificate c\u0103tre clien\u021bi<\/h3>\n<p>\nCel mai simplu lucru care mi-a venit \u00een minte \u2013 s\u0103 fac modific\u0103ri \u00een fi\u0219ierul .bat deja func\u021bional, care adun\u0103 configura\u021biile de la clien\u021bi \u0219i s\u0103 adaug o linie:<\/p>\n<pre><code class=\"vbscript\">If exist %APPDATA%RadiantViewerpacs.xml copy \/Y srv.test.localpconfigsnew$pacs-%COMPUTERNAME%-%USERNAME%.xml %APPDATA%RadiantViewerpacs.xml\n<\/code><\/pre>\n<p>\nFi\u0219ierul .bat final arat\u0103 a\u0219a:<\/p>\n<pre><code class=\"vbscript\">@echo off\nIf exist %APPDATA%RadiantViewerpacs.xml copy %APPDATA%RadiantViewerpacs.xml srv.test.localpconfigs$pacs-%COMPUTERNAME%-%USERNAME%.xml\nIf exist %APPDATA%RadiantViewerpacs.xml copy \/Y srv.test.localpconfigsnew$pacs-%COMPUTERNAME%-%USERNAME%.xml %APPDATA%RadiantViewerpacs.xml\n<\/code><\/pre>\n<p><\/p>\n<h3>Concluzie<\/h3>\n<p>\nA\u0219a-numitul \u201e<b>solu\u021bie artizanal\u0103<\/b>\u201e. L-am testat deja de dou\u0103 ori (\u00een septembrie 2018 \u0219i februarie 2019), p\u00e2n\u0103 acum zborul este normal. Desigur, nu actualizeaz\u0103 100% dintre clien\u021bi, dar se apropie de acest procent \u2014 pe ceilal\u021bi \u00eei finaliz\u0103m de la distan\u021b\u0103. Scriptul <noindex><a rel=\"nofollow\" href=\"https:\/\/drive.google.com\/open?id=1z4aPdZoIxE3DOk9LxfPCg44H20wPH12q\">linkul<\/a><\/noindex>.<br \/>\n<br \/>Sursa: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/448270\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0435\u0434\u044b\u0441\u0442\u043e\u0440\u0438\u044f \u0412 \u043e\u0434\u043d\u043e\u0439 \u043c\u0435\u0434\u0438\u0446\u0438\u043d\u0441\u043a\u043e\u0439 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0432\u043d\u0435\u0434\u0440\u044f\u043b\u0438 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043d\u0430 \u0431\u0430\u0437\u0435 PACS-\u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 Orthanc \u0438 DICOM-\u043a\u043b\u0438\u0435\u043d\u0442\u0430 Radiant. \u0412 \u0445\u043e\u0434\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0432\u044b\u044f\u0441\u043d\u0438\u043b\u0438, \u0447\u0442\u043e \u043a\u0430\u0436\u0434\u044b\u0439 DICOM-\u043a\u043b\u0438\u0435\u043d\u0442 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043e\u043f\u0438\u0441\u0430\u043d \u0432 PACS-\u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c: \u0418\u043c\u044f \u043a\u043b\u0438\u0435\u043d\u0442\u0430 AE-\u0438\u043c\u044f (\u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e) TCP-\u043f\u043e\u0440\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u0438 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 DICOM-\u043e\u0431\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u043e\u0442 PACS-\u0441\u0435\u0440\u0432\u0435\u0440\u0430 (\u0442.\u0435. \u0441\u0435\u0440\u0432\u0435\u0440 \u043a\u0430\u043a \u0431\u044b \u0442\u043e\u043b\u043a\u0430\u0435\u0442 \u0438\u0445 \u0432 \u0441\u0442\u043e\u0440\u043e\u043d\u0443 \u043a\u043b\u0438\u0435\u043d\u0442\u0430 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-31716","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0435\u0434\u044b\u0441\u0442\u043e\u0440\u0438\u044f \u0412 \u043e\u0434\u043d\u043e\u0439 \u043c\u0435\u0434\u0438\u0446\u0438\u043d\u0441\u043a\u043e\u0439 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0432\u043d\u0435\u0434\u0440\u044f\u043b\u0438 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043d\u0430 \u0431\u0430\u0437\u0435 PACS-\u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 Orthanc \u0438 DICOM-\u043a\u043b\u0438\u0435\u043d\u0442\u0430 Radiant.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/izmenenie-nastroek-programm-s-sohraneniem-personalnyh-parametrov\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u0441 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435\u043c \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0435\u0434\u044b\u0441\u0442\u043e\u0440\u0438\u044f \u0412 \u043e\u0434\u043d\u043e\u0439 \u043c\u0435\u0434\u0438\u0446\u0438\u043d\u0441\u043a\u043e\u0439 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0432\u043d\u0435\u0434\u0440\u044f\u043b\u0438 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043d\u0430 \u0431\u0430\u0437\u0435 PACS-\u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 Orthanc \u0438 DICOM-\u043a\u043b\u0438\u0435\u043d\u0442\u0430 Radiant.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/izmenenie-nastroek-programm-s-sohraneniem-personalnyh-parametrov\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:42:42+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:42:42+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Modificarea set\u0103rilor programelor p\u0103str\u00e2nd parametrii personali | ProHoster","description":"Poveste de fundal \u00centr-o institu\u021bie medical\u0103, au fost implementate solu\u021bii bazate pe servere PACS Orthanc \u0219i client DICOM Radiant.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/izmenenie-nastroek-programm-s-sohraneniem-personalnyh-parametrov","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u0441 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435\u043c \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 | ProHoster","og:description":"\u041f\u0440\u0435\u0434\u044b\u0441\u0442\u043e\u0440\u0438\u044f \u0412 \u043e\u0434\u043d\u043e\u0439 \u043c\u0435\u0434\u0438\u0446\u0438\u043d\u0441\u043a\u043e\u0439 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0432\u043d\u0435\u0434\u0440\u044f\u043b\u0438 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043d\u0430 \u0431\u0430\u0437\u0435 PACS-\u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 Orthanc \u0438 DICOM-\u043a\u043b\u0438\u0435\u043d\u0442\u0430 Radiant.","og:url":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/izmenenie-nastroek-programm-s-sohraneniem-personalnyh-parametrov","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:42:42+00:00","article:modified_time":"2019-10-31T18:42:42+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"31716","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 07:29:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 03:12:32","updated":"2026-01-21 07:29:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/31716","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=31716"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/31716\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=31716"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=31716"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=31716"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}